Skip to main content

elevator_core/components/
mod.rs

1//! Entity components — the data attached to simulation entities.
2
3/// Access control for restricting rider stop access.
4pub mod access;
5/// Floor buttons pressed from inside a cab.
6pub mod car_call;
7/// Cyclic-distance helpers for closed-loop line topologies.
8pub mod cyclic;
9/// Per-elevator ordered destination queue.
10pub mod destination_queue;
11/// Elevator state and properties.
12pub mod elevator;
13/// Hall calls: the up/down buttons at each stop.
14pub mod hall_call;
15/// Line (physical path) — shaft, tether, track.
16pub mod line;
17/// Rider patience and boarding preferences.
18pub mod patience;
19/// Position and velocity along the shaft axis.
20pub mod position;
21/// Rider (passenger/cargo) core data.
22pub mod rider;
23/// Internal rider lifecycle state with location data bundled into variants.
24pub(crate) mod rider_state;
25/// Multi-leg route planning.
26pub mod route;
27/// Service mode component for elevator operational modes.
28pub mod service_mode;
29/// Stop (floor/station) data.
30pub mod stop;
31/// Physical quantity newtypes (Weight, Speed, Accel).
32pub mod units;
33
34pub use access::AccessControl;
35pub use car_call::CarCall;
36pub use destination_queue::DestinationQueue;
37pub use elevator::{DOOR_COMMAND_QUEUE_CAP, Direction, Elevator, ElevatorPhase};
38pub use hall_call::{CallDirection, HallCall};
39pub use line::{Line, LineKind, Orientation, SpatialPosition};
40pub use patience::{Patience, Preferences};
41pub use position::{Position, Velocity};
42pub use rider::{Rider, RiderPhase, RiderPhaseKind};
43pub use route::{Route, RouteLeg, TransportMode};
44pub use service_mode::ServiceMode;
45pub use stop::Stop;
46pub use units::{Accel, Speed, UnitError, Weight};