docs(runtime): close simulation ownership

This commit is contained in:
Erik 2026-07-26 16:29:28 +02:00
parent cdee7a4b49
commit 4743f7c409
11 changed files with 281 additions and 33 deletions

View file

@ -1,6 +1,6 @@
# acdream — strategic roadmap
**Status:** Living document. Updated 2026-07-26. **M3 landed; M4 is active.** M3's retail casting/UI, R6 locomotion/collision/projectile/teleport/radar rebaseline, deterministic fresh-login/portal world lifecycle, and final two-client portal observer flow are user-gated. All eight slices of the behavior-preserving ownership campaign in [`docs/architecture/code-structure.md`](../architecture/code-structure.md), their automated closeout, and the user's connected visual matrix are complete. Modern Runtime J3 canonical entity/object lifetime and J4 gameplay-state ownership are closed at `89e6b207`; J5.1 canonical selection/combat/target-mode ownership is closed at `b298f99f`, J5.2 interaction transactions at `f5f7b417`, J5.3 combat/magic intent at `20df9d15`, J5.4 local movement/outbound cadence at `aa3f4a60`, J5.5 per-session physics/remote simulation at `7e6033d0`, and J5.6 projectile simulation at `2aee3356`. J5.7 cleanup and closeout is active. Issue #225's lifestone/particle alpha comparison remains a separate rendering visual gate.
**Status:** Living document. Updated 2026-07-26. **M3 landed; M4 is active.** M3's retail casting/UI, R6 locomotion/collision/projectile/teleport/radar rebaseline, deterministic fresh-login/portal world lifecycle, and final two-client portal observer flow are user-gated. All eight slices of the behavior-preserving ownership campaign in [`docs/architecture/code-structure.md`](../architecture/code-structure.md), their automated closeout, and the user's connected visual matrix are complete. Modern Runtime J3 canonical entity/object lifetime and J4 gameplay-state ownership are closed at `89e6b207`; J5.1 canonical selection/combat/target-mode ownership is closed at `b298f99f`, J5.2 interaction transactions at `f5f7b417`, J5.3 combat/magic intent at `20df9d15`, J5.4 local movement/outbound cadence at `aa3f4a60`, J5.5 per-session physics/remote simulation at `7e6033d0`, J5.6 projectile simulation at `2aee3356`, and J5.7 combined simulation closeout at `cdee7a4b`. J6 world/portal/environment and projection-handshake ownership is active. Issue #225's lifestone/particle alpha comparison remains a separate rendering visual gate.
**Purpose:** One source of truth for where the project is and where it's going. Every observed defect or missing feature has a named phase that owns it; when something looks wrong in-game, look here to find the phase that'll address it. Implementation details live in per-phase specs under `docs/superpowers/specs/`, not in this file.
---
@ -1771,7 +1771,13 @@ port in any phase — no separate listing here.
> Its 317 Runtime tests, 3,718 App tests / 3 skips, 47 focused Core projectile
> tests, 8,591-test / 5-skip complete Release suite, exact arrow/bolt/spell
> evidence, lifecycle/reconnect gate, and canonical nine-stop route pass.
> J5.7 cleanup and closeout is active.
> J5.7 completed at `cdee7a4b`: Runtime owns accepted remote-body/vector
> activation, final simulation retirement, terminal physics/shadow/workset
> cleanup, and one combined entity/object/gameplay/physics ownership ledger.
> Its Runtime-only movement/use/combat/cast/projectile fixture, 323 Runtime
> tests, 3,717 App tests / 3 skips, 8,596-test / 5-skip complete Release suite,
> exact-binary lifecycle/reconnect gate, and canonical nine-stop route pass.
> J6 world/portal/environment and projection-handshake ownership is active.
> The historical exact cutover
> rollback remains
> `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`. Slice H is complete:

View file

@ -245,7 +245,14 @@ residency is `0/0/0` at every stable checkpoint and teardown converges. Slice I
shape inputs and projects committed frames. Its 317 Runtime tests, 3,718
App tests / 3 skips, 47 focused Core projectile tests, 8,591 full Release
tests / 5 skips, exact arrow/bolt/spell evidence, lifecycle/reconnect route,
and canonical nine-stop route pass. J5.7 cleanup and closeout is active under
and canonical nine-stop route pass. J5.7 completed at `cdee7a4b`: one
Runtime simulation ledger spans entity/object, gameplay, physics, remote,
and projectile ownership; the Runtime-only fixture drives movement, use,
combat, casting, and projectiles without presentation dependencies. Its 323
Runtime tests, 3,717 App tests / 3 skips, 8,596 full Release tests / 5
skips, exact-binary lifecycle/reconnect route, and canonical nine-stop route
pass. J6 world/portal/environment and projection-handshake ownership is
active under
[`2026-07-25-modern-runtime-slice-j.md`](2026-07-25-modern-runtime-slice-j.md).
Slice-I closeout evidence is
[`../research/2026-07-25-slice-i7-closeout.md`](../research/2026-07-25-slice-i7-closeout.md).

View file

@ -2,7 +2,7 @@
**Date:** 2026-07-24
**Status:** Slices AI, J0J4, and J5.1J5.6 are complete. Flat-authoritative collision, zero-
**Status:** Slices AI and J0J5 are complete. Flat-authoritative collision, zero-
allocation resolve scratch, parsed-graph removal, connected correctness/
lifetime acceptance, and Slice-I closeout landed 2026-07-25. Slices FL were
explicitly approved 2026-07-24. Slice J0J1 established the enforced Runtime
@ -16,11 +16,12 @@ ownership into Runtime at `011efbea`; J4.3 moved the coupled magic/player-sheet
owner into Runtime at `d02a12ce`; J4.4 moved character settings/projections
and the shared typed state-command seam at `dcb61efb`; J4.5 closed canonical
gameplay-state ownership at `89e6b207`. J5 movement, physics, interaction,
and combat ownership is active at J5.7 after canonical action state
and combat ownership closed at `cdee7a4b` after canonical action state
(`b298f99f`), interaction transactions (`f5f7b417`), and combat/magic intent
(`20df9d15`), local movement/outbound cadence (`aa3f4a60`), and per-session
physics/remote simulation (`7e6033d0`), and projectile simulation
(`2aee3356`) moved to Runtime.
physics/remote simulation (`7e6033d0`), projectile simulation (`2aee3356`),
and the combined simulation ledger/Runtime-only closeout moved to Runtime.
J6 world/portal/environment and projection-handshake ownership is active.
**Scope:** Reconcile and sequence the existing Modern Pipeline (`MP`) and
Linux/headless (`LH`) tracks using the 2026-07-24 connected performance audit.
@ -1277,8 +1278,11 @@ gate, and canonical nine-stop route pass. J4 is complete at `89e6b207`: the
single Runtime shortcut/spellbook/inventory owners, graphical/no-window
command parity, failure-safe combined ledger, 8,544-test Release suite,
exact-binary lifecycle/reconnect gate, and canonical nine-stop route pass.
J5 movement/physics/interaction/combat ownership is the current execution
point. J5.1J5.6 are complete; J5.7 cleanup and closeout is active.
J5 movement/physics/interaction/combat ownership is complete at `cdee7a4b`.
The Runtime-only simulation fixture, combined terminal ledger, 8,596-test /
5-skip Release suite, exact-binary lifecycle/reconnect gate, and canonical
nine-stop route pass. J6 world/portal/environment and projection-handshake
ownership is the current execution point.
Evidence:
[`../research/2026-07-25-slice-g5-production-profile.md`](../research/2026-07-25-slice-g5-production-profile.md)
and
@ -1300,6 +1304,8 @@ and
and
[`../research/2026-07-26-slice-j5-6-projectile-ownership.md`](../research/2026-07-26-slice-j5-6-projectile-ownership.md)
and
[`../research/2026-07-26-slice-j5-7-simulation-ownership-closeout.md`](../research/2026-07-26-slice-j5-7-simulation-ownership-closeout.md)
and
[`2026-07-25-modern-runtime-slice-j.md`](2026-07-25-modern-runtime-slice-j.md).
The intended order is therefore:

