4.2 KiB
Slice J6.4 closeout — exact graphical-host acknowledgement
Status: COMPLETE
Production commit: 18d17d8bb17ed9ff3ed01da8273e2948abe6398b
Exact rollback: git revert 18d17d8bb17ed9ff3ed01da8273e2948abe6398b
Result
RuntimeWorldTransitState now owns the complete presentation-independent
login/portal lifetime, including the exact work still owed by a graphical or
headless host. App no longer infers completion from local booleans. Instead,
Runtime issues one RuntimeWorldHostProjectionToken for the exact reveal
generation and destination cell and records the remaining typed
acknowledgements:
- host projection registered;
- simulation release projected;
- destination reservation released;
- terminal completion projected.
Wrong-generation, wrong-cell, duplicate, empty, composite, reordered, and post-terminal acknowledgements are rejected. Cancellation and supersession retain the exact remaining suffix. Session reset refuses to erase an outstanding host obligation.
WorldRevealCoordinator is now a strict graphical adapter. Its local records
contain only App resource receipts associated with a Runtime token. The drain
is serialized and re-entrancy safe: callback failure leaves the exact suffix
retryable, while a callback that starts or cancels another reveal cannot
overwrite or leak the prior destination reservation. WorldGenerationQuiescence
uses the same edge-before-callback rule and converges audio to the newest
desired state after failure or re-entrancy.
Normalized runtime traces and connected checkpoints now expose both canonical ownership ledgers:
RuntimeWorldEnvironmentOwnershipSnapshot;RuntimeWorldTransitOwnershipSnapshot, including host projection and pending-host-acknowledgement counts.
The connected gate rejects a stable checkpoint unless the environment owner is initialized with one active day group and all transit/host obligations have converged to zero.
Retail ordering preserved
The ownership change preserves the already accepted retail order documented in
2026-07-15-retail-portal-space-pseudocode.md and
2026-07-16-portal-completion-pseudocode.md:
- destination identity is accepted before placement;
- readiness remains latched once accepted;
- simulation is released only after materialization;
- the normal viewport is observed before terminal completion;
- incomplete destinations remain in the authored portal tunnel;
- presentation resources retire after their final consumer edge.
No portal timer, forced-ready path, alternate animation, additional frame queue, or new retail divergence was introduced.
Automated evidence
- Focused Runtime host/ownership fixtures: 58 passed.
- Focused App reveal/quiescence fixtures: 52 passed.
AcDream.Runtime.Tests: 365 passed.AcDream.App.Tests: 3,716 passed / 3 skipped.dotnet build AcDream.slnx -c Release: passed, zero errors.- Complete Release solution: 8,642 passed / 5 skipped.
- Dependency/source guards prove the direct Runtime host loads no App/UI/Silk/OpenAL/Arch/ImGui assembly and that App has no replacement transit-authority field.
- Failure-injection fixtures cover registration, simulation release, reservation release, terminal completion, audio projection, reset, and callback re-entrancy. Every ownership ledger converges to zero.
The direct Runtime-only fixture completes login, portal, cancellation, and
reset without constructing GameWindow or loading a graphical/audio backend.
Connected exact-binary evidence
Report:
logs/connected-world-gate-20260726-182805/report.json
- exact commit:
18d17d8bb17ed9ff3ed01da8273e2948abe6398b; - capped route: login → Aerlinthe → Rynthid → Facility Hub → Holtburg → Aerlinthe revisit;
- uncapped route: fresh-process reconnect;
- seven stable checkpoints;
- both processes exited gracefully with code zero;
- zero failures and only the expected world-edge landblock-miss warning;
- every checkpoint reports
DayGroupDefinitionCount = 20,ActiveDayGroupCount = 1,IsSessionIdle = true,HostProjectionCount = 0, andPendingHostAcknowledgementCount = 0.
This closes J6.4 and J6.5. Slice J6 has one Runtime environment owner, one Runtime transit/reveal owner, an exact host acknowledgement protocol, and no remaining App reconstruction of portal authority.