Skip to content

System order reporting and visualization #2137

@alice-i-cecile

Description

@alice-i-cecile

What problem does this solve or what need does it fill?

The order in which systems can execute is critically important for understanding and debugging but this information is typically spread across an entire app.

What solution would you like?

  1. Provide a user-friendly method to log the schedule. This should be human-readable to both ease parsing and make it usable for vision-impaired users.
  2. Create a graph visualization from this log.
  3. Create an example showing how to use these features.

What alternative(s) have you considered?

None.

Additional context

This has been discussed informally repeatedly, but I somehow couldn't find an issue.

https://github.com/jakobhellermann/bevy_mod_debugdump is fantastic prior art.

Other more advanced functionality (e.g. filter by component / resource type, showing which execution order was actually used, filtering by stage or module) can be added on top of this once the initial PR is merged. Those should have separate issues for clarity.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-ECSEntities, components, systems, and eventsC-FeatureA new feature, making something new possibleC-UsabilityA targeted quality-of-life change that makes Bevy easier to useD-ComplexQuite challenging from either a design or technical perspective. Ask for help!S-Needs-Design-DocThis issue or PR is particularly complex, and needs an approved design doc before it can be merged

    Type

    No type

    Projects

    Status

    Needs Design

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions