refactor(runtime): own per-session physics simulation
Move the sole PhysicsEngine, production cache, collision admissions, canonical bodies and hosts, remote components, ordinary/remote worksets, simulation, cell commits, and shadow synchronization under RuntimeEntityObjectLifetime. Keep App as the prepared-asset, animation-input, and render-projection adapter while preserving the named-retail update and collision order. Add exact-incarnation, object-clock, callback-reentrancy, GUID-reuse, two-runtime isolation, source ownership, collision publication, and graphical projection coverage. Release build and the complete 8,588-test solution pass. Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
parent
0dc3bfdeff
commit
7e6033d0ad
39 changed files with 3685 additions and 1722 deletions
|
|
@ -463,7 +463,7 @@ internal sealed class LivePresentationCompositionPhase
|
|||
setupId => content.Dats.Get<Setup>(setupId)),
|
||||
static value => value.Dispose());
|
||||
var ordinaryPhysicsUpdater = new LiveEntityOrdinaryPhysicsUpdater(
|
||||
d.PhysicsEngine,
|
||||
d.EntityObjects.Physics,
|
||||
d.MotionBindings.GetSetupCylinder);
|
||||
var animationScheduler = new LiveEntityAnimationScheduler(
|
||||
liveEntities,
|
||||
|
|
@ -858,7 +858,7 @@ internal sealed class LivePresentationCompositionPhase
|
|||
removeEnvCells: envCellLease.Resource.RemoveLandblock,
|
||||
envCellPublisher: envCellLease.Resource);
|
||||
var landblockPhysicsPublisher = new LandblockPhysicsPublisher(
|
||||
d.PhysicsEngine,
|
||||
d.EntityObjects.Physics,
|
||||
world.TerrainBuild.HeightTable);
|
||||
var landblockStaticPublisher =
|
||||
new LandblockStaticPresentationPublisher(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue