Skip to content

Commit 7ad5f70

Browse files
Jengamonjakobhellermann
authored andcommitted
Update to bevy 0.19
- this is more a subtractive change b/c in 0.19, render graphs no longer exist, it's Schedules all the way down. (This *also* means that we don't need `bevy_render` as an optional dependency anymore.)
1 parent ea78cdb commit 7ad5f70

7 files changed

Lines changed: 30 additions & 110 deletions

File tree

Cargo.toml

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,35 +11,28 @@ edition = "2021"
1111
exclude = ["docs/*"]
1212

1313
[features]
14-
default = ["cli", "render_graph"]
14+
default = ["cli"]
1515
cli = ["dep:lexopt"]
16-
render_graph = ["dep:bevy_render"]
1716

1817
[dependencies]
19-
bevy_app = { version = "0.18.0" }
20-
bevy_color = { version = "0.18.0" }
21-
bevy_ecs = { version = "0.18.0" }
22-
bevy_log = { version = "0.18.0" }
23-
bevy_platform = { version = "0.18.0" }
24-
bevy_render = { version = "0.18.0", optional = true }
25-
bevy_utils = { version = "0.18.0", features = ["debug"] }
18+
bevy_app = { version = "0.19.0-dev" }
19+
bevy_color = { version = "0.19.0-dev" }
20+
bevy_ecs = { version = "0.19.0-dev" }
21+
bevy_log = { version = "0.19.0-dev" }
22+
bevy_platform = { version = "0.19.0-dev" }
23+
bevy_utils = { version = "0.19.0-dev", features = ["debug"] }
2624
disqualified = "1.0"
2725
lexopt = { version = "0.3.0", optional = true }
2826

2927
[dev-dependencies]
30-
bevy = { version = "0.18.0" }
28+
bevy = { version = "0.19.0-dev" }
3129

32-
[[example]]
33-
name = "generate_docs"
34-
required-features = ["render_graph"]
35-
36-
[[example]]
37-
name = "print_render_graph"
38-
required-features = ["render_graph"]
39-
40-
# [patch.crates-io]
30+
[patch.crates-io]
4131
# bevy_ecs = { path = "../bevy/crates/bevy_ecs" }
4232
# bevy_app = { path = "../bevy/crates/bevy_app" }
33+
# bevy_color = { path = "../bevy/crates/bevy_color" }
34+
# bevy_log = { path = "../bevy/crates/bevy_log" }
35+
# bevy_platform = { path = "../bevy/crates/bevy_platform" }
4336
# bevy_utils = { path = "../bevy/crates/bevy_utils" }
44-
# bevy_render = { path = "../bevy/crates/bevy_render" }
4537
# bevy = { path = "../bevy" }
38+
bevy = { git = "https://github.com/bevyengine/bevy" }

examples/generate_docs.rs

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
use std::{any::TypeId, path::PathBuf};
22

33
use bevy::{
4-
core_pipeline::core_3d::Transmissive3d,
5-
pbr::{MeshInputUniform, MeshUniform},
4+
pbr::{MeshInputUniform, MeshUniform, Transmissive3d},
65
prelude::*,
76
render::RenderApp,
87
};
@@ -118,18 +117,6 @@ fn main() -> Result<(), std::io::Error> {
118117
})
119118
})?;
120119

121-
let settings_render_light = bevy_mod_debugdump::render_graph::Settings {
122-
style: bevy_mod_debugdump::render_graph::settings::Style::light(),
123-
};
124-
let settings_render_dark = bevy_mod_debugdump::render_graph::Settings {
125-
style: bevy_mod_debugdump::render_graph::settings::Style::dark_github(),
126-
};
127-
let dot_light = bevy_mod_debugdump::render_graph_dot(&app, &settings_render_light);
128-
let dot_dark = bevy_mod_debugdump::render_graph_dot(&app, &settings_render_dark);
129-
let filename = "render_graph.dot";
130-
std::fs::write(render_path.join("light").join(filename), dot_light)?;
131-
std::fs::write(render_path.join("dark").join(filename), dot_dark)?;
132-
133120
Ok(())
134121
}
135122

examples/print_render_graph.rs

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/cli.rs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ use bevy_ecs::{
99
use bevy_log::{error, info};
1010
use std::io::Write;
1111

12-
#[cfg(feature = "render_graph")]
13-
use crate::{render_graph, render_graph_dot};
1412
use crate::{schedule_graph, schedule_graph_dot};
1513

1614
/// Check the command line for arguments relevant to this crate.
@@ -82,8 +80,6 @@ struct Args {
8280
/// A command to execute from the CLI.
8381
enum ArgsCommand {
8482
None,
85-
/// Dumps the render graph to the specified file path.
86-
DumpRender,
8783
/// Dumps the schedule graph.
8884
DumpSchedule {
8985
/// The schedule to dump.
@@ -109,8 +105,6 @@ fn parse_args() -> Result<Args, lexopt::Error> {
109105
if value == "dump-schedule" {
110106
let schedule = parser.value()?.parse()?;
111107
command = ArgsCommand::DumpSchedule { schedule };
112-
} else if value == "dump-render" {
113-
command = ArgsCommand::DumpRender;
114108
} else {
115109
return Err(arg.unexpected());
116110
}
@@ -163,18 +157,6 @@ fn execute_cli(app: &mut App) -> Result<Args> {
163157
args.exit = false;
164158
Ok(args)
165159
}
166-
#[cfg(feature = "render_graph")]
167-
ArgsCommand::DumpRender => {
168-
let settings = render_graph::Settings::default();
169-
write(&render_graph_dot(app, &settings))?;
170-
171-
Ok(args)
172-
}
173-
#[cfg(not(feature = "render_graph"))]
174-
ArgsCommand::DumpRender => Err(
175-
"cannot dump renderer, consider enabling the feature `bevy_mod_debugdump/render_graph"
176-
.into(),
177-
),
178160
ArgsCommand::DumpSchedule { schedule } => {
179161
let schedule = find_schedule(app, schedule)?;
180162

src/dot.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#![cfg_attr(not(feature = "render_graph"), allow(dead_code))]
2-
31
use std::borrow::Cow;
42
pub struct DotGraph {
53
buffer: String,
@@ -39,6 +37,11 @@ fn format_attributes(attrs: &[(&str, &str)]) -> String {
3937
let attrs = attrs.join(", ");
4038
format!("[{attrs}]")
4139
}
40+
41+
#[expect(
42+
unused,
43+
reason = "was used for rendering render graphs, which were removed in Bevy 0.19"
44+
)]
4245
pub fn font_tag(text: &str, color: &str, size: u8) -> String {
4346
if text.is_empty() {
4447
return "".to_string();
@@ -74,6 +77,10 @@ impl DotGraph {
7477
dot
7578
}
7679

80+
#[expect(
81+
unused,
82+
reason = "was used for rendering render graphs, which were removed in Bevy 0.19"
83+
)]
7784
pub fn digraph(name: &str, options: &[(&str, &str)]) -> DotGraph {
7885
DotGraph::new(name, "digraph", options)
7986
}

src/lib.rs

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ use bevy_ecs::schedule::{ScheduleLabel, Schedules};
88
mod cli;
99
mod dot;
1010

11-
#[cfg(feature = "render_graph")]
12-
pub mod render_graph;
1311
pub mod schedule_graph;
1412

1513
/// Formats the schedule into a dot graph.
@@ -43,49 +41,5 @@ pub fn print_schedule_graph(app: &mut App, schedule_label: impl ScheduleLabel) {
4341
println!("{dot}");
4442
}
4543

46-
/// Returns the current render graph using
47-
/// [`render_graph_dot`](render_graph::render_graph_dot).
48-
/// # Example
49-
/// ```rust,no_run
50-
/// use bevy::prelude::*;
51-
///
52-
/// fn main() {
53-
/// let mut app = App::new();
54-
/// app.add_plugins(DefaultPlugins);
55-
/// let settings = bevy_mod_debugdump::render_graph::Settings::default();
56-
/// let dot = bevy_mod_debugdump::render_graph_dot(&mut app, &settings);
57-
/// println!("{dot}");
58-
/// }
59-
/// ```
60-
#[cfg(feature = "render_graph")]
61-
pub fn render_graph_dot(app: &App, settings: &render_graph::Settings) -> String {
62-
use bevy_render::render_graph::RenderGraph;
63-
64-
let render_app = app
65-
.get_sub_app(bevy_render::RenderApp)
66-
.unwrap_or_else(|| panic!("no render app"));
67-
let render_graph = render_app.world().get_resource::<RenderGraph>().unwrap();
68-
69-
render_graph::render_graph_dot(render_graph, settings)
70-
}
71-
72-
/// Prints the current render graph using
73-
/// [`render_graph_dot`](render_graph::render_graph_dot).
74-
/// # Example
75-
/// ```rust,no_run
76-
/// use bevy::prelude::*;
77-
///
78-
/// fn main() {
79-
/// let mut app = App::new();
80-
/// app.add_plugins(DefaultPlugins);
81-
/// bevy_mod_debugdump::print_render_graph(&mut app);
82-
/// }
83-
/// ```
84-
#[cfg(feature = "render_graph")]
85-
pub fn print_render_graph(app: &mut App) {
86-
let dot = render_graph_dot(app, &render_graph::Settings::default());
87-
println!("{dot}");
88-
}
89-
9044
#[cfg(feature = "cli")]
9145
pub use cli::CommandLineArgs;

src/schedule_graph/mod.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,12 @@ impl ScheduleGraphContext<'_> {
289289
if let Some(include_ambiguity) = &self.settings.include_ambiguity {
290290
let system_a = self.graph.systems.get(system_a).unwrap();
291291
let system_b = self.graph.systems.get(system_b).unwrap();
292-
if !include_ambiguity(&system_a.system, &system_b.system, &conflicts, self.world) {
292+
if !include_ambiguity(
293+
&system_a.system(),
294+
&system_b.system(),
295+
&conflicts,
296+
self.world,
297+
) {
293298
continue;
294299
}
295300
}
@@ -590,7 +595,7 @@ impl ScheduleGraphContext<'_> {
590595

591596
fn full_name(&self, node_id: NodeId) -> Cow<'_, str> {
592597
match node_id {
593-
NodeId::System(key) => self.system_name(&self.graph.systems.get(key).unwrap().system),
598+
NodeId::System(key) => self.system_name(&self.graph.systems.get(key).unwrap().system()),
594599
NodeId::Set(key) => self.system_set_name(self.graph.system_sets.get(key).unwrap()),
595600
}
596601
}

0 commit comments

Comments
 (0)