Expand description
Headless sim: bevy_ecs world stepped without a renderer.
Game owns Sim, feeds wall time via Sim::step,
then reads a snapshot for the viewport.
Determinism stance: bevy_ecs query iteration follows entity allocation
history, so a replay with an identical spawn history iterates
identically. The sim does NOT sort systems’ iteration for you: any
gameplay outcome that depends on iteration order (damage application,
projectile-vs-multiple-enemies resolution) must sort explicitly in the
affected system, or replays diverge the moment allocation history does.
Cross-platform float equality (notably Perlin/sin/powf in fx) is
additionally not guaranteed between native libm and wasm; same-binary
replay is the supported claim, cross-target equality needs a harness
(run one trace twice, hash the world per tick, diff).
Re-exports§
pub use state::NextState;pub use state::State;pub use state::States;pub use state::in_state;pub use task::Task;pub use task::TaskPool;pub use timer::StepTimer;pub use timer::TimerMode;pub use bevy_ecs;
Modules§
- state
- Typed game states with enter/exit/transition schedules.
- task
- A fixed-size job pool for off-thread work.
- timer
- Fixed-step countdown timer: the alarm pattern step-based games run on. Counts down in sim steps, fires exactly on the landing step, re-arms for repeats; a disarmed timer never fires.