Expand description
Common imports for consumers of this library.
use elevator_core::prelude::*; pulls in the types you need for the vast
majority of simulations — building a sim, stepping it, spawning riders,
reading events and metrics, and writing custom dispatch strategies.
§Contents
- Builder & simulation:
SimulationBuilder,Simulation,RiderBuilder - Components:
Rider,RiderPhase,RiderPhaseKind,Elevator,ElevatorPhase,Stop,Line,Position,Velocity,SpatialPosition,Route,Patience,Preferences,AccessControl,DestinationQueue,Direction,Orientation,ServiceMode - Config:
SimConfig,ElevatorConfig,GroupConfig,LineConfig,StopConfig - Dispatch:
DispatchStrategy,RepositionStrategy,DispatchDecision,DispatchManifest,ElevatorGroup,AssignedCar,RankContext,DestinationDispatch,ScanDispatch,LookDispatch,NearestCarDispatch,EtdDispatch, plus the built-in reposition strategiesNearestIdle,ReturnToLobby,SpreadEvenly,DemandWeighted - Identity:
EntityId,StopId,StopRef,GroupId - Errors & events:
SimError,EtaError,RejectionReason,RejectionContext,Event,EventBus,EventCategory - World & misc:
World,Metrics,TimeAdapter,ExtKey
§Not included (import explicitly)
- Traffic generation types from
crate::traffic(feature-gated) - Snapshot types from
crate::snapshot
Re-exports§
pub use crate::builder::SimulationBuilder;pub use crate::components::Accel;pub use crate::components::AccessControl;pub use crate::components::DestinationQueue;pub use crate::components::Direction;pub use crate::components::Elevator;pub use crate::components::ElevatorPhase;pub use crate::components::Line;pub use crate::components::Orientation;pub use crate::components::Patience;pub use crate::components::Position;pub use crate::components::Preferences;pub use crate::components::Rider;pub use crate::components::RiderPhase;pub use crate::components::RiderPhaseKind;pub use crate::components::Route;pub use crate::components::ServiceMode;pub use crate::components::SpatialPosition;pub use crate::components::Speed;pub use crate::components::Stop;pub use crate::components::UnitError;pub use crate::components::Velocity;pub use crate::components::Weight;pub use crate::config::ElevatorConfig;pub use crate::config::GroupConfig;pub use crate::config::LineConfig;pub use crate::config::SimConfig;pub use crate::dispatch::reposition::DemandWeighted;pub use crate::dispatch::reposition::NearestIdle;pub use crate::dispatch::reposition::ReturnToLobby;pub use crate::dispatch::reposition::SpreadEvenly;pub use crate::dispatch::AssignedCar;pub use crate::dispatch::DestinationDispatch;pub use crate::dispatch::DispatchDecision;pub use crate::dispatch::DispatchManifest;pub use crate::dispatch::DispatchStrategy;pub use crate::dispatch::ElevatorGroup;pub use crate::dispatch::EtdDispatch;pub use crate::dispatch::LookDispatch;pub use crate::dispatch::NearestCarDispatch;pub use crate::dispatch::RankContext;pub use crate::dispatch::RepositionStrategy;pub use crate::dispatch::ScanDispatch;pub use crate::entity::ElevatorId;pub use crate::entity::EntityId;pub use crate::entity::RiderId;pub use crate::error::EtaError;pub use crate::error::RejectionContext;pub use crate::error::RejectionReason;pub use crate::error::SimError;pub use crate::events::Event;pub use crate::events::EventBus;pub use crate::events::EventCategory;pub use crate::ids::GroupId;pub use crate::metrics::Metrics;pub use crate::sim::RiderBuilder;pub use crate::sim::Simulation;pub use crate::stop::StopConfig;pub use crate::stop::StopId;pub use crate::stop::StopRef;pub use crate::time::TimeAdapter;pub use crate::world::ExtKey;pub use crate::world::World;