Skip to content

Hierarchy & Sibling Aggregator

The tree you build in the Outliner isn't just an import list — it's the Harmony node network OVB writes on Apply. Pegs, groups, and composites become real nodes, wired the way a rigger would wire them.

The building blocks

Node What it becomes
Drawing a Read node with its art layers
Peg a transform handle that feeds the drawing(s) below it. Whole-drawing scale / offset ride here (the green gizmo).
Group a super-node that wraps its contents (its own MPI → distributor → composite → MPO)
Composite merges the outputs of its siblings

Tick Peg, Group or Composite in a drawing's Inspector to emit them around it; untick Drawing for a pure container. The row's icon composes the parts that are on — peg over drawing, group, drawing, composite — so you read the stack off the tree. Group Order decides whether the peg sits outside the group and drives it (Parent: ) or inside it (Child: ); the full vocabulary is in the icon legend.

Nest a drawing under a peg to have the peg transform it; wrap a branch in a group to contain it; drop a composite to merge a set of siblings.

Sibling aggregation

When several nodes sit side by side, OVB wires them by paint order, not at random:

  • Port 0 = back, port N = front. The youngest/rightmost non-bypass sibling lands on the back; the aggregator's own drawing wires last = front.
  • A composite with no peg/group opens a block that consumes the normal younger siblings after it — so [A, C(comp), B, Cc] makes C aggregate B and Cc, while A reaches the main composite on its own.
  • Bypass nodes (the drawing's Bypass composite box) are never consumed — they bubble straight up to the parent composite.

This is the same "Shameless family tree" model the other Octo tools use — a predictable, riggable graph rather than a flat pile.

Groups wire cleanly

A group is built as: an external peg (outside) → the group, and inside: Multi-Port-In → distributor → your content → internal Composite → Multi-Port-Out. OVB handles the fiddly parts so the result is correct:

  • The group's input port is created before the external peg is linked, so the peg actually connects.
  • The throwaway distributor peg is removed after wiring (the MPI feeds the content directly).
  • The stray composite Harmony auto-creates on a moved drawing is cleaned up, so you get exactly one internal composite.

Deleting keeps children

Remove a parent node and its children are lifted to the grandparent — the graph re-organises instead of losing the branch. See Outliner.

The main composite never moves

OVB positions everything it adds above your scene's existing main composite and wires the surviving top-level outputs into it — your comp stays exactly where it is.