docs(physics): close Slice I evidence and roadmap
Record the accepted flat-authoritative collision cutover, production parsed-graph removal, exact rollbacks, zero-residency connected gates, and RDP measurement boundary. Reconcile architecture, milestones, roadmap, issue ledger, agent instructions, and the active Slice J handoff. Validated by the existing zero-warning Release build, 8,413 passing Release tests with five pre-existing skips, 201 focused closeout tests, and both exact-binary connected routes. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
82f8d4f82e
commit
afebbe3eca
11 changed files with 257 additions and 71 deletions
121
docs/research/2026-07-25-slice-i7-closeout.md
Normal file
121
docs/research/2026-07-25-slice-i7-closeout.md
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
# Slice I7 — flat collision closeout
|
||||
|
||||
## Result
|
||||
|
||||
Modern Runtime Slice I is complete. Production collision consumes the
|
||||
immutable prepared flat representation exclusively, per-resolve scratch is
|
||||
retained and reset-complete, and no parsed DAT collision graph remains in
|
||||
stable gameplay state.
|
||||
|
||||
The two production cutover commits are:
|
||||
|
||||
- flat-authoritative traversal:
|
||||
`068a06518dd710ca5e7f166754cbb7789ca1ed0f`;
|
||||
- parsed-graph removal:
|
||||
`82f8d4f82e24ad85042ac3e25c4f6464bebce758`.
|
||||
|
||||
Exact rollback commands:
|
||||
|
||||
```text
|
||||
git revert 82f8d4f82e24ad85042ac3e25c4f6464bebce758
|
||||
git revert 068a06518dd710ca5e7f166754cbb7789ca1ed0f
|
||||
```
|
||||
|
||||
Revert graph removal first. Do not revert the I3 prepared-package, I4
|
||||
flat-traversal, or I5 publication work unless evidence implicates those
|
||||
layers.
|
||||
|
||||
## Production ownership after removal
|
||||
|
||||
- `PhysicsDataCache` publishes immutable flat GfxObj, Setup, CellStruct, and
|
||||
EnvCell topology records directly.
|
||||
- Stable `GpuWorldState` strips temporary `PhysicsDatBundle` source material.
|
||||
- Near `LandblockBuild` payloads discard Environment/GfxObj raw collision
|
||||
graphs after their immutable flat closure is built.
|
||||
- Live objects publish through the same strict prepared source.
|
||||
- Graph constructors remain only as explicit test, bake, and equivalence
|
||||
oracles. Production has no graph fallback and no sampled referee.
|
||||
- The single validated `acdream.pak` mmap remains the production render and
|
||||
collision source.
|
||||
|
||||
This is a storage/ownership change only. Collision comparisons, traversal
|
||||
order, source float bits, retail thresholds, cell semantics, and authoritative
|
||||
game behavior did not change.
|
||||
|
||||
The retail divergence register was audited. No row was added or retired:
|
||||
Slice I changes the representation and lifetime of already ported collision
|
||||
data without introducing a behavior deviation.
|
||||
|
||||
## Automated evidence
|
||||
|
||||
- Release build: pass with zero errors and zero warnings.
|
||||
- Complete Release solution: 8,413 passed / 5 skipped.
|
||||
- Focused Core collision, doors, doorway, cellar/ramp, jump, projectile, and
|
||||
allocation gate: 154 passed.
|
||||
- Focused App camera/projectile gate: 47 passed.
|
||||
- Player, grounded walkable publication, remote, projectile, and camera
|
||||
profiles: 0 B/resolve.
|
||||
- Direct flat `CellSurface`, walkable-plane, behaviorless-cell, stable-state
|
||||
stripping, and production graph-residency fixtures pass.
|
||||
|
||||
## Connected lifecycle/reconnect gate
|
||||
|
||||
Report:
|
||||
`logs/connected-world-gate-20260725-182242/report.json` in the exact-binary
|
||||
gate worktree.
|
||||
|
||||
- Source and binary:
|
||||
`82f8d4f82e24ad85042ac3e25c4f6464bebce758`.
|
||||
- Result: PASS; two graceful exits; zero failures.
|
||||
- Six capped checkpoints plus one fresh-process uncapped reconnect passed.
|
||||
- Parsed collision graph counts were `0/0/0` at every checkpoint.
|
||||
- Flat GfxObj/Setup/cell residency remained populated, including:
|
||||
- capped login: `168/112/71`;
|
||||
- Rynthid: `384/262/790`;
|
||||
- Facility Hub: `436/272/279`;
|
||||
- Holtburg after dungeon: `761/415/531`;
|
||||
- fresh uncapped reconnect: `167/103/59`.
|
||||
- Publication, retirement, upload, warmup, and class backlogs converged.
|
||||
|
||||
The 25 world-edge misses are the route's existing expected diagnostic, not a
|
||||
new collision failure.
|
||||
|
||||
## Connected canonical nine-stop gate
|
||||
|
||||
Report:
|
||||
`logs/connected-r6-soak-20260725-182823.report.json` in the exact-binary gate
|
||||
worktree.
|
||||
|
||||
- Result: PASS; graceful exit; zero failures.
|
||||
- All nine portal checkpoints materialized and stabilized.
|
||||
- Parsed collision graph counts were `0/0/0` at all nine checkpoints.
|
||||
- Flat cell residency covered Caul, Sawato, Rynthid, Aerlinthe, and Holtburg,
|
||||
including 790 cells at Rynthid and 531 at Holtburg.
|
||||
- Movement, jump/fall, combat/projectile, portal, dungeon, revisit, and
|
||||
authoritative server-echo checks passed.
|
||||
- Final publication, retirement, worker, destination, control, unload,
|
||||
near/far, staged-upload, and composite-warmup backlogs were zero.
|
||||
|
||||
The known route warnings were limited to a Caul visible-workload delta of two,
|
||||
an eleven-particle plateau delta, 32 optional missing-DAT VFX diagnostics, and
|
||||
the 25 expected world-edge misses.
|
||||
|
||||
## Measurement boundary
|
||||
|
||||
The user accepted collision correctness under RDP. The RDP nine-stop route
|
||||
also showed a bounded final plateau near 1.93 GiB working set while carrying
|
||||
observer/automation state, below the earlier dual-representation diagnostic
|
||||
route's roughly 2.06 GiB final Caul working set. Those are not controlled
|
||||
ordinary-client measurements, so no exact performance percentage is claimed.
|
||||
|
||||
Absolute post-removal CPU, GPU, frame-time, and ordinary-process memory
|
||||
comparison remains deferred to the next physical-display performance pass.
|
||||
That deferral does not weaken the deterministic, connected, ownership, or
|
||||
resource-lifetime acceptance above.
|
||||
|
||||
## Next execution point
|
||||
|
||||
Slice J1 begins the borrowed-view, typed-command, ordered-event, clock, and
|
||||
lifecycle contract layer in `AcDream.Runtime`. It must adapt the current
|
||||
canonical owners first; it may not create a second gameplay world or add a
|
||||
frame of graphical input latency.
|
||||
Loading…
Add table
Add a link
Reference in a new issue