From 2f9d52ff8941647774afcb186db3084d0c66bd6e Mon Sep 17 00:00:00 2001 From: Ben Frankel Date: Fri, 12 Jul 2024 23:57:30 -0700 Subject: [PATCH 1/5] Depend on bevy subcrates directly --- bevy_asset_loader/Cargo.toml | 7 ++++++- bevy_asset_loader/src/asset_collection.rs | 8 ++++---- bevy_asset_loader/src/dynamic_asset.rs | 10 +++++----- bevy_asset_loader/src/loading_state.rs | 20 +++++++++---------- bevy_asset_loader/src/loading_state/config.rs | 14 +++++++------ .../loading_state/dynamic_asset_systems.rs | 13 ++++++------ .../src/loading_state/systems.rs | 12 +++++------ bevy_asset_loader/src/mapped.rs | 2 +- 8 files changed, 45 insertions(+), 41 deletions(-) diff --git a/bevy_asset_loader/Cargo.toml b/bevy_asset_loader/Cargo.toml index b3227ed..24595f6 100644 --- a/bevy_asset_loader/Cargo.toml +++ b/bevy_asset_loader/Cargo.toml @@ -22,7 +22,12 @@ standard_dynamic_assets = ["dep:bevy_common_assets", "dep:serde"] progress_tracking = ["dep:iyes_progress"] [dependencies] -bevy = { version = "0.14.0", default-features = false, features = ["bevy_asset", "bevy_state"] } +bevy_app = "0.14" +bevy_asset = "0.14" +bevy_ecs = "0.14" +bevy_log = "0.14" +bevy_state = "0.14" +bevy_utils = "0.14" bevy_asset_loader_derive = { version = "=0.21.0", path = "../bevy_asset_loader_derive" } anyhow = "1" path-slash = "0.2" diff --git a/bevy_asset_loader/src/asset_collection.rs b/bevy_asset_loader/src/asset_collection.rs index 5585bb6..97540f3 100644 --- a/bevy_asset_loader/src/asset_collection.rs +++ b/bevy_asset_loader/src/asset_collection.rs @@ -1,8 +1,8 @@ use crate::dynamic_asset::DynamicAssets; -use bevy::app::App; -use bevy::asset::UntypedHandle; -use bevy::ecs::system::Resource; -use bevy::ecs::world::World; +use bevy_app::App; +use bevy_asset::UntypedHandle; +use bevy_ecs::system::Resource; +use bevy_ecs::world::World; pub use bevy_asset_loader_derive::AssetCollection; diff --git a/bevy_asset_loader/src/dynamic_asset.rs b/bevy_asset_loader/src/dynamic_asset.rs index dbdc40b..eac1fe5 100644 --- a/bevy_asset_loader/src/dynamic_asset.rs +++ b/bevy_asset_loader/src/dynamic_asset.rs @@ -1,11 +1,11 @@ -use bevy::utils::HashMap; use std::any::TypeId; use std::fmt::Debug; -use bevy::asset::{Asset, AssetServer, UntypedHandle}; -use bevy::ecs::system::Resource; -use bevy::ecs::world::World; -use bevy::state::state::FreelyMutableState; +use bevy_asset::{Asset, AssetServer, UntypedHandle}; +use bevy_ecs::system::Resource; +use bevy_ecs::world::World; +use bevy_state::state::FreelyMutableState; +use bevy_utils::HashMap; use std::marker::PhantomData; /// Different typed that can generate the asset field value of a dynamic asset diff --git a/bevy_asset_loader/src/loading_state.rs b/bevy_asset_loader/src/loading_state.rs index 4b4893e..68c1dd8 100644 --- a/bevy_asset_loader/src/loading_state.rs +++ b/bevy_asset_loader/src/loading_state.rs @@ -4,18 +4,16 @@ mod systems; /// Configuration of loading states pub mod config; -use bevy::app::{App, Plugin}; -use bevy::asset::{Asset, UntypedHandle}; -use bevy::ecs::{ - schedule::{ - InternedScheduleLabel, IntoSystemConfigs, IntoSystemSetConfigs, ScheduleLabel, SystemSet, - }, - system::Resource, - world::FromWorld, +use bevy_app::{App, Plugin, Update}; +use bevy_asset::{Asset, UntypedHandle}; +use bevy_ecs::schedule::{ + InternedScheduleLabel, IntoSystemConfigs, IntoSystemSetConfigs, ScheduleLabel, SystemSet, }; -use bevy::prelude::{in_state, NextState, OnEnter, State, StateTransition, States, Update}; -use bevy::state::state::FreelyMutableState; -use bevy::utils::{default, HashMap, HashSet}; +use bevy_ecs::system::Resource; +use bevy_ecs::world::FromWorld; +use bevy_state::condition::in_state; +use bevy_state::state::{FreelyMutableState, NextState, OnEnter, State, StateTransition, States}; +use bevy_utils::{default, HashMap, HashSet}; use std::any::TypeId; use std::marker::PhantomData; diff --git a/bevy_asset_loader/src/loading_state/config.rs b/bevy_asset_loader/src/loading_state/config.rs index f32a212..1dadc41 100644 --- a/bevy_asset_loader/src/loading_state/config.rs +++ b/bevy_asset_loader/src/loading_state/config.rs @@ -10,12 +10,14 @@ use crate::loading_state::{ InternalLoadingState, InternalLoadingStateSet, LoadingStateSchedule, OnEnterInternalLoadingState, }; -use bevy::app::App; -use bevy::asset::Asset; -use bevy::ecs::schedule::SystemConfigs; -use bevy::prelude::{default, FromWorld, IntoSystemConfigs, Resource}; -use bevy::state::state::FreelyMutableState; -use bevy::utils::HashMap; +use bevy_app::App; +use bevy_asset::Asset; +use bevy_ecs::schedule::{IntoSystemConfigs, SystemConfigs}; +use bevy_ecs::system::Resource; +use bevy_ecs::world::FromWorld; +use bevy_state::state::FreelyMutableState; +use bevy_utils::default; +use bevy_utils::HashMap; use std::any::TypeId; /// Methods to configure a loading state diff --git a/bevy_asset_loader/src/loading_state/dynamic_asset_systems.rs b/bevy_asset_loader/src/loading_state/dynamic_asset_systems.rs index c2ba588..d5247ae 100644 --- a/bevy_asset_loader/src/loading_state/dynamic_asset_systems.rs +++ b/bevy_asset_loader/src/loading_state/dynamic_asset_systems.rs @@ -1,12 +1,11 @@ use crate::dynamic_asset::{DynamicAssetCollection, DynamicAssetCollections, DynamicAssets}; use crate::loading_state::{AssetLoaderConfiguration, InternalLoadingState, LoadingAssetHandles}; -use bevy::asset::{Asset, AssetServer, Assets, LoadState}; -use bevy::ecs::change_detection::ResMut; -use bevy::ecs::system::{Res, SystemState}; -use bevy::ecs::world::World; -use bevy::log::{debug, warn}; -use bevy::prelude::NextState; -use bevy::state::state::{FreelyMutableState, State}; +use bevy_asset::{Asset, AssetServer, Assets, LoadState}; +use bevy_ecs::change_detection::ResMut; +use bevy_ecs::system::{Res, SystemState}; +use bevy_ecs::world::World; +use bevy_log::{debug, warn}; +use bevy_state::state::{FreelyMutableState, NextState, State}; use std::any::{type_name, TypeId}; #[allow(clippy::type_complexity)] diff --git a/bevy_asset_loader/src/loading_state/systems.rs b/bevy_asset_loader/src/loading_state/systems.rs index 29047b6..dd59b8f 100644 --- a/bevy_asset_loader/src/loading_state/systems.rs +++ b/bevy_asset_loader/src/loading_state/systems.rs @@ -1,9 +1,9 @@ -use bevy::asset::{AssetServer, LoadState}; -use bevy::ecs::system::SystemState; -use bevy::ecs::world::{FromWorld, World}; -use bevy::log::{debug, info, trace, warn}; -use bevy::prelude::{NextState, Res, ResMut, Resource, Schedules}; -use bevy::state::state::{FreelyMutableState, State}; +use bevy_asset::{AssetServer, LoadState}; +use bevy_ecs::schedule::Schedules; +use bevy_ecs::system::{Res, ResMut, Resource, SystemState}; +use bevy_ecs::world::{FromWorld, World}; +use bevy_log::{debug, info, trace, warn}; +use bevy_state::state::{FreelyMutableState, NextState, State}; use std::any::{type_name, TypeId}; use std::marker::PhantomData; diff --git a/bevy_asset_loader/src/mapped.rs b/bevy_asset_loader/src/mapped.rs index 578af67..8444b6c 100644 --- a/bevy_asset_loader/src/mapped.rs +++ b/bevy_asset_loader/src/mapped.rs @@ -1,6 +1,6 @@ use std::borrow::Borrow; -use bevy::asset::AssetPath; +use bevy_asset::AssetPath; /// A type that can be used as key for mapped asset collection. /// From 825a11109dbaad130c5af9ebf32e2a586806d6cf Mon Sep 17 00:00:00 2001 From: Ben Frankel Date: Sat, 13 Jul 2024 00:08:53 -0700 Subject: [PATCH 2/5] Fix `standard_dynamic_asset.rs` --- bevy_asset_loader/Cargo.toml | 20 ++++++++++++++--- .../src/standard_dynamic_asset.rs | 22 +++++++++---------- 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/bevy_asset_loader/Cargo.toml b/bevy_asset_loader/Cargo.toml index 24595f6..e78f5c4 100644 --- a/bevy_asset_loader/Cargo.toml +++ b/bevy_asset_loader/Cargo.toml @@ -15,10 +15,19 @@ readme = "README.md" [features] # This feature adds support for bevy's TextureAtlas assets -2d = ["bevy/bevy_sprite", "bevy_asset_loader_derive/2d"] +2d = [ + "dep:bevy_math", + "dep:bevy_render", + "dep:bevy_sprite", + "bevy_asset_loader_derive/2d", +] # This feature adds support for bevy's StandardMaterial assets -3d = ["bevy/bevy_pbr", "bevy_asset_loader_derive/3d"] -standard_dynamic_assets = ["dep:bevy_common_assets", "dep:serde"] +3d = ["dep:bevy_pbr", "dep:bevy_render", "bevy_asset_loader_derive/3d"] +standard_dynamic_assets = [ + "dep:bevy_reflect", + "dep:bevy_common_assets", + "dep:serde", +] progress_tracking = ["dep:iyes_progress"] [dependencies] @@ -26,6 +35,11 @@ bevy_app = "0.14" bevy_asset = "0.14" bevy_ecs = "0.14" bevy_log = "0.14" +bevy_math = { version = "0.14", optional = true } +bevy_pbr = { version = "0.14", optional = true } +bevy_reflect = { version = "0.14", optional = true } +bevy_render = { version = "0.14", optional = true } +bevy_sprite = { version = "0.14", optional = true } bevy_state = "0.14" bevy_utils = "0.14" bevy_asset_loader_derive = { version = "=0.21.0", path = "../bevy_asset_loader_derive" } diff --git a/bevy_asset_loader/src/standard_dynamic_asset.rs b/bevy_asset_loader/src/standard_dynamic_asset.rs index a527cc4..4ab0383 100644 --- a/bevy_asset_loader/src/standard_dynamic_asset.rs +++ b/bevy_asset_loader/src/standard_dynamic_asset.rs @@ -1,22 +1,22 @@ use crate::dynamic_asset::{DynamicAsset, DynamicAssetType}; use crate::dynamic_asset::{DynamicAssetCollection, DynamicAssets}; -use bevy::asset::{Asset, AssetServer, Assets, LoadedFolder, UntypedHandle}; -use bevy::ecs::system::SystemState; -use bevy::ecs::world::{Command, World}; -use bevy::reflect::TypePath; -use bevy::utils::HashMap; +use bevy_asset::{Asset, AssetServer, Assets, LoadedFolder, UntypedHandle}; +use bevy_ecs::system::SystemState; +use bevy_ecs::world::{Command, World}; +use bevy_reflect::TypePath; +use bevy_utils::HashMap; use serde::{Deserialize, Serialize}; +use bevy_ecs::system::{Res, ResMut}; #[cfg(feature = "2d")] -use bevy::math::UVec2; +use bevy_math::UVec2; #[cfg(feature = "3d")] -use bevy::pbr::StandardMaterial; -use bevy::prelude::{Res, ResMut}; +use bevy_pbr::StandardMaterial; #[cfg(feature = "2d")] -use bevy::sprite::TextureAtlasLayout; +use bevy_sprite::TextureAtlasLayout; #[cfg(any(feature = "3d", feature = "2d"))] -use bevy::render::texture::{Image, ImageSampler, ImageSamplerDescriptor}; +use bevy_render::texture::{Image, ImageSampler, ImageSamplerDescriptor}; /// These asset variants can be loaded from configuration files. They will then replace /// a dynamic asset based on their keys. @@ -270,7 +270,7 @@ impl DynamicAsset for StandardDynamicAsset { #[cfg(any(feature = "3d", feature = "2d"))] impl StandardDynamicAsset { fn update_image_sampler( - handle: &mut bevy::asset::Handle, + handle: &mut bevy_asset::Handle, images: &mut Assets, sampler_type: &ImageSamplerType, ) { From 7059721d04a66b5a2ce6922f1e9f47aa8d9c26b4 Mon Sep 17 00:00:00 2001 From: Ben Frankel Date: Sat, 13 Jul 2024 00:16:56 -0700 Subject: [PATCH 3/5] Fix `examples/custom_dynamic_asset.rs` --- bevy_asset_loader/Cargo.toml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/bevy_asset_loader/Cargo.toml b/bevy_asset_loader/Cargo.toml index e78f5c4..c51d867 100644 --- a/bevy_asset_loader/Cargo.toml +++ b/bevy_asset_loader/Cargo.toml @@ -23,11 +23,7 @@ readme = "README.md" ] # This feature adds support for bevy's StandardMaterial assets 3d = ["dep:bevy_pbr", "dep:bevy_render", "bevy_asset_loader_derive/3d"] -standard_dynamic_assets = [ - "dep:bevy_reflect", - "dep:bevy_common_assets", - "dep:serde", -] +standard_dynamic_assets = ["dep:bevy_common_assets", "dep:serde"] progress_tracking = ["dep:iyes_progress"] [dependencies] @@ -37,7 +33,7 @@ bevy_ecs = "0.14" bevy_log = "0.14" bevy_math = { version = "0.14", optional = true } bevy_pbr = { version = "0.14", optional = true } -bevy_reflect = { version = "0.14", optional = true } +bevy_reflect = "0.14" bevy_render = { version = "0.14", optional = true } bevy_sprite = { version = "0.14", optional = true } bevy_state = "0.14" From 03be2aedec10fdfa890b395ad63dd3a2a38399bd Mon Sep 17 00:00:00 2001 From: Ben Frankel Date: Sat, 13 Jul 2024 00:54:45 -0700 Subject: [PATCH 4/5] Rearrange a few imports --- bevy_asset_loader/src/standard_dynamic_asset.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bevy_asset_loader/src/standard_dynamic_asset.rs b/bevy_asset_loader/src/standard_dynamic_asset.rs index 4ab0383..9194ecd 100644 --- a/bevy_asset_loader/src/standard_dynamic_asset.rs +++ b/bevy_asset_loader/src/standard_dynamic_asset.rs @@ -1,20 +1,20 @@ use crate::dynamic_asset::{DynamicAsset, DynamicAssetType}; use crate::dynamic_asset::{DynamicAssetCollection, DynamicAssets}; use bevy_asset::{Asset, AssetServer, Assets, LoadedFolder, UntypedHandle}; -use bevy_ecs::system::SystemState; +use bevy_ecs::system::{Res, ResMut, SystemState}; use bevy_ecs::world::{Command, World}; use bevy_reflect::TypePath; use bevy_utils::HashMap; use serde::{Deserialize, Serialize}; -use bevy_ecs::system::{Res, ResMut}; #[cfg(feature = "2d")] use bevy_math::UVec2; -#[cfg(feature = "3d")] -use bevy_pbr::StandardMaterial; #[cfg(feature = "2d")] use bevy_sprite::TextureAtlasLayout; +#[cfg(feature = "3d")] +use bevy_pbr::StandardMaterial; + #[cfg(any(feature = "3d", feature = "2d"))] use bevy_render::texture::{Image, ImageSampler, ImageSamplerDescriptor}; From 61df148f5f0769d31fa8e167e94c041a3e367b55 Mon Sep 17 00:00:00 2001 From: Niklas Eicker Date: Mon, 15 Jul 2024 23:06:53 +0200 Subject: [PATCH 5/5] Add missing import --- bevy_asset_loader/src/loading_state/systems.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bevy_asset_loader/src/loading_state/systems.rs b/bevy_asset_loader/src/loading_state/systems.rs index 646b7a5..f9e82b3 100644 --- a/bevy_asset_loader/src/loading_state/systems.rs +++ b/bevy_asset_loader/src/loading_state/systems.rs @@ -3,7 +3,7 @@ use bevy_ecs::schedule::Schedules; use bevy_ecs::system::{Res, ResMut, Resource, SystemState}; use bevy_ecs::world::{FromWorld, World}; use bevy_log::{debug, info, trace, warn}; -use bevy_state::state::{FreelyMutableState, State}; +use bevy_state::state::{FreelyMutableState, NextState, State}; use std::any::{type_name, TypeId}; use std::marker::PhantomData;