refactor(app): compose atomic frame roots

Move the complete update/render construction graph into a typed Phase-8 owner, explicitly carry the content dependencies it consumes, and publish both roots through one exact lease. Extract lifecycle resource sampling and frame-owned late bindings so partial startup and shutdown withdraw the same generation without window callbacks.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-22 19:02:08 +02:00
parent 826f9ea9b5
commit 3628aeb520
21 changed files with 1052 additions and 374 deletions

View file

@ -736,12 +736,14 @@ local-player/teleport construction phase and every late edge through named
exact-owner tokens; the former 432-line inline body and spawn-claim memo are
gone. I.8a moves the exact live-session reset/router graph, combat and
diagnostic command targets, and sole gameplay input subscriber into Phase 7
before frame publication. `GameWindow` is 2,149 raw lines after I.8a. I.8bL
remain active, with atomic frame-root publication next. The App gate passes
3,424 tests / 3 intentional skips and the complete Release suite passes 7,796
tests / 5 intentional skips. The clean solution build retains only the 17
test-project warnings tracked by #228; the I.8a behavior, architecture, and
adversarial reviews are clean.
before frame publication. I.8b moves the complete update/render construction
body into `FrameRootCompositionPhase`, publishes the pair through an exact
lease, and gives lifecycle resource sampling a focused source. `GameWindow` is
1,919 raw lines. I.8cL remain active, with terminal session start next. The
App gate passes 3,429 tests / 3 intentional skips and the complete Release suite
passes 7,801 tests / 5 intentional skips. The clean solution build retains only
the 17 test-project warnings tracked by #228; the I.8b corrected-diff review is
clean.
### 4.4 Exit criteria