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

@ -104,11 +104,11 @@ controllers, selection/radar, landblock publishers, and portal/sky/particle
resources have transactional phase ownership and exact-owner late bindings.
I.7 adds the complete streaming/session/hydration/local-player/teleport phase,
including explicit reversible ownership for every late edge. `GameWindow` is
now 2,149 raw lines after I.8a, which composes the session factory, command
targets, and sole gameplay input subscriber before frame publication. I.8bI.9,
now 1,919 raw lines after I.8b, which also composes and atomically publishes the
complete update/render pair and extracts lifecycle resource sampling. I.8cI.9,
shutdown, canonical soak snapshots, and closeout checkpoints JL remain. The
App gate passes 3,424 tests / 3 intentional skips, the complete Release suite
passes 7,796 tests / 5 skips, and the I.8a corrected-diff review is clean.
App gate passes 3,429 tests / 3 intentional skips, the complete Release suite
passes 7,801 tests / 5 skips, and the I.8b corrected-diff review is clean.
This is a behavior-preserving structural program. Severe regressions still get
root-cause fixes in separate commits; ordinary feature work resumes with M4