diff --git a/crates/bevy_a11y/src/lib.rs b/crates/bevy_a11y/src/lib.rs index 910ec3ca35..94468c148c 100644 --- a/crates/bevy_a11y/src/lib.rs +++ b/crates/bevy_a11y/src/lib.rs @@ -137,11 +137,15 @@ impl From for AccessibilityNode { all(feature = "bevy_reflect", feature = "serialize"), reflect(Serialize, Deserialize, Clone) )] -pub enum AccessibilitySystem { +pub enum AccessibilitySystems { /// Update the accessibility tree Update, } +/// Deprecated alias for [`AccessibilitySystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `AccessibilitySystems`.")] +pub type AccessibilitySystem = AccessibilitySystems; + /// Plugin managing non-GUI aspects of integrating with accessibility APIs. #[derive(Default)] pub struct AccessibilityPlugin; diff --git a/crates/bevy_animation/src/lib.rs b/crates/bevy_animation/src/lib.rs index 43ea343aa3..21ea15f96f 100644 --- a/crates/bevy_animation/src/lib.rs +++ b/crates/bevy_animation/src/lib.rs @@ -31,14 +31,14 @@ use crate::{ prelude::EvaluatorId, }; -use bevy_app::{Animation, App, Plugin, PostUpdate}; -use bevy_asset::{Asset, AssetApp, AssetEvents, Assets}; +use bevy_app::{AnimationSystems, App, Plugin, PostUpdate}; +use bevy_asset::{Asset, AssetApp, AssetEventSystems, Assets}; use bevy_ecs::{prelude::*, world::EntityMutExcept}; use bevy_math::FloatOrd; use bevy_platform::{collections::HashMap, hash::NoOpHash}; use bevy_reflect::{prelude::ReflectDefault, Reflect, TypePath}; use bevy_time::Time; -use bevy_transform::TransformSystem; +use bevy_transform::TransformSystems; use bevy_utils::{PreHashMap, PreHashMapExt, TypeIdMap}; use petgraph::graph::NodeIndex; use serde::{Deserialize, Serialize}; @@ -1244,7 +1244,7 @@ impl Plugin for AnimationPlugin { .add_systems( PostUpdate, ( - graph::thread_animation_graphs.before(AssetEvents), + graph::thread_animation_graphs.before(AssetEventSystems), advance_transitions, advance_animations, // TODO: `animate_targets` can animate anything, so @@ -1260,8 +1260,8 @@ impl Plugin for AnimationPlugin { expire_completed_transitions, ) .chain() - .in_set(Animation) - .before(TransformSystem::TransformPropagate), + .in_set(AnimationSystems) + .before(TransformSystems::Propagate), ); } } diff --git a/crates/bevy_anti_aliasing/src/contrast_adaptive_sharpening/mod.rs b/crates/bevy_anti_aliasing/src/contrast_adaptive_sharpening/mod.rs index a07b5e2239..707d75819d 100644 --- a/crates/bevy_anti_aliasing/src/contrast_adaptive_sharpening/mod.rs +++ b/crates/bevy_anti_aliasing/src/contrast_adaptive_sharpening/mod.rs @@ -18,7 +18,7 @@ use bevy_render::{ }, renderer::RenderDevice, view::{ExtractedView, ViewTarget}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; mod node; @@ -121,7 +121,7 @@ impl Plugin for CasPlugin { }; render_app .init_resource::>() - .add_systems(Render, prepare_cas_pipelines.in_set(RenderSet::Prepare)); + .add_systems(Render, prepare_cas_pipelines.in_set(RenderSystems::Prepare)); { render_app diff --git a/crates/bevy_anti_aliasing/src/fxaa/mod.rs b/crates/bevy_anti_aliasing/src/fxaa/mod.rs index 6d7824cf21..4848d3d268 100644 --- a/crates/bevy_anti_aliasing/src/fxaa/mod.rs +++ b/crates/bevy_anti_aliasing/src/fxaa/mod.rs @@ -18,7 +18,7 @@ use bevy_render::{ }, renderer::RenderDevice, view::{ExtractedView, ViewTarget}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bevy_utils::default; @@ -96,7 +96,10 @@ impl Plugin for FxaaPlugin { }; render_app .init_resource::>() - .add_systems(Render, prepare_fxaa_pipelines.in_set(RenderSet::Prepare)) + .add_systems( + Render, + prepare_fxaa_pipelines.in_set(RenderSystems::Prepare), + ) .add_render_graph_node::>(Core3d, Node3d::Fxaa) .add_render_graph_edges( Core3d, diff --git a/crates/bevy_anti_aliasing/src/smaa/mod.rs b/crates/bevy_anti_aliasing/src/smaa/mod.rs index f1e4d28678..4259b5e33d 100644 --- a/crates/bevy_anti_aliasing/src/smaa/mod.rs +++ b/crates/bevy_anti_aliasing/src/smaa/mod.rs @@ -76,7 +76,7 @@ use bevy_render::{ renderer::{RenderContext, RenderDevice, RenderQueue}, texture::{CachedTexture, GpuImage, TextureCache}, view::{ExtractedView, ViewTarget}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bevy_utils::prelude::default; @@ -346,10 +346,10 @@ impl Plugin for SmaaPlugin { .add_systems( Render, ( - prepare_smaa_pipelines.in_set(RenderSet::Prepare), - prepare_smaa_uniforms.in_set(RenderSet::PrepareResources), - prepare_smaa_textures.in_set(RenderSet::PrepareResources), - prepare_smaa_bind_groups.in_set(RenderSet::PrepareBindGroups), + prepare_smaa_pipelines.in_set(RenderSystems::Prepare), + prepare_smaa_uniforms.in_set(RenderSystems::PrepareResources), + prepare_smaa_textures.in_set(RenderSystems::PrepareResources), + prepare_smaa_bind_groups.in_set(RenderSystems::PrepareBindGroups), ), ) .add_render_graph_node::>(Core3d, Node3d::Smaa) diff --git a/crates/bevy_anti_aliasing/src/taa/mod.rs b/crates/bevy_anti_aliasing/src/taa/mod.rs index cf5ac269e2..dc12d34423 100644 --- a/crates/bevy_anti_aliasing/src/taa/mod.rs +++ b/crates/bevy_anti_aliasing/src/taa/mod.rs @@ -36,7 +36,7 @@ use bevy_render::{ sync_world::RenderEntity, texture::{CachedTexture, TextureCache}, view::{ExtractedView, Msaa, ViewTarget}, - ExtractSchedule, MainWorld, Render, RenderApp, RenderSet, + ExtractSchedule, MainWorld, Render, RenderApp, RenderSystems, }; use tracing::warn; @@ -64,9 +64,9 @@ impl Plugin for TemporalAntiAliasPlugin { .add_systems( Render, ( - prepare_taa_jitter_and_mip_bias.in_set(RenderSet::ManageViews), - prepare_taa_pipelines.in_set(RenderSet::Prepare), - prepare_taa_history_textures.in_set(RenderSet::PrepareResources), + prepare_taa_jitter_and_mip_bias.in_set(RenderSystems::ManageViews), + prepare_taa_pipelines.in_set(RenderSystems::Prepare), + prepare_taa_history_textures.in_set(RenderSystems::PrepareResources), ), ) .add_render_graph_node::>(Core3d, Node3d::Taa) diff --git a/crates/bevy_app/src/app.rs b/crates/bevy_app/src/app.rs index 654a7098b9..60431ca479 100644 --- a/crates/bevy_app/src/app.rs +++ b/crates/bevy_app/src/app.rs @@ -117,7 +117,7 @@ impl Default for App { app.add_systems( First, event_update_system - .in_set(bevy_ecs::event::EventUpdates) + .in_set(bevy_ecs::event::EventUpdateSystems) .run_if(bevy_ecs::event::event_update_condition), ); app.add_event::(); diff --git a/crates/bevy_app/src/lib.rs b/crates/bevy_app/src/lib.rs index 6772136414..743806df71 100644 --- a/crates/bevy_app/src/lib.rs +++ b/crates/bevy_app/src/lib.rs @@ -55,7 +55,7 @@ pub mod prelude { main_schedule::{ First, FixedFirst, FixedLast, FixedPostUpdate, FixedPreUpdate, FixedUpdate, Last, Main, PostStartup, PostUpdate, PreStartup, PreUpdate, RunFixedMainLoop, - RunFixedMainLoopSystem, SpawnScene, Startup, Update, + RunFixedMainLoopSystems, SpawnScene, Startup, Update, }, sub_app::SubApp, Plugin, PluginGroup, TaskPoolOptions, TaskPoolPlugin, diff --git a/crates/bevy_app/src/main_schedule.rs b/crates/bevy_app/src/main_schedule.rs index 23e8ca0c33..7e0c759d47 100644 --- a/crates/bevy_app/src/main_schedule.rs +++ b/crates/bevy_app/src/main_schedule.rs @@ -92,8 +92,8 @@ pub struct PreUpdate; /// Runs the [`FixedMain`] schedule in a loop according until all relevant elapsed time has been "consumed". /// -/// If you need to order your variable timestep systems -/// before or after the fixed update logic, use the [`RunFixedMainLoopSystem`] system set. +/// If you need to order your variable timestep systems before or after +/// the fixed update logic, use the [`RunFixedMainLoopSystems`] system set. /// /// Note that in contrast to most other Bevy schedules, systems added directly to /// [`RunFixedMainLoop`] will *not* be parallelized between each other. @@ -149,7 +149,7 @@ pub struct FixedLast; /// The schedule that contains systems which only run after a fixed period of time has elapsed. /// /// This is run by the [`RunFixedMainLoop`] schedule. If you need to order your variable timestep systems -/// before or after the fixed update logic, use the [`RunFixedMainLoopSystem`] system set. +/// before or after the fixed update logic, use the [`RunFixedMainLoopSystems`] system set. /// /// Frequency of execution is configured by inserting `Time` resource, 64 Hz by default. /// See [this example](https://github.com/bevyengine/bevy/blob/latest/examples/time/time.rs). @@ -196,7 +196,11 @@ pub struct Last; /// Animation system set. This exists in [`PostUpdate`]. #[derive(SystemSet, Debug, Hash, PartialEq, Eq, Clone)] -pub struct Animation; +pub struct AnimationSystems; + +/// Deprecated alias for [`AnimationSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `AnimationSystems`.")] +pub type Animation = AnimationSystems; /// Defines the schedules to be run for the [`Main`] schedule, including /// their order. @@ -318,9 +322,9 @@ impl Plugin for MainSchedulePlugin { .configure_sets( RunFixedMainLoop, ( - RunFixedMainLoopSystem::BeforeFixedMainLoop, - RunFixedMainLoopSystem::FixedMainLoop, - RunFixedMainLoopSystem::AfterFixedMainLoop, + RunFixedMainLoopSystems::BeforeFixedMainLoop, + RunFixedMainLoopSystems::FixedMainLoop, + RunFixedMainLoopSystems::AfterFixedMainLoop, ) .chain(), ); @@ -400,7 +404,7 @@ impl FixedMain { /// Note that in contrast to most other Bevy schedules, systems added directly to /// [`RunFixedMainLoop`] will *not* be parallelized between each other. #[derive(Debug, Hash, PartialEq, Eq, Copy, Clone, SystemSet)] -pub enum RunFixedMainLoopSystem { +pub enum RunFixedMainLoopSystems { /// Runs before the fixed update logic. /// /// A good example of a system that fits here @@ -419,7 +423,7 @@ pub enum RunFixedMainLoopSystem { /// App::new() /// .add_systems( /// RunFixedMainLoop, - /// update_camera_rotation.in_set(RunFixedMainLoopSystem::BeforeFixedMainLoop)) + /// update_camera_rotation.in_set(RunFixedMainLoopSystems::BeforeFixedMainLoop)) /// .add_systems(FixedUpdate, update_physics); /// /// # fn update_camera_rotation() {} @@ -432,7 +436,7 @@ pub enum RunFixedMainLoopSystem { /// /// Don't place systems here, use [`FixedUpdate`] and friends instead. /// Use this system instead to order your systems to run specifically inbetween the fixed update logic and all - /// other systems that run in [`RunFixedMainLoopSystem::BeforeFixedMainLoop`] or [`RunFixedMainLoopSystem::AfterFixedMainLoop`]. + /// other systems that run in [`RunFixedMainLoopSystems::BeforeFixedMainLoop`] or [`RunFixedMainLoopSystems::AfterFixedMainLoop`]. /// /// [`Time`]: https://docs.rs/bevy/latest/bevy/prelude/struct.Virtual.html /// [`Time::overstep`]: https://docs.rs/bevy/latest/bevy/time/struct.Time.html#method.overstep @@ -448,8 +452,8 @@ pub enum RunFixedMainLoopSystem { /// // This system will be called before all interpolation systems /// // that third-party plugins might add. /// prepare_for_interpolation - /// .after(RunFixedMainLoopSystem::FixedMainLoop) - /// .before(RunFixedMainLoopSystem::AfterFixedMainLoop), + /// .after(RunFixedMainLoopSystems::FixedMainLoop) + /// .before(RunFixedMainLoopSystems::AfterFixedMainLoop), /// ) /// ); /// @@ -473,10 +477,14 @@ pub enum RunFixedMainLoopSystem { /// .add_systems(FixedUpdate, update_physics) /// .add_systems( /// RunFixedMainLoop, - /// interpolate_transforms.in_set(RunFixedMainLoopSystem::AfterFixedMainLoop)); + /// interpolate_transforms.in_set(RunFixedMainLoopSystems::AfterFixedMainLoop)); /// /// # fn interpolate_transforms() {} /// # fn update_physics() {} /// ``` AfterFixedMainLoop, } + +/// Deprecated alias for [`RunFixedMainLoopSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `RunFixedMainLoopSystems`.")] +pub type RunFixedMainLoopSystem = RunFixedMainLoopSystems; diff --git a/crates/bevy_asset/src/asset_changed.rs b/crates/bevy_asset/src/asset_changed.rs index 40723d7b08..10f298c968 100644 --- a/crates/bevy_asset/src/asset_changed.rs +++ b/crates/bevy_asset/src/asset_changed.rs @@ -22,10 +22,10 @@ use tracing::error; /// the [`AssetChanged`] filter to determine if an asset has changed since the last time /// a query ran. /// -/// This resource is automatically managed by the [`AssetEvents`](crate::AssetEvents) schedule and -/// should not be exposed to the user in order to maintain safety guarantees. Any additional uses of -/// this resource should be carefully audited to ensure that they do not introduce any safety -/// issues. +/// This resource is automatically managed by the [`AssetEventSystems`](crate::AssetEventSystems) +/// system set and should not be exposed to the user in order to maintain safety guarantees. +/// Any additional uses of this resource should be carefully audited to ensure that they do not +/// introduce any safety issues. #[derive(Resource)] pub(crate) struct AssetChanges { change_ticks: HashMap, Tick>, @@ -102,14 +102,13 @@ impl<'w, A: AsAssetId> AssetChangeCheck<'w, A> { /// /// # Quirks /// -/// - Asset changes are registered in the [`AssetEvents`] schedule. +/// - Asset changes are registered in the [`AssetEventSystems`] system set. /// - Removed assets are not detected. /// -/// The list of changed assets only gets updated in the -/// [`AssetEvents`] schedule which runs in `Last`. Therefore, `AssetChanged` -/// will only pick up asset changes in schedules following `AssetEvents` or the -/// next frame. Consider adding the system in the `Last` schedule after [`AssetEvents`] if you need -/// to react without frame delay to asset changes. +/// The list of changed assets only gets updated in the [`AssetEventSystems`] system set, +/// which runs in `Last`. Therefore, `AssetChanged` will only pick up asset changes in schedules +/// following [`AssetEventSystems`] or the next frame. Consider adding the system in the `Last` schedule +/// after [`AssetEventSystems`] if you need to react without frame delay to asset changes. /// /// # Performance /// @@ -120,7 +119,7 @@ impl<'w, A: AsAssetId> AssetChangeCheck<'w, A> { /// /// If no `A` asset updated since the last time the system ran, then no lookups occur. /// -/// [`AssetEvents`]: crate::AssetEvents +/// [`AssetEventSystems`]: crate::AssetEventSystems /// [`Assets::get_mut`]: crate::Assets::get_mut pub struct AssetChanged(PhantomData); @@ -166,7 +165,7 @@ unsafe impl WorldQuery for AssetChanged { this_run: Tick, ) -> Self::Fetch<'w> { // SAFETY: - // - `AssetChanges` is private and only accessed mutably in the `AssetEvents` schedule + // - `AssetChanges` is private and only accessed mutably in the `AssetEventSystems` system set. // - `resource_id` was obtained from the type ID of `AssetChanges`. let Some(changes) = (unsafe { world @@ -283,7 +282,7 @@ unsafe impl QueryFilter for AssetChanged { #[cfg(test)] #[expect(clippy::print_stdout, reason = "Allowed in tests.")] mod tests { - use crate::{AssetEvents, AssetPlugin, Handle}; + use crate::{AssetEventSystems, AssetPlugin, Handle}; use alloc::{vec, vec::Vec}; use core::num::NonZero; use std::println; @@ -406,7 +405,7 @@ mod tests { .init_asset::() .insert_resource(Counter(vec![0, 0, 0, 0])) .add_systems(Update, add_some) - .add_systems(PostUpdate, count_update.after(AssetEvents)); + .add_systems(PostUpdate, count_update.after(AssetEventSystems)); // First run of the app, `add_systems(Startup…)` runs. app.update(); // run_count == 0 @@ -441,7 +440,7 @@ mod tests { }, ) .add_systems(Update, update_some) - .add_systems(PostUpdate, count_update.after(AssetEvents)); + .add_systems(PostUpdate, count_update.after(AssetEventSystems)); // First run of the app, `add_systems(Startup…)` runs. app.update(); // run_count == 0 diff --git a/crates/bevy_asset/src/lib.rs b/crates/bevy_asset/src/lib.rs index 98cfd527c2..5b680eb191 100644 --- a/crates/bevy_asset/src/lib.rs +++ b/crates/bevy_asset/src/lib.rs @@ -414,7 +414,10 @@ impl Plugin for AssetPlugin { .init_asset::() .init_asset::<()>() .add_event::() - .configure_sets(PreUpdate, TrackAssets.after(handle_internal_asset_events)) + .configure_sets( + PreUpdate, + AssetTrackingSystems.after(handle_internal_asset_events), + ) // `handle_internal_asset_events` requires the use of `&mut World`, // and as a result has ambiguous system ordering with all other systems in `PreUpdate`. // This is virtually never a real problem: asset loading is async and so anything that interacts directly with it @@ -611,9 +614,12 @@ impl AssetApp for App { PostUpdate, Assets::::asset_events .run_if(Assets::::asset_events_condition) - .in_set(AssetEvents), + .in_set(AssetEventSystems), + ) + .add_systems( + PreUpdate, + Assets::::track_assets.in_set(AssetTrackingSystems), ) - .add_systems(PreUpdate, Assets::::track_assets.in_set(TrackAssets)) } fn register_asset_reflect(&mut self) -> &mut Self @@ -643,13 +649,21 @@ impl AssetApp for App { /// A system set that holds all "track asset" operations. #[derive(SystemSet, Hash, Debug, PartialEq, Eq, Clone)] -pub struct TrackAssets; +pub struct AssetTrackingSystems; + +/// Deprecated alias for [`AssetTrackingSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `AssetTrackingSystems`.")] +pub type TrackAssets = AssetTrackingSystems; /// A system set where events accumulated in [`Assets`] are applied to the [`AssetEvent`] [`Events`] resource. /// /// [`Events`]: bevy_ecs::event::Events #[derive(Debug, Hash, PartialEq, Eq, Clone, SystemSet)] -pub struct AssetEvents; +pub struct AssetEventSystems; + +/// Deprecated alias for [`AssetEventSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `AssetEventSystems`.")] +pub type AssetEvents = AssetEventSystems; #[cfg(test)] mod tests { diff --git a/crates/bevy_audio/src/lib.rs b/crates/bevy_audio/src/lib.rs index babae2f8a9..becbf5d1da 100644 --- a/crates/bevy_audio/src/lib.rs +++ b/crates/bevy_audio/src/lib.rs @@ -58,13 +58,13 @@ pub use sinks::*; use bevy_app::prelude::*; use bevy_asset::{Asset, AssetApp}; use bevy_ecs::prelude::*; -use bevy_transform::TransformSystem; +use bevy_transform::TransformSystems; use audio_output::*; /// Set for the audio playback systems, so they can share a run condition #[derive(SystemSet, Debug, Default, Clone, Copy, PartialEq, Eq, Hash)] -struct AudioPlaySet; +struct AudioPlaybackSystems; /// Adds support for audio playback to a Bevy Application /// @@ -90,13 +90,13 @@ impl Plugin for AudioPlugin { .insert_resource(DefaultSpatialScale(self.default_spatial_scale)) .configure_sets( PostUpdate, - AudioPlaySet + AudioPlaybackSystems .run_if(audio_output_available) - .after(TransformSystem::TransformPropagate), // For spatial audio transforms + .after(TransformSystems::Propagate), // For spatial audio transforms ) .add_systems( PostUpdate, - (update_emitter_positions, update_listener_positions).in_set(AudioPlaySet), + (update_emitter_positions, update_listener_positions).in_set(AudioPlaybackSystems), ) .init_resource::(); @@ -118,7 +118,8 @@ impl AddAudioSource for App { { self.init_asset::().add_systems( PostUpdate, - (play_queued_audio_system::, cleanup_finished_audio::).in_set(AudioPlaySet), + (play_queued_audio_system::, cleanup_finished_audio::) + .in_set(AudioPlaybackSystems), ); self } diff --git a/crates/bevy_core_pipeline/src/auto_exposure/mod.rs b/crates/bevy_core_pipeline/src/auto_exposure/mod.rs index f94a61d09b..7e7e6c1af7 100644 --- a/crates/bevy_core_pipeline/src/auto_exposure/mod.rs +++ b/crates/bevy_core_pipeline/src/auto_exposure/mod.rs @@ -9,7 +9,7 @@ use bevy_render::{ Buffer, BufferDescriptor, BufferUsages, PipelineCache, Shader, SpecializedComputePipelines, }, renderer::RenderDevice, - ExtractSchedule, Render, RenderApp, RenderSet, + ExtractSchedule, Render, RenderApp, RenderSystems, }; mod buffers; @@ -72,8 +72,8 @@ impl Plugin for AutoExposurePlugin { .add_systems( Render, ( - prepare_buffers.in_set(RenderSet::Prepare), - queue_view_auto_exposure_pipelines.in_set(RenderSet::Queue), + prepare_buffers.in_set(RenderSystems::Prepare), + queue_view_auto_exposure_pipelines.in_set(RenderSystems::Queue), ), ) .add_render_graph_node::(Core3d, node::AutoExposure) diff --git a/crates/bevy_core_pipeline/src/bloom/mod.rs b/crates/bevy_core_pipeline/src/bloom/mod.rs index 8717b9096e..cbd87d11bd 100644 --- a/crates/bevy_core_pipeline/src/bloom/mod.rs +++ b/crates/bevy_core_pipeline/src/bloom/mod.rs @@ -24,7 +24,7 @@ use bevy_render::{ renderer::{RenderContext, RenderDevice}, texture::{CachedTexture, TextureCache}, view::ViewTarget, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use downsampling_pipeline::{ prepare_downsampling_pipeline, BloomDownsamplingPipeline, BloomDownsamplingPipelineIds, @@ -63,10 +63,10 @@ impl Plugin for BloomPlugin { .add_systems( Render, ( - prepare_downsampling_pipeline.in_set(RenderSet::Prepare), - prepare_upsampling_pipeline.in_set(RenderSet::Prepare), - prepare_bloom_textures.in_set(RenderSet::PrepareResources), - prepare_bloom_bind_groups.in_set(RenderSet::PrepareBindGroups), + prepare_downsampling_pipeline.in_set(RenderSystems::Prepare), + prepare_upsampling_pipeline.in_set(RenderSystems::Prepare), + prepare_bloom_textures.in_set(RenderSystems::PrepareResources), + prepare_bloom_bind_groups.in_set(RenderSystems::PrepareBindGroups), ), ) // Add bloom to the 3d render graph diff --git a/crates/bevy_core_pipeline/src/core_2d/mod.rs b/crates/bevy_core_pipeline/src/core_2d/mod.rs index 0a8ed17f8e..725ac38ed9 100644 --- a/crates/bevy_core_pipeline/src/core_2d/mod.rs +++ b/crates/bevy_core_pipeline/src/core_2d/mod.rs @@ -65,7 +65,7 @@ use bevy_render::{ sync_world::MainEntity, texture::TextureCache, view::{Msaa, ViewDepthTexture}, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, }; use self::graph::{Core2d, Node2d}; @@ -93,8 +93,8 @@ impl Plugin for Core2dPlugin { .add_systems( Render, ( - sort_phase_system::.in_set(RenderSet::PhaseSort), - prepare_core_2d_depth_textures.in_set(RenderSet::PrepareResources), + sort_phase_system::.in_set(RenderSystems::PhaseSort), + prepare_core_2d_depth_textures.in_set(RenderSystems::PrepareResources), ), ); diff --git a/crates/bevy_core_pipeline/src/core_3d/mod.rs b/crates/bevy_core_pipeline/src/core_3d/mod.rs index b9f6955499..0ff61db842 100644 --- a/crates/bevy_core_pipeline/src/core_3d/mod.rs +++ b/crates/bevy_core_pipeline/src/core_3d/mod.rs @@ -106,7 +106,7 @@ use bevy_render::{ sync_world::{MainEntity, RenderEntity}, texture::{ColorAttachment, TextureCache}, view::{ExtractedView, ViewDepthTexture, ViewTarget}, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, }; use nonmax::NonMaxU32; use tracing::warn; @@ -167,14 +167,14 @@ impl Plugin for Core3dPlugin { .add_systems( Render, ( - sort_phase_system::.in_set(RenderSet::PhaseSort), - sort_phase_system::.in_set(RenderSet::PhaseSort), + sort_phase_system::.in_set(RenderSystems::PhaseSort), + sort_phase_system::.in_set(RenderSystems::PhaseSort), configure_occlusion_culling_view_targets .after(prepare_view_targets) - .in_set(RenderSet::ManageViews), - prepare_core_3d_depth_textures.in_set(RenderSet::PrepareResources), - prepare_core_3d_transmission_textures.in_set(RenderSet::PrepareResources), - prepare_prepass_textures.in_set(RenderSet::PrepareResources), + .in_set(RenderSystems::ManageViews), + prepare_core_3d_depth_textures.in_set(RenderSystems::PrepareResources), + prepare_core_3d_transmission_textures.in_set(RenderSystems::PrepareResources), + prepare_prepass_textures.in_set(RenderSystems::PrepareResources), ), ); diff --git a/crates/bevy_core_pipeline/src/deferred/copy_lighting_id.rs b/crates/bevy_core_pipeline/src/deferred/copy_lighting_id.rs index 966be880c2..77430e0291 100644 --- a/crates/bevy_core_pipeline/src/deferred/copy_lighting_id.rs +++ b/crates/bevy_core_pipeline/src/deferred/copy_lighting_id.rs @@ -12,7 +12,7 @@ use bevy_render::{ renderer::RenderDevice, texture::{CachedTexture, TextureCache}, view::ViewTarget, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bevy_ecs::query::QueryItem; @@ -40,7 +40,7 @@ impl Plugin for CopyDeferredLightingIdPlugin { }; render_app.add_systems( Render, - (prepare_deferred_lighting_id_textures.in_set(RenderSet::PrepareResources),), + (prepare_deferred_lighting_id_textures.in_set(RenderSystems::PrepareResources),), ); } diff --git a/crates/bevy_core_pipeline/src/dof/mod.rs b/crates/bevy_core_pipeline/src/dof/mod.rs index 87a10313f1..5eee57b8bb 100644 --- a/crates/bevy_core_pipeline/src/dof/mod.rs +++ b/crates/bevy_core_pipeline/src/dof/mod.rs @@ -55,7 +55,7 @@ use bevy_render::{ prepare_view_targets, ExtractedView, Msaa, ViewDepthTexture, ViewTarget, ViewUniform, ViewUniformOffset, ViewUniforms, }, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, }; use bevy_utils::{default, once}; use smallvec::SmallVec; @@ -229,7 +229,7 @@ impl Plugin for DepthOfFieldPlugin { prepare_auxiliary_depth_of_field_textures, ) .after(prepare_view_targets) - .in_set(RenderSet::ManageViews), + .in_set(RenderSystems::ManageViews), ) .add_systems( Render, @@ -238,11 +238,11 @@ impl Plugin for DepthOfFieldPlugin { prepare_depth_of_field_pipelines, ) .chain() - .in_set(RenderSet::Prepare), + .in_set(RenderSystems::Prepare), ) .add_systems( Render, - prepare_depth_of_field_global_bind_group.in_set(RenderSet::PrepareBindGroups), + prepare_depth_of_field_global_bind_group.in_set(RenderSystems::PrepareBindGroups), ) .add_render_graph_node::>(Core3d, Node3d::DepthOfField) .add_render_graph_edges( diff --git a/crates/bevy_core_pipeline/src/experimental/mip_generation/mod.rs b/crates/bevy_core_pipeline/src/experimental/mip_generation/mod.rs index cd2099e49e..1223ed35ec 100644 --- a/crates/bevy_core_pipeline/src/experimental/mip_generation/mod.rs +++ b/crates/bevy_core_pipeline/src/experimental/mip_generation/mod.rs @@ -44,7 +44,7 @@ use bevy_render::{ renderer::{RenderContext, RenderDevice}, texture::TextureCache, view::{ExtractedView, NoIndirectDrawing, ViewDepthTexture}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bitflags::bitflags; use tracing::debug; @@ -103,7 +103,7 @@ impl Plugin for MipGenerationPlugin { ) .add_systems( Render, - create_downsample_depth_pipelines.in_set(RenderSet::Prepare), + create_downsample_depth_pipelines.in_set(RenderSystems::Prepare), ) .add_systems( Render, @@ -112,7 +112,7 @@ impl Plugin for MipGenerationPlugin { prepare_downsample_depth_view_bind_groups, ) .chain() - .in_set(RenderSet::PrepareResources) + .in_set(RenderSystems::PrepareResources) .run_if(resource_exists::) .after(prepare_core_3d_depth_textures), ); diff --git a/crates/bevy_core_pipeline/src/motion_blur/mod.rs b/crates/bevy_core_pipeline/src/motion_blur/mod.rs index 5898f1a8c5..331dd2408d 100644 --- a/crates/bevy_core_pipeline/src/motion_blur/mod.rs +++ b/crates/bevy_core_pipeline/src/motion_blur/mod.rs @@ -20,7 +20,7 @@ use bevy_render::{ extract_component::{ExtractComponent, ExtractComponentPlugin, UniformComponentPlugin}, render_graph::{RenderGraphApp, ViewNodeRunner}, render_resource::{Shader, ShaderType, SpecializedRenderPipelines}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; pub mod node; @@ -152,7 +152,7 @@ impl Plugin for MotionBlurPlugin { .init_resource::>() .add_systems( Render, - pipeline::prepare_motion_blur_pipelines.in_set(RenderSet::Prepare), + pipeline::prepare_motion_blur_pipelines.in_set(RenderSystems::Prepare), ); render_app diff --git a/crates/bevy_core_pipeline/src/msaa_writeback.rs b/crates/bevy_core_pipeline/src/msaa_writeback.rs index f9c543aeff..8dc51e4ed5 100644 --- a/crates/bevy_core_pipeline/src/msaa_writeback.rs +++ b/crates/bevy_core_pipeline/src/msaa_writeback.rs @@ -12,7 +12,7 @@ use bevy_render::{ render_resource::*, renderer::RenderContext, view::{Msaa, ViewTarget}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; /// This enables "msaa writeback" support for the `core_2d` and `core_3d` pipelines, which can be enabled on cameras @@ -26,7 +26,7 @@ impl Plugin for MsaaWritebackPlugin { }; render_app.add_systems( Render, - prepare_msaa_writeback_pipelines.in_set(RenderSet::Prepare), + prepare_msaa_writeback_pipelines.in_set(RenderSystems::Prepare), ); { render_app diff --git a/crates/bevy_core_pipeline/src/oit/mod.rs b/crates/bevy_core_pipeline/src/oit/mod.rs index 6a15fd126c..673bbc5a8b 100644 --- a/crates/bevy_core_pipeline/src/oit/mod.rs +++ b/crates/bevy_core_pipeline/src/oit/mod.rs @@ -16,7 +16,7 @@ use bevy_render::{ }, renderer::{RenderDevice, RenderQueue}, view::Msaa, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bevy_window::PrimaryWindow; use resolve::{ @@ -126,7 +126,7 @@ impl Plugin for OrderIndependentTransparencyPlugin { render_app.add_systems( Render, - prepare_oit_buffers.in_set(RenderSet::PrepareResources), + prepare_oit_buffers.in_set(RenderSystems::PrepareResources), ); render_app diff --git a/crates/bevy_core_pipeline/src/oit/resolve/mod.rs b/crates/bevy_core_pipeline/src/oit/resolve/mod.rs index 7db98650fd..0e5102c954 100644 --- a/crates/bevy_core_pipeline/src/oit/resolve/mod.rs +++ b/crates/bevy_core_pipeline/src/oit/resolve/mod.rs @@ -20,7 +20,7 @@ use bevy_render::{ }, renderer::{RenderAdapter, RenderDevice}, view::{ExtractedView, ViewTarget, ViewUniform, ViewUniforms}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use tracing::warn; @@ -65,8 +65,8 @@ impl Plugin for OitResolvePlugin { .add_systems( Render, ( - queue_oit_resolve_pipeline.in_set(RenderSet::Queue), - prepare_oit_resolve_bind_group.in_set(RenderSet::PrepareBindGroups), + queue_oit_resolve_pipeline.in_set(RenderSystems::Queue), + prepare_oit_resolve_bind_group.in_set(RenderSystems::PrepareBindGroups), ), ) .init_resource::(); diff --git a/crates/bevy_core_pipeline/src/post_process/mod.rs b/crates/bevy_core_pipeline/src/post_process/mod.rs index 2ac03c08c8..fddac95066 100644 --- a/crates/bevy_core_pipeline/src/post_process/mod.rs +++ b/crates/bevy_core_pipeline/src/post_process/mod.rs @@ -36,7 +36,7 @@ use bevy_render::{ renderer::{RenderContext, RenderDevice, RenderQueue}, texture::GpuImage, view::{ExtractedView, ViewTarget}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bevy_utils::prelude::default; @@ -234,7 +234,7 @@ impl Plugin for PostProcessingPlugin { prepare_post_processing_pipelines, prepare_post_processing_uniforms, ) - .in_set(RenderSet::Prepare), + .in_set(RenderSystems::Prepare), ) .add_render_graph_node::>( Core3d, diff --git a/crates/bevy_core_pipeline/src/skybox/mod.rs b/crates/bevy_core_pipeline/src/skybox/mod.rs index 7e2dba466c..ede50d6d8f 100644 --- a/crates/bevy_core_pipeline/src/skybox/mod.rs +++ b/crates/bevy_core_pipeline/src/skybox/mod.rs @@ -25,7 +25,7 @@ use bevy_render::{ renderer::RenderDevice, texture::GpuImage, view::{ExtractedView, Msaa, ViewTarget, ViewUniform, ViewUniforms}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bevy_transform::components::Transform; use prepass::{SkyboxPrepassPipeline, SKYBOX_PREPASS_SHADER_HANDLE}; @@ -63,11 +63,11 @@ impl Plugin for SkyboxPlugin { .add_systems( Render, ( - prepare_skybox_pipelines.in_set(RenderSet::Prepare), - prepass::prepare_skybox_prepass_pipelines.in_set(RenderSet::Prepare), - prepare_skybox_bind_groups.in_set(RenderSet::PrepareBindGroups), + prepare_skybox_pipelines.in_set(RenderSystems::Prepare), + prepass::prepare_skybox_prepass_pipelines.in_set(RenderSystems::Prepare), + prepare_skybox_bind_groups.in_set(RenderSystems::PrepareBindGroups), prepass::prepare_skybox_prepass_bind_groups - .in_set(RenderSet::PrepareBindGroups), + .in_set(RenderSystems::PrepareBindGroups), ), ); } diff --git a/crates/bevy_core_pipeline/src/tonemapping/mod.rs b/crates/bevy_core_pipeline/src/tonemapping/mod.rs index 9f3964ad17..f546ef54d3 100644 --- a/crates/bevy_core_pipeline/src/tonemapping/mod.rs +++ b/crates/bevy_core_pipeline/src/tonemapping/mod.rs @@ -16,7 +16,7 @@ use bevy_render::{ renderer::RenderDevice, texture::{FallbackImage, GpuImage}, view::{ExtractedView, ViewTarget, ViewUniform}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bitflags::bitflags; #[cfg(not(feature = "tonemapping_luts"))] @@ -118,7 +118,7 @@ impl Plugin for TonemappingPlugin { .init_resource::>() .add_systems( Render, - prepare_view_tonemapping_pipelines.in_set(RenderSet::Prepare), + prepare_view_tonemapping_pipelines.in_set(RenderSystems::Prepare), ); } diff --git a/crates/bevy_core_pipeline/src/upscaling/mod.rs b/crates/bevy_core_pipeline/src/upscaling/mod.rs index 20dd19f4ce..4ce91de393 100644 --- a/crates/bevy_core_pipeline/src/upscaling/mod.rs +++ b/crates/bevy_core_pipeline/src/upscaling/mod.rs @@ -6,7 +6,7 @@ use bevy_render::{ camera::{CameraOutputMode, ExtractedCamera}, render_resource::*, view::ViewTarget, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; mod node; @@ -26,7 +26,7 @@ impl Plugin for UpscalingPlugin { // and aversion to extensive and intrusive system ordering. // See https://github.com/bevyengine/bevy/issues/14770 for more context. prepare_view_upscaling_pipelines - .in_set(RenderSet::Prepare) + .in_set(RenderSystems::Prepare) .ambiguous_with_all(), ); } diff --git a/crates/bevy_dev_tools/src/ci_testing/mod.rs b/crates/bevy_dev_tools/src/ci_testing/mod.rs index 09f16d71a7..faf99b1a71 100644 --- a/crates/bevy_dev_tools/src/ci_testing/mod.rs +++ b/crates/bevy_dev_tools/src/ci_testing/mod.rs @@ -57,7 +57,7 @@ impl Plugin for CiTestingPlugin { systems::send_events .before(trigger_screenshots) .before(bevy_window::close_when_requested) - .in_set(SendEvents) + .in_set(EventSenderSystems) .ambiguous_with_all(), ); @@ -66,10 +66,10 @@ impl Plugin for CiTestingPlugin { #[cfg(any(unix, windows))] app.configure_sets( Update, - SendEvents.before(bevy_app::TerminalCtrlCHandlerPlugin::exit_on_flag), + EventSenderSystems.before(bevy_app::TerminalCtrlCHandlerPlugin::exit_on_flag), ); } } #[derive(SystemSet, Debug, Clone, PartialEq, Eq, Hash)] -struct SendEvents; +struct EventSenderSystems; diff --git a/crates/bevy_dev_tools/src/picking_debug.rs b/crates/bevy_dev_tools/src/picking_debug.rs index f72b70fc88..8e4ee7ae86 100644 --- a/crates/bevy_dev_tools/src/picking_debug.rs +++ b/crates/bevy_dev_tools/src/picking_debug.rs @@ -8,7 +8,7 @@ use bevy_picking::backend::HitData; use bevy_picking::hover::HoverMap; use bevy_picking::pointer::{Location, PointerId, PointerPress}; use bevy_picking::prelude::*; -use bevy_picking::{pointer, PickSet}; +use bevy_picking::{pointer, PickingSystems}; use bevy_reflect::prelude::*; use bevy_render::prelude::*; use bevy_text::prelude::*; @@ -85,7 +85,7 @@ impl Plugin for DebugPickingPlugin { app.init_resource::() .add_systems( PreUpdate, - pointer_debug_visibility.in_set(PickSet::PostHover), + pointer_debug_visibility.in_set(PickingSystems::PostHover), ) .add_systems( PreUpdate, @@ -108,7 +108,7 @@ impl Plugin for DebugPickingPlugin { log_pointer_event_debug::, ) .distributive_run_if(DebugPickingMode::is_enabled) - .in_set(PickSet::Last), + .in_set(PickingSystems::Last), ); app.add_systems( @@ -116,7 +116,7 @@ impl Plugin for DebugPickingPlugin { (add_pointer_debug, update_debug_data, debug_draw) .chain() .distributive_run_if(DebugPickingMode::is_enabled) - .in_set(PickSet::Last), + .in_set(PickingSystems::Last), ); } } diff --git a/crates/bevy_ecs/examples/change_detection.rs b/crates/bevy_ecs/examples/change_detection.rs index 1b101b4033..820860070c 100644 --- a/crates/bevy_ecs/examples/change_detection.rs +++ b/crates/bevy_ecs/examples/change_detection.rs @@ -29,11 +29,11 @@ fn main() { // Add systems to the Schedule to execute our app logic // We can label our systems to force a specific run-order between some of them schedule.add_systems(( - spawn_entities.in_set(SimulationSet::Spawn), - print_counter_when_changed.after(SimulationSet::Spawn), - age_all_entities.in_set(SimulationSet::Age), - remove_old_entities.after(SimulationSet::Age), - print_changed_entities.after(SimulationSet::Age), + spawn_entities.in_set(SimulationSystems::Spawn), + print_counter_when_changed.after(SimulationSystems::Spawn), + age_all_entities.in_set(SimulationSystems::Age), + remove_old_entities.after(SimulationSystems::Age), + print_changed_entities.after(SimulationSystems::Age), )); // Simulate 10 frames in our world @@ -57,7 +57,7 @@ struct Age { // System sets can be used to group systems and configured to control relative ordering #[derive(SystemSet, Debug, Clone, PartialEq, Eq, Hash)] -enum SimulationSet { +enum SimulationSystems { Spawn, Age, } diff --git a/crates/bevy_ecs/examples/events.rs b/crates/bevy_ecs/examples/events.rs index 4c0059ed2d..fb01184048 100644 --- a/crates/bevy_ecs/examples/events.rs +++ b/crates/bevy_ecs/examples/events.rs @@ -19,13 +19,13 @@ fn main() { // This update should happen before we use the events. // Here, we use system sets to control the ordering. #[derive(SystemSet, Debug, Clone, PartialEq, Eq, Hash)] - pub struct FlushEvents; + pub struct EventFlusherSystems; - schedule.add_systems(bevy_ecs::event::event_update_system.in_set(FlushEvents)); + schedule.add_systems(bevy_ecs::event::event_update_system.in_set(EventFlusherSystems)); // Add systems sending and receiving events after the events are flushed. schedule.add_systems(( - sending_system.after(FlushEvents), + sending_system.after(EventFlusherSystems), receiving_system.after(sending_system), )); diff --git a/crates/bevy_ecs/src/event/mod.rs b/crates/bevy_ecs/src/event/mod.rs index 9c19dc1689..3bb422b7bb 100644 --- a/crates/bevy_ecs/src/event/mod.rs +++ b/crates/bevy_ecs/src/event/mod.rs @@ -24,8 +24,13 @@ pub use mut_iterators::{EventMutIterator, EventMutIteratorWithId}; pub use mutator::EventMutator; pub use reader::EventReader; pub use registry::{EventRegistry, ShouldUpdateEvents}; +#[expect( + deprecated, + reason = "`EventUpdates` was renamed to `EventUpdateSystems`." +)] pub use update::{ - event_update_condition, event_update_system, signal_event_update_system, EventUpdates, + event_update_condition, event_update_system, signal_event_update_system, EventUpdateSystems, + EventUpdates, }; pub use writer::EventWriter; diff --git a/crates/bevy_ecs/src/event/update.rs b/crates/bevy_ecs/src/event/update.rs index c7b43aef00..bdde1af0db 100644 --- a/crates/bevy_ecs/src/event/update.rs +++ b/crates/bevy_ecs/src/event/update.rs @@ -13,7 +13,11 @@ use super::registry::ShouldUpdateEvents; #[doc(hidden)] #[derive(SystemSet, Clone, Debug, PartialEq, Eq, Hash)] -pub struct EventUpdates; +pub struct EventUpdateSystems; + +/// Deprecated alias for [`EventUpdateSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `EventUpdateSystems`.")] +pub type EventUpdates = EventUpdateSystems; /// Signals the [`event_update_system`] to run after `FixedUpdate` systems. /// diff --git a/crates/bevy_ecs/src/schedule/mod.rs b/crates/bevy_ecs/src/schedule/mod.rs index d021eb5ca3..81912d2f72 100644 --- a/crates/bevy_ecs/src/schedule/mod.rs +++ b/crates/bevy_ecs/src/schedule/mod.rs @@ -37,7 +37,7 @@ mod tests { }; #[derive(SystemSet, Clone, Debug, PartialEq, Eq, Hash)] - enum TestSet { + enum TestSystems { A, B, C, @@ -142,7 +142,7 @@ mod tests { make_function_system(1).before(named_system), make_function_system(0) .after(named_system) - .in_set(TestSet::A), + .in_set(TestSystems::A), )); schedule.run(&mut world); @@ -153,12 +153,12 @@ mod tests { assert_eq!(world.resource::().0, vec![]); // modify the schedule after it's been initialized and test ordering with sets - schedule.configure_sets(TestSet::A.after(named_system)); + schedule.configure_sets(TestSystems::A.after(named_system)); schedule.add_systems(( make_function_system(3) - .before(TestSet::A) + .before(TestSystems::A) .after(named_system), - make_function_system(4).after(TestSet::A), + make_function_system(4).after(TestSystems::A), )); schedule.run(&mut world); @@ -347,14 +347,14 @@ mod tests { world.init_resource::(); - schedule.configure_sets(TestSet::A.run_if(|| false).run_if(|| false)); - schedule.add_systems(counting_system.in_set(TestSet::A)); - schedule.configure_sets(TestSet::B.run_if(|| true).run_if(|| false)); - schedule.add_systems(counting_system.in_set(TestSet::B)); - schedule.configure_sets(TestSet::C.run_if(|| false).run_if(|| true)); - schedule.add_systems(counting_system.in_set(TestSet::C)); - schedule.configure_sets(TestSet::D.run_if(|| true).run_if(|| true)); - schedule.add_systems(counting_system.in_set(TestSet::D)); + schedule.configure_sets(TestSystems::A.run_if(|| false).run_if(|| false)); + schedule.add_systems(counting_system.in_set(TestSystems::A)); + schedule.configure_sets(TestSystems::B.run_if(|| true).run_if(|| false)); + schedule.add_systems(counting_system.in_set(TestSystems::B)); + schedule.configure_sets(TestSystems::C.run_if(|| false).run_if(|| true)); + schedule.add_systems(counting_system.in_set(TestSystems::C)); + schedule.configure_sets(TestSystems::D.run_if(|| true).run_if(|| true)); + schedule.add_systems(counting_system.in_set(TestSystems::D)); schedule.run(&mut world); assert_eq!(world.resource::().0.load(Ordering::Relaxed), 1); @@ -367,14 +367,14 @@ mod tests { world.init_resource::(); - schedule.configure_sets(TestSet::A.run_if(|| false)); - schedule.add_systems(counting_system.in_set(TestSet::A).run_if(|| false)); - schedule.configure_sets(TestSet::B.run_if(|| true)); - schedule.add_systems(counting_system.in_set(TestSet::B).run_if(|| false)); - schedule.configure_sets(TestSet::C.run_if(|| false)); - schedule.add_systems(counting_system.in_set(TestSet::C).run_if(|| true)); - schedule.configure_sets(TestSet::D.run_if(|| true)); - schedule.add_systems(counting_system.in_set(TestSet::D).run_if(|| true)); + schedule.configure_sets(TestSystems::A.run_if(|| false)); + schedule.add_systems(counting_system.in_set(TestSystems::A).run_if(|| false)); + schedule.configure_sets(TestSystems::B.run_if(|| true)); + schedule.add_systems(counting_system.in_set(TestSystems::B).run_if(|| false)); + schedule.configure_sets(TestSystems::C.run_if(|| false)); + schedule.add_systems(counting_system.in_set(TestSystems::C).run_if(|| true)); + schedule.configure_sets(TestSystems::D.run_if(|| true)); + schedule.add_systems(counting_system.in_set(TestSystems::D).run_if(|| true)); schedule.run(&mut world); assert_eq!(world.resource::().0.load(Ordering::Relaxed), 1); @@ -440,12 +440,12 @@ mod tests { let mut schedule = Schedule::default(); schedule.configure_sets( - TestSet::A + TestSystems::A .run_if(|res1: Res| res1.is_changed()) .run_if(|res2: Res| res2.is_changed()), ); - schedule.add_systems(counting_system.in_set(TestSet::A)); + schedule.add_systems(counting_system.in_set(TestSystems::A)); // both resource were just added. schedule.run(&mut world); @@ -489,13 +489,14 @@ mod tests { world.init_resource::(); let mut schedule = Schedule::default(); - schedule - .configure_sets(TestSet::A.run_if(|res1: Res| res1.is_changed())); + schedule.configure_sets( + TestSystems::A.run_if(|res1: Res| res1.is_changed()), + ); schedule.add_systems( counting_system .run_if(|res2: Res| res2.is_changed()) - .in_set(TestSet::A), + .in_set(TestSystems::A), ); // both resource were just added. @@ -537,7 +538,7 @@ mod tests { #[should_panic] fn dependency_loop() { let mut schedule = Schedule::default(); - schedule.configure_sets(TestSet::X.after(TestSet::X)); + schedule.configure_sets(TestSystems::X.after(TestSystems::X)); } #[test] @@ -545,8 +546,8 @@ mod tests { let mut world = World::new(); let mut schedule = Schedule::default(); - schedule.configure_sets(TestSet::A.after(TestSet::B)); - schedule.configure_sets(TestSet::B.after(TestSet::A)); + schedule.configure_sets(TestSystems::A.after(TestSystems::B)); + schedule.configure_sets(TestSystems::B.after(TestSystems::A)); let result = schedule.initialize(&mut world); assert!(matches!( @@ -572,7 +573,7 @@ mod tests { #[should_panic] fn hierarchy_loop() { let mut schedule = Schedule::default(); - schedule.configure_sets(TestSet::X.in_set(TestSet::X)); + schedule.configure_sets(TestSystems::X.in_set(TestSystems::X)); } #[test] @@ -580,8 +581,8 @@ mod tests { let mut world = World::new(); let mut schedule = Schedule::default(); - schedule.configure_sets(TestSet::A.in_set(TestSet::B)); - schedule.configure_sets(TestSet::B.in_set(TestSet::A)); + schedule.configure_sets(TestSystems::A.in_set(TestSystems::B)); + schedule.configure_sets(TestSystems::B.in_set(TestSystems::A)); let result = schedule.initialize(&mut world); assert!(matches!(result, Err(ScheduleBuildError::HierarchyCycle(_)))); @@ -647,13 +648,13 @@ mod tests { }); // Add `A`. - schedule.configure_sets(TestSet::A); + schedule.configure_sets(TestSystems::A); // Add `B` as child of `A`. - schedule.configure_sets(TestSet::B.in_set(TestSet::A)); + schedule.configure_sets(TestSystems::B.in_set(TestSystems::A)); // Add `X` as child of both `A` and `B`. - schedule.configure_sets(TestSet::X.in_set(TestSet::A).in_set(TestSet::B)); + schedule.configure_sets(TestSystems::X.in_set(TestSystems::A).in_set(TestSystems::B)); // `X` cannot be the `A`'s child and grandchild at the same time. let result = schedule.initialize(&mut world); @@ -669,8 +670,8 @@ mod tests { let mut schedule = Schedule::default(); // Add `B` and give it both kinds of relationships with `A`. - schedule.configure_sets(TestSet::B.in_set(TestSet::A)); - schedule.configure_sets(TestSet::B.after(TestSet::A)); + schedule.configure_sets(TestSystems::B.in_set(TestSystems::A)); + schedule.configure_sets(TestSystems::B.after(TestSystems::A)); let result = schedule.initialize(&mut world); assert!(matches!( result, @@ -686,13 +687,13 @@ mod tests { fn foo() {} // Add `foo` to both `A` and `C`. - schedule.add_systems(foo.in_set(TestSet::A).in_set(TestSet::C)); + schedule.add_systems(foo.in_set(TestSystems::A).in_set(TestSystems::C)); // Order `A -> B -> C`. schedule.configure_sets(( - TestSet::A, - TestSet::B.after(TestSet::A), - TestSet::C.after(TestSet::B), + TestSystems::A, + TestSystems::B.after(TestSystems::A), + TestSystems::C.after(TestSystems::B), )); let result = schedule.initialize(&mut world); diff --git a/crates/bevy_gilrs/src/lib.rs b/crates/bevy_gilrs/src/lib.rs index ce0d5f27f0..5e5a2ba2bd 100644 --- a/crates/bevy_gilrs/src/lib.rs +++ b/crates/bevy_gilrs/src/lib.rs @@ -23,7 +23,7 @@ use core::cell::RefCell; use bevy_app::{App, Plugin, PostUpdate, PreStartup, PreUpdate}; use bevy_ecs::entity::EntityHashMap; use bevy_ecs::prelude::*; -use bevy_input::InputSystem; +use bevy_input::InputSystems; use bevy_platform::collections::HashMap; use gilrs::GilrsBuilder; use gilrs_system::{gilrs_event_startup_system, gilrs_event_system}; @@ -84,7 +84,11 @@ pub struct GilrsPlugin; /// Updates the running gamepad rumble effects. #[derive(Debug, PartialEq, Eq, Clone, Hash, SystemSet)] -pub struct RumbleSystem; +pub struct RumbleSystems; + +/// Deprecated alias for [`RumbleSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `RumbleSystems`.")] +pub type RumbleSystem = RumbleSystems; impl Plugin for GilrsPlugin { fn build(&self, app: &mut App) { @@ -106,8 +110,8 @@ impl Plugin for GilrsPlugin { app.init_resource::(); app.init_resource::() .add_systems(PreStartup, gilrs_event_startup_system) - .add_systems(PreUpdate, gilrs_event_system.before(InputSystem)) - .add_systems(PostUpdate, play_gilrs_rumble.in_set(RumbleSystem)); + .add_systems(PreUpdate, gilrs_event_system.before(InputSystems)) + .add_systems(PostUpdate, play_gilrs_rumble.in_set(RumbleSystems)); } Err(err) => error!("Failed to start Gilrs. {}", err), } diff --git a/crates/bevy_gizmos/src/aabb.rs b/crates/bevy_gizmos/src/aabb.rs index 16dc7ed773..4ac9e5f2ac 100644 --- a/crates/bevy_gizmos/src/aabb.rs +++ b/crates/bevy_gizmos/src/aabb.rs @@ -14,7 +14,7 @@ use bevy_reflect::{std_traits::ReflectDefault, Reflect}; use bevy_render::primitives::Aabb; use bevy_transform::{ components::{GlobalTransform, Transform}, - TransformSystem, + TransformSystems, }; use crate::{ @@ -39,7 +39,7 @@ impl Plugin for AabbGizmoPlugin { }), ) .after(bevy_render::view::VisibilitySystems::CalculateBounds) - .after(TransformSystem::TransformPropagate), + .after(TransformSystems::Propagate), ); } } diff --git a/crates/bevy_gizmos/src/gizmos.rs b/crates/bevy_gizmos/src/gizmos.rs index b51dd672fe..06a6a71f1f 100644 --- a/crates/bevy_gizmos/src/gizmos.rs +++ b/crates/bevy_gizmos/src/gizmos.rs @@ -134,7 +134,7 @@ pub struct Swap(PhantomData); /// .add_systems(EndOfMyContext, end_gizmo_context::) /// .add_systems( /// Last, -/// propagate_gizmos::.before(UpdateGizmoMeshes), +/// propagate_gizmos::.before(GizmoMeshSystems), /// ); /// } /// } diff --git a/crates/bevy_gizmos/src/lib.rs b/crates/bevy_gizmos/src/lib.rs index 3cd2c7c404..581a30091d 100755 --- a/crates/bevy_gizmos/src/lib.rs +++ b/crates/bevy_gizmos/src/lib.rs @@ -24,7 +24,7 @@ extern crate self as bevy_gizmos; /// System set label for the systems handling the rendering of gizmos. #[derive(SystemSet, Clone, Debug, Hash, PartialEq, Eq)] -pub enum GizmoRenderSystem { +pub enum GizmoRenderSystems { /// Adds gizmos to the [`Transparent2d`](bevy_core_pipeline::core_2d::Transparent2d) render phase #[cfg(feature = "bevy_sprite")] QueueLineGizmos2d, @@ -33,6 +33,10 @@ pub enum GizmoRenderSystem { QueueLineGizmos3d, } +/// Deprecated alias for [`GizmoRenderSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `GizmoRenderSystems`.")] +pub type GizmoRenderSystem = GizmoRenderSystems; + #[cfg(feature = "bevy_render")] pub mod aabb; pub mod arcs; @@ -120,7 +124,7 @@ use { }, renderer::RenderDevice, sync_world::{MainEntity, TemporaryRenderEntity}, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, }, bytemuck::cast_slice, }; @@ -185,7 +189,7 @@ impl Plugin for GizmoPlugin { if let Some(render_app) = app.get_sub_app_mut(RenderApp) { render_app.add_systems( Render, - prepare_line_gizmo_bind_group.in_set(RenderSet::PrepareBindGroups), + prepare_line_gizmo_bind_group.in_set(RenderSystems::PrepareBindGroups), ); render_app.add_systems(ExtractSchedule, (extract_gizmo_data, extract_linegizmos)); @@ -268,20 +272,20 @@ impl AppGizmoBuilder for App { .add_systems( RunFixedMainLoop, start_gizmo_context:: - .in_set(bevy_app::RunFixedMainLoopSystem::BeforeFixedMainLoop), + .in_set(bevy_app::RunFixedMainLoopSystems::BeforeFixedMainLoop), ) .add_systems(FixedFirst, clear_gizmo_context::) .add_systems(FixedLast, collect_requested_gizmos::) .add_systems( RunFixedMainLoop, end_gizmo_context:: - .in_set(bevy_app::RunFixedMainLoopSystem::AfterFixedMainLoop), + .in_set(bevy_app::RunFixedMainLoopSystems::AfterFixedMainLoop), ) .add_systems( Last, ( - propagate_gizmos::.before(UpdateGizmoMeshes), - update_gizmo_meshes::.in_set(UpdateGizmoMeshes), + propagate_gizmos::.before(GizmoMeshSystems), + update_gizmo_meshes::.in_set(GizmoMeshSystems), ), ); @@ -332,7 +336,7 @@ pub fn start_gizmo_context( /// /// Pop the default gizmos context out of the [`Swap`] gizmo storage. /// -/// This must be called before [`UpdateGizmoMeshes`] in the [`Last`] schedule. +/// This must be called before [`GizmoMeshSystems`] in the [`Last`] schedule. pub fn end_gizmo_context( mut swap: ResMut>>, mut default: ResMut>, @@ -367,7 +371,7 @@ where /// Propagate the contextual gizmo into the `Update` storage for rendering. /// -/// This should be before [`UpdateGizmoMeshes`]. +/// This should be before [`GizmoMeshSystems`]. pub fn propagate_gizmos( mut update_storage: ResMut>, contextual_storage: Res>, @@ -380,7 +384,11 @@ pub fn propagate_gizmos( /// System set for updating the rendering meshes for drawing gizmos. #[derive(SystemSet, Clone, Debug, PartialEq, Eq, Hash)] -pub struct UpdateGizmoMeshes; +pub struct GizmoMeshSystems; + +/// Deprecated alias for [`GizmoMeshSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `GizmoMeshSystems`.")] +pub type UpdateGizmoMeshes = GizmoMeshSystems; /// Prepare gizmos for rendering. /// diff --git a/crates/bevy_gizmos/src/light.rs b/crates/bevy_gizmos/src/light.rs index 7f7dadacc2..1bd6ee3cac 100644 --- a/crates/bevy_gizmos/src/light.rs +++ b/crates/bevy_gizmos/src/light.rs @@ -24,7 +24,7 @@ use bevy_math::{ }; use bevy_pbr::{DirectionalLight, PointLight, SpotLight}; use bevy_reflect::{std_traits::ReflectDefault, Reflect}; -use bevy_transform::{components::GlobalTransform, TransformSystem}; +use bevy_transform::{components::GlobalTransform, TransformSystems}; use crate::{ config::{GizmoConfigGroup, GizmoConfigStore}, @@ -126,7 +126,7 @@ impl Plugin for LightGizmoPlugin { config.config::().1.draw_all }), ) - .after(TransformSystem::TransformPropagate), + .after(TransformSystems::Propagate), ); } } diff --git a/crates/bevy_gizmos/src/pipeline_2d.rs b/crates/bevy_gizmos/src/pipeline_2d.rs index 3a43055491..15ed1c3ab0 100644 --- a/crates/bevy_gizmos/src/pipeline_2d.rs +++ b/crates/bevy_gizmos/src/pipeline_2d.rs @@ -1,7 +1,7 @@ use crate::{ config::{GizmoLineJoint, GizmoLineStyle, GizmoMeshConfig}, line_gizmo_vertex_buffer_layouts, line_joint_gizmo_vertex_buffer_layouts, DrawLineGizmo, - DrawLineJointGizmo, GizmoRenderSystem, GpuLineGizmo, LineGizmoUniformBindgroupLayout, + DrawLineJointGizmo, GizmoRenderSystems, GpuLineGizmo, LineGizmoUniformBindgroupLayout, SetLineGizmoBindGroup, LINE_JOINT_SHADER_HANDLE, LINE_SHADER_HANDLE, }; use bevy_app::{App, Plugin}; @@ -25,7 +25,7 @@ use bevy_render::{ }, render_resource::*, view::{ExtractedView, Msaa, RenderLayers, ViewTarget}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bevy_sprite::{Mesh2dPipeline, Mesh2dPipelineKey, SetMesh2dViewBindGroup}; use tracing::error; @@ -46,8 +46,8 @@ impl Plugin for LineGizmo2dPlugin { .init_resource::>() .configure_sets( Render, - GizmoRenderSystem::QueueLineGizmos2d - .in_set(RenderSet::Queue) + GizmoRenderSystems::QueueLineGizmos2d + .in_set(RenderSystems::Queue) .ambiguous_with(bevy_sprite::queue_sprites) .ambiguous_with( bevy_sprite::queue_material2d_meshes::, @@ -56,7 +56,7 @@ impl Plugin for LineGizmo2dPlugin { .add_systems( Render, (queue_line_gizmos_2d, queue_line_joint_gizmos_2d) - .in_set(GizmoRenderSystem::QueueLineGizmos2d) + .in_set(GizmoRenderSystems::QueueLineGizmos2d) .after(prepare_assets::), ); } diff --git a/crates/bevy_gizmos/src/pipeline_3d.rs b/crates/bevy_gizmos/src/pipeline_3d.rs index 799793e6cb..87d865f8ca 100644 --- a/crates/bevy_gizmos/src/pipeline_3d.rs +++ b/crates/bevy_gizmos/src/pipeline_3d.rs @@ -1,7 +1,7 @@ use crate::{ config::{GizmoLineJoint, GizmoLineStyle, GizmoMeshConfig}, line_gizmo_vertex_buffer_layouts, line_joint_gizmo_vertex_buffer_layouts, DrawLineGizmo, - DrawLineJointGizmo, GizmoRenderSystem, GpuLineGizmo, LineGizmoUniformBindgroupLayout, + DrawLineJointGizmo, GizmoRenderSystems, GpuLineGizmo, LineGizmoUniformBindgroupLayout, SetLineGizmoBindGroup, LINE_JOINT_SHADER_HANDLE, LINE_SHADER_HANDLE, }; use bevy_app::{App, Plugin}; @@ -30,7 +30,7 @@ use bevy_render::{ }, render_resource::*, view::{ExtractedView, Msaa, RenderLayers, ViewTarget}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use tracing::error; @@ -49,14 +49,14 @@ impl Plugin for LineGizmo3dPlugin { .init_resource::>() .configure_sets( Render, - GizmoRenderSystem::QueueLineGizmos3d - .in_set(RenderSet::Queue) + GizmoRenderSystems::QueueLineGizmos3d + .in_set(RenderSystems::Queue) .ambiguous_with(bevy_pbr::queue_material_meshes::), ) .add_systems( Render, (queue_line_gizmos_3d, queue_line_joint_gizmos_3d) - .in_set(GizmoRenderSystem::QueueLineGizmos3d) + .in_set(GizmoRenderSystems::QueueLineGizmos3d) .after(prepare_assets::), ); } diff --git a/crates/bevy_input/src/lib.rs b/crates/bevy_input/src/lib.rs index e1119c3d35..67c8995179 100644 --- a/crates/bevy_input/src/lib.rs +++ b/crates/bevy_input/src/lib.rs @@ -76,7 +76,11 @@ pub struct InputPlugin; /// Label for systems that update the input data. #[derive(Debug, PartialEq, Eq, Clone, Hash, SystemSet)] -pub struct InputSystem; +pub struct InputSystems; + +/// Deprecated alias for [`InputSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `InputSystems`.")] +pub type InputSystem = InputSystems; impl Plugin for InputPlugin { fn build(&self, app: &mut App) { @@ -85,7 +89,7 @@ impl Plugin for InputPlugin { .add_event::() .add_event::() .init_resource::>() - .add_systems(PreUpdate, keyboard_input_system.in_set(InputSystem)) + .add_systems(PreUpdate, keyboard_input_system.in_set(InputSystems)) // mouse .add_event::() .add_event::() @@ -98,7 +102,7 @@ impl Plugin for InputPlugin { accumulate_mouse_motion_system, accumulate_mouse_scroll_system, ) - .in_set(InputSystem), + .in_set(InputSystems), ) .add_event::() .add_event::() @@ -122,12 +126,12 @@ impl Plugin for InputPlugin { gamepad_connection_system, gamepad_event_processing_system.after(gamepad_connection_system), ) - .in_set(InputSystem), + .in_set(InputSystems), ) // touch .add_event::() .init_resource::() - .add_systems(PreUpdate, touch_screen_input_system.in_set(InputSystem)); + .add_systems(PreUpdate, touch_screen_input_system.in_set(InputSystems)); #[cfg(feature = "bevy_reflect")] { diff --git a/crates/bevy_input_focus/src/lib.rs b/crates/bevy_input_focus/src/lib.rs index 3f7ecf9e7c..44ff0ef645 100644 --- a/crates/bevy_input_focus/src/lib.rs +++ b/crates/bevy_input_focus/src/lib.rs @@ -136,7 +136,7 @@ pub struct InputFocusVisible(pub bool); /// If no entity has input focus, then the event is dispatched to the main window. /// /// To set up your own bubbling input event, add the [`dispatch_focused_input::`](dispatch_focused_input) system to your app, -/// in the [`InputFocusSet::Dispatch`] system set during [`PreUpdate`]. +/// in the [`InputFocusSystems::Dispatch`] system set during [`PreUpdate`]. #[derive(Clone, Debug, Component)] #[cfg_attr(feature = "bevy_reflect", derive(Reflect), reflect(Component, Clone))] pub struct FocusedInput { @@ -195,7 +195,7 @@ impl Plugin for InputDispatchPlugin { dispatch_focused_input::, dispatch_focused_input::, ) - .in_set(InputFocusSet::Dispatch), + .in_set(InputFocusSystems::Dispatch), ); #[cfg(feature = "bevy_reflect")] @@ -209,11 +209,15 @@ impl Plugin for InputDispatchPlugin { /// /// These systems run in the [`PreUpdate`] schedule. #[derive(SystemSet, Debug, PartialEq, Eq, Hash, Clone)] -pub enum InputFocusSet { +pub enum InputFocusSystems { /// System which dispatches bubbled input events to the focused entity, or to the primary window. Dispatch, } +/// Deprecated alias for [`InputFocusSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `InputFocusSystems`.")] +pub type InputFocusSet = InputFocusSystems; + /// Sets the initial focus to the primary window, if any. pub fn set_initial_focus( mut input_focus: ResMut, diff --git a/crates/bevy_pbr/src/atmosphere/mod.rs b/crates/bevy_pbr/src/atmosphere/mod.rs index e7f17f0e1e..773852499e 100644 --- a/crates/bevy_pbr/src/atmosphere/mod.rs +++ b/crates/bevy_pbr/src/atmosphere/mod.rs @@ -56,7 +56,7 @@ use bevy_render::{ render_graph::{RenderGraphApp, ViewNodeRunner}, render_resource::{Shader, TextureFormat, TextureUsages}, renderer::RenderAdapter, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bevy_core_pipeline::core_3d::{graph::Core3d, Camera3d}; @@ -190,11 +190,11 @@ impl Plugin for AtmospherePlugin { .add_systems( Render, ( - configure_camera_depth_usages.in_set(RenderSet::ManageViews), - queue_render_sky_pipelines.in_set(RenderSet::Queue), - prepare_atmosphere_textures.in_set(RenderSet::PrepareResources), - prepare_atmosphere_transforms.in_set(RenderSet::PrepareResources), - prepare_atmosphere_bind_groups.in_set(RenderSet::PrepareBindGroups), + configure_camera_depth_usages.in_set(RenderSystems::ManageViews), + queue_render_sky_pipelines.in_set(RenderSystems::Queue), + prepare_atmosphere_textures.in_set(RenderSystems::PrepareResources), + prepare_atmosphere_transforms.in_set(RenderSystems::PrepareResources), + prepare_atmosphere_bind_groups.in_set(RenderSystems::PrepareBindGroups), ), ) .add_render_graph_node::>( diff --git a/crates/bevy_pbr/src/decal/clustered.rs b/crates/bevy_pbr/src/decal/clustered.rs index 5272bce80c..cadcd1b871 100644 --- a/crates/bevy_pbr/src/decal/clustered.rs +++ b/crates/bevy_pbr/src/decal/clustered.rs @@ -43,7 +43,7 @@ use bevy_render::{ sync_world::RenderEntity, texture::{FallbackImage, GpuImage}, view::{self, ViewVisibility, Visibility, VisibilityClass}, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, }; use bevy_transform::{components::GlobalTransform, prelude::Transform}; use bytemuck::{Pod, Zeroable}; @@ -173,10 +173,13 @@ impl Plugin for ClusteredDecalPlugin { .add_systems( Render, prepare_decals - .in_set(RenderSet::ManageViews) + .in_set(RenderSystems::ManageViews) .after(prepare_lights), ) - .add_systems(Render, upload_decals.in_set(RenderSet::PrepareResources)); + .add_systems( + Render, + upload_decals.in_set(RenderSystems::PrepareResources), + ); } } diff --git a/crates/bevy_pbr/src/deferred/mod.rs b/crates/bevy_pbr/src/deferred/mod.rs index e40b3a940a..eccf6404ad 100644 --- a/crates/bevy_pbr/src/deferred/mod.rs +++ b/crates/bevy_pbr/src/deferred/mod.rs @@ -29,7 +29,7 @@ use bevy_render::{ render_resource::{binding_types::uniform_buffer, *}, renderer::{RenderContext, RenderDevice}, view::{ExtractedView, ViewTarget, ViewUniformOffset}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; pub struct DeferredPbrLightingPlugin; @@ -115,7 +115,7 @@ impl Plugin for DeferredPbrLightingPlugin { .init_resource::>() .add_systems( Render, - (prepare_deferred_lighting_pipelines.in_set(RenderSet::Prepare),), + (prepare_deferred_lighting_pipelines.in_set(RenderSystems::Prepare),), ) .add_render_graph_node::>( Core3d, diff --git a/crates/bevy_pbr/src/lib.rs b/crates/bevy_pbr/src/lib.rs index 1810bc67eb..f9226782c9 100644 --- a/crates/bevy_pbr/src/lib.rs +++ b/crates/bevy_pbr/src/lib.rs @@ -130,17 +130,17 @@ use bevy_ecs::prelude::*; use bevy_image::Image; use bevy_render::{ alpha::AlphaMode, - camera::{sort_cameras, CameraUpdateSystem, Projection}, + camera::{sort_cameras, CameraUpdateSystems, Projection}, extract_component::ExtractComponentPlugin, extract_resource::ExtractResourcePlugin, render_graph::RenderGraph, render_resource::Shader, sync_component::SyncComponentPlugin, view::VisibilitySystems, - ExtractSchedule, Render, RenderApp, RenderDebugFlags, RenderSet, + ExtractSchedule, Render, RenderApp, RenderDebugFlags, RenderSystems, }; -use bevy_transform::TransformSystem; +use bevy_transform::TransformSystems; pub const PBR_TYPES_SHADER_HANDLE: Handle = weak_handle!("b0330585-2335-4268-9032-a6c4c2d932f6"); @@ -401,21 +401,21 @@ impl Plugin for PbrPlugin { ( add_clusters .in_set(SimulationLightSystems::AddClusters) - .after(CameraUpdateSystem), + .after(CameraUpdateSystems), assign_objects_to_clusters .in_set(SimulationLightSystems::AssignLightsToClusters) - .after(TransformSystem::TransformPropagate) + .after(TransformSystems::Propagate) .after(VisibilitySystems::CheckVisibility) - .after(CameraUpdateSystem), + .after(CameraUpdateSystems), clear_directional_light_cascades .in_set(SimulationLightSystems::UpdateDirectionalLightCascades) - .after(TransformSystem::TransformPropagate) - .after(CameraUpdateSystem), + .after(TransformSystems::Propagate) + .after(CameraUpdateSystems), update_directional_light_frusta .in_set(SimulationLightSystems::UpdateLightFrusta) // This must run after CheckVisibility because it relies on `ViewVisibility` .after(VisibilitySystems::CheckVisibility) - .after(TransformSystem::TransformPropagate) + .after(TransformSystems::Propagate) .after(SimulationLightSystems::UpdateDirectionalLightCascades) // We assume that no entity will be both a directional light and a spot light, // so these systems will run independently of one another. @@ -423,11 +423,11 @@ impl Plugin for PbrPlugin { .ambiguous_with(update_spot_light_frusta), update_point_light_frusta .in_set(SimulationLightSystems::UpdateLightFrusta) - .after(TransformSystem::TransformPropagate) + .after(TransformSystems::Propagate) .after(SimulationLightSystems::AssignLightsToClusters), update_spot_light_frusta .in_set(SimulationLightSystems::UpdateLightFrusta) - .after(TransformSystem::TransformPropagate) + .after(TransformSystems::Propagate) .after(SimulationLightSystems::AssignLightsToClusters), ( check_dir_light_mesh_visibility, @@ -435,7 +435,7 @@ impl Plugin for PbrPlugin { ) .in_set(SimulationLightSystems::CheckLightVisibility) .after(VisibilitySystems::CalculateBounds) - .after(TransformSystem::TransformPropagate) + .after(TransformSystems::Propagate) .after(SimulationLightSystems::UpdateLightFrusta) // NOTE: This MUST be scheduled AFTER the core renderer visibility check // because that resets entity `ViewVisibility` for the first view @@ -478,9 +478,9 @@ impl Plugin for PbrPlugin { Render, ( prepare_lights - .in_set(RenderSet::ManageViews) + .in_set(RenderSystems::ManageViews) .after(sort_cameras), - prepare_clusters.in_set(RenderSet::PrepareResources), + prepare_clusters.in_set(RenderSystems::PrepareResources), ), ) .init_resource::() diff --git a/crates/bevy_pbr/src/light_probe/mod.rs b/crates/bevy_pbr/src/light_probe/mod.rs index ebfc7c7e7c..d7323a1e3c 100644 --- a/crates/bevy_pbr/src/light_probe/mod.rs +++ b/crates/bevy_pbr/src/light_probe/mod.rs @@ -27,7 +27,7 @@ use bevy_render::{ sync_world::RenderEntity, texture::{FallbackImage, GpuImage}, view::{ExtractedView, Visibility}, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, }; use bevy_transform::{components::Transform, prelude::GlobalTransform}; use tracing::error; @@ -383,7 +383,7 @@ impl Plugin for LightProbePlugin { .add_systems( Render, (upload_light_probes, prepare_environment_uniform_buffer) - .in_set(RenderSet::PrepareResources), + .in_set(RenderSystems::PrepareResources), ); } } diff --git a/crates/bevy_pbr/src/lightmap/mod.rs b/crates/bevy_pbr/src/lightmap/mod.rs index 4175d6ff61..5ddb1d6c72 100644 --- a/crates/bevy_pbr/src/lightmap/mod.rs +++ b/crates/bevy_pbr/src/lightmap/mod.rs @@ -64,7 +64,7 @@ use fixedbitset::FixedBitSet; use nonmax::{NonMaxU16, NonMaxU32}; use tracing::error; -use crate::{binding_arrays_are_usable, ExtractMeshesSet}; +use crate::{binding_arrays_are_usable, MeshExtractionSystems}; /// The ID of the lightmap shader. pub const LIGHTMAP_SHADER_HANDLE: Handle = @@ -201,9 +201,10 @@ impl Plugin for LightmapPlugin { return; }; - render_app - .init_resource::() - .add_systems(ExtractSchedule, extract_lightmaps.after(ExtractMeshesSet)); + render_app.init_resource::().add_systems( + ExtractSchedule, + extract_lightmaps.after(MeshExtractionSystems), + ); } } diff --git a/crates/bevy_pbr/src/material.rs b/crates/bevy_pbr/src/material.rs index 1814996184..af11db1ba6 100644 --- a/crates/bevy_pbr/src/material.rs +++ b/crates/bevy_pbr/src/material.rs @@ -8,7 +8,7 @@ use crate::meshlet::{ }; use crate::*; use bevy_asset::prelude::AssetChanged; -use bevy_asset::{Asset, AssetEvents, AssetId, AssetServer, UntypedAssetId}; +use bevy_asset::{Asset, AssetEventSystems, AssetId, AssetServer, UntypedAssetId}; use bevy_core_pipeline::deferred::{AlphaMask3dDeferred, Opaque3dDeferred}; use bevy_core_pipeline::prepass::{AlphaMask3dPrepass, Opaque3dPrepass}; use bevy_core_pipeline::{ @@ -288,7 +288,7 @@ where PostUpdate, ( mark_meshes_as_changed_if_their_materials_changed::.ambiguous_with_all(), - check_entities_needing_specialization::.after(AssetEvents), + check_entities_needing_specialization::.after(AssetEventSystems), ) .after(mark_3d_meshes_as_changed_if_their_assets_changed), ); @@ -316,9 +316,9 @@ where .add_systems( ExtractSchedule, ( - extract_mesh_materials::.in_set(ExtractMaterialsSet), + extract_mesh_materials::.in_set(MaterialExtractionSystems), early_sweep_material_instances:: - .after(ExtractMaterialsSet) + .after(MaterialExtractionSystems) .before(late_sweep_material_instances), extract_entities_needs_specialization::.after(extract_cameras), ), @@ -327,13 +327,13 @@ where Render, ( specialize_material_meshes:: - .in_set(RenderSet::PrepareMeshes) + .in_set(RenderSystems::PrepareMeshes) .after(prepare_assets::>) .after(prepare_assets::) .after(collect_meshes_for_gpu_building) .after(set_mesh_motion_vector_flags), queue_material_meshes:: - .in_set(RenderSet::QueueMeshes) + .in_set(RenderSystems::QueueMeshes) .after(prepare_assets::>), ), ) @@ -344,7 +344,7 @@ where write_material_bind_group_buffers::, ) .chain() - .in_set(RenderSet::PrepareBindGroups) + .in_set(RenderSystems::PrepareBindGroups) .after(prepare_assets::>), ); @@ -356,14 +356,15 @@ where .add_systems( Render, ( - check_views_lights_need_specialization.in_set(RenderSet::PrepareAssets), + check_views_lights_need_specialization + .in_set(RenderSystems::PrepareAssets), // specialize_shadows:: also needs to run after prepare_assets::>, // which is fine since ManageViews is after PrepareAssets specialize_shadows:: - .in_set(RenderSet::ManageViews) + .in_set(RenderSystems::ManageViews) .after(prepare_lights), queue_shadows:: - .in_set(RenderSet::QueueMeshes) + .in_set(RenderSystems::QueueMeshes) .after(prepare_assets::>), ), ); @@ -373,7 +374,7 @@ where render_app.add_systems( Render, queue_material_meshlet_meshes:: - .in_set(RenderSet::QueueMeshes) + .in_set(RenderSystems::QueueMeshes) .run_if(resource_exists::), ); @@ -381,7 +382,7 @@ where render_app.add_systems( Render, prepare_material_meshlet_meshes_main_opaque_pass:: - .in_set(RenderSet::QueueMeshes) + .in_set(RenderSystems::QueueMeshes) .after(prepare_assets::>) .before(queue_material_meshlet_meshes::) .run_if(resource_exists::), @@ -637,7 +638,11 @@ pub struct RenderMaterialInstance { /// A [`SystemSet`] that contains all `extract_mesh_materials` systems. #[derive(SystemSet, Clone, PartialEq, Eq, Debug, Hash)] -pub struct ExtractMaterialsSet; +pub struct MaterialExtractionSystems; + +/// Deprecated alias for [`MaterialExtractionSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `MaterialExtractionSystems`.")] +pub type ExtractMaterialsSet = MaterialExtractionSystems; pub const fn alpha_mode_pipeline_key(alpha_mode: AlphaMode, msaa: &Msaa) -> MeshPipelineKey { match alpha_mode { diff --git a/crates/bevy_pbr/src/meshlet/mod.rs b/crates/bevy_pbr/src/meshlet/mod.rs index 2e483b210c..2375894613 100644 --- a/crates/bevy_pbr/src/meshlet/mod.rs +++ b/crates/bevy_pbr/src/meshlet/mod.rs @@ -79,7 +79,7 @@ use bevy_render::{ renderer::RenderDevice, settings::WgpuFeatures, view::{self, prepare_view_targets, Msaa, Visibility, VisibilityClass}, - ExtractSchedule, Render, RenderApp, RenderSet, + ExtractSchedule, Render, RenderApp, RenderSystems, }; use bevy_transform::components::Transform; use derive_more::From; @@ -277,12 +277,12 @@ impl Plugin for MeshletPlugin { .add_systems( Render, ( - perform_pending_meshlet_mesh_writes.in_set(RenderSet::PrepareAssets), + perform_pending_meshlet_mesh_writes.in_set(RenderSystems::PrepareAssets), configure_meshlet_views .after(prepare_view_targets) - .in_set(RenderSet::ManageViews), - prepare_meshlet_per_frame_resources.in_set(RenderSet::PrepareResources), - prepare_meshlet_view_bind_groups.in_set(RenderSet::PrepareBindGroups), + .in_set(RenderSystems::ManageViews), + prepare_meshlet_per_frame_resources.in_set(RenderSystems::PrepareResources), + prepare_meshlet_view_bind_groups.in_set(RenderSystems::PrepareBindGroups), ), ); } diff --git a/crates/bevy_pbr/src/prepass/mod.rs b/crates/bevy_pbr/src/prepass/mod.rs index 77f874c168..cc8dcea6a0 100644 --- a/crates/bevy_pbr/src/prepass/mod.rs +++ b/crates/bevy_pbr/src/prepass/mod.rs @@ -19,7 +19,7 @@ use bevy_render::{ renderer::RenderAdapter, sync_world::RenderEntity, view::{RenderVisibilityRanges, RetainedViewEntity, VISIBILITY_RANGES_STORAGE_BUFFER_COUNT}, - ExtractSchedule, Render, RenderApp, RenderDebugFlags, RenderSet, + ExtractSchedule, Render, RenderApp, RenderDebugFlags, RenderSystems, }; pub use prepass_bindings::*; @@ -60,7 +60,7 @@ use bevy_ecs::system::SystemChangeTick; use bevy_platform::collections::HashMap; use bevy_render::sync_world::MainEntityHashMap; use bevy_render::view::RenderVisibleEntities; -use bevy_render::RenderSet::{PrepareAssets, PrepareResources}; +use bevy_render::RenderSystems::{PrepareAssets, PrepareResources}; use core::{hash::Hash, marker::PhantomData}; pub const PREPASS_SHADER_HANDLE: Handle = @@ -126,7 +126,7 @@ where render_app .add_systems( Render, - prepare_prepass_view_bind_group::.in_set(RenderSet::PrepareBindGroups), + prepare_prepass_view_bind_group::.in_set(RenderSystems::PrepareBindGroups), ) .init_resource::() .init_resource::>>() @@ -216,13 +216,13 @@ where ( check_prepass_views_need_specialization.in_set(PrepareAssets), specialize_prepass_material_meshes:: - .in_set(RenderSet::PrepareMeshes) + .in_set(RenderSystems::PrepareMeshes) .after(prepare_assets::>) .after(prepare_assets::) .after(collect_meshes_for_gpu_building) .after(set_mesh_motion_vector_flags), queue_prepass_material_meshes:: - .in_set(RenderSet::QueueMeshes) + .in_set(RenderSystems::QueueMeshes) .after(prepare_assets::>) // queue_material_meshes only writes to `material_bind_group_id`, which `queue_prepass_material_meshes` doesn't read .ambiguous_with(queue_material_meshes::), @@ -233,7 +233,7 @@ where render_app.add_systems( Render, prepare_material_meshlet_meshes_prepass:: - .in_set(RenderSet::QueueMeshes) + .in_set(RenderSystems::QueueMeshes) .after(prepare_assets::>) .before(queue_material_meshlet_meshes::) .run_if(resource_exists::), diff --git a/crates/bevy_pbr/src/render/fog.rs b/crates/bevy_pbr/src/render/fog.rs index 9394380f71..9d7fd0b18d 100644 --- a/crates/bevy_pbr/src/render/fog.rs +++ b/crates/bevy_pbr/src/render/fog.rs @@ -8,7 +8,7 @@ use bevy_render::{ render_resource::{DynamicUniformBuffer, Shader, ShaderType}, renderer::{RenderDevice, RenderQueue}, view::ExtractedView, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use crate::{DistanceFog, FogFalloff}; @@ -142,7 +142,7 @@ impl Plugin for FogPlugin { if let Some(render_app) = app.get_sub_app_mut(RenderApp) { render_app .init_resource::() - .add_systems(Render, prepare_fog.in_set(RenderSet::PrepareResources)); + .add_systems(Render, prepare_fog.in_set(RenderSystems::PrepareResources)); } } } diff --git a/crates/bevy_pbr/src/render/gpu_preprocess.rs b/crates/bevy_pbr/src/render/gpu_preprocess.rs index 912f6192ce..5356c7580e 100644 --- a/crates/bevy_pbr/src/render/gpu_preprocess.rs +++ b/crates/bevy_pbr/src/render/gpu_preprocess.rs @@ -50,7 +50,7 @@ use bevy_render::{ renderer::{RenderContext, RenderDevice, RenderQueue}, settings::WgpuFeatures, view::{ExtractedView, NoIndirectDrawing, ViewUniform, ViewUniformOffset, ViewUniforms}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bevy_utils::TypeIdMap; use bitflags::bitflags; @@ -471,14 +471,14 @@ impl Plugin for GpuMeshPreprocessPlugin { .add_systems( Render, ( - prepare_preprocess_pipelines.in_set(RenderSet::Prepare), + prepare_preprocess_pipelines.in_set(RenderSystems::Prepare), prepare_preprocess_bind_groups .run_if(resource_exists::>) - .in_set(RenderSet::PrepareBindGroups), - write_mesh_culling_data_buffer.in_set(RenderSet::PrepareResourcesFlush), + .in_set(RenderSystems::PrepareBindGroups), + write_mesh_culling_data_buffer.in_set(RenderSystems::PrepareResourcesFlush), ), ) .add_render_graph_node::( diff --git a/crates/bevy_pbr/src/render/mesh.rs b/crates/bevy_pbr/src/render/mesh.rs index 4bae79b807..11abee8746 100644 --- a/crates/bevy_pbr/src/render/mesh.rs +++ b/crates/bevy_pbr/src/render/mesh.rs @@ -74,7 +74,7 @@ use bevy_render::camera::TemporalJitter; use bevy_render::prelude::Msaa; use bevy_render::sync_world::{MainEntity, MainEntityHashMap}; use bevy_render::view::ExtractedView; -use bevy_render::RenderSet::PrepareAssets; +use bevy_render::RenderSystems::PrepareAssets; use bytemuck::{Pod, Zeroable}; use nonmax::{NonMaxU16, NonMaxU32}; use smallvec::{smallvec, SmallVec}; @@ -196,7 +196,7 @@ impl Plugin for MeshRenderPlugin { .init_resource::() .configure_sets( ExtractSchedule, - ExtractMeshesSet + MeshExtractionSystems .after(view::extract_visibility_ranges) .after(late_sweep_material_instances), ) @@ -206,22 +206,22 @@ impl Plugin for MeshRenderPlugin { extract_skins, extract_morphs, gpu_preprocessing::clear_batched_gpu_instance_buffers:: - .before(ExtractMeshesSet), + .before(MeshExtractionSystems), ), ) .add_systems( Render, ( - set_mesh_motion_vector_flags.in_set(RenderSet::PrepareMeshes), - prepare_skins.in_set(RenderSet::PrepareResources), - prepare_morphs.in_set(RenderSet::PrepareResources), - prepare_mesh_bind_groups.in_set(RenderSet::PrepareBindGroups), + set_mesh_motion_vector_flags.in_set(RenderSystems::PrepareMeshes), + prepare_skins.in_set(RenderSystems::PrepareResources), + prepare_morphs.in_set(RenderSystems::PrepareResources), + prepare_mesh_bind_groups.in_set(RenderSystems::PrepareBindGroups), prepare_mesh_view_bind_groups - .in_set(RenderSet::PrepareBindGroups) + .in_set(RenderSystems::PrepareBindGroups) .after(prepare_oit_buffers), no_gpu_preprocessing::clear_batched_cpu_instance_buffers:: - .in_set(RenderSet::Cleanup) - .after(RenderSet::Render), + .in_set(RenderSystems::Cleanup) + .after(RenderSystems::Render), ), ); } @@ -259,17 +259,17 @@ impl Plugin for MeshRenderPlugin { .init_resource::() .add_systems( ExtractSchedule, - extract_meshes_for_gpu_building.in_set(ExtractMeshesSet), + extract_meshes_for_gpu_building.in_set(MeshExtractionSystems), ) .add_systems( Render, ( gpu_preprocessing::write_batched_instance_buffers:: - .in_set(RenderSet::PrepareResourcesFlush), + .in_set(RenderSystems::PrepareResourcesFlush), gpu_preprocessing::delete_old_work_item_buffers:: - .in_set(RenderSet::PrepareResources), + .in_set(RenderSystems::PrepareResources), collect_meshes_for_gpu_building - .in_set(RenderSet::PrepareMeshes) + .in_set(RenderSystems::PrepareMeshes) // This must be before // `set_mesh_motion_vector_flags` so it doesn't // overwrite those flags. @@ -284,12 +284,12 @@ impl Plugin for MeshRenderPlugin { .insert_resource(cpu_batched_instance_buffer) .add_systems( ExtractSchedule, - extract_meshes_for_cpu_building.in_set(ExtractMeshesSet), + extract_meshes_for_cpu_building.in_set(MeshExtractionSystems), ) .add_systems( Render, no_gpu_preprocessing::write_batched_instance_buffer:: - .in_set(RenderSet::PrepareResourcesFlush), + .in_set(RenderSystems::PrepareResourcesFlush), ); }; @@ -1296,7 +1296,11 @@ pub struct RenderMeshQueueData<'a> { /// A [`SystemSet`] that encompasses both [`extract_meshes_for_cpu_building`] /// and [`extract_meshes_for_gpu_building`]. #[derive(SystemSet, Clone, PartialEq, Eq, Debug, Hash)] -pub struct ExtractMeshesSet; +pub struct MeshExtractionSystems; + +/// Deprecated alias for [`MeshExtractionSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `MeshExtractionSystems`.")] +pub type ExtractMeshesSet = MeshExtractionSystems; /// Extracts meshes from the main world into the render world, populating the /// [`RenderMeshInstances`]. diff --git a/crates/bevy_pbr/src/ssao/mod.rs b/crates/bevy_pbr/src/ssao/mod.rs index 9098f82773..9224374c60 100644 --- a/crates/bevy_pbr/src/ssao/mod.rs +++ b/crates/bevy_pbr/src/ssao/mod.rs @@ -33,7 +33,7 @@ use bevy_render::{ sync_world::RenderEntity, texture::{CachedTexture, TextureCache}, view::{Msaa, ViewUniform, ViewUniformOffset, ViewUniforms}, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, }; use bevy_utils::prelude::default; use core::mem; @@ -111,9 +111,9 @@ impl Plugin for ScreenSpaceAmbientOcclusionPlugin { .add_systems( Render, ( - prepare_ssao_pipelines.in_set(RenderSet::Prepare), - prepare_ssao_textures.in_set(RenderSet::PrepareResources), - prepare_ssao_bind_groups.in_set(RenderSet::PrepareBindGroups), + prepare_ssao_pipelines.in_set(RenderSystems::Prepare), + prepare_ssao_textures.in_set(RenderSystems::PrepareResources), + prepare_ssao_bind_groups.in_set(RenderSystems::PrepareBindGroups), ), ) .add_render_graph_node::>( diff --git a/crates/bevy_pbr/src/ssr/mod.rs b/crates/bevy_pbr/src/ssr/mod.rs index 1ee73da8f0..e4cc850d81 100644 --- a/crates/bevy_pbr/src/ssr/mod.rs +++ b/crates/bevy_pbr/src/ssr/mod.rs @@ -37,7 +37,7 @@ use bevy_render::{ }, renderer::{RenderAdapter, RenderContext, RenderDevice, RenderQueue}, view::{ExtractedView, Msaa, ViewTarget, ViewUniformOffset}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bevy_utils::{once, prelude::default}; use tracing::info; @@ -196,10 +196,10 @@ impl Plugin for ScreenSpaceReflectionsPlugin { render_app .init_resource::() - .add_systems(Render, prepare_ssr_pipelines.in_set(RenderSet::Prepare)) + .add_systems(Render, prepare_ssr_pipelines.in_set(RenderSystems::Prepare)) .add_systems( Render, - prepare_ssr_settings.in_set(RenderSet::PrepareResources), + prepare_ssr_settings.in_set(RenderSystems::PrepareResources), ) .add_render_graph_node::>( Core3d, diff --git a/crates/bevy_pbr/src/volumetric_fog/mod.rs b/crates/bevy_pbr/src/volumetric_fog/mod.rs index b9f1d60945..4af1bbb421 100644 --- a/crates/bevy_pbr/src/volumetric_fog/mod.rs +++ b/crates/bevy_pbr/src/volumetric_fog/mod.rs @@ -51,7 +51,7 @@ use bevy_render::{ render_resource::{Shader, SpecializedRenderPipelines}, sync_component::SyncComponentPlugin, view::Visibility, - ExtractSchedule, Render, RenderApp, RenderSet, + ExtractSchedule, Render, RenderApp, RenderSystems, }; use bevy_transform::components::Transform; use render::{ @@ -216,10 +216,10 @@ impl Plugin for VolumetricFogPlugin { .add_systems( Render, ( - render::prepare_volumetric_fog_pipelines.in_set(RenderSet::Prepare), - render::prepare_volumetric_fog_uniforms.in_set(RenderSet::Prepare), + render::prepare_volumetric_fog_pipelines.in_set(RenderSystems::Prepare), + render::prepare_volumetric_fog_uniforms.in_set(RenderSystems::Prepare), render::prepare_view_depth_textures_for_volumetric_fog - .in_set(RenderSet::Prepare) + .in_set(RenderSystems::Prepare) .before(prepare_core_3d_depth_textures), ), ); diff --git a/crates/bevy_pbr/src/wireframe.rs b/crates/bevy_pbr/src/wireframe.rs index 407062064a..7b748c2535 100644 --- a/crates/bevy_pbr/src/wireframe.rs +++ b/crates/bevy_pbr/src/wireframe.rs @@ -5,7 +5,7 @@ use crate::{ use bevy_app::{App, Plugin, PostUpdate, Startup, Update}; use bevy_asset::{ load_internal_asset, prelude::AssetChanged, weak_handle, AsAssetId, Asset, AssetApp, - AssetEvents, AssetId, Assets, Handle, UntypedAssetId, + AssetEventSystems, AssetId, Assets, Handle, UntypedAssetId, }; use bevy_color::{Color, ColorToComponents}; use bevy_core_pipeline::core_3d::{ @@ -51,7 +51,7 @@ use bevy_render::{ ExtractedView, NoIndirectDrawing, RenderVisibilityRanges, RenderVisibleEntities, RetainedViewEntity, ViewDepthTexture, ViewTarget, }, - Extract, Render, RenderApp, RenderDebugFlags, RenderSet, + Extract, Render, RenderApp, RenderDebugFlags, RenderSystems, }; use core::{hash::Hash, ops::Range}; use tracing::error; @@ -115,7 +115,7 @@ impl Plugin for WireframePlugin { .add_systems( PostUpdate, check_wireframe_entities_needing_specialization - .after(AssetEvents) + .after(AssetEventSystems) .run_if(resource_exists::), ); @@ -151,11 +151,11 @@ impl Plugin for WireframePlugin { Render, ( specialize_wireframes - .in_set(RenderSet::PrepareMeshes) + .in_set(RenderSystems::PrepareMeshes) .after(prepare_assets::) .after(prepare_assets::), queue_wireframes - .in_set(RenderSet::QueueMeshes) + .in_set(RenderSystems::QueueMeshes) .after(prepare_assets::), ), ); diff --git a/crates/bevy_picking/src/backend.rs b/crates/bevy_picking/src/backend.rs index fb2f9d7d7a..3758816ac9 100644 --- a/crates/bevy_picking/src/backend.rs +++ b/crates/bevy_picking/src/backend.rs @@ -42,7 +42,7 @@ pub mod prelude { pub use super::{ray::RayMap, HitData, PointerHits}; pub use crate::{ pointer::{PointerId, PointerLocation}, - PickSet, Pickable, + Pickable, PickingSystems, }; } @@ -54,7 +54,7 @@ pub mod prelude { /// /// Note that systems reading these events in [`PreUpdate`](bevy_app::PreUpdate) will not report ordering /// ambiguities with picking backends. Take care to ensure such systems are explicitly ordered -/// against [`PickSet::Backend`](crate::PickSet::Backend), or better, avoid reading `PointerHits` in `PreUpdate`. +/// against [`PickingSystems::Backend`](crate::PickingSystems::Backend), or better, avoid reading `PointerHits` in `PreUpdate`. #[derive(Event, Debug, Clone, Reflect)] #[reflect(Debug, Clone)] pub struct PointerHits { diff --git a/crates/bevy_picking/src/events.rs b/crates/bevy_picking/src/events.rs index 88b3b9bccc..29405099f6 100644 --- a/crates/bevy_picking/src/events.rs +++ b/crates/bevy_picking/src/events.rs @@ -23,7 +23,7 @@ //! //! The order in which interaction events are received is extremely important, and you can read more //! about it on the docs for the dispatcher system: [`pointer_events`]. This system runs in -//! [`PreUpdate`](bevy_app::PreUpdate) in [`PickSet::Hover`](crate::PickSet::Hover). All pointer-event +//! [`PreUpdate`](bevy_app::PreUpdate) in [`PickingSystems::Hover`](crate::PickingSystems::Hover). All pointer-event //! observers resolve during the sync point between [`pointer_events`] and //! [`update_interactions`](crate::hover::update_interactions). //! diff --git a/crates/bevy_picking/src/input.rs b/crates/bevy_picking/src/input.rs index 712e612224..d751e07c94 100644 --- a/crates/bevy_picking/src/input.rs +++ b/crates/bevy_picking/src/input.rs @@ -30,7 +30,7 @@ use crate::pointer::{ Location, PointerAction, PointerButton, PointerId, PointerInput, PointerLocation, }; -use crate::PickSet; +use crate::PickingSystems; /// The picking input prelude. /// @@ -86,7 +86,7 @@ impl Plugin for PointerInputPlugin { touch_pick_events.run_if(PointerInputPlugin::is_touch_enabled), ) .chain() - .in_set(PickSet::Input), + .in_set(PickingSystems::Input), ) .add_systems( Last, diff --git a/crates/bevy_picking/src/lib.rs b/crates/bevy_picking/src/lib.rs index 6afe86b0d6..53387e84c8 100644 --- a/crates/bevy_picking/src/lib.rs +++ b/crates/bevy_picking/src/lib.rs @@ -256,7 +256,7 @@ impl Default for Pickable { /// Groups the stages of the picking process under shared labels. #[derive(Debug, Hash, PartialEq, Eq, Clone, SystemSet)] -pub enum PickSet { +pub enum PickingSystems { /// Produces pointer input events. In the [`First`] schedule. Input, /// Runs after input events are generated but before commands are flushed. In the [`First`] @@ -269,13 +269,17 @@ pub enum PickSet { /// Reads [`backend::PointerHits`]s, and updates the hovermap, selection, and highlighting states. In /// the [`PreUpdate`] schedule. Hover, - /// Runs after all the [`PickSet::Hover`] systems are done, before event listeners are triggered. In the + /// Runs after all the [`PickingSystems::Hover`] systems are done, before event listeners are triggered. In the /// [`PreUpdate`] schedule. PostHover, /// Runs after all other picking sets. In the [`PreUpdate`] schedule. Last, } +/// Deprecated alias for [`PickingSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `PickingSystems`.")] +pub type PickSet = PickingSystems; + /// One plugin that contains the [`PointerInputPlugin`](input::PointerInputPlugin), [`PickingPlugin`] /// and the [`InteractionPlugin`], this is probably the plugin that will be most used. /// @@ -359,29 +363,29 @@ impl Plugin for PickingPlugin { pointer::PointerInput::receive, backend::ray::RayMap::repopulate.after(pointer::PointerInput::receive), ) - .in_set(PickSet::ProcessInput), + .in_set(PickingSystems::ProcessInput), ) .add_systems( PreUpdate, window::update_window_hits .run_if(Self::window_picking_should_run) - .in_set(PickSet::Backend), + .in_set(PickingSystems::Backend), ) .configure_sets( First, - (PickSet::Input, PickSet::PostInput) - .after(bevy_time::TimeSystem) - .after(bevy_ecs::event::EventUpdates) + (PickingSystems::Input, PickingSystems::PostInput) + .after(bevy_time::TimeSystems) + .after(bevy_ecs::event::EventUpdateSystems) .chain(), ) .configure_sets( PreUpdate, ( - PickSet::ProcessInput.run_if(Self::input_should_run), - PickSet::Backend, - PickSet::Hover.run_if(Self::hover_should_run), - PickSet::PostHover, - PickSet::Last, + PickingSystems::ProcessInput.run_if(Self::input_should_run), + PickingSystems::Backend, + PickingSystems::Hover.run_if(Self::hover_should_run), + PickingSystems::PostHover, + PickingSystems::Last, ) .chain(), ) @@ -427,7 +431,7 @@ impl Plugin for InteractionPlugin { PreUpdate, (generate_hovermap, update_interactions, pointer_events) .chain() - .in_set(PickSet::Hover), + .in_set(PickingSystems::Hover), ); } } diff --git a/crates/bevy_picking/src/mesh_picking/mod.rs b/crates/bevy_picking/src/mesh_picking/mod.rs index 1e7e45bc2d..fe08976eb8 100644 --- a/crates/bevy_picking/src/mesh_picking/mod.rs +++ b/crates/bevy_picking/src/mesh_picking/mod.rs @@ -19,7 +19,7 @@ pub mod ray_cast; use crate::{ backend::{ray::RayMap, HitData, PointerHits}, prelude::*, - PickSet, + PickingSystems, }; use bevy_app::prelude::*; use bevy_ecs::prelude::*; @@ -71,7 +71,7 @@ impl Plugin for MeshPickingPlugin { app.init_resource::() .register_type::() .register_type::() - .add_systems(PreUpdate, update_hits.in_set(PickSet::Backend)); + .add_systems(PreUpdate, update_hits.in_set(PickingSystems::Backend)); } } diff --git a/crates/bevy_remote/src/lib.rs b/crates/bevy_remote/src/lib.rs index b21fb97bbb..97b2e453e7 100644 --- a/crates/bevy_remote/src/lib.rs +++ b/crates/bevy_remote/src/lib.rs @@ -543,15 +543,15 @@ impl Plugin for RemotePlugin { .add_systems(PreStartup, setup_mailbox_channel) .configure_sets( RemoteLast, - (RemoteSet::ProcessRequests, RemoteSet::Cleanup).chain(), + (RemoteSystems::ProcessRequests, RemoteSystems::Cleanup).chain(), ) .add_systems( RemoteLast, ( (process_remote_requests, process_ongoing_watching_requests) .chain() - .in_set(RemoteSet::ProcessRequests), - remove_closed_watching_requests.in_set(RemoteSet::Cleanup), + .in_set(RemoteSystems::ProcessRequests), + remove_closed_watching_requests.in_set(RemoteSystems::Cleanup), ), ); } @@ -565,13 +565,17 @@ pub struct RemoteLast; /// /// These can be useful for ordering. #[derive(Debug, Hash, PartialEq, Eq, Clone, SystemSet)] -pub enum RemoteSet { +pub enum RemoteSystems { /// Processing of remote requests. ProcessRequests, /// Cleanup (remove closed watchers etc) Cleanup, } +/// Deprecated alias for [`RemoteSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `RemoteSystems`.")] +pub type RemoteSet = RemoteSystems; + /// A type to hold the allowed types of systems to be used as method handlers. #[derive(Debug)] pub enum RemoteMethodHandler { diff --git a/crates/bevy_render/src/batching/gpu_preprocessing.rs b/crates/bevy_render/src/batching/gpu_preprocessing.rs index 7de55ee022..6032ff436e 100644 --- a/crates/bevy_render/src/batching/gpu_preprocessing.rs +++ b/crates/bevy_render/src/batching/gpu_preprocessing.rs @@ -36,7 +36,7 @@ use crate::{ renderer::{RenderAdapter, RenderDevice, RenderQueue}, sync_world::MainEntity, view::{ExtractedView, NoIndirectDrawing, RetainedViewEntity}, - Render, RenderApp, RenderDebugFlags, RenderSet, + Render, RenderApp, RenderDebugFlags, RenderSystems, }; use super::{BatchMeta, GetBatchData, GetFullBatchData}; @@ -60,11 +60,11 @@ impl Plugin for BatchingPlugin { )) .add_systems( Render, - write_indirect_parameters_buffers.in_set(RenderSet::PrepareResourcesFlush), + write_indirect_parameters_buffers.in_set(RenderSystems::PrepareResourcesFlush), ) .add_systems( Render, - clear_indirect_parameters_buffers.in_set(RenderSet::ManageViews), + clear_indirect_parameters_buffers.in_set(RenderSystems::ManageViews), ); } diff --git a/crates/bevy_render/src/camera/mod.rs b/crates/bevy_render/src/camera/mod.rs index 4c77021bad..a2470a7660 100644 --- a/crates/bevy_render/src/camera/mod.rs +++ b/crates/bevy_render/src/camera/mod.rs @@ -12,7 +12,7 @@ pub use projection::*; use crate::{ extract_component::ExtractComponentPlugin, extract_resource::ExtractResourcePlugin, - render_graph::RenderGraph, ExtractSchedule, Render, RenderApp, RenderSet, + render_graph::RenderGraph, ExtractSchedule, Render, RenderApp, RenderSystems, }; use bevy_app::{App, Plugin}; use bevy_ecs::schedule::IntoScheduleConfigs; @@ -42,7 +42,7 @@ impl Plugin for CameraPlugin { render_app .init_resource::() .add_systems(ExtractSchedule, extract_cameras) - .add_systems(Render, sort_cameras.in_set(RenderSet::ManageViews)); + .add_systems(Render, sort_cameras.in_set(RenderSystems::ManageViews)); let camera_driver_node = CameraDriverNode::new(render_app.world_mut()); let mut render_graph = render_app.world_mut().resource_mut::(); render_graph.add_node(crate::graph::CameraDriverLabel, camera_driver_node); diff --git a/crates/bevy_render/src/camera/projection.rs b/crates/bevy_render/src/camera/projection.rs index e3f95cb036..a7796a1d1a 100644 --- a/crates/bevy_render/src/camera/projection.rs +++ b/crates/bevy_render/src/camera/projection.rs @@ -2,12 +2,12 @@ use core::fmt::Debug; use crate::{primitives::Frustum, view::VisibilitySystems}; use bevy_app::{App, Plugin, PostStartup, PostUpdate}; -use bevy_asset::AssetEvents; +use bevy_asset::AssetEventSystems; use bevy_derive::{Deref, DerefMut}; use bevy_ecs::prelude::*; use bevy_math::{ops, AspectRatio, Mat4, Rect, Vec2, Vec3A, Vec4}; use bevy_reflect::{std_traits::ReflectDefault, Reflect, ReflectDeserialize, ReflectSerialize}; -use bevy_transform::{components::GlobalTransform, TransformSystem}; +use bevy_transform::{components::GlobalTransform, TransformSystems}; use derive_more::derive::From; use serde::{Deserialize, Serialize}; @@ -25,18 +25,18 @@ impl Plugin for CameraProjectionPlugin { .register_type::() .add_systems( PostStartup, - crate::camera::camera_system.in_set(CameraUpdateSystem), + crate::camera::camera_system.in_set(CameraUpdateSystems), ) .add_systems( PostUpdate, ( crate::camera::camera_system - .in_set(CameraUpdateSystem) - .before(AssetEvents), + .in_set(CameraUpdateSystems) + .before(AssetEventSystems), crate::view::update_frusta .in_set(VisibilitySystems::UpdateFrusta) .after(crate::camera::camera_system) - .after(TransformSystem::TransformPropagate), + .after(TransformSystems::Propagate), ), ); } @@ -46,7 +46,11 @@ impl Plugin for CameraProjectionPlugin { /// /// [`camera_system`]: crate::camera::camera_system #[derive(SystemSet, Clone, Eq, PartialEq, Hash, Debug)] -pub struct CameraUpdateSystem; +pub struct CameraUpdateSystems; + +/// Deprecated alias for [`CameraUpdateSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `CameraUpdateSystems`.")] +pub type CameraUpdateSystem = CameraUpdateSystems; /// Describes a type that can generate a projection matrix, allowing it to be added to a /// [`Camera`]'s [`Projection`] component. diff --git a/crates/bevy_render/src/extract_component.rs b/crates/bevy_render/src/extract_component.rs index 19d15a2b86..e1f528d6ab 100644 --- a/crates/bevy_render/src/extract_component.rs +++ b/crates/bevy_render/src/extract_component.rs @@ -4,7 +4,7 @@ use crate::{ sync_component::SyncComponentPlugin, sync_world::RenderEntity, view::ViewVisibility, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, }; use bevy_app::{App, Plugin}; use bevy_ecs::{ @@ -70,7 +70,7 @@ pub trait ExtractComponent: Component { /// For referencing the newly created uniforms a [`DynamicUniformIndex`] is inserted /// for every processed entity. /// -/// Therefore it sets up the [`RenderSet::Prepare`] step +/// Therefore it sets up the [`RenderSystems::Prepare`] step /// for the specified [`ExtractComponent`]. pub struct UniformComponentPlugin(PhantomData C>); @@ -87,7 +87,7 @@ impl Plugin for UniformComponentP .insert_resource(ComponentUniforms::::default()) .add_systems( Render, - prepare_uniform_components::.in_set(RenderSet::PrepareResources), + prepare_uniform_components::.in_set(RenderSystems::PrepareResources), ); } } diff --git a/crates/bevy_render/src/globals.rs b/crates/bevy_render/src/globals.rs index c05d96c4c9..49755f4098 100644 --- a/crates/bevy_render/src/globals.rs +++ b/crates/bevy_render/src/globals.rs @@ -3,7 +3,7 @@ use crate::{ prelude::Shader, render_resource::{ShaderType, UniformBuffer}, renderer::{RenderDevice, RenderQueue}, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, }; use bevy_app::{App, Plugin}; use bevy_asset::{load_internal_asset, weak_handle, Handle}; @@ -29,7 +29,7 @@ impl Plugin for GlobalsPlugin { .add_systems(ExtractSchedule, (extract_frame_count, extract_time)) .add_systems( Render, - prepare_globals_buffer.in_set(RenderSet::PrepareResources), + prepare_globals_buffer.in_set(RenderSystems::PrepareResources), ); } } diff --git a/crates/bevy_render/src/gpu_component_array_buffer.rs b/crates/bevy_render/src/gpu_component_array_buffer.rs index b3f78f5bfb..b4eb56197f 100644 --- a/crates/bevy_render/src/gpu_component_array_buffer.rs +++ b/crates/bevy_render/src/gpu_component_array_buffer.rs @@ -1,7 +1,7 @@ use crate::{ render_resource::{GpuArrayBuffer, GpuArrayBufferable}, renderer::{RenderDevice, RenderQueue}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bevy_app::{App, Plugin}; use bevy_ecs::{ @@ -20,7 +20,7 @@ impl Plugin for GpuComponentArrayBufferPlugin if let Some(render_app) = app.get_sub_app_mut(RenderApp) { render_app.add_systems( Render, - prepare_gpu_component_array_buffers::.in_set(RenderSet::PrepareResources), + prepare_gpu_component_array_buffers::.in_set(RenderSystems::PrepareResources), ); } } diff --git a/crates/bevy_render/src/gpu_readback.rs b/crates/bevy_render/src/gpu_readback.rs index 02f0c2d1db..c05861f3da 100644 --- a/crates/bevy_render/src/gpu_readback.rs +++ b/crates/bevy_render/src/gpu_readback.rs @@ -9,7 +9,7 @@ use crate::{ storage::{GpuShaderStorageBuffer, ShaderStorageBuffer}, sync_world::MainEntity, texture::GpuImage, - ExtractSchedule, MainWorld, Render, RenderApp, RenderSet, + ExtractSchedule, MainWorld, Render, RenderApp, RenderSystems, }; use async_channel::{Receiver, Sender}; use bevy_app::{App, Plugin}; @@ -60,8 +60,10 @@ impl Plugin for GpuReadbackPlugin { .add_systems( Render, ( - prepare_buffers.in_set(RenderSet::PrepareResources), - map_buffers.after(render_system).in_set(RenderSet::Render), + prepare_buffers.in_set(RenderSystems::PrepareResources), + map_buffers + .after(render_system) + .in_set(RenderSystems::Render), ), ); } diff --git a/crates/bevy_render/src/lib.rs b/crates/bevy_render/src/lib.rs index 843bb68284..b4c9011c78 100644 --- a/crates/bevy_render/src/lib.rs +++ b/crates/bevy_render/src/lib.rs @@ -144,7 +144,7 @@ bitflags! { /// /// These can be useful for ordering, but you almost never want to add your systems to these sets. #[derive(Debug, Hash, PartialEq, Eq, Clone, SystemSet)] -pub enum RenderSet { +pub enum RenderSystems { /// This is used for applying the commands from the [`ExtractSchedule`] ExtractCommands, /// Prepare assets that have been created/modified/removed this frame. @@ -156,9 +156,9 @@ pub enum RenderSet { /// Queue drawable entities as phase items in render phases ready for /// sorting (if necessary) Queue, - /// A sub-set within [`Queue`](RenderSet::Queue) where mesh entity queue systems are executed. Ensures `prepare_assets::` is completed. + /// A sub-set within [`Queue`](RenderSystems::Queue) where mesh entity queue systems are executed. Ensures `prepare_assets::` is completed. QueueMeshes, - /// A sub-set within [`Queue`](RenderSet::Queue) where meshes that have + /// A sub-set within [`Queue`](RenderSystems::Queue) where meshes that have /// become invisible or changed phases are removed from the bins. QueueSweep, // TODO: This could probably be moved in favor of a system ordering @@ -169,14 +169,14 @@ pub enum RenderSet { /// Prepare render resources from extracted data for the GPU based on their sorted order. /// Create [`BindGroups`](render_resource::BindGroup) that depend on those data. Prepare, - /// A sub-set within [`Prepare`](RenderSet::Prepare) for initializing buffers, textures and uniforms for use in bind groups. + /// A sub-set within [`Prepare`](RenderSystems::Prepare) for initializing buffers, textures and uniforms for use in bind groups. PrepareResources, /// Collect phase buffers after - /// [`PrepareResources`](RenderSet::PrepareResources) has run. + /// [`PrepareResources`](RenderSystems::PrepareResources) has run. PrepareResourcesCollectPhaseBuffers, - /// Flush buffers after [`PrepareResources`](RenderSet::PrepareResources), but before [`PrepareBindGroups`](RenderSet::PrepareBindGroups). + /// Flush buffers after [`PrepareResources`](RenderSystems::PrepareResources), but before [`PrepareBindGroups`](RenderSystems::PrepareBindGroups). PrepareResourcesFlush, - /// A sub-set within [`Prepare`](RenderSet::Prepare) for constructing bind groups, or other data that relies on render resources prepared in [`PrepareResources`](RenderSet::PrepareResources). + /// A sub-set within [`Prepare`](RenderSystems::Prepare) for constructing bind groups, or other data that relies on render resources prepared in [`PrepareResources`](RenderSystems::PrepareResources). PrepareBindGroups, /// Actual rendering happens here. /// In most cases, only the render backend should insert resources here. @@ -185,10 +185,14 @@ pub enum RenderSet { Cleanup, /// Final cleanup occurs: all entities will be despawned. /// - /// Runs after [`Cleanup`](RenderSet::Cleanup). + /// Runs after [`Cleanup`](RenderSystems::Cleanup). PostCleanup, } +/// Deprecated alias for [`RenderSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `RenderSystems`.")] +pub type RenderSet = RenderSystems; + /// The main render schedule. #[derive(ScheduleLabel, Debug, Hash, PartialEq, Eq, Clone, Default)] pub struct Render; @@ -198,7 +202,7 @@ impl Render { /// /// The sets defined in this enum are configured to run in order. pub fn base_schedule() -> Schedule { - use RenderSet::*; + use RenderSystems::*; let mut schedule = Schedule::new(Self); @@ -293,7 +297,7 @@ pub const BINDLESS_SHADER_HANDLE: Handle = weak_handle!("13f1baaa-41bf-448e-929e-258f9307a522"); impl Plugin for RenderPlugin { - /// Initializes the renderer, sets up the [`RenderSet`] and creates the rendering sub-app. + /// Initializes the renderer, sets up the [`RenderSystems`] and creates the rendering sub-app. fn build(&self, app: &mut App) { app.init_asset::() .init_asset_loader::(); @@ -417,7 +421,7 @@ impl Plugin for RenderPlugin { .add_systems(ExtractSchedule, extract_render_asset_bytes_per_frame) .add_systems( Render, - reset_render_asset_bytes_per_frame.in_set(RenderSet::Cleanup), + reset_render_asset_bytes_per_frame.in_set(RenderSystems::Cleanup), ); } @@ -528,11 +532,11 @@ unsafe fn initialize_render_app(app: &mut App) { ( // This set applies the commands from the extract schedule while the render schedule // is running in parallel with the main app. - apply_extract_commands.in_set(RenderSet::ExtractCommands), + apply_extract_commands.in_set(RenderSystems::ExtractCommands), (PipelineCache::process_pipeline_queue_system, render_system) .chain() - .in_set(RenderSet::Render), - despawn_temporary_render_entities.in_set(RenderSet::PostCleanup), + .in_set(RenderSystems::Render), + despawn_temporary_render_entities.in_set(RenderSystems::PostCleanup), ), ); diff --git a/crates/bevy_render/src/mesh/allocator.rs b/crates/bevy_render/src/mesh/allocator.rs index bc638859ed..113369cea1 100644 --- a/crates/bevy_render/src/mesh/allocator.rs +++ b/crates/bevy_render/src/mesh/allocator.rs @@ -30,7 +30,7 @@ use crate::{ render_asset::{prepare_assets, ExtractedAssets}, render_resource::Buffer, renderer::{RenderAdapter, RenderDevice, RenderQueue}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; /// A plugin that manages GPU memory for mesh data. @@ -311,7 +311,7 @@ impl Plugin for MeshAllocatorPlugin { .add_systems( Render, allocate_and_free_meshes - .in_set(RenderSet::PrepareAssets) + .in_set(RenderSystems::PrepareAssets) .before(prepare_assets::), ); } diff --git a/crates/bevy_render/src/mesh/mod.rs b/crates/bevy_render/src/mesh/mod.rs index fbd530c14d..d15468376f 100644 --- a/crates/bevy_render/src/mesh/mod.rs +++ b/crates/bevy_render/src/mesh/mod.rs @@ -13,7 +13,7 @@ use crate::{ }; use allocator::MeshAllocatorPlugin; use bevy_app::{App, Plugin, PostUpdate}; -use bevy_asset::{AssetApp, AssetEvents, AssetId, RenderAssetUsages}; +use bevy_asset::{AssetApp, AssetEventSystems, AssetId, RenderAssetUsages}; use bevy_ecs::{ prelude::*, system::{ @@ -73,7 +73,7 @@ impl Plugin for MeshPlugin { PostUpdate, mark_3d_meshes_as_changed_if_their_assets_changed .ambiguous_with(VisibilitySystems::CalculateBounds) - .before(AssetEvents), + .before(AssetEventSystems), ); let Some(render_app) = app.get_sub_app_mut(RenderApp) else { diff --git a/crates/bevy_render/src/pipelined_rendering.rs b/crates/bevy_render/src/pipelined_rendering.rs index fb665e469d..efe728e7c7 100644 --- a/crates/bevy_render/src/pipelined_rendering.rs +++ b/crates/bevy_render/src/pipelined_rendering.rs @@ -97,7 +97,7 @@ impl Drop for RenderAppChannels { /// This is run on the main app's thread. /// - On the render thread, we first apply the `extract commands`. This is not run during extract, so the /// main schedule can start sooner. -/// - Then the `rendering schedule` is run. See [`RenderSet`](crate::RenderSet) for the standard steps in this process. +/// - Then the `rendering schedule` is run. See [`RenderSystems`](crate::RenderSystems) for the standard steps in this process. /// - In parallel to the rendering thread the [`RenderExtractApp`] schedule runs. By /// default, this schedule is empty. But it is useful if you need something to run before I/O processing. /// - Next all the `winit events` are processed. diff --git a/crates/bevy_render/src/render_asset.rs b/crates/bevy_render/src/render_asset.rs index 6626cb7797..1fa5758ca3 100644 --- a/crates/bevy_render/src/render_asset.rs +++ b/crates/bevy_render/src/render_asset.rs @@ -1,6 +1,6 @@ use crate::{ render_resource::AsBindGroupError, Extract, ExtractSchedule, MainWorld, Render, RenderApp, - RenderSet, Res, + RenderSystems, Res, }; use bevy_app::{App, Plugin, SubApp}; pub use bevy_asset::RenderAssetUsages; @@ -27,14 +27,18 @@ pub enum PrepareAssetError { /// The system set during which we extract modified assets to the render world. #[derive(SystemSet, Clone, PartialEq, Eq, Debug, Hash)] -pub struct ExtractAssetsSet; +pub struct AssetExtractionSystems; + +/// Deprecated alias for [`AssetExtractionSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `AssetExtractionSystems`.")] +pub type ExtractAssetsSet = AssetExtractionSystems; /// Describes how an asset gets extracted and prepared for rendering. /// /// In the [`ExtractSchedule`] step the [`RenderAsset::SourceAsset`] is transferred /// from the "main world" into the "render world". /// -/// After that in the [`RenderSet::PrepareAssets`] step the extracted asset +/// After that in the [`RenderSystems::PrepareAssets`] step the extracted asset /// is transformed into its GPU-representation of type [`RenderAsset`]. pub trait RenderAsset: Send + Sync + 'static + Sized { /// The representation of the asset in the "main world". @@ -88,7 +92,7 @@ pub trait RenderAsset: Send + Sync + 'static + Sized { /// and prepares them for the GPU. They can then be accessed from the [`RenderAssets`] resource. /// /// Therefore it sets up the [`ExtractSchedule`] and -/// [`RenderSet::PrepareAssets`] steps for the specified [`RenderAsset`]. +/// [`RenderSystems::PrepareAssets`] steps for the specified [`RenderAsset`]. /// /// The `AFTER` generic parameter can be used to specify that `A::prepare_asset` should not be run until /// `prepare_assets::` has completed. This allows the `prepare_asset` function to depend on another @@ -120,11 +124,11 @@ impl Plugin .init_resource::>() .add_systems( ExtractSchedule, - extract_render_asset::.in_set(ExtractAssetsSet), + extract_render_asset::.in_set(AssetExtractionSystems), ); AFTER::register_system( render_app, - prepare_assets::.in_set(RenderSet::PrepareAssets), + prepare_assets::.in_set(RenderSystems::PrepareAssets), ); } } diff --git a/crates/bevy_render/src/render_phase/mod.rs b/crates/bevy_render/src/render_phase/mod.rs index a4eb4a944f..272418f67f 100644 --- a/crates/bevy_render/src/render_phase/mod.rs +++ b/crates/bevy_render/src/render_phase/mod.rs @@ -10,10 +10,10 @@ //! //! To draw an entity, a corresponding [`PhaseItem`] has to be added to one or multiple of these //! render phases for each view that it is visible in. -//! This must be done in the [`RenderSet::Queue`]. -//! After that the render phase sorts them in the [`RenderSet::PhaseSort`]. +//! This must be done in the [`RenderSystems::Queue`]. +//! After that the render phase sorts them in the [`RenderSystems::PhaseSort`]. //! Finally the items are rendered using a single [`TrackedRenderPass`], during -//! the [`RenderSet::Render`]. +//! the [`RenderSystems::Render`]. //! //! Therefore each phase item is assigned a [`Draw`] function. //! These set up the state of the [`TrackedRenderPass`] (i.e. select the @@ -59,7 +59,7 @@ use crate::{ GetFullBatchData, }, render_resource::{CachedRenderPipelineId, GpuArrayBufferIndex, PipelineCache}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use bevy_ecs::{ prelude::*, @@ -1134,7 +1134,7 @@ where .add_systems( Render, ( - batching::sort_binned_render_phase::.in_set(RenderSet::PhaseSort), + batching::sort_binned_render_phase::.in_set(RenderSystems::PhaseSort), ( no_gpu_preprocessing::batch_and_prepare_binned_render_phase:: .run_if(resource_exists::>), @@ -1145,15 +1145,15 @@ where >, ), ) - .in_set(RenderSet::PrepareResources), - sweep_old_entities::.in_set(RenderSet::QueueSweep), + .in_set(RenderSystems::PrepareResources), + sweep_old_entities::.in_set(RenderSystems::QueueSweep), gpu_preprocessing::collect_buffers_for_phase:: .run_if( resource_exists::< BatchedInstanceBuffers, >, ) - .in_set(RenderSet::PrepareResourcesCollectPhaseBuffers), + .in_set(RenderSystems::PrepareResourcesCollectPhaseBuffers), ), ); } @@ -1250,14 +1250,14 @@ where >, ), ) - .in_set(RenderSet::PrepareResources), + .in_set(RenderSystems::PrepareResources), gpu_preprocessing::collect_buffers_for_phase:: .run_if( resource_exists::< BatchedInstanceBuffers, >, ) - .in_set(RenderSet::PrepareResourcesCollectPhaseBuffers), + .in_set(RenderSystems::PrepareResourcesCollectPhaseBuffers), ), ); } @@ -1465,10 +1465,10 @@ where /// /// The data required for rendering an entity is extracted from the main world in the /// [`ExtractSchedule`](crate::ExtractSchedule). -/// Then it has to be queued up for rendering during the [`RenderSet::Queue`], +/// Then it has to be queued up for rendering during the [`RenderSystems::Queue`], /// by adding a corresponding phase item to a render phase. /// Afterwards it will be possibly sorted and rendered automatically in the -/// [`RenderSet::PhaseSort`] and [`RenderSet::Render`], respectively. +/// [`RenderSystems::PhaseSort`] and [`RenderSystems::Render`], respectively. /// /// `PhaseItem`s come in two flavors: [`BinnedPhaseItem`]s and /// [`SortedPhaseItem`]s. diff --git a/crates/bevy_render/src/render_resource/pipeline_cache.rs b/crates/bevy_render/src/render_resource/pipeline_cache.rs index 653ae70b1c..be22c83f98 100644 --- a/crates/bevy_render/src/render_resource/pipeline_cache.rs +++ b/crates/bevy_render/src/render_resource/pipeline_cache.rs @@ -555,13 +555,13 @@ impl LayoutCache { /// The cache stores existing render and compute pipelines allocated on the GPU, as well as /// pending creation. Pipelines inserted into the cache are identified by a unique ID, which /// can be used to retrieve the actual GPU object once it's ready. The creation of the GPU -/// pipeline object is deferred to the [`RenderSet::Render`] step, just before the render +/// pipeline object is deferred to the [`RenderSystems::Render`] step, just before the render /// graph starts being processed, as this requires access to the GPU. /// /// Note that the cache does not perform automatic deduplication of identical pipelines. It is /// up to the user not to insert the same pipeline twice to avoid wasting GPU resources. /// -/// [`RenderSet::Render`]: crate::RenderSet::Render +/// [`RenderSystems::Render`]: crate::RenderSystems::Render #[derive(Resource)] pub struct PipelineCache { layout_cache: Arc>, @@ -959,10 +959,10 @@ impl PipelineCache { /// Process the pipeline queue and create all pending pipelines if possible. /// - /// This is generally called automatically during the [`RenderSet::Render`] step, but can + /// This is generally called automatically during the [`RenderSystems::Render`] step, but can /// be called manually to force creation at a different time. /// - /// [`RenderSet::Render`]: crate::RenderSet::Render + /// [`RenderSystems::Render`]: crate::RenderSystems::Render pub fn process_queue(&mut self) { let mut waiting_pipelines = mem::take(&mut self.waiting_pipelines); let mut pipelines = mem::take(&mut self.pipelines); diff --git a/crates/bevy_render/src/texture/mod.rs b/crates/bevy_render/src/texture/mod.rs index 6955de7ff4..de5361aad8 100644 --- a/crates/bevy_render/src/texture/mod.rs +++ b/crates/bevy_render/src/texture/mod.rs @@ -15,7 +15,7 @@ pub use texture_attachment::*; pub use texture_cache::*; use crate::{ - render_asset::RenderAssetPlugin, renderer::RenderDevice, Render, RenderApp, RenderSet, + render_asset::RenderAssetPlugin, renderer::RenderDevice, Render, RenderApp, RenderSystems, }; use bevy_app::{App, Plugin}; use bevy_asset::{weak_handle, AssetApp, Assets, Handle}; @@ -100,7 +100,7 @@ impl Plugin for ImagePlugin { if let Some(render_app) = app.get_sub_app_mut(RenderApp) { render_app.init_resource::().add_systems( Render, - update_texture_cache_system.in_set(RenderSet::Cleanup), + update_texture_cache_system.in_set(RenderSystems::Cleanup), ); } diff --git a/crates/bevy_render/src/view/mod.rs b/crates/bevy_render/src/view/mod.rs index c392dcaaeb..2f80e5f94b 100644 --- a/crates/bevy_render/src/view/mod.rs +++ b/crates/bevy_render/src/view/mod.rs @@ -24,7 +24,7 @@ use crate::{ CachedTexture, ColorAttachment, DepthAttachment, GpuImage, OutputColorAttachment, TextureCache, }, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }; use alloc::sync::Arc; use bevy_app::{App, Plugin}; @@ -126,18 +126,18 @@ impl Plugin for ViewPlugin { ( // `TextureView`s need to be dropped before reconfiguring window surfaces. clear_view_attachments - .in_set(RenderSet::ManageViews) + .in_set(RenderSystems::ManageViews) .before(create_surfaces), prepare_view_attachments - .in_set(RenderSet::ManageViews) + .in_set(RenderSystems::ManageViews) .before(prepare_view_targets) .after(prepare_windows), prepare_view_targets - .in_set(RenderSet::ManageViews) + .in_set(RenderSystems::ManageViews) .after(prepare_windows) .after(crate::render_asset::prepare_assets::) .ambiguous_with(crate::camera::sort_cameras), // doesn't use `sorted_camera_index_for_target` - prepare_view_uniforms.in_set(RenderSet::PrepareResources), + prepare_view_uniforms.in_set(RenderSystems::PrepareResources), ), ); } diff --git a/crates/bevy_render/src/view/visibility/mod.rs b/crates/bevy_render/src/view/visibility/mod.rs index 63c931a8b0..3a0772b687 100644 --- a/crates/bevy_render/src/view/visibility/mod.rs +++ b/crates/bevy_render/src/view/visibility/mod.rs @@ -14,7 +14,7 @@ use bevy_app::{Plugin, PostUpdate}; use bevy_asset::Assets; use bevy_ecs::{hierarchy::validate_parent_has_component, prelude::*}; use bevy_reflect::{std_traits::ReflectDefault, Reflect}; -use bevy_transform::{components::GlobalTransform, TransformSystem}; +use bevy_transform::{components::GlobalTransform, TransformSystems}; use bevy_utils::{Parallel, TypeIdMap}; use smallvec::SmallVec; @@ -342,7 +342,7 @@ impl Plugin for VisibilityPlugin { PostUpdate, (CalculateBounds, UpdateFrusta, VisibilityPropagate) .before(CheckVisibility) - .after(TransformSystem::TransformPropagate), + .after(TransformSystems::Propagate), ) .configure_sets( PostUpdate, diff --git a/crates/bevy_render/src/view/visibility/range.rs b/crates/bevy_render/src/view/visibility/range.rs index 4c264e0778..2559d3b8d2 100644 --- a/crates/bevy_render/src/view/visibility/range.rs +++ b/crates/bevy_render/src/view/visibility/range.rs @@ -32,7 +32,7 @@ use crate::{ primitives::Aabb, render_resource::BufferVec, renderer::{RenderDevice, RenderQueue}, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, }; /// We need at least 4 storage buffer bindings available to enable the @@ -72,7 +72,7 @@ impl Plugin for VisibilityRangePlugin { .add_systems(ExtractSchedule, extract_visibility_ranges) .add_systems( Render, - write_render_visibility_ranges.in_set(RenderSet::PrepareResourcesFlush), + write_render_visibility_ranges.in_set(RenderSystems::PrepareResourcesFlush), ); } } diff --git a/crates/bevy_render/src/view/window/mod.rs b/crates/bevy_render/src/view/window/mod.rs index 9d94fdc7d1..4c8d86d040 100644 --- a/crates/bevy_render/src/view/window/mod.rs +++ b/crates/bevy_render/src/view/window/mod.rs @@ -1,7 +1,7 @@ use crate::{ render_resource::{SurfaceTexture, TextureView}, renderer::{RenderAdapter, RenderDevice, RenderInstance}, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, WgpuWrapper, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, WgpuWrapper, }; use bevy_app::{App, Plugin}; use bevy_ecs::{entity::EntityHashMap, prelude::*}; @@ -40,7 +40,7 @@ impl Plugin for WindowRenderPlugin { .run_if(need_surface_configuration) .before(prepare_windows), ) - .add_systems(Render, prepare_windows.in_set(RenderSet::ManageViews)); + .add_systems(Render, prepare_windows.in_set(RenderSystems::ManageViews)); } } } diff --git a/crates/bevy_render/src/view/window/screenshot.rs b/crates/bevy_render/src/view/window/screenshot.rs index 5522f6d763..854a6bc064 100644 --- a/crates/bevy_render/src/view/window/screenshot.rs +++ b/crates/bevy_render/src/view/window/screenshot.rs @@ -13,7 +13,7 @@ use crate::{ renderer::RenderDevice, texture::{GpuImage, OutputColorAttachment}, view::{prepare_view_attachments, prepare_view_targets, ViewTargetAttachments, WindowSurfaces}, - ExtractSchedule, MainWorld, Render, RenderApp, RenderSet, + ExtractSchedule, MainWorld, Render, RenderApp, RenderSystems, }; use alloc::{borrow::Cow, sync::Arc}; use bevy_app::{First, Plugin, Update}; @@ -432,7 +432,7 @@ impl Plugin for ScreenshotPlugin { prepare_screenshots .after(prepare_view_attachments) .before(prepare_view_targets) - .in_set(RenderSet::ManageViews), + .in_set(RenderSystems::ManageViews), ); } } diff --git a/crates/bevy_sprite/src/lib.rs b/crates/bevy_sprite/src/lib.rs index 37d4d2d6e4..4b2d206420 100644 --- a/crates/bevy_sprite/src/lib.rs +++ b/crates/bevy_sprite/src/lib.rs @@ -42,7 +42,7 @@ pub use sprite::*; pub use texture_slice::*; use bevy_app::prelude::*; -use bevy_asset::{load_internal_asset, weak_handle, AssetEvents, Assets, Handle}; +use bevy_asset::{load_internal_asset, weak_handle, AssetEventSystems, Assets, Handle}; use bevy_core_pipeline::core_2d::{AlphaMask2d, Opaque2d, Transparent2d}; use bevy_ecs::prelude::*; use bevy_image::{prelude::*, TextureAtlasPlugin}; @@ -53,7 +53,7 @@ use bevy_render::{ render_phase::AddRenderCommand, render_resource::{Shader, SpecializedRenderPipelines}, view::{NoFrustumCulling, VisibilitySystems}, - ExtractSchedule, Render, RenderApp, RenderSet, + ExtractSchedule, Render, RenderApp, RenderSystems, }; /// Adds support for 2D sprite rendering. @@ -67,11 +67,15 @@ pub const SPRITE_VIEW_BINDINGS_SHADER_HANDLE: Handle = /// System set for sprite rendering. #[derive(Debug, Hash, PartialEq, Eq, Clone, SystemSet)] -pub enum SpriteSystem { +pub enum SpriteSystems { ExtractSprites, ComputeSlices, } +/// Deprecated alias for [`SpriteSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `SpriteSystems`.")] +pub type SpriteSystem = SpriteSystems; + impl Plugin for SpritePlugin { fn build(&self, app: &mut App) { load_internal_asset!( @@ -102,10 +106,10 @@ impl Plugin for SpritePlugin { ( calculate_bounds_2d.in_set(VisibilitySystems::CalculateBounds), ( - compute_slices_on_asset_event.before(AssetEvents), + compute_slices_on_asset_event.before(AssetEventSystems), compute_slices_on_sprite_change, ) - .in_set(SpriteSystem::ComputeSlices), + .in_set(SpriteSystems::ComputeSlices), ), ); @@ -124,7 +128,7 @@ impl Plugin for SpritePlugin { .add_systems( ExtractSchedule, ( - extract_sprites.in_set(SpriteSystem::ExtractSprites), + extract_sprites.in_set(SpriteSystems::ExtractSprites), extract_sprite_events, ), ) @@ -132,12 +136,12 @@ impl Plugin for SpritePlugin { Render, ( queue_sprites - .in_set(RenderSet::Queue) + .in_set(RenderSystems::Queue) .ambiguous_with(queue_material2d_meshes::), - prepare_sprite_image_bind_groups.in_set(RenderSet::PrepareBindGroups), - prepare_sprite_view_bind_groups.in_set(RenderSet::PrepareBindGroups), - sort_binned_render_phase::.in_set(RenderSet::PhaseSort), - sort_binned_render_phase::.in_set(RenderSet::PhaseSort), + prepare_sprite_image_bind_groups.in_set(RenderSystems::PrepareBindGroups), + prepare_sprite_view_bind_groups.in_set(RenderSystems::PrepareBindGroups), + sort_binned_render_phase::.in_set(RenderSystems::PhaseSort), + sort_binned_render_phase::.in_set(RenderSystems::PhaseSort), ), ); }; diff --git a/crates/bevy_sprite/src/mesh2d/material.rs b/crates/bevy_sprite/src/mesh2d/material.rs index e34595f138..3f76b516cd 100644 --- a/crates/bevy_sprite/src/mesh2d/material.rs +++ b/crates/bevy_sprite/src/mesh2d/material.rs @@ -4,7 +4,7 @@ use crate::{ }; use bevy_app::{App, Plugin, PostUpdate}; use bevy_asset::prelude::AssetChanged; -use bevy_asset::{AsAssetId, Asset, AssetApp, AssetEvents, AssetId, AssetServer, Handle}; +use bevy_asset::{AsAssetId, Asset, AssetApp, AssetEventSystems, AssetId, AssetServer, Handle}; use bevy_core_pipeline::{ core_2d::{ AlphaMask2d, AlphaMask2dBinKey, BatchSetKey2d, Opaque2d, Opaque2dBinKey, Transparent2d, @@ -43,7 +43,7 @@ use bevy_render::{ renderer::RenderDevice, sync_world::{MainEntity, MainEntityHashMap}, view::{ExtractedView, ViewVisibility}, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, }; use bevy_utils::Parallel; use core::{hash::Hash, marker::PhantomData}; @@ -273,7 +273,7 @@ where .add_plugins(RenderAssetPlugin::>::default()) .add_systems( PostUpdate, - check_entities_needing_specialization::.after(AssetEvents), + check_entities_needing_specialization::.after(AssetEventSystems), ); if let Some(render_app) = app.get_sub_app_mut(RenderApp) { @@ -296,11 +296,11 @@ where Render, ( specialize_material2d_meshes:: - .in_set(RenderSet::PrepareMeshes) + .in_set(RenderSystems::PrepareMeshes) .after(prepare_assets::>) .after(prepare_assets::), queue_material2d_meshes:: - .in_set(RenderSet::QueueMeshes) + .in_set(RenderSystems::QueueMeshes) .after(prepare_assets::>), ), ); diff --git a/crates/bevy_sprite/src/mesh2d/mesh.rs b/crates/bevy_sprite/src/mesh2d/mesh.rs index 5822d47ed6..3bacc35194 100644 --- a/crates/bevy_sprite/src/mesh2d/mesh.rs +++ b/crates/bevy_sprite/src/mesh2d/mesh.rs @@ -21,7 +21,7 @@ use bevy_image::{BevyDefault, Image, ImageSampler, TextureFormatPixelInfo}; use bevy_math::{Affine3, Vec4}; use bevy_render::mesh::MeshTag; use bevy_render::prelude::Msaa; -use bevy_render::RenderSet::PrepareAssets; +use bevy_render::RenderSystems::PrepareAssets; use bevy_render::{ batching::{ gpu_preprocessing::IndirectParametersCpuMetadata, @@ -48,7 +48,7 @@ use bevy_render::{ view::{ ExtractedView, ViewTarget, ViewUniform, ViewUniformOffset, ViewUniforms, ViewVisibility, }, - Extract, ExtractSchedule, Render, RenderApp, RenderSet, + Extract, ExtractSchedule, Render, RenderApp, RenderSystems, }; use bevy_transform::components::GlobalTransform; use nonmax::NonMaxU32; @@ -119,20 +119,20 @@ impl Plugin for Mesh2dRenderPlugin { sweep_old_entities::, sweep_old_entities::, ) - .in_set(RenderSet::QueueSweep), + .in_set(RenderSystems::QueueSweep), batch_and_prepare_binned_render_phase:: - .in_set(RenderSet::PrepareResources), + .in_set(RenderSystems::PrepareResources), batch_and_prepare_binned_render_phase:: - .in_set(RenderSet::PrepareResources), + .in_set(RenderSystems::PrepareResources), batch_and_prepare_sorted_render_phase:: - .in_set(RenderSet::PrepareResources), + .in_set(RenderSystems::PrepareResources), write_batched_instance_buffer:: - .in_set(RenderSet::PrepareResourcesFlush), - prepare_mesh2d_bind_group.in_set(RenderSet::PrepareBindGroups), - prepare_mesh2d_view_bind_groups.in_set(RenderSet::PrepareBindGroups), + .in_set(RenderSystems::PrepareResourcesFlush), + prepare_mesh2d_bind_group.in_set(RenderSystems::PrepareBindGroups), + prepare_mesh2d_view_bind_groups.in_set(RenderSystems::PrepareBindGroups), no_gpu_preprocessing::clear_batched_cpu_instance_buffers:: - .in_set(RenderSet::Cleanup) - .after(RenderSet::Render), + .in_set(RenderSystems::Cleanup) + .after(RenderSystems::Render), ), ); } diff --git a/crates/bevy_sprite/src/mesh2d/wireframe2d.rs b/crates/bevy_sprite/src/mesh2d/wireframe2d.rs index 63e5280519..468a47f6bb 100644 --- a/crates/bevy_sprite/src/mesh2d/wireframe2d.rs +++ b/crates/bevy_sprite/src/mesh2d/wireframe2d.rs @@ -5,7 +5,7 @@ use crate::{ use bevy_app::{App, Plugin, PostUpdate, Startup, Update}; use bevy_asset::{ load_internal_asset, prelude::AssetChanged, weak_handle, AsAssetId, Asset, AssetApp, - AssetEvents, AssetId, Assets, Handle, UntypedAssetId, + AssetEventSystems, AssetId, Assets, Handle, UntypedAssetId, }; use bevy_color::{Color, ColorToComponents}; use bevy_core_pipeline::core_2d::{ @@ -49,7 +49,7 @@ use bevy_render::{ view::{ ExtractedView, RenderVisibleEntities, RetainedViewEntity, ViewDepthTexture, ViewTarget, }, - Extract, Render, RenderApp, RenderDebugFlags, RenderSet, + Extract, Render, RenderApp, RenderDebugFlags, RenderSystems, }; use core::{hash::Hash, ops::Range}; use tracing::error; @@ -113,7 +113,7 @@ impl Plugin for Wireframe2dPlugin { .add_systems( PostUpdate, check_wireframe_entities_needing_specialization - .after(AssetEvents) + .after(AssetEventSystems) .run_if(resource_exists::), ); @@ -149,11 +149,11 @@ impl Plugin for Wireframe2dPlugin { Render, ( specialize_wireframes - .in_set(RenderSet::PrepareMeshes) + .in_set(RenderSystems::PrepareMeshes) .after(prepare_assets::) .after(prepare_assets::), queue_wireframes - .in_set(RenderSet::QueueMeshes) + .in_set(RenderSystems::QueueMeshes) .after(prepare_assets::), ), ); diff --git a/crates/bevy_sprite/src/picking_backend.rs b/crates/bevy_sprite/src/picking_backend.rs index 4994ab2af6..56579c9c0a 100644 --- a/crates/bevy_sprite/src/picking_backend.rs +++ b/crates/bevy_sprite/src/picking_backend.rs @@ -79,7 +79,7 @@ impl Plugin for SpritePickingPlugin { .register_type::() .register_type::() .register_type::() - .add_systems(PreUpdate, sprite_picking.in_set(PickSet::Backend)); + .add_systems(PreUpdate, sprite_picking.in_set(PickingSystems::Backend)); } } diff --git a/crates/bevy_state/src/app.rs b/crates/bevy_state/src/app.rs index dd963d4d84..903a098137 100644 --- a/crates/bevy_state/src/app.rs +++ b/crates/bevy_state/src/app.rs @@ -6,7 +6,7 @@ use log::warn; use crate::{ state::{ setup_state_transitions_in_world, ComputedStates, FreelyMutableState, NextState, State, - StateTransition, StateTransitionEvent, StateTransitionSteps, States, SubStates, + StateTransition, StateTransitionEvent, StateTransitionSystems, States, SubStates, }, state_scoped::{despawn_entities_on_enter_state, despawn_entities_on_exit_state}, }; @@ -224,18 +224,18 @@ impl AppExtStates for SubApp { } // Note: We work with `StateTransition` in set - // `StateTransitionSteps::ExitSchedules` rather than `OnExit`, because + // `StateTransitionSystems::ExitSchedules` rather than `OnExit`, because // `OnExit` only runs for one specific variant of the state. self.add_systems( StateTransition, - despawn_entities_on_exit_state::.in_set(StateTransitionSteps::ExitSchedules), + despawn_entities_on_exit_state::.in_set(StateTransitionSystems::ExitSchedules), ) // Note: We work with `StateTransition` in set - // `StateTransitionSteps::EnterSchedules` rather than `OnEnter`, because + // `StateTransitionSystems::EnterSchedules` rather than `OnEnter`, because // `OnEnter` only runs for one specific variant of the state. .add_systems( StateTransition, - despawn_entities_on_enter_state::.in_set(StateTransitionSteps::EnterSchedules), + despawn_entities_on_enter_state::.in_set(StateTransitionSystems::EnterSchedules), ) } diff --git a/crates/bevy_state/src/state/freely_mutable_state.rs b/crates/bevy_state/src/state/freely_mutable_state.rs index aef72e15fa..8751b3ad29 100644 --- a/crates/bevy_state/src/state/freely_mutable_state.rs +++ b/crates/bevy_state/src/state/freely_mutable_state.rs @@ -17,11 +17,11 @@ pub trait FreelyMutableState: States { fn register_state(schedule: &mut Schedule) { schedule.configure_sets(( ApplyStateTransition::::default() - .in_set(StateTransitionSteps::DependentTransitions), - ExitSchedules::::default().in_set(StateTransitionSteps::ExitSchedules), + .in_set(StateTransitionSystems::DependentTransitions), + ExitSchedules::::default().in_set(StateTransitionSystems::ExitSchedules), TransitionSchedules::::default() - .in_set(StateTransitionSteps::TransitionSchedules), - EnterSchedules::::default().in_set(StateTransitionSteps::EnterSchedules), + .in_set(StateTransitionSystems::TransitionSchedules), + EnterSchedules::::default().in_set(StateTransitionSystems::EnterSchedules), )); schedule diff --git a/crates/bevy_state/src/state/state_set.rs b/crates/bevy_state/src/state/state_set.rs index 5199662027..69a6c41b3d 100644 --- a/crates/bevy_state/src/state/state_set.rs +++ b/crates/bevy_state/src/state/state_set.rs @@ -10,7 +10,7 @@ use self::sealed::StateSetSealed; use super::{ computed_states::ComputedStates, internal_apply_state_transition, last_transition, run_enter, run_exit, run_transition, sub_states::SubStates, take_next_state, ApplyStateTransition, - EnterSchedules, ExitSchedules, NextState, State, StateTransitionEvent, StateTransitionSteps, + EnterSchedules, ExitSchedules, NextState, State, StateTransitionEvent, StateTransitionSystems, States, TransitionSchedules, }; @@ -117,14 +117,14 @@ impl StateSet for S { schedule.configure_sets(( ApplyStateTransition::::default() - .in_set(StateTransitionSteps::DependentTransitions) + .in_set(StateTransitionSystems::DependentTransitions) .after(ApplyStateTransition::::default()), ExitSchedules::::default() - .in_set(StateTransitionSteps::ExitSchedules) + .in_set(StateTransitionSystems::ExitSchedules) .before(ExitSchedules::::default()), - TransitionSchedules::::default().in_set(StateTransitionSteps::TransitionSchedules), + TransitionSchedules::::default().in_set(StateTransitionSystems::TransitionSchedules), EnterSchedules::::default() - .in_set(StateTransitionSteps::EnterSchedules) + .in_set(StateTransitionSystems::EnterSchedules) .after(EnterSchedules::::default()), )); @@ -197,14 +197,14 @@ impl StateSet for S { schedule.configure_sets(( ApplyStateTransition::::default() - .in_set(StateTransitionSteps::DependentTransitions) + .in_set(StateTransitionSystems::DependentTransitions) .after(ApplyStateTransition::::default()), ExitSchedules::::default() - .in_set(StateTransitionSteps::ExitSchedules) + .in_set(StateTransitionSystems::ExitSchedules) .before(ExitSchedules::::default()), - TransitionSchedules::::default().in_set(StateTransitionSteps::TransitionSchedules), + TransitionSchedules::::default().in_set(StateTransitionSystems::TransitionSchedules), EnterSchedules::::default() - .in_set(StateTransitionSteps::EnterSchedules) + .in_set(StateTransitionSystems::EnterSchedules) .after(EnterSchedules::::default()), )); @@ -264,15 +264,15 @@ macro_rules! impl_state_set_sealed_tuples { schedule.configure_sets(( ApplyStateTransition::::default() - .in_set(StateTransitionSteps::DependentTransitions) + .in_set(StateTransitionSystems::DependentTransitions) $(.after(ApplyStateTransition::<$param::RawState>::default()))*, ExitSchedules::::default() - .in_set(StateTransitionSteps::ExitSchedules) + .in_set(StateTransitionSystems::ExitSchedules) $(.before(ExitSchedules::<$param::RawState>::default()))*, TransitionSchedules::::default() - .in_set(StateTransitionSteps::TransitionSchedules), + .in_set(StateTransitionSystems::TransitionSchedules), EnterSchedules::::default() - .in_set(StateTransitionSteps::EnterSchedules) + .in_set(StateTransitionSystems::EnterSchedules) $(.after(EnterSchedules::<$param::RawState>::default()))*, )); @@ -318,15 +318,15 @@ macro_rules! impl_state_set_sealed_tuples { schedule.configure_sets(( ApplyStateTransition::::default() - .in_set(StateTransitionSteps::DependentTransitions) + .in_set(StateTransitionSystems::DependentTransitions) $(.after(ApplyStateTransition::<$param::RawState>::default()))*, ExitSchedules::::default() - .in_set(StateTransitionSteps::ExitSchedules) + .in_set(StateTransitionSystems::ExitSchedules) $(.before(ExitSchedules::<$param::RawState>::default()))*, TransitionSchedules::::default() - .in_set(StateTransitionSteps::TransitionSchedules), + .in_set(StateTransitionSystems::TransitionSchedules), EnterSchedules::::default() - .in_set(StateTransitionSteps::EnterSchedules) + .in_set(StateTransitionSystems::EnterSchedules) $(.after(EnterSchedules::<$param::RawState>::default()))*, )); diff --git a/crates/bevy_state/src/state/transitions.rs b/crates/bevy_state/src/state/transitions.rs index be28926054..dfe711f245 100644 --- a/crates/bevy_state/src/state/transitions.rs +++ b/crates/bevy_state/src/state/transitions.rs @@ -71,7 +71,7 @@ pub struct StateTransitionEvent { /// /// These system sets are run sequentially, in the order of the enum variants. #[derive(SystemSet, Clone, Debug, PartialEq, Eq, Hash)] -pub enum StateTransitionSteps { +pub enum StateTransitionSystems { /// States apply their transitions from [`NextState`](super::NextState) /// and compute functions based on their parent states. DependentTransitions, @@ -83,6 +83,10 @@ pub enum StateTransitionSteps { EnterSchedules, } +/// Deprecated alias for [`StateTransitionSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `StateTransitionSystems`.")] +pub type StateTransitionSteps = StateTransitionSystems; + #[derive(SystemSet, Clone, Debug, PartialEq, Eq, Hash)] /// System set that runs exit schedule(s) for state `S`. pub struct ExitSchedules(PhantomData); @@ -191,10 +195,10 @@ pub fn setup_state_transitions_in_world(world: &mut World) { let mut schedule = Schedule::new(StateTransition); schedule.configure_sets( ( - StateTransitionSteps::DependentTransitions, - StateTransitionSteps::ExitSchedules, - StateTransitionSteps::TransitionSchedules, - StateTransitionSteps::EnterSchedules, + StateTransitionSystems::DependentTransitions, + StateTransitionSystems::ExitSchedules, + StateTransitionSystems::TransitionSchedules, + StateTransitionSystems::EnterSchedules, ) .chain(), ); diff --git a/crates/bevy_state/src/state_scoped_events.rs b/crates/bevy_state/src/state_scoped_events.rs index 3b881d094d..9defa4d888 100644 --- a/crates/bevy_state/src/state_scoped_events.rs +++ b/crates/bevy_state/src/state_scoped_events.rs @@ -93,7 +93,7 @@ pub trait StateScopedEventsAppExt { /// and [`DespawnOnExitState`](crate::prelude::DespawnOnExitState) entity /// cleanup and the [`OnExit`] schedule for the target state. All of these (state scoped /// entities and events cleanup, and `OnExit`) occur within schedule [`StateTransition`](crate::prelude::StateTransition) - /// and system set `StateTransitionSteps::ExitSchedules`. + /// and system set `StateTransitionSystems::ExitSchedules`. fn add_state_scoped_event(&mut self, state: impl FreelyMutableState) -> &mut Self; } diff --git a/crates/bevy_text/src/lib.rs b/crates/bevy_text/src/lib.rs index 18d7ad01a7..70ac992924 100644 --- a/crates/bevy_text/src/lib.rs +++ b/crates/bevy_text/src/lib.rs @@ -66,15 +66,15 @@ pub mod prelude { }; } -use bevy_app::{prelude::*, Animation}; +use bevy_app::{prelude::*, AnimationSystems}; #[cfg(feature = "default_font")] use bevy_asset::{load_internal_binary_asset, Handle}; -use bevy_asset::{AssetApp, AssetEvents}; +use bevy_asset::{AssetApp, AssetEventSystems}; use bevy_ecs::prelude::*; use bevy_render::{ - camera::CameraUpdateSystem, view::VisibilitySystems, ExtractSchedule, RenderApp, + camera::CameraUpdateSystems, view::VisibilitySystems, ExtractSchedule, RenderApp, }; -use bevy_sprite::SpriteSystem; +use bevy_sprite::SpriteSystems; /// The raw data for the default font used by `bevy_text` #[cfg(feature = "default_font")] @@ -101,7 +101,11 @@ pub enum YAxisOrientation { /// System set in [`PostUpdate`] where all 2d text update systems are executed. #[derive(Debug, Hash, PartialEq, Eq, Clone, SystemSet)] -pub struct Update2dText; +pub struct Text2dUpdateSystems; + +/// Deprecated alias for [`Text2dUpdateSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `Text2dUpdateSystems`.")] +pub type Update2dText = Text2dUpdateSystems; impl Plugin for TextPlugin { fn build(&self, app: &mut App) { @@ -125,26 +129,26 @@ impl Plugin for TextPlugin { .add_systems( PostUpdate, ( - remove_dropped_font_atlas_sets.before(AssetEvents), + remove_dropped_font_atlas_sets.before(AssetEventSystems), detect_text_needs_rerender::, update_text2d_layout // Potential conflict: `Assets` // In practice, they run independently since `bevy_render::camera_update_system` // will only ever observe its own render target, and `update_text2d_layout` // will never modify a pre-existing `Image` asset. - .ambiguous_with(CameraUpdateSystem), + .ambiguous_with(CameraUpdateSystems), calculate_bounds_text2d.in_set(VisibilitySystems::CalculateBounds), ) .chain() - .in_set(Update2dText) - .after(Animation), + .in_set(Text2dUpdateSystems) + .after(AnimationSystems), ) .add_systems(Last, trim_cosmic_cache); if let Some(render_app) = app.get_sub_app_mut(RenderApp) { render_app.add_systems( ExtractSchedule, - extract_text2d_sprite.after(SpriteSystem::ExtractSprites), + extract_text2d_sprite.after(SpriteSystems::ExtractSprites), ); } diff --git a/crates/bevy_time/src/fixed.rs b/crates/bevy_time/src/fixed.rs index dc8f89fd6a..66d2585e82 100644 --- a/crates/bevy_time/src/fixed.rs +++ b/crates/bevy_time/src/fixed.rs @@ -235,7 +235,7 @@ impl Default for Fixed { /// Runs [`FixedMain`] zero or more times based on delta of /// [`Time`](Virtual) and [`Time::overstep`]. /// You can order your systems relative to this by using -/// [`RunFixedMainLoopSystem`](bevy_app::prelude::RunFixedMainLoopSystem). +/// [`RunFixedMainLoopSystems`](bevy_app::prelude::RunFixedMainLoopSystems). pub(super) fn run_fixed_main_schedule(world: &mut World) { let delta = world.resource::>().delta(); world.resource_mut::>().accumulate(delta); diff --git a/crates/bevy_time/src/lib.rs b/crates/bevy_time/src/lib.rs index 1ac297fafa..858da0d7e4 100644 --- a/crates/bevy_time/src/lib.rs +++ b/crates/bevy_time/src/lib.rs @@ -57,7 +57,11 @@ pub struct TimePlugin; /// Updates the elapsed time. Any system that interacts with [`Time`] component should run after /// this. #[derive(Debug, PartialEq, Eq, Clone, Hash, SystemSet)] -pub struct TimeSystem; +pub struct TimeSystems; + +/// Deprecated alias for [`TimeSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `TimeSystems`.")] +pub type TimeSystem = TimeSystems; impl Plugin for TimePlugin { fn build(&self, app: &mut App) { @@ -79,12 +83,12 @@ impl Plugin for TimePlugin { app.add_systems( First, time_system - .in_set(TimeSystem) + .in_set(TimeSystems) .ambiguous_with(event_update_system), ) .add_systems( RunFixedMainLoop, - run_fixed_main_schedule.in_set(RunFixedMainLoopSystem::FixedMainLoop), + run_fixed_main_schedule.in_set(RunFixedMainLoopSystems::FixedMainLoop), ); // Ensure the events are not dropped until `FixedMain` systems can observe them @@ -109,7 +113,7 @@ pub enum TimeUpdateStrategy { /// [`Time`] will be updated to the specified [`Instant`] value each frame. /// In order for time to progress, this value must be manually updated each frame. /// - /// Note that the `Time` resource will not be updated until [`TimeSystem`] runs. + /// Note that the `Time` resource will not be updated until [`TimeSystems`] runs. ManualInstant(Instant), /// [`Time`] will be incremented by the specified [`Duration`] each frame. ManualDuration(Duration), diff --git a/crates/bevy_transform/src/components/global_transform.rs b/crates/bevy_transform/src/components/global_transform.rs index f606071fe1..2d391bb72e 100644 --- a/crates/bevy_transform/src/components/global_transform.rs +++ b/crates/bevy_transform/src/components/global_transform.rs @@ -31,13 +31,15 @@ use { /// if it doesn't have a [`ChildOf`](bevy_ecs::hierarchy::ChildOf) component. /// /// [`GlobalTransform`] is managed by Bevy; it is computed by successively applying the [`Transform`] of each ancestor -/// entity which has a Transform. This is done automatically by Bevy-internal systems in the system set -/// [`TransformPropagate`](crate::TransformSystem::TransformPropagate). +/// entity which has a Transform. This is done automatically by Bevy-internal systems in the [`TransformSystems::Propagate`] +/// system set. /// /// This system runs during [`PostUpdate`](bevy_app::PostUpdate). If you /// update the [`Transform`] of an entity in this schedule or after, you will notice a 1 frame lag /// before the [`GlobalTransform`] is updated. /// +/// [`TransformSystems::Propagate`]: crate::TransformSystems::Propagate +/// /// # Examples /// /// - [`transform`][transform_example] diff --git a/crates/bevy_transform/src/components/transform.rs b/crates/bevy_transform/src/components/transform.rs index 0ea9e1930f..7873ae743c 100644 --- a/crates/bevy_transform/src/components/transform.rs +++ b/crates/bevy_transform/src/components/transform.rs @@ -49,13 +49,15 @@ fn assert_is_normalized(message: &str, length_squared: f32) { /// /// [`GlobalTransform`] is the position of an entity relative to the reference frame. /// -/// [`GlobalTransform`] is updated from [`Transform`] by systems in the system set -/// [`TransformPropagate`](crate::TransformSystem::TransformPropagate). +/// [`GlobalTransform`] is updated from [`Transform`] in the [`TransformSystems::Propagate`] +/// system set. /// /// This system runs during [`PostUpdate`](bevy_app::PostUpdate). If you /// update the [`Transform`] of an entity during this set or after, you will notice a 1 frame lag /// before the [`GlobalTransform`] is updated. /// +/// [`TransformSystems::Propagate`]: crate::TransformSystems::Propagate +/// /// # Examples /// /// - [`transform`][transform_example] diff --git a/crates/bevy_transform/src/lib.rs b/crates/bevy_transform/src/lib.rs index 9a6538ed53..4d107346f7 100644 --- a/crates/bevy_transform/src/lib.rs +++ b/crates/bevy_transform/src/lib.rs @@ -45,10 +45,10 @@ pub mod prelude { pub use crate::{ commands::BuildChildrenTransformExt, helper::TransformHelper, - plugins::{TransformPlugin, TransformSystem}, + plugins::{TransformPlugin, TransformSystems}, traits::TransformPoint, }; } #[cfg(feature = "bevy-support")] -pub use prelude::{TransformPlugin, TransformPoint, TransformSystem}; +pub use prelude::{TransformPlugin, TransformPoint, TransformSystems}; diff --git a/crates/bevy_transform/src/plugins.rs b/crates/bevy_transform/src/plugins.rs index 3b22aefb14..f70e7e1f1d 100644 --- a/crates/bevy_transform/src/plugins.rs +++ b/crates/bevy_transform/src/plugins.rs @@ -4,11 +4,15 @@ use bevy_ecs::schedule::{IntoScheduleConfigs, SystemSet}; /// Set enum for the systems relating to transform propagation #[derive(Debug, Hash, PartialEq, Eq, Clone, SystemSet)] -pub enum TransformSystem { +pub enum TransformSystems { /// Propagates changes in transform to children's [`GlobalTransform`](crate::components::GlobalTransform) - TransformPropagate, + Propagate, } +/// Deprecated alias for [`TransformSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `TransformSystems`.")] +pub type TransformSystem = TransformSystems; + /// The base plugin for handling [`Transform`](crate::components::Transform) components #[derive(Default)] pub struct TransformPlugin; @@ -30,7 +34,7 @@ impl Plugin for TransformPlugin { sync_simple_transforms, ) .chain() - .in_set(TransformSystem::TransformPropagate), + .in_set(TransformSystems::Propagate), ) .add_systems( PostUpdate, @@ -41,7 +45,7 @@ impl Plugin for TransformPlugin { sync_simple_transforms, ) .chain() - .in_set(TransformSystem::TransformPropagate), + .in_set(TransformSystems::Propagate), ); } } diff --git a/crates/bevy_ui/src/accessibility.rs b/crates/bevy_ui/src/accessibility.rs index 3b0e6538f0..637ed943f2 100644 --- a/crates/bevy_ui/src/accessibility.rs +++ b/crates/bevy_ui/src/accessibility.rs @@ -14,7 +14,7 @@ use bevy_ecs::{ world::Ref, }; use bevy_math::Vec3Swizzles; -use bevy_render::camera::CameraUpdateSystem; +use bevy_render::camera::CameraUpdateSystems; use bevy_transform::prelude::GlobalTransform; use accesskit::{Node, Rect, Role}; @@ -151,8 +151,8 @@ impl Plugin for AccessibilityPlugin { PostUpdate, ( calc_bounds - .after(bevy_transform::TransformSystem::TransformPropagate) - .after(CameraUpdateSystem) + .after(bevy_transform::TransformSystems::Propagate) + .after(CameraUpdateSystems) // the listed systems do not affect calculated size .ambiguous_with(crate::ui_stack_system), button_changed, diff --git a/crates/bevy_ui/src/lib.rs b/crates/bevy_ui/src/lib.rs index 1f53ffea50..ae54ffe607 100644 --- a/crates/bevy_ui/src/lib.rs +++ b/crates/bevy_ui/src/lib.rs @@ -20,7 +20,7 @@ pub mod picking_backend; use bevy_derive::{Deref, DerefMut}; #[cfg(feature = "bevy_ui_picking_backend")] -use bevy_picking::PickSet; +use bevy_picking::PickingSystems; use bevy_reflect::{std_traits::ReflectDefault, Reflect}; mod accessibility; // This module is not re-exported, but is instead made public. @@ -70,11 +70,11 @@ pub mod prelude { }; } -use bevy_app::{prelude::*, Animation}; +use bevy_app::{prelude::*, AnimationSystems}; use bevy_ecs::prelude::*; -use bevy_input::InputSystem; -use bevy_render::{camera::CameraUpdateSystem, RenderApp}; -use bevy_transform::TransformSystem; +use bevy_input::InputSystems; +use bevy_render::{camera::CameraUpdateSystems, RenderApp}; +use bevy_transform::TransformSystems; use layout::ui_surface::UiSurface; use stack::ui_stack_system; pub use stack::UiStack; @@ -97,7 +97,7 @@ impl Default for UiPlugin { /// The label enum labeling the types of systems in the Bevy UI #[derive(Debug, Hash, PartialEq, Eq, Clone, SystemSet)] -pub enum UiSystem { +pub enum UiSystems { /// After this label, input interactions with UI entities have been updated for this frame. /// /// Runs in [`PreUpdate`]. @@ -110,7 +110,7 @@ pub enum UiSystem { /// /// Runs in [`PostUpdate`]. Layout, - /// UI systems ordered after [`UiSystem::Layout`]. + /// UI systems ordered after [`UiSystems::Layout`]. /// /// Runs in [`PostUpdate`]. PostLayout, @@ -120,6 +120,10 @@ pub enum UiSystem { Stack, } +/// Deprecated alias for [`UiSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `UiSystems`.")] +pub type UiSystem = UiSystems; + /// The current scale of the UI. /// /// A multiplier to fixed-sized ui values. @@ -137,10 +141,10 @@ impl Default for UiScale { // Marks systems that can be ambiguous with [`widget::text_system`] if the `bevy_text` feature is enabled. // See https://github.com/bevyengine/bevy/pull/11391 for more details. #[derive(SystemSet, Debug, Hash, PartialEq, Eq, Clone)] -struct AmbiguousWithTextSystem; +struct AmbiguousWithText; #[derive(SystemSet, Debug, Hash, PartialEq, Eq, Clone)] -struct AmbiguousWithUpdateText2DLayout; +struct AmbiguousWithUpdateText2dLayout; impl Plugin for UiPlugin { fn build(&self, app: &mut App) { @@ -176,26 +180,29 @@ impl Plugin for UiPlugin { .configure_sets( PostUpdate, ( - CameraUpdateSystem, - UiSystem::Prepare.after(Animation), - UiSystem::Content, - UiSystem::Layout, - UiSystem::PostLayout, + CameraUpdateSystems, + UiSystems::Prepare.after(AnimationSystems), + UiSystems::Content, + UiSystems::Layout, + UiSystems::PostLayout, ) .chain(), ) .add_systems( PreUpdate, - ui_focus_system.in_set(UiSystem::Focus).after(InputSystem), + ui_focus_system.in_set(UiSystems::Focus).after(InputSystems), ); #[cfg(feature = "bevy_ui_picking_backend")] app.add_plugins(picking_backend::UiPickingPlugin) - .add_systems(First, widget::viewport_picking.in_set(PickSet::PostInput)); + .add_systems( + First, + widget::viewport_picking.in_set(PickingSystems::PostInput), + ); let ui_layout_system_config = ui_layout_system - .in_set(UiSystem::Layout) - .before(TransformSystem::TransformPropagate); + .in_set(UiSystems::Layout) + .before(TransformSystems::Propagate); let ui_layout_system_config = ui_layout_system_config // Text and Text2D operate on disjoint sets of entities @@ -205,31 +212,31 @@ impl Plugin for UiPlugin { app.add_systems( PostUpdate, ( - update_ui_context_system.in_set(UiSystem::Prepare), + update_ui_context_system.in_set(UiSystems::Prepare), ui_layout_system_config, ui_stack_system - .in_set(UiSystem::Stack) + .in_set(UiSystems::Stack) // These systems don't care about stack index .ambiguous_with(update_clipping_system) .ambiguous_with(ui_layout_system) .ambiguous_with(widget::update_viewport_render_target_size) - .in_set(AmbiguousWithTextSystem), - update_clipping_system.after(TransformSystem::TransformPropagate), + .in_set(AmbiguousWithText), + update_clipping_system.after(TransformSystems::Propagate), // Potential conflicts: `Assets` // They run independently since `widget::image_node_system` will only ever observe // its own ImageNode, and `widget::text_system` & `bevy_text::update_text2d_layout` // will never modify a pre-existing `Image` asset. widget::update_image_content_size_system - .in_set(UiSystem::Content) - .in_set(AmbiguousWithTextSystem) - .in_set(AmbiguousWithUpdateText2DLayout), + .in_set(UiSystems::Content) + .in_set(AmbiguousWithText) + .in_set(AmbiguousWithUpdateText2dLayout), // Potential conflicts: `Assets` // `widget::text_system` and `bevy_text::update_text2d_layout` run independently // since this system will only ever update viewport images. widget::update_viewport_render_target_size - .in_set(UiSystem::PostLayout) - .in_set(AmbiguousWithTextSystem) - .in_set(AmbiguousWithUpdateText2DLayout), + .in_set(UiSystems::PostLayout) + .in_set(AmbiguousWithText) + .in_set(AmbiguousWithUpdateText2dLayout), ), ); @@ -275,7 +282,7 @@ fn build_text_interop(app: &mut App) { widget::measure_text_system, ) .chain() - .in_set(UiSystem::Content) + .in_set(UiSystems::Content) // Text and Text2d are independent. .ambiguous_with(bevy_text::detect_text_needs_rerender::) // Potential conflict: `Assets` @@ -286,9 +293,9 @@ fn build_text_interop(app: &mut App) { // FIXME: Add an archetype invariant for this https://github.com/bevyengine/bevy/issues/1481. .ambiguous_with(widget::update_image_content_size_system), widget::text_system - .in_set(UiSystem::PostLayout) + .in_set(UiSystems::PostLayout) .after(bevy_text::remove_dropped_font_atlas_sets) - .before(bevy_asset::AssetEvents) + .before(bevy_asset::AssetEventSystems) // Text2d and bevy_ui text are entirely on separate entities .ambiguous_with(bevy_text::detect_text_needs_rerender::) .ambiguous_with(bevy_text::update_text2d_layout) @@ -300,11 +307,11 @@ fn build_text_interop(app: &mut App) { app.configure_sets( PostUpdate, - AmbiguousWithTextSystem.ambiguous_with(widget::text_system), + AmbiguousWithText.ambiguous_with(widget::text_system), ); app.configure_sets( PostUpdate, - AmbiguousWithUpdateText2DLayout.ambiguous_with(bevy_text::update_text2d_layout), + AmbiguousWithUpdateText2dLayout.ambiguous_with(bevy_text::update_text2d_layout), ); } diff --git a/crates/bevy_ui/src/picking_backend.rs b/crates/bevy_ui/src/picking_backend.rs index f2d0667368..26b84c6005 100644 --- a/crates/bevy_ui/src/picking_backend.rs +++ b/crates/bevy_ui/src/picking_backend.rs @@ -81,7 +81,7 @@ impl Plugin for UiPickingPlugin { fn build(&self, app: &mut App) { app.init_resource::() .register_type::<(UiPickingCamera, UiPickingSettings)>() - .add_systems(PreUpdate, ui_picking.in_set(PickSet::Backend)); + .add_systems(PreUpdate, ui_picking.in_set(PickingSystems::Backend)); } } diff --git a/crates/bevy_ui/src/render/box_shadow.rs b/crates/bevy_ui/src/render/box_shadow.rs index 7ed9855038..94d306e7eb 100644 --- a/crates/bevy_ui/src/render/box_shadow.rs +++ b/crates/bevy_ui/src/render/box_shadow.rs @@ -3,7 +3,7 @@ use core::{hash::Hash, ops::Range}; use crate::{ - BoxShadow, BoxShadowSamples, CalculatedClip, ComputedNode, ComputedNodeTarget, RenderUiSystem, + BoxShadow, BoxShadowSamples, CalculatedClip, ComputedNode, ComputedNodeTarget, RenderUiSystems, ResolvedBorderRadius, TransparentUi, Val, }; use bevy_app::prelude::*; @@ -27,7 +27,7 @@ use bevy_render::{ renderer::{RenderDevice, RenderQueue}, sync_world::TemporaryRenderEntity, view::*, - Extract, ExtractSchedule, Render, RenderSet, + Extract, ExtractSchedule, Render, RenderSystems, }; use bevy_transform::prelude::GlobalTransform; use bytemuck::{Pod, Zeroable}; @@ -57,13 +57,13 @@ impl Plugin for BoxShadowPlugin { .init_resource::>() .add_systems( ExtractSchedule, - extract_shadows.in_set(RenderUiSystem::ExtractBoxShadows), + extract_shadows.in_set(RenderUiSystems::ExtractBoxShadows), ) .add_systems( Render, ( - queue_shadows.in_set(RenderSet::Queue), - prepare_shadows.in_set(RenderSet::PrepareBindGroups), + queue_shadows.in_set(RenderSystems::Queue), + prepare_shadows.in_set(RenderSystems::PrepareBindGroups), ), ); } diff --git a/crates/bevy_ui/src/render/mod.rs b/crates/bevy_ui/src/render/mod.rs index 18532d288e..e811cfe362 100644 --- a/crates/bevy_ui/src/render/mod.rs +++ b/crates/bevy_ui/src/render/mod.rs @@ -36,7 +36,7 @@ use bevy_render::{ render_resource::*, renderer::{RenderDevice, RenderQueue}, view::{ExtractedView, ViewUniforms}, - Extract, RenderApp, RenderSet, + Extract, RenderApp, RenderSystems, }; use bevy_render::{ render_phase::{PhaseItem, PhaseItemExtraIndex}, @@ -100,7 +100,7 @@ pub mod stack_z_offsets { pub const UI_SHADER_HANDLE: Handle = weak_handle!("7d190d05-545b-42f5-bd85-22a0da85b0f6"); #[derive(Debug, Hash, PartialEq, Eq, Clone, SystemSet)] -pub enum RenderUiSystem { +pub enum RenderUiSystems { ExtractCameraViews, ExtractBoxShadows, ExtractBackgrounds, @@ -114,6 +114,10 @@ pub enum RenderUiSystem { ExtractDebug, } +/// Deprecated alias for [`RenderUiSystems`]. +#[deprecated(since = "0.17.0", note = "Renamed to `RenderUiSystems`.")] +pub type RenderUiSystem = RenderUiSystems; + pub fn build_ui_render(app: &mut App) { load_internal_asset!(app, UI_SHADER_HANDLE, "ui.wgsl", Shader::from_wgsl); @@ -133,40 +137,40 @@ pub fn build_ui_render(app: &mut App) { .configure_sets( ExtractSchedule, ( - RenderUiSystem::ExtractCameraViews, - RenderUiSystem::ExtractBoxShadows, - RenderUiSystem::ExtractBackgrounds, - RenderUiSystem::ExtractImages, - RenderUiSystem::ExtractTextureSlice, - RenderUiSystem::ExtractBorders, - RenderUiSystem::ExtractTextBackgrounds, - RenderUiSystem::ExtractTextShadows, - RenderUiSystem::ExtractText, - RenderUiSystem::ExtractDebug, + RenderUiSystems::ExtractCameraViews, + RenderUiSystems::ExtractBoxShadows, + RenderUiSystems::ExtractBackgrounds, + RenderUiSystems::ExtractImages, + RenderUiSystems::ExtractTextureSlice, + RenderUiSystems::ExtractBorders, + RenderUiSystems::ExtractTextBackgrounds, + RenderUiSystems::ExtractTextShadows, + RenderUiSystems::ExtractText, + RenderUiSystems::ExtractDebug, ) .chain(), ) .add_systems( ExtractSchedule, ( - extract_ui_camera_view.in_set(RenderUiSystem::ExtractCameraViews), - extract_uinode_background_colors.in_set(RenderUiSystem::ExtractBackgrounds), - extract_uinode_images.in_set(RenderUiSystem::ExtractImages), - extract_uinode_borders.in_set(RenderUiSystem::ExtractBorders), - extract_viewport_nodes.in_set(RenderUiSystem::ExtractViewportNodes), - extract_text_background_colors.in_set(RenderUiSystem::ExtractTextBackgrounds), - extract_text_shadows.in_set(RenderUiSystem::ExtractTextShadows), - extract_text_sections.in_set(RenderUiSystem::ExtractText), + extract_ui_camera_view.in_set(RenderUiSystems::ExtractCameraViews), + extract_uinode_background_colors.in_set(RenderUiSystems::ExtractBackgrounds), + extract_uinode_images.in_set(RenderUiSystems::ExtractImages), + extract_uinode_borders.in_set(RenderUiSystems::ExtractBorders), + extract_viewport_nodes.in_set(RenderUiSystems::ExtractViewportNodes), + extract_text_background_colors.in_set(RenderUiSystems::ExtractTextBackgrounds), + extract_text_shadows.in_set(RenderUiSystems::ExtractTextShadows), + extract_text_sections.in_set(RenderUiSystems::ExtractText), #[cfg(feature = "bevy_ui_debug")] - debug_overlay::extract_debug_overlay.in_set(RenderUiSystem::ExtractDebug), + debug_overlay::extract_debug_overlay.in_set(RenderUiSystems::ExtractDebug), ), ) .add_systems( Render, ( - queue_uinodes.in_set(RenderSet::Queue), - sort_phase_system::.in_set(RenderSet::PhaseSort), - prepare_uinodes.in_set(RenderSet::PrepareBindGroups), + queue_uinodes.in_set(RenderSystems::Queue), + sort_phase_system::.in_set(RenderSystems::PhaseSort), + prepare_uinodes.in_set(RenderSystems::PrepareBindGroups), ), ); diff --git a/crates/bevy_ui/src/render/ui_material_pipeline.rs b/crates/bevy_ui/src/render/ui_material_pipeline.rs index fb893b390e..84eb163e4a 100644 --- a/crates/bevy_ui/src/render/ui_material_pipeline.rs +++ b/crates/bevy_ui/src/render/ui_material_pipeline.rs @@ -21,7 +21,7 @@ use bevy_render::{ render_resource::{binding_types::uniform_buffer, *}, renderer::{RenderDevice, RenderQueue}, view::*, - Extract, ExtractSchedule, Render, RenderSet, + Extract, ExtractSchedule, Render, RenderSystems, }; use bevy_sprite::BorderRect; use bevy_transform::prelude::GlobalTransform; @@ -75,13 +75,13 @@ where .init_resource::>>() .add_systems( ExtractSchedule, - extract_ui_material_nodes::.in_set(RenderUiSystem::ExtractBackgrounds), + extract_ui_material_nodes::.in_set(RenderUiSystems::ExtractBackgrounds), ) .add_systems( Render, ( - queue_ui_material_nodes::.in_set(RenderSet::Queue), - prepare_uimaterial_nodes::.in_set(RenderSet::PrepareBindGroups), + queue_ui_material_nodes::.in_set(RenderSystems::Queue), + prepare_uimaterial_nodes::.in_set(RenderSystems::PrepareBindGroups), ), ); } diff --git a/crates/bevy_ui/src/render/ui_texture_slice_pipeline.rs b/crates/bevy_ui/src/render/ui_texture_slice_pipeline.rs index d8da926709..7d0fdb6a42 100644 --- a/crates/bevy_ui/src/render/ui_texture_slice_pipeline.rs +++ b/crates/bevy_ui/src/render/ui_texture_slice_pipeline.rs @@ -22,7 +22,7 @@ use bevy_render::{ sync_world::TemporaryRenderEntity, texture::{GpuImage, TRANSPARENT_IMAGE_HANDLE}, view::*, - Extract, ExtractSchedule, Render, RenderSet, + Extract, ExtractSchedule, Render, RenderSystems, }; use bevy_sprite::{SliceScaleMode, SpriteAssetEvents, SpriteImageMode, TextureSlicer}; use bevy_transform::prelude::GlobalTransform; @@ -53,13 +53,13 @@ impl Plugin for UiTextureSlicerPlugin { .init_resource::>() .add_systems( ExtractSchedule, - extract_ui_texture_slices.in_set(RenderUiSystem::ExtractTextureSlice), + extract_ui_texture_slices.in_set(RenderUiSystems::ExtractTextureSlice), ) .add_systems( Render, ( - queue_ui_slices.in_set(RenderSet::Queue), - prepare_ui_slices.in_set(RenderSet::PrepareBindGroups), + queue_ui_slices.in_set(RenderSystems::Queue), + prepare_ui_slices.in_set(RenderSystems::PrepareBindGroups), ), ); } diff --git a/crates/bevy_ui/src/ui_node.rs b/crates/bevy_ui/src/ui_node.rs index 55ce3eb6a2..c95859624e 100644 --- a/crates/bevy_ui/src/ui_node.rs +++ b/crates/bevy_ui/src/ui_node.rs @@ -31,7 +31,7 @@ pub struct ComputedNode { /// The order of the node in the UI layout. /// Nodes with a higher stack index are drawn on top of and receive interactions before nodes with lower stack indices. /// - /// Automatically calculated in [`super::UiSystem::Stack`]. + /// Automatically calculated in [`super::UiSystems::Stack`]. pub stack_index: u32, /// The size of the node as width and height in physical pixels. /// diff --git a/crates/bevy_winit/src/accessibility.rs b/crates/bevy_winit/src/accessibility.rs index ec15258167..907dfb4b77 100644 --- a/crates/bevy_winit/src/accessibility.rs +++ b/crates/bevy_winit/src/accessibility.rs @@ -11,7 +11,7 @@ use accesskit::{ }; use accesskit_winit::Adapter; use bevy_a11y::{ - AccessibilityNode, AccessibilityRequested, AccessibilitySystem, + AccessibilityNode, AccessibilityRequested, AccessibilitySystems, ActionRequest as ActionRequestWrapper, ManageAccessibilityUpdates, }; use bevy_app::{App, Plugin, PostUpdate}; @@ -302,7 +302,7 @@ impl Plugin for AccessKitPlugin { .before(poll_receivers) .before(update_accessibility_nodes), ) - .in_set(AccessibilitySystem::Update), + .in_set(AccessibilitySystems::Update), ); } } diff --git a/examples/2d/2d_viewport_to_world.rs b/examples/2d/2d_viewport_to_world.rs index 9e58816cee..ce611bd4e9 100644 --- a/examples/2d/2d_viewport_to_world.rs +++ b/examples/2d/2d_viewport_to_world.rs @@ -15,10 +15,7 @@ fn main() { .add_plugins(DefaultPlugins) .add_systems(Startup, setup) .add_systems(FixedUpdate, controls) - .add_systems( - PostUpdate, - draw_cursor.after(TransformSystem::TransformPropagate), - ) + .add_systems(PostUpdate, draw_cursor.after(TransformSystems::Propagate)) .run(); } diff --git a/examples/2d/mesh2d_manual.rs b/examples/2d/mesh2d_manual.rs index 82da9392c7..6354aa468c 100644 --- a/examples/2d/mesh2d_manual.rs +++ b/examples/2d/mesh2d_manual.rs @@ -28,7 +28,7 @@ use bevy::{ sync_component::SyncComponentPlugin, sync_world::{MainEntityHashMap, RenderEntity}, view::{ExtractedView, RenderVisibleEntities, ViewTarget}, - Extract, Render, RenderApp, RenderSet, + Extract, Render, RenderApp, RenderSystems, }, sprite::{ extract_mesh2d, DrawMesh2d, Material2dBindGroupId, Mesh2dPipeline, Mesh2dPipelineKey, @@ -313,7 +313,10 @@ impl Plugin for ColoredMesh2dPlugin { ExtractSchedule, extract_colored_mesh2d.after(extract_mesh2d), ) - .add_systems(Render, queue_colored_mesh2d.in_set(RenderSet::QueueMeshes)); + .add_systems( + Render, + queue_colored_mesh2d.in_set(RenderSystems::QueueMeshes), + ); } fn finish(&self, app: &mut App) { diff --git a/examples/3d/occlusion_culling.rs b/examples/3d/occlusion_culling.rs index 9268f1dc6a..ecc14ca369 100644 --- a/examples/3d/occlusion_culling.rs +++ b/examples/3d/occlusion_culling.rs @@ -34,7 +34,7 @@ use bevy::{ render_resource::{Buffer, BufferDescriptor, BufferUsages, MapMode}, renderer::{RenderContext, RenderDevice}, settings::WgpuFeatures, - Render, RenderApp, RenderDebugFlags, RenderPlugin, RenderSet, + Render, RenderApp, RenderDebugFlags, RenderPlugin, RenderSystems, }, }; use bytemuck::Pod; @@ -220,7 +220,8 @@ impl Plugin for ReadbackIndirectParametersPlugin { .add_systems(ExtractSchedule, readback_indirect_parameters) .add_systems( Render, - create_indirect_parameters_staging_buffers.in_set(RenderSet::PrepareResourcesFlush), + create_indirect_parameters_staging_buffers + .in_set(RenderSystems::PrepareResourcesFlush), ) // Add the node that allows us to read the indirect parameters back // from the GPU to the CPU, which allows us to determine how many diff --git a/examples/app/headless_renderer.rs b/examples/app/headless_renderer.rs index 5d5b2f7d0d..2b6b23b706 100644 --- a/examples/app/headless_renderer.rs +++ b/examples/app/headless_renderer.rs @@ -3,7 +3,7 @@ //! It follows this steps: //! 1. Render from camera to gpu-image render target //! 2. Copy from gpu image to buffer using `ImageCopyDriver` node in `RenderGraph` -//! 3. Copy from buffer to channel using `receive_image_from_buffer` after `RenderSet::Render` +//! 3. Copy from buffer to channel using `receive_image_from_buffer` after `RenderSystems::Render` //! 4. Save from channel to random named file using `scene::update` at `PostUpdate` in `MainWorld` //! 5. Exit if `single_image` setting is set @@ -22,7 +22,7 @@ use bevy::{ TextureUsages, }, renderer::{RenderContext, RenderDevice, RenderQueue}, - Extract, Render, RenderApp, RenderSet, + Extract, Render, RenderApp, RenderSystems, }, winit::WinitPlugin, }; @@ -217,7 +217,10 @@ impl Plugin for ImageCopyPlugin { .add_systems(ExtractSchedule, image_copy_extract) // Receives image data from buffer to channel // so we need to run it after the render graph is done - .add_systems(Render, receive_image_from_buffer.after(RenderSet::Render)); + .add_systems( + Render, + receive_image_from_buffer.after(RenderSystems::Render), + ); } } diff --git a/examples/ecs/ecs_guide.rs b/examples/ecs/ecs_guide.rs index 2b2fdb8148..7d518c0a7d 100644 --- a/examples/ecs/ecs_guide.rs +++ b/examples/ecs/ecs_guide.rs @@ -283,7 +283,7 @@ fn print_at_end_round(mut counter: Local) { /// A group of related system sets, used for controlling the order of systems. Systems can be /// added to any number of sets. #[derive(SystemSet, Debug, Hash, PartialEq, Eq, Clone)] -enum MySet { +enum MySystems { BeforeRound, Round, AfterRound, @@ -330,7 +330,12 @@ fn main() { .configure_sets( Update, // chain() will ensure sets run in the order they are listed - (MySet::BeforeRound, MySet::Round, MySet::AfterRound).chain(), + ( + MySystems::BeforeRound, + MySystems::Round, + MySystems::AfterRound, + ) + .chain(), ) // The add_systems function is powerful. You can define complex system configurations with ease! .add_systems( @@ -343,9 +348,9 @@ fn main() { exclusive_player_system, ) // All of the systems in the tuple above will be added to this set - .in_set(MySet::BeforeRound), + .in_set(MySystems::BeforeRound), // This `Round` system will run after the `BeforeRound` systems thanks to the chained set configuration - score_system.in_set(MySet::Round), + score_system.in_set(MySystems::Round), // These `AfterRound` systems will run after the `Round` systems thanks to the chained set configuration ( score_check_system, @@ -353,7 +358,7 @@ fn main() { // with sets! game_over_system.after(score_check_system), ) - .in_set(MySet::AfterRound), + .in_set(MySystems::AfterRound), ), ) // This call to run() starts the app we just built! diff --git a/examples/movement/physics_in_fixed_timestep.rs b/examples/movement/physics_in_fixed_timestep.rs index 2e105f9a00..d10f7af785 100644 --- a/examples/movement/physics_in_fixed_timestep.rs +++ b/examples/movement/physics_in_fixed_timestep.rs @@ -60,14 +60,14 @@ //! - The player's visual representation is stored in Bevy's regular `Transform` component. //! - Every frame, we go through the following steps: //! - Accumulate the player's input and set the current speed in the `handle_input` system. -//! This is run in the `RunFixedMainLoop` schedule, ordered in `RunFixedMainLoopSystem::BeforeFixedMainLoop`, +//! This is run in the `RunFixedMainLoop` schedule, ordered in `RunFixedMainLoopSystems::BeforeFixedMainLoop`, //! which runs before the fixed timestep loop. This is run every frame. //! - Advance the physics simulation by one fixed timestep in the `advance_physics` system. //! Accumulated input is consumed here. //! This is run in the `FixedUpdate` schedule, which runs zero or multiple times per frame. //! - Update the player's visual representation in the `interpolate_rendered_transform` system. //! This interpolates between the player's previous and current position in the physics simulation. -//! It is run in the `RunFixedMainLoop` schedule, ordered in `RunFixedMainLoopSystem::AfterFixedMainLoop`, +//! It is run in the `RunFixedMainLoop` schedule, ordered in `RunFixedMainLoopSystems::AfterFixedMainLoop`, //! which runs after the fixed timestep loop. This is run every frame. //! //! @@ -95,11 +95,11 @@ fn main() { // The physics simulation needs to know the player's input, so we run this before the fixed timestep loop. // Note that if we ran it in `Update`, it would be too late, as the physics simulation would already have been advanced. // If we ran this in `FixedUpdate`, it would sometimes not register player input, as that schedule may run zero times per frame. - handle_input.in_set(RunFixedMainLoopSystem::BeforeFixedMainLoop), + handle_input.in_set(RunFixedMainLoopSystems::BeforeFixedMainLoop), // The player's visual representation needs to be updated after the physics simulation has been advanced. // This could be run in `Update`, but if we run it here instead, the systems in `Update` // will be working with the `Transform` that will actually be shown on screen. - interpolate_rendered_transform.in_set(RunFixedMainLoopSystem::AfterFixedMainLoop), + interpolate_rendered_transform.in_set(RunFixedMainLoopSystems::AfterFixedMainLoop), ), ) .run(); diff --git a/examples/shader/compute_shader_game_of_life.rs b/examples/shader/compute_shader_game_of_life.rs index af9fe3b292..48fac29e7b 100644 --- a/examples/shader/compute_shader_game_of_life.rs +++ b/examples/shader/compute_shader_game_of_life.rs @@ -12,7 +12,7 @@ use bevy::{ render_resource::{binding_types::texture_storage_2d, *}, renderer::{RenderContext, RenderDevice}, texture::GpuImage, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }, }; use std::borrow::Cow; @@ -105,7 +105,7 @@ impl Plugin for GameOfLifeComputePlugin { let render_app = app.sub_app_mut(RenderApp); render_app.add_systems( Render, - prepare_bind_group.in_set(RenderSet::PrepareBindGroups), + prepare_bind_group.in_set(RenderSystems::PrepareBindGroups), ); let mut render_graph = render_app.world_mut().resource_mut::(); diff --git a/examples/shader/custom_phase_item.rs b/examples/shader/custom_phase_item.rs index fe69c5b812..1ec61f8126 100644 --- a/examples/shader/custom_phase_item.rs +++ b/examples/shader/custom_phase_item.rs @@ -32,7 +32,7 @@ use bevy::{ }, renderer::{RenderDevice, RenderQueue}, view::{self, ExtractedView, RenderVisibleEntities, VisibilityClass}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }, }; use bytemuck::{Pod, Zeroable}; @@ -180,9 +180,9 @@ fn main() { .add_render_command::() .add_systems( Render, - prepare_custom_phase_item_buffers.in_set(RenderSet::Prepare), + prepare_custom_phase_item_buffers.in_set(RenderSystems::Prepare), ) - .add_systems(Render, queue_custom_phase_item.in_set(RenderSet::Queue)); + .add_systems(Render, queue_custom_phase_item.in_set(RenderSystems::Queue)); app.run(); } diff --git a/examples/shader/custom_render_phase.rs b/examples/shader/custom_render_phase.rs index 2692143691..6499ca6bd2 100644 --- a/examples/shader/custom_render_phase.rs +++ b/examples/shader/custom_render_phase.rs @@ -54,7 +54,7 @@ use bevy::{ renderer::RenderContext, sync_world::MainEntity, view::{ExtractedView, RenderVisibleEntities, RetainedViewEntity, ViewTarget}, - Extract, Render, RenderApp, RenderDebugFlags, RenderSet, + Extract, Render, RenderApp, RenderDebugFlags, RenderSystems, }, }; use nonmax::NonMaxU32; @@ -130,10 +130,10 @@ impl Plugin for MeshStencilPhasePlugin { .add_systems( Render, ( - queue_custom_meshes.in_set(RenderSet::QueueMeshes), - sort_phase_system::.in_set(RenderSet::PhaseSort), + queue_custom_meshes.in_set(RenderSystems::QueueMeshes), + sort_phase_system::.in_set(RenderSystems::PhaseSort), batch_and_prepare_sorted_render_phase:: - .in_set(RenderSet::PrepareResources), + .in_set(RenderSystems::PrepareResources), ), ); diff --git a/examples/shader/custom_shader_instancing.rs b/examples/shader/custom_shader_instancing.rs index cd5909c36f..d81c6e53b6 100644 --- a/examples/shader/custom_shader_instancing.rs +++ b/examples/shader/custom_shader_instancing.rs @@ -31,7 +31,7 @@ use bevy::{ renderer::RenderDevice, sync_world::MainEntity, view::{ExtractedView, NoFrustumCulling, NoIndirectDrawing}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }, }; use bytemuck::{Pod, Zeroable}; @@ -104,8 +104,8 @@ impl Plugin for CustomMaterialPlugin { .add_systems( Render, ( - queue_custom.in_set(RenderSet::QueueMeshes), - prepare_instance_buffers.in_set(RenderSet::PrepareResources), + queue_custom.in_set(RenderSystems::QueueMeshes), + prepare_instance_buffers.in_set(RenderSystems::PrepareResources), ), ); } diff --git a/examples/shader/gpu_readback.rs b/examples/shader/gpu_readback.rs index 55a752b315..c7e5ac4a57 100644 --- a/examples/shader/gpu_readback.rs +++ b/examples/shader/gpu_readback.rs @@ -15,7 +15,7 @@ use bevy::{ renderer::{RenderContext, RenderDevice}, storage::{GpuShaderStorageBuffer, ShaderStorageBuffer}, texture::GpuImage, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }, }; @@ -48,7 +48,7 @@ impl Plugin for GpuReadbackPlugin { render_app.init_resource::().add_systems( Render, prepare_bind_group - .in_set(RenderSet::PrepareBindGroups) + .in_set(RenderSystems::PrepareBindGroups) // We don't need to recreate the bind group every frame .run_if(not(resource_exists::)), ); diff --git a/examples/shader/specialized_mesh_pipeline.rs b/examples/shader/specialized_mesh_pipeline.rs index 66f42f5872..a2cfd11b34 100644 --- a/examples/shader/specialized_mesh_pipeline.rs +++ b/examples/shader/specialized_mesh_pipeline.rs @@ -39,7 +39,7 @@ use bevy::{ }, view::NoIndirectDrawing, view::{self, ExtractedView, RenderVisibleEntities, ViewTarget, VisibilityClass}, - Render, RenderApp, RenderSet, + Render, RenderApp, RenderSystems, }, }; @@ -118,7 +118,10 @@ impl Plugin for CustomRenderedMeshPipelinePlugin { .init_resource::>() // We need to use a custom draw command so we need to register it .add_render_command::() - .add_systems(Render, queue_custom_mesh_pipeline.in_set(RenderSet::Queue)); + .add_systems( + Render, + queue_custom_mesh_pipeline.in_set(RenderSystems::Queue), + ); } fn finish(&self, app: &mut App) { diff --git a/examples/stress_tests/many_lights.rs b/examples/stress_tests/many_lights.rs index a19f02d156..031897b5e8 100644 --- a/examples/stress_tests/many_lights.rs +++ b/examples/stress_tests/many_lights.rs @@ -9,7 +9,7 @@ use bevy::{ math::{DVec2, DVec3}, pbr::{ExtractedPointLight, GlobalClusterableObjectMeta}, prelude::*, - render::{camera::ScalingMode, Render, RenderApp, RenderSet}, + render::{camera::ScalingMode, Render, RenderApp, RenderSystems}, window::{PresentMode, WindowResolution}, winit::{UpdateMode, WinitSettings}, }; @@ -158,7 +158,10 @@ impl Plugin for LogVisibleLights { return; }; - render_app.add_systems(Render, print_visible_light_count.in_set(RenderSet::Prepare)); + render_app.add_systems( + Render, + print_visible_light_count.in_set(RenderSystems::Prepare), + ); } } diff --git a/release-content/migration-guides/system_set_naming_convention.md b/release-content/migration-guides/system_set_naming_convention.md new file mode 100644 index 0000000000..4b52da718d --- /dev/null +++ b/release-content/migration-guides/system_set_naming_convention.md @@ -0,0 +1,36 @@ +--- +title: Consistent `*Systems` naming convention for system sets +pull_requests: [18900] +--- + +System sets in Bevy now more consistently use a `Systems` suffix. +Renamed types include: + +- `AccessibilitySystem` → `AccessibilitySystems` +- `GizmoRenderSystem` → `GizmoRenderSystems` +- `PickSet` → `PickingSystems` +- `RunFixedMainLoopSystem` → `RunFixedMainLoopSystems` +- `TransformSystem` → `TransformSystems` +- `RemoteSet` → `RemoteSystems` +- `RenderSet` → `RenderSystems` +- `SpriteSystem` → `SpriteSystems` +- `StateTransitionSteps` → `StateTransitionSystems` +- `RenderUiSystem` → `RenderUiSystems` +- `UiSystem` → `UiSystems` +- `Animation` → `AnimationSystems` +- `AssetEvents` → `AssetEventSystems` +- `TrackAssets` → `AssetTrackingSystems` +- `UpdateGizmoMeshes` → `GizmoMeshSystems` +- `InputSystem` → `InputSystems` +- `InputFocusSet` → `InputFocusSystems` +- `ExtractMaterialsSet` → `MaterialExtractionSystems` +- `ExtractMeshesSet` → `MeshExtractionSystems` +- `RumbleSystem` → `RumbleSystems` +- `CameraUpdateSystem` → `CameraUpdateSystems` +- `ExtractAssetsSet` → `AssetExtractionSystems` +- `Update2dText` → `Text2dUpdateSystems` +- `TimeSystem` → `TimeSystems` +- `EventUpdates` → `EventUpdateSystems` + +To improve consistency within the ecosystem, it is recommended for ecosystem crates +and users to also adopt the `*Systems` naming convention for their system sets where applicable. diff --git a/release-content/release-notes/system_set_naming_convention.md b/release-content/release-notes/system_set_naming_convention.md new file mode 100644 index 0000000000..095c3b1d54 --- /dev/null +++ b/release-content/release-notes/system_set_naming_convention.md @@ -0,0 +1,50 @@ +--- +title: Consistent `*Systems` naming convention for system sets +authors: ["@Jondolf"] +pull_requests: [18900] +--- + +Names of `SystemSet` types within Bevy and its ecosystem have historically +been very inconsistent. Examples of system set names include `AccessibilitySystem`, +`PickSet`, `StateTransitionSteps`, and `Animation`. + +Naming conventions being so wildly inconsistent can make it harder for users to pick names +for their own types, to search for system sets on docs.rs, or to even discern which types +*are* system sets. + +To reign in the inconsistency and help unify the ecosystem, **Bevy 0.17** has renamed most of +its own system sets to follow a consistent `*Systems` naming convention. Renamed types include: + +- `AccessibilitySystem` → `AccessibilitySystems` +- `GizmoRenderSystem` → `GizmoRenderSystems` +- `PickSet` → `PickingSystems` +- `RunFixedMainLoopSystem` → `RunFixedMainLoopSystems` +- `TransformSystem` → `TransformSystems` +- `RemoteSet` → `RemoteSystems` +- `RenderSet` → `RenderSystems` +- `SpriteSystem` → `SpriteSystems` +- `StateTransitionSteps` → `StateTransitionSystems` +- `RenderUiSystem` → `RenderUiSystems` +- `UiSystem` → `UiSystems` +- `Animation` → `AnimationSystems` +- `AssetEvents` → `AssetEventSystems` +- `TrackAssets` → `AssetTrackingSystems` +- `UpdateGizmoMeshes` → `GizmoMeshSystems` +- `InputSystem` → `InputSystems` +- `InputFocusSet` → `InputFocusSystems` +- `ExtractMaterialsSet` → `MaterialExtractionSystems` +- `ExtractMeshesSet` → `MeshExtractionSystems` +- `RumbleSystem` → `RumbleSystems` +- `CameraUpdateSystem` → `CameraUpdateSystems` +- `ExtractAssetsSet` → `AssetExtractionSystems` +- `Update2dText` → `Text2dUpdateSystems` +- `TimeSystem` → `TimeSystems` +- `EventUpdates` → `EventUpdateSystems` + +The `Systems` suffix was chosen over the other popular suffix `Set`, +because `Systems` more clearly communicates that it is specifically +a collection of systems, and it has a lower risk of naming conflicts +with other set types. + +It is recommended for ecosystem crates and users to follow suit and also adopt +the `*Systems` naming convention for their system sets where applicable.