57.2 Visuals and Identity
A Visual is semantic model data. It is not a Pict. Every Visual has a stable symbol identity and a reference position. A Visual may also implement the affine-Visual protocol for rotation and scaling and the opacity-Visual protocol for global opacity. A group is a Visual whose ordered children are other affine Visuals.
Identity is explicit:
(circle #:id 'moving-circle)
Two top-level Visuals with the same identity cannot be present in one scene state. Immutable updates must preserve identity. A group’s direct children must have distinct identities and no descendant may reuse that group’s identity. The same local child identity may occur in separate branches, since complete nested paths remain distinct. A custom affine Visual is treated as one leaf.
Built-in group and formula children are addressable with a nonempty nested Visual path such as '(equation numerator) or '(A row-1 col-2). Formula-part names form a local namespace inside one formula assembly; a formula-part transformation still targets the containing top-level assembly and updates its parts collectively.