Skip to content

Commit 5e91c6c

Browse files
authored
Add example to output a debugdump (#576)
1 parent 8d10abc commit 5e91c6c

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

bevy_rapier2d/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ approx = "0.5.1"
6767
glam = { version = "0.27", features = ["approx"] }
6868
bevy-inspector-egui = "0.25.1"
6969
bevy_egui = "0.28.0"
70+
bevy_mod_debugdump = "0.11"
7071

7172
[package.metadata.docs.rs]
7273
# Enable all the features when building the docs on docs.rs

bevy_rapier2d/examples/debugdump2.rs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
//! Example using bevy_mod_debugdump to output a graph of systems execution order.
2+
//! run with:
3+
//! `cargo run --example debugdump2 > dump.dot && dot -Tsvg dump.dot > dump.svg`
4+
5+
use bevy::prelude::*;
6+
use bevy_mod_debugdump::{schedule_graph, schedule_graph_dot};
7+
use bevy_rapier2d::prelude::*;
8+
9+
fn main() {
10+
let mut app = App::new();
11+
app.add_plugins((
12+
DefaultPlugins,
13+
RapierPhysicsPlugin::<NoUserData>::pixels_per_meter(100.0),
14+
RapierDebugRenderPlugin::default(),
15+
));
16+
17+
let mut debugdump_settings = schedule_graph::Settings::default();
18+
// Filter out some less relevant systems.
19+
debugdump_settings.include_system =
20+
Some(Box::new(|system: &(dyn System<In = (), Out = ()>)| {
21+
if system.name().starts_with("bevy_pbr")
22+
|| system.name().starts_with("bevy_render")
23+
|| system.name().starts_with("bevy_gizmos")
24+
|| system.name().starts_with("bevy_winit")
25+
|| system.name().starts_with("bevy_sprite")
26+
{
27+
return false;
28+
}
29+
true
30+
}));
31+
let dot = schedule_graph_dot(&mut app, PostUpdate, &debugdump_settings);
32+
println!("{dot}");
33+
}

0 commit comments

Comments
 (0)