diff --git a/crates/blenvy/src/components/fake_entity.rs b/crates/blenvy/src/components/fake_entity.rs new file mode 100644 index 0000000..948de26 --- /dev/null +++ b/crates/blenvy/src/components/fake_entity.rs @@ -0,0 +1,291 @@ +use std::{alloc::Layout, cell::Cell, num::NonZeroU32}; + +use bevy::{ + core::Name, + ecs::world::DeferredWorld, + gltf::GltfExtras, + log::{info, warn}, + prelude::{HierarchyQueryExt, Parent, QueryState, With, World}, + reflect::ReflectDeserialize, + scene::{InstanceId, SceneInstance}, +}; +use serde::Deserialize; + +pub(crate) struct BadWorldAccess { + world: *mut World, + names: QueryState<(bevy::ecs::entity::Entity, &'static Name), With>, + hierarchy: QueryState<&'static Parent, ()>, + scene_instances: QueryState<&'static SceneInstance, ()>, +} + +impl BadWorldAccess { + pub unsafe fn new(world: &mut World) -> Self { + BadWorldAccess { + world, + // We have to check that we focus on a node, not a mesh with the same name. + // Currently, the only possible way of checking this is with `GltfExtras`, so selected entities must at least have one component. + names: world.query_filtered::<(bevy::ecs::entity::Entity, &Name), With>(), + hierarchy: world.query::<&Parent>(), + scene_instances: world.query::<&SceneInstance>(), + } + } +} + +thread_local! { + pub(crate) static BAD_WORLD_ACCESS: Cell> = Cell::new(None); + pub(crate) static INSTANCE_ID: Cell> = Cell::new(None); +} + +const _: () = { + let real = Layout::new::(); + let fake = Layout::new::(); + assert!(real.size() == fake.size()); + assert!(real.align() == fake.align()); +}; + +#[derive(Clone)] +#[repr(C, align(8))] +pub(crate) struct Entity { + // Do not reorder the fields here. The ordering is equivalent to bevy's `Entity` + #[cfg(target_endian = "little")] + index: u32, + generation: NonZeroU32, + #[cfg(target_endian = "big")] + index: u32, +} + +impl<'de> Deserialize<'de> for Entity { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + #[derive(Deserialize)] + #[serde(rename = "Entity")] + struct EntityData { + name: Option, + } + + let entity_data = EntityData::deserialize(deserializer)?; + + let entity = if let Some(name) = entity_data.name { + info!("Found name {name}"); + let BadWorldAccess { + world, + mut names, + mut hierarchy, + mut scene_instances, + } = BAD_WORLD_ACCESS.take().expect("No bad world access :c"); + let instance = INSTANCE_ID.get().expect("No instance id set :c"); + + let mut target = None; + let w = unsafe { &*world.cast_const() }; + 'search: for (e, n) in names.iter(w) { + if !name.eq(n.as_str()) { + continue; + } + + let mut dw = DeferredWorld::from(unsafe { &mut *world }); + let hierarchy = dw.query(&mut hierarchy); + + for parent in hierarchy.iter_ancestors(e) { + let Ok(id) = scene_instances.get(w, parent) else { + continue; + }; + if instance.eq(id) { + target = Some(e); + break 'search; + } + } + } + + BAD_WORLD_ACCESS.set(Some(BadWorldAccess { + world, + names, + hierarchy, + scene_instances, + })); + + target.unwrap_or_else(|| { + warn!("No entity found for '{name}' - perhaps it doesn't contain any components from blender?"); + bevy::ecs::entity::Entity::PLACEHOLDER + }) + } else { + warn!("No object was specified for Entity relation, using `Entity::PLACEHOLDER`."); + bevy::ecs::entity::Entity::PLACEHOLDER + }; + + Ok(unsafe { + // SAFETY: both have the same layout + core::mem::transmute(entity) + }) + } +} + +// This is expanded and modified from +// ``` +// #[derive(Clone, Reflect)] +// #[reflect_value(Deserialize)] +// ``` +const _: () = { + use bevy::reflect as bevy_reflect; + + #[allow(unused_mut)] + impl bevy_reflect::GetTypeRegistration for Entity + where + Self: ::core::any::Any + ::core::marker::Send + ::core::marker::Sync, + { + fn get_type_registration() -> bevy_reflect::TypeRegistration { + let mut registration = bevy_reflect::TypeRegistration::of::(); + registration + .insert::< + bevy_reflect::ReflectFromPtr, + >(bevy_reflect::FromType::::from_type()); + registration.insert::( + bevy_reflect::FromType::::from_type(), + ); + registration.insert::(bevy_reflect::FromType::::from_type()); + registration + } + } + impl bevy_reflect::TypePath for Entity + where + Self: ::core::any::Any + ::core::marker::Send + ::core::marker::Sync, + { + fn type_path() -> &'static str { + "bevy_ecs::entity::Entity" // this is changed + } + fn short_type_path() -> &'static str { + "Entity" + } + fn type_ident() -> Option<&'static str> { + ::core::option::Option::Some("Entity") + } + fn crate_name() -> Option<&'static str> { + // this is changed + ::core::option::Option::Some("bevy_ecs::entity".split(':').next().unwrap()) + } + fn module_path() -> Option<&'static str> { + ::core::option::Option::Some("bevy_ecs::entity") // this is changed + } + } + impl bevy_reflect::Typed for Entity + where + Self: ::core::any::Any + ::core::marker::Send + ::core::marker::Sync, + { + fn type_info() -> &'static bevy_reflect::TypeInfo { + static CELL: bevy_reflect::utility::NonGenericTypeInfoCell = + bevy_reflect::utility::NonGenericTypeInfoCell::new(); + CELL.get_or_set(|| { + let info = bevy_reflect::ValueInfo::new::(); // this is changed + bevy_reflect::TypeInfo::Value(info) + }) + } + } + impl bevy_reflect::Reflect for Entity + where + Self: ::core::any::Any + ::core::marker::Send + ::core::marker::Sync, + { + #[inline] + fn get_represented_type_info( + &self, + ) -> ::core::option::Option<&'static bevy_reflect::TypeInfo> { + ::core::option::Option::Some(::type_info()) + } + #[inline] + fn into_any(self: ::std::boxed::Box) -> ::std::boxed::Box { + // this is changed + unsafe { + core::mem::transmute::< + ::std::boxed::Box, + ::std::boxed::Box, + >(self) + } + } + #[inline] + fn as_any(&self) -> &dyn ::core::any::Any { + // this is changed + unsafe { core::mem::transmute::<&Entity, &bevy::ecs::entity::Entity>(self) } + } + #[inline] + fn as_any_mut(&mut self) -> &mut dyn ::core::any::Any { + // this is changed + unsafe { core::mem::transmute::<&mut Entity, &mut bevy::ecs::entity::Entity>(self) } + } + #[inline] + fn into_reflect( + self: ::std::boxed::Box, + ) -> ::std::boxed::Box { + self + } + #[inline] + fn as_reflect(&self) -> &dyn bevy_reflect::Reflect { + self + } + #[inline] + fn as_reflect_mut(&mut self) -> &mut dyn bevy_reflect::Reflect { + self + } + #[inline] + fn clone_value(&self) -> ::std::boxed::Box { + ::std::boxed::Box::new(::core::clone::Clone::clone(self)) + } + #[inline] + fn try_apply( + &mut self, + value: &dyn bevy_reflect::Reflect, + ) -> ::core::result::Result<(), bevy_reflect::ApplyError> { + let any = bevy_reflect::Reflect::as_any(value); + if let ::core::option::Option::Some(value) = + ::downcast_ref::(any) + { + *self = ::core::clone::Clone::clone(value); + } else { + return ::core::result::Result::Err(bevy_reflect::ApplyError::MismatchedTypes { + from_type: ::core::convert::Into::into( + bevy_reflect::DynamicTypePath::reflect_type_path(value), + ), + to_type: ::core::convert::Into::into( + ::type_path(), + ), + }); + } + ::core::result::Result::Ok(()) + } + #[inline] + fn set( + &mut self, + value: ::std::boxed::Box, + ) -> ::core::result::Result<(), ::std::boxed::Box> { + *self = ::take(value)?; + ::core::result::Result::Ok(()) + } + #[inline] + fn reflect_kind(&self) -> bevy_reflect::ReflectKind { + bevy_reflect::ReflectKind::Value + } + #[inline] + fn reflect_ref(&self) -> bevy_reflect::ReflectRef { + bevy_reflect::ReflectRef::Value(self) + } + #[inline] + fn reflect_mut(&mut self) -> bevy_reflect::ReflectMut { + bevy_reflect::ReflectMut::Value(self) + } + #[inline] + fn reflect_owned(self: ::std::boxed::Box) -> bevy_reflect::ReflectOwned { + bevy_reflect::ReflectOwned::Value(self) + } + } + impl bevy_reflect::FromReflect for Entity + where + Self: ::core::any::Any + ::core::marker::Send + ::core::marker::Sync, + { + fn from_reflect(reflect: &dyn bevy_reflect::Reflect) -> ::core::option::Option { + ::core::option::Option::Some(::core::clone::Clone::clone( + ::downcast_ref::( + ::as_any(reflect), + )?, + )) + } + } +}; diff --git a/crates/blenvy/src/components/mod.rs b/crates/blenvy/src/components/mod.rs index 6b42c00..9c499f2 100644 --- a/crates/blenvy/src/components/mod.rs +++ b/crates/blenvy/src/components/mod.rs @@ -7,6 +7,8 @@ pub use ronstring_to_reflect_component::*; pub mod process_gltfs; pub use process_gltfs::*; +mod fake_entity; + pub mod blender_settings; use bevy::{ diff --git a/crates/blenvy/src/components/process_gltfs.rs b/crates/blenvy/src/components/process_gltfs.rs index c7b9edb..71b895f 100644 --- a/crates/blenvy/src/components/process_gltfs.rs +++ b/crates/blenvy/src/components/process_gltfs.rs @@ -1,20 +1,26 @@ +use std::ops::Deref; + use bevy::{ core::Name, ecs::{ entity::Entity, query::{Added, Without}, reflect::{AppTypeRegistry, ReflectComponent}, - world::World, + world::{DeferredWorld, World}, }, gltf::{GltfExtras, GltfMaterialExtras, GltfMeshExtras, GltfSceneExtras}, hierarchy::Parent, log::{debug, warn}, + prelude::HierarchyQueryExt, reflect::{Reflect, TypeRegistration}, + scene::SceneInstance, utils::HashMap, }; use crate::{ronstring_to_reflect_component, GltfProcessed}; +use super::fake_entity::{self, BadWorldAccess}; + // , mut entity_components: HashMap, TypeRegistration)>> fn find_entity_components( entity: Entity, @@ -57,77 +63,136 @@ fn find_entity_components( /// main function: injects components into each entity in gltf files that have `gltf_extras`, using reflection pub fn add_components_from_gltf_extras(world: &mut World) { - let mut extras = world.query_filtered::<(Entity, Option<&Name>, &GltfExtras, Option<&Parent>), (Added, Without)>(); - let mut scene_extras = world.query_filtered::<(Entity, Option<&Name>, &GltfSceneExtras, Option<&Parent>), (Added, Without)>(); - let mut mesh_extras = world.query_filtered::<(Entity, Option<&Name>, &GltfMeshExtras, Option<&Parent>), (Added, Without)>(); - let mut material_extras = world.query_filtered::<(Entity, Option<&Name>, &GltfMaterialExtras, Option<&Parent>), (Added, Without)>(); + let mut extras = world.query_filtered::<(Entity, Option<&Name>, &GltfExtras), (Added, Without)>(); + let mut scene_extras = world.query_filtered::<(Entity, Option<&Name>, &GltfSceneExtras), (Added, Without)>(); + let mut mesh_extras = world.query_filtered::<(Entity, Option<&Name>, &GltfMeshExtras), (Added, Without)>(); + let mut material_extras = world.query_filtered::<(Entity, Option<&Name>, &GltfMaterialExtras), (Added, Without)>(); + + let mut scene_instances = world.query::<&SceneInstance>(); + + let mut hierarchy_state = world.query::<&Parent>(); + let mut __unsafe_dw = DeferredWorld::from(unsafe { &mut *(world as *mut _) }); + let hierarchy = __unsafe_dw.query(&mut hierarchy_state); let mut entity_components: HashMap, TypeRegistration)>> = HashMap::new(); // let gltf_components_config = world.resource::(); - for (entity, name, extra, parent) in extras.iter(world) { + unsafe { + // SAFETY: we don't do anything harmful until taking this, and have full world access + fake_entity::BAD_WORLD_ACCESS.set(Some(BadWorldAccess::new(world))); + } + + for (entity, name, extra) in extras.iter(world) { + let parent = hierarchy.get(entity).ok(); debug!( "Gltf Extra: Name: {:?}, entity {:?}, parent: {:?}, extras {:?}", name, entity, parent, extra ); + if let Some(instance) = hierarchy + .iter_ancestors(entity) + .find_map(|p| scene_instances.get(world, p).ok()) + { + fake_entity::INSTANCE_ID.set(Some(*instance.deref())); + } else { + warn!("Can't find higher-hierarchy `SceneInstance` for entity '{name:?}'"); + fake_entity::INSTANCE_ID.set(None); + }; + let type_registry: &AppTypeRegistry = world.resource(); - let type_registry = type_registry.read(); - let reflect_components = ronstring_to_reflect_component(&extra.value, &type_registry); + let mut type_registry = type_registry.write(); + let reflect_components = ronstring_to_reflect_component(&extra.value, &mut type_registry); // let name = name.unwrap_or(&Name::new("")); let (target_entity, updated_components) = find_entity_components(entity, name, parent, reflect_components, &entity_components); + entity_components.insert(target_entity, updated_components); } - for (entity, name, extra, parent) in scene_extras.iter(world) { + for (entity, name, extra) in scene_extras.iter(world) { + let parent = hierarchy.get(entity).ok(); debug!( "Gltf Scene Extra: Name: {:?}, entity {:?}, parent: {:?}, scene_extras {:?}", name, entity, parent, extra ); + if let Some(instance) = hierarchy + .iter_ancestors(entity) + .find_map(|p| scene_instances.get(world, p).ok()) + { + fake_entity::INSTANCE_ID.set(Some(*instance.deref())); + } else { + warn!("Can't find higher-hierarchy `SceneInstance` for entity '{name:?}'"); + fake_entity::INSTANCE_ID.set(None); + }; + let type_registry: &AppTypeRegistry = world.resource(); - let type_registry = type_registry.read(); - let reflect_components = ronstring_to_reflect_component(&extra.value, &type_registry); + let mut type_registry = type_registry.write(); + let reflect_components = ronstring_to_reflect_component(&extra.value, &mut type_registry); let (target_entity, updated_components) = find_entity_components(entity, name, parent, reflect_components, &entity_components); entity_components.insert(target_entity, updated_components); } - for (entity, name, extra, parent) in mesh_extras.iter(world) { + for (entity, name, extra) in mesh_extras.iter(world) { + let parent = hierarchy.get(entity).ok(); debug!( "Gltf Mesh Extra: Name: {:?}, entity {:?}, parent: {:?}, mesh_extras {:?}", name, entity, parent, extra ); + if let Some(instance) = hierarchy + .iter_ancestors(entity) + .find_map(|p| scene_instances.get(world, p).ok()) + { + fake_entity::INSTANCE_ID.set(Some(*instance.deref())); + } else { + warn!("Can't find higher-hierarchy `SceneInstance` for entity '{name:?}'"); + fake_entity::INSTANCE_ID.set(None); + }; + let type_registry: &AppTypeRegistry = world.resource(); - let type_registry = type_registry.read(); - let reflect_components = ronstring_to_reflect_component(&extra.value, &type_registry); + let mut type_registry = type_registry.write(); + let reflect_components = ronstring_to_reflect_component(&extra.value, &mut type_registry); let (target_entity, updated_components) = find_entity_components(entity, name, parent, reflect_components, &entity_components); entity_components.insert(target_entity, updated_components); } - for (entity, name, extra, parent) in material_extras.iter(world) { + for (entity, name, extra) in material_extras.iter(world) { + let parent = hierarchy.get(entity).ok(); debug!( "Name: {:?}, entity {:?}, parent: {:?}, material_extras {:?}", name, entity, parent, extra ); + if let Some(instance) = hierarchy + .iter_ancestors(entity) + .find_map(|p| scene_instances.get(world, p).ok()) + { + fake_entity::INSTANCE_ID.set(Some(*instance.deref())); + } else { + warn!("Can't find higher-hierarchy `SceneInstance` for entity '{name:?}'"); + fake_entity::INSTANCE_ID.set(None); + }; + let type_registry: &AppTypeRegistry = world.resource(); - let type_registry = type_registry.read(); - let reflect_components = ronstring_to_reflect_component(&extra.value, &type_registry); + let mut type_registry = type_registry.write(); + let reflect_components = ronstring_to_reflect_component(&extra.value, &mut type_registry); let (target_entity, updated_components) = find_entity_components(entity, name, parent, reflect_components, &entity_components); entity_components.insert(target_entity, updated_components); } + fake_entity::BAD_WORLD_ACCESS.set(None); + fake_entity::INSTANCE_ID.set(None); + for (entity, components) in entity_components { let type_registry: &AppTypeRegistry = world.resource(); let type_registry = type_registry.clone(); diff --git a/crates/blenvy/src/components/ronstring_to_reflect_component.rs b/crates/blenvy/src/components/ronstring_to_reflect_component.rs index e772d89..f23c38a 100644 --- a/crates/blenvy/src/components/ronstring_to_reflect_component.rs +++ b/crates/blenvy/src/components/ronstring_to_reflect_component.rs @@ -1,15 +1,17 @@ -use bevy::log::{debug, warn}; -use bevy::reflect::serde::ReflectDeserializer; -use bevy::reflect::{Reflect, TypeRegistration, TypeRegistry}; +use std::any::TypeId; + +use bevy::log::{debug, info, warn}; +use bevy::reflect::serde::{ReflectDeserializer, ReflectSerializer}; +use bevy::reflect::{GetTypeRegistration, Reflect, TypeRegistration, TypeRegistry}; use bevy::utils::HashMap; use ron::Value; use serde::de::DeserializeSeed; -use super::capitalize_first_letter; +use super::{capitalize_first_letter, fake_entity}; pub fn ronstring_to_reflect_component( ron_string: &str, - type_registry: &TypeRegistry, + type_registry: &mut TypeRegistry, ) -> Vec<(Box, TypeRegistration)> { let lookup: HashMap = ron::from_str(ron_string).unwrap(); let mut components: Vec<(Box, TypeRegistration)> = Vec::new(); @@ -96,10 +98,16 @@ fn components_string_to_components( fn bevy_components_string_to_components( parsed_value: String, - type_registry: &TypeRegistry, + type_registry: &mut TypeRegistry, components: &mut Vec<(Box, TypeRegistration)>, ) { let lookup: HashMap = ron::from_str(&parsed_value).unwrap(); + + let recovery_entity_type = type_registry + .get(TypeId::of::()) + .cloned(); + type_registry.overwrite_registration(fake_entity::Entity::get_type_registration()); + for (key, value) in lookup.into_iter() { let parsed_value: String = match value.clone() { Value::String(str) => str, @@ -121,10 +129,10 @@ fn bevy_components_string_to_components( let reflect_deserializer = ReflectDeserializer::new(type_registry); let component = reflect_deserializer .deserialize(&mut deserializer) - .unwrap_or_else(|_| { + .unwrap_or_else(|e| { panic!( - "failed to deserialize component {} with value: {:?}", - key, value + "failed to deserialize component '{}' with value '{:?}': {:?}", + key, value, e ) }); @@ -136,4 +144,10 @@ fn bevy_components_string_to_components( warn!("no type registration for {}", key); } } + + if let Some(original_entity) = recovery_entity_type { + type_registry.overwrite_registration(original_entity); + } else { + warn!("There isn't an original type registration for `bevy_ecs::entity::Entity` but it was overwriten. Stuff may break and/or panic. Make sure that you register it!"); + } } diff --git a/examples/relations/Cargo.toml b/examples/relations/Cargo.toml new file mode 100644 index 0000000..1f7cdae --- /dev/null +++ b/examples/relations/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "blenvy_relations_example" +version = "0.0.1" +edition = "2021" +license = "MIT OR Apache-2.0" + +[dependencies] +bevy = { version = "0.14", features = ["dynamic_linking"] } +bevy-inspector-egui = "0.25.2" +blenvy = { path = "../../crates/blenvy" } diff --git a/examples/relations/README.md b/examples/relations/README.md new file mode 100644 index 0000000..fcb68cb --- /dev/null +++ b/examples/relations/README.md @@ -0,0 +1,41 @@ +# Basic relations example/demo + +This example showcases how to refer to another `Entity` inside Bevy components added to objects/ blueprints/ meshes and materials extracted from the gltf files + +## Running this example + +``` +cargo run --features bevy/dynamic_linking + +``` + +## Wasm instructions + +### Setup + +as per the bevy documentation: + +```shell +rustup target add wasm32-unknown-unknown +cargo install wasm-bindgen-cli +``` + +### Building this example + +navigate to the current folder , and then + +```shell +cargo build --release --target wasm32-unknown-unknown --target-dir ./target +wasm-bindgen --out-name wasm_example \ + --out-dir ./target/wasm \ + --target web target/wasm32-unknown-unknown/release/bevy_gltf_blueprints_basic_wasm_example.wasm + +``` + +### Running this example + +run a web server in the current folder, and navigate to the page, you should see the example in your browser + +## Additional notes + +- You usually define either the Components directly or use `Proxy components` that get replaced in Bevy systems with the actual Components that you want (usually when for some reason, ie external crates with unregistered components etc) you cannot use the components directly. diff --git a/examples/relations/art/untitled.blend b/examples/relations/art/untitled.blend new file mode 100644 index 0000000..d88a841 Binary files /dev/null and b/examples/relations/art/untitled.blend differ diff --git a/examples/relations/assets/levels/World.glb b/examples/relations/assets/levels/World.glb new file mode 100644 index 0000000..d974f5d Binary files /dev/null and b/examples/relations/assets/levels/World.glb differ diff --git a/examples/relations/assets/levels/World.meta.ron b/examples/relations/assets/levels/World.meta.ron new file mode 100644 index 0000000..5097f2f --- /dev/null +++ b/examples/relations/assets/levels/World.meta.ron @@ -0,0 +1,5 @@ +( + assets: + [ + ] +) \ No newline at end of file diff --git a/examples/relations/assets/materials/Dots Stroke.glb b/examples/relations/assets/materials/Dots Stroke.glb new file mode 100644 index 0000000..8d21a66 Binary files /dev/null and b/examples/relations/assets/materials/Dots Stroke.glb differ diff --git a/examples/relations/assets/materials/Material.glb b/examples/relations/assets/materials/Material.glb new file mode 100644 index 0000000..2213715 Binary files /dev/null and b/examples/relations/assets/materials/Material.glb differ diff --git a/examples/relations/assets/registry.json b/examples/relations/assets/registry.json new file mode 100644 index 0000000..1916754 --- /dev/null +++ b/examples/relations/assets/registry.json @@ -0,0 +1,14582 @@ +{ + "$defs": { + "()": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "()", + "prefixItems": [], + "short_name": "()", + "type": "array", + "typeInfo": "Tuple" + }, + "(u8, u8)": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "(u8, u8)", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u8" + } + }, + { + "type": { + "$ref": "#/$defs/u8" + } + } + ], + "short_name": "(u8, u8)", + "type": "array", + "typeInfo": "Tuple" + }, + "alloc::borrow::Cow": { + "isComponent": false, + "isResource": false, + "long_name": "alloc::borrow::Cow", + "short_name": "Cow", + "type": "object", + "typeInfo": "Value" + }, + "alloc::string::String": { + "isComponent": false, + "isResource": false, + "long_name": "alloc::string::String", + "short_name": "String", + "type": "string", + "typeInfo": "Value" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/bevy_animation::VariableCurve" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/bevy_animation::transition::AnimationTransition" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/bevy_math::rects::urect::URect" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/bevy_pbr::light::Cascade" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/bevy_text::glyph_brush::PositionedGlyph" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/bevy_text::text::TextSection" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::GridTrack" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::RepeatedGridTrack" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/blenvy::blueprints::animation::AnimationInfo" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/blenvy::blueprints::assets::BlueprintAsset" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/blenvy::blueprints::materials::MaterialInfo" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/glam::Quat" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/u16" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "alloc::vec::Vec": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "long_name": "alloc::vec::Vec", + "short_name": "Vec", + "type": "array", + "typeInfo": "List" + }, + "bevy_animation::AnimationClip": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_animation::AnimationClip", + "properties": { + "curves": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap, bevy_utils::NoOpHash>" + } + }, + "duration": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "curves", + "duration" + ], + "short_name": "AnimationClip", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_animation::AnimationPlayer": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_animation::AnimationPlayer", + "properties": { + "active_animations": { + "type": { + "$ref": "#/$defs/std::collections::BTreeMap" + } + }, + "blend_weights": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap" + } + } + }, + "required": [ + "active_animations", + "blend_weights" + ], + "short_name": "AnimationPlayer", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_animation::AnimationTarget": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_animation::AnimationTarget", + "properties": { + "id": { + "type": { + "$ref": "#/$defs/bevy_animation::AnimationTargetId" + } + }, + "player": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "id", + "player" + ], + "short_name": "AnimationTarget", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_animation::AnimationTargetId": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "bevy_animation::AnimationTargetId", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + ], + "short_name": "AnimationTargetId", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_animation::Interpolation": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_animation::Interpolation", + "oneOf": [ + "Linear", + "Step", + "CubicSpline" + ], + "short_name": "Interpolation", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_animation::Keyframes": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_animation::Keyframes", + "oneOf": [ + { + "items": false, + "long_name": "Rotation", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + ], + "short_name": "Rotation", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Translation", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + ], + "short_name": "Translation", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Scale", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + ], + "short_name": "Scale", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weights", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + ], + "short_name": "Weights", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Keyframes", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_animation::VariableCurve": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_animation::VariableCurve", + "properties": { + "interpolation": { + "type": { + "$ref": "#/$defs/bevy_animation::Interpolation" + } + }, + "keyframe_timestamps": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + }, + "keyframes": { + "type": { + "$ref": "#/$defs/bevy_animation::Keyframes" + } + } + }, + "required": [ + "keyframe_timestamps", + "keyframes", + "interpolation" + ], + "short_name": "VariableCurve", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_animation::graph::AnimationGraph": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_animation::graph::AnimationGraph", + "properties": { + "graph": { + "type": { + "$ref": "#/$defs/petgraph::graph::DiGraph" + } + }, + "root": { + "type": { + "$ref": "#/$defs/petgraph::graph::NodeIndex" + } + } + }, + "required": [ + "graph", + "root" + ], + "short_name": "AnimationGraph", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_animation::transition::AnimationTransition": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_animation::transition::AnimationTransition", + "properties": { + "animation": { + "type": { + "$ref": "#/$defs/petgraph::graph::NodeIndex" + } + }, + "current_weight": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "weight_decline_per_sec": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "current_weight", + "weight_decline_per_sec", + "animation" + ], + "short_name": "AnimationTransition", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_animation::transition::AnimationTransitions": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_animation::transition::AnimationTransitions", + "properties": { + "main_animation": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "transitions": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "transitions" + ], + "short_name": "AnimationTransitions", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_asset::assets::AssetIndex": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::assets::AssetIndex", + "properties": { + "generation": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "index": { + "type": { + "$ref": "#/$defs/u32" + } + } + }, + "required": [ + "generation", + "index" + ], + "short_name": "AssetIndex", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_asset::handle::Handle<()>": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle<()>", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId<()>" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle<()>", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::handle::Handle": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_asset::handle::Handle", + "oneOf": [ + { + "items": false, + "long_name": "Strong", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/std::sync::Arc" + } + } + ], + "short_name": "Strong", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Weak", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + } + ], + "short_name": "Weak", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Handle", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId<()>": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId<()>", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId<()>", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::id::AssetId": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::id::AssetId", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Index", + "properties": { + "index": { + "long_name": "index", + "type": { + "$ref": "#/$defs/bevy_asset::assets::AssetIndex" + } + } + }, + "required": [ + "index" + ], + "short_name": "Index", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Uuid", + "properties": { + "uuid": { + "long_name": "uuid", + "type": { + "$ref": "#/$defs/uuid::Uuid" + } + } + }, + "required": [ + "uuid" + ], + "short_name": "Uuid", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "AssetId", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_asset::path::AssetPath": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_asset::path::AssetPath", + "short_name": "AssetPath", + "type": "object", + "typeInfo": "Value" + }, + "bevy_audio::audio::DefaultSpatialScale": { + "isComponent": false, + "isResource": true, + "items": false, + "long_name": "bevy_audio::audio::DefaultSpatialScale", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_audio::audio::SpatialScale" + } + } + ], + "short_name": "DefaultSpatialScale", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_audio::audio::GlobalVolume": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "bevy_audio::audio::GlobalVolume", + "properties": { + "volume": { + "type": { + "$ref": "#/$defs/bevy_audio::audio::Volume" + } + } + }, + "required": [ + "volume" + ], + "short_name": "GlobalVolume", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_audio::audio::PlaybackMode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_audio::audio::PlaybackMode", + "oneOf": [ + "Once", + "Loop", + "Despawn", + "Remove" + ], + "short_name": "PlaybackMode", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_audio::audio::PlaybackSettings": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_audio::audio::PlaybackSettings", + "properties": { + "mode": { + "type": { + "$ref": "#/$defs/bevy_audio::audio::PlaybackMode" + } + }, + "paused": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "spatial": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "spatial_scale": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "speed": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "volume": { + "type": { + "$ref": "#/$defs/bevy_audio::audio::Volume" + } + } + }, + "required": [ + "mode", + "volume", + "speed", + "paused", + "spatial" + ], + "short_name": "PlaybackSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_audio::audio::SpatialListener": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_audio::audio::SpatialListener", + "properties": { + "left_ear_offset": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "right_ear_offset": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "left_ear_offset", + "right_ear_offset" + ], + "short_name": "SpatialListener", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_audio::audio::SpatialScale": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "bevy_audio::audio::SpatialScale", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + ], + "short_name": "SpatialScale", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_audio::audio::Volume": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "bevy_audio::audio::Volume", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "Volume", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_color::color::Color": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_color::color::Color", + "oneOf": [ + { + "items": false, + "long_name": "Srgba", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::srgba::Srgba" + } + } + ], + "short_name": "Srgba", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "LinearRgba", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::linear_rgba::LinearRgba" + } + } + ], + "short_name": "LinearRgba", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Hsla", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::hsla::Hsla" + } + } + ], + "short_name": "Hsla", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Hsva", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::hsva::Hsva" + } + } + ], + "short_name": "Hsva", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Hwba", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::hwba::Hwba" + } + } + ], + "short_name": "Hwba", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Laba", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::laba::Laba" + } + } + ], + "short_name": "Laba", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Lcha", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::lcha::Lcha" + } + } + ], + "short_name": "Lcha", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Oklaba", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::oklaba::Oklaba" + } + } + ], + "short_name": "Oklaba", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Oklcha", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::oklcha::Oklcha" + } + } + ], + "short_name": "Oklcha", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Xyza", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::xyza::Xyza" + } + } + ], + "short_name": "Xyza", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Color", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_color::hsla::Hsla": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_color::hsla::Hsla", + "properties": { + "alpha": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "hue": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "lightness": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "saturation": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "hue", + "saturation", + "lightness", + "alpha" + ], + "short_name": "Hsla", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_color::hsva::Hsva": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_color::hsva::Hsva", + "properties": { + "alpha": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "hue": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "saturation": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "value": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "hue", + "saturation", + "value", + "alpha" + ], + "short_name": "Hsva", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_color::hwba::Hwba": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_color::hwba::Hwba", + "properties": { + "alpha": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "blackness": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "hue": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "whiteness": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "hue", + "whiteness", + "blackness", + "alpha" + ], + "short_name": "Hwba", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_color::laba::Laba": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_color::laba::Laba", + "properties": { + "a": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "alpha": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "b": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "lightness": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "lightness", + "a", + "b", + "alpha" + ], + "short_name": "Laba", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_color::lcha::Lcha": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_color::lcha::Lcha", + "properties": { + "alpha": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "chroma": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "hue": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "lightness": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "lightness", + "chroma", + "hue", + "alpha" + ], + "short_name": "Lcha", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_color::linear_rgba::LinearRgba": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_color::linear_rgba::LinearRgba", + "properties": { + "alpha": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "blue": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "green": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "red": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "red", + "green", + "blue", + "alpha" + ], + "short_name": "LinearRgba", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_color::oklaba::Oklaba": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_color::oklaba::Oklaba", + "properties": { + "a": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "alpha": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "b": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "lightness": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "lightness", + "a", + "b", + "alpha" + ], + "short_name": "Oklaba", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_color::oklcha::Oklcha": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_color::oklcha::Oklcha", + "properties": { + "alpha": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "chroma": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "hue": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "lightness": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "lightness", + "chroma", + "hue", + "alpha" + ], + "short_name": "Oklcha", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_color::srgba::Srgba": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_color::srgba::Srgba", + "properties": { + "alpha": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "blue": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "green": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "red": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "red", + "green", + "blue", + "alpha" + ], + "short_name": "Srgba", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_color::xyza::Xyza": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_color::xyza::Xyza", + "properties": { + "alpha": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "x": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "y": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "z": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "x", + "y", + "z", + "alpha" + ], + "short_name": "Xyza", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core::name::Name": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_core::name::Name", + "properties": { + "hash": { + "type": { + "$ref": "#/$defs/u64" + } + }, + "name": { + "type": { + "$ref": "#/$defs/alloc::borrow::Cow" + } + } + }, + "required": [ + "hash", + "name" + ], + "short_name": "Name", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core_pipeline::bloom::settings::BloomCompositeMode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_core_pipeline::bloom::settings::BloomCompositeMode", + "oneOf": [ + "EnergyConserving", + "Additive" + ], + "short_name": "BloomCompositeMode", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_core_pipeline::bloom::settings::BloomPrefilterSettings": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_core_pipeline::bloom::settings::BloomPrefilterSettings", + "properties": { + "threshold": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "threshold_softness": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "threshold", + "threshold_softness" + ], + "short_name": "BloomPrefilterSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core_pipeline::bloom::settings::BloomSettings": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_core_pipeline::bloom::settings::BloomSettings", + "properties": { + "composite_mode": { + "type": { + "$ref": "#/$defs/bevy_core_pipeline::bloom::settings::BloomCompositeMode" + } + }, + "high_pass_frequency": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "intensity": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "low_frequency_boost": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "low_frequency_boost_curvature": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "prefilter_settings": { + "type": { + "$ref": "#/$defs/bevy_core_pipeline::bloom::settings::BloomPrefilterSettings" + } + } + }, + "required": [ + "intensity", + "low_frequency_boost", + "low_frequency_boost_curvature", + "high_pass_frequency", + "prefilter_settings", + "composite_mode" + ], + "short_name": "BloomSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core_pipeline::contrast_adaptive_sharpening::ContrastAdaptiveSharpeningSettings": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_core_pipeline::contrast_adaptive_sharpening::ContrastAdaptiveSharpeningSettings", + "properties": { + "denoise": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "enabled": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "sharpening_strength": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "enabled", + "sharpening_strength", + "denoise" + ], + "short_name": "ContrastAdaptiveSharpeningSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core_pipeline::core_2d::camera_2d::Camera2d": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_core_pipeline::core_2d::camera_2d::Camera2d", + "properties": {}, + "required": [], + "short_name": "Camera2d", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core_pipeline::core_3d::camera_3d::Camera3d": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_core_pipeline::core_3d::camera_3d::Camera3d", + "properties": { + "depth_load_op": { + "type": { + "$ref": "#/$defs/bevy_core_pipeline::core_3d::camera_3d::Camera3dDepthLoadOp" + } + }, + "depth_texture_usages": { + "type": { + "$ref": "#/$defs/bevy_core_pipeline::core_3d::camera_3d::Camera3dDepthTextureUsage" + } + }, + "screen_space_specular_transmission_quality": { + "type": { + "$ref": "#/$defs/bevy_core_pipeline::core_3d::camera_3d::ScreenSpaceTransmissionQuality" + } + }, + "screen_space_specular_transmission_steps": { + "type": { + "$ref": "#/$defs/usize" + } + } + }, + "required": [ + "depth_load_op", + "depth_texture_usages", + "screen_space_specular_transmission_steps", + "screen_space_specular_transmission_quality" + ], + "short_name": "Camera3d", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core_pipeline::core_3d::camera_3d::Camera3dDepthLoadOp": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_core_pipeline::core_3d::camera_3d::Camera3dDepthLoadOp", + "oneOf": [ + { + "items": false, + "long_name": "Clear", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "Clear", + "type": "array", + "typeInfo": "Tuple" + }, + { + "long_name": "Load" + } + ], + "short_name": "Camera3dDepthLoadOp", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_core_pipeline::core_3d::camera_3d::Camera3dDepthTextureUsage": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "bevy_core_pipeline::core_3d::camera_3d::Camera3dDepthTextureUsage", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u32" + } + } + ], + "short_name": "Camera3dDepthTextureUsage", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_core_pipeline::core_3d::camera_3d::ScreenSpaceTransmissionQuality": { + "isComponent": false, + "isResource": true, + "long_name": "bevy_core_pipeline::core_3d::camera_3d::ScreenSpaceTransmissionQuality", + "oneOf": [ + "Low", + "Medium", + "High", + "Ultra" + ], + "short_name": "ScreenSpaceTransmissionQuality", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_core_pipeline::fxaa::Fxaa": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_core_pipeline::fxaa::Fxaa", + "properties": { + "edge_threshold": { + "type": { + "$ref": "#/$defs/bevy_core_pipeline::fxaa::Sensitivity" + } + }, + "edge_threshold_min": { + "type": { + "$ref": "#/$defs/bevy_core_pipeline::fxaa::Sensitivity" + } + }, + "enabled": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "enabled", + "edge_threshold", + "edge_threshold_min" + ], + "short_name": "Fxaa", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core_pipeline::fxaa::Sensitivity": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_core_pipeline::fxaa::Sensitivity", + "oneOf": [ + "Low", + "Medium", + "High", + "Ultra", + "Extreme" + ], + "short_name": "Sensitivity", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_core_pipeline::prepass::DeferredPrepass": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_core_pipeline::prepass::DeferredPrepass", + "properties": {}, + "required": [], + "short_name": "DeferredPrepass", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core_pipeline::prepass::DepthPrepass": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_core_pipeline::prepass::DepthPrepass", + "properties": {}, + "required": [], + "short_name": "DepthPrepass", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core_pipeline::prepass::MotionVectorPrepass": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_core_pipeline::prepass::MotionVectorPrepass", + "properties": {}, + "required": [], + "short_name": "MotionVectorPrepass", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core_pipeline::prepass::NormalPrepass": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_core_pipeline::prepass::NormalPrepass", + "properties": {}, + "required": [], + "short_name": "NormalPrepass", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core_pipeline::smaa::SmaaPreset": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_core_pipeline::smaa::SmaaPreset", + "oneOf": [ + "Low", + "Medium", + "High", + "Ultra" + ], + "short_name": "SmaaPreset", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_core_pipeline::smaa::SmaaSettings": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_core_pipeline::smaa::SmaaSettings", + "properties": { + "preset": { + "type": { + "$ref": "#/$defs/bevy_core_pipeline::smaa::SmaaPreset" + } + } + }, + "required": [ + "preset" + ], + "short_name": "SmaaSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_core_pipeline::tonemapping::DebandDither": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_core_pipeline::tonemapping::DebandDither", + "oneOf": [ + "Disabled", + "Enabled" + ], + "short_name": "DebandDither", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_core_pipeline::tonemapping::Tonemapping": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_core_pipeline::tonemapping::Tonemapping", + "oneOf": [ + "None", + "Reinhard", + "ReinhardLuminance", + "AcesFitted", + "AgX", + "SomewhatBoringDisplayTransform", + "TonyMcMapface", + "BlenderFilmic" + ], + "short_name": "Tonemapping", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ecs::entity::Entity": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ecs::entity::Entity", + "short_name": "Entity", + "type": "object", + "typeInfo": "Value" + }, + "bevy_egui::EguiSettings": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_egui::EguiSettings", + "properties": { + "default_open_url_target": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "scale_factor": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "scale_factor" + ], + "short_name": "EguiSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_gizmos::aabb::AabbGizmoConfigGroup": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_gizmos::aabb::AabbGizmoConfigGroup", + "properties": { + "default_color": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "draw_all": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "draw_all" + ], + "short_name": "AabbGizmoConfigGroup", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_gizmos::config::GizmoConfig": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_gizmos::config::GizmoConfig", + "properties": { + "depth_bias": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "enabled": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "line_joints": { + "type": { + "$ref": "#/$defs/bevy_gizmos::config::GizmoLineJoint" + } + }, + "line_perspective": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "line_style": { + "type": { + "$ref": "#/$defs/bevy_gizmos::config::GizmoLineStyle" + } + }, + "line_width": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "render_layers": { + "type": { + "$ref": "#/$defs/bevy_render::view::visibility::render_layers::RenderLayers" + } + } + }, + "required": [ + "enabled", + "line_width", + "line_perspective", + "line_style", + "depth_bias", + "render_layers", + "line_joints" + ], + "short_name": "GizmoConfig", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_gizmos::config::GizmoConfigStore": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "bevy_gizmos::config::GizmoConfigStore", + "properties": {}, + "required": [], + "short_name": "GizmoConfigStore", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_gizmos::config::GizmoLineJoint": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_gizmos::config::GizmoLineJoint", + "oneOf": [ + { + "long_name": "None" + }, + { + "long_name": "Miter" + }, + { + "items": false, + "long_name": "Round", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u32" + } + } + ], + "short_name": "Round", + "type": "array", + "typeInfo": "Tuple" + }, + { + "long_name": "Bevel" + } + ], + "short_name": "GizmoLineJoint", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_gizmos::config::GizmoLineStyle": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_gizmos::config::GizmoLineStyle", + "oneOf": [ + "Solid", + "Dotted" + ], + "short_name": "GizmoLineStyle", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_gizmos::light::LightGizmoColor": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_gizmos::light::LightGizmoColor", + "oneOf": [ + { + "items": false, + "long_name": "Manual", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + } + ], + "short_name": "Manual", + "type": "array", + "typeInfo": "Tuple" + }, + { + "long_name": "Varied" + }, + { + "long_name": "MatchLightColor" + }, + { + "long_name": "ByLightType" + } + ], + "short_name": "LightGizmoColor", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_gizmos::light::LightGizmoConfigGroup": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_gizmos::light::LightGizmoConfigGroup", + "properties": { + "color": { + "type": { + "$ref": "#/$defs/bevy_gizmos::light::LightGizmoColor" + } + }, + "directional_light_color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "draw_all": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "point_light_color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "spot_light_color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + } + }, + "required": [ + "draw_all", + "color", + "point_light_color", + "spot_light_color", + "directional_light_color" + ], + "short_name": "LightGizmoConfigGroup", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_gltf::GltfExtras": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_gltf::GltfExtras", + "properties": { + "value": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + } + }, + "required": [ + "value" + ], + "short_name": "GltfExtras", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_gltf::GltfMaterialExtras": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_gltf::GltfMaterialExtras", + "properties": { + "value": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + } + }, + "required": [ + "value" + ], + "short_name": "GltfMaterialExtras", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_gltf::GltfMeshExtras": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_gltf::GltfMeshExtras", + "properties": { + "value": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + } + }, + "required": [ + "value" + ], + "short_name": "GltfMeshExtras", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_gltf::GltfSceneExtras": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_gltf::GltfSceneExtras", + "properties": { + "value": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + } + }, + "required": [ + "value" + ], + "short_name": "GltfSceneExtras", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_hierarchy::components::children::Children": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "bevy_hierarchy::components::children::Children", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/smallvec::SmallVec<[bevy_ecs::entity::Entity; 8]>" + } + } + ], + "short_name": "Children", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_hierarchy::components::parent::Parent": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "bevy_hierarchy::components::parent::Parent", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + ], + "short_name": "Parent", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_input::ButtonState": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::ButtonState", + "oneOf": [ + "Pressed", + "Released" + ], + "short_name": "ButtonState", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_input::gamepad::AxisSettings": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::AxisSettings", + "properties": { + "deadzone_lowerbound": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "deadzone_upperbound": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "livezone_lowerbound": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "livezone_upperbound": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "threshold": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "livezone_upperbound", + "deadzone_upperbound", + "deadzone_lowerbound", + "livezone_lowerbound", + "threshold" + ], + "short_name": "AxisSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gamepad::ButtonAxisSettings": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::ButtonAxisSettings", + "properties": { + "high": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "low": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "threshold": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "high", + "low", + "threshold" + ], + "short_name": "ButtonAxisSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gamepad::ButtonSettings": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::ButtonSettings", + "properties": { + "press_threshold": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "release_threshold": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "press_threshold", + "release_threshold" + ], + "short_name": "ButtonSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gamepad::Gamepad": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::Gamepad", + "properties": { + "id": { + "type": { + "$ref": "#/$defs/usize" + } + } + }, + "required": [ + "id" + ], + "short_name": "Gamepad", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gamepad::GamepadAxis": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::GamepadAxis", + "properties": { + "axis_type": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadAxisType" + } + }, + "gamepad": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::Gamepad" + } + } + }, + "required": [ + "gamepad", + "axis_type" + ], + "short_name": "GamepadAxis", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gamepad::GamepadAxisChangedEvent": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::GamepadAxisChangedEvent", + "properties": { + "axis_type": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadAxisType" + } + }, + "gamepad": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::Gamepad" + } + }, + "value": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "gamepad", + "axis_type", + "value" + ], + "short_name": "GamepadAxisChangedEvent", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gamepad::GamepadAxisType": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::GamepadAxisType", + "oneOf": [ + { + "long_name": "LeftStickX" + }, + { + "long_name": "LeftStickY" + }, + { + "long_name": "LeftZ" + }, + { + "long_name": "RightStickX" + }, + { + "long_name": "RightStickY" + }, + { + "long_name": "RightZ" + }, + { + "items": false, + "long_name": "Other", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u8" + } + } + ], + "short_name": "Other", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "GamepadAxisType", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_input::gamepad::GamepadButton": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::GamepadButton", + "properties": { + "button_type": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadButtonType" + } + }, + "gamepad": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::Gamepad" + } + } + }, + "required": [ + "gamepad", + "button_type" + ], + "short_name": "GamepadButton", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gamepad::GamepadButtonChangedEvent": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::GamepadButtonChangedEvent", + "properties": { + "button_type": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadButtonType" + } + }, + "gamepad": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::Gamepad" + } + }, + "value": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "gamepad", + "button_type", + "value" + ], + "short_name": "GamepadButtonChangedEvent", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gamepad::GamepadButtonInput": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::GamepadButtonInput", + "properties": { + "button": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadButton" + } + }, + "state": { + "type": { + "$ref": "#/$defs/bevy_input::ButtonState" + } + } + }, + "required": [ + "button", + "state" + ], + "short_name": "GamepadButtonInput", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gamepad::GamepadButtonType": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::GamepadButtonType", + "oneOf": [ + { + "long_name": "South" + }, + { + "long_name": "East" + }, + { + "long_name": "North" + }, + { + "long_name": "West" + }, + { + "long_name": "C" + }, + { + "long_name": "Z" + }, + { + "long_name": "LeftTrigger" + }, + { + "long_name": "LeftTrigger2" + }, + { + "long_name": "RightTrigger" + }, + { + "long_name": "RightTrigger2" + }, + { + "long_name": "Select" + }, + { + "long_name": "Start" + }, + { + "long_name": "Mode" + }, + { + "long_name": "LeftThumb" + }, + { + "long_name": "RightThumb" + }, + { + "long_name": "DPadUp" + }, + { + "long_name": "DPadDown" + }, + { + "long_name": "DPadLeft" + }, + { + "long_name": "DPadRight" + }, + { + "items": false, + "long_name": "Other", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u8" + } + } + ], + "short_name": "Other", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "GamepadButtonType", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_input::gamepad::GamepadConnection": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::GamepadConnection", + "oneOf": [ + { + "items": false, + "long_name": "Connected", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadInfo" + } + } + ], + "short_name": "Connected", + "type": "array", + "typeInfo": "Tuple" + }, + { + "long_name": "Disconnected" + } + ], + "short_name": "GamepadConnection", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_input::gamepad::GamepadConnectionEvent": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::GamepadConnectionEvent", + "properties": { + "connection": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadConnection" + } + }, + "gamepad": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::Gamepad" + } + } + }, + "required": [ + "gamepad", + "connection" + ], + "short_name": "GamepadConnectionEvent", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gamepad::GamepadEvent": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::GamepadEvent", + "oneOf": [ + { + "items": false, + "long_name": "Connection", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadConnectionEvent" + } + } + ], + "short_name": "Connection", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Button", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadButtonChangedEvent" + } + } + ], + "short_name": "Button", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Axis", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadAxisChangedEvent" + } + } + ], + "short_name": "Axis", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "GamepadEvent", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_input::gamepad::GamepadInfo": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::GamepadInfo", + "properties": { + "name": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + } + }, + "required": [ + "name" + ], + "short_name": "GamepadInfo", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gamepad::GamepadSettings": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gamepad::GamepadSettings", + "properties": { + "axis_settings": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap" + } + }, + "button_axis_settings": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap" + } + }, + "button_settings": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap" + } + }, + "default_axis_settings": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::AxisSettings" + } + }, + "default_button_axis_settings": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::ButtonAxisSettings" + } + }, + "default_button_settings": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::ButtonSettings" + } + } + }, + "required": [ + "default_button_settings", + "default_axis_settings", + "default_button_axis_settings", + "button_settings", + "axis_settings", + "button_axis_settings" + ], + "short_name": "GamepadSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gestures::DoubleTapGesture": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::gestures::DoubleTapGesture", + "properties": {}, + "required": [], + "short_name": "DoubleTapGesture", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::gestures::PanGesture": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "bevy_input::gestures::PanGesture", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + } + ], + "short_name": "PanGesture", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_input::gestures::PinchGesture": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "bevy_input::gestures::PinchGesture", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "PinchGesture", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_input::gestures::RotationGesture": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "bevy_input::gestures::RotationGesture", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "RotationGesture", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_input::keyboard::Key": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::keyboard::Key", + "oneOf": [ + { + "items": false, + "long_name": "Character", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/smol_str::SmolStr" + } + } + ], + "short_name": "Character", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Unidentified", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_input::keyboard::NativeKey" + } + } + ], + "short_name": "Unidentified", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Dead", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/core::option::Option" + } + } + ], + "short_name": "Dead", + "type": "array", + "typeInfo": "Tuple" + }, + { + "long_name": "Alt" + }, + { + "long_name": "AltGraph" + }, + { + "long_name": "CapsLock" + }, + { + "long_name": "Control" + }, + { + "long_name": "Fn" + }, + { + "long_name": "FnLock" + }, + { + "long_name": "NumLock" + }, + { + "long_name": "ScrollLock" + }, + { + "long_name": "Shift" + }, + { + "long_name": "Symbol" + }, + { + "long_name": "SymbolLock" + }, + { + "long_name": "Meta" + }, + { + "long_name": "Hyper" + }, + { + "long_name": "Super" + }, + { + "long_name": "Enter" + }, + { + "long_name": "Tab" + }, + { + "long_name": "Space" + }, + { + "long_name": "ArrowDown" + }, + { + "long_name": "ArrowLeft" + }, + { + "long_name": "ArrowRight" + }, + { + "long_name": "ArrowUp" + }, + { + "long_name": "End" + }, + { + "long_name": "Home" + }, + { + "long_name": "PageDown" + }, + { + "long_name": "PageUp" + }, + { + "long_name": "Backspace" + }, + { + "long_name": "Clear" + }, + { + "long_name": "Copy" + }, + { + "long_name": "CrSel" + }, + { + "long_name": "Cut" + }, + { + "long_name": "Delete" + }, + { + "long_name": "EraseEof" + }, + { + "long_name": "ExSel" + }, + { + "long_name": "Insert" + }, + { + "long_name": "Paste" + }, + { + "long_name": "Redo" + }, + { + "long_name": "Undo" + }, + { + "long_name": "Accept" + }, + { + "long_name": "Again" + }, + { + "long_name": "Attn" + }, + { + "long_name": "Cancel" + }, + { + "long_name": "ContextMenu" + }, + { + "long_name": "Escape" + }, + { + "long_name": "Execute" + }, + { + "long_name": "Find" + }, + { + "long_name": "Help" + }, + { + "long_name": "Pause" + }, + { + "long_name": "Play" + }, + { + "long_name": "Props" + }, + { + "long_name": "Select" + }, + { + "long_name": "ZoomIn" + }, + { + "long_name": "ZoomOut" + }, + { + "long_name": "BrightnessDown" + }, + { + "long_name": "BrightnessUp" + }, + { + "long_name": "Eject" + }, + { + "long_name": "LogOff" + }, + { + "long_name": "Power" + }, + { + "long_name": "PowerOff" + }, + { + "long_name": "PrintScreen" + }, + { + "long_name": "Hibernate" + }, + { + "long_name": "Standby" + }, + { + "long_name": "WakeUp" + }, + { + "long_name": "AllCandidates" + }, + { + "long_name": "Alphanumeric" + }, + { + "long_name": "CodeInput" + }, + { + "long_name": "Compose" + }, + { + "long_name": "Convert" + }, + { + "long_name": "FinalMode" + }, + { + "long_name": "GroupFirst" + }, + { + "long_name": "GroupLast" + }, + { + "long_name": "GroupNext" + }, + { + "long_name": "GroupPrevious" + }, + { + "long_name": "ModeChange" + }, + { + "long_name": "NextCandidate" + }, + { + "long_name": "NonConvert" + }, + { + "long_name": "PreviousCandidate" + }, + { + "long_name": "Process" + }, + { + "long_name": "SingleCandidate" + }, + { + "long_name": "HangulMode" + }, + { + "long_name": "HanjaMode" + }, + { + "long_name": "JunjaMode" + }, + { + "long_name": "Eisu" + }, + { + "long_name": "Hankaku" + }, + { + "long_name": "Hiragana" + }, + { + "long_name": "HiraganaKatakana" + }, + { + "long_name": "KanaMode" + }, + { + "long_name": "KanjiMode" + }, + { + "long_name": "Katakana" + }, + { + "long_name": "Romaji" + }, + { + "long_name": "Zenkaku" + }, + { + "long_name": "ZenkakuHankaku" + }, + { + "long_name": "Soft1" + }, + { + "long_name": "Soft2" + }, + { + "long_name": "Soft3" + }, + { + "long_name": "Soft4" + }, + { + "long_name": "ChannelDown" + }, + { + "long_name": "ChannelUp" + }, + { + "long_name": "Close" + }, + { + "long_name": "MailForward" + }, + { + "long_name": "MailReply" + }, + { + "long_name": "MailSend" + }, + { + "long_name": "MediaClose" + }, + { + "long_name": "MediaFastForward" + }, + { + "long_name": "MediaPause" + }, + { + "long_name": "MediaPlay" + }, + { + "long_name": "MediaPlayPause" + }, + { + "long_name": "MediaRecord" + }, + { + "long_name": "MediaRewind" + }, + { + "long_name": "MediaStop" + }, + { + "long_name": "MediaTrackNext" + }, + { + "long_name": "MediaTrackPrevious" + }, + { + "long_name": "New" + }, + { + "long_name": "Open" + }, + { + "long_name": "Print" + }, + { + "long_name": "Save" + }, + { + "long_name": "SpellCheck" + }, + { + "long_name": "Key11" + }, + { + "long_name": "Key12" + }, + { + "long_name": "AudioBalanceLeft" + }, + { + "long_name": "AudioBalanceRight" + }, + { + "long_name": "AudioBassBoostDown" + }, + { + "long_name": "AudioBassBoostToggle" + }, + { + "long_name": "AudioBassBoostUp" + }, + { + "long_name": "AudioFaderFront" + }, + { + "long_name": "AudioFaderRear" + }, + { + "long_name": "AudioSurroundModeNext" + }, + { + "long_name": "AudioTrebleDown" + }, + { + "long_name": "AudioTrebleUp" + }, + { + "long_name": "AudioVolumeDown" + }, + { + "long_name": "AudioVolumeUp" + }, + { + "long_name": "AudioVolumeMute" + }, + { + "long_name": "MicrophoneToggle" + }, + { + "long_name": "MicrophoneVolumeDown" + }, + { + "long_name": "MicrophoneVolumeUp" + }, + { + "long_name": "MicrophoneVolumeMute" + }, + { + "long_name": "SpeechCorrectionList" + }, + { + "long_name": "SpeechInputToggle" + }, + { + "long_name": "LaunchApplication1" + }, + { + "long_name": "LaunchApplication2" + }, + { + "long_name": "LaunchCalendar" + }, + { + "long_name": "LaunchContacts" + }, + { + "long_name": "LaunchMail" + }, + { + "long_name": "LaunchMediaPlayer" + }, + { + "long_name": "LaunchMusicPlayer" + }, + { + "long_name": "LaunchPhone" + }, + { + "long_name": "LaunchScreenSaver" + }, + { + "long_name": "LaunchSpreadsheet" + }, + { + "long_name": "LaunchWebBrowser" + }, + { + "long_name": "LaunchWebCam" + }, + { + "long_name": "LaunchWordProcessor" + }, + { + "long_name": "BrowserBack" + }, + { + "long_name": "BrowserFavorites" + }, + { + "long_name": "BrowserForward" + }, + { + "long_name": "BrowserHome" + }, + { + "long_name": "BrowserRefresh" + }, + { + "long_name": "BrowserSearch" + }, + { + "long_name": "BrowserStop" + }, + { + "long_name": "AppSwitch" + }, + { + "long_name": "Call" + }, + { + "long_name": "Camera" + }, + { + "long_name": "CameraFocus" + }, + { + "long_name": "EndCall" + }, + { + "long_name": "GoBack" + }, + { + "long_name": "GoHome" + }, + { + "long_name": "HeadsetHook" + }, + { + "long_name": "LastNumberRedial" + }, + { + "long_name": "Notification" + }, + { + "long_name": "MannerMode" + }, + { + "long_name": "VoiceDial" + }, + { + "long_name": "TV" + }, + { + "long_name": "TV3DMode" + }, + { + "long_name": "TVAntennaCable" + }, + { + "long_name": "TVAudioDescription" + }, + { + "long_name": "TVAudioDescriptionMixDown" + }, + { + "long_name": "TVAudioDescriptionMixUp" + }, + { + "long_name": "TVContentsMenu" + }, + { + "long_name": "TVDataService" + }, + { + "long_name": "TVInput" + }, + { + "long_name": "TVInputComponent1" + }, + { + "long_name": "TVInputComponent2" + }, + { + "long_name": "TVInputComposite1" + }, + { + "long_name": "TVInputComposite2" + }, + { + "long_name": "TVInputHDMI1" + }, + { + "long_name": "TVInputHDMI2" + }, + { + "long_name": "TVInputHDMI3" + }, + { + "long_name": "TVInputHDMI4" + }, + { + "long_name": "TVInputVGA1" + }, + { + "long_name": "TVMediaContext" + }, + { + "long_name": "TVNetwork" + }, + { + "long_name": "TVNumberEntry" + }, + { + "long_name": "TVPower" + }, + { + "long_name": "TVRadioService" + }, + { + "long_name": "TVSatellite" + }, + { + "long_name": "TVSatelliteBS" + }, + { + "long_name": "TVSatelliteCS" + }, + { + "long_name": "TVSatelliteToggle" + }, + { + "long_name": "TVTerrestrialAnalog" + }, + { + "long_name": "TVTerrestrialDigital" + }, + { + "long_name": "TVTimer" + }, + { + "long_name": "AVRInput" + }, + { + "long_name": "AVRPower" + }, + { + "long_name": "ColorF0Red" + }, + { + "long_name": "ColorF1Green" + }, + { + "long_name": "ColorF2Yellow" + }, + { + "long_name": "ColorF3Blue" + }, + { + "long_name": "ColorF4Grey" + }, + { + "long_name": "ColorF5Brown" + }, + { + "long_name": "ClosedCaptionToggle" + }, + { + "long_name": "Dimmer" + }, + { + "long_name": "DisplaySwap" + }, + { + "long_name": "DVR" + }, + { + "long_name": "Exit" + }, + { + "long_name": "FavoriteClear0" + }, + { + "long_name": "FavoriteClear1" + }, + { + "long_name": "FavoriteClear2" + }, + { + "long_name": "FavoriteClear3" + }, + { + "long_name": "FavoriteRecall0" + }, + { + "long_name": "FavoriteRecall1" + }, + { + "long_name": "FavoriteRecall2" + }, + { + "long_name": "FavoriteRecall3" + }, + { + "long_name": "FavoriteStore0" + }, + { + "long_name": "FavoriteStore1" + }, + { + "long_name": "FavoriteStore2" + }, + { + "long_name": "FavoriteStore3" + }, + { + "long_name": "Guide" + }, + { + "long_name": "GuideNextDay" + }, + { + "long_name": "GuidePreviousDay" + }, + { + "long_name": "Info" + }, + { + "long_name": "InstantReplay" + }, + { + "long_name": "Link" + }, + { + "long_name": "ListProgram" + }, + { + "long_name": "LiveContent" + }, + { + "long_name": "Lock" + }, + { + "long_name": "MediaApps" + }, + { + "long_name": "MediaAudioTrack" + }, + { + "long_name": "MediaLast" + }, + { + "long_name": "MediaSkipBackward" + }, + { + "long_name": "MediaSkipForward" + }, + { + "long_name": "MediaStepBackward" + }, + { + "long_name": "MediaStepForward" + }, + { + "long_name": "MediaTopMenu" + }, + { + "long_name": "NavigateIn" + }, + { + "long_name": "NavigateNext" + }, + { + "long_name": "NavigateOut" + }, + { + "long_name": "NavigatePrevious" + }, + { + "long_name": "NextFavoriteChannel" + }, + { + "long_name": "NextUserProfile" + }, + { + "long_name": "OnDemand" + }, + { + "long_name": "Pairing" + }, + { + "long_name": "PinPDown" + }, + { + "long_name": "PinPMove" + }, + { + "long_name": "PinPToggle" + }, + { + "long_name": "PinPUp" + }, + { + "long_name": "PlaySpeedDown" + }, + { + "long_name": "PlaySpeedReset" + }, + { + "long_name": "PlaySpeedUp" + }, + { + "long_name": "RandomToggle" + }, + { + "long_name": "RcLowBattery" + }, + { + "long_name": "RecordSpeedNext" + }, + { + "long_name": "RfBypass" + }, + { + "long_name": "ScanChannelsToggle" + }, + { + "long_name": "ScreenModeNext" + }, + { + "long_name": "Settings" + }, + { + "long_name": "SplitScreenToggle" + }, + { + "long_name": "STBInput" + }, + { + "long_name": "STBPower" + }, + { + "long_name": "Subtitle" + }, + { + "long_name": "Teletext" + }, + { + "long_name": "VideoModeNext" + }, + { + "long_name": "Wink" + }, + { + "long_name": "ZoomToggle" + }, + { + "long_name": "F1" + }, + { + "long_name": "F2" + }, + { + "long_name": "F3" + }, + { + "long_name": "F4" + }, + { + "long_name": "F5" + }, + { + "long_name": "F6" + }, + { + "long_name": "F7" + }, + { + "long_name": "F8" + }, + { + "long_name": "F9" + }, + { + "long_name": "F10" + }, + { + "long_name": "F11" + }, + { + "long_name": "F12" + }, + { + "long_name": "F13" + }, + { + "long_name": "F14" + }, + { + "long_name": "F15" + }, + { + "long_name": "F16" + }, + { + "long_name": "F17" + }, + { + "long_name": "F18" + }, + { + "long_name": "F19" + }, + { + "long_name": "F20" + }, + { + "long_name": "F21" + }, + { + "long_name": "F22" + }, + { + "long_name": "F23" + }, + { + "long_name": "F24" + }, + { + "long_name": "F25" + }, + { + "long_name": "F26" + }, + { + "long_name": "F27" + }, + { + "long_name": "F28" + }, + { + "long_name": "F29" + }, + { + "long_name": "F30" + }, + { + "long_name": "F31" + }, + { + "long_name": "F32" + }, + { + "long_name": "F33" + }, + { + "long_name": "F34" + }, + { + "long_name": "F35" + } + ], + "short_name": "Key", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_input::keyboard::KeyCode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::keyboard::KeyCode", + "oneOf": [ + { + "items": false, + "long_name": "Unidentified", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_input::keyboard::NativeKeyCode" + } + } + ], + "short_name": "Unidentified", + "type": "array", + "typeInfo": "Tuple" + }, + { + "long_name": "Backquote" + }, + { + "long_name": "Backslash" + }, + { + "long_name": "BracketLeft" + }, + { + "long_name": "BracketRight" + }, + { + "long_name": "Comma" + }, + { + "long_name": "Digit0" + }, + { + "long_name": "Digit1" + }, + { + "long_name": "Digit2" + }, + { + "long_name": "Digit3" + }, + { + "long_name": "Digit4" + }, + { + "long_name": "Digit5" + }, + { + "long_name": "Digit6" + }, + { + "long_name": "Digit7" + }, + { + "long_name": "Digit8" + }, + { + "long_name": "Digit9" + }, + { + "long_name": "Equal" + }, + { + "long_name": "IntlBackslash" + }, + { + "long_name": "IntlRo" + }, + { + "long_name": "IntlYen" + }, + { + "long_name": "KeyA" + }, + { + "long_name": "KeyB" + }, + { + "long_name": "KeyC" + }, + { + "long_name": "KeyD" + }, + { + "long_name": "KeyE" + }, + { + "long_name": "KeyF" + }, + { + "long_name": "KeyG" + }, + { + "long_name": "KeyH" + }, + { + "long_name": "KeyI" + }, + { + "long_name": "KeyJ" + }, + { + "long_name": "KeyK" + }, + { + "long_name": "KeyL" + }, + { + "long_name": "KeyM" + }, + { + "long_name": "KeyN" + }, + { + "long_name": "KeyO" + }, + { + "long_name": "KeyP" + }, + { + "long_name": "KeyQ" + }, + { + "long_name": "KeyR" + }, + { + "long_name": "KeyS" + }, + { + "long_name": "KeyT" + }, + { + "long_name": "KeyU" + }, + { + "long_name": "KeyV" + }, + { + "long_name": "KeyW" + }, + { + "long_name": "KeyX" + }, + { + "long_name": "KeyY" + }, + { + "long_name": "KeyZ" + }, + { + "long_name": "Minus" + }, + { + "long_name": "Period" + }, + { + "long_name": "Quote" + }, + { + "long_name": "Semicolon" + }, + { + "long_name": "Slash" + }, + { + "long_name": "AltLeft" + }, + { + "long_name": "AltRight" + }, + { + "long_name": "Backspace" + }, + { + "long_name": "CapsLock" + }, + { + "long_name": "ContextMenu" + }, + { + "long_name": "ControlLeft" + }, + { + "long_name": "ControlRight" + }, + { + "long_name": "Enter" + }, + { + "long_name": "SuperLeft" + }, + { + "long_name": "SuperRight" + }, + { + "long_name": "ShiftLeft" + }, + { + "long_name": "ShiftRight" + }, + { + "long_name": "Space" + }, + { + "long_name": "Tab" + }, + { + "long_name": "Convert" + }, + { + "long_name": "KanaMode" + }, + { + "long_name": "Lang1" + }, + { + "long_name": "Lang2" + }, + { + "long_name": "Lang3" + }, + { + "long_name": "Lang4" + }, + { + "long_name": "Lang5" + }, + { + "long_name": "NonConvert" + }, + { + "long_name": "Delete" + }, + { + "long_name": "End" + }, + { + "long_name": "Help" + }, + { + "long_name": "Home" + }, + { + "long_name": "Insert" + }, + { + "long_name": "PageDown" + }, + { + "long_name": "PageUp" + }, + { + "long_name": "ArrowDown" + }, + { + "long_name": "ArrowLeft" + }, + { + "long_name": "ArrowRight" + }, + { + "long_name": "ArrowUp" + }, + { + "long_name": "NumLock" + }, + { + "long_name": "Numpad0" + }, + { + "long_name": "Numpad1" + }, + { + "long_name": "Numpad2" + }, + { + "long_name": "Numpad3" + }, + { + "long_name": "Numpad4" + }, + { + "long_name": "Numpad5" + }, + { + "long_name": "Numpad6" + }, + { + "long_name": "Numpad7" + }, + { + "long_name": "Numpad8" + }, + { + "long_name": "Numpad9" + }, + { + "long_name": "NumpadAdd" + }, + { + "long_name": "NumpadBackspace" + }, + { + "long_name": "NumpadClear" + }, + { + "long_name": "NumpadClearEntry" + }, + { + "long_name": "NumpadComma" + }, + { + "long_name": "NumpadDecimal" + }, + { + "long_name": "NumpadDivide" + }, + { + "long_name": "NumpadEnter" + }, + { + "long_name": "NumpadEqual" + }, + { + "long_name": "NumpadHash" + }, + { + "long_name": "NumpadMemoryAdd" + }, + { + "long_name": "NumpadMemoryClear" + }, + { + "long_name": "NumpadMemoryRecall" + }, + { + "long_name": "NumpadMemoryStore" + }, + { + "long_name": "NumpadMemorySubtract" + }, + { + "long_name": "NumpadMultiply" + }, + { + "long_name": "NumpadParenLeft" + }, + { + "long_name": "NumpadParenRight" + }, + { + "long_name": "NumpadStar" + }, + { + "long_name": "NumpadSubtract" + }, + { + "long_name": "Escape" + }, + { + "long_name": "Fn" + }, + { + "long_name": "FnLock" + }, + { + "long_name": "PrintScreen" + }, + { + "long_name": "ScrollLock" + }, + { + "long_name": "Pause" + }, + { + "long_name": "BrowserBack" + }, + { + "long_name": "BrowserFavorites" + }, + { + "long_name": "BrowserForward" + }, + { + "long_name": "BrowserHome" + }, + { + "long_name": "BrowserRefresh" + }, + { + "long_name": "BrowserSearch" + }, + { + "long_name": "BrowserStop" + }, + { + "long_name": "Eject" + }, + { + "long_name": "LaunchApp1" + }, + { + "long_name": "LaunchApp2" + }, + { + "long_name": "LaunchMail" + }, + { + "long_name": "MediaPlayPause" + }, + { + "long_name": "MediaSelect" + }, + { + "long_name": "MediaStop" + }, + { + "long_name": "MediaTrackNext" + }, + { + "long_name": "MediaTrackPrevious" + }, + { + "long_name": "Power" + }, + { + "long_name": "Sleep" + }, + { + "long_name": "AudioVolumeDown" + }, + { + "long_name": "AudioVolumeMute" + }, + { + "long_name": "AudioVolumeUp" + }, + { + "long_name": "WakeUp" + }, + { + "long_name": "Meta" + }, + { + "long_name": "Hyper" + }, + { + "long_name": "Turbo" + }, + { + "long_name": "Abort" + }, + { + "long_name": "Resume" + }, + { + "long_name": "Suspend" + }, + { + "long_name": "Again" + }, + { + "long_name": "Copy" + }, + { + "long_name": "Cut" + }, + { + "long_name": "Find" + }, + { + "long_name": "Open" + }, + { + "long_name": "Paste" + }, + { + "long_name": "Props" + }, + { + "long_name": "Select" + }, + { + "long_name": "Undo" + }, + { + "long_name": "Hiragana" + }, + { + "long_name": "Katakana" + }, + { + "long_name": "F1" + }, + { + "long_name": "F2" + }, + { + "long_name": "F3" + }, + { + "long_name": "F4" + }, + { + "long_name": "F5" + }, + { + "long_name": "F6" + }, + { + "long_name": "F7" + }, + { + "long_name": "F8" + }, + { + "long_name": "F9" + }, + { + "long_name": "F10" + }, + { + "long_name": "F11" + }, + { + "long_name": "F12" + }, + { + "long_name": "F13" + }, + { + "long_name": "F14" + }, + { + "long_name": "F15" + }, + { + "long_name": "F16" + }, + { + "long_name": "F17" + }, + { + "long_name": "F18" + }, + { + "long_name": "F19" + }, + { + "long_name": "F20" + }, + { + "long_name": "F21" + }, + { + "long_name": "F22" + }, + { + "long_name": "F23" + }, + { + "long_name": "F24" + }, + { + "long_name": "F25" + }, + { + "long_name": "F26" + }, + { + "long_name": "F27" + }, + { + "long_name": "F28" + }, + { + "long_name": "F29" + }, + { + "long_name": "F30" + }, + { + "long_name": "F31" + }, + { + "long_name": "F32" + }, + { + "long_name": "F33" + }, + { + "long_name": "F34" + }, + { + "long_name": "F35" + } + ], + "short_name": "KeyCode", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_input::keyboard::KeyboardInput": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::keyboard::KeyboardInput", + "properties": { + "key_code": { + "type": { + "$ref": "#/$defs/bevy_input::keyboard::KeyCode" + } + }, + "logical_key": { + "type": { + "$ref": "#/$defs/bevy_input::keyboard::Key" + } + }, + "state": { + "type": { + "$ref": "#/$defs/bevy_input::ButtonState" + } + }, + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "key_code", + "logical_key", + "state", + "window" + ], + "short_name": "KeyboardInput", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::keyboard::NativeKey": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::keyboard::NativeKey", + "oneOf": [ + { + "long_name": "Unidentified" + }, + { + "items": false, + "long_name": "Android", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u32" + } + } + ], + "short_name": "Android", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "MacOS", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u16" + } + } + ], + "short_name": "MacOS", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Windows", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u16" + } + } + ], + "short_name": "Windows", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Xkb", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u32" + } + } + ], + "short_name": "Xkb", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Web", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/smol_str::SmolStr" + } + } + ], + "short_name": "Web", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "NativeKey", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_input::keyboard::NativeKeyCode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::keyboard::NativeKeyCode", + "oneOf": [ + { + "long_name": "Unidentified" + }, + { + "items": false, + "long_name": "Android", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u32" + } + } + ], + "short_name": "Android", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "MacOS", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u16" + } + } + ], + "short_name": "MacOS", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Windows", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u16" + } + } + ], + "short_name": "Windows", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Xkb", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u32" + } + } + ], + "short_name": "Xkb", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "NativeKeyCode", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_input::mouse::MouseButton": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::mouse::MouseButton", + "oneOf": [ + { + "long_name": "Left" + }, + { + "long_name": "Right" + }, + { + "long_name": "Middle" + }, + { + "long_name": "Back" + }, + { + "long_name": "Forward" + }, + { + "items": false, + "long_name": "Other", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u16" + } + } + ], + "short_name": "Other", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "MouseButton", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_input::mouse::MouseButtonInput": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::mouse::MouseButtonInput", + "properties": { + "button": { + "type": { + "$ref": "#/$defs/bevy_input::mouse::MouseButton" + } + }, + "state": { + "type": { + "$ref": "#/$defs/bevy_input::ButtonState" + } + }, + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "button", + "state", + "window" + ], + "short_name": "MouseButtonInput", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::touch::ForceTouch": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::touch::ForceTouch", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Calibrated", + "properties": { + "altitude_angle": { + "long_name": "altitude_angle", + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "force": { + "long_name": "force", + "type": { + "$ref": "#/$defs/f64" + } + }, + "max_possible_force": { + "long_name": "max_possible_force", + "type": { + "$ref": "#/$defs/f64" + } + } + }, + "required": [ + "force", + "max_possible_force" + ], + "short_name": "Calibrated", + "type": "object", + "typeInfo": "Struct" + }, + { + "items": false, + "long_name": "Normalized", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f64" + } + } + ], + "short_name": "Normalized", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "ForceTouch", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_input::touch::TouchInput": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::touch::TouchInput", + "properties": { + "force": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "id": { + "type": { + "$ref": "#/$defs/u64" + } + }, + "phase": { + "type": { + "$ref": "#/$defs/bevy_input::touch::TouchPhase" + } + }, + "position": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + }, + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "phase", + "position", + "window", + "id" + ], + "short_name": "TouchInput", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_input::touch::TouchPhase": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_input::touch::TouchPhase", + "oneOf": [ + "Started", + "Moved", + "Ended", + "Canceled" + ], + "short_name": "TouchPhase", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_math::rects::rect::Rect": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_math::rects::rect::Rect", + "properties": { + "max": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + }, + "min": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + } + }, + "required": [ + "min", + "max" + ], + "short_name": "Rect", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_math::rects::urect::URect": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_math::rects::urect::URect", + "properties": { + "max": { + "type": { + "$ref": "#/$defs/glam::UVec2" + } + }, + "min": { + "type": { + "$ref": "#/$defs/glam::UVec2" + } + } + }, + "required": [ + "min", + "max" + ], + "short_name": "URect", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::bundle::CascadesVisibleEntities": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::bundle::CascadesVisibleEntities", + "properties": {}, + "required": [], + "short_name": "CascadesVisibleEntities", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::bundle::CubemapVisibleEntities": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::bundle::CubemapVisibleEntities", + "properties": {}, + "required": [], + "short_name": "CubemapVisibleEntities", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::cluster::ClusterConfig": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::cluster::ClusterConfig", + "oneOf": [ + { + "long_name": "None" + }, + { + "long_name": "Single" + }, + { + "additionalProperties": false, + "long_name": "XYZ", + "properties": { + "dimensions": { + "long_name": "dimensions", + "type": { + "$ref": "#/$defs/glam::UVec3" + } + }, + "dynamic_resizing": { + "long_name": "dynamic_resizing", + "type": { + "$ref": "#/$defs/bool" + } + }, + "z_config": { + "long_name": "z_config", + "type": { + "$ref": "#/$defs/bevy_pbr::cluster::ClusterZConfig" + } + } + }, + "required": [ + "dimensions", + "z_config", + "dynamic_resizing" + ], + "short_name": "XYZ", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "FixedZ", + "properties": { + "dynamic_resizing": { + "long_name": "dynamic_resizing", + "type": { + "$ref": "#/$defs/bool" + } + }, + "total": { + "long_name": "total", + "type": { + "$ref": "#/$defs/u32" + } + }, + "z_config": { + "long_name": "z_config", + "type": { + "$ref": "#/$defs/bevy_pbr::cluster::ClusterZConfig" + } + }, + "z_slices": { + "long_name": "z_slices", + "type": { + "$ref": "#/$defs/u32" + } + } + }, + "required": [ + "total", + "z_slices", + "z_config", + "dynamic_resizing" + ], + "short_name": "FixedZ", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "ClusterConfig", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_pbr::cluster::ClusterFarZMode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_pbr::cluster::ClusterFarZMode", + "oneOf": [ + { + "long_name": "MaxClusterableObjectRange" + }, + { + "items": false, + "long_name": "Constant", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "Constant", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "ClusterFarZMode", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_pbr::cluster::ClusterZConfig": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_pbr::cluster::ClusterZConfig", + "properties": { + "far_z_mode": { + "type": { + "$ref": "#/$defs/bevy_pbr::cluster::ClusterFarZMode" + } + }, + "first_slice_depth": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "first_slice_depth", + "far_z_mode" + ], + "short_name": "ClusterZConfig", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::fog::FogFalloff": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_pbr::fog::FogFalloff", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Linear", + "properties": { + "end": { + "long_name": "end", + "type": { + "$ref": "#/$defs/f32" + } + }, + "start": { + "long_name": "start", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "start", + "end" + ], + "short_name": "Linear", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Exponential", + "properties": { + "density": { + "long_name": "density", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "density" + ], + "short_name": "Exponential", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "ExponentialSquared", + "properties": { + "density": { + "long_name": "density", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "density" + ], + "short_name": "ExponentialSquared", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "Atmospheric", + "properties": { + "extinction": { + "long_name": "extinction", + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "inscattering": { + "long_name": "inscattering", + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "extinction", + "inscattering" + ], + "short_name": "Atmospheric", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "FogFalloff", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_pbr::fog::FogSettings": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::fog::FogSettings", + "properties": { + "color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "directional_light_color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "directional_light_exponent": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "falloff": { + "type": { + "$ref": "#/$defs/bevy_pbr::fog::FogFalloff" + } + } + }, + "required": [ + "color", + "directional_light_color", + "directional_light_exponent", + "falloff" + ], + "short_name": "FogSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light::Cascade": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_pbr::light::Cascade", + "properties": { + "clip_from_cascade": { + "type": { + "$ref": "#/$defs/glam::Mat4" + } + }, + "clip_from_world": { + "type": { + "$ref": "#/$defs/glam::Mat4" + } + }, + "texel_size": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "world_from_cascade": { + "type": { + "$ref": "#/$defs/glam::Mat4" + } + } + }, + "required": [ + "world_from_cascade", + "clip_from_cascade", + "clip_from_world", + "texel_size" + ], + "short_name": "Cascade", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light::CascadeShadowConfig": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::light::CascadeShadowConfig", + "properties": { + "bounds": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + }, + "minimum_distance": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "overlap_proportion": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "bounds", + "overlap_proportion", + "minimum_distance" + ], + "short_name": "CascadeShadowConfig", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light::Cascades": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::light::Cascades", + "properties": { + "cascades": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap, bevy_ecs::entity::hash::EntityHash>" + } + } + }, + "required": [ + "cascades" + ], + "short_name": "Cascades", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light::DirectionalLightShadowMap": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "bevy_pbr::light::DirectionalLightShadowMap", + "properties": { + "size": { + "type": { + "$ref": "#/$defs/usize" + } + } + }, + "required": [ + "size" + ], + "short_name": "DirectionalLightShadowMap", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light::NotShadowCaster": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::light::NotShadowCaster", + "properties": {}, + "required": [], + "short_name": "NotShadowCaster", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light::NotShadowReceiver": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::light::NotShadowReceiver", + "properties": {}, + "required": [], + "short_name": "NotShadowReceiver", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light::PointLightShadowMap": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "bevy_pbr::light::PointLightShadowMap", + "properties": { + "size": { + "type": { + "$ref": "#/$defs/usize" + } + } + }, + "required": [ + "size" + ], + "short_name": "PointLightShadowMap", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light::ShadowFilteringMethod": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::light::ShadowFilteringMethod", + "oneOf": [ + "Hardware2x2", + "Gaussian", + "Temporal" + ], + "short_name": "ShadowFilteringMethod", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_pbr::light::ambient_light::AmbientLight": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "bevy_pbr::light::ambient_light::AmbientLight", + "properties": { + "brightness": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + } + }, + "required": [ + "color", + "brightness" + ], + "short_name": "AmbientLight", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light::directional_light::DirectionalLight": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::light::directional_light::DirectionalLight", + "properties": { + "color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "illuminance": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "shadow_depth_bias": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "shadow_normal_bias": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "shadows_enabled": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "color", + "illuminance", + "shadows_enabled", + "shadow_depth_bias", + "shadow_normal_bias" + ], + "short_name": "DirectionalLight", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light::point_light::PointLight": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::light::point_light::PointLight", + "properties": { + "color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "intensity": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "radius": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "range": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "shadow_depth_bias": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "shadow_normal_bias": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "shadows_enabled": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "color", + "intensity", + "range", + "radius", + "shadows_enabled", + "shadow_depth_bias", + "shadow_normal_bias" + ], + "short_name": "PointLight", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light::spot_light::SpotLight": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::light::spot_light::SpotLight", + "properties": { + "color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "inner_angle": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "intensity": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "outer_angle": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "radius": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "range": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "shadow_depth_bias": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "shadow_normal_bias": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "shadows_enabled": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "color", + "intensity", + "range", + "radius", + "shadows_enabled", + "shadow_depth_bias", + "shadow_normal_bias", + "outer_angle", + "inner_angle" + ], + "short_name": "SpotLight", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light_probe::LightProbe": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::light_probe::LightProbe", + "properties": {}, + "required": [], + "short_name": "LightProbe", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light_probe::environment_map::EnvironmentMapLight": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_pbr::light_probe::environment_map::EnvironmentMapLight", + "properties": { + "diffuse_map": { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + }, + "intensity": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "specular_map": { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + } + }, + "required": [ + "diffuse_map", + "specular_map", + "intensity" + ], + "short_name": "EnvironmentMapLight", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::light_probe::irradiance_volume::IrradianceVolume": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_pbr::light_probe::irradiance_volume::IrradianceVolume", + "properties": { + "intensity": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "voxels": { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + } + }, + "required": [ + "voxels", + "intensity" + ], + "short_name": "IrradianceVolume", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::material::DefaultOpaqueRendererMethod": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "bevy_pbr::material::DefaultOpaqueRendererMethod", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_pbr::material::OpaqueRendererMethod" + } + } + ], + "short_name": "DefaultOpaqueRendererMethod", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_pbr::material::OpaqueRendererMethod": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_pbr::material::OpaqueRendererMethod", + "oneOf": [ + "Forward", + "Deferred", + "Auto" + ], + "short_name": "OpaqueRendererMethod", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_pbr::parallax::ParallaxMappingMethod": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_pbr::parallax::ParallaxMappingMethod", + "oneOf": [ + { + "long_name": "Occlusion" + }, + { + "additionalProperties": false, + "long_name": "Relief", + "properties": { + "max_steps": { + "long_name": "max_steps", + "type": { + "$ref": "#/$defs/u32" + } + } + }, + "required": [ + "max_steps" + ], + "short_name": "Relief", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "ParallaxMappingMethod", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_pbr::pbr_material::StandardMaterial": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_pbr::pbr_material::StandardMaterial", + "properties": { + "alpha_mode": { + "type": { + "$ref": "#/$defs/bevy_render::alpha::AlphaMode" + } + }, + "anisotropy_rotation": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "anisotropy_strength": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "attenuation_color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "attenuation_distance": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "base_color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "base_color_channel": { + "type": { + "$ref": "#/$defs/bevy_pbr::pbr_material::UvChannel" + } + }, + "base_color_texture": { + "type": { + "$ref": "#/$defs/core::option::Option>" + } + }, + "clearcoat": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "clearcoat_perceptual_roughness": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "deferred_lighting_pass_id": { + "type": { + "$ref": "#/$defs/u8" + } + }, + "depth_bias": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "depth_map": { + "type": { + "$ref": "#/$defs/core::option::Option>" + } + }, + "diffuse_transmission": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "double_sided": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "emissive": { + "type": { + "$ref": "#/$defs/bevy_color::linear_rgba::LinearRgba" + } + }, + "emissive_channel": { + "type": { + "$ref": "#/$defs/bevy_pbr::pbr_material::UvChannel" + } + }, + "emissive_exposure_weight": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "emissive_texture": { + "type": { + "$ref": "#/$defs/core::option::Option>" + } + }, + "flip_normal_map_y": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "fog_enabled": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "ior": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "lightmap_exposure": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "max_parallax_layer_count": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "metallic": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "metallic_roughness_channel": { + "type": { + "$ref": "#/$defs/bevy_pbr::pbr_material::UvChannel" + } + }, + "metallic_roughness_texture": { + "type": { + "$ref": "#/$defs/core::option::Option>" + } + }, + "normal_map_channel": { + "type": { + "$ref": "#/$defs/bevy_pbr::pbr_material::UvChannel" + } + }, + "normal_map_texture": { + "type": { + "$ref": "#/$defs/core::option::Option>" + } + }, + "occlusion_channel": { + "type": { + "$ref": "#/$defs/bevy_pbr::pbr_material::UvChannel" + } + }, + "occlusion_texture": { + "type": { + "$ref": "#/$defs/core::option::Option>" + } + }, + "opaque_render_method": { + "type": { + "$ref": "#/$defs/bevy_pbr::material::OpaqueRendererMethod" + } + }, + "parallax_depth_scale": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "parallax_mapping_method": { + "type": { + "$ref": "#/$defs/bevy_pbr::parallax::ParallaxMappingMethod" + } + }, + "perceptual_roughness": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "reflectance": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "specular_transmission": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "thickness": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "unlit": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "uv_transform": { + "type": { + "$ref": "#/$defs/glam::Affine2" + } + } + }, + "required": [ + "base_color", + "base_color_channel", + "emissive", + "emissive_exposure_weight", + "emissive_channel", + "perceptual_roughness", + "metallic", + "metallic_roughness_channel", + "reflectance", + "diffuse_transmission", + "specular_transmission", + "thickness", + "ior", + "attenuation_distance", + "attenuation_color", + "normal_map_channel", + "flip_normal_map_y", + "occlusion_channel", + "clearcoat", + "clearcoat_perceptual_roughness", + "anisotropy_strength", + "anisotropy_rotation", + "double_sided", + "unlit", + "fog_enabled", + "alpha_mode", + "depth_bias", + "parallax_depth_scale", + "parallax_mapping_method", + "max_parallax_layer_count", + "lightmap_exposure", + "opaque_render_method", + "deferred_lighting_pass_id", + "uv_transform" + ], + "short_name": "StandardMaterial", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::pbr_material::UvChannel": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_pbr::pbr_material::UvChannel", + "oneOf": [ + "Uv0", + "Uv1" + ], + "short_name": "UvChannel", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_pbr::ssao::ScreenSpaceAmbientOcclusionQualityLevel": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_pbr::ssao::ScreenSpaceAmbientOcclusionQualityLevel", + "oneOf": [ + { + "long_name": "Low" + }, + { + "long_name": "Medium" + }, + { + "long_name": "High" + }, + { + "long_name": "Ultra" + }, + { + "additionalProperties": false, + "long_name": "Custom", + "properties": { + "samples_per_slice_side": { + "long_name": "samples_per_slice_side", + "type": { + "$ref": "#/$defs/u32" + } + }, + "slice_count": { + "long_name": "slice_count", + "type": { + "$ref": "#/$defs/u32" + } + } + }, + "required": [ + "slice_count", + "samples_per_slice_side" + ], + "short_name": "Custom", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "ScreenSpaceAmbientOcclusionQualityLevel", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_pbr::ssao::ScreenSpaceAmbientOcclusionSettings": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::ssao::ScreenSpaceAmbientOcclusionSettings", + "properties": { + "quality_level": { + "type": { + "$ref": "#/$defs/bevy_pbr::ssao::ScreenSpaceAmbientOcclusionQualityLevel" + } + } + }, + "required": [ + "quality_level" + ], + "short_name": "ScreenSpaceAmbientOcclusionSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::ssr::ScreenSpaceReflectionsSettings": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::ssr::ScreenSpaceReflectionsSettings", + "properties": { + "bisection_steps": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "linear_march_exponent": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "linear_steps": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "perceptual_roughness_threshold": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "thickness": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "use_secant": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "perceptual_roughness_threshold", + "thickness", + "linear_steps", + "linear_march_exponent", + "bisection_steps", + "use_secant" + ], + "short_name": "ScreenSpaceReflectionsSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::volumetric_fog::VolumetricFogSettings": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::volumetric_fog::VolumetricFogSettings", + "properties": { + "absorption": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "ambient_color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "ambient_intensity": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "density": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "fog_color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "light_intensity": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "light_tint": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "max_depth": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "scattering": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "scattering_asymmetry": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "step_count": { + "type": { + "$ref": "#/$defs/u32" + } + } + }, + "required": [ + "fog_color", + "ambient_color", + "ambient_intensity", + "step_count", + "max_depth", + "absorption", + "scattering", + "density", + "scattering_asymmetry", + "light_tint", + "light_intensity" + ], + "short_name": "VolumetricFogSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_pbr::volumetric_fog::VolumetricLight": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_pbr::volumetric_fog::VolumetricLight", + "properties": {}, + "required": [], + "short_name": "VolumetricLight", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::alpha::AlphaMode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_render::alpha::AlphaMode", + "oneOf": [ + { + "long_name": "Opaque" + }, + { + "items": false, + "long_name": "Mask", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "Mask", + "type": "array", + "typeInfo": "Tuple" + }, + { + "long_name": "Blend" + }, + { + "long_name": "Premultiplied" + }, + { + "long_name": "AlphaToCoverage" + }, + { + "long_name": "Add" + }, + { + "long_name": "Multiply" + } + ], + "short_name": "AlphaMode", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_render::camera::camera::Camera": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::camera::camera::Camera", + "properties": { + "clear_color": { + "type": { + "$ref": "#/$defs/bevy_render::camera::clear_color::ClearColorConfig" + } + }, + "hdr": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "is_active": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "msaa_writeback": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "order": { + "type": { + "$ref": "#/$defs/isize" + } + }, + "viewport": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + } + }, + "required": [ + "order", + "is_active", + "hdr", + "msaa_writeback", + "clear_color" + ], + "short_name": "Camera", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::camera::camera::CameraMainTextureUsages": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::camera::camera::CameraMainTextureUsages", + "short_name": "CameraMainTextureUsages", + "type": "object", + "typeInfo": "Value" + }, + "bevy_render::camera::camera::CameraRenderGraph": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::camera::camera::CameraRenderGraph", + "short_name": "CameraRenderGraph", + "type": "object", + "typeInfo": "Value" + }, + "bevy_render::camera::camera::Exposure": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::camera::camera::Exposure", + "short_name": "Exposure", + "type": "object", + "typeInfo": "Value" + }, + "bevy_render::camera::camera::MipBias": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "bevy_render::camera::camera::MipBias", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "MipBias", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_render::camera::camera::TemporalJitter": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::camera::camera::TemporalJitter", + "properties": { + "offset": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + } + }, + "required": [ + "offset" + ], + "short_name": "TemporalJitter", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::camera::camera::Viewport": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_render::camera::camera::Viewport", + "properties": { + "depth": { + "type": { + "$ref": "#/$defs/core::ops::Range" + } + }, + "physical_position": { + "type": { + "$ref": "#/$defs/glam::UVec2" + } + }, + "physical_size": { + "type": { + "$ref": "#/$defs/glam::UVec2" + } + } + }, + "required": [ + "physical_position", + "physical_size", + "depth" + ], + "short_name": "Viewport", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::camera::clear_color::ClearColor": { + "isComponent": false, + "isResource": true, + "items": false, + "long_name": "bevy_render::camera::clear_color::ClearColor", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + } + ], + "short_name": "ClearColor", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_render::camera::clear_color::ClearColorConfig": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_render::camera::clear_color::ClearColorConfig", + "oneOf": [ + { + "long_name": "Default" + }, + { + "items": false, + "long_name": "Custom", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + } + ], + "short_name": "Custom", + "type": "array", + "typeInfo": "Tuple" + }, + { + "long_name": "None" + } + ], + "short_name": "ClearColorConfig", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_render::camera::projection::OrthographicProjection": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::camera::projection::OrthographicProjection", + "properties": { + "area": { + "type": { + "$ref": "#/$defs/bevy_math::rects::rect::Rect" + } + }, + "far": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "near": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "scale": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "scaling_mode": { + "type": { + "$ref": "#/$defs/bevy_render::camera::projection::ScalingMode" + } + }, + "viewport_origin": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + } + }, + "required": [ + "near", + "far", + "viewport_origin", + "scaling_mode", + "scale", + "area" + ], + "short_name": "OrthographicProjection", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::camera::projection::PerspectiveProjection": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::camera::projection::PerspectiveProjection", + "properties": { + "aspect_ratio": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "far": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "fov": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "near": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "fov", + "aspect_ratio", + "near", + "far" + ], + "short_name": "PerspectiveProjection", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::camera::projection::Projection": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::camera::projection::Projection", + "oneOf": [ + { + "items": false, + "long_name": "Perspective", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_render::camera::projection::PerspectiveProjection" + } + } + ], + "short_name": "Perspective", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Orthographic", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_render::camera::projection::OrthographicProjection" + } + } + ], + "short_name": "Orthographic", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Projection", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_render::camera::projection::ScalingMode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_render::camera::projection::ScalingMode", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "Fixed", + "properties": { + "height": { + "long_name": "height", + "type": { + "$ref": "#/$defs/f32" + } + }, + "width": { + "long_name": "width", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "width", + "height" + ], + "short_name": "Fixed", + "type": "object", + "typeInfo": "Struct" + }, + { + "items": false, + "long_name": "WindowSize", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "WindowSize", + "type": "array", + "typeInfo": "Tuple" + }, + { + "additionalProperties": false, + "long_name": "AutoMin", + "properties": { + "min_height": { + "long_name": "min_height", + "type": { + "$ref": "#/$defs/f32" + } + }, + "min_width": { + "long_name": "min_width", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "min_width", + "min_height" + ], + "short_name": "AutoMin", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "AutoMax", + "properties": { + "max_height": { + "long_name": "max_height", + "type": { + "$ref": "#/$defs/f32" + } + }, + "max_width": { + "long_name": "max_width", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "max_width", + "max_height" + ], + "short_name": "AutoMax", + "type": "object", + "typeInfo": "Struct" + }, + { + "items": false, + "long_name": "FixedVertical", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "FixedVertical", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "FixedHorizontal", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "FixedHorizontal", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "ScalingMode", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_render::globals::GlobalsUniform": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "bevy_render::globals::GlobalsUniform", + "properties": { + "delta_time": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "frame_count": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "time": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "time", + "delta_time", + "frame_count" + ], + "short_name": "GlobalsUniform", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::mesh::mesh::Indices": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_render::mesh::mesh::Indices", + "oneOf": [ + { + "items": false, + "long_name": "U16", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + ], + "short_name": "U16", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "U32", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + ], + "short_name": "U32", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Indices", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_render::mesh::mesh::Mesh": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_render::mesh::mesh::Mesh", + "properties": { + "asset_usage": { + "type": { + "$ref": "#/$defs/bevy_render::render_asset::RenderAssetUsages" + } + }, + "indices": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "morph_target_names": { + "type": { + "$ref": "#/$defs/core::option::Option>" + } + }, + "morph_targets": { + "type": { + "$ref": "#/$defs/core::option::Option>" + } + } + }, + "required": [ + "asset_usage" + ], + "short_name": "Mesh", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::mesh::mesh::skinning::SkinnedMesh": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::mesh::mesh::skinning::SkinnedMesh", + "properties": { + "inverse_bindposes": { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + }, + "joints": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "inverse_bindposes", + "joints" + ], + "short_name": "SkinnedMesh", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::mesh::morph::MeshMorphWeights": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::mesh::morph::MeshMorphWeights", + "properties": { + "weights": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "weights" + ], + "short_name": "MeshMorphWeights", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::mesh::morph::MorphWeights": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::mesh::morph::MorphWeights", + "properties": { + "first_mesh": { + "type": { + "$ref": "#/$defs/core::option::Option>" + } + }, + "weights": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "weights" + ], + "short_name": "MorphWeights", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::primitives::Aabb": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::primitives::Aabb", + "properties": { + "center": { + "type": { + "$ref": "#/$defs/glam::Vec3A" + } + }, + "half_extents": { + "type": { + "$ref": "#/$defs/glam::Vec3A" + } + } + }, + "required": [ + "center", + "half_extents" + ], + "short_name": "Aabb", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::primitives::CascadesFrusta": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::primitives::CascadesFrusta", + "properties": {}, + "required": [], + "short_name": "CascadesFrusta", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::primitives::CubemapFrusta": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::primitives::CubemapFrusta", + "properties": {}, + "required": [], + "short_name": "CubemapFrusta", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::primitives::Frustum": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::primitives::Frustum", + "properties": {}, + "required": [], + "short_name": "Frustum", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::render_asset::RenderAssetUsages": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_render::render_asset::RenderAssetUsages", + "short_name": "RenderAssetUsages", + "type": "object", + "typeInfo": "Value" + }, + "bevy_render::texture::image::Image": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_render::texture::image::Image", + "short_name": "Image", + "type": "object", + "typeInfo": "Value" + }, + "bevy_render::view::ColorGrading": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::view::ColorGrading", + "properties": { + "global": { + "type": { + "$ref": "#/$defs/bevy_render::view::ColorGradingGlobal" + } + }, + "highlights": { + "type": { + "$ref": "#/$defs/bevy_render::view::ColorGradingSection" + } + }, + "midtones": { + "type": { + "$ref": "#/$defs/bevy_render::view::ColorGradingSection" + } + }, + "shadows": { + "type": { + "$ref": "#/$defs/bevy_render::view::ColorGradingSection" + } + } + }, + "required": [ + "global", + "shadows", + "midtones", + "highlights" + ], + "short_name": "ColorGrading", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::view::ColorGradingGlobal": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_render::view::ColorGradingGlobal", + "properties": { + "exposure": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "hue": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "midtones_range": { + "type": { + "$ref": "#/$defs/core::ops::Range" + } + }, + "post_saturation": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "temperature": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "tint": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "exposure", + "temperature", + "tint", + "hue", + "post_saturation", + "midtones_range" + ], + "short_name": "ColorGradingGlobal", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::view::ColorGradingSection": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_render::view::ColorGradingSection", + "properties": { + "contrast": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "gain": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "gamma": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "lift": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "saturation": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "saturation", + "contrast", + "gamma", + "gain", + "lift" + ], + "short_name": "ColorGradingSection", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::view::Msaa": { + "isComponent": false, + "isResource": true, + "long_name": "bevy_render::view::Msaa", + "oneOf": [ + "Off", + "Sample2", + "Sample4", + "Sample8" + ], + "short_name": "Msaa", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_render::view::visibility::InheritedVisibility": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "bevy_render::view::visibility::InheritedVisibility", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bool" + } + } + ], + "short_name": "InheritedVisibility", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_render::view::visibility::NoFrustumCulling": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::view::visibility::NoFrustumCulling", + "properties": {}, + "required": [], + "short_name": "NoFrustumCulling", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::view::visibility::ViewVisibility": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "bevy_render::view::visibility::ViewVisibility", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bool" + } + } + ], + "short_name": "ViewVisibility", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_render::view::visibility::Visibility": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::view::visibility::Visibility", + "oneOf": [ + "Inherited", + "Hidden", + "Visible" + ], + "short_name": "Visibility", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_render::view::visibility::VisibleEntities": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_render::view::visibility::VisibleEntities", + "properties": {}, + "required": [], + "short_name": "VisibleEntities", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::view::visibility::range::VisibilityRange": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_render::view::visibility::range::VisibilityRange", + "properties": { + "end_margin": { + "type": { + "$ref": "#/$defs/core::ops::Range" + } + }, + "start_margin": { + "type": { + "$ref": "#/$defs/core::ops::Range" + } + } + }, + "required": [ + "start_margin", + "end_margin" + ], + "short_name": "VisibilityRange", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_render::view::visibility::render_layers::RenderLayers": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "bevy_render::view::visibility::render_layers::RenderLayers", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/smallvec::SmallVec<[u64; 1]>" + } + } + ], + "short_name": "RenderLayers", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_sprite::SpriteSource": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_sprite::SpriteSource", + "properties": {}, + "required": [], + "short_name": "SpriteSource", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_sprite::mesh2d::color_material::ColorMaterial": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_sprite::mesh2d::color_material::ColorMaterial", + "properties": { + "color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "texture": { + "type": { + "$ref": "#/$defs/core::option::Option>" + } + } + }, + "required": [ + "color" + ], + "short_name": "ColorMaterial", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_sprite::mesh2d::mesh::Mesh2dHandle": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "bevy_sprite::mesh2d::mesh::Mesh2dHandle", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + } + ], + "short_name": "Mesh2dHandle", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_sprite::sprite::Anchor": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_sprite::sprite::Anchor", + "oneOf": [ + { + "long_name": "Center" + }, + { + "long_name": "BottomLeft" + }, + { + "long_name": "BottomCenter" + }, + { + "long_name": "BottomRight" + }, + { + "long_name": "CenterLeft" + }, + { + "long_name": "CenterRight" + }, + { + "long_name": "TopLeft" + }, + { + "long_name": "TopCenter" + }, + { + "long_name": "TopRight" + }, + { + "items": false, + "long_name": "Custom", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + } + ], + "short_name": "Custom", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Anchor", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_sprite::sprite::ImageScaleMode": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_sprite::sprite::ImageScaleMode", + "oneOf": [ + { + "items": false, + "long_name": "Sliced", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_sprite::texture_slice::slicer::TextureSlicer" + } + } + ], + "short_name": "Sliced", + "type": "array", + "typeInfo": "Tuple" + }, + { + "additionalProperties": false, + "long_name": "Tiled", + "properties": { + "stretch_value": { + "long_name": "stretch_value", + "type": { + "$ref": "#/$defs/f32" + } + }, + "tile_x": { + "long_name": "tile_x", + "type": { + "$ref": "#/$defs/bool" + } + }, + "tile_y": { + "long_name": "tile_y", + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "tile_x", + "tile_y", + "stretch_value" + ], + "short_name": "Tiled", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "ImageScaleMode", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_sprite::sprite::Sprite": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_sprite::sprite::Sprite", + "properties": { + "anchor": { + "type": { + "$ref": "#/$defs/bevy_sprite::sprite::Anchor" + } + }, + "color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "custom_size": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "flip_x": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "flip_y": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "rect": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + } + }, + "required": [ + "color", + "flip_x", + "flip_y", + "anchor" + ], + "short_name": "Sprite", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_sprite::texture_atlas::TextureAtlas": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_sprite::texture_atlas::TextureAtlas", + "properties": { + "index": { + "type": { + "$ref": "#/$defs/usize" + } + }, + "layout": { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + } + }, + "required": [ + "layout", + "index" + ], + "short_name": "TextureAtlas", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_sprite::texture_atlas::TextureAtlasLayout": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_sprite::texture_atlas::TextureAtlasLayout", + "properties": { + "size": { + "type": { + "$ref": "#/$defs/glam::UVec2" + } + }, + "texture_handles": { + "type": { + "$ref": "#/$defs/core::option::Option, usize, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>>" + } + }, + "textures": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "size", + "textures" + ], + "short_name": "TextureAtlasLayout", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_sprite::texture_slice::border_rect::BorderRect": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_sprite::texture_slice::border_rect::BorderRect", + "properties": { + "bottom": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "left": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "right": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "top": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "left", + "right", + "top", + "bottom" + ], + "short_name": "BorderRect", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_sprite::texture_slice::slicer::SliceScaleMode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_sprite::texture_slice::slicer::SliceScaleMode", + "oneOf": [ + { + "long_name": "Stretch" + }, + { + "additionalProperties": false, + "long_name": "Tile", + "properties": { + "stretch_value": { + "long_name": "stretch_value", + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "stretch_value" + ], + "short_name": "Tile", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "SliceScaleMode", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_sprite::texture_slice::slicer::TextureSlicer": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_sprite::texture_slice::slicer::TextureSlicer", + "properties": { + "border": { + "type": { + "$ref": "#/$defs/bevy_sprite::texture_slice::border_rect::BorderRect" + } + }, + "center_scale_mode": { + "type": { + "$ref": "#/$defs/bevy_sprite::texture_slice::slicer::SliceScaleMode" + } + }, + "max_corner_scale": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "sides_scale_mode": { + "type": { + "$ref": "#/$defs/bevy_sprite::texture_slice::slicer::SliceScaleMode" + } + } + }, + "required": [ + "border", + "center_scale_mode", + "sides_scale_mode", + "max_corner_scale" + ], + "short_name": "TextureSlicer", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_text::font_atlas_set::GlyphAtlasInfo": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_text::font_atlas_set::GlyphAtlasInfo", + "properties": { + "glyph_index": { + "type": { + "$ref": "#/$defs/usize" + } + }, + "texture": { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + }, + "texture_atlas": { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + } + }, + "required": [ + "texture_atlas", + "texture", + "glyph_index" + ], + "short_name": "GlyphAtlasInfo", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_text::glyph_brush::PositionedGlyph": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_text::glyph_brush::PositionedGlyph", + "properties": { + "atlas_info": { + "type": { + "$ref": "#/$defs/bevy_text::font_atlas_set::GlyphAtlasInfo" + } + }, + "byte_index": { + "type": { + "$ref": "#/$defs/usize" + } + }, + "position": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + }, + "section_index": { + "type": { + "$ref": "#/$defs/usize" + } + }, + "size": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + } + }, + "required": [ + "position", + "size", + "atlas_info", + "section_index", + "byte_index" + ], + "short_name": "PositionedGlyph", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_text::pipeline::TextLayoutInfo": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_text::pipeline::TextLayoutInfo", + "properties": { + "glyphs": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + }, + "logical_size": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + } + }, + "required": [ + "glyphs", + "logical_size" + ], + "short_name": "TextLayoutInfo", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_text::text2d::Text2dBounds": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_text::text2d::Text2dBounds", + "properties": { + "size": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + } + }, + "required": [ + "size" + ], + "short_name": "Text2dBounds", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_text::text::BreakLineOn": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_text::text::BreakLineOn", + "oneOf": [ + "WordBoundary", + "AnyCharacter", + "NoWrap" + ], + "short_name": "BreakLineOn", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_text::text::JustifyText": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_text::text::JustifyText", + "oneOf": [ + "Left", + "Center", + "Right" + ], + "short_name": "JustifyText", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_text::text::Text": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_text::text::Text", + "properties": { + "justify": { + "type": { + "$ref": "#/$defs/bevy_text::text::JustifyText" + } + }, + "linebreak_behavior": { + "type": { + "$ref": "#/$defs/bevy_text::text::BreakLineOn" + } + }, + "sections": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "sections", + "justify", + "linebreak_behavior" + ], + "short_name": "Text", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_text::text::TextSection": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_text::text::TextSection", + "properties": { + "style": { + "type": { + "$ref": "#/$defs/bevy_text::text::TextStyle" + } + }, + "value": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + } + }, + "required": [ + "value", + "style" + ], + "short_name": "TextSection", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_text::text::TextStyle": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_text::text::TextStyle", + "properties": { + "color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "font": { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + }, + "font_size": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "font", + "font_size", + "color" + ], + "short_name": "TextStyle", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_time::fixed::Fixed": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_time::fixed::Fixed", + "properties": { + "overstep": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "timestep": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + } + }, + "required": [ + "timestep", + "overstep" + ], + "short_name": "Fixed", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_time::real::Real": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_time::real::Real", + "properties": { + "first_update": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "last_update": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "startup": { + "type": { + "$ref": "#/$defs/bevy_utils::Instant" + } + } + }, + "required": [ + "startup" + ], + "short_name": "Real", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_time::stopwatch::Stopwatch": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_time::stopwatch::Stopwatch", + "properties": { + "elapsed": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "paused": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "elapsed", + "paused" + ], + "short_name": "Stopwatch", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_time::time::Time<()>": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "bevy_time::time::Time<()>", + "properties": { + "context": { + "type": { + "$ref": "#/$defs/()" + } + }, + "delta": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "delta_seconds": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "delta_seconds_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "elapsed_seconds": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "elapsed_seconds_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed_seconds_wrapped": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "elapsed_seconds_wrapped_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed_wrapped": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "wrap_period": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + } + }, + "required": [ + "context", + "wrap_period", + "delta", + "delta_seconds", + "delta_seconds_f64", + "elapsed", + "elapsed_seconds", + "elapsed_seconds_f64", + "elapsed_wrapped", + "elapsed_seconds_wrapped", + "elapsed_seconds_wrapped_f64" + ], + "short_name": "Time<()>", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_time::time::Time": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "bevy_time::time::Time", + "properties": { + "context": { + "type": { + "$ref": "#/$defs/bevy_time::fixed::Fixed" + } + }, + "delta": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "delta_seconds": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "delta_seconds_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "elapsed_seconds": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "elapsed_seconds_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed_seconds_wrapped": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "elapsed_seconds_wrapped_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed_wrapped": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "wrap_period": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + } + }, + "required": [ + "context", + "wrap_period", + "delta", + "delta_seconds", + "delta_seconds_f64", + "elapsed", + "elapsed_seconds", + "elapsed_seconds_f64", + "elapsed_wrapped", + "elapsed_seconds_wrapped", + "elapsed_seconds_wrapped_f64" + ], + "short_name": "Time", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_time::time::Time": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "bevy_time::time::Time", + "properties": { + "context": { + "type": { + "$ref": "#/$defs/bevy_time::real::Real" + } + }, + "delta": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "delta_seconds": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "delta_seconds_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "elapsed_seconds": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "elapsed_seconds_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed_seconds_wrapped": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "elapsed_seconds_wrapped_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed_wrapped": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "wrap_period": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + } + }, + "required": [ + "context", + "wrap_period", + "delta", + "delta_seconds", + "delta_seconds_f64", + "elapsed", + "elapsed_seconds", + "elapsed_seconds_f64", + "elapsed_wrapped", + "elapsed_seconds_wrapped", + "elapsed_seconds_wrapped_f64" + ], + "short_name": "Time", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_time::time::Time": { + "additionalProperties": false, + "isComponent": false, + "isResource": true, + "long_name": "bevy_time::time::Time", + "properties": { + "context": { + "type": { + "$ref": "#/$defs/bevy_time::virt::Virtual" + } + }, + "delta": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "delta_seconds": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "delta_seconds_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "elapsed_seconds": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "elapsed_seconds_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed_seconds_wrapped": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "elapsed_seconds_wrapped_f64": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "elapsed_wrapped": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "wrap_period": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + } + }, + "required": [ + "context", + "wrap_period", + "delta", + "delta_seconds", + "delta_seconds_f64", + "elapsed", + "elapsed_seconds", + "elapsed_seconds_f64", + "elapsed_wrapped", + "elapsed_seconds_wrapped", + "elapsed_seconds_wrapped_f64" + ], + "short_name": "Time", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_time::timer::Timer": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_time::timer::Timer", + "properties": { + "duration": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "finished": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "mode": { + "type": { + "$ref": "#/$defs/bevy_time::timer::TimerMode" + } + }, + "stopwatch": { + "type": { + "$ref": "#/$defs/bevy_time::stopwatch::Stopwatch" + } + }, + "times_finished_this_tick": { + "type": { + "$ref": "#/$defs/u32" + } + } + }, + "required": [ + "stopwatch", + "duration", + "mode", + "finished", + "times_finished_this_tick" + ], + "short_name": "Timer", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_time::timer::TimerMode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_time::timer::TimerMode", + "oneOf": [ + "Once", + "Repeating" + ], + "short_name": "TimerMode", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_time::virt::Virtual": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_time::virt::Virtual", + "properties": { + "effective_speed": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "max_delta": { + "type": { + "$ref": "#/$defs/bevy_utils::Duration" + } + }, + "paused": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "relative_speed": { + "type": { + "$ref": "#/$defs/f64" + } + } + }, + "required": [ + "max_delta", + "paused", + "relative_speed", + "effective_speed" + ], + "short_name": "Virtual", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_transform::components::global_transform::GlobalTransform": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "bevy_transform::components::global_transform::GlobalTransform", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Affine3A" + } + } + ], + "short_name": "GlobalTransform", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_transform::components::transform::Transform": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_transform::components::transform::Transform", + "properties": { + "rotation": { + "type": { + "$ref": "#/$defs/glam::Quat" + } + }, + "scale": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "translation": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "translation", + "rotation", + "scale" + ], + "short_name": "Transform", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::UiScale": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "bevy_ui::UiScale", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "UiScale", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_ui::focus::FocusPolicy": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::focus::FocusPolicy", + "oneOf": [ + "Block", + "Pass" + ], + "short_name": "FocusPolicy", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::focus::Interaction": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::focus::Interaction", + "oneOf": [ + "Pressed", + "Hovered", + "None" + ], + "short_name": "Interaction", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::focus::RelativeCursorPosition": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::focus::RelativeCursorPosition", + "properties": { + "normalized": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "normalized_visible_node_rect": { + "type": { + "$ref": "#/$defs/bevy_math::rects::rect::Rect" + } + } + }, + "required": [ + "normalized_visible_node_rect" + ], + "short_name": "RelativeCursorPosition", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::geometry::UiRect": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::geometry::UiRect", + "properties": { + "bottom": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "left": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "right": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "top": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + } + }, + "required": [ + "left", + "right", + "top", + "bottom" + ], + "short_name": "UiRect", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::geometry::Val": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::geometry::Val", + "oneOf": [ + { + "long_name": "Auto" + }, + { + "items": false, + "long_name": "Px", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "Px", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Percent", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "Percent", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Vw", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "Vw", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Vh", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "Vh", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "VMin", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "VMin", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "VMax", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "VMax", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Val", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_ui::measurement::ContentSize": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::measurement::ContentSize", + "properties": {}, + "required": [], + "short_name": "ContentSize", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::ui_node::AlignContent": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::AlignContent", + "oneOf": [ + "Default", + "Start", + "End", + "FlexStart", + "FlexEnd", + "Center", + "Stretch", + "SpaceBetween", + "SpaceEvenly", + "SpaceAround" + ], + "short_name": "AlignContent", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::AlignItems": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::AlignItems", + "oneOf": [ + "Default", + "Start", + "End", + "FlexStart", + "FlexEnd", + "Center", + "Baseline", + "Stretch" + ], + "short_name": "AlignItems", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::AlignSelf": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::AlignSelf", + "oneOf": [ + "Auto", + "Start", + "End", + "FlexStart", + "FlexEnd", + "Center", + "Baseline", + "Stretch" + ], + "short_name": "AlignSelf", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::BackgroundColor": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "bevy_ui::ui_node::BackgroundColor", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + } + ], + "short_name": "BackgroundColor", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_ui::ui_node::BorderColor": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "bevy_ui::ui_node::BorderColor", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + } + ], + "short_name": "BorderColor", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_ui::ui_node::BorderRadius": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::ui_node::BorderRadius", + "properties": { + "bottom_left": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "bottom_right": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "top_left": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "top_right": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + } + }, + "required": [ + "top_left", + "top_right", + "bottom_left", + "bottom_right" + ], + "short_name": "BorderRadius", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::ui_node::CalculatedClip": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::ui_node::CalculatedClip", + "properties": { + "clip": { + "type": { + "$ref": "#/$defs/bevy_math::rects::rect::Rect" + } + } + }, + "required": [ + "clip" + ], + "short_name": "CalculatedClip", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::ui_node::Direction": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::Direction", + "oneOf": [ + "Inherit", + "LeftToRight", + "RightToLeft" + ], + "short_name": "Direction", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::Display": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::Display", + "oneOf": [ + "Flex", + "Grid", + "Block", + "None" + ], + "short_name": "Display", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::FlexDirection": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::FlexDirection", + "oneOf": [ + "Row", + "Column", + "RowReverse", + "ColumnReverse" + ], + "short_name": "FlexDirection", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::FlexWrap": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::FlexWrap", + "oneOf": [ + "NoWrap", + "Wrap", + "WrapReverse" + ], + "short_name": "FlexWrap", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::GridAutoFlow": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::GridAutoFlow", + "oneOf": [ + "Row", + "Column", + "RowDense", + "ColumnDense" + ], + "short_name": "GridAutoFlow", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::GridPlacement": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::GridPlacement", + "properties": { + "end": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "span": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "start": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + } + }, + "required": [], + "short_name": "GridPlacement", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::ui_node::GridTrack": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::GridTrack", + "properties": { + "max_sizing_function": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::MaxTrackSizingFunction" + } + }, + "min_sizing_function": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::MinTrackSizingFunction" + } + } + }, + "required": [ + "min_sizing_function", + "max_sizing_function" + ], + "short_name": "GridTrack", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::ui_node::GridTrackRepetition": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::GridTrackRepetition", + "oneOf": [ + { + "items": false, + "long_name": "Count", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/u16" + } + } + ], + "short_name": "Count", + "type": "array", + "typeInfo": "Tuple" + }, + { + "long_name": "AutoFill" + }, + { + "long_name": "AutoFit" + } + ], + "short_name": "GridTrackRepetition", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::JustifyContent": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::JustifyContent", + "oneOf": [ + "Default", + "Start", + "End", + "FlexStart", + "FlexEnd", + "Center", + "Stretch", + "SpaceBetween", + "SpaceEvenly", + "SpaceAround" + ], + "short_name": "JustifyContent", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::JustifyItems": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::JustifyItems", + "oneOf": [ + "Default", + "Start", + "End", + "Center", + "Baseline", + "Stretch" + ], + "short_name": "JustifyItems", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::JustifySelf": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::JustifySelf", + "oneOf": [ + "Auto", + "Start", + "End", + "Center", + "Baseline", + "Stretch" + ], + "short_name": "JustifySelf", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::MaxTrackSizingFunction": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::MaxTrackSizingFunction", + "short_name": "MaxTrackSizingFunction", + "type": "object", + "typeInfo": "Value" + }, + "bevy_ui::ui_node::MinTrackSizingFunction": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::MinTrackSizingFunction", + "short_name": "MinTrackSizingFunction", + "type": "object", + "typeInfo": "Value" + }, + "bevy_ui::ui_node::Node": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::ui_node::Node", + "properties": { + "calculated_size": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + }, + "outline_offset": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "outline_width": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "stack_index": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "unrounded_size": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + } + }, + "required": [ + "stack_index", + "calculated_size", + "outline_width", + "outline_offset", + "unrounded_size" + ], + "short_name": "Node", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::ui_node::Outline": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::ui_node::Outline", + "properties": { + "color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "offset": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "width": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + } + }, + "required": [ + "width", + "offset", + "color" + ], + "short_name": "Outline", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::ui_node::Overflow": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::Overflow", + "properties": { + "x": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::OverflowAxis" + } + }, + "y": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::OverflowAxis" + } + } + }, + "required": [ + "x", + "y" + ], + "short_name": "Overflow", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::ui_node::OverflowAxis": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::OverflowAxis", + "oneOf": [ + "Visible", + "Clip", + "Hidden" + ], + "short_name": "OverflowAxis", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::PositionType": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::PositionType", + "oneOf": [ + "Relative", + "Absolute" + ], + "short_name": "PositionType", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_ui::ui_node::RepeatedGridTrack": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_ui::ui_node::RepeatedGridTrack", + "properties": { + "repetition": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::GridTrackRepetition" + } + }, + "tracks": { + "type": { + "$ref": "#/$defs/smallvec::SmallVec<[bevy_ui::ui_node::GridTrack; 1]>" + } + } + }, + "required": [ + "repetition", + "tracks" + ], + "short_name": "RepeatedGridTrack", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::ui_node::Style": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::ui_node::Style", + "properties": { + "align_content": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::AlignContent" + } + }, + "align_items": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::AlignItems" + } + }, + "align_self": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::AlignSelf" + } + }, + "aspect_ratio": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "border": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::UiRect" + } + }, + "bottom": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "column_gap": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "direction": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::Direction" + } + }, + "display": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::Display" + } + }, + "flex_basis": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "flex_direction": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::FlexDirection" + } + }, + "flex_grow": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "flex_shrink": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "flex_wrap": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::FlexWrap" + } + }, + "grid_auto_columns": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + }, + "grid_auto_flow": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::GridAutoFlow" + } + }, + "grid_auto_rows": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + }, + "grid_column": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::GridPlacement" + } + }, + "grid_row": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::GridPlacement" + } + }, + "grid_template_columns": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + }, + "grid_template_rows": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + }, + "height": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "justify_content": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::JustifyContent" + } + }, + "justify_items": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::JustifyItems" + } + }, + "justify_self": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::JustifySelf" + } + }, + "left": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "margin": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::UiRect" + } + }, + "max_height": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "max_width": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "min_height": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "min_width": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "overflow": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::Overflow" + } + }, + "padding": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::UiRect" + } + }, + "position_type": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::PositionType" + } + }, + "right": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "row_gap": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "top": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + }, + "width": { + "type": { + "$ref": "#/$defs/bevy_ui::geometry::Val" + } + } + }, + "required": [ + "display", + "position_type", + "overflow", + "direction", + "left", + "right", + "top", + "bottom", + "width", + "height", + "min_width", + "min_height", + "max_width", + "max_height", + "align_items", + "justify_items", + "align_self", + "justify_self", + "align_content", + "justify_content", + "margin", + "padding", + "border", + "flex_direction", + "flex_wrap", + "flex_grow", + "flex_shrink", + "flex_basis", + "row_gap", + "column_gap", + "grid_auto_flow", + "grid_template_rows", + "grid_template_columns", + "grid_auto_rows", + "grid_auto_columns", + "grid_row", + "grid_column" + ], + "short_name": "Style", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::ui_node::TargetCamera": { + "isComponent": false, + "isResource": false, + "items": false, + "long_name": "bevy_ui::ui_node::TargetCamera", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + ], + "short_name": "TargetCamera", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bevy_ui::ui_node::UiImage": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::ui_node::UiImage", + "properties": { + "color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "flip_x": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "flip_y": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "texture": { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + } + }, + "required": [ + "color", + "texture", + "flip_x", + "flip_y" + ], + "short_name": "UiImage", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::ui_node::ZIndex": { + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::ui_node::ZIndex", + "oneOf": [ + { + "items": false, + "long_name": "Local", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/i32" + } + } + ], + "short_name": "Local", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "Global", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/i32" + } + } + ], + "short_name": "Global", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "ZIndex", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_ui::widget::button::Button": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::widget::button::Button", + "properties": {}, + "required": [], + "short_name": "Button", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::widget::image::UiImageSize": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::widget::image::UiImageSize", + "properties": { + "size": { + "type": { + "$ref": "#/$defs/glam::UVec2" + } + } + }, + "required": [ + "size" + ], + "short_name": "UiImageSize", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::widget::label::Label": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::widget::label::Label", + "properties": {}, + "required": [], + "short_name": "Label", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_ui::widget::text::TextFlags": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_ui::widget::text::TextFlags", + "properties": { + "needs_new_measure_func": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "needs_recompute": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "needs_new_measure_func", + "needs_recompute" + ], + "short_name": "TextFlags", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_utils::Duration": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_utils::Duration", + "short_name": "Duration", + "type": "object", + "typeInfo": "Value" + }, + "bevy_utils::Instant": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_utils::Instant", + "short_name": "Instant", + "type": "object", + "typeInfo": "Value" + }, + "bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>", + "short_name": "HashMap, DefaultHashBuilder>", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>", + "short_name": "HashMap, DefaultHashBuilder>", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + } + }, + "bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>", + "short_name": "HashMap, DefaultHashBuilder>, DefaultHashBuilder>", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>" + } + } + }, + "bevy_utils::hashbrown::HashMap": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap", + "short_name": "HashMap", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/petgraph::graph::NodeIndex" + } + } + }, + "bevy_utils::hashbrown::HashMap, bevy_utils::NoOpHash>": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/bevy_animation::AnimationTargetId" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap, bevy_utils::NoOpHash>", + "short_name": "HashMap, NoOpHash>", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "bevy_utils::hashbrown::HashMap, usize, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/bevy_asset::id::AssetId" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap, usize, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>", + "short_name": "HashMap, usize, DefaultHashBuilder>", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/usize" + } + } + }, + "bevy_utils::hashbrown::HashMap, bevy_ecs::entity::hash::EntityHash>": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap, bevy_ecs::entity::hash::EntityHash>", + "short_name": "HashMap, EntityHash>", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "bevy_utils::hashbrown::HashMap": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadAxis" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap", + "short_name": "HashMap", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::AxisSettings" + } + } + }, + "bevy_utils::hashbrown::HashMap": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadButton" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap", + "short_name": "HashMap", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::ButtonAxisSettings" + } + } + }, + "bevy_utils::hashbrown::HashMap": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::GamepadButton" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap", + "short_name": "HashMap", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/bevy_input::gamepad::ButtonSettings" + } + } + }, + "bevy_utils::hashbrown::HashMap": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/petgraph::graph::NodeIndex" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap", + "short_name": "HashMap", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "long_name": "bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>", + "short_name": "HashMap, DefaultHashBuilder>", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "bevy_window::cursor::CursorIcon": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::cursor::CursorIcon", + "oneOf": [ + "Default", + "ContextMenu", + "Help", + "Pointer", + "Progress", + "Wait", + "Cell", + "Crosshair", + "Text", + "VerticalText", + "Alias", + "Copy", + "Move", + "NoDrop", + "NotAllowed", + "Grab", + "Grabbing", + "EResize", + "NResize", + "NeResize", + "NwResize", + "SResize", + "SeResize", + "SwResize", + "WResize", + "EwResize", + "NsResize", + "NeswResize", + "NwseResize", + "ColResize", + "RowResize", + "AllScroll", + "ZoomIn", + "ZoomOut" + ], + "short_name": "CursorIcon", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_window::event::AppLifecycle": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::AppLifecycle", + "oneOf": [ + "Idle", + "Running", + "WillSuspend", + "Suspended", + "WillResume" + ], + "short_name": "AppLifecycle", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_window::event::CursorEntered": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::CursorEntered", + "properties": { + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window" + ], + "short_name": "CursorEntered", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::CursorLeft": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::CursorLeft", + "properties": { + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window" + ], + "short_name": "CursorLeft", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::CursorMoved": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::CursorMoved", + "properties": { + "delta": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "position": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + }, + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window", + "position" + ], + "short_name": "CursorMoved", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::FileDragAndDrop": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::FileDragAndDrop", + "oneOf": [ + { + "additionalProperties": false, + "long_name": "DroppedFile", + "properties": { + "path_buf": { + "long_name": "path_buf", + "type": { + "$ref": "#/$defs/std::path::PathBuf" + } + }, + "window": { + "long_name": "window", + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window", + "path_buf" + ], + "short_name": "DroppedFile", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "HoveredFile", + "properties": { + "path_buf": { + "long_name": "path_buf", + "type": { + "$ref": "#/$defs/std::path::PathBuf" + } + }, + "window": { + "long_name": "window", + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window", + "path_buf" + ], + "short_name": "HoveredFile", + "type": "object", + "typeInfo": "Struct" + }, + { + "additionalProperties": false, + "long_name": "HoveredFileCanceled", + "properties": { + "window": { + "long_name": "window", + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window" + ], + "short_name": "HoveredFileCanceled", + "type": "object", + "typeInfo": "Struct" + } + ], + "short_name": "FileDragAndDrop", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_window::event::ReceivedCharacter": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::ReceivedCharacter", + "properties": { + "char": { + "type": { + "$ref": "#/$defs/smol_str::SmolStr" + } + }, + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window", + "char" + ], + "short_name": "ReceivedCharacter", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::RequestRedraw": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::RequestRedraw", + "properties": {}, + "required": [], + "short_name": "RequestRedraw", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::WindowBackendScaleFactorChanged": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::WindowBackendScaleFactorChanged", + "properties": { + "scale_factor": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window", + "scale_factor" + ], + "short_name": "WindowBackendScaleFactorChanged", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::WindowCloseRequested": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::WindowCloseRequested", + "properties": { + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window" + ], + "short_name": "WindowCloseRequested", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::WindowClosed": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::WindowClosed", + "properties": { + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window" + ], + "short_name": "WindowClosed", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::WindowClosing": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::WindowClosing", + "properties": { + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window" + ], + "short_name": "WindowClosing", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::WindowCreated": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::WindowCreated", + "properties": { + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window" + ], + "short_name": "WindowCreated", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::WindowFocused": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::WindowFocused", + "properties": { + "focused": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window", + "focused" + ], + "short_name": "WindowFocused", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::WindowMoved": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::WindowMoved", + "properties": { + "position": { + "type": { + "$ref": "#/$defs/glam::IVec2" + } + }, + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window", + "position" + ], + "short_name": "WindowMoved", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::WindowOccluded": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::WindowOccluded", + "properties": { + "occluded": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window", + "occluded" + ], + "short_name": "WindowOccluded", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::WindowResized": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::WindowResized", + "properties": { + "height": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "width": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window", + "width", + "height" + ], + "short_name": "WindowResized", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::WindowScaleFactorChanged": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::WindowScaleFactorChanged", + "properties": { + "scale_factor": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window", + "scale_factor" + ], + "short_name": "WindowScaleFactorChanged", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::event::WindowThemeChanged": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::event::WindowThemeChanged", + "properties": { + "theme": { + "type": { + "$ref": "#/$defs/bevy_window::window::WindowTheme" + } + }, + "window": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + }, + "required": [ + "window", + "theme" + ], + "short_name": "WindowThemeChanged", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::window::CompositeAlphaMode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::CompositeAlphaMode", + "oneOf": [ + "Auto", + "Opaque", + "PreMultiplied", + "PostMultiplied", + "Inherit" + ], + "short_name": "CompositeAlphaMode", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_window::window::Cursor": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::Cursor", + "properties": { + "grab_mode": { + "type": { + "$ref": "#/$defs/bevy_window::window::CursorGrabMode" + } + }, + "hit_test": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "icon": { + "type": { + "$ref": "#/$defs/bevy_window::cursor::CursorIcon" + } + }, + "visible": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "icon", + "visible", + "grab_mode", + "hit_test" + ], + "short_name": "Cursor", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::window::CursorGrabMode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::CursorGrabMode", + "oneOf": [ + "None", + "Confined", + "Locked" + ], + "short_name": "CursorGrabMode", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_window::window::EnabledButtons": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::EnabledButtons", + "properties": { + "close": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "maximize": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "minimize": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "minimize", + "maximize", + "close" + ], + "short_name": "EnabledButtons", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::window::InternalWindowState": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::InternalWindowState", + "properties": { + "maximize_request": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "minimize_request": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "physical_cursor_position": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + } + }, + "required": [], + "short_name": "InternalWindowState", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::window::MonitorSelection": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::MonitorSelection", + "oneOf": [ + { + "long_name": "Current" + }, + { + "long_name": "Primary" + }, + { + "items": false, + "long_name": "Index", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/usize" + } + } + ], + "short_name": "Index", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "MonitorSelection", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_window::window::PresentMode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::PresentMode", + "oneOf": [ + "AutoVsync", + "AutoNoVsync", + "Fifo", + "FifoRelaxed", + "Immediate", + "Mailbox" + ], + "short_name": "PresentMode", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_window::window::PrimaryWindow": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_window::window::PrimaryWindow", + "properties": {}, + "required": [], + "short_name": "PrimaryWindow", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::window::Window": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "bevy_window::window::Window", + "properties": { + "canvas": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "composite_alpha_mode": { + "type": { + "$ref": "#/$defs/bevy_window::window::CompositeAlphaMode" + } + }, + "cursor": { + "type": { + "$ref": "#/$defs/bevy_window::window::Cursor" + } + }, + "decorations": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "desired_maximum_frame_latency": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "enabled_buttons": { + "type": { + "$ref": "#/$defs/bevy_window::window::EnabledButtons" + } + }, + "fit_canvas_to_parent": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "focused": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "ime_enabled": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "ime_position": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + }, + "internal": { + "type": { + "$ref": "#/$defs/bevy_window::window::InternalWindowState" + } + }, + "mode": { + "type": { + "$ref": "#/$defs/bevy_window::window::WindowMode" + } + }, + "name": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + }, + "position": { + "type": { + "$ref": "#/$defs/bevy_window::window::WindowPosition" + } + }, + "present_mode": { + "type": { + "$ref": "#/$defs/bevy_window::window::PresentMode" + } + }, + "prevent_default_event_handling": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "recognize_doubletap_gesture": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "recognize_pan_gesture": { + "type": { + "$ref": "#/$defs/core::option::Option<(u8, u8)>" + } + }, + "recognize_pinch_gesture": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "recognize_rotation_gesture": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "resizable": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "resize_constraints": { + "type": { + "$ref": "#/$defs/bevy_window::window::WindowResizeConstraints" + } + }, + "resolution": { + "type": { + "$ref": "#/$defs/bevy_window::window::WindowResolution" + } + }, + "skip_taskbar": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "title": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + }, + "transparent": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "visible": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "window_level": { + "type": { + "$ref": "#/$defs/bevy_window::window::WindowLevel" + } + }, + "window_theme": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + } + }, + "required": [ + "cursor", + "present_mode", + "mode", + "position", + "resolution", + "title", + "composite_alpha_mode", + "resize_constraints", + "resizable", + "enabled_buttons", + "decorations", + "transparent", + "focused", + "window_level", + "fit_canvas_to_parent", + "prevent_default_event_handling", + "internal", + "ime_enabled", + "ime_position", + "visible", + "skip_taskbar", + "recognize_pinch_gesture", + "recognize_rotation_gesture", + "recognize_doubletap_gesture" + ], + "short_name": "Window", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::window::WindowLevel": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::WindowLevel", + "oneOf": [ + "AlwaysOnBottom", + "Normal", + "AlwaysOnTop" + ], + "short_name": "WindowLevel", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_window::window::WindowMode": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::WindowMode", + "oneOf": [ + "Windowed", + "BorderlessFullscreen", + "SizedFullscreen", + "Fullscreen" + ], + "short_name": "WindowMode", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_window::window::WindowPosition": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::WindowPosition", + "oneOf": [ + { + "long_name": "Automatic" + }, + { + "items": false, + "long_name": "Centered", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_window::window::MonitorSelection" + } + } + ], + "short_name": "Centered", + "type": "array", + "typeInfo": "Tuple" + }, + { + "items": false, + "long_name": "At", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::IVec2" + } + } + ], + "short_name": "At", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "WindowPosition", + "type": "object", + "typeInfo": "Enum" + }, + "bevy_window::window::WindowResizeConstraints": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::WindowResizeConstraints", + "properties": { + "max_height": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "max_width": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "min_height": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "min_width": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "min_width", + "min_height", + "max_width", + "max_height" + ], + "short_name": "WindowResizeConstraints", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::window::WindowResolution": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::WindowResolution", + "properties": { + "physical_height": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "physical_width": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "scale_factor": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "scale_factor_override": { + "type": { + "$ref": "#/$defs/core::option::Option" + } + } + }, + "required": [ + "physical_width", + "physical_height", + "scale_factor" + ], + "short_name": "WindowResolution", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_window::window::WindowTheme": { + "isComponent": false, + "isResource": false, + "long_name": "bevy_window::window::WindowTheme", + "oneOf": [ + "Light", + "Dark" + ], + "short_name": "WindowTheme", + "type": "string", + "typeInfo": "Enum" + }, + "blenvy::blueprints::animation::AnimationInfo": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "blenvy::blueprints::animation::AnimationInfo", + "properties": { + "frame_end": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "frame_end_override": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "frame_start": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "frame_start_override": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "frames_length": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "name": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + } + }, + "required": [ + "name", + "frame_start", + "frame_end", + "frames_length", + "frame_start_override", + "frame_end_override" + ], + "short_name": "AnimationInfo", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::blueprints::animation::AnimationInfos": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::blueprints::animation::AnimationInfos", + "properties": { + "animations": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "animations" + ], + "short_name": "AnimationInfos", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::blueprints::animation::AnimationMarkers": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "blenvy::blueprints::animation::AnimationMarkers", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>" + } + } + ], + "short_name": "AnimationMarkers", + "type": "array", + "typeInfo": "TupleStruct" + }, + "blenvy::blueprints::animation::BlueprintAnimations": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::blueprints::animation::BlueprintAnimations", + "properties": { + "graph": { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + }, + "named_animations": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>" + } + }, + "named_indices": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap" + } + } + }, + "required": [ + "named_animations", + "named_indices", + "graph" + ], + "short_name": "BlueprintAnimations", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::blueprints::animation::InstanceAnimations": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::blueprints::animation::InstanceAnimations", + "properties": { + "graph": { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + }, + "named_animations": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>" + } + }, + "named_indices": { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap" + } + } + }, + "required": [ + "named_animations", + "named_indices", + "graph" + ], + "short_name": "InstanceAnimations", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::blueprints::assets::BlueprintAsset": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::blueprints::assets::BlueprintAsset", + "properties": { + "name": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + }, + "path": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + } + }, + "required": [ + "name", + "path" + ], + "short_name": "BlueprintAsset", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::blueprints::assets::BlueprintAssets": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::blueprints::assets::BlueprintAssets", + "properties": { + "assets": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + }, + "loaded": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "progress": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "assets", + "loaded", + "progress" + ], + "short_name": "BlueprintAssets", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::blueprints::materials::MaterialInfo": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "blenvy::blueprints::materials::MaterialInfo", + "properties": { + "name": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + }, + "path": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + } + }, + "required": [ + "name", + "path" + ], + "short_name": "MaterialInfo", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::blueprints::materials::MaterialInfos": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "blenvy::blueprints::materials::MaterialInfos", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + ], + "short_name": "MaterialInfos", + "type": "array", + "typeInfo": "TupleStruct" + }, + "blenvy::blueprints::spawn_from_blueprints::BlueprintInfo": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::blueprints::spawn_from_blueprints::BlueprintInfo", + "properties": { + "name": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + }, + "path": { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + } + }, + "required": [ + "name", + "path" + ], + "short_name": "BlueprintInfo", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::blueprints::spawn_from_blueprints::BlueprintInstanceDisabled": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::blueprints::spawn_from_blueprints::BlueprintInstanceDisabled", + "properties": {}, + "required": [], + "short_name": "BlueprintInstanceDisabled", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::blueprints::spawn_from_blueprints::HideUntilReady": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::blueprints::spawn_from_blueprints::HideUntilReady", + "properties": {}, + "required": [], + "short_name": "HideUntilReady", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::blueprints::spawn_from_blueprints::SpawnBlueprint": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::blueprints::spawn_from_blueprints::SpawnBlueprint", + "properties": {}, + "required": [], + "short_name": "SpawnBlueprint", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::components::GltfProcessed": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::components::GltfProcessed", + "properties": {}, + "required": [], + "short_name": "GltfProcessed", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::components::blender_settings::lighting::BlenderBackgroundShader": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::components::blender_settings::lighting::BlenderBackgroundShader", + "properties": { + "color": { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + }, + "strength": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "color", + "strength" + ], + "short_name": "BlenderBackgroundShader", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::components::blender_settings::lighting::BlenderColorGrading": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::components::blender_settings::lighting::BlenderColorGrading", + "properties": { + "exposure": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "gamma": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "exposure", + "gamma" + ], + "short_name": "BlenderColorGrading", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::components::blender_settings::lighting::BlenderLightShadows": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::components::blender_settings::lighting::BlenderLightShadows", + "properties": { + "buffer_bias": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "enabled": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "enabled", + "buffer_bias" + ], + "short_name": "BlenderLightShadows", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::components::blender_settings::lighting::BlenderShadowSettings": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::components::blender_settings::lighting::BlenderShadowSettings", + "properties": { + "cascade_size": { + "type": { + "$ref": "#/$defs/usize" + } + } + }, + "required": [ + "cascade_size" + ], + "short_name": "BlenderShadowSettings", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::components::blender_settings::lighting::BlenderToneMapping": { + "isComponent": true, + "isResource": false, + "long_name": "blenvy::components::blender_settings::lighting::BlenderToneMapping", + "oneOf": [ + "None", + "AgX", + "Filmic" + ], + "short_name": "BlenderToneMapping", + "type": "string", + "typeInfo": "Enum" + }, + "blenvy::save_load::Dynamic": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::save_load::Dynamic", + "properties": {}, + "required": [], + "short_name": "Dynamic", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy::save_load::StaticEntitiesRoot": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy::save_load::StaticEntitiesRoot", + "properties": {}, + "required": [], + "short_name": "StaticEntitiesRoot", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy_relations_example::BigRelations": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "long_name": "blenvy_relations_example::BigRelations", + "properties": { + "main": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "other": { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + }, + "required": [ + "main", + "other" + ], + "short_name": "BigRelations", + "type": "object", + "typeInfo": "Struct" + }, + "blenvy_relations_example::TupleRelations": { + "isComponent": true, + "isResource": false, + "items": false, + "long_name": "blenvy_relations_example::TupleRelations", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + } + ], + "short_name": "TupleRelations", + "type": "array", + "typeInfo": "TupleStruct" + }, + "bool": { + "isComponent": false, + "isResource": false, + "long_name": "bool", + "short_name": "bool", + "type": "boolean", + "typeInfo": "Value" + }, + "char": { + "isComponent": false, + "isResource": false, + "long_name": "char", + "short_name": "char", + "type": "string", + "typeInfo": "Value" + }, + "core::num::NonZeroI16": { + "isComponent": false, + "isResource": false, + "long_name": "core::num::NonZeroI16", + "short_name": "NonZeroI16", + "type": "object", + "typeInfo": "Value" + }, + "core::num::NonZeroU16": { + "isComponent": false, + "isResource": false, + "long_name": "core::num::NonZeroU16", + "short_name": "NonZeroU16", + "type": "object", + "typeInfo": "Value" + }, + "core::num::NonZeroU32": { + "isComponent": false, + "isResource": false, + "long_name": "core::num::NonZeroU32", + "short_name": "NonZeroU32", + "type": "object", + "typeInfo": "Value" + }, + "core::ops::Range": { + "isComponent": false, + "isResource": false, + "long_name": "core::ops::Range", + "short_name": "Range", + "type": "object", + "typeInfo": "Value" + }, + "core::ops::Range": { + "isComponent": false, + "isResource": false, + "long_name": "core::ops::Range", + "short_name": "Range", + "type": "object", + "typeInfo": "Value" + }, + "core::option::Option<(u8, u8)>": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option<(u8, u8)>", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/(u8, u8)" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option<(u8, u8)>", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/alloc::string::String" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option>": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option>", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/alloc::vec::Vec" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option>", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option>": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option>", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option>", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option>": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option>", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_asset::handle::Handle" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option>", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_audio::audio::SpatialScale" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_color::color::Color" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_input::touch::ForceTouch" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_math::rects::rect::Rect" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_render::camera::camera::Viewport" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_render::mesh::mesh::Indices" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_utils::Instant" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option, usize, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>>": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option, usize, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>>", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_utils::hashbrown::HashMap, usize, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option, usize, DefaultHashBuilder>>", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bevy_window::window::WindowTheme" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/bool" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/char" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/core::num::NonZeroI16" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/core::num::NonZeroU16" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/core::num::NonZeroU32" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f32" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/f64" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::DVec2" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "core::option::Option": { + "isComponent": false, + "isResource": false, + "long_name": "core::option::Option", + "oneOf": [ + { + "long_name": "None" + }, + { + "items": false, + "long_name": "Some", + "prefixItems": [ + { + "type": { + "$ref": "#/$defs/petgraph::graph::NodeIndex" + } + } + ], + "short_name": "Some", + "type": "array", + "typeInfo": "Tuple" + } + ], + "short_name": "Option", + "type": "object", + "typeInfo": "Enum" + }, + "f32": { + "isComponent": false, + "isResource": false, + "long_name": "f32", + "short_name": "f32", + "type": "float", + "typeInfo": "Value" + }, + "f64": { + "isComponent": false, + "isResource": false, + "long_name": "f64", + "short_name": "f64", + "type": "float", + "typeInfo": "Value" + }, + "glam::Affine2": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::Affine2", + "properties": { + "matrix2": { + "type": { + "$ref": "#/$defs/glam::Mat2" + } + }, + "translation": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + } + }, + "required": [ + "matrix2", + "translation" + ], + "short_name": "Affine2", + "type": "object", + "typeInfo": "Struct" + }, + "glam::Affine3A": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::Affine3A", + "properties": { + "matrix3": { + "type": { + "$ref": "#/$defs/glam::Mat3A" + } + }, + "translation": { + "type": { + "$ref": "#/$defs/glam::Vec3A" + } + } + }, + "required": [ + "matrix3", + "translation" + ], + "short_name": "Affine3A", + "type": "object", + "typeInfo": "Struct" + }, + "glam::BVec2": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::BVec2", + "properties": { + "x": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "y": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "x", + "y" + ], + "short_name": "BVec2", + "type": "object", + "typeInfo": "Struct" + }, + "glam::BVec3": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::BVec3", + "properties": { + "x": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "y": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "z": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "x", + "y", + "z" + ], + "short_name": "BVec3", + "type": "object", + "typeInfo": "Struct" + }, + "glam::BVec3A": { + "isComponent": false, + "isResource": false, + "long_name": "glam::BVec3A", + "short_name": "BVec3A", + "type": "object", + "typeInfo": "Value" + }, + "glam::BVec4": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::BVec4", + "properties": { + "w": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "x": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "y": { + "type": { + "$ref": "#/$defs/bool" + } + }, + "z": { + "type": { + "$ref": "#/$defs/bool" + } + } + }, + "required": [ + "x", + "y", + "z", + "w" + ], + "short_name": "BVec4", + "type": "object", + "typeInfo": "Struct" + }, + "glam::BVec4A": { + "isComponent": false, + "isResource": false, + "long_name": "glam::BVec4A", + "short_name": "BVec4A", + "type": "object", + "typeInfo": "Value" + }, + "glam::DAffine2": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::DAffine2", + "properties": { + "matrix2": { + "type": { + "$ref": "#/$defs/glam::DMat2" + } + }, + "translation": { + "type": { + "$ref": "#/$defs/glam::DVec2" + } + } + }, + "required": [ + "matrix2", + "translation" + ], + "short_name": "DAffine2", + "type": "object", + "typeInfo": "Struct" + }, + "glam::DAffine3": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::DAffine3", + "properties": { + "matrix3": { + "type": { + "$ref": "#/$defs/glam::DMat3" + } + }, + "translation": { + "type": { + "$ref": "#/$defs/glam::DVec3" + } + } + }, + "required": [ + "matrix3", + "translation" + ], + "short_name": "DAffine3", + "type": "object", + "typeInfo": "Struct" + }, + "glam::DMat2": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::DMat2", + "properties": { + "x_axis": { + "type": { + "$ref": "#/$defs/glam::DVec2" + } + }, + "y_axis": { + "type": { + "$ref": "#/$defs/glam::DVec2" + } + } + }, + "required": [ + "x_axis", + "y_axis" + ], + "short_name": "DMat2", + "type": "object", + "typeInfo": "Struct" + }, + "glam::DMat3": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::DMat3", + "properties": { + "x_axis": { + "type": { + "$ref": "#/$defs/glam::DVec3" + } + }, + "y_axis": { + "type": { + "$ref": "#/$defs/glam::DVec3" + } + }, + "z_axis": { + "type": { + "$ref": "#/$defs/glam::DVec3" + } + } + }, + "required": [ + "x_axis", + "y_axis", + "z_axis" + ], + "short_name": "DMat3", + "type": "object", + "typeInfo": "Struct" + }, + "glam::DMat4": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::DMat4", + "properties": { + "w_axis": { + "type": { + "$ref": "#/$defs/glam::DVec4" + } + }, + "x_axis": { + "type": { + "$ref": "#/$defs/glam::DVec4" + } + }, + "y_axis": { + "type": { + "$ref": "#/$defs/glam::DVec4" + } + }, + "z_axis": { + "type": { + "$ref": "#/$defs/glam::DVec4" + } + } + }, + "required": [ + "x_axis", + "y_axis", + "z_axis", + "w_axis" + ], + "short_name": "DMat4", + "type": "object", + "typeInfo": "Struct" + }, + "glam::DQuat": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::DQuat", + "properties": { + "w": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "x": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "y": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "z": { + "type": { + "$ref": "#/$defs/f64" + } + } + }, + "required": [ + "x", + "y", + "z", + "w" + ], + "short_name": "DQuat", + "type": "object", + "typeInfo": "Struct" + }, + "glam::DVec2": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::DVec2", + "properties": { + "x": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "y": { + "type": { + "$ref": "#/$defs/f64" + } + } + }, + "required": [ + "x", + "y" + ], + "short_name": "DVec2", + "type": "object", + "typeInfo": "Struct" + }, + "glam::DVec3": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::DVec3", + "properties": { + "x": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "y": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "z": { + "type": { + "$ref": "#/$defs/f64" + } + } + }, + "required": [ + "x", + "y", + "z" + ], + "short_name": "DVec3", + "type": "object", + "typeInfo": "Struct" + }, + "glam::DVec4": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::DVec4", + "properties": { + "w": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "x": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "y": { + "type": { + "$ref": "#/$defs/f64" + } + }, + "z": { + "type": { + "$ref": "#/$defs/f64" + } + } + }, + "required": [ + "x", + "y", + "z", + "w" + ], + "short_name": "DVec4", + "type": "object", + "typeInfo": "Struct" + }, + "glam::IVec2": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::IVec2", + "properties": { + "x": { + "type": { + "$ref": "#/$defs/i32" + } + }, + "y": { + "type": { + "$ref": "#/$defs/i32" + } + } + }, + "required": [ + "x", + "y" + ], + "short_name": "IVec2", + "type": "object", + "typeInfo": "Struct" + }, + "glam::IVec3": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::IVec3", + "properties": { + "x": { + "type": { + "$ref": "#/$defs/i32" + } + }, + "y": { + "type": { + "$ref": "#/$defs/i32" + } + }, + "z": { + "type": { + "$ref": "#/$defs/i32" + } + } + }, + "required": [ + "x", + "y", + "z" + ], + "short_name": "IVec3", + "type": "object", + "typeInfo": "Struct" + }, + "glam::IVec4": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::IVec4", + "properties": { + "w": { + "type": { + "$ref": "#/$defs/i32" + } + }, + "x": { + "type": { + "$ref": "#/$defs/i32" + } + }, + "y": { + "type": { + "$ref": "#/$defs/i32" + } + }, + "z": { + "type": { + "$ref": "#/$defs/i32" + } + } + }, + "required": [ + "x", + "y", + "z", + "w" + ], + "short_name": "IVec4", + "type": "object", + "typeInfo": "Struct" + }, + "glam::Mat2": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::Mat2", + "properties": { + "x_axis": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + }, + "y_axis": { + "type": { + "$ref": "#/$defs/glam::Vec2" + } + } + }, + "required": [ + "x_axis", + "y_axis" + ], + "short_name": "Mat2", + "type": "object", + "typeInfo": "Struct" + }, + "glam::Mat3": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::Mat3", + "properties": { + "x_axis": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "y_axis": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + }, + "z_axis": { + "type": { + "$ref": "#/$defs/glam::Vec3" + } + } + }, + "required": [ + "x_axis", + "y_axis", + "z_axis" + ], + "short_name": "Mat3", + "type": "object", + "typeInfo": "Struct" + }, + "glam::Mat3A": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::Mat3A", + "properties": { + "x_axis": { + "type": { + "$ref": "#/$defs/glam::Vec3A" + } + }, + "y_axis": { + "type": { + "$ref": "#/$defs/glam::Vec3A" + } + }, + "z_axis": { + "type": { + "$ref": "#/$defs/glam::Vec3A" + } + } + }, + "required": [ + "x_axis", + "y_axis", + "z_axis" + ], + "short_name": "Mat3A", + "type": "object", + "typeInfo": "Struct" + }, + "glam::Mat4": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::Mat4", + "properties": { + "w_axis": { + "type": { + "$ref": "#/$defs/glam::Vec4" + } + }, + "x_axis": { + "type": { + "$ref": "#/$defs/glam::Vec4" + } + }, + "y_axis": { + "type": { + "$ref": "#/$defs/glam::Vec4" + } + }, + "z_axis": { + "type": { + "$ref": "#/$defs/glam::Vec4" + } + } + }, + "required": [ + "x_axis", + "y_axis", + "z_axis", + "w_axis" + ], + "short_name": "Mat4", + "type": "object", + "typeInfo": "Struct" + }, + "glam::Quat": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::Quat", + "properties": { + "w": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "x": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "y": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "z": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "x", + "y", + "z", + "w" + ], + "short_name": "Quat", + "type": "object", + "typeInfo": "Struct" + }, + "glam::UVec2": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::UVec2", + "properties": { + "x": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "y": { + "type": { + "$ref": "#/$defs/u32" + } + } + }, + "required": [ + "x", + "y" + ], + "short_name": "UVec2", + "type": "object", + "typeInfo": "Struct" + }, + "glam::UVec3": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::UVec3", + "properties": { + "x": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "y": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "z": { + "type": { + "$ref": "#/$defs/u32" + } + } + }, + "required": [ + "x", + "y", + "z" + ], + "short_name": "UVec3", + "type": "object", + "typeInfo": "Struct" + }, + "glam::UVec4": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::UVec4", + "properties": { + "w": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "x": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "y": { + "type": { + "$ref": "#/$defs/u32" + } + }, + "z": { + "type": { + "$ref": "#/$defs/u32" + } + } + }, + "required": [ + "x", + "y", + "z", + "w" + ], + "short_name": "UVec4", + "type": "object", + "typeInfo": "Struct" + }, + "glam::Vec2": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::Vec2", + "properties": { + "x": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "y": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "x", + "y" + ], + "short_name": "Vec2", + "type": "object", + "typeInfo": "Struct" + }, + "glam::Vec3": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::Vec3", + "properties": { + "x": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "y": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "z": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "x", + "y", + "z" + ], + "short_name": "Vec3", + "type": "object", + "typeInfo": "Struct" + }, + "glam::Vec3A": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::Vec3A", + "properties": { + "x": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "y": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "z": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "x", + "y", + "z" + ], + "short_name": "Vec3A", + "type": "object", + "typeInfo": "Struct" + }, + "glam::Vec4": { + "additionalProperties": false, + "isComponent": false, + "isResource": false, + "long_name": "glam::Vec4", + "properties": { + "w": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "x": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "y": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "z": { + "type": { + "$ref": "#/$defs/f32" + } + } + }, + "required": [ + "x", + "y", + "z", + "w" + ], + "short_name": "Vec4", + "type": "object", + "typeInfo": "Struct" + }, + "i128": { + "isComponent": false, + "isResource": false, + "long_name": "i128", + "short_name": "i128", + "type": "int", + "typeInfo": "Value" + }, + "i16": { + "isComponent": false, + "isResource": false, + "long_name": "i16", + "short_name": "i16", + "type": "int", + "typeInfo": "Value" + }, + "i32": { + "isComponent": false, + "isResource": false, + "long_name": "i32", + "short_name": "i32", + "type": "int", + "typeInfo": "Value" + }, + "i64": { + "isComponent": false, + "isResource": false, + "long_name": "i64", + "short_name": "i64", + "type": "int", + "typeInfo": "Value" + }, + "i8": { + "isComponent": false, + "isResource": false, + "long_name": "i8", + "short_name": "i8", + "type": "int", + "typeInfo": "Value" + }, + "isize": { + "isComponent": false, + "isResource": false, + "long_name": "isize", + "short_name": "isize", + "type": "int", + "typeInfo": "Value" + }, + "petgraph::graph::DiGraph": { + "isComponent": false, + "isResource": false, + "long_name": "petgraph::graph::DiGraph", + "short_name": "DiGraph", + "type": "object", + "typeInfo": "Value" + }, + "petgraph::graph::NodeIndex": { + "isComponent": false, + "isResource": false, + "long_name": "petgraph::graph::NodeIndex", + "short_name": "NodeIndex", + "type": "object", + "typeInfo": "Value" + }, + "smallvec::SmallVec<[bevy_ecs::entity::Entity; 8]>": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/bevy_ecs::entity::Entity" + } + }, + "long_name": "smallvec::SmallVec<[bevy_ecs::entity::Entity; 8]>", + "short_name": "SmallVec<[Entity; 8]>", + "type": "array", + "typeInfo": "List" + }, + "smallvec::SmallVec<[bevy_ui::ui_node::GridTrack; 1]>": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/bevy_ui::ui_node::GridTrack" + } + }, + "long_name": "smallvec::SmallVec<[bevy_ui::ui_node::GridTrack; 1]>", + "short_name": "SmallVec<[GridTrack; 1]>", + "type": "array", + "typeInfo": "List" + }, + "smallvec::SmallVec<[u64; 1]>": { + "isComponent": false, + "isResource": false, + "items": { + "type": { + "$ref": "#/$defs/u64" + } + }, + "long_name": "smallvec::SmallVec<[u64; 1]>", + "short_name": "SmallVec<[u64; 1]>", + "type": "array", + "typeInfo": "List" + }, + "smol_str::SmolStr": { + "isComponent": false, + "isResource": false, + "long_name": "smol_str::SmolStr", + "short_name": "SmolStr", + "type": "object", + "typeInfo": "Value" + }, + "std::collections::BTreeMap": { + "isComponent": false, + "isResource": false, + "keyType": { + "type": { + "$ref": "#/$defs/petgraph::graph::NodeIndex" + } + }, + "long_name": "std::collections::BTreeMap", + "short_name": "BTreeMap", + "type": "object", + "typeInfo": "Map", + "valueType": { + "type": { + "$ref": "#/$defs/bevy_animation::ActiveAnimation" + } + } + }, + "std::path::PathBuf": { + "isComponent": false, + "isResource": false, + "long_name": "std::path::PathBuf", + "short_name": "PathBuf", + "type": "object", + "typeInfo": "Value" + }, + "std::sync::Arc": { + "isComponent": false, + "isResource": false, + "long_name": "std::sync::Arc", + "short_name": "Arc", + "type": "object", + "typeInfo": "Value" + }, + "u128": { + "isComponent": false, + "isResource": false, + "long_name": "u128", + "short_name": "u128", + "type": "uint", + "typeInfo": "Value" + }, + "u16": { + "isComponent": false, + "isResource": false, + "long_name": "u16", + "short_name": "u16", + "type": "uint", + "typeInfo": "Value" + }, + "u32": { + "isComponent": false, + "isResource": false, + "long_name": "u32", + "short_name": "u32", + "type": "uint", + "typeInfo": "Value" + }, + "u64": { + "isComponent": false, + "isResource": false, + "long_name": "u64", + "short_name": "u64", + "type": "uint", + "typeInfo": "Value" + }, + "u8": { + "isComponent": false, + "isResource": false, + "long_name": "u8", + "short_name": "u8", + "type": "uint", + "typeInfo": "Value" + }, + "usize": { + "isComponent": false, + "isResource": false, + "long_name": "usize", + "short_name": "usize", + "type": "uint", + "typeInfo": "Value" + }, + "uuid::Uuid": { + "isComponent": false, + "isResource": false, + "long_name": "uuid::Uuid", + "short_name": "Uuid", + "type": "object", + "typeInfo": "Value" + } + }, + "$schema": "https://json-schema.org/draft/2020-12/schema", + "long_name": "bevy component registry schema" +} \ No newline at end of file diff --git a/examples/relations/src/main.rs b/examples/relations/src/main.rs new file mode 100644 index 0000000..47029cd --- /dev/null +++ b/examples/relations/src/main.rs @@ -0,0 +1,50 @@ +use bevy::prelude::*; +use bevy_inspector_egui::quick::WorldInspectorPlugin; +use blenvy::{BlenvyPlugin, BlueprintInfo, GameWorldTag, HideUntilReady, SpawnBlueprint}; + +#[derive(Component, Reflect, Debug)] +#[reflect(Component)] +pub struct TupleRelations(Entity); + +#[derive(Component, Reflect)] +#[reflect(Component)] +pub struct BigRelations { + main: Entity, + other: Vec, +} + +fn main() { + App::new() + .add_plugins(( + DefaultPlugins.set(AssetPlugin::default()), + BlenvyPlugin::default(), + WorldInspectorPlugin::new(), + )) + .register_type::() + .register_type::() + .add_systems(Startup, setup_game) + .add_systems(Update, (print_names, print_tuple_relations)) + .run(); +} + +fn setup_game(mut commands: Commands) { + // here we actually spawn our game world/level + commands.spawn(( + BlueprintInfo::from_path("levels/World.glb"), // all we need is a Blueprint info... + SpawnBlueprint, // and spawnblueprint to tell blenvy to spawn the blueprint now + HideUntilReady, // only reveal the level once it is ready + GameWorldTag, + )); +} + +fn print_names(query: Query<(Entity, &Name), Added>) { + for (entity, name) in &query { + info!("[EXAMPLE] {name} is {entity}"); + } +} + +fn print_tuple_relations(query: Query<(&Name, &TupleRelations), Added>) { + for (name, r) in &query { + info!("[EXAMPLE] {name} has the relation {r:?}") + } +} diff --git a/tools/blenvy/add_ons/bevy_components/propGroups/conversions_from_prop_group.py b/tools/blenvy/add_ons/bevy_components/propGroups/conversions_from_prop_group.py index 071658b..0ecd307 100644 --- a/tools/blenvy/add_ons/bevy_components/propGroups/conversions_from_prop_group.py +++ b/tools/blenvy/add_ons/bevy_components/propGroups/conversions_from_prop_group.py @@ -25,6 +25,8 @@ conversion_tables = { "bevy_color::srgba::Srgba": lambda value: "Srgba(red:"+str(value[0])+ ", green:"+str(value[1])+ ", blue:"+str(value[2])+ ", alpha:"+str(value[3])+ ")", "bevy_color::linear_rgba::LinearRgba": lambda value: "LinearRgba(red:"+str(value[0])+ ", green:"+str(value[1])+ ", blue:"+str(value[2])+ ", alpha:"+str(value[3])+ ")", "bevy_color::hsva::Hsva": lambda value: "Hsva(hue:"+str(value[0])+ ", saturation:"+str(value[1])+ ", value:"+str(value[2])+ ", alpha:"+str(value[3])+ ")", + + "bevy_ecs::entity::Entity": lambda value: 'Entity(name: ' + (('Some("' + str(value.name) + '")') if value is not None else "None") + ')', } #converts the value of a property group(no matter its complexity) into a single custom property value diff --git a/tools/blenvy/add_ons/bevy_components/propGroups/conversions_to_prop_group.py b/tools/blenvy/add_ons/bevy_components/propGroups/conversions_to_prop_group.py index 862f633..3cac940 100644 --- a/tools/blenvy/add_ons/bevy_components/propGroups/conversions_to_prop_group.py +++ b/tools/blenvy/add_ons/bevy_components/propGroups/conversions_to_prop_group.py @@ -1,3 +1,4 @@ +import bpy from bpy_types import PropertyGroup import re @@ -126,6 +127,16 @@ def parse_color_hsva(value, caster, typeName): parsed = parse_struct_string(value.replace(typeName,"").replace("(", "").replace(")","") ) return [caster(parsed['hue']), caster(parsed['saturation']), caster(parsed['value']), caster(parsed['alpha'])] +def parse_entity(value): + # strip 'Entity(name: )' to just '' + value = value[13:-1] + if value.startswith("Some"): + # strip 'Some("")' to just '' + value = value[6:-2] + return bpy.context.scene.objects[value] + else: + return None + def to_int(input): return int(float(input)) @@ -171,7 +182,7 @@ type_mappings = { "bevy_color::linear_rgba::LinearRgba": lambda value: parse_color_rgba(value, float, "LinearRgba"), "bevy_color::hsva::Hsva": lambda value: parse_color_hsva(value, float, "Hsva"), - 'bevy_ecs::entity::Entity': lambda value: int(value), + "bevy_ecs::entity::Entity": parse_entity, } def is_def_value_type(definition, registry): diff --git a/tools/blenvy/add_ons/bevy_components/propGroups/process_list.py b/tools/blenvy/add_ons/bevy_components/propGroups/process_list.py index 8c884e4..48952ae 100644 --- a/tools/blenvy/add_ons/bevy_components/propGroups/process_list.py +++ b/tools/blenvy/add_ons/bevy_components/propGroups/process_list.py @@ -3,6 +3,7 @@ from .utils import generate_wrapper_propertyGroup from . import process_component def process_list(registry, definition, update, nesting_long_names=[]): + blender_property_mapping = registry.blender_property_mapping value_types_defaults = registry.value_types_defaults type_infos = registry.type_infos @@ -13,7 +14,7 @@ def process_list(registry, definition, update, nesting_long_names=[]): item_definition = type_infos[ref_name] item_long_name = item_definition["long_name"] - is_item_value_type = item_long_name in value_types_defaults + is_item_value_type = item_long_name in blender_property_mapping property_group_class = None #if the content of the list is a unit type, we need to generate a fake wrapper, otherwise we cannot use layout.prop(group, "propertyName") as there is no propertyName ! diff --git a/tools/blenvy/add_ons/bevy_components/propGroups/process_map.py b/tools/blenvy/add_ons/bevy_components/propGroups/process_map.py index 2b9d261..8dd9c40 100644 --- a/tools/blenvy/add_ons/bevy_components/propGroups/process_map.py +++ b/tools/blenvy/add_ons/bevy_components/propGroups/process_map.py @@ -3,6 +3,7 @@ from .utils import generate_wrapper_propertyGroup from . import process_component def process_map(registry, definition, update, nesting_long_names=[]): + blender_property_mapping = registry.blender_property_mapping value_types_defaults = registry.value_types_defaults type_infos = registry.type_infos @@ -19,7 +20,7 @@ def process_map(registry, definition, update, nesting_long_names=[]): if key_ref_name in type_infos: key_definition = type_infos[key_ref_name] original_long_name = key_definition["long_name"] - is_key_value_type = original_long_name in value_types_defaults + is_key_value_type = original_long_name in blender_property_mapping definition_link = definition["keyType"]["type"]["$ref"] #if the content of the list is a unit type, we need to generate a fake wrapper, otherwise we cannot use layout.prop(group, "propertyName") as there is no propertyName ! @@ -38,7 +39,7 @@ def process_map(registry, definition, update, nesting_long_names=[]): if value_ref_name in type_infos: value_definition = type_infos[value_ref_name] original_long_name = value_definition["long_name"] - is_value_value_type = original_long_name in value_types_defaults + is_value_value_type = original_long_name in blender_property_mapping definition_link = definition["valueType"]["type"]["$ref"] #if the content of the list is a unit type, we need to generate a fake wrapper, otherwise we cannot use layout.prop(group, "propertyName") as there is no propertyName ! diff --git a/tools/blenvy/add_ons/bevy_components/propGroups/process_structs.py b/tools/blenvy/add_ons/bevy_components/propGroups/process_structs.py index 255111e..05aba7d 100644 --- a/tools/blenvy/add_ons/bevy_components/propGroups/process_structs.py +++ b/tools/blenvy/add_ons/bevy_components/propGroups/process_structs.py @@ -17,12 +17,15 @@ def process_structs(registry, definition, properties, update, nesting_long_names if ref_name in type_infos: original = type_infos[ref_name] original_long_name = original["long_name"] - is_value_type = original_long_name in value_types_defaults - value = value_types_defaults[original_long_name] if is_value_type else None + + is_value_type = original_long_name in blender_property_mapping + has_default_value = original_long_name in value_types_defaults + + value = value_types_defaults[original_long_name] if has_default_value else None default_values[property_name] = value if is_value_type: - if original_long_name in blender_property_mapping: + if has_default_value: blender_property_def = blender_property_mapping[original_long_name] blender_property = blender_property_def["type"]( **blender_property_def["presets"],# we inject presets first @@ -31,6 +34,14 @@ def process_structs(registry, definition, properties, update, nesting_long_names update = update ) __annotations__[property_name] = blender_property + else: + blender_property_def = blender_property_mapping[original_long_name] + blender_property = blender_property_def["type"]( + **blender_property_def["presets"],# we inject presets first + name = property_name, + update = update + ) + __annotations__[property_name] = blender_property else: original_long_name = original["long_name"] (sub_component_group, _) = process_component.process_component(registry, original, update, {"nested": True, "long_name": original_long_name}, nesting_long_names+[property_name]) diff --git a/tools/blenvy/add_ons/bevy_components/propGroups/process_tupples.py b/tools/blenvy/add_ons/bevy_components/propGroups/process_tupples.py index acd6a00..d8d269c 100644 --- a/tools/blenvy/add_ons/bevy_components/propGroups/process_tupples.py +++ b/tools/blenvy/add_ons/bevy_components/propGroups/process_tupples.py @@ -20,14 +20,16 @@ def process_tupples(registry, definition, prefixItems, update, nesting_long_name if ref_name in type_infos: original = type_infos[ref_name] original_long_name = original["long_name"] - is_value_type = original_long_name in value_types_defaults - value = value_types_defaults[original_long_name] if is_value_type else None + is_value_type = original_long_name in blender_property_mapping + has_default_value = original_long_name in value_types_defaults + + value = value_types_defaults[original_long_name] if has_default_value else None default_values.append(value) prefix_infos.append(original) if is_value_type: - if original_long_name in blender_property_mapping: + if has_default_value: blender_property_def = blender_property_mapping[original_long_name] blender_property = blender_property_def["type"]( **blender_property_def["presets"],# we inject presets first @@ -36,6 +38,15 @@ def process_tupples(registry, definition, prefixItems, update, nesting_long_name update= update ) + __annotations__[property_name] = blender_property + else: + blender_property_def = blender_property_mapping[original_long_name] + blender_property = blender_property_def["type"]( + **blender_property_def["presets"],# we inject presets first + name = property_name, + update= update + ) + __annotations__[property_name] = blender_property else: original_long_name = original["long_name"] diff --git a/tools/blenvy/add_ons/bevy_components/propGroups/utils.py b/tools/blenvy/add_ons/bevy_components/propGroups/utils.py index 9c0b928..bbf3d58 100644 --- a/tools/blenvy/add_ons/bevy_components/propGroups/utils.py +++ b/tools/blenvy/add_ons/bevy_components/propGroups/utils.py @@ -11,7 +11,9 @@ from bpy_types import PropertyGroup def generate_wrapper_propertyGroup(wrapped_type_long_name, item_long_name, definition_link, registry, update, nesting_long_names=[]): value_types_defaults = registry.value_types_defaults blender_property_mapping = registry.blender_property_mapping - is_item_value_type = item_long_name in value_types_defaults + + is_item_value_type = item_long_name in blender_property_mapping + has_item_default_value = item_long_name in value_types_defaults wrapper_name = "wrapper_" + wrapped_type_long_name @@ -42,15 +44,23 @@ def generate_wrapper_propertyGroup(wrapped_type_long_name, item_long_name, defin blender_property = StringProperty(default="", update=update) - if item_long_name in blender_property_mapping: - value = value_types_defaults[item_long_name] if is_item_value_type else None - blender_property_def = blender_property_mapping[item_long_name] - blender_property = blender_property_def["type"]( - **blender_property_def["presets"],# we inject presets first - name = "property_name", - default = value, - update = update - ) + if is_item_value_type: + value = value_types_defaults[item_long_name] if has_item_default_value else None + if has_item_default_value: + blender_property_def = blender_property_mapping[item_long_name] + blender_property = blender_property_def["type"]( + **blender_property_def["presets"],# we inject presets first + name = "property_name", + default = value, + update = update + ) + else: + blender_property_def = blender_property_mapping[item_long_name] + blender_property = blender_property_def["type"]( + **blender_property_def["presets"],# we inject presets first + name = "property_name", + update = update + ) wrapper_annotations = { '0' : blender_property diff --git a/tools/blenvy/add_ons/bevy_components/registry/registry.py b/tools/blenvy/add_ons/bevy_components/registry/registry.py index 11c7238..455a7f9 100644 --- a/tools/blenvy/add_ons/bevy_components/registry/registry.py +++ b/tools/blenvy/add_ons/bevy_components/registry/registry.py @@ -25,6 +25,9 @@ def property_group_from_infos(property_group_name, property_group_parameters): return (property_group_pointer, property_group_class) +def is_entity_poll(self, object): + return bpy.context.scene in object.users_scene # TODO: only select `object.type`s that get converted to entities and maybe something against other collection(instances)? + # this is where we store the information for all available components class ComponentsRegistry(PropertyGroup): registry: bpy.props. StringProperty( @@ -50,7 +53,6 @@ class ComponentsRegistry(PropertyGroup): "u32": dict(type=IntProperty, presets=dict(min=0)), "u64": dict(type=IntProperty, presets=dict(min=0)), "u128": dict(type=IntProperty, presets=dict(min=0)), - "u64": dict(type=IntProperty, presets=dict(min=0)), "usize": dict(type=IntProperty, presets=dict(min=0)), "i8": dict(type=IntProperty, presets=dict()), @@ -90,19 +92,19 @@ class ComponentsRegistry(PropertyGroup): "enum": dict(type=EnumProperty, presets=dict()), - 'bevy_ecs::entity::Entity': {"type": IntProperty, "presets": {"min":0} }, - 'bevy_utils::Uuid': dict(type=StringProperty, presets=dict()), + "bevy_ecs::entity::Entity": dict(type = PointerProperty, presets=dict(type = bpy.types.Object, poll = is_entity_poll)), + "bevy_utils::Uuid": dict(type = StringProperty, presets=dict()), } value_types_defaults = { "string":" ", - "boolean": True, + "boolean": False, "float": 0.0, "uint": 0, "int":0, # todo : we are re-doing the work of the bevy /rust side here, but it seems more pratical to alway look for the same field name on the blender side for matches - "bool": True, + "bool": False, "u8": 0, "u16":0, @@ -144,8 +146,7 @@ class ComponentsRegistry(PropertyGroup): "bevy_color::linear_rgba::LinearRgba": [1.0, 1.0, 0.0, 1.0], "bevy_color::hsva::Hsva": [1.0, 1.0, 0.0, 1.0], - 'bevy_ecs::entity::Entity': 0,#4294967295, # this is the same as Bevy's Entity::Placeholder, too big for Blender..sigh - 'bevy_utils::Uuid': '"'+str(uuid.uuid4())+'"' + "bevy_utils::Uuid": '"'+str(uuid.uuid4())+'"' }