pub mod columnar_runtime;
pub mod compute;
pub mod control_plane;
pub mod crowd_telemetry;
#[cfg(feature = "cuda")]
pub(crate) mod cuda_context;
pub mod device_store;
pub mod ensemble;
pub mod interaction;
pub mod layers;
#[cfg(feature = "rayon")]
pub mod parallel;
pub mod telemetry;
pub use rustsim_broadphase;
pub use rustsim_core;
pub use rustsim_crowd;
pub use rustsim_geometry;
pub use rustsim_io;
pub use rustsim_mobility;
pub use rustsim_modes;
pub use rustsim_pathfinding;
pub use rustsim_schedulers;
pub use rustsim_spaces;
pub use rustsim_traffic;
pub use rustsim_transit;
pub use rustsim_vehicle;
pub mod prelude {
#[cfg(feature = "cuda")]
pub use crate::columnar_runtime::CudaKernelAbi;
pub use crate::columnar_runtime::{
ColumnarAgentBatch, ColumnarAgentBatchF64, ColumnarLifecycleCommand,
ColumnarLifecycleCommandF64, ColumnarLifecycleReport, ColumnarPhaseBackend,
ColumnarPhaseTiming, ColumnarRuntime, ColumnarRuntimeError, ColumnarRuntimeF64,
ColumnarStepTiming,
};
#[cfg(feature = "cuda")]
pub use crate::compute::cuda_batch_step;
#[cfg(feature = "cuda")]
pub use crate::compute::cuda_batch_step_pinned;
#[cfg(feature = "rayon")]
pub use crate::compute::par_batch_step;
pub use crate::compute::{
auto_batch_step, auto_device_step, cpu_batch_step, cpu_batch_step_f64, detect_backend,
AccelStepResult, ComputeBackend,
};
pub use crate::control_plane::{
CheckpointPolicy, ControlPlaneConfig, ControlledStep, EndpointPartitionExecutor,
EngineCheckpoint, EngineControlPlane, EngineControlPlaneError, EngineMetrics,
EnginePhaseMetric, ExternalPartitionClient, LocalThreadedPartitionExecutor,
PartitionAssignment, PartitionCheckpoint, PartitionExecutablePhase,
PartitionExecutionBackend, PartitionExecutionContext, PartitionExecutor,
PartitionExecutorError, PartitionId, PartitionMode, PartitionPhaseReport, PartitionPlan,
PartitionPlanError, PartitionTask, PartitionTaskResult, PartitionWorker, PartitionedStep,
ReplayFingerprint, ReplayMode,
};
pub use crate::crowd_telemetry::{
crowd_arrow_schema, crowd_observer, push_crowd_row, CROWD_BATCH_SIZE, CROWD_NUM_COLUMNS,
};
pub use crate::device_store::{
DeviceSoaCheckpoint, DeviceSoaCheckpointF64, DeviceSoaMutationError, DeviceSoaRestoreError,
DeviceSoaStore, DeviceSoaStoreF64, SoaColumnSchema, SoaColumnType,
};
pub use crate::ensemble::{Ensemble, ErrorLevel, RunPlan, RunResult};
pub use crate::interaction::{
DeviceNeighbor2D, DeviceSpatialCell2D, DeviceSpatialConfig2D, DeviceSpatialError,
DeviceSpatialIndex2D,
};
pub use crate::layers::{LayerExecutor, LayerTiming, StepTiming};
pub use crate::telemetry::{
TelemetryError, TelemetryPipeline, TelemetryPipelineStats, TelemetryShutdownStats,
};
pub use rustsim_core::prelude::*;
pub use rustsim_geometry::prelude::*;
pub use rustsim_io::prelude::*;
pub use rustsim_modes::prelude::*;
pub use rustsim_pathfinding::prelude::*;
pub use rustsim_spaces::prelude::*;
pub use rustsim_traffic::prelude::*;
}