Control and Visual Fidelity Contract
This layer sits beside the scene and layout contracts. It is deliberately modular:
control-state-contract.jsonowns representative control states and transition owners;visual-assets.jsonowns identity-bearing logos/icons, their variants, usage, and size;layout-blueprint.jsonowns text geometry and wrapping;scene-contract.jsonowns initial interactive state, item separation, and motion scope.
Control terminology
Use rest, hover, focus-visible, pressed, activated, current, and disabled.
Implement the recorded delta on the element that owns it: target, ::before, ::after, or
nested icon. Source-observed states outrank normalization defaults. If source focus evidence
is absent, add a perceivable :focus-visible treatment without replacing source hover or
current styling.
Text geometry
Important text records include inlineSize, blockSize, lineCount, wrapPolicy,
maxWidth, fontSize, and lineHeight. At the canonical desktop viewport, a captured
single-line heading is an identity lock. Match its container width before shrinking type.
Stateful collections
Respect initialState and initialActiveIndexes. all-collapsed means no item may be
opened during runtime initialization. Reproduce separation.mechanism: it distinguishes
track gaps, geometric gaps, margins, dividers, inner insets, and flush items.
Motion ownership
data-rp-visual marks the measured visual transform owner. data-rp-content marks copy
whose geometry is verified separately. Never nest static content inside a scaling visual
wrapper unless source evidence explicitly says the content scales.
Logos and icons
Logo priority is exact source file or materialized source SVG. Preserve all observed variants and usage sizes. Never recreate a logo as text or substitute a library mark.
Icon priority is exact source asset, then the source sprite/library, then a style-matched established library such as Iconify. Library fallback is only allowed when no source icon exists and never applies to logos.