Expand description
Lockstep (synchronous) simulation world.
LockstepWorld is the primary user-facing API for running simulations
in lockstep mode. Each call to step_sync()
submits commands, executes one tick of the propagator pipeline, and
returns a snapshot of the resulting world state.
§Ownership model
LockstepWorld is Send (can be moved between threads) but not
Sync (cannot be shared). All mutating methods take &mut self,
and step_sync() returns a Snapshot
that borrows from self. This means the caller cannot call step_sync()
while holding a snapshot reference — the borrow checker enforces
aliasing prevention at compile time.
§Shutdown
Dropping a LockstepWorld reclaims all arena memory. Since &mut self
guarantees no outstanding borrows at drop time, cleanup is always safe
(Decision E). No background threads are involved.
Structs§
- Lockstep
World - Single-threaded simulation world for lockstep (synchronous) execution.
- Step
Result - Result of a successful
LockstepWorld::step_sync()call.