linear_sim/lib.rs
1//! # linear_sim <IMG STYLE="vertical-align: middle" SRC="https://gitlab.com/spearman/linear-sim-rs/-/raw/master/doc/iconl.png">
2//!
3//! A minimal particle simulation.
4//!
5//! # `debug_dump` feature
6//!
7//! Set the environment variable `LINEAR_SIM_DEBUG_DUMP=1` and before the step
8//! you want to capture, raise the `collision::DEBUG_DUMP` flag to `true`. This
9//! will write a binary serialization of the System state to
10//! `linear-sim-<step>.dump` in the local directory. In the course of
11//! development, some automatic triggers may be added in the collision pipeline
12//! to raise the DEBUG_DUMP flag automatically (e.g. when collision max iters
13//! has been exceeded).
14//!
15//! The `debug_dump_tester`
16//! binary will load a target dump file and process a simulation step with the
17//! deserialized System.
18
19#![feature(test)]
20#![warn(unused_extern_crates)]
21#![cfg_attr(docsrs, feature(doc_cfg))]
22
23pub use math_utils as math;
24pub use math_utils::geometry as geometry;
25
26pub mod collision;
27pub mod component;
28pub mod constraint;
29pub mod event;
30pub mod force;
31pub mod integrator;
32pub mod object;
33pub mod system;
34
35pub use collision::Collision;
36pub use constraint::Constraint;
37pub use force::Force;
38pub use integrator::Integrator;
39pub use object::Object;
40pub use system::System;