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:
Erik 2026-07-26 12:09:19 +02:00
parent 20df9d155d
commit 75b761e658
11 changed files with 124 additions and 41 deletions

View file

@ -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
-> J3J4 and J5.1J5.2 complete; J5.3 combat/magic intent active
-> J3J4 and J5.1J5.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,