Overview
Bevy Mastery loads the ECS mental model into your agent: the world is a database, systems are queries the scheduler parallelizes wherever data access allows, and both of Bevy's gifts — Rust's guarantees and automatic parallelism — are bought by declaring data access honestly. Version awareness is doctrine, not a tip: Bevy breaks APIs every release, so the rune teaches what survives (the model, scheduling, architecture) and the discipline of migration guides. Fifteen non-negotiables and two decision frameworks (where does this logic live, and component granularity); nine references cover ECS fundamentals, app architecture with plugins and states, events and observers, transforms and rendering, assets and scenes, input and UI, gameplay patterns with Avian physics, performance on both clocks (frame time and compile time), and an error bestiary with the ecosystem crate map.
What it grants
- 01Version-survival discipline: check Cargo.toml first, migration guides as ritual, ecosystem compat tables before any bump
- 02ECS doctrine: components as data, markers everywhere, state-as-component, the archetype cost model
- 03Query craft: tight access for parallelism, deferred-command boundaries, the B0001 resolution ladder
- 04Architecture that scales: one plugin per feature, set spines (Intents→Resolve→Cleanup), states with symmetric cleanup
- 05The reactive palette: buffered events vs observers vs change detection — chosen by timing, not habit
- 06Gameplay in FixedUpdate, presentation in Update — with intent components bridging the two clocks
- 07Avian physics integration, character controllers with buffering and coyote time, timers as components
- 08Headless testing as a superpower: MinimalPlugins + gameplay plugins asserted in CI without a window
- 09Both performance fights won: dynamic_linking dev loops in seconds, Tracy-profiled schedules in release
- 10WASM/itch builds with the web platform's rules, and the honest Bevy-vs-web-stack sizing call
Try it like this
agent> Restructure this main.rs the bevy-mastery way — feature plugins, a set spine in FixedUpdate, states with scoped cleanup, and intents bridging input to simulation.