docs: record editor-first UI-scene convention (ADR 0001)

Capture the direction change from M3-b: UI screens are authored editor-first
as .tscn node trees (previewable/arrangeable in the Godot editor), scripts do
on-load work only — never build the tree in _ready(). Add ADR 0001, a
"UI scene conventions" how-to in client/docs, a §16 mandate in the charter,
and mark M3-a/M3-b done in the roadmap.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-11 10:04:57 -05:00
parent 58880554c2
commit c933d12504
5 changed files with 140 additions and 5 deletions

View File

@@ -494,7 +494,13 @@ quest log, shop, pause/settings, dialogue, combat HUD, main exploration window)
plus a `README.md` handoff. **Not production code** — each screen is recreated as
a **Godot 4.7 Control-node scene** pulling from a shared **`Theme`** resource
(the README's palette, three fonts, and reusable styleboxes keep the look one
system). Each `.dc.html`'s `Component` class is the **behavior spec** — the
system). **Author these scenes editor-first:** the layout lives in the `.tscn`
as real Control nodes with the `Theme` and type-variations set in the editor, so
the scene *previews* and can be arranged in the Godot editor — do **not**
build the node tree in `_ready()`. Scripts hold only on-load work: `@onready`
node refs, data/DM wiring, animations, and binding state into fixed authored
nodes (see ADR [0001](docs/adr/0001-editor-first-ui-scenes.md)). Each
`.dc.html`'s `Component` class is the **behavior spec** — the
combat turn manager, dialogue graph, shop economy, and point-buy creation are the
highest-value logic to port; the seed-data maps (items, quests, locations, units,
abilities) are starting `Resource`s. Dashed "art slots" are placeholders for real