mirror of
https://github.com/bevyengine/bevy
synced 2025-02-16 14:08:32 +00:00
Clean up type registrations (#12314)
# Objective Fix #12304. Remove unnecessary type registrations thanks to #4154. ## Solution Conservatively remove type registrations. Keeping the top level components, resources, and events, but dropping everything else that is a type of a member of those types.
This commit is contained in:
parent
e3b318f599
commit
9e5db9abc7
17 changed files with 17 additions and 205 deletions
|
@ -687,10 +687,6 @@ impl Plugin for AnimationPlugin {
|
|||
app.init_asset::<AnimationClip>()
|
||||
.register_asset_reflect::<AnimationClip>()
|
||||
.register_type::<AnimationPlayer>()
|
||||
.register_type::<VariableCurve>()
|
||||
.register_type::<Vec<VariableCurve>>()
|
||||
.register_type::<Interpolation>()
|
||||
.register_type::<Keyframes>()
|
||||
.register_type::<AnimationTarget>()
|
||||
.add_systems(
|
||||
PostUpdate,
|
||||
|
|
|
@ -378,7 +378,6 @@ impl AssetApp for App {
|
|||
.add_event::<AssetEvent<A>>()
|
||||
.add_event::<AssetLoadFailedEvent<A>>()
|
||||
.register_type::<Handle<A>>()
|
||||
.register_type::<AssetId<A>>()
|
||||
.add_systems(
|
||||
First,
|
||||
Assets::<A>::asset_events
|
||||
|
|
|
@ -17,7 +17,6 @@ bevy_app = { path = "../bevy_app", version = "0.14.0-dev", features = [
|
|||
bevy_ecs = { path = "../bevy_ecs", version = "0.14.0-dev", features = [
|
||||
"bevy_reflect",
|
||||
] }
|
||||
bevy_math = { path = "../bevy_math", version = "0.14.0-dev" }
|
||||
bevy_reflect = { path = "../bevy_reflect", version = "0.14.0-dev", features = [
|
||||
"bevy",
|
||||
] }
|
||||
|
|
|
@ -19,17 +19,9 @@ pub mod prelude {
|
|||
}
|
||||
|
||||
use bevy_app::prelude::*;
|
||||
use bevy_ecs::component::{ComponentId, ComponentTicks, Tick};
|
||||
use bevy_ecs::prelude::*;
|
||||
use bevy_reflect::{ReflectDeserialize, ReflectSerialize};
|
||||
use bevy_utils::{Duration, HashSet, Instant, Uuid};
|
||||
use std::borrow::Cow;
|
||||
use std::ffi::OsString;
|
||||
use std::marker::PhantomData;
|
||||
use std::ops::Range;
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
use bevy_tasks::tick_global_task_pools_on_main_thread;
|
||||
|
||||
|
@ -40,78 +32,9 @@ pub struct TypeRegistrationPlugin;
|
|||
impl Plugin for TypeRegistrationPlugin {
|
||||
fn build(&self, app: &mut App) {
|
||||
app.register_type::<Name>();
|
||||
|
||||
register_ecs_types(app);
|
||||
register_rust_types(app);
|
||||
register_math_types(app);
|
||||
}
|
||||
}
|
||||
|
||||
fn register_ecs_types(app: &mut App) {
|
||||
app.register_type::<Entity>()
|
||||
.register_type::<ComponentId>()
|
||||
.register_type::<Tick>()
|
||||
.register_type::<ComponentTicks>();
|
||||
}
|
||||
|
||||
fn register_rust_types(app: &mut App) {
|
||||
app.register_type::<Range<f32>>()
|
||||
.register_type_data::<Range<f32>, ReflectSerialize>()
|
||||
.register_type_data::<Range<f32>, ReflectDeserialize>()
|
||||
.register_type::<String>()
|
||||
.register_type::<PathBuf>()
|
||||
.register_type::<OsString>()
|
||||
.register_type::<HashSet<String>>()
|
||||
.register_type::<Option<String>>()
|
||||
.register_type::<Option<bool>>()
|
||||
.register_type::<Option<f32>>()
|
||||
.register_type::<Option<f64>>()
|
||||
.register_type::<Vec<f32>>()
|
||||
.register_type::<Cow<'static, str>>()
|
||||
.register_type::<Cow<'static, Path>>()
|
||||
.register_type::<Duration>()
|
||||
.register_type::<Instant>()
|
||||
.register_type::<Uuid>();
|
||||
}
|
||||
|
||||
fn register_math_types(app: &mut App) {
|
||||
app.register_type::<bevy_math::IVec2>()
|
||||
.register_type::<bevy_math::IVec3>()
|
||||
.register_type::<bevy_math::IVec4>()
|
||||
.register_type::<bevy_math::UVec2>()
|
||||
.register_type::<bevy_math::UVec3>()
|
||||
.register_type::<bevy_math::UVec4>()
|
||||
.register_type::<bevy_math::DVec2>()
|
||||
.register_type::<Option<bevy_math::DVec2>>()
|
||||
.register_type::<bevy_math::DVec3>()
|
||||
.register_type::<bevy_math::DVec4>()
|
||||
.register_type::<bevy_math::BVec2>()
|
||||
.register_type::<bevy_math::BVec3>()
|
||||
.register_type::<bevy_math::BVec3A>()
|
||||
.register_type::<bevy_math::BVec4>()
|
||||
.register_type::<bevy_math::BVec4A>()
|
||||
.register_type::<bevy_math::Vec2>()
|
||||
.register_type::<bevy_math::Vec3>()
|
||||
.register_type::<bevy_math::Vec3A>()
|
||||
.register_type::<bevy_math::Vec4>()
|
||||
.register_type::<bevy_math::DAffine2>()
|
||||
.register_type::<bevy_math::DAffine3>()
|
||||
.register_type::<bevy_math::Affine2>()
|
||||
.register_type::<bevy_math::Affine3A>()
|
||||
.register_type::<bevy_math::DMat2>()
|
||||
.register_type::<bevy_math::DMat3>()
|
||||
.register_type::<bevy_math::DMat4>()
|
||||
.register_type::<bevy_math::Mat2>()
|
||||
.register_type::<bevy_math::Mat3>()
|
||||
.register_type::<bevy_math::Mat3A>()
|
||||
.register_type::<bevy_math::Mat4>()
|
||||
.register_type::<bevy_math::DQuat>()
|
||||
.register_type::<bevy_math::Quat>()
|
||||
.register_type::<bevy_math::Rect>()
|
||||
.register_type::<Vec<bevy_math::Quat>>()
|
||||
.register_type::<Vec<bevy_math::Vec3>>();
|
||||
}
|
||||
|
||||
/// Setup of default task pools: [`AsyncComputeTaskPool`](bevy_tasks::AsyncComputeTaskPool),
|
||||
/// [`ComputeTaskPool`](bevy_tasks::ComputeTaskPool), [`IoTaskPool`](bevy_tasks::IoTaskPool).
|
||||
#[derive(Default)]
|
||||
|
|
|
@ -93,8 +93,6 @@ pub struct Core3dPlugin;
|
|||
impl Plugin for Core3dPlugin {
|
||||
fn build(&self, app: &mut App) {
|
||||
app.register_type::<Camera3d>()
|
||||
.register_type::<Camera3dDepthLoadOp>()
|
||||
.register_type::<Camera3dDepthTextureUsage>()
|
||||
.register_type::<ScreenSpaceTransmissionQuality>()
|
||||
.add_plugins((SkyboxPlugin, ExtractComponentPlugin::<Camera3d>::default()))
|
||||
.add_systems(PostUpdate, check_msaa);
|
||||
|
|
|
@ -86,7 +86,7 @@ impl Plugin for FxaaPlugin {
|
|||
fn build(&self, app: &mut App) {
|
||||
load_internal_asset!(app, FXAA_SHADER_HANDLE, "fxaa.wgsl", Shader::from_wgsl);
|
||||
|
||||
app.register_type::<Fxaa>().register_type::<Sensitivity>();
|
||||
app.register_type::<Fxaa>();
|
||||
app.add_plugins(ExtractComponentPlugin::<Fxaa>::default());
|
||||
|
||||
let Ok(render_app) = app.get_sub_app_mut(RenderApp) else {
|
||||
|
|
|
@ -84,13 +84,10 @@ use bevy_app::prelude::*;
|
|||
#[derive(Default)]
|
||||
pub struct HierarchyPlugin;
|
||||
|
||||
#[cfg(feature = "bevy_app")]
|
||||
use bevy_utils::smallvec::SmallVec;
|
||||
impl Plugin for HierarchyPlugin {
|
||||
fn build(&self, app: &mut App) {
|
||||
app.register_type::<Children>()
|
||||
.register_type::<Parent>()
|
||||
.register_type::<SmallVec<[bevy_ecs::entity::Entity; 8]>>()
|
||||
.add_event::<HierarchyEvent>();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,19 +34,15 @@ pub mod prelude {
|
|||
use bevy_app::prelude::*;
|
||||
use bevy_ecs::prelude::*;
|
||||
use bevy_reflect::Reflect;
|
||||
use keyboard::{keyboard_input_system, Key, KeyCode, KeyboardInput, NativeKey, NativeKeyCode};
|
||||
use mouse::{
|
||||
mouse_button_input_system, MouseButton, MouseButtonInput, MouseMotion, MouseScrollUnit,
|
||||
MouseWheel,
|
||||
};
|
||||
use touch::{touch_screen_input_system, ForceTouch, TouchInput, TouchPhase, Touches};
|
||||
use keyboard::{keyboard_input_system, KeyCode, KeyboardInput};
|
||||
use mouse::{mouse_button_input_system, MouseButton, MouseButtonInput, MouseMotion, MouseWheel};
|
||||
use touch::{touch_screen_input_system, TouchInput, Touches};
|
||||
use touchpad::{TouchpadMagnify, TouchpadRotate};
|
||||
|
||||
use gamepad::{
|
||||
gamepad_axis_event_system, gamepad_button_event_system, gamepad_connection_system,
|
||||
gamepad_event_system, AxisSettings, ButtonAxisSettings, ButtonSettings, Gamepad, GamepadAxis,
|
||||
GamepadAxisChangedEvent, GamepadAxisType, GamepadButton, GamepadButtonChangedEvent,
|
||||
GamepadButtonInput, GamepadButtonType, GamepadConnection, GamepadConnectionEvent, GamepadEvent,
|
||||
gamepad_event_system, GamepadAxis, GamepadAxisChangedEvent, GamepadButton,
|
||||
GamepadButtonChangedEvent, GamepadButtonInput, GamepadConnectionEvent, GamepadEvent,
|
||||
GamepadRumbleRequest, GamepadSettings, Gamepads,
|
||||
};
|
||||
|
||||
|
@ -108,43 +104,15 @@ impl Plugin for InputPlugin {
|
|||
.add_systems(PreUpdate, touch_screen_input_system.in_set(InputSystem));
|
||||
|
||||
// Register common types
|
||||
app.register_type::<ButtonState>();
|
||||
|
||||
// Register keyboard types
|
||||
app.register_type::<KeyboardInput>()
|
||||
.register_type::<KeyCode>()
|
||||
.register_type::<NativeKeyCode>()
|
||||
.register_type::<Key>()
|
||||
.register_type::<NativeKey>();
|
||||
|
||||
// Register mouse types
|
||||
app.register_type::<MouseButtonInput>()
|
||||
.register_type::<MouseButton>()
|
||||
.register_type::<MouseMotion>()
|
||||
.register_type::<MouseScrollUnit>()
|
||||
.register_type::<MouseWheel>();
|
||||
|
||||
// Register touchpad types
|
||||
app.register_type::<TouchpadMagnify>()
|
||||
.register_type::<TouchpadRotate>();
|
||||
|
||||
// Register touch types
|
||||
app.register_type::<TouchInput>()
|
||||
.register_type::<ForceTouch>()
|
||||
.register_type::<TouchPhase>();
|
||||
|
||||
// Register gamepad types
|
||||
app.register_type::<Gamepad>()
|
||||
.register_type::<GamepadConnection>()
|
||||
.register_type::<GamepadButtonType>()
|
||||
.register_type::<GamepadButton>()
|
||||
app.register_type::<ButtonState>()
|
||||
.register_type::<KeyboardInput>()
|
||||
.register_type::<MouseButtonInput>()
|
||||
.register_type::<TouchpadMagnify>()
|
||||
.register_type::<TouchpadRotate>()
|
||||
.register_type::<TouchInput>()
|
||||
.register_type::<GamepadEvent>()
|
||||
.register_type::<GamepadButtonInput>()
|
||||
.register_type::<GamepadAxisType>()
|
||||
.register_type::<GamepadAxis>()
|
||||
.register_type::<GamepadSettings>()
|
||||
.register_type::<ButtonSettings>()
|
||||
.register_type::<AxisSettings>()
|
||||
.register_type::<ButtonAxisSettings>();
|
||||
.register_type::<GamepadSettings>();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -234,13 +234,9 @@ impl Plugin for PbrPlugin {
|
|||
|
||||
app.register_asset_reflect::<StandardMaterial>()
|
||||
.register_type::<AmbientLight>()
|
||||
.register_type::<Cascade>()
|
||||
.register_type::<CascadeShadowConfig>()
|
||||
.register_type::<Cascades>()
|
||||
.register_type::<CascadesVisibleEntities>()
|
||||
.register_type::<ClusterConfig>()
|
||||
.register_type::<ClusterFarZMode>()
|
||||
.register_type::<ClusterZConfig>()
|
||||
.register_type::<CubemapVisibleEntities>()
|
||||
.register_type::<DirectionalLight>()
|
||||
.register_type::<DirectionalLightShadowMap>()
|
||||
|
@ -250,10 +246,7 @@ impl Plugin for PbrPlugin {
|
|||
.register_type::<PointLightShadowMap>()
|
||||
.register_type::<SpotLight>()
|
||||
.register_type::<FogSettings>()
|
||||
.register_type::<FogFalloff>()
|
||||
.register_type::<ShadowFilteringMethod>()
|
||||
.register_type::<ParallaxMappingMethod>()
|
||||
.register_type::<OpaqueRendererMethod>()
|
||||
.init_resource::<AmbientLight>()
|
||||
.init_resource::<GlobalVisiblePointLights>()
|
||||
.init_resource::<DirectionalLightShadowMap>()
|
||||
|
|
|
@ -24,12 +24,7 @@ pub struct CameraPlugin;
|
|||
impl Plugin for CameraPlugin {
|
||||
fn build(&self, app: &mut App) {
|
||||
app.register_type::<Camera>()
|
||||
.register_type::<Viewport>()
|
||||
.register_type::<Option<Viewport>>()
|
||||
.register_type::<ScalingMode>()
|
||||
.register_type::<RenderTarget>()
|
||||
.register_type::<ClearColor>()
|
||||
.register_type::<ClearColorConfig>()
|
||||
.register_type::<CameraRenderGraph>()
|
||||
.register_type::<CameraMainTextureUsages>()
|
||||
.register_type::<Exposure>()
|
||||
|
|
|
@ -329,17 +329,7 @@ impl Plugin for RenderPlugin {
|
|||
|
||||
app.register_type::<alpha::AlphaMode>()
|
||||
// These types cannot be registered in bevy_color, as it does not depend on the rest of Bevy
|
||||
// BLOCKED: once https://github.com/bevyengine/bevy/pull/5781 lands, we can remove all but the Color registration
|
||||
.register_type::<bevy_color::Color>()
|
||||
.register_type::<bevy_color::Srgba>()
|
||||
.register_type::<bevy_color::LinearRgba>()
|
||||
.register_type::<bevy_color::Hsla>()
|
||||
.register_type::<bevy_color::Hsva>()
|
||||
.register_type::<bevy_color::Hwba>()
|
||||
.register_type::<bevy_color::Laba>()
|
||||
.register_type::<bevy_color::Lcha>()
|
||||
.register_type::<bevy_color::Xyza>()
|
||||
.register_type::<bevy_color::Oklaba>()
|
||||
.register_type::<primitives::Aabb>()
|
||||
.register_type::<primitives::CascadesFrusta>()
|
||||
.register_type::<primitives::CubemapFrusta>()
|
||||
|
|
|
@ -13,7 +13,7 @@ use std::{
|
|||
|
||||
use crate::{prelude::Image, render_asset::RenderAssetPlugin, RenderApp};
|
||||
use bevy_app::{App, Plugin};
|
||||
use bevy_asset::{AssetApp, Handle};
|
||||
use bevy_asset::AssetApp;
|
||||
use bevy_ecs::{entity::Entity, system::Resource};
|
||||
|
||||
/// Adds the [`Mesh`] as an asset and makes sure that they are extracted and prepared for the GPU.
|
||||
|
@ -24,10 +24,6 @@ impl Plugin for MeshPlugin {
|
|||
app.init_asset::<Mesh>()
|
||||
.init_asset::<skinning::SkinnedMeshInverseBindposes>()
|
||||
.register_asset_reflect::<Mesh>()
|
||||
.register_type::<Option<Handle<Image>>>()
|
||||
.register_type::<Option<Vec<String>>>()
|
||||
.register_type::<Option<Indices>>()
|
||||
.register_type::<Indices>()
|
||||
.register_type::<skinning::SkinnedMesh>()
|
||||
.register_type::<Vec<Entity>>()
|
||||
// 'Mesh' must be prepared after 'Image' as meshes rely on the morph target image being ready
|
||||
|
|
|
@ -77,11 +77,6 @@ impl Plugin for TextPlugin {
|
|||
app.init_asset::<Font>()
|
||||
.register_type::<Text>()
|
||||
.register_type::<Text2dBounds>()
|
||||
.register_type::<TextSection>()
|
||||
.register_type::<Vec<TextSection>>()
|
||||
.register_type::<TextStyle>()
|
||||
.register_type::<JustifyText>()
|
||||
.register_type::<BreakLineOn>()
|
||||
.init_asset_loader::<FontLoader>()
|
||||
.init_resource::<TextSettings>()
|
||||
.init_resource::<FontAtlasSets>()
|
||||
|
|
|
@ -51,7 +51,6 @@ impl Plugin for TimePlugin {
|
|||
.register_type::<Time<Virtual>>()
|
||||
.register_type::<Time<Fixed>>()
|
||||
.register_type::<Timer>()
|
||||
.register_type::<Stopwatch>()
|
||||
.add_systems(
|
||||
First,
|
||||
(time_system, virtual_time_system.after(time_system)).in_set(TimeSystem),
|
||||
|
|
|
@ -97,37 +97,19 @@ impl Plugin for UiPlugin {
|
|||
app.init_resource::<UiSurface>()
|
||||
.init_resource::<UiScale>()
|
||||
.init_resource::<UiStack>()
|
||||
.register_type::<AlignContent>()
|
||||
.register_type::<AlignItems>()
|
||||
.register_type::<AlignSelf>()
|
||||
.register_type::<BackgroundColor>()
|
||||
.register_type::<CalculatedClip>()
|
||||
.register_type::<ContentSize>()
|
||||
.register_type::<Direction>()
|
||||
.register_type::<Display>()
|
||||
.register_type::<FlexDirection>()
|
||||
.register_type::<FlexWrap>()
|
||||
.register_type::<FocusPolicy>()
|
||||
.register_type::<GridAutoFlow>()
|
||||
.register_type::<GridPlacement>()
|
||||
.register_type::<GridTrack>()
|
||||
.register_type::<Interaction>()
|
||||
.register_type::<JustifyContent>()
|
||||
.register_type::<JustifyItems>()
|
||||
.register_type::<JustifySelf>()
|
||||
.register_type::<Node>()
|
||||
.register_type::<Overflow>()
|
||||
.register_type::<OverflowAxis>()
|
||||
.register_type::<PositionType>()
|
||||
.register_type::<RelativeCursorPosition>()
|
||||
.register_type::<RepeatedGridTrack>()
|
||||
.register_type::<Style>()
|
||||
.register_type::<TargetCamera>()
|
||||
.register_type::<UiImage>()
|
||||
.register_type::<UiImageSize>()
|
||||
.register_type::<UiRect>()
|
||||
.register_type::<UiScale>()
|
||||
.register_type::<Val>()
|
||||
.register_type::<BorderColor>()
|
||||
.register_type::<widget::Button>()
|
||||
.register_type::<widget::Label>()
|
||||
|
|
|
@ -31,7 +31,6 @@ pub mod prelude {
|
|||
}
|
||||
|
||||
use bevy_app::prelude::*;
|
||||
use std::path::PathBuf;
|
||||
|
||||
impl Default for WindowPlugin {
|
||||
fn default() -> Self {
|
||||
|
@ -147,24 +146,7 @@ impl Plugin for WindowPlugin {
|
|||
|
||||
// Register window descriptor and related types
|
||||
app.register_type::<Window>()
|
||||
.register_type::<PrimaryWindow>()
|
||||
.register_type::<Cursor>()
|
||||
.register_type::<CursorIcon>()
|
||||
.register_type::<CursorGrabMode>()
|
||||
.register_type::<CompositeAlphaMode>()
|
||||
.register_type::<WindowResolution>()
|
||||
.register_type::<WindowPosition>()
|
||||
.register_type::<WindowMode>()
|
||||
.register_type::<WindowLevel>()
|
||||
.register_type::<PresentMode>()
|
||||
.register_type::<InternalWindowState>()
|
||||
.register_type::<MonitorSelection>()
|
||||
.register_type::<WindowResizeConstraints>()
|
||||
.register_type::<WindowTheme>()
|
||||
.register_type::<EnabledButtons>();
|
||||
|
||||
// Register `PathBuf` as it's used by `FileDragAndDrop`
|
||||
app.register_type::<PathBuf>();
|
||||
.register_type::<PrimaryWindow>();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,8 +16,8 @@ use serde::de::DeserializeSeed;
|
|||
fn main() {
|
||||
App::new()
|
||||
.add_plugins(DefaultPlugins)
|
||||
// Bar will be automatically registered as it's a dependency of Foo
|
||||
.register_type::<Foo>()
|
||||
.register_type::<Bar>()
|
||||
.add_systems(Startup, setup)
|
||||
.run();
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue