reactor_spatial/
lib.rs

1#![doc = include_str!("../README.md")]
2mod compass;
3mod compass_halfwinds;
4mod compass_rose;
5mod degrees;
6mod draw_order;
7mod position2d;
8mod propagation_systems;
9mod radians;
10#[cfg(feature = "random")]
11mod random;
12mod rotation2d;
13mod scale2d;
14mod spatial_bundle;
15mod spatial_plugin;
16
17/// All components available in the crate
18pub mod components {
19    pub use crate::{
20        compass::Compass,
21        compass_halfwinds::CompassHalfwinds,
22        compass_rose::CompassRose,
23        draw_order::DrawOrder,
24        position2d::{Position2D, PositionPropagation},
25        rotation2d::{Rotation2D, RotationPropagation},
26        scale2d::{Scale2D, ScalePropagation},
27        spatial_bundle::{SpatialBundle2D, SpatialBundle2DRaw},
28    };
29}
30
31/// All math types available in the crate
32pub mod math {
33    pub use crate::{degrees::Degrees, radians::Radians};
34}
35
36/// All plugins available in the crate
37pub mod plugins {
38    pub use crate::spatial_plugin::SpatialPlugin;
39}
40
41/// All systems available in the crate
42pub(crate) mod systems {
43    pub use crate::propagation_systems::{
44        propagate_spatial2d, update_compass_from_rotation2d,
45        update_compass_halfwinds_from_rotation2d, update_compass_rose_from_rotation2d,
46    };
47}
48
49/// All schedules available in the crate
50pub mod schedules {
51    pub use crate::propagation_systems::SpatialSystems2D;
52}
53
54/// Re-exports as prelude
55pub mod prelude {
56    pub(crate) use crate::systems::*;
57    pub use crate::{components::*, math::*, plugins::*, schedules::*};
58}