Typy gniazd (socketów) i przepływ danych
Ten artykuł wyjaśnia typy danych używane przez gniazda (sockety) w grafie węzłów oraz to, co można gdzie podłączać.
Szybka zasada
Większość węzłów przetwarzających działa na ładunku Spine. Węzły związane z atlasem działają na projekcie atlasu lub sprite’ach. Jeśli nie masz pewności, czego oczekuje gniazdo, użyj ValidatorNode.
Typy gniazd
- Ładunek Spine — przyjazna dla środowiska wykonawczego reprezentacja projektu Spine używana przez większość węzłów przetwarzających.
- Projekt atlasu — metadane atlasu + obrazy stron używane przez węzły atlasu.
- Sprite’y — rozpakowane obrazy/regiony sprite’ów (Atlas Unpacker → podgląd zasobów / Atlas Repacker).
- JSON — oryginalny lub zrekonstruowany JSON Spine do diagnostyki/walidacji/porównywania.
- Zmiany — lista/strumień zmian (różnic) generowanych przez część optymalizatorów i używanych przez węzły podglądu/raportowania.
Klucz → typ → podłącz do
| Klucz gniazda (przykłady) | Typ danych | Generowane przez | Podłącz do |
|---|---|---|---|
payload, payload_in, payload_out | Ładunek Spine | InputNode, większość węzłów przetwarzających | Węzły przetwarzania (RDP/Spline/Refit/Quantizer/Cleanup itd.), a następnie OutputNode.payload |
original_json | JSON | InputNode | DiagnosticNode, JSONDiffNode.json_before, OutputNode.original_json, część węzłów atlasu (np. repacker w trybie alpha) |
reconstructed_json_out | JSON | OutputNode | JSONDiffNode.json_after, walidatory/debugowanie |
changes | Lista zmian | Niektóre węzły przetwarzania + OutputNode | AnimationViewerNode (opcjonalnie), raporty/debugowanie |
atlas_project | Projekt atlasu | InputNode / podgląd atlasu | AtlasUnpackerNode.atlas_project, OutputNode.atlas_project, filtry atlasu |
atlas_in, atlas_out | Projekt atlasu (lub strumień atlasu) | Węzły/filtry atlasu | Węzły atlasu, AtlasViewerNode, AtlasMergerNode (przez wejście wielokrotne) |
sprites_out, sprites_in, sprites_data_in | Sprite’y | AtlasUnpackerNode, filtry | AssetViewerNode.sprites_in, AtlasRepackerNode.sprites_data_in |
atlas_inputs | Wiele projektów atlasu | Wiele źródeł | AtlasMergerNode.atlas_inputs (podłącz kilka atlasów) |
Praktyczne pipeline’y
- Podstawowa optymalizacja JSON:
InputNode→ (opcjonalnie:DiagnosticNode/ filtry) → optymalizatory (RDPNode,SplineNode,QuantizerNode, …) →OutputNode. - Przepakowanie atlasu:
InputNode.atlas_project→AtlasUnpackerNode→ (opcjonalnie:AssetViewerNode) →AtlasRepackerNode→OutputNode.atlas_project/atlas_assets.
