Bug: too noisy graph displayed#50
Bug: too noisy graph displayed#50ThierryBerger wants to merge 3 commits intojakobhellermann:mainfrom
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 |
| 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.
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've rewritten the code a bit and merged the PR as 7f8c5d3 Now without petgraph since bevy doesn't expose it anymore, but I think my toposort implementation should be right. The bevy schedules all look fine, with two or so of them having clarity improvements. I've made the transitive pruning configurable, but on by default, as I expect most people would prefer that. |
|
Cool, thanks! as a heads-up, I think bevy is considering re-using petgraph, so there might be a little back and forth churn again, but we'll see when it comes :) |
I'm not sure if the bug is originating from this crate or bevy, but it seems weird that
system_no_setis 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: