docs(runtime): close local movement ownership
Record the exact J5.4 automated, lifecycle/reconnect, and nine-stop movement evidence; advance the Modern Runtime program to J5.5; and synchronize architecture, roadmap, milestones, AGENTS/CLAUDE, rollback, and durable research pointers. Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
parent
aa3f4a60f8
commit
0dc3bfdeff
11 changed files with 135 additions and 34 deletions
17
AGENTS.md
17
AGENTS.md
|
|
@ -288,8 +288,15 @@ and spell-cast intent children. Retained bars and graphical input borrow those
|
||||||
owners; direct Runtime commands drive the same operations and snapshots.
|
owners; direct Runtime commands drive the same operations and snapshots.
|
||||||
Runtime tests pass 223/223, App tests pass 3,754/3 skips, the complete Release
|
Runtime tests pass 223/223, App tests pass 3,754/3 skips, the complete Release
|
||||||
suite passes 8,566/5 skips, and the exact-binary seven-checkpoint gate passes
|
suite passes 8,566/5 skips, and the exact-binary seven-checkpoint gate passes
|
||||||
with graceful exits and zero failures. J5.4 local movement/outbound cadence is
|
with graceful exits and zero failures. J5.4 is complete at `aa3f4a60`:
|
||||||
active.
|
`RuntimeLocalPlayerMovementState` owns the exact local movement controller,
|
||||||
|
construction seam, autorun latch, typed view, and terminal ledger; graphical
|
||||||
|
input and direct Runtime commands borrow the same state, and outbound
|
||||||
|
MTS/jump/AP cadence lives in Runtime. Runtime tests pass 303/303, App tests
|
||||||
|
pass 3,716/3 skips, the complete Release suite passes 8,575/5 skips, and both
|
||||||
|
the exact-binary lifecycle/reconnect and canonical nine-stop movement gates
|
||||||
|
pass with graceful exits and zero failures. J5.5 per-session physics and
|
||||||
|
remote simulation is active.
|
||||||
J0's rollback is
|
J0's rollback is
|
||||||
`git revert b632672e5ccabfb44c551e08f1c411ab2669c44a`.
|
`git revert b632672e5ccabfb44c551e08f1c411ab2669c44a`.
|
||||||
J1's rollback is
|
J1's rollback is
|
||||||
|
|
@ -323,6 +330,8 @@ J5.2's rollback is
|
||||||
`git revert f5f7b4177f449ebcad9724bfea263ef73ab60255`.
|
`git revert f5f7b4177f449ebcad9724bfea263ef73ab60255`.
|
||||||
J5.3's rollback is
|
J5.3's rollback is
|
||||||
`git revert 20df9d155db50706a42420d60a9b15861cf4bfe7`.
|
`git revert 20df9d155db50706a42420d60a9b15861cf4bfe7`.
|
||||||
|
J5.4's rollback is
|
||||||
|
`git revert aa3f4a60f87f2cbebc3d8ecd5e33d779b7fb13c1`.
|
||||||
Slice H's retained UI/frame, bounded-light, and pooled/borrowed/direct network
|
Slice H's retained UI/frame, bounded-light, and pooled/borrowed/direct network
|
||||||
work is complete; the exact seven-checkpoint connected lifecycle/reconnect gate
|
work is complete; the exact seven-checkpoint connected lifecycle/reconnect gate
|
||||||
passes. Slice I is closed in
|
passes. Slice I is closed in
|
||||||
|
|
@ -338,7 +347,9 @@ is `docs/research/2026-07-26-slice-j4-5-gameplay-state-closeout.md`; J5.1
|
||||||
closeout is
|
closeout is
|
||||||
`docs/research/2026-07-26-slice-j5-1-canonical-action-state.md`; J5.2 closeout
|
`docs/research/2026-07-26-slice-j5-1-canonical-action-state.md`; J5.2 closeout
|
||||||
is `docs/research/2026-07-26-slice-j5-2-interaction-transactions.md`; J5.3
|
is `docs/research/2026-07-26-slice-j5-2-interaction-transactions.md`; J5.3
|
||||||
closeout is `docs/research/2026-07-26-slice-j5-3-combat-magic-intent.md`. The exact G4
|
closeout is `docs/research/2026-07-26-slice-j5-3-combat-magic-intent.md`; J5.4
|
||||||
|
closeout is
|
||||||
|
`docs/research/2026-07-26-slice-j5-4-local-movement-ownership.md`. The exact G4
|
||||||
visual rollback
|
visual rollback
|
||||||
is `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`; do not revert G3 or
|
is `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`; do not revert G3 or
|
||||||
the portal-warmup corrections. Evidence:
|
the portal-warmup corrections. Evidence:
|
||||||
|
|
|
||||||
17
CLAUDE.md
17
CLAUDE.md
|
|
@ -286,8 +286,15 @@ and spell-cast intent children. Retained bars and graphical input borrow those
|
||||||
owners; direct Runtime commands drive the same operations and snapshots.
|
owners; direct Runtime commands drive the same operations and snapshots.
|
||||||
Runtime tests pass 223/223, App tests pass 3,754/3 skips, the complete Release
|
Runtime tests pass 223/223, App tests pass 3,754/3 skips, the complete Release
|
||||||
suite passes 8,566/5 skips, and the exact-binary seven-checkpoint gate passes
|
suite passes 8,566/5 skips, and the exact-binary seven-checkpoint gate passes
|
||||||
with graceful exits and zero failures. J5.4 local movement/outbound cadence is
|
with graceful exits and zero failures. J5.4 is complete at `aa3f4a60`:
|
||||||
active.
|
`RuntimeLocalPlayerMovementState` owns the exact local movement controller,
|
||||||
|
construction seam, autorun latch, typed view, and terminal ledger; graphical
|
||||||
|
input and direct Runtime commands borrow the same state, and outbound
|
||||||
|
MTS/jump/AP cadence lives in Runtime. Runtime tests pass 303/303, App tests
|
||||||
|
pass 3,716/3 skips, the complete Release suite passes 8,575/5 skips, and both
|
||||||
|
the exact-binary lifecycle/reconnect and canonical nine-stop movement gates
|
||||||
|
pass with graceful exits and zero failures. J5.5 per-session physics and
|
||||||
|
remote simulation is active.
|
||||||
J0's rollback is
|
J0's rollback is
|
||||||
`git revert b632672e5ccabfb44c551e08f1c411ab2669c44a`.
|
`git revert b632672e5ccabfb44c551e08f1c411ab2669c44a`.
|
||||||
J1's rollback is
|
J1's rollback is
|
||||||
|
|
@ -321,6 +328,8 @@ J5.2's rollback is
|
||||||
`git revert f5f7b4177f449ebcad9724bfea263ef73ab60255`.
|
`git revert f5f7b4177f449ebcad9724bfea263ef73ab60255`.
|
||||||
J5.3's rollback is
|
J5.3's rollback is
|
||||||
`git revert 20df9d155db50706a42420d60a9b15861cf4bfe7`.
|
`git revert 20df9d155db50706a42420d60a9b15861cf4bfe7`.
|
||||||
|
J5.4's rollback is
|
||||||
|
`git revert aa3f4a60f87f2cbebc3d8ecd5e33d779b7fb13c1`.
|
||||||
Slice H's retained UI/frame, bounded-light, and pooled/borrowed/direct network
|
Slice H's retained UI/frame, bounded-light, and pooled/borrowed/direct network
|
||||||
work is complete; the exact seven-checkpoint connected lifecycle/reconnect gate
|
work is complete; the exact seven-checkpoint connected lifecycle/reconnect gate
|
||||||
passes. Slice I is closed in
|
passes. Slice I is closed in
|
||||||
|
|
@ -336,7 +345,9 @@ is `docs/research/2026-07-26-slice-j4-5-gameplay-state-closeout.md`; J5.1
|
||||||
closeout is
|
closeout is
|
||||||
`docs/research/2026-07-26-slice-j5-1-canonical-action-state.md`; J5.2 closeout
|
`docs/research/2026-07-26-slice-j5-1-canonical-action-state.md`; J5.2 closeout
|
||||||
is `docs/research/2026-07-26-slice-j5-2-interaction-transactions.md`; J5.3
|
is `docs/research/2026-07-26-slice-j5-2-interaction-transactions.md`; J5.3
|
||||||
closeout is `docs/research/2026-07-26-slice-j5-3-combat-magic-intent.md`. The exact G4
|
closeout is `docs/research/2026-07-26-slice-j5-3-combat-magic-intent.md`; J5.4
|
||||||
|
closeout is
|
||||||
|
`docs/research/2026-07-26-slice-j5-4-local-movement-ownership.md`. The exact G4
|
||||||
visual rollback
|
visual rollback
|
||||||
is `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`; do not revert G3 or
|
is `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`; do not revert G3 or
|
||||||
the portal-warmup corrections. Evidence:
|
the portal-warmup corrections. Evidence:
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ banner cannot silently override the current program state.
|
||||||
[`plans/2026-07-23-world-interaction-completion.md`](plans/2026-07-23-world-interaction-completion.md).
|
[`plans/2026-07-23-world-interaction-completion.md`](plans/2026-07-23-world-interaction-completion.md).
|
||||||
The eight-slice `GameWindow` decomposition and its connected visual matrix
|
The eight-slice `GameWindow` decomposition and its connected visual matrix
|
||||||
are complete.
|
are complete.
|
||||||
- **Current active engineering program:** Slices A–I, J0–J4, and J5.1–J5.3 of
|
- **Current active engineering program:** Slices A–I, J0–J4, and J5.1–J5.4 of
|
||||||
[`plans/2026-07-24-modern-runtime-architecture.md`](plans/2026-07-24-modern-runtime-architecture.md)
|
[`plans/2026-07-24-modern-runtime-architecture.md`](plans/2026-07-24-modern-runtime-architecture.md)
|
||||||
are complete. Production uses prepared world/collision packages, typed
|
are complete. Production uses prepared world/collision packages, typed
|
||||||
residence, retained render-scene/delta submission, bounded frame owners, and
|
residence, retained render-scene/delta submission, bounded frame owners, and
|
||||||
|
|
@ -22,8 +22,8 @@ banner cannot silently override the current program state.
|
||||||
Runtime owns canonical session/transport, entity/object lifetime, J4
|
Runtime owns canonical session/transport, entity/object lifetime, J4
|
||||||
gameplay state, selection/interaction transactions, and combat/magic intent.
|
gameplay state, selection/interaction transactions, and combat/magic intent.
|
||||||
App materialized projections and retained widgets borrow exact Runtime
|
App materialized projections and retained widgets borrow exact Runtime
|
||||||
identity and action owners. J5.4 local movement and outbound cadence is next
|
identity and action owners. J5.5 per-session physics and remote simulation is
|
||||||
in
|
next in
|
||||||
[`plans/2026-07-26-modern-runtime-slice-j5.md`](plans/2026-07-26-modern-runtime-slice-j5.md).
|
[`plans/2026-07-26-modern-runtime-slice-j5.md`](plans/2026-07-26-modern-runtime-slice-j5.md).
|
||||||
- **Completed gates:** R6 locomotion/collision/projectile/teleport/radar and
|
- **Completed gates:** R6 locomotion/collision/projectile/teleport/radar and
|
||||||
the final two-client portal-out/materialization observer comparison (`#218`).
|
the final two-client portal-out/materialization observer comparison (`#218`).
|
||||||
|
|
@ -33,14 +33,15 @@ banner cannot silently override the current program state.
|
||||||
`#116` (two narrowed slide-response cases), and divergence rows TS-50/TS-51.
|
`#116` (two narrowed slide-response cases), and divergence rows TS-50/TS-51.
|
||||||
- **Active engineering track:** complete Slice J's coherent Runtime lifetime
|
- **Active engineering track:** complete Slice J's coherent Runtime lifetime
|
||||||
groups, then build the approved Linux/headless multi-session host in Slice K.
|
groups, then build the approved Linux/headless multi-session host in Slice K.
|
||||||
J5.3's exact rollback is
|
J5.4's exact rollback is
|
||||||
`git revert 20df9d155db50706a42420d60a9b15861cf4bfe7`.
|
`git revert aa3f4a60f87f2cbebc3d8ecd5e33d779b7fb13c1`.
|
||||||
- **Divergence audit:** 178 active rows — IA 17, AD 37, AP 85, TS 34,
|
- **Divergence audit:** 178 active rows — IA 17, AD 37, AP 85, TS 34,
|
||||||
and UN 5 — plus the retained retired TS-37 history note.
|
and UN 5 — plus the retained retired TS-37 history note.
|
||||||
- **Latest automated baseline:** Release build succeeds; 8,566 tests pass and
|
- **Latest automated baseline:** Release build succeeds; 8,575 tests pass and
|
||||||
five are intentionally skipped. The exact J5.3 connected lifecycle/reconnect
|
five are intentionally skipped. The exact J5.4 connected lifecycle/reconnect
|
||||||
gate completed two sessions and seven checkpoints with graceful zero-code
|
gate completed two sessions and seven checkpoints, and its canonical
|
||||||
exits, zero failures, zero render-shadow mismatches, and zero pending deltas.
|
nine-stop movement route completed all destinations and movement exercises,
|
||||||
|
with graceful zero-code exits and zero failures.
|
||||||
|
|
||||||
## Sources of truth
|
## Sources of truth
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -231,7 +231,7 @@ src/
|
||||||
InteractionState.cs -> presentation-free cursor-target mode state
|
InteractionState.cs -> presentation-free cursor-target mode state
|
||||||
RuntimeInteractionTransactionState.cs -> use/appraisal/pickup FIFO,
|
RuntimeInteractionTransactionState.cs -> use/appraisal/pickup FIFO,
|
||||||
exact approach and busy borrower
|
exact approach and busy borrower
|
||||||
-> J3–J4 and J5.1–J5.3 complete; J5.4 local movement/cadence active
|
-> J3–J4 and J5.1–J5.4 complete; J5.5 per-session physics active
|
||||||
-> may reference Core, Core.Net, Content, and Plugin.Abstractions only
|
-> may reference Core, Core.Net, Content, and Plugin.Abstractions only
|
||||||
-> must never reference App, UI, Silk.NET, OpenAL, Arch, or ImGui
|
-> must never reference App, UI, Silk.NET, OpenAL, Arch, or ImGui
|
||||||
|
|
||||||
|
|
@ -504,7 +504,11 @@ combat-target, combat-mode, and spell-cast intent children. Retained bars and
|
||||||
graphical input adapters borrow those exact owners, while direct Runtime
|
graphical input adapters borrow those exact owners, while direct Runtime
|
||||||
commands drive the same operations and snapshots. App retains world/content
|
commands drive the same operations and snapshots. App retains world/content
|
||||||
queries, transport, animation, sound, particles, and response text
|
queries, transport, animation, sound, particles, and response text
|
||||||
(`20df9d15`). J5.4 next moves canonical local movement and outbound cadence.
|
(`20df9d15`). `RuntimeLocalPlayerMovementState` owns the exact local movement
|
||||||
|
controller, construction seam, autorun latch, typed view, and terminal ledger;
|
||||||
|
graphical input and direct commands borrow that owner, and outbound
|
||||||
|
MTS/jump/AP cadence lives in Runtime (`aa3f4a60`). J5.5 next moves per-session
|
||||||
|
physics and remote simulation.
|
||||||
|
|
||||||
`GpuWorldState` owns spatial buckets only and retains the exact projection key
|
`GpuWorldState` owns spatial buckets only and retains the exact projection key
|
||||||
through loaded/pending movement, landblock retirement/reload, origin recenter,
|
through loaded/pending movement, landblock retirement/reload, origin recenter,
|
||||||
|
|
|
||||||
|
|
@ -474,10 +474,10 @@ useful ordering seam, but its ownership status is **partial**.
|
||||||
| Inbound/object-frame order | **Complete App orchestration** | `UpdateFrameOrchestrator` owns the complete typed host phase graph; `RetailInboundEventDispatcher`, `RetailLiveFrameCoordinator`, `LiveObjectFrameController`, `LiveSpatialPresentationReconciler`, streaming/input/teleport/player-mode/camera owners preserve the accepted order. `GameWindow.OnUpdate` is one profiler-scoped handoff (`e91f3102`). |
|
| Inbound/object-frame order | **Complete App orchestration** | `UpdateFrameOrchestrator` owns the complete typed host phase graph; `RetailInboundEventDispatcher`, `RetailLiveFrameCoordinator`, `LiveObjectFrameController`, `LiveSpatialPresentationReconciler`, streaming/input/teleport/player-mode/camera owners preserve the accepted order. `GameWindow.OnUpdate` is one profiler-scoped handoff (`e91f3102`). |
|
||||||
| World reveal | **Complete** | `WorldRevealCoordinator` owns login/portal readiness, generation quiescence, and the exact streaming destination reservation. Login auto-entry and portal completion close only their active generation; stale completion cannot clear its replacement. Delayed portals retain the authored tunnel and centered retail wait notice rather than force-revealing incomplete content. Quiesced destination projections may become spatially resident for renderer preparation while all availability-gated gameplay consumers stay closed. |
|
| World reveal | **Complete** | `WorldRevealCoordinator` owns login/portal readiness, generation quiescence, and the exact streaming destination reservation. Login auto-entry and portal completion close only their active generation; stale completion cannot clear its replacement. Delayed portals retain the authored tunnel and centered retail wait notice rather than force-revealing incomplete content. Quiesced destination projections may become spatially resident for renderer preparation while all availability-gated gameplay consumers stay closed. |
|
||||||
| Retained gameplay UI | **Mostly complete feature ownership** | `RetailUiRuntime` and focused panel/controllers own layout and behavior. `GameWindow.OnLoad` still performs substantial service composition, which is allowed until the final composition cleanup. |
|
| Retained gameplay UI | **Mostly complete feature ownership** | `RetailUiRuntime` and focused panel/controllers own layout and behavior. `GameWindow.OnLoad` still performs substantial service composition, which is allowed until the final composition cleanup. |
|
||||||
| Action/combat/magic | **J5.1–J5.3 complete; J5.4 active** | Runtime `RuntimeActionState` owns the exact selection, temporary target mode, interaction transactions, combat attack/target/mode, and spell-cast intent children. Interaction owns use/appraisal/pickup identity, ordered FIFO, and exact post-arrival token while borrowing J4's sole busy gate. Retained bars, input, world/content queries, transport, lighting, toasts, drag/drop, and effects remain App adapters/presentation. No parallel App owner remains (`b298f99f`, `f5f7b417`, `20df9d15`). |
|
| Action/combat/magic/movement | **J5.1–J5.4 complete; J5.5 active** | Runtime `RuntimeActionState` owns the exact selection, temporary target mode, interaction transactions, combat attack/target/mode, and spell-cast intent children. Interaction owns use/appraisal/pickup identity, ordered FIFO, and exact post-arrival token while borrowing J4's sole busy gate. `RuntimeLocalPlayerMovementState` owns the exact local controller, construction seam, autorun latch, typed view, and outbound MTS/jump/AP cadence. Retained bars, physical input, world/content queries, transport, lighting, toasts, drag/drop, effects, and animation remain App adapters/presentation. No parallel App owner remains (`b298f99f`, `f5f7b417`, `20df9d15`, `aa3f4a60`). |
|
||||||
| Landblock presentation | **Complete** | `LandblockBuildFactory` owns the captured-origin DAT transaction; concrete render/physics/DAT-static publishers and `LandblockPresentationPipeline` own typed-meter publication and exact retryable retirement. `StreamingController` owns stable destination/control/unload/Near/Far queues and destination reservation. CPU mesh-cache restaging requires an exact live owner. `StreamingOriginRecenterCoordinator` serializes old-window retirement with teleport/session origin lifetimes. `GameWindow` retains construction and one pipeline field only (`c79d0a49`, closeout `4a205a3e`; Slice E closeout `91e82c3c`). |
|
| Landblock presentation | **Complete** | `LandblockBuildFactory` owns the captured-origin DAT transaction; concrete render/physics/DAT-static publishers and `LandblockPresentationPipeline` own typed-meter publication and exact retryable retirement. `StreamingController` owns stable destination/control/unload/Near/Far queues and destination reservation. CPU mesh-cache restaging requires an exact live owner. `StreamingOriginRecenterCoordinator` serializes old-window retirement with teleport/session origin lifetimes. `GameWindow` retains construction and one pipeline field only (`c79d0a49`, closeout `4a205a3e`; Slice E closeout `91e82c3c`). |
|
||||||
| Render-frame orchestration | **Complete** | `RenderFrameOrchestrator` owns the GPU-flight, resource, world/PView/shared-alpha, private-presentation, diagnostics, screenshot, and recovery graph. `GameWindow.OnRender` takes one logical window-size snapshot and performs one immutable handoff (`9d7df1bf`). |
|
| Render-frame orchestration | **Complete** | `RenderFrameOrchestrator` owns the GPU-flight, resource, world/PView/shared-alpha, private-presentation, diagnostics, screenshot, and recovery graph. `GameWindow.OnRender` takes one logical window-size snapshot and performs one immutable handoff (`9d7df1bf`). |
|
||||||
| Unified `GameEntity` | **Slice J active at J5.4** | Canonical identity, retained-object lifetime, direct views, ordered entity/object deltas, J4 gameplay state, and J5.1–J5.3 action/combat/magic state share failure-safe Runtime owners while exact graphical sidecars stay in App. J5.4–J7 move movement/physics/projectiles and remaining world authority before one Runtime composition root. |
|
| Unified `GameEntity` | **Slice J active at J5.5** | Canonical identity, retained-object lifetime, direct views, ordered entity/object deltas, J4 gameplay state, and J5.1–J5.4 action/combat/magic/movement state share failure-safe Runtime owners while exact graphical sidecars stay in App. J5.5–J7 move physics/projectiles and remaining world authority before one Runtime composition root. |
|
||||||
|
|
||||||
### 4.3 Revised extraction sequence
|
### 4.3 Revised extraction sequence
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# acdream — strategic roadmap
|
# 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`, and J5.3 combat/magic intent at `20df9d15`. J5.4 local movement/outbound cadence 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`, and J5.4 local movement/outbound cadence at `aa3f4a60`. J5.5 per-session physics and remote simulation 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.
|
**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.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -1754,8 +1754,12 @@ port in any phase — no separate listing here.
|
||||||
> and spell-cast intent children; App bars/input/content/transport and direct
|
> and spell-cast intent children; App bars/input/content/transport and direct
|
||||||
> commands borrow the same state. Its 223 Runtime tests, 3,754 App tests / 3
|
> commands borrow the same state. Its 223 Runtime tests, 3,754 App tests / 3
|
||||||
> skips, 8,566-test / 5-skip complete Release suite, and exact-binary
|
> skips, 8,566-test / 5-skip complete Release suite, and exact-binary
|
||||||
> seven-checkpoint lifecycle/reconnect gate pass. J5.4 local movement/outbound
|
> seven-checkpoint lifecycle/reconnect gate pass. J5.4 is complete at
|
||||||
> cadence is active.
|
> `aa3f4a60`: Runtime owns one exact local movement/controller/cadence graph,
|
||||||
|
> and App input plus direct commands borrow it. Its 303 Runtime tests, 3,716
|
||||||
|
> App tests / 3 skips, 8,575-test / 5-skip complete Release suite,
|
||||||
|
> exact-binary lifecycle/reconnect gate, and canonical nine-stop movement
|
||||||
|
> route pass. J5.5 per-session physics and remote simulation is active.
|
||||||
> The historical exact cutover
|
> The historical exact cutover
|
||||||
> rollback remains
|
> rollback remains
|
||||||
> `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`. Slice H is complete:
|
> `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`. Slice H is complete:
|
||||||
|
|
|
||||||
|
|
@ -228,8 +228,13 @@ residency is `0/0/0` at every stable checkpoint and teardown converges. Slice I
|
||||||
intent children; graphical bars/input and direct commands borrow the same
|
intent children; graphical bars/input and direct commands borrow the same
|
||||||
state and operations. Its 223 Runtime tests, 3,754 App tests / 3 skips, 8,566
|
state and operations. Its 223 Runtime tests, 3,754 App tests / 3 skips, 8,566
|
||||||
full Release tests / 5 skips, and exact-binary seven-checkpoint
|
full Release tests / 5 skips, and exact-binary seven-checkpoint
|
||||||
lifecycle/reconnect route pass. J5.4 local movement/outbound-cadence
|
lifecycle/reconnect route pass. J5.4 completed at `aa3f4a60`: Runtime owns
|
||||||
ownership is active under
|
the exact local movement controller, construction seam, autorun latch, typed
|
||||||
|
view, and outbound MTS/jump/AP cadence; App input and direct commands borrow
|
||||||
|
it. Its 303 Runtime tests, 3,716 App tests / 3 skips, 8,575 full Release
|
||||||
|
tests / 5 skips, exact-binary lifecycle/reconnect route, and canonical
|
||||||
|
nine-stop movement route pass. J5.5 per-session physics and remote
|
||||||
|
simulation is active under
|
||||||
[`2026-07-25-modern-runtime-slice-j.md`](2026-07-25-modern-runtime-slice-j.md).
|
[`2026-07-25-modern-runtime-slice-j.md`](2026-07-25-modern-runtime-slice-j.md).
|
||||||
Slice-I closeout evidence is
|
Slice-I closeout evidence is
|
||||||
[`../research/2026-07-25-slice-i7-closeout.md`](../research/2026-07-25-slice-i7-closeout.md).
|
[`../research/2026-07-25-slice-i7-closeout.md`](../research/2026-07-25-slice-i7-closeout.md).
|
||||||
|
|
@ -257,6 +262,8 @@ Slice-J5.2 closeout evidence is
|
||||||
[`../research/2026-07-26-slice-j5-2-interaction-transactions.md`](../research/2026-07-26-slice-j5-2-interaction-transactions.md).
|
[`../research/2026-07-26-slice-j5-2-interaction-transactions.md`](../research/2026-07-26-slice-j5-2-interaction-transactions.md).
|
||||||
Slice-J5.3 closeout evidence is
|
Slice-J5.3 closeout evidence is
|
||||||
[`../research/2026-07-26-slice-j5-3-combat-magic-intent.md`](../research/2026-07-26-slice-j5-3-combat-magic-intent.md).
|
[`../research/2026-07-26-slice-j5-3-combat-magic-intent.md`](../research/2026-07-26-slice-j5-3-combat-magic-intent.md).
|
||||||
|
Slice-J5.4 closeout evidence is
|
||||||
|
[`../research/2026-07-26-slice-j5-4-local-movement-ownership.md`](../research/2026-07-26-slice-j5-4-local-movement-ownership.md).
|
||||||
The historical exact G4 visual rollback remains
|
The historical exact G4 visual rollback remains
|
||||||
`git revert ef1d263337997bb030eadb7b8e71d73dc659907a`.
|
`git revert ef1d263337997bb030eadb7b8e71d73dc659907a`.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
**Date:** 2026-07-24
|
**Date:** 2026-07-24
|
||||||
|
|
||||||
**Status:** Slices A–I, J0–J4, and J5.1–J5.3 are complete. Flat-authoritative collision, zero-
|
**Status:** Slices A–I, J0–J4, and J5.1–J5.4 are complete. Flat-authoritative collision, zero-
|
||||||
allocation resolve scratch, parsed-graph removal, connected correctness/
|
allocation resolve scratch, parsed-graph removal, connected correctness/
|
||||||
lifetime acceptance, and Slice-I closeout landed 2026-07-25. Slices F–L were
|
lifetime acceptance, and Slice-I closeout landed 2026-07-25. Slices F–L were
|
||||||
explicitly approved 2026-07-24. Slice J0–J1 established the enforced Runtime
|
explicitly approved 2026-07-24. Slice J0–J1 established the enforced Runtime
|
||||||
|
|
@ -16,9 +16,10 @@ ownership into Runtime at `011efbea`; J4.3 moved the coupled magic/player-sheet
|
||||||
owner into Runtime at `d02a12ce`; J4.4 moved character settings/projections
|
owner into Runtime at `d02a12ce`; J4.4 moved character settings/projections
|
||||||
and the shared typed state-command seam at `dcb61efb`; J4.5 closed canonical
|
and the shared typed state-command seam at `dcb61efb`; J4.5 closed canonical
|
||||||
gameplay-state ownership at `89e6b207`. J5 movement, physics, interaction,
|
gameplay-state ownership at `89e6b207`. J5 movement, physics, interaction,
|
||||||
and combat ownership is active at J5.4 after canonical action state
|
and combat ownership is active at J5.5 after canonical action state
|
||||||
(`b298f99f`), interaction transactions (`f5f7b417`), and combat/magic intent
|
(`b298f99f`), interaction transactions (`f5f7b417`), and combat/magic intent
|
||||||
(`20df9d15`) moved to Runtime.
|
(`20df9d15`), and local movement/outbound cadence (`aa3f4a60`) moved to
|
||||||
|
Runtime.
|
||||||
|
|
||||||
**Scope:** Reconcile and sequence the existing Modern Pipeline (`MP`) and
|
**Scope:** Reconcile and sequence the existing Modern Pipeline (`MP`) and
|
||||||
Linux/headless (`LH`) tracks using the 2026-07-24 connected performance audit.
|
Linux/headless (`LH`) tracks using the 2026-07-24 connected performance audit.
|
||||||
|
|
@ -1276,7 +1277,8 @@ single Runtime shortcut/spellbook/inventory owners, graphical/no-window
|
||||||
command parity, failure-safe combined ledger, 8,544-test Release suite,
|
command parity, failure-safe combined ledger, 8,544-test Release suite,
|
||||||
exact-binary lifecycle/reconnect gate, and canonical nine-stop route pass.
|
exact-binary lifecycle/reconnect gate, and canonical nine-stop route pass.
|
||||||
J5 movement/physics/interaction/combat ownership is the current execution
|
J5 movement/physics/interaction/combat ownership is the current execution
|
||||||
point. J5.1–J5.3 are complete; J5.4 local movement/outbound cadence is active.
|
point. J5.1–J5.4 are complete; J5.5 per-session physics and remote simulation
|
||||||
|
is active.
|
||||||
Evidence:
|
Evidence:
|
||||||
[`../research/2026-07-25-slice-g5-production-profile.md`](../research/2026-07-25-slice-g5-production-profile.md)
|
[`../research/2026-07-25-slice-g5-production-profile.md`](../research/2026-07-25-slice-g5-production-profile.md)
|
||||||
and
|
and
|
||||||
|
|
|
||||||
|
|
@ -301,12 +301,19 @@ exact attack, target, combat-mode, and spell-cast intent children while App
|
||||||
bars, input adapters, content queries, and transport borrow them. Its 223
|
bars, input adapters, content queries, and transport borrow them. Its 223
|
||||||
Runtime tests, 3,754 App tests / 3 skips, 8,566 complete Release tests / 5
|
Runtime tests, 3,754 App tests / 3 skips, 8,566 complete Release tests / 5
|
||||||
skips, and exact-binary seven-checkpoint lifecycle/reconnect gate pass. J5.4
|
skips, and exact-binary seven-checkpoint lifecycle/reconnect gate pass. J5.4
|
||||||
local movement/outbound cadence is next. Evidence:
|
completed at `aa3f4a60`: Runtime owns the exact local movement controller,
|
||||||
|
construction seam, autorun latch, typed view, and outbound MTS/jump/AP cadence;
|
||||||
|
App input and direct commands borrow the same owner. Its 303 Runtime tests,
|
||||||
|
3,716 App tests / 3 skips, 8,575 complete Release tests / 5 skips,
|
||||||
|
exact-binary lifecycle/reconnect gate, and canonical nine-stop movement route
|
||||||
|
pass. J5.5 per-session physics and remote simulation is next. Evidence:
|
||||||
[`../research/2026-07-26-slice-j5-1-canonical-action-state.md`](../research/2026-07-26-slice-j5-1-canonical-action-state.md)
|
[`../research/2026-07-26-slice-j5-1-canonical-action-state.md`](../research/2026-07-26-slice-j5-1-canonical-action-state.md)
|
||||||
and
|
and
|
||||||
[`../research/2026-07-26-slice-j5-2-interaction-transactions.md`](../research/2026-07-26-slice-j5-2-interaction-transactions.md)
|
[`../research/2026-07-26-slice-j5-2-interaction-transactions.md`](../research/2026-07-26-slice-j5-2-interaction-transactions.md)
|
||||||
and
|
and
|
||||||
[`../research/2026-07-26-slice-j5-3-combat-magic-intent.md`](../research/2026-07-26-slice-j5-3-combat-magic-intent.md).
|
[`../research/2026-07-26-slice-j5-3-combat-magic-intent.md`](../research/2026-07-26-slice-j5-3-combat-magic-intent.md)
|
||||||
|
and
|
||||||
|
[`../research/2026-07-26-slice-j5-4-local-movement-ownership.md`](../research/2026-07-26-slice-j5-4-local-movement-ownership.md).
|
||||||
|
|
||||||
- Move presentation-free movement interpretation, authoritative/predicted
|
- Move presentation-free movement interpretation, authoritative/predicted
|
||||||
physics state, selection identity, approach/use transactions, combat intent,
|
physics state, selection identity, approach/use transactions, combat intent,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Modern runtime Slice J5 — movement, physics, interaction, and combat
|
# Modern runtime Slice J5 — movement, physics, interaction, and combat
|
||||||
|
|
||||||
**Status:** ACTIVE — J5.1–J5.3 complete; J5.4 next
|
**Status:** ACTIVE — J5.1–J5.4 complete; J5.5 next
|
||||||
**Parent:** `2026-07-25-modern-runtime-slice-j.md`, J5
|
**Parent:** `2026-07-25-modern-runtime-slice-j.md`, J5
|
||||||
**Production base:** `2c67a2c3`
|
**Production base:** `2c67a2c3`
|
||||||
**Authorization:** the user approved Slices F–L, including the Slice J
|
**Authorization:** the user approved Slices F–L, including the Slice J
|
||||||
|
|
@ -88,8 +88,8 @@ commands to Runtime. The camera may not write the player heading directly.
|
||||||
| J5.1 canonical action state | complete | `b298f99f913249d299796e6a71f7a9b6b283ac1a`; one Runtime selection/combat/target-mode owner; 182 Runtime tests, 3,779 App tests / 3 skips, 8,550 complete Release tests / 5 skips, exact-binary connected lifecycle/reconnect pass |
|
| J5.1 canonical action state | complete | `b298f99f913249d299796e6a71f7a9b6b283ac1a`; one Runtime selection/combat/target-mode owner; 182 Runtime tests, 3,779 App tests / 3 skips, 8,550 complete Release tests / 5 skips, exact-binary connected lifecycle/reconnect pass |
|
||||||
| J5.2 interaction transactions | complete | `f5f7b4177f449ebcad9724bfea263ef73ab60255`; one Runtime transaction owner; 197 Runtime tests, 3,775 App tests / 3 skips, 8,561 complete Release tests / 5 skips, exact-binary connected lifecycle/reconnect pass |
|
| J5.2 interaction transactions | complete | `f5f7b4177f449ebcad9724bfea263ef73ab60255`; one Runtime transaction owner; 197 Runtime tests, 3,775 App tests / 3 skips, 8,561 complete Release tests / 5 skips, exact-binary connected lifecycle/reconnect pass |
|
||||||
| J5.3 combat and magic intent | complete | `20df9d155db50706a42420d60a9b15861cf4bfe7`; exact Runtime attack/mode/target/cast owners; 223 Runtime tests, 3,754 App tests / 3 skips, 8,566 complete Release tests / 5 skips, exact-binary connected lifecycle/reconnect pass |
|
| J5.3 combat and magic intent | complete | `20df9d155db50706a42420d60a9b15861cf4bfe7`; exact Runtime attack/mode/target/cast owners; 223 Runtime tests, 3,754 App tests / 3 skips, 8,566 complete Release tests / 5 skips, exact-binary connected lifecycle/reconnect pass |
|
||||||
| J5.4 local movement and outbound cadence | active | controller, body, movement managers, MTS/AP/jump cadence |
|
| 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 | pending | engine/scratch/shadows/remote canonical body |
|
| J5.5 per-session physics and remote simulation | active | engine/scratch/shadows/remote canonical body |
|
||||||
| J5.6 projectile runtime | pending | canonical component/simulation plus App projection acknowledgements |
|
| J5.6 projectile runtime | pending | canonical component/simulation plus App projection acknowledgements |
|
||||||
| J5.7 combined cleanup and closeout | pending | no mirrors, no-window parity, teardown, connected and visual gates |
|
| J5.7 combined cleanup and closeout | pending | no mirrors, no-window parity, teardown, connected and visual gates |
|
||||||
|
|
||||||
|
|
@ -297,6 +297,27 @@ Gate:
|
||||||
- target-facing and movement-aborts-repeat ordering;
|
- target-facing and movement-aborts-repeat ordering;
|
||||||
- zero added per-frame allocations after warmup.
|
- zero added per-frame allocations after warmup.
|
||||||
|
|
||||||
|
**Completed 2026-07-26 at
|
||||||
|
`aa3f4a60f87f2cbebc3d8ecd5e33d779b7fb13c1`.**
|
||||||
|
`RuntimeLocalPlayerMovementState` constructs and owns the exact
|
||||||
|
`PlayerMovementController`, construction-time motion seam, autorun latch,
|
||||||
|
typed movement view, and terminal ledger. The movement controller and
|
||||||
|
`LocalPlayerOutboundController` now live in `AcDream.Runtime.Gameplay`.
|
||||||
|
Graphical input samples physical state and borrows that owner; direct Runtime
|
||||||
|
commands mutate the same state without an App/input detour. Character
|
||||||
|
run/jump skill projections enter through typed construction options rather
|
||||||
|
than process environment reads. Runtime tests pass 303/303, App tests pass
|
||||||
|
3,716/3 skips, and the complete Release suite passes 8,575/5 skips. The
|
||||||
|
exact-binary connected lifecycle/reconnect report
|
||||||
|
`logs/connected-world-gate-20260726-123425/report.json` passes both sessions,
|
||||||
|
7/7 readiness checkpoints, graceful code-zero exits, and zero failures. The
|
||||||
|
canonical route
|
||||||
|
`logs/connected-r6-soak-20260726-124049.report.json` passes all nine
|
||||||
|
destinations; forward, jump, combat, and authoritative movement-truth
|
||||||
|
exercises pass at Caul, Holtburg, and the Caul return before graceful
|
||||||
|
shutdown. Evidence:
|
||||||
|
[`../research/2026-07-26-slice-j5-4-local-movement-ownership.md`](../research/2026-07-26-slice-j5-4-local-movement-ownership.md).
|
||||||
|
|
||||||
## J5.5 — per-session physics and remote simulation
|
## J5.5 — per-session physics and remote simulation
|
||||||
|
|
||||||
Add a Runtime physics owner that constructs one `PhysicsEngine` per runtime
|
Add a Runtime physics owner that constructs one `PhysicsEngine` per runtime
|
||||||
|
|
@ -429,6 +450,12 @@ J5.3 rollback:
|
||||||
git revert 20df9d155db50706a42420d60a9b15861cf4bfe7
|
git revert 20df9d155db50706a42420d60a9b15861cf4bfe7
|
||||||
```
|
```
|
||||||
|
|
||||||
|
J5.4 rollback:
|
||||||
|
|
||||||
|
```text
|
||||||
|
git revert aa3f4a60f87f2cbebc3d8ecd5e33d779b7fb13c1
|
||||||
|
```
|
||||||
|
|
||||||
## Acceptance
|
## Acceptance
|
||||||
|
|
||||||
J5 is complete only when:
|
J5 is complete only when:
|
||||||
|
|
|
||||||
|
|
@ -133,7 +133,7 @@ This preserves the accepted acdream frame order:
|
||||||
- TS-33's already-recorded possible same-update MTS/AP ordering difference is
|
- TS-33's already-recorded possible same-update MTS/AP ordering difference is
|
||||||
preserved; this ownership move neither widens nor hides it.
|
preserved; this ownership move neither widens nor hides it.
|
||||||
|
|
||||||
## Automated evidence required before closeout
|
## Closeout evidence
|
||||||
|
|
||||||
- Runtime state/view identity, two-instance isolation, construction lease,
|
- Runtime state/view identity, two-instance isolation, construction lease,
|
||||||
terminal convergence, typed movement skills, and zero-allocation snapshots;
|
terminal convergence, typed movement skills, and zero-allocation snapshots;
|
||||||
|
|
@ -144,3 +144,30 @@ This preserves the accepted acdream frame order:
|
||||||
portal/reset, target-facing, and repeat-abort tests;
|
portal/reset, target-facing, and repeat-abort tests;
|
||||||
- Release build, complete solution tests, exact-binary connected lifecycle,
|
- Release build, complete solution tests, exact-binary connected lifecycle,
|
||||||
and canonical movement route.
|
and canonical movement route.
|
||||||
|
|
||||||
|
All required gates pass on production commit
|
||||||
|
`aa3f4a60f87f2cbebc3d8ecd5e33d779b7fb13c1`:
|
||||||
|
|
||||||
|
- Runtime: 303 passed;
|
||||||
|
- App: 3,716 passed / 3 intentionally skipped;
|
||||||
|
- complete Release solution: 8,575 passed / 5 intentionally skipped;
|
||||||
|
- connected lifecycle/reconnect:
|
||||||
|
`logs/connected-world-gate-20260726-123425/report.json`, exact source/binary
|
||||||
|
commit, two graceful code-zero sessions, 7/7 readiness checkpoints, and
|
||||||
|
zero failures;
|
||||||
|
- canonical movement route:
|
||||||
|
`logs/connected-r6-soak-20260726-124049.report.json`, exact source/binary
|
||||||
|
commit, all nine destinations materialized, forward/jump/combat/movement-
|
||||||
|
truth exercises passed at Caul, Holtburg, and Caul return, and graceful
|
||||||
|
code-zero shutdown.
|
||||||
|
|
||||||
|
The separate baseline-test correction `3456dff0` makes the retained streaming
|
||||||
|
test accept the already-shipped Slice-E cursor-budget contract: retirement
|
||||||
|
may converge in the current or a following tick. It is not part of the J5.4
|
||||||
|
production rollback.
|
||||||
|
|
||||||
|
Exact J5.4 rollback:
|
||||||
|
|
||||||
|
```text
|
||||||
|
git revert aa3f4a60f87f2cbebc3d8ecd5e33d779b7fb13c1
|
||||||
|
```
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue