bevyengine / bevyengine/bevy

Add a first-party schedule visualizer

Open
#10,981 3 comments 11 reactions 0 assignees View on GitHub
A-Dev-Tools A-ECS A-Editor C-Feature D-Complex S-Needs-Design
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.