Skip to main content

Crate murk_engine

Crate murk_engine 

Source
Expand description

Simulation engine orchestrating Murk environments.

Provides LockstepWorld for synchronous simulation and RealtimeAsyncWorld for background-threaded simulation with concurrent observation extraction.

Both modes are backed by the internal TickEngine that manages the simulation loop, coordinating arenas, spaces, propagators, and observation extraction.

Re-exports§

pub use config::AsyncConfig;
pub use config::BackoffConfig;
pub use config::ConfigError;
pub use config::WorldConfig;
pub use epoch::EpochCounter;
pub use epoch::WorkerEpoch;
pub use epoch::EPOCH_UNPINNED;
pub use ingress::DrainResult;
pub use ingress::DrainedCommand;
pub use ingress::IngressQueue;
pub use lockstep::LockstepWorld;
pub use lockstep::StepResult;
pub use metrics::StepMetrics;
pub use realtime::RealtimeAsyncWorld;
pub use realtime::ShutdownReport;
pub use realtime::SubmitError;
pub use ring::SnapshotRing;
pub use tick::TickEngine;
pub use tick::TickError;
pub use tick::TickResult;

Modules§

config
World configuration, validation, and error types.
egress
Egress worker pool for RealtimeAsync observation extraction.
epoch
Epoch-based reclamation primitives for RealtimeAsync mode.
ingress
Bounded ingress queue with deterministic ordering and TTL evaluation.
lockstep
Lockstep (synchronous) simulation world.
metrics
Per-tick performance metrics for the simulation engine.
realtime
User-facing RealtimeAsyncWorld API and shutdown state machine.
ring
Fixed-capacity ring buffer of owned snapshots for RealtimeAsync mode.
tick
Tick engine: the single-threaded simulation loop.