Skip to content

Being able to visualize the exact schedule order being used #18310

@cBournhonesque

Description

@cBournhonesque

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

We currently have some tools to debug system-ambiguities:

  • printing system ambiguities
  • bevy_mod_debugdump

Those tools can mostly list the systems/sets that are ambiguous with each other, but they won't tell you the exact order that the Schedule is using. The Schedule is created once at app start so the order (schedule.topsort()) is fixed.

Often when I'm debugging something, I notice that I have a bug that is system-order dependant (for example 50% of the time my app breaks, and 50% of the time it works). In this case it would be very useful if I could actually print the exact system order that is used so I can compare the difference between the cases where my app breaks and the cases where it works.

What solution would you like?

It could be as some UI in the editor, or it could be a public method on Schedule that prints out the ordered list of systems (maybe via topsort()). Currently the schedule just outputs NodeId so we would have to map them back to system name or set name.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-Dev-ToolsTools used to debug Bevy applications.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-DesignThis issue requires design work to think about how it would best be accomplishedX-UncontroversialThis work is generally agreed upon

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions