-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug: incorrect graph displayed #50
base: main
Are you sure you want to change the base?
Conversation
I'm not totally convinced yet, this leads to unfortunate API impacts to users, + bevy_mod_debugdump a bit difficult to parse, see jakobhellermann/bevy_mod_debugdump#50
as of 49d21ca ; the output looks like that: More context
I tried to use functions from petgraph but was only greeted by difficulties:
I dropped the idea of using petgraph "correctly" and focused on getting somewhat of a progress |
|
||
/// Formats the schedule into a dot graph. | ||
pub fn schedule_graph_dot(schedule: &Schedule, world: &World, settings: &Settings) -> String { | ||
let graph = schedule.graph(); | ||
let hierarchy = graph.hierarchy().graph(); | ||
let dependency = graph.dependency().graph(); | ||
let dependency = &mut graph.dependency().graph().clone(); | ||
remove_transitive_edges(dependency); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This might benefit being an option, or fix within bevy (chain()
logic which might be the original culprit, but needs a lot more investigation so I'd make that a follow up only if needed.)
I'm not sure if the bug is originating from this crate or bevy, but it seems weird that
system_no_set
is linked tosystem_in_child_set2
(green arrow should not exist).Real project example
From Split RapierContext dimforge/bevy_rapier#585
Current output from bevy_mod_debugdump: