docs(runtime): close projectile ownership

This commit is contained in:
Erik 2026-07-26 15:27:50 +02:00
parent 2aee33569f
commit c30a3efeb0
11 changed files with 263 additions and 35 deletions

View file

@ -236,7 +236,9 @@ src/
collision receipts, bodies/hosts/worksets
RuntimeRemotePhysicsUpdater.cs -> presentation-free remote simulation
RuntimeOrdinaryPhysicsUpdater.cs -> presentation-free object simulation
-> J3J4 and J5.1J5.5 complete; J5.6 projectile runtime active
RuntimeProjectile.cs -> canonical projectile component/prediction owner
RuntimeProjectilePhysicsUpdater.cs -> presentation-free projectile simulation
-> J3J4 and J5.1J5.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,