Expand description
Small, platform-independent building blocks. Simulation time never comes from a wall clock.
use ferravex_core::{FixedClock, World};
let mut world = World::new();
world.spawn((42_u32,));
let mut clock = FixedClock::new(64.0, 8);
let frame = clock.advance(1.0 / 60.0);
for _ in 0..frame.steps { /* update systems with frame.dt */ }Re-exports§
pub use ferravex_ecs as ecs;
Modules§
- collision
- Small allocation-free 2D collision queries for game logic, independent of rendering.
- telemetry
- Opt-in local performance recordings. Durations are CPU wall time, never inferred GPU time.
Structs§
- Entity
- Opaque slot identity. A despawned entity never becomes valid again in its world. Handles are world-local; two separate worlds may issue the same identity.
- Fixed
Clock - Frame-rate independent simulation with bounded catch-up work.
- Frame
Stats - Allocation-free rolling frame-time statistics. Zero samples are valid.
- Frame
Step - A fixed simulation step budget with a fractional render interpolation factor.
- World
- Sparse typed storage with generational entities and checked component borrows.