docs(rendering): record G4 automated gate
Capture the exact capped, uncapped, and dense physical evidence, reveal-readiness corrections, comparison-mode performance interpretation, pending visual gate, and single surgical rollback boundary. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
03b10183e9
commit
51e184725f
2 changed files with 137 additions and 1 deletions
|
|
@ -27,7 +27,7 @@ retail-faithful gameplay
|
|||
| 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 | complete | Exact `f9829d5f` passed capped and uncapped nine-stop routes plus dense Arwic. Candidate order, packed input, classified output, and selection each completed 16,879 + 17,282 + 770 comparisons with zero mismatch; journal/rejection counts were zero and shutdown graceful. Evidence: `docs/research/2026-07-25-slice-g2-packed-dispatcher-gate.md`. |
|
||||
| G3 — retained classification/storage | complete | Exact `6a026c5a` passed capped and uncapped nine-stop routes plus dense Arwic with 17,069 + 16,827 + 757 exact comparisons in every channel, zero mismatch, warm cross-frame reuse, and graceful shutdown. Evidence: `docs/research/2026-07-25-slice-g3-retained-classification-gate.md`. |
|
||||
| G4 — production cutover | active; visual gate pending | Exact cutover `ef1d263337997bb030eadb7b8e71d73dc659907a` makes the retained frame product the production entity source at the existing five retail PView stages. Automated Release and physical gates precede the user visual gate; the old route referee remains until that gate passes. |
|
||||
| G4 — production cutover | automated gate complete; visual gate pending | Exact cutover `ef1d263337997bb030eadb7b8e71d73dc659907a` makes the retained frame product the production entity source at the existing five retail PView stages. Exact `03b10183` passed capped/uncapped nine-stop and uncapped dense-Arwic automation with 46,599 total product comparisons, zero mismatch, every reveal ready, and graceful shutdown. The old route referee remains until the user visual gate passes. Evidence: `docs/research/2026-07-25-slice-g4-production-cutover-automated-gate.md`. |
|
||||
| G5 | pending | Physical performance/lifecycle closeout follows the user visual gate. |
|
||||
|
||||
The exact pre-F/G runtime rollback anchor remains `e7d9d6fa`. F0 is
|
||||
|
|
@ -638,6 +638,18 @@ and 1,000 warm reuse frames with zero thread allocation. Evidence:
|
|||
There is no permanent runtime fallback. A failed gate reverts the cutover
|
||||
commit; it does not ship a hidden old/new switch.
|
||||
|
||||
**Automated gate completed 2026-07-25.** Exact gated source `03b10183` passed
|
||||
capped and uncapped nine-stop routes plus uncapped dense Arwic. The retained
|
||||
product completed 20,502 + 24,463 + 1,634 continuous comparisons with zero
|
||||
mismatch. Every canonical reveal was ready with zero pending composite warmup,
|
||||
the scene journal was empty, source and binary hashes matched, and every
|
||||
process closed gracefully. The gate corrected whole-retained-world composite
|
||||
warmup discovery by sourcing the exact published 3×3 destination neighborhood;
|
||||
that correction is draw-path independent. Fixed-camera artifacts are captured.
|
||||
The user visual gate is the only remaining G4 acceptance item, so old-route
|
||||
deletion and G5 production-only profiling remain blocked. Evidence:
|
||||
`docs/research/2026-07-25-slice-g4-production-cutover-automated-gate.md`.
|
||||
|
||||
### G5 — Physical performance and lifecycle gate
|
||||
|
||||
Run the exact Slice-E reference matrix:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,124 @@
|
|||
# Slice G4 Production Cutover — Automated Gate
|
||||
|
||||
**Date:** 2026-07-25
|
||||
|
||||
**Production cutover:** `ef1d263337997bb030eadb7b8e71d73dc659907a`
|
||||
|
||||
**Gated source:** `03b10183e95985c658e5975d2cc1a082a589738d`
|
||||
|
||||
**Result:** automated gate accepted; user visual gate pending
|
||||
|
||||
## Purpose
|
||||
|
||||
G4 makes the retained, scene-built `RenderFrameView` the production entity
|
||||
source at the five existing retail PView stages. Terrain, buildings, EnvCells,
|
||||
particles, alpha ordering, selection, lighting, mesh/texture ownership, and GL
|
||||
execution retain their established owners. The old route is still built only
|
||||
as a diagnostic referee while lifecycle automation is enabled; it is not
|
||||
drawn.
|
||||
|
||||
## Cutover shape
|
||||
|
||||
- `RetailPViewRenderer` borrows the exact generation/frame-stamped product.
|
||||
- `RetailPViewPassExecutor` expands its ordered route ranges at the same five
|
||||
PView stages used before the cutover.
|
||||
- `WbDrawDispatcher` classifies and draws packed candidates through the
|
||||
established shader, texture, light, alpha, and selection owners.
|
||||
- Unchanged static classifications and ordered scene indices persist across
|
||||
frames; only dirty records refresh.
|
||||
- Full-scene digests and old/new comparisons are consumer-gated and absent
|
||||
from an ordinary launch.
|
||||
- Production does not require or call the current-path referee.
|
||||
|
||||
## Corrections made before and during the gate
|
||||
|
||||
The first implementation pass found and corrected four integration costs
|
||||
before the cutover commit:
|
||||
|
||||
1. ordinary runtime composition incorrectly required the optional comparison
|
||||
observer;
|
||||
2. selection geometry was constructed twice;
|
||||
3. a diagnostic scene digest sorted the full scene every production frame;
|
||||
4. outdoor/dynamic indices were copied and sorted every frame despite stable
|
||||
membership.
|
||||
|
||||
The first exact nine-stop run then exposed an independent reveal-readiness
|
||||
weakness. Composite warmup used the same 128-item limit for cheap candidate
|
||||
discovery and expensive mesh/texture preparation. Caul's roughly 21,000
|
||||
retained objects could exhaust the portal reveal window before discovery
|
||||
finished. `129dd77d` separates those budgets.
|
||||
|
||||
A second run proved that a late membership edge could still restart the
|
||||
whole-world follow-up scan. `03b10183` adds a stable destination-neighborhood
|
||||
source over `GpuWorldState`'s canonical published buckets. Warmup now reads
|
||||
only the 3×3 reveal neighborhood, including static and live projections while
|
||||
the generation is deliberately quiesced. Both corrections apply equally to
|
||||
the old and retained draw paths; neither changes the visual rollback boundary.
|
||||
|
||||
## Exact physical evidence
|
||||
|
||||
| Route | Report | Product comparisons | Final rebuild / cross-frame reuse | Result |
|
||||
|---|---|---:|---:|---|
|
||||
| Capped nine-stop | `logs/connected-r6-soak-20260725-043955.report.json` | 20,502 | 1 / 6,109 | pass |
|
||||
| Uncapped nine-stop | `logs/connected-r6-soak-20260725-044923.report.json` | 24,463 | 2 / 6,037 | pass |
|
||||
| Uncapped dense Arwic | `logs/connected-dense-town-20260725-045805.report.json` | 1,634 | 2 / 3,833 | pass |
|
||||
|
||||
Every route used a Release binary whose embedded commit exactly matched
|
||||
`03b10183e95985c658e5975d2cc1a082a589738d`, exited with code zero through the
|
||||
graceful logout path, and recorded:
|
||||
|
||||
- zero product/referee candidate mismatch;
|
||||
- zero reveal invariant failure;
|
||||
- every canonical reveal ready;
|
||||
- zero composite warmup items at every stable checkpoint;
|
||||
- zero pending render-journal operations or rejected scene deltas;
|
||||
- retained-classification reuse across returns;
|
||||
- fixed-camera PNG artifacts for every checkpoint.
|
||||
|
||||
Dense Arwic exercised 15,530 resident objects and 111 active animated statics.
|
||||
Its final frame retained 4,949,760 bytes of packed classification and reused
|
||||
3,833 unchanged visible projections.
|
||||
|
||||
## Performance interpretation
|
||||
|
||||
The connected G4 gate intentionally keeps the complete old route and
|
||||
field-level referee enabled on every sampled frame. Dense Arwic therefore
|
||||
reported 29.3 ms CPU p50 and roughly 10 MiB of diagnostic allocation per frame
|
||||
while GPU p50 remained 1.8 ms. These are comparison-mode costs, not the
|
||||
production-only result. An ordinary development launch after consumer-gating
|
||||
measured roughly 8 ms with about 90 KiB frame-thread allocation in a dense
|
||||
scene. The authoritative production-only performance matrix belongs to G5,
|
||||
after the user visual gate permits deletion of the old route and transition
|
||||
diagnostics.
|
||||
|
||||
## Deterministic gate
|
||||
|
||||
- Production composition succeeds without a comparison observer.
|
||||
- The product routes in exact PView stage order.
|
||||
- Transform-only scene updates preserve index revision and refresh only the
|
||||
dirty record.
|
||||
- Membership/sort changes advance index revision and rebuild ordered indices.
|
||||
- A 21,025-record warmup discovery completes independently of the conservative
|
||||
128-entity preparation/upload budget.
|
||||
- Readiness snapshots include destination static/live projections even while
|
||||
ordinary gameplay visibility is quiesced.
|
||||
- App Release: 3,775 passed / 3 skipped.
|
||||
- Complete Release solution: 8,259 passed / 5 skipped.
|
||||
- Release build: zero errors; the complete test build retains 16 pre-existing
|
||||
test warnings.
|
||||
|
||||
## Visual gate and rollback
|
||||
|
||||
The user must still inspect login, outdoor/dungeon portal transitions,
|
||||
selection, alpha/translucency, animated/equipped objects, particles, radar,
|
||||
and repeated destination returns before G4 can delete the old referee.
|
||||
|
||||
If that visual gate fails, the exact surgical command is:
|
||||
|
||||
```powershell
|
||||
git revert ef1d263337997bb030eadb7b8e71d73dc659907a
|
||||
```
|
||||
|
||||
Do not reset the branch and do not revert G3 (`6a026c5a`). The two
|
||||
reveal-readiness corrections are valid on both draw paths and remain after the
|
||||
cutover revert.
|
||||
Loading…
Add table
Add a link
Reference in a new issue