From 2df7258570ce59aedd7fb4c0dea3d3290eb02a47 Mon Sep 17 00:00:00 2001 From: Sébastien Crozet Date: Sun, 24 Mar 2024 17:25:42 +0100 Subject: feat: update testbeds to bevy 0.13 --- crates/rapier_testbed2d-f64/Cargo.toml | 50 ++++++++++---------- crates/rapier_testbed2d/Cargo.toml | 50 ++++++++++---------- crates/rapier_testbed3d-f64/Cargo.toml | 50 ++++++++++---------- crates/rapier_testbed3d/Cargo.toml | 54 +++++++++++----------- examples3d/vehicle_joints3.rs | 8 ++-- src_testbed/camera2d.rs | 2 +- src_testbed/camera3d.rs | 2 +- src_testbed/debug_render.rs | 6 +-- src_testbed/graphics.rs | 26 ++++++++--- src_testbed/objects/node.rs | 84 ++++++++++++++++++---------------- src_testbed/plugin.rs | 6 +-- src_testbed/testbed.rs | 80 ++++++++++++++++++-------------- 12 files changed, 223 insertions(+), 195 deletions(-) diff --git a/crates/rapier_testbed2d-f64/Cargo.toml b/crates/rapier_testbed2d-f64/Cargo.toml index 2212a03..933ddfe 100644 --- a/crates/rapier_testbed2d-f64/Cargo.toml +++ b/crates/rapier_testbed2d-f64/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "rapier_testbed2d-f64" +name = "rapier_testbed2d-f64" version = "0.18.0" -authors = [ "Sébastien Crozet " ] +authors = ["Sébastien Crozet "] description = "Testbed for the Rapier 2-dimensional physics engine in Rust." homepage = "http://rapier.org" repository = "https://github.com/dimforge/rapier" -categories = [ "science", "game-development", "mathematics", "simulation", "wasm"] -keywords = [ "physics", "dynamics", "rigid", "real-time", "impulse_joints" ] +categories = ["science", "game-development", "mathematics", "simulation", "wasm"] +keywords = ["physics", "dynamics", "rigid", "real-time", "impulse_joints"] license = "Apache-2.0" edition = "2021" @@ -16,48 +16,48 @@ maintenance = { status = "actively-developed" } [lib] name = "rapier_testbed2d" path = "../../src_testbed/lib.rs" -required-features = [ "dim2" ] +required-features = ["dim2"] [features] -default = [ "dim2" ] -dim2 = [ ] -parallel = [ "rapier/parallel", "num_cpus" ] -other-backends = [ "wrapped2d" ] +default = ["dim2"] +dim2 = [] +parallel = ["rapier/parallel", "num_cpus"] +other-backends = ["wrapped2d"] [package.metadata.docs.rs] features = ["parallel", "other-backends"] [dependencies] -nalgebra = { version = "0.32", features = [ "rand" ] } -rand = "0.8" -rand_pcg = "0.3" -instant = { version = "0.1", features = [ "web-sys", "now" ]} -bitflags = "1" -num_cpus = { version = "1", optional = true } -wrapped2d = { version = "0.4", optional = true } +nalgebra = { version = "0.32", features = ["rand"] } +rand = "0.8" +rand_pcg = "0.3" +instant = { version = "0.1", features = ["web-sys", "now"] } +bitflags = "1" +num_cpus = { version = "1", optional = true } +wrapped2d = { version = "0.4", optional = true } crossbeam = "0.8" bincode = "1" -Inflector = "0.11" +Inflector = "0.11" md5 = "0.7" -bevy_egui = "0.23" -bevy_ecs = "0.12" -bevy_core_pipeline = "0.12" -bevy_pbr = "0.12" -bevy_sprite = "0.12" +bevy_egui = "0.26" +bevy_ecs = "0.13" +bevy_core_pipeline = "0.13" +bevy_pbr = "0.13" +bevy_sprite = "0.13" #bevy_prototype_debug_lines = "0.7" # Dependencies for native only. [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -bevy = {version = "0.12", default-features = false, features = ["bevy_asset", "bevy_winit", "x11", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"]} +bevy = { version = "0.13", default-features = false, features = ["bevy_asset", "bevy_winit", "x11", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"] } # Dependencies for WASM only. [target.'cfg(target_arch = "wasm32")'.dependencies] -bevy = {version = "0.12", default-features = false, features = ["bevy_asset", "bevy_winit", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"]} +bevy = { version = "0.13", default-features = false, features = ["bevy_asset", "bevy_winit", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"] } #bevy_webgl2 = "0.5" [dependencies.rapier] package = "rapier2d-f64" path = "../rapier2d-f64" version = "0.18.0" -features = [ "serde-serialize", "debug-render", "profiler" ] +features = ["serde-serialize", "debug-render", "profiler"] diff --git a/crates/rapier_testbed2d/Cargo.toml b/crates/rapier_testbed2d/Cargo.toml index 06c32e3..9cbbe4a 100644 --- a/crates/rapier_testbed2d/Cargo.toml +++ b/crates/rapier_testbed2d/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "rapier_testbed2d" +name = "rapier_testbed2d" version = "0.18.0" -authors = [ "Sébastien Crozet " ] +authors = ["Sébastien Crozet "] description = "Testbed for the Rapier 2-dimensional physics engine in Rust." homepage = "http://rapier.org" repository = "https://github.com/dimforge/rapier" -categories = [ "science", "game-development", "mathematics", "simulation", "wasm"] -keywords = [ "physics", "dynamics", "rigid", "real-time", "impulse_joints" ] +categories = ["science", "game-development", "mathematics", "simulation", "wasm"] +keywords = ["physics", "dynamics", "rigid", "real-time", "impulse_joints"] license = "Apache-2.0" edition = "2021" @@ -16,48 +16,48 @@ maintenance = { status = "actively-developed" } [lib] name = "rapier_testbed2d" path = "../../src_testbed/lib.rs" -required-features = [ "dim2" ] +required-features = ["dim2"] [features] -default = [ "dim2" ] -dim2 = [ ] -parallel = [ "rapier/parallel", "num_cpus" ] -other-backends = [ "wrapped2d" ] +default = ["dim2"] +dim2 = [] +parallel = ["rapier/parallel", "num_cpus"] +other-backends = ["wrapped2d"] [package.metadata.docs.rs] features = ["parallel", "other-backends"] [dependencies] -nalgebra = { version = "0.32", features = [ "rand" ] } -rand = "0.8" -rand_pcg = "0.3" -instant = { version = "0.1", features = [ "web-sys", "now" ]} -bitflags = "1" -num_cpus = { version = "1", optional = true } -wrapped2d = { version = "0.4", optional = true } +nalgebra = { version = "0.32", features = ["rand"] } +rand = "0.8" +rand_pcg = "0.3" +instant = { version = "0.1", features = ["web-sys", "now"] } +bitflags = "1" +num_cpus = { version = "1", optional = true } +wrapped2d = { version = "0.4", optional = true } crossbeam = "0.8" bincode = "1" -Inflector = "0.11" +Inflector = "0.11" md5 = "0.7" -bevy_egui = "0.23" -bevy_ecs = "0.12" -bevy_core_pipeline = "0.12" -bevy_pbr = "0.12" -bevy_sprite = "0.12" +bevy_egui = "0.26" +bevy_ecs = "0.13" +bevy_core_pipeline = "0.13" +bevy_pbr = "0.13" +bevy_sprite = "0.13" #bevy_prototype_debug_lines = "0.7" # Dependencies for native only. [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -bevy = {version = "0.12", default-features = false, features = ["bevy_sprite", "bevy_winit", "x11", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"]} +bevy = { version = "0.13", default-features = false, features = ["bevy_sprite", "bevy_winit", "x11", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"] } # Dependencies for WASM only. [target.'cfg(target_arch = "wasm32")'.dependencies] -bevy = {version = "0.12", default-features = false, features = ["bevy_sprite", "bevy_winit", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"]} +bevy = { version = "0.13", default-features = false, features = ["bevy_sprite", "bevy_winit", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"] } #bevy_webgl2 = "0.5" [dependencies.rapier] package = "rapier2d" path = "../rapier2d" version = "0.18.0" -features = [ "serde-serialize", "debug-render", "profiler" ] +features = ["serde-serialize", "debug-render", "profiler"] diff --git a/crates/rapier_testbed3d-f64/Cargo.toml b/crates/rapier_testbed3d-f64/Cargo.toml index ca3c95c..1ceaa44 100644 --- a/crates/rapier_testbed3d-f64/Cargo.toml +++ b/crates/rapier_testbed3d-f64/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "rapier_testbed3d-f64" +name = "rapier_testbed3d-f64" version = "0.18.0" -authors = [ "Sébastien Crozet " ] +authors = ["Sébastien Crozet "] description = "Testbed for the Rapier 3-dimensional physics engine in Rust." homepage = "http://rapier.org" repository = "https://github.com/dimforge/rapier" -categories = [ "science", "game-development", "mathematics", "simulation", "wasm"] -keywords = [ "physics", "dynamics", "rigid", "real-time", "impulse_joints" ] +categories = ["science", "game-development", "mathematics", "simulation", "wasm"] +keywords = ["physics", "dynamics", "rigid", "real-time", "impulse_joints"] license = "Apache-2.0" edition = "2021" @@ -16,47 +16,47 @@ maintenance = { status = "actively-developed" } [lib] name = "rapier_testbed3d" path = "../../src_testbed/lib.rs" -required-features = [ "dim3" ] +required-features = ["dim3"] [features] -default = [ "dim3" ] -dim3 = [ ] -parallel = [ "rapier/parallel", "num_cpus" ] +default = ["dim3"] +dim3 = [] +parallel = ["rapier/parallel", "num_cpus"] [package.metadata.docs.rs] features = ["parallel"] [dependencies] -nalgebra = { version = "0.32", features = [ "rand" ] } -rand = "0.8" -rand_pcg = "0.3" -instant = { version = "0.1", features = [ "web-sys", "now" ]} -bitflags = "1" -num_cpus = { version = "1", optional = true } +nalgebra = { version = "0.32", features = ["rand"] } +rand = "0.8" +rand_pcg = "0.3" +instant = { version = "0.1", features = ["web-sys", "now"] } +bitflags = "1" +num_cpus = { version = "1", optional = true } crossbeam = "0.8" bincode = "1" md5 = "0.7" -Inflector = "0.11" -serde = { version = "1", features = [ "derive" ] } - -bevy_egui = "0.23" -bevy_ecs = "0.12" -bevy_core_pipeline = "0.12" -bevy_pbr = "0.12" -bevy_sprite = "0.12" +Inflector = "0.11" +serde = { version = "1", features = ["derive"] } + +bevy_egui = "0.26" +bevy_ecs = "0.13" +bevy_core_pipeline = "0.13" +bevy_pbr = "0.13" +bevy_sprite = "0.13" #bevy_prototype_debug_lines = { version = "0.7", features = [ "3d" ] } # Dependencies for native only. [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -bevy = {version = "0.12", default-features = false, features = ["bevy_winit", "x11", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"]} +bevy = { version = "0.13", default-features = false, features = ["bevy_winit", "x11", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"] } # Dependencies for WASM only. [target.'cfg(target_arch = "wasm32")'.dependencies] -bevy = {version = "0.12", default-features = false, features = ["bevy_winit", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"]} +bevy = { version = "0.13", default-features = false, features = ["bevy_winit", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"] } #bevy_webgl2 = "0.5" [dependencies.rapier] package = "rapier3d-f64" path = "../rapier3d-f64" version = "0.18.0" -features = [ "serde-serialize", "debug-render", "profiler" ] +features = ["serde-serialize", "debug-render", "profiler"] diff --git a/crates/rapier_testbed3d/Cargo.toml b/crates/rapier_testbed3d/Cargo.toml index 3b3bdeb..dd2a637 100644 --- a/crates/rapier_testbed3d/Cargo.toml +++ b/crates/rapier_testbed3d/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "rapier_testbed3d" +name = "rapier_testbed3d" version = "0.18.0" -authors = [ "Sébastien Crozet " ] +authors = ["Sébastien Crozet "] description = "Testbed for the Rapier 3-dimensional physics engine in Rust." homepage = "http://rapier.org" repository = "https://github.com/dimforge/rapier" -categories = [ "science", "game-development", "mathematics", "simulation", "wasm"] -keywords = [ "physics", "dynamics", "rigid", "real-time", "impulse_joints" ] +categories = ["science", "game-development", "mathematics", "simulation", "wasm"] +keywords = ["physics", "dynamics", "rigid", "real-time", "impulse_joints"] license = "Apache-2.0" edition = "2021" @@ -16,51 +16,51 @@ maintenance = { status = "actively-developed" } [lib] name = "rapier_testbed3d" path = "../../src_testbed/lib.rs" -required-features = [ "dim3" ] +required-features = ["dim3"] [features] -default = [ "dim3" ] -dim3 = [ ] -parallel = [ "rapier/parallel", "num_cpus" ] -other-backends = [ "physx", "physx-sys", "glam" ] +default = ["dim3"] +dim3 = [] +parallel = ["rapier/parallel", "num_cpus"] +other-backends = ["physx", "physx-sys", "glam"] [package.metadata.docs.rs] features = ["parallel", "other-backends"] [dependencies] -nalgebra = { version = "0.32", features = [ "rand" ] } -rand = "0.8" -rand_pcg = "0.3" -instant = { version = "0.1", features = [ "web-sys", "now" ]} -bitflags = "1" -glam = { version = "0.24", optional = true } # For Physx -num_cpus = { version = "1", optional = true } -physx = { version = "0.19", features = [ "glam" ], optional = true } +nalgebra = { version = "0.32", features = ["rand"] } +rand = "0.8" +rand_pcg = "0.3" +instant = { version = "0.1", features = ["web-sys", "now"] } +bitflags = "1" +glam = { version = "0.24", optional = true } # For Physx +num_cpus = { version = "1", optional = true } +physx = { version = "0.19", features = ["glam"], optional = true } physx-sys = { version = "0.11", optional = true } crossbeam = "0.8" bincode = "1" md5 = "0.7" -Inflector = "0.11" -serde = { version = "1", features = [ "derive" ] } +Inflector = "0.11" +serde = { version = "1", features = ["derive"] } -bevy_egui = "0.23" -bevy_ecs = "0.12" -bevy_core_pipeline = "0.12" -bevy_pbr = "0.12" -bevy_sprite = "0.12" +bevy_egui = "0.26" +bevy_ecs = "0.13" +bevy_core_pipeline = "0.13" +bevy_pbr = "0.13" +bevy_sprite = "0.13" #bevy_prototype_debug_lines = { version = "0.7", features = [ "3d" ] } # Dependencies for native only. [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -bevy = {version = "0.12", default-features = false, features = ["bevy_winit", "x11", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"]} +bevy = { version = "0.13", default-features = false, features = ["bevy_winit", "x11", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"] } # Dependencies for WASM only. [target.'cfg(target_arch = "wasm32")'.dependencies] -bevy = {version = "0.12", default-features = false, features = ["bevy_winit", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"]} +bevy = { version = "0.13", default-features = false, features = ["bevy_winit", "tonemapping_luts", "ktx2", "zstd", "bevy_render", "bevy_pbr", "bevy_gizmos"] } #bevy_webgl2 = "0.5" [dependencies.rapier] package = "rapier3d" path = "../rapier3d" version = "0.18.0" -features = [ "serde-serialize", "debug-render", "profiler" ] +features = ["serde-serialize", "debug-render", "profiler"] diff --git a/examples3d/vehicle_joints3.rs b/examples3d/vehicle_joints3.rs index ddd672c..5eba608 100644 --- a/examples3d/vehicle_joints3.rs +++ b/examples3d/vehicle_joints3.rs @@ -138,16 +138,16 @@ pub fn init_world(testbed: &mut Testbed) { for key in gfx.keys().get_pressed() { match *key { - KeyCode::Right => { + KeyCode::ArrowRight => { steering = -1.0; } - KeyCode::Left => { + KeyCode::ArrowLeft => { steering = 1.0; } - KeyCode::Up => { + KeyCode::ArrowUp => { thrust = -drive_strength; } - KeyCode::Down => { + KeyCode::ArrowDown => { thrust = drive_strength; } KeyCode::ShiftRight => { diff --git a/src_testbed/camera2d.rs b/src_testbed/camera2d.rs index 6ba17a1..ae5c163 100644 --- a/src_testbed/camera2d.rs +++ b/src_testbed/camera2d.rs @@ -48,7 +48,7 @@ impl OrbitCameraPlugin { fn mouse_motion_system( _time: Res