docs(runtime): close combat and magic intent
Record the exact J5.3 owner boundary, retail ordering, Release and connected evidence, rollback, and J5.4 handoff across architecture, roadmap, milestones, agent instructions, and durable memory. Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
parent
20df9d155d
commit
75b761e658
11 changed files with 124 additions and 41 deletions
14
AGENTS.md
14
AGENTS.md
|
|
@ -282,7 +282,14 @@ post-arrival pickup token while borrowing J4's sole inventory busy/request
|
|||
gate. App retains picking, movement/transport, and presentation only. Runtime
|
||||
tests pass 197/197, App tests pass 3,775/3 skips, the complete Release suite
|
||||
passes 8,561/5 skips, and the exact-binary seven-checkpoint gate passes with
|
||||
graceful exits and zero failures. J5.3 combat/magic-intent ownership is active.
|
||||
graceful exits and zero failures. J5.3 is complete at `20df9d15`:
|
||||
`RuntimeActionState` owns the exact combat-attack, combat-target, combat-mode,
|
||||
and spell-cast intent children. Retained bars and graphical input borrow those
|
||||
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
|
||||
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
|
||||
active.
|
||||
J0's rollback is
|
||||
`git revert b632672e5ccabfb44c551e08f1c411ab2669c44a`.
|
||||
J1's rollback is
|
||||
|
|
@ -314,6 +321,8 @@ J5.1's rollback is
|
|||
`git revert b298f99f913249d299796e6a71f7a9b6b283ac1a`.
|
||||
J5.2's rollback is
|
||||
`git revert f5f7b4177f449ebcad9724bfea263ef73ab60255`.
|
||||
J5.3's rollback is
|
||||
`git revert 20df9d155db50706a42420d60a9b15861cf4bfe7`.
|
||||
Slice H's retained UI/frame, bounded-light, and pooled/borrowed/direct network
|
||||
work is complete; the exact seven-checkpoint connected lifecycle/reconnect gate
|
||||
passes. Slice I is closed in
|
||||
|
|
@ -328,7 +337,8 @@ is `docs/research/2026-07-26-slice-j3-6-lifetime-closeout.md`; J4 executes from
|
|||
is `docs/research/2026-07-26-slice-j4-5-gameplay-state-closeout.md`; J5.1
|
||||
closeout is
|
||||
`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`. The exact G4
|
||||
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
|
||||
visual rollback
|
||||
is `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`; do not revert G3 or
|
||||
the portal-warmup corrections. Evidence:
|
||||
|
|
|
|||
14
CLAUDE.md
14
CLAUDE.md
|
|
@ -280,7 +280,14 @@ post-arrival pickup token while borrowing J4's sole inventory busy/request
|
|||
gate. App retains picking, movement/transport, and presentation only. Runtime
|
||||
tests pass 197/197, App tests pass 3,775/3 skips, the complete Release suite
|
||||
passes 8,561/5 skips, and the exact-binary seven-checkpoint gate passes with
|
||||
graceful exits and zero failures. J5.3 combat/magic-intent ownership is active.
|
||||
graceful exits and zero failures. J5.3 is complete at `20df9d15`:
|
||||
`RuntimeActionState` owns the exact combat-attack, combat-target, combat-mode,
|
||||
and spell-cast intent children. Retained bars and graphical input borrow those
|
||||
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
|
||||
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
|
||||
active.
|
||||
J0's rollback is
|
||||
`git revert b632672e5ccabfb44c551e08f1c411ab2669c44a`.
|
||||
J1's rollback is
|
||||
|
|
@ -312,6 +319,8 @@ J5.1's rollback is
|
|||
`git revert b298f99f913249d299796e6a71f7a9b6b283ac1a`.
|
||||
J5.2's rollback is
|
||||
`git revert f5f7b4177f449ebcad9724bfea263ef73ab60255`.
|
||||
J5.3's rollback is
|
||||
`git revert 20df9d155db50706a42420d60a9b15861cf4bfe7`.
|
||||
Slice H's retained UI/frame, bounded-light, and pooled/borrowed/direct network
|
||||
work is complete; the exact seven-checkpoint connected lifecycle/reconnect gate
|
||||
passes. Slice I is closed in
|
||||
|
|
@ -326,7 +335,8 @@ is `docs/research/2026-07-26-slice-j3-6-lifetime-closeout.md`; J4 executes from
|
|||
is `docs/research/2026-07-26-slice-j4-5-gameplay-state-closeout.md`; J5.1
|
||||
closeout is
|
||||
`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`. The exact G4
|
||||
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
|
||||
visual rollback
|
||||
is `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`; do not revert G3 or
|
||||
the portal-warmup corrections. Evidence:
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ This page is the entry point for project documentation. It distinguishes
|
|||
current sources of truth from implementation history so an old plan or issue
|
||||
banner cannot silently override the current program state.
|
||||
|
||||
## Current snapshot — 2026-07-25
|
||||
## Current snapshot — 2026-07-26
|
||||
|
||||
- **Milestone state:** M3, “Cast a spell,” landed 2026-07-21. M4, “Live in the
|
||||
world,” is active.
|
||||
|
|
@ -14,18 +14,17 @@ banner cannot silently override the current program state.
|
|||
[`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
|
||||
are complete.
|
||||
- **Current active engineering program:** Slices A–I and J0–J3.4 of
|
||||
- **Current active engineering program:** Slices A–I, J0–J4, and J5.1–J5.3 of
|
||||
[`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
|
||||
residence, retained render-scene/delta submission, bounded frame owners, and
|
||||
flat-authoritative collision without parsed-graph production residency.
|
||||
Runtime owns canonical session/transport and the sole live-entity
|
||||
GUID/incarnation/local-ID directory. App materialized projections,
|
||||
presentation worksets, and spatial visibility carry exact
|
||||
`RuntimeEntityKey`. One `RuntimeEntityObjectLifetime` owns the exact
|
||||
directory and live object table; App and routing borrow both. J3.5 ordered
|
||||
canonical entity/object deltas and direct borrowed views are next in
|
||||
[`plans/2026-07-26-modern-runtime-slice-j3-delta-stream.md`](plans/2026-07-26-modern-runtime-slice-j3-delta-stream.md).
|
||||
Runtime owns canonical session/transport, entity/object lifetime, J4
|
||||
gameplay state, selection/interaction transactions, and combat/magic intent.
|
||||
App materialized projections and retained widgets borrow exact Runtime
|
||||
identity and action owners. J5.4 local movement and outbound cadence is next
|
||||
in
|
||||
[`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
|
||||
the final two-client portal-out/materialization observer comparison (`#218`).
|
||||
- **Separate visual verification:** the shared-alpha lifestone/particle result
|
||||
|
|
@ -34,11 +33,12 @@ banner cannot silently override the current program state.
|
|||
`#116` (two narrowed slide-response cases), and divergence rows TS-50/TS-51.
|
||||
- **Active engineering track:** complete Slice J's coherent Runtime lifetime
|
||||
groups, then build the approved Linux/headless multi-session host in Slice K.
|
||||
J3.4's exact rollback is `git revert 5ef8b537`.
|
||||
J5.3's exact rollback is
|
||||
`git revert 20df9d155db50706a42420d60a9b15861cf4bfe7`.
|
||||
- **Divergence audit:** 178 active rows — IA 17, AD 37, AP 85, TS 34,
|
||||
and UN 5 — plus the retained retired TS-37 history note.
|
||||
- **Latest automated baseline:** Release build succeeds; 8,453 tests pass and
|
||||
five are intentionally skipped. The exact J3.4 connected lifecycle/reconnect
|
||||
- **Latest automated baseline:** Release build succeeds; 8,566 tests pass and
|
||||
five are intentionally skipped. The exact J5.3 connected lifecycle/reconnect
|
||||
gate completed two sessions and seven checkpoints with graceful zero-code
|
||||
exits, zero failures, zero render-shadow mismatches, and zero pending deltas.
|
||||
|
||||
|
|
|
|||
|
|
@ -143,11 +143,13 @@ move back into `GameWindow.OnLoad`.
|
|||
|
||||
Magic follows the same boundary. Core `Spellbook` is the one learned/favorite/
|
||||
desired/enchantment state projection; Core.Net owns exact manifest and live
|
||||
message parsing; App `SpellCastingController` owns validated cast intent; and
|
||||
the retained spell bar, spell/component book, and effects controllers only
|
||||
project that state and invoke supplied actions. ACE remains authoritative after
|
||||
the targeted/untargeted request for turning, animation, mana/components,
|
||||
fizzle, impact, damage, and completion.
|
||||
message parsing; Runtime `RuntimeActionState.SpellCast` owns validated cast
|
||||
intent and last-request state; App `MagicRuntime` owns DAT formula/component
|
||||
policy, live-object target queries, transport, and presentation binding. The
|
||||
retained spell bar, spell/component book, and effects controllers only project
|
||||
that state and invoke supplied actions. ACE remains authoritative after the
|
||||
targeted/untargeted request for turning, animation, mana/components, fizzle,
|
||||
impact, damage, and completion.
|
||||
The shared LayoutDesc importer resolves inherited controller trees with retail
|
||||
`LayoutDesc::InqFullDesc`/`ElementDesc::Incorporate` child identity semantics;
|
||||
panel controllers never reconstruct missing inherited widgets by hand.
|
||||
|
|
@ -224,12 +226,12 @@ src/
|
|||
transaction/session-state owner
|
||||
RuntimeCharacterState.cs -> coupled spellbook/local-player plus
|
||||
character-option/run-jump owner
|
||||
RuntimeActionState.cs -> exact selection/combat/target-mode and
|
||||
interaction-transaction owner
|
||||
RuntimeActionState.cs -> exact selection/interaction plus combat and
|
||||
spell-cast intent owner
|
||||
InteractionState.cs -> presentation-free cursor-target mode state
|
||||
RuntimeInteractionTransactionState.cs -> use/appraisal/pickup FIFO,
|
||||
exact approach and busy borrower
|
||||
-> J3–J4 and J5.1–J5.2 complete; J5.3 combat/magic intent active
|
||||
-> J3–J4 and J5.1–J5.3 complete; J5.4 local movement/cadence active
|
||||
-> may reference Core, Core.Net, Content, and Plugin.Abstractions only
|
||||
-> must never reference App, UI, Silk.NET, OpenAL, Arch, or ImGui
|
||||
|
||||
|
|
@ -497,8 +499,12 @@ J4 inventory busy/request gate. App supplies picking, movement installation,
|
|||
wire transport, toasts, and retained drag/pending-slot presentation. Hidden,
|
||||
delete/GUID reuse, reset, disposal, callback re-entry, and transport failure
|
||||
all converge without retaining a second owner or changing retail's press-time
|
||||
order (`f5f7b417`). J5.3 next moves combat and spell-cast intent under this
|
||||
same action root.
|
||||
order (`f5f7b417`). The same root now owns the exact combat-attack,
|
||||
combat-target, combat-mode, and spell-cast intent children. Retained bars and
|
||||
graphical input adapters borrow those exact owners, while direct Runtime
|
||||
commands drive the same operations and snapshots. App retains world/content
|
||||
queries, transport, animation, sound, particles, and response text
|
||||
(`20df9d15`). J5.4 next moves canonical local movement and outbound cadence.
|
||||
|
||||
`GpuWorldState` owns spatial buckets only and retains the exact projection key
|
||||
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`). |
|
||||
| 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. |
|
||||
| Selection/interaction | **J5.1–J5.2 complete; J5.3 active** | Runtime `RuntimeActionState` owns the exact selection, combat, target-mode, and `RuntimeInteractionTransactionState` children. The transaction child owns use/appraisal/pickup identity, the typed ordered FIFO, and exact post-arrival token while borrowing J4's sole inventory busy/request gate. App `WorldSelectionQuery`, movement/transport adapters, lighting, toasts, drag/drop, and pending-slot drawing remain presentation. No App transaction fallback or delegate queue remains (`b298f99f`, `f5f7b417`). |
|
||||
| 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`). |
|
||||
| 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`). |
|
||||
| Unified `GameEntity` | **Slice J active at J5.3** | Canonical identity, retained-object lifetime, direct views, ordered entity/object deltas, J4 gameplay state, and J5.1–J5.2 action/interaction state share failure-safe Runtime owners while exact graphical sidecars stay in App. J5.3–J7 move combat/magic intent, movement/physics/projectiles, and remaining world authority before one Runtime composition root. |
|
||||
| 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. |
|
||||
|
||||
### 4.3 Revised extraction sequence
|
||||
|
||||
|
|
|
|||
|
|
@ -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 are closed at `f5f7b417`, and J5.3 combat/magic intent 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`, 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.
|
||||
**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.
|
||||
|
||||
---
|
||||
|
|
@ -1749,8 +1749,13 @@ port in any phase — no separate listing here.
|
|||
> retains picking, movement/transport, and presentation only; the App delegate
|
||||
> queue and transaction fields are deleted. Its 197 Runtime tests, 3,775 App
|
||||
> tests / 3 skips, 8,561-test / 5-skip complete Release suite, and exact-binary
|
||||
> seven-checkpoint lifecycle/reconnect gate pass. J5.3 combat/magic-intent
|
||||
> ownership is active.
|
||||
> seven-checkpoint lifecycle/reconnect gate pass. J5.3 is complete at
|
||||
> `20df9d15`: Runtime owns the exact combat-attack, combat-target, combat-mode,
|
||||
> 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
|
||||
> skips, 8,566-test / 5-skip complete Release suite, and exact-binary
|
||||
> seven-checkpoint lifecycle/reconnect gate pass. J5.4 local movement/outbound
|
||||
> cadence is active.
|
||||
> The historical exact cutover
|
||||
> rollback remains
|
||||
> `git revert ef1d263337997bb030eadb7b8e71d73dc659907a`. Slice H is complete:
|
||||
|
|
|
|||
|
|
@ -223,7 +223,12 @@ residency is `0/0/0` at every stable checkpoint and teardown converges. Slice I
|
|||
pickup state while borrowing the sole J4 inventory busy/request gate. The
|
||||
App queue and transaction fields are deleted. Its 197 Runtime tests, 3,775
|
||||
App tests / 3 skips, 8,561 full Release tests / 5 skips, and exact-binary
|
||||
seven-checkpoint lifecycle/reconnect route pass. J5.3 combat/magic-intent
|
||||
seven-checkpoint lifecycle/reconnect route pass. J5.3 completed at
|
||||
`20df9d15`: Runtime owns the exact attack, target, combat-mode, and spell-cast
|
||||
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
|
||||
full Release tests / 5 skips, and exact-binary seven-checkpoint
|
||||
lifecycle/reconnect route pass. J5.4 local movement/outbound-cadence
|
||||
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
|
||||
|
|
@ -250,6 +255,8 @@ Slice-J5.1 closeout evidence is
|
|||
[`../research/2026-07-26-slice-j5-1-canonical-action-state.md`](../research/2026-07-26-slice-j5-1-canonical-action-state.md).
|
||||
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).
|
||||
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).
|
||||
The historical exact G4 visual rollback remains
|
||||
`git revert ef1d263337997bb030eadb7b8e71d73dc659907a`.
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
**Date:** 2026-07-24
|
||||
|
||||
**Status:** Slices A–I, J0–J4, and J5.1–J5.2 are complete. Flat-authoritative collision, zero-
|
||||
**Status:** Slices A–I, J0–J4, and J5.1–J5.3 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 F–L were
|
||||
explicitly approved 2026-07-24. Slice J0–J1 established the enforced Runtime
|
||||
|
|
@ -16,8 +16,9 @@ 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.3 after canonical action state
|
||||
(`b298f99f`) and interaction transactions (`f5f7b417`) moved to Runtime.
|
||||
and combat ownership is active at J5.4 after canonical action state
|
||||
(`b298f99f`), interaction transactions (`f5f7b417`), and combat/magic intent
|
||||
(`20df9d15`) moved to Runtime.
|
||||
|
||||
**Scope:** Reconcile and sequence the existing Modern Pipeline (`MP`) and
|
||||
Linux/headless (`LH`) tracks using the 2026-07-24 connected performance audit.
|
||||
|
|
@ -1275,7 +1276,7 @@ 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.1–J5.2 are complete; J5.3 combat/magic intent is active.
|
||||
point. J5.1–J5.3 are complete; J5.4 local movement/outbound cadence is active.
|
||||
Evidence:
|
||||
[`../research/2026-07-25-slice-g5-production-profile.md`](../research/2026-07-25-slice-g5-production-profile.md)
|
||||
and
|
||||
|
|
|
|||
|
|
@ -296,10 +296,17 @@ and post-arrival pickup token while borrowing J4's sole busy/request gate.
|
|||
App retains picking, movement/transport, lighting, toasts, drag/drop, and
|
||||
pending-slot presentation. Its 197 Runtime tests, 3,775 App tests / 3 skips,
|
||||
8,561 complete Release tests / 5 skips, and exact-binary seven-checkpoint
|
||||
lifecycle/reconnect gate pass. J5.3 combat/magic intent is next. Evidence:
|
||||
lifecycle/reconnect gate pass. J5.3 completed at `20df9d15`: Runtime owns the
|
||||
exact attack, target, combat-mode, and spell-cast intent children while App
|
||||
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
|
||||
skips, and exact-binary seven-checkpoint lifecycle/reconnect gate pass. J5.4
|
||||
local movement/outbound cadence 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)
|
||||
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
|
||||
[`../research/2026-07-26-slice-j5-3-combat-magic-intent.md`](../research/2026-07-26-slice-j5-3-combat-magic-intent.md).
|
||||
|
||||
- Move presentation-free movement interpretation, authoritative/predicted
|
||||
physics state, selection identity, approach/use transactions, combat intent,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Modern runtime Slice J5 — movement, physics, interaction, and combat
|
||||
|
||||
**Status:** ACTIVE — J5.1–J5.2 complete; J5.3 next
|
||||
**Status:** ACTIVE — J5.1–J5.3 complete; J5.4 next
|
||||
**Parent:** `2026-07-25-modern-runtime-slice-j.md`, J5
|
||||
**Production base:** `2c67a2c3`
|
||||
**Authorization:** the user approved Slices F–L, including the Slice J
|
||||
|
|
@ -87,8 +87,8 @@ commands to Runtime. The camera may not write the player heading directly.
|
|||
| J5.0 owner/retail inventory | complete | `docs/research/2026-07-26-slice-j5-owner-and-retail-order-inventory.md` |
|
||||
| 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.3 combat and magic intent | pending | attack/mode/target/cast owners and typed input |
|
||||
| J5.4 local movement and outbound cadence | pending | controller, body, movement managers, MTS/AP/jump cadence |
|
||||
| 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.5 per-session physics and remote simulation | pending | engine/scratch/shadows/remote canonical body |
|
||||
| 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 |
|
||||
|
|
@ -249,6 +249,19 @@ Gate:
|
|||
- self/untargeted/targeted spell requests, component failure, busy completion;
|
||||
- graphical bar parity and direct typed-command parity.
|
||||
|
||||
**Completed 2026-07-26 at
|
||||
`20df9d155db50706a42420d60a9b15861cf4bfe7`.** `RuntimeActionState`
|
||||
constructs and owns the exact combat-attack, combat-target, combat-mode, and
|
||||
spell-cast intent children. Retained attack/spell bars and graphical input
|
||||
borrow those owners; direct Runtime combat/magic commands drive the same
|
||||
operations and snapshots without a retained UI. App retains world/content
|
||||
queries, transport, bars, animation, sound, particles, and response text.
|
||||
Runtime tests pass 223/223, App tests pass 3,754/3 skips, and the complete
|
||||
Release suite passes 8,566/5 skips. The exact-binary connected report
|
||||
`logs/connected-world-gate-20260726-115752/report.json` passes two sessions,
|
||||
7/7 checkpoints, graceful code-zero exits, and zero failures. Evidence:
|
||||
[`../research/2026-07-26-slice-j5-3-combat-magic-intent.md`](../research/2026-07-26-slice-j5-3-combat-magic-intent.md).
|
||||
|
||||
## J5.4 — local movement and outbound cadence
|
||||
|
||||
Move `PlayerMovementController`, its data types, and
|
||||
|
|
@ -410,6 +423,12 @@ J5.2 rollback:
|
|||
git revert f5f7b4177f449ebcad9724bfea263ef73ab60255
|
||||
```
|
||||
|
||||
J5.3 rollback:
|
||||
|
||||
```text
|
||||
git revert 20df9d155db50706a42420d60a9b15861cf4bfe7
|
||||
```
|
||||
|
||||
## Acceptance
|
||||
|
||||
J5 is complete only when:
|
||||
|
|
|
|||
|
|
@ -187,3 +187,21 @@ App retains:
|
|||
- messages, bars, animations, audio, particles, and camera presentation.
|
||||
|
||||
No new retail divergence is introduced by this ownership move.
|
||||
|
||||
## Implementation and gates
|
||||
|
||||
Production commit:
|
||||
`20df9d155db50706a42420d60a9b15861cf4bfe7`.
|
||||
|
||||
`RuntimeActionState` constructs and owns the exact `RuntimeCombatAttackState`,
|
||||
`RuntimeCombatTargetState`, `RuntimeCombatModeState`, and
|
||||
`RuntimeSpellCastState`. Retained graphical bars and input adapters borrow
|
||||
those owners. Direct Runtime combat and magic commands invoke the same
|
||||
operations and produce the same normalized snapshots without constructing UI.
|
||||
App retains the named presentation/content/transport responsibilities above.
|
||||
|
||||
Release build passes with zero warnings and errors. Focused and complete gates
|
||||
pass 223 Runtime tests, 3,754 App tests / 3 skips, and 8,566 complete-solution
|
||||
tests / 5 skips. The exact-binary connected lifecycle/reconnect report is
|
||||
`logs/connected-world-gate-20260726-115752/report.json`: two sessions, 7/7
|
||||
checkpoints, two graceful code-zero exits, and zero failures.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue