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. |
|
||||
| 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. |
|
||||
| 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. |
|
||||
| G2–G5 | pending | No production 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 — 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
|
||||
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