Add a first-party schedule visualizer
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## What problem does this solve or what need does it fill?
In traditional OOP-based game development, per-frame logic flow is generally easier to deduce because (usually) the call-stack *is* the schedule. We don't have that luxury with today's data driven scheduling mechanism.
## What solution would you like?
A way to visualize the schedule graph with all ordering constraints displayed. This could (and should) be part of the Bevy Editor when we get there, but a first-party solution now would also be nice.
### Recommended Features:
- Viewing individual Schedules.
- Searching by System Sets and Systems to see their scheduling constraints.
- See which Plugins registered which Schedules, System Sets, and Systems.
- Also extend this to registered hooks and observers, if possible.
- Live visualization of the schedule graph, with the ability to freeze the visualizer at any point for review.
- Breakpoint-style visualization freezes whenever a Schedule is modified.
Those last two will be very important for debugging if/when we get runtime schedule modification.
## What alternative(s) have you considered?
Continue using [`bevy_mod_debugdump`](https://crates.io/crates/bevy_mod_debugdump) as-is.
## Additional Context
Prior Art: [`bevy_mod_debugdump`](https://crates.io/crates/bevy_mod_debugdump)
Contributor guide
Research direction
Start by reviewing bevy_mod_debugdump, the cited prior art, and Bevy's scheduling and plugin concepts. Define the scope of a first-party schedule visualizer, including schedule-graph constraints, search, plugin provenance, and freeze behavior; done should be demonstrated by a working visualizer covering the agreed scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- devtools, game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100