diff --git a/Cargo.toml b/Cargo.toml index 707d803..06d67d6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,10 +2,7 @@ members = [ "crates/*", "examples/common*", - "examples/bevy_gltf_components/*", - "examples/bevy_gltf_blueprints/*", - "examples/bevy_gltf_save_load/*", - "examples/bevy_registry_export/*", + "examples/blenvy/*", "testing/bevy_example/", ] resolver = "2" diff --git a/Migration_guide.md b/Migration_guide.md new file mode 100644 index 0000000..d53eb26 --- /dev/null +++ b/Migration_guide.md @@ -0,0 +1,143 @@ +# Blender add-ons + +- gltf_auto_export and bevy_components have been replaced with a single add-on for simplicity + +## Components: + +- no more need to add your components to an empty called xxx_components, you can now directly add your components to the blueprint's collection itself +- you will need to "upgrade" your components from the previous add-on, as they are stored in a completely different way +- bonus: you can also visualize & edit your blueprint's component directly on each instance + +## Multiple components with the same short name + + Up until now , it was not possible to have multiple components with the same name (ie foo::bar::componentA & some::other::componentA) as all the logic was based on short names, + this is not an issue anymore + +## Auto export: + +- the previous stripped down gltf export settings are not part of the add-on anymore, please configure them like this: +- you need to reconfigure your auto export settings , as they have changed significantly as has their storage + +## All the Bevy crates have been replaced with a single one + +- the new crate doesn't even really need configuring, so +- in your cargo.toml file, replace any references to the old crates (bevy_gltf_components, bevy_gltf_blueprints, bevy_registry_export, bevy_gltf_save_load etc) +with: + +```toml +# Cargo.toml +[dependencies] +bevy="0.14" +blenvy = { version = "0.1.0"} +``` + +and set things up in your code: + +```rust no_run +use bevy::prelude::*; +use blenvy::*; + +fn main() { + App::new() + .add_plugins(DefaultPlugins) + .add_plugins(BlenvyPlugin) + + .run(); +} +``` + +## Removed almost all setting for the crate + +- the ONLY setting is **aabbs** // defaults to true + +## Legacy mode has been removed + +- less headaches when using the tools! +If you still want to manually specify components using Blender's custom properties you need to + + +## BlueprintName replaced with BlueprintInfo + +- this is a very important change ! to avoid possible path clashes , the ```BlueprintInfo``` component contains +the actual path (with your **assets** folder) to the Blueprint, and a name (for convenience) + +## SpawnHere renamed to SpawnBlueprint + +changed the naming for more clarity & specificity + + +## Automatic assets loading + +- no more need to preload gltf files, you can spawn a level & all its blueprint like this: + +```rust no_run +commands.spawn(( + BlueprintInfo::from_path("levels/World.gltf"), + HideUntilReady, // Only if you want to keep the level hidden until it is finished spawning + SpawnBlueprint, // See note above + GameWorldTag, + InAppRunning, +)); +``` + +Blenvy will take care of loading all needed blueprints & other assets for you + +## Blueprint instance events + +- you can now use the ```BlueprintEvent``` to get notified of crucial blueprint instance events + + * ```AssetsLoaded``` + ```rust no run + /// event fired when a blueprint instance has finished loading all of its assets & before it attempts spawning + AssetsLoaded { + entity: Entity, + blueprint_name: String, + blueprint_path: String, + // TODO: add assets list ? + } + ``` + + * ```InstanceReady``` + ```rust no run + /// event fired when a blueprint instance has completely finished spawning, ie + /// - all its assests have been loaded + /// - all of its child blueprint instances are ready + /// - all the post processing is finished (aabb calculation, material replacements etc) + InstanceReady { + entity: Entity, + blueprint_name: String, + blueprint_path: String, + }, + + ``` + +## BlueprintDisabled + +you can now query for this component + +## Track loading blueprint instances with the BlueprintSpawning component + +- other than with events, you can also query for the ```BlueprintSpawning``` component to be sure an entity you are manipulating is finished with its blueprint instance spawning process + +## Keep your currently spawning blueprint instances hidden until they are ready with the HideUntilReady component + +If you want your blueprint instance to be hidden until it is ready, just add this component to the entity. +This can be particularly usefull in at least two use cases: +- when spawning levels +- when spawning bluprint instances that contain **lights** at runtime: in previous versions I have noticed some very unpleasant "flashing" effect when spawning blueprints with lights, +this component avoids that issue + +## Hot reload + +if you have configured your Bevy project to use hot reload you will automatically get hot reloading of levels & blueprints + +## Improved animation handling + +- sceneAnimations +- animationTriggers + +## Completely restructured blueprint spawning process + + +Additionally +- you do not really need to worry about SystemSets anymore diff --git a/README-workflow-ui.md b/README-workflow-ui.md index dcf8ef2..c6e0c51 100644 --- a/README-workflow-ui.md +++ b/README-workflow-ui.md @@ -4,11 +4,11 @@ The workflow goes as follows (once you got your Bevy code setup) ## Bevy side - create & register all your components you want to be able to set from the Blender side (this is basic Bevy, no specific work needed) -- follow the instructions in the [bevy_registry_export](./crates/bevy_registry_export/) to generate a registry export +- follow the instructions in the [blenvy](./crates/blenvy/) to generate a registry export ## Component creation -Setup the Blender [bevy_components](./tools/blenvy/README.md) add-on +Setup the Blender [Blenvy](./tools/blenvy/README.md) blender add-on to add & edit your components visually & reliably ![bevy_components](./docs/bevy_components.png) diff --git a/README.md b/README.md index 91c0a8a..530ec1f 100644 --- a/README.md +++ b/README.md @@ -8,44 +8,41 @@ Crates & tools for adding components from gltf files in the [Bevy](https://bevyengine.org/) game engine. -It enables minimalistic [Blender](https://www.blender.org/) (gltf) centric workflow for Bevy, ie defining entites & their components -inside Blender using Blender's objects **custom properties**. -Aka "Blender as editor for Bevy" +It enables a [Blender](https://www.blender.org/) (gltf) centric workflow for Bevy, ie defining entites & their components +inside Blender. Aka "Blender as editor for Bevy" It also allows you to setup 'blueprints' in Blender by using collections (the recomended way to go most of the time), or directly on single use objects . ## Features -* Useful if you want to use Blender (or any editor allowing to export gltf with configurable gltf_extras) as your Editor -* define Bevy components as custom properties in Blender (some visually , some using RON, though an older JSON version is also available) -* now also with an UI tool to add & edit Bevy components, automatically export gltf blueprints & more in [Blender](./tools/blenvy/README.md) -* define components in Blender Collections & override any of them in your collection instances if you want -* ability to automatically turn your Blender collections into [gltf Blueprints](./crates/bevy_gltf_blueprints/README.md) for reuse -* minimal setup & code, you can have something basic running fast +* Useful if you want to use Blender as your Editor +* define Bevy components as custom properties in Blender with an UI tool to add & edit Bevy components, automatically export gltf blueprints & more in [Blender](./tools/blenvy/README.md) +* blueprints & levels system : turn your Blender collections into [gltf Blueprints](./crates/blenvy/README.md) for reuse inside levels that are just Blender scenes +* setup & tweak components in Blender Collections & override any of them in your collection instances if you want +* setup & tweak components for objects, meshes and materials as well ! +* automatically load all assets for each blueprint (gltf files, manually added assets), with no setup required +* hot reload of your levels & blueprints +* minimal setup & code, you can have something basic running fast * minimal dependencies: Bevy, Serde & Ron only ! * opensource +> If you were previously using the individual bevy_gltf_xxx crates & Blender add-ons please see the [migration guide](./Migration_guide.md) ## Crates -- [bevy_gltf_components](./crates/bevy_gltf_components/) This crate allows you to define components direclty inside gltf files and instanciate/inject the components on the Bevy side. +One crate to rule them all ! +- [blenvy](./crates/blenvu/) This crate allows you to + * define components direclty inside gltf files and instanciate/inject the components on the Bevy side. + * export your project's Bevy registry to json, in order to be able to generate custom component UIs on the Blender side in the Blender [blenvy](./tools/blenvy/README.md) add-on + * define Blueprints/Prefabs for Bevy inside gltf files and spawn them in Bevy. With the ability to override and add components when spawning, efficient "level" loading etc + * the ability to save & load your game state in a relatively simple way, by leveraging the blueprint functionality to only save a minimal subset of dynamic data, seperating dynamic & static parts of levels etc. + + OLD videos: There is a [video tutorial/explanation](https://youtu.be/-lcScjQCA3c) if you want, or you can read the crate docs. - The examples for the crate are [here](./examples/bevy_gltf_components/) - -- [bevy_gltf_blueprints](./crates/bevy_gltf_blueprints/) This crate adds the ability to define Blueprints/Prefabs for Bevy inside gltf files and spawn them in Bevy. With the ability to override and add components when spawning, efficient "level" loading etc - There is a [video tutorial/explanation](https://youtu.be/CgyNtwgYwdM) for this one too, or you can read the crate docs - The examples for the crate are [here](./examples/bevy_gltf_blueprints/) - > Note: this is the recomended crate to use and uses ```bevy_gltf_components``` under the hood -- [bevy_gltf_save_load](./crates/bevy_gltf_save_load/) This crate adds the ability to save & load your game state in a relatively simple way, by leveraging the blueprint functionality of -bevy_gltf_blueprints to only save a minimal subset of dynamic data, seperating dynamic & static parts of levels etc. -The examples for the crate are [here](./examples/bevy_gltf_save_load/) - > Note: this uses ```bevy_gltf_blueprints``` under the hood - -- [bevy_registry_export](./crates/bevy_registry_export/) This crate adds the ability to export your project's Bevy registry to json, in order to be able to generate custom component UIs on the Blender side in the Blender [blenvy](./tools/blenvy/README.md) add-on - + The examples for the crate are [here](./examples/blenvy/) ## Tools @@ -54,50 +51,37 @@ The examples for the crate are [here](./examples/bevy_gltf_save_load/) - an all in one [Blender addon](./tools/blenvy/README.md) for the Blender side of the workflow: - allow easilly adding & editing Bevy components , using automatically generated UIs for each component - automatically exports your level/world from Blender to gltf whenever you save your Blend file - - it also supports automatical exports of collections as [Gltf blueprints](./crates/bevy_gltf_blueprints/README.md) & - -Please read the [README]((./tools/blenvy/README.md)) of the add-on for installation & use instructions - - + - automatically export your [Gltf blueprints](./crates/blenvy/README.md) & assets ## Examples -you can find all examples, by crate as seperate crates for clearer dependencies in [here](./examples/) - -- [bevy_gltf_components](./examples/bevy_gltf_components/) - * [basic](./examples/bevy_gltf_components/basic/) use of ```bevy_gltf_components``` only, to spawn entities with components defined inside gltf files - -- [bevy_gltf_blueprints](./examples/bevy_gltf_blueprints/) - * [basic](./examples/bevy_gltf_blueprints/basic/) more advanced example : use of ```bevy_gltf_blueprints``` to spawn a level and then populate it with entities coming from different gltf files, live (at runtime) spawning of entities etc - * [animation](./examples/bevy_gltf_blueprints/animation/) how to use and trigger animations from gltf files (a feature of ```bevy_gltf_blueprints```) - * & lots more - -- [bevy_gltf_save_load](./examples/bevy_gltf_save_load/) - -- [bevy_registry_export](./examples/bevy_registry_export/) +you can find all examples, [here](./examples/blenvy) +* [components](./examples/blenvy/components/) use of ```components``` only, to spawn entities with components defined inside gltf files +* [blueprints](./examples/blenvy/blueprints/) use of ```blueprints``` and ```levels``` to spawn a level and then populate it with entities coming from different gltf files, live (at runtime) spawning of entities etc +* [animation](./examples/blenvy/animation/) how to use and trigger animations from gltf files +* [save_load](./examples/blenvy/save_load/) how to save & load levels +* [demo](./examples/demo/) a full demo showcasing all features , including physics, animation ## Workflow The workflow goes as follows (once you got your Bevy code setup) + - create & register all your components you want to be able to set from the Blender side (this is basic Bevy, no specific work needed) ![component registration](./docs/component_registration.png) -- then you have two options - - add your components to objects in Blender **manually** as **custom properties** : see [here](./README-workflow-classic.md) for more details - - add your components to objects in Blender **with a nice UI** see [here](./README-workflow-ui.md) for more details +- setup & then use the Blenvy [Bevy crate](./crates/blenvy/README.md) +- setup & then use the Blenvy [Blender add-on](./tools/blenvy/README.md) +- iterate +- have fun ! + +- then add your components to objects in Blender **with a nice UI** see [here](./README-workflow-ui.md) for more details ## Limitations / issues -- Some of `bevy_rapier`/physics code / ways to define colliders could perhaps be done better/visually within Blender (currently it also goes via RON) -## Future work -- I have a number of other tools/ code helpers that I have not yet included here, because they need cleanup/ might make this example too complex - -## Credits - -- somebody I cannot recall helped me originally with the gltf loading tracker in the Bevy Discord, so thanks ! And if it was you, please let me know so I can give credit where credit is due :) +- Some of `avian` or `bevy_rapier` /physics code / ways to define colliders could perhaps be done better/visually within Blender ## Contributors diff --git a/tools/blenvy/TODO.md b/TODO.md similarity index 97% rename from tools/blenvy/TODO.md rename to TODO.md index c94cf2b..ee1ed84 100644 --- a/tools/blenvy/TODO.md +++ b/TODO.md @@ -31,13 +31,13 @@ Assets: - [x] store assets - [x] per main scene for level/world assets - [x] per blueprint for blueprint in lib scene - - [ ] UI: + - [x] UI: - [x] we need to display all direct assets (stored in the scene) - [ ] indirect assets: - QUESTION : do we want to include them in the list of assets per level ? - this would enable pre-loading ALL the assets, but is not ideal in most other cases - so add an option ? - - [ ] the assets of local blueprints + - [x] the assets of local blueprints Blueprints: - [x] on save: write IN THE COLLECTION PROPERTIES @@ -119,7 +119,7 @@ General issues: - [x] load settings on file load - [x] auto_export - [x] components - - [ ] add handling of errors when trying to load settings + - [x] add handling of errors when trying to load settings - [x] fix auto export workflow @@ -161,7 +161,7 @@ Blender side: - [ ] move the rename detection to AFTER scene serialization, otherwise we could have a naming mistmatch - weird behaviour, perhaps find another way , ie for example replace scene name in saved previous data - is post save causing the issue ? review -- [ ] investigate weird issue of changes detected to all after a reload +- [x] investigate weird issue of changes detected to all after a reload - [x] should we write the previous _xxx data only AFTER a sucessfull export only ? - [x] finer grained control of setting changes to trigger a re-export: @@ -201,7 +201,7 @@ Blender side: - [x] change scene serialization to account for collections ...sigh - [x] also add one NOT PER scene for materials, to fix the above issue with materials - [x] move material caching into hash material -- [ ] also remove ____dummy____.bin when export format is gltf +- [x] also remove ____dummy____.bin when export format is gltf - [ ] fix/cleanup asset information injection (also needed for hot reload) - [ ] add back per blueprint assets @@ -260,12 +260,12 @@ Bevy Side: - [x] fix/upgrade blueprint level animations - [x] fix/upgrade scene level animations - [ ] rename SceneAnimations to LevelAnimations (more coherent with the rest) + - [ ] add back & cleanup animation frame triggers - [x] move sub blueprint handling to blueprints_finalize_instances - [x] look into component overriding , it seems broken: - [x] blueprint level/ collection level components are now visible in instances in Blender - [x] they do not seem to be transfered to the (instance) entity above: could they be on the "empty node" ? -- [ ] add back & cleanup animation frame triggers - [ ] simplify testing example: - [x] remove use of rapier physics (or even the whole common boilerplate ?) @@ -298,6 +298,10 @@ Bevy Side: - [x] fix animation handling - [x] how to deal with animation graphs ? + +- [ ] remove "Library" component & co +- [ ] BlueprintDisabled => BlueprintInstanceDisabled + - [ ] update main docs - [ ] rename project to Blenvy - [ ] replace all references to the old 2 add-ons with those to Blenvy diff --git a/crates/blenvy/src/blueprints/spawn_from_blueprints.rs b/crates/blenvy/src/blueprints/spawn_from_blueprints.rs index 3534c85..e6cbf4c 100644 --- a/crates/blenvy/src/blueprints/spawn_from_blueprints.rs +++ b/crates/blenvy/src/blueprints/spawn_from_blueprints.rs @@ -76,7 +76,7 @@ pub struct BlueprintDisabled; #[derive(Event, Debug)] pub enum BlueprintEvent { - /// event fired when a blueprint has finished loading all of its assets & before it attempts spawning + /// event fired when a blueprint instance has finished loading all of its assets & before it attempts spawning AssetsLoaded { entity: Entity, blueprint_name: String, @@ -84,7 +84,10 @@ pub enum BlueprintEvent { // TODO: add assets list ? }, - /// + /// event fired when a blueprint instance has completely finished spawning, ie + /// - all its assests have been loaded + /// - all of its child blueprint instances are ready + /// - all the post processing is finished (aabb calculation, material replacements etc) InstanceReady { entity: Entity, blueprint_name: String, diff --git a/examples/bevy_gltf_components/basic/Cargo.toml b/examples/bevy_gltf_components/basic/Cargo.toml deleted file mode 100644 index ab6eb9d..0000000 --- a/examples/bevy_gltf_components/basic/Cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -[package] -name = "bevy_gltf_components_basic_example" -version = "0.3.0" -edition = "2021" -license = "MIT OR Apache-2.0" - -[dependencies] -bevy = { version = "0.13", features = ["dynamic_linking"] } -bevy_gltf_components = { path = "../../../crates/bevy_gltf_components" } -bevy_gltf_worlflow_examples_common_rapier = { path = "../../common_rapier" } diff --git a/examples/bevy_gltf_components/basic/README.md b/examples/bevy_gltf_components/basic/README.md deleted file mode 100644 index d12e91e..0000000 --- a/examples/bevy_gltf_components/basic/README.md +++ /dev/null @@ -1,64 +0,0 @@ - -# Basic bevy_gltf_components + wasm demo - - -## Running this example (non-wasm) - -``` -cargo run --features bevy/dynamic_linking -``` - -## Wasm - -### 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_components_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. - -Included are the following modules / tools - * [```process_gltf```](./src/process_gltfs.rs) the most important module: this is the one extracting ```component``` information from the gltf files - * [```insert_dependant_component```](./src/core/relationships/relationships_insert_dependant_components.rs) a small utility to automatically inject - components that are dependant on an other component - for example an Entity with a Player component should also always have a ShouldBeWithPlayer component - you get a warning if you use this though, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) - * [```camera```](./src/core/camera/) an example post process/replace proxies plugin, for Camera that also adds CameraTracking functions (to enable a camera to follow an object, ie the player) - * [```lighting```](./src/core/lighting/) an other example post process/replace proxies plugin for lighting, that toggles shadows, lighting config, etc so that things look closer to the original Blender data - * [```physics```](./src/core/physics/) an other example post process/replace proxies plugin for physics, that add [Rapier](https://rapier.rs/docs/user_guides/bevy_plugin/getting_started_bevy) Colliders, Rigidbodies etc . Most of these do not need proxies these days, as the most Rapier components are in the Registry & can be used directly - -Feel free to use as you want, rip it appart, use any/all parts that you need ! - -This tooling and workflow has enabled me to go from a blank Bevy + Blender setup to a working barebones level in very little time (30 minutes or so ?) ! -You can then add your own components & systems for your own gameplay very easilly - - -## Information -- the Bevy/ Rust code is [here](./src/main.rs) -- the Blender file is [here](./assets/basic.blend) -- I added [bevy_editor_pls](https://github.com/jakobhellermann/bevy_editor_pls) as a dependency for convenience so you can inspect your level/components diff --git a/examples/bevy_gltf_components/basic/assets/basic.blend b/examples/bevy_gltf_components/basic/assets/basic.blend deleted file mode 100644 index 0447205..0000000 Binary files a/examples/bevy_gltf_components/basic/assets/basic.blend and /dev/null differ diff --git a/examples/bevy_gltf_components/basic/assets/models/Level1.glb b/examples/bevy_gltf_components/basic/assets/models/Level1.glb deleted file mode 100644 index 3779945..0000000 Binary files a/examples/bevy_gltf_components/basic/assets/models/Level1.glb and /dev/null differ diff --git a/examples/bevy_gltf_components/basic/index.html b/examples/bevy_gltf_components/basic/index.html deleted file mode 100644 index 6e37b45..0000000 --- a/examples/bevy_gltf_components/basic/index.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - diff --git a/examples/bevy_gltf_components/basic/src/main.rs b/examples/bevy_gltf_components/basic/src/main.rs deleted file mode 100644 index 40df6cf..0000000 --- a/examples/bevy_gltf_components/basic/src/main.rs +++ /dev/null @@ -1,74 +0,0 @@ -use bevy::{gltf::Gltf, prelude::*}; -use bevy_gltf_components::ComponentsFromGltfPlugin; -use bevy_gltf_worlflow_examples_common_rapier::CorePlugin; - -mod test_components; -use test_components::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// helper marker component -pub struct LoadedMarker; - -#[derive(Debug, Clone, Copy, Default, Eq, PartialEq, Hash, States)] -enum AppState { - #[default] - Loading, - Running, -} - -#[derive(Resource)] -pub struct MyGltf(pub Handle); - -// we preload the data here, but this is for DEMO PURPOSES ONLY !! Please use https://github.com/NiklasEi/bevy_asset_loader or a similar logic to seperate loading / pre processing -// of assets from the spawning -// MyGltf is also just for the same purpose, you do not need it in a real scenario -// the states here are also for demo purposes only, -fn setup(mut commands: Commands, asset_server: Res) { - commands.insert_resource(MyGltf(asset_server.load("models/Level1.glb"))); -} - -fn spawn_level( - mut commands: Commands, - scene_markers: Query<&LoadedMarker>, - mut asset_event_reader: EventReader>, - mut next_state: ResMut>, - models: Res>, -) { - if let Some(asset_event) = asset_event_reader.read().next() { - if let AssetEvent::Added { id } = asset_event { - info!("GLTF loaded/ added {:?}", asset_event); - let my_gltf = models.get(*id).unwrap(); - if scene_markers.is_empty() { - info!("spawning scene"); - commands.spawn(( - SceneBundle { - scene: my_gltf.scenes[0].clone(), - ..default() - }, - LoadedMarker, - Name::new("Level1"), - )); - next_state.set(AppState::Running); - } - } - } -} - -fn main() { - App::new() - .add_plugins(( - DefaultPlugins.set(AssetPlugin::default()), - // editor - // EditorPlugin::default(), - // physics - // our custom plugins - ComponentsFromGltfPlugin::default(), - CorePlugin, // reusable plugins - ComponentsTestPlugin, // Showcases different type of components /structs - )) - .init_state::() - .add_systems(Startup, setup) - .add_systems(Update, (spawn_level.run_if(in_state(AppState::Loading)),)) - .run(); -} diff --git a/examples/bevy_gltf_save_load/basic/src/test_components.rs b/examples/bevy_gltf_save_load/basic/src/test_components.rs deleted file mode 100644 index b5384e2..0000000 --- a/examples/bevy_gltf_save_load/basic/src/test_components.rs +++ /dev/null @@ -1,80 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct UnitTest; - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -struct TupleTestF32(f32); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -struct TupleTestU64(u64); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -pub struct TupleTestStr(String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleTest2(f32, u64, String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleTestBool(bool); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleVec2(Vec2); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleVec3(Vec3); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleVec(Vec); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleTestColor(Color); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct BasicTest { - a: f32, - b: u64, - c: String, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum EnumTest { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -pub struct ComponentsTestPlugin; -impl Plugin for ComponentsTestPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::>(); - } -} diff --git a/examples/bevy_registry_export/basic/Cargo.toml b/examples/bevy_registry_export/basic/Cargo.toml deleted file mode 100644 index 346510e..0000000 --- a/examples/bevy_registry_export/basic/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "bevy_bevy_registry_export_basic_example" -version = "0.3.0" -edition = "2021" -license = "MIT OR Apache-2.0" - -[dependencies] -bevy = { version = "0.13", features = ["dynamic_linking"] } -bevy_gltf_blueprints = { path = "../../../crates/bevy_gltf_blueprints" } -bevy_registry_export = { path = "../../../crates/bevy_registry_export" } -bevy_gltf_worlflow_examples_common_rapier = { path = "../../common_rapier" } -bevy_rapier3d = { version = "0.25.0", features = ["serde-serialize", "debug-render-3d", "enhanced-determinism"] } -rand = "0.8.5" diff --git a/examples/bevy_registry_export/basic/README.md b/examples/bevy_registry_export/basic/README.md deleted file mode 100644 index d2ac337..0000000 --- a/examples/bevy_registry_export/basic/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# Bevy registry export example/demo - -This example showcases -* the use of the bevy_registry_export crate to extract all components & types information into a json file. -* That file is then used by the [Blender addon](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/blenvy) to create Uis for each component, -to be able to add & edit Bevy components easilly in Blender ! - - -## Running this example - -``` -cargo run --features bevy/dynamic_linking -``` - -Running the example also regenerates the registry.json file. diff --git a/examples/bevy_registry_export/basic/assets/assets_core.assets.ron b/examples/bevy_registry_export/basic/assets/assets_core.assets.ron deleted file mode 100644 index 8d0a099..0000000 --- a/examples/bevy_registry_export/basic/assets/assets_core.assets.ron +++ /dev/null @@ -1 +0,0 @@ -({}) \ No newline at end of file diff --git a/examples/bevy_registry_export/basic/assets/assets_game.assets.ron b/examples/bevy_registry_export/basic/assets/assets_game.assets.ron deleted file mode 100644 index 5b1e969..0000000 --- a/examples/bevy_registry_export/basic/assets/assets_game.assets.ron +++ /dev/null @@ -1,6 +0,0 @@ -({ - "world":File (path: "models/World.glb"), - "models": Folder ( - path: "models/library", - ), -}) \ No newline at end of file diff --git a/examples/bevy_registry_export/basic/assets/basic.blend b/examples/bevy_registry_export/basic/assets/basic.blend deleted file mode 100644 index cdb6b22..0000000 Binary files a/examples/bevy_registry_export/basic/assets/basic.blend and /dev/null differ diff --git a/examples/bevy_registry_export/basic/assets/models/World.glb b/examples/bevy_registry_export/basic/assets/models/World.glb deleted file mode 100644 index b7bc2b5..0000000 Binary files a/examples/bevy_registry_export/basic/assets/models/World.glb and /dev/null differ diff --git a/examples/bevy_registry_export/basic/assets/models/library/Container.glb b/examples/bevy_registry_export/basic/assets/models/library/Container.glb deleted file mode 100644 index 21cf8ab..0000000 Binary files a/examples/bevy_registry_export/basic/assets/models/library/Container.glb and /dev/null differ diff --git a/examples/bevy_registry_export/basic/assets/models/library/Health_Pickup.glb b/examples/bevy_registry_export/basic/assets/models/library/Health_Pickup.glb deleted file mode 100644 index 0361392..0000000 Binary files a/examples/bevy_registry_export/basic/assets/models/library/Health_Pickup.glb and /dev/null differ diff --git a/examples/bevy_registry_export/basic/assets/models/library/MagicTeapot.glb b/examples/bevy_registry_export/basic/assets/models/library/MagicTeapot.glb deleted file mode 100644 index 35b4638..0000000 Binary files a/examples/bevy_registry_export/basic/assets/models/library/MagicTeapot.glb and /dev/null differ diff --git a/examples/bevy_registry_export/basic/assets/models/library/Pillar.glb b/examples/bevy_registry_export/basic/assets/models/library/Pillar.glb deleted file mode 100644 index ca08896..0000000 Binary files a/examples/bevy_registry_export/basic/assets/models/library/Pillar.glb and /dev/null differ diff --git a/examples/bevy_registry_export/basic/assets/models/library/Player.glb b/examples/bevy_registry_export/basic/assets/models/library/Player.glb deleted file mode 100644 index e91658d..0000000 Binary files a/examples/bevy_registry_export/basic/assets/models/library/Player.glb and /dev/null differ diff --git a/examples/bevy_registry_export/basic/assets/models/library/Unused_in_level_test.glb b/examples/bevy_registry_export/basic/assets/models/library/Unused_in_level_test.glb deleted file mode 100644 index 18b9054..0000000 Binary files a/examples/bevy_registry_export/basic/assets/models/library/Unused_in_level_test.glb and /dev/null differ diff --git a/examples/bevy_registry_export/basic/assets/registry.json b/examples/bevy_registry_export/basic/assets/registry.json deleted file mode 100644 index 9aa5141..0000000 --- a/examples/bevy_registry_export/basic/assets/registry.json +++ /dev/null @@ -1,13008 +0,0 @@ -{ - "$defs": { - "(f32, f32)": { - "isComponent": false, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - }, - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "(f32, f32)", - "title": "(f32, f32)", - "type": "array", - "typeInfo": "Tuple" - }, - "alloc::borrow::Cow": { - "isComponent": false, - "isResource": false, - "short_name": "Cow", - "title": "alloc::borrow::Cow", - "type": "object", - "typeInfo": "Value" - }, - "alloc::borrow::Cow": { - "isComponent": false, - "isResource": false, - "short_name": "Cow", - "title": "alloc::borrow::Cow", - "type": "object", - "typeInfo": "Value" - }, - "alloc::string::String": { - "isComponent": false, - "isResource": false, - "short_name": "String", - "title": "alloc::string::String", - "type": "string", - "typeInfo": "Value" - }, - "alloc::vec::Vec<(f32, f32)>": { - "isComponent": false, - "isResource": false, - "items": { - "type": { - "$ref": "#/$defs/(f32, f32)" - } - }, - "short_name": "Vec<(f32, f32)>", - "title": "alloc::vec::Vec<(f32, f32)>", - "type": "array", - "typeInfo": "List" - }, - "alloc::vec::Vec": { - "isComponent": false, - "isResource": false, - "items": { - "type": { - "$ref": "#/$defs/alloc::string::String" - } - }, - "short_name": "Vec", - "title": "alloc::vec::Vec", - "type": "array", - "typeInfo": "List" - }, - "alloc::vec::Vec": { - "isComponent": false, - "isResource": false, - "items": { - "type": { - "$ref": "#/$defs/bevy_animation::VariableCurve" - } - }, - "short_name": "Vec", - "title": "alloc::vec::Vec", - "type": "array", - "typeInfo": "List" - }, - "alloc::vec::Vec": { - "isComponent": false, - "isResource": false, - "items": { - "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::TupleVec3" - } - }, - "short_name": "Vec", - "title": "alloc::vec::Vec", - "type": "array", - "typeInfo": "List" - }, - "alloc::vec::Vec": { - "isComponent": false, - "isResource": false, - "items": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - }, - "short_name": "Vec", - "title": "alloc::vec::Vec", - "type": "array", - "typeInfo": "List" - }, - "alloc::vec::Vec": { - "isComponent": false, - "isResource": false, - "items": { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - }, - "short_name": "Vec", - "title": "alloc::vec::Vec", - "type": "array", - "typeInfo": "List" - }, - "alloc::vec::Vec": { - "isComponent": false, - "isResource": false, - "items": { - "type": { - "$ref": "#/$defs/bevy_text::text::TextSection" - } - }, - "short_name": "Vec", - "title": "alloc::vec::Vec", - "type": "array", - "typeInfo": "List" - }, - "alloc::vec::Vec": { - "isComponent": false, - "isResource": false, - "items": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "short_name": "Vec", - "title": "alloc::vec::Vec", - "type": "array", - "typeInfo": "List" - }, - "alloc::vec::Vec": { - "isComponent": false, - "isResource": false, - "items": { - "type": { - "$ref": "#/$defs/glam::Quat" - } - }, - "short_name": "Vec", - "title": "alloc::vec::Vec", - "type": "array", - "typeInfo": "List" - }, - "alloc::vec::Vec": { - "isComponent": false, - "isResource": false, - "items": { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - }, - "short_name": "Vec", - "title": "alloc::vec::Vec", - "type": "array", - "typeInfo": "List" - }, - "bevy_animation::AnimationClip": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "curves": { - "type": { - "$ref": "#/$defs/alloc::vec::Vec>" - } - }, - "duration": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "paths": { - "type": { - "$ref": "#/$defs/bevy_utils::hashbrown::HashMap" - } - } - }, - "required": [ - "curves", - "paths", - "duration" - ], - "short_name": "AnimationClip", - "title": "bevy_animation::AnimationClip", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_animation::AnimationPlayer": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "animation": { - "type": { - "$ref": "#/$defs/bevy_animation::PlayingAnimation" - } - }, - "paused": { - "type": { - "$ref": "#/$defs/bool" - } - } - }, - "required": [ - "paused", - "animation" - ], - "short_name": "AnimationPlayer", - "title": "bevy_animation::AnimationPlayer", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_animation::Interpolation": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Linear", - "Step", - "CubicSpline" - ], - "short_name": "Interpolation", - "title": "bevy_animation::Interpolation", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_animation::Keyframes": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - ], - "short_name": "Rotation", - "title": "Rotation", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - ], - "short_name": "Translation", - "title": "Translation", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - ], - "short_name": "Scale", - "title": "Scale", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - ], - "short_name": "Weights", - "title": "Weights", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Keyframes", - "title": "bevy_animation::Keyframes", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_animation::VariableCurve": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_animation::VariableCurve", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_asset::handle::Handle<()>": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId<()>" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle<()>", - "title": "bevy_asset::handle::Handle<()>", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::handle::Handle": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/std::sync::Arc" - } - } - ], - "short_name": "Strong", - "title": "Strong", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::id::AssetId" - } - } - ], - "short_name": "Weak", - "title": "Weak", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Handle", - "title": "bevy_asset::handle::Handle", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId<()>": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId<()>", - "title": "bevy_asset::id::AssetId<()>", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::id::AssetId": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "index": { - "title": "index", - "type": { - "$ref": "#/$defs/bevy_asset::assets::AssetIndex" - } - } - }, - "required": [ - "index" - ], - "short_name": "Index", - "title": "Index", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "uuid": { - "title": "uuid", - "type": { - "$ref": "#/$defs/bevy_utils::Uuid" - } - } - }, - "required": [ - "uuid" - ], - "short_name": "Uuid", - "title": "Uuid", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "AssetId", - "title": "bevy_asset::id::AssetId", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_asset::path::AssetPath<'static>": { - "isComponent": false, - "isResource": false, - "short_name": "AssetPath<'static>", - "title": "bevy_asset::path::AssetPath<'static>", - "type": "object", - "typeInfo": "Value" - }, - "bevy_audio::audio::DefaultSpatialScale": { - "isComponent": false, - "isResource": true, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_audio::audio::SpatialScale" - } - } - ], - "short_name": "DefaultSpatialScale", - "title": "bevy_audio::audio::DefaultSpatialScale", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_audio::audio::GlobalVolume": { - "additionalProperties": false, - "isComponent": false, - "isResource": true, - "properties": { - "volume": { - "type": { - "$ref": "#/$defs/bevy_audio::audio::Volume" - } - } - }, - "required": [ - "volume" - ], - "short_name": "GlobalVolume", - "title": "bevy_audio::audio::GlobalVolume", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_audio::audio::PlaybackMode": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Once", - "Loop", - "Despawn", - "Remove" - ], - "short_name": "PlaybackMode", - "title": "bevy_audio::audio::PlaybackMode", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_audio::audio::PlaybackSettings": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_audio::audio::PlaybackSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_audio::audio::SpatialListener": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_audio::audio::SpatialListener", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_audio::audio::Volume": { - "isComponent": false, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Volume", - "title": "bevy_audio::audio::Volume", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::BasicTest": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "a": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "b": { - "type": { - "$ref": "#/$defs/u64" - } - }, - "c": { - "type": { - "$ref": "#/$defs/alloc::string::String" - } - } - }, - "required": [ - "a", - "b", - "c" - ], - "short_name": "BasicTest", - "title": "bevy_bevy_registry_export_basic_example::test_components::BasicTest", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_bevy_registry_export_basic_example::test_components::EnumComplex": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Float", - "title": "Float", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::string::String" - } - } - ], - "short_name": "Wood", - "title": "Wood", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::BasicTest" - } - } - ], - "short_name": "Vec", - "title": "Vec", - "type": "array", - "typeInfo": "Tuple" - }, - { - "title": "SomeThing" - }, - { - "title": "None" - } - ], - "short_name": "EnumComplex", - "title": "bevy_bevy_registry_export_basic_example::test_components::EnumComplex", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_bevy_registry_export_basic_example::test_components::EnumTest": { - "isComponent": true, - "isResource": false, - "oneOf": [ - "Metal", - "Wood", - "Rock", - "Cloth", - "Squishy", - "None" - ], - "short_name": "EnumTest", - "title": "bevy_bevy_registry_export_basic_example::test_components::EnumTest", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_bevy_registry_export_basic_example::test_components::NestedTupleStuff": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - }, - { - "type": { - "$ref": "#/$defs/u64" - } - }, - { - "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::NestingTestLevel2" - } - } - ], - "short_name": "NestedTupleStuff", - "title": "bevy_bevy_registry_export_basic_example::test_components::NestedTupleStuff", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::NestingTestLevel2": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "basic": { - "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::BasicTest" - } - }, - "color": { - "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::TupleTestColor" - } - }, - "colors_list": { - "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::VecOfColors" - } - }, - "enable": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "enum_inner": { - "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::EnumTest" - } - }, - "nested": { - "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::NestingTestLevel3" - } - }, - "text": { - "type": { - "$ref": "#/$defs/alloc::string::String" - } - }, - "toggle": { - "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::TupleTestBool" - } - } - }, - "required": [ - "text", - "enable", - "enum_inner", - "color", - "toggle", - "basic", - "nested", - "colors_list" - ], - "short_name": "NestingTestLevel2", - "title": "bevy_bevy_registry_export_basic_example::test_components::NestingTestLevel2", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_bevy_registry_export_basic_example::test_components::NestingTestLevel3": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "vec": { - "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::TupleVec3" - } - } - }, - "required": [ - "vec" - ], - "short_name": "NestingTestLevel3", - "title": "bevy_bevy_registry_export_basic_example::test_components::NestingTestLevel3", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_bevy_registry_export_basic_example::test_components::TupleTest2": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - }, - { - "type": { - "$ref": "#/$defs/u64" - } - }, - { - "type": { - "$ref": "#/$defs/alloc::string::String" - } - } - ], - "short_name": "TupleTest2", - "title": "bevy_bevy_registry_export_basic_example::test_components::TupleTest2", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::TupleTestBool": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bool" - } - } - ], - "short_name": "TupleTestBool", - "title": "bevy_bevy_registry_export_basic_example::test_components::TupleTestBool", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::TupleTestColor": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - } - ], - "short_name": "TupleTestColor", - "title": "bevy_bevy_registry_export_basic_example::test_components::TupleTestColor", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::TupleTestF32": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "TupleTestF32", - "title": "bevy_bevy_registry_export_basic_example::test_components::TupleTestF32", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::TupleTestStr": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::string::String" - } - } - ], - "short_name": "TupleTestStr", - "title": "bevy_bevy_registry_export_basic_example::test_components::TupleTestStr", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::TupleTestU64": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u64" - } - } - ], - "short_name": "TupleTestU64", - "title": "bevy_bevy_registry_export_basic_example::test_components::TupleTestU64", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::TupleVec": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - ], - "short_name": "TupleVec", - "title": "bevy_bevy_registry_export_basic_example::test_components::TupleVec", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::TupleVec2": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/glam::Vec2" - } - } - ], - "short_name": "TupleVec2", - "title": "bevy_bevy_registry_export_basic_example::test_components::TupleVec2", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::TupleVec3": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - } - ], - "short_name": "TupleVec3", - "title": "bevy_bevy_registry_export_basic_example::test_components::TupleVec3", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::TupleVecF32F32": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::vec::Vec<(f32, f32)>" - } - } - ], - "short_name": "TupleVecF32F32", - "title": "bevy_bevy_registry_export_basic_example::test_components::TupleVecF32F32", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::UnitTest": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "UnitTest", - "title": "bevy_bevy_registry_export_basic_example::test_components::UnitTest", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_bevy_registry_export_basic_example::test_components::VecOfColors": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - ], - "short_name": "VecOfColors", - "title": "bevy_bevy_registry_export_basic_example::test_components::VecOfColors", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::test_components::VecOfVec3s2": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - ], - "short_name": "VecOfVec3s2", - "title": "bevy_bevy_registry_export_basic_example::test_components::VecOfVec3s2", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_core::name::Name": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "hash": { - "type": { - "$ref": "#/$defs/u64" - } - }, - "name": { - "type": { - "$ref": "#/$defs/alloc::borrow::Cow" - } - } - }, - "required": [ - "hash", - "name" - ], - "short_name": "Name", - "title": "bevy_core::name::Name", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_core_pipeline::bloom::settings::BloomCompositeMode": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "EnergyConserving", - "Additive" - ], - "short_name": "BloomCompositeMode", - "title": "bevy_core_pipeline::bloom::settings::BloomCompositeMode", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_core_pipeline::bloom::settings::BloomPrefilterSettings": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "threshold": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "threshold_softness": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "threshold", - "threshold_softness" - ], - "short_name": "BloomPrefilterSettings", - "title": "bevy_core_pipeline::bloom::settings::BloomPrefilterSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_core_pipeline::bloom::settings::BloomSettings": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_core_pipeline::bloom::settings::BloomSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_core_pipeline::contrast_adaptive_sharpening::ContrastAdaptiveSharpeningSettings": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_core_pipeline::contrast_adaptive_sharpening::ContrastAdaptiveSharpeningSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_core_pipeline::core_2d::camera_2d::Camera2d": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "Camera2d", - "title": "bevy_core_pipeline::core_2d::camera_2d::Camera2d", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_core_pipeline::core_3d::camera_3d::Camera3d": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_core_pipeline::core_3d::camera_3d::Camera3d", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_core_pipeline::core_3d::camera_3d::Camera3dDepthLoadOp": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Clear", - "title": "Clear", - "type": "array", - "typeInfo": "Tuple" - }, - { - "title": "Load" - } - ], - "short_name": "Camera3dDepthLoadOp", - "title": "bevy_core_pipeline::core_3d::camera_3d::Camera3dDepthLoadOp", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_core_pipeline::core_3d::camera_3d::Camera3dDepthTextureUsage": { - "isComponent": false, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u32" - } - } - ], - "short_name": "Camera3dDepthTextureUsage", - "title": "bevy_core_pipeline::core_3d::camera_3d::Camera3dDepthTextureUsage", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_core_pipeline::core_3d::camera_3d::ScreenSpaceTransmissionQuality": { - "isComponent": false, - "isResource": true, - "oneOf": [ - "Low", - "Medium", - "High", - "Ultra" - ], - "short_name": "ScreenSpaceTransmissionQuality", - "title": "bevy_core_pipeline::core_3d::camera_3d::ScreenSpaceTransmissionQuality", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_core_pipeline::fxaa::Fxaa": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_core_pipeline::fxaa::Fxaa", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_core_pipeline::prepass::DeferredPrepass": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "DeferredPrepass", - "title": "bevy_core_pipeline::prepass::DeferredPrepass", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_core_pipeline::prepass::DepthPrepass": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "DepthPrepass", - "title": "bevy_core_pipeline::prepass::DepthPrepass", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_core_pipeline::prepass::MotionVectorPrepass": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "MotionVectorPrepass", - "title": "bevy_core_pipeline::prepass::MotionVectorPrepass", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_core_pipeline::prepass::NormalPrepass": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "NormalPrepass", - "title": "bevy_core_pipeline::prepass::NormalPrepass", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_core_pipeline::tonemapping::DebandDither": { - "isComponent": true, - "isResource": false, - "oneOf": [ - "Disabled", - "Enabled" - ], - "short_name": "DebandDither", - "title": "bevy_core_pipeline::tonemapping::DebandDither", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_core_pipeline::tonemapping::Tonemapping": { - "isComponent": true, - "isResource": false, - "oneOf": [ - "None", - "Reinhard", - "ReinhardLuminance", - "AcesFitted", - "AgX", - "SomewhatBoringDisplayTransform", - "TonyMcMapface", - "BlenderFilmic" - ], - "short_name": "Tonemapping", - "title": "bevy_core_pipeline::tonemapping::Tonemapping", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ecs::component::ComponentId": { - "isComponent": false, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/usize" - } - } - ], - "short_name": "ComponentId", - "title": "bevy_ecs::component::ComponentId", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_ecs::component::ComponentTicks": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "added": { - "type": { - "$ref": "#/$defs/bevy_ecs::component::Tick" - } - }, - "changed": { - "type": { - "$ref": "#/$defs/bevy_ecs::component::Tick" - } - } - }, - "required": [ - "added", - "changed" - ], - "short_name": "ComponentTicks", - "title": "bevy_ecs::component::ComponentTicks", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ecs::component::Tick": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "tick": { - "type": { - "$ref": "#/$defs/u32" - } - } - }, - "required": [ - "tick" - ], - "short_name": "Tick", - "title": "bevy_ecs::component::Tick", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ecs::entity::Entity": { - "isComponent": false, - "isResource": false, - "short_name": "Entity", - "title": "bevy_ecs::entity::Entity", - "type": "object", - "typeInfo": "Value" - }, - "bevy_egui::EguiSettings": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "default_open_url_target": { - "type": { - "$ref": "#/$defs/core::option::Option" - } - }, - "scale_factor": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "scale_factor" - ], - "short_name": "EguiSettings", - "title": "bevy_egui::EguiSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gizmos::aabb::AabbGizmoConfigGroup": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "default_color": { - "type": { - "$ref": "#/$defs/core::option::Option" - } - }, - "draw_all": { - "type": { - "$ref": "#/$defs/bool" - } - } - }, - "required": [ - "draw_all" - ], - "short_name": "AabbGizmoConfigGroup", - "title": "bevy_gizmos::aabb::AabbGizmoConfigGroup", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gizmos::config::GizmoConfig": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "depth_bias": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "enabled": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "line_perspective": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "line_width": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "render_layers": { - "type": { - "$ref": "#/$defs/bevy_render::view::visibility::render_layers::RenderLayers" - } - } - }, - "required": [ - "enabled", - "line_width", - "line_perspective", - "depth_bias", - "render_layers" - ], - "short_name": "GizmoConfig", - "title": "bevy_gizmos::config::GizmoConfig", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf::GltfExtras": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "value": { - "type": { - "$ref": "#/$defs/alloc::string::String" - } - } - }, - "required": [ - "value" - ], - "short_name": "GltfExtras", - "title": "bevy_gltf::GltfExtras", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_blueprints::animation::Animated": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "Animated", - "title": "bevy_gltf_blueprints::animation::Animated", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_blueprints::animation::Animations": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "named_animations": { - "type": { - "$ref": "#/$defs/bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>" - } - } - }, - "required": [ - "named_animations" - ], - "short_name": "Animations", - "title": "bevy_gltf_blueprints::animation::Animations", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_blueprints::materials::MaterialInfo": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "name": { - "type": { - "$ref": "#/$defs/alloc::string::String" - } - }, - "source": { - "type": { - "$ref": "#/$defs/alloc::string::String" - } - } - }, - "required": [ - "name", - "source" - ], - "short_name": "MaterialInfo", - "title": "bevy_gltf_blueprints::materials::MaterialInfo", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::string::String" - } - } - ], - "short_name": "BlueprintName", - "title": "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintsList": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>" - } - } - ], - "short_name": "BlueprintsList", - "title": "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintsList", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "SpawnHere", - "title": "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_components::GltfProcessed": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "GltfProcessed", - "title": "bevy_gltf_components::GltfProcessed", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_components::blender_settings::lighting::BlenderBackgroundShader": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "color": { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - }, - "strength": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "color", - "strength" - ], - "short_name": "BlenderBackgroundShader", - "title": "bevy_gltf_components::blender_settings::lighting::BlenderBackgroundShader", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_components::blender_settings::lighting::BlenderLightShadows": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "buffer_bias": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "enabled": { - "type": { - "$ref": "#/$defs/bool" - } - } - }, - "required": [ - "enabled", - "buffer_bias" - ], - "short_name": "BlenderLightShadows", - "title": "bevy_gltf_components::blender_settings::lighting::BlenderLightShadows", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_components::blender_settings::lighting::BlenderShadowSettings": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "cascade_size": { - "type": { - "$ref": "#/$defs/usize" - } - } - }, - "required": [ - "cascade_size" - ], - "short_name": "BlenderShadowSettings", - "title": "bevy_gltf_components::blender_settings::lighting::BlenderShadowSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_worlflow_examples_common::core::camera::camera_replace_proxies::SSAOSettings": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "SSAOSettings", - "title": "bevy_gltf_worlflow_examples_common::core::camera::camera_replace_proxies::SSAOSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTrackable": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "CameraTrackable", - "title": "bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTrackable", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTracking": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "offset": { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - } - }, - "required": [ - "offset" - ], - "short_name": "CameraTracking", - "title": "bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTracking", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTrackingOffset": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - } - ], - "short_name": "CameraTrackingOffset", - "title": "bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTrackingOffset", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_gltf_worlflow_examples_common::game::picking::Pickable": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "Pickable", - "title": "bevy_gltf_worlflow_examples_common::game::picking::Pickable", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_worlflow_examples_common::game::player::Player": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "Player", - "title": "bevy_gltf_worlflow_examples_common::game::player::Player", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_gltf_worlflow_examples_common_rapier::physics::physics_replace_proxies::AutoAABBCollider": { - "isComponent": true, - "isResource": false, - "oneOf": [ - "Cuboid", - "Ball", - "Capsule" - ], - "short_name": "AutoAABBCollider", - "title": "bevy_gltf_worlflow_examples_common_rapier::physics::physics_replace_proxies::AutoAABBCollider", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_gltf_worlflow_examples_common_rapier::physics::physics_replace_proxies::Collider": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Ball", - "title": "Ball", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - } - ], - "short_name": "Cuboid", - "title": "Cuboid", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - }, - { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - }, - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Capsule", - "title": "Capsule", - "type": "array", - "typeInfo": "Tuple" - }, - { - "title": "Mesh" - } - ], - "short_name": "Collider", - "title": "bevy_gltf_worlflow_examples_common_rapier::physics::physics_replace_proxies::Collider", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_hierarchy::components::children::Children": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_utils::smallvec::SmallVec<[bevy_ecs::entity::Entity; 8]>" - } - } - ], - "short_name": "Children", - "title": "bevy_hierarchy::components::children::Children", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_hierarchy::components::parent::Parent": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - ], - "short_name": "Parent", - "title": "bevy_hierarchy::components::parent::Parent", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_input::ButtonState": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Pressed", - "Released" - ], - "short_name": "ButtonState", - "title": "bevy_input::ButtonState", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_input::gamepad::AxisSettings": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_input::gamepad::AxisSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::gamepad::ButtonAxisSettings": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "high": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "low": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "threshold": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "high", - "low", - "threshold" - ], - "short_name": "ButtonAxisSettings", - "title": "bevy_input::gamepad::ButtonAxisSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::gamepad::ButtonSettings": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "press_threshold": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "release_threshold": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "press_threshold", - "release_threshold" - ], - "short_name": "ButtonSettings", - "title": "bevy_input::gamepad::ButtonSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::gamepad::Gamepad": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "id": { - "type": { - "$ref": "#/$defs/usize" - } - } - }, - "required": [ - "id" - ], - "short_name": "Gamepad", - "title": "bevy_input::gamepad::Gamepad", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::gamepad::GamepadAxis": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_input::gamepad::GamepadAxis", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::gamepad::GamepadAxisType": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "LeftStickX" - }, - { - "title": "LeftStickY" - }, - { - "title": "LeftZ" - }, - { - "title": "RightStickX" - }, - { - "title": "RightStickY" - }, - { - "title": "RightZ" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u8" - } - } - ], - "short_name": "Other", - "title": "Other", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "GamepadAxisType", - "title": "bevy_input::gamepad::GamepadAxisType", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_input::gamepad::GamepadButton": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_input::gamepad::GamepadButton", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::gamepad::GamepadButtonInput": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "button": { - "type": { - "$ref": "#/$defs/bevy_input::gamepad::GamepadButton" - } - }, - "state": { - "type": { - "$ref": "#/$defs/bevy_input::ButtonState" - } - } - }, - "required": [ - "button", - "state" - ], - "short_name": "GamepadButtonInput", - "title": "bevy_input::gamepad::GamepadButtonInput", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::gamepad::GamepadButtonType": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "South" - }, - { - "title": "East" - }, - { - "title": "North" - }, - { - "title": "West" - }, - { - "title": "C" - }, - { - "title": "Z" - }, - { - "title": "LeftTrigger" - }, - { - "title": "LeftTrigger2" - }, - { - "title": "RightTrigger" - }, - { - "title": "RightTrigger2" - }, - { - "title": "Select" - }, - { - "title": "Start" - }, - { - "title": "Mode" - }, - { - "title": "LeftThumb" - }, - { - "title": "RightThumb" - }, - { - "title": "DPadUp" - }, - { - "title": "DPadDown" - }, - { - "title": "DPadLeft" - }, - { - "title": "DPadRight" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u8" - } - } - ], - "short_name": "Other", - "title": "Other", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "GamepadButtonType", - "title": "bevy_input::gamepad::GamepadButtonType", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_input::gamepad::GamepadConnection": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_input::gamepad::GamepadInfo" - } - } - ], - "short_name": "Connected", - "title": "Connected", - "type": "array", - "typeInfo": "Tuple" - }, - { - "title": "Disconnected" - } - ], - "short_name": "GamepadConnection", - "title": "bevy_input::gamepad::GamepadConnection", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_input::gamepad::GamepadSettings": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_input::gamepad::GamepadSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::keyboard::Key": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/smol_str::SmolStr" - } - } - ], - "short_name": "Character", - "title": "Character", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_input::keyboard::NativeKey" - } - } - ], - "short_name": "Unidentified", - "title": "Unidentified", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/core::option::Option" - } - } - ], - "short_name": "Dead", - "title": "Dead", - "type": "array", - "typeInfo": "Tuple" - }, - { - "title": "Alt" - }, - { - "title": "AltGraph" - }, - { - "title": "CapsLock" - }, - { - "title": "Control" - }, - { - "title": "Fn" - }, - { - "title": "FnLock" - }, - { - "title": "NumLock" - }, - { - "title": "ScrollLock" - }, - { - "title": "Shift" - }, - { - "title": "Symbol" - }, - { - "title": "SymbolLock" - }, - { - "title": "Meta" - }, - { - "title": "Hyper" - }, - { - "title": "Super" - }, - { - "title": "Enter" - }, - { - "title": "Tab" - }, - { - "title": "Space" - }, - { - "title": "ArrowDown" - }, - { - "title": "ArrowLeft" - }, - { - "title": "ArrowRight" - }, - { - "title": "ArrowUp" - }, - { - "title": "End" - }, - { - "title": "Home" - }, - { - "title": "PageDown" - }, - { - "title": "PageUp" - }, - { - "title": "Backspace" - }, - { - "title": "Clear" - }, - { - "title": "Copy" - }, - { - "title": "CrSel" - }, - { - "title": "Cut" - }, - { - "title": "Delete" - }, - { - "title": "EraseEof" - }, - { - "title": "ExSel" - }, - { - "title": "Insert" - }, - { - "title": "Paste" - }, - { - "title": "Redo" - }, - { - "title": "Undo" - }, - { - "title": "Accept" - }, - { - "title": "Again" - }, - { - "title": "Attn" - }, - { - "title": "Cancel" - }, - { - "title": "ContextMenu" - }, - { - "title": "Escape" - }, - { - "title": "Execute" - }, - { - "title": "Find" - }, - { - "title": "Help" - }, - { - "title": "Pause" - }, - { - "title": "Play" - }, - { - "title": "Props" - }, - { - "title": "Select" - }, - { - "title": "ZoomIn" - }, - { - "title": "ZoomOut" - }, - { - "title": "BrightnessDown" - }, - { - "title": "BrightnessUp" - }, - { - "title": "Eject" - }, - { - "title": "LogOff" - }, - { - "title": "Power" - }, - { - "title": "PowerOff" - }, - { - "title": "PrintScreen" - }, - { - "title": "Hibernate" - }, - { - "title": "Standby" - }, - { - "title": "WakeUp" - }, - { - "title": "AllCandidates" - }, - { - "title": "Alphanumeric" - }, - { - "title": "CodeInput" - }, - { - "title": "Compose" - }, - { - "title": "Convert" - }, - { - "title": "FinalMode" - }, - { - "title": "GroupFirst" - }, - { - "title": "GroupLast" - }, - { - "title": "GroupNext" - }, - { - "title": "GroupPrevious" - }, - { - "title": "ModeChange" - }, - { - "title": "NextCandidate" - }, - { - "title": "NonConvert" - }, - { - "title": "PreviousCandidate" - }, - { - "title": "Process" - }, - { - "title": "SingleCandidate" - }, - { - "title": "HangulMode" - }, - { - "title": "HanjaMode" - }, - { - "title": "JunjaMode" - }, - { - "title": "Eisu" - }, - { - "title": "Hankaku" - }, - { - "title": "Hiragana" - }, - { - "title": "HiraganaKatakana" - }, - { - "title": "KanaMode" - }, - { - "title": "KanjiMode" - }, - { - "title": "Katakana" - }, - { - "title": "Romaji" - }, - { - "title": "Zenkaku" - }, - { - "title": "ZenkakuHankaku" - }, - { - "title": "Soft1" - }, - { - "title": "Soft2" - }, - { - "title": "Soft3" - }, - { - "title": "Soft4" - }, - { - "title": "ChannelDown" - }, - { - "title": "ChannelUp" - }, - { - "title": "Close" - }, - { - "title": "MailForward" - }, - { - "title": "MailReply" - }, - { - "title": "MailSend" - }, - { - "title": "MediaClose" - }, - { - "title": "MediaFastForward" - }, - { - "title": "MediaPause" - }, - { - "title": "MediaPlay" - }, - { - "title": "MediaPlayPause" - }, - { - "title": "MediaRecord" - }, - { - "title": "MediaRewind" - }, - { - "title": "MediaStop" - }, - { - "title": "MediaTrackNext" - }, - { - "title": "MediaTrackPrevious" - }, - { - "title": "New" - }, - { - "title": "Open" - }, - { - "title": "Print" - }, - { - "title": "Save" - }, - { - "title": "SpellCheck" - }, - { - "title": "Key11" - }, - { - "title": "Key12" - }, - { - "title": "AudioBalanceLeft" - }, - { - "title": "AudioBalanceRight" - }, - { - "title": "AudioBassBoostDown" - }, - { - "title": "AudioBassBoostToggle" - }, - { - "title": "AudioBassBoostUp" - }, - { - "title": "AudioFaderFront" - }, - { - "title": "AudioFaderRear" - }, - { - "title": "AudioSurroundModeNext" - }, - { - "title": "AudioTrebleDown" - }, - { - "title": "AudioTrebleUp" - }, - { - "title": "AudioVolumeDown" - }, - { - "title": "AudioVolumeUp" - }, - { - "title": "AudioVolumeMute" - }, - { - "title": "MicrophoneToggle" - }, - { - "title": "MicrophoneVolumeDown" - }, - { - "title": "MicrophoneVolumeUp" - }, - { - "title": "MicrophoneVolumeMute" - }, - { - "title": "SpeechCorrectionList" - }, - { - "title": "SpeechInputToggle" - }, - { - "title": "LaunchApplication1" - }, - { - "title": "LaunchApplication2" - }, - { - "title": "LaunchCalendar" - }, - { - "title": "LaunchContacts" - }, - { - "title": "LaunchMail" - }, - { - "title": "LaunchMediaPlayer" - }, - { - "title": "LaunchMusicPlayer" - }, - { - "title": "LaunchPhone" - }, - { - "title": "LaunchScreenSaver" - }, - { - "title": "LaunchSpreadsheet" - }, - { - "title": "LaunchWebBrowser" - }, - { - "title": "LaunchWebCam" - }, - { - "title": "LaunchWordProcessor" - }, - { - "title": "BrowserBack" - }, - { - "title": "BrowserFavorites" - }, - { - "title": "BrowserForward" - }, - { - "title": "BrowserHome" - }, - { - "title": "BrowserRefresh" - }, - { - "title": "BrowserSearch" - }, - { - "title": "BrowserStop" - }, - { - "title": "AppSwitch" - }, - { - "title": "Call" - }, - { - "title": "Camera" - }, - { - "title": "CameraFocus" - }, - { - "title": "EndCall" - }, - { - "title": "GoBack" - }, - { - "title": "GoHome" - }, - { - "title": "HeadsetHook" - }, - { - "title": "LastNumberRedial" - }, - { - "title": "Notification" - }, - { - "title": "MannerMode" - }, - { - "title": "VoiceDial" - }, - { - "title": "TV" - }, - { - "title": "TV3DMode" - }, - { - "title": "TVAntennaCable" - }, - { - "title": "TVAudioDescription" - }, - { - "title": "TVAudioDescriptionMixDown" - }, - { - "title": "TVAudioDescriptionMixUp" - }, - { - "title": "TVContentsMenu" - }, - { - "title": "TVDataService" - }, - { - "title": "TVInput" - }, - { - "title": "TVInputComponent1" - }, - { - "title": "TVInputComponent2" - }, - { - "title": "TVInputComposite1" - }, - { - "title": "TVInputComposite2" - }, - { - "title": "TVInputHDMI1" - }, - { - "title": "TVInputHDMI2" - }, - { - "title": "TVInputHDMI3" - }, - { - "title": "TVInputHDMI4" - }, - { - "title": "TVInputVGA1" - }, - { - "title": "TVMediaContext" - }, - { - "title": "TVNetwork" - }, - { - "title": "TVNumberEntry" - }, - { - "title": "TVPower" - }, - { - "title": "TVRadioService" - }, - { - "title": "TVSatellite" - }, - { - "title": "TVSatelliteBS" - }, - { - "title": "TVSatelliteCS" - }, - { - "title": "TVSatelliteToggle" - }, - { - "title": "TVTerrestrialAnalog" - }, - { - "title": "TVTerrestrialDigital" - }, - { - "title": "TVTimer" - }, - { - "title": "AVRInput" - }, - { - "title": "AVRPower" - }, - { - "title": "ColorF0Red" - }, - { - "title": "ColorF1Green" - }, - { - "title": "ColorF2Yellow" - }, - { - "title": "ColorF3Blue" - }, - { - "title": "ColorF4Grey" - }, - { - "title": "ColorF5Brown" - }, - { - "title": "ClosedCaptionToggle" - }, - { - "title": "Dimmer" - }, - { - "title": "DisplaySwap" - }, - { - "title": "DVR" - }, - { - "title": "Exit" - }, - { - "title": "FavoriteClear0" - }, - { - "title": "FavoriteClear1" - }, - { - "title": "FavoriteClear2" - }, - { - "title": "FavoriteClear3" - }, - { - "title": "FavoriteRecall0" - }, - { - "title": "FavoriteRecall1" - }, - { - "title": "FavoriteRecall2" - }, - { - "title": "FavoriteRecall3" - }, - { - "title": "FavoriteStore0" - }, - { - "title": "FavoriteStore1" - }, - { - "title": "FavoriteStore2" - }, - { - "title": "FavoriteStore3" - }, - { - "title": "Guide" - }, - { - "title": "GuideNextDay" - }, - { - "title": "GuidePreviousDay" - }, - { - "title": "Info" - }, - { - "title": "InstantReplay" - }, - { - "title": "Link" - }, - { - "title": "ListProgram" - }, - { - "title": "LiveContent" - }, - { - "title": "Lock" - }, - { - "title": "MediaApps" - }, - { - "title": "MediaAudioTrack" - }, - { - "title": "MediaLast" - }, - { - "title": "MediaSkipBackward" - }, - { - "title": "MediaSkipForward" - }, - { - "title": "MediaStepBackward" - }, - { - "title": "MediaStepForward" - }, - { - "title": "MediaTopMenu" - }, - { - "title": "NavigateIn" - }, - { - "title": "NavigateNext" - }, - { - "title": "NavigateOut" - }, - { - "title": "NavigatePrevious" - }, - { - "title": "NextFavoriteChannel" - }, - { - "title": "NextUserProfile" - }, - { - "title": "OnDemand" - }, - { - "title": "Pairing" - }, - { - "title": "PinPDown" - }, - { - "title": "PinPMove" - }, - { - "title": "PinPToggle" - }, - { - "title": "PinPUp" - }, - { - "title": "PlaySpeedDown" - }, - { - "title": "PlaySpeedReset" - }, - { - "title": "PlaySpeedUp" - }, - { - "title": "RandomToggle" - }, - { - "title": "RcLowBattery" - }, - { - "title": "RecordSpeedNext" - }, - { - "title": "RfBypass" - }, - { - "title": "ScanChannelsToggle" - }, - { - "title": "ScreenModeNext" - }, - { - "title": "Settings" - }, - { - "title": "SplitScreenToggle" - }, - { - "title": "STBInput" - }, - { - "title": "STBPower" - }, - { - "title": "Subtitle" - }, - { - "title": "Teletext" - }, - { - "title": "VideoModeNext" - }, - { - "title": "Wink" - }, - { - "title": "ZoomToggle" - }, - { - "title": "F1" - }, - { - "title": "F2" - }, - { - "title": "F3" - }, - { - "title": "F4" - }, - { - "title": "F5" - }, - { - "title": "F6" - }, - { - "title": "F7" - }, - { - "title": "F8" - }, - { - "title": "F9" - }, - { - "title": "F10" - }, - { - "title": "F11" - }, - { - "title": "F12" - }, - { - "title": "F13" - }, - { - "title": "F14" - }, - { - "title": "F15" - }, - { - "title": "F16" - }, - { - "title": "F17" - }, - { - "title": "F18" - }, - { - "title": "F19" - }, - { - "title": "F20" - }, - { - "title": "F21" - }, - { - "title": "F22" - }, - { - "title": "F23" - }, - { - "title": "F24" - }, - { - "title": "F25" - }, - { - "title": "F26" - }, - { - "title": "F27" - }, - { - "title": "F28" - }, - { - "title": "F29" - }, - { - "title": "F30" - }, - { - "title": "F31" - }, - { - "title": "F32" - }, - { - "title": "F33" - }, - { - "title": "F34" - }, - { - "title": "F35" - } - ], - "short_name": "Key", - "title": "bevy_input::keyboard::Key", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_input::keyboard::KeyCode": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_input::keyboard::NativeKeyCode" - } - } - ], - "short_name": "Unidentified", - "title": "Unidentified", - "type": "array", - "typeInfo": "Tuple" - }, - { - "title": "Backquote" - }, - { - "title": "Backslash" - }, - { - "title": "BracketLeft" - }, - { - "title": "BracketRight" - }, - { - "title": "Comma" - }, - { - "title": "Digit0" - }, - { - "title": "Digit1" - }, - { - "title": "Digit2" - }, - { - "title": "Digit3" - }, - { - "title": "Digit4" - }, - { - "title": "Digit5" - }, - { - "title": "Digit6" - }, - { - "title": "Digit7" - }, - { - "title": "Digit8" - }, - { - "title": "Digit9" - }, - { - "title": "Equal" - }, - { - "title": "IntlBackslash" - }, - { - "title": "IntlRo" - }, - { - "title": "IntlYen" - }, - { - "title": "KeyA" - }, - { - "title": "KeyB" - }, - { - "title": "KeyC" - }, - { - "title": "KeyD" - }, - { - "title": "KeyE" - }, - { - "title": "KeyF" - }, - { - "title": "KeyG" - }, - { - "title": "KeyH" - }, - { - "title": "KeyI" - }, - { - "title": "KeyJ" - }, - { - "title": "KeyK" - }, - { - "title": "KeyL" - }, - { - "title": "KeyM" - }, - { - "title": "KeyN" - }, - { - "title": "KeyO" - }, - { - "title": "KeyP" - }, - { - "title": "KeyQ" - }, - { - "title": "KeyR" - }, - { - "title": "KeyS" - }, - { - "title": "KeyT" - }, - { - "title": "KeyU" - }, - { - "title": "KeyV" - }, - { - "title": "KeyW" - }, - { - "title": "KeyX" - }, - { - "title": "KeyY" - }, - { - "title": "KeyZ" - }, - { - "title": "Minus" - }, - { - "title": "Period" - }, - { - "title": "Quote" - }, - { - "title": "Semicolon" - }, - { - "title": "Slash" - }, - { - "title": "AltLeft" - }, - { - "title": "AltRight" - }, - { - "title": "Backspace" - }, - { - "title": "CapsLock" - }, - { - "title": "ContextMenu" - }, - { - "title": "ControlLeft" - }, - { - "title": "ControlRight" - }, - { - "title": "Enter" - }, - { - "title": "SuperLeft" - }, - { - "title": "SuperRight" - }, - { - "title": "ShiftLeft" - }, - { - "title": "ShiftRight" - }, - { - "title": "Space" - }, - { - "title": "Tab" - }, - { - "title": "Convert" - }, - { - "title": "KanaMode" - }, - { - "title": "Lang1" - }, - { - "title": "Lang2" - }, - { - "title": "Lang3" - }, - { - "title": "Lang4" - }, - { - "title": "Lang5" - }, - { - "title": "NonConvert" - }, - { - "title": "Delete" - }, - { - "title": "End" - }, - { - "title": "Help" - }, - { - "title": "Home" - }, - { - "title": "Insert" - }, - { - "title": "PageDown" - }, - { - "title": "PageUp" - }, - { - "title": "ArrowDown" - }, - { - "title": "ArrowLeft" - }, - { - "title": "ArrowRight" - }, - { - "title": "ArrowUp" - }, - { - "title": "NumLock" - }, - { - "title": "Numpad0" - }, - { - "title": "Numpad1" - }, - { - "title": "Numpad2" - }, - { - "title": "Numpad3" - }, - { - "title": "Numpad4" - }, - { - "title": "Numpad5" - }, - { - "title": "Numpad6" - }, - { - "title": "Numpad7" - }, - { - "title": "Numpad8" - }, - { - "title": "Numpad9" - }, - { - "title": "NumpadAdd" - }, - { - "title": "NumpadBackspace" - }, - { - "title": "NumpadClear" - }, - { - "title": "NumpadClearEntry" - }, - { - "title": "NumpadComma" - }, - { - "title": "NumpadDecimal" - }, - { - "title": "NumpadDivide" - }, - { - "title": "NumpadEnter" - }, - { - "title": "NumpadEqual" - }, - { - "title": "NumpadHash" - }, - { - "title": "NumpadMemoryAdd" - }, - { - "title": "NumpadMemoryClear" - }, - { - "title": "NumpadMemoryRecall" - }, - { - "title": "NumpadMemoryStore" - }, - { - "title": "NumpadMemorySubtract" - }, - { - "title": "NumpadMultiply" - }, - { - "title": "NumpadParenLeft" - }, - { - "title": "NumpadParenRight" - }, - { - "title": "NumpadStar" - }, - { - "title": "NumpadSubtract" - }, - { - "title": "Escape" - }, - { - "title": "Fn" - }, - { - "title": "FnLock" - }, - { - "title": "PrintScreen" - }, - { - "title": "ScrollLock" - }, - { - "title": "Pause" - }, - { - "title": "BrowserBack" - }, - { - "title": "BrowserFavorites" - }, - { - "title": "BrowserForward" - }, - { - "title": "BrowserHome" - }, - { - "title": "BrowserRefresh" - }, - { - "title": "BrowserSearch" - }, - { - "title": "BrowserStop" - }, - { - "title": "Eject" - }, - { - "title": "LaunchApp1" - }, - { - "title": "LaunchApp2" - }, - { - "title": "LaunchMail" - }, - { - "title": "MediaPlayPause" - }, - { - "title": "MediaSelect" - }, - { - "title": "MediaStop" - }, - { - "title": "MediaTrackNext" - }, - { - "title": "MediaTrackPrevious" - }, - { - "title": "Power" - }, - { - "title": "Sleep" - }, - { - "title": "AudioVolumeDown" - }, - { - "title": "AudioVolumeMute" - }, - { - "title": "AudioVolumeUp" - }, - { - "title": "WakeUp" - }, - { - "title": "Meta" - }, - { - "title": "Hyper" - }, - { - "title": "Turbo" - }, - { - "title": "Abort" - }, - { - "title": "Resume" - }, - { - "title": "Suspend" - }, - { - "title": "Again" - }, - { - "title": "Copy" - }, - { - "title": "Cut" - }, - { - "title": "Find" - }, - { - "title": "Open" - }, - { - "title": "Paste" - }, - { - "title": "Props" - }, - { - "title": "Select" - }, - { - "title": "Undo" - }, - { - "title": "Hiragana" - }, - { - "title": "Katakana" - }, - { - "title": "F1" - }, - { - "title": "F2" - }, - { - "title": "F3" - }, - { - "title": "F4" - }, - { - "title": "F5" - }, - { - "title": "F6" - }, - { - "title": "F7" - }, - { - "title": "F8" - }, - { - "title": "F9" - }, - { - "title": "F10" - }, - { - "title": "F11" - }, - { - "title": "F12" - }, - { - "title": "F13" - }, - { - "title": "F14" - }, - { - "title": "F15" - }, - { - "title": "F16" - }, - { - "title": "F17" - }, - { - "title": "F18" - }, - { - "title": "F19" - }, - { - "title": "F20" - }, - { - "title": "F21" - }, - { - "title": "F22" - }, - { - "title": "F23" - }, - { - "title": "F24" - }, - { - "title": "F25" - }, - { - "title": "F26" - }, - { - "title": "F27" - }, - { - "title": "F28" - }, - { - "title": "F29" - }, - { - "title": "F30" - }, - { - "title": "F31" - }, - { - "title": "F32" - }, - { - "title": "F33" - }, - { - "title": "F34" - }, - { - "title": "F35" - } - ], - "short_name": "KeyCode", - "title": "bevy_input::keyboard::KeyCode", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_input::keyboard::KeyboardInput": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_input::keyboard::KeyboardInput", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::keyboard::NativeKey": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "Unidentified" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u32" - } - } - ], - "short_name": "Android", - "title": "Android", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u16" - } - } - ], - "short_name": "MacOS", - "title": "MacOS", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u16" - } - } - ], - "short_name": "Windows", - "title": "Windows", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u32" - } - } - ], - "short_name": "Xkb", - "title": "Xkb", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/smol_str::SmolStr" - } - } - ], - "short_name": "Web", - "title": "Web", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "NativeKey", - "title": "bevy_input::keyboard::NativeKey", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_input::keyboard::NativeKeyCode": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "Unidentified" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u32" - } - } - ], - "short_name": "Android", - "title": "Android", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u16" - } - } - ], - "short_name": "MacOS", - "title": "MacOS", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u16" - } - } - ], - "short_name": "Windows", - "title": "Windows", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u32" - } - } - ], - "short_name": "Xkb", - "title": "Xkb", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "NativeKeyCode", - "title": "bevy_input::keyboard::NativeKeyCode", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_input::mouse::MouseButton": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "Left" - }, - { - "title": "Right" - }, - { - "title": "Middle" - }, - { - "title": "Back" - }, - { - "title": "Forward" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u16" - } - } - ], - "short_name": "Other", - "title": "Other", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "MouseButton", - "title": "bevy_input::mouse::MouseButton", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_input::mouse::MouseButtonInput": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_input::mouse::MouseButtonInput", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::mouse::MouseMotion": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "delta": { - "type": { - "$ref": "#/$defs/glam::Vec2" - } - } - }, - "required": [ - "delta" - ], - "short_name": "MouseMotion", - "title": "bevy_input::mouse::MouseMotion", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::mouse::MouseScrollUnit": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Line", - "Pixel" - ], - "short_name": "MouseScrollUnit", - "title": "bevy_input::mouse::MouseScrollUnit", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_input::mouse::MouseWheel": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "unit": { - "type": { - "$ref": "#/$defs/bevy_input::mouse::MouseScrollUnit" - } - }, - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - }, - "x": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "y": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "unit", - "x", - "y", - "window" - ], - "short_name": "MouseWheel", - "title": "bevy_input::mouse::MouseWheel", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::touch::ForceTouch": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "altitude_angle": { - "title": "altitude_angle", - "type": { - "$ref": "#/$defs/core::option::Option" - } - }, - "force": { - "title": "force", - "type": { - "$ref": "#/$defs/f64" - } - }, - "max_possible_force": { - "title": "max_possible_force", - "type": { - "$ref": "#/$defs/f64" - } - } - }, - "required": [ - "force", - "max_possible_force" - ], - "short_name": "Calibrated", - "title": "Calibrated", - "type": "object", - "typeInfo": "Struct" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f64" - } - } - ], - "short_name": "Normalized", - "title": "Normalized", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "ForceTouch", - "title": "bevy_input::touch::ForceTouch", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_input::touch::TouchInput": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_input::touch::TouchInput", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_input::touch::TouchPhase": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Started", - "Moved", - "Ended", - "Canceled" - ], - "short_name": "TouchPhase", - "title": "bevy_input::touch::TouchPhase", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_input::touchpad::TouchpadMagnify": { - "isComponent": false, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "TouchpadMagnify", - "title": "bevy_input::touchpad::TouchpadMagnify", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_input::touchpad::TouchpadRotate": { - "isComponent": false, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "TouchpadRotate", - "title": "bevy_input::touchpad::TouchpadRotate", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_math::Rect": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "max": { - "type": { - "$ref": "#/$defs/glam::Vec2" - } - }, - "min": { - "type": { - "$ref": "#/$defs/glam::Vec2" - } - } - }, - "required": [ - "min", - "max" - ], - "short_name": "Rect", - "title": "bevy_math::Rect", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::alpha::AlphaMode": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "Opaque" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Mask", - "title": "Mask", - "type": "array", - "typeInfo": "Tuple" - }, - { - "title": "Blend" - }, - { - "title": "Premultiplied" - }, - { - "title": "Add" - }, - { - "title": "Multiply" - } - ], - "short_name": "AlphaMode", - "title": "bevy_pbr::alpha::AlphaMode", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_pbr::bundle::CascadesVisibleEntities": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "CascadesVisibleEntities", - "title": "bevy_pbr::bundle::CascadesVisibleEntities", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::bundle::CubemapVisibleEntities": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "CubemapVisibleEntities", - "title": "bevy_pbr::bundle::CubemapVisibleEntities", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::fog::FogFalloff": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "end": { - "title": "end", - "type": { - "$ref": "#/$defs/f32" - } - }, - "start": { - "title": "start", - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "start", - "end" - ], - "short_name": "Linear", - "title": "Linear", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "density": { - "title": "density", - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "density" - ], - "short_name": "Exponential", - "title": "Exponential", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "density": { - "title": "density", - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "density" - ], - "short_name": "ExponentialSquared", - "title": "ExponentialSquared", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "extinction": { - "title": "extinction", - "type": { - "$ref": "#/$defs/glam::Vec3" - } - }, - "inscattering": { - "title": "inscattering", - "type": { - "$ref": "#/$defs/glam::Vec3" - } - } - }, - "required": [ - "extinction", - "inscattering" - ], - "short_name": "Atmospheric", - "title": "Atmospheric", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "FogFalloff", - "title": "bevy_pbr::fog::FogFalloff", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_pbr::fog::FogSettings": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "color": { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - }, - "directional_light_color": { - "type": { - "$ref": "#/$defs/bevy_render::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", - "title": "bevy_pbr::fog::FogSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light::AmbientLight": { - "additionalProperties": false, - "isComponent": false, - "isResource": true, - "properties": { - "brightness": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "color": { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - } - }, - "required": [ - "color", - "brightness" - ], - "short_name": "AmbientLight", - "title": "bevy_pbr::light::AmbientLight", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light::Cascade": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "projection": { - "type": { - "$ref": "#/$defs/glam::Mat4" - } - }, - "texel_size": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "view_projection": { - "type": { - "$ref": "#/$defs/glam::Mat4" - } - }, - "view_transform": { - "type": { - "$ref": "#/$defs/glam::Mat4" - } - } - }, - "required": [ - "view_transform", - "projection", - "view_projection", - "texel_size" - ], - "short_name": "Cascade", - "title": "bevy_pbr::light::Cascade", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light::CascadeShadowConfig": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_pbr::light::CascadeShadowConfig", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light::Cascades": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "cascades": { - "type": { - "$ref": "#/$defs/bevy_utils::hashbrown::HashMap, bevy_ecs::entity::hash::EntityHash>" - } - } - }, - "required": [ - "cascades" - ], - "short_name": "Cascades", - "title": "bevy_pbr::light::Cascades", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light::ClusterConfig": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "title": "None" - }, - { - "title": "Single" - }, - { - "additionalProperties": false, - "properties": { - "dimensions": { - "title": "dimensions", - "type": { - "$ref": "#/$defs/glam::UVec3" - } - }, - "dynamic_resizing": { - "title": "dynamic_resizing", - "type": { - "$ref": "#/$defs/bool" - } - }, - "z_config": { - "title": "z_config", - "type": { - "$ref": "#/$defs/bevy_pbr::light::ClusterZConfig" - } - } - }, - "required": [ - "dimensions", - "z_config", - "dynamic_resizing" - ], - "short_name": "XYZ", - "title": "XYZ", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "dynamic_resizing": { - "title": "dynamic_resizing", - "type": { - "$ref": "#/$defs/bool" - } - }, - "total": { - "title": "total", - "type": { - "$ref": "#/$defs/u32" - } - }, - "z_config": { - "title": "z_config", - "type": { - "$ref": "#/$defs/bevy_pbr::light::ClusterZConfig" - } - }, - "z_slices": { - "title": "z_slices", - "type": { - "$ref": "#/$defs/u32" - } - } - }, - "required": [ - "total", - "z_slices", - "z_config", - "dynamic_resizing" - ], - "short_name": "FixedZ", - "title": "FixedZ", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "ClusterConfig", - "title": "bevy_pbr::light::ClusterConfig", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_pbr::light::ClusterFarZMode": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "MaxLightRange" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Constant", - "title": "Constant", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "ClusterFarZMode", - "title": "bevy_pbr::light::ClusterFarZMode", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_pbr::light::ClusterZConfig": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "far_z_mode": { - "type": { - "$ref": "#/$defs/bevy_pbr::light::ClusterFarZMode" - } - }, - "first_slice_depth": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "first_slice_depth", - "far_z_mode" - ], - "short_name": "ClusterZConfig", - "title": "bevy_pbr::light::ClusterZConfig", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light::DirectionalLight": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "color": { - "type": { - "$ref": "#/$defs/bevy_render::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", - "title": "bevy_pbr::light::DirectionalLight", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light::DirectionalLightShadowMap": { - "additionalProperties": false, - "isComponent": false, - "isResource": true, - "properties": { - "size": { - "type": { - "$ref": "#/$defs/usize" - } - } - }, - "required": [ - "size" - ], - "short_name": "DirectionalLightShadowMap", - "title": "bevy_pbr::light::DirectionalLightShadowMap", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light::NotShadowCaster": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "NotShadowCaster", - "title": "bevy_pbr::light::NotShadowCaster", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light::NotShadowReceiver": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "NotShadowReceiver", - "title": "bevy_pbr::light::NotShadowReceiver", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light::PointLight": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "color": { - "type": { - "$ref": "#/$defs/bevy_render::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", - "title": "bevy_pbr::light::PointLight", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light::PointLightShadowMap": { - "additionalProperties": false, - "isComponent": false, - "isResource": true, - "properties": { - "size": { - "type": { - "$ref": "#/$defs/usize" - } - } - }, - "required": [ - "size" - ], - "short_name": "PointLightShadowMap", - "title": "bevy_pbr::light::PointLightShadowMap", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light::ShadowFilteringMethod": { - "isComponent": true, - "isResource": false, - "oneOf": [ - "Hardware2x2", - "Castano13", - "Jimenez14" - ], - "short_name": "ShadowFilteringMethod", - "title": "bevy_pbr::light::ShadowFilteringMethod", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_pbr::light::SpotLight": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "color": { - "type": { - "$ref": "#/$defs/bevy_render::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", - "title": "bevy_pbr::light::SpotLight", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light_probe::LightProbe": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "LightProbe", - "title": "bevy_pbr::light_probe::LightProbe", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light_probe::environment_map::EnvironmentMapLight": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_pbr::light_probe::environment_map::EnvironmentMapLight", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::light_probe::irradiance_volume::IrradianceVolume": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "intensity": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "voxels": { - "type": { - "$ref": "#/$defs/bevy_asset::handle::Handle" - } - } - }, - "required": [ - "voxels", - "intensity" - ], - "short_name": "IrradianceVolume", - "title": "bevy_pbr::light_probe::irradiance_volume::IrradianceVolume", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::material::DefaultOpaqueRendererMethod": { - "isComponent": false, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_pbr::material::OpaqueRendererMethod" - } - } - ], - "short_name": "DefaultOpaqueRendererMethod", - "title": "bevy_pbr::material::DefaultOpaqueRendererMethod", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_pbr::material::OpaqueRendererMethod": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Forward", - "Deferred", - "Auto" - ], - "short_name": "OpaqueRendererMethod", - "title": "bevy_pbr::material::OpaqueRendererMethod", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_pbr::parallax::ParallaxMappingMethod": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "Occlusion" - }, - { - "additionalProperties": false, - "properties": { - "max_steps": { - "title": "max_steps", - "type": { - "$ref": "#/$defs/u32" - } - } - }, - "required": [ - "max_steps" - ], - "short_name": "Relief", - "title": "Relief", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "ParallaxMappingMethod", - "title": "bevy_pbr::parallax::ParallaxMappingMethod", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_pbr::pbr_material::StandardMaterial": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "alpha_mode": { - "type": { - "$ref": "#/$defs/bevy_pbr::alpha::AlphaMode" - } - }, - "attenuation_color": { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - }, - "attenuation_distance": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "base_color": { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - }, - "base_color_texture": { - "type": { - "$ref": "#/$defs/core::option::Option>" - } - }, - "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_render::color::Color" - } - }, - "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_texture": { - "type": { - "$ref": "#/$defs/core::option::Option>" - } - }, - "normal_map_texture": { - "type": { - "$ref": "#/$defs/core::option::Option>" - } - }, - "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" - } - } - }, - "required": [ - "base_color", - "emissive", - "perceptual_roughness", - "metallic", - "reflectance", - "diffuse_transmission", - "specular_transmission", - "thickness", - "ior", - "attenuation_distance", - "attenuation_color", - "flip_normal_map_y", - "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" - ], - "short_name": "StandardMaterial", - "title": "bevy_pbr::pbr_material::StandardMaterial", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::ssao::ScreenSpaceAmbientOcclusionSettings": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "quality_level": { - "type": { - "$ref": "#/$defs/bevy_pbr::ssao::ScreenSpaceAmbientOcclusionQualityLevel" - } - } - }, - "required": [ - "quality_level" - ], - "short_name": "ScreenSpaceAmbientOcclusionSettings", - "title": "bevy_pbr::ssao::ScreenSpaceAmbientOcclusionSettings", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::wireframe::NoWireframe": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "NoWireframe", - "title": "bevy_pbr::wireframe::NoWireframe", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::wireframe::Wireframe": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "Wireframe", - "title": "bevy_pbr::wireframe::Wireframe", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::wireframe::WireframeColor": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "color": { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - } - }, - "required": [ - "color" - ], - "short_name": "WireframeColor", - "title": "bevy_pbr::wireframe::WireframeColor", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_pbr::wireframe::WireframeConfig": { - "additionalProperties": false, - "isComponent": false, - "isResource": true, - "properties": { - "default_color": { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - }, - "global": { - "type": { - "$ref": "#/$defs/bool" - } - } - }, - "required": [ - "global", - "default_color" - ], - "short_name": "WireframeConfig", - "title": "bevy_pbr::wireframe::WireframeConfig", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::dynamics::rigid_body::AdditionalMassProperties": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Mass", - "title": "Mass", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_rapier3d::dynamics::rigid_body::MassProperties" - } - } - ], - "short_name": "MassProperties", - "title": "MassProperties", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "AdditionalMassProperties", - "title": "bevy_rapier3d::dynamics::rigid_body::AdditionalMassProperties", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_rapier3d::dynamics::rigid_body::Ccd": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "enabled": { - "type": { - "$ref": "#/$defs/bool" - } - } - }, - "required": [ - "enabled" - ], - "short_name": "Ccd", - "title": "bevy_rapier3d::dynamics::rigid_body::Ccd", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::dynamics::rigid_body::Damping": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "angular_damping": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "linear_damping": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "linear_damping", - "angular_damping" - ], - "short_name": "Damping", - "title": "bevy_rapier3d::dynamics::rigid_body::Damping", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::dynamics::rigid_body::Dominance": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "groups": { - "type": { - "$ref": "#/$defs/i8" - } - } - }, - "required": [ - "groups" - ], - "short_name": "Dominance", - "title": "bevy_rapier3d::dynamics::rigid_body::Dominance", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::dynamics::rigid_body::ExternalForce": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "force": { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - }, - "torque": { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - } - }, - "required": [ - "force", - "torque" - ], - "short_name": "ExternalForce", - "title": "bevy_rapier3d::dynamics::rigid_body::ExternalForce", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::dynamics::rigid_body::ExternalImpulse": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "impulse": { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - }, - "torque_impulse": { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - } - }, - "required": [ - "impulse", - "torque_impulse" - ], - "short_name": "ExternalImpulse", - "title": "bevy_rapier3d::dynamics::rigid_body::ExternalImpulse", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::dynamics::rigid_body::GravityScale": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "GravityScale", - "title": "bevy_rapier3d::dynamics::rigid_body::GravityScale", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_rapier3d::dynamics::rigid_body::LockedAxes": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u8" - } - } - ], - "short_name": "LockedAxes", - "title": "bevy_rapier3d::dynamics::rigid_body::LockedAxes", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_rapier3d::dynamics::rigid_body::MassProperties": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "local_center_of_mass": { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - }, - "mass": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "principal_inertia": { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - }, - "principal_inertia_local_frame": { - "type": { - "$ref": "#/$defs/glam::Quat" - } - } - }, - "required": [ - "local_center_of_mass", - "mass", - "principal_inertia_local_frame", - "principal_inertia" - ], - "short_name": "MassProperties", - "title": "bevy_rapier3d::dynamics::rigid_body::MassProperties", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::dynamics::rigid_body::RigidBody": { - "isComponent": true, - "isResource": false, - "oneOf": [ - "Dynamic", - "Fixed", - "KinematicPositionBased", - "KinematicVelocityBased" - ], - "short_name": "RigidBody", - "title": "bevy_rapier3d::dynamics::rigid_body::RigidBody", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_rapier3d::dynamics::rigid_body::Sleeping": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "angular_threshold": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "linear_threshold": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "sleeping": { - "type": { - "$ref": "#/$defs/bool" - } - } - }, - "required": [ - "linear_threshold", - "angular_threshold", - "sleeping" - ], - "short_name": "Sleeping", - "title": "bevy_rapier3d::dynamics::rigid_body::Sleeping", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::dynamics::rigid_body::Velocity": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "angvel": { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - }, - "linvel": { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - } - }, - "required": [ - "linvel", - "angvel" - ], - "short_name": "Velocity", - "title": "bevy_rapier3d::dynamics::rigid_body::Velocity", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::geometry::collider::CollidingEntities": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_utils::HashSet" - } - } - ], - "short_name": "CollidingEntities", - "title": "bevy_rapier3d::geometry::collider::CollidingEntities", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_rapier3d::geometry::collider::CollisionGroups": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "filters": { - "type": { - "$ref": "#/$defs/bevy_rapier3d::geometry::collider::Group" - } - }, - "memberships": { - "type": { - "$ref": "#/$defs/bevy_rapier3d::geometry::collider::Group" - } - } - }, - "required": [ - "memberships", - "filters" - ], - "short_name": "CollisionGroups", - "title": "bevy_rapier3d::geometry::collider::CollisionGroups", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::geometry::collider::ContactForceEventThreshold": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "ContactForceEventThreshold", - "title": "bevy_rapier3d::geometry::collider::ContactForceEventThreshold", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_rapier3d::geometry::collider::Friction": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "coefficient": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "combine_rule": { - "type": { - "$ref": "#/$defs/bevy_rapier3d::dynamics::CoefficientCombineRule" - } - } - }, - "required": [ - "coefficient", - "combine_rule" - ], - "short_name": "Friction", - "title": "bevy_rapier3d::geometry::collider::Friction", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::geometry::collider::Group": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u32" - } - } - ], - "short_name": "Group", - "title": "bevy_rapier3d::geometry::collider::Group", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_rapier3d::geometry::collider::Restitution": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "coefficient": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "combine_rule": { - "type": { - "$ref": "#/$defs/bevy_rapier3d::dynamics::CoefficientCombineRule" - } - } - }, - "required": [ - "coefficient", - "combine_rule" - ], - "short_name": "Restitution", - "title": "bevy_rapier3d::geometry::collider::Restitution", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::geometry::collider::Sensor": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "Sensor", - "title": "bevy_rapier3d::geometry::collider::Sensor", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::geometry::collider::SolverGroups": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "filters": { - "type": { - "$ref": "#/$defs/bevy_rapier3d::geometry::collider::Group" - } - }, - "memberships": { - "type": { - "$ref": "#/$defs/bevy_rapier3d::geometry::collider::Group" - } - } - }, - "required": [ - "memberships", - "filters" - ], - "short_name": "SolverGroups", - "title": "bevy_rapier3d::geometry::collider::SolverGroups", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_rapier3d::render::DebugRenderContext": { - "additionalProperties": false, - "isComponent": false, - "isResource": true, - "properties": { - "enabled": { - "type": { - "$ref": "#/$defs/bool" - } - } - }, - "required": [ - "enabled" - ], - "short_name": "DebugRenderContext", - "title": "bevy_rapier3d::render::DebugRenderContext", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::camera::camera::Camera": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_render::camera::camera::Camera", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::camera::camera::CameraMainTextureUsages": { - "isComponent": true, - "isResource": false, - "short_name": "CameraMainTextureUsages", - "title": "bevy_render::camera::camera::CameraMainTextureUsages", - "type": "object", - "typeInfo": "Value" - }, - "bevy_render::camera::camera::CameraRenderGraph": { - "isComponent": true, - "isResource": false, - "short_name": "CameraRenderGraph", - "title": "bevy_render::camera::camera::CameraRenderGraph", - "type": "object", - "typeInfo": "Value" - }, - "bevy_render::camera::camera::Exposure": { - "isComponent": true, - "isResource": false, - "short_name": "Exposure", - "title": "bevy_render::camera::camera::Exposure", - "type": "object", - "typeInfo": "Value" - }, - "bevy_render::camera::camera::RenderTarget": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_window::window::WindowRef" - } - } - ], - "short_name": "Window", - "title": "Window", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::handle::Handle" - } - } - ], - "short_name": "Image", - "title": "Image", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_render::camera::manual_texture_view::ManualTextureViewHandle" - } - } - ], - "short_name": "TextureView", - "title": "TextureView", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "RenderTarget", - "title": "bevy_render::camera::camera::RenderTarget", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_render::camera::camera::Viewport": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_render::camera::camera::Viewport", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::camera::clear_color::ClearColor": { - "isComponent": false, - "isResource": true, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - } - ], - "short_name": "ClearColor", - "title": "bevy_render::camera::clear_color::ClearColor", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_render::camera::clear_color::ClearColorConfig": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "Default" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - } - ], - "short_name": "Custom", - "title": "Custom", - "type": "array", - "typeInfo": "Tuple" - }, - { - "title": "None" - } - ], - "short_name": "ClearColorConfig", - "title": "bevy_render::camera::clear_color::ClearColorConfig", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_render::camera::projection::OrthographicProjection": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "area": { - "type": { - "$ref": "#/$defs/bevy_math::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", - "title": "bevy_render::camera::projection::OrthographicProjection", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::camera::projection::PerspectiveProjection": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_render::camera::projection::PerspectiveProjection", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::camera::projection::Projection": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_render::camera::projection::PerspectiveProjection" - } - } - ], - "short_name": "Perspective", - "title": "Perspective", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_render::camera::projection::OrthographicProjection" - } - } - ], - "short_name": "Orthographic", - "title": "Orthographic", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Projection", - "title": "bevy_render::camera::projection::Projection", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_render::camera::projection::ScalingMode": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "height": { - "title": "height", - "type": { - "$ref": "#/$defs/f32" - } - }, - "width": { - "title": "width", - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "width", - "height" - ], - "short_name": "Fixed", - "title": "Fixed", - "type": "object", - "typeInfo": "Struct" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "WindowSize", - "title": "WindowSize", - "type": "array", - "typeInfo": "Tuple" - }, - { - "additionalProperties": false, - "properties": { - "min_height": { - "title": "min_height", - "type": { - "$ref": "#/$defs/f32" - } - }, - "min_width": { - "title": "min_width", - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "min_width", - "min_height" - ], - "short_name": "AutoMin", - "title": "AutoMin", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "max_height": { - "title": "max_height", - "type": { - "$ref": "#/$defs/f32" - } - }, - "max_width": { - "title": "max_width", - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "max_width", - "max_height" - ], - "short_name": "AutoMax", - "title": "AutoMax", - "type": "object", - "typeInfo": "Struct" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "FixedVertical", - "title": "FixedVertical", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "FixedHorizontal", - "title": "FixedHorizontal", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "ScalingMode", - "title": "bevy_render::camera::projection::ScalingMode", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_render::color::Color": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "alpha": { - "title": "alpha", - "type": { - "$ref": "#/$defs/f32" - } - }, - "blue": { - "title": "blue", - "type": { - "$ref": "#/$defs/f32" - } - }, - "green": { - "title": "green", - "type": { - "$ref": "#/$defs/f32" - } - }, - "red": { - "title": "red", - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "red", - "green", - "blue", - "alpha" - ], - "short_name": "Rgba", - "title": "Rgba", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "alpha": { - "title": "alpha", - "type": { - "$ref": "#/$defs/f32" - } - }, - "blue": { - "title": "blue", - "type": { - "$ref": "#/$defs/f32" - } - }, - "green": { - "title": "green", - "type": { - "$ref": "#/$defs/f32" - } - }, - "red": { - "title": "red", - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "red", - "green", - "blue", - "alpha" - ], - "short_name": "RgbaLinear", - "title": "RgbaLinear", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "alpha": { - "title": "alpha", - "type": { - "$ref": "#/$defs/f32" - } - }, - "hue": { - "title": "hue", - "type": { - "$ref": "#/$defs/f32" - } - }, - "lightness": { - "title": "lightness", - "type": { - "$ref": "#/$defs/f32" - } - }, - "saturation": { - "title": "saturation", - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "hue", - "saturation", - "lightness", - "alpha" - ], - "short_name": "Hsla", - "title": "Hsla", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "alpha": { - "title": "alpha", - "type": { - "$ref": "#/$defs/f32" - } - }, - "chroma": { - "title": "chroma", - "type": { - "$ref": "#/$defs/f32" - } - }, - "hue": { - "title": "hue", - "type": { - "$ref": "#/$defs/f32" - } - }, - "lightness": { - "title": "lightness", - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "lightness", - "chroma", - "hue", - "alpha" - ], - "short_name": "Lcha", - "title": "Lcha", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "Color", - "title": "bevy_render::color::Color", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_render::globals::GlobalsUniform": { - "additionalProperties": false, - "isComponent": false, - "isResource": true, - "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", - "title": "bevy_render::globals::GlobalsUniform", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::mesh::mesh::Indices": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - ], - "short_name": "U16", - "title": "U16", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - ], - "short_name": "U32", - "title": "U32", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Indices", - "title": "bevy_render::mesh::mesh::Indices", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_render::mesh::mesh::Mesh": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_render::mesh::mesh::Mesh", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::mesh::mesh::skinning::SkinnedMesh": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "inverse_bindposes": { - "type": { - "$ref": "#/$defs/bevy_asset::handle::Handle" - } - }, - "joints": { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - }, - "required": [ - "inverse_bindposes", - "joints" - ], - "short_name": "SkinnedMesh", - "title": "bevy_render::mesh::mesh::skinning::SkinnedMesh", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::mesh::morph::MeshMorphWeights": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "weights": { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - }, - "required": [ - "weights" - ], - "short_name": "MeshMorphWeights", - "title": "bevy_render::mesh::morph::MeshMorphWeights", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::mesh::morph::MorphWeights": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "first_mesh": { - "type": { - "$ref": "#/$defs/core::option::Option>" - } - }, - "weights": { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - }, - "required": [ - "weights" - ], - "short_name": "MorphWeights", - "title": "bevy_render::mesh::morph::MorphWeights", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::primitives::Aabb": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "center": { - "type": { - "$ref": "#/$defs/glam::Vec3A" - } - }, - "half_extents": { - "type": { - "$ref": "#/$defs/glam::Vec3A" - } - } - }, - "required": [ - "center", - "half_extents" - ], - "short_name": "Aabb", - "title": "bevy_render::primitives::Aabb", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::primitives::CascadesFrusta": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "CascadesFrusta", - "title": "bevy_render::primitives::CascadesFrusta", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::primitives::CubemapFrusta": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "CubemapFrusta", - "title": "bevy_render::primitives::CubemapFrusta", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::primitives::Frustum": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "Frustum", - "title": "bevy_render::primitives::Frustum", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::texture::image::Image": { - "isComponent": false, - "isResource": false, - "short_name": "Image", - "title": "bevy_render::texture::image::Image", - "type": "object", - "typeInfo": "Value" - }, - "bevy_render::view::ColorGrading": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "exposure": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "gamma": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "post_saturation": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "pre_saturation": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "exposure", - "gamma", - "pre_saturation", - "post_saturation" - ], - "short_name": "ColorGrading", - "title": "bevy_render::view::ColorGrading", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::view::Msaa": { - "isComponent": false, - "isResource": true, - "oneOf": [ - "Off", - "Sample2", - "Sample4", - "Sample8" - ], - "short_name": "Msaa", - "title": "bevy_render::view::Msaa", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_render::view::visibility::InheritedVisibility": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bool" - } - } - ], - "short_name": "InheritedVisibility", - "title": "bevy_render::view::visibility::InheritedVisibility", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_render::view::visibility::NoFrustumCulling": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "NoFrustumCulling", - "title": "bevy_render::view::visibility::NoFrustumCulling", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::view::visibility::ViewVisibility": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bool" - } - } - ], - "short_name": "ViewVisibility", - "title": "bevy_render::view::visibility::ViewVisibility", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_render::view::visibility::Visibility": { - "isComponent": true, - "isResource": false, - "oneOf": [ - "Inherited", - "Hidden", - "Visible" - ], - "short_name": "Visibility", - "title": "bevy_render::view::visibility::Visibility", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_render::view::visibility::VisibleEntities": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "VisibleEntities", - "title": "bevy_render::view::visibility::VisibleEntities", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_render::view::visibility::render_layers::RenderLayers": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/u32" - } - } - ], - "short_name": "RenderLayers", - "title": "bevy_render::view::visibility::render_layers::RenderLayers", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_sprite::mesh2d::color_material::ColorMaterial": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "color": { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - }, - "texture": { - "type": { - "$ref": "#/$defs/core::option::Option>" - } - } - }, - "required": [ - "color" - ], - "short_name": "ColorMaterial", - "title": "bevy_sprite::mesh2d::color_material::ColorMaterial", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_sprite::mesh2d::mesh::Mesh2dHandle": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::handle::Handle" - } - } - ], - "short_name": "Mesh2dHandle", - "title": "bevy_sprite::mesh2d::mesh::Mesh2dHandle", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_sprite::sprite::Anchor": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "Center" - }, - { - "title": "BottomLeft" - }, - { - "title": "BottomCenter" - }, - { - "title": "BottomRight" - }, - { - "title": "CenterLeft" - }, - { - "title": "CenterRight" - }, - { - "title": "TopLeft" - }, - { - "title": "TopCenter" - }, - { - "title": "TopRight" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/glam::Vec2" - } - } - ], - "short_name": "Custom", - "title": "Custom", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Anchor", - "title": "bevy_sprite::sprite::Anchor", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_sprite::sprite::ImageScaleMode": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_sprite::texture_slice::slicer::TextureSlicer" - } - } - ], - "short_name": "Sliced", - "title": "Sliced", - "type": "array", - "typeInfo": "Tuple" - }, - { - "additionalProperties": false, - "properties": { - "stretch_value": { - "title": "stretch_value", - "type": { - "$ref": "#/$defs/f32" - } - }, - "tile_x": { - "title": "tile_x", - "type": { - "$ref": "#/$defs/bool" - } - }, - "tile_y": { - "title": "tile_y", - "type": { - "$ref": "#/$defs/bool" - } - } - }, - "required": [ - "tile_x", - "tile_y", - "stretch_value" - ], - "short_name": "Tiled", - "title": "Tiled", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "ImageScaleMode", - "title": "bevy_sprite::sprite::ImageScaleMode", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_sprite::sprite::Sprite": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "anchor": { - "type": { - "$ref": "#/$defs/bevy_sprite::sprite::Anchor" - } - }, - "color": { - "type": { - "$ref": "#/$defs/bevy_render::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", - "title": "bevy_sprite::sprite::Sprite", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_sprite::texture_atlas::TextureAtlas": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "index": { - "type": { - "$ref": "#/$defs/usize" - } - }, - "layout": { - "type": { - "$ref": "#/$defs/bevy_asset::handle::Handle" - } - } - }, - "required": [ - "layout", - "index" - ], - "short_name": "TextureAtlas", - "title": "bevy_sprite::texture_atlas::TextureAtlas", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_sprite::texture_atlas::TextureAtlasLayout": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "size": { - "type": { - "$ref": "#/$defs/glam::Vec2" - } - }, - "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", - "title": "bevy_sprite::texture_atlas::TextureAtlasLayout", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_sprite::texture_slice::slicer::TextureSlicer": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_sprite::texture_slice::slicer::TextureSlicer", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_text::pipeline::TextLayoutInfo": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "glyphs": { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - }, - "logical_size": { - "type": { - "$ref": "#/$defs/glam::Vec2" - } - } - }, - "required": [ - "glyphs", - "logical_size" - ], - "short_name": "TextLayoutInfo", - "title": "bevy_text::pipeline::TextLayoutInfo", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_text::text2d::Text2dBounds": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "size": { - "type": { - "$ref": "#/$defs/glam::Vec2" - } - } - }, - "required": [ - "size" - ], - "short_name": "Text2dBounds", - "title": "bevy_text::text2d::Text2dBounds", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_text::text::BreakLineOn": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "WordBoundary", - "AnyCharacter", - "NoWrap" - ], - "short_name": "BreakLineOn", - "title": "bevy_text::text::BreakLineOn", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_text::text::JustifyText": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Left", - "Center", - "Right" - ], - "short_name": "JustifyText", - "title": "bevy_text::text::JustifyText", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_text::text::Text": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_text::text::Text", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_text::text::TextSection": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "style": { - "type": { - "$ref": "#/$defs/bevy_text::text::TextStyle" - } - }, - "value": { - "type": { - "$ref": "#/$defs/alloc::string::String" - } - } - }, - "required": [ - "value", - "style" - ], - "short_name": "TextSection", - "title": "bevy_text::text::TextSection", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_text::text::TextStyle": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "color": { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - }, - "font": { - "type": { - "$ref": "#/$defs/bevy_asset::handle::Handle" - } - }, - "font_size": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "font", - "font_size", - "color" - ], - "short_name": "TextStyle", - "title": "bevy_text::text::TextStyle", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_time::stopwatch::Stopwatch": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "elapsed": { - "type": { - "$ref": "#/$defs/bevy_utils::Duration" - } - }, - "paused": { - "type": { - "$ref": "#/$defs/bool" - } - } - }, - "required": [ - "elapsed", - "paused" - ], - "short_name": "Stopwatch", - "title": "bevy_time::stopwatch::Stopwatch", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_time::time::Time<()>": { - "additionalProperties": false, - "isComponent": false, - "isResource": true, - "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<()>", - "title": "bevy_time::time::Time<()>", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_time::time::Time": { - "additionalProperties": false, - "isComponent": false, - "isResource": true, - "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", - "title": "bevy_time::time::Time", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_time::time::Time": { - "additionalProperties": false, - "isComponent": false, - "isResource": true, - "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", - "title": "bevy_time::time::Time", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_time::time::Time": { - "additionalProperties": false, - "isComponent": false, - "isResource": true, - "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", - "title": "bevy_time::time::Time", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_time::timer::Timer": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_time::timer::Timer", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_time::virt::Virtual": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_time::virt::Virtual", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_transform::components::global_transform::GlobalTransform": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/glam::Affine3A" - } - } - ], - "short_name": "GlobalTransform", - "title": "bevy_transform::components::global_transform::GlobalTransform", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_transform::components::transform::Transform": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_transform::components::transform::Transform", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::UiScale": { - "isComponent": false, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "UiScale", - "title": "bevy_ui::UiScale", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_ui::focus::FocusPolicy": { - "isComponent": true, - "isResource": false, - "oneOf": [ - "Block", - "Pass" - ], - "short_name": "FocusPolicy", - "title": "bevy_ui::focus::FocusPolicy", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::focus::Interaction": { - "isComponent": true, - "isResource": false, - "oneOf": [ - "Pressed", - "Hovered", - "None" - ], - "short_name": "Interaction", - "title": "bevy_ui::focus::Interaction", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::focus::RelativeCursorPosition": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "normalized": { - "type": { - "$ref": "#/$defs/core::option::Option" - } - }, - "normalized_visible_node_rect": { - "type": { - "$ref": "#/$defs/bevy_math::Rect" - } - } - }, - "required": [ - "normalized_visible_node_rect" - ], - "short_name": "RelativeCursorPosition", - "title": "bevy_ui::focus::RelativeCursorPosition", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::geometry::UiRect": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_ui::geometry::UiRect", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::geometry::Val": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "Auto" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Px", - "title": "Px", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Percent", - "title": "Percent", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Vw", - "title": "Vw", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Vh", - "title": "Vh", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "VMin", - "title": "VMin", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "VMax", - "title": "VMax", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Val", - "title": "bevy_ui::geometry::Val", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_ui::measurement::ContentSize": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "ContentSize", - "title": "bevy_ui::measurement::ContentSize", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::ui_node::AlignContent": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Default", - "Start", - "End", - "FlexStart", - "FlexEnd", - "Center", - "Stretch", - "SpaceBetween", - "SpaceEvenly", - "SpaceAround" - ], - "short_name": "AlignContent", - "title": "bevy_ui::ui_node::AlignContent", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::AlignItems": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Default", - "Start", - "End", - "FlexStart", - "FlexEnd", - "Center", - "Baseline", - "Stretch" - ], - "short_name": "AlignItems", - "title": "bevy_ui::ui_node::AlignItems", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::AlignSelf": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Auto", - "Start", - "End", - "FlexStart", - "FlexEnd", - "Center", - "Baseline", - "Stretch" - ], - "short_name": "AlignSelf", - "title": "bevy_ui::ui_node::AlignSelf", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::BackgroundColor": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - } - ], - "short_name": "BackgroundColor", - "title": "bevy_ui::ui_node::BackgroundColor", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_ui::ui_node::BorderColor": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_render::color::Color" - } - } - ], - "short_name": "BorderColor", - "title": "bevy_ui::ui_node::BorderColor", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_ui::ui_node::CalculatedClip": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "clip": { - "type": { - "$ref": "#/$defs/bevy_math::Rect" - } - } - }, - "required": [ - "clip" - ], - "short_name": "CalculatedClip", - "title": "bevy_ui::ui_node::CalculatedClip", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::ui_node::Direction": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Inherit", - "LeftToRight", - "RightToLeft" - ], - "short_name": "Direction", - "title": "bevy_ui::ui_node::Direction", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::Display": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Flex", - "Grid", - "None" - ], - "short_name": "Display", - "title": "bevy_ui::ui_node::Display", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::FlexDirection": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Row", - "Column", - "RowReverse", - "ColumnReverse" - ], - "short_name": "FlexDirection", - "title": "bevy_ui::ui_node::FlexDirection", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::FlexWrap": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "NoWrap", - "Wrap", - "WrapReverse" - ], - "short_name": "FlexWrap", - "title": "bevy_ui::ui_node::FlexWrap", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::GridAutoFlow": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Row", - "Column", - "RowDense", - "ColumnDense" - ], - "short_name": "GridAutoFlow", - "title": "bevy_ui::ui_node::GridAutoFlow", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::GridPlacement": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_ui::ui_node::GridPlacement", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::ui_node::GridTrack": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_ui::ui_node::GridTrack", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::ui_node::JustifyContent": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Default", - "Start", - "End", - "FlexStart", - "FlexEnd", - "Center", - "Stretch", - "SpaceBetween", - "SpaceEvenly", - "SpaceAround" - ], - "short_name": "JustifyContent", - "title": "bevy_ui::ui_node::JustifyContent", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::JustifyItems": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Default", - "Start", - "End", - "Center", - "Baseline", - "Stretch" - ], - "short_name": "JustifyItems", - "title": "bevy_ui::ui_node::JustifyItems", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::JustifySelf": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Auto", - "Start", - "End", - "Center", - "Baseline", - "Stretch" - ], - "short_name": "JustifySelf", - "title": "bevy_ui::ui_node::JustifySelf", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::Node": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_ui::ui_node::Node", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::ui_node::Outline": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "color": { - "type": { - "$ref": "#/$defs/bevy_render::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", - "title": "bevy_ui::ui_node::Outline", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::ui_node::Overflow": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_ui::ui_node::Overflow", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::ui_node::OverflowAxis": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Visible", - "Clip" - ], - "short_name": "OverflowAxis", - "title": "bevy_ui::ui_node::OverflowAxis", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::PositionType": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Relative", - "Absolute" - ], - "short_name": "PositionType", - "title": "bevy_ui::ui_node::PositionType", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_ui::ui_node::RepeatedGridTrack": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "repetition": { - "type": { - "$ref": "#/$defs/bevy_ui::ui_node::GridTrackRepetition" - } - }, - "tracks": { - "type": { - "$ref": "#/$defs/bevy_utils::smallvec::SmallVec<[bevy_ui::ui_node::GridTrack; 1]>" - } - } - }, - "required": [ - "repetition", - "tracks" - ], - "short_name": "RepeatedGridTrack", - "title": "bevy_ui::ui_node::RepeatedGridTrack", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::ui_node::Style": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_ui::ui_node::Style", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::ui_node::TargetCamera": { - "isComponent": false, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - ], - "short_name": "TargetCamera", - "title": "bevy_ui::ui_node::TargetCamera", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_ui::ui_node::UiImage": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "flip_x": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "flip_y": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "texture": { - "type": { - "$ref": "#/$defs/bevy_asset::handle::Handle" - } - } - }, - "required": [ - "texture", - "flip_x", - "flip_y" - ], - "short_name": "UiImage", - "title": "bevy_ui::ui_node::UiImage", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::ui_node::ZIndex": { - "isComponent": true, - "isResource": false, - "oneOf": [ - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/i32" - } - } - ], - "short_name": "Local", - "title": "Local", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/i32" - } - } - ], - "short_name": "Global", - "title": "Global", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "ZIndex", - "title": "bevy_ui::ui_node::ZIndex", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_ui::widget::button::Button": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "Button", - "title": "bevy_ui::widget::button::Button", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::widget::image::UiImageSize": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": { - "size": { - "type": { - "$ref": "#/$defs/glam::Vec2" - } - } - }, - "required": [ - "size" - ], - "short_name": "UiImageSize", - "title": "bevy_ui::widget::image::UiImageSize", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::widget::label::Label": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "Label", - "title": "bevy_ui::widget::label::Label", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_ui::widget::text::TextFlags": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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", - "title": "bevy_ui::widget::text::TextFlags", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_utils::Duration": { - "isComponent": false, - "isResource": false, - "short_name": "Duration", - "title": "bevy_utils::Duration", - "type": "object", - "typeInfo": "Value" - }, - "bevy_utils::HashSet": { - "isComponent": false, - "isResource": false, - "short_name": "HashSet", - "title": "bevy_utils::HashSet", - "type": "object", - "typeInfo": "Value" - }, - "bevy_utils::Instant": { - "isComponent": false, - "isResource": false, - "short_name": "Instant", - "title": "bevy_utils::Instant", - "type": "object", - "typeInfo": "Value" - }, - "bevy_utils::Uuid": { - "isComponent": false, - "isResource": false, - "short_name": "Uuid", - "title": "bevy_utils::Uuid", - "type": "object", - "typeInfo": "Value" - }, - "bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>": { - "additionalProperties": { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - }, - "isComponent": false, - "isResource": false, - "short_name": "HashMap, DefaultHashBuilder>", - "title": "bevy_utils::hashbrown::HashMap, bevy_utils::hashbrown::hash_map::DefaultHashBuilder>", - "type": "object", - "typeInfo": "Map" - }, - "bevy_utils::smallvec::SmallVec<[bevy_ecs::entity::Entity; 8]>": { - "isComponent": false, - "isResource": false, - "items": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - }, - "short_name": "SmallVec<[Entity; 8]>", - "title": "bevy_utils::smallvec::SmallVec<[bevy_ecs::entity::Entity; 8]>", - "type": "array", - "typeInfo": "List" - }, - "bevy_window::cursor::CursorIcon": { - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_window::cursor::CursorIcon", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_window::event::ApplicationLifetime": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Started", - "Suspended", - "Resumed" - ], - "short_name": "ApplicationLifetime", - "title": "bevy_window::event::ApplicationLifetime", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_window::event::CursorEntered": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window" - ], - "short_name": "CursorEntered", - "title": "bevy_window::event::CursorEntered", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::CursorLeft": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window" - ], - "short_name": "CursorLeft", - "title": "bevy_window::event::CursorLeft", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::CursorMoved": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_window::event::CursorMoved", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::FileDragAndDrop": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "path_buf": { - "title": "path_buf", - "type": { - "$ref": "#/$defs/std::path::PathBuf" - } - }, - "window": { - "title": "window", - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window", - "path_buf" - ], - "short_name": "DroppedFile", - "title": "DroppedFile", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "path_buf": { - "title": "path_buf", - "type": { - "$ref": "#/$defs/std::path::PathBuf" - } - }, - "window": { - "title": "window", - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window", - "path_buf" - ], - "short_name": "HoveredFile", - "title": "HoveredFile", - "type": "object", - "typeInfo": "Struct" - }, - { - "additionalProperties": false, - "properties": { - "window": { - "title": "window", - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window" - ], - "short_name": "HoveredFileCanceled", - "title": "HoveredFileCanceled", - "type": "object", - "typeInfo": "Struct" - } - ], - "short_name": "FileDragAndDrop", - "title": "bevy_window::event::FileDragAndDrop", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_window::event::ReceivedCharacter": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "char": { - "type": { - "$ref": "#/$defs/smol_str::SmolStr" - } - }, - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window", - "char" - ], - "short_name": "ReceivedCharacter", - "title": "bevy_window::event::ReceivedCharacter", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::RequestRedraw": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "RequestRedraw", - "title": "bevy_window::event::RequestRedraw", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::WindowBackendScaleFactorChanged": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "scale_factor": { - "type": { - "$ref": "#/$defs/f64" - } - }, - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window", - "scale_factor" - ], - "short_name": "WindowBackendScaleFactorChanged", - "title": "bevy_window::event::WindowBackendScaleFactorChanged", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::WindowCloseRequested": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window" - ], - "short_name": "WindowCloseRequested", - "title": "bevy_window::event::WindowCloseRequested", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::WindowClosed": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window" - ], - "short_name": "WindowClosed", - "title": "bevy_window::event::WindowClosed", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::WindowCreated": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window" - ], - "short_name": "WindowCreated", - "title": "bevy_window::event::WindowCreated", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::WindowFocused": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "focused": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window", - "focused" - ], - "short_name": "WindowFocused", - "title": "bevy_window::event::WindowFocused", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::WindowMoved": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "position": { - "type": { - "$ref": "#/$defs/glam::IVec2" - } - }, - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window", - "position" - ], - "short_name": "WindowMoved", - "title": "bevy_window::event::WindowMoved", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::WindowOccluded": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "occluded": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window", - "occluded" - ], - "short_name": "WindowOccluded", - "title": "bevy_window::event::WindowOccluded", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::WindowResized": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_window::event::WindowResized", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::WindowScaleFactorChanged": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "scale_factor": { - "type": { - "$ref": "#/$defs/f64" - } - }, - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window", - "scale_factor" - ], - "short_name": "WindowScaleFactorChanged", - "title": "bevy_window::event::WindowScaleFactorChanged", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::event::WindowThemeChanged": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "theme": { - "type": { - "$ref": "#/$defs/bevy_window::window::WindowTheme" - } - }, - "window": { - "type": { - "$ref": "#/$defs/bevy_ecs::entity::Entity" - } - } - }, - "required": [ - "window", - "theme" - ], - "short_name": "WindowThemeChanged", - "title": "bevy_window::event::WindowThemeChanged", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::window::CompositeAlphaMode": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Auto", - "Opaque", - "PreMultiplied", - "PostMultiplied", - "Inherit" - ], - "short_name": "CompositeAlphaMode", - "title": "bevy_window::window::CompositeAlphaMode", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_window::window::Cursor": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_window::window::Cursor", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::window::CursorGrabMode": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "None", - "Confined", - "Locked" - ], - "short_name": "CursorGrabMode", - "title": "bevy_window::window::CursorGrabMode", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_window::window::EnabledButtons": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "close": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "maximize": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "minimize": { - "type": { - "$ref": "#/$defs/bool" - } - } - }, - "required": [ - "minimize", - "maximize", - "close" - ], - "short_name": "EnabledButtons", - "title": "bevy_window::window::EnabledButtons", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::window::InternalWindowState": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_window::window::InternalWindowState", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::window::MonitorSelection": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "Current" - }, - { - "title": "Primary" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/usize" - } - } - ], - "short_name": "Index", - "title": "Index", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "MonitorSelection", - "title": "bevy_window::window::MonitorSelection", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_window::window::PresentMode": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "AutoVsync", - "AutoNoVsync", - "Fifo", - "FifoRelaxed", - "Immediate", - "Mailbox" - ], - "short_name": "PresentMode", - "title": "bevy_window::window::PresentMode", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_window::window::PrimaryWindow": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "PrimaryWindow", - "title": "bevy_window::window::PrimaryWindow", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::window::Window": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "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" - } - }, - "enabled_buttons": { - "type": { - "$ref": "#/$defs/bevy_window::window::EnabledButtons" - } - }, - "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" - } - }, - "resizable": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "resize_constraints": { - "type": { - "$ref": "#/$defs/bevy_window::window::WindowResizeConstraints" - } - }, - "resolution": { - "type": { - "$ref": "#/$defs/bevy_window::window::WindowResolution" - } - }, - "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", - "prevent_default_event_handling", - "internal", - "ime_enabled", - "ime_position", - "visible" - ], - "short_name": "Window", - "title": "bevy_window::window::Window", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::window::WindowLevel": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "AlwaysOnBottom", - "Normal", - "AlwaysOnTop" - ], - "short_name": "WindowLevel", - "title": "bevy_window::window::WindowLevel", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_window::window::WindowMode": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Windowed", - "BorderlessFullscreen", - "SizedFullscreen", - "Fullscreen" - ], - "short_name": "WindowMode", - "title": "bevy_window::window::WindowMode", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_window::window::WindowPosition": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "Automatic" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_window::window::MonitorSelection" - } - } - ], - "short_name": "Centered", - "title": "Centered", - "type": "array", - "typeInfo": "Tuple" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/glam::IVec2" - } - } - ], - "short_name": "At", - "title": "At", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "WindowPosition", - "title": "bevy_window::window::WindowPosition", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_window::window::WindowResizeConstraints": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_window::window::WindowResizeConstraints", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::window::WindowResolution": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "bevy_window::window::WindowResolution", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_window::window::WindowTheme": { - "isComponent": false, - "isResource": false, - "oneOf": [ - "Light", - "Dark" - ], - "short_name": "WindowTheme", - "title": "bevy_window::window::WindowTheme", - "type": "string", - "typeInfo": "Enum" - }, - "bool": { - "isComponent": false, - "isResource": false, - "short_name": "bool", - "title": "bool", - "type": "boolean", - "typeInfo": "Value" - }, - "char": { - "isComponent": false, - "isResource": false, - "short_name": "char", - "title": "char", - "type": "string", - "typeInfo": "Value" - }, - "core::ops::Range": { - "isComponent": false, - "isResource": false, - "short_name": "Range", - "title": "core::ops::Range", - "type": "object", - "typeInfo": "Value" - }, - "core::ops::Range": { - "isComponent": false, - "isResource": false, - "short_name": "Range", - "title": "core::ops::Range", - "type": "object", - "typeInfo": "Value" - }, - "core::option::Option": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "None" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::string::String" - } - } - ], - "short_name": "Some", - "title": "Some", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Option", - "title": "core::option::Option", - "type": "object", - "typeInfo": "Enum" - }, - "core::option::Option>": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "None" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/alloc::vec::Vec" - } - } - ], - "short_name": "Some", - "title": "Some", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Option>", - "title": "core::option::Option>", - "type": "object", - "typeInfo": "Enum" - }, - "core::option::Option>": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "None" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_asset::handle::Handle" - } - } - ], - "short_name": "Some", - "title": "Some", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Option>", - "title": "core::option::Option>", - "type": "object", - "typeInfo": "Enum" - }, - "core::option::Option": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "None" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_render::camera::camera::Viewport" - } - } - ], - "short_name": "Some", - "title": "Some", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Option", - "title": "core::option::Option", - "type": "object", - "typeInfo": "Enum" - }, - "core::option::Option": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "None" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bevy_render::mesh::mesh::Indices" - } - } - ], - "short_name": "Some", - "title": "Some", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Option", - "title": "core::option::Option", - "type": "object", - "typeInfo": "Enum" - }, - "core::option::Option": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "None" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/bool" - } - } - ], - "short_name": "Some", - "title": "Some", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Option", - "title": "core::option::Option", - "type": "object", - "typeInfo": "Enum" - }, - "core::option::Option": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "None" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f32" - } - } - ], - "short_name": "Some", - "title": "Some", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Option", - "title": "core::option::Option", - "type": "object", - "typeInfo": "Enum" - }, - "core::option::Option": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "None" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/f64" - } - } - ], - "short_name": "Some", - "title": "Some", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Option", - "title": "core::option::Option", - "type": "object", - "typeInfo": "Enum" - }, - "core::option::Option": { - "isComponent": false, - "isResource": false, - "oneOf": [ - { - "title": "None" - }, - { - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/glam::DVec2" - } - } - ], - "short_name": "Some", - "title": "Some", - "type": "array", - "typeInfo": "Tuple" - } - ], - "short_name": "Option", - "title": "core::option::Option", - "type": "object", - "typeInfo": "Enum" - }, - "f32": { - "isComponent": false, - "isResource": false, - "short_name": "f32", - "title": "f32", - "type": "float", - "typeInfo": "Value" - }, - "f64": { - "isComponent": false, - "isResource": false, - "short_name": "f64", - "title": "f64", - "type": "float", - "typeInfo": "Value" - }, - "glam::Affine2": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "matrix2": { - "type": { - "$ref": "#/$defs/glam::Mat2" - } - }, - "translation": { - "type": { - "$ref": "#/$defs/glam::Vec2" - } - } - }, - "required": [ - "matrix2", - "translation" - ], - "short_name": "Affine2", - "title": "glam::Affine2", - "type": "object", - "typeInfo": "Struct" - }, - "glam::Affine3A": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "matrix3": { - "type": { - "$ref": "#/$defs/glam::Mat3A" - } - }, - "translation": { - "type": { - "$ref": "#/$defs/glam::Vec3A" - } - } - }, - "required": [ - "matrix3", - "translation" - ], - "short_name": "Affine3A", - "title": "glam::Affine3A", - "type": "object", - "typeInfo": "Struct" - }, - "glam::BVec2": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "y": { - "type": { - "$ref": "#/$defs/bool" - } - } - }, - "required": [ - "x", - "y" - ], - "short_name": "BVec2", - "title": "glam::BVec2", - "type": "object", - "typeInfo": "Struct" - }, - "glam::BVec3": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "y": { - "type": { - "$ref": "#/$defs/bool" - } - }, - "z": { - "type": { - "$ref": "#/$defs/bool" - } - } - }, - "required": [ - "x", - "y", - "z" - ], - "short_name": "BVec3", - "title": "glam::BVec3", - "type": "object", - "typeInfo": "Struct" - }, - "glam::BVec3A": { - "isComponent": false, - "isResource": false, - "short_name": "BVec3A", - "title": "glam::BVec3A", - "type": "object", - "typeInfo": "Value" - }, - "glam::BVec4": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "glam::BVec4", - "type": "object", - "typeInfo": "Struct" - }, - "glam::BVec4A": { - "isComponent": false, - "isResource": false, - "short_name": "BVec4A", - "title": "glam::BVec4A", - "type": "object", - "typeInfo": "Value" - }, - "glam::DAffine2": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "matrix2": { - "type": { - "$ref": "#/$defs/glam::DMat2" - } - }, - "translation": { - "type": { - "$ref": "#/$defs/glam::DVec2" - } - } - }, - "required": [ - "matrix2", - "translation" - ], - "short_name": "DAffine2", - "title": "glam::DAffine2", - "type": "object", - "typeInfo": "Struct" - }, - "glam::DAffine3": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "matrix3": { - "type": { - "$ref": "#/$defs/glam::DMat3" - } - }, - "translation": { - "type": { - "$ref": "#/$defs/glam::DVec3" - } - } - }, - "required": [ - "matrix3", - "translation" - ], - "short_name": "DAffine3", - "title": "glam::DAffine3", - "type": "object", - "typeInfo": "Struct" - }, - "glam::DMat2": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x_axis": { - "type": { - "$ref": "#/$defs/glam::DVec2" - } - }, - "y_axis": { - "type": { - "$ref": "#/$defs/glam::DVec2" - } - } - }, - "required": [ - "x_axis", - "y_axis" - ], - "short_name": "DMat2", - "title": "glam::DMat2", - "type": "object", - "typeInfo": "Struct" - }, - "glam::DMat3": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "glam::DMat3", - "type": "object", - "typeInfo": "Struct" - }, - "glam::DMat4": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "glam::DMat4", - "type": "object", - "typeInfo": "Struct" - }, - "glam::DQuat": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "glam::DQuat", - "type": "object", - "typeInfo": "Struct" - }, - "glam::DVec2": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x": { - "type": { - "$ref": "#/$defs/f64" - } - }, - "y": { - "type": { - "$ref": "#/$defs/f64" - } - } - }, - "required": [ - "x", - "y" - ], - "short_name": "DVec2", - "title": "glam::DVec2", - "type": "object", - "typeInfo": "Struct" - }, - "glam::DVec3": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x": { - "type": { - "$ref": "#/$defs/f64" - } - }, - "y": { - "type": { - "$ref": "#/$defs/f64" - } - }, - "z": { - "type": { - "$ref": "#/$defs/f64" - } - } - }, - "required": [ - "x", - "y", - "z" - ], - "short_name": "DVec3", - "title": "glam::DVec3", - "type": "object", - "typeInfo": "Struct" - }, - "glam::DVec4": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "glam::DVec4", - "type": "object", - "typeInfo": "Struct" - }, - "glam::IVec2": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x": { - "type": { - "$ref": "#/$defs/i32" - } - }, - "y": { - "type": { - "$ref": "#/$defs/i32" - } - } - }, - "required": [ - "x", - "y" - ], - "short_name": "IVec2", - "title": "glam::IVec2", - "type": "object", - "typeInfo": "Struct" - }, - "glam::IVec3": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x": { - "type": { - "$ref": "#/$defs/i32" - } - }, - "y": { - "type": { - "$ref": "#/$defs/i32" - } - }, - "z": { - "type": { - "$ref": "#/$defs/i32" - } - } - }, - "required": [ - "x", - "y", - "z" - ], - "short_name": "IVec3", - "title": "glam::IVec3", - "type": "object", - "typeInfo": "Struct" - }, - "glam::IVec4": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "glam::IVec4", - "type": "object", - "typeInfo": "Struct" - }, - "glam::Mat2": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x_axis": { - "type": { - "$ref": "#/$defs/glam::Vec2" - } - }, - "y_axis": { - "type": { - "$ref": "#/$defs/glam::Vec2" - } - } - }, - "required": [ - "x_axis", - "y_axis" - ], - "short_name": "Mat2", - "title": "glam::Mat2", - "type": "object", - "typeInfo": "Struct" - }, - "glam::Mat3": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "glam::Mat3", - "type": "object", - "typeInfo": "Struct" - }, - "glam::Mat3A": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "glam::Mat3A", - "type": "object", - "typeInfo": "Struct" - }, - "glam::Mat4": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "glam::Mat4", - "type": "object", - "typeInfo": "Struct" - }, - "glam::Quat": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "glam::Quat", - "type": "object", - "typeInfo": "Struct" - }, - "glam::UVec2": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x": { - "type": { - "$ref": "#/$defs/u32" - } - }, - "y": { - "type": { - "$ref": "#/$defs/u32" - } - } - }, - "required": [ - "x", - "y" - ], - "short_name": "UVec2", - "title": "glam::UVec2", - "type": "object", - "typeInfo": "Struct" - }, - "glam::UVec3": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x": { - "type": { - "$ref": "#/$defs/u32" - } - }, - "y": { - "type": { - "$ref": "#/$defs/u32" - } - }, - "z": { - "type": { - "$ref": "#/$defs/u32" - } - } - }, - "required": [ - "x", - "y", - "z" - ], - "short_name": "UVec3", - "title": "glam::UVec3", - "type": "object", - "typeInfo": "Struct" - }, - "glam::UVec4": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "glam::UVec4", - "type": "object", - "typeInfo": "Struct" - }, - "glam::Vec2": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "y": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "x", - "y" - ], - "short_name": "Vec2", - "title": "glam::Vec2", - "type": "object", - "typeInfo": "Struct" - }, - "glam::Vec3": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "y": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "z": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "x", - "y", - "z" - ], - "short_name": "Vec3", - "title": "glam::Vec3", - "type": "object", - "typeInfo": "Struct" - }, - "glam::Vec3A": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "properties": { - "x": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "y": { - "type": { - "$ref": "#/$defs/f32" - } - }, - "z": { - "type": { - "$ref": "#/$defs/f32" - } - } - }, - "required": [ - "x", - "y", - "z" - ], - "short_name": "Vec3A", - "title": "glam::Vec3A", - "type": "object", - "typeInfo": "Struct" - }, - "glam::Vec4": { - "additionalProperties": false, - "isComponent": false, - "isResource": false, - "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", - "title": "glam::Vec4", - "type": "object", - "typeInfo": "Struct" - }, - "i128": { - "isComponent": false, - "isResource": false, - "short_name": "i128", - "title": "i128", - "type": "int", - "typeInfo": "Value" - }, - "i16": { - "isComponent": false, - "isResource": false, - "short_name": "i16", - "title": "i16", - "type": "int", - "typeInfo": "Value" - }, - "i32": { - "isComponent": false, - "isResource": false, - "short_name": "i32", - "title": "i32", - "type": "int", - "typeInfo": "Value" - }, - "i64": { - "isComponent": false, - "isResource": false, - "short_name": "i64", - "title": "i64", - "type": "int", - "typeInfo": "Value" - }, - "i8": { - "isComponent": false, - "isResource": false, - "short_name": "i8", - "title": "i8", - "type": "int", - "typeInfo": "Value" - }, - "isize": { - "isComponent": false, - "isResource": false, - "short_name": "isize", - "title": "isize", - "type": "int", - "typeInfo": "Value" - }, - "std::ffi::OsString": { - "isComponent": false, - "isResource": false, - "short_name": "OsString", - "title": "std::ffi::OsString", - "type": "object", - "typeInfo": "Value" - }, - "std::path::PathBuf": { - "isComponent": false, - "isResource": false, - "short_name": "PathBuf", - "title": "std::path::PathBuf", - "type": "object", - "typeInfo": "Value" - }, - "u128": { - "isComponent": false, - "isResource": false, - "short_name": "u128", - "title": "u128", - "type": "uint", - "typeInfo": "Value" - }, - "u16": { - "isComponent": false, - "isResource": false, - "short_name": "u16", - "title": "u16", - "type": "uint", - "typeInfo": "Value" - }, - "u32": { - "isComponent": false, - "isResource": false, - "short_name": "u32", - "title": "u32", - "type": "uint", - "typeInfo": "Value" - }, - "u64": { - "isComponent": false, - "isResource": false, - "short_name": "u64", - "title": "u64", - "type": "uint", - "typeInfo": "Value" - }, - "u8": { - "isComponent": false, - "isResource": false, - "short_name": "u8", - "title": "u8", - "type": "uint", - "typeInfo": "Value" - }, - "usize": { - "isComponent": false, - "isResource": false, - "short_name": "usize", - "title": "usize", - "type": "uint", - "typeInfo": "Value" - } - }, - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "bevy component registry schema" -} \ No newline at end of file diff --git a/examples/bevy_registry_export/basic/src/core/mod.rs b/examples/bevy_registry_export/basic/src/core/mod.rs deleted file mode 100644 index 4430462..0000000 --- a/examples/bevy_registry_export/basic/src/core/mod.rs +++ /dev/null @@ -1,19 +0,0 @@ -use bevy::prelude::*; -use bevy_gltf_blueprints::*; -use bevy_registry_export::*; - -pub struct CorePlugin; -impl Plugin for CorePlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - ExportRegistryPlugin { - save_path: "registry.json".into(), - ..Default::default() - }, - BlueprintsPlugin { - aabbs: true, - ..Default::default() - }, - )); - } -} diff --git a/examples/bevy_registry_export/basic/src/game/in_game.rs b/examples/bevy_registry_export/basic/src/game/in_game.rs deleted file mode 100644 index 11ee36d..0000000 --- a/examples/bevy_registry_export/basic/src/game/in_game.rs +++ /dev/null @@ -1,83 +0,0 @@ -use bevy::prelude::*; -use bevy_gltf_blueprints::{BluePrintBundle, BlueprintName, GameWorldTag}; -use bevy_gltf_worlflow_examples_common_rapier::{assets::GameAssets, GameState, InAppRunning}; - -use bevy_rapier3d::prelude::Velocity; -use rand::Rng; - -pub fn setup_game( - mut commands: Commands, - game_assets: Res, - models: Res>, - mut next_game_state: ResMut>, -) { - commands.insert_resource(AmbientLight { - color: Color::WHITE, - brightness: 0.2, - }); - // here we actually spawn our game world/level - - commands.spawn(( - SceneBundle { - // note: because of this issue https://github.com/bevyengine/bevy/issues/10436, "world" is now a gltf file instead of a scene - scene: models - .get(game_assets.world.clone().unwrap().id()) - .expect("main level should have been loaded") - .scenes[0] - .clone(), - ..default() - }, - bevy::prelude::Name::from("world"), - GameWorldTag, - InAppRunning, - )); - - next_game_state.set(GameState::InGame) -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct UnregisteredComponent; - -pub fn spawn_test( - keycode: Res>, - mut commands: Commands, - - mut game_world: Query<(Entity, &Children), With>, -) { - if keycode.just_pressed(KeyCode::KeyT) { - let world = game_world.single_mut(); - let world = world.1[0]; - - let mut rng = rand::thread_rng(); - let range = 5.5; - let x: f32 = rng.gen_range(-range..range); - let y: f32 = rng.gen_range(-range..range); - - let mut rng = rand::thread_rng(); - let range = 0.8; - let vel_x: f32 = rng.gen_range(-range..range); - let vel_y: f32 = rng.gen_range(2.0..2.5); - let vel_z: f32 = rng.gen_range(-range..range); - - let name_index: u64 = rng.gen(); - - let new_entity = commands - .spawn(( - BluePrintBundle { - blueprint: BlueprintName("Health_Pickup".to_string()), - ..Default::default() - }, - bevy::prelude::Name::from(format!("test{}", name_index)), - // BlueprintName("Health_Pickup".to_string()), - // SpawnHere, - TransformBundle::from_transform(Transform::from_xyz(x, 2.0, y)), - Velocity { - linvel: Vec3::new(vel_x, vel_y, vel_z), - angvel: Vec3::new(0.0, 0.0, 0.0), - }, - )) - .id(); - commands.entity(world).add_child(new_entity); - } -} diff --git a/examples/bevy_registry_export/basic/src/game/in_main_menu.rs b/examples/bevy_registry_export/basic/src/game/in_main_menu.rs deleted file mode 100644 index 2b72d42..0000000 --- a/examples/bevy_registry_export/basic/src/game/in_main_menu.rs +++ /dev/null @@ -1,107 +0,0 @@ -use bevy::prelude::*; -use bevy_gltf_worlflow_examples_common_rapier::{AppState, InMainMenu}; - -pub fn setup_main_menu(mut commands: Commands) { - commands.spawn(( - Camera2dBundle { - camera: Camera { - order: 102, // needed because of this: https://github.com/jakobhellermann/bevy_editor_pls/blob/crates/bevy_editor_pls_default_windows/src/cameras/mod.rs#L213C9-L213C28 - ..default() - }, - ..Default::default() - }, - InMainMenu, - )); - - commands.spawn(( - TextBundle::from_section( - "SOME GAME TITLE !!", - TextStyle { - //font: asset_server.load("fonts/FiraMono-Medium.ttf"), - font_size: 18.0, - color: Color::WHITE, - ..Default::default() - }, - ) - .with_style(Style { - position_type: PositionType::Absolute, - top: Val::Px(100.0), - left: Val::Px(200.0), - ..default() - }), - InMainMenu, - )); - - commands.spawn(( - TextBundle::from_section( - "New Game (press Enter to start, press T once the game is started for demo spawning)", - TextStyle { - //font: asset_server.load("fonts/FiraMono-Medium.ttf"), - font_size: 18.0, - color: Color::WHITE, - ..Default::default() - }, - ) - .with_style(Style { - position_type: PositionType::Absolute, - top: Val::Px(200.0), - left: Val::Px(200.0), - ..default() - }), - InMainMenu, - )); - - /* - commands.spawn(( - TextBundle::from_section( - "Load Game", - TextStyle { - //font: asset_server.load("fonts/FiraMono-Medium.ttf"), - font_size: 18.0, - color: Color::WHITE, - ..Default::default() - }, - ) - .with_style(Style { - position_type: PositionType::Absolute, - top: Val::Px(250.0), - left: Val::Px(200.0), - ..default() - }), - InMainMenu - )); - - commands.spawn(( - TextBundle::from_section( - "Exit Game", - TextStyle { - //font: asset_server.load("fonts/FiraMono-Medium.ttf"), - font_size: 18.0, - color: Color::WHITE, - ..Default::default() - }, - ) - .with_style(Style { - position_type: PositionType::Absolute, - top: Val::Px(300.0), - left: Val::Px(200.0), - ..default() - }), - InMainMenu - ));*/ -} - -pub fn teardown_main_menu(bla: Query>, mut commands: Commands) { - for bli in bla.iter() { - commands.entity(bli).despawn_recursive(); - } -} - -pub fn main_menu( - keycode: Res>, - mut next_app_state: ResMut>, -) { - if keycode.just_pressed(KeyCode::Enter) { - next_app_state.set(AppState::AppLoading); - } -} diff --git a/examples/bevy_registry_export/basic/src/game/mod.rs b/examples/bevy_registry_export/basic/src/game/mod.rs deleted file mode 100644 index a8e8352..0000000 --- a/examples/bevy_registry_export/basic/src/game/mod.rs +++ /dev/null @@ -1,19 +0,0 @@ -pub mod in_game; -pub use in_game::*; - -pub mod in_main_menu; -pub use in_main_menu::*; - -use bevy::prelude::*; -use bevy_gltf_worlflow_examples_common_rapier::{AppState, GameState}; - -pub struct GamePlugin; -impl Plugin for GamePlugin { - fn build(&self, app: &mut App) { - app.add_systems(Update, (spawn_test).run_if(in_state(GameState::InGame))) - .add_systems(OnEnter(AppState::MenuRunning), setup_main_menu) - .add_systems(OnExit(AppState::MenuRunning), teardown_main_menu) - .add_systems(Update, main_menu.run_if(in_state(AppState::MenuRunning))) - .add_systems(OnEnter(AppState::AppRunning), setup_game); - } -} diff --git a/examples/bevy_registry_export/basic/src/main.rs b/examples/bevy_registry_export/basic/src/main.rs deleted file mode 100644 index 3c95987..0000000 --- a/examples/bevy_registry_export/basic/src/main.rs +++ /dev/null @@ -1,24 +0,0 @@ -use bevy::prelude::*; -use bevy_gltf_worlflow_examples_common_rapier::CommonPlugin; - -mod core; -use crate::core::*; - -mod game; -use game::*; - -mod test_components; -use test_components::*; - -fn main() { - App::new() - .add_plugins(( - DefaultPlugins.set(AssetPlugin::default()), - // our custom plugins - CommonPlugin, - CorePlugin, // reusable plugins - GamePlugin, // specific to our game - ComponentsTestPlugin, // Showcases different type of components /structs - )) - .run(); -} diff --git a/examples/bevy_registry_export/basic/src/test_components.rs b/examples/bevy_registry_export/basic/src/test_components.rs deleted file mode 100644 index deebb1d..0000000 --- a/examples/bevy_registry_export/basic/src/test_components.rs +++ /dev/null @@ -1,136 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct UnitTest; - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -struct TupleTestF32(f32); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -struct TupleTestU64(u64); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -pub struct TupleTestStr(String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleTest2(f32, u64, String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleTestBool(bool); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleVec2(Vec2); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleVec3(Vec3); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleVec(Vec); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleVecF32F32(Vec<(f32, f32)>); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TupleTestColor(Color); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct BasicTest { - a: f32, - b: u64, - c: String, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum EnumTest { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct NestingTestLevel2 { - text: String, - enable: bool, - enum_inner: EnumTest, - color: TupleTestColor, - toggle: TupleTestBool, - basic: BasicTest, - pub nested: NestingTestLevel3, - colors_list: VecOfColors, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct NestingTestLevel3 { - vec: TupleVec3, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct NestedTupleStuff(f32, u64, NestingTestLevel2); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum EnumComplex { - Float(f32), - Wood(String), - Vec(BasicTest), - SomeThing, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct VecOfVec3s2(Vec); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct VecOfColors(Vec); -pub struct ComponentsTestPlugin; -impl Plugin for ComponentsTestPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::>() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::<(f32, f32)>() - .register_type::>() - .register_type::>() - .register_type::>() - .register_type::(); - } -} diff --git a/examples/bevy_gltf_blueprints/animation/Cargo.toml b/examples/blenvy/animation/Cargo.toml similarity index 100% rename from examples/bevy_gltf_blueprints/animation/Cargo.toml rename to examples/blenvy/animation/Cargo.toml diff --git a/examples/bevy_gltf_blueprints/animation/README.md b/examples/blenvy/animation/README.md similarity index 100% rename from examples/bevy_gltf_blueprints/animation/README.md rename to examples/blenvy/animation/README.md diff --git a/examples/bevy_gltf_blueprints/animation/assets/animation.blend b/examples/blenvy/animation/assets/animation.blend similarity index 100% rename from examples/bevy_gltf_blueprints/animation/assets/animation.blend rename to examples/blenvy/animation/assets/animation.blend diff --git a/examples/bevy_gltf_blueprints/animation/assets/assets_core.assets.ron b/examples/blenvy/animation/assets/assets_core.assets.ron similarity index 100% rename from examples/bevy_gltf_blueprints/animation/assets/assets_core.assets.ron rename to examples/blenvy/animation/assets/assets_core.assets.ron diff --git a/examples/bevy_gltf_blueprints/animation/assets/assets_game.assets.ron b/examples/blenvy/animation/assets/assets_game.assets.ron similarity index 100% rename from examples/bevy_gltf_blueprints/animation/assets/assets_game.assets.ron rename to examples/blenvy/animation/assets/assets_game.assets.ron diff --git a/examples/bevy_gltf_blueprints/animation/assets/models/Level1.glb b/examples/blenvy/animation/assets/models/Level1.glb similarity index 100% rename from examples/bevy_gltf_blueprints/animation/assets/models/Level1.glb rename to examples/blenvy/animation/assets/models/Level1.glb diff --git a/examples/bevy_gltf_blueprints/animation/assets/models/animation.glb b/examples/blenvy/animation/assets/models/animation.glb similarity index 100% rename from examples/bevy_gltf_blueprints/animation/assets/models/animation.glb rename to examples/blenvy/animation/assets/models/animation.glb diff --git a/examples/bevy_gltf_blueprints/animation/assets/models/library/Container.glb b/examples/blenvy/animation/assets/models/library/Container.glb similarity index 100% rename from examples/bevy_gltf_blueprints/animation/assets/models/library/Container.glb rename to examples/blenvy/animation/assets/models/library/Container.glb diff --git a/examples/bevy_gltf_blueprints/animation/assets/models/library/Fox.glb b/examples/blenvy/animation/assets/models/library/Fox.glb similarity index 100% rename from examples/bevy_gltf_blueprints/animation/assets/models/library/Fox.glb rename to examples/blenvy/animation/assets/models/library/Fox.glb diff --git a/examples/bevy_gltf_blueprints/animation/assets/models/library/Health_Pickup.glb b/examples/blenvy/animation/assets/models/library/Health_Pickup.glb similarity index 100% rename from examples/bevy_gltf_blueprints/animation/assets/models/library/Health_Pickup.glb rename to examples/blenvy/animation/assets/models/library/Health_Pickup.glb diff --git a/examples/bevy_gltf_blueprints/animation/assets/models/library/MagicTeapot.glb b/examples/blenvy/animation/assets/models/library/MagicTeapot.glb similarity index 100% rename from examples/bevy_gltf_blueprints/animation/assets/models/library/MagicTeapot.glb rename to examples/blenvy/animation/assets/models/library/MagicTeapot.glb diff --git a/examples/bevy_gltf_blueprints/animation/assets/models/library/Pillar.glb b/examples/blenvy/animation/assets/models/library/Pillar.glb similarity index 100% rename from examples/bevy_gltf_blueprints/animation/assets/models/library/Pillar.glb rename to examples/blenvy/animation/assets/models/library/Pillar.glb diff --git a/examples/bevy_gltf_blueprints/animation/assets/models/library/Player.glb b/examples/blenvy/animation/assets/models/library/Player.glb similarity index 100% rename from examples/bevy_gltf_blueprints/animation/assets/models/library/Player.glb rename to examples/blenvy/animation/assets/models/library/Player.glb diff --git a/examples/bevy_gltf_blueprints/animation/assets/models/library/Wheelbot.glb b/examples/blenvy/animation/assets/models/library/Wheelbot.glb similarity index 100% rename from examples/bevy_gltf_blueprints/animation/assets/models/library/Wheelbot.glb rename to examples/blenvy/animation/assets/models/library/Wheelbot.glb diff --git a/examples/bevy_gltf_blueprints/animation/src/core/mod.rs b/examples/blenvy/animation/src/core/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/animation/src/core/mod.rs rename to examples/blenvy/animation/src/core/mod.rs diff --git a/examples/bevy_gltf_blueprints/animation/src/game/in_game.rs b/examples/blenvy/animation/src/game/in_game.rs similarity index 100% rename from examples/bevy_gltf_blueprints/animation/src/game/in_game.rs rename to examples/blenvy/animation/src/game/in_game.rs diff --git a/examples/bevy_gltf_blueprints/animation/src/game/in_main_menu.rs b/examples/blenvy/animation/src/game/in_main_menu.rs similarity index 100% rename from examples/bevy_gltf_blueprints/animation/src/game/in_main_menu.rs rename to examples/blenvy/animation/src/game/in_main_menu.rs diff --git a/examples/bevy_gltf_blueprints/animation/src/game/mod.rs b/examples/blenvy/animation/src/game/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/animation/src/game/mod.rs rename to examples/blenvy/animation/src/game/mod.rs diff --git a/examples/bevy_gltf_blueprints/animation/src/main.rs b/examples/blenvy/animation/src/main.rs similarity index 100% rename from examples/bevy_gltf_blueprints/animation/src/main.rs rename to examples/blenvy/animation/src/main.rs diff --git a/examples/bevy_gltf_blueprints/animation/src/state.rs b/examples/blenvy/animation/src/state.rs similarity index 100% rename from examples/bevy_gltf_blueprints/animation/src/state.rs rename to examples/blenvy/animation/src/state.rs diff --git a/examples/bevy_gltf_blueprints/animation/src/test_components.rs b/examples/blenvy/animation/src/test_components.rs similarity index 100% rename from examples/bevy_gltf_blueprints/animation/src/test_components.rs rename to examples/blenvy/animation/src/test_components.rs diff --git a/examples/bevy_gltf_blueprints/basic/Cargo.toml b/examples/blenvy/basic/Cargo.toml similarity index 100% rename from examples/bevy_gltf_blueprints/basic/Cargo.toml rename to examples/blenvy/basic/Cargo.toml diff --git a/examples/bevy_gltf_blueprints/basic/README.md b/examples/blenvy/basic/README.md similarity index 100% rename from examples/bevy_gltf_blueprints/basic/README.md rename to examples/blenvy/basic/README.md diff --git a/examples/bevy_gltf_blueprints/basic/assets/assets_core.assets.ron b/examples/blenvy/basic/assets/assets_core.assets.ron similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/assets_core.assets.ron rename to examples/blenvy/basic/assets/assets_core.assets.ron diff --git a/examples/bevy_gltf_blueprints/basic/assets/assets_game.assets.ron b/examples/blenvy/basic/assets/assets_game.assets.ron similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/assets_game.assets.ron rename to examples/blenvy/basic/assets/assets_game.assets.ron diff --git a/examples/bevy_gltf_blueprints/basic/assets/basic.blend b/examples/blenvy/basic/assets/basic.blend similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/basic.blend rename to examples/blenvy/basic/assets/basic.blend diff --git a/examples/bevy_gltf_blueprints/basic/assets/models/World.glb b/examples/blenvy/basic/assets/models/World.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/models/World.glb rename to examples/blenvy/basic/assets/models/World.glb diff --git a/examples/bevy_gltf_blueprints/basic/assets/models/library/Container.glb b/examples/blenvy/basic/assets/models/library/Container.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/models/library/Container.glb rename to examples/blenvy/basic/assets/models/library/Container.glb diff --git a/examples/bevy_gltf_blueprints/basic/assets/models/library/Enemy.glb b/examples/blenvy/basic/assets/models/library/Enemy.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/models/library/Enemy.glb rename to examples/blenvy/basic/assets/models/library/Enemy.glb diff --git a/examples/bevy_gltf_blueprints/basic/assets/models/library/Finger.glb b/examples/blenvy/basic/assets/models/library/Finger.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/models/library/Finger.glb rename to examples/blenvy/basic/assets/models/library/Finger.glb diff --git a/examples/bevy_gltf_blueprints/basic/assets/models/library/Hand.glb b/examples/blenvy/basic/assets/models/library/Hand.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/models/library/Hand.glb rename to examples/blenvy/basic/assets/models/library/Hand.glb diff --git a/examples/bevy_gltf_blueprints/basic/assets/models/library/Health_Pickup.glb b/examples/blenvy/basic/assets/models/library/Health_Pickup.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/models/library/Health_Pickup.glb rename to examples/blenvy/basic/assets/models/library/Health_Pickup.glb diff --git a/examples/bevy_gltf_blueprints/basic/assets/models/library/Humanoid_cactus.glb b/examples/blenvy/basic/assets/models/library/Humanoid_cactus.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/models/library/Humanoid_cactus.glb rename to examples/blenvy/basic/assets/models/library/Humanoid_cactus.glb diff --git a/examples/bevy_gltf_blueprints/basic/assets/models/library/MagicTeapot.glb b/examples/blenvy/basic/assets/models/library/MagicTeapot.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/models/library/MagicTeapot.glb rename to examples/blenvy/basic/assets/models/library/MagicTeapot.glb diff --git a/examples/bevy_gltf_blueprints/basic/assets/models/library/Pillar.glb b/examples/blenvy/basic/assets/models/library/Pillar.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/models/library/Pillar.glb rename to examples/blenvy/basic/assets/models/library/Pillar.glb diff --git a/examples/bevy_gltf_blueprints/basic/assets/models/library/Player.glb b/examples/blenvy/basic/assets/models/library/Player.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/models/library/Player.glb rename to examples/blenvy/basic/assets/models/library/Player.glb diff --git a/examples/bevy_gltf_blueprints/basic/assets/models/library/Unused_in_level_test.glb b/examples/blenvy/basic/assets/models/library/Unused_in_level_test.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic/assets/models/library/Unused_in_level_test.glb rename to examples/blenvy/basic/assets/models/library/Unused_in_level_test.glb diff --git a/examples/bevy_gltf_blueprints/basic/index.html b/examples/blenvy/basic/index.html similarity index 100% rename from examples/bevy_gltf_blueprints/basic/index.html rename to examples/blenvy/basic/index.html diff --git a/examples/bevy_gltf_blueprints/basic/src/core/mod.rs b/examples/blenvy/basic/src/core/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic/src/core/mod.rs rename to examples/blenvy/basic/src/core/mod.rs diff --git a/examples/bevy_gltf_blueprints/basic/src/game/in_game.rs b/examples/blenvy/basic/src/game/in_game.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic/src/game/in_game.rs rename to examples/blenvy/basic/src/game/in_game.rs diff --git a/examples/bevy_gltf_blueprints/basic/src/game/in_main_menu.rs b/examples/blenvy/basic/src/game/in_main_menu.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic/src/game/in_main_menu.rs rename to examples/blenvy/basic/src/game/in_main_menu.rs diff --git a/examples/bevy_gltf_blueprints/basic/src/game/mod.rs b/examples/blenvy/basic/src/game/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic/src/game/mod.rs rename to examples/blenvy/basic/src/game/mod.rs diff --git a/examples/bevy_gltf_blueprints/basic/src/main.rs b/examples/blenvy/basic/src/main.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic/src/main.rs rename to examples/blenvy/basic/src/main.rs diff --git a/examples/bevy_gltf_blueprints/basic/src/test_components.rs b/examples/blenvy/basic/src/test_components.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic/src/test_components.rs rename to examples/blenvy/basic/src/test_components.rs diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/Cargo.toml b/examples/blenvy/basic_xpbd_physics/Cargo.toml similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/Cargo.toml rename to examples/blenvy/basic_xpbd_physics/Cargo.toml diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/README.md b/examples/blenvy/basic_xpbd_physics/README.md similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/README.md rename to examples/blenvy/basic_xpbd_physics/README.md diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/advanced.blend b/examples/blenvy/basic_xpbd_physics/assets/advanced.blend similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/advanced.blend rename to examples/blenvy/basic_xpbd_physics/assets/advanced.blend diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/assets_core.assets.ron b/examples/blenvy/basic_xpbd_physics/assets/assets_core.assets.ron similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/assets_core.assets.ron rename to examples/blenvy/basic_xpbd_physics/assets/assets_core.assets.ron diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/assets_game.assets.ron b/examples/blenvy/basic_xpbd_physics/assets/assets_game.assets.ron similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/assets_game.assets.ron rename to examples/blenvy/basic_xpbd_physics/assets/assets_game.assets.ron diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/World.glb b/examples/blenvy/basic_xpbd_physics/assets/models/World.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/World.glb rename to examples/blenvy/basic_xpbd_physics/assets/models/World.glb diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/library/Container.glb b/examples/blenvy/basic_xpbd_physics/assets/models/library/Container.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/library/Container.glb rename to examples/blenvy/basic_xpbd_physics/assets/models/library/Container.glb diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/library/Health_Pickup.glb b/examples/blenvy/basic_xpbd_physics/assets/models/library/Health_Pickup.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/library/Health_Pickup.glb rename to examples/blenvy/basic_xpbd_physics/assets/models/library/Health_Pickup.glb diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/library/MagicTeapot.glb b/examples/blenvy/basic_xpbd_physics/assets/models/library/MagicTeapot.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/library/MagicTeapot.glb rename to examples/blenvy/basic_xpbd_physics/assets/models/library/MagicTeapot.glb diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/library/Pillar.glb b/examples/blenvy/basic_xpbd_physics/assets/models/library/Pillar.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/library/Pillar.glb rename to examples/blenvy/basic_xpbd_physics/assets/models/library/Pillar.glb diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/library/Player.glb b/examples/blenvy/basic_xpbd_physics/assets/models/library/Player.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/library/Player.glb rename to examples/blenvy/basic_xpbd_physics/assets/models/library/Player.glb diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/library/Unused_in_level_test.glb b/examples/blenvy/basic_xpbd_physics/assets/models/library/Unused_in_level_test.glb similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/models/library/Unused_in_level_test.glb rename to examples/blenvy/basic_xpbd_physics/assets/models/library/Unused_in_level_test.glb diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/mod.rs b/examples/blenvy/basic_xpbd_physics/src/core/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/mod.rs rename to examples/blenvy/basic_xpbd_physics/src/core/mod.rs diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/in_game.rs b/examples/blenvy/basic_xpbd_physics/src/game/in_game.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/in_game.rs rename to examples/blenvy/basic_xpbd_physics/src/game/in_game.rs diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/in_main_menu.rs b/examples/blenvy/basic_xpbd_physics/src/game/in_main_menu.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/in_main_menu.rs rename to examples/blenvy/basic_xpbd_physics/src/game/in_main_menu.rs diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/mod.rs b/examples/blenvy/basic_xpbd_physics/src/game/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/mod.rs rename to examples/blenvy/basic_xpbd_physics/src/game/mod.rs diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/main.rs b/examples/blenvy/basic_xpbd_physics/src/main.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/src/main.rs rename to examples/blenvy/basic_xpbd_physics/src/main.rs diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/test_components.rs b/examples/blenvy/basic_xpbd_physics/src/test_components.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic_xpbd_physics/src/test_components.rs rename to examples/blenvy/basic_xpbd_physics/src/test_components.rs diff --git a/examples/bevy_gltf_blueprints/materials/Cargo.toml b/examples/blenvy/materials/Cargo.toml similarity index 100% rename from examples/bevy_gltf_blueprints/materials/Cargo.toml rename to examples/blenvy/materials/Cargo.toml diff --git a/examples/bevy_gltf_blueprints/materials/README.md b/examples/blenvy/materials/README.md similarity index 100% rename from examples/bevy_gltf_blueprints/materials/README.md rename to examples/blenvy/materials/README.md diff --git a/examples/bevy_gltf_blueprints/materials/assets/assets_core.assets.ron b/examples/blenvy/materials/assets/assets_core.assets.ron similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/assets_core.assets.ron rename to examples/blenvy/materials/assets/assets_core.assets.ron diff --git a/examples/bevy_gltf_blueprints/materials/assets/assets_game.assets.ron b/examples/blenvy/materials/assets/assets_game.assets.ron similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/assets_game.assets.ron rename to examples/blenvy/materials/assets/assets_game.assets.ron diff --git a/examples/bevy_gltf_blueprints/materials/assets/materials.blend b/examples/blenvy/materials/assets/materials.blend similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/materials.blend rename to examples/blenvy/materials/assets/materials.blend diff --git a/examples/bevy_gltf_blueprints/materials/assets/materials/materials_materials_library.glb b/examples/blenvy/materials/assets/materials/materials_materials_library.glb similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/materials/materials_materials_library.glb rename to examples/blenvy/materials/assets/materials/materials_materials_library.glb diff --git a/examples/bevy_gltf_blueprints/materials/assets/models/Level1.glb b/examples/blenvy/materials/assets/models/Level1.glb similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/models/Level1.glb rename to examples/blenvy/materials/assets/models/Level1.glb diff --git a/examples/bevy_gltf_blueprints/materials/assets/models/library/Container.glb b/examples/blenvy/materials/assets/models/library/Container.glb similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/models/library/Container.glb rename to examples/blenvy/materials/assets/models/library/Container.glb diff --git a/examples/bevy_gltf_blueprints/materials/assets/models/library/Health_Pickup.glb b/examples/blenvy/materials/assets/models/library/Health_Pickup.glb similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/models/library/Health_Pickup.glb rename to examples/blenvy/materials/assets/models/library/Health_Pickup.glb diff --git a/examples/bevy_gltf_blueprints/materials/assets/models/library/Magic Sphere.glb b/examples/blenvy/materials/assets/models/library/Magic Sphere.glb similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/models/library/Magic Sphere.glb rename to examples/blenvy/materials/assets/models/library/Magic Sphere.glb diff --git a/examples/bevy_gltf_blueprints/materials/assets/models/library/MagicTeapot.glb b/examples/blenvy/materials/assets/models/library/MagicTeapot.glb similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/models/library/MagicTeapot.glb rename to examples/blenvy/materials/assets/models/library/MagicTeapot.glb diff --git a/examples/bevy_gltf_blueprints/materials/assets/models/library/Pillar.glb b/examples/blenvy/materials/assets/models/library/Pillar.glb similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/models/library/Pillar.glb rename to examples/blenvy/materials/assets/models/library/Pillar.glb diff --git a/examples/bevy_gltf_blueprints/materials/assets/models/library/Pillar2.glb b/examples/blenvy/materials/assets/models/library/Pillar2.glb similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/models/library/Pillar2.glb rename to examples/blenvy/materials/assets/models/library/Pillar2.glb diff --git a/examples/bevy_gltf_blueprints/materials/assets/models/library/Player.glb b/examples/blenvy/materials/assets/models/library/Player.glb similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/models/library/Player.glb rename to examples/blenvy/materials/assets/models/library/Player.glb diff --git a/examples/bevy_gltf_blueprints/materials/assets/models/library/Watermelon cut.glb b/examples/blenvy/materials/assets/models/library/Watermelon cut.glb similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/models/library/Watermelon cut.glb rename to examples/blenvy/materials/assets/models/library/Watermelon cut.glb diff --git a/examples/bevy_gltf_blueprints/materials/assets/models/library/Watermelon.glb b/examples/blenvy/materials/assets/models/library/Watermelon.glb similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/models/library/Watermelon.glb rename to examples/blenvy/materials/assets/models/library/Watermelon.glb diff --git a/examples/bevy_gltf_blueprints/materials/assets/models/library/Watermelon2.glb b/examples/blenvy/materials/assets/models/library/Watermelon2.glb similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/models/library/Watermelon2.glb rename to examples/blenvy/materials/assets/models/library/Watermelon2.glb diff --git a/examples/bevy_gltf_blueprints/materials/assets/textures/juicy-watermelon-5882.png b/examples/blenvy/materials/assets/textures/juicy-watermelon-5882.png similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/textures/juicy-watermelon-5882.png rename to examples/blenvy/materials/assets/textures/juicy-watermelon-5882.png diff --git a/examples/bevy_gltf_blueprints/materials/assets/textures/watermelon-6441.png b/examples/blenvy/materials/assets/textures/watermelon-6441.png similarity index 100% rename from examples/bevy_gltf_blueprints/materials/assets/textures/watermelon-6441.png rename to examples/blenvy/materials/assets/textures/watermelon-6441.png diff --git a/examples/bevy_gltf_blueprints/materials/src/core/mod.rs b/examples/blenvy/materials/src/core/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/materials/src/core/mod.rs rename to examples/blenvy/materials/src/core/mod.rs diff --git a/examples/bevy_gltf_blueprints/materials/src/game/in_game.rs b/examples/blenvy/materials/src/game/in_game.rs similarity index 100% rename from examples/bevy_gltf_blueprints/materials/src/game/in_game.rs rename to examples/blenvy/materials/src/game/in_game.rs diff --git a/examples/bevy_gltf_blueprints/materials/src/game/in_main_menu.rs b/examples/blenvy/materials/src/game/in_main_menu.rs similarity index 100% rename from examples/bevy_gltf_blueprints/materials/src/game/in_main_menu.rs rename to examples/blenvy/materials/src/game/in_main_menu.rs diff --git a/examples/bevy_gltf_blueprints/materials/src/game/mod.rs b/examples/blenvy/materials/src/game/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/materials/src/game/mod.rs rename to examples/blenvy/materials/src/game/mod.rs diff --git a/examples/bevy_gltf_blueprints/materials/src/main.rs b/examples/blenvy/materials/src/main.rs similarity index 100% rename from examples/bevy_gltf_blueprints/materials/src/main.rs rename to examples/blenvy/materials/src/main.rs diff --git a/examples/bevy_gltf_blueprints/materials/src/test_components.rs b/examples/blenvy/materials/src/test_components.rs similarity index 100% rename from examples/bevy_gltf_blueprints/materials/src/test_components.rs rename to examples/blenvy/materials/src/test_components.rs diff --git a/examples/bevy_gltf_save_load/basic/Cargo.toml b/examples/blenvy/save_load/Cargo.toml similarity index 100% rename from examples/bevy_gltf_save_load/basic/Cargo.toml rename to examples/blenvy/save_load/Cargo.toml diff --git a/examples/bevy_gltf_save_load/basic/README.md b/examples/blenvy/save_load/README.md similarity index 100% rename from examples/bevy_gltf_save_load/basic/README.md rename to examples/blenvy/save_load/README.md diff --git a/examples/bevy_gltf_save_load/basic/assets/assets_core.assets.ron b/examples/blenvy/save_load/assets/assets_core.assets.ron similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/assets_core.assets.ron rename to examples/blenvy/save_load/assets/assets_core.assets.ron diff --git a/examples/bevy_gltf_save_load/basic/assets/assets_game.assets.ron b/examples/blenvy/save_load/assets/assets_game.assets.ron similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/assets_game.assets.ron rename to examples/blenvy/save_load/assets/assets_game.assets.ron diff --git a/examples/bevy_gltf_save_load/basic/assets/basic.blend b/examples/blenvy/save_load/assets/basic.blend similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/basic.blend rename to examples/blenvy/save_load/assets/basic.blend diff --git a/examples/bevy_gltf_save_load/basic/assets/models/World.glb b/examples/blenvy/save_load/assets/models/World.glb similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/models/World.glb rename to examples/blenvy/save_load/assets/models/World.glb diff --git a/examples/bevy_gltf_save_load/basic/assets/models/World_dynamic.glb b/examples/blenvy/save_load/assets/models/World_dynamic.glb similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/models/World_dynamic.glb rename to examples/blenvy/save_load/assets/models/World_dynamic.glb diff --git a/examples/bevy_gltf_save_load/basic/assets/models/library/Container.glb b/examples/blenvy/save_load/assets/models/library/Container.glb similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/models/library/Container.glb rename to examples/blenvy/save_load/assets/models/library/Container.glb diff --git a/examples/bevy_gltf_save_load/basic/assets/models/library/Ground.glb b/examples/blenvy/save_load/assets/models/library/Ground.glb similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/models/library/Ground.glb rename to examples/blenvy/save_load/assets/models/library/Ground.glb diff --git a/examples/bevy_gltf_save_load/basic/assets/models/library/Health_Pickup.glb b/examples/blenvy/save_load/assets/models/library/Health_Pickup.glb similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/models/library/Health_Pickup.glb rename to examples/blenvy/save_load/assets/models/library/Health_Pickup.glb diff --git a/examples/bevy_gltf_save_load/basic/assets/models/library/MagicTeapot.glb b/examples/blenvy/save_load/assets/models/library/MagicTeapot.glb similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/models/library/MagicTeapot.glb rename to examples/blenvy/save_load/assets/models/library/MagicTeapot.glb diff --git a/examples/bevy_gltf_save_load/basic/assets/models/library/Pillar.glb b/examples/blenvy/save_load/assets/models/library/Pillar.glb similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/models/library/Pillar.glb rename to examples/blenvy/save_load/assets/models/library/Pillar.glb diff --git a/examples/bevy_gltf_save_load/basic/assets/models/library/Player.glb b/examples/blenvy/save_load/assets/models/library/Player.glb similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/models/library/Player.glb rename to examples/blenvy/save_load/assets/models/library/Player.glb diff --git a/examples/bevy_gltf_save_load/basic/assets/models/library/Sphero.glb b/examples/blenvy/save_load/assets/models/library/Sphero.glb similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/models/library/Sphero.glb rename to examples/blenvy/save_load/assets/models/library/Sphero.glb diff --git a/examples/bevy_gltf_save_load/basic/assets/models/library/Unused_in_level_test.glb b/examples/blenvy/save_load/assets/models/library/Unused_in_level_test.glb similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/models/library/Unused_in_level_test.glb rename to examples/blenvy/save_load/assets/models/library/Unused_in_level_test.glb diff --git a/examples/bevy_gltf_save_load/basic/assets/scenes/save.scn.ron b/examples/blenvy/save_load/assets/scenes/save.scn.ron similarity index 100% rename from examples/bevy_gltf_save_load/basic/assets/scenes/save.scn.ron rename to examples/blenvy/save_load/assets/scenes/save.scn.ron diff --git a/examples/bevy_gltf_save_load/basic/src/core/mod.rs b/examples/blenvy/save_load/src/core/mod.rs similarity index 100% rename from examples/bevy_gltf_save_load/basic/src/core/mod.rs rename to examples/blenvy/save_load/src/core/mod.rs diff --git a/examples/bevy_gltf_save_load/basic/src/game/in_game.rs b/examples/blenvy/save_load/src/game/in_game.rs similarity index 100% rename from examples/bevy_gltf_save_load/basic/src/game/in_game.rs rename to examples/blenvy/save_load/src/game/in_game.rs diff --git a/examples/bevy_gltf_save_load/basic/src/game/in_game_loading.rs b/examples/blenvy/save_load/src/game/in_game_loading.rs similarity index 100% rename from examples/bevy_gltf_save_load/basic/src/game/in_game_loading.rs rename to examples/blenvy/save_load/src/game/in_game_loading.rs diff --git a/examples/bevy_gltf_save_load/basic/src/game/in_game_saving.rs b/examples/blenvy/save_load/src/game/in_game_saving.rs similarity index 100% rename from examples/bevy_gltf_save_load/basic/src/game/in_game_saving.rs rename to examples/blenvy/save_load/src/game/in_game_saving.rs diff --git a/examples/bevy_gltf_save_load/basic/src/game/in_main_menu.rs b/examples/blenvy/save_load/src/game/in_main_menu.rs similarity index 100% rename from examples/bevy_gltf_save_load/basic/src/game/in_main_menu.rs rename to examples/blenvy/save_load/src/game/in_main_menu.rs diff --git a/examples/bevy_gltf_save_load/basic/src/game/mod.rs b/examples/blenvy/save_load/src/game/mod.rs similarity index 100% rename from examples/bevy_gltf_save_load/basic/src/game/mod.rs rename to examples/blenvy/save_load/src/game/mod.rs diff --git a/examples/bevy_gltf_save_load/basic/src/main.rs b/examples/blenvy/save_load/src/main.rs similarity index 100% rename from examples/bevy_gltf_save_load/basic/src/main.rs rename to examples/blenvy/save_load/src/main.rs diff --git a/examples/bevy_gltf_components/basic/src/test_components.rs b/examples/blenvy/save_load/src/test_components.rs similarity index 100% rename from examples/bevy_gltf_components/basic/src/test_components.rs rename to examples/blenvy/save_load/src/test_components.rs diff --git a/tools/blenvy/README.md b/tools/blenvy/README.md new file mode 100644 index 0000000..59744f6 --- /dev/null +++ b/tools/blenvy/README.md @@ -0,0 +1,288 @@ +# Blenvy: Blender add-on + + +This [Blender addon](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/blenvy) gives you: +- an easy to use UI to add and configure your [Bevy](https://bevyengine.org/) components inside Blender + - the UI is **automatically generated** based on a **registry schema** file, an export of all your **registered** Bevy components's information, generated +by the registry export part of the [Blenvy](https://crates.io/crates/blenvy) crate + - the ability to **toggle components** on/off without having to remove the component from the object + +- an automatic export of your level/world from Blender to gltf whenever you save your Blend file. + - export of used /marked collections as [Gltf blueprints](../../crates/blenvy/README.md) + - change detection, so that only the levels & blueprints you have changed get exported when you save your blend file + - export of material librairies + +- a way to setup you assets for your levels & blueprints in Blender + +If you want to know more about the technical details , see [here]() + +> IMPORTANT !! if you have previously used the "old" add-ons (*gltf_auto_export* & *bevy_components*), please see the [migration guide](../../Migration_guide.md) +If you can I would generally recommend starting fresh, but a lot of effort has been put to make transitioning easier + + +## Installation: + + +* grab the latest release zip file + +![blender addon install](./docs/blender_addon_install_zip.png) + + +* in Blender go to edit => preferences => install + +![blender addon install](./docs/blender_addon_install.png) + +* choose the path where ```blenvy.zip``` is stored + +![blender addon install](./docs/blender_addon_install2.png) + + +## Quickstart + + +## Configuration: + + +### Bevy side + + - setup the [Blenvy crate](https://crates.io/crates/blenvy) for your project (see the crate's documentation for that), and compile/run it to get the ```registry.json``` file to enable adding/editing your components in Blender + +### Blender side + +> The add-on comes almost mostly pre-configured with sensible defaults, but you can set the following settings to your liking + +#### Common + +you **need** to tell Blenvy + - what your level scenes are (what Blender scenes should become levels in Bevy) + - what your library scenes are (what Blender scenes will store your library of re-useable blueprints) + +Blenvy is opinionated ! + - keep you art/sources (usually not delivered with your game) seperate from your game assets + - keep your blueprints/levels/materials gltf files seperate + +#### Components + +> the defaults are already pre-set to match those on the Bevy side for the location of the ```registry.json``` file, unless you want to store it somewhere other than ```assets/registry.json``` + +- Go to the new Components tab in the **configuration** tab + +![configuration](./docs/configuration.png) + +- click on the button to select your registry.json file (in the "configuration" panel) + +![configuration 2](./docs/configuration2.png) + +- the list of available components will appear + +![configuration 3](./docs/configuration3.png) + + +##### registry file polling + +* by default, the add-on will check for changes in your registry file every second, and refresh the UI accordingly +* you can set the polling frequency or turn it off if you do not want auto-refresh + +![registry file polling](./docs/registry_polling.png) + +#### Auto-export + +### Materials + +You can enable this option to automatically generate a **material library** files that combines all the materials in use in your blueprints. + +![material_library](./docs/blender_addon_materials2.png) + +Since each blueprint is normally a completely independant gltf file, without this option, if you have a material with a large texture for example, +**ALL** of your blueprints using that material will embed that large texture, leading to **significant bloat & memory use**. + +- When this option is enabled, you get a single material library per Blender project, and a **MaterialInfo** component is inserted into each object using a material. +- The correct material will then be inserted on the Bevy side (that loads any number of material libraries that you need) into the correct mesh (see the configuration +options in **bevy_gltf_blueprints** for more information on that) +- Only one material per object is supported at this stage, ie the last material slot's material is the one that is going to be used + +![material_library](./docs/blender_addon_materials.png) + +TLDR: Use this option to make sure that each blueprint file does not contain a copy of the same materials + + +### Multiple blend file workflow + +If you want to use multiple blend files, use Blender's asset library etc, we got you coverred too ! +There are only a few things to keep in mind + +#### Assets/library/blueprints files +- mark your library scenes as specified above, but **do NOT** specify a **main** scene +- mark any collection in your scenes as "assets" +- choose "split" for the combine mode (as you want your gltf blueprints to be saved for external use) +- do your Blender things as normal +- anytime you save your file, it will automatically export any relevant collections/blueprints +- (optional) activate the **material library** option, so you only have one set of material per asset library (recomended) + +#### Level/world files +- mark your main scenes as specified above ( personally I recommended **NOT** specifying a **library** scene in this case to keep things tidy, but that is up to you) +- configure your asset libraries as you would usually do, I recomend using the "link" mode so that any changes to asset files are reflected correctly +- drag & drop any assets from the blueprints library (as you would normally do in Blender as well) +- choose "split" for the combine mode (as you want your gltf blueprints to be external usually & use the gltf files generated from your assets library) +- do your Blender things as normal +- anytime you save your file, it will automatically export your level(s) + +Take a look at the [relevant](../../examples/demo/) example for more [details](../../examples/demo/art/) + + +## Useage + +### Components + +#### adding components + +- to add a component, select an object, collection, mesh or material and then select the component from the components list: (the full type information will be displayed as tooltip) + +![components list](./docs/components_list.png) + +- click on the dropdown to get the full list of available components + +![components list](./docs/components_list2.png) + +- you can also filter components by name for convenience + +![filter components](./docs/filter_components.png) + +- add a component by clicking on the "add component" button once you have selected your desired component + + it will appear in the component list for that object + +![add component](./docs/add_component.png) + + +#### editing components + +- to edit a component's value just use the UI: + +![edit component](./docs/edit_component.png) + +#### copy & pasting + +- you can also copy & paste components between objects + +- click on the "copy component button" of the component you want to copy + +![copy component](./docs/copy_component.png) + +- then select the object you want to copy the component (& its value) to, and click on the paste button. + +It will add the component to the select object + +![paste component](./docs/paste_component.png) + +> if the target object already has the same component, its values will be overwritten + + +#### Additional components UI features + + +##### Toggling component details + +- for large/ complex components you can toggle the details of that component: + +![toggle details](./docs/toggle_details.png) + + +##### Supported components + +- normally (minus any bugs, please report those!) all components using **registered** types should be useable and editable +- this includes (non exhaustive list): + * enums (even complex ones !) + + ![enums](./docs/enums.png) + + ![enums](./docs/enums2.png) + + + * complex structs, with various types of fields (including nested ones) + + ![complex](./docs/complex_components2.png) + + * lists/ vecs (here a vec of tuples) + + ![lists](./docs/vecs_lists.png) + + * etc ! + +##### Unregistered types & error handling + +- non registered types can be viewed in this panel : (can be practical to see if you have any missing registrations too!) + + ![unregistered types](./docs/unregistered_types.png) + +- if you have a component made up of unregistered structs/enums etc, you will get visual feedback & the component will be deactivated + + ![invalid component](./docs/invalid_components.png) + + > see [here](#invalidunregistered-type-renaming--conversion) for ways to convert invalid / unregistered components to other types. + + +- if you are encountering this type of view: don't panic your component data is not gone ! It just means you need to reload the registry data by clicking on the relevant button + + ![missing registry data](./docs/missing_registry_data.png) + +## Levels + +## Blueprints + + +## Technical details + +- adds **metadata** to objects containing information about what components it uses + some extra information +- uses Blender's **PropertyGroups** to generate custom UIs & connects those groups with the custom properties so that no matter the complexity +of your Bevy components you get a nicely packed custom_property to use with ... +- supports any number of main/level scenes + - Blender scenes where you define your levels, and all collection instances are replaced with "pointers" to other gltf files (all automatic) +- supports any number of library scenes + - Blender scenes where you define the assets that you use in your levels, in the form of collections +- automatic export of **changed** objects & collections only ! a sort of "incremental export", where only the changed collections (if in use) + get exported when you save your blend file + +### Components + +changing the values of a component in the UI will automatically update the value of the underlying entry in the ```bevy_components``` custom property + +![edit component](./docs/edit_component2.png) + +### Internal process (simplified) + +This is the internal logic of the export process with blueprints (simplified) + +![process](./docs/process.svg) + +ie this is an example scene... + +![](./docs/workflow_original.jpg) + +and what actually gets exported for the main scene/world/level + +![](./docs/workflow_empties.jpg) + +all collections instances replaced with empties, and all those collections exported to gltf files as seen above + + +## Known issues & limitations: + +* **Range** data (ie ```Range``` etc) are not handled at this time (issue seems to be on the Bevy side) +* **Entity** structs are always set to 0 (setting entity values on the Blender side at this time does not make much sense anyway) + + +## Development + +- I highly recomend (if you are using vscode like me) to use +[this](https://marketplace.visualstudio.com/items?itemName=JacquesLucke.blender-development) excellent extension , works easilly and fast , even for the latest +versions of Blender (v4.0 as of this writing) +- this [article](https://polynook.com/learn/set-up-blender-addon-development-environment-in-windows) might also help out +(easy enough to get it working on linux too) + +## License + +This tool, all its code, contents & assets is Dual-licensed under either of + +- Apache License, Version 2.0, ([LICENSE-APACHE](../LICENSE_APACHE.md) or https://www.apache.org/licenses/LICENSE-2.0) +- MIT license ([LICENSE-MIT](../LICENSE_MIT.md) or https://opensource.org/licenses/MIT) \ No newline at end of file diff --git a/tools/blenvy/README_components.md b/tools/blenvy/README_components.md deleted file mode 100644 index d6f19fa..0000000 --- a/tools/blenvy/README_components.md +++ /dev/null @@ -1,297 +0,0 @@ -# Bevy components - -This [Blender addon](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/bevy_components) gives you an easy to use UI to add and configure your [Bevy](https://bevyengine.org/) components inside Blender ! - -- **automatically generates a simple UI** to add/configure components based on a **registry schema** file (an export of all your Bevy components's information, generated) -by the [bevy_registry_export](https://crates.io/crates/bevy_registry_export) crate/plugin -- no more need to specify components manually using custom_properties, with error prone naming etc -- adds **metadata** to objects containing information about what components it uses + some extra information -- uses Blender's **PropertyGroups** to generate custom UIs & connects those groups with the custom properties so that no matter the complexity -of your Bevy components you get a nicely packed custom_property to use with ... -- the ideal companion to the [gltf_auto_export](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/gltf_auto_export) to embed your Bevy components inside your gltf files - - - -> Important: - the tooling is still in the early stages, even if it is feature complete : use with caution!. - -> IMPORTANT !! if you have previously used v0.1 , v0.2 had a breaking change, please see [this](#regenerate-ui-values) section on how to upgrade your data to v0.2.\ -This problem should not be present going forward - -> IMPORTANT !! if you have previously used v0.2 , v0.3 had a breaking change, please see [this](#regenerate-custom-property-values) section on how to upgrade your data to v0.3. - -## Installation: - -* grab the latest release zip file from the releases tab (choose the bevy_components releases !) - - - -* in Blender go to edit => preferences => install - -![blender addon install](./docs/blender_addon_install.png) - -* choose the path where ```bevy_components.zip``` is stored - -![blender addon install](./docs/blender_addon_install2.png) - - -## Configuration & overview - -Before you can use the add-on you need to configure it - -### Bevy side - - - setup [bevy_registry_export](https://crates.io/crates/bevy_registry_export) for your project (see the crate's documentation for that), and compile/run it to get the ```registry.json``` file - -### Blender side - -- Go to the new Bevy Components tab in the 3D view - -![configuration](./docs/configuration.png) - -- click on the button to select your registry.json file (in the "configuration" panel) - -![configuration 2](./docs/configuration2.png) - -- the list of available components will appear - -![configuration 3](./docs/configuration3.png) - - #### registry file polling - - - * by default, the add-on will check for changes in your registry file every second, and refresh the UI accordingly - * you can set the polling frequency or turn it off if you do not want auto-refresh - - ![registry file polling](./docs/registry_polling.png) - - - -## Use - - -### Existing components & custom properties - -* If you already have components defined manualy in Blender inside **custom properties** you will need to define them again using the UI! -* avoid mixing & matching: if you change the values of **custom properties** that also have a component, the custom property will be **overriden** every time -you change the component's value -* you can of course still use non component custom properties as always, this add-on will only impact those that have corresponding Bevy components - -### adding components - -- to add a component, select an object and then select the component from the components list: (the full type information will be displayed as tooltip) - -![components list](./docs/components_list.png) - -- click on the dropdown to get the full list of available components - -![components list](./docs/components_list2.png) - -- you can also filter components by name for convenience - -![filter components](./docs/filter_components.png) - - -- add a component by clicking on the "add component" button once you have selected your desired component - - it will appear in the component list for that object - -![add component](./docs/add_component.png) - -### edit components - -- to edit a component's value just use the UI: - -![edit component](./docs/edit_component.png) - -it will automatically update the value of the corresponding custom property - -![edit component](./docs/edit_component2.png) - -### Create components from custom properties - -- IF you have a valid component type and the correct corresponding RON string in the custom_property value (this button will not appear if not), this add-on can automatically -generate the corresponding component for you: - -- Fill/check your custom property (here for Aabb) - -![generate_components 2](./docs/generate_components2.png) - -- click on the button - -![generate_components](./docs/generate_components.png) - --voila ! - -![generate_components 3](./docs/generate_components3.png) - - -### copy & pasting - -- you can also copy & paste components between objects - -- click on the "copy component button" of the component you want to copy - -![copy component](./docs/copy_component.png) - -- then select the object you want to copy the component (& its value) to, and click on the paste button. - -It will add the component to the select object - -![paste component](./docs/paste_component.png) - -> if the target object already has the same component, its values will be overwritten - - -## Additional components UI features - -- for large/ complex components you can toggle the details of that component: - -![toggle details](./docs/toggle_details.png) - - -## Supported components - -- normally (minus any bugs, please report those!) all components using **registered** types should be useable and editable -- this includes (non exhaustive list): - * enums (even complex ones !) - - ![enums](./docs/enums.png) - - ![enums](./docs/enums2.png) - - - * complex structs, with various types of fields (including nested ones) - - ![complex](./docs/complex_components2.png) - - * lists/ vecs (here a vec of tuples) - - ![lists](./docs/vecs_lists.png) - - * etc ! - -## Unregistered types & error handling - -- non registered types can be viewed in this panel : (can be practical to see if you have any missing registrations too!) - - ![unregistered types](./docs/unregistered_types.png) - -- if you have a component made up of unregistered structs/enums etc, you will get visual feedback & the component will be deactivated - - ![invalid component](./docs/invalid_components.png) - - > see [here](#invalidunregistered-type-renaming--conversion) for ways to convert invalid / unregistered components to other types. - - -- if you are encountering this type of view: don't panic your component data is not gone ! It just means you need to reload the registry data by clicking on the relevant button - - ![missing registry data](./docs/missing_registry_data.png) - - - -## Advanced Tools - -In this section you will find various additional more advanced tooling - -### Invalid/unregistered type renaming / conversion - -If you have components that are - * invalid : ie some error was diagnosed - * unregistered: a custom property is present on the object, but there is no matching type in the registry - -Here you will get an overview, of ALL invalid and unregistered components in your Blender project, so you can find them, rename/convert them, -or delete them, also in bulk - -![component rename overview](./docs/component_rename_overview2.png) - -* you can click on the button to select the object in your outliner (this also works across scenes, so you will be taken to the scene where the -given object is located) - -![update custom properties](./docs/component_rename_object_select.png) - - -#### Single object component renaming/ conversion - - - to rename/convert a single component for a single object: - - * go to the row of the object you want to convert the component of - * in the dropdown menu, choose the target component - * click on the button with the magic wand to convert the component - - ![single rename](./docs/component_rename_single.png) - - > the tool will attempt to automatically convert the source component, including the field names/values, if the target component has the same ones - If it fails to do the conversion, you will get an error message, and you will either have to change the custom property yourself, or you can simply - change the values in the UI, which will automatically generate the custom property value - - - to delete a single component for a single object: - - * go to the row of the object you want to remove the component from - * click on the button with the "x" to remove the component - - ![single delete](./docs/component_remove_single.png) - -#### Bulk component renaming/ conversion - - - use this method if you want to convert ALL components of a given type of ALL objects - - * click on this button to pick your source component - - ![bulk convert remove](./docs/component_rename_remove_bulk.png) - - * for conversion: in the dropdown menu, choose the target component & click apply to convert all matching components - * for deletion: clic on the "x" to remove all matching components - - ![bulk convert remove](./docs/component_rename_remove_bulk2.png) - - - ### For conversion between custom properties & components & vice-versa - - #### regenerate custom property values - - - "update custom properties of current object" : will go over **all components** that you have defined for the **currently selected object**, and re-generate the - - corresponding custom property values - - ![update custom properties](./docs/other_options.png) - - - - "update custom properties of ALL objects" : same as above but it will do so for the **ALL objects in your blend file** (so can be slow!), and re-generate the - - corresponding custom property values - - ![update custom properties for all](./docs/other_options2.png) - - > IMPORTANT !! use this if you have previously used v0.1 or v0.2 , as v0.3 had a breaking change, that makes it **necessary** to use this **once** to upgrade components data - You should also re-export your gltf files , otherwise you might run into issues - - - #### regenerate component/ UI values - - - since v0.2, you have the option to regenerate (for the selected object or all objects, as above) to regenerate your UI values from the custom property values - - ![update UI FROM custom properties](./docs/update_ui_from_custom_properties.png) - - > IMPORTANT !! use this if you have previously used v0.1 , as v0.2 had a breaking change, that makes it **necessary** to use this **once** to upgrade the UI data - - - -> Note: the legacy mode support has been removed since version - - -## Examples - -you can find an example [here](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/examples/bevy_registry_export/) - -## Known issues & limitations: - -* **Range** data (ie ```Range``` etc) are not handled at this time (issue seems to be on the Bevy side) -* **Entity** structs are always set to 0 (setting entity values on the Blender side at this time does not make much sense anyway) - -## License - -This tool, all its code, contents & assets is Dual-licensed under either of - -- Apache License, Version 2.0, ([LICENSE-APACHE](../LICENSE_APACHE.md) or https://www.apache.org/licenses/LICENSE-2.0) -- MIT license ([LICENSE-MIT](../LICENSE_MIT.md) or https://opensource.org/licenses/MIT) \ No newline at end of file diff --git a/tools/blenvy/TODO_auto_export.md b/tools/blenvy/TODO_auto_export.md deleted file mode 100644 index ebfda0a..0000000 --- a/tools/blenvy/TODO_auto_export.md +++ /dev/null @@ -1,69 +0,0 @@ -- investigate remove_blueprints_list_from_main_scene (could be a case of changes to bpy.data not being applied immediatly) -- investigate clearing of changed_objects_per_scene -- it seems bevy_components does not trigger updates -- undo redo is ignored: ie save, do something, undo it, you still get changes - - -- [ ] serialize scene - - [ ] for collection instances: - * [ ] blueprints export should also take the split/embed mode into account: if a nested collection changes AND embed is active, its container collection should also be exported - * [ ] level exports should do the same - - [ ] add tests for the above - - [ ] look into caching for serialize scene - - [ ] replace field name based logic with type base logic - -- [ ] to make things easier overall we need a mapping of Blueprints/Collections to - - [x] their instances - - [x] their objects/sub collections instances etc - - [ ] a mapping of objects to the blueprints they belong to -- [ ] things to alter/remove using the new & improved Blueprints/collections scanning and mapping - - [x] get_sub_collections => remove , but rewrite how BlueprintsList are generated - - [x] get_used_collections => remove , but rewrite how BlueprintsList are generated - - [x] get_exportable_collections => remove , but replace with new function to get exportable blueprints - - [x] get_collections_per_scene - - [x] get_collections_in_library - - [ ] traverse_tree => keep, used - - [x] find_layer_collection_recursive => remove, unused - - [ ] recurLayerCollection => unclear, analyse - - [x] find_collection_ascendant_target_collection => remove, double check - - [x] set_active_collection => keep, used - - [x] get_source_scene => remove, unused - - [x] assets_list["BlueprintsList"] - BLUEPRINTS LIST {'Blueprint1': [], 'Blueprint6_animated': [], 'Blueprint4_nested': ['Blueprint3'], 'Blueprint3': [], 'Blueprint7_hierarchy': [], 'External_blueprint': [], 'External_blueprint2': ['External_blueprint3'], 'External_blueprint3': [], 'Blueprint8_animated_no_bones': []} - - [x] internal_collections => replace with "internal_collections" or "local_collections" - -- [x] fix COMBINE MODE passed as int instead of enum value - => comes from our custom logic for add_on prefs -- [ ] double check compares to "None" values - -- [ ] add tests for relative/absolute paths - -- [x] move all things that alter data "permanently" to pre-save - - [x] lighting/ scene components injection - - [x] blueprintNames ? - - [x] or more simple: just remove them after save as we do for others: lighting_components - - - [ ] if we want the blueprintsList / future paths of blueprints to be present inside external assets, we are going to need to keep them around, ie: inject them in pre-save & not remove them - -- [ ] update cleanup_materials - -- [x] remove legacy mode - - [x] from auto_export - - [x] from rust code - - [x] from examples - - [x] added notes & workaround information in docs - -- [ ] remove bulk of tracker related code -- [ ] clean up -- [x] split up change detection in settings to its own panel - - - - -Change storage of 'blueprint' assets : (from BlueprintsList) - - store at the SCENE level: a list/map of assets - - asset name + asset path - - the asset PATH is determined by the export output folder parameters - - make asset storage generic enough to allow adding additional asset types - - get inspired by bevy_asset_loader ? - diff --git a/tools/blenvy/add_ons/auto_export/__init__.py b/tools/blenvy/add_ons/auto_export/__init__.py index b82dc75..96f0824 100644 --- a/tools/blenvy/add_ons/auto_export/__init__.py +++ b/tools/blenvy/add_ons/auto_export/__init__.py @@ -1,5 +1,6 @@ import os import json +import pathlib import bpy from blenvy.settings import generate_complete_settings_dict from io_scene_gltf2 import ExportGLTF2_Base @@ -9,6 +10,11 @@ def cleanup_file(): gltf_filepath = bpy.context.window_manager.auto_export_tracker.dummy_file_path if os.path.exists(gltf_filepath): os.remove(gltf_filepath) + # in case of seperate gltf/bin files, also remove bin file + if gltf_filepath.endswith('gltf'): + bin_path = os.path.join(os.path.dirname(gltf_filepath), pathlib.Path(gltf_filepath).stem + ".bin") + if os.path.exists(bin_path): + os.remove(bin_path) return None else: return 1.0 diff --git a/tools/blenvy/docs/auto_export/blender_addon_install.png b/tools/blenvy/docs/blender_addon_install.png similarity index 100% rename from tools/blenvy/docs/auto_export/blender_addon_install.png rename to tools/blenvy/docs/blender_addon_install.png diff --git a/tools/blenvy/README_auto_export.md b/tools/blenvy/old.md similarity index 60% rename from tools/blenvy/README_auto_export.md rename to tools/blenvy/old.md index 179dcbd..0d63475 100644 --- a/tools/blenvy/README_auto_export.md +++ b/tools/blenvy/old.md @@ -1,35 +1,3 @@ -# gltf_auto_export - -This [Blender addon](./) -- automatically exports your level/world from Blender to gltf whenever you save your Blend file. -- in Blueprints mode (highly recommended !) : - - supports automatic exports of used collections as [Gltf blueprints](../../crates/bevy_gltf_blueprints/README.md) - - supports any number of main/level scenes - - Blender scenes where you define your levels, and all collection instances are replaced with "pointers" to other gltf files (all automatic) - - supports any number of library scenes - - Blender scenes where you define the assets that you use in your levels, in the form of collections - - automatic export of **changed** objects & collections only ! a sort of "incremental export", where only the changed collections (if in use) - get exported when you save your blend file - - -## Installation: - - -* grab the latest release zip file - -![blender addon install](./docs/blender_addon_install_zip.png) - - -* in Blender go to edit => preferences => install - -![blender addon install](./docs/blender_addon_install.png) - -* choose the path where ```gltf_auto_export.zip``` is stored - -![blender addon install](./docs/blender_addon_install2.png) - - - ## Usage: @@ -172,7 +140,6 @@ To maximise reuse of meshes/components etc, you can also nest ***collections ins ![instance combine mode](./docs/blender_addon_use4.png) - - To make things clearer: ![nested-blueprints](./docs/nested_blueprints.png) @@ -199,79 +166,141 @@ To maximise reuse of meshes/components etc, you can also nest ***collections ins TLDR: smaller, more reuseable blueprints which can share sub-parts with other entities ! -### Materials - -You can enable this option to automatically generate a **material library** file that combines all the materials in use in your blueprints. - -![material_library](./docs/blender_addon_materials2.png) - -Since each blueprint is normally a completely independant gltf file, without this option, if you have a material with a large texture for example, -**ALL** of your blueprints using that material will embed that large texture, leading to **significant bloat & memory use**. -- When this option is enabled, you get a single material library per Blender project, and a **MaterialInfo** component is inserted into each object using a material. -- The correct material will then be inserted on the Bevy side (that loads any number of material libraries that you need) into the correct mesh (see the configuration -options in **bevy_gltf_blueprints** for more information on that) -- Only one material per object is supported at this stage, ie the last material slot's material is the one that is going to be used - -![material_library](./docs/blender_addon_materials.png) - -TLDR: Use this option to make sure that each blueprint file does not contain a copy of the same materials -### Multiple blend file workflow -If you want to use multiple blend files, use Blender's asset library etc, we got you coverred too ! -There are only a few things to keep in mind +### Create components from custom properties -#### Assets/library/blueprints files -- mark your library scenes as specified above, but **do NOT** specify a **main** scene -- mark any collection in your scenes as "assets" (more convenient) or add the "AutoExport" custom property to the collection -- choose "split" for the combine mode (as you want your gltf blueprints to be saved for external use) -- do your Blender things as normal -- anytime you save your file, it will automatically export any relevant collections/blueprints -- (optional) activate the **material library** option, so you only have one set of material per asset library (recomended) +- IF you have a valid component type and the correct corresponding RON string in the custom_property value (this button will not appear if not), this add-on can automatically +generate the corresponding component for you: -#### Level/world files -- mark your main scenes as specified above, but **do NOT** specify a **library** scene -- configure your asset libraries as you would usually do , I recomend using the "link" mode so that any changes to asset files are reflected correctly -- drag & drop any assets from the blueprints library (as you would normally do in Blender as well) -- choose "split" for the combine mode (as you want your gltf blueprints to be external usually & use the gltf files generated from your assets library) -- do your Blender things as normal -- anytime you save your file, it will automatically export your level(s) +- Fill/check your custom property (here for Aabb) + +![generate_components 2](./docs/generate_components2.png) + +- click on the button + +![generate_components](./docs/generate_components.png) + +-voila ! + +![generate_components 3](./docs/generate_components3.png) -Take a look at the [relevant](../../examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/) example for more [details](../../examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/art/) -### Internal Process overview - -This is the internal logic of the export process with blueprints (simplified) - -![process](./docs/process.svg) - -ie this is an example scene... - -![](./docs/workflow_original.jpg) - -and what actually gets exported for the main scene/world/level - -![](./docs/workflow_empties.jpg) - -all collections instances replaced with empties, and all those collections exported to gltf files as seen above -## Development -- since the code has now been split up into multiple modules, to make your life easier, I highly recomend (if you are using vscode like me) to use -[this](https://marketplace.visualstudio.com/items?itemName=JacquesLucke.blender-development) excellent extension , works easilly and fast , even for the latest -versions of Blender (v4.0 as of this writing) -- this [article](https://polynook.com/learn/set-up-blender-addon-development-environment-in-windows) might also help out -(easy enough to get it working on linux too) +## Use -## License -This tool, all its code, contents & assets is Dual-licensed under either of +### Existing components & custom properties + +* If you already have components defined manualy in Blender inside **custom properties** you will need to define them again using the UI! +* avoid mixing & matching: if you change the values of **custom properties** that also have a component, the custom property will be **overriden** every time +you change the component's value +* you can of course still use non component custom properties as always, this add-on will only impact those that have corresponding Bevy components + + + + + + + + + +## Advanced Tools + +In this section you will find various additional more advanced tooling + +### Invalid/unregistered type renaming / conversion + +If you have components that are + * invalid : ie some error was diagnosed + * unregistered: a custom property is present on the object, but there is no matching type in the registry + +Here you will get an overview, of ALL invalid and unregistered components in your Blender project, so you can find them, rename/convert them, +or delete them, also in bulk + +![component rename overview](./docs/component_rename_overview2.png) + +* you can click on the button to select the object in your outliner (this also works across scenes, so you will be taken to the scene where the +given object is located) + +![update custom properties](./docs/component_rename_object_select.png) + + +#### Single object component renaming/ conversion + + - to rename/convert a single component for a single object: + + * go to the row of the object you want to convert the component of + * in the dropdown menu, choose the target component + * click on the button with the magic wand to convert the component + + ![single rename](./docs/component_rename_single.png) + + > the tool will attempt to automatically convert the source component, including the field names/values, if the target component has the same ones + If it fails to do the conversion, you will get an error message, and you will either have to change the custom property yourself, or you can simply + change the values in the UI, which will automatically generate the custom property value + + - to delete a single component for a single object: + + * go to the row of the object you want to remove the component from + * click on the button with the "x" to remove the component + + ![single delete](./docs/component_remove_single.png) + +#### Bulk component renaming/ conversion + + - use this method if you want to convert ALL components of a given type of ALL objects + + * click on this button to pick your source component + + ![bulk convert remove](./docs/component_rename_remove_bulk.png) + + * for conversion: in the dropdown menu, choose the target component & click apply to convert all matching components + * for deletion: clic on the "x" to remove all matching components + + ![bulk convert remove](./docs/component_rename_remove_bulk2.png) + + + ### For conversion between custom properties & components & vice-versa + + #### regenerate custom property values + + - "update custom properties of current object" : will go over **all components** that you have defined for the **currently selected object**, and re-generate the + + corresponding custom property values + + ![update custom properties](./docs/other_options.png) + + + - "update custom properties of ALL objects" : same as above but it will do so for the **ALL objects in your blend file** (so can be slow!), and re-generate the + + corresponding custom property values + + ![update custom properties for all](./docs/other_options2.png) + + > IMPORTANT !! use this if you have previously used v0.1 or v0.2 , as v0.3 had a breaking change, that makes it **necessary** to use this **once** to upgrade components data + You should also re-export your gltf files , otherwise you might run into issues + + + #### regenerate component/ UI values + + - since v0.2, you have the option to regenerate (for the selected object or all objects, as above) to regenerate your UI values from the custom property values + + ![update UI FROM custom properties](./docs/update_ui_from_custom_properties.png) + + > IMPORTANT !! use this if you have previously used v0.1 , as v0.2 had a breaking change, that makes it **necessary** to use this **once** to upgrade the UI data + + + + +## Examples + +you can find an example [here](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/examples/bevy_registry_export/) -- Apache License, Version 2.0, ([LICENSE-APACHE](../LICENSE_APACHE.md) or https://www.apache.org/licenses/LICENSE-2.0) -- MIT license ([LICENSE-MIT](../LICENSE_MIT.md) or https://opensource.org/licenses/MIT) \ No newline at end of file diff --git a/tools/internal_generate_release_zips.py b/tools/internal_generate_release_zips.py index f14f6a4..807de8c 100644 --- a/tools/internal_generate_release_zips.py +++ b/tools/internal_generate_release_zips.py @@ -21,8 +21,6 @@ def zipdir(path, ziph): os.path.relpath(os.path.join(root, file), os.path.join(path, '..'))) -with zipfile.ZipFile("bevy_components.zip", mode="w", compression=zipfile.ZIP_DEFLATED) as archive: - zipdir('./bevy_components', archive) +with zipfile.ZipFile("blenvy.zip", mode="w", compression=zipfile.ZIP_DEFLATED) as archive: + zipdir('./blenvy', archive) -with zipfile.ZipFile("gltf_auto_export.zip", mode="w", compression=zipfile.ZIP_DEFLATED) as archive: - zipdir('./gltf_auto_export', archive) \ No newline at end of file