refactor(lifetime): own render resource prefixes
Give terrain, sky, retained UI, portal preparation, and the update/render frame pair explicit single owners. Make shader, texture, text, bindless, and GL construction prefixes checked and retryable so partial failure cannot lose or replay resource ownership. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
fec0d94148
commit
c87b15303d
41 changed files with 3768 additions and 355 deletions
14
AGENTS.md
14
AGENTS.md
|
|
@ -115,7 +115,8 @@ and the final two-client portal-out/materialization observer flow are
|
|||
user-gated. Deterministic world-lifecycle automation protects fresh login,
|
||||
outdoor/world-edge/dungeon travel, same-location revisit, exact graceful
|
||||
disconnect, and uncapped fresh-process reconnect with JSON/PNG artifacts.
|
||||
Release builds; 7,524 tests pass / 5 skip.
|
||||
Release builds; Checkpoint H passes 61 focused ownership tests, 3,236 App tests
|
||||
/ 3 skips, and 7,606 complete-solution tests / 5 skips.
|
||||
|
||||
**Active prerequisite before new M4 subsystem work:** continue the
|
||||
behavior-preserving `GameWindow` decomposition reconciled on 2026-07-21.
|
||||
|
|
@ -127,7 +128,7 @@ second GUID dictionary. Slices 5–7 are complete: landblock presentation,
|
|||
update-frame orchestration, and render-frame orchestration all have typed
|
||||
owners. `GameWindow.OnUpdate` and `GameWindow.OnRender` are one-handoff methods;
|
||||
the frame owners have no direct window or anonymous callback-bag ownership.
|
||||
Slice 8 checkpoints A–G are also complete: dead host residue is removed,
|
||||
Slice 8 checkpoints A–H are also complete: dead host residue is removed,
|
||||
native-window callback intake has reversible lifetime ownership, and
|
||||
`LiveSessionHost` owns reset/binding composition over the sole canonical
|
||||
session controller. `WorldEnvironmentController` solely owns the clock, DAT
|
||||
|
|
@ -146,8 +147,13 @@ application, and inert late target binding. `GameWindow` is now 3,663 raw lines
|
|||
162 fields / 37 methods, down 12,060 lines (76.7%) from the 15,723-line campaign
|
||||
baseline. The 7,553-test / 5-skip Checkpoint G Release suite, 315.6-second
|
||||
lifecycle/reconnect gate, and 395.2-second synchronized nine-stop soak pass.
|
||||
Slice 8 checkpoints H–L—resource ownership, ordered composition,
|
||||
retryable shutdown, soak snapshots, and final connected gates—remain active.
|
||||
Checkpoint H adds sole terrain/sky render-resource roots, one retained
|
||||
Host/runtime lease, an atomic update/render frame-root pair, prepared portal
|
||||
fallback/transfer, and checked retryable GL construction/state boundaries.
|
||||
`GameWindow` is 3,689 raw lines / 162 fields / 37 methods, down 12,034 lines
|
||||
(76.5%) from baseline. All three final corrected-diff reviews are clean. Slice
|
||||
8 checkpoints I–L—ordered composition, retryable shutdown, canonical soak
|
||||
snapshots, and final connected gates—remain active.
|
||||
See `docs/plans/2026-07-22-gamewindow-slice-8-composition-lifecycle.md` and
|
||||
`docs/architecture/code-structure.md`. **Carried:** #232, #153,
|
||||
#116, remaining
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue