murk 0.1.7

World simulation engine for reinforcement learning and real-time applications
Documentation

murk

Top-level facade crate for the Murk simulation engine.

Installation

cargo add murk

Usage

Add this single dependency to access the full Murk API:

use murk::prelude::*;
use murk::space::Square4;

let space = Square4::new(16, 16, EdgeBehavior::Absorb).unwrap();
let config = WorldConfig {
    space: Box::new(space),
    fields: vec![FieldDef {
        name: "heat".into(),
        field_type: FieldType::Scalar,
        mutability: FieldMutability::PerTick,
        units: None,
        bounds: None,
        boundary_behavior: BoundaryBehavior::Clamp,
    }],
    propagators: vec![],
    dt: 0.1,
    seed: 42,
    ring_buffer_size: 8,
    max_ingress_queue: 64,
    tick_rate_hz: None,
    backoff: Default::default(),
};
let mut world = LockstepWorld::new(config).unwrap();

Sub-crates are re-exported as modules (murk::space, murk::engine, etc.). See the documentation for the full guide.

Documentation