88 lines
3.8 KiB
Markdown
88 lines
3.8 KiB
Markdown
# Slice J6.3 — canonical teleport correlation
|
|
|
|
**Date:** 2026-07-26
|
|
**Production commit:** `6a063a27d4c805cd166d5a487afc290c34c400fd`
|
|
**Exact rollback:**
|
|
|
|
```text
|
|
git revert 6a063a27d4c805cd166d5a487afc290c34c400fd
|
|
```
|
|
|
|
## Outcome
|
|
|
|
`AcDream.Runtime.World.RuntimeWorldTransitState` now owns the complete
|
|
authoritative teleport-notification and accepted-destination lifetime:
|
|
|
|
- wrap-safe F751 freshness and last-notification history;
|
|
- the pending and active teleport sequence;
|
|
- Position-before-F751 buffering and F751-before-Position matching;
|
|
- the first accepted destination for one teleport generation;
|
|
- exact generation, sequence, and destination-cell placement validation;
|
|
- exact materialization acknowledgement; and
|
|
- cancellation and session-reset cleanup without generation reuse.
|
|
|
|
`RuntimeTeleportDestination` preserves the server GUID, all four relevant
|
|
retail sequence channels, and the complete Core `Position`, including its
|
|
cell-local frame. The App converts accepted network data once at the wire
|
|
boundary, after canonical Runtime physics has accepted and applied the
|
|
Position update.
|
|
|
|
The former App `TeleportTransitCoordinator<T>` and duplicate accepted-
|
|
destination state are deleted. `LocalPlayerTeleportController` now borrows
|
|
Runtime transit truth and owns only graphical portal activation, render-space
|
|
translation/recentering, destination placement callbacks, tunnel presentation,
|
|
and retained UI. Login reveal and portal reveal are separate typed operations,
|
|
so an ordinary login cannot accidentally satisfy a teleport sequence.
|
|
|
|
## Retail ordering
|
|
|
|
- `SmartBox::HandlePlayerTeleport @ 0x00452150`
|
|
- `SmartBox::TeleportPlayer @ 0x00453910`
|
|
- `SmartBox::UseTime @ 0x00455410`
|
|
|
|
Retail accepts an equal or wrap-safe-newer F751 sequence, clears the local
|
|
position-complete state, and waits for a corresponding accepted Position
|
|
without advancing the Position timestamp itself. ACE emits the F751 and
|
|
Position with the same teleport sequence but transport order is not assumed.
|
|
The Runtime owner therefore supports both packet orders while keeping
|
|
canonical physics acceptance independent.
|
|
|
|
The detailed translation is recorded in
|
|
[`2026-07-15-retail-portal-space-pseudocode.md`](2026-07-15-retail-portal-space-pseudocode.md).
|
|
|
|
## Automated evidence
|
|
|
|
- Runtime: 360 passed, including 28 focused transit-state tests.
|
|
- App focused transit/reveal suite: 34 passed.
|
|
- App: 3,710 passed / 3 skipped.
|
|
- Complete solution: 8,631 passed / 5 skipped.
|
|
- Release build: zero errors; 17 pre-existing test-project warnings tracked by
|
|
issue #228.
|
|
- Source/ownership guards: the App transit coordinator is absent, graphical
|
|
composition borrows the session Runtime transit owner, and no parallel
|
|
current-cell or accepted-destination authority remains.
|
|
- Adversarial fixtures: Position-before-F751, F751-before-Position,
|
|
duplicate/stale/wrapped sequences, supersession, exact placement and
|
|
materialization mismatch, mid-transit reset, reconnect, generation reuse,
|
|
and two-instance isolation.
|
|
|
|
## Connected evidence
|
|
|
|
Accepted report:
|
|
`logs/connected-world-gate-20260726-175333/report.json`
|
|
|
|
The report records exact source and embedded binary commit
|
|
`6a063a27d4c805cd166d5a487afc290c34c400fd`.
|
|
|
|
- Capped process: 244.427 seconds, six checkpoints, graceful code-zero exit.
|
|
- Uncapped fresh-process reconnect: 61.414 seconds, one checkpoint, graceful
|
|
code-zero exit.
|
|
- Route: fresh login, Aerlinthe, Rynthid world edge, Facility Hub dungeon,
|
|
Holtburg, Aerlinthe revisit, then fresh-process reconnect.
|
|
- Failures: zero.
|
|
- Reveal invariant failures: zero.
|
|
- Expected warning: 25 instrumented world-edge landblock misses.
|
|
|
|
No new retail divergence was introduced. The two-order buffer contains only
|
|
immutable destination data that canonical Runtime physics already accepted; it
|
|
is correlation state, not a second physics or position authority.
|