docs(rendering): close slice G1 candidate gate
This commit is contained in:
parent
e346f8bbaf
commit
720578592b
2 changed files with 64 additions and 2 deletions
|
|
@ -24,8 +24,9 @@ retail-faithful gameplay
|
||||||
| 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. |
|
| 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 | 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`. |
|
| 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 — borrowed frame product | complete | Two reusable arenas publish exact generation/frame-stamped borrowed views for scene candidates, cell ranges, transforms, classification, light sets, selection, PView/clip references, counts, and source digest. Release/reuse invalidates every copied view; abort never publishes; frame N may build while N-1 is borrowed; the warm path allocates zero bytes. Eight focused tests pass inside the 3,743-App / 8,227-solution Release gate. |
|
| G0 — borrowed frame product | complete | Two reusable arenas publish exact generation/frame-stamped borrowed views for scene candidates, cell ranges, transforms, classification, light sets, selection, PView/clip references, counts, and source digest. Release/reuse invalidates every copied view; abort never publishes; frame N may build while N-1 is borrowed; the warm path allocates zero bytes. Eight focused tests pass inside the 3,743-App / 8,227-solution Release gate. |
|
||||||
| G1 — scene-query replacement | code gate complete; connected gate pending | The incremental scene now builds the same-frame candidate product from outdoor, per-cell, look-in, outside-stage, and dynamic indices, preserving PView route multiplicity and hidden-versus-withdrawn ownership. A compare-only controller checks canonical route/cell/entity membership against the accepted current PView path; lifecycle JSON publishes counts, digests, and the first mismatch. Twenty-four focused render-scene/frame-product tests pass inside the 3,745-App / 8,229-solution Release gate. No production draw consumer has switched. |
|
| G1 — scene-query replacement | complete | Exact `e346f8bb` passed capped and uncapped nine-stop routes plus uncapped dense Arwic: 29,392 + 29,025 + 1,522 same-frame candidate comparisons, zero mismatches, equal counts/digests at every checkpoint, exact binary/source identity, and graceful shutdown. Evidence: `docs/research/2026-07-25-slice-g1-scene-query-candidate-gate.md`. |
|
||||||
| G2–G5 | pending | No production consumer has switched. |
|
| G2 — packed dispatcher input | active | Convert the accepted scene candidates into an acdream-owned packed dispatcher input and compare its complete instance payload against the current WorldEntity boundary without drawing twice. |
|
||||||
|
| G3–G5 | pending | No production consumer has switched. |
|
||||||
|
|
||||||
The exact pre-F/G runtime rollback anchor remains `e7d9d6fa`. F0 is
|
The exact pre-F/G runtime rollback anchor remains `e7d9d6fa`. F0 is
|
||||||
non-drawing diagnostic infrastructure and therefore is not a visual-cutover
|
non-drawing diagnostic infrastructure and therefore is not a visual-cutover
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
# Slice G1 Scene-Query Candidate Gate
|
||||||
|
|
||||||
|
**Date:** 2026-07-25
|
||||||
|
|
||||||
|
**Candidate:** `e346f8bbaf5c6d73498d74da32bfc37caf8c4e44`
|
||||||
|
|
||||||
|
**Result:** accepted; G1 complete
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
G1 builds the exact current render frame's candidate routes from the
|
||||||
|
incremental render scene instead of walking `LandblockEntries`. It remains a
|
||||||
|
compare-only source: production still draws the accepted
|
||||||
|
`InteriorEntityPartition`/`WorldEntity` path.
|
||||||
|
|
||||||
|
The comparison preserves route, route index, cell, duplicate membership, and
|
||||||
|
projection identity. Sorting is allowed only within those dimensions so
|
||||||
|
unordered retained scene indices cannot create a false mismatch while PView
|
||||||
|
order and route multiplicity remain exact.
|
||||||
|
|
||||||
|
## Exact physical evidence
|
||||||
|
|
||||||
|
| Route | Report | Final comparisons | Mismatch | Candidate parity | Exit |
|
||||||
|
|---|---|---:|---:|---|---|
|
||||||
|
| Capped nine-stop | `logs/connected-r6-soak-20260725-001333.report.json` | 29,392 / 29,392 | 0 | exact at all nine checkpoints | graceful |
|
||||||
|
| Uncapped nine-stop | `logs/connected-r6-soak-20260725-002328.report.json` | 29,025 / 29,025 | 0 | exact at all nine checkpoints | graceful |
|
||||||
|
| Uncapped dense Arwic | `logs/connected-dense-town-20260725-003231.report.json` | 1,522 / 1,522 | 0 | 4,274 / 4,274 at checkpoint | graceful |
|
||||||
|
|
||||||
|
Every route reported:
|
||||||
|
|
||||||
|
- `Passed=true`, `ExitCode=0`, and `GracefulExit=true`;
|
||||||
|
- source commit, embedded binary commit, and candidate commit equal to
|
||||||
|
`e346f8bbaf5c6d73498d74da32bfc37caf8c4e44`;
|
||||||
|
- product and current PView frame sequences equal;
|
||||||
|
- expected and actual candidate count equal;
|
||||||
|
- expected and actual candidate digest equal;
|
||||||
|
- `firstMismatch=null`.
|
||||||
|
|
||||||
|
The nine-stop routes covered Caul, Sawato, Rynthid, Aerlinthe, Holtburg,
|
||||||
|
same-location Sawato revisit, Caul return, Sawato plateau, and Caul plateau.
|
||||||
|
They exercised outdoor and interior roots, door/outside routes, nested
|
||||||
|
building look-ins, non-flooded retained cell data, portal transitions,
|
||||||
|
equipped children, movement, jump, combat, generation replacement, and
|
||||||
|
graceful logout. Dense Arwic exercised 15,530 resident world entities and 111
|
||||||
|
active animated statics during its stationary turn sample.
|
||||||
|
|
||||||
|
## Deterministic gate
|
||||||
|
|
||||||
|
- 24 focused current-oracle, shadow-scene, frame-product, and G1 route tests;
|
||||||
|
- 3,745 App tests / 3 skips;
|
||||||
|
- 8,229 complete-solution tests / 5 skips;
|
||||||
|
- exact hidden-spatial versus portal-withdrawn candidate behavior;
|
||||||
|
- EnvCell shell projections excluded from object routes;
|
||||||
|
- exact mismatch reporting after a retained projection is removed.
|
||||||
|
|
||||||
|
## Rollback
|
||||||
|
|
||||||
|
G1 does not change the production draw source. Commit `e346f8bb` is safe to
|
||||||
|
retain if a later visual cutover is reverted. The exact pre-cutover runtime
|
||||||
|
rollback anchor remains `e7d9d6fa`. G4 must record its own cutover commit
|
||||||
|
before connected visual verification.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue