Foundation for the Detterot prototype. Launch the Bevy game from VS Code (F5) to see a neon cube lit in a simple scene with diagnostics overlay, Kira audio, and automated camera paths. Enable the optional avian_physics feature to swap the default grid/no-op physics loop for Avian 3D's schedule. Continuous integration keeps formatting, linting, tests, and determinism checks green on both macOS and Ubuntu.
- Install the recommended VS Code extensions (Rust Analyzer, CodeLLDB, Even Better TOML).
- Open the workspace and press F5 ("Run game (debug)") to build and launch the window.
- Explore
repro/perf_scenes.tomlandrepro/paths/to tweak autoplay camera paths. - Run the debug config (F5) to build with
--features dev(which enablesavian_physics) and access Avian's collider debug overlay; release builds omit the extra debug plugin and stick to the deterministic grid physics loop.
cargo fmt,cargo clippy -D warnings, andcargo testmust pass before merging.tools/repro_harnessreplays golden records and validates hashes for determinism checks.
See CONTRIBUTING.md for etiquette, performance expectations, and the economy invariants CI enforces.
- Track milestone changes in docs/plan_changelog.md; the latest entry covers the v1.0.2 M1 economy deliverables.
Economy determinism is guarded by CSV/JSON fixtures under crates/econ_sim/tests/goldens/ and crates/game/src/systems/economy/tests/. Any intentional change to DI, basis, or interest math will move those fixtures. Regenerate them with the helper env var so the updated values are written back in-place:
UPDATE_ECON_GOLDENS=1 cargo test -p econ-sim micro_sim_generates_golden_csv
UPDATE_ECON_GOLDENS=1 cargo test -p game state_step_matches_golden
Both tests now read the golden data at runtime, so re-running them without the env var immediately verifies the refreshed outputs. For implementation details, review the economy bullets in CONTRIBUTING.md and the CI helpers under ci/.clippy.toml and ci/grep_banned_random.sh.