docs(runtime): close projectile ownership
This commit is contained in:
parent
2aee33569f
commit
c30a3efeb0
11 changed files with 263 additions and 35 deletions
|
|
@ -236,7 +236,9 @@ src/
|
|||
collision receipts, bodies/hosts/worksets
|
||||
RuntimeRemotePhysicsUpdater.cs -> presentation-free remote simulation
|
||||
RuntimeOrdinaryPhysicsUpdater.cs -> presentation-free object simulation
|
||||
-> J3–J4 and J5.1–J5.5 complete; J5.6 projectile runtime active
|
||||
RuntimeProjectile.cs -> canonical projectile component/prediction owner
|
||||
RuntimeProjectilePhysicsUpdater.cs -> presentation-free projectile simulation
|
||||
-> J3–J4 and J5.1–J5.6 complete; J5.7 cleanup/closeout active
|
||||
-> may reference Core, Core.Net, Content, and Plugin.Abstractions only
|
||||
-> must never reference App, UI, Silk.NET, OpenAL, Arch, or ImGui
|
||||
|
||||
|
|
@ -486,9 +488,9 @@ versions, and exact tombstones. `RuntimeEntityRecord` is presentation-free.
|
|||
an App record. `MaterializeLiveEntity` claims the Runtime local ID and creates
|
||||
one graphical `LiveEntityRecord` sidecar in `LiveEntityProjectionStore`, keyed
|
||||
by exact `RuntimeEntityKey` (local ID plus `INSTANCE_TS`). The sidecar owns the
|
||||
App animation, remote-motion, projectile, hydration, and effect presentation
|
||||
state. `RuntimeEntityRecord` deliberately still carries the canonical
|
||||
`PhysicsBody`/physics-host facts until their coherent J5 move.
|
||||
App animation, hydration, and effect/render presentation state.
|
||||
`RuntimeEntityRecord` owns the canonical `PhysicsBody`, physics host, remote
|
||||
motion, projectile component, clocks, state, and full cell.
|
||||
Live `PhysicsDesc` effect fields replace Setup defaults on that same exact
|
||||
sidecar; rebucketing never recreates it.
|
||||
|
||||
|
|
@ -517,8 +519,11 @@ MTS/jump/AP cadence lives in Runtime (`aa3f4a60`). One
|
|||
graph, transition scratch, shadow registry, typed collision admissions,
|
||||
canonical body/host/remote components, ordinary/remote worksets, simulation,
|
||||
and full-cell commits. App supplies prepared collision and animation/shape
|
||||
inputs, then projects committed snapshots (`7e6033d0`). J5.6 next moves the
|
||||
projectile component and prediction lifecycle.
|
||||
inputs, then projects committed snapshots (`7e6033d0`). The same Runtime
|
||||
physics owner now owns the canonical projectile component, exact-key workset,
|
||||
prediction/correction lifecycle, retail projectile simulation, and cell
|
||||
commits. App resolves immutable Setup/DAT collision shape data and projects
|
||||
committed render, shadow, and effect-pose results only (`2aee3356`).
|
||||
|
||||
`GpuWorldState` owns spatial buckets only and retains the exact projection key
|
||||
through loaded/pending movement, landblock retirement/reload, origin recenter,
|
||||
|
|
|
|||
|
|
@ -476,9 +476,10 @@ useful ordering seam, but its ownership status is **partial**.
|
|||
| 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/movement | **J5.1–J5.4 complete** | 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`). |
|
||||
| Physics/remote simulation | **J5.5 complete** | `RuntimePhysicsState` owns one per-session engine, production cache/cell graph, transition scratch, shadow registry, typed collision admissions, canonical bodies/hosts/remotes, keyed ordinary/remote worksets, simulation, and cell commits. App streaming supplies immutable prepared collision; animation/shape adapters supply graphical inputs and project committed snapshots only (`7e6033d0`). |
|
||||
| Projectile simulation | **J5.6 complete** | `RuntimeEntityRecord`/`RuntimePhysicsState` own the canonical projectile component, exact-key workset, prediction/correction state, unchanged retail quantum/integration/sweep/collision loop, and cell commits. App resolves immutable Setup/DAT shape input and projects committed render, shadow, and effect-pose results only (`2aee3356`). |
|
||||
| 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.6** | Canonical identity, retained-object lifetime, direct views, ordered entity/object deltas, J4 gameplay state, J5.1–J5.4 action/combat/magic/movement state, and J5.5 physics/remote simulation share failure-safe Runtime owners while exact graphical sidecars stay in App. J5.6–J7 move projectiles and finish cleanup before one Runtime composition root. |
|
||||
| Unified `GameEntity` | **Slice J active at J5.7** | Canonical identity, retained-object lifetime, direct views, ordered entity/object deltas, J4 gameplay state, J5 action/combat/magic/movement/physics/remote/projectile simulation share failure-safe Runtime owners while exact graphical sidecars stay in App. J5.7 removes remaining temporary seams and proves no-window parity before J6–J7 add world handshakes and one Runtime composition root. |
|
||||
|
||||
### 4.3 Revised extraction sequence
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue