Skip to main content

murk_core/
lib.rs

1//! Core types and traits for the Murk simulation framework.
2//!
3//! This is the leaf crate with zero internal Murk dependencies. It defines
4//! the fundamental abstractions used throughout the Murk workspace:
5//! type IDs, field descriptors, error types, and core traits.
6
7#![deny(missing_docs)]
8#![deny(rustdoc::broken_intra_doc_links)]
9#![forbid(unsafe_code)]
10
11pub mod command;
12pub mod entity;
13pub mod error;
14pub mod field;
15pub mod id;
16pub mod traits;
17
18// Re-export core types at crate root for convenience.
19pub use command::{Command, CommandPayload, Receipt};
20pub use entity::EntityManifest;
21pub use error::{IngressError, ObsError, PropagatorError, StepError};
22pub use field::{BoundaryBehavior, FieldDef, FieldMutability, FieldSet, FieldSetIter, FieldType};
23pub use id::{
24    Coord, EntityId, FieldId, ParameterKey, ParameterVersion, PropertyIndex, SpaceId,
25    SpaceInstanceId, TickId, WorldGenerationId,
26};
27pub use traits::{FieldReader, FieldWriter, SnapshotAccess};