acdream/docs/research/2026-07-25-slice-g1-scene-query-candidate-gate.md

66 lines
3 KiB
Markdown

# 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 preserved route, route index, cell, duplicate membership, and
projection identity. At this gate it canonicalized identities within those
dimensions because retained scene indices were unordered.
**G2 correction:** this proved membership and multiplicity, not exact source
traversal. Stable equal-distance alpha ordering makes traversal observable.
G2 moved that order into `GpuWorldState`, removed comparator canonicalization,
and passed the stronger ordered candidate/packed/output gate. See
`docs/research/2026-07-25-slice-g2-packed-dispatcher-gate.md`.
## 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.