View file

@ -1,6 +1,6 @@
# Modern runtime Slice J — presentation-independent runtime
**Status:** J0J4 COMPLETE; J5 ACTIVE
**Status:** J0J5 COMPLETE; J6 ACTIVE
**Parent:** `2026-07-24-modern-runtime-architecture.md`, Slice J
**Authorization:** the user approved Slices FL, including the otherwise-frozen
Slice J gameplay-owner moves, on 2026-07-24
@ -277,7 +277,7 @@ J4 must borrow it rather than create another inventory model.
### J5 — movement, physics, interaction, and combat group
**Active 2026-07-26.** Detailed execution begins with a source/owner inventory
**Completed 2026-07-26.** Detailed execution began with a source/owner inventory
and a named-retail ordering matrix. Each coherent move must preserve the
accepted connected interaction, facing, projectile, and collision behavior.
The executable sub-slice ledger, presentation boundary, acceptance gates, and
@ -317,7 +317,14 @@ retail projectile simulation; App resolves immutable DAT shape data and
projects committed frames only. Its 317 Runtime tests, 3,718 App tests / 3
skips, 47 focused Core projectile tests, 8,591 complete Release tests / 5
skips, exact arrow/bolt/spell evidence, lifecycle/reconnect gate, and canonical
nine-stop route pass. J5.7 ownership cleanup and closeout is active. Evidence:
nine-stop route pass. J5.7 completed at `cdee7a4b`: Runtime owns accepted
remote-body/vector activation, final simulation retirement, terminal
physics/shadow/workset cleanup, and one combined simulation ownership ledger.
Its Runtime-only movement/use/combat/cast/projectile host proves no-window
parity and terminal convergence after projection failure. Its 323 Runtime
tests, 3,717 App tests / 3 skips, 8,596 complete Release tests / 5 skips,
exact-binary lifecycle/reconnect gate, and canonical nine-stop route pass.
Evidence:
[`../research/2026-07-26-slice-j5-1-canonical-action-state.md`](../research/2026-07-26-slice-j5-1-canonical-action-state.md)
and
[`../research/2026-07-26-slice-j5-2-interaction-transactions.md`](../research/2026-07-26-slice-j5-2-interaction-transactions.md)
@ -328,7 +335,9 @@ and
and
[`../research/2026-07-26-slice-j5-5-physics-remote-ownership.md`](../research/2026-07-26-slice-j5-5-physics-remote-ownership.md)
and
[`../research/2026-07-26-slice-j5-6-projectile-ownership.md`](../research/2026-07-26-slice-j5-6-projectile-ownership.md).
[`../research/2026-07-26-slice-j5-6-projectile-ownership.md`](../research/2026-07-26-slice-j5-6-projectile-ownership.md)
and
[`../research/2026-07-26-slice-j5-7-simulation-ownership-closeout.md`](../research/2026-07-26-slice-j5-7-simulation-ownership-closeout.md).
- Move presentation-free movement interpretation, authoritative/predicted
physics state, selection identity, approach/use transactions, combat intent,
@ -345,6 +354,8 @@ graphical feel gates remain unchanged.
### J6 — world, portal, environment, and projection handshake
**Active 2026-07-26.**
- Move authoritative teleport/session cell identity, world clock, weather
state, and reveal-generation state required by gameplay.
- Keep streaming publication, terrain/EnvCell rendering, portal tunnel,
@ -400,3 +411,9 @@ another gameplay extraction.
Each commit is independently buildable and retains an exact rollback command
in this plan before its connected gate.
J5.7 exact rollback:
```text
git revert cdee7a4b49addb5e1500753f6a885f7c899bd0f0
```

View file

