docs(rendering): close slice F shadow gate
Record exact capped, uncapped, and dense physical parity evidence before any production draw-source cutover. The pre-F/G runtime rollback anchor remains e7d9d6fa.
This commit is contained in:
parent
81e2f1a575
commit
9b5a530e7b
2 changed files with 105 additions and 3 deletions
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
**Date:** 2026-07-24
|
||||
|
||||
**Status:** approved 2026-07-24; Slice F active
|
||||
**Status:** approved 2026-07-24; Slice F complete, Slice G active
|
||||
|
||||
**Program:** `docs/plans/2026-07-24-modern-runtime-architecture.md`
|
||||
|
||||
|
|
@ -22,8 +22,8 @@ retail-faithful gameplay
|
|||
| F2 — static projection journal | complete | Static and EnvCell-shell projections now append ordered deltas only after the final activation receipt and exact detach receipt. Same-landblock rehydrate reconciles retained/new/omitted identities; stale Far completions are inert. Seven focused lifecycle tests pass inside the 3,708-App / 8,192-solution Release gate. The scene remains unconstructed and non-drawing in production. |
|
||||
| F3 — live/equipped projection | complete | Exact EntityReady/resource teardown, visibility, attachment pose/removal, and active-only final-frame seams now drive generation/incarnation-gated live records. Duplicate CreateObject, pending/loaded rebucket, hidden/appearance, reentrancy, session clear, attachment, and GUID-generation replacement pass 11 focused tests. Production still constructs no render scene. |
|
||||
| F4 — dynamic indices | complete | The contained scene now maintains outdoor/static, per-cell static/dynamic, special dynamic-route, translucent, selectable, light-candidate, and dirty indices incrementally. Final-frame live/equipped synchronization remains active-only, and active animated statics are synchronized from the scheduler's active workset rather than a resident-world scan. The production scene remains unconstructed and non-drawing. |
|
||||
| F5 | active — connected redrive | Lifecycle automation now constructs the otherwise-absent non-drawing scene, drains ordered static/live deltas after post-network spatial reconciliation, compares the accepted current partition every 30 rendered frames and at every canonical checkpoint, retains only the first field-level mismatch, and publishes scene/journal/index/memory evidence in checkpoint JSON. The first exact `056bbd4e` capped route passed the harness and graceful-shutdown gates but correctly exposed missing live roots after a same-location Sawato revisit. Root synchronization now recovers ordinary roots from `LiveEntityRuntime`'s canonical active spatial workset while attached children remain callback-authoritative. Immutable selection geometry is fingerprinted once per GfxObj/mesh identity, and retained scene/journal update paths have zero-allocation regression tests. Release is green at 3,733 App tests / 3 skips and 8,217 complete-solution tests / 5 skips; all three connected routes must be redriven before F5 closes. |
|
||||
| G0–G5 | pending | No production consumer has switched. |
|
||||
| F5 | complete | Exact `81e2f1a5` passed capped and uncapped nine-stop routes plus uncapped dense Arwic. Across the final checkpoints the referee completed 1,663 + 1,677 + 81 comparisons with zero mismatches, zero pending deltas, zero rejected operations, exact binary/source identity, and graceful shutdown. Evidence: `docs/research/2026-07-24-slice-f5-render-scene-shadow-gate.md`. |
|
||||
| G0–G5 | active | F's non-drawing referee is accepted. No production consumer has switched yet; G0 begins the borrowed double-buffered frame product. |
|
||||
|
||||
The exact pre-F/G runtime rollback anchor remains `e7d9d6fa`. F0 is
|
||||
non-drawing diagnostic infrastructure and therefore is not a visual-cutover
|
||||
|
|
@ -479,6 +479,23 @@ removal, and final logical teardown. Missing-projection diagnostics also carry
|
|||
the expected class, server GUID, local ID, and parent cell for any further
|
||||
failure. Repeat capped F5 on the exact corrective commit before advancing.
|
||||
|
||||
The exact corrective commit `81e2f1a5` passed the complete physical gate:
|
||||
|
||||
- capped nine-stop route `connected-r6-soak-20260724-232827`: 1,663/1,663
|
||||
successful comparisons;
|
||||
- uncapped nine-stop route `connected-r6-soak-20260724-233826`: 1,677/1,677
|
||||
successful comparisons;
|
||||
- uncapped dense-Arwic route `connected-dense-town-20260724-234807`: 81/81
|
||||
successful comparisons.
|
||||
|
||||
Every canonical checkpoint had the shadow enabled, the active projection count
|
||||
equal to the current-path oracle, no first mismatch, no journal carry-over, and
|
||||
no rejected delta. All three processes used a Release binary whose embedded
|
||||
commit exactly matched source and all closed gracefully. This closes Slice F.
|
||||
The shadow scene remains diagnostic-only and is safe to retain if a later
|
||||
production cutover is reverted. The pre-cutover runtime rollback anchor remains
|
||||
`e7d9d6fa`.
|
||||
|
||||
## 6. Slice G — Frame product and production cutover
|
||||
|
||||
### G0 — Borrowed double-buffered frame product
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue