diff --git a/crates/benilla-app/src/character_shadow.rs b/crates/benilla-app/src/character_shadow.rs index 56a8209a..149dda4a 100644 --- a/crates/benilla-app/src/character_shadow.rs +++ b/crates/benilla-app/src/character_shadow.rs @@ -17,7 +17,7 @@ use benilla_world::rig_palette::{RigPalettes, RigPart, RigSkin}; use crate::shadow_core::{ collect_entity_geometry, empty_shadow_mesh, restore_mesh_buffers, shadow_trace, - spawn_solid_caster, take_mesh_buffers, ShadowDemand, ShadowFrame, ShadowSet, + spawn_solid_caster, take_mesh_buffers, RebuildRate, ShadowDemand, ShadowFrame, ShadowSet, }; use crate::video::VideoConfig; @@ -37,11 +37,15 @@ struct CharacterLane { mesh: Option>, /// [`shadow_trace`]'s change detector: (tris, admitted, rejected). traced: (u32, u32, u32), + /// MONKEY (sun shadow perf): the `characterShadowRate` cadence gate — see the rebuild comment + /// in [`collect_character_shadows`]. + rate: RebuildRate, } #[allow(clippy::too_many_arguments)] fn collect_character_shadows( video: Res, + time: Res