Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Build a Smaller Bevy Scheduler

Reconstruction projectAccess-driven parallelismAnalysis first

Preserve the architectural center, not Bevy’s game API.

  1. Create a World with typed resource storage and two component columns.
  2. Adapt ordinary functions into a System trait with initialize/run methods.
  3. Have each parameter register read and write TypeId access.
  4. Build a dependency DAG and reject cycles.
  5. Run ready, access-compatible systems with scoped worker tasks.
  6. Add a per-system command queue and one explicit apply barrier.
  7. Add a non-Send system that must execute on the coordinator thread.
  8. Add an AssetServer-like background task returning an owned result.
  9. Copy render-relevant state into a second World and process it independently.

Tests should prove that readers overlap, writers exclude, dependencies override compatibility, commands cannot invalidate live queries, a panic is surfaced, and stale entity generations are rejected.

Production Bevy additionally supplies archetypes, sparse storage, query caching, change ticks, observers, reflection, scenes, platform runners, asset pipelines, render graphs, GPU lifetime management, and years of scheduler optimization.