refactor(settings): own two-phase runtime settings

Move pre-window loading, startup application, live settings mutation, toon context, quality reapply, and SettingsVM loans behind one RuntimeSettingsController. Preserve retail command behavior, ordered target publication, draft semantics, and retryable failure convergence while removing duplicate GameWindow state and feature bodies.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-22 13:30:22 +02:00
parent 4eae9b4f5a
commit fec0d94148
24 changed files with 2379 additions and 599 deletions

View file

@ -27,13 +27,14 @@ What does NOT go here:
## Current queue — 2026-07-22
- **Active structural work:** `GameWindow` decomposition. Slices 17 are
complete; Slice 8 checkpoints AF now own native callbacks, live-session
complete; Slice 8 checkpoints AG now own native callbacks, live-session
composition, world-environment state, reversible device input/raw pointer,
physical framebuffer publication, gameplay action priority, typed commands,
and the retained-root item-drop edge outside the shell.
the retained-root item-drop edge, and two-phase runtime settings outside the
shell.
`GameWindow.OnUpdate` and `GameWindow.OnRender` are typed orchestration
handoffs and the class is 4,057 lines / 198 fields / 54 methods. Remaining
Slice 8 settings/resource/composition/shutdown
handoffs and the class is 3,663 lines / 162 fields / 37 methods. Remaining
Slice 8 resource/composition/shutdown
cleanup is active in
[`docs/architecture/code-structure.md`](architecture/code-structure.md).
This is the behavior-preserving prerequisite before new M4 feature bodies.