@ -1,6 +1,6 @@
# Modern runtime Slice J5 — movement, physics, interaction, and combat
**Status:** ACTIVE — J5.1J5.6 complete; J5.7 next
**Status:** COMPLETE — J5.1J5.7 closed 2026-07-26
**Parent:** `2026-07-25-modern-runtime-slice-j.md`, J5
**Production base:** `2c67a2c3`
**Authorization:** the user approved Slices FL, including the Slice J
@ -91,7 +91,7 @@ commands to Runtime. The camera may not write the player heading directly.
| J5.4 local movement and outbound cadence | complete | `aa3f4a60f87f2cbebc3d8ecd5e33d779b7fb13c1`; one Runtime movement/controller/cadence owner; 303 Runtime tests, 3,716 App tests / 3 skips, 8,575 complete Release tests / 5 skips, exact-binary lifecycle/reconnect and nine-stop movement gates pass |
| J5.5 per-session physics and remote simulation | complete | `7e6033d0adcd0b572c20e89dd275746fb442d52f`; one Runtime engine/cache/scratch/shadow/body/host/remote/workset owner; 314 Runtime tests, 3,718 App tests / 3 skips, 8,588 complete Release tests / 5 skips, exact-binary lifecycle/reconnect and nine-stop collision/movement gates pass |
| J5.6 projectile runtime | complete | `2aee33569f0268d7bc0f4f52437dfa0b405432a4`; one Runtime projectile component/workset/simulation/correction owner; 317 Runtime tests, 3,718 App tests / 3 skips, 47 focused Core projectile tests, 8,591 complete Release tests / 5 skips, exact arrow/bolt/spell evidence, lifecycle/reconnect pass, and nine-stop route pass |
| J5.7 combined cleanup and closeout | active | no mirrors, one ownership ledger, no-window parity, teardown, connected and visual gates |
| J5.7 combined cleanup and closeout | complete | `cdee7a4b49addb5e1500753f6a885f7c899bd0f0`; one combined simulation ledger, Runtime-only fixture parity, exact terminal teardown, 323 Runtime tests, 3,717 App tests / 3 skips, 8,596 complete Release tests / 5 skips, exact-binary lifecycle/reconnect and nine-stop gates |
## J5.1 — canonical action state
@ -431,6 +431,29 @@ Run:
9. architecture, divergence, issue, roadmap, AGENTS/CLAUDE, and durable-memory
reconciliation.
**Completed 2026-07-26 at
`cdee7a4b49addb5e1500753f6a885f7c899bd0f0`.**
Runtime now owns accepted CreateObject vector installation, remote-motion
construction/activation, canonical vector commits, final simulation-component
retirement, terminal physics/shadow/workset cleanup, and one combined
entity/object/physics/gameplay ownership ledger. App compatibility views and
the duplicate remote-body initializer are deleted; graphical checkpoints
borrow direct Runtime views. A Runtime-only fixture drives movement, use,
combat, casting, and projectile simulation without loading App or a
presentation/backend assembly, and injected projection failure still converges
the complete ledger.
Runtime tests pass 323/323, App tests pass 3,717/3 skips, the complete Release
suite passes 8,596/5 skips, and the Release solution builds with zero errors.
The exact-binary lifecycle/reconnect report
`logs/connected-world-gate-20260726-160825/report.json` passes all seven
checkpoints and both graceful code-zero exits. The canonical report
`logs/connected-r6-soak-20260726-161406.report.json` matches embedded
binary/source SHA, passes all nine destinations and movement/combat/jump
exercises, converges every streaming backlog to zero, and exits gracefully
with zero failures. Evidence:
[`../research/2026-07-26-slice-j5-7-simulation-ownership-closeout.md`](../research/2026-07-26-slice-j5-7-simulation-ownership-closeout.md).
## Commit and rollback discipline
Each sub-slice lands as one independently reversible production commit followed
@ -487,6 +510,12 @@ J5.6 rollback:
git revert 2aee33569f0268d7bc0f4f52437dfa0b405432a4
```
J5.7 rollback:
```text
git revert cdee7a4b49addb5e1500753f6a885f7c899bd0f0
```
## Acceptance
J5 is complete only when: