Expand description
Ferravex: original, modular Rust engine systems using only project crates and std.
Re-exports§
pub use ferravex_core as core;
Modules§
- assets
- Deterministic cooked bundles with bounded parsing and transactional hot reload. The original RLE codec is intended for flat-color assets, not general-purpose compression. Each bundle permits 4096 paths (240 bytes each) and 64 MiB of decoded payload. Retained Arc readers keep old generations alive; the limit is per bundle, not global. Checksums detect corruption and provide no authentication or encryption.
- audio
- Original PCM16 WAV decoder and bounded stereo spatial mixer. The mixer writes PCM; a platform audio device supplies its output callback.
- dynamics
- Original, dependency-free 2D/3D translational rigid-body physics.
- ecs
- Original, dependency-free entity/component storage for small Ferravex games.
- graphics
- First-party CPU graphics: reusable mesh storage, visibility and low-poly rasterization.
- input
- Platform-independent action mapping. Edges survive until a simulation tick consumes them. At most 256 actions, 64 bindings per action, and 1024 active physical values.
- math
- Original, dependency-free scalar game mathematics.
- net
- Bounded, versioned network protocol shared by native and browser game clients.
- physics
- Original rigid-body simulation for the recovered Ferravex games.
- play
- Original, dependency-free gameplay systems shared by small Ferravex games. Arrays keep these systems independent of a renderer or a particular math crate.
- profile
- Bounded telemetry. Register counters once; recording does not allocate. Summary construction clones a bounded name; ids belong to their originating profiler.
- render
- Original immediate renderer and platform ABI. Game code, input, geometry and scheduling live in Rust; hosts only bind OS events and GPU submission.
- replay
- Original bounded binary input replay. Checksums detect corruption, not malicious tampering. Replay stores inputs and hashes; it does not capture arbitrary game state or restore sessions.
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.