Skip to content

Commit 7b1c9f1

Browse files
authored
Adopt consistent FooSystems naming convention for system sets (#18900)
# Objective Fixes a part of #14274. Bevy has an incredibly inconsistent naming convention for its system sets, both internally and across the ecosystem. <img alt="System sets in Bevy" src="https://github.com/user-attachments/assets/d16e2027-793f-4ba4-9cc9-e780b14a5a1b" width="450" /> *Names of public system set types in Bevy* Most Bevy types use a naming of `FooSystem` or just `Foo`, but there are also a few `FooSystems` and `FooSet` types. In ecosystem crates on the other hand, `FooSet` is perhaps the most commonly used name in general. 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 a bit and help unify the ecosystem, it would be good to establish a common recommended naming convention for system sets in Bevy itself, similar to how plugins are commonly suffixed with `Plugin` (ex: `TimePlugin`). By adopting a consistent naming convention in first-party Bevy, we can softly nudge ecosystem crates to follow suit (for types where it makes sense to do so). Choosing a naming convention is also relevant now, as the [`bevy_cli` recently adopted lints](TheBevyFlock/bevy_cli#345) to enforce naming for plugins and system sets, and the recommended naming used for system sets is still a bit open. ## Which Name To Use? Now the contentious part: what naming convention should we actually adopt? This was discussed on the Bevy Discord at the end of last year, starting [here](<https://discord.com/channels/691052431525675048/692572690833473578/1310659954683936789>). `FooSet` and `FooSystems` were the clear favorites, with `FooSet` very narrowly winning an unofficial poll. However, it seems to me like the consensus was broadly moving towards `FooSystems` at the end and after the poll, with Cart ([source](https://discord.com/channels/691052431525675048/692572690833473578/1311140204974706708)) and later Alice ([source](https://discord.com/channels/691052431525675048/692572690833473578/1311092530732859533)) and also me being in favor of it. Let's do a quick pros and cons list! Of course these are just what I thought of, so take it with a grain of salt. `FooSet`: - Pro: Nice and short! - Pro: Used by many ecosystem crates. - Pro: The `Set` suffix comes directly from the trait name `SystemSet`. - Pro: Pairs nicely with existing APIs like `in_set` and `configure_sets`. - Con: `Set` by itself doesn't actually indicate that it's related to systems *at all*, apart from the implemented trait. A set of what? - Con: Is `FooSet` a set of `Foo`s or a system set related to `Foo`? Ex: `ContactSet`, `MeshSet`, `EnemySet`... `FooSystems`: - Pro: Very clearly indicates that the type represents a collection of systems. The actual core concept, system(s), is in the name. - Pro: Parallels nicely with `FooPlugins` for plugin groups. - Pro: Low risk of conflicts with other names or misunderstandings about what the type is. - Pro: In most cases, reads *very* nicely and clearly. Ex: `PhysicsSystems` and `AnimationSystems` as opposed to `PhysicsSet` and `AnimationSet`. - Pro: Easy to search for on docs.rs. - Con: Usually results in longer names. - Con: Not yet as widely used. Really the big problem with `FooSet` is that it doesn't actually describe what it is. It describes what *kind of thing* it is (a set of something), but not *what it is a set of*, unless you know the type or check its docs or implemented traits. `FooSystems` on the other hand is much more self-descriptive in this regard, at the cost of being a bit longer to type. Ultimately, in some ways it comes down to preference and how you think of system sets. Personally, I was originally in favor of `FooSet`, but have been increasingly on the side of `FooSystems`, especially after seeing what the new names would actually look like in Avian and now Bevy. I prefer it because it usually reads better, is much more clearly related to groups of systems than `FooSet`, and overall *feels* more correct and natural to me in the long term. For these reasons, and because Alice and Cart also seemed to share a preference for it when it was previously being discussed, I propose that we adopt a `FooSystems` naming convention where applicable. ## Solution Rename Bevy's system set types to use a consistent `FooSet` naming where applicable. - `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` - `AudioPlaySet` → `AudioPlaybackSystems` - `SendEvents` → `EventSenderSystems` - `EventUpdates` → `EventUpdateSystems` A lot of the names got slightly longer, but they are also a lot more consistent, and in my opinion the majority of them read much better. For a few of the names I took the liberty of rewording things a bit; definitely open to any further naming improvements. There are still also cases where the `FooSystems` naming doesn't really make sense, and those I left alone. This primarily includes system sets like `Interned<dyn SystemSet>`, `EnterSchedules<S>`, `ExitSchedules<S>`, or `TransitionSchedules<S>`, where the type has some special purpose and semantics. ## Todo - [x] Should I keep all the old names as deprecated type aliases? I can do this, but to avoid wasting work I'd prefer to first reach consensus on whether these renames are even desired. - [x] Migration guide - [x] Release notes
1 parent 775fae5 commit 7b1c9f1

File tree

126 files changed

+835
-605
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+835
-605
lines changed

crates/bevy_a11y/src/lib.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,11 +137,15 @@ impl From<Node> for AccessibilityNode {
137137
all(feature = "bevy_reflect", feature = "serialize"),
138138
reflect(Serialize, Deserialize, Clone)
139139
)]
140-
pub enum AccessibilitySystem {
140+
pub enum AccessibilitySystems {
141141
/// Update the accessibility tree
142142
Update,
143143
}
144144

145+
/// Deprecated alias for [`AccessibilitySystems`].
146+
#[deprecated(since = "0.17.0", note = "Renamed to `AccessibilitySystems`.")]
147+
pub type AccessibilitySystem = AccessibilitySystems;
148+
145149
/// Plugin managing non-GUI aspects of integrating with accessibility APIs.
146150
#[derive(Default)]
147151
pub struct AccessibilityPlugin;

crates/bevy_animation/src/lib.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@ use crate::{
3131
prelude::EvaluatorId,
3232
};
3333

34-
use bevy_app::{Animation, App, Plugin, PostUpdate};
35-
use bevy_asset::{Asset, AssetApp, AssetEvents, Assets};
34+
use bevy_app::{AnimationSystems, App, Plugin, PostUpdate};
35+
use bevy_asset::{Asset, AssetApp, AssetEventSystems, Assets};
3636
use bevy_ecs::{prelude::*, world::EntityMutExcept};
3737
use bevy_math::FloatOrd;
3838
use bevy_platform::{collections::HashMap, hash::NoOpHash};
3939
use bevy_reflect::{prelude::ReflectDefault, Reflect, TypePath};
4040
use bevy_time::Time;
41-
use bevy_transform::TransformSystem;
41+
use bevy_transform::TransformSystems;
4242
use bevy_utils::{PreHashMap, PreHashMapExt, TypeIdMap};
4343
use petgraph::graph::NodeIndex;
4444
use serde::{Deserialize, Serialize};
@@ -1244,7 +1244,7 @@ impl Plugin for AnimationPlugin {
12441244
.add_systems(
12451245
PostUpdate,
12461246
(
1247-
graph::thread_animation_graphs.before(AssetEvents),
1247+
graph::thread_animation_graphs.before(AssetEventSystems),
12481248
advance_transitions,
12491249
advance_animations,
12501250
// TODO: `animate_targets` can animate anything, so
@@ -1260,8 +1260,8 @@ impl Plugin for AnimationPlugin {
12601260
expire_completed_transitions,
12611261
)
12621262
.chain()
1263-
.in_set(Animation)
1264-
.before(TransformSystem::TransformPropagate),
1263+
.in_set(AnimationSystems)
1264+
.before(TransformSystems::Propagate),
12651265
);
12661266
}
12671267
}

crates/bevy_anti_aliasing/src/contrast_adaptive_sharpening/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use bevy_render::{
1818
},
1919
renderer::RenderDevice,
2020
view::{ExtractedView, ViewTarget},
21-
Render, RenderApp, RenderSet,
21+
Render, RenderApp, RenderSystems,
2222
};
2323

2424
mod node;
@@ -121,7 +121,7 @@ impl Plugin for CasPlugin {
121121
};
122122
render_app
123123
.init_resource::<SpecializedRenderPipelines<CasPipeline>>()
124-
.add_systems(Render, prepare_cas_pipelines.in_set(RenderSet::Prepare));
124+
.add_systems(Render, prepare_cas_pipelines.in_set(RenderSystems::Prepare));
125125

126126
{
127127
render_app

crates/bevy_anti_aliasing/src/fxaa/mod.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use bevy_render::{
1818
},
1919
renderer::RenderDevice,
2020
view::{ExtractedView, ViewTarget},
21-
Render, RenderApp, RenderSet,
21+
Render, RenderApp, RenderSystems,
2222
};
2323
use bevy_utils::default;
2424

@@ -96,7 +96,10 @@ impl Plugin for FxaaPlugin {
9696
};
9797
render_app
9898
.init_resource::<SpecializedRenderPipelines<FxaaPipeline>>()
99-
.add_systems(Render, prepare_fxaa_pipelines.in_set(RenderSet::Prepare))
99+
.add_systems(
100+
Render,
101+
prepare_fxaa_pipelines.in_set(RenderSystems::Prepare),
102+
)
100103
.add_render_graph_node::<ViewNodeRunner<FxaaNode>>(Core3d, Node3d::Fxaa)
101104
.add_render_graph_edges(
102105
Core3d,

crates/bevy_anti_aliasing/src/smaa/mod.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ use bevy_render::{
7676
renderer::{RenderContext, RenderDevice, RenderQueue},
7777
texture::{CachedTexture, GpuImage, TextureCache},
7878
view::{ExtractedView, ViewTarget},
79-
Render, RenderApp, RenderSet,
79+
Render, RenderApp, RenderSystems,
8080
};
8181
use bevy_utils::prelude::default;
8282

@@ -346,10 +346,10 @@ impl Plugin for SmaaPlugin {
346346
.add_systems(
347347
Render,
348348
(
349-
prepare_smaa_pipelines.in_set(RenderSet::Prepare),
350-
prepare_smaa_uniforms.in_set(RenderSet::PrepareResources),
351-
prepare_smaa_textures.in_set(RenderSet::PrepareResources),
352-
prepare_smaa_bind_groups.in_set(RenderSet::PrepareBindGroups),
349+
prepare_smaa_pipelines.in_set(RenderSystems::Prepare),
350+
prepare_smaa_uniforms.in_set(RenderSystems::PrepareResources),
351+
prepare_smaa_textures.in_set(RenderSystems::PrepareResources),
352+
prepare_smaa_bind_groups.in_set(RenderSystems::PrepareBindGroups),
353353
),
354354
)
355355
.add_render_graph_node::<ViewNodeRunner<SmaaNode>>(Core3d, Node3d::Smaa)

crates/bevy_anti_aliasing/src/taa/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ use bevy_render::{
3636
sync_world::RenderEntity,
3737
texture::{CachedTexture, TextureCache},
3838
view::{ExtractedView, Msaa, ViewTarget},
39-
ExtractSchedule, MainWorld, Render, RenderApp, RenderSet,
39+
ExtractSchedule, MainWorld, Render, RenderApp, RenderSystems,
4040
};
4141
use tracing::warn;
4242

@@ -64,9 +64,9 @@ impl Plugin for TemporalAntiAliasPlugin {
6464
.add_systems(
6565
Render,
6666
(
67-
prepare_taa_jitter_and_mip_bias.in_set(RenderSet::ManageViews),
68-
prepare_taa_pipelines.in_set(RenderSet::Prepare),
69-
prepare_taa_history_textures.in_set(RenderSet::PrepareResources),
67+
prepare_taa_jitter_and_mip_bias.in_set(RenderSystems::ManageViews),
68+
prepare_taa_pipelines.in_set(RenderSystems::Prepare),
69+
prepare_taa_history_textures.in_set(RenderSystems::PrepareResources),
7070
),
7171
)
7272
.add_render_graph_node::<ViewNodeRunner<TemporalAntiAliasNode>>(Core3d, Node3d::Taa)

crates/bevy_app/src/app.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ impl Default for App {
117117
app.add_systems(
118118
First,
119119
event_update_system
120-
.in_set(bevy_ecs::event::EventUpdates)
120+
.in_set(bevy_ecs::event::EventUpdateSystems)
121121
.run_if(bevy_ecs::event::event_update_condition),
122122
);
123123
app.add_event::<AppExit>();

crates/bevy_app/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ pub mod prelude {
5555
main_schedule::{
5656
First, FixedFirst, FixedLast, FixedPostUpdate, FixedPreUpdate, FixedUpdate, Last, Main,
5757
PostStartup, PostUpdate, PreStartup, PreUpdate, RunFixedMainLoop,
58-
RunFixedMainLoopSystem, SpawnScene, Startup, Update,
58+
RunFixedMainLoopSystems, SpawnScene, Startup, Update,
5959
},
6060
sub_app::SubApp,
6161
Plugin, PluginGroup, TaskPoolOptions, TaskPoolPlugin,

crates/bevy_app/src/main_schedule.rs

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ pub struct PreUpdate;
9292

9393
/// Runs the [`FixedMain`] schedule in a loop according until all relevant elapsed time has been "consumed".
9494
///
95-
/// If you need to order your variable timestep systems
96-
/// before or after the fixed update logic, use the [`RunFixedMainLoopSystem`] system set.
95+
/// If you need to order your variable timestep systems before or after
96+
/// the fixed update logic, use the [`RunFixedMainLoopSystems`] system set.
9797
///
9898
/// Note that in contrast to most other Bevy schedules, systems added directly to
9999
/// [`RunFixedMainLoop`] will *not* be parallelized between each other.
@@ -149,7 +149,7 @@ pub struct FixedLast;
149149
/// The schedule that contains systems which only run after a fixed period of time has elapsed.
150150
///
151151
/// This is run by the [`RunFixedMainLoop`] schedule. If you need to order your variable timestep systems
152-
/// before or after the fixed update logic, use the [`RunFixedMainLoopSystem`] system set.
152+
/// before or after the fixed update logic, use the [`RunFixedMainLoopSystems`] system set.
153153
///
154154
/// Frequency of execution is configured by inserting `Time<Fixed>` resource, 64 Hz by default.
155155
/// See [this example](https://github.com/bevyengine/bevy/blob/latest/examples/time/time.rs).
@@ -196,7 +196,11 @@ pub struct Last;
196196

197197
/// Animation system set. This exists in [`PostUpdate`].
198198
#[derive(SystemSet, Debug, Hash, PartialEq, Eq, Clone)]
199-
pub struct Animation;
199+
pub struct AnimationSystems;
200+
201+
/// Deprecated alias for [`AnimationSystems`].
202+
#[deprecated(since = "0.17.0", note = "Renamed to `AnimationSystems`.")]
203+
pub type Animation = AnimationSystems;
200204

201205
/// Defines the schedules to be run for the [`Main`] schedule, including
202206
/// their order.
@@ -318,9 +322,9 @@ impl Plugin for MainSchedulePlugin {
318322
.configure_sets(
319323
RunFixedMainLoop,
320324
(
321-
RunFixedMainLoopSystem::BeforeFixedMainLoop,
322-
RunFixedMainLoopSystem::FixedMainLoop,
323-
RunFixedMainLoopSystem::AfterFixedMainLoop,
325+
RunFixedMainLoopSystems::BeforeFixedMainLoop,
326+
RunFixedMainLoopSystems::FixedMainLoop,
327+
RunFixedMainLoopSystems::AfterFixedMainLoop,
324328
)
325329
.chain(),
326330
);
@@ -400,7 +404,7 @@ impl FixedMain {
400404
/// Note that in contrast to most other Bevy schedules, systems added directly to
401405
/// [`RunFixedMainLoop`] will *not* be parallelized between each other.
402406
#[derive(Debug, Hash, PartialEq, Eq, Copy, Clone, SystemSet)]
403-
pub enum RunFixedMainLoopSystem {
407+
pub enum RunFixedMainLoopSystems {
404408
/// Runs before the fixed update logic.
405409
///
406410
/// A good example of a system that fits here
@@ -419,7 +423,7 @@ pub enum RunFixedMainLoopSystem {
419423
/// App::new()
420424
/// .add_systems(
421425
/// RunFixedMainLoop,
422-
/// update_camera_rotation.in_set(RunFixedMainLoopSystem::BeforeFixedMainLoop))
426+
/// update_camera_rotation.in_set(RunFixedMainLoopSystems::BeforeFixedMainLoop))
423427
/// .add_systems(FixedUpdate, update_physics);
424428
///
425429
/// # fn update_camera_rotation() {}
@@ -432,7 +436,7 @@ pub enum RunFixedMainLoopSystem {
432436
///
433437
/// Don't place systems here, use [`FixedUpdate`] and friends instead.
434438
/// Use this system instead to order your systems to run specifically inbetween the fixed update logic and all
435-
/// other systems that run in [`RunFixedMainLoopSystem::BeforeFixedMainLoop`] or [`RunFixedMainLoopSystem::AfterFixedMainLoop`].
439+
/// other systems that run in [`RunFixedMainLoopSystems::BeforeFixedMainLoop`] or [`RunFixedMainLoopSystems::AfterFixedMainLoop`].
436440
///
437441
/// [`Time<Virtual>`]: https://docs.rs/bevy/latest/bevy/prelude/struct.Virtual.html
438442
/// [`Time::overstep`]: https://docs.rs/bevy/latest/bevy/time/struct.Time.html#method.overstep
@@ -448,8 +452,8 @@ pub enum RunFixedMainLoopSystem {
448452
/// // This system will be called before all interpolation systems
449453
/// // that third-party plugins might add.
450454
/// prepare_for_interpolation
451-
/// .after(RunFixedMainLoopSystem::FixedMainLoop)
452-
/// .before(RunFixedMainLoopSystem::AfterFixedMainLoop),
455+
/// .after(RunFixedMainLoopSystems::FixedMainLoop)
456+
/// .before(RunFixedMainLoopSystems::AfterFixedMainLoop),
453457
/// )
454458
/// );
455459
///
@@ -473,10 +477,14 @@ pub enum RunFixedMainLoopSystem {
473477
/// .add_systems(FixedUpdate, update_physics)
474478
/// .add_systems(
475479
/// RunFixedMainLoop,
476-
/// interpolate_transforms.in_set(RunFixedMainLoopSystem::AfterFixedMainLoop));
480+
/// interpolate_transforms.in_set(RunFixedMainLoopSystems::AfterFixedMainLoop));
477481
///
478482
/// # fn interpolate_transforms() {}
479483
/// # fn update_physics() {}
480484
/// ```
481485
AfterFixedMainLoop,
482486
}
487+
488+
/// Deprecated alias for [`RunFixedMainLoopSystems`].
489+
#[deprecated(since = "0.17.0", note = "Renamed to `RunFixedMainLoopSystems`.")]
490+
pub type RunFixedMainLoopSystem = RunFixedMainLoopSystems;

crates/bevy_asset/src/asset_changed.rs

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ use tracing::error;
2222
/// the [`AssetChanged`] filter to determine if an asset has changed since the last time
2323
/// a query ran.
2424
///
25-
/// This resource is automatically managed by the [`AssetEvents`](crate::AssetEvents) schedule and
26-
/// should not be exposed to the user in order to maintain safety guarantees. Any additional uses of
27-
/// this resource should be carefully audited to ensure that they do not introduce any safety
28-
/// issues.
25+
/// This resource is automatically managed by the [`AssetEventSystems`](crate::AssetEventSystems)
26+
/// system set and should not be exposed to the user in order to maintain safety guarantees.
27+
/// Any additional uses of this resource should be carefully audited to ensure that they do not
28+
/// introduce any safety issues.
2929
#[derive(Resource)]
3030
pub(crate) struct AssetChanges<A: Asset> {
3131
change_ticks: HashMap<AssetId<A>, Tick>,
@@ -102,14 +102,13 @@ impl<'w, A: AsAssetId> AssetChangeCheck<'w, A> {
102102
///
103103
/// # Quirks
104104
///
105-
/// - Asset changes are registered in the [`AssetEvents`] schedule.
105+
/// - Asset changes are registered in the [`AssetEventSystems`] system set.
106106
/// - Removed assets are not detected.
107107
///
108-
/// The list of changed assets only gets updated in the
109-
/// [`AssetEvents`] schedule which runs in `Last`. Therefore, `AssetChanged`
110-
/// will only pick up asset changes in schedules following `AssetEvents` or the
111-
/// next frame. Consider adding the system in the `Last` schedule after [`AssetEvents`] if you need
112-
/// to react without frame delay to asset changes.
108+
/// The list of changed assets only gets updated in the [`AssetEventSystems`] system set,
109+
/// which runs in `Last`. Therefore, `AssetChanged` will only pick up asset changes in schedules
110+
/// following [`AssetEventSystems`] or the next frame. Consider adding the system in the `Last` schedule
111+
/// after [`AssetEventSystems`] if you need to react without frame delay to asset changes.
113112
///
114113
/// # Performance
115114
///
@@ -120,7 +119,7 @@ impl<'w, A: AsAssetId> AssetChangeCheck<'w, A> {
120119
///
121120
/// If no `A` asset updated since the last time the system ran, then no lookups occur.
122121
///
123-
/// [`AssetEvents`]: crate::AssetEvents
122+
/// [`AssetEventSystems`]: crate::AssetEventSystems
124123
/// [`Assets<Mesh>::get_mut`]: crate::Assets::get_mut
125124
pub struct AssetChanged<A: AsAssetId>(PhantomData<A>);
126125

@@ -166,7 +165,7 @@ unsafe impl<A: AsAssetId> WorldQuery for AssetChanged<A> {
166165
this_run: Tick,
167166
) -> Self::Fetch<'w> {
168167
// SAFETY:
169-
// - `AssetChanges` is private and only accessed mutably in the `AssetEvents` schedule
168+
// - `AssetChanges` is private and only accessed mutably in the `AssetEventSystems` system set.
170169
// - `resource_id` was obtained from the type ID of `AssetChanges<A::Asset>`.
171170
let Some(changes) = (unsafe {
172171
world
@@ -283,7 +282,7 @@ unsafe impl<A: AsAssetId> QueryFilter for AssetChanged<A> {
283282
#[cfg(test)]
284283
#[expect(clippy::print_stdout, reason = "Allowed in tests.")]
285284
mod tests {
286-
use crate::{AssetEvents, AssetPlugin, Handle};
285+
use crate::{AssetEventSystems, AssetPlugin, Handle};
287286
use alloc::{vec, vec::Vec};
288287
use core::num::NonZero;
289288
use std::println;
@@ -406,7 +405,7 @@ mod tests {
406405
.init_asset::<MyAsset>()
407406
.insert_resource(Counter(vec![0, 0, 0, 0]))
408407
.add_systems(Update, add_some)
409-
.add_systems(PostUpdate, count_update.after(AssetEvents));
408+
.add_systems(PostUpdate, count_update.after(AssetEventSystems));
410409

411410
// First run of the app, `add_systems(Startup…)` runs.
412411
app.update(); // run_count == 0
@@ -441,7 +440,7 @@ mod tests {
441440
},
442441
)
443442
.add_systems(Update, update_some)
444-
.add_systems(PostUpdate, count_update.after(AssetEvents));
443+
.add_systems(PostUpdate, count_update.after(AssetEventSystems));
445444

446445
// First run of the app, `add_systems(Startup…)` runs.
447446
app.update(); // run_count == 0

0 commit comments

Comments
 (0)