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:
Erik 2026-07-24 23:52:07 +02:00
parent 81e2f1a575
commit 9b5a530e7b
2 changed files with 105 additions and 3 deletions

View file

@ -0,0 +1,85 @@
# Slice F5 Render-Scene Shadow Gate
**Date:** 2026-07-24
**Candidate:** `81e2f1a57577457436f244f8c9d083e14a9de362`
**Result:** accepted; Slice F is complete
## Purpose
Slice F built the future render scene without allowing it to draw. The physical
gate compared its active projections with the accepted current renderer after
streaming, network, teleport, animation, attachment composition, and the final
update-boundary journal publication. This was an exact state referee, not a
screenshot approximation.
The retained scene can contain inactive identities that have temporarily left
spatial presentation. Therefore the binding count is the active matched
projection count, not total retained entity capacity. Logical teardown still
removes those identities through `OnResourceUnregister`.
## Exact physical evidence
| Route | Report | Final comparisons | Mismatch | Pending | Rejected | Exit |
|---|---|---:|---:|---:|---:|---|
| Capped nine-stop | `logs/connected-r6-soak-20260724-232827.report.json` | 1,663 / 1,663 | 0 | 0 | 0 | graceful |
| Uncapped nine-stop | `logs/connected-r6-soak-20260724-233826.report.json` | 1,677 / 1,677 | 0 | 0 | 0 | graceful |
| Uncapped dense Arwic | `logs/connected-dense-town-20260724-234807.report.json` | 81 / 81 | 0 | 0 | 0 | graceful |
Every route reported:
- `Passed=true`, `ExitCode=0`, and `GracefulExit=true`;
- source commit, embedded binary commit, and candidate commit equal to
`81e2f1a57577457436f244f8c9d083e14a9de362`;
- shadow comparison enabled at every canonical checkpoint;
- active matched projections equal to the current-path oracle;
- `firstMismatch=null`;
- cumulative rejected-generation, out-of-order, stale-incarnation, and
missing-record counts all zero.
The two nine-stop routes covered Caul, Sawato, Rynthid, Aerlinthe, Holtburg,
same-location Sawato revisit, Caul return, Sawato plateau, and Caul plateau.
The route exercised movement, jump, combat, portal churn, repeated
materialization, generation replacement, and graceful shutdown. Dense Arwic
covered 15,040 active projections and 111 animated entities during the turn
sample.
## Shadow footprint
The final checkpoint's estimated retained shadow footprint was:
- capped Caul plateau: 21,891,296 bytes for 21,216 retained identities;
- uncapped Caul plateau: 21,894,656 bytes for 21,218 retained identities;
- dense Arwic: 20,001,016 bytes for 15,791 retained identities.
This footprint is intentionally additional during Slice F because both the
current and candidate representations coexist. Slice G must remove the old
whole-world partition ownership after production parity; Slice F numbers are
not the post-cutover steady-state memory target.
## Rejected evidence and root corrections
Earlier physical runs were deliberately rejected:
- `056bbd4e`: ordinary roots could not be recovered after same-location
rehydration because derived synchronization walked only retained records;
- `91463db5`: the ordinary journal drain was skipped while simulation was
quiesced instead of being a final update-frame commit;
- `9fab1feb`: destination pose could not restore an equipped projection after
presentation withdrawal;
- `bb1f4a64`: equipped spatial withdrawal was incorrectly treated as logical
identity destruction.
The final model separates logical lifetime from spatial presence. Ordinary
roots reconcile from `LiveEntityRuntime`'s canonical active workset. Equipped
children remain callback-owned, retain their exact inactive scene identity
during spatial withdrawal, reactivate only from an authoritative visibility or
pose edge, and unregister only on logical resource teardown.
## Rollback
No production draw consumer changed in Slice F. The exact pre-F/G runtime
rollback anchor remains `e7d9d6fa`. A later visual failure in Slice G must
revert the exact production cutover commit recorded in the plan and render
pipeline digest; it must not discard this referee or evidence work.