From 9c936eb2771f867fa0d2603ef63de46356d75284 Mon Sep 17 00:00:00 2001 From: Schmarni Date: Sun, 27 Jul 2025 18:22:59 +0200 Subject: [PATCH] fix(wayland): move model node updates to Update to fix texture updates Signed-off-by: Schmarni --- src/nodes/drawable/model.rs | 9 ++++++--- src/wayland/mod.rs | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/nodes/drawable/model.rs b/src/nodes/drawable/model.rs index 3ff8e33..4db7e33 100644 --- a/src/nodes/drawable/model.rs +++ b/src/nodes/drawable/model.rs @@ -33,6 +33,8 @@ const HOLDOUT_MATERIAL_HANDLE: Handle = weak_handle!("d56f1d62-9121-434b-a34f-9f0bbd6b3390"); pub struct ModelNodePlugin; +#[derive(SystemSet, Hash, Debug, PartialEq, Eq, Clone, Copy)] +pub struct ModelNodeSystemSet; impl Plugin for ModelNodePlugin { fn build(&self, app: &mut App) { LOAD_MODEL.init(app); @@ -49,14 +51,15 @@ impl Plugin for ModelNodePlugin { .insert(&HOLDOUT_MATERIAL_HANDLE, HoldoutMaterial::default()); app.init_resource::(); - app.add_systems(Update, load_models); app.add_systems( - PostUpdate, + Update, ( + load_models, gen_model_parts.after(TransformSystem::TransformPropagate), apply_materials, ) - .chain(), + .chain() + .in_set(ModelNodeSystemSet), ); } } diff --git a/src/wayland/mod.rs b/src/wayland/mod.rs index ce86376..a49fda6 100644 --- a/src/wayland/mod.rs +++ b/src/wayland/mod.rs @@ -5,6 +5,7 @@ pub mod vulkano_data; pub mod xdg; use crate::core::registry::OwnedRegistry; +use crate::nodes::drawable::model::ModelNodeSystemSet; use crate::wayland::core::seat::SeatMessage; use crate::{ BevyMaterial, @@ -286,7 +287,7 @@ static RENDER_DEVICE: OnceLock = OnceLock::new(); pub struct WaylandPlugin; impl Plugin for WaylandPlugin { fn build(&self, app: &mut App) { - app.add_systems(Update, update_graphics); + app.add_systems(Update, update_graphics.before(ModelNodeSystemSet)); app.init_resource::(); app.sub_app_mut(RenderApp) .init_resource::()