Skip to content

Instantly share code, notes, and snippets.

@ChristopherBiscardi
Last active September 12, 2025 23:37
Show Gist options
  • Save ChristopherBiscardi/47335be1efd599bba7306e7cdd08a46a to your computer and use it in GitHub Desktop.
Save ChristopherBiscardi/47335be1efd599bba7306e7cdd08a46a to your computer and use it in GitHub Desktop.
Component diff bevy 0.16-0.17
diff --git a/bevy_0.16.0.json b/bevy_0.17-rc.1.json
index f2f43ab..a284c3b 100644
--- a/bevy_0.16.0.json
+++ b/bevy_0.17-rc.1.json
@@ -3,103 +3,152 @@
"bevy_animation::AnimationTarget",
"bevy_animation::graph::AnimationGraphHandle",
"bevy_animation::transition::AnimationTransitions",
+ "bevy_anti_alias::contrast_adaptive_sharpening::ContrastAdaptiveSharpening",
+ "bevy_anti_alias::contrast_adaptive_sharpening::DenoiseCas",
+ "bevy_anti_alias::fxaa::Fxaa",
+ "bevy_anti_alias::smaa::Smaa",
+ "bevy_anti_alias::taa::TemporalAntiAliasing",
"bevy_audio::audio::PlaybackSettings",
"bevy_audio::audio::SpatialListener",
- "bevy_core_pipeline::bloom::settings::Bloom",
- "bevy_core_pipeline::contrast_adaptive_sharpening::ContrastAdaptiveSharpening",
- "bevy_core_pipeline::core_2d::camera_2d::Camera2d",
- "bevy_core_pipeline::core_3d::camera_3d::Camera3d",
- "bevy_core_pipeline::dof::DepthOfField",
- "bevy_core_pipeline::fxaa::Fxaa",
- "bevy_core_pipeline::post_process::ChromaticAberration",
+ "bevy_camera::camera::Camera",
+ "bevy_camera::camera::CameraMainTextureUsages",
+ "bevy_camera::camera::Exposure",
+ "bevy_camera::camera::MainPassResolutionOverride",
+ "bevy_camera::camera::ManualTextureViewHandle",
+ "bevy_camera::components::Camera2d",
+ "bevy_camera::components::Camera3d",
+ "bevy_camera::primitives::Aabb",
+ "bevy_camera::primitives::CascadesFrusta",
+ "bevy_camera::primitives::CubemapFrusta",
+ "bevy_camera::primitives::Frustum",
+ "bevy_camera::projection::Projection",
+ "bevy_camera::visibility::CascadesVisibleEntities",
+ "bevy_camera::visibility::CubemapVisibleEntities",
+ "bevy_camera::visibility::InheritedVisibility",
+ "bevy_camera::visibility::NoFrustumCulling",
+ "bevy_camera::visibility::ViewVisibility",
+ "bevy_camera::visibility::Visibility",
+ "bevy_camera::visibility::VisibilityClass",
+ "bevy_camera::visibility::VisibleEntities",
+ "bevy_camera::visibility::VisibleMeshEntities",
+ "bevy_camera::visibility::range::VisibilityRange",
+ "bevy_camera::visibility::render_layers::RenderLayers",
"bevy_core_pipeline::prepass::DeferredPrepass",
"bevy_core_pipeline::prepass::DepthPrepass",
"bevy_core_pipeline::prepass::MotionVectorPrepass",
"bevy_core_pipeline::prepass::NormalPrepass",
"bevy_core_pipeline::skybox::Skybox",
- "bevy_core_pipeline::smaa::Smaa",
"bevy_core_pipeline::tonemapping::DebandDither",
"bevy_core_pipeline::tonemapping::Tonemapping",
+ "bevy_ecs::entity_disabling::Disabled",
+ "bevy_ecs::entity_disabling::Internal",
"bevy_ecs::hierarchy::ChildOf",
"bevy_ecs::hierarchy::Children",
"bevy_ecs::name::Name",
+ "bevy_ecs::observer::distributed_storage::ObservedBy",
+ "bevy_gizmos::aabb::ShowAabbGizmo",
+ "bevy_gizmos::light::ShowLightGizmo",
+ "bevy_gizmos::retained::Gizmo",
"bevy_gltf::assets::GltfExtras",
"bevy_gltf::assets::GltfMaterialExtras",
"bevy_gltf::assets::GltfMaterialName",
"bevy_gltf::assets::GltfMeshExtras",
+ "bevy_gltf::assets::GltfMeshName",
"bevy_gltf::assets::GltfSceneExtras",
"bevy_input::gamepad::Gamepad",
"bevy_input::gamepad::GamepadSettings",
+ "bevy_input_focus::autofocus::AutoFocus",
+ "bevy_input_focus::tab_navigation::TabGroup",
+ "bevy_input_focus::tab_navigation::TabIndex",
+ "bevy_light::NotShadowCaster",
+ "bevy_light::NotShadowReceiver",
+ "bevy_light::ShadowFilteringMethod",
+ "bevy_light::TransmittedShadowReceiver",
+ "bevy_light::ambient_light::AmbientLight",
+ "bevy_light::cascade::CascadeShadowConfig",
+ "bevy_light::cascade::Cascades",
+ "bevy_light::cluster::ClusterConfig",
+ "bevy_light::cluster::ClusteredDecal",
+ "bevy_light::directional_light::DirectionalLight",
+ "bevy_light::directional_light::DirectionalLightTexture",
+ "bevy_light::point_light::PointLight",
+ "bevy_light::point_light::PointLightTexture",
+ "bevy_light::probe::EnvironmentMapLight",
+ "bevy_light::probe::GeneratedEnvironmentMapLight",
+ "bevy_light::probe::IrradianceVolume",
+ "bevy_light::probe::LightProbe",
+ "bevy_light::spot_light::SpotLight",
+ "bevy_light::spot_light::SpotLightTexture",
+ "bevy_light::volumetric::FogVolume",
+ "bevy_light::volumetric::VolumetricFog",
+ "bevy_light::volumetric::VolumetricLight",
+ "bevy_mesh::components::Mesh2d",
+ "bevy_mesh::components::Mesh3d",
+ "bevy_mesh::components::MeshTag",
"bevy_mesh::morph::MeshMorphWeights",
"bevy_mesh::morph::MorphWeights",
"bevy_mesh::skinning::SkinnedMesh",
- "bevy_pbr::cluster::ClusterConfig",
- "bevy_pbr::components::CascadesVisibleEntities",
- "bevy_pbr::components::CubemapVisibleEntities",
- "bevy_pbr::components::VisibleMeshEntities",
- "bevy_pbr::decal::clustered::ClusteredDecal",
+ "bevy_pbr::components::RenderCascadesVisibleEntities",
+ "bevy_pbr::components::RenderCubemapVisibleEntities",
+ "bevy_pbr::components::RenderVisibleMeshEntities",
"bevy_pbr::fog::DistanceFog",
- "bevy_pbr::light::CascadeShadowConfig",
- "bevy_pbr::light::Cascades",
- "bevy_pbr::light::NotShadowCaster",
- "bevy_pbr::light::NotShadowReceiver",
- "bevy_pbr::light::ShadowFilteringMethod",
- "bevy_pbr::light::ambient_light::AmbientLight",
- "bevy_pbr::light::directional_light::DirectionalLight",
- "bevy_pbr::light::point_light::PointLight",
- "bevy_pbr::light::spot_light::SpotLight",
- "bevy_pbr::light_probe::LightProbe",
- "bevy_pbr::light_probe::environment_map::EnvironmentMapLight",
- "bevy_pbr::light_probe::irradiance_volume::IrradianceVolume",
+ "bevy_pbr::lightmap::Lightmap",
"bevy_pbr::mesh_material::MeshMaterial3d<bevy_pbr::extended_material::ExtendedMaterial<bevy_pbr::pbr_material::StandardMaterial, bevy_pbr::decal::forward::ForwardDecalMaterialExt>>",
"bevy_pbr::mesh_material::MeshMaterial3d<bevy_pbr::pbr_material::StandardMaterial>",
"bevy_pbr::ssao::ScreenSpaceAmbientOcclusion",
"bevy_pbr::ssr::ScreenSpaceReflections",
- "bevy_pbr::volumetric_fog::VolumetricFog",
- "bevy_pbr::volumetric_fog::VolumetricLight",
+ "bevy_pbr::wireframe::Mesh3dWireframe",
+ "bevy_pbr::wireframe::NoWireframe",
+ "bevy_pbr::wireframe::Wireframe",
+ "bevy_pbr::wireframe::WireframeColor",
"bevy_picking::Pickable",
+ "bevy_picking::hover::DirectlyHovered",
+ "bevy_picking::hover::Hovered",
"bevy_picking::hover::PickingInteraction",
+ "bevy_picking::mesh_picking::MeshPickingCamera",
+ "bevy_picking::mesh_picking::ray_cast::RayCastBackfaces",
+ "bevy_picking::mesh_picking::ray_cast::SimplifiedMesh",
"bevy_picking::pointer::PointerId",
"bevy_picking::pointer::PointerInteraction",
"bevy_picking::pointer::PointerLocation",
"bevy_picking::pointer::PointerPress",
- "bevy_render::camera::camera::Camera",
- "bevy_render::camera::camera::CameraMainTextureUsages",
- "bevy_render::camera::camera::CameraRenderGraph",
- "bevy_render::camera::camera::Exposure",
- "bevy_render::camera::camera::MipBias",
- "bevy_render::camera::camera::TemporalJitter",
- "bevy_render::camera::manual_texture_view::ManualTextureViewHandle",
- "bevy_render::camera::projection::Projection",
+ "bevy_post_process::auto_exposure::settings::AutoExposure",
+ "bevy_post_process::bloom::settings::Bloom",
+ "bevy_post_process::dof::DepthOfField",
+ "bevy_post_process::effect_stack::ChromaticAberration",
+ "bevy_post_process::motion_blur::MotionBlur",
+ "bevy_render::camera::CameraRenderGraph",
+ "bevy_render::camera::MipBias",
+ "bevy_render::camera::TemporalJitter",
"bevy_render::experimental::occlusion_culling::OcclusionCulling",
- "bevy_render::mesh::components::Mesh2d",
- "bevy_render::mesh::components::Mesh3d",
- "bevy_render::primitives::Aabb",
- "bevy_render::primitives::CascadesFrusta",
- "bevy_render::primitives::CubemapFrusta",
- "bevy_render::primitives::Frustum",
+ "bevy_render::sync_world::MainEntity",
+ "bevy_render::sync_world::RenderEntity",
"bevy_render::sync_world::SyncToRenderWorld",
+ "bevy_render::sync_world::TemporaryRenderEntity",
"bevy_render::view::ColorGrading",
+ "bevy_render::view::Hdr",
"bevy_render::view::Msaa",
- "bevy_render::view::visibility::InheritedVisibility",
- "bevy_render::view::visibility::NoFrustumCulling",
- "bevy_render::view::visibility::ViewVisibility",
- "bevy_render::view::visibility::Visibility",
- "bevy_render::view::visibility::VisibilityClass",
- "bevy_render::view::visibility::VisibleEntities",
- "bevy_render::view::visibility::range::VisibilityRange",
- "bevy_render::view::visibility::render_layers::RenderLayers",
+ "bevy_render::view::visibility::RenderVisibleEntities",
"bevy_render::view::window::screenshot::Screenshot",
"bevy_scene::components::DynamicSceneRoot",
"bevy_scene::components::SceneRoot",
- "bevy_sprite::mesh2d::material::MeshMaterial2d<bevy_sprite::mesh2d::color_material::ColorMaterial>",
"bevy_sprite::picking_backend::SpritePickingCamera",
"bevy_sprite::sprite::Anchor",
"bevy_sprite::sprite::Sprite",
+ "bevy_sprite::text2d::Text2d",
+ "bevy_sprite::text2d::Text2dShadow",
+ "bevy_sprite_render::mesh2d::material::MeshMaterial2d<bevy_sprite_render::mesh2d::color_material::ColorMaterial>",
+ "bevy_sprite_render::mesh2d::material::MeshMaterial2d<bevy_sprite_render::tilemap_chunk::tilemap_chunk_material::TilemapChunkMaterial>",
+ "bevy_sprite_render::mesh2d::wireframe2d::Mesh2dWireframe",
+ "bevy_sprite_render::mesh2d::wireframe2d::NoWireframe2d",
+ "bevy_sprite_render::mesh2d::wireframe2d::Wireframe2d",
+ "bevy_sprite_render::mesh2d::wireframe2d::Wireframe2dColor",
+ "bevy_sprite_render::tilemap_chunk::TilemapChunk",
+ "bevy_sprite_render::tilemap_chunk::TilemapChunkTileData",
"bevy_text::bounds::TextBounds",
"bevy_text::pipeline::TextLayoutInfo",
- "bevy_text::text2d::Text2d",
"bevy_text::text::ComputedTextBlock",
+ "bevy_text::text::TextBackgroundColor",
"bevy_text::text::TextColor",
"bevy_text::text::TextFont",
"bevy_text::text::TextLayout",
@@ -110,31 +159,41 @@
"bevy_ui::focus::FocusPolicy",
"bevy_ui::focus::Interaction",
"bevy_ui::focus::RelativeCursorPosition",
+ "bevy_ui::gradients::BackgroundGradient",
+ "bevy_ui::gradients::BorderGradient",
"bevy_ui::measurement::ContentSize",
"bevy_ui::picking_backend::UiPickingCamera",
"bevy_ui::ui_node::BackgroundColor",
"bevy_ui::ui_node::BorderColor",
"bevy_ui::ui_node::BorderRadius",
"bevy_ui::ui_node::BoxShadow",
- "bevy_ui::ui_node::BoxShadowSamples",
"bevy_ui::ui_node::CalculatedClip",
"bevy_ui::ui_node::ComputedNode",
- "bevy_ui::ui_node::ComputedNodeTarget",
+ "bevy_ui::ui_node::ComputedUiRenderTargetInfo",
+ "bevy_ui::ui_node::ComputedUiTargetCamera",
+ "bevy_ui::ui_node::GlobalZIndex",
+ "bevy_ui::ui_node::LayoutConfig",
"bevy_ui::ui_node::Node",
"bevy_ui::ui_node::Outline",
"bevy_ui::ui_node::ScrollPosition",
- "bevy_ui::ui_node::TextShadow",
- "bevy_ui::ui_node::UiAntiAlias",
"bevy_ui::ui_node::UiTargetCamera",
"bevy_ui::ui_node::ZIndex",
+ "bevy_ui::ui_transform::UiGlobalTransform",
+ "bevy_ui::ui_transform::UiTransform",
"bevy_ui::widget::button::Button",
"bevy_ui::widget::image::ImageNode",
"bevy_ui::widget::image::ImageNodeSize",
"bevy_ui::widget::label::Label",
"bevy_ui::widget::text::Text",
"bevy_ui::widget::text::TextNodeFlags",
+ "bevy_ui::widget::text::TextShadow",
+ "bevy_ui::widget::viewport::ViewportNode",
+ "bevy_ui_render::BoxShadowSamples",
+ "bevy_ui_render::UiAntiAlias",
+ "bevy_window::cursor::CursorIcon",
"bevy_window::monitor::Monitor",
+ "bevy_window::monitor::PrimaryMonitor",
+ "bevy_window::window::CursorOptions",
"bevy_window::window::PrimaryWindow",
- "bevy_window::window::Window",
- "bevy_winit::cursor::CursorIcon"
+ "bevy_window::window::Window"
]
/// List all of the Components in a regular Bevy
/// application
use bevy::prelude::*;
use std::any::TypeId;
use std::fs::File;
use std::io::Write;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_systems(Startup, startup)
.run();
}
fn startup(
type_registry: Res<AppTypeRegistry>,
mut app_exit_events: EventWriter<AppExit>,
) -> Result {
let types = type_registry.read();
let mut component_types: Vec<_> = vec![];
for registration in types.iter() {
// (TypeId::of::<ReflectComponent>(), "Component")
// (TypeId::of::<ReflectResource>(), "Resource")
// (TypeId::of::<ReflectDefault>(), "Default")
// (TypeId::of::<ReflectSerialize>(), "Serialize")
// (TypeId::of::<ReflectDeserialize>(), "Deserialize")
let id = TypeId::of::<ReflectComponent>();
if registration.data_by_id(id).is_some() {
let binding =
registration.type_info().type_path_table();
let short_path = binding.short_path();
let type_path = binding.path();
component_types.push(type_path);
}
}
component_types.sort();
let mut f = File::create_new("types.json")?;
f.write_all(
serde_json::to_string_pretty(&component_types)
.unwrap()
.as_bytes(),
)?;
info!("file");
app_exit_events.write(AppExit::Success);
Ok(())
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment