diff --git a/Cargo.toml b/Cargo.toml index 6a521ab16..6c35191d3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,7 +42,7 @@ needless_lifetimes = "allow" #parry3d-f64 = { git = "https://github.com/dimforge/parry", branch = "master" } # See https://github.com/EmbarkStudios/puffin/pull/234 -puffin_egui = { git = "https://github.com/tedsteen/puffin.git", rev = "11771ebe00fd257aedbb545df3339ad597b1cc34" } +puffin_egui = { git = "https://github.com/tedsteen/puffin.git", rev = "993b78a05318d566687cab01036a2c3af5e54f6b" } # # For feature unstable-puffin-pr-235 diff --git a/crates/rapier_testbed2d-f64/Cargo.toml b/crates/rapier_testbed2d-f64/Cargo.toml index dfcc4e56d..0635a77e9 100644 --- a/crates/rapier_testbed2d-f64/Cargo.toml +++ b/crates/rapier_testbed2d-f64/Cargo.toml @@ -54,11 +54,11 @@ crossbeam = "0.8" bincode = "1" Inflector = "0.11" md5 = "0.7" -bevy_egui = "0.31" -bevy_ecs = "0.15" -bevy_core_pipeline = "0.15" -bevy_pbr = "0.15" -bevy_sprite = "0.15" +bevy_egui = "0.34" +bevy_ecs = "0.16" +bevy_core_pipeline = "0.16" +bevy_pbr = "0.16" +bevy_sprite = "0.16" profiling = "1.0" puffin_egui = { version = "0.29", optional = true } serde_json = "1" @@ -67,31 +67,35 @@ indexmap = { version = "2", features = ["serde"] } # Dependencies for native only. [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -bevy = { version = "0.15", default-features = false, features = [ +bevy = { version = "0.16", default-features = false, features = [ "bevy_asset", "bevy_winit", "bevy_window", "x11", + "wayland", "tonemapping_luts", "ktx2", "zstd", + "bevy_log", "bevy_render", "bevy_pbr", "bevy_gizmos", - "serialize" + "serialize", ] } # Dependencies for WASM only. [target.'cfg(target_arch = "wasm32")'.dependencies] -bevy = { version = "0.15", default-features = false, features = [ +bevy = { version = "0.16", default-features = false, features = [ "bevy_asset", "bevy_winit", "bevy_window", "tonemapping_luts", "ktx2", "zstd", + "bevy_log", "bevy_render", "bevy_pbr", + "bevy_picking", "bevy_gizmos", ] } #bevy_webgl2 = "0.5" diff --git a/crates/rapier_testbed2d/Cargo.toml b/crates/rapier_testbed2d/Cargo.toml index 9f8f6be99..19ea1c918 100644 --- a/crates/rapier_testbed2d/Cargo.toml +++ b/crates/rapier_testbed2d/Cargo.toml @@ -54,11 +54,11 @@ crossbeam = "0.8" bincode = "1" Inflector = "0.11" md5 = "0.7" -bevy_egui = "0.31" -bevy_ecs = "0.15" -bevy_core_pipeline = "0.15" -bevy_pbr = "0.15" -bevy_sprite = "0.15" +bevy_egui = "0.34" +bevy_ecs = "0.16" +bevy_core_pipeline = "0.16" +bevy_pbr = "0.16" +bevy_sprite = "0.16" profiling = "1.0" puffin_egui = { version = "0.29", optional = true } serde = { version = "1.0.215", features = ["derive"] } @@ -67,31 +67,35 @@ indexmap = { version = "2", features = ["serde"] } # Dependencies for native only. [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -bevy = { version = "0.15", default-features = false, features = [ +bevy = { version = "0.16", default-features = false, features = [ "bevy_sprite", "bevy_winit", "bevy_window", "x11", + "wayland", "tonemapping_luts", "ktx2", "zstd", + "bevy_log", "bevy_render", "bevy_pbr", "bevy_gizmos", - "serialize" + "serialize", ] } # Dependencies for WASM only. [target.'cfg(target_arch = "wasm32")'.dependencies] -bevy = { version = "0.15", default-features = false, features = [ +bevy = { version = "0.16", default-features = false, features = [ "bevy_sprite", "bevy_winit", "bevy_window", "tonemapping_luts", "ktx2", "zstd", + "bevy_log", "bevy_render", "bevy_pbr", + "bevy_picking", "bevy_gizmos", ] } #bevy_webgl2 = "0.5" diff --git a/crates/rapier_testbed3d-f64/Cargo.toml b/crates/rapier_testbed3d-f64/Cargo.toml index 1528cf50b..071e8bf17 100644 --- a/crates/rapier_testbed3d-f64/Cargo.toml +++ b/crates/rapier_testbed3d-f64/Cargo.toml @@ -57,43 +57,47 @@ md5 = "0.7" Inflector = "0.11" serde = { version = "1", features = ["derive"] } serde_json = "1" -bevy_egui = "0.31" -bevy_ecs = "0.15" -bevy_core_pipeline = "0.15" -bevy_pbr = "0.15" -bevy_sprite = "0.15" +bevy_egui = "0.34" +bevy_ecs = "0.16" +bevy_core_pipeline = "0.16" +bevy_pbr = "0.16" +bevy_sprite = "0.16" profiling = "1.0" puffin_egui = { version = "0.29", optional = true, git = "https://github.com/Vrixyz/puffin.git", branch = "expose_ui_options" } indexmap = { version = "2", features = ["serde"] } # Dependencies for native only. [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -bevy = { version = "0.15", default-features = false, features = [ +bevy = { version = "0.16", default-features = false, features = [ "bevy_winit", "bevy_window", "x11", + "wayland", "tonemapping_luts", "ktx2", "zstd", + "bevy_log", "bevy_render", "bevy_pbr", "bevy_gizmos", - "serialize" + "serialize", ] } # Dependencies for WASM only. [target.'cfg(target_arch = "wasm32")'.dependencies] -bevy = { version = "0.15", default-features = false, features = [ +bevy = { version = "0.16", default-features = false, features = [ "bevy_winit", "bevy_window", "bevy_window", "tonemapping_luts", "ktx2", "zstd", + "bevy_log", "bevy_render", "bevy_pbr", + "bevy_picking", "bevy_gizmos", - "serialize" + "serialize", ] } #bevy_webgl2 = "0.5" diff --git a/crates/rapier_testbed3d/Cargo.toml b/crates/rapier_testbed3d/Cargo.toml index 6fbc44d79..1c7e32ac4 100644 --- a/crates/rapier_testbed3d/Cargo.toml +++ b/crates/rapier_testbed3d/Cargo.toml @@ -58,39 +58,43 @@ md5 = "0.7" Inflector = "0.11" serde = { version = "1", features = ["derive"] } serde_json = "1" -bevy_egui = "0.31" -bevy_ecs = "0.15" -bevy_core_pipeline = "0.15" -bevy_pbr = "0.15" -bevy_sprite = "0.15" +bevy_egui = "0.34" +bevy_ecs = "0.16" +bevy_core_pipeline = "0.16" +bevy_pbr = "0.16" +bevy_sprite = "0.16" profiling = "1.0" puffin_egui = { version = "0.29", optional = true } indexmap = { version = "2", features = ["serde"] } # Dependencies for native only. [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -bevy = { version = "0.15", default-features = false, features = [ +bevy = { version = "0.16", default-features = false, features = [ "bevy_winit", "bevy_window", "x11", + "wayland", "tonemapping_luts", "ktx2", "zstd", + "bevy_log", "bevy_render", "bevy_pbr", "bevy_gizmos", - "serialize" + "serialize", ] } # Dependencies for WASM only. [target.'cfg(target_arch = "wasm32")'.dependencies] -bevy = { version = "0.15", default-features = false, features = [ +bevy = { version = "0.16", default-features = false, features = [ "bevy_winit", "tonemapping_luts", "ktx2", "zstd", + "bevy_log", "bevy_render", "bevy_pbr", + "bevy_picking", "bevy_gizmos", ] } #bevy_webgl2 = "0.5" diff --git a/examples3d/utils/character.rs b/examples3d/utils/character.rs index 3fa267f0d..e00b014c9 100644 --- a/examples3d/utils/character.rs +++ b/examples3d/utils/character.rs @@ -238,7 +238,7 @@ fn kinematic_control_ui(ui: &mut Ui, character_controller: &mut KinematicCharact .on_hover_text("The minimum angle (radians) between the floor’s normal and the `up` vector before the character starts to slide down automatically."); } let mut is_snapped = character_controller.snap_to_ground.is_some(); - if ui.checkbox(&mut is_snapped, "snap_to_ground").changed { + if ui.checkbox(&mut is_snapped, "snap_to_ground").changed() { match is_snapped { true => { character_controller.snap_to_ground = Some(CharacterLength::Relative(0.1)); diff --git a/examples3d/voxels3.rs b/examples3d/voxels3.rs index bc0bf6e14..12762c174 100644 --- a/examples3d/voxels3.rs +++ b/examples3d/voxels3.rs @@ -151,7 +151,7 @@ pub fn init_world(testbed: &mut Testbed) { /* * Some dynamic primitives. */ - let nik = 30; + let nik = 3; let extents = floor_aabb.extents() * 0.75; let margin = (floor_aabb.extents() - extents) / 2.0; let ball_radius = 0.5; diff --git a/src_testbed/mouse.rs b/src_testbed/mouse.rs index 01c98df5a..8077a2c91 100644 --- a/src_testbed/mouse.rs +++ b/src_testbed/mouse.rs @@ -18,7 +18,7 @@ pub fn track_mouse_state( windows: Query<&Window, With>, camera: Query<(&GlobalTransform, &Camera), With>, ) { - if let Ok(window) = windows.get_single() { + if let Ok(window) = windows.single() { for (camera_transform, camera) in camera.iter() { if let Some(cursor) = window.cursor_position() { let ndc_cursor = ((cursor / Vec2::new(window.width(), window.height()) * 2.0) diff --git a/src_testbed/testbed.rs b/src_testbed/testbed.rs index 321510a8a..b1fd4e39e 100644 --- a/src_testbed/testbed.rs +++ b/src_testbed/testbed.rs @@ -2,6 +2,7 @@ #![allow(clippy::unnecessary_cast)] // allowed for f32 -> f64 cast for the f64 testbed. use bevy::prelude::*; +use bevy_egui::EguiContextPass; use std::env; use std::mem; use std::num::NonZeroUsize; @@ -483,9 +484,11 @@ impl TestbedApp { .init_resource::() .add_plugins(DefaultPlugins.set(window_plugin)) .add_plugins(OrbitCameraPlugin) - .add_plugins(WireframePlugin) + .add_plugins(WireframePlugin::default()) .add_plugins(RapierDebugRenderPlugin::default()) - .add_plugins(bevy_egui::EguiPlugin); + .add_plugins(bevy_egui::EguiPlugin { + enable_multipass_for_primary_context: true, + }); #[cfg(target_arch = "wasm32")] app.add_plugin(bevy_webgl2::WebGL2Plugin); @@ -499,8 +502,8 @@ impl TestbedApp { .insert_non_send_resource(self.harness) .insert_resource(self.builders) .insert_non_send_resource(self.plugins) - .add_systems(Update, update_testbed) - .add_systems(Update, egui_focus) + .add_systems(EguiContextPass, update_testbed) + .add_systems(EguiContextPass, egui_focus) .add_systems(Update, track_mouse_state); init(&mut app); @@ -1135,8 +1138,8 @@ fn update_testbed( materials: &mut *materials, material_handles: &mut material_handles, components: &mut gfx_components, - camera_transform: *cameras.single().1, - camera: &mut cameras.single_mut().2, + camera_transform: *cameras.single().unwrap().1, + camera: &mut cameras.single_mut().unwrap().2, ui_context: &mut ui_context, keys: &keys, mouse: &mouse, @@ -1216,7 +1219,7 @@ fn update_testbed( .ok() .and_then(|data| serde_json::from_slice::(&data).ok()) { - state.apply_saved_data(saved_state, &mut cameras.single_mut().2); + state.apply_saved_data(saved_state, &mut cameras.single_mut().unwrap().2); state.camera_locked = true; } } @@ -1251,8 +1254,8 @@ fn update_testbed( materials: &mut *materials, material_handles: &mut material_handles, components: &mut gfx_components, - camera_transform: *cameras.single().1, - camera: &mut cameras.single_mut().2, + camera_transform: *cameras.single().unwrap().1, + camera: &mut cameras.single_mut().unwrap().2, ui_context: &mut ui_context, keys: &keys, mouse: &mouse, @@ -1427,8 +1430,8 @@ fn update_testbed( materials: &mut *materials, material_handles: &mut material_handles, components: &mut gfx_components, - camera_transform: *cameras.single().1, - camera: &mut cameras.single_mut().2, + camera_transform: *cameras.single().unwrap().1, + camera: &mut cameras.single_mut().unwrap().2, ui_context: &mut ui_context, keys: &keys, mouse: &mouse, @@ -1481,7 +1484,7 @@ fn update_testbed( } } - if let Ok(window) = windows.get_single() { + if let Ok(window) = windows.single() { for (camera, camera_pos, _) in cameras.iter_mut() { highlight_hovered_body( &mut material_handles, @@ -1527,7 +1530,7 @@ fn update_testbed( // If any saveable settings changed, save them again. #[cfg(not(target_arch = "wasm32"))] { - let new_save_data = state.save_data(cameras.single().2.clone()); + let new_save_data = state.save_data(cameras.single().unwrap().2.clone()); if state.prev_save_data != new_save_data { // Save the data in a file. let data = serde_json::to_string_pretty(&new_save_data).unwrap();