From dc39772bf9b8d32a8d73fc0e796e04be5e5cf483 Mon Sep 17 00:00:00 2001 From: Erik Date: Tue, 21 Jul 2026 21:46:02 +0200 Subject: [PATCH] docs(architecture): close landblock presentation checkpoint E Record the retained static-resource lifetime, exact receipt retry boundary, clean review cycle, and 7,026-pass Release gate before retirement ownership moves into the pipeline. Co-authored-by: Codex --- ...21-gamewindow-slice-5-landblock-presentation.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/plans/2026-07-21-gamewindow-slice-5-landblock-presentation.md b/docs/plans/2026-07-21-gamewindow-slice-5-landblock-presentation.md index ed20ff07..fff3df07 100644 --- a/docs/plans/2026-07-21-gamewindow-slice-5-landblock-presentation.md +++ b/docs/plans/2026-07-21-gamewindow-slice-5-landblock-presentation.md @@ -66,8 +66,20 @@ test, and bisectable commit rather than being hidden in a mechanical move. footprints cross the seam. Three corrected-diff reviews are clean. Release gate: 7,008 passed / 5 skipped; zero-warning build; `GameWindow.cs` is 9,043 lines. -- [ ] E — extract static lighting, translucency, default-script, and plugin +- [x] E — extract static lighting, translucency, default-script, and plugin presentation; compose the small `LandblockPresentationPipeline`. + - Landed in `ea0da8c8`: render, physics, and DAT-static publishers now + preflight immutable receipts before mutation and retain exact per-stage + progress through retry. `LandblockStaticPresentationPublisher` owns static + lights, translucency lifetime, and plugin projection; `GpuWorldState` and + `EntityScriptActivator` explicitly rebind same-ID static snapshots without + replaying Setup defaults or resetting animation/light/translucency state, + while omitted IDs take full teardown. Source changes and duplicate IDs fail + before presentation mutation, missing DefaultAnimation never claims an + owner, and fallible reconciliation precedes pending-map consumption. Three + corrected-diff reviews are clean. Release gate: 7,026 passed / 5 skipped; + `GameWindow.cs` is temporarily 9,073 lines because production wiring lands + before checkpoint G deletes the old callback body. - [ ] F — move retryable demotion/full-retirement presentation under the pipeline without changing `LandblockRetirementCoordinator`'s ledger. - [ ] G — cut `StreamingController` and `GameWindow` directly to the pipeline;