Saltar a contenido

Nodos de estructura y el Wide Bus

Videotutorial — próximamente

Un slot puede construir cuatro nodos de jerarquía alrededor de su drawing. Esta página trata de qué hace cada uno, cómo se ordenan y — la parte que decide si tu Node View es legible — dónde los pone OSA.

Hierarchy Nodes en el Inspector

Los cuatro componentes

  • PegP


    La transformación. Se llama <name>-P. Lleva Position (Separate / 3D Path), Scale (Separate / Locked), Enable 3D y Exclude AutoPivot.

  • GroupG


    El ámbito. Se llama <name>-G. Un group es lo que hace de un slot una unidad autocontenida — todo lo que está dentro, está dentro.

  • CompositeC


    El punto de agregación. Se llama <name>-C. Lleva el modo de composite y su Order.

  • BackdropBD


    El rectángulo del Node View alrededor de la rama, con un color y una nota. Puramente organizativo — y aquello que el motor de layout dimensiona de dentro hacia fuera.

Peg Order: padre o hijo

Peg y Group pueden intercambiarse, y el combo Order del bloque Peg decide cuál:

Order Resultado Se lee como
Outside Group Peg → Group → contenido el peg mueve todo el grupo
Inside Group Group → Peg → contenido el peg mueve el contenido, dentro del ámbito del grupo

La columna Details siempre refleja la elección que hiciste: (Peg > Group > Read) o (Group > Peg > Read).

Composite Order y modo

El bloque Composite lleva la misma elección de Order (Inside Group / Outside Group) y, más importante, el modo de composite:

Modo Qué hace
As Bitmap aplana sus entradas en un bitmap
As Seamless Bitmap lo mismo, sin los artefactos de costura en arte adyacente
As Vector mantiene los datos vectoriales a través del composite
Pass Through no compone — pasa sus entradas hacia arriba

Estos escriben palabras clave, no índices

La correspondencia entre estas etiquetas y los valores almacenados de Harmony fue medida en una instalación de Harmony 24, no adivinada — tres de las cuatro entradas del mapa que llevaba cada herramienta estaban mal (As Vector escribía el valor de Seamless; Pass Through escribía el de Vector). Si un composite alguna vez se comporta como un modo distinto al de su etiqueta, esa es la clase de bug que hay que sospechar, y OSA está del lado medido.

Dos jerarquías, en paralelo

El Node View lleva dos grafos a la vez, y OSA los distribuye como dos:

Jerarquía Color Conecta Regla
Input / Transform 🟢 verde Peg → hijos la indentación significa hijo
Output / Composite 🔵 azul Comp → hermanos de abajo un comp agrega a los hermanos que están debajo

Son separadas porque un solo peg puede mover varias composiciones distintas. Transformación y composición no son el mismo árbol, y dibujarlas como uno solo es lo que hace ilegibles los grafos hechos a mano.

Qué agrega un composite

Que un comp recoja hijos o hermanos depende de una sola cosa: si el slot tiene un contenedor verde que cree un ámbito.

El slot tiene El comp agrega
C solo hermanos de abajo
D-C hermanos de abajo
BD-C, BD-D-C hermanos de abajo — un backdrop es visual
P-C, G-C, P-D-C, BD-P-C hijos

Solo P y G son contenedores verdes. Un backdrop dibuja una caja; no posee ninguna conexión, así que nunca cambia quién agrega qué.

Cuando un comp encuentra otro comp en el mismo nivel, el bloque actual se vacía — esa es la frontera del bloque.

Reglas completas, con el flujo y el orden de puertos: Agregación y el sibling aggregator.

El Wide Bus

OSA no suelta los nodos donde a Harmony le apetezca. Trata el Node View como una matriz lógica y preasigna espacio, así que el grafo fluye de izquierda a derecha en vez de amontonarse.

Fila Ocupante
Fila superior pegs maestros / groups maestros / drawings maestros — lo que tenga el super node
Fila del medio el taller: drawings, groups y mini-nodos, uno al lado del otro
Abajo composites, desplazados por debajo de lo que agregan
Franja FX cinco huecos reservados (OP, CUT, BLD, GLW, BLR) bajo los composites que son hijos directos del backdrop o del propio super node

Como la franja FX está reservada y no se asigna bajo demanda, añadir un efecto más tarde no empuja el resto del grafo hacia el lado.

El backdrop expandible

Un backdrop nace con una anchura mínima de tres columnas de nodo, y deliberadamente conserva espacio vacío táctico entre el último nodo de contenido y el composite final. Ese hueco no es dejadez — es donde arrastras un nodo nuevo más tarde sin romper el layout.

Matrioska: backdrops anidados

Los backdrops pueden contener backdrops, y el dimensionado se calcula de abajo arriba, de dentro hacia fuera.

Constante Valor Es
COL_WIDTH 200 px una columna
ROW_HEIGHT 80 px una fila
PAD_SIDE 50 px relleno lateral del backdrop, a cada lado
PAD_TOP 100 px sitio para la cabecera del backdrop
PAD_BOTTOM 150 px sitio para el comp y la zona de FX
GAP 20 px espacio entre hermanos

Anchura

  • una hoja (drawing o peg sin backdrop) es 1 columna;
  • un backdrop anidado es sum(children) + gaps + 2 × PAD_SIDE, redondeado hacia arriba a columnas enteras;
  • un backdrop padre usa la misma fórmula sobre las anchuras calculadas de sus hijos.

Altura

  • una hoja son 2 filas (fila del peg + fila del drawing);
  • un backdrop es PAD_TOP + max(alturas de los hijos) + PAD_BOTTOM.

La regla fundamental: un backdrop anidado nunca hereda su anchura del padre. Cada uno mide su propio contenido, y el padre se adapta a sus hijos. Eso es lo que hace que una escena profundamente anidada salga con todo visible en vez de recortado o superpuesto.

Root-BD  (computed last)
├── Nested-BD-A  (4 cols)
│   ├── D1  (1 col)
│   └── D2  (1 col)          → inner 2 cols + gap → 4 with padding
├── Nested-BD-B  (6 cols)
│   ├── Sub-BD  (3 cols)
│   │   └── D3  (1 col)
│   └── D4  (1 col)          → inner 5 cols + gap → 6 with padding
└── Sibling-Peg (2 cols)

Root inner = 4 + 6 + 2 + gaps = 14 cols
Root total = max(14, MIN_WIDTH) + padding

Color y nota del backdrop

Bloque Backdrop

El bloque Backdrop lleva un nombre, una muestra de color y una nota. El color es lo único del Node View que sobrevive a una reapertura y a una entrega — úsalo para la lectura que quieres que un desconocido obtenga en tres segundos.