Skip to main content

Module lockstep

Module lockstep 

Source
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§

LockstepWorld
Single-threaded simulation world for lockstep (synchronous) execution.
StepResult
Result of a successful LockstepWorld::step_sync() call.