UI Layout Binding Graph And Editor Workflow
Purpose
The UI layout binding graph explains how authored .aetherui nodes connect to gameplay roles, runtime slots, skins, and validation issues inside the editor. Use it when a layout renders, but the runtime cannot bind the expected panel, action, slot, or skin.
How It Works
The layout workbench builds a projection from the selected document, active skin catalog, runtime slot manifest, profile data, and validation report. The binding graph then turns that projection into lanes for gameplay roles, runtime slots, layout nodes, skin references, and issues.
The graph is diagnostic first. Repairs still go through editor edit transactions so undo, dirty state, and validation refreshes stay consistent.
Steps
Select the layout asset, inspect the binding graph lanes, and resolve the issue closest to the runtime boundary first: missing role, missing slot, unbound layout node, then skin or validation issue. Assigning or clearing a runtime slot from the graph should use the repair action, not a direct JSON edit.
After a repair, re-run layout validation and verify live preview or gameplay UI sync.
Expected Outputs
A successful pass leaves the selected layout with resolved runtime slots, stable node paths, no graph validation issues for the repaired area, and a preview or gameplay UI surface that binds to the expected role.
Invariants
Node IDs must remain stable enough for selection paths and repair targets to survive projection refreshes. Slot assignments must match the runtime manifest. Duplicate slots are errors unless a manifest explicitly allows repeated use. Skin lookups are advisory for graph display, but missing skin references should still be treated as content debt.
Common Mistakes
Common mistakes include assigning slots by hand in JSON, repairing the wrong selected node after a projection refresh, ignoring duplicate slot diagnostics, or treating a skin-only warning as proof that the runtime binding is healthy.
Recovery Paths
Stale graph state usually means the projection cache did not invalidate after a selected asset, document, skin catalog, or active profile change. Broken repairs usually mean the selected node path no longer resolves. Duplicate or missing slots should be fixed at the layout or manifest layer before runtime surfaces are changed.