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
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue