From 0d708b800edfdc030933d1480a04ad47ff2b3a15 Mon Sep 17 00:00:00 2001 From: Mark Moissette Date: Wed, 7 Feb 2024 14:07:17 +0100 Subject: [PATCH] chore(): cleanup & simplification pass (#122) * closes #118 * closes #110 * closes #99 --- Cargo.toml | 14 +- crates/bevy_gltf_blueprints/Cargo.toml | 2 +- crates/bevy_gltf_blueprints/README.md | 6 - crates/bevy_gltf_blueprints/src/aabb.rs | 4 +- crates/bevy_gltf_blueprints/src/animation.rs | 6 +- .../src/copy_components.rs | 37 +- crates/bevy_gltf_blueprints/src/lib.rs | 76 +- .../src/spawn_from_blueprints.rs | 11 +- .../src/spawn_post_process.rs | 2 +- crates/bevy_gltf_components/Cargo.toml | 2 +- .../src/gltf_to_components.rs | 130 +- crates/bevy_gltf_components/src/lib.rs | 13 +- .../bevy_gltf_components/src/process_gltfs.rs | 21 +- crates/bevy_gltf_save_load/Cargo.toml | 2 +- crates/bevy_gltf_save_load/src/loading.rs | 8 +- crates/bevy_gltf_save_load/src/saving.rs | 6 +- crates/bevy_registry_export/Cargo.toml | 4 +- .../bevy_registry_export/src/export_types.rs | 3 +- .../bevy_gltf_blueprints/animation/Cargo.toml | 2 + .../animation/src/assets/assets_game.rs | 13 - .../src/core/camera/camera_replace_proxies.rs | 24 - .../src/core/camera/camera_tracking.rs | 58 - .../animation/src/core/camera/mod.rs | 24 - .../core/lighting/lighting_replace_proxies.rs | 25 - .../animation/src/core/lighting/mod.rs | 18 - .../animation/src/core/mod.rs | 27 +- .../animation/src/core/physics/controls.rs | 12 - .../animation/src/core/physics/mod.rs | 37 - .../animation/src/core/physics/utils_old.rs | 75 - .../animation/src/game/in_game.rs | 15 +- .../animation/src/game/in_main_menu.rs | 3 +- .../animation/src/game/mod.rs | 92 +- .../animation/src/game/picking.rs | 37 - .../animation/src/main.rs | 10 +- .../animation/src/test_components.rs | 36 +- .../bevy_gltf_blueprints/basic/Cargo.toml | 2 + examples/bevy_gltf_blueprints/basic/README.md | 32 +- examples/bevy_gltf_blueprints/basic/TODO.md | 53 - .../basic/assets/advanced.blend | Bin 1341432 -> 0 bytes .../nested.blend => basic/assets/basic.blend} | Bin 1466396 -> 1487244 bytes .../basic/assets/models/World.glb | Bin 6448 -> 6768 bytes .../assets/models/library/Enemy.glb | Bin 2020 -> 2020 bytes .../assets/models/library/Finger.glb | Bin .../assets/models/library/Hand.glb | Bin 4884 -> 4884 bytes .../assets/models/library/Humanoid_cactus.glb | Bin 25964 -> 26000 bytes .../basic/assets/scenes/save.scn.ron | 485 -- .../{basic_wasm => basic}/index.html | 0 .../basic/src/assets/assets_core.rs | 5 - .../basic/src/assets/assets_game.rs | 13 - .../basic/src/assets/mod.rs | 35 - .../src/core/camera/camera_replace_proxies.rs | 24 - .../basic/src/core/camera/camera_tracking.rs | 58 - .../basic/src/core/camera/mod.rs | 24 - .../core/lighting/lighting_replace_proxies.rs | 25 - .../basic/src/core/lighting/mod.rs | 18 - .../basic/src/core/mod.rs | 29 +- .../basic/src/core/physics/controls.rs | 12 - .../basic/src/core/physics/mod.rs | 37 - .../core/physics/physics_replace_proxies.rs | 101 - .../basic/src/core/physics/utils.rs | 175 - .../basic/src/core/physics/utils_old.rs | 75 - .../basic/src/core/relationships/mod.rs | 11 - ...lationships_insert_dependant_components.rs | 15 - .../basic/src/game/in_game.rs | 7 +- .../basic/src/game/in_main_menu.rs | 3 +- .../basic/src/game/mod.rs | 112 +- .../basic/src/game/picking.rs | 34 - .../bevy_gltf_blueprints/basic/src/main.rs | 10 +- .../bevy_gltf_blueprints/basic/src/state.rs | 54 - .../basic/src/test_components.rs | 36 +- .../basic_scene_components/Cargo.toml | 13 - .../basic_scene_components/README.md | 11 - .../assets/assets_core.assets.ron | 1 - .../assets/assets_game.assets.ron | 6 - .../assets/models/World.glb | Bin 6776 -> 0 bytes .../assets/models/library/Container.glb | Bin 5552 -> 0 bytes .../assets/models/library/Health_Pickup.glb | Bin 5068 -> 0 bytes .../assets/models/library/MagicTeapot.glb | Bin 23648 -> 0 bytes .../assets/models/library/Pillar.glb | Bin 3596 -> 0 bytes .../assets/models/library/Player.glb | Bin 28324 -> 0 bytes .../models/library/Unused_in_level_test.glb | Bin 5176 -> 0 bytes .../assets/scene_components.bin | Bin 60756 -> 0 bytes .../assets/scene_components.blend | Bin 1348632 -> 0 bytes .../assets/scene_components.gltf | 1752 ------- .../assets/scenes/save.scn.ron | 485 -- .../src/assets/assets_core.rs | 5 - .../src/assets/assets_game.rs | 13 - .../basic_scene_components/src/assets/mod.rs | 35 - .../src/core/camera/camera_tracking.rs | 58 - .../basic_scene_components/src/core/mod.rs | 31 - .../src/core/physics/controls.rs | 25 - .../core/physics/physics_replace_proxies.rs | 101 - .../src/core/physics/utils.rs | 175 - .../src/core/relationships/mod.rs | 11 - ...lationships_insert_dependant_components.rs | 15 - .../src/game/in_game.rs | 80 - .../src/game/in_main_menu.rs | 113 - .../basic_scene_components/src/game/mod.rs | 115 - .../basic_scene_components/src/main.rs | 33 - .../basic_scene_components/src/state.rs | 54 - .../src/test_components.rs | 80 - .../basic_wasm/Cargo.toml | 13 - .../bevy_gltf_blueprints/basic_wasm/README.md | 31 - .../basic_wasm/assets/advanced.blend | Bin 1341440 -> 0 bytes .../basic_wasm/assets/assets_core.assets.ron | 1 - .../basic_wasm/assets/assets_game.assets.ron | 14 - .../basic_wasm/assets/models/World.glb | Bin 6448 -> 0 bytes .../assets/models/library/Container.glb | Bin 5552 -> 0 bytes .../assets/models/library/Health_Pickup.glb | Bin 5068 -> 0 bytes .../assets/models/library/MagicTeapot.glb | Bin 23648 -> 0 bytes .../assets/models/library/Pillar.glb | Bin 3596 -> 0 bytes .../assets/models/library/Player.glb | Bin 28324 -> 0 bytes .../models/library/Unused_in_level_test.glb | Bin 5176 -> 0 bytes .../basic_wasm/src/assets/assets_core.rs | 5 - .../basic_wasm/src/assets/assets_game.rs | 29 - .../basic_wasm/src/assets/mod.rs | 35 - .../src/core/camera/camera_replace_proxies.rs | 24 - .../src/core/camera/camera_tracking.rs | 58 - .../basic_wasm/src/core/camera/mod.rs | 24 - .../core/lighting/lighting_replace_proxies.rs | 25 - .../basic_wasm/src/core/lighting/mod.rs | 18 - .../basic_wasm/src/core/mod.rs | 31 - .../basic_wasm/src/core/physics/controls.rs | 12 - .../basic_wasm/src/core/physics/mod.rs | 37 - .../core/physics/physics_replace_proxies.rs | 101 - .../basic_wasm/src/core/physics/utils.rs | 175 - .../basic_wasm/src/core/relationships/mod.rs | 11 - ...lationships_insert_dependant_components.rs | 15 - .../basic_wasm/src/game/in_game.rs | 130 - .../basic_wasm/src/game/in_main_menu.rs | 113 - .../basic_wasm/src/game/mod.rs | 116 - .../basic_wasm/src/game/picking.rs | 34 - .../basic_wasm/src/main.rs | 33 - .../basic_wasm/src/state.rs | 54 - .../basic_wasm/src/test_components.rs | 80 - .../basic_xpbd_physics/Cargo.toml | 2 + .../src/assets/assets_core.rs | 5 - .../src/assets/assets_game.rs | 13 - .../basic_xpbd_physics/src/assets/mod.rs | 35 - .../src/core/camera/camera_replace_proxies.rs | 24 - .../src/core/camera/camera_tracking.rs | 58 - .../basic_xpbd_physics/src/core/camera/mod.rs | 24 - .../core/lighting/lighting_replace_proxies.rs | 25 - .../src/core/lighting/mod.rs | 18 - .../basic_xpbd_physics/src/core/mod.rs | 11 - .../src/core/physics/controls.rs | 6 +- .../src/core/physics/mod.rs | 3 +- .../core/physics/physics_replace_proxies.rs | 3 +- .../src/core/relationships/mod.rs | 11 - ...lationships_insert_dependant_components.rs | 15 - .../basic_xpbd_physics/src/game/in_game.rs | 6 +- .../src/game/in_main_menu.rs | 3 +- .../basic_xpbd_physics/src/game/mod.rs | 92 +- .../basic_xpbd_physics/src/game/picking.rs | 34 - .../basic_xpbd_physics/src/main.rs | 10 +- .../basic_xpbd_physics/src/state.rs | 54 - .../basic_xpbd_physics/src/test_components.rs | 36 +- .../bevy_gltf_blueprints/materials/Cargo.toml | 2 + .../materials/src/assets/assets_core.rs | 5 - .../materials/src/assets/assets_game.rs | 16 - .../materials/src/assets/mod.rs | 35 - .../src/core/camera/camera_replace_proxies.rs | 24 - .../src/core/camera/camera_tracking.rs | 58 - .../materials/src/core/camera/mod.rs | 24 - .../core/lighting/lighting_replace_proxies.rs | 25 - .../materials/src/core/lighting/mod.rs | 18 - .../materials/src/core/mod.rs | 27 +- .../materials/src/core/physics/controls.rs | 25 - .../materials/src/core/physics/mod.rs | 34 - .../core/physics/physics_replace_proxies.rs | 101 - .../materials/src/core/physics/utils.rs | 175 - .../materials/src/core/relationships/mod.rs | 11 - ...lationships_insert_dependant_components.rs | 15 - .../materials/src/game/in_game.rs | 283 +- .../materials/src/game/in_main_menu.rs | 5 +- .../materials/src/game/mod.rs | 124 +- .../materials/src/game/picking.rs | 37 - .../materials/src/main.rs | 10 +- .../materials/src/state.rs | 54 - .../materials/src/test_components.rs | 36 +- .../multiple_levels/README.md | 12 - .../assets/assets_core.assets.ron | 1 - .../assets/assets_game.assets.ron | 9 - .../multiple_levels/assets/models/Level1.glb | Bin 3528 -> 0 bytes .../multiple_levels/assets/models/Level2.glb | Bin 3288 -> 0 bytes .../assets/models/StartLevel.glb | Bin 4740 -> 0 bytes .../assets/models/library/Container.glb | Bin 5940 -> 0 bytes .../assets/models/library/Health_Pickup.glb | Bin 5068 -> 0 bytes .../assets/models/library/LevelTransition.glb | Bin 8376 -> 0 bytes .../assets/models/library/MagicTeapot.glb | Bin 24028 -> 0 bytes .../assets/models/library/Pillar.glb | Bin 3596 -> 0 bytes .../assets/models/library/Player.glb | Bin 28324 -> 0 bytes .../models/library/Unused_in_level_test.glb | Bin 5176 -> 0 bytes .../assets/multiple_levels.blend | Bin 1566832 -> 0 bytes .../multiple_levels/src/assets/assets_core.rs | 5 - .../multiple_levels/src/assets/assets_game.rs | 16 - .../multiple_levels/src/assets/mod.rs | 35 - .../src/core/camera/camera_replace_proxies.rs | 24 - .../src/core/camera/camera_tracking.rs | 81 - .../multiple_levels/src/core/camera/mod.rs | 25 - .../core/lighting/lighting_replace_proxies.rs | 31 - .../multiple_levels/src/core/lighting/mod.rs | 18 - .../multiple_levels/src/core/mod.rs | 29 - .../src/core/physics/controls.rs | 21 - .../multiple_levels/src/core/physics/mod.rs | 36 - .../core/physics/physics_replace_proxies.rs | 102 - .../multiple_levels/src/core/physics/utils.rs | 175 - .../src/core/relationships/mod.rs | 11 - ...lationships_insert_dependant_components.rs | 15 - .../multiple_levels/src/game/in_game.rs | 84 - .../multiple_levels/src/game/in_main_menu.rs | 113 - .../src/game/level_transitions.rs | 86 - .../multiple_levels/src/game/mod.rs | 121 - .../multiple_levels/src/game/picking.rs | 34 - .../multiple_levels/src/main.rs | 33 - .../multiple_levels/src/state.rs | 54 - .../multiple_levels/src/test_components.rs | 80 - .../Cargo.toml | 2 + .../src/assets/assets_core.rs | 5 - .../src/assets/assets_game.rs | 19 - .../src/assets/mod.rs | 35 - .../src/core/camera/camera_replace_proxies.rs | 24 - .../src/core/camera/camera_tracking.rs | 81 - .../src/core/camera/mod.rs | 25 - .../core/lighting/lighting_replace_proxies.rs | 31 - .../src/core/lighting/mod.rs | 18 - .../src/core/mod.rs | 27 +- .../src/core/physics/controls.rs | 21 - .../src/core/physics/mod.rs | 36 - .../core/physics/physics_replace_proxies.rs | 102 - .../src/core/physics/utils.rs | 175 - .../src/core/relationships/mod.rs | 11 - ...lationships_insert_dependant_components.rs | 15 - .../src/game/in_game.rs | 58 +- .../src/game/in_main_menu.rs | 3 +- .../src/game/level_transitions.rs | 27 +- .../src/game/mod.rs | 101 +- .../src/game/picking.rs | 34 - .../src/main.rs | 10 +- .../src/state.rs | 54 - .../src/test_components.rs | 36 +- .../nested_blueprints/Cargo.toml | 13 - .../nested_blueprints/README.md | 14 - .../assets/assets_core.assets.ron | 1 - .../assets/assets_game.assets.ron | 6 - .../nested_blueprints/assets/models/World.glb | Bin 6908 -> 0 bytes .../assets/models/library/Container.glb | Bin 5552 -> 0 bytes .../assets/models/library/Health_Pickup.glb | Bin 5068 -> 0 bytes .../assets/models/library/MagicTeapot.glb | Bin 23648 -> 0 bytes .../assets/models/library/Pillar.glb | Bin 3596 -> 0 bytes .../assets/models/library/Player 2.glb | Bin 408 -> 0 bytes .../models/library/Unused_in_level_test.glb | Bin 5176 -> 0 bytes .../src/assets/assets_core.rs | 5 - .../src/assets/assets_game.rs | 13 - .../nested_blueprints/src/assets/mod.rs | 35 - .../src/core/camera/camera_replace_proxies.rs | 24 - .../src/core/camera/camera_tracking.rs | 58 - .../nested_blueprints/src/core/camera/mod.rs | 24 - .../core/lighting/lighting_replace_proxies.rs | 25 - .../src/core/lighting/mod.rs | 18 - .../nested_blueprints/src/core/mod.rs | 31 - .../src/core/physics/controls.rs | 12 - .../nested_blueprints/src/core/physics/mod.rs | 37 - .../core/physics/physics_replace_proxies.rs | 101 - .../src/core/physics/utils.rs | 175 - .../src/core/physics/utils_old.rs | 75 - .../src/core/relationships/mod.rs | 11 - ...lationships_insert_dependant_components.rs | 15 - .../nested_blueprints/src/game/in_game.rs | 84 - .../src/game/in_main_menu.rs | 113 - .../nested_blueprints/src/game/mod.rs | 115 - .../nested_blueprints/src/game/picking.rs | 34 - .../nested_blueprints/src/main.rs | 33 - .../nested_blueprints/src/state.rs | 54 - .../nested_blueprints/src/test_components.rs | 90 - .../bevy_gltf_components/basic/Cargo.toml | 2 + examples/bevy_gltf_components/basic/README.md | 37 +- .../basic/assets/basic.blend | Bin 1371868 -> 1371844 bytes .../{basic_wasm => basic}/index.html | 0 .../src/core/camera/camera_replace_proxies.rs | 24 - .../basic/src/core/camera/camera_tracking.rs | 58 - .../basic/src/core/camera/mod.rs | 17 - .../core/lighting/lighting_replace_proxies.rs | 25 - .../basic/src/core/lighting/mod.rs | 18 - .../basic/src/core/physics/controls.rs | 10 - .../basic/src/core/physics/mod.rs | 27 - .../core/physics/physics_replace_proxies.rs | 101 - .../basic/src/core/physics/utils.rs | 175 - .../basic/src/core/physics/utils_old.rs | 75 - .../basic/src/core/relationships/mod.rs | 11 - ...lationships_insert_dependant_components.rs | 15 - .../bevy_gltf_components/basic/src/game.rs | 102 - .../bevy_gltf_components/basic/src/main.rs | 78 +- .../basic/src/test_components.rs | 36 +- .../basic_wasm/.rustc_info.json | 1 - .../basic_wasm/Cargo.toml | 27 - .../bevy_gltf_components/basic_wasm/README.md | 37 - .../basic_wasm/assets/basic.blend | Bin 1371844 -> 0 bytes .../basic_wasm/assets/models/Level1.glb | Bin 78932 -> 0 bytes .../src/core/camera/camera_replace_proxies.rs | 24 - .../src/core/camera/camera_tracking.rs | 58 - .../basic_wasm/src/core/camera/mod.rs | 17 - .../core/lighting/lighting_replace_proxies.rs | 25 - .../basic_wasm/src/core/lighting/mod.rs | 18 - .../basic_wasm/src/core/mod.rs | 19 - .../basic_wasm/src/core/physics/controls.rs | 10 - .../basic_wasm/src/core/physics/mod.rs | 27 - .../core/physics/physics_replace_proxies.rs | 101 - .../basic_wasm/src/core/physics/utils.rs | 175 - .../basic_wasm/src/core/relationships/mod.rs | 11 - ...lationships_insert_dependant_components.rs | 15 - .../basic_wasm/src/game.rs | 102 - .../basic_wasm/src/main.rs | 87 - .../basic_wasm/src/test_components.rs | 80 - examples/bevy_gltf_save_load/basic/Cargo.toml | 1 + .../basic/assets/scenes/save.scn.ron | 2422 ++------- .../basic/src/assets/assets_core.rs | 5 - .../basic/src/assets/assets_game.rs | 16 - .../basic/src/assets/mod.rs | 35 - .../src/core/camera/camera_replace_proxies.rs | 24 - .../basic/src/core/camera/camera_tracking.rs | 58 - .../basic/src/core/camera/mod.rs | 24 - .../core/lighting/lighting_replace_proxies.rs | 25 - .../basic/src/core/lighting/mod.rs | 18 - .../bevy_gltf_save_load/basic/src/core/mod.rs | 23 +- .../basic/src/core/physics/mod.rs | 38 - .../core/physics/physics_replace_proxies.rs | 101 - .../basic/src/core/physics/utils.rs | 175 - .../basic/src/core/physics/utils_old.rs | 75 - .../basic/src/core/relationships/mod.rs | 11 - ...lationships_insert_dependant_components.rs | 15 - .../basic/src/game/in_game.rs | 9 +- .../basic/src/game/in_game_loading.rs | 3 +- .../basic/src/game/in_game_saving.rs | 3 +- .../basic/src/game/in_main_menu.rs | 3 +- .../bevy_gltf_save_load/basic/src/game/mod.rs | 130 +- .../basic/src/game/picking.rs | 34 - .../bevy_gltf_save_load/basic/src/main.rs | 10 +- .../basic/src/test_components.rs | 36 +- .../bevy_registry_export/basic/Cargo.lock | 4629 ----------------- .../bevy_registry_export/basic/Cargo.toml | 2 + .../basic/assets/registry.json | 456 +- .../basic/src/assets/assets_core.rs | 5 - .../basic/src/assets/assets_game.rs | 13 - .../basic/src/assets/mod.rs | 35 - .../src/core/camera/camera_replace_proxies.rs | 24 - .../basic/src/core/camera/mod.rs | 24 - .../core/lighting/lighting_replace_proxies.rs | 25 - .../basic/src/core/lighting/mod.rs | 18 - .../basic/src/core/mod.rs | 16 - .../basic/src/core/physics/controls.rs | 12 - .../basic/src/core/physics/mod.rs | 37 - .../core/physics/physics_replace_proxies.rs | 101 - .../basic/src/core/physics/utils.rs | 175 - .../basic/src/core/physics/utils_old.rs | 75 - .../basic/src/core/relationships/mod.rs | 11 - ...lationships_insert_dependant_components.rs | 15 - .../basic/src/game/in_game.rs | 6 +- .../basic/src/game/in_main_menu.rs | 3 +- .../basic/src/game/mod.rs | 86 +- .../basic/src/game/picking.rs | 34 - .../bevy_registry_export/basic/src/main.rs | 10 +- .../bevy_registry_export/basic/src/state.rs | 54 - .../basic/src/test_components.rs | 54 +- .../multiple_levels => common}/Cargo.toml | 6 +- .../src/assets/assets_core.rs | 0 examples/common/src/assets/assets_game.rs | 24 + .../animation => common}/src/assets/mod.rs | 0 examples/common/src/core/audio/mod.rs | 21 + .../src/core/camera/camera_replace_proxies.rs | 1 + .../src/core/camera/camera_tracking.rs | 1 + .../src/core/camera/mod.rs | 0 .../core/lighting/lighting_replace_proxies.rs | 0 .../src/core/lighting/mod.rs | 0 .../basic => common}/src/core/mod.rs | 5 +- .../src/core/physics/controls.rs | 0 .../src/core/physics/mod.rs | 0 .../core/physics/physics_replace_proxies.rs | 1 + .../src/core/physics/utils.rs | 0 .../src/core/relationships/mod.rs | 0 ...lationships_insert_dependant_components.rs | 0 examples/common/src/game/interactions/mod.rs | 11 + examples/common/src/game/mod.rs | 36 + .../src/game/picking/mod.rs} | 2 +- examples/common/src/game/player/mod.rs | 40 + examples/common/src/lib.rs | 20 + .../basic => common}/src/state.rs | 0 387 files changed, 1611 insertions(+), 21236 deletions(-) delete mode 100644 examples/bevy_gltf_blueprints/animation/src/assets/assets_game.rs delete mode 100644 examples/bevy_gltf_blueprints/animation/src/core/camera/camera_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/animation/src/core/camera/camera_tracking.rs delete mode 100644 examples/bevy_gltf_blueprints/animation/src/core/camera/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/animation/src/core/lighting/lighting_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/animation/src/core/lighting/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/animation/src/core/physics/controls.rs delete mode 100644 examples/bevy_gltf_blueprints/animation/src/core/physics/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/animation/src/core/physics/utils_old.rs delete mode 100644 examples/bevy_gltf_blueprints/animation/src/game/picking.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/TODO.md delete mode 100644 examples/bevy_gltf_blueprints/basic/assets/advanced.blend rename examples/bevy_gltf_blueprints/{nested_blueprints/assets/nested.blend => basic/assets/basic.blend} (58%) rename examples/bevy_gltf_blueprints/{nested_blueprints => basic}/assets/models/library/Enemy.glb (92%) rename examples/bevy_gltf_blueprints/{nested_blueprints => basic}/assets/models/library/Finger.glb (100%) rename examples/bevy_gltf_blueprints/{nested_blueprints => basic}/assets/models/library/Hand.glb (87%) rename examples/bevy_gltf_blueprints/{nested_blueprints => basic}/assets/models/library/Humanoid_cactus.glb (89%) delete mode 100644 examples/bevy_gltf_blueprints/basic/assets/scenes/save.scn.ron rename examples/bevy_gltf_blueprints/{basic_wasm => basic}/index.html (100%) delete mode 100644 examples/bevy_gltf_blueprints/basic/src/assets/assets_core.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/assets/assets_game.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/assets/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/core/camera/camera_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/core/camera/camera_tracking.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/core/camera/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/core/lighting/lighting_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/core/lighting/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/core/physics/controls.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/core/physics/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/core/physics/physics_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/core/physics/utils.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/core/physics/utils_old.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/core/relationships/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/core/relationships/relationships_insert_dependant_components.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/game/picking.rs delete mode 100644 examples/bevy_gltf_blueprints/basic/src/state.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/Cargo.toml delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/README.md delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/assets_core.assets.ron delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/assets_game.assets.ron delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/models/World.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Container.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Health_Pickup.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/MagicTeapot.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Pillar.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Player.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Unused_in_level_test.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/scene_components.bin delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/scene_components.blend delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/scene_components.gltf delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/assets/scenes/save.scn.ron delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/assets/assets_core.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/assets/assets_game.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/assets/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/core/camera/camera_tracking.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/core/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/controls.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/physics_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/utils.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/core/relationships/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/core/relationships/relationships_insert_dependant_components.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/game/in_game.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/game/in_main_menu.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/game/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/main.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/state.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_scene_components/src/test_components.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/Cargo.toml delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/README.md delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/assets/advanced.blend delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/assets/assets_core.assets.ron delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/assets/assets_game.assets.ron delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/assets/models/World.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Container.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Health_Pickup.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/MagicTeapot.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Pillar.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Player.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Unused_in_level_test.glb delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/assets/assets_core.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/assets/assets_game.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/assets/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/core/camera/camera_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/core/camera/camera_tracking.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/core/camera/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/core/lighting/lighting_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/core/lighting/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/core/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/controls.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/physics_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/utils.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/core/relationships/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/core/relationships/relationships_insert_dependant_components.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/game/in_game.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/game/in_main_menu.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/game/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/game/picking.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/main.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/state.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_wasm/src/test_components.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_xpbd_physics/src/assets/assets_core.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_xpbd_physics/src/assets/assets_game.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_xpbd_physics/src/assets/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/camera/camera_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/camera/camera_tracking.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/camera/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/lighting/lighting_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/lighting/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/relationships/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/relationships/relationships_insert_dependant_components.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/picking.rs delete mode 100644 examples/bevy_gltf_blueprints/basic_xpbd_physics/src/state.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/assets/assets_core.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/assets/assets_game.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/assets/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/core/camera/camera_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/core/camera/camera_tracking.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/core/camera/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/core/lighting/lighting_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/core/lighting/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/core/physics/controls.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/core/physics/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/core/physics/physics_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/core/physics/utils.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/core/relationships/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/core/relationships/relationships_insert_dependant_components.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/game/picking.rs delete mode 100644 examples/bevy_gltf_blueprints/materials/src/state.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/README.md delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/assets_core.assets.ron delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/assets_game.assets.ron delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/Level1.glb delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/Level2.glb delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/StartLevel.glb delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Container.glb delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Health_Pickup.glb delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/LevelTransition.glb delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/MagicTeapot.glb delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Pillar.glb delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Player.glb delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Unused_in_level_test.glb delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/multiple_levels.blend delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_core.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_game.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/assets/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_tracking.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/lighting_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/controls.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/physics_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/utils.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/relationships_insert_dependant_components.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/game/in_game.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/game/in_main_menu.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/game/level_transitions.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/game/picking.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/main.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/state.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/test_components.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/assets/assets_core.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/assets/assets_game.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/assets/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/camera/camera_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/camera/camera_tracking.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/camera/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/lighting/lighting_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/lighting/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/controls.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/physics_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/utils.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/relationships/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/relationships/relationships_insert_dependant_components.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/picking.rs delete mode 100644 examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/state.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/Cargo.toml delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/README.md delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/assets/assets_core.assets.ron delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/assets/assets_game.assets.ron delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/assets/models/World.glb delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Container.glb delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Health_Pickup.glb delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/MagicTeapot.glb delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Pillar.glb delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Player 2.glb delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Unused_in_level_test.glb delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/assets/assets_core.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/assets/assets_game.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/assets/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/camera/camera_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/camera/camera_tracking.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/camera/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/lighting/lighting_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/lighting/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/controls.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/physics_replace_proxies.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/utils.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/utils_old.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/relationships/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/core/relationships/relationships_insert_dependant_components.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/game/in_game.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/game/in_main_menu.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/game/mod.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/game/picking.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/main.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/state.rs delete mode 100644 examples/bevy_gltf_blueprints/nested_blueprints/src/test_components.rs rename examples/bevy_gltf_components/{basic_wasm => basic}/index.html (100%) delete mode 100644 examples/bevy_gltf_components/basic/src/core/camera/camera_replace_proxies.rs delete mode 100644 examples/bevy_gltf_components/basic/src/core/camera/camera_tracking.rs delete mode 100644 examples/bevy_gltf_components/basic/src/core/camera/mod.rs delete mode 100644 examples/bevy_gltf_components/basic/src/core/lighting/lighting_replace_proxies.rs delete mode 100644 examples/bevy_gltf_components/basic/src/core/lighting/mod.rs delete mode 100644 examples/bevy_gltf_components/basic/src/core/physics/controls.rs delete mode 100644 examples/bevy_gltf_components/basic/src/core/physics/mod.rs delete mode 100644 examples/bevy_gltf_components/basic/src/core/physics/physics_replace_proxies.rs delete mode 100644 examples/bevy_gltf_components/basic/src/core/physics/utils.rs delete mode 100644 examples/bevy_gltf_components/basic/src/core/physics/utils_old.rs delete mode 100644 examples/bevy_gltf_components/basic/src/core/relationships/mod.rs delete mode 100644 examples/bevy_gltf_components/basic/src/core/relationships/relationships_insert_dependant_components.rs delete mode 100644 examples/bevy_gltf_components/basic/src/game.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/.rustc_info.json delete mode 100644 examples/bevy_gltf_components/basic_wasm/Cargo.toml delete mode 100644 examples/bevy_gltf_components/basic_wasm/README.md delete mode 100644 examples/bevy_gltf_components/basic_wasm/assets/basic.blend delete mode 100644 examples/bevy_gltf_components/basic_wasm/assets/models/Level1.glb delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/core/camera/camera_replace_proxies.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/core/camera/camera_tracking.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/core/camera/mod.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/core/lighting/lighting_replace_proxies.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/core/lighting/mod.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/core/mod.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/core/physics/controls.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/core/physics/mod.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/core/physics/physics_replace_proxies.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/core/physics/utils.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/core/relationships/mod.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/core/relationships/relationships_insert_dependant_components.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/game.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/main.rs delete mode 100644 examples/bevy_gltf_components/basic_wasm/src/test_components.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/assets/assets_core.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/assets/assets_game.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/assets/mod.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/core/camera/camera_replace_proxies.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/core/camera/camera_tracking.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/core/camera/mod.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/core/lighting/lighting_replace_proxies.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/core/lighting/mod.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/core/physics/mod.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/core/physics/physics_replace_proxies.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/core/physics/utils.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/core/physics/utils_old.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/core/relationships/mod.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/core/relationships/relationships_insert_dependant_components.rs delete mode 100644 examples/bevy_gltf_save_load/basic/src/game/picking.rs delete mode 100644 examples/bevy_registry_export/basic/Cargo.lock delete mode 100644 examples/bevy_registry_export/basic/src/assets/assets_core.rs delete mode 100644 examples/bevy_registry_export/basic/src/assets/assets_game.rs delete mode 100644 examples/bevy_registry_export/basic/src/assets/mod.rs delete mode 100644 examples/bevy_registry_export/basic/src/core/camera/camera_replace_proxies.rs delete mode 100644 examples/bevy_registry_export/basic/src/core/camera/mod.rs delete mode 100644 examples/bevy_registry_export/basic/src/core/lighting/lighting_replace_proxies.rs delete mode 100644 examples/bevy_registry_export/basic/src/core/lighting/mod.rs delete mode 100644 examples/bevy_registry_export/basic/src/core/physics/controls.rs delete mode 100644 examples/bevy_registry_export/basic/src/core/physics/mod.rs delete mode 100644 examples/bevy_registry_export/basic/src/core/physics/physics_replace_proxies.rs delete mode 100644 examples/bevy_registry_export/basic/src/core/physics/utils.rs delete mode 100644 examples/bevy_registry_export/basic/src/core/physics/utils_old.rs delete mode 100644 examples/bevy_registry_export/basic/src/core/relationships/mod.rs delete mode 100644 examples/bevy_registry_export/basic/src/core/relationships/relationships_insert_dependant_components.rs delete mode 100644 examples/bevy_registry_export/basic/src/game/picking.rs delete mode 100644 examples/bevy_registry_export/basic/src/state.rs rename examples/{bevy_gltf_blueprints/multiple_levels => common}/Cargo.toml (70%) rename examples/{bevy_gltf_blueprints/animation => common}/src/assets/assets_core.rs (100%) create mode 100644 examples/common/src/assets/assets_game.rs rename examples/{bevy_gltf_blueprints/animation => common}/src/assets/mod.rs (100%) create mode 100644 examples/common/src/core/audio/mod.rs rename examples/{bevy_gltf_blueprints/basic_scene_components => common}/src/core/camera/camera_replace_proxies.rs (98%) rename examples/{bevy_registry_export/basic => common}/src/core/camera/camera_tracking.rs (98%) rename examples/{bevy_gltf_blueprints/basic_scene_components => common}/src/core/camera/mod.rs (100%) rename examples/{bevy_gltf_blueprints/basic_scene_components => common}/src/core/lighting/lighting_replace_proxies.rs (100%) rename examples/{bevy_gltf_blueprints/basic_scene_components => common}/src/core/lighting/mod.rs (100%) rename examples/{bevy_gltf_components/basic => common}/src/core/mod.rs (85%) rename examples/{bevy_gltf_save_load/basic => common}/src/core/physics/controls.rs (100%) rename examples/{bevy_gltf_blueprints/basic_scene_components => common}/src/core/physics/mod.rs (100%) rename examples/{bevy_gltf_blueprints/animation => common}/src/core/physics/physics_replace_proxies.rs (99%) rename examples/{bevy_gltf_blueprints/animation => common}/src/core/physics/utils.rs (100%) rename examples/{bevy_gltf_blueprints/animation => common}/src/core/relationships/mod.rs (100%) rename examples/{bevy_gltf_blueprints/animation => common}/src/core/relationships/relationships_insert_dependant_components.rs (100%) create mode 100644 examples/common/src/game/interactions/mod.rs create mode 100644 examples/common/src/game/mod.rs rename examples/{bevy_gltf_blueprints/basic_scene_components/src/game/picking.rs => common/src/game/picking/mod.rs} (98%) create mode 100644 examples/common/src/game/player/mod.rs create mode 100644 examples/common/src/lib.rs rename examples/{bevy_gltf_save_load/basic => common}/src/state.rs (100%) diff --git a/Cargo.toml b/Cargo.toml index c2a2ef9..e7397fd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,20 +4,20 @@ members = [ "crates/bevy_gltf_blueprints", "crates/bevy_gltf_save_load", "crates/bevy_registry_export", + + "examples/common/", + "examples/bevy_gltf_components/basic/", - "examples/bevy_gltf_components/basic_wasm/", + "examples/bevy_gltf_blueprints/basic/", - "examples/bevy_gltf_blueprints/basic_wasm/", - "examples/bevy_gltf_blueprints/basic_scene_components/", "examples/bevy_gltf_blueprints/basic_xpbd_physics/", - "examples/bevy_gltf_blueprints/nested_blueprints/", "examples/bevy_gltf_blueprints/animation/", - "examples/bevy_gltf_blueprints/multiple_levels/", "examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles", "examples/bevy_gltf_blueprints/materials/", - "examples/bevy_gltf_save_load/basic/", - "examples/bevy_registry_export/basic" + "examples/bevy_gltf_save_load/basic/", + + "examples/bevy_registry_export/basic" ] resolver = "2" diff --git a/crates/bevy_gltf_blueprints/Cargo.toml b/crates/bevy_gltf_blueprints/Cargo.toml index bee65b1..40d60c9 100644 --- a/crates/bevy_gltf_blueprints/Cargo.toml +++ b/crates/bevy_gltf_blueprints/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bevy_gltf_blueprints" -version = "0.7.0" +version = "0.7.1" authors = ["Mark 'kaosat-dev' Moissette"] description = "Adds the ability to define Blueprints/Prefabs for [Bevy](https://bevyengine.org/) inside gltf files and spawn them in Bevy." homepage = "https://github.com/kaosat-dev/Blender_bevy_components_workflow" diff --git a/crates/bevy_gltf_blueprints/README.md b/crates/bevy_gltf_blueprints/README.md index 59c57c7..a4914ab 100644 --- a/crates/bevy_gltf_blueprints/README.md +++ b/crates/bevy_gltf_blueprints/README.md @@ -332,16 +332,10 @@ https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/example https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/examples/bevy_gltf_blueprints/basic_xpbd_physics -https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/examples/bevy_gltf_blueprints/basic_scene_components - https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/examples/bevy_gltf_blueprints/animation -https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/examples/bevy_gltf_blueprints/multiple_levels - https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/examples/bevy_gltf_blueprints/materials -https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/examples/bevy_gltf_blueprints/nested_blueprints - https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles diff --git a/crates/bevy_gltf_blueprints/src/aabb.rs b/crates/bevy_gltf_blueprints/src/aabb.rs index ab3a21f..7c1c218 100644 --- a/crates/bevy_gltf_blueprints/src/aabb.rs +++ b/crates/bevy_gltf_blueprints/src/aabb.rs @@ -41,7 +41,7 @@ pub fn compute_descendant_aabb( if let Ok(aabb) = existing_aabbs.get(*child) { chilren_aabbs.push(*aabb); } else { - let aabb = compute_descendant_aabb(*child, children, &existing_aabbs); + let aabb = compute_descendant_aabb(*child, children, existing_aabbs); chilren_aabbs.push(aabb); } } @@ -57,5 +57,5 @@ pub fn compute_descendant_aabb( return aabb; } - return Aabb::default(); + Aabb::default() } diff --git a/crates/bevy_gltf_blueprints/src/animation.rs b/crates/bevy_gltf_blueprints/src/animation.rs index d3d8c6c..4a18ec4 100644 --- a/crates/bevy_gltf_blueprints/src/animation.rs +++ b/crates/bevy_gltf_blueprints/src/animation.rs @@ -3,14 +3,14 @@ use bevy::utils::HashMap; #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -/// storage for animations for a given entity (hierarchy), essentially a clone of gltf's named_animations +/// storage for animations for a given entity (hierarchy), essentially a clone of gltf's `named_animations` pub struct Animations { pub named_animations: HashMap>, } #[derive(Component, Debug)] /// Stop gap helper component : this is inserted into a "root" entity (an entity representing a whole gltf file) -/// so that the root entity knows which of its children contains an actualy AnimationPlayer component -/// this is for convenience, because currently , Bevy's gltf parsing inserts AnimationPlayers "one level down" +/// so that the root entity knows which of its children contains an actualy `AnimationPlayer` component +/// this is for convenience, because currently , Bevy's gltf parsing inserts `AnimationPlayers` "one level down" /// ie armature/root for animated models, which means more complex queries to trigger animations that we want to avoid pub struct AnimationPlayerLink(pub Entity); diff --git a/crates/bevy_gltf_blueprints/src/copy_components.rs b/crates/bevy_gltf_blueprints/src/copy_components.rs index bb24170..93feba9 100644 --- a/crates/bevy_gltf_blueprints/src/copy_components.rs +++ b/crates/bevy_gltf_blueprints/src/copy_components.rs @@ -42,7 +42,7 @@ impl CopyComponents { let type_id = component_info.type_id().unwrap(); if self.exclude.contains(&type_id) { debug!("excluding component: {:?}", component_info.name()); - return None; + None } else { debug!( "cloning: component: {:?} {:?}", @@ -51,32 +51,27 @@ impl CopyComponents { ); if let Some(type_registration) = registry.get(type_id) { - return Some(type_registration); - } else { - if self.stringent { - return Some( - registry.get(type_id).expect( - format!( - "cannot clone entity: component: {:?} is not registered", - component_info.name() - ) - .as_str(), - ), - ); - } else { - warn!( - "cannot clone component: component: {:?} is not registered", + Some(type_registration) + } else if self.stringent { + return Some(registry.get(type_id).unwrap_or_else(|| { + panic!( + "cannot clone entity: component: {:?} is not registered", component_info.name() - ); - return None; - } + ) + })); + } else { + warn!( + "cannot clone component: component: {:?} is not registered", + component_info.name() + ); + None } } }) .map(|type_id| { return ( type_id.data::().unwrap().clone(), - type_id.type_info().type_id().clone(), // we need the original type_id down the line + type_id.type_info().type_id(), // we need the original type_id down the line ); }) .collect::>() @@ -104,6 +99,6 @@ impl CopyComponents { // This allows the command to be used in systems impl Command for CopyComponents { fn apply(self, world: &mut World) { - self.transfer_components(world) + self.transfer_components(world); } } diff --git a/crates/bevy_gltf_blueprints/src/lib.rs b/crates/bevy_gltf_blueprints/src/lib.rs index f6bd24b..366f05f 100644 --- a/crates/bevy_gltf_blueprints/src/lib.rs +++ b/crates/bevy_gltf_blueprints/src/lib.rs @@ -113,47 +113,47 @@ fn materials_library_enabled(blueprints_config: Res) -> bool { impl Plugin for BlueprintsPlugin { fn build(&self, app: &mut App) { - app.add_plugins(ComponentsFromGltfPlugin{ - legacy_mode: self.legacy_mode + app.add_plugins(ComponentsFromGltfPlugin { + legacy_mode: self.legacy_mode, }) - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .insert_resource(BluePrintsConfig { - format: self.format.clone(), - library_folder: self.library_folder.clone(), + .register_type::() + .register_type::() + .register_type::() + .register_type::() + .insert_resource(BluePrintsConfig { + format: self.format, + library_folder: self.library_folder.clone(), - aabbs: self.aabbs, - aabb_cache: HashMap::new(), + aabbs: self.aabbs, + aabb_cache: HashMap::new(), - material_library: self.material_library, - material_library_folder: self.material_library_folder.clone(), - material_library_cache: HashMap::new(), - }) - .configure_sets( - Update, - (GltfBlueprintsSet::Spawn, GltfBlueprintsSet::AfterSpawn) - .chain() - .after(GltfComponentsSet::Injection), + material_library: self.material_library, + material_library_folder: self.material_library_folder.clone(), + material_library_cache: HashMap::new(), + }) + .configure_sets( + Update, + (GltfBlueprintsSet::Spawn, GltfBlueprintsSet::AfterSpawn) + .chain() + .after(GltfComponentsSet::Injection), + ) + .add_systems( + Update, + ( + spawn_from_blueprints, + compute_scene_aabbs.run_if(aabbs_enabled), + apply_deferred.run_if(aabbs_enabled), + apply_deferred, + materials_inject.run_if(materials_library_enabled), ) - .add_systems( - Update, - ( - spawn_from_blueprints, - compute_scene_aabbs.run_if(aabbs_enabled), - apply_deferred.run_if(aabbs_enabled), - apply_deferred, - materials_inject.run_if(materials_library_enabled), - ) - .chain() - .in_set(GltfBlueprintsSet::Spawn), - ) - .add_systems( - Update, - (spawned_blueprint_post_process, apply_deferred) - .chain() - .in_set(GltfBlueprintsSet::AfterSpawn), - ); + .chain() + .in_set(GltfBlueprintsSet::Spawn), + ) + .add_systems( + Update, + (spawned_blueprint_post_process, apply_deferred) + .chain() + .in_set(GltfBlueprintsSet::AfterSpawn), + ); } } diff --git a/crates/bevy_gltf_blueprints/src/spawn_from_blueprints.rs b/crates/bevy_gltf_blueprints/src/spawn_from_blueprints.rs index 57ca64b..3701fa5 100644 --- a/crates/bevy_gltf_blueprints/src/spawn_from_blueprints.rs +++ b/crates/bevy_gltf_blueprints/src/spawn_from_blueprints.rs @@ -19,17 +19,17 @@ pub struct BlueprintName(pub String); pub struct SpawnHere; #[derive(Component)] -/// FlagComponent for dynamically spawned scenes +/// flag component for dynamically spawned scenes pub struct Spawned; #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -/// flag component marking any spwaned child of blueprints ..unless the original entity was marked with the 'NoInBlueprint' marker component +/// flag component marking any spwaned child of blueprints ..unless the original entity was marked with the `NoInBlueprint` marker component pub struct InBlueprint; #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -/// flag component preventing any spwaned child of blueprints to be marked with the InBlueprint component +/// flag component preventing any spawned child of blueprints to be marked with the `InBlueprint` component pub struct NoInBlueprint; #[derive(Component, Reflect, Default, Debug)] @@ -112,14 +112,15 @@ pub(crate) fn spawn_from_blueprints( let main_scene_name = gltf .named_scenes .keys() - .nth(0) + .next() .expect("there should be at least one named scene in the gltf file to spawn"); + let scene = &gltf.named_scenes[main_scene_name]; // transforms are optional, but still deal with them correctly let mut transforms: Transform = Transform::default(); if transform.is_some() { - transforms = transform.unwrap().clone(); + transforms = *transform.unwrap(); } commands.entity(entity).insert(( diff --git a/crates/bevy_gltf_blueprints/src/spawn_post_process.rs b/crates/bevy_gltf_blueprints/src/spawn_post_process.rs index 2c3f3fc..2caa625 100644 --- a/crates/bevy_gltf_blueprints/src/spawn_post_process.rs +++ b/crates/bevy_gltf_blueprints/src/spawn_post_process.rs @@ -12,7 +12,7 @@ use crate::{CopyComponents, InBlueprint, NoInBlueprint, OriginalChildren}; /// - it removes one level of useless nesting /// - it copies the blueprint's root components to the entity it was spawned on (original entity) /// - it copies the children of the blueprint scene into the original entity -/// - it add AnimationLink components so that animations can be controlled from the original entity +/// - it add `AnimationLink` components so that animations can be controlled from the original entity /// - it cleans up/ removes a few , by then uneeded components pub(crate) fn spawned_blueprint_post_process( unprocessed_entities: Query< diff --git a/crates/bevy_gltf_components/Cargo.toml b/crates/bevy_gltf_components/Cargo.toml index 0d6c56b..d2f3fad 100644 --- a/crates/bevy_gltf_components/Cargo.toml +++ b/crates/bevy_gltf_components/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bevy_gltf_components" -version = "0.3.0" +version = "0.3.1" authors = ["Mark 'kaosat-dev' Moissette"] description = "Allows you to define [Bevy](https://bevyengine.org/) components direclty inside gltf files and instanciate the components on the Bevy side." homepage = "https://github.com/kaosat-dev/Blender_bevy_components_workflow" diff --git a/crates/bevy_gltf_components/src/gltf_to_components.rs b/crates/bevy_gltf_components/src/gltf_to_components.rs index 8a051f0..11d1826 100644 --- a/crates/bevy_gltf_components/src/gltf_to_components.rs +++ b/crates/bevy_gltf_components/src/gltf_to_components.rs @@ -26,11 +26,11 @@ struct TuppleTestColor(Color); pub struct VecOfColors(Vec); pub fn ronstring_to_reflect_component( - ron_string: &String, + ron_string: &str, type_registry: &TypeRegistry, simplified_types: bool, ) -> Vec> { - let lookup: HashMap = ron::from_str(ron_string.as_str()).unwrap(); + let lookup: HashMap = ron::from_str(ron_string).unwrap(); let mut components: Vec> = Vec::new(); for (key, value) in lookup.into_iter() { let type_string = key.replace("component: ", "").trim().to_string(); @@ -49,70 +49,65 @@ pub fn ronstring_to_reflect_component( { debug!("TYPE INFO {:?}", type_registration.type_info()); if simplified_types { - match type_registration.type_info() { - TypeInfo::TupleStruct(info) => { - // we handle tupple strucs with only one field differently, as Blender's custom properties with custom ui (float, int, bool, etc) always give us a tupple struct - if info.field_len() == 1 { - let field = info - .field_at(0) - .expect("we should always have at least one field here"); - let field_name = field.type_path(); - let mut formated = parsed_value.clone(); - match field_name { - "f32" => { - formated = parsed_value.parse::().unwrap().to_string(); - } - "f64" => { - formated = parsed_value.parse::().unwrap().to_string(); - } - "u8" => { - formated = parsed_value.parse::().unwrap().to_string(); - } - "u16" => { - formated = parsed_value.parse::().unwrap().to_string(); - } - "u32" => { - formated = parsed_value.parse::().unwrap().to_string(); - } - "u64" => { - formated = parsed_value.parse::().unwrap().to_string(); - } - "u128" => { - formated = parsed_value.parse::().unwrap().to_string(); - } - "glam::Vec2" => { - let parsed: Vec = ron::from_str(&parsed_value).unwrap(); - formated = format!("(x:{},y:{})", parsed[0], parsed[1]); - } - "glam::Vec3" => { - let parsed: Vec = ron::from_str(&parsed_value).unwrap(); + if let TypeInfo::TupleStruct(info) = type_registration.type_info() { + // we handle tupple strucs with only one field differently, as Blender's custom properties with custom ui (float, int, bool, etc) always give us a tupple struct + if info.field_len() == 1 { + let field = info + .field_at(0) + .expect("we should always have at least one field here"); + let field_name = field.type_path(); + let mut formated = parsed_value.clone(); + match field_name { + "f32" => { + formated = parsed_value.parse::().unwrap().to_string(); + } + "f64" => { + formated = parsed_value.parse::().unwrap().to_string(); + } + "u8" => { + formated = parsed_value.parse::().unwrap().to_string(); + } + "u16" => { + formated = parsed_value.parse::().unwrap().to_string(); + } + "u32" => { + formated = parsed_value.parse::().unwrap().to_string(); + } + "u64" => { + formated = parsed_value.parse::().unwrap().to_string(); + } + "u128" => { + formated = parsed_value.parse::().unwrap().to_string(); + } + "glam::Vec2" => { + let parsed: Vec = ron::from_str(&parsed_value).unwrap(); + formated = format!("(x:{},y:{})", parsed[0], parsed[1]); + } + "glam::Vec3" => { + let parsed: Vec = ron::from_str(&parsed_value).unwrap(); + formated = + format!("(x:{},y:{},z:{})", parsed[0], parsed[1], parsed[2]); + } + "bevy_render::color::Color" => { + let parsed: Vec = ron::from_str(&parsed_value).unwrap(); + if parsed.len() == 3 { formated = format!( - "(x:{},y:{},z:{})", + "Rgba(red:{},green:{},blue:{}, alpha: 1.0)", parsed[0], parsed[1], parsed[2] ); } - "bevy_render::color::Color" => { - let parsed: Vec = ron::from_str(&parsed_value).unwrap(); - if parsed.len() == 3 { - formated = format!( - "Rgba(red:{},green:{},blue:{}, alpha: 1.0)", - parsed[0], parsed[1], parsed[2] - ); - } - if parsed.len() == 4 { - formated = format!( - "Rgba(red:{},green:{},blue:{}, alpha:{})", - parsed[0], parsed[1], parsed[2], parsed[3] - ); - } + if parsed.len() == 4 { + formated = format!( + "Rgba(red:{},green:{},blue:{}, alpha:{})", + parsed[0], parsed[1], parsed[2], parsed[3] + ); } - _ => {} } - - parsed_value = format!("({formated})"); + _ => {} } + + parsed_value = format!("({formated})"); } - _ => {} } } @@ -137,13 +132,14 @@ pub fn ronstring_to_reflect_component( debug!("component data ron string {}", ron_string); let mut deserializer = ron::Deserializer::from_str(ron_string.as_str()).unwrap(); let reflect_deserializer = UntypedReflectDeserializer::new(type_registry); - let component = reflect_deserializer.deserialize(&mut deserializer).expect( - format!( - "failed to deserialize component {} with value: {:?}", - key, value - ) - .as_str(), - ); + let component = reflect_deserializer + .deserialize(&mut deserializer) + .unwrap_or_else(|_| { + panic!( + "failed to deserialize component {} with value: {:?}", + key, value + ) + }); debug!("component {:?}", component); debug!("real type {:?}", component.get_represented_type_info()); @@ -157,12 +153,12 @@ pub fn ronstring_to_reflect_component( components } -/// main function: injects components into each entity in gltf files that have gltf_extras, using reflection +/// main function: injects components into each entity in gltf files that have `gltf_extras`, using reflection pub fn gltf_extras_to_components( gltf: &mut Gltf, scenes: &mut ResMut>, type_registry: impl Deref, - legacy_mode: bool + legacy_mode: bool, ) { let mut added_components = 0; let simplified_types = legacy_mode; diff --git a/crates/bevy_gltf_components/src/lib.rs b/crates/bevy_gltf_components/src/lib.rs index aaa312f..3c20a5a 100644 --- a/crates/bevy_gltf_components/src/lib.rs +++ b/crates/bevy_gltf_components/src/lib.rs @@ -7,7 +7,10 @@ pub use gltf_to_components::*; pub mod process_gltfs; pub use process_gltfs::*; -use bevy::{ecs::system::Resource, prelude::{App, IntoSystemConfigs, Plugin, SystemSet, Update}}; +use bevy::{ + ecs::system::Resource, + prelude::{App, IntoSystemConfigs, Plugin, SystemSet, Update}, +}; /// A Bevy plugin for extracting components from gltf files and automatically adding them to the relevant entities /// It will automatically run every time you load a gltf file @@ -54,14 +57,12 @@ pub struct GltfComponentsConfig { } pub struct ComponentsFromGltfPlugin { - pub legacy_mode: bool + pub legacy_mode: bool, } impl Default for ComponentsFromGltfPlugin { fn default() -> Self { - Self { - legacy_mode: true - } + Self { legacy_mode: true } } } @@ -69,7 +70,7 @@ impl Plugin for ComponentsFromGltfPlugin { fn build(&self, app: &mut App) { app.insert_resource(GltfLoadingTracker::new()) .insert_resource(GltfComponentsConfig { - legacy_mode: self.legacy_mode + legacy_mode: self.legacy_mode, }) .add_systems(Update, (track_new_gltf, process_loaded_scenes)) .add_systems( diff --git a/crates/bevy_gltf_components/src/process_gltfs.rs b/crates/bevy_gltf_components/src/process_gltfs.rs index 18e26af..d04bd97 100644 --- a/crates/bevy_gltf_components/src/process_gltfs.rs +++ b/crates/bevy_gltf_components/src/process_gltfs.rs @@ -1,8 +1,8 @@ -use std::path::Path; use bevy::asset::AssetPath; use bevy::gltf::Gltf; use bevy::utils::HashSet; use bevy::{asset::LoadState, prelude::*}; +use std::path::Path; use crate::{gltf_extras_to_components, GltfComponentsConfig}; @@ -12,6 +12,11 @@ pub struct GltfLoadingTracker { pub loading_gltfs: HashSet>, pub processed_gltfs: HashSet, } +impl Default for GltfLoadingTracker { + fn default() -> Self { + Self::new() + } +} impl GltfLoadingTracker { pub fn new() -> GltfLoadingTracker { @@ -32,17 +37,18 @@ pub fn track_new_gltf( ) { for event in events.read() { if let AssetEvent::Added { id } = event { - let handle = asset_server.get_id_handle(*id); if let Some(handle) = handle { tracker.add_gltf(handle.clone()); debug!("gltf created {:?}", handle); } else { - let asset_path = asset_server.get_path(*id).unwrap_or(AssetPath::from_path(Path::new("n/a".into()))); // will unfortunatly not work, will do a PR/ discussion at the Bevy level, leaving for reference, would be very practical + let asset_path = asset_server + .get_path(*id) + .unwrap_or(AssetPath::from_path(Path::new("n/a"))); // will unfortunatly not work, will do a PR/ discussion at the Bevy level, leaving for reference, would be very practical warn!( "a gltf file ({:?}) has no handle available, cannot inject components", asset_path - ) + ); } } } @@ -76,7 +82,12 @@ pub fn process_loaded_scenes( for gltf_handle in &loaded_gltfs { if let Some(gltf) = gltfs.get_mut(gltf_handle) { - gltf_extras_to_components(gltf, &mut scenes, &*type_registry, gltf_components_config.legacy_mode); + gltf_extras_to_components( + gltf, + &mut scenes, + &*type_registry, + gltf_components_config.legacy_mode, + ); if let Some(path) = gltf_handle.path() { tracker.processed_gltfs.insert(path.to_string()); diff --git a/crates/bevy_gltf_save_load/Cargo.toml b/crates/bevy_gltf_save_load/Cargo.toml index 659726e..23800fb 100644 --- a/crates/bevy_gltf_save_load/Cargo.toml +++ b/crates/bevy_gltf_save_load/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bevy_gltf_save_load" -version = "0.2.0" +version = "0.2.1" authors = ["Mark 'kaosat-dev' Moissette"] description = "Save & load your bevy games" homepage = "https://github.com/kaosat-dev/Blender_bevy_components_workflow" diff --git a/crates/bevy_gltf_save_load/src/loading.rs b/crates/bevy_gltf_save_load/src/loading.rs index 9342ecf..7410eca 100644 --- a/crates/bevy_gltf_save_load/src/loading.rs +++ b/crates/bevy_gltf_save_load/src/loading.rs @@ -24,18 +24,18 @@ pub(crate) struct LoadFirstStageDone; #[reflect(Component)] pub(crate) struct CleanupScene; -/// helper system that "converts" loadRequest events to LoadRequested resources +/// helper system that "converts" loadRequest events to `LoadRequested` resources pub(crate) fn mark_load_requested( mut load_requests: EventReader, mut commands: Commands, ) { let mut save_path: String = "".into(); for load_request in load_requests.read() { - if load_request.path != "" { + if !load_request.path.is_empty() { save_path = load_request.path.clone(); } } - if save_path != "" { + if !save_path.is_empty() { commands.insert_resource(LoadRequested { path: save_path }); } } @@ -111,7 +111,7 @@ pub(crate) fn load_static( )) .id(); - if info.library_path != "" { + if !info.library_path.is_empty() { commands .entity(static_data) .insert(Library(info.library_path.clone().into())); diff --git a/crates/bevy_gltf_save_load/src/saving.rs b/crates/bevy_gltf_save_load/src/saving.rs index 51aeb0c..b702ae8 100644 --- a/crates/bevy_gltf_save_load/src/saving.rs +++ b/crates/bevy_gltf_save_load/src/saving.rs @@ -17,7 +17,7 @@ pub struct SaveRequest { pub struct SavingFinished; pub fn should_save(save_requests: EventReader) -> bool { - return save_requests.len() > 0; + !save_requests.is_empty() } #[derive(Resource, Clone, Debug, Default, Reflect)] @@ -65,9 +65,7 @@ pub(crate) fn prepare_save_game( } } for (_, blueprint_name, library) in static_entities.iter() { - let library_path: String = library - .map_or_else(|| "", |l| &l.0.to_str().unwrap()) - .into(); + let library_path: String = library.map_or_else(|| "", |l| l.0.to_str().unwrap()).into(); commands.insert_resource(StaticEntitiesStorage { name: blueprint_name.0.clone(), library_path, diff --git a/crates/bevy_registry_export/Cargo.toml b/crates/bevy_registry_export/Cargo.toml index 3aa0228..5cee292 100644 --- a/crates/bevy_registry_export/Cargo.toml +++ b/crates/bevy_registry_export/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "bevy_registry_export" -version = "0.1.0" -authors = ["Mark 'kaosat-dev' Moissette"] +version = "0.1.1" +authors = ["Mark 'kaosat-dev' Moissette", "Pascal 'Killercup' Hertleif"] description = "Allows you to define [Bevy](https://bevyengine.org/) components direclty inside gltf files and instanciate the components on the Bevy side." homepage = "https://github.com/kaosat-dev/Blender_bevy_components_workflow" repository = "https://github.com/kaosat-dev/Blender_bevy_components_workflow" diff --git a/crates/bevy_registry_export/src/export_types.rs b/crates/bevy_registry_export/src/export_types.rs index 06c0573..cb0872d 100644 --- a/crates/bevy_registry_export/src/export_types.rs +++ b/crates/bevy_registry_export/src/export_types.rs @@ -15,8 +15,7 @@ pub fn export_types(world: &mut World) { .get_resource::() .expect("ExportComponentsConfig should exist at this stage"); - let writer = - File::create(config.save_path.to_path_buf()).expect("should have created schema file"); + let writer = File::create(&config.save_path).expect("should have created schema file"); let types = world.resource_mut::(); let types = types.read(); diff --git a/examples/bevy_gltf_blueprints/animation/Cargo.toml b/examples/bevy_gltf_blueprints/animation/Cargo.toml index 23edf5e..ee87ff2 100644 --- a/examples/bevy_gltf_blueprints/animation/Cargo.toml +++ b/examples/bevy_gltf_blueprints/animation/Cargo.toml @@ -7,6 +7,8 @@ license = "MIT OR Apache-2.0" [dependencies] bevy="0.12" bevy_gltf_blueprints = { path = "../../../crates/bevy_gltf_blueprints" } +bevy_gltf_worlflow_examples_common = { path = "../../common" } + bevy_rapier3d = { version = "0.23.0", features = [ "serde-serialize", "debug-render-3d", "enhanced-determinism"] } bevy_asset_loader = { version = "0.18", features = ["standard_dynamic_assets" ]} bevy_editor_pls = { version = "0.6" } diff --git a/examples/bevy_gltf_blueprints/animation/src/assets/assets_game.rs b/examples/bevy_gltf_blueprints/animation/src/assets/assets_game.rs deleted file mode 100644 index b8e0665..0000000 --- a/examples/bevy_gltf_blueprints/animation/src/assets/assets_game.rs +++ /dev/null @@ -1,13 +0,0 @@ -use bevy::gltf::Gltf; -use bevy::prelude::*; -use bevy::utils::HashMap; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct GameAssets { - #[asset(key = "world")] - pub world: Handle, - - #[asset(key = "models", collection(typed, mapped))] - pub models: HashMap>, -} diff --git a/examples/bevy_gltf_blueprints/animation/src/core/camera/camera_replace_proxies.rs b/examples/bevy_gltf_blueprints/animation/src/core/camera/camera_replace_proxies.rs deleted file mode 100644 index 9055c95..0000000 --- a/examples/bevy_gltf_blueprints/animation/src/core/camera/camera_replace_proxies.rs +++ /dev/null @@ -1,24 +0,0 @@ -use bevy::core_pipeline::bloom::{BloomCompositeMode, BloomSettings}; -use bevy::core_pipeline::tonemapping::{DebandDither, Tonemapping}; -use bevy::prelude::*; - -use super::CameraTrackingOffset; - -pub fn camera_replace_proxies( - mut commands: Commands, - mut added_cameras: Query<(Entity, &mut Camera), (Added, With)>, -) { - for (entity, mut camera) in added_cameras.iter_mut() { - info!("detected added camera, updating proxy"); - camera.hdr = true; - commands - .entity(entity) - .insert(DebandDither::Enabled) - .insert(Tonemapping::BlenderFilmic) - .insert(BloomSettings { - intensity: 0.01, - composite_mode: BloomCompositeMode::Additive, - ..default() - }); - } -} diff --git a/examples/bevy_gltf_blueprints/animation/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_blueprints/animation/src/core/camera/camera_tracking.rs deleted file mode 100644 index 62da84d..0000000 --- a/examples/bevy_gltf_blueprints/animation/src/core/camera/camera_tracking.rs +++ /dev/null @@ -1,58 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Debug)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -/// -pub struct CameraTracking { - pub offset: Vec3, -} -impl Default for CameraTracking { - fn default() -> Self { - CameraTracking { - offset: Vec3::new(0.0, 6.0, 8.0), - } - } -} - -#[derive(Component, Reflect, Debug, Deref, DerefMut)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -pub struct CameraTrackingOffset(Vec3); -impl Default for CameraTrackingOffset { - fn default() -> Self { - CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) - } -} - -impl CameraTrackingOffset { - fn new(input: Vec3) -> Self { - CameraTrackingOffset(input) - } -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Add this component to an entity if you want it to be tracked by a Camera -pub struct CameraTrackable; - -pub fn camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, With>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - let target_position = tracked_transform.translation + tracking_offset.0; - let eased_position = camera_transform.translation.lerp(target_position, 0.1); - camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} diff --git a/examples/bevy_gltf_blueprints/animation/src/core/camera/mod.rs b/examples/bevy_gltf_blueprints/animation/src/core/camera/mod.rs deleted file mode 100644 index a6bbb65..0000000 --- a/examples/bevy_gltf_blueprints/animation/src/core/camera/mod.rs +++ /dev/null @@ -1,24 +0,0 @@ -pub mod camera_tracking; -pub use camera_tracking::*; - -pub mod camera_replace_proxies; -pub use camera_replace_proxies::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -pub struct CameraPlugin; -impl Plugin for CameraPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .add_systems( - Update, - ( - camera_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - camera_track, - ), - ); - } -} diff --git a/examples/bevy_gltf_blueprints/animation/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_gltf_blueprints/animation/src/core/lighting/lighting_replace_proxies.rs deleted file mode 100644 index 48c0908..0000000 --- a/examples/bevy_gltf_blueprints/animation/src/core/lighting/lighting_replace_proxies.rs +++ /dev/null @@ -1,25 +0,0 @@ -use bevy::prelude::*; - -use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; - -// fixme might be too specific to might needs, should it be moved out ? also these are all for lights, not models -pub fn lighting_replace_proxies( - mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, - mut added_spotlights: Query<&mut SpotLight, Added>, - mut commands: Commands, -) { - for (entity, mut light) in added_dirights.iter_mut() { - light.illuminance *= 5.0; - light.shadows_enabled = true; - let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { - first_cascade_far_bound: 15.0, - maximum_distance: 135.0, - ..default() - } - .into(); - commands.entity(entity).insert(shadow_config); - } - for mut light in added_spotlights.iter_mut() { - light.shadows_enabled = true; - } -} diff --git a/examples/bevy_gltf_blueprints/animation/src/core/lighting/mod.rs b/examples/bevy_gltf_blueprints/animation/src/core/lighting/mod.rs deleted file mode 100644 index c9688cd..0000000 --- a/examples/bevy_gltf_blueprints/animation/src/core/lighting/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod lighting_replace_proxies; -use lighting_replace_proxies::*; - -use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; -use bevy::prelude::*; - -pub struct LightingPlugin; -impl Plugin for LightingPlugin { - fn build(&self, app: &mut App) { - app - .insert_resource(DirectionalLightShadowMap { size: 4096 }) - // FIXME: adding these since they are missing - .register_type::() - - .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely - ; - } -} diff --git a/examples/bevy_gltf_blueprints/animation/src/core/mod.rs b/examples/bevy_gltf_blueprints/animation/src/core/mod.rs index 3271ad4..6db036e 100644 --- a/examples/bevy_gltf_blueprints/animation/src/core/mod.rs +++ b/examples/bevy_gltf_blueprints/animation/src/core/mod.rs @@ -1,29 +1,14 @@ -pub mod camera; -pub use camera::*; - -pub mod lighting; -pub use lighting::*; - -pub mod relationships; -pub use relationships::*; - -pub mod physics; -pub use physics::*; - use bevy::prelude::*; use bevy_gltf_blueprints::*; pub struct CorePlugin; impl Plugin for CorePlugin { fn build(&self, app: &mut App) { - app.add_plugins(( - LightingPlugin, - CameraPlugin, - PhysicsPlugin, - BlueprintsPlugin { - library_folder: "models/library".into(), - ..Default::default() - }, - )); + app.add_plugins((BlueprintsPlugin { + library_folder: "models/library".into(), + format: GltfFormat::GLB, + aabbs: true, + ..Default::default() + },)); } } diff --git a/examples/bevy_gltf_blueprints/animation/src/core/physics/controls.rs b/examples/bevy_gltf_blueprints/animation/src/core/physics/controls.rs deleted file mode 100644 index 9ff42c9..0000000 --- a/examples/bevy_gltf_blueprints/animation/src/core/physics/controls.rs +++ /dev/null @@ -1,12 +0,0 @@ -use bevy::prelude::{info, ResMut}; -use bevy_rapier3d::prelude::RapierConfiguration; - -pub fn pause_physics(mut physics_config: ResMut) { - info!("pausing physics"); - physics_config.physics_pipeline_active = false; -} - -pub fn resume_physics(mut physics_config: ResMut) { - info!("unpausing physics"); - physics_config.physics_pipeline_active = true; -} diff --git a/examples/bevy_gltf_blueprints/animation/src/core/physics/mod.rs b/examples/bevy_gltf_blueprints/animation/src/core/physics/mod.rs deleted file mode 100644 index cd7d523..0000000 --- a/examples/bevy_gltf_blueprints/animation/src/core/physics/mod.rs +++ /dev/null @@ -1,37 +0,0 @@ -pub mod physics_replace_proxies; -use bevy_rapier3d::{ - prelude::{NoUserData, RapierPhysicsPlugin}, - render::RapierDebugRenderPlugin, -}; -pub use physics_replace_proxies::*; - -pub mod utils; - -pub mod controls; -pub use controls::*; - -use crate::state::GameState; -use bevy::prelude::*; -// use super::blueprints::GltfBlueprintsSet; -use bevy_gltf_blueprints::GltfBlueprintsSet; -// use crate::Collider; -pub struct PhysicsPlugin; -impl Plugin for PhysicsPlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - RapierPhysicsPlugin::::default(), - RapierDebugRenderPlugin::default(), - )) - .register_type::() - .register_type::() - // find a way to make serde's stuff serializable - // .register_type::() - //bevy_rapier3d::dynamics::CoefficientCombineRule - .add_systems( - Update, - physics_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - ) - .add_systems(OnEnter(GameState::InGame), resume_physics) - .add_systems(OnExit(GameState::InGame), pause_physics); - } -} diff --git a/examples/bevy_gltf_blueprints/animation/src/core/physics/utils_old.rs b/examples/bevy_gltf_blueprints/animation/src/core/physics/utils_old.rs deleted file mode 100644 index c210dd3..0000000 --- a/examples/bevy_gltf_blueprints/animation/src/core/physics/utils_old.rs +++ /dev/null @@ -1,75 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/6e31fc02652fc9d085a4adde0a73ab007dbbb0dc/src/util/trait_extension.rs - -pub trait Vec3Ext { - #[allow(clippy::wrong_self_convention)] // Because [`Vec3`] is [`Copy`] - fn is_approx_zero(self) -> bool; - fn x0z(self) -> Vec3; -} -impl Vec3Ext for Vec3 { - fn is_approx_zero(self) -> bool { - [self.x, self.y, self.z].iter().all(|&x| x.abs() < 1e-5) - } - fn x0z(self) -> Vec3 { - Vec3::new(self.x, 0., self.z) - } -} - -pub trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - children: &'a Children, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> (Entity, &'a Mesh); -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for attribute in [Mesh::ATTRIBUTE_POSITION, Mesh::ATTRIBUTE_NORMAL] { - for coords in self.read_coords_mut(attribute.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - match self.attribute_mut(id).unwrap() { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - children: &'a Children, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> (Entity, &'a Mesh) { - let entity_handles: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .collect(); - assert_eq!( - entity_handles.len(), - 1, - "Collider must contain exactly one mesh, but found {}", - entity_handles.len() - ); - let (entity, mesh_handle) = entity_handles.first().unwrap(); - let mesh = meshes.get(mesh_handle).unwrap(); - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (*entity, mesh) - } -} diff --git a/examples/bevy_gltf_blueprints/animation/src/game/in_game.rs b/examples/bevy_gltf_blueprints/animation/src/game/in_game.rs index f29efcf..d8651fa 100644 --- a/examples/bevy_gltf_blueprints/animation/src/game/in_game.rs +++ b/examples/bevy_gltf_blueprints/animation/src/game/in_game.rs @@ -1,18 +1,15 @@ +use bevy_gltf_worlflow_examples_common::{assets::GameAssets, GameState, InAppRunning, Player}; use bevy_rapier3d::prelude::Velocity; use rand::Rng; use std::time::Duration; use bevy::prelude::*; -use crate::{ - assets::GameAssets, - state::{GameState, InAppRunning}, -}; use bevy_gltf_blueprints::{ AnimationPlayerLink, Animations, BluePrintBundle, BlueprintName, GameWorldTag, }; -use super::{Fox, Player, Robot}; +use super::{Fox, Robot}; pub fn setup_game( mut commands: Commands, @@ -103,9 +100,9 @@ pub fn animation_change_on_proximity_foxes( let mut anim_name = "Walk"; if distance < 8.5 { anim_name = "Run"; - } else if distance >= 8.5 && distance < 10.0 { + } else if (8.5..10.0).contains(&distance) { anim_name = "Walk"; - } else if distance >= 10.0 && distance < 15.0 { + } else if (10.0..15.0).contains(&distance) { anim_name = "Survey"; } // now play the animation based on the chosen animation name @@ -140,9 +137,9 @@ pub fn animation_change_on_proximity_robots( let mut anim_name = "Idle"; if distance < 8.5 { anim_name = "Jump"; - } else if distance >= 8.5 && distance < 10.0 { + } else if (8.5..10.0).contains(&distance) { anim_name = "Scan"; - } else if distance >= 10.0 && distance < 15.0 { + } else if (10.0..15.0).contains(&distance) { anim_name = "Idle"; } diff --git a/examples/bevy_gltf_blueprints/animation/src/game/in_main_menu.rs b/examples/bevy_gltf_blueprints/animation/src/game/in_main_menu.rs index 0420be5..749eb36 100644 --- a/examples/bevy_gltf_blueprints/animation/src/game/in_main_menu.rs +++ b/examples/bevy_gltf_blueprints/animation/src/game/in_main_menu.rs @@ -1,6 +1,5 @@ use bevy::prelude::*; - -use crate::state::{AppState, GameState, InMainMenu}; +use bevy_gltf_worlflow_examples_common::{AppState, InMainMenu}; pub fn setup_main_menu(mut commands: Commands) { commands.spawn((Camera2dBundle::default(), InMainMenu)); diff --git a/examples/bevy_gltf_blueprints/animation/src/game/mod.rs b/examples/bevy_gltf_blueprints/animation/src/game/mod.rs index 69a5ae4..bb44b89 100644 --- a/examples/bevy_gltf_blueprints/animation/src/game/mod.rs +++ b/examples/bevy_gltf_blueprints/animation/src/game/mod.rs @@ -4,44 +4,8 @@ pub use in_game::*; pub mod in_main_menu; pub use in_main_menu::*; -pub mod picking; -pub use picking::*; - -use crate::{ - insert_dependant_component, - state::{AppState, GameState}, -}; use bevy::prelude::*; -use bevy_rapier3d::prelude::*; - -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; +use bevy_gltf_worlflow_examples_common::{AppState, GameState}; #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] @@ -53,66 +17,14 @@ pub struct Fox; /// Demo marker component pub struct Robot; -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} - -// collision tests/debug -pub fn test_collision_events( - mut collision_events: EventReader, - mut contact_force_events: EventReader, -) { - for collision_event in collision_events.iter() { - println!("collision"); - match collision_event { - CollisionEvent::Started(_entity1, _entity2, _) => { - println!("collision started") - } - CollisionEvent::Stopped(_entity1, _entity2, _) => { - println!("collision ended") - } - } - } - - for contact_force_event in contact_force_events.iter() { - println!("Received contact force event: {:?}", contact_force_event); - } -} - pub struct GamePlugin; impl Plugin for GamePlugin { fn build(&self, app: &mut App) { - app.add_plugins(PickingPlugin) - .register_type::() - .register_type::() - .register_type::() - .register_type::() + app.register_type::() .register_type::() - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) .add_systems( Update, ( - player_move_demo, spawn_test, animation_control, animation_change_on_proximity_foxes, diff --git a/examples/bevy_gltf_blueprints/animation/src/game/picking.rs b/examples/bevy_gltf_blueprints/animation/src/game/picking.rs deleted file mode 100644 index 23988c8..0000000 --- a/examples/bevy_gltf_blueprints/animation/src/game/picking.rs +++ /dev/null @@ -1,37 +0,0 @@ -use super::Player; -use bevy::prelude::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct Pickable; - -// very simple, crude picking (as in picking up objects) implementation - -pub fn picking( - players: Query<&GlobalTransform, With>, - pickables: Query<(Entity, &GlobalTransform), With>, - mut commands: Commands, -) { - for player_transforms in players.iter() { - for (pickable, pickable_transforms) in pickables.iter() { - let distance = player_transforms - .translation() - .distance(pickable_transforms.translation()); - if distance < 2.5 { - commands.entity(pickable).despawn_recursive(); - } - } - } -} - -pub struct PickingPlugin; -impl Plugin for PickingPlugin { - fn build(&self, app: &mut App) { - app.register_type::().add_systems( - Update, - ( - picking, //.run_if(in_state(AppState::Running)), - ), - ); - } -} diff --git a/examples/bevy_gltf_blueprints/animation/src/main.rs b/examples/bevy_gltf_blueprints/animation/src/main.rs index 6edba33..8fca426 100644 --- a/examples/bevy_gltf_blueprints/animation/src/main.rs +++ b/examples/bevy_gltf_blueprints/animation/src/main.rs @@ -1,15 +1,10 @@ use bevy::prelude::*; use bevy_editor_pls::prelude::*; +use bevy_gltf_worlflow_examples_common::CommonPlugin; mod core; use crate::core::*; -pub mod assets; -use assets::*; - -pub mod state; -use state::*; - mod game; use game::*; @@ -23,8 +18,7 @@ fn main() { // editor EditorPlugin::default(), // our custom plugins - StatePlugin, - AssetsPlugin, + CommonPlugin, CorePlugin, // reusable plugins GamePlugin, // specific to our game ComponentsTestPlugin, // Showcases different type of components /structs diff --git a/examples/bevy_gltf_blueprints/animation/src/test_components.rs b/examples/bevy_gltf_blueprints/animation/src/test_components.rs index d0e6fbd..b5384e2 100644 --- a/examples/bevy_gltf_blueprints/animation/src/test_components.rs +++ b/examples/bevy_gltf_blueprints/animation/src/test_components.rs @@ -6,39 +6,39 @@ struct UnitTest; #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestF32(f32); +struct TupleTestF32(f32); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestU64(u64); +struct TupleTestU64(u64); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -pub struct TuppleTestStr(String); +pub struct TupleTestStr(String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTest2(f32, u64, String); +struct TupleTest2(f32, u64, String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestBool(bool); +struct TupleTestBool(bool); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec2(Vec2); +struct TupleVec2(Vec2); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec3(Vec3); +struct TupleVec3(Vec3); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec(Vec); +struct TupleVec(Vec); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestColor(Color); +struct TupleTestColor(Color); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] @@ -65,16 +65,16 @@ 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::() + .register_type::() .register_type::>(); } } diff --git a/examples/bevy_gltf_blueprints/basic/Cargo.toml b/examples/bevy_gltf_blueprints/basic/Cargo.toml index 1e902c0..9b83cc8 100644 --- a/examples/bevy_gltf_blueprints/basic/Cargo.toml +++ b/examples/bevy_gltf_blueprints/basic/Cargo.toml @@ -7,6 +7,8 @@ license = "MIT OR Apache-2.0" [dependencies] bevy="0.12" bevy_gltf_blueprints = { path = "../../../crates/bevy_gltf_blueprints" } +bevy_gltf_worlflow_examples_common = { path = "../../common" } + bevy_rapier3d = { version = "0.23.0", features = [ "serde-serialize", "debug-render-3d", "enhanced-determinism"] } bevy_asset_loader = { version = "0.18", features = ["standard_dynamic_assets" ]} bevy_editor_pls = { version = "0.6" } diff --git a/examples/bevy_gltf_blueprints/basic/README.md b/examples/bevy_gltf_blueprints/basic/README.md index 748e517..c61406e 100644 --- a/examples/bevy_gltf_blueprints/basic/README.md +++ b/examples/bevy_gltf_blueprints/basic/README.md @@ -15,9 +15,39 @@ It also allows you to setup 'blueprints' in Blender by using collections (the re ``` cargo run --features bevy/dynamic_linking + ``` -### Additional notes +## Wasm instructions + +### Setup + +as per the bevy documentation: + +```shell +rustup target add wasm32-unknown-unknown +cargo install wasm-bindgen-cli +``` + + +### Building this example + +navigate to the current folder , and then + +```shell +cargo build --release --target wasm32-unknown-unknown --target-dir ./target +wasm-bindgen --out-name wasm_example \ + --out-dir ./target/wasm \ + --target web target/wasm32-unknown-unknown/release/bevy_gltf_blueprints_basic_wasm_example.wasm + +``` + +### Running this example + +run a web server in the current folder, and navigate to the page, you should see the example in your browser + + +## Additional notes * You usually define either the Components directly or use ```Proxy components``` that get replaced in Bevy systems with the actual Components that you want (usually when for some reason, ie external crates with unregistered components etc) you cannot use the components directly. * this example contains code for future features, not finished yet ! please disregard anything related to saving & loading diff --git a/examples/bevy_gltf_blueprints/basic/TODO.md b/examples/bevy_gltf_blueprints/basic/TODO.md deleted file mode 100644 index 5958ba1..0000000 --- a/examples/bevy_gltf_blueprints/basic/TODO.md +++ /dev/null @@ -1,53 +0,0 @@ -- [x] seperate "spawn velocity" into a seperate (optional) component -- [x] try dynamically spawned entities with save & load -- [ ] fix issues with multiple entites having the same name ?? -- [ ] fix issues with system ordering - - [x] add sets for proxy-replacements -- [x] annoying camera movement : camera should be saveable as well - => we need to be able to only save the camera position (and name) -- [ ] only spawn "new level" stuff when transitioning from menu to game ? - - [ ] put more thoughts into this - -- [ ] rework how save-loading is triggered - - [ ] no hardcoded keypresses - - [ ] ability to choose what save to load ? - - [ ] take a look at bevy_moonshine_save - - [ ] move to system pipelines - -- [x] split Blueprints into a seperate crate: perhaps bevy_gltf_blueprints - - [x] how to deal with states that are not defined as part of the plugin/crate ? - - [x] same issue for the assets - -- [x] support multiple main scenes in the blender plugin ? -- [ ] study possibilities of expanding the bevy & blender tooling side to define UIS - - likely using the blender data only as a placeholder/ directly replace in Python - -- system ordering ? - load level => inject components => spawn blueprint entities/rehydrate => (loading) => replace proxies - OR - load level => inject components => (loading) => spawn blueprint entities/rehydrate => replace proxies - -- perhaps it does make more sense to save ALL entities and not just the dynamic ones? mostly as we have the blueprints anyway, which should cut down on needed data ? - - -- different approaches for dealing with saving/loading - in particular the problem of entites that are defined as part of the level but can be despawned (items that get picked up etc) - - Bevy side - * var 1 : spawn all entities completely, despawn those saveables that are not actually present in the save data but that have been spawned - * problems: needs correct ordering of systems otherwise the diffing above will not work - * pros: minimal save files, only bevy boilerplate - * cons: requires spawning potentially huge gltf files just to "peek" inside of them to know if they are saveable - - - * var 2 : save both saveables & unsaveables but only save the absolute minimal data for unsaveables - * problems: how to combine different filters into a single save file ? - * pros: easier diffing, more homogeneous handling - * cons: a lot bigger save file with mostly useless data - - Blender side - - * var 3 => CHOSEN OPTION : mark INSTANCES in advance as static/dynamic (ie saveable or not), thus this data would be present in the world/level and not inside the gltf data - * problems: would require adding custom properties to each instance in Blender (COULD be automated by 'peeking' inside the collection) - * pros: simpler, and this might be more "editor-like" where you would mark each item as static or not - * cons: potentially a lot of manual work / error prone \ No newline at end of file diff --git a/examples/bevy_gltf_blueprints/basic/assets/advanced.blend b/examples/bevy_gltf_blueprints/basic/assets/advanced.blend deleted file mode 100644 index 3f711e34be477c0cb15ce041b85237d8e6dff84e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1341432 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

Q^_0V3GZ)?% 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 z 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

B*tSDf)SS09|P)$f3~brE`QW5zm4uo*e>jL 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%0D@lo>NCKfH%(TZ?eW; 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Ċ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�U7*P6Y)`}LH`dQ3SRflb7DFJopizmEdW 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 diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/assets/nested.blend b/examples/bevy_gltf_blueprints/basic/assets/basic.blend similarity index 58% rename from examples/bevy_gltf_blueprints/nested_blueprints/assets/nested.blend rename to examples/bevy_gltf_blueprints/basic/assets/basic.blend index 17d66ddf47eb8e99117b3a77733f502f9a4fb22e..d92ce80c1b3c992d97a76e7c967bc6282057ea30 100644 GIT binary patch literal 1487244 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

|MS+*>^No1 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

d7<8gYs@UA($ zE!buSH;*^$+X(OZXNz|&;)T7xNWPb8{=BLMef>j~ET!{?Szp!c)rR@;@M4+H@j8z@ zUelE~Gr4%q0?q=?0$y}HJMRnMV1B&8_k?wfN$s+F)&HLGP&KM~ug{IgylKv7SDqgi z>P2e{cs@Kz2kDztdYd=A9o$zR>dl>5M#)%$>&kxh!Fh(>^~QT;Rr`WXpV4bNPVg z$6?>x(%G_J#hoxc!n_5Ph~SHofKmI&I04z0#m$cl*CdlNlnTHbTM6-U+nWGofo?Kk~D(#e9h&9=zBu8Z|-r) zcMFe826`^>W*uATsH!N<>8eFB1NQS(f?Bza>MZ{~J7-*ylo6<`V(7*t>2V0zNVSiC z4;wnyS-@GqSs;%El5vSQSst}&*2(f+yL}xO)kF0z{dxWQk}UZOcU{)=W?X{3P4ew? zl5hXT+I!RE613ZTf0Q~8$)1+L!*um=3GH(-t9!?N`o9hdCWj`@=J%XE&{?=Z$|x^m?t7s*+`S-@E!vH&$J{Cx>qBtg@&5cV;5Un9uc>uOg6JcBe`{o{(jI=Z^SzPHESd-Qyx6e8**|!bj z55!<(p%a*^@a7`KKbrx_Ia2BvyAQ_j``@Up~ptsMLc-+sm3DMi&`s0#% zd&Ub1BuoEAf@z=PU3Xj(sTlQB<+w!m7aNz<{wX~!LA$N@M@MU1Qgh>y2)KNIDBoxO zOlpivVBc29CCC?gJ|M}XF)kT#;}R1@Ye-fepfK~oxCHjiJudlO(Q(PieLaIiy~{fm zmRI%mI!WKVlj*hb{23J*u^Z6j7y+c(r-aXqjg+f zW*eJO>uqrTamfo4!mK-zrT?OMS@R{7I{o_-YA&jeu#huTYmRmEzO=iD0trXTHb$4_b(8ASmg&U^;|Ju^5OKj1nsuoA0=J(j9CE> z(`__g;{V8fUlNt_;TTmt*HIxa!J(DMOFPV&BqztpVpe2L%ZzArIRw1s5l z0oXoGgK-J$n|oaHx5DF+0kIv|Ku6Fsup+HWULUGCBmVR@j7$8h+_=Orbj|=bF3D*q z7tL9~SzxR!Ai62l(u;%^yVg0n*5*zh1I7NNza>qo`(fyO;}XQq=gt(-@B;->fN@E4 z-bME9)))I_ZWVm2U0d*nhor zgO5wszmcEc#LsV$Zi=zuA-hE9s^1W!;*Iv9INqi% zYRIs|TQx_6dlh5#-XsIwuy0w zf@KX+F;?$Q0^kk%=EWQR`gY;%U*zV`OtfqvD#q%)86SAVzIpMk@%XJ>cy~IyO|YyX zD#q%)NdUZI-@JH-JWg*H-hsp01j`ztVyxbq1i%~iZG?Axj_w{my>{`%o_D5TS^v#R zTIT$-PnPrJXZH859!fvU>BH-GBl`Yrm>&;rmG7U%>wX~PHC;yLZ~@K&&H~N?b_k3LB6qaZh+l zTbOR6`SH-rk0Tr9aMeDjdT){vel$N0`%-^2>DI+K zy%l^$y0!mLy8h?b|9R<#w@Wv;gP-5Y&+n41#ya+*K7<^UgVCNJ4_!HkZQl4s%`57? zNr`d*`{pSJQTxaFsa<#vJG@P>tRX7K>b*$-ykXzGc%$BE7v438w+WUtM8#OWHwl0@ z?3)*Fv=7DcHg!=$MjYO%IU3xn7_0Xt8SsXE^Wt6Oen7kM_E)?4GZQUah>Ed#Z^j4S zuy0b*$-ykXzGc-MHG-Y&dDhqnoqHAKZ&y*CMfH|*O8?|6QEdW-Yp zi~Cm=n;!S%D@!ve-V2f!sToh34vOBLhhLKKpT_Gv@_0>G(`Y*aX8~t{-Pr2m#5`=IK*Nlf_B{5b4O{n4ab7vq$BejNEi&j%zKc_IscdQRao@7m|bhuyeDnkv^{ z6?^sGB*wS|_H8sSq4)$S>IZXv+>6%_snU`>poXUJeZ`BqOa{sM@s~y!R8J4`j*Lm? zN9h;IuH7f=t?+*7`u9pV*vS5+a-3D`k#4wLx+wXVtXC_*< z5EWzf-i!~tVc)!XqkSljx2cO7(&_M4&C%dq#aO*J$$&TPn-_1N`vL93J8*cLU|B;{ zjMaOS0C>Z`dGSVnuU&Xo9Ns2a)({nA_1+`^-mq_8ywR_37v7=6+XTxRqGGJxn*_ic z_RWho#&7Myd)VP^f@KX+F;?$Q0^kk%=EWQ1^mgH0b9kFzSwmEe)q9fwc*DMp@Q&xl z50&p_3V%Pocxa&iLXy_>m3~E~kROn|NL4}$-$w7#Y89Ez@j8z@Uei?=bw}td;4H8^ zT0l%!xcTu`fuAWD;0Io4ut#Hlymnpo{CIeQY^SL|L-PY@x6vOJLD5CJ;J)6xXruXY z|Htm!CpKvgN9}{E_a-UfNAu&bFZB?UZXMCmRn0v=j(nl#1LBe=AIQ9GpC2D_;}SAu z&P&B!y*J4*E`fa;jY}v#0gC#;oF7NtNy|#|KssFYsdL+uA5fnOY4g3D-;eL3GUR)b z?XQ;gR;^#UL7#NPcd&m@y8c?})-LAf>-hO)(#>EW1))BK9F&96o*(x&zvq**pP0My zSU}DD>b*&easd10DF;#e$N8yUcy~IyO|YyXD#q%)NdUZI-@JIE-e?!zfy3Jb%Nn9$ ztlpahz#I0>i#OVb;&_|7s38@Hw`z_C_bSHfy-5bVVc)!X2iy;67v7=6+XTxRqGGJx zn*_ic_RWho`g`rdd)VP^f@KX+F;?$Q0^kk%=EWQR`gY-6b9kFzSwmEe)q9fwc*DMV z@eX%UW`^Z7ZCOzBqf*Y7=Vyr!!V z;*Q8!z*%57wZL?d?rP~M@wd_W8J-Th%NoM_8&wNz>s#mpipz2lbw`{nx zMDr(gnlz1Q?f z^8;wN(H})RNf+Ep?1&R^NnC07WM1^?9an66MfZ;T$UV4c$9;jDA5TM2*GG2E`k6$8 zAI*=$zSJL0%0P@y?)h=#3q2o@aS53+=arQQfN7cq#wDF>-`wMp zS*?sqI_3?Od(w*J_o13IC|;OkVB=YVfT*4iuXsL>OKkZd34eZ$OA`IF>$~i{ULX%R z5@!Ktf!)IbqMK4JO%Z8rG%o2BaWF1<^4aI+5*^(7rqb&r`?!So$bQoVabl44u}`?fkRLB7!Q z0ZC5E1WxW-CP`dv6q#K0nzf!ujf0l0eVSauU zKfgx03ft5z*(F-X$#PH*Mtj|E#g&7U-RpbQyrSNlR2ZMbzIn<4;f?&%F1$mBw+WUt zM8#OWHwl0@?3)*F)En)>d)VP^f@KX+F;?$Q0^kk%=EWQBLvg%KUDS}8!&@~+gL@TY z_1+`{-mq_8ynXHmvEd#ZxR4+*f%fU zK9AGeg?Gi_ZGvSDQ88BUO#QmUbj0(zLzPsZugjlHYVX)%k26(j6k?qp zKd24!SdoFr**qob1Dio@k;%~9FLf*m-Bw=e2D7AKOX6W2Ak%`U+})A zrNPSnbML(IwtdX8uiHhw(DMOFMxKzmQAo_6%L&fz zN%DcdZZ~w}5;9!QD=QDc=4lofm%zTc$0hR%k4yS`hK9h_nclR49mZ0&eD7WptPfqh#Ymmpv0`G91N#<*nIjZ4UsIj`pO0j=AGeRGdXPA@tx zIc1<{S<_-w7Ok4F2Puzgz{mxP=z^n5_-CgmID(sX5K(>`BPbK{b_ z$fqARmk(%M0{iA3mz>+mxTK@_>4fU>An8PVhqPf_65QyGsx2ar2X8~t{ zv9*Bcf>cX~2pt;Dm$bIeNxE&e?Y~H-K);DbOc|FkEU+oelhOlRSVB(>>S>N`>r^^1*{O zfHI$b1Hp<*vcp?ty%l^)y0u%R>wlX4|1RC|Gtvz{$IrjO&u^Em!ZvkFc8T`AU^yrU z&F^!PVrzK(t?s*7!zk7OJ^#aR5}+KwzIn<4;f?&%F1$M(-X>Vq5a6r3CIRqdt zdZS%<2M%u&ENh64GyEn2@P>W!;*Iv9U3ga<-X>Vq5a6r3CIRqd7<9{U}?C>_hvW5U(-8Bh-H|(1iZ}jWig?G*2ZGvSD(Q$^~ zBmmy9Z(h889>28v|86SAV zzK!sX_c{5Nd@s}dJ}0NHUMapPEQ_s9BDeV^ym;MiB<9dI%#Vk6$aId^{XoWRx{S=> z0-Ob$1)K$}7NBOO)$<9x2J^?%4y#xF?+F_;XT&S@dw#6jjnXglu9oDwUENP}k@bG6 z{cv9`1$WAJn))-*d=R(W=#OF^j8GnxeNNo`IE7ks~W*RE}>XSze%Nu@1yo9 z_9=U;=ybXtG}K($o*_=N?o2^|A865FkH)&)@P_PlyR|Q+$0caD_5LX7lB7B5e@a~w zzwAmR>oxUtyZ#s5J}1Dpv5Wqv?wXVsm%zT%A5FS-F+REXUqrsp^8rcDlMfn=O9D48 zF+sG3==j5L5@1{c`!*VvP<#Ru^#j)J%I_EKa*{k?>VOdXZi2oeSFhQ#?~2y}zc_l) z0U6a&{|hF)mf8~3dqk(+gAd6L?v?eH{}t(m_ei&PKl?XIH`pv)e+xg~%Fn+hUGUUh zvP-m%ljWcsG`ntB?pT=AhqwLZqD^nU>;8?ec+Y(s7x%8-jxwynsFOR#EIHDmA64q32ax9hhYnOBnFcT{Al2 zN8eP#zIp1v=$$OrA??CDbaqwh$d>_|5ph8}`kMca6t#?ZUg$;cbFt4FSHoYZ3r&*f%fUA&=SH zg?HfaHo>xn=s3e~5&&=5w-Mg)8s2B*JDMVEc%!-Uj1qtGi{UKbEZ{5d!=TL)>noKT7jbbdfH&m-7@9O8uj>+i0#laC7C-WV!yL|EaqsG2s{O zz03Bc{%F#zi*d?5SB`w4=L3?QCm+bXo6HgFdt6oAxWoj}8lvM5ze#{`3GCZwTte{) zP}C2YE0>&2IX7H?NL1!gH<=nFA(a2>&XrH6xR61v^sBt}`Av#J`7hii>#g9M(ye`6 zx_-xhU%U8Xk)D~-4Udv;@M7uuFXiW*(j|Ub7wSXEK{;r3uKeCtE!nhe|GhRnFz>4y z-}!*N2Z25E zR#EI5&6S6)4m5$YhNyU}_a*`1M|0({Z=O1k`aY;b+J*P9!`lSQ8lqyX-kSu#8}`kM zH`PYAvK4$YK{i?D#q%)Nd~-O-@JIEPtY#BM;zWJSk@2~WA)x70N$`~UcAxw zYZu=BLvHTWM9UVUVyxbq@qst&n-_2N@!N%Wr^DL>%Nn9$tlpahz#I0>i#Nt{?ZP{7 zc$;8ZLsX2_dy@co!@ha(uJM??U3ga<-X>Vq5EWzf-Xs9tux}&0 zYA&AJj|N-Ll}DU~9;3Y9)hlE>P5qhZ+bV9i(H})RNte;s?<#b2 zf={AjKm_ND%4(yc@Jspg(54>(`w`G6!NPf%VYf0irru6?dNbmJ0f zx?F!%?A3dd7~>MyH}|+?d*N|O@2bj>*zf8@Q<;1rsOF5=FG@17@vJ~Vlvn*(vc8+3 zXOjDQ0A4!?aBQf=}MOy^|^je+$apLeh)vD&7^e7_@no?efwRh>C)4lq;2$4 z;y5`AI17wt3rzN=QSwShi9eIM9m%R08;wiq+eojQ>W@pZOaZ^%XEBo+9no2+Q0qgzr)RDhhsvVOam!RF&`=ja31Mo0inFW&m=)RA? zd(*4Fy5%HtX9>6F#wA%mSi%y_Rs6FeV_X9J+QubEeBeUP|6Sr7<=dk1xa2LlVtk5x zq2~jNm6Qt;f5`=V7A5&WU&A}>#wF5Jx&Ahn4`}@w?3;UBGEvq8&Ci#-p=aR2@<7M@ z{=OBt(qcqPS1ropBe*?Lf?Bza@_l%mOy_u=R~WD9Y6W;l>nz|bu-jQcbW^IO>qN3A z^S~tOw2yEh z?SyejBnl1oXnb4f-Oc#l%6PmuUz?((&Y!v;<^!XJP-K* z`K)L@X!M=oh^r49V6Q#~KDw*Mk@u(%Vc$IUA*~xhebO$x{fFImDJELB5FKau&G^6@ z_RWho+Ku9Po4TkWoepo+91ZS)ukM;;z#I0>i?`4HgLdH^IJ`};tRXti@S6m{8}`kM zH~N9?!n@+|Ho>xn0AJlT34k~3n-_2N_uGYc=v|NdUZI-$r=H-x*Gm?`sOrn=h#J z4wm~&g&K$8HM|kCBkSdq5i55<^zNayP^NRd&M%MGbmd0bMRXQ$7H}4brqSHId8-*= zreJ^{c%i`_jd}CnrtEq1aFJ}MsXr6#OULat`lB>QMb~J}n}=?mNE$TPU-Un9*CZzV zqVEhxY2F<9LeB>z8F@m^=~D>lmv$S?n~%70i8NWRzdHW#o5UEGz`l*fB@~|kMg4$z zbICc8^Vy!m31h}t%>$+m2%#@M^m%i29{!~{=FO*onc`CZ^ItFPt=ehQ4Fc(gZ(#o$ zrR$$1-P+mw{2YFMu5=Z)saw>Ckb`p2?7X>te(mx9_2Z3K&0V?a-|szd)Bk*LuT2%V zCvVE`^*zXsx@%Gqen*R7*q6$I`SoXYZt^V;cqVh@$Xi9R*Vjy(KT_WG|FiclaCQ_` z{`d_L(*}@;hyipR9*Y-62qZv2GItVQ7v+&(!Xx+!ljJ6M$Yf@mnLzLXS5Rz}MFeyM ziwMHX$O9V@{YC z-c^ft6f7eJ`09C70C>Z`N%6+qKQFvpi+2<(BSps<$58>`4f`g=+m$h1UU-jKyrWyNB zRq)ql0tt1G{jj>3-#zDV^}dE!C#&q?eb%KXkAvGS-nkS4%6Ww9=d)DG1aq7J_a}KI zsDi^5Yv^6n29d-!u=Hbozp+t*RyC(@Vx1@aG|y+ecdn%0#(Wg#$!(e9i`Jw)qPge+ z!Mm1`chA3O-#z!u*mQ^O8<(Pjj32KXIMTj69}T8;K2C|h)r)?i_XDmOeL}R2DZYNc zUo>4qw{Zy@F5wo}2VnEC3dAL&(!Pn~l51LyOM2E6s^LbYJHjv*kvbsgz>%^R2wvZG z-zCm7?{C^h+oxh!DA;fHhV2nQ&VeUtO-r#BuokcuFk8TWtJiFsP(0g&X9Vw15%tb^F${{Xsmx%MU z>m?C$HznBLHf(Al%U~^FEieWwu(SPb!%R>>Ou{*B+i$&OSvW3%-`3}&;mHH$MA2N2 zOZ4@Ux{XT&!ioN;n~!?$e>ZuKEAe`X>=$}J;AUqLmy~T>lBfp=rgZ&)-~Wbv6UQZY zw-uKRR)#uG>=~j}lckkamA>JQlLotoDuanmF+8*=B7dJlT;ePj=Q&Z=6(;I=Dc!>E zS_@bUSPL|<0K1i7y@Z*Ac}pPL`27;hZv+1Do?hN~z2uEyVf_eeBx>&QypsNJ-}RE9 zXXW z=}s1wc%Od_pM*R*IET2z?Xhu5tg#ai^II=5^>3A)pn;afTEJSsTEMeF5SJ9B9|`6y zfr%#5uIV{0o_jTZmP_}+jpLGzpxU@SH6Fpf$G0QKCFPajxCDM%pO0o0my~T>64xgU zG}SMw`%!kpC9rS1aS8f`-VeCu;QGdO8O=pZ9en@bxm}Lh$mw~RTpO1}K{QfS?A86K z0OAtZH*s9@K&x@d8LOAAs1#<*I3n7ZWE9a=VtC(_LtNslvT;d_sS}ZGT$0F4mdRSc zTHs~3KoFPgvWsve!Mr7CT;uhU0>=jpHq3j#VvbArdtAGMEj~vq;^+8X3vRbzy(H8= zKFhdsjIS;kb$?<*qTSGQT=-3^nKOszot4|(CcekTv0Ug_d%q;f`zEwr(ie_P;J5Yp zD5LEC1dVq(z$2QA9uUk&_4N|h#wDHwll^1+#-*q<;u6@m-M9q(LhlD$bI|vr_=}b` zUoRQ4aY+-NexAplbw`B?%=FOG)K*dNL zH;YT^HZJk4*n9_lU(chGh)ZDKcHq zC9rSexa6^x(5*-EeG21sTMI{iIz`pIqCFmD=Kj4~^^aIg%gLO0gIj&I~mqbA{ zQsVjmuD!4j;u6@mSzN;W3@FBjGa~rL*OTOXR@?{pew4b+ocT3xEtqKsc?+3QMpe9y+;O+Z$P)8h^MHp6?~0=fr9_k*0L z#C@6hRBLdbQE7rQGS+fE_QH|MZEUjCRk&x!h-!ijobp^jk> ztOcwEtOXidfZUi^ueR&sjSbbPbbl&D0v{Z97VG2nTjJNpohyZ(_Sb`?-^P3ta};h1 z_Ql!+x02^e;k?=Uc-gLx3zH@KpKdwKI#lm1>6`i0&PxY*H@qus-gwXjQOY z_bM@Nm9G|g{o^8cX8hWF4yb;F$laMDFCQgx=NMT&TjZK*{}AIL>cMr8_4;_(UI)I- zoA0E*4q)FT*MavugzQgw;a#J#T)a0yzs7DyhDgKK1h!@?3)yC%=hxbd(`6H7~)WAdc0xZ zqM=bD`;6`estObI1Kg~T(+<%&=>&O%J zyjsB9idYL+3+%WSpyi5MiT&9)S|4X0r6vzOUUwP0-?gG=5ZZWu-1&U``gr+x;ivue zAnCU;A7z{Hmeu;WYuCqxK@*G_3tp7CX zLpVQ{55GS?C9KjrV!ic}7`NQHB6m7PUOqt{pCt17$s%{lvi$9`{4|k6y?aj2Z`JQ> zU_3-UxDL{NI)HtXTnD^9j{cMv-Xj+8C|E{{jx&y< z0>B&gO^P?hjlA%#TfC!S87aV5&!Yms8}?0#H~d3hc#m4VqhJ{+I?gzb3IK1|H!0qZ zoCoBExAT3weilW`L;=2f9_0t#uy0blG2hDz@1n&!3YL+gy= zx{f?i&npV2rC1AC3s?&nEkJ&yRyvZ3^Iabg`{YKy`-HWdxNq}PGuc1s$vZigo2cvK z<=f)d$K5l9pXT`tuMfa)V?GL7X0<+Ex9j6xUrY8c+~>pVh+z$kAFq$YzC1+?rgf}` zx8&>N=oflFU@hnqqCK8o==bwx>*FIfE@8tZ+|u;}UKfOYo5dyEZx~RF5BmBzsgjt6 zn;P_iFkL;`S3QW?pAtjkK7~Mq>v%MVhw08jF>ck*5_$RmiQGL$9xoEP^G=c1-zCf6 zBg+?yJVw1o!gz>!a2;g5K3=!ifeC^bdiv`C_Dymfc>YiJr@ZhUwRp$iY9gh_8}?0# zH^z;;@OB=x>t`l(qxAH6!@f!JhJVNl@1n&!3agQl9&gw;Dc)r{56BDevc=noZnPjh z-mq^{yfNR)3-7AMI|{3jk{)l^H!0qj*XM<|Yw3i_Dza+S;pyk;a#_Q8_|sxq{kcfZHBkMKK@c$>*I%?-o2u)XZgj288eQEHoq|i zx1AzfZw+pwM#@?sc=ywsZgKxMm)iFUpAz+vP2>N95!m8L#^+uP*tjhD1z?f1v|+tzA|tDAm*e2MVW{(6w~+nA5y zJh?5ww~m2FG#68e;JeySZM$^ip^LZO$NB5Jx83J_-TwY~91`&~wr^aDa$|iQ_T~9# zFs<`(O8ovf`i0&PxMuVT(Ke>|`sH zAub8&NfwvXD26!j_(Gwht5E2Y^R*u z3o)(eXOE~wa-aKOd6gKqoPLqJD@9%(kjH}}FAs~{xlop0B+D-rd5n6G#CGw1pH$X^ z>mcj*3Cs36FhLMQPk$Z2zDceF#vA=9FTAT3?-*Q7r1W^hzDe=MxRDp$uEpB~ZVWv= z-mq^{yx|}6!h6Kx9fPZhlpb%`H!0q(oCoBEcirM`0yl=99&gw;Dc+dx<%RdC#XAO9 z6Dd93uy0blF|W@HZ>RRTTh-s;FrBHTvjx)Q4f`g=yDsCmyznksyi;`L^mxO*N%3}N zoSqlnWs7&Nc*DNU@b=#)e7(3Ylm5Bg1>Jqi`d9V5ztZYAcf~Es7;DThEF{FRCLww2 z4doAr^PH&f-A&ZLuu@;Vt?1cF`~Ne!yDLCxW$lUq9-R-%K^H zk5_G6!lq2PrRxX0E)DxOi%YORj`2ZXA1753({NLRJ`kp>M@` z^z_#O?3?5|@ScZ|{V6ZJM=ahkxSB}m@rHeq;*D`5FTCp(ZxgsN^z?YczDeIZyQoJ1*zvYE@)#4q6)ksN?H|(1f@4AfB^TOM;cpK4;7No}; z_HBl@zdnAjxG&Sf`gs3v_i&|<{yV!kP2>9b5y6dA@V1kC_tV^~#d%KDb>xY9UhM#H zWvvCQ1$HzGuv=;Od%Ns+8*O@d24%bie^>OqIy&rJv&?nkiA0M%C37azEmaZT0 z`Z(;HI4-%R)wpEg(!uV5%Hi`X-7AM$`56%Ncdd>LI&eZeHDvRAjB~AxOB!0KL81Mw zRRiPLB5MI_fiYx(ATD{uLBf#)^Om5QQ)t)pz1^8JXJ#6g@V9*%Y+P3;jfc2o&&$s* z4OL&=dCzD6IEQ}+L_elEqV~HV`f;2^=yyP_3&$n!+xmPotGJ|W>e-VAs%S-z2fYfbV;#nx!zjXb8;}Y06aa?j|>v75I z-hts02fHsyb}kVv(N!YkLSbeOaf$nB8<)hGIuXgnC5g;rnXCn@1zvUw1aV2T@9mo6 z5;}!U2<7`2{1M-jI zxCDM%pO11|f_N{Oe+sR^v6xD5-MrOG`tK9EHZBpSN%TM6e3au7*tgxd1pPwq2i)x7 z`U-FtrxP5Dz8mxdJuVrwafvWlqW|go0mmhc?A{FCXeZW!hw^0RV? zOPm{QToN&KLV}G;5*o^~SqoSTyv!D0x6MDG(#P#cnij7MIj*T;f}?`3~DRE=48zIXsR_ zVBdD*67&nbA8^fC#3jyU_WjT(iY7{2AHcO2mf?QDaS803I4;@Ha$M5ev#ipwpwipD zCft;yN5;71s2t)F_a+;cBn3w2vvG-T5qoScU@b5>+Jg_zWJN(q??a= z@0UpXwi}nAU+DdSo18^lQnYbNQ}hFdbp3$GKiD^MTvBg2E?HIS9&G8w5_x{cxa8;@ z;u7Z>ah{WuUL4pto4xGk@7ylFFTQ?$4w$@&ScmpmJeOW?Ql`6${V z&IfozbI}EY=XYN9_$3>UUjM)x&JUx!Y~vDP!bJbszHuokjP(-O*A$n$@uMr{wbsQk zF7+$kfMdb?{dN96GWvzy512dX`;d#~qQ3F*z|wh@?whZf~@j>#b|ai0_CIZ?k`HBrw?=@xd^TEJSsTA+yq*sb6>F2Nei zTLRI^v}=k>vVQN~=;%aqBI_mF`TY{Fe%<9FCgGg6P+Y?Am+0@g>&JvaOL0m0&*8WP zep{c9vQ4x29+zw55)a^H|I*Dzz4uG9S}&3PLhlFM?%?{y+&G$xYtS5*RBc?6tP6Nt z>G}b$m%zS>9{8 z%VaHJEnqFc79hV;EA2x&&E9)25)a?o=XW@seBmXUd)G?HS&?~D$0xDBmzi0aH^nkV z;u3K2d~58!UqWj{cR$q0iEW5|wqg8w3C>F7&K>c;qg&q^j!WRT_4z1I9+J#Q_4N|{ zz4y9}OTxf3Jc{;v#yd^~>m{(SX}#p}+Xke3SLu@vtTwNg$bO;s1FkzsKWG-0xHc|{ zgV8`s*AF-@fqk3BCERZqP>c`y@95rm!wud&61`zTAJ9vJM=Y_FaK4HTh2=&cV85FeVaU<^qcD!UPyd9i`h7H<={G4%9! z!@f!JhJVNlZ|8FR-fRr822y&wVc(>9yK)|o7v4pSw*lKYa(cXB-=uhBzLyu?Ws7$l zum)OsykXy@cw=6l7v5Eiw*lKYa(cXB-=ugWe#;AQ*Ww)qtbvvuZ`d~}-iXul!h6Kx zZNN5;oE~r3w;A64@8~`)?%&L(>XY1KLM!JjSlHLSveHrR?_b&Cv%ALi@ndsXA1_Z8 z_n#)}^Q{y0ywKllZY^LfU@g$t0_-o@t>C#`;Yi~A8h=yV^xUp#%`d2%>ruDH?-TB> zvPSn=S14`g=XRqlBFg?sqTR@IyKJL$-#O8rx><^b5Toa68c_g6r1TFRxRv#!2P$EIDtr z=EH%mN zoAuqrd5*8|f$+Ji*O9c|UK`R9kEn#1pNr0WM9m%zS>>ub1oF#mP1@peziEyiMp;ZQO`^17IxQKz*@jspqT~8uZ+$22@MV}v{phV z=f^2L-~RF6ya_X%Aamo&Scl=5`*QC=^BecN6y zk^MsN2i&+M{XkrML42xzf6@7feePZXy2)<3e!y`F?At6Z!TW?5AF_O(@U>0OYD#Q* z_wAgZ*;gL#Cvx`T4&#~b!d ziZ}d2UU<6}?-*Q7r1W^hzDe<}%XvUvc#l}TP2k4R)8h^MCdC``y}aBo;a#+N z8?cQdr^g%iZHBl1KH;#qFVn(vyQ`NB4|Xpdj%#-!nqj%1P&ht^^>Ozgah`cU-x@u0 z6~jW|$vwW?6@3<0wKI#lRmeLexdgRt{HtIJXhipzn)UF_3^TeOW0rux41q4TZdKf zbRw-&G#uog&SfzbPe-ls64V{)Oez27Hn(DDfpmo)z!kYwLEsUH%K zOW?Ql`6y2wcJ_^mIZ-s%;}ZS3UFSagofF@TO?PzvjN_;v&qp~ffqhMJN#frDk^MsN z2V8S-eMj*ZEo=ThVb#VZ!c>X=19v@-3L`FoeG|teZp(2=wP)$dzRJ*0t1lE9(79hVeHs2=<=1-xvb6lb)kAe9o>idN57vtY2 zEWb4zm%wl9^HH8W1okw~N1MeZWgC}xeJ$BPeIAPAs5Igd*tgxd1pPwq2V8TKejp~B z=JyF*8<#{uG*W=Oo<{``m%zTw;u7X(Krue(?-NoD`h6U)(x4AS+W<UDqV7 zEF(q78OKop;0^mG#T)azyznktyrW*=Y{u(#XAa?k)q>___qhK#jTw*er~rAy9NV&;$4H_h>uNcFAuD{r{ulisIrIm^|f*TeL`-xVSPN* zK6aOJ=NPUg-O>KUjzqiL?e_`YF5#znKI5$iNxzNxD9)2n&f@n8UAsP>qGMqGspnA@ zj2}O@3;XhXG?>=0Ja5T=pAh{*?+2^}eImFnef_AX>HCCr8<(&t6K*>GIF5=VE`fa$ z$0awl9GCR;wf>D0J^^D~(iL>z=!vGMczv@x&&DO`O(!Js`_2jabECY~R$Do10c(LB z&;m3~*&fgBs+Kj!CCnw}O~Ko5swC~Rf6|l3!g7YV#4E?YWN}HYH1+WVk1rHDx(bCZ zIbVZ@Xudy@kWdPT{ryKyqd0}m`R<20IW1ql+}~$9A5%`hQLQFu5qbU2_~&+=6T@){ z{I)(H<+cdBvOe}7@wu2v1kY>g?-SN-Tp~=D=s(*zE=7eAm%zU5#wF+%dOzTrlk@}8 zcY}VQ{|?BgjZ2~+8Yyvo0M}qx2yqGQ+bk|&eg+idgZ|tujXkkrSI`H-^{Yp_s|PXr zQ(|b`-!blS@vCBZxNi3pF>aMl6?y$6kvs2@$ES(hJwxQ>`LcY0EMF+{81){B?czPh zDeJ*?ko9xB&d2O?UM38p^z_#O?3?5|V7$?v^1{1l@s7f3q@>3i_Dza6#*Mu2E?c~f z=tc|D;|=>J#T))1FTAT3?9V_u&Z-gS$&5#4A(dc0xZqB-oenH%qY2mrui+YBJTm7aLpQ(D=DRky@b66jD&lcx7 zQJ-&}sOJ^x81}$gz*@jsps@wWuhdFM63;HX2uBjPcEZo?7Af&sF0Vm9`NB)ynlJLk zRYd)=>A79jgZd}OE9LbbJ$algH&NHeoiD|&kC)FCe%fCTl71WWQP`3v57=*Kecbt$ z{obzE*%JMW_WQv0VFiqz_q|m6}Tk_|2(J%CVz*>^@12Ne&ua6gPT*9VI zxTWg{{5v49Z?m`r>*E+7^!4!@Z@9sGhd^&=&4H+FAIEHzjk=Q_S0!^8CY zJH@!=zFXwZc_J^rR~{FhzJB3_#5YOg?#?1FPZqf|MdUH+Jrc%4)Pw6F>-F)ny$(ze z#L&}U2e5CF>%e;+LiVS;@UB|CV{kQ*(&G*LCdC`$MqYTk7H<={G4%9!!@f!JhJVNl z?-7f446Y_pdc0xZqPP|0ezV_&Jrq;mVqhxffOjyH{{^X*c8g_`KjoYFeFf{NBCTx+CsCP1JSd ziF#gffLfZhfVF_NfWZRvxudc8{gt# zqgV&aYJI$H*T)T)Q5-qle3aM6VPBpg2Gcs$!&~z8ar6tlAFvkm3BK<6I4*CtK3=tP zi7;KF|LOVxuaCpN&EgWQk7In$*T>s=e|%b#bDI)d9;}aZ@$wiR?tjj!#JE-8L*(V% zMDD&?9=}H9&TBYXm*xA4JVw1o!gz>!a2;g5KJMDIZyQoJ$W%M0(K#XAbCk&+&7*f%NOnAhipciG}?L^oQH z9&gw;Dc-J(-}1t{YVnT3YNVvc8}?0#cUi{idExC^yp8Ba3)15a`!>VdUmw4(&Gqql zy{iYK4NpQbu8*G(+(=ELrx}lT&(wLnxc@X!*O4dcc{KyqmRk#03s?&%78tAR{{Q7wP4Z=_R>p{|QV?GKaX0<-<+Vyd-uO<7JZa&KE)|c=`Z)T9-Vay{`b6BiIF~cM+4}g1jZ1{768%rt4|shX_H7oIV0|3pLze5~ zdo($>DY50~JED-=uW#J{%KM9P%Q;Zw?i)p3KS&-QEb?+u-F)vy$)dV1bO=F0QOCC9q{@%`cqzbk6OGF;0%`Zc*DL)@y5837v9b%?D`qd zY@Vmb8}?0#H~d3hco!|+&0+RA(&G*LCdJ#8^MJhYE?c~PG@I|F#~b!diZ|wadEs5P zcsGaH=SYt??3)yC%Q+qHQ6Xg1$Tk2ma_6z{r>-}1tH#Nyo?W}hQH-mq^{yj>Zm z=Y@CO;_ai^d?!8Lux~TG{q^zhw7EWh;$Zhh%}*qb!?-?vVsIlhPA)CYyBAwNT-<+} zsO!iR^}N!8ZTYPQtOa&x3yjtEaT6%|+PGXhoY?P=*S{RUKJFYL{ItIwB>gt#qgV^g zYJI$J*T+r$GKQXRKFaIkurJR?gJ~V>;Vt?4IQoU&4_FKOL_6!_qc$#KQzqQf^#fiX zhkcvHC0HNF_>krL_^Xj3smavgZTKQ8-IUU(NR-ceYMl=OJR zzDe=MxRDp$WsA2F-Dp92ykXy@c*8&Bg?H8B9fj3MNsl+|n-uT5oCoBEw`=h>q8lwp zk2ma_6mQJ;^1^$>;vI$6NJ)=3?3)yC%QyKeC|q8lwpk2ma_6mLhyZ+YQ8YVnT3 zYNVvc8}?0#cU{KmdExE+gN?t9@J0&K;|=>Z!`ojUf3(f@@dcHE-tMJbUE0mKK7LYg zBQ>qgIDYS5tUFKKf10T4$P@Lv;sCWYYXNHkYXO4=#_Ia`WJ7y*$n|mOtMTjOz z7j0a^rcAh{>j&QNk4yVDi%YORj`1PO_3=HMoZXbz^6>h2HHL@#U;Pv@Zn>w5+&Nj~ z<#)*A(?woCL*(v!S-wD)pC$4b^&Sc1A?m?(koEd_*nn>yKhJBObjd^`ucsp0y^)nN?QF?m3 zVc(>9mu38x7v4pScNA75B|YA-Z&JJ+8K>ukciG}?L^oQH9&gyU8Q%W-_?9-;#}}@u zbhq|_b>sT@$-#}(s7caOynC_rv&H?ViMozFQO_$q+*ZO`z*=Ajw!m0jA2)fm9ddoV zd{6xPxO=Yf)Bbvp^xK$^Vl6bQ_3^S@A5Sqe}U_HDgUmr)m(E9;v zL7!-6eY|Sp5;kSREnPqGet%rrw^>|*^>K_3S+0-AuO$bkJSEsw_QLDq-2e2A`=9eJ zF>cl0E%NetB6r^_kIxsmvqa?erLw#t%U6h8*NtP0ho}eFLHs%S*B7ocKQ{(lvLe@B z2QYbpJpFY5`zE;#yx$*}{V6ZJM=ah6a0W|yykXy@cw^ki3-7wc8(=2L)8h^MCdC{6 zAuqf~E#3)m21|OpVc(>9m*qSlFT9;k+VwM_**s5=H|(1fZ_M}d!nZ;<%M_E;@uo(pCdiquy0bl%Q8;S3vbur?W5Uz zCq3SY|x;}nxrDsKTxFd(}tDh3wNNsMS<{aL=A*V;&f10T4$P@Lvn!{^3 ztOcwEtOa}vkoTyS_MyXFb`g#wSU>Z53R7vfNNM@<0eR)0_OzT(=Z^_rk(J%CVz*^8Jg0}ejQBU*VAGdJ{n=;{+t{-^6KQ8Ut zEH1(NxGTqpEZ4_h-{kD3#Fhu^b0L)3%oAnWz9!$0JOchTZ)z&4JY9&gw;Dc-J}2jqo! z+2S1stbvvuZ`d~}-k9&@g?H8BZNN5;oE~r3H!0qj*XM<|Yw?Z))<8>-H|(1f@4AfN z^1^$>;%&e-j+`EE*f%NOu8h<3!n;B-7D+kid-7-J zm5@|9@IlU%a?tnaBd3*+R5|cLZk?2azD*lTB_vf2e2^QJa?tm+dyXt2sdC_h-1JL@ zU7+udFC1J#Qsux0xw4dlz8i1Yr-Y=+fe&(Pq#X49!&SSLkW@MFL2g9KLEndKg%Xk~ z2R_Jck#f*C`t;MCNU9w8Am^Mf`Z4r9`p6@lNU9w8AU9jeLEqQzxu+9Jl>;B-s!|U6 zZdkjv6G@c=ALQ0bIq3Uvt=5U8%7G7ZbtwmZ)Hmt;L{jCz2f3|M4*G6bJDu7ok}3y2 z$Q8SVJ)!T%Km6ewBvlT4kXt0>ppSXg4c9yPAm>Us=;JZsrN4f#^r>s6(Ryq!PJj<` z>!cj?@!HSte|Ldg?+N6<2f0xx2YrQYmy|~CcvI<0*PWx*2R_J6Un1-ReJpp?Cw487 zZ9?q?ALPnX4*LG~e;+9Q;rG3Sec^buKJYhW_Mc|(5zALOc14*H&Z_I;&a|7uC;p?^EcJ5R`g4{~dz9Q3h0pZ@i- z(!F1s8Il7Z*)wn{nZW4Z4*D_TulLRhwG(`h8J zHFF-=)D^mJ!3Vjrl!LzC{@04q_rLcJ&!%d9;Dg*6DF=N&`O*LL`U+q3svP(rHzMVr z@7tT_mhSoL5v9U5e!e8=*WiQP7AXgPKYRS#5{=iTuYP4l=={J3IcK@N{-ivQgI;}H z8EwE1e2|+h<)DxIC(cck10Uq7QV#mKzQ=z0Q~%mUec*%KS}6y8>%MVJ>GI1ii^zcw za&;*OeH%Ay=zMYOn$F*ij)v?4KFDpAa?rDK_AP}d}7XZ*X|jT10UqpNjd2I<$t`VMAt&+gWvg1 zsGorka-&iX`behq>FclW{P`14gyg^nx#?AT{Ym+cU-?Svn_rnj<9w){;DcOQ%0b^h z-FTxn4`F%LF5rXQ8Yu^TgVVo9HfgJcCw@%7IANjC3oOC(xL2gvaLEqN@y|A?H zZyzF?a9kbK2R_J6Un#FYDgWQU?J2$Rmy05D;DcOQ%0b_cesHE2PwO~<4{~dy9Q6Im zoo_CE_n}kBkA?9AALK@)9P~Z&hd*?Bb1Y2`e308B<)Dw|k#lH_?-aHP>;gW>Ilc1w zlk#lCf4J(ZPHwMiPw+u*wv>au_4gmo<3#5le*gQ>bqhYoRizyCaUDGF{`2j(hvdKq zxwTRb`hNA)`ExjZ`ue>>a^QnpUCKep4hUb^X|LeN^{VYLvrAQ zoGay^@1r02NavkjJf!rMFCQL~10UqpNjd0a9K35+n`eO!a-&iX`mVe7+Rh(7`e^4j z*R2cT06xe~?~~V`l>g?s*`1%g=_W66)fivE2f4D8gFc?OJX|k#>i!6PkXs|=ppWpT z{_<4R|4BZ`jmTr@W9)crp*SvNPw+u*i}UtWJw{>yhC=G{O0 z`oA6(k^>*)W=lEffHH07dAh%A+K_B0v{qu7}r7J!*)%2E#cF28K2(!c*?A>Ho@ z&+EVkxiwM_`n>TWW}XE;$c;!j=;M2e*I)OVk{(Zk4{}?i9Q6J3?FV(La}kU$;Dekq zD6c;$&o=zn6<1K)UkLRV@Ih|2l!HFDKi^l>?E*f?RizyCaedz0MH_d)2f4LU4*GmK zvEz@Q;DcOU%0Zu)uSVzB;Dg*&DF=O!)8|>>gIrOri$Gt{&hY#Ue2`lt<)AN^TZiSq z2RT>DL0^D*SPp!UTPNk9PnwakupIaxH!9_zkM6a4{RH)*pMei@&<}k$hTJK{xQG^v z+-=K#%j;#!h#}2-*(nR=E*!JGG7VGNB>(KYdtSZ);>8 zlxTa~wBw8qffL%Zg!Hq$%UZkKohlw4s2+0QgB;EW`rOyW%YhGa&&a+pG{s22P&9_s(K>NC>LEJC4X#K*u z=2Nljzu<$MBhL@|oRN4r@IelCfj;Lm@p9mU9P9^u&S$-;tm{Id_~I`}}oP+POXk`_qYZUT8PJZ^HfQ@M{06%Hc~_cJ~h* zJ}}sSL1pRi(BVre7hZh$yxvORvdZ9MK3Kf8f7L*LU!`w&Xz@k;gDZQN_x4|Ocx6rZ zs)62$;9tC=cX;{YCB3UF1A{%pcleU-p`N9OcMlC!=%BAMG+bGB*b>$$j7fXq1ma}kVv-BdvAg|*rk=$!LkAs+xa@Iek^C-gbR zUxmh6$bk=XXbr5qTE>w@SOa z7dDyGY^OO4+OvdCj{8MXYnQuMc&-V2!3ViTQV#muxjnISV(>u@c7Q(2VPR|32R_K5 z9QvHsgxiV!Eb+5P6 zxjQ`91is*d9L@*&oSI?0nA#q`-V8Mhd>LC#w4IRvU+22`IqLL_#JEtFxzL#4|8~IF zo1@BhkA*pE7Y$gP^f}3VqH*fd%ytdYIO+5s5{=XO8vl%)Xbwq9r(Z)fPP)%sOEgY8 z{T8Be(&-~aFwW2G*0>)ZGWQrank9lh{j2$_YsYgPVXlgC!Ib(G)_A1Yly~)AP#NsCmJW6{z0N~(($^A zXq@zV|AAC-XbgwLAaFe4$wE9flcsQ8^ z`5NgnkS7okEZf0%bWlxbmyQ$K>FgbjB`}9`c5fA@ayQ-5=4bPG}!++M>-xoF~H96RuzILC%rq2Yt@%@p9mU+-xZaea^e%<-i9y z*c1AkCGm3LgB%PDeNHtj=l8>DE%(Dpckgg@@%)~pD_0Moy7ux8A-;h6q5F+@gktcd zirtGv|63>Xq;iGr&<|Z|49<)F;iQVkV8Gt=iD4G2fHmHfk_Zj za?Eo;LVvTS_&6UJqkdJk z5BP4;`_onN_<|2|I6wb3N4B zoZUvhm@WIm+A-QM&_3W))!OM4!#H7_0UzXWe$eL}5HANl$id{$=NuN6L%+at2QBoA z-tLR(UTOwm653jj{o>Q=6Hej0jI5czqlZb6Z!@CAXk*<2Yt@6cscMv z4t9Y)=e_ZA;Da16f<9*;EQkJt=U-awPaQ|1rZ#i#OPpvsH$i`Lo9CzfG)`TV)a@!d;H2L(yP9a6 zbow9-IsC!Kyf(KzY!5u$O@>0crm zC!PKkqH&r=N!>Ql0Vju&y4C4`(}^mP_IH~klCFOm(K+e#y@jD5#+ZOp@cPt*lD@Iek^CG=t4NS6a2)Gb;v~7c?oZDrz>6#e2@bU(C3^SF9$xz0UqdcP7BMS z|GN8$XY!Vjz$6GI$WK{tb|1}|mM!k-Tijc@u+l3!a{@^NO9#<8(e_U2zr}T}tzXrp zowts`{_E1Y;k-CzinDjt>sNJYN91f@-t@Y8{N(n5&(uEt{ieCAhx<=jGtfVn$wRf= znqbr0wN~QD?c-t1d0}_|J_~p;_JfxmEAh@x>wqu#AcymTK8&5Z9QYuIa_GaH0d({WJRhBYEIzlpx0gBvKj)ss z4bTp187JD_-A2DyC+$3{*;{CC@P9k?3$zc{uij4Q`tbFOegQtn;Y^^}6IGfP?B=6+8b_{OzWrA<-~#?Zd=?casgM!9L+ z)>p_ovAq8xCH8fk#>%#JtMGl(r4QtGHnuUpla8dG1!&@(b+she*UR){=2U6wzFr2c zI!_}$kGCczIj0n&agj=+eQ%?j`O?%SCH*W5c~ZucD7s5JN%X6oAEbjxg>BmeW|L_Y z(Cfi5a!-C-{JXRJ^y)cfuTL)L;TG4gTJHOZ1H|*L>3zfr-K#2t z-39M|77w*@>%{h6YIOCRt;J)|Vaj(k6}-%J=fGEdRsX#%#**VR-gtj3`UtOaG5>Bl z;&l%UKltO#pP#avW+TBiiN+vK(eV*ebn5bX-Lhh@U; z6%-Rq+HNNGg|A6Yx|!$M)4Qoh1N_%0-68Dj^_ioH_YgWB5qyQhgK~l~S&S4rKSqkk zN62wwCt~L|#Ez@-9=r|d6yEYY{D?*lpaiSc_x=BSVQ zXJ|wFz>oIna+9e*c$~8ayO*w{_hQdnzMMWC5mJ`mV6@5auJFAaPNTngyEh(l`=;}; zA{W^2xGpN9t=#2hh2u8C=N1k3jaZj6H~4MFK-V*JYzuPMHJ|v=7WU=Luj-~lUmv$y zY_(Fbf8HiRJFiRT+Ob$a=RN|P0|UWN`V|Zpc3)WOrq6Vstd)GWVw*U5K1c67rJZ0? zRnD{9VKcn7f3{0m(dm^D4RVVNWsF5p))Ij`eG;8GqyQTe`U1pEt^HF0?Rjr0>KuuBp}1#oQ5c z+R&$RQs1&#=h`2S%XXMRvmW4biW2d0pTafccdvC!r%f$QVkMoDMe18Dn^Yd;F$d{BwM*qE6 zmRmI2`83X#zm?DZffk$evWT%y8teCvO@{gLsh4g3)jl8J^w5;+<-8Z17_am(&qRkD z=W#M>xz3Z8AG(BG_#Dta9>>+B*Aa~KBtMsI&_y=bDB2$3WmTGexD6(niOw?W)__k; z{{4H%V`ZGzzsaPYjbWc`THs{d>^*q>!s^~$#Gh*von9Hqqs%pwacqh@5Syxc zsJH-G*a$X(jhKfw*pBzJh~L*LZDyVN1{+m18>w=h9hCTeMA50+Xq};qZG<{tBUKN# z3$p%v=C~~8Ge_d1EBdLoblgqznd18Jb4@M$%YpG!8_NH!q9>&r`V zWD$8*tJ#csvydk>VlcGx88+z-u)!B%Jk@<6Opx__rY^_t>W1(*Zko@4AMMlSxSd(d zXX=XY#JQ_Ee6_3jYE{nj$I5(Wi=tEa)uVUeL<1FSg zTa`AW4mF33Ml>6#a-JQO`Hb^o{By(P>I>5iWo#qV0UN1$xJ{7t=QHyA{w>{y7r(ba z_h+*B_$aqdY)kkgbK20~a#G*2TIXxO7?=0qi?T1ymO1*m*%0u{y3aPzRZVd+YB}$# zJnFt)205Ll5ue9flaicM3emVorP02(QOXMRvmW4biKMr7Jlx{?Rm*)JA%Bx4y^mOmd-(JNAHBUj^m8AqKZ|WCHQL!2o-1Xc zmvyN2$x3GydYl`^=UVL==^I>wk9f^Hf3#k;&!)paSwd3j!5A7hj)GG!(~p@?rK$Uc z0@n*o$dk~-In+vr{%je`*Q6}xHI2qaDvfyxKl%G_&Dpl?QtKnw7~65P_wa*z_!v+1 zcnNT19rKRJ@f$hn(Z^rJbKoPkGvZBpg<98RwcRSTB} z_v#lZdU1~Mzg0sS$8@L%F`cT1iVKj1ug7@HWvGYuQI{K2m+$N4@3yt)>+xe=Txr_OH2^De1ShiZ6_lW;<{i)qK4w$LDZz&zj0I%Hd;2 z6ume{l&v$Av9Cux@b#)5DlS0Q_t)}wPuua=LzTXve)`#5`kY*vIK7M86Sq~!U%Q+0 z@z=0rT)i(R&H2Z1djIzS#5%)lnX`RW8{632#^x{Ab!Gi^;14mLn*3qb{<`>p7{BW> zM;|b)M}r^j)8$xxq3|AUQ|ROYL%Dx3R^B(z&mfCqJ0DWsAC|wt+`>42ac@swhAYtlvMYAPasIxE zHO>Rg8%OW;zR7~)Z|zm+LIO?XJcc2KOM)YPoYRk)Q>CfFo@d~X)Xaa+Re;j(nJcIBx$ZJd9QNcOoU#$jS^{(N5kUUKW>e74^f zV{2D;#BqMJ9p}wsA+AAvoYRk)Po=5*cAWRDXvcYUrX3>p$NBl_t*bK=a4u+Qt_T)t)Qx z%cP)w%w(0O?$dA6Z9JuPz#BSzowQ$Kn%WAnFXY1KQ1f_MM)KEKmz1w5I%waMuMO{h z+T2Gzdh2Gg!KV0gW~p!+nPR4;;T4*K|5BF6`ANaIhR4c%8+Rx1`{Y4;o9;1=oQ#{j zZ=>9|Ij7ZezQW@?J)ht|TR4=}%>Duz=d0h&=XnKVrx=3;<9VDno0G>IB$W#^IUcD+ z{=QzOA2Xv$Q}^{UDAjoy@p-&8Dakpd5RHpe8tr=<<;<6+E-C3}S;&(zZ9YF%#(DoV zlkeDZK7p;U){XI0xcR7H*3Td*^T6UZO+ksPATZ>oacw9ccGVHYhYv79%yZUJGhEY-9~E-Wo#qV z0UN1$sJH-G*vPjDm7yNygY9@FYoB(8Znmo;%Gj*JY`28<}FJrQsEtg8x!hI1K;0 zNn>TbPXArppxwqjJMS}^CMfX7`D)wae6}CQqb9Dh^bL`Tc>*CXV7c)aZW#GPL-za7Yg6`z=ujxR!{AG{+2zxasJSQZ(D!!1#?SZ zzwlshTwgN$-*ZN%AGGn|ljiy3d~go6(t{-bR+3ppd|Z)3x^5wPmf>U8`wi0dJt1E^ z@!xM+f5*@-*6)7ZYe^rsCEOlvZ8}=J@>HE2=RK?MDF6I%zOU_ZerBP2Wu|89v*WyH z&+$CYKmGirb1Jv?-v5hdf0TMYZ|+R`IHw=8q)Jow^)l3=^8|e1b6`G?w?-UF@@bwR z{{tV%uO}NEPc|Tb<;x2e|Gy{iABi0k%|zG4LpDH}lpUkvyff9V*8!<4bAOy4ZhM@c zmFdT>=_LE@IPXC{p2ztw%${-lqr30d`Qy_!q#ozzT`@posyCKuU0xsO^kZgMY3jaS zCR884*Xv4m-FXJr=WVpVk!gGoJ_pw2>8p8+;$Kb5Zv>5XN%p4ex|W5DPJ3T!d-v-@6OzC z@T=F_ah{CRXtU#dBkQzY=8yC5Zf~5=dW`2YT4~3557_ZM&ZB3xa(^DO(LDQcKI|7z zW4Io14xw?L8EYbWyu6RCCUsISd=<&taURw&jv~IIWzWDoS zoG(5Uea_Bj*g@RHl|o{>~}qtz4&-+$zh zIr{VFg~Bs_-9iS(&y;*$eMM%zI;&Tr3WIdg)w=c7)>rF2UH4V`G4rc5bzd)oZk?wQ zpT}F1lAKct(YQ#Z(Z07)&U|U=l9GOwg*+*-$4|(m8E< zU&*PO)M}lFe>X0FFSFT+e)QwJhhm?dAAGtKDJ%pbCdu2%~B zSrVE!hgxat-*)dJ!I~82yr$8(NTo4Pp?BxcNP>V(*zeA< z%_rvO$7I*GJkAgDYr}b1XPCzM5$V&j)<0&)`CpIE@6HwfDt}i)=4{_aHh$M|e@Uc2 zYGW>sVMr#_^>I!=W;vCn?iUJNudX?srngP#J!Ff^@-?Z0^O{EEBBD86oXbQR?{izi z?csuSw07mGI&GXE$KR>&tk>wDy?+|qKgD=zig~h*$;uClm<%~^(#HnGjNmi1kL5G@ z%?Ks7LYvf_-}C1*qI_F`+q6}Y<8$zSGlFt_L%@;aACbiPw{6=tlug&mq#S==0QKPe z0;(R?1zFa`?Z9};WvVSv*X)?Od|!WatG>S6-M1`{FB23B7m}~Ho4|5Bzq9(i-|f*A z#SuPF_gew|$|sK~9sGB%U4P4E|Hto!DqEb4Qta)jJnBAutL48wR66hLFV6YKYhUZ> zo%FhA*1vgZUg_BSf!-Y8$*a$tbD4YK#$DYL{W(E!4zt$V1zV`iRui9|#txs(Hz%RZb{d~ARUUO6V|90i6MlqO>KDkQZOv|8!lA3nT+N@{AU*w@E7 z{g}B_n!2x-35|2!+FSbbRsY8Ic^mC_G7ZPUIj}BIUyaKAB;^sG)>xO6_joS(bfIg@ ze&-s_nKXsk%g4Ow?FP+6_k@&x4fyOhuh?ng@A~8X?X8aURhrMMPd;Y$iP^$MG|rF8 z*l*$^VLrq0KF-IV8IM6oDhFtBV-)!GGX0qORGPZ4mzi`n;`8*?q$KB*LNqQ?X|(Tc zlrx{+9xh8mOT+8ctNfF)JkHx^9~HYy>|MU6Xn;%qsV`qE-;$F1Mks-McF*ay%|CeBbJxq3Xr{y}LzPIqSy#w5p+u z@76KA2Y_!%;#x_D7u#u{VtAMOOr@1quIgNL_@(8Y??QIPir~K3Kwa~WGaj1ZC zAJ4ICyvfmpN#Cm$`TKgAe$0$2P2Jbapj78+#OLwWq$KB*LNqQ?X|(TclrvwN zx}>C^Wg$<>crdhc8qWwj!aw*zjHkLUgblKu(-a>Q<9GG(@HlRo(|{lC)8)9GS$;(g{k0?OfxlMuP;mjWz!7$VotTF= z*pK(KnA2=g+RQrjjn9!&QLz)xX;eAS4$7QnRMDy1Xse-&ZG<{tBUKL-7a;4;X};3x zoTgmq?j5c!p5L={ z@Xfk^H_>(3M#o&H>Q(pkGU(BH0>1D$pnW`NQIjXnG~R07e>u+~`AuYlxnzTlqFv^? zgdF~x_)K)jA#cDZ219?{b*wyN+PFOdy4 zlMSpNB4ah$tRHG*oz~0XhcKRwSwD1tCVog=z;4}WQt|`jhumLUKQx~Gkhv3JJlDr> z6J6C5C!?10zRIKS>t&GBc^dI~yfrDwIi(Pdi&PrzdmH7W$>1SEUlQJHN>^)x3 z2s^?*_#up^+shBtpAzGD{WsxpobS`A8`=kcw6FS~VL6uJJ8gB{t%vkhfzW3&-A zR`sxc$il|3DQsMn{TQ}qnJj*Twyd<7b?O`2kJE@^V?I|^j>`*&&G2osNYUw)Q8D^q z)lkMZLLIP?s)wt9ENlduz(%;%VLO)L+vVL$dMmu&>b6E{bDR#?sIJ*amD6qHDmrx= ztu>UfjZg<{r0U_eK^8WGO<*ImAGYJ;1wAWzmd)#5*3M@-MwB+A4mIccIgKhd;$u~g z?Qr77ech{imiql=oub#X)2cJ?M_;PzWlJuoa2eYP^}tT59x5(C*1sS2KsIs6iVVMa z@C^Wg$<>c<`ARafo*!jsDqp-^KicA;)#f_EN7; z_!L~fYPs(t>Mi?-)vLPu`g`a-i|(bvtA{dtt?onQBdSkFV-;@yj zeY`Z$RZVd+YB}$#JnFt)205Ll5ue9flaicM3emVorP02(QOXMRvmW4bi;{jt* z!C$+7&^z3=O^h3p>2Wc=9vmb08<6PX+wZnzCNIANemaevgiZ z$8pp1h~P*2bh)Y23GFQhDhx zvH=sEBhDF&umvBV(7$R)PhVT1e!+PuxQB*1)SR*Bj06 zD|*HF5!^2+M#_Y}IF3aLY{%+?eYENK4sc!l) zm#H*$UoV3mou?6>$6J$El75zjJSo%WC}ZXMLOVzCfzEWt zALoCX(Kw&}$%!u030+F#y!+em9LB^uk?HK;?KrO@tdEoWG4rZ4bzd)oUY(~ApT}F1 zlAKct(YQ#Z(Z07)&U|U=l9GOwg*++aaeiXluiQxI!O6JU`;}t;?~;Wup6YQAjF)*V z`g<{cm;Wa`jvHf9$&dEwa@@`{Dnr9PeJjqQ49!lR&sJijIAI=hITe+-jNDN{mGj~* z<(;pxqSGrQe#Eeg3}qaXp$^1ksvasXKo+qpYyulG4{sxi?H1AxB~bi2(BD_-Yu!ph zZ`}VopZx=kV`8gcb6V*4psM=0PPw&*+s?lS1zxr#+eqaV+QR=^{*8$zTAk0Fy0m|2 zpjsJhFYXVYg*dA5N$0eozvZO9Wwp)^#^<-k<4(A-jp3Jd-)^F-HN?rN<-D)*sQY>u z(I2N^(vqMB^frM*H4IIrF8dOG^4#7V@Nw2g8XmpYcwl(LXz%DHQy;^{KYU zdGF3-BYUSU`|yr9&Oc_ydGlC^9;AT$YBGhS#fC`6p%VIIq}b;_v$7{L`(D^QZN!sOAv?6$+Q-IL`B$>sZ{}6MKHE zKSR&+V!m&{8}GkJiQ7L`&w-leZ#NEH*7c2hYNdIXe0r`=^mcf>K~hUVtCfDc=hV&> z58m6k{Iiq0RF3GFD95f4lS)(f3x%$}|Jktm$MZ{Drhe7?&h)!_mTbIs_op}P`Q}O9 zccZ61ch35=K6YQ{-%siDV({=e)Ji3iXPMoIkE>)|EYC80%z9aul&^hb=V!Z4z3ykF z+mE?wbNo58RJe^yG1F?LNrl>x#PBud;(ba)E6n8MU=uot{w7MZi04hLllBV_%FZ*{ z>rsWBcIGZ>l#by;kbDf5T~9 zft299rqQ@ar7;h0HTpC7k+?RRXePQ>hw`rhpBC3dpSvh@iMB!=>rxZwFMGa`TENM; z+51<)dK|`6eJuyZ%X~dfj^CrthR1P!ep21A)-)pd(Y~@K$1-#2F-clw@&c`em0@;1 zL#nPM`=hUV>=r$)Q03l92b{2R``%3lsvM8Y#g3)@z5Rp7Em*OnyEs@`Cf~zdF<7be z@&3^>jy`tw5i^fH`sibhI%3AL#~#|Tq<3}YxQ-+EJ>Kr#foiw6e+bbB*^%~DhK7!# z!b1uJ{jdpa0Gq&;uobs)VYPc%|3$012U;}LEe^ndjz&hM>KYL#zY!4?MPT2T7X3&8u$LA4h zOR=Yqo<|<)8NS$qc*ZfaXCFCx_KahXq3q}*kESyX=2BZ*olBkGy`pF7S(WaA{^1Ot zU*+@sD9xqZKZUPBrtfImc%Dm5yQA85_A7qZwdW5n>I&m#^2;W=D$P9VrXO>eN>lgs zGU(BH0>1D$FrUX;laicM3emX8r;+?7vcV>@!6w0Hu8ReO&BSM-2a;m10iPJq{P%34 zb19Zp<#CK$uPd8l=QZ{{n`|r@)&jqb@l^L`;Ldt31-;F3Kc;`FRX;Spr?T^P^Qv5sL6=r`|v(}vIQdfkSr-gu>V zuQ}+;aWX-v*i(7beR?nJ+r6dxpZV~Hlbla^_na?3=3hFmxW7{R&v#zu)wA2>$8MNb zU)TAIBQNm$UHBYoC6>R8WOgM!ZZPX&d6wbhlSwb@`lXPsz4Y`Qn}0I0*XGSn+}0JG zpJ-+9Kioz^H_=S=KwD#ZDjlPK$lc5OAsxjmj^T$eo{m{Rw9BaXe&sp1$DZ)y&z$G` zq3k}=EbIOl`JuY?L*AOlc)hng{mhf+{?kK8ZKm<}-f)-Vu@p%y0WEH<1)pA~A2Xjy zQ}^{Ulg@xId=9M3(^n%7CHXW@kpF>?BgGS$M8cKPsgkun%cG>nwjCJZ@fO?k{@zjd3wY9t`oZR$den-@zBka-ZFR5m+zii z_{R0A;~_J)`uM6Jv!qH>_w_Q=qVoiN;d5Xe$6@`LxmB9FPtTUl|4`}e3!a;E^2!nK+0chi`1$(R zp8dhnmAg*%?$d3$`QPTe{_sDqzv=l8dcGli4z&`?e~)CCk1Jwbdz1VdNQRGDFYA)> zwI3AMbgg>$rp?E!ysS&KE8HHEp)Cz94X@B1{Fk!U4+SRK0rudBFrJQCKeTt-e(0#I z{m{qB4~<$sG_LQ<{nLV7H@|7WgXdoViHAb-{dNC0sq{@soQH=29w$X|2Rk?1_UW}7 z9(&V|Hbr?kGjJk$Au4O`dGzjM0hclJGUzs@iG__@wwfA9^@FMV$LpVoi< zmYq5unf<(19zKU!=`-_xTYC1Ay-Tb1`0owWirNK7Kf7VY!0$`DFZvtv*B+X>SLyi9 zdp5lPC%@-&s}216=D8QmS+x0u)4TZoq&z>h{k$J;qbN1eO!O2wtsl~jHKC8;hcKRw zSwHmpcKy&%M`!JaK0$uS-POiJ<2fGsyXsDxKU{hD=BqS6bn-txUn)~Nl~Q;Bz&Kqi z9rfbXo!3A7{?4}yZ`c&&Q7O&F<#73dy-$_4T(WOz^(p_uex$Hz{_`7d`SSl)y7lp$ zytdqa-|I?m{o%bEu08nI-f{RGYNhYq|L0Ekfyo=bci_RE-#O(ihjf1S%ojR8_}72) z;-PnqPTKJ7iF| zG3$p8XwMHRZ@^__xkBM8@(n=X&Y#nW zW~UKFj_q)A&zj0I%3+IjTDkfgly$v~WLb{wgnD2nRSy*xAnU&eP;7HvljV;Basz4m z2ks0xZRm43sc%`W^Uve+n`K*MUmTS=+qbce;h%MXZlbFujgwK!d0*vG_w_Q!={$}2 zJl>j=y+)KUZ3zc zxPH}g-$xwQrjMZ4;Cp+P(a(#|m~jMGkimBKj_4z99-ls9tMm=dw%xsFS*?$-J|cr5 zAQKhVM+80s*C`t|&PU+-Rm*)JF{@=C(c9hT@7kFX@HjdB@Gog?DasIfr#`(;@Z_h@* zrj2oabYtW1O{jiwECKBNX=07@H*Y$(>tB91d6RBq8f!P+*>@_@Ya7F5JPwKUvpr7j zqNgSJ9oJ7rc~nZXaW7oXbyM17?uJQ6v6lNc{qLRBmaY%gZvR)Ibd$te_mjPPYfscysBxM}8z} z;r0j(X=rJ9h4$dTl%;W=E-&%@qFo9*KS&Id3NQcfga_@+ZqLR7A{MBUNii-S?cp7@ z@uE#)+(aJbXoXTM@%<>SAA0%2-Em{E`>X%(z8irYTxa*pT{_&;-&g4GYsuGe{adI` z=;ixWarF~9w7IJvO7x!Ye2#WR6I*JZ94lnq&&(A&ob&Y>cfCtieL+!@eZSt-u3u-Q zvfVz_hF@>ik|dZm(~(EH^TPP_>(k}Ey`pxHkA315m%nS{tXDbw%%Q(McheoE_q@_6 z-8pp)^;>mAKlb}_O)VAsewi%NkD08})crz%>z0Ck#%=KrvK8IRq_|g-Yx2C3d zJ@pJ|EX`$wckcHQk9NSf58CwQPdr*$w{kanu9MpmZV&UOqqQqf)v58D_3Iu26Zs$e zHHIA5DW9u424Wou*RNXc`-qd<^%2@nZg3@SZrARJKH`?&d2=7tbd2R#|5np%=^M&1 zKH}yBr)|=G#H07zQQCJur!?s;+uuiU-Ku?gpWC9-&^GoF!8z1QFIJ*H;xC(`KH{LM z!bjYB*Fl?hz4~Kaz2{jUq1$+S9NXA0SO>y&%65-Q;QC#6m`jwp=l`-5at`<%Si86t-qC%8n# zc*^jrJ^}(+f8Tsmj^FOI@HnpD)Hf<^S8IrqQOkK>tA{XMdz_Xdn2|zUrP~IhGNwSCvk`Urp#k zN0s-$xXr4Z=R;Tb_QJoeQFOw;qRcgv@jGCs1Mh&TdicyB3md^Euu)ms7Pe!V6KIMw z*nQSu_tKT!OL|+IZLC$=%sTar&ykaJ(p}zKD$Z4v(`_`O=+ter&QQiSLLIP?s)ySJ zS=b0RfsN4rU^|vs*uT1O+3DTGmBF6wUM94#)s;5KiF1276%`wCn^ZZr!@2$a%L+7` zgblYSdUZRE8p_yCs0VgZ^-ysEval2E0y{AeZ?GTlFYLas(sCza1+;Bd+AJvH|9p;| z%8H%%dQ;^*JKQ$+e_$i$nfv@TeBDOV4P|U2)Bzi*dZ@SnS$}T4sMWc#9H|yBUc97x zC9BSC`!pHHeQk7X%&dZOqKI)H?{i~&k8BLyBby|jp`*F+nE4IBz3p!=--G)q2k{8_#yc8X7<_M<<7s3&-MI8a!yp0 zIor3fjd8C*zh7aZt4PGjsO7w`@~HcI8RT@HMtmM`O-gc3DMaHUl}7vCMmh7PsY^=w zSr+o7j0d8LagWA3kw*XQdcKJLTrv{I)9vMl>T>)>4xIF{0e%vEruMOX7T+`~Dlr_| zq~?gNt4hqsZBpg<9Q1D*%~te!=eVMD9%9O}p^W23)PuND)x+(AEbHQSV7%or)t0EM zs@Fw)zOP@_wy$3`(BD_-8y@27Gui%;eErDue0+T-4ctyj7|Zbt&GBc^dI~yfrDwIi(Pdi&PrzdmH7W$>1SEUlQJGKCWf!K&t-T} zHvR`+it*IsOS6tS%lnA&+j&EH9H*f@w4r@IKb7*h=k6PpW1%e8W7a6Xkag-C*X`A> z_lB^3jp~Lnwh`)pjZ{6{F37@0unBC0{s-H!Ocv`gTa-4lPJP3i zv98#N+oZ~|9rX2>QAMwAr>%xEwiD`som4&CHps$GunX+OJiNhvyr0E-jPq=;cEURK zjn9$OsA4C+-c&iy4$6AWbVa9bqoSdVZG<{tBUKL-7a;4;jW1|(Zk)q6FxTn>C^tN# z4YtfkU1n;WyT|8!u-URNmSxWNZDix~u77h0DQrB<{rvf3EnLn=ewi%Nk9D4KIoB%% z{VXYs>+aZR6U*16Fy}Rm#ziWPd3dYQpPd_frr3V}?0qohy_OiC!AM{ZhwGPVxPE;f zG0>)u7^?IQ^$!-Ze8J@g@)0B2yqnve#fJ0GLRXeLocqV8k60)BUOl0Y2*%3r_-&@E zR*sWV%XwerQTO#S$mu+d_&na4l;oUJh{i=KjrP5ba^_1@mz4CgEaXWUPnajh{S)s* z8vV0AB3LWIc&f)suwT~qPn-i}Y=2<*K8WeP7Vx8eWlfITxlp(oG`XdGk>V@k6kv|) zoP1a4Sxr^W^C5@L@cnC5(dm_KyYy7}-Zgp|Rmx=?&!G;)bE+P08)Oml!X~g0^Y8}S z@qQNTNv_gn)~Ro}H&9e;#BEaL*be%7(pp8YXD4MnX~a;*c0xU{ld6Z?23fWfw_}~I zi#vJCY&_3`<= zAm>lwe$jN9vwdOXpI)@J^Ix{D4}C8vm>1}C1NeKLt{Pb{(~p@~rK$UR8T9HrVZPuT zn9t*_NlDHrg=k!)(rP5Xfow1~zZW#V-|t~tH{9%eD3}jnJk@3LfeEc&@u?oL5#~NB5F`nK+y{BqIM9Hj{5pW#c{(i*FRb;qm%Y{(-j1wXF~UE42xF0Zx7PX%Cv2Ow zK5Ax%57L)oZ%5*8O4sEyPTrUnhto9Io8}oVUzWEkl*AW`Xe7lng)=9gd|T62C|U3- zQC^iXnLa=6KKdjF7}AZc^@D4@=hLCq(n_!O-6!Vf@BY(@=kcNLKAhkDrRC`4O8ll{ zeK?a0Wi+%8+LN_DF2}q)XU($KrHdC9&eJoZdc6jF{cTRuRF*W>dbi`XKCVZ}H7-m3 zZpEz^>xn!#>yL0HKJ#yhc&5(OAtUIH^rU6GCN7uhA=>k_M|Gw;T0KM>I&vGG`Qd5BGMGR1ESbX>(l!dT zE|qVT4xW?_p33LjBrjEHuaml=XhYGrw7l{$89qPuG?^g7{WrF!$?s{}r6kXbL;a3H z_ZRZNV=$wC_}_sUPT!lR4gQXS>-X;%r0ul-EdM(O_Q!|Q`K28z^@k+FZy9Xbz-B4z z1qPJM^=|3!81&z=Wxr!kE`NjLf8DH_nki@I1$t0n#(Jso9z;$zhk=Z|^tbhEeTU>4 z_e1l~^ZK@rzL~o(=(xq&Ugk1e<6GaZcT4r1TfJraX4f%tYe14%r$ha2#IsGC$jqj{ zghO7YRIh_%L63H%v*+;o2;J$0Jy`ch_h45nTeYHX(Y(dW<}GQvrEST)mC{aS{$SjD z#B}$};`4}QdLjAr)!4mK+~e{1fu6=wTAH55)BMD7L*>ipU0D`oB4fx)*sd$0DV#a^ zlpU(xkgMPgm2W6|pN-9l}p-7Jy8hDcX)6pzcHtJ$rcD^@LOtFNnHefspN)2Gy}IsLffryf70?lz)F z*G(azE~G>WQ|d%Kx$bCHQP6S!5PC$%14E>tWAkVo$MsOZ%UZ|Qsdcu8`e==4^6nNb!44b zM;`0e9c3WuY(9nBab4IQ}+>nN^A z$%V4kQ9&n4b35d-?g&@nzPvf&nL1NPAA#mbM_D{72Y=~(c}tRBv-F}TZAm==fAw4v%8E?-t(S15@u6wyeEX$ogfKKW99NZT6P*5u9F zjs6Q|nS93Xf+M{=zk{p`bh*bV(#GS{Yl_EjoL*QX?i=YEaaHS*k^V7Y7#YUB?}fNV zd}MU45j|mTSUa{x*rL0_yf2^iB6ISYqsyJ+%PlWn#@2{@kGw$s_Zs1GirA&r2#?=5 zy|6~SYou$$ty&}E&o3(UNLEZfs5N5kD>l8)g8vtiqc6uk&xm_Gog>pYd1G1}PSad( znrFCtS>CQt5??5ykrdMu&YXPmZB1LDWWlRMc~$oOStI%+4H(jmeV#G+d4}gxx<6hc zth`Epp3!`De*WGNe7BQ6gb6Dlt&5FOy_ue(JLcRUlDl@5r5t*4JJwTNkCJO#cJ?fN{v#vH9X{ccd=_)9 z(%c{9+nk#{Yj!KY8dQ`0UzzXyxXp*y*Zgi_;rCih-#TBF)YLS7{pqLmR$VnGJ*!vu%*U$RF-e2hx8Wmp;ZSVg#=W{ppz5mI5|2qG(NBr%g zQ@-@`pL{AR83$+6PE8H<<4Ub#`IM3WUpMQ-6Hjc)mmj+Rb%(xo=Kc5oS!-$D-MjnU zji>y>roVgc^wI8n+}m!_ac}t;is13OXkn{hU0JHnuSZ+D)gtAoB!)& z?`M4Hu6*Xf_%l~Ndybv?E96%qGSvSmU*374b+#_+Sl+s{b>7M~oo!C2kgs7_(wRT= zWBv69{>(S!uV1{Py=_g~yz4uL`H;C}E1M_g=ZH=7nLqPm{@OR@^=H0g{+8%(d2Cu! zxs>|ic`a0D{>+d0Tl?ocf94zhmb9*1ymHl|ws}hzkLbPRa1t=LmP$8&=EwXs|0U0# z`7Y+Kb#{zm9S;tcS;NHBOrk4_W1T@z2QpMcA=EwZy4$Jdr zzK7zEH^G%~>@!N$WB$yK`Ro46w=?@Q-$U`oo9Rk8_CTfTF@NUA{CV9m-$U_tVyQ|; zKx2Pas+jpJ@S{xe8g0IZ;_swVm5zWm)ZX!Y&DyKQQ1_h0zhs^MYr@~=nmT{h`HOF8 z-!@-fdpO%lZ;pfE)6sQa-(8JwJoSpkLk{_~{sv6{EcWN@OW$?>K@Fr6&+pm0*nc-2 zaM=0D--@A~F74~jpLx)D-n!p5N8xOr51R@%yyXl3bq0QZ|Lyyrx-;|fI+fA)6o-6+ z)}N(gFHKRt{S=13)bS02{&D@KlG3bMeD)REKgr1a-MF`jy2XW+clH&Rbu4YG%j&B1 zfA6nAKbOl>ZFIJ!t}FMN+cfDD%QG9ea6wbkLkIsZ>sNo5Mt`m*G}+X+NFnHF?E`7> zY_wb9AiltlmZW`G<7W7|Tie1#Qb#)m`7QyzT}a{CCgaSFi~)KW|ld zZ((~m^PLO&x>tyA$9$a z=f9)uyra!Wo|tFL4-FlF-N=-<+-FC(+_B7r5zjQsji0*Qy>srz-ko*eVUM&dt#};dNkNl}7*5+O<8Lrnm7OE2ecW@3^sT;mQ@$7PQ^6X4;v$Zd%l~ zd>)bLJ;JH;-BVc{eOsdHuWvOIEdYE?=x)hMTsab;aU^ z(^^-oXj5dFzLeRvXzBv$416~Q-(L3h3L>*tEzm-F{P8v6C+4y*bQT^`>jo^_uGQ2u zxn%H@3Z{>^f^l<~-I7V-MmQkyko>1bSzuhx_DU|f296|n*7&lYw9jr z+Sa-}uZYd`LZ$;<`!2gdSH2_B!ML+!V{2+gUO_OV>8FiUiEIK^3+eXicF{me?-C6Z z=;QK#eRW@t2#osuwN@O{*7At|?)OL+wiogGrtJ0m%dka)ptw zRy4re(xu77d%_;2i=6ExLe_2Sb^qzdPse-Po+I;n)ahz9SZT@jJ3Ce^Ub(oV>^tkV z|FN;?Y}GS4-#&L}!>z4TSF|nBd^_)!w&i7A#MCEe;GU=MEqq6-Q#@Ed=c*-V(hxuS{uqL-}*el%K7=`-?!>jVF5A?pfe|vXE*WQ9~mY+PhFW&r(Cfeeh z8ta60Zd~4Fw#vfieLS|xzHh29oSWLV=!Uker?dc-;ku9fm!i+r1|nO5@1dM+1vZAt zvnBNYN0ZIGY5wjtY! z?Z@^)ejN5NU%vI?c3lT~sEhKk9oqgFXP$pZhfbVxFMUe7uBx&)KJ`MU-SzUVkCRn6 zFK<^v^H2Z6J!6J{zVTNLALx9l!G26%cjzt|9p7~PeZF`28L?0Jz7J2Cna|hMNc}gQ zysD9U@lB`P{a@WZi{q0%ST4^GanteRcBvP+5YlIS&xx#G!#U4MeC{?}zRji0NY<~~ zzWkg-`{;fsx1zmudFQy++0GX)Fs zV0YLvHpd*cpKzdnJr(X6?;r79V|Ikn38>=k5e8L-T}#kEx2UGAsXWczmK9m=Pi(_)>P zwj=n=Z!sUl!EomxC2!VI=cbwbxm?~)?;3Z{{rTJIX;YV{ZrtO)dJnu)?^_?*@F@P6 zD^CMnH$AUY8=B5tI`~;(mk6HM*>7MQrN)HF6?Yr%$d5Bu-12mOotZAeaQpd6-50FO zU6j3{cKfwo&9`5z`-1j#zw^!fch%^(E-_{Oa9_ZhyuBTK%@-5a8}|o!zPkFfmlbe@ za8n33X5>7bFm(Ba{0^J${Ll$E*^Xm)w)ZV(NNreZJ7J2b(fI)Me$ui&$kBW zp84uK>&It$k+Qz^`ViX(wgGGx*g|X%ie~m?8zN3#>cTFt8|-1eeCx&SlJ2$?%*v48 zb>TC{*uPSz?+z%(odJA6Cyb*k_4$5*cGoLzeGJ|utk?M*R~P0Ze9rOEW8d^FpYmko zBHwiUra+H<)A74PI(`l9hq(QwK*z5mEXVtrcL}SLwQV5SSGDdE zx|8;6zddN**h|bGwvt~<@^(miTs}=_@9Z5a%80GsQOm8D+T`)$`L(7%#$=)n=zxsuFkI?^*qx(FKnZ##F zY}j$;R8Z<3A@}*wEw^Q~FEKZf8`)Ero4afF*3adJ@+s%ESf{4#2tI3d%m;C>ZSE0N zasG^;wXLf$y+`=oZ!erV-26FqkAVIv=e$?0q<~xIXnJ%fx`q|O$39PqG?+JWIkok=9zA)bL9fl5K zTB$VW%l5qNIbwY=Po(z*UWdIWuGT$4OJYX@ksZPJP_9z<1i9w?-wbv;J&_&F7t#Dx z`<@`?EAFqNdxEf*dhV&#J;A`j;&Xb>)%mest$TvCM-%wP@m3vQMeLUap3A{)5oVdB8rst$`-yEz>*0!EtU)8!NSeLXv5ZO2O67x4WHx1qs z#O2fU?4BT;c~w=x#<6Yc9`c^xon_t=oJebxbszG89H!dbo?G|brv9LN>w+;_D-3)$ zyf=953-g|!`N`3JUdBY?vm)cdajyxb?g_e|8r^bRM*FcIEH{4Ya=#dRZ;GrpMFS~6Ul9$Y^skBrQu^0K11bG!(Ll=2H$?*}{Tb0fN*@pn zq_R z-x;){bgqu=*!KbDzGbRU?kHRSWzdf1t3mTu?K{etueiU8?kK}P-g8g2?kM~BF1{n| zIqN6c_b{t!+8qpZC&KlfGZj!EJU&X?;B3?kIgf;5o5cca$5FwXG%CSGDdaHzw`(ME1>`9P>9gHx1rV#^uv= z?kIiVhE0-=WB*6pL*7xox6C`rlWC>0Zf&}0Em3{$#ankrnftH&-|V(7d`H>yY<^vA ze!~m%jb)GZ!ov2hPNgP{9 zNQ%yHswuo>n!m~4UmClk+*D)Rl2W*%4C}zw+)<|IpMEh4Qu;SV11Wt#G?3Dt6%C}z z*Uv=*DSd-zAf^9CG?3Dt6Af$>Vz)t)9!TlWY61W$eL$OJkkY@Y2EjgYIEe-dM z*mq0i{(Yv}u$Q-NJp+UH1YIIpKRenTrS;}J%9_HPNF?$5$Y+~ESnnZmen*+nc_Y~u z=pkI7J3n;c*(Td@tS{_1y`%IQ06S)^SL=?l|Egj;8VF}G&g1FW6sh2BN9Ep8HYazK zwf{P3NAuO1`K$IFWz1LHUqyG6VIS|gr&@QEYtNoh^oF~oFF*HG>yEPhoZ|LtL;Kab zqg=b8_>OWQu^H>fcZC=&edzUp@kO}Oca+wP+oesnrC`>kmbUC;JN6OWe=x?%eMf11 zJm2mpeLvtiv08VO^~u^+`~Cc!RINM88Am9C{v{*adeuH6rJCc-}|%w zAG@R6R6o_F6z(X)I##$TGz?cRqse!^BWyxR48*FLA z_kVW>^Fj0EwNK&aKJ?6I@duVZbB_1p-ZN5)eMK(%{irSxyl3=1L8d#ZIu***KA&&6}kz|Zq@PqpqS*FLr6_i_6@Kg+jYtvkx@Ul!j{_WW>g?!jiP zAKw*k;kZ@VCVsrS))(d-W&iI-_gx)!;CniJ?A~$aXi(~oGWTDjTW-r}Ut(?|cd0W||9!=F z?()O=aoxk^t9Bal#ci?lJE@I8X(b<)vvdXM0F-Fx{`V1dxW@rn$A6f&%_FD`8~p?%e+U}27fc|vEe2= zgp`kte6fr5V7c*AmwV)@vA0gCQj$1&O-PFJ#%T~^e=}}V z4ONp;c%yCA)+}kOIpMUL6Gl)$_!XDqRe1XJkyLO&>&mv}i(8kd?dj7` z903P&m)$aN!ID*NH8-`@j7S73=vdym?1nb=!bn7z)3I_z-DNA6cZ`sOoo2T#Th_5` z-h#z9gwDhoz?R#=%HtNOCs%c1Ncl=KlPafznys@$a}Y$3QIAlBi2be8fycrKyK#2w z(zfNTHBw^6_*Rd`nln4BgG~3ER8V;9lpHENoEg>Y1Jdv3J}o-%9i{h-BIWNWTav#S z7xs+4Cn&YvQnu2r|Ayl4W48RC>b`YqZb`lq7531myc%zv2GVm>=P$F*0_nFd@nHSz zXm^y>+u$8#_Fc=qynPhHP1MZ$A3EW}9c8Sq!E*gX9cBCFvx?vBMRqjYeN&~rkGVFvqinf((2nLyf#$E;ca$+-aeu{kl-|dC?y1&W zr}pcTu^+w*UahxIwQnzOza_L^t+!6izb?L`tX-biOwf<-3S~ysxuXnval6(REp zqqIJrZ+DcwAMl)*Y$xc}BIh}&+~2j>kgRPj!MJN(0|;*>^tzyJul2V%KnX``>sx1IHEhs++Rkw-0}US@6=3VZ8FeL>~h~4 z`#xr@k5Xal(`jFS`sp(Wf8?4^&V1MX_s{%5=gfxmj`Ah9ZoI;CuFH-2+fD=7c~lDb zyzRX@c3%y*uDGPk09)+Pl7114T@V!+mH{(73CMmy1 zW7FmJ)O*`%o%fr&CKR3bYs23gXK!1L^L~GF-mhIbXb<#@`QyCr&kTKrLXS9n&QxBz z*aossgN9GsTSM|fqhGjdjN2#8Z^g#7F23G#h1WjM71cV|_kW^ztkzyq-QTMm_;}L( zr2Je}t#f_C4w->9xw|Go*qAd9V@cW{%lgz%DMBt9M8;sN6r5d*;qQpHYpKb03A_&A8l8URSi| z*i809GGiz{bJw4f|IOpvyIz=Q?&kj<-Dgia)@Mz8#)RWuyS>Jf*RK1oqg!svXdk&8 zw%qusYkps`ox99%K6MP2zP-|rFK(N)6NHx@3XRNBXI!$>nLGV{(b$gMj-_qW7T(m_v0_^1@{SwZ7Oq?|Z9&^DYo?vKq>U@$c|_(d>{!~_u}m+7 zR?NG#WBE->u3yq|>$JAjtxG$XwB_^9yJ5-7>$Ar&oy!+1-?Rm-D;6)D*1BRvnxACCXdNbN0yXQXPp`xORN;T-g)aXUt$5){pPo=o9*oa{}`@AnZF`!lXNnPu!0D=+*UG ze%DXB>!*zC9_f9a<=fHk^L(E6+*Gamyyj%B7zq7et^2%|r2X2}gP%2E|1p2qMS7nX zmoKD8_j$gb!j^1@!`|ohkMut8oP`}LI@{Zpx6xEZ-N%NTh(_2_d(itaD!*E|Sa?pT zJ?rS~e!u%Y#rGUaD!MC(?+te3Fntbx%q!-TIR%vZo?rjpM)$pz#45;%yq2FZIsm2a z^K$eRIh#*{jE8ONA+CdaP5^b_5@rj`^^i4|nEB^-(HLou%lV zpZ<2^iEsQ-<4HpLhNkI=(;xMGTU<6ztsS`V!w24}`DVtMKg1t%2ITXUiUt`)R>@brCsiy78U(IQSHR)zOl*u@y??52d>M1ZqGhvxbfjLSlQ={u&=RR zThH4V?p}FDTIOWKyQQ|>TIM=*2bl3E2}pjF7Tx_Go!c8cunJ*#6!r_ z=lr7gnI6JfS=C9NEF8*aVal@(LiIl#G3(OGeY-voYj{e{|J=u6A4X zWTRxy>XYn^(n(*?o5SeG`5VcPJxo#k-O)V9`crtjwb{VZuTTezmiOR33s>u&E_cs! zMQD#ZC5 zm-`n!+r#m0g+1Z^MCABAFOHT63gmmSK)II)y9>1f^&KQ||8lTE`Iid3nPT0fJm)C% zbErT)hY6f9>IBM76v#hGAm8Bv>5~Q8IYJ=ckplN_M+xMw7s!9KKz?{BB{OXzGY*;I z5t+%4%nc)SQsRxGgpa)t#>Zx82Om2jj1OoBAA2H<4`>G;dnAnSy6_p3)Q3+R?c)HDEvrS9T$59ZGVZl~wA!85{ob%gc9UHNk%lkE$;A&l+e=r8OOhmQ^8 z@X;mt$;(*SNx&uVZR93L471Na~h;W~jhzUOvihCkwj(F1XOcqZ(5m3TV0!ZW;k zjwPPXv+xY>o^Oe#b1po?yXRiwgz3k+;KL(fc!Ll4Axys$#~&ZUo|EAxotJkO%{;;f z{G@aAPNJDd_<$em2sKQ4sf5#7NbVeFPT{w^VmO~W5?!q_=+e0X*kdnOK@ap5@~ zo*l;iiIdJa^860ZglU&HXp1o8jyOJ!Fy)YeGK5JZj*nb~nQyak9p)X6Yjk~!fFth; z0e*0u0_}pO0=fk^3fKVoZV=EFZ7&jNAN{rpv`e2|C%`9t{7M12DAOVwD^TVN;W&XZ zmkQGa%3LHIFHq)u;b;Nfog>h9==v;y{-wWW3)l#K)+AsX^z}?(hH!@PaseBG)*wJT zMIbNnM&WdUd`-eE0ous|brU~RI87iQZO##(og}~u@wvjO0{P(aYysMd0=yG%7T|?^ z$aJm%?F0dSiJvDR17jZ@Tp&Q3F2FbO3k77x*3j9-0<@_Dd=tM!Ku6dbI=)PRHbsDM z;+G5P6kEGOxKe<2i~!%nuM!RrUL>>#uMnWs3-C?+Y5`v0@s+|g0<@z9`jhyz0=&Q@ zHZo6ucBDZ66Q3`@3p`>|3xxT?WC432zEFS{c*F+V1ZZ^v_C@@90sX-vHrp;hn!ivq5T!Y zN&(to!lV#iC4VP@a<>S#3ed(0bpr8hAGND^3hOzaJwGS<7pI<%Dc3A`qP=0&%!g(k z{{B5Of86`uD1TzZw>CVS#UGmbL>8a^ME(q3d+o|b@;ATa+RVRa>gkw%&FXK>&Ejj{ zI5qR1dw7qGJ}~zsSzJ2FeAn-KX=kq=-rO)@+7mNr_Y2|+AAX?EUwMhjO>CfjeAM$h=`*3bUAKpP(A}=vLq6zk*X`ZB z@>^N`==rjl4`uD+)9xqU^p#Ba#J@Q8iJADc3mtig(>^}!LPs9rw2x1_(9t9DCdrLY zyU^{!4{`Y0>xchQpgX_Q9d|pXyB*}E9@?iK)6Gwu4j-1objyK0sR#L}$8^gZr&AC8 zj&Hj4M1N5a{YO2fTc1vM-2Gs>`vH5P9_)j9OeapeaXNA9+jRG{_2+ccZ4XX&+(O-U&HAu@OefBGkJE{xmzZw7Ss&Jq>BPw&rxQmnG2MD&K4kn`f2MoBiqk1y zqwm$>n{K^XAJ&iQo)4YwIC`NT)2%n#o%Lrraq`FM#654Bjy{>+txu<$j(+2G$E|0V zL!accKAmnl`i;{ax1L=NeUi`mbh_zYkDTtf^=x`9KlNEI)6o-j^nmX;>Da#M^b6_k zhj{&fPJhJdj=R5Hj&+%Z+HW0t)COxg`=jBU?{~}nn??2i@a+fVcfkYUd{6uAABJ+3 z`tD?R(thpV4c;%X7mfLYpGsddp?}(m`Pf$N%u&UD%YM@urFkf$sU${?R0_t_9+7A2hJ#LxXu*j3eCcK!iB;m0(*4!;Ow#4L(dl$ z3hZ&&!?H(Z56T{sJ>+WP?}R&qR||IuuM^%N{DW|h@HXKc!u`Sn!uy1Wg-3+7!ehe6 zgii{O3!f975S|j&3ttqzEPO?HTKIPeM=tj>!0xaobyF?3M|)Itg!RKa zIo9McH>QCx4OC78%zw9QvhzH^yS{jwE%@7{zWaXq>xSdzKi2z={BaC?+x`hOr8eSNgm2JsLt$8TXkl40@N=a8jpSE zJ5T-3Umx!MsoH+^BX4N9?Ur+TpH=vj)?*tk`{B-gr?x)U`)<`i{=F3rc^b&`X7LXF zOA7z?if4N#{_Wx3mncuDvw=DTy#e}LzwnlZGY+57c*L4d^|F?KTy0T4gbREvly0CO z{qDYo*Ncacr_cFC?=?MyGyYT$d9r#!*^Ewk)tQCGPeb6dK{ECR85<;H){bN}y-~6^ zg#7T|Ah~7+T{TMftR2bTD4p~My*Z42&@K7VL*u*t`;msJlXHCsuKRfJ`+xYrldt{l zUVWcE>>a&pKYsPh$KUi=@1@_`v+vjEEO&)d`!E85xn8{ISf?kr^MENwbfx2-_zgadb)8KDr~0t_jv8QVf(Z}yiOpD zk1l8jANdI5BO~qLqX)wH=z@0e(HCKSbVfV)=#?-&x~&U7`X`L4)y_@vQ3K5@eM#|Xy;Op$+_Fg5toDYKJ69i)?ww#Y->IO>9CS$0u) zyl{emPLTxIcYzfL+MBCb0}A_w~)X2x9qoy+)mG{qH~}O z%=+QY6!)<>?3BJCN|^D1gT@%b;bW6Hd~`{E@-kkrcWj$6O@A}y828vTax*tz&)E5N z0ew)OvW$PqQygaLJshcNXJ$EOX#fHuiPn0ATd!xLcukK`c?pTzNzfiQp%@(`{Q zh~vXIVPu9s;)KxyaeR0t?D?N~x(2{Ayn8Jmo~{S*4DVhSh^K1Xfvc-W?tb3zS8w&oM`419l~e2 z*6bo0Y48e<@CMKDiQRfH28}ev0kWMakVY7Lr#xZC4RL(raG3Ey96IBSI6iU^W?WG> z{19eb5(k96u8^N{Q-otfm~_S>J~9&~|8c@JfxO2EuIUGDt z4|(8^xYse}|BEHO=Rwai=<*f;2Tv;m&FP7vUi_;~^{>>;3o3j}D>1^6a@p@7WT zH#)mmfHqZtZ{n8-=m`5p$CnAvup#&+ez|~7_ZF@Yt`wjhBfvNDtAqoD7YQxGD+Flu z0(=v{T7VaLJVLlzxJG!LKpHl1l<<1tS^=Km6?>T{Ks!>v4v5be;0a!_uLZ(Rl0?*z)dN?0vWW+#Di#9t#ECj7lX{w{%fpi_o+CJD4lUF3tu zy99LeT7h}yK`9^?_B*^4Wk184BqcxZ-ik`pqPLrV6J)yI?D!3p-&)0Qet7%kH*xXX zB_dwzrEH(-AIM!URGqz`z5=eKo!^XNBhv`;$ilHYISXdgQ5Lg!5r zalbvJUFi0apE&&SCen20ce>+l$8@*DTQBONed;mY{KV<-V>wK>9K7|S9^|7Q(=BhD zPCdN&!Z+P|;_VjojJ+AnzcF?{*iNla_k-!^5xaG|>359`Zb4y5CC1>G0!u%yjG1`m%4j_33iNc{52qeCKnyG~M}3 zcfVQBE^j*hK)p_P-2GuXdMBUt?sU`rw$$m4yFW~i^+bJ^({#TrMPH=bH{HJJuHWt1 zH=TZ_9{LgA{p+~<*>u+rKa5eg<9eLW>s%U7>2AmS1pB6^^}0UOSwG;z{b}EH>(6}J zH$A%_Q+dCK>QR{e6MNa=oIk@T_bqMi-sCN9bU(!YI!=eLin~xLdYG@U-viQ)+tXGq z+qbgU-BVyMzMsHZp;maQ!2XdvBKzNZfju{SdiK*N38xCD3p0f#VYYCVaE@@kaFKAS zz_|mt*=JuTvxC~0UlzV9d{cNv_@3~6;YY%=!q0?X2)`75BRnVk zLHLvK7vXOL${a7`ggu3Q1op>;cc}kTiFc@*vsxJ0a`y=~`I~XM*6$a+^Vv-HLh{K9 zy+OE2Ko7Zd7H5CIuKNQo%y+2W<6fBWP;>jgK;NOREw*#NT^-J6@C=u}z0!6{_+q^P z`v_a>y0`Kj>bP+=-@14A361=QB5jSmL)}`9mzSS?L-zYCVIA04)oD7fnYJB%e`U$4 zwjJU(TFTStSm`khjD8JVFt_k`#E1QURP$#a%6{)rM7{>J}4>t^N_ zo#$%2CZHAOmP-WIob2o-g7=J^-B@=>tA@)x_L`#K5be1mzlWQy#)n(`Iy+V@<``jJp zUSrFBzu3NC@f-J^c#YNlTrTi8_Qt*Vebp}N81AWY?8Vp@ayG?w_7k|;X|4|ev&}B z!v*qB7WNR15XgUIh#wXF`rscO((F@?uzm6or(VMLsfRf261Go!#NmsuecC5pClJO* z7qo+qe1!3lk#_LW17Uo0K|A>9i!eSqqaA$oN*EvA)&(E^6UKKNj5qoR|3txU;M0G! zgYP!*>1W!(cN_S73ABe#8_0x@y%5I79=wmoPWY^YIAPks$DRn|1KPpoGZMo7tOWa` zPTnUG#wU&T@re`0KStoQ6EHM_c5fZX9(%vn;zP zJYG0KK&QxrzK<7966jO*7;lmv&qL!B-(GGUjVBEF9GDAtsy)iGv%r`d&iRdbx#ytV zRg;U(fdgTVrhW7~lym##t`WIwircTf=U3UAbNVqiRO6yo?2Y>$i{H4ng!bu|?CojL zkKdlc5_XF1(v^f6A2?`?Asjw7iNnWs$xmL!EB20UGp6Zp#vJ1woii?(8?a~We7b-> zC{J0&KjkUQ96@=?GLKN6ve-Xmse^feIlN9_ZroLvC@_DbW9B#J*xdx?K;~iQ^2q{o zD1e4d5Qa`1pE862b&!WJ^$^FW4Z?sn$wQcSiQ~f)VE~WhAq=0y@sWWrfDiHzt`msk z!#81MhCkwj(F1XOcqZ)mpLn_kz%#siEg+t*2k;EsVo)3G<-m8FYDzfP<$M0`lWJ1?mAy1^O4LLEOZN$YZ0uUD-?!z%3UfT3*{~n=x55GFB~n942rwHUF-YA?dkgrLYB|tk_pl;%43a1I=qs=)2w37sQ zAwE|)RUjWco-IJbF5#Vcvj8vTL#A^DXeS8pOZ+?m8TJs+!36@e=>mKczfeGC>>Hh3 zEI^woz&G(r1ayRbqvOj2XxI>Z6Te(Qr+W)m2v-WwjuGIS_*KFI!i$6!;S~b3dI7$P zUoF53JRTw3EnFkKP9O~%I7)cEaIFAO@QS_66QCU_UtPZW4AAkO4Zp-zXpt^t*&5 zLQX*5rNS}++TjAS5bqEs2+%r(n+0fx3dllyxiDUUrxn6V0UCanaJ%qofiiapYlJ(6 zTZCJMRl+!-P9T1p@OJ{`UL~v+D6^A5IpVJo4io-fAb*!YJO<27nwKZGM(%#I&V;UOU@h9u{Z8x ze;0Y|jeGvhyWdRv?YrNy^JbZOgg4UuZieH$A&=9?-nb9Gg=fCuO}F2&`>p!e8~6P0 z1o(~l3+0Ww-&*!)FT?(cz3gz#pJ9~y#(nL5#c$kuqWdBC*Ks<0RosP2*}u(K*l&$# z$L;N`F#A^ax_b)j#rG39E7S@v71%$rM`Zt7FRn}xRu_X+P5 z-X*+OcvyHuSSvgxd`$SH@VM|f;R)d>VZHE0;mg8Tg>MSa2;URFFZ@V&R`{9l3*nc- zZ-nQBKL~#k{v!NMK$*k7asSas-?(?SE?d}oQ(H}&-V&WeOBHjU)FyvzZSiMpb#LoOVzxmq`$~*7w3S8Q;YT2TNs}{7GSV6y( zPN?4enIH4leQ;hb^9_Fs+gq32uq~JyMo#l*e#~F}OY{82d@pZZw0Kn+eL4&qBsHCQ z;?Ek>Jm$~*n7{tOpZVTJ2`d)gR<`z<&-rN4=h-PgUgJ%NKlaFRxuI-9yYD8;WBx5q z_hET`TTbd|UA}PMqQ&fjEAN=YOF8pre#~EeU7o*~?|IF}b=|vvu=sBt9-jaG>*;D`pJ7_6*!Lo4U7dZG*iE%e%D2yb#~~(` z@O|G=?t7sAS3g@U|6B9#ap;#ib%OQ7_aY{h;A4z5rh!-k*iDaYB^T_PcmCMTQ-@4x z1T&Z4-%I}buU*>s%U$2!iw~~2|Jpd*KpxH%(4%mJ>gaPlD%VF^sHZQg$KeLmk>#PD zDC~OrB7XX!dinxC)I-?(Wc0vKMh|jj_0WFA4|2I4hv6s76ZmmBtDmwuL-mF_(N#vL zUh!t0GkVlkT(*HW0}td!=kVrwkkR#Iboy(u3dHjO^Yi9^hc3UiGnxCYgt?n}n|sFL zT&3Q-ch@9ycQkj#YkbO!=gxB9GS=@h{^9uV1=rp?ICr85^T&JlroaTc#i1v_S_e&6 zdl_~Kan5I8*We=$;5-G5^_=h?Ag4K&XQ)Jd2$k7Mfh zoI>4%k;&u9|woT7VA!^zAf(dg)hWKSeP8M1^f5(COb9g6YV0oIt(M z>x4!DIy$7kUoKED{faJU3Z`QVX9&~_oxW@kOh;d*33UQ=?Cn$mI{il99w|`ou>yLU zBA7l=VeEl=p`)jh1=H!L=>qjaM^8ry(BT(bIYyu@bkC#y45UXi_;;HMmUP}vl>6E9#^fwE5cU(akDiBe zmHMsX`qvbn1#90nxSy$0<1v5mGyJMFZXEigTwL##mb**k{28Qz1^F3gj5%xro5jws zA^NvYU`#UZus!;ier23s^G(7Wp;f5WM!wh~pW~JrKXtj<+p@o3 z;=Duolyh3FQ`2??ADfQ(u$?o9mgA_ibou5pHB$&(oBS4U=XwA6L-e$%%Tw!LbM|9= zE}WbD&JT}$KD?=xwwA)0%=+nho$_cpx3u^^-t&5o(y)(GV?yMLyS01VQ}kQ7wd;QL zH0um&`98z6R1D1Q1?oU3yYPoN457s26tRL>T z59l@*G^SWe?x6U(thoe`T2vh9%qH2T&2EW-kqGGdfq-bewn}e z1Ap8(c>L0Lo@41-@>ve&BM*H~J{mD^N@mB8GPz1oELvx)_HN*ze`A4BXOTD zHkgrAF=QF42IvXD3@nSo7`Qd!(7%qK#r6FJ3w)Y~#?Z;Dnl!{YlDSCeGV$JGm9GAQ&{?W-t zUxV!p`y+k9jcx&dR_ypec668%-h~ima_S6p|iBV2EuyHnPoWptJHb0JG5un zYTudPFR)*!#(A(dtebAXCA3e!G>K^aRQfz_w3!DwBHii=R7!EUsvipxFNN*&_3gX`OEt8IgdV}?^t7* zW1Y`(I3IaPCm)V{b@JWb)}9BwPxDx;)_HJ7Iu?R{s&yW0PTH@%zxX^D^OudOplfV5 zE*qy|S1nP!q~R!2I1m13x#z*n^-$L2R{i(*a07CyYT7h2RReT^zc%Qn`%}gHWF-~t zHRFBfjvPiV_>1?--Y1v*{BV!aeJ)D-$?{tV=%Lhkuz%0dEq7{zu^y1wfF8U4&lTHw zT2HAsYfMNqkRQDw1oEQmnOxnpNgLcgWTnw2V?$OGm1VR z3~QqIpw&7L*8Y9*ySJXGPlr1rRO<7=)k&WYM15LEp9cQ6_B-EUvw_4}H z4as?|_TAMz59ZD-{=RTaXun$L!RFM~Li;}FSwBAKsryTw2Q7#5(Z9^W>3PuYZS8r` z`!tWm&7C$p7Rr4C+ntVupr2};2YZtCYab{+561juV@f)w?>N)MW#csFkhM|0q~R!2 zI1m20-18tW#4GDQ1A`TI>w+Gr8lVgO+{WT-u)lVLh+fc`>wS zS!>@@-Sc99wC{k2me9V>i`GxY&x=9sa?gt~|JYT0Ui6yjJ!-Yii>uQ;eAK7aI4=$) zeL4{JX`OUr{i&}FMa$uQ^e=O8dR}yUTYFygKF(vYTIaZ zlFofzjLXJp%ppDxDVX&qKIf#udGWz~J54G`*)4S!%+0=kSnM-Pn0CHq*_9eO~muP65V#dS3Lr z?)@eC=IzPwS*3^S8C<#kk&B*IkNuz4G|2)_Ji# zIj`03n;$>bdT-jDwBHiiuhw}ncUSURc4*({MeE1sK*l+J#~REW>wK2O`N%_hdR}yU zTYFygKF(vYTIa>)bSwn@RO`IhlC)pDU*0~^JLj61zido}J|QhG8>cacv`6)lhNDd3 zy!fG!o)@>>Ut#~87;J96wCKCp8RKRA*B$gQNp&;{bwZc0vF)1t_Ya>c-bX8GhukA? zZjVkMlZP?syxvEbIxpt-AKmAsw4W@$b$}j9ofo?g9NlueZ|%o=KxPAa>~ibgk^S8a zmmA8bjMHMBnzkeQmU+1E^T)avL749_3F|lcdo^RfXEFk9mQjRtv0LT6PO#Qtr>W!b z09Nw%OzIcr*QMN=;`J$=W6WP6zxaT^Tw8HD{-)!$TS-gnL``PSo}Zj13T=2cwCOYOn=YB{F;BybC!$wV0-?aiTN>qmd|{{-}d}H6Q48S3;m|Q zXOau&4BvmSXQ_tkUi42z=c%5F)%`t_=EmgrOnz3~zn?ZEx&Nr$fAD-=r%tebxWAlK zjSd-WV^nK^`IO%?v0ZaNjorNb>u+lS*S+C=eF*sb@tM%B^ldQ`5Lv`|lPRFA{dla&wkIP7|QBYt|LdU^vt)I*qhaD5R!gsBI)vU+Hr zOp#o!2N_*YR#&LUVb`zH>-$2T=qjUAuj(|<89iz%F55^ufrpqk*Mp3%2c8@0ugNM9 z&jZZQd=4jTn7<=WdG^fk%HQRONB*8Z?ell&$-`%D z(6~#3C;nbNbsZ+qW}N^p69wv~3_3t&>ZMM?$VeO11wZ5^PW|MeP10x=KH&>TnEJ?1 z8tqdCey9_D5r-dWq@!oblLpVw>je0LKj`R@GIauZkb&?-0lib6Jm{7*WF-vmgwX+Q zk)N^FBtN#Baf*X-9Q9I(@34AQ8M=VqYWxk$+?U@}G!9$N{z-P1M*HYuC|9Y!S(5u& z(*7&o^8|kbH`9w0VgC4RrYkUm&apT2MA&1@G<@t0TOjPQXBs|s=<(pO0L|kT`=Ol2 zCw5|*ZH{ubGwcVQLBq#xuw}v?JJ3AN(Jgf{K0Ss_!^i$8N7!TAH2gYYqF_6ZM=NolQGfR4SLDnO^-=-VR&>OEFKPg4ZbCn{{afsUR|7EGs~rVG>y9X%Z- zK!;y!F!I0ybaaQj&^?d( zGmsw9;NNX3SkievQSNs++mo|c%K?LLSt6GY{Jol3t%zG2?$eg5 zwr2%&vR<87d)JqT8$Wfq%kLihd^lCgmd9CUg-t&no^-(CGqJr*U7lL|)o(w_@0irizc%|_lTGuD zQMN_{tmWM*;B_LWa4G$>ud3wd!_9Yw&;LGidC^%hony?O^P9is4_sDMjy>}B{CwE_ zn7_4;XjyLJfXCZ2m1z?$My{ASZQf%g=|k^(*PDZ}U^&@8fy?V!pTM=fk4anKR$;w>>`}_BjKl z&|muf7N0YEl*V05sXdy=6?eIsgR|eUbHy!>Kb)O=I9u*xVhO)ee@{Kva7a=6wV%wl z&z%Hk-l3fDB+C7LqTDTK7q#DWVD$O0F0rg1J|E_cIOfJQFs6Yq4UB1EOao&Y*i-}T z$6NG)h1Yf7$FOdmu6HEhqThd@@AR+l-*Di?A8pv>^2hp=)WutmnX^6$z1MVn@S!#L z_8oZfaSiLf@NC1*kG?(2f61-CYk2R2?||NGI(6jVjC2*=*{Ev07dg3s{0fU+2y<@h z669yUVd60Pd!zggH%9y@T;M0GC-4K^{4`3|UdyYp3h$rE8{V&UA#b4fq6fmXfxMDQ z;o~xSRd+AEB5$Dgq6g}UP#7~w#@MAjs zSl-^yzsQowrM$d_>J9x%pT_d`hW0cn1$?GuvMIN=0^{>P9ulb=L%}vAN+jTpB-_QmO`whT*0`l?s zG2op9KJOs_?<5uqiv-U1yh+$k;Jw2E0`DAn-@tnW;H50Ny=7$F=}(PDn$K zfVU6$+#>+qmyqwI0N!R0J|%!R6Eg(fO7QN2HzsEYydlx#nN6<5n*wIZhkj_DF* zAIuH@S@OZz0(qMQ&I$gx^1*q+<-!%h`N9PPeS&T-6fP2w_Y&b^;WFV;f&7%aN`Pm| z-XJUy_7Pqo(7&$~=s)sP=e5FO;YQ(VVV-b}&??X#eKTL653UrbpZ=llMFM5%o0|mM zTq>Zq4go#hERbiJKpyx(m+(%!Q`lYDQ=lyQ=qLIFe&Cmhm$s>s{O||g;{@ot3Fz%Q z0seOuS_JrlPw2>D+nTR1@}XN~+)Fq_puU}gzl(e@L7=`}LmXadZ;yZ%$tR6E2=6VB zj?T%$xPp%ENuw{R?*QRIfxcKEz$f)EmY_4vz`+7z@TCIfUnW35G=v#nV4^^tNg;f= zeDc!Aq$4|d=sVJm5~$Z>44b0-6ya#$xPYnhj}@i~lw&-RMjsJoJb{x1@|+UFr^+WC z8zB8Ofjrm-X)hP3m$8Iv6tD}%(q#g+OnprP^jQIC$|vt^fqLc&q@5MQXUhlY2;@08 zgwK;tUTl=~3k34e|D;_czz=rWE-V(%5&T~wzz_PmRDeJ1?g{}r+gHF=_ZP5D>cZw; zDa;qpJ$+2Sl7F7S*rA=JLaTtS!V|PM;l_ZQ^tx0iuXwa zVV^|%*wRqW?U%hz+L*Ne>HIz|)61^XOW==ptLuX?;O!z{`-IWg1OXc1odp#w%-hVf zwSh(%^6f5Q+k`2LuAvd8>|O#i!jxrgfJPbep`YDCn0zk^G{WTDJJ1MImU$Q&Whl$| zK)-}3%UFR%n0(A5&p!Z!JKxSfLw%+5vB^z2p=m<6QB`3LueA9QHFdc2*^d4d?yLe2$PR_5gOqpVU7Te zGUPi^KrX`MV_k(tn0%)S&hJ0rW$VHfZ=LpaUlkYqM8ez)rCP1SM`7RKUi!k{v6rd3%-$ep6 z!j#=dfJPbewF~HkF!>e=&t1v%=8RrWGXp|w}B4J?& z&zIjOKqE}P>jh|pDSLwejWXn0EYM$s$#=FSQWyrTop#KSzuS0-F zn0%cAG{Tg>aApb7H3IRI0Tq#Ttpx+^&(^m`7DYr`4P1seS z+#bSw0XpSY3ojC&Q?6EkC+L*hUARTa3G;Yr^>gLxiUV=#+cCaHs&Ca>oec1n87| zsqi`hy-@CDLbm{&a)$|T5TH};SmEsgbjrO+m?)qZ%Kd||RDe#oHw%*l=#+c6@M!@$ z<(?D<1oT3=D}^orI_173oF_o1+$)8z3(yZ2?iG#_(91nSz3?^x`Vqo?!qEcs_X(#6 z?-!s`?j6Du0liRes<1$SPPzMq=>l}hoi6-DfKIvNgm(()g>ut`9sxS#ju+k~K&RZx zg%1hPDffVIf`DEq_a5QL0(8o~S2$6CPPvZ?=L*m%_hsQ30liS}YN1VlPPzXhd_#av zxmO6S0`!xF4+y6U=;a|{hVY00{bb>T!f68Z2Zf!5|0_VJ+*;ub;dFs=4Z=SQ&?)zr z&?G>o+^)iR1n88TDSTK!FO+K(9u=TB3A2Qc2+%2)6WRsnl>3-4TR<MSxDZe-iox^g_AIggOB_<(?3h2+%2azVJ-}`ul`W3fBqf@(AH9;a>#k z_Xs}_z9&FGTzHG{838)w&K7?A;^+lOAE&@tsM7rre(r`&pBvH+cOUBXSmdVz9R37-<` z1j>CuxLANrxfbDz0(8oqCtNE)r`$C{tAGtq?yJH#1n88TC$tIBDfe~Z83DS_(f-ax zk7(%X1YtPm`~Gsj&(@v19UBPu{j@)B7zQf!eYV`K#c$VYUo!Z4L#Nu0`GcRzf95lM zjr0$E#C&cqKE9-e{hcnl#{DxM{)9b+eS`yqTHz3(PQZrig(<>x;Ur;(aE8z%%n_Oe z=B0}T#tF8K{mvH_3GD*o3tg-fRtvWaUBX>Lx9}$69^pQrM|ePZQ22nbR``hU3E^>J zo$#cvUigyGFFY-LQ+P%g5Pm2;EBsv8ApAynPWXecQTVHX62=QTVNYQn;Q*mlI7Fxu zCJXh#6k)n>k}yL!LueA_2+hLz!o|YnLW^*XFke_Cv467CYZg*OTJ z2=@s+!UMvC!Uu%4!bgNp2#*WvgeQgdLgD+0pQ*(66*o6?ptLP_|2STyu=_mM`0J$%{Fu$+Zeemf1-X6W~@9E*ovuM;_ivD4H|5TTOaSM0vz%53~>IQ*)jH!JBJQ{XS;H-Gh)=F6MU-Qlle)v`qk zS1n+_UTIfKC$wSy%#Zn7duyIQ%L#wm_4|r}AM@9|I?rFs_jdihV&KR8kUeZ_Sn{Jvsb4*t^bE1F;H*Ylj^Vm{ce-&YLtuK7csIP(pE+w=R1 zK4-ua`psRM{C;ydXK+^CStzwf6S?9p*IfL4#oEtS`TL3w|M5Z2S#|^A`;wd-4>7TX z?>ncm-)^ikymwR z`H?r!pMp+3k-QE!k{_9oHwrgOzN{YTQP}yPit-bdECqfVBYv{{@GpK$habz^8~T@i z?2Y=jH}o(4p3y`7y`g{6TW{3Ay`g{U_lzFo?S;=M?EVV$tnUcBe=|D#A~W=056+Km zWb}w1_ap7Pf8htZ`9WUnIg?jq6@EJFNBV^JLjOX~`kg$q5&Bo*-(~%%_OtwsodK-R#8z=8%*dJ7}J==L}Nw;BWkNC zpzbWrxVz4dyX(xl|M&lWukPupYH31OJGyR_e%$lUJLiUT&%5vSt5;PQt@V!=`cQ7q z`h0Yzr*3@FQ}WV1QO(!id8^&mGd_r_r+-vEzTU-_wL)<&Tr2#!ATEk6dUA|4#B$HK zN9SU0eWp(5`*+$xPoI4~b7J;UbLZ!Y>$C5R%>CV{u}CgFmQ`nA4p_S{M72w-tX*I4 z+9hYAbIHcbF=FH8*s<~Ydh*WYUgYzNQGdtq_vNwQN&Y$ZMxGzA_m22mmcL^=h-1A< z?emJAiu^76Eyf7O%X3I$ z1G?QB8+%ZV&Ozvw4=#$mZNLo(wdwv4f=Xeg+Ub&B#-M+KGCSJ7?LSK6!W zsG^d6)PY=0u%DP?Q(d4Z_UvOWsjrr(Etrd0f__p@ia=k_QD0?U(LmteNU*Q5lbfi7 zrUIL0PHwIeTjrSkj2#>1j(x2K_1ZB;PT`*}+KBd!4l3J;jsic9C-yN%$Q)15U0~D0 z$vsuFpB!L6#}hW>2K)L7>g8DC6%^zJ$I=8rE>mAfpda8Es1n;jf_jDs_6>FNFqJSu zU~{^YGgV?sjr!9 zn<{1qV$U2iuh>r)96PkLNX!)EDt$sXSDfQGS0(-6xFKeX1+nBfC@&b}8G?GrIoif| zi8xcxFLEVSP{%SstcDBfGCS)p{ikpAAs~n!ZQ)l|&=xTwCO|yS5{!>=%@EZE`A#0O zpYgHZ=9d1G2jt3N(BF!OR0g8Xo2O_Se#ZWi#!dM7*`fa#~8SMUNG)^-o0Y4 zlk(hk677>q#l5WkxIeELifzBZweQEJqT=HE7yY>ma^h4$?jsYg3IZK+IU!eHhs-*g z;&k|6S4oiD$oLX#bjbKt73h%h<=lV{AMA+FX->wjiqj!uSIy~=@ns!GhY!9SAH)|K zUyc=Y$k?%tphL#Dg+PZ7b{x|j+jg9>&Y;7`)*y7q_;P%5T-!OPo@B{>^DP@qG`cbPy(ELhXp3&w@q zR&)^PklTrl0v&Qc5fbR|!LEy7T*%mU6X=k!V_igt91?>CI()F}Di{|scAQtyA!FB5 zphL!Yh(L!AcD)7TLdLF-K!=Q7Ux5x8-;n|xKG-c4!~_|;B?28Xc8di%WPBG1bi|^+ z7$8DU&QLi}phFIdK>{5zukr$2NMJWqFfL^5h6{Aa*qtuWA>$hm=}Y=#cR}O`yXEyHSF1A!9dMphL!Pj6jEsZ?Zs#4|dstm>^>}TcAV6?reb$8Q(Jn zI^x$(j1|NYxvdx{&>^=G;{`h8G*MTe!w0(wf>fes(+CJW{U z8M`wCI%Mp!1Uh7VYYTMvV0Vh(g^XQUfesnFasnMPzO@88;xI)_7sLa3s+b|rAx{%C z#SABNoX-;I@WF15nC;{lD(4Dx$k@#j=#cT9FVNwG-2%aUA!B!rK!=RoxdI(Bz6%99 ze6U+An15vKmI!pn*ew<4knvq6&=sB+-FY+mytrKZ%ZqXX`%}dVfu2~d6cq&ewSt(g z7wGX@B~B9+1%8#q41pfM)uM_(k6((QPw4ThB+e57F+(JY^96eRs)`E)di?5%O9guT zE)vP&LV@2J@u@(M-^HT3K#$*5Vz5Au-%jzC7%A}M*kZoW~9>2EY6oDSU2I6u- zT<~ioas_()nusd}di>gn8wGm&Hi@Q!xZroSSR~Nnca3N!(BpTDcwC^z?|D%mhzov` zMUFs^-zy?hpvP~j*eB387uSo{g1BrJY2pTfzNOeA+6eS_h#um10zG~=iF83+@arIE z3H11F6`cfn{Q8K40zH21#m$1a;MY;)3H11N7TW}R{Q8Rf1bX~#6y~I5NeRpxM z=q=E17v;q30zG~^L_g6-;FlrZ7U=PNK!gN({3?nM1bY1Xi{A_4f?rVFFVKg?0P&ze zk6%D!3-tIsECvbUg5Mv+5`iASN5l|;9={948v;FkFN%CYT=1J9QU!Yao)rrPdi+L; zcLn-8#G~SDK`dK}q2eQfezW*Yd@Rs67uSj>1$z93iO3B3T>?FR!^J>>9>1Dm zv_OyFQ(}%_uJ9WnCJFTTJuUVK^!Tk4F9`Jb%@@433;aG5%LID-&Jkq=di-jLwF3QH zVw_kYh{<|x%N5m6i zr+8lM7O#jsVy}2t>=y;%fH)++7DvRl;ydxZ_(A+A2ts)g5J@6g)DkJ8p-2@iM4Ct! zokTa$OY{>VF<1;2BgI%TQDli}VuqL_vc*ENRIC)M#Tt<#Hi}%aNo*EdM4q@+Y!`Qn z9pXXph{F-(ZeqQU>_}Q%D`lPA-Nxxa!p`j@H3Z#eQTwHy>c0J=Mu8+h50vHu} z?f73l?xJI6c&4*)Qx<&%YMl8E&yAaHaV37Xk9ti0HI?Ox^owmcTAoXN!Y{@cZG33) zg8ppZo$;^1s@wk*ynE@zC;fTFf~xx;_kUk8`-;~o6R-Fpz%^2?s<86}$N16my@K?m z`FX|cR^jzByIt)0>9iulvHqF8^)Jvm)~^!%`vpI*X#KJN?Qs3Ge$&5S^z(|YKi0qD zY2o-q_xl(9yrT6-aU%bYxNVE$sp@!Xd|ok-`B2Q~W7Sm5%hoW+Mb{te-yXMZ{U+X}@%xGeCH%Z% zv>$U>^z(|=U+cfEa~5aTgJ1IViq;?NAMxa6{ic7vghd|nZS{hg7g zeRf@r?a%$%(;)o!jkQzo^gs6VifMOc``4Y;exCchBd^Md@1mUtaI0>q8` z6&6=MFJf`K^v{3c8a1C9oE&^F=a%5e@z41BC^^VAZKu!@zp^b z>s4CMNT*I!d;IYu1Va z9VOeqn#Xk}I!d;IHIMrl=qTBSBvD16qhuSZ3hqIpqhuSBMRkFWl5OBc-_enGIohzl zBbf)rL>tsy+{>PUiu)O?J+bqU<<>FUx4s^&57vIX&tPRw+2!9avNrNu`<9Mr@hX~k%vW^270t7v`BgNpisn;v z9$CIy9$Efb-qM!kUv!Qk(@%SGjM%YYIc~YjJlpzb^I_w~&&Eq#HdcQ~w{2xkaCyUF{{C=T#%)`f6MW$Qw*LNb zS;lQ!nG^iFS5<$1xGdwgt;`Abx#p`3`VlV66e)9p58i*jzdu}-aobkr1p8ex+ut89 z%LJ$V_;$vFO}{{wG3@Z)GqzQIr9a!LTc-ERnS5i$mfxrMf2Q%N8Q=eW>_w=h! z@qWL2`zpr2muZyDHGeO7<)ny++ECnp##%M>YzWk@%*tt7soAnmtbJ3mPKkE~x4 zq~7`6R|RQjL%B&o+Q0b6wtl(w%}Tz0?Amg^-3RMad_RBv)P&jnN7hersEat(tF+$x zN-OerWI@#W!7&iMpMFKXPvz%eC+X~-IsL_k7x_!RQwO=ru|U3aFRrC%Biajcw(z}& zmrLWlhwiGe^j^n9 z|C`^HxF3-cRoM?ToLUE^_nDf$}T{D1ejZH!hjK9gn5`dGGp46@vTr?)Bf7NPJhKMeH9_at_Z`Q+A%dk@2lTr*n!Sjpd5U@!8IYrkl}qa7b%`^b9_)_)t%@Gjwa+c>G?mwfM` zus`YteL3R#7v1k)^1TP^kHs&yYdC(^Z{l4V?>+ob!uKAc{fJ-D_a3aj)_+^)Y+S4d zzvO!l)*tI1@#JOwrhmWWdk^+^27MyFxzi)>J>*DXe`oMFC&%m2uF<3}^;ckN?C&gQ z?fl2S_Yf!u|D9z6OL_GR|L-pT=04W5BKEv%-1jW2#D2d;LBq&ByO3@cS$uf!gTE0I zuS5hA5lBQJ5rISm5)nv5AQ6E?1QHQQL?97?Lv&-}w{@))ns^0Trkb01x=<-bdze{e_V4$zZ z9vOXE$+V08iY6O;8U1p}qxRpw3qAJ8W>0_q`HKDdZC!u70iWcrasBzXhd=e}q(7$r z&s)7+Hr|gPu945UJ}T>F+%YR9pYc|@_qq(z|7VNq`Xk$T({}gDXIxwV5(xg`&O!N% z7kkqu53AgtdThMNHeT$}uX(Go?~DFI$(uhP-!m2CE#$352%8U0wv^vA|a zyNv55*B{1P-t`Clp`n%g+jtwduCdGJ@tPfH?XvlO`23Z-Y~In^c#&-$zxmH+eS60H zU(dX|%jO-ujhA|CyiZBC`NH1j>%S%2{65q98((HzFG#k0z~1r!dmHafu0M?HUtE6} zFE;eY^p?+zm)u}}nMZQZ=GXMhyX78tIOZp`g-OU+2+^m$p^D1A1t34FYVeqVq^1bdgh(6x13igM4yT6WsR$ZwyO`! zo#}}udU6$;b?uXVnRzk2)x#LAo{QBVs|P)?ZE*PC^51rA#qe=|^N&01+qe7CKd#9! z)02B<&$!UPtC-W)-_k4WrvLa(`KQ2c#!g$NXWq@8I8#5l%~-HU#&^Q^m3^79n4UZ| zdu#U#<$$%zabfL-T&!ppy|s(Ijkm3GiDQKRFfTS<=H14N-o}gl(kgX=7yPADaL>Z& zyI;CxL&mEWMhELXHg7k+hu)bSobh$`?lrUa?K1uI&AJ9(lg*dYPTyVi(d`+pPTm;2 z+8gED-?4L3@R5`;yZ4;`r(LH1_|JWVhgFX^viok6&#&`&u+4?P&%hqN$>?eK^p-dI zdXv$A75eKgvo{$%{h@D7ZYdX{Kd-1iZ}zVk!Wa8LPY#6WkLln3u1~&=w|<4J{Qa|^ z$zZ(Q-yyzEhyLlISWE=02$yekzzTl$_#yeu?b-q30MZfb8PwYZZJvLsG z=_mGm1|G~{ye6anzQrwmJ?Kp~`}bGBu*>ZCOGZzBY`oSV#%ujyyw)G|jQ7=~)O_Zb zd92>7f4rF;a4w${kHr{0Qhxw&HAE`e!zt}Tg`eS)%)uES$%y*ZTI17ro6p_1Jh#rk~wqZ}Ww0^ELGGT)!UTV6xd;K46cGp8nW)tv`$x z8~V?9tv~1)JAHm*>MH*jqz_MTy1<`1(-Tj8(GzpzDudSg^J04HVT@J}{jqvXZ)-)l z2U0@h49CUf@0$3>8aaP^vt}W3%=C7wVb8eU*Rh7ZwN-Ij2j91s+WL<-yZG}Z^kB4a*G(nx1TH1d_Cin5OY|0fL|@TQ@UWU5@LRQ%n?-#7HqpFek)jv=}28?>I45Oc3J* z_V}G4=rg|a#X`aSo++5$se<{#o;uGG3&c5MikL2@iJ5}-n41}bIhZV{pZTHgIRani z=3GIWiv)37B8cNMfz4up4gDdO^quXcqLN4w_+rOAF(>qg{t|QArcUhXAN@W>pg&Cz zx3dNPFDJ4D{i2`f8HeT849Sd-*fPedg50IPvaUQ;B~%d9SJ7?LSK6!WsG^d6)PY=0 zu%DP?!*PY4*t3thq`q3BwqP!13HnJr982gq&Y-^F7;GT$ZzRw+c5)My&{Sa4%*oAF zV#^$}pRr@Z+_A5|a+&%<0{sBTK$X}I64Wz9uy3f7hpB`S0-MvFoT(C9 za+Lj}1UAe+`^E_RLtbW!1%epS|8au;5U=rq{*iZ+1bJ3nkgGKXxk+8*+*C0`5PRmB zdBuLZ;Mk#^MPjBPSLqYFx#Aqhxhm-g#|<%CEQlq?L3zO#&k)p0&e1l$OT?LievvDw zf;yH7Vl`Y)m)Ti==|6p=4*@~^XbZoxg0_eeF#+OnmSB90Ylf&U$anIH{fv+OHn;Sj zJRnyFi{)a4*dp!{E5#~-{yfL|D$%cYT;TKiEU;bcSm(+dm9SoXC_WOG zhz(++xKvywE*H7t3b%cwO1Mg(-{iPjCHiX|*Sd1EO1Ms7d%fcZS29+(QP7W1#ZBU7 zkteo_ZQ>U3u_zF?irWPG+Z}hPM8Dl}r%Lt_NBEs9?^X%-i0$HD$9=Bcp%Q*C?iUY; z2gO6;Vetp?hQ;w%yxl<)PBd~qe@tiB4R|zkO*Tm~$m&g~) z39;ENUKEV?W$}`DRlFjw$L|e6pYi=fd?A?Mw*>RMPcVPjQ|CM4GjTxd74M0+#Rp=y zU~b+Q%)uT({mc(_eZc~B6y!-6<|C9pXpu%SQ1lD@P3rC1}@3VaU<=ILHR zf9NkUr)}!Qp8nBqjv4e93F7vyp#Q7Hn}UAPPxOq#a*OdWK4QCDr}!G0-G&PzELH%%rW~JJ2uQ6`?d<|wPTE&!vA)0i@3wFUFB`!PJtiC z6Z@DWod8KRJNS0|Gs{!M=wC^>S=27mo_^f@6uCeoasx#}fL-9UME@ zJ}Ic@X~DjoPJTuuJSVVu-pMbh#FiXof4;zGw_x9kg8q<~pNh`}F{1x33;IL6UJ>+< zyn9`cXBz~$dZ{2csf(Q3C&)Eo&m3Pauzyc*?9k3Z@qr*$=@Yt-#R13XD(MHu4KX_; zh$Y9td4e&%A*h#}qiuW-i?;;*B3G^#)bW)dR?mtYa3fdw@ z!~}@PJA&~sF2=h-kniLX`xzhmZEop5c|fi_CHQ-J_bEExM*ZEWP5*jS#c%e-7=Ozz zyANWY9b@e&D=LemV+`Cr?;rQGyE*?A^LhWQws-jVMQA_y1lo`H`vwB3MV_7R7;fK> zOI78&>mQ$g&nXw~5IJ$GC@+wSR|SC%8MBH49da#^BGBQ3T_q84GIqoo9Wr)m+SeiD z+tBIo!H)Qx=45=UI2|&+)tn9)-$qV{55Cm}@kPeBhCqjmZ%u&?8Q&HH9X{Ai5obCX zyQxlxjNLS+L&oP7~<@9X{AK7K{rSyHtS=8M|g8 z)yepF66o;3u8Ck=$f=^KK!=Q7bAb*S-_8OZKG?Msj0+jNRstO|cC7_EWPE!GbogL5 zOAr%e?B)w}$k;6u=#cSUCeRU!Hln>?T*z%j2Z0W`o#-ggA@>s@fes(+x(LRFj9oW@ z4jH>10v&Ql3>N6{!LF-dT*%mU7wC|&>nYG7<2yv4!w0+Gf^i{Z*GHg3#;&hGhm7w? zfes(+mI`8mjNKA}4jH?}0v$5Giv&7i(O(P@Atz_394OEs2gM+P4w+YZfi5Jl8!8wV zGIqlSI%Mol7wC}j4G47jU^h%KE@bRR2z1EUWeRl2_?{-v;e*{M!MKpI8!gZwV>d>i zL&i5*pu-2dY(Y$rv70T>A!B#8K!=R)nF1a0YbVAE;)vW>?tNuWc6&bvk5xa|AkMe6JBX0v~)Y78f}gyLC>7 zoFmo?bjbK#E70MC?*?&+ld;?Abja9U>U7BX-sE)n;Ja76-Z#x|_zVA34 zvAA4ZB^VcSuGl2dAzvY`7U+<-iQ5G_e6ZUr7#A{j*9&yW*liK$knz1spu-2d>jdLM z#_k4z4jH=}1v+GWe<#r4gWb)7aUo-uC(t2dw^g7+#`k`K4j=6H3u1zd-6sMaGIn1G zbjbLACD0LzTf`lLaUtI-whMH~w~0H&b|*iq@-cx9AMEZHj0<_YxL2S<#%_l|hm7x2 z0v$fs-6I$mGIsX~bjaBKUZ6w9_i2F+AM73wj0+jN2L(E0>>d*6kn!Cm(BXsKmx7oe zV|Q4fL&olqK!=R)L2*bBi$93R1>-_~L_8tTAwMdf6zGtbi}M6Je6ZUo7#A{j&kA(N z*gY@MA>(_YK!*=@&j`kajNNkr9Wr(=2z1E!UL?@rgI&I0T*%n%7U+<%dr|CmGQO7x zbogNRsURlEyTykB9Wr+B3UtW$z9rBRKl1A(LF|xk6)y{P$hU}B1Ulqx;tGKdAM9Qg z#2Oj9*91Cb>|Ph>knznG=<)v3oB^?1$z9R5zIGw{KklR0(}i}iKs1z%Q{ghJyS=kKYxdu|SVsTcPRm_4qXq1-klR%GOA8}Bi$FIG(Sr8Ze zI*L4j9>30Fn?R3WUvZy6kKe7Liy$ue-6lBp(BpTz=qk|T_mDVUpvUhuv0o4u{HBPx z0zH1OigyHh{LU0J1^RB{ZqZW^mper-agRXXUEC{r3-sGXIq|wckKYc_PxKM^Wr(*0 zdi)*`A%PyhisA!-9>4zL_ky_K7Zmpk^dT`oJSfoP7ZBM3J$?_1L4vs8_Xn{=pvUhK zF+`xp??Um0K#$*xB3}>}{3eK0fgZnS#X^A|zmeiyf&LEhs5n~?%a&rO_(-7NEItz- z3-ry!wc<&E9=~DYb8)A@?+J02K#$*WF;Jk#ucjC+(Bt=%m?M}g{6>gL0zH0Di#-B8 ze(S^w0zH271+VP_zYoPSfgZneL|K6zzZzn#K>wB)Cl&}|GFv<+J`w2O6XV5VfqtGS z5C;T${C0_If*9jBQM@nE3lFVMk_-->!xpvUhl@fYn!kKehXg+PyAp2`PAy1=i! z7$nf+w^ik%0zG~m#ZZC%-?e|1%KuPFT&7F@PnEM(qW`PpIV%54CHf_jD~M$RJ%004 z{#_+;!S6?v{5}In9>411LV+H?2I6vo9=|oBh9EBZT`YD9^!Tk6H3fS7t`=6zaha$m(B}w_^ZQhy$1hhj6!isu zjm5(PJ$_e-RDm8pj`PP=qQ|e1xIz#Y{F;a>1$z9NicJDNejMk+Riel58qr)37yPaj zV+4BqHj9=5J$_Tf?*)4N?i6m`0C(Bs!m^cU#y>n8>Xasa>k#UBKE{DNYLK#$);;t7G?-bc0X9?erX%8D-HSTFky zqNB58Z{ANE`;09JW?x?u@ zUm5qtaym!2?_MVHEdR=r2O>!%i&`Q@G!&_VYt%H6E;@;BqL=6=LSnEOE=G#6Vxq_r z)5HuhM`VkIVyRduR*N+vM{E?iVw2b`wun4&tJp5?7CXd);t}zL*eRYDyTvPFkJu~T z75hbjI3Ny*uf-AZt@uuSFMbd|3WC5I6c9-wS=17oOB;$*(L%76b6#QnVVz@bV*Lq; z!D6^zeH<$$iYzfr%n)-#wpb{Zij`uuSR-=8Mv*HviOph*$P>4U?c#2+Lp&%R5l@Jn z;(4)Kydw69z2aT5UlfP~;*j`S91-7&@5J}w2l1m|F)S|vB1t5RS|UX>6se+xNE7Lz zljtUTiGCs^28-chq!=qEiYzfr%n)-#wpb{Zij`uuSR-=8Mv*HviOph*$P>4U?c#2+ zLp&%R5l@Jn;(4)Kydw69z2aT5UlfP~;*j`S91-7&@5J}w2l1mQqhq4H2#6$+ENY1q z(NLs{79vfgi%z1O=q37zkQgk6i;-fim?*NuG%-WW5!qs)SSnVE)nbjv5ry9i|7JuKp~!)@`ocbXxO|_Y<$B& zxN*G#>xVrV-G0inaQpm?*YFrM+uxXRKdaj#{C(HfR92J7XNETiG%qeb+$Z3in|LK6 zkcdDc0*MGDB9MqcA_Bj31h{@&SV7k*?mCL^ZR9%T+i|%;k-u$gy-?@Cx}eCP_s1q7 z`nzrGC`gl+|b7hB{Q2FH;A7!dLY$cB_Z6`@YyRPHZ;6 z^kh)v&zmb&LA>S662}^{1Jy z-?#Tc+55hVYoTujzS<6nUF4hWL*sWoEcuesn%Q)9(*WMNxfyLK&<_wMcH%U!!RQt8*zpL({2>&c*=71`A@#ICp1 z-&Hp(%n+Kd4Bv15yn72}wIMk?rZReM+d6`F{oF+_TPJ5w=dP$acUhg(hcES0Usz5z z`wZ6y>@~lIeJGS^kG5Q&&7MB{HqVY&7!>)8@u|Po4vPFPU7Lq!r(4$v`CXknZ{EGW zjY^xZkoNmBHq;SSPrlVd9n^&lbs*E0v)8=&?P4E{YFGIZ?gQ;Pd-`ei^wYP0boqiH zXs-HG_q=&`7s_n&3hR(U{bieP_R{&%%AS4&qp^Qu}VSE?>rcCb%H#K8J2I6#KIK9Pxf8cu&jlePU~r;Cwdlq<)$a=c1jjDMn-B*u!#B1@d<%4sT_ z3Hm!j%yi{!m2<>gLE8&ld9KQZVv%6~Vz<3Sn6Gj@(5e^{0&$L*BUXt;g8Z2)$e(3mxhvU^ zJvnlLxKLnEuGm?beSK3$9#6U1o2 z{IfmDZQI;4=d;8-$9z}XTyxByBW$jjXY7|dSSQXC=eyG8nswnqaj{q{m}kb9BQ6me z1mk9&*=C-J%VmzsRibBJa|HHh2-ZI4fVf(2)sW155o7!+ihw95P7};A>j7m|QB5Sf z5?_uz;>_HWKln5E_}3S`#1KIaG#1Q#s-T|c4(6TxMdzCJfI03an8T1@Zkb262fA&W z!x7rf6eC^9+>H?&&*;awZRQmw3-rW=_)Kx-RF%MSP02h@7c*Qr%awCf&K7fBIp3Ap zt~}S33th?lQ_nI%?vrmTgyjHpa*^OTC#T4Z4T5>BEQmY#gblImD99!37K?R)>n*M$ zqOUu&S?0I?jNFNi&#p)9ee68NrmP^oI&94bks@R z=&?nnZfww{hZBg@*dkLm zHt42{8DgfG<>c9JdydMvPKO;b`(}uFV!p^03!Kb8wyB5u*pD4D``A85oGTWJMNVcP z+th{i2AKQz?5Nii^Y=aj}yb8+}Gcoz#O3w#d|t4Z5{rouFUz z6`3*8M|9LlJ?ODTrfzJ|^$IA9Tq-&{nSE?i5B0Gh zJ7o5;-9cO?E*I^b%s#fM2Y>cshs-{<(?qVI5A+L}eQZ+?{^+nnW*^&y=XH19k3O%D z)c)(lDPoi;E3OylZxEveuX5sDQC?t&evG(Lye~LjZxZ9h2Le6yZV}kMC#ZLvzz+R> zQ9(=)ABu|NV{xrOPrc>TG3-ti)O)kQ4*evR1%iI&iLD|a=qGyW-7K(sTTt&rfgSqO z#ALBeR1$3jari`_PZDPc>?(^}1aZI){jK7Fs48v~S%NrJ5$LIRiootOLA}HQJM_1U zFGRA~EHc57uYQqE5*ME?9fy13W42Yf_mEt?9jg@(#0zA zZ{lAC{dhv4|BGlZu=`G&C+G)u=+74;1a|)}`U(1h9eV2BB(Qr@P%r(!4*g$6N3mLb zFFJ_}1iH>5Q(*HS;y(rZ(LF7ii7sNN_%HE;Ku28{3T&Pd)W?2w&xpRFn|N0IP5fP; zqpq$3n~MbXu^-)YVy&Q0-Nk__*y*dyK%hr}>3T%e<_D+M-p3+iJ( zx*?*h`b?i{i#G)QK}TKJ2yAKz>SI4TyN_X?L&%e^tRR<;^|JT1;{A;1j;Qw>X)iDJ z+buj#O#AA3v9HqljOg&5vCj_|xb}%lj#`iIAN@Je`$IpMo%Jia-@lfAl~>}}=a`r{ zo4@js10qQz3vw_;G!&_#g-8>u*Q}4MN31pdL`V!4R!kIGVw#vC=7?;uP%ITI z#cIJZo+CDjT(L=P7F$G~xK(TycZ(h3LGg%qLhKaJi{0WCu}AC`?~47RKpYT<#Mk18 z_*Q%;z861;9|b{RE#h8kl1LV{M2cuAQbh}qCelSG(M|Lc{X|F%7Q+Oe59c%I!StP<$!=D83Q@BEA!6jM03l42)dx4afG3a*^C1M8|ubG3JaV%NNc$ zo>__Zzfk_f-86)gdM%$lw!fhn;Pj(cPB7Ik?Vs%-W!Hf4R;tRdT_xM?m*JMPDwe;C z_yx{5;IEM}CQ%#ynyzEf?4Fi;xP~aBV~C?CPRO1)XYTUU(M#scUAcVj++)}lv#Z#s z?kaXqF*QZ0Q!W}C{*0u{que@W{z^Q;y`{4gOVrt@CVVk4CY-0aW5ea}rr~pvl|}7K zds|a?%vZ|x*x$)Jrm=RWJb1*<7xE&TZ5PKLl20Ztj@Qny_vZxt_SK-p_c5237H9L% zJu{r&foVt2bAL5R9kXiX(p4+X=VZzQ_cfj{NF$HrO}MU;U1hchYFDLQt`|@4b(1dB zAW7^QcyhkQTYq&=gP?&`r*F3JFK*}^|=h<~z@%i_x#&-@n`=LxHp&zm{B1V_K? zV!ZyYnlj~d1#pV~3tUj%Ki)agCoGwL?%b8(88o{@8IC|n*QvZV;b+V&Pb@DiPb|Kc zKej!2$--5ON}eWV;`O(Flq(ZTLkAB`9v}ECuv_pq$j*GokB8NtD8ms*Nsk<- z$x>OIUU27qteVYkpubD_n7pj>3{cff9JMXIl`_ZEPpJY%+m7A zw$GTmV1D+=PnWruiPyidBHeA`db70hX-6WTBB70v@;b!klf@}EpZNZlb^4l@b?Ypj z0`B^uXg)<%?TaP63Mi~5UVp2IzhAs+WfOnDSU`TJvY=xmpL(ec`#XsHn344<(zso> z+I6bsmHmCAQ=$JN??RI7{#y;nN2`xDn4xRZQjiaondndX=0PLLoQ4VA-_rSlJE-tjK+kP{X0I_dp}| zc8~OE?VL>fj^_Vs(iN-;-|w`NJmg}_wwr0NM;q^inTwV#T(Ee4Nyl=k@0b&eBr<>B z=$Re;yHpJZ#)t2V@*T7K|Ab$o2I%^J;R4-Rp1x@2%DKxI%v^ZFzQ;4%T}t_?&z0)) zx?$|PI8qk&!oQcV&nWZuvHxB*W#HV{zq@w0`}OQQ#>=mZ=UGnZB|GwfH)*ZCU(@~l z7fWFtEWduP`}?^Q!ucDReN zPHQiBk-Psg?q&b)=G+Of<=Ev57SCR=bm81NsRJhr=E;PUd(~N8VR1RF3{m%ER?L|f zsr7_wdn~+b3Jb>mO+^q@!Q&*DN{e{g|OMXRkb|`;bQx`4kCl zl$6yaHlHj`_V;tOC|j;!?C)pGAIqme?QlL7U8lw`Sv5a<@!SC0-7p_k(e=MH@_1*g9)+uXZz`~{3Gi{>; zWxW28CQEmH8lK3fNNA&^lpeA9WO1^5;(WJeeslkC@|g9><&Wi4ZbP>|xjeHbMlV^u zD4tsq@%mdoPSI1R{`(JC6}^6%Joh9oo%|}Z6ZvGJjVZHwM)D~|dn``;_Lcts$*bu5 z5SB-lSAiyOopSkR6~z0#RJ{Jy51yhf&G)r(6L}R0ZIqPPE0S0Ioo8{fb;?YO=9A@* zxb^=`}tH_f9LH;~1%cnpKw?4Ub%9@DEhw(G#ELe52fA7WXZ~ZvMOHdn)0Lv%KAIqme z8@Eom^~#!v%7+r&3W(R=`carqrF4HYFe-6BDiYg>l-EBtpDa$6Pn`Go&hUqat=ISJ zt_WE^S^ii)<+gL{lUt{(g{XWOuz10WB`cRNS$cu(Jb^M^|40+1dmWXQ$frnXqojh2 z*nF}$Mdwq*JnDYA%OA_9KnJ%zxpm5XCM=yhd)303%Tu*FrH-6?-rSRXydhqH>qlv? zPs0=W6bWsVl=4V85BzmUdW%z$eERAAa+g1rPr04k`sDJ=nkdYNi3=8&Ii%R<^(}uap8{Ro`sDJ=8Yw)S#( zrM*7oCh{o~+9)aSvDkdFI2Bo+oJZt*XZd6Kl-u2{Pi~#ECZh5ob^MZ*Gf(#S1mpF$ zew21T?MUQPB(zad!Q-*{WN|uPK3V=)J_UNY^~tSM*2Kh_i|5ZR(U~q>L%jahkJ5hs zWltiXEVMCY%9D|N^6x{rIK|$Fin#pbe!0sd%d6ZzZk=-Lm3dBFK6CMkMGID}(C?j= zj+alCKbB9qLAO4+JhK-3e2P3QchXPX#p`eVDD8Yo zOXO1|v{6#Q&e(jiI7R2vwJ-fgzpzW>y4>=|@+mOTtxs;9vL^g|DA67Aa1HVLTR$wH zO6xhh;fZ{Tgf>b_c{VnmEKZhBVbk62IlG+5eR7vSmQT5Z-TLI#DQm*dhZ5d{qK8PQ~dM-AfEKbM059RX5@+mOPtxqn`tT8_y+{1DudEzc!f9pqS z|DBhc$R`VJOqut5B%k;@&*F5#f9JV8vb@S2;npdaZ`Rm^?74GG^aq}+AYOm#hn@FI z?YXE#UPVG1B^A67$t(WO+u`D5=e=T|i*os6`4kxG)+v`~)SW)~ zJCevJ3vEo9wL3PSEKbM0j&k{9`4n)U)3$ZW8X02uG)wpy;&}b7AIHllvpdl;FeY&y z>S(dbdoebjEKZSpiuQ`!H?aJ%d@?Irr);}0A4>SeZ1MVAKkWLcwC)?ECGsf}+9;{u zrPzG3INA9wY=c@RAS^NGH`#uxx_FwirCxOY~c5}}Pm$u)^ zQSQrzO8S-Imp!KEMviy?d*xkTSe^u?hWA_kSa0I} zzVCSbtsjZ+3%5x8yk*{Nv3X*7VR>TfcF}c3AIw?0P(MJhsDuv%#p`cTDee2j!xPt| z7TTDy;PptJaG%)XbfWi(Esrd(ta8gY+n$)cVD`Bu{VuzC>-VSP^pDiEM^_c4_dUbe ziM)!0HcCo)Ba&C#C$>1n{+$#1J;S|ZXXnLYzdyFf_Xyhe=-K(szUPnY*pTY8?}N1O zk4=@1SE~On|D2-Vd)-zhkhJZXzwcz`)XNX5McZ>-op_ym1WpT_R~fM(;KF zseZMjKPO)E@hxeybBB(ZT{?Ek?9{$}X8X47GSl0%$!y!Yb!J+NmVQ4{8#T(TU$<^% zom#bgN~0esb?dh5(y?P^x6Yk2yLai5*|k$AzaR9WV|u#Zk9KKoGTXFjmD#dcb3YdK zQ&Pfxs97tsZmrsxC5=VBl$4g;I(NzJ(Y34SruMt4AM~NKABWBzI{5R@pVw)>9HRSBbS^sTm}uX&t#UFgvsLqOF4Q9*8UG2+ zL)9u(YKF&bZTHIT)3cY~K6?7~(>`>{jKm<_KQ71xj?G96!g)}=S~91KVqXpGH)u(` zduzmMt^Mg9i2L6&{Zq3#<#p1;EDbx6RnCef1@_4>k|s7=(|>=sXM`3oSJV z{;{BS(Q=@;_N!K@TGJmp<92QL>(eK*U++HQen>~Z=wtYJuo#4oM}H35YYwzlvNnd- zgJzkm2Mto{`Nsm|FD?hFR;7K~F48`I5Pj(feQ^0m9&nt7*CksI!a0!Mrmfm zrxc!_s#mLa)MFr~{iyi&?|ba_Stn!Lw{<}6YaQUc#MtZA2~%ABiAj3fw!LibZT!(= zkHkMR{$sZ9k6-PpZO+g2L{jC-#pZuu`)>SxA2jcN4l?&H|H5lQW_}%=6^S@4J zisqg3(y`7(jT$y=S(tw|2Y&mkLmY#wLoWYg^3TrA(fJo%0~%3ZQ?5z*PfVTYc(xxv* zV$ZQ}xzF5(uS;k@di_cBug|zPW6T`)%)hm9ypkCBt1_X_xy9O@=kMJ(zdN%>FwI}A{Msphv%N$v%Cw>JJ-Z^ z?ZKMEns0T)Te3E`QyaR_Nr5>_RrR4N&A}cJAMT0cRF$>m-Kf!1}|B;B2`ZTEID`X@tZp- zi?!Dibc_yE$^)I?{Td5&0cLwZ;9JJaxwO{iQp87u@^p zg@a(b2$4!`e1+CO70kCxeq`UCfsraATFaY2R!Q?_$l~*+&sw-@ZkbMu;_6Si>m+~QWoPW~yV&^bd5C};r?r*^1Mo}%bS#%vCl(TeC>Uvz}(n%!Rn0n_gUigw|TIUVrO{ zJ)c=>pKnRzQzW!eQr=s!`Lx5u$=HRvd1g(-@sV@Cig^94AGSV~ z*7M^>68RJfZIqPqc5FUboGhO(J?ihfxcsqv3M_H!lgl$}BHrI;iPzuyVfj>A=es~o z_qlunPned- zCkt&%nfGoapHj5P;&j5#6S_RIyb7#z>y*nkYpg^+!eP!Tr}D7@8a^u@+q*^ty3<~ ztdXdED$%Wgc>S#(rG4JplgOt?XrrWpk7D!5;$->6dGDyd@8a^u@+mjRtxqn`tcj?6 zDEzAN-@@;^97*JpO>s<_QV^R@7N_WZia12>A6WiaJ_Rq*&IigS)at_lf|h>KK=B5xyv8Rr`${3`sCIrYojoqO8Avf@%mdoj`#lX$$lSH zS|Xn;v@vDgr?L5DakBS^i$3S&zmKekNi2UXp8~mVeR6qbjTD~beq+DyGCYw_HpMYz z!Dq4gWN|98J~^Mr`Ofmk@+tR9w?4Ub${LBvr{C1?yJRQw$)-4_O!+)EpDa$t%O}ep z%csEAZhdm=lr<9X@3X|~Z~Z9k_g``o`DCGuDYL$ablI24;t7N_IoljV=)Q|=bGKDj)zCj5MeJS=z8 z-#inqzxAWE^XW(;pCX}+l2X2m%_oafbUq#R_g!56SUv@AcI%T{r>qG-A4+tGJX}M( z{?-r6r_y@PE^tZWK2#*O5h?4d*nF}$Sw4j=cl*zj>mEYL?i*PCSU%-$b?cMMGi$-m zhZ5d{qK8PQ~`#LtCEKbM059RX5@+okuTc6xIWsUjy@EiPn zm*I(gvMG)!3;rpRPyC%{aXR6@^IRTTUgh5I)+v{7)>!!W4@!Pv9HB#ue=MJJf9KXGmuJ>QI3G%WAr-H`_2YQgQ78L;-i|~* zS!iR*yl-Oj$>Ma}>nN8$mQVIMZCj_Tk;328_>KL(%br9&*%Zf=1%HaoCyP@gpQ6p9 z-p_NN^S695D_f^*yD*=AW54fmB#}=x#W7{dx3T$TakBGW*w}rZs>R9?cHh9hFQRBZ z#Z<11cz>TIUVrOP;`d!F5ZGRZ`!VAFeHZurCH8$LHVXTmlfVPvc5^S; z75RQ8Gg4{4!;<)Ym#CmfjQ&0o_8hX`cWD&+eI^!PJKl323dcLPwlZbn{e6~r{jEQV z-*>S{oLE`X?>)-<*U0hi|GtaM3(J#0PWX7V{ITA|`}-{M`ddE|zwcs^_<75Me~Zl% z%L~gBTepj@EAjq5OT7LTmC}A5D6k>%K9w%KG<6UU8q;;uQOL&QE{e#mQCwNtAw8^P(TCGy;OZ_P?cy*_}=+&OK+p9Gt->W(KIj_d} zr@b1Z9`ULV-QiX5e~VYW%jI5;RtvnEsgt}qO~-mk)zfk+#@Uamoo40KoA-uSXa1XB z?Rjr{wdTIz)tvRZS7Z7sUiGQFz3S>m^4KT6P;qkH5-ri z>NOwhRS1+U7FD~=&8fHO9WQ0cdtny6>(xE?ZLiLPz2Sb$e9fyq?Ikbyj2FCWW1sS> zjd;+j7QDl&*7ZuSTFZ01ahF0s{L;9s&?GyRc$uQOKv#Y??Xy6 z_2DGuqLJEde8I^qi4|r*p9Prw0IN)^@oiF*! z>$3h+uk*T3ybfzV_S&xg&}+H!eJ^#%J6?lx_Ih>a?D1;2d8jh_aj(kY`}`PGX>-0; zrO_m>T7yi@!$_}2y}tR!ib3^^g*mO%cH50#cpWeM!s~wd7hd1o&%K}+aQOi*xbai3 z&-zciuIfYj`TMrp!nmVwc_3O(l5MDmml_R-ngp{cq1$_-ia}EK z;`5;0hR?l@xd*)-S03^PTz$wJbKN2D>>Cex3-S(mi}DV7^Kbmzn|jRwZ`9?Vco{h# zdtENr@1+rgh5Nkvf!4~omf%Bej= z#JsE8?tk@RFY~&?-q|-D_Lkpv*t_I+hrP@0Iqa?7e$ZQd^XJ}_t3UOIZ7A@1t@+SP zU-iD%eDT{}1Li<^SnbSRUXs>>%0ut>D)-syRc^b+OKLdTt5WZDwXZ&;^f_t{BsJ|B z>Y}mt+;rF*c<+b8h+4+i=fU-i;4`-4ib4Oi zA9)=$2Q8I{jTXG+)zPt-JY~0+q#UTMHL-HPTfNHd*L#&4P4U}LRvy-EI?6j*4pve7 z-8JWZH1@%pzx2+y@k?*%?O%CU-T#$$#}i+BcR%&Dx9tyKdK>RL=$*6WfHyw(6EC># zBd^o>A9$^za)5O?Y5X%@WgUl=``_+W?yynqPgDCNv=*H1CD-kJ)bUqq)-%*Y?e|st zgEaohYJc%}&5%_2K4+zw|D-^Psmt?T=IY8MMDz<6joZ!Rk|A^pYmH z_A~DADs{M2?N2Rizk15i+b1S%vv=gv{y>d?>cI^<=j{efb{ z=EL6j>koTVw;b}OZ#n2qz3vNd{H6om(95(A<&0fkWt|Hv58k2U{|2ve%O!s7lN${8 zl8zC3>qGOQOL9hDd&nCh2C3}~t%3co&^mni=U%T%5BTSS4xEoP_GUU)HCn3cgLC$I zwdTCxRXgitFG=UY$|E21Dr^0#-1$l`sqtAF`%tfT^)3$KUT?y&wdFI{c7(s{6{&c%&1cCJxsEB4hD`zmhklUVVCT9Hh8+(>XBx;sURQt_7Otnxww21O7jIZvr1#Rql(H z=O|Xw14APc zqBtN84%m*z**F4v-g$kd`+WD@^UgW7wb$Njt#5tn zzrOXYZ%v1y><6Rl2fqB9!BXfUOW6NC{~nS3%br~f4m$GuVA;W)H+i~y;!fPUeaCw~ z^+a&E7UgGw%!zST!0P z^302arOUfo%G>F@_4ZHfc-3v&cf9KpzYE6i_*HP#ZNCUMzUrsJ+S-qTRYTtoR`h>6 zIO64x21mT~E5YHHd^R{_;|GI7*WMCz9Cytg^W5{C?Vfn@b2i@c#*gh7ef8ZtUOoMb z;JVlUIJjW)2f^vXJA)JYz7ZU|<)PqNFTO80>V+Q;jy&zP!Lq|Qq$>05{Nv9njz4wd z#l3g#IOFO&cARwS+jksu!RV>rTbez0q&D!?T z_N_MD4?&9dpkWk^G|Z`aoyaeHJ0)Nx8Kc`Ovl}Ocu&W}v+n7z^7*{Bm(%mB-)8e?-&42# zgQT0?)8U*-y775!-qW$k@Y1m{Ij`;f_4$JQ8D=DerF@Z)%@-)`;I+OcPr_MVNj@tuyg?^DR|6tOnuoB1C}JPjJ3 zeEw<9eF}yj$5Z~Til^Cfs`VWTN@UvjQBm8xPa(ro#M+pzb-%xO{5Y{P^|^PZ4WlzV3fZ;>r2s@`;}|yr;wP<9N!y z%jA>EDbFJ9JsWA`I~|UvcJ0gCnc*p7ZOk|Q?@2s4pBzux-!-_W!|>yHs^4Mq$#CXb zq`hY&ZG5Mr-Rr`3Wq5MdCfu3-i15U9Va}%ouM0CAIj-_|nw&Dcd1kHe9M%-l#&7srdc%mfk+0)_MY!U+Fz1uYDgSb}bH@xnj;H$jOimfjJYMX4>6W08Honu* z?tZT`!&AiCn6LXklX!AIIiBVm=NWz+Px%j;d@`JQ7BM{RQ}=Xi%JAe>oN%ZAcZ4T7 zH^cap?Dyumr^9gMxT@b}a?0@LnZSAX?xbw;J#D1^gJspN0$5Z_t zlTU^-&mxA0@W|N+IN?rzB#9^I(=0sgZZ9|dIG*aCH2Gw5$}>aR$5Z{YCZ7yvo<|H%`_w%hof)3IiW6@4$C7w*J~hLWaHl^W;YsXJ#;2qmDvGk3z1(o*xT-&3a?0eD$4qokJPSEzx}}*HO(AW3r=#6?s%LnL zSR36cn(@i|y*bxK8Gam3`NvF78O}Tl#Y3c+d-y`#wDF^S+PnW{ zQ--IAwK3oHeMvkypJw4{_xU`-kK?Jn)8v!k%(GBDw5~{{jqh|c)1&ruK5sC?le0GA z&fK5Glk=&m9%cA(Jmqblw#zBcB)nH)AG@ccp5e)>IN^3Yki?VoDZ*3y^Vocz;m7gh zU%8y}=MYc(*gYNFGdy_}C*1BYB=O{Y^8QXgZg5YBofk11Pl?3wkoKO9wDFyu?4Azi z#NKtMzZl_Z4YKm{G1A`C;pdn5c_vYj&qmt#&Xsnr2ilqGqt4od+x?XY zC$tkgpB8E-b{sjbJaNaHKc~HCBW--Aquuv(?8|Pe^u8N3b}%rz5+kBfF;~)o3ZZry~{nvdHsr z!0+kE_oca~qf#x743u)G&y!ILufE-e`yrTZs(U(Kmb9--@9ld!EWbaedpdTup&lGx zd+VN#dP(t{A5eGGv3gI3yDh+PkD|E!ZmvijAKk-yI=-2_r^CzV^V(ic&#!)s;xzv! zb?g5<>1OwIIH!_sd|sRPbmR>;9S^)z?mzZ(%bmYIUyv^(<$|Z0_MVNj@tuxl>o)zn zg}V9Mvi%B;cs28o;=s=xb3XYxyB~i4;&a~cWaW7pH@42s@Z)%@7p=WoJNCTN-m{T5 zzSGh6eF_<#BG$%y9SZ&<2xPgzNcenhO3CRF<4$hVjYe z)SUNp7=9d2`AL&ghBMD3hNqTH0cqnq9qsP-Hf4B9flvrQ~ot3pA2W7N!ZElWA}9I%<$w@oN&8;n8cIw zX_kDlI8lG+_;EbdZ#DU3IP*+mc-p7#>DZOw$*VZwPXA33PtK=icyjzWp7OVud@?!Z znWVjEBW--Aquui_`8Q;CDCce5o%vCOC$U2rpOSW{D8_E~a>J41s{RI(QzoxGX4-o; z(#Cf>+HE)J%y1R4Hs0yjDWr|>bhH~! zn=(8_td04)f11RT^Qjr096yey`ddss8O}Tl!9%oIZlAfQV=%*$S8>9f{#g=F&Zjt@ z8s5`k_;Ebt-){2B>C3sJlJGQ$tpD{4$9r=TlQVl;Owml)uB| zli|!W6FlsL_jK&c@Z?pTaJy$BJjwZM#-|03^9)ChtNOIbDZ`s*rsvqVu9&Bd?{s*- z*RJ)zyE0rwtd04me-+_M&R;V=dA~R3x+ues<0=0>lT(H>&qDDKDdrx&P&aM-D4+K3 zf62cwvqwd|jeIk|PU6Y=Gz(9=&*vF_98dKRn0zvvc@Bz)))lF=@tuxldeolI=XGXy za@Ho?j^8HnW-P5rt!;@EW!tMTD5>L*j2v70PWAk}` z(s+(1|H|c*KZkhQ$L{GE%<$w@oN%XqpTv{%$@@F~xWPRgc3#A6JS7sxL)v>b(#Cgs zvU@t56MNU4c|5|?8f4|?W2C*O!_P1A^Gv)He$Gk$Up3$Qf2!;6-OcXla84xM_<1IL z)9LqgJe)kw#QE#(z5Z{F`JDEijkNK-blE)}&WVM&t)6?-@nqEA<(>}1h2tduKlQ!i z$Eits&qmt#PDgf6hjU`@y4`2;`IB~f>Tdt(NXCrNV=SsWR1JyHq)LENwr~eq? zgmz-*(?adUjw8pFC+>Lj=d|~1q>b-%wELcp?HR5j*2a7@e;eV7c4FsKa-6gKJssXJ z&UH^msDIiyf_{#k_ji8IpWoBr=RwYQPsf_vnq0n9>5Ubkp*OszBldlEPe(&mH4R*O z=+ieIbLf5>S1jLeVQacJ<} zcO8u1LBV(4abWQ6w;m9D^Y&%IBeyLJzIw~D;0re_3qJLVWx_{;<-w2Mw>Joc6Y zg0H_}Y4EkzE)Bl;$|ay-DQH+4yz%m-!S!b@3obwDz~GV-4h}9o`S3la;nY?8ZT#tn z4hw$%5&jMjeum#q?>apA$p;Sy9ft)!m_9^!^6j@C2pX0J54~my_^<@HSQ5OixFops zlBGe<>C1u_op3-)H2nM{9lT=q+xlm>afK(F9iNS`^b^O zuRd{P@aubz4t{g*3b-qSUw!h}U}pQVpySx!=Xb9J4bKXG^!_8khYr-mA;Guad|k_a1}1j}IQd|HR<&&z~AR{=oC_+Z6o% zfy;v5eg2Bzx1YNdG+YqOeB$ij7x%0~J*-AOJR3ZCM)2*o9TGhHh694H+`NBq-}wH) z-GloFZ+Xf7!PYYuqYjuqc!2h>>hL8u&&7k^eRdV{Jt27Ff%U-?UwB^d#1}6Kp7_!= z_zeb+e`#y*yD#(yzrF8e!LL5GIr!!Fvx1-9eF}JR9B^H{Nt0+T-HjfvH8P zgGIr+U$%cRe(vJn@)MQ>n>&evgXYBHb52;ikvxCmfm4DfzxdqX$p&G~i%$@Wc16Kpk{Q9X$NHC6EV;&=wa3 zcfNd4@Tv>;53V|Cad6Qpt%Eb3ePBZjJmR^)%%(%{RlUW9g- z4?ftlD7f|FMZq;|_YW>ywIsL*7<}%W zf0n;DAG{XjzxtH@gH6Y4`H!DR4sO3~wdDWggJ*$;^FhOvprHf|*6^DQ9{+L``0ERP z^SR4|U)_5y>VG}>---O6h4LSczVRUNe@XDASLY!EwEl0ta8YpOiHni{QtKX@gWrGQWoUnwK?b}4GT=Fo0VhHR90U9v z1^gWf{80|?4;hpX?yckn|5Gp6KX}n<A^2QeiG#HacFLZ+I?DIneGvNL zrKtNw=mQs_?iWEP+dp{K`HLaU|*i-Tjw>?`MPW zYtav{hAyxIWv3nhUF1E~%a#S-eA5#2fBOfYpWHvV=laEv{fmR*Y0HB1R~-ahaOq8+ z?w+{Y-!ZY{iAV1Ue*cx5AoH$6n>!z6KMit!HFTk8X}wbidCS3&d(=sn1ow^}0NgDL zM$dt~KjDy|>xkC!b~-TmBD?JM+YAsd`9rvOP>*JSh=hvelLWkQ%_j2 z@y^N3JMMVJ89Uy7{fRqn?_Ig$wO1dt3bMrXrHO$$;-=_jqEeL zOW^Vsom;4lRmXeB3gy1hYGt&h$+Yr!@C@azyPn4Eyq!M(ZZ7&5pCoxYt-2lm@fEoz zVXpYRI)uNSX2&Fbe2&Ls8P=Y>MtIA2ov}2fd>em!ugBXk`yIaLJ6VHlc{~kaj2BM_ zk2#Oa?{hHZ|7sq z+_Q&wt$a6m*NT_V*Cu#5J-_->z9pE?zfj%!1xYvUT`O<-#P6^CYasZF!D3&j`l3o- z>AYHBf0U}z(bWCkq09Kqqxk(*j;&&$|5luv%iZyONC^CPp106g&AyATO`v?->36OC zAh|Zd`Rj8&`KKy>XQ!X`u9UR#ot|cEZ~eQ4y1TMDpN6dJ_`BqskMqgbN?!DnuRo9X zt^D7=e<;m7fmU!-`NEvH)FWui2ujUSbCBYKmkQ#+$5Z`KlT(H>j~6>5yd`L)jqh}{yWiWH z;VEKm%s2Djl6Z1HIiBVm=NWz+Px%g$PlhwkB8G>3>aLYt8J@g~6K=;NiUXf_a6Tpb zy?O3hF&sIr>d!DaWq9+V1bPR)7Ois8rclt0?! zl;O8~g8 z@#K8+`QbV5S~2`Mp7N_qJ{itDldzN9$L?C$p5e)>IN?rzJBcUf(=7R9aiadt@#A=^ zuQvH)IP*+mc-p7#TG^T5$*VZw&g@L$$@$a_PmUkQQ~pGgPbQ~4leBlGq>b-%w0r(# zSB58NZNlyNZiFY!zc`jdl<}#loHG14p7Lu=P8rTT2RSRerI{B^A#Hr8quqGw%rFlx&O8gjL$p|KpSf#gQ-&w6;)FZ%gCw4uPjNgoylchq<9N!SZt}_G zlxHG%YRN*bDWr|>bhvzK*E+kw3{MejW4?~RN#e=*E&;vrJZJ$#{V+W1jE?cM*fE5lR7+L*87XGuIc zpJw4{_xU`-kK?I+p2;V}nP;JRXkC#?8{g?@rbq4Rd|v)7nH|b`8+W^Zp2U;$si_`i z_;Eb>K5ds%o=12$#y)n}N@s>Aui}I|{fi`?oKKFY-%UUL?D!lp*LU&^bjOe5$rE)s z<B#O{aZc=AcltL;oH#BVCoZ>V%aycurKFATTxs`uputQZb=D@_ncqe@p`FIqh93Y2!N`(2(R@n|95Q)-zm1td03PejnkAc4FsKe4NA2d;Mx1d zx$atV{nPbR9~XIl=jZ%!+_Vwt`I(;c-L>+}r#$m1`LlGtFQUx*kLl)6p!oN4-sHTo zvX_lGaL&e!8yo!^ecP@u=J(K!9XtM45Crr6ZoK*CoB3_K@?|>nhJ#U)(@nF}U&wPiXlONWr;jwW zN{6SB)@7S@Iu=qNY0Eqxy`+UQeD-f|<~bid*}HTc@Vi#>!>!)6;xk((uUT_iI$CDO z{$3mIhhUni?pnE0?Lki4hDA^P2SL)Ypznd$ej*so(JsnRxEcb2@7lXium(S<5^HxsJuYQ%{ zH2;jpBwqcfq#NC+v7)7=5{FIhH}aQoPe)up+p8pc}bQpdd zPxURDj^oTTNqf&m+W1aK+xIDCc#2pX^G!dI#M4gWlg~fRxlh6H<9N!yT+^8?r&`~k zphTvP9~HID`xG)fMXZhaW}ZyqX;))BslFP&N67Hwc&cA#^2u=KS)|xHEJ>t|?{v6) zYS;XD{;kcRJd=E^JeVCueQKo&G-} zJaJu^^J&5B!VE`_tNftJDZ`s**80w2O(AW3r=#8XbPQ&=idY--&HP=2E3ON3KDnIo zPlMnl%=FxJ6YVy#pUUv#c&cA-a>{V#@nYvow*-x}@tux#_j~mWPZ4WlzK&f?3?EgRf=O+&OcTh>0LN^J2PBGtd04m{~^K^ z`#tBA%c(i<=`j2_p7K?bQ-(9oB8G>SOaW=*J00!r_jYA?idY--&HQ5$PtGUD6Z^e} z_jDM398dKzlTU^-&mxA0@W|r0G$5X_s=-hJ0kK-x7 z&E%8e%;SXjB0xIrOZRkiW_a={PPpCwEr}=R(=0sgZZ9|dIG*ZLCZ9}Bc_tyAT0Gh( zZG5Mr+5GUHp6jzI!;`Z%;ZFZwNjy29e115721|T?*zx0d%D>9wli|!W2|Kxc?4FLn z3{PIg33ujCNjy29X2~au6ZLnFAIDSu)h3@zPI)FVJnd8Wbks9Ec@-zzj{ly-lk=$= zo*X}pr~EA@pG;19CTZ{4NE_ejX!rcf_6$$X+JxKvFA<)^4rP2w+M%K-yV=VPM~yz-c7@7YKj-|1+#-C$>itBAER-}L{8a3yvq<5N>PW%zMC)td04) z|2>H(=ab_}KW%VNhvCQZRDZL{C&QU%A$Vxf2E{be#&w)VTt|HdPd>#K8;fmut=act)bFPar{5YQShnk!+oOu?C zhe$E^@P)c*<45_}`jtw<^(*J^>HN#~3{MejW4`YHoy3##X%?P#pU*S=IG*ZlD8rBA$@giyobpV99ImtiE^sVF7_4n@jsY5IDdJPX=u>1N?z2c0&gnK&HEILrm zgX#FwE5h?+WM7i;*V}vj*^T*}_MVNj@x4N`dpevG3v*jN_h|aBqxLTMbQmriC;4Ob zy|+)NCha{NY2!N`**zW3iM{L2JT-|E$A#mhZgP9JTuFP+M%wt!m3FTO>df>}XKljm z*e}8f?ZnQfh1!W7M~*8`-0|kmY46!c8{g?@_dOk(GF(NhjrqEt9^s01V&_wGoU{8q z9o{d_bx%jAf7y+MD5gK}#uH4fR`+lLv zNH$FHFF5d!Lk`(^=%I&hT)uqy#sdyGVB?Y{OXRmVS#s1-M{T_F$}4wNDwSY(csLjs z7zkee@|OpfUw(OT?z!g%r=50MaLOsC1RWh6H{`%{Mj!Q1NBzW#~pBtQf^2xzTC!G`=e)!?3>3HD_UwHFd-}=_z?Qeg( z{OG^^_S=Iuyx|SOt+(D9y!zFz4z_LE7L1IH1U)@H!HZw~;^3^a&XW93IN=1LW%1(0 zE%D;Q3opF+J@0u>aOa(O%5QplI=JJGJA!w<^PR!l-uAZOO>cTr@cP%kKEU-8!Q|wm z&`>NEgUc?vO!&b3ySloBmOZ86_~Vb?`2P35KlspxJ{0~w@PQ8m?|a|-0@CsBcfVWs zL0*ss)(818G&Cf2v3c|6;M7x34OXvS-4YFV-E~)R_uY2~AN}Y@;Z7 zaTm>h$@PK7xzMuQt=Ysq0yD#x$7~hdT(m*_X@Pi)|ERY9pe)F3Ji^M^-S`A92 zlE@~?1m?YJ)vBgAU>TXu{rBG=eE##F4<2~nf#3^Y_(Jf-FMd&e4EyY7KP!A79#{|L z0kKHgP_NgeJx)wagmrMvIp;{e%%62I7Y@-@H?n-5H}ie)!3Tq{eB~>_Lk~S9zb}9J z%R(3H!+Ag~QcidsP(D%~uq|%cvL$%I3tk`?K${jm%!L8qb0f>nGRE_M_~D0xuYdjP z!8g9~jR41^2VeTqmxM>GE4EA40de?_cf3PnlD7k5fc?X!O`D`0dj7;?BMdTs)_FYt zuYUEb!6T165{-dL#0rO`YV87`3 z&&7Z81aWsb=9oY8V%?Jm{C(|fUlY1mPtEeD9P;wBPdx6p z@tN<5Kgvh1|JnSf9Q69X;DQT8_IdvE$w0{Mn_0JB2hI!Pk$%2o`=bn?jHV1A{%7Nl zGRX1Iet_+t{AYjI2z&7`^k+L*M*lHS{#fU1pOg_SyURfKlazt%2dEcNS7BdB8GO}M zR|RLDd8Y85*qe{{P6K%m&zt$W>|@^E54ik$?|a`X^2hrC>Lk>QDF4_8ty!~1@~7iMRk9z$R3uPzh-&Peh>X-2k}ojSbpa_s{}XzMnc6>z(}`bwJ8Imfh1x>#kk9 zb|d8L4%P|V0NXwDr_5)+Pt23={r&v`^>E0zRAruzUdm~-uN{!DJD}_BKzVn(^rbJ| zv3~vfy_V;E^knbSalr5CsK33{dpfQtjnpdD!fZE<8z6bYoJZ+%{miRp#mfxS#Jsm%6Lp?aY_SQWe`FARQ>+dr6_G1OTytbFq^Q)hrIL#mMZM~=Cpro7K)8U*-x_`Xq z$aDO+A6{)Tymb6)a$ei{>+=Qqlaq46Q%!r%M%wsJN4wYA4QBHN&f0`KomU+Ax+v$9 zue1B%_b)zY{mA#9$6x#$7RQg{slGWR?whq|v z<9Mo{X7b5!=2@iJIxI<~jqh|gp4zp4cxQ&Eh_x|a_mU)@oKKD?e%kP!4#SV*DZjzw zli|#>NPEvl+W1a~3-cMH@hEbyBe`(`;#_e7gmj7wCPr-Q`cW0JGc;dP+=hK4Mg&B?hDZ`n^i=8js z5;W4rcRJeL?`_KP6tOnu>wa+(PtGUD)12cx!;j-Bf1b%F!}DT=DDZCaOAkEzrf^_;mtFP;cB0{r=y3!jzj-45vyowWU_f<(eIiKQqiXuez1ILf!DSxraC&QV?3GYRK zblR8h>DZOw$*VZwPQNsXC+E{FJne2TH~cuB>Mt_+WOB+g3Gvk8(LQP8I~~pDhxhbc zpZw1je~ZF0)wmB&nb&qmt# zPDi`#2K5YA5o=?8n^zSGfeJZ;bL z6tOnu>nJ4g)$@vt=Q^R{Y z3_p&id`{DGoOvdKrBG$%y-K7Xua{ij}$@{%I*F_nA98dZEO->okJPXA`q?mj7Lfy3SqkJ~zo`V0{ zg{Q#`PZ4WlzUlrXo}5p!@U;7Up5e#wR9|B9$#CXbC>~l@q|(NBI-2QGdpe(2&+z1| zO}H}yNjy29n(9%8AIFpL({?%KnS}Q$Jijtjse0(b-L&yNr)GHa?-uHA&+yccRUPFd zo}5n+p5oDB^Le(<-|^&Mxt#Ln5D)vcyc~@f2SWexTnL;i+jvo z?&)w&Bwattgf8D~@OwIf7<gxg(-a6&t=^J$@WV#kr=$`g0I`E%NPHqyp-I@*0tNB$Std{)HU$TvM2;fi)* z=TmZ=v->?A-Y?E|PlxNDuAkOzT;%NXYS5ieoWViL?vkK3-9TO zeZSCSBpavrmm9k1=}%w2IGhivXR=%CGq;|IEqBR%b;<>X_J-Mn_ys?F+| zI_8+oC$3z%xogFW&7DTaio*}z{EUMS-h9}B2g``MdUKkHeWk2~rp;l(qSFIO54I6(N(Dld*WM zPdaJyX>j?x9<-1qr-Qs9FPw&u56J&e{K$_zrD5sf#mhb44JV(xdBZ8EY<`Z>Kt7Nk z!VAzrUN{Y%-~%!7tiuiyJV^d6(7^IO$MSvdnl)km&WAV+l6kPa{4wt{)~*$o^zi32gmqz*Xgrm_*$XI)1TbK_AA&=%pY|X)`80d$VOsdxBSr-r7a+T z_7RORDEZIgJM%sJ^wT$=Wxp_g@&Ngh2ccYym7f@3-#`p{`MrOdxBQ;J^FN+{y!^5J zi2;!X^W@L6`){uN$&(Y0J8r|A{5Kpp|GoSR${##u`ANf)MT_Q?gR}D|?&28StqqtQ zn5+E6pZ5jKpMB$eebLcJ9C4h>9OpxrKk7u}0I(O99r-t^f5#tX;4@7I5_c?rBkaY) zLLN94Tn5dTf2{q5eWCS3)Q#BgnE%rK_n(vZP6K&BKC}FE<9=!Tz&-oqxD4J+{-6(9 zb@b7qkFde&MfX6xi_8P=JdL#OvZYIxp8y)V zfQz`?7o8Y1u-=J#>R+t)Lk>8gDb8D^iMr|WD^_ec?pe>;aNIMWx#8HOkKS<1kwz!re(PH=m&f${JblkEf035Y>5%+R^;oUD zo}Z`h`R%m)oDRwFwAS3SHM5%#t7T$Ij)h>^^y5Xso|b93QI`N|U3N z>R3SnYNfHU^2k7~SpvD7FYVp!%OCA-I^OM@g$6v$()xF^+s@@af&}^Vf2@yAJoxwj zH3xt4-#Ae0!XEDtc)*Sv<9`$W_rnqtW!ovG$>Q+nP)Wbn+UXe@FO62q`0kXRVy)a;sP&dcO0npt6lUasS9a@a^=LIbi zKU^%27$QfC!=)Oi+_LhemFiI6%4_j@sN7R6R;PCR;$jV7dF_q4+*Rl2ax=g{{;5^r z?OD)cVpZc+G^cyj`RDalM#eC0KQKO2Y~etNIaAK%ev$&4XZ4Jihagz(V$OMT$zEj~ z$T;wq!hv(2pUbU)fUA#dUwkwQz9;hT+~;35R2(Ut+dEdSjGVk?&DtD)?fLi96!NbA z$_wt3bp@|dcQ!@&8#UbB+3)@N((~MxblFEwBFOXMSqtP_epY_X(%)|D20V2twM^%O zkGyo_)6LI!owl!VuDWr0Jb$OBZuB^v&FI;5mab!9p8V(Z-1`qtdxS%J=Fi`z1=8dB zJ3WXh|D4Wd^z5309wy@SkjB9U(DOEY=lp&P{EU~&t$38Y7BBup{uSp&et(NNPkriB zo&pA3_k&-Z^MmhSe9rpyuidD1a#!s8KgIkj&fAl8SdUAPo!2*WX8J>w-Xfb=?zolf z`3=kBbrmlQ>j|&qU*unLZshm3^Ot4xnyVhsFaLCI@KTkxcExpG z7O&@cS)v@`z7^-jpWHuRz4$k|+@E4`SDY7xN4~kz@v=D17^6{HC=(phN7*<0HvZ4s zqPGpE!+)3daCo*tt~%()J?IM<18c-N{<>`6Ink|bLU`BuBmLdd|Yxd3|JhVPu;E<;}OlAk}~G{s$nZ;U^? zf3CKF)k|IylN)!1exwunJq@~Zr9&BVAl`d@^IP(}%2o#1UMP(Zl`v#^4I9~YueC6@_-W%n4{N^mzVG zPu=KoI-Ak6>BWut!@@f~^lw@qJ)XbQlV4~2aXuMNnP#JZyB0tX>u7L+^mzVGPu=Ko zI-BvQetC2Lu)gXGq{s7jdh*tuoz77>@+3aJs*ovCTbdgIydsK zI4|-?In38jbByfrlrhNfaE$!e=l{udD3^tMqb!uC%$wuN$iL#e$ggktw^>>8)|U8f zqAYm!vbY?LmxVHvariItuQ)gI>pT9Piw5d|(f5Cf`B$75g*Q)!bc*d_uCm1H#bt23 zEKv?|-=1SEik)t}e;^X_K7eVmUgpx(U55X;m&f~%X65ld;Lp80-Ul@+kM|+T^2GOn zxu1A*KU39z^R=Dmd*aRG(!S(=Pi5{l$hO1vSl)**2Ju$wEe@67x(x8X=g++ygVxu~ zRSxg7{@lyqeP*L_h^}tB-JD~CM)Hq&U4a)b zI`@(n9&$)7*VSLH*2Z#OLq-1WE7f|deuQ-{jRr<#Yd{7TV#!91Mgoz>+j%d>Bug#5COTFb9 zt=VDv`a!v`5Yce@wYjd*3f7vyCNfa1jF0B<5r6A)T_dGQ6anc>prOP%ZVBs-=wBdj0G0CE?EGiyw!?8JtFaPFAQAx2!uU9|iI=i6QL0wUeWije?#Ojjs^tM@ z)HOO)D373Ms5>D|)_!a&6}LupnsZ)sk<9|3pOFO3z*Bd~JBuHsXCA`Qe> zCC&PJqFmZ0EmmIi6t|Y5r&_;$Q!=-wSD%Y;DHKTFD5staBbX{F4n@zE{(dZ6g6J6q z1=@c?ZsDUs-#D7=E5?gsxt<=Zb}Q6M1H)YNW{+qslxg4#5Yk%)%m7uXQE4Sz8mS6a z11X4Q0i%@~p%VpIZiyhzIgDj_7kbdr`ifO)vIKSx?W8tV#Y!e5Sl+4(f!2vi6@PJ{ z>adb8C9qZ+^7nn!qViOzmA73iY_6+!usqaB%eda=k~ zoTR@tR_^a-6W~L6E9$2N@WTfZx0T8RgJbZcDVV=n85&v(@`un>^^R93N*9iFyXR{4 zTsl5xLGWFjE1|PpD}UFi%6B1pQmTHCAcZOQ;zJ9=+D{L}dm&K1MK~WEm+T$Qul*%O z61rRfD9(W@OleS<}aOh+5qWk?hpzBP73c zlp+iZA{cY(hhSu7v>~pi zu8p7{>n-*UmI`bQLr~n9&|3CNU8J|GJX(p#nddvp6d%GXz=S#zv?Qzp^P zhaSfcwFcJYO8g@Wd!hJ=3j{)jR7(B*<=(Q0R#6<;=+V-KrV5oRmMiDDuDCol4)RBV zF-T9Sm}Lavl?Ip$7p>4>C1uX_ug&$ZqZ$VsjY0eDqfXdE@s3m|EL3$6uLTpFsC#{3 z4_&JJQr|$MB6V!j(j^K3xp*f+9+y!dRTBxuf<)z1N;pfm1MRSfCI#!jZNv0BkODv~BjK&dA^t3Wu{HHLl`92glY7J!l7t;!Mg z3v-l6t*Khhv&LtT*Q`Agz(}MJF@sMrhVU_JqFu$lF_1ol4HfK0SZwR%QFqiAfFH_B zXaypG*k9$mTl5}L^d$DZ>#wDtFOLkCs^u}&3ar6FvGQ0&_&p~5QK!u($p8{*ENA`X zBt{KTK5kH_is1+o%F)AAa*$kr?JO+~O8O}3Ni%1=TE~W^x|sk^T9`hw+fyY}pQUnR zpT?f$Q+Wm#S$h$ajCmq|6EAY)j&_&yX?H227VWT)O0ra!XkSuQ2!kdzf-bBEfr4ze1!y^C={!h4O$HE@ z0xToOMlzITwnPtl21x#)iVULMs{$pGb6t=OgJ|iH^`lc5a6tjW=ns2AU^BotI_z3G zriQRabt23Z#&B#SkksL#he_FO2~9o_@|0R6lnN8 z7&t4!`_VhQWU7@1Mlc2d%ZDnJt%aiC4VsUrroHUWh))?ZzGA#Ijv)g3hHVfl$bG0p zg#)q%Tsiwz^+iMkawb|fGp?)*NH0F{UsWT40|18vi#HJs{OPL}Oix)qGy&C7 zS?wfL+vIU<5UCGh&z3a#buun5j@A?ilmc5$)8YL({a)JL6f@J*m}8WQ`}+#TVH)Pt0s^Uy+LRn=hAj_6 zWi+#nl3@@2E|hGLr(ncXK@vpc7#@YG!2^Z!MxYGNN*v|5H0m8<2R4kF#vrP;wIIH( zvC072RYB?xjTQp0P#*3X@8@VkkwY69EE-0we1STXU5chasTHT-BWS2|jwMlda+Mwh zt{|KuQ1B!~NQ-3^S@o$yLmfov7~}`gh;}J4VC94&MnS32C+sW8i*(WiD!Q%*nmP-_ z0f7TO?4SpW)jkos+#v})hDPs6aVgW#cgX0-m5XcxIwJ17yz(T75{ zhb6x5aw+4Ro~`o^WlR_zZ)m+msuLKIqXgQr8oV_z!ZB0WLM@_*u^i@MauaHS4M$EW zGh`I(G_^iSsltec;Z>!V{2U)as|ugOQEr#ncho7&DzCi-T}9A^VshrV z0_Bqk_fZ|1BnmgcvNsMC(2bTSFlCDF0Y*iBt*r&KW0)e@Ep!ayeDruZ=novC!V(Va ztN7gph)Hp?8H1c!LF)vp=L0~kB3*6A5*AX6hFazPU7;VdGo!iiF-$lLq40`6=otbJ zIEvYZ7K4UWWi#RQ2igS#(HRvPVvjOc<_|(wWVzwz+5^VIFh4ZPAviQd*a|o(W3ka& ziA(bxluwwks<0BMo+G0rwY1_5#02#o@nCvmu-uOn#hJ=oeSV>@(oY`v7yUp3jL?|B z9yZb3U#<<7roflV1Yoaz$&o^whGkic5Ivy(gyuRBdlfz5ohLyP^+;tHx_4pgnueh; zKU;S3Z#i01BI2Rz8-|_=(|V;JAjn~UmL<*c*8_742fI)~f!Y!vC9Q>u{Xhjx>-peE z?)ejCs(lnWVl09IoShT8l<{5;j9{FAC4y2ztOR&FiQ_#`88R@Juhc7FNgyWfY1o~B zNrC5j49KDmnO)$FlGxm>{_wd_0^7ch(k-0NNTkmm(UXd0x4=OzIu?n;Kbn4y-u`MC zw$QMBYj+opKup8&0ZG_l(pZJQ34;+v=a3pHU?NNVIx-RaC)lW*09+v#I3K3khUFvmWqzq$^J^vN{7H(4l0pE$SPhwn*1~dN`T&-5 zIIuwW_e1ofrK#SGS#E`ejH9rSM$4s$LI25a6MfLIaD#s0!^7#1zq4>Ddpwc`NSf*u zA*^O2ffp09acQGhFr{!9#ky7U^dpt!OvVWcBgd&?;^7PbG7%X68n#OSikU%;1N%^0 zWe5ofogpCHF&274py9QD$~g+yo&-}av{4rb)Kp+(90lJvWRH02)Ncn)GL#MVi&_KHSDcic_9WrDF!NNCy>MqCw>m z_K^YmKn&RSpc4c5AlEmJnK?|t$>cX^1EOfwrM-fSN5*Tk(fN~(b^S>y1H)TUtf_m2 z-zDBa@<8#YS%y=r1=R{BbL<$*=e$JNI_ptzr25BX0-AujEF~GP?XR$$XW;wCih7)s`GDpXUzr)l}(e3tbrD)zZ z2<4leo^7Cj9v#EeH%1f6B%3VF6Rb8)wH9FYMVHL!JbA3f{8;Q0hWEt$_WdNdk(=V5 z-U^CO4pg>UhA=F{#IKplVx1bS*%O$!#pDd9OZ`DRaetbE${M~h12ZNQF*N1KLHhgf z(O#o!Kmp3f><8JNx+FD9-?cISx|n}GD%?`l-1spnTa5Ff4+$P*Qk7y{f_R3J2;za_ zFtjc+RoSeN&ho9}Fq-q;5aJV2UFRCMTK<^$|7Tb0n~pfXjWLPad!a3p0Aih;A}7hUl;ktqCpLY-!LKT*U z3Gpx$d3(l((6HsNbgSkA%+zPyHhUYGSNpKw#eD0yxCdfL=lWqEQ>cwrwn0BuoQUyG z=ACjSSU`0ySSCjOjjnvs;RZWqsLL3&>(Zw2QTYnpw`%K{Q-GDP3LB)(;Fl-5F%L3v zHUGQ}6JXu=U5($%nES;Xva|mNTSGr;qFOxv2J|x%k(Mj!KD2vai|v-c!zc(-1g?H- zxp;tGgYp(oJmjZ^XO!qc=d>j$5X7|AuZxY4o`uq`8&Y|gDyaw2>=*GjjMxE4UER)@)y$zTSqF4r7jnB zjY2brNmF{!QKQqJ(5^9fpUlysBH1(dZD{ya@TY{SNcG{|KXm)7E|frhXa$uKHA!?q ztHjy^5Y5FRRJ2iB9B|WwDXnj88-%>I0P&hUs9`bYP%kI71U=9)#s(>6kcyO-y*V`; zo%BbRSobzL#`RHT2D(M8ouL;qSn$G7Ffz`+&`Zi$M2O&zJ^)|#R)`kv84`h3){$R zF0IBNa+XKG!H_;&9-2~sPDn_XIN-jxWpjJr8S5cCdMcAFA|0lslknr}qFj)EYgs&#sX!63^ZJUo0R-qumPNg=^QOdWB}p7oQIwmFgt^&Cov$Q3oZn*C-yS5w%6Uez84 z*HV;8x4zDOT!SrWVC~A7(N}5617>@;sMN!9(v8bnD{4z13d27mNF@vH!2q)mMYRgk zb+Z0UL#4VjRJ_Cj<{DLhX1@;eSv<(BOSaUfgcC5ws#Ce*7+Bkb387jc@j-2BSU=EJ zv>Xp$9vFQi3ZMqn&{M!v2pG@G!a&8GLKSGR6k!=gS7Z;O@N&hv8nCdcs|!YqktxjK z)u^L)VfZG4BB^k)Q$93VWyU&cq3nQ8gX{%VR5wPipdN$>N1zp;Nnsrrj0YGd<6o)HUPey}jM->GW*1~Mn$sBC)neS;37gmN?^PXAyOj&2|kF%e`|1j_@9*kEPnoIgBV)DW(-GBIaU zJ}UF5`O5g0y@WhyGUAP_EB1yMu&>1MFB6306H;DVas%ur=P*>^Jb$cHvyhN6v1iBu zf^Kve8#xrop?Mk4nC6H6s&Z*SX_-qni=e#Ic zb+3ibfpM`hdk$b{lsdp9H7`uV+R7GX2C;#yMKH!zl?PTm@>Xk&`Y+NE(=cXe$1$fB zO{1Ve%RsFre<=nO&NRScBA81_Ajn~frVvDPA@OwCzty;shqg`R33Y*gIdxB$y_`KV zHldGk1ll0Y0BFz{=|SdT$s*SWu{olz!uU}Yh#W_qL@}e%l|^>+sB+2FDMldD_@yj& zDfhA&E4jjx+$mri3L z7=WbdOrapaz&5JIQfTB$dCWn~1Ue#8Os|<_@KwwkdqGi-X{8c)pkAB_EWSc)JWu(? za$ptqP^Aa@6^0R5dPuVpU=i(Mv0&OFwyZ@z*3}RAc8N{S95F3w2v!c0KlWgPOzO(k zoJUqLdx_6O(;i1)Dx=U7!@G^zD_qFsK5#|+Aep@6=vslGK7^J=hAB_Q@W@BVwh8I0 z;TN+y1I1J5rx*GjN(rmGKSnSSPVfE*<^T>v1Q$G_3)j6G=u80%CW#Oqt=LPnG7RlV zCT1cqYV`SB)v3&ojq;+yVgkj!B9;kZF+OI1?EwjyFOuhIYz(G`2pyi@9?_gxk!sEh zg`BXGc2CHF30RV_CLNgfu9}uC<~s;;8j{gDc~R@ft0QE+tozVPhosvIAwVp^YV0ZL zGxSegTd9wfR#eKhM zbTa*fPK0>X&H{Xpq+?U-Hi9GVr&2|o;9>_^ilnQc_~JAbIy#Z_Gs+q>458fBZ-n#W#RMW(GC++W z&8Jg24wIFRD11_dpf=JMhKv=**=8_!z

V!N5+VU@nO$HvGC#FusQQuR+qu(5NU9k3!22^@?~j7Z!=M z&{gzs3}+Vx-!sVl@oIPQx- zj}|%8EhClPgQeXz_?!T05bXGX9wu9NMCAru%)zKlywQP^2ccs%ui(?vaZO1_daAo? zi08$r3o0BMs=_A`q{~+;)hRQO=!b%E^_FF?INA4HvQH$J$bI#q9s1ZoY&cMpxb3vJ zAN_(aii38U`iYf74flKsP@h>!k~x(T@czrg^4wNU^sf($~Gt$EiN*}i?aFo`|RfEusibDgOup1o45Ct28 zLJ8itwOa7GQCmr=6B3d%=caGqC=+@YT2L3XJ(`}dv1(F1u&!_z!o}+_m-7ir`-ueB zm%^42rS@2I+D&AXBj4eTY->|Qsqx2*OcDg1W2#2YNFIRw3o^`>l-91pXjuSZ9e|Hi zp{{X_u=WSc%e*9n!v*apbdkCESvPAiuL>iml(38IZMgS9Xz?_o zlA)bYMw=>`Ap~GSr>vABzof5(@z6E#=vgNZl%KM?kxYeMJ>0O36`4E5 z6kV*PK9(|816nD3Lo=eVQ)k^y()|@jTWwfQLJ=f9V-j5^N8I5C%m|7L2w)u z5UYY{(q{IEIHVD+xo{_ycr9@#*Rmb8vPF2q#Yh%a2dNx(6Dw$bXmcFP@<0$aMj9Ll z$AZr1qW2l0Jz6noY!zu0vo|5CtU_0Fw^h5EIXuRI4BzE%L3UdYNTOUfG9j&0ANh)p zw8JU%WV8YyPwSi=^34y>0;I<1m-?YcO+wM&OrH~zR$VnLyvLCxur8`6-1}9K75N^j zLfBd_OZ8x4HLrgR?Mf2Io(?9p^feNqkr?b`gs0FJShPr%1Qqp?mbP}k7e znpxXY3Fee(Bcf`lcnU!z@V8gm7DP7RVAE83J_U-YfQCm~hw2IPsm4MZ5xA;Q2V5}W zVn%J~7HEJn0gVW{J1z-WRGI7|iP?riuhFIs*lwdydye!d3mE72d>Ob}2c-`}sX~zL z&n@~?J7j}NE=)+oy2;`&kd2&{$r9F{iPWTz-4tC(n;zQ+EUXFzl^olVwBireq?rjb zc%Ky-v~1SEK#ioq;K4};UkIUUC?o?G9O0$yzHyd8@^Z-z?E0}I4ftfUuk?m(5|Ikk zQLM3G8DLrhLv$Os8U=JL&q*pCHKHaxVTV|RIb0fmB~ZSSGDESzHcBk8fo22Q-jA6| z@gQ}~sum`&f6-1il2_gj#Oe?cLLNtTYcr!VR#8%!JlHL%Q{&NEh#nK~tm3&c7|Jbr zF2>fL*3}f$7K;dk!h|G?i)jkc{=cgaHO;*&IhIy7wOERY#rTlV94v+>b&wO3dt%WO ze0i5_HK7d$l*4oy`dJT_x~g}bqWu9BobeNhyt;F>u4~dw{pgo4)eFUj8A5j2Q^-aS zaAD6iSCuMlCG0-EBvcGsY+ElaO+D&FLss`%{h=rP$aAh{-r8xjgNMx~{e|^)oFy$^z@MbrxOMm0?^qhULn>8pc1e z2IP-mfNdd%8B?JdwjO&H$spaXk!Ss;7-A({(1f`tjF)I|HA0}#Ps|EY-8u0QW&NzL z`Vk_^jlihaH+&_6q@R_6QDRw|5fEw5SPD2;8JDf|QJ|@`Q5PW|JT77o{`NXT<7JwppMTfHEVM%hu}a_G5~E z6gInvyS*WBV#N*ZibmD$En)fC|lU8+LJbJoK0p^c9_}bVt6c5hf&E43c8dWLln#@ z%GnvV0A5CnIAaJE1p7OT0?}D%97Rh_sKO~0NOTn1pHax-STp`r1r&`(k540jATD&A z3`JIl3N@^=hLFPE{wPEa98o3S-cppQ-X-t&$m1Q94yZvqVK4rqgTpQ^1hdI*tpb^S zwq=sCMngJ!J0ZfGp+0I7s!njXm>9OhaX5}a;Z%(j5o=R;IEoH{WZnh~?4dEE_rzKg zOmcCgZ0ZMJb26Jd+BgPBscC1%_Iz#$kuWKa(a3M~Sw$rUVid;4%@EjBF=@iTQ}S2P z#7EIK=~0^keZocR_d~^=(vS!f>)>och?+i)j&5PZIXl1+NSyTophsZrq%>W?$f5xZ zSl+2cs$u^Z7gn=)u=;R`B9*b(0jkg;HRmY39I0@rzp#=XftUmdA8~pRPs)&K4~**U zBsuQZso_*U=+?#BDAtG6MyC`!vStN4cnN2SVoCuiDE6g6Pw$P^6%=(wVRU6-G7KRhGk%i6UTO z3WF9R#$okwZ7RpdkO-A+oO)$7ab1-k=)eRq{v5U$Ozk#gxqp}nER`4-q5(5LzlDU{ z!V@3F&vA!Pi^)K4)8PPi9nLR;$zw#8TW!OE5VH1494xou(>6Iia$NrEQIgv@KZNyF z{aAd3Rao1gCgl1ia(%!%=67|_i+v?r7R7lm8QfCkV>Lq-V0B=uYm~sD(g2TN;NWgZ zCq%&}RIfZoA47yNxC^Q&N2kK{PL!ooqOxKK6>3{h85N7_$Rxy2nc7zuNTAfIo=sP* zp=2CF3L^Pw=+QO3v3Z`}>eMJVtMTX<`6?bD9S(#$X2J;_E)t766AD?#cc`&)3?=E8 zVIJ6m0}uytCG=Jp^HngU@B>xwfDshdw2NjCg-2l`7DaXKGEH6!XCf~dCac&vKZC8k zSipr|!xqWVqnpWPk0&}rbXV%tQ7blnQW&9?U}=bWZ!oW{6~SCMwuj0Q61Bm;ZB#${ zw!yT4zde|7#jKy&8rhMKpsir$QTF#1q4%*lKpU3c5>_+`2q&*RfEqnaoBCGAAk@ZC zZ5GiUG+BFylvE4@v2g)(LRS zG#DiEj7YMTOQ~SQ5&MJ!6;c(eIym!56@W%%g$>J#@c>QqTzLU8LzrXfk$7;1N?+^= zOH!h-qoffH(b+RF)mR96iCG~xXb2CI4EM~-H*S@c%p?Sd-=g-F770-EZ!CZkG4=>% zQd@{pfWm+odaP%OlsHL9&YqzCYp!sc2a}IwfeY$IR>Z|ZAe!yORcJ?0-F=J|6(1ID z>|N<8Q?r3`fCV;o#1FNKc>NFsQjP3mV=vHZBO94iUKA4fq6}4e;aFaVx;k$`4Hh!YN(2iT)UJQ#eqsw0`CWRj- zoygXa;uK66+WiUb(h;ia*QI_MxFL^Qd(0NNeNtpQ%#_=vy1D#EwjEp^T z-aE95^Ihx-?^G7E`vKY@j@cohk?O)WSxsicgG%oh)&t z9OjinIyl`S#{pSuwI{O=*pnw>$8uugn=JwAtLz^xV3{}f5kqvT%Z*Gv5QN?UQ-es* zn3>Gma4blNG_?JPgGUH;w0b9(3^dBgA@l0^Q~MD8oJNuvsvmV17K?uBD@AVQCb(l!}B zhMk?gmKLHi)I+!ojUm8;>~+@^{3(p!0kI*ZMR2Q}e*wF^7>q(91g0d`3Su-z);Fm- z%8^PhrbVS^5JtI;DBPe3oT&YH%Igqg|_5Luc3A78_Yo{|!U^Gv@lhLP!$ZB&9AkuV@s?8@-KG1)0 zA(suFZ5m6r(&&R4hD=AmRuQg6l=LMh3|PS!JCAArhZf14jm@6bkgR)z6_6y5Z zAk}MXuue1pHfrt?JmTbSa;$4u876BI@FeVnaI_+;GmK2|P9FM&XW);0fs=houtJ+^ zf)5ELwRvLu`!){CAqS`l_2Ym0al-n7=C>!I18G+FAE&9u6ekQml= zA6RGYrfhoI=Sv6R>+5kaD&5!O$#Pkv&x6awsOSsTJiMzk z{Cuw8LXp%ZkhmsDbq1CL!&MAiVLA(!Rl@GVNelGy9RFiYG(9^1$W3k5j^NePNI05; zw6^mj?X7?+oQ)v=d$80LjVH>615@;A9BiOZlPz!~dca9Eje!qFrx?3SWg3_#ofC8{ zJ(Qgd8Hy>JAErQc8;}nBa2S#WtI>cRG3t|xPV{RcmNHnaRao^6V;W47=(N-iB^Le( zX~(vxswmq=Y>;Vtj&!S+k^}DYK>To03|!+u_B27DqXMseE01g&3s-|vhXofn1i%^6 zG8Tc%f>|1Y6&#kb7W;&0%8i0(fWu2M#KE;Q*-hnx#;4PEvVRvF0l*6GJ+PfcYU?&q z!31`g!VA^U;PnYg(=X);g;Ti+28$s$t5LxyTGmC#(NmZ9$YdrvaVjyiRHEHui=O&* zTFz8*Z1Sy&#Gpskq)`E9^Nt1RI*}*<4KDeGEaDdIM(eJ*bD^_qQpYfpu(X&DYpm1< z08_y#MDN0o+jLp*?H2M$>sPW`n5-5C!n2@_z2sa>=trv z`#@>-b2y_3RO*UwKfKbPl{ZjHfowI3N4uSL(5Qw^ZQR_+#N0=*np5|3pmFkyW5}-X z3!ap!M+efUqMJU@F0b@l^sas`3BXL&l{%4S>+M1z!ilXHP{!)~)ul3(rCqo619Gr9 z);>!+r?f=lhQ-__wFbGAa<*i`@qfF8ndnBbFtP9B2;KCAje^6Ng}|0|@QELfaM21&vDFnOgrPPM{x0SiQ!c`#K#I>pxO zhHIIz@CTeYAeIRRimD<{W46)}Tmou*F}-Nc+PMO6qK}#~*40aOM|21|IX2P)pr9rM z9TuXYu2Fn$qrk{{H>1W!0RH-}z}w&C(}Wxkca7lo%bU5LyR71dpJN;bw!$_VyXZXC@7D8z6J#6dr=9KvkjOdg}w}zu-T}m z4`U>8pt#DRA<)H3IMGHrGW7`+HdQVBG0f&KcUb;a&y{@J+&_4#>!#_+60ibl-azzg74}}3c(6o5U1JAyw!O}5`{r1YG|Ch7(0Q0-5 z^0@DRW@4fg5fP%m8heZl5)`nKo(LghCJ89&Fq4@iLnfJV3Ym!w#eyBnDt0WZSXQxP z*%ftHv9ng}xRym-71xIS{d~XY-d~v+c;Dwuo-_Y@&#k{(&pqedb49ntQP_yDV51d0A9aEK;fCd%bjKNI_XTS=-7QA8j17BCpG4rJ%o# z%#Ohq)Ji#^mGwgVcwS75a!*wV*zKm#eJagdpRCGPF_?%`ZQx~>s!xrfJ5_h0 zrx?k;eX5-(!ooj=v`pO+tTdP(xehA1_Jwd>X+1yoj1TF=y({c-6_-|3rS{r0>l+#l z;``9`4X4OZ$(gd{2~Uao`W+;14!~?Q`?LLtV+gV7&Ri2RyMG5 zC3PLBhSLV{m0-=r(es&8?-l|Q|MbHc_H5UQb4dn;4|v@Dkw zMKQ4X(2bI(i_Q_Zks$cf+11Qb5#nqvfj(<1Ta?b=a!F5(3g^>q#eu1eG?X>J4$(M} zwht>2iHMJMl%|t3McVIqD79Ef=+u*(&&{zx; zOJZE-C@ZQj7L%DB9Bf5b*JXH}jKzROU*ek;N+LN8?W69EBI!G?rXj7iK{ROPqV&>y zh(>H}Y+L1YSfhyyq!+y}VT{uiMmfOMRqyDad~*JUnPdN|{CkS@6J#_K&4r*+ixLT! z#&s|j6W<3hWnJ!Cc-yM#T_=F)u^1q!oxqAEwZ{^3@vh#I{PGc6I4V#3&X#L3e zrMRsSI^hVe3WH82#0nP$fmyIqpp~s?=gBn49UR`=la*ABir7agZ(b;4a6oNm2L}uI zdg;&@DnUH{g8f+YYqLAd|DeP)677}Eg-Th_=LGZahj%G2K2hk>qInO4ZT!j&){A=y8v`^*E9L`(IIrp4NG3a8b9@Qt-R)@nUmAZ$~1d&n#HIUr%(L;2_Ja*2%FutD>n4O z&;l!)47T^6!dUnZ=>`eiDht?Yu&`y}_p_eqJ3N^BPkEr$d`?`pEOzuM^KA4D`9s$04xD(hrkpIJmbTpB11WQLc2kaxrZC#=FtCtSo!Fp~En z6`}#)N1!!Son2KoZJSmdL24$O2uOJbhlg19iKu+-(CQPnD1>I)EGGEzRjd`+cJj?o z@%D<2$Pf#8)$7svM|zarDwZOXz%bu>@2 zG)GKrTYt->X!JUTLxr$x9EzpI0+lF!ctSs2V?ZtKvi`w8UY&`9sw)rA5W<^2OeEJw9$Tyf^K|9Hq zePf$(H;NqBVJ&Mxa0`Wec~*`ADlUj-AM6iUL~?mm7x@BHjFy4k5M`6eq`gC|wruF3 z=xthnQq{~A@G)^mTiJ&xH{L&k7cl9wZ_KxNsYzqLoGJ4WO@b`y z6moda3Cjm!0j^V79HZ72f!wrJt1$_CD40HC@x@AHHX2J-D503z$?S$q6+5FK3uEsQ zH`;V@5WF?f%2%4Lrfv;N%}PMdpxs0+hD`)fN7O$w-2xNVjWy9ELkKCf^MD)Z1rouS zUODwO`T?H!WOfXd=iKU}Chridi$sipl#gViUO~ANy)FpnE!u=)_iSR&dkWJdJN+_! z<#qJRx4xJc(K@A?NiV!lXDSOmXI3Jb8s9ItfEld+?QK*bqsVc%gJDgdEhAKcB$nBr|8#08$@*wQy<^~{dbx4dJ)p(Ww){B6 zyWUlNqx;W{P2YyA#AIUU37c$ug)1)#7?C}OQF2C5DD3_`aLga~rW|xR??O%vX3Bg3 z>#bHAp=GUsq2(qVa8t2bl_j>D*XcI5#tR#Ws>#whI>zYJTgU@?G}31KBX{jKY?-!D z$%k9K9H#O^^frnjj=FIaQj}jigISb46cnr_ZHV0ab_^lSk~IfRl|ezD?YZn!tTOC> zqDaj02x+8JX5Oke0+57a>Y8mVYxh_ifJ);q`*ndY3`;5NZrmW~o?QS8xD z8=XeMV@`~a)nv7gkfAMKLDw9bHQgYwjOryN8ME>i3S>{Sh`UZDl160gWLEH^HH*c5 zy&|A*-#@I|Tb$i39n(e3Iao;WVLi;ip*N=qU1K$KTpJ*PuIA)u4BP5*sMU{&*u;f| zR-4Gl`m<7hR$2dI23|BY{)|-G^+rPW=x`Q|$D^>}2%8fpX+5`1Fsz)yn&8z_&fEEs zIcSiqLaJI)huspw=^`J>+FI#F`1#TeI}i0sL#!7XZkFeVLqbNoVxXrX4m*;uvw(#m z>=L-z+A*52V(A3UCq^R9k= ziV0MH!=lFNK}QT~vIsj$?e*qFMYPp3Tg92B`E0h^#d{-!o#bC*s688>6x;RaTTKV# z6V(b%O>k$~P*#v_=`(Z~q!O{euSgQccR^gU+DW^BCy;psErxy*!>UI~oZiJeVYc$z zgp`otQKk5V;PuRHy=GWk5Nu-n6=fhqBg2is)|XBhjSEKMW`O5MH5|l9M6W-lBC|6n zUZ`wtee*};IxExgzI1SG!iFq07Bo)Cn`5nfe(HlwGhPsOxTJIWc*3v`%?RhL?^UMd z%9R+2v^$L?JHY_E|<7xBpjXURd>X;USJBY@2*dZFvr!0c z?!wAwoi;J;nle>ayM3!$bF^Yv3{H>DLjQ}8r%fw16~>Z253`bxSDe$>r9ISXbx&+o z0Un&YP=_f^1OExqOkVhDVUg8o*m8t$0JAB_l|cc8z$_gPO)0zBp{0HVF056C5?Z)X zJBFSQ<#-gl7zkdr*d%-cgNm2=Xe;B(Es9jXp`D+56+ibeITH=i&Txi`CxSIXltPDr za6)b^LmFU%F2N{xeRcvXu|G=Ox?xL)q0Qu~4hIXmgrjN6TqLM|Xja7n) z@B)iNhSkQ#eiXvo6bEpNyg~ z1EAP~zT~YtjuDw|apl4tr;9KW<5n&&Pvu7NURWuoY3GoZD??a6=D_$XP!myqGQ_ zudJAuVK;!~Ln-J|w_^5bqvlwMR#~WYm*b!}d`@pc#?Tfu^@2>I?6^=m;(lnmKqXbg zvd?zrGUh`WT(;Q8DY%e%aPFjwna{!64B_#6tItLPn5yO$h)=@?RJnzpYY;7w1qbjy|hhR$!X>2-7YrFmvOy%TkCyKZhQ z*KT3-0vWgtCARi6HGNffK~xC~qAIr_TBSCT^O8o1FyA2z)Q@>tD10*{#|lxbg+r7E zVuHix`1B|{dmX=tT~X#oJslvj$2Uj>#F{%g-fIQ*U4t33YcLSIckS9Pt|h;l*fzN% ziM@q0hi5lvO0MVNiCvU~g;O|ma1HVTJ*?Ol(`o47hTw=E+$@Pb-1rM~B6vjN|L^i# z4;zZ|@>UO0YxXm_FNC{2#tmimaLDKgY5NdWHo~$56;%Ld5`0%)wd7`$Sbu7c!D=nZ zYL%jyS=FIQrTD)ak@jG6roZl-k zmkQENYX@W;EOQJraO{nOMJtPw?z1lvQCKF2G9!kE!owaYdp;!jjH<~}?YmxU!*0VQ zwc#Z*NoT}xH?dV1HKw@-4h-xWogLpBatTWVcnvR$DMt2tA+eZ9OI=uxWkDBXK;6LQ z`eB3$LBoYR#8x>Vi?bpmUVgh^d}YL!BXZF}B0E`iTb4|MC`P3khK;2x+S4k_wBmTk zf|E}aW7&%pbidI1yI{qx1BXMKp9YW|kmjb-u}iBZm$JOQB#S zZO-q%p*w&$)Xf=deKe*ToG~RHh>I+z=Q6&%CGO@GNm??t$82U6N}g>EZ3_MM@mY7E zc|{lF9wDdD1}6cXh((3yeh#M_H_k~Sw`x&t9EZDrOGeKIfsT*awS^HRqu2Psn( zW47OXL`kVh12HkOYoE{f?qWUat<9$qfCyH`Zmd=afh3s<9jONQ2t2Kb_xd?o7j-8_ zhUP;Y%H2Muu;b!h+8@&9kSu5Q_wrq$!C-!8lVi+Qoh61u$kR#O{t;$?$NYSicM7>~ zJ_So(4NqLJt(_(gIVZreVdr3G`YHH)*vJ=jc^8GXwCT}8q7JV_&6TB+N=00a071>X zD#vi9j`KiZG^v;8%mZg!aE}1#DMWu>OW44<^On^LkZIJs0$FxCuxn(Ldisf~>~(F( zJ?0L?uik|!q$i(buNRK2c%_jKmqQ$7ojE4-`mh`b*X6QhR(FbBeoM?Xr&-hz!w6Ma zm_3t%sqdkoBbZZ3C8+G457fRK);y3eI{m@1-`=gupzFj;P)nb33w4vJw~V zkt{GOdtu>earQFHB&XK^5z|QO9NHSy)J#zX3Auqy!QOmuQJrX}_u_rC$(x}iH8+#$ z;+w;&UpK4Em*jTQaw`kq+yTZlc_0h@(Oh8v({3MPF^>!f+k{pQ%XxUYw#x3@8>5m& z&}J6hF?6H{!i^!My6_64)N1(9h9)PPa*1S$)8gfSP%rB=b-CCej8Sd7g)cbD1OYy3up{iFTb7(AO85x7Cjncr? zUW*9cErm*9$fk3y8ko9xQ~-l@TE--U*fU zQkb3bnxZROLIWkvP{}v5FI#q!)&8ibU@czC;FV9M)E+S?>urLdhOZS?_Gv90x>crZ zDt9d9+yfStWkW9Em<_R9*yYWojEZO$MNlrHi?f1E79(F63+{@8`4=0=80Z}57=san zjKigckgM#LTPP$V)&AgeWxxA|^MApyt}rVL zhFbu#OU}5gB2}oW=eQ{0y{1tm-Wgz~EP&5#QMDX#f^f956$&%Zs%~8Wjm|9lIn=?J zZWuBlwH4@Glm*3E4^`jGt`tpFJZ>SdLG60iu^u`zPUI8@p=0(~x6Y9(7s~?Vd1X|g zsC9*6Rg9Z@n{vN++*zNu9&gfNgHn&tDJek1t3=kpicotY{~A7v4V*3c)Mdo6J>u1M zP&tiA5cy~qbDEKWMRdL|@YhY~PEw=hc5XIrY!!17`1siB1*kK+qun#RJ??dvU?0;` z*GqJIMz=P0MfF?EvN$(XCL!G|(fct;SO8J5vt(FQ9LMJcMpVp5&j`;mMqxhM(O}A( zg)?s3!NuDbCpr^#9ttrYV}jQyTUaTHkCaVj!I0?#w25?TiB%T*s7s9El0ztI7hi-` zwT*>*4w97$>bGdsO2)%tsNG0Mg9nMOEc;-wzamo3}|USxfOO><*~#w2ZNnrfvq zo?f;-rx)&UhGaF|VY|xoMjg*8u&&0b=F;nMROFmlS{y(14xXhJIv2nLJOG9kLu#?NEY{$C}X&^#}p`r|ZoXScJvP9%F0V)uf z7iQCjZ-p(6{>e$s1=T*$M8du5r|diK&cDG?78?23saKRZ(<~hO?Q*pc678+gfen z>H(YckUn|HK1=(vbG9-0cxOYEiXJlkYAF{=(^<#KTqBJx7H|5UL!EwfhZd5gjVg1v zM9EqzSsIl`i9}Pu5NINFkucuI32favSX$sxbY*)8>ecjg?1@$eVV>%4U|NyoT-s^b zj&y*BDMuY8G!3pu^^KDQyU{+E`c-ho=c>JP0;o+M1~0|im08uSXs9S786H32GvIw=xZt$&%SH> zDT0gYb8La^o)xw|1jpD!=F?R0-={bs;WsL+vTr(`SCZRCEw3XpHW*dYpsU zvMVFXu-(ct(Z08V0nq_Q&Tc~XIW!?f82~zk+ycI=j^~L2YgG8 zvna}799V}7&cpKQS7TI)j2YF>UgJAG#cy&Y50!!=Eju0d`=iJ5zBfI{Rd%kw=dPK+ zKs#%oZOV%RK!FJ!4M!`+T2N;Q_PJJhP*!^|mxKYb6<8pPWU$F5ZG}~%)>9$gDzNS$ z>BU5qVSnAS^;Okc_^S_-j~h*7!5?^7B2={^pe9kAnD5qwOTujkGi)*Bx|`#U5}p{o zmXAb9af&dW@r#-schHD~I?Z^vf};Tc-FW+=F-G#O$Ns_Ds-k(1b$?_x(=l_tWjZKU z07w%SWUa{(a!YKG>qMWhr_Df+=8Ka0z&I}3!HOGaKDV~iYzu)%JFfyxVV+G(6?qzs zYseKhYSW{`laY*|8H~0an8i+p)Gm$89hG~VP|neQ1{yIaxw#EvLhEqgRZutABwFXV z$!l}7VX79QQY<~RMSPr4`!F-dRi5n8t2^~u5^3pB)0@U&L5XU(M*dt&f-+0MCfxOn zL4aX9KDs}KjC3El5YadmPNMUPBRBfIxP0u$q5Wg7DQdDB>Uof>!g`p? zFLp(H!I~0}PLbR!P{t_fqWC&7z{B>;z+m3NJNKo2RcK&zOfN-G?WMhP6F0Hq6k{m> z>P5O59;0P=c<0M&M$C3XC_(%zG_I;`ZkX4W>&(#<=lyOE&Xo^DL?Yeld?DA)JjU#1 zb%sIA+W=!z+EaK09I2=Dh|`Rw)2#j|BKHCy-*sBSM4`kkZTk!uFE%0@XeeGy2&q`a z;~YZ_8OdBwcZL!hrHQb-A&2i`h0RG+s>MdF4#`?*q%T(#7u85G4J```)yN6yP||RP zc^tJB%VA#BDrjz+6|ytvn(2F~mwxuMbtC==ygESv{$;)Q4Wl@?p<+r=aQmY^J{R+7 zPvO)1zMofy_)NZ5+bIJh-u3a$7211zg02yVpg7z*6SA1{ccuTX(st&pAa>u9Tga4| z1gZ;qu|*ds#;DjB)#sV1k-sr+cNG(@zG5LRWNh;mVVBBSI?lk)ja|0)If%Glk5w#H zk$#kYtV$*?3uLD4oskNJTe|@^zJR}=xO&_Q`x)Mj48*Vb*xxvsHjv7 zo;|i!udMdz&_1)7=yuJ@Wv^YRX$k?o5Tmf-4m40P?U0S>IT`K#=RNRb^`M*vhwaHX z!Utp3vsy!3NK(sLcQ`b;vuRGzK?r%qVT-fkR_lE~ww!r?GUyj<~*kO(@2f_={d|Ib2G(17|hBJzNLG-%nR?Uy` zvUIA!W#`FUP5QqPDf45aD|}L%o={H3vb2oi;Z{Sqt+TtFys|B7uhmR#iRMHDS`%hS zTSfCh1KpP7UO+2GI4b-Nc`Xk7Gg$vHCPeT-?8{H z6B0^Nl5CU!Fvw`rFK8M;(~vQPLc`V3Lf=t;wF*FFMlx~m*w3p+Q{q*aU*+f)acY+=HUU!RdqTL1x*h1f>{OY=xRbNFQLpJ*(%k%vAExSjC`hyRavI& z52(^u=FoWdO30=VRW(iIHVCT8&Zwfs4i|UFp+yP>6Vw|*=u%ukI2%vnj0vuGO!&+w z2?pZnkQ=dVpN=_=_?Vgy$sgxhFdhA+baL(ht#?7NlpZmyWg;tMh@6QsWm;QW5#!7v z3vruRkLh1b`{1ZrHVZW%^s|IJPGo9uwFfH&izrHbKIxvK#?h__CCDU)jGjw4W=tUs zYsMd97Bd0dTGF&96Awq3pX8Wo!j`Ki;qmjfL0DHB61m6~QD*V!0~u{4p}MU0IhzRT z_tFG^fXE`w!kk?$LLCc5oco)DiT$(y%K?{_xPZS;QU%>xvN^cQ0aLFIGSAF%T^DBi zFkvM|&ov;i2n~};V(9e&E#+z6e$rnNV7esf>kzC@XeO}zqb?vxLm_X>{;OlCLxN+V zV;_7Bi!G9ghJ2LzW-aTTMN40Qt8j_tnnZ?TK0OvNj zSrDf!kyi)-=F=xhq2`7x0xox#cHS(= z<5rs;al1z-4xyMZGBSql1Y`{NW<|ge90Z9i(r9vddDmx;j8FLh6V`MB0Z9-Q;aoV) zI9fs8I&tYh$IOohFf7ho!a=)U!FK#jOKx5BkF@ zU1cc0=OLSjb^h{3EcL&Z5h-SZ85?tvVz@hJ1m-kMq;6%;5KS0dFSD*&6 zX2l|+Cg7X^&FIH-95e0HC0!_9eaEQ82bO!vp}Ocd#*19KFI9e7vgP!}A~{$x(Cm~e z>p;ng8lt<7(^XX?ACUrw5$v#} zK%b(8WzF5VA*YYb^Ml4n`}g#3(jQjT=>wQJgJ{H8oJ2S3dCFSWxzsu?N^`|wyx<)oW*Uptv@dyeJzRV0X zJmy@nnOGdW%)pLl3=XY{p}af5h3}a(lb;8l&A*63Fclg4h2#+D3cp9TYiw{JhI&52 zFjBFvuNf{251xjhOX8s}rv3pqteLA7)Il~@=a*+KHxL!d>t!P-frg%)7LN)g&%Tq> zzLja;D)JY(1;GZUcCSPa6n!{w@vEyivf&6KJ1Weof;lBSc)}^-@Vt_4^r&cwqbJl2 zdZ%qt3oqDwl2Cgzd>Gt_6ygF`&cJ3Z4efy03HMDB8NSkUoPx4mNpKe3fj+$RvPf9Y z$W@WBd~cEFY0cn_F$zByW$kQKpW=~k$Z|JaNA82^{2Tfn+JOdHG@2i?qMCGU@U*|4 zRkCnx-z3$ws%k}!`M?q%pe4wrqO-s-YEqDMYE;k*)vSb-rVa*b&b;thHT_D&R;v_b z5H?kul36rXiR4Dj^|iZbEitCD{*ojhYz}Nx(;+!@Ja!V1gTeok@U;wb*h&LjvJkI^ z^PfFBnb6?j3DxJkZb=pz=7UL)iTPS^Ec6Y0?PFr*rK-k-l4KN}FFSZFF$6<( zNx4Zyh~*LLjCDs2aQbmSW^N`w8kXUMv#i=M3~KvhI^Bl2FKSwRjVN;(P5134MfjKu z(wF6@?Aah;j>NO}R&vHRTeO`IZ0IlfJREHJ7-tcI8oJK66rna$-w?kRWGPjwb58A0 z{>UDXYM7y`S;4!H*|40Ml+BNe?t{-bC>12CqAbEAx*hQy1SZmoa!0{a2>n!~2-t=h zy|i%9!l1oDA+G3`uTqAT!JEh-f>UOe=@* zSsWVhMeOhfi5B~-45zRlU>1)x)HP((Z2H@AbXMdX2^CalRO8xlHD>k<>&41ky^JWaLe`{U9SHQx>C~oaIm-&HoT2GP(NM%c2tH+IO4<`Zs=Of!_ZxhVxeoDe0&6sM^$i~7GhZTV;zSF z-P9_sK@5JAYE8e-?C{}7VBm>%DkHAJyJQ}lI)R(QJ~iRduuyPZ6TYPg+F!(QU{^p8%7>iF7EZP~V^XW5Yi{nsn1fOm1h(g2NsA3>ml?s&Q%NC>7>1?kgf(M0l zEiI0!eDq~jeW_5fI?eG~qFv$Gux-qzLZ}}k%`AlkC#mvgg)TO~d>hOQ0=o=!j3;eO zfNI2B?SylMXN>u&6()2Fm9twknkgp_1|mVlpO=t^7k-n|avLW$rsCtJ9dA^{UnU~U zdvgTE3a3cnf&nJ2$A&+bS%S5CMVT7pis->!B@16pRC#ie16*U;VEF>AlJluZF1 zKyFI9kqeQTr5FNXuZ^|tfre6=6%=VIB@4J;>Gl%41(plpW0`=TK@poC*vr;o7BTF&7v?jf5FtjoL;E7(_)D@9&Zf zPQg|eud~bE0q-#3(FKJnCZ{%T0(&2FXgtK@(Tqa*lQo z4X5mDv_HI{*-b)i$*YFO*8zWoi^}w0weG9<1}@hzcH{$CfbO3zQSH01_!!C79}I%U zVGNHsv4yEpn5_xIgq*4$jABU9VYfu~O69&0D$!uWTdm`b*rDPZRnBM?JSShF=H%__ zwexo@_`x1%jm&%zz!IV;ho@CUsX*?ka`+%i+6Z_zrLE{naTZ!#T5uZP-1Js11!XfA zA}E^3P#tb!WFL4hWN;H#22EqAm0WW{3xrhVEfAJ9mT8vUP9?iidOJ;QXSqgsZ>!Vl z2#6Wt%!pI0g0V2WjX*E75y3~kCZZ-7N*;ANd2aj6>xCnzo=ol(4WL0uW*~UEq3P9% z^(F*a2QbG@1lhhZNN>1c4F^?F1^k$ zL=EkDnE}v7h8|%XS9slREWDO@>bao%ZT7uZ5N+dwStgv?;B+~1ROx2;ge#n%lc*fh zGO`C93H_SYB1c8t*&>E8p-mx|$y;tka%B>qG;55dsX}>5J`)nPH+J&cAES?oRcpQ~ zeX3+f^`sQTz$Cc{aGTGm34*-X#Mo7VEkt9Q&B2Sv)<;WuqudWzI zyY^A}h7XQP!>3KH;mr&-=5g$d42iwi%7d-%F=g+-ZswIrv9J34Ik75y6+P%AOH171 z<|E)mK#X8(iVqQ*y|FpLEAO1JYQ-v&u0m=QKPq?d{L~#$^Q?)Q(ONhB32n4WUH~15 z#9>(=kjEWd)XfCfLjV!2X5yF)DVoWq+^Uf!RThgXTiE(gl80oC&?sX>)(DBFc#J`h z`~@;*AS6MnIt+N$oXn1hC&cVKRdJg^EA)Csa7fLCJb~HtjZPqH|f~ca!MLf$~utsrV zbZiqDtA{dBdrA&8=$aK@sdqKOr=~~Jl#Wzsirchlij4-robJ(!>B(P4Oq!yD5>KH& zL9#Mjd_4R--q|KZmq@3iXT-qS&68$91mIxNO31{=Ilz$?$>;Q>oaUIxV4IBVn+XW( zb^m!Q(Rr!QW#TGhYFHe!> z8lS?~A&qyPL;SBtA-L7tz=R5lG-XXv_)b4uuK%h+EgX#o;5=pR5gy;(fsAC zOWz-jVa23o&g7*#sGjZ4AV_^E_LY98Zcr@p;2o5b!oj@7g{&3$F8tz|}6=NjMj92i; zW#|;qP5N$f%@&E6q?HFH7b+!hnHTbh(7TGHIgRnNoPKHj za4uM+Ie%qko)1fJl-R(q%Ira`DcuxrnVK1pKM}8iQS<3i*M*oVK$>7(D<4tRDl&=% z={PGvcJvc1I*2t>gdLdCaJwOZw2_KX8$mK+lM4P>2~{*5?X2cIO$MRR=M9YJfF&A5 zbp~O^463y*+|=+8mv9hW*llHZyRxc=-T7?mr7@&tzEHwZCC*ku<0BytD+>%JOc?T+ z-qjqiY}!R$$dbY(;;@$FBaG-v)U?7)Gnw~BYXxBri(bYi4@_6L0Z(pwSNdDaH1V?R z^_(;EQTaR3eIM5ZTJ*?Hcxf!Cd3a4<0>lys8B8jEwF>ReRG_mqpfmk?Z2NzGN zR^cwj-4_MTog0w4Q3jiptCvZ&nDqJ1Owqn)bL>u-LSx)3n+v&l!!U=)moxA5 z9*ml6IRs}jgf_6EOP1w}(FsYPg`a$jWxt`_!&%$N zF}Mv+@9Nwl%{Hwoa`)>ZX}MgTWhlNK%33ptt*bFAn-$Qc6N%lg{sCsERv+8ysb&#l zL~2wSU8xf>wlK|TaRkaBsN)zh#$#~w;#@QXYDkCph~yP%Y!8P?UQFUOSJ^8=?&!A= zt>>HxoIRuFp_l^H3K@)ir}n}c>pM5MDkeX>14D#`OkK+1rCF1Hwmq0CeCf@{(BVU` zl0ZTZ4wNUDTUIg3c1VYNfafcz+7!K@i^SAa;5!-yXxX;d&E_Jb+2>%zsE|=P8eD8U z^psHv@dTBlCa6EBupVVg{KiIsL&ehUoa|JIY@e&m^zNseP#(ca@4G5p8@7K~hZEeUNOghvjeIWZzo zV#-&CDIM%4?{WRl=ki}y#f9ce#wgk|ZqfvX@-@s9ZbWg&Bnb}|p=>X-dVK1jmTwRK3I82c+)|g( zD95)EE10#jGDg>Gcmj4Zn;!R#x7`MMm8L(gW(MeWQD z6edB@3CBckq2F_(F!V5en3)E3ZR&i*Y6{y&t*AA+oo(JA#M8xy>4mk9yNN^(t&qVo z_Ttru;$>&jnhXts=vhymh-g%e+-2ozOR&0}Pd3(Nx7P0JY;4WhO8ZhAU91#FLXjC& zNY?ILAS4qGj_o@#rTAum7|YsOkk_EH9+4n9#LfP$kTu!fXgGz< zgk(iY)VNYoEom?6)8*d6I9Gzu{K+*cSj)KPB3-I!AL!69(9vqF5qVkEpe z7L_^C3Jk8g-W9OXE!K%VH1qZ53Xe<$8Mjz{Q5SV$zb>U_e@!)D8BFNlNqN}SnJ^#V zlhHQZc=uY%u`5P9n#qVCIfvQwf_YojTr0)@QW?LbXn?U zi5K+%882Y?npaVTD4i)YFT-P)O>~ONm$RzMo*-O zpcSwX#AZc%JM(_Ri;ypiID_p(n}#TGE*54j2SkyAn49%GOGUxC7=VszhvoeM-fB=h zcV>mt8*X!PhiY6sx2pXire8M6tEG6NdU7|PZwh_sl_nc3uU^8+B)dw@V~##xOz07- zsw&cVvWh-BRD`nnBVY?BmpjGL)Yi>_3R+m}Oc;h=0ePfZ;p31zQJknI1WRGxHTpK_ zPq=by^%(yqnDfOrm%g&VFm4T#vqb;me6WHQd4o**Va0xgr34zB+bO)F-t?NM&( znJyR`)Xg+nDrNzkEzVH9LR4`@xJeZ~r{jmN{lbC?C;RV&UH)7tO~aRw`T6+#6|OeR z1LO=;k2}NbuI8977iFDkn2eL$!eE@}elcx7dL~>wyTEP z!R*6a>$Rn-Y*#5rrB;y(M4FiuCAs4NEt=0l5lhRy40z~;G+#NcDzrj$Yn+-K7=zGl z8oLoHf0fZEW&@P^D1#?A5(7_n#gsk6LVHr&hb!E<3WKOYwib6yaYGHcX&Rd(sm5(t zuzWYo*Bi&f9FEWU5+ZpNhw`z^quB+UNlM?I_p+OV11%rsP+oub?Z+nJ5RW{uo{Vby z3zt?A*rm$Vdt&WnPlSh84c7QB2&-LsLCM3hwge^{4KW|F=Q1&-8_fGtNVZtP<0fis zbGASgPbrG^!E(T`iW@Je>*oqf=fUp z6G8t;qVn^l2mj`xWR*Z-qiULkNrJ%U+5`$C^InoUGEV5Ex<`Ko;k}M?T%8=zA4wJc zYo4bNdq*HU?Hd@Q&J%llg^=eHnKjvNWn4}VCbybb7eF%4Wkv1JdvuKubzp%uM175o zvxydDFS>dS!e&PF;EA!p^Y?+0%5sC=PV@UDG(7oq<_zOei*=kRd>ZlXQSpv2pr8w% z4YraGdfvQU?`E}(DCa00J}gKSX`^M9Zc%?kbnOO7F&&O;Ft^oo4+1bBM=2{zwlnYO*W!hm2 zdIq_|wheX;b`iG~mE;n&xk`dT&+X!QOy zYoPo4;#SofsnBxMA+=(Zmgox_YzN~ZtwXT&C^#8u%fJ*jAR8Gb<(Iblwo@yh8d-|4 zR(yd7P8&DLI^^KyGkawy0|y45xcRi&^KGMUF{SNNb2x`1VNMreX>c7Ax6is01c-hU zk=&=vCt_61-M~foSxCmyPR=+h*Oj7ji=@ryd~DcK#IzgM`eLsT{TsEEN-@RZ{Tndl zs}dXNwOjhvL;sIbFL$St6-=aBD|1ql;qJAxHmPR=ah7gta<_ih)b2o>?dRN`O&^9% z$07FC>2A`*c0`E~pW)fbl8~z(h_rrYe4=;utP!rW(yV$UcSEl(XQnm7hqj}n&G4ET#oI&MtEi)k)e#wv}I1lOVZFOlgJ)_)#jnqLsQ$?za*}AhgS_fxH=!thx2TMD~7QcV(TH~khFz?l{W9!YT${p z2Bv!I)d?jA^;9o{YwjpJa8ut-!fJo_ zH&Hary-|Z|tE*Q?vUJe%NU%9wbG%gT*gQIbz3*g$)Or|5kbpf zE7IuL)ZV_vYuH){&K4=R9;=Vi89GPCmYIX}$<$u;e_cSe#+;=nN~!KpoLGADs#hb{ z>KWTcgsO5{d2(~9`{>!+w%M09vFq777{=dNOsI}l%q@N}ZAht`wWkF=gJ;5MfoU_ctBLG`pgAzS`OGG+EDTMYm!0jH zyDQa5gWD|k)WX%oo+YZ2&AyH8gEu-4$Kcv26D6(m6m(#6ZqzL!2eu5%G>eH{qluy5 zeXeB_xekhL9x@gN&4^}HR#?gE=X|4HUSGq@>yOlu+>CC!fbGa0LtA$@WBF^Ow$eoQ zN)57!pz7XEnmAf_9xhsueWw|bk+eX}z0hp?WOAq(H9mY^d*oR@hN;qtX7rdOee>}3 zM`?X&r0{~WEibq+P0r@VjyAjrul?FS*Ko%)7By`v4rdn&6vUy<72a?*a4tzZ{nyc% zSekMShuA zFv9xy0#*=x#Jo(_qcMm6GK>6Kn^C_(#}3lEE~9@7?2j$TEGN@C*(Dy?<#oN!ZwC&y zaBKZ;ST*UJ@%&N#Xg9J5kyg?|1vy@`9PclUEa7!S)%4loS6)fe8d->CRb>O2m@2=D zmd=5(C4@GOjbV3qurC-&eLiAu&^yKJc=T)JKvjrwtqN^fefIX%$#~8f^@^yb33OT0 z>r9ZT_$bQa4b=4BmyH5t*JU<_786CUAHR^x#K3RgqXCmTIFk0k`rPp z&dKuRm+E!}AzULIbCcQ{bwUbJ93qE9VH9)e8p2jq-(pR!<;-TqwZPVWEJt z5R{?ratlGxv#!)xmKH7)cO9pwIr#GF3j{f{ExZgeHZdoWLpH(mT?h~5xF{zIKPD; zH(Ot|K`s=t4&BbG;{@esxKQ+sFxw}GV@~Pt%uZoG$O8DZ04`73LU_;5tUe$$Q@66( zpxb9HjQ2L9Cm~w0^Izt&ozKn3*(%+OJ}7rx zcd0gpX0h$GK8olZY_(^OQyla}fQPHM=GSbq7EB+F-u$nJh>6I?4K->(`r$;wY=P?yNmNB1!#Z9NrhFB|GD6 zkF-J7tzo9zm<4lc7q%S|7x~xC6*Mn+ej)RsvYZyc}UuYXg|moAaXe4o{4Z z9B{0Y8-w$f;=$&=`6{kq6C0EmAea^GIX547`^Y$Q5XAAf6sdP?bas#40WD_HZa%+_ zob*_o6@i_gEPnGoWerw3Wy-NJu;#^Cxh_c1TgYbRx{A$k3$ZelI}(!4I^z6+v=)i- z2zm{?Sfyxevi$KzU=j|Qm%*8bPc6v*NL%;^CwD#(N9_M#a8D$jb zbC>s#3aO@C%~5d87BNJ8B;L|z9hbC4-IKPQ#l_XM#pgxhAYB z5~6Tq$SvV^u8!>fj>;Fc*LUvNnYL^j-X)b1$?4XQB2cxoOMD|?*3gk~nB#6Sz)njJ7ak(P<%f z?4%`Sim-)UH@s_PKd1H|{{~fj4i>pu zX<}X2xzS5mbCQ;TEh94vCSa`3NTk}X6dRbhr_GGC+O!ai94Hw*^w(~xvj()06SmOo zkj-435QZag-SFttKz!2LIYF(mcI=$@#Tr3Q*@{>dzCfQyJZ=tOE5$j(qeCr(=1}Z` z!xOE5vuzV>UJI)teZxvGIqgK zgH^}E3d>0jxpfocC833xvr|$1?PDPjDtS9ipcY&rBWU}WKE0Kul0a%$vD+2VWLZWU zN*eRR>ew+L9Kk{p_Q*OgOZ!@(Tl`9Q#3?EKTQnC+C5vAhZ{tMGPRr9lZ0(z+M^qiO zD|DZfNMRb66L=NSD+8_z;1@u(Tisc4xQFWy&PEAQni&fYGuhOLwLng;N65|{F_$mi zg#8O7DeI_&K!az)^Vg6Y8n(c?;fDv7GlTO`*QunoW=f$ml|GaXkeI@@aM9XX7AQVG za;F|Npfw|E0~ab$jgNNByur+iy^}RX+A^v@BNIzXrSLK@VB?zA^N>M|%|quy@Z2oS zp_&(28?Dy21UTKsBG|;GKSr9!rj@DHCWn zQ-5-=hXfd(M39b1qbeY1W=G}DP?hyM4imL+&4||ciGk4;_RQ&n14!pWqf0rgMyGT2 z=m^gPWLA=po2G~RP=cxowBD9082q@ZNaMU^J4%(HLPftir?q>bLI&*IesJvEM^6@~ zM@{&&-VP(W9*q=Rde@HaAM6_zh0I7%_F9F}inSZr8n^n_@fwxA8!;ms%jk9vefv>A zQvxIlI;KVx=L1bFE|5cw;H55z8%2f}#t9IKF~wQ8%Gh;o%JmaOu)pdJR&(=>jAf{p z^T=<}XmLKpqx=c$+c#UH*If>NZJ6yXVQY9~E4rL8*y$q}*YqhnXR}dkJ{`caKhDNaqisIj-Qmp1U!%!j^p`Ep## zQ)k)Baf#Op^jb)b6y4hhAS;D!jW<5zWQAi$hWNA^Z-K15-YrnlYa$LzYTQ?tUfFDS zyx701fcV@PLXCPAE=^t2yrt*i6v=k%q*oiMs&Sh~X~g2AHm~n%M2pW8KiSz&A6Ub4 zn~3TsX1Q<6Ib~{iJ?h1X=4(Vf*Bi*PF*}oUOSg7pLbCp5ot53%*-?l_ zxJUB>q&M0|qT#q^R%=qV43$PvPU3JlLEk}HxND{L;XBwZ-qoA=vKToyBxB498)%D_ zvg9A>ho>UWf?;ann+;~ha_Zn9fco3~idCW2C$!3~f`h?Wq`1v*aQ&)y3p8~*0;;+( zY+L1Ud=`_l-Re%rCWRv4{EBlZigm4(&-SqxjPv80iQ3LT*2lT)XUQ)TY-WJWv~t@v zFl*+`yf#oxTQOtEE>NLr!Cs5jJu>1}DhV>JjXhLFYlVA)OI!P9!ec(8xFyAn_Hf}4 zI6PI&@>Z_vc%VT{MyMBahT93*&LKcL?z8QWv%+Q;S@qU=HOAGQC*5?*aa<+E9cVgX6gpBEDzVW~$@91$a#)(A0j zEkML0S!O8EW)$8hUl?S^clGUCQ19b7!>%?qu3N%V#eO@&t_w-lC( zzY56TZuP`@fmvU);62bYbGO3jQb}L$CiASS<9-RP5!>Au;!9LT8>5Py2|FKqdDv?# z>8e`>y*ZtXsHf~f{7h4ipmHf|b`59y1XnfPIb##NXPt*Y8(X*O*1-~E^@SsAnPIz3 zI&IjnWqf!~?O!dsP!6%=J2V7>XlWpEnh{8F&2X~>zt<@7iR3n@hEWPc+8^W zi{RpmVGzEZ8QI$(arz|<(q)(8uL=eQeU+~u5BFDi?$K~PH$(vyvT-bleNdlUg=&Wo zGXX(=g0nTP%iR-hv(gwX4<*!Td-u-jeX=UA;2+KQ4eVx)qOKEa4H;`?h*j&f1ZkCE z4`VFu8eVU$33qzKnKghSgH5wTjM~^LIZABB5F6%lbnte+dR*q*`9R&cS1+lM)lwT_ zmLJ@&F@hDD{rVX6sDgdMI;FnhCibqCs_cXXCj6@QTB>@*@~MZDCd=@|wzF4rbu6?< zq!d2IzT>qcqQ_s;S<@p7=`r>W=d+gGi^s)gDVsAIVLD#MPl*i%z0w6gm6-Volqwo} zqN-+|M6PmG(?NZvxHX%Uub7a~FILG*x)%{_8#FrC9A z_S`f=_=dKv9n}ZehfoI19I*t#tJ^RdE!fA2WCPP!v>G@dMoT1T9NFPSY|@b~&&k5o zbbmM7rX664tA&CqlNm}aG@Jsohg_k#QmoQ)T(FoUkUM8DmoIalv~sJGWFAT@aQ&ma z?l7WsVJ8Nxx@0}pe~^jK;k;K_W#(_tEE{Gbow*I+sYdU*ZRg}wB`6KGXe*VQi-KCn z4Y0^s2=!wN(W_^dTbONJm1)!<$ulPr$FGTYBJoYysWcCL81;-?BQwi(F~EzVlxid@ z?pE1Ub_~cx4cm$8+l_^*GrqTt(zQK@ahU(hj?K;xPPl}udcMc<%3D)=sFj)qYI;@5jJ2nQg)kND;mm-@n}BCf>y>lBIK6ERprY> z;wm}!Z#acJVMc^!2Y0u$cH|)4--@b@jj!RdqTSk(rYFP8x;|tp*o<7B7v_p7^ko~D z6V+(%fE1%Ei;-a+R#mf+&9w=yODn=Nz z9`zGPkQDOlz(>q*mxUsH)klT5F+WZHY+fgPOjskzo;e5YJx#059DL1#cnrM4If21k zSRf$cEs$NX66!kp(xCK;GVeCRD_Y*cxj8ZyLR~$<0s>WgaR0d>Qj#NYB5vbzC-RBB zn(znrp92SU>|k8x6p0>w9Gq!cMRnb12Qip6kj)48Z<*Y)21yQ7KN@7-NGHt^^*R3F z{`EEuqt!Rtt8uv*Px8%M)@KaaLy~y#yDU8GFxt{WV3ZB1Qllzf#p}Jv#BQOstH!J9 zmUk`U%YX{YcokB+RGV$(ZQ*kf{^fV#y^x8R_bD5?F;Dm2O;eSz6bl`0}6O zznkPC_Of&ZISt{yvHQBtwTlvYT!ODBEl)GVUe*~;=XRE)-p=xL8JHW=Mf_DsM*&Ot zyQCxcG5p_~F6%z2qcS$7>+p@I8+(@VdkvVQ@LfchQudNR>2RHf`wU`i;_or!yjS73 zN}Ve@=A9Lw3my`P$lyx=VI-ahgWtOIM3DbYR3^!*){wvSD)a+8e@?4jB0>4Ys z<=`$$N6~JoRC>Ci>uOTy z-|}>B7d7oH>GXEaP1mQT{9Z>7&G1Vcy017^G)( zE~mYg@l7Z3cbQx33d%X3ZyM*z1R6mXkt>g@+bwM1OC0&s7l9AA{EDejGER=vsdE*r zbyVkiYH}%X8KtR?hr86nDg6vO;}~#<^V>sw%_H?+kJBH8uj4S~y}UC+yIe-wT}$2c z_X^6oDKQc|*D`jlOPBFGL#*q`QU9*>U$w&JE_(@aub_ReBmE_ejEhKfoxTL@_##DK z(sfnm#?IA@34Q-H)bOTsW#{^y>&WYB=GqPE(j^)Nr*#s3&5$dd`{k6mr28a75^b;f zeJvwgGj|j1d}~_H3dwVS0Mbpe&7{<$P_IbL=A5o~SD>t$q5tuuJP=39Wx) zrHqh>(UaqaPh&vqmi{XL9{y_N+(?6IY+dg*Ow>y=EdB|v-aeP!P93%A-D&aD_&o#s zGWv5}x~e-z#?SgkF3X6Ym@~b&t|BEP;dWZ{)cVRv>8~V2C7qxDYi-lobU7(CH;-Xu zRq4ypb=_BXFHP5Ul=>)E<}=dehhN!InalWw<+SfIdH8pY|MuqJ8FE+OUqMM475WbS zn_+}%jx#d&qGf4&TH137B`ir-bxvAz5~-Frp5~CsR~+iy#aJijrCm$AVoqL4e9d{) zJW75qPmk(V@Cfp%1`So2Xj%UH!bVz1=qKI+uA*(K7vtrB>p2) zC*3xwP>o9cYL4Cp+#+1J0u~#m`Q4Ll4crDe4A3ffM7kaE6!-8d?vc2UNJkS#_$3uy zIVsI;!Ri04f!hFw0Y{|UQ@-MBJ{&_msDF~tO3?iqji+9o^%_?V`cDwEb`j|oDFU(U)f8`s{W56pKX-W2W%(ZX7W(q?*MiJ_oFq`*XID| z66evtV{o5G3q6+KN8pckSdMFPdK|dpX|=;>y~pG32hIlu2pi;g7jQf+Iz%fD1G|a2 zht@od)LQBH0wcf$z&>D~I6Z+pCxA&{ie5O39#~5cOcUoqa0f{{ zLvPFihkz#%_9W6i*=4Sz?N-u)D{1%R(o^WWrxO1J$~+#>Zt*nW>EJE~o&h`)couLX zJ^O6ZZ3QkN-E)BF^3Bhqr=Jh*1(f|l;6=ctz>9&G051hz2K+Pda^Mx@&q_j#7N=JN zuL52TyasqJ@H*i2z~#UjfHwkf0^SV#3-A`;t-uw)+km$N?*QHj{44M-;N8HLz$^!J6BjB<^iV|7qYexUT^|i~DoVb8-4S{x1Mu1ir+GUkn@v zEG7Rhlm2)>>(>d)g#ThD#5g`SeZ}=VHhq=fujP1O=l2`L)w=Rc;5x?ax0o?Y82jIL z{70nk5dK|ad=L0Op!|Q}5tsap*E6eb$E-RIP#u0q{Qm}i1pJs$^%LswQ}X;D^1s2~ zkkZcx`#JCn;D3Q%lHX=V)e=B6b1C2RD`w}f$?ry&sqg7YzhSl>2^Ts_#o|10`{%^qFfqww0(?fm= zd!*AW0e5Sl(}5NNx;tlre5l-81a3>3qk!9Wwz=%1ja$rGu$Z+#>H1jn@0f1i(R!NFF~q$C z?qh-DaI1fos{X*8I@_t&cG?Rn!R^$Sjwjv;K(yE5bYf=*agI&@1n$nA!`S0?rn^w) ziNNp4E85{4>b*GKwW{|<*4~ZeyD|6Gj&!%qvFYxebJIOK=cIcQuLro7^NDp~Ir-lk zIFdY9@OvMA??dj`-`HPf8p3-ALL^PFLb{XN1Bq~;PW1;AxZ68fOj{(jD z9-GUUNm}1hdK__%r2QXHSU+$+FaQh!yMQ5}pYUORcLRHX|9@+&*7_dKL+oXgc>%Bw z7zOrIrvu=}fN{R%{nY;h%!L4vQ=sr7vwtG5dUhH;O zdk#~NVZw(A*FLu!|8D%d@eihFboSuigMUv>zl>hmo1V$Ku#TPkS(N*1;1ZyVHh&Jk z&!s-kqh8MkUVy)c-M!mAt+CycUf9_OPUER7y@>Ejffsj18C#>2GfFvS{-*Sj&VI)H zXnJYql=L#v{xje8a(-U{d>IO%+hKvftTV=%P~yfO{7T}#3V5~C_N3Q9-K(6Jf_p9S zI^gw`ee-Xtf&ZPrzXI<9-VLanD*>&i?*ZNmybpLk@B!e1z=wdVfDZ#7 z0X_s&7`VHcJ6Zdt%w{U+O_zv)0{GyJ(hx_}$4}j~z z{Sf$X;7644W8f#?e+v8$a0Bo&!hYVFNxuO87x*RcE8y3_jlge!{{wzY+}}~J8K}J9 zcV^QcI){8N`6KCX0#x>&i1TOQFZln;IR6{*k0iz4J5MB)=Gb)lhw_6uOkGb(ovtUQ zuC6Di?k>?0Pf0ypPfd#$%(v=VoE8I1y4Vka+u+_so`<`fXqUsf@Pj{s-y?zB0!IP2 z19voVd*B%06V&Gp{2mJ&2P_5dNW44odpvLga3b(e;O-18!#znm--UYI6}TI4ci6~{O6R5t z(o8ZIBK%^XZ>ESd-SrICif53|GrT5V*!4`xdnW#8+JBHZS_fvjo&{}Cuj#X0$EHK% ze-L;g@Fd{Lz*8tkbih;jy$HW(G0|B%+dd8d(}9c0^BKT1aX$-qHgHMTv(t03LnxF)jCe@^}Gb^@YHTfI`n-3jW1i&t>g?F7r0aRr{PRP_*;Ot0#^WU1Ktk219&I!ufV&2cT@J2zHr$@KNAnU82QLN&nXM;`Hx)$H!^^t7)fCbiIgu@g-2>FHN5$-lu^70R9vB zH1HYV8sM|Q=YY=xUjV)cdk0*(!Y151Eg1GfPV0}hABbunY)h;Fz^q|vT$Tiizhx5NKX@;#b(x9@&Aqo|XP>F%%w zzk)IH3dY|n7=PN&U!LwjJ~LgHfxiqq95eDcmNbFaDfy1+xb9=&q#c{?2;8arv~)aq z-Ho|%J#mln*g7_yK-h`hTE9jAu#OVvct-o3smt9de;NL}0C!c|ZqZe*N_X#mCF9`L zq*$EpL0#`j-8JU#)%_ak+Le~uAA9k=310!+2e@zdtJynVo$kl){qa8lIElC?Q`XV! zGe?l4=Ko5*Z541zcW-(i@F4O%mAIz?rvncL9zwc@I^AoXPG{kVfqyvg2;dB0HLwO) z3#=pl�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�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 z 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 diff --git a/examples/bevy_gltf_blueprints/basic/assets/models/World.glb b/examples/bevy_gltf_blueprints/basic/assets/models/World.glb index b71d240e5907ee973a64fe682bb5ae8e3307362b..642b155ad94d48a4022ccf5c9249789bbde95f8a 100644 GIT binary patch delta 611 zcmY*W&5G1O5T4m#b69Y0Du_aiml^4e{Zsvyn}VJ^s5|IkktH+JWCBTNNFuts$oLA9 zn-`xzaLL7o@eKs=5v&XdD}Csy>hG)i>g(_P4@|RS@$6tU8g1{4MxSn7O}~yOgz5g< z`14q*m>WewQVpQEv4q7;Dll4rR91qOia;!|CavUxGRh_N?c_AjJjUEAC6%^TFa?Ch zigRuZquOXrsTJfHYnB3+N`NrHr0iY<54zun5BtT@#X&< zN-m?vm;NxC1F-O=Z9EPWepQ3OG`$r zCE>Do=aP^OsI=H_(tSL~dOfuEu4xi{oJV9Aoov!|^}bBE*9SKF1@ZwmMNIUhsH*bX z^MCm)_pS3y-k$Gep$i7xpjP9hxWWb>N#xVg;UdK_9hW*=Rpqwwxa#fZ>`he{Yn;-o z(gH!Jl;G)J2KNu2dRLxzkB;u{_7P(0s!iLx@_QKCECd5-t+L#3CMnkgH?|-^S)h_> z`~(SaNrVpjrufI@vC;?-f+7nfFd|}O1xiQvP(5;i9CHzCL51WHP^N`|{>$`7&@XQO Gocsm*gQx-G%t-xVo@{$&MJ}_BP7kNz*@*E zk`hHtA_A320U0Z6|1eyP3=>BjFOux8MD~{N7@DT diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Finger.glb b/examples/bevy_gltf_blueprints/basic/assets/models/library/Finger.glb similarity index 100% rename from examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Finger.glb rename to examples/bevy_gltf_blueprints/basic/assets/models/library/Finger.glb diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Hand.glb b/examples/bevy_gltf_blueprints/basic/assets/models/library/Hand.glb similarity index 87% rename from examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Hand.glb rename to examples/bevy_gltf_blueprints/basic/assets/models/library/Hand.glb index cf02f860925420fe0f6ae47cc2d28b6a33ee381c..bdddd17bae2aa2e7222ae198d2b71b5d1ae0225a 100644 GIT binary patch delta 329 zcma)%JxW6X5QK?#LP%+!BGt=dclJMLu(1vnDFsPDQ=3C12N67ice2http#DLS%&YM z%j&ZFILz*cHH{KxWRw+F33ngp{C@Lr{+=yP{f3dKz=gHoY*U3qEV>tIL8%D+Nnwgo z3x!iKdki#|2b8*PNn*&SVR?Mr?cZK@$LGU-x!KYm4x?tyCqRgCV_4d1dum_R3^zoi zH?bN*ZBxVw2sp}rb(G+}DKe#`+OciKI|Q4VASM25)0@@36n7K4mHIv(Z@(5-<2FmH delta 346 zcmZvYJxT*n6opYMEB7!(s&Tmg=U&}{3lKtz6c&QXKr*dl5oRHRt&8)$fY`_@Zt?gy z-#O>idG$G8Jx&y2S;hjf0t4ecO~yo)CeDQ*){!P+GZP?GD%myjV|V>@;$a*P^RiuD z=l$@oZm3J7Q=+&;T^ifpl*IwEaEsC)+l<3<*zS*Se<(4*y?wh@0R-zV3XX(#Ewqt(xbWt^)!Ds#J>Pua{Q%r2Q6c~U diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Humanoid_cactus.glb b/examples/bevy_gltf_blueprints/basic/assets/models/library/Humanoid_cactus.glb similarity index 89% rename from examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Humanoid_cactus.glb rename to examples/bevy_gltf_blueprints/basic/assets/models/library/Humanoid_cactus.glb index 3d5736be657a3500b40c6db682c27e6c29f67833..3aa5e5d5f4d26332c8d00751b6a0e45b594b4755 100644 GIT binary patch delta 255 zcmZvWJ4yp#7)Ad{u#AgHJ^A_G4;Nr#shy+XfB!xYpOhSUrY1wu+y zamjf*?e>f9VYBGgyY2MmalojeyK9Ilxk)6?&tJ{m%YN7WW0eIw3=n`U8QuDIFb-E7 uDh(N=?NtD{KTS^*=SXE7JlNA9fE9W;^rFX%DoHq~kt)j=)ZbR4tK}b4y+Jzw delta 247 zcmZ9FL23d)5Jh{0EX^T$-40dVRbAa4Aj@RqPG&L4Ai^+#%q#>69>7gxjuLVSb>Trg zgk`b|6b1D^_1@RHxSfjWx?Q|Xj4^Fv%=I|^881Z~tKxYN4%`eKRL=IRx^3)ysps!# zGY06pHr03rb8VfFfDh95VljAb?QPB|urx4$Ba7tJgx5e CN, - - #[asset(key = "models", collection(typed, mapped))] - pub models: HashMap>, -} diff --git a/examples/bevy_gltf_blueprints/basic/src/assets/mod.rs b/examples/bevy_gltf_blueprints/basic/src/assets/mod.rs deleted file mode 100644 index a2c8b22..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/assets/mod.rs +++ /dev/null @@ -1,35 +0,0 @@ -pub mod assets_core; -pub use assets_core::*; - -pub mod assets_game; -pub use assets_game::*; - -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -use crate::state::AppState; - -pub struct AssetsPlugin; -impl Plugin for AssetsPlugin { - fn build(&self, app: &mut App) { - app - // load core assets (ie assets needed in the main menu, and everywhere else before loading more assets in game) - .add_loading_state( - LoadingState::new(AppState::CoreLoading).continue_to_state(AppState::MenuRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::CoreLoading, - "assets_core.assets.ron", - ) - .add_collection_to_loading_state::<_, CoreAssets>(AppState::CoreLoading) - // load game assets - .add_loading_state( - LoadingState::new(AppState::AppLoading).continue_to_state(AppState::AppRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::AppLoading, - "assets_game.assets.ron", - ) - .add_collection_to_loading_state::<_, GameAssets>(AppState::AppLoading); - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/core/camera/camera_replace_proxies.rs b/examples/bevy_gltf_blueprints/basic/src/core/camera/camera_replace_proxies.rs deleted file mode 100644 index 9055c95..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/core/camera/camera_replace_proxies.rs +++ /dev/null @@ -1,24 +0,0 @@ -use bevy::core_pipeline::bloom::{BloomCompositeMode, BloomSettings}; -use bevy::core_pipeline::tonemapping::{DebandDither, Tonemapping}; -use bevy::prelude::*; - -use super::CameraTrackingOffset; - -pub fn camera_replace_proxies( - mut commands: Commands, - mut added_cameras: Query<(Entity, &mut Camera), (Added, With)>, -) { - for (entity, mut camera) in added_cameras.iter_mut() { - info!("detected added camera, updating proxy"); - camera.hdr = true; - commands - .entity(entity) - .insert(DebandDither::Enabled) - .insert(Tonemapping::BlenderFilmic) - .insert(BloomSettings { - intensity: 0.01, - composite_mode: BloomCompositeMode::Additive, - ..default() - }); - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_blueprints/basic/src/core/camera/camera_tracking.rs deleted file mode 100644 index 62da84d..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/core/camera/camera_tracking.rs +++ /dev/null @@ -1,58 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Debug)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -/// -pub struct CameraTracking { - pub offset: Vec3, -} -impl Default for CameraTracking { - fn default() -> Self { - CameraTracking { - offset: Vec3::new(0.0, 6.0, 8.0), - } - } -} - -#[derive(Component, Reflect, Debug, Deref, DerefMut)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -pub struct CameraTrackingOffset(Vec3); -impl Default for CameraTrackingOffset { - fn default() -> Self { - CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) - } -} - -impl CameraTrackingOffset { - fn new(input: Vec3) -> Self { - CameraTrackingOffset(input) - } -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Add this component to an entity if you want it to be tracked by a Camera -pub struct CameraTrackable; - -pub fn camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, With>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - let target_position = tracked_transform.translation + tracking_offset.0; - let eased_position = camera_transform.translation.lerp(target_position, 0.1); - camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/core/camera/mod.rs b/examples/bevy_gltf_blueprints/basic/src/core/camera/mod.rs deleted file mode 100644 index a6bbb65..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/core/camera/mod.rs +++ /dev/null @@ -1,24 +0,0 @@ -pub mod camera_tracking; -pub use camera_tracking::*; - -pub mod camera_replace_proxies; -pub use camera_replace_proxies::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -pub struct CameraPlugin; -impl Plugin for CameraPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .add_systems( - Update, - ( - camera_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - camera_track, - ), - ); - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_gltf_blueprints/basic/src/core/lighting/lighting_replace_proxies.rs deleted file mode 100644 index 48c0908..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/core/lighting/lighting_replace_proxies.rs +++ /dev/null @@ -1,25 +0,0 @@ -use bevy::prelude::*; - -use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; - -// fixme might be too specific to might needs, should it be moved out ? also these are all for lights, not models -pub fn lighting_replace_proxies( - mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, - mut added_spotlights: Query<&mut SpotLight, Added>, - mut commands: Commands, -) { - for (entity, mut light) in added_dirights.iter_mut() { - light.illuminance *= 5.0; - light.shadows_enabled = true; - let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { - first_cascade_far_bound: 15.0, - maximum_distance: 135.0, - ..default() - } - .into(); - commands.entity(entity).insert(shadow_config); - } - for mut light in added_spotlights.iter_mut() { - light.shadows_enabled = true; - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/core/lighting/mod.rs b/examples/bevy_gltf_blueprints/basic/src/core/lighting/mod.rs deleted file mode 100644 index c9688cd..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/core/lighting/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod lighting_replace_proxies; -use lighting_replace_proxies::*; - -use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; -use bevy::prelude::*; - -pub struct LightingPlugin; -impl Plugin for LightingPlugin { - fn build(&self, app: &mut App) { - app - .insert_resource(DirectionalLightShadowMap { size: 4096 }) - // FIXME: adding these since they are missing - .register_type::() - - .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely - ; - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/core/mod.rs b/examples/bevy_gltf_blueprints/basic/src/core/mod.rs index 9c38fa7..6db036e 100644 --- a/examples/bevy_gltf_blueprints/basic/src/core/mod.rs +++ b/examples/bevy_gltf_blueprints/basic/src/core/mod.rs @@ -1,31 +1,14 @@ -pub mod camera; -pub use camera::*; - -pub mod lighting; -pub use lighting::*; - -pub mod relationships; -pub use relationships::*; - -pub mod physics; -pub use physics::*; - use bevy::prelude::*; use bevy_gltf_blueprints::*; pub struct CorePlugin; impl Plugin for CorePlugin { fn build(&self, app: &mut App) { - app.add_plugins(( - LightingPlugin, - CameraPlugin, - PhysicsPlugin, - BlueprintsPlugin { - library_folder: "models/library".into(), - format: GltfFormat::GLB, - aabbs: true, - ..Default::default() - }, - )); + app.add_plugins((BlueprintsPlugin { + library_folder: "models/library".into(), + format: GltfFormat::GLB, + aabbs: true, + ..Default::default() + },)); } } diff --git a/examples/bevy_gltf_blueprints/basic/src/core/physics/controls.rs b/examples/bevy_gltf_blueprints/basic/src/core/physics/controls.rs deleted file mode 100644 index 9ff42c9..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/core/physics/controls.rs +++ /dev/null @@ -1,12 +0,0 @@ -use bevy::prelude::{info, ResMut}; -use bevy_rapier3d::prelude::RapierConfiguration; - -pub fn pause_physics(mut physics_config: ResMut) { - info!("pausing physics"); - physics_config.physics_pipeline_active = false; -} - -pub fn resume_physics(mut physics_config: ResMut) { - info!("unpausing physics"); - physics_config.physics_pipeline_active = true; -} diff --git a/examples/bevy_gltf_blueprints/basic/src/core/physics/mod.rs b/examples/bevy_gltf_blueprints/basic/src/core/physics/mod.rs deleted file mode 100644 index cd7d523..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/core/physics/mod.rs +++ /dev/null @@ -1,37 +0,0 @@ -pub mod physics_replace_proxies; -use bevy_rapier3d::{ - prelude::{NoUserData, RapierPhysicsPlugin}, - render::RapierDebugRenderPlugin, -}; -pub use physics_replace_proxies::*; - -pub mod utils; - -pub mod controls; -pub use controls::*; - -use crate::state::GameState; -use bevy::prelude::*; -// use super::blueprints::GltfBlueprintsSet; -use bevy_gltf_blueprints::GltfBlueprintsSet; -// use crate::Collider; -pub struct PhysicsPlugin; -impl Plugin for PhysicsPlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - RapierPhysicsPlugin::::default(), - RapierDebugRenderPlugin::default(), - )) - .register_type::() - .register_type::() - // find a way to make serde's stuff serializable - // .register_type::() - //bevy_rapier3d::dynamics::CoefficientCombineRule - .add_systems( - Update, - physics_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - ) - .add_systems(OnEnter(GameState::InGame), resume_physics) - .add_systems(OnExit(GameState::InGame), pause_physics); - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/core/physics/physics_replace_proxies.rs b/examples/bevy_gltf_blueprints/basic/src/core/physics/physics_replace_proxies.rs deleted file mode 100644 index b91462c..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/core/physics/physics_replace_proxies.rs +++ /dev/null @@ -1,101 +0,0 @@ -use bevy::prelude::*; -// use bevy::render::primitives::Aabb; -use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::prelude::{ActiveCollisionTypes, ActiveEvents, ComputedColliderShape}; - -use super::utils::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum Collider { - Ball(f32), - Cuboid(Vec3), - Capsule(Vec3, Vec3, f32), - #[default] - Mesh, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum AutoAABBCollider { - #[default] - Cuboid, - Ball, - Capsule, -} - -// replaces all physics stand-ins with the actual rapier types -pub fn physics_replace_proxies( - meshes: Res>, - mesh_handles: Query<&Handle>, - mut proxy_colliders: Query< - (Entity, &Collider, &Name, &mut Visibility), - (Without, Added), - >, - // needed for tri meshes - children: Query<&Children>, - - mut commands: Commands, -) { - for proxy_colider in proxy_colliders.iter_mut() { - let (entity, collider_proxy, name, mut visibility) = proxy_colider; - // we hide the collider meshes: perhaps they should be removed altogether once processed ? - if name.ends_with("_collider") || name.ends_with("_sensor") { - *visibility = Visibility::Hidden; - } - - let mut rapier_collider: RapierCollider; - match collider_proxy { - Collider::Ball(radius) => { - info!("generating collider from proxy: ball"); - rapier_collider = RapierCollider::ball(*radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Cuboid(size) => { - info!("generating collider from proxy: cuboid"); - rapier_collider = RapierCollider::cuboid(size.x, size.y, size.z); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Capsule(a, b, radius) => { - info!("generating collider from proxy: capsule"); - rapier_collider = RapierCollider::capsule(*a, *b, *radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Mesh => { - info!("generating collider from proxy: mesh"); - for (_, collider_mesh) in - Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) - { - rapier_collider = RapierCollider::from_bevy_mesh( - collider_mesh, - &ComputedColliderShape::TriMesh, - ) - .unwrap(); - commands - .entity(entity) - .insert(rapier_collider) - // FIXME: this is just for demo purposes !!! - .insert( - ActiveCollisionTypes::default() - | ActiveCollisionTypes::KINEMATIC_STATIC - | ActiveCollisionTypes::STATIC_STATIC - | ActiveCollisionTypes::DYNAMIC_STATIC, - ) - .insert(ActiveEvents::COLLISION_EVENTS); - // .insert(ActiveEvents::COLLISION_EVENTS) - // break; - // RapierCollider::convex_hull(points) - } - } - } - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/core/physics/utils.rs b/examples/bevy_gltf_blueprints/basic/src/core/physics/utils.rs deleted file mode 100644 index 7886710..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/core/physics/utils.rs +++ /dev/null @@ -1,175 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs - -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - -pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - parent: Entity, - children: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)>; -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - parent: Entity, - children_query: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)> { - if let Ok(children) = children_query.get(parent) { - let mut result: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .map(|(entity, mesh_handle)| { - ( - entity, - meshes - .get(mesh_handle) - .expect("Failed to get mesh from handle"), - ) - }) - .map(|(entity, mesh)| { - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (entity, mesh) - }) - .collect(); - let mut inner_result = children - .iter() - .flat_map(|entity| { - Self::search_in_children(*entity, children_query, meshes, mesh_handles) - }) - .collect(); - result.append(&mut inner_result); - result - } else { - Vec::new() - } - } -} - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/core/physics/utils_old.rs b/examples/bevy_gltf_blueprints/basic/src/core/physics/utils_old.rs deleted file mode 100644 index c210dd3..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/core/physics/utils_old.rs +++ /dev/null @@ -1,75 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/6e31fc02652fc9d085a4adde0a73ab007dbbb0dc/src/util/trait_extension.rs - -pub trait Vec3Ext { - #[allow(clippy::wrong_self_convention)] // Because [`Vec3`] is [`Copy`] - fn is_approx_zero(self) -> bool; - fn x0z(self) -> Vec3; -} -impl Vec3Ext for Vec3 { - fn is_approx_zero(self) -> bool { - [self.x, self.y, self.z].iter().all(|&x| x.abs() < 1e-5) - } - fn x0z(self) -> Vec3 { - Vec3::new(self.x, 0., self.z) - } -} - -pub trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - children: &'a Children, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> (Entity, &'a Mesh); -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for attribute in [Mesh::ATTRIBUTE_POSITION, Mesh::ATTRIBUTE_NORMAL] { - for coords in self.read_coords_mut(attribute.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - match self.attribute_mut(id).unwrap() { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - children: &'a Children, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> (Entity, &'a Mesh) { - let entity_handles: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .collect(); - assert_eq!( - entity_handles.len(), - 1, - "Collider must contain exactly one mesh, but found {}", - entity_handles.len() - ); - let (entity, mesh_handle) = entity_handles.first().unwrap(); - let mesh = meshes.get(mesh_handle).unwrap(); - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (*entity, mesh) - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/core/relationships/mod.rs b/examples/bevy_gltf_blueprints/basic/src/core/relationships/mod.rs deleted file mode 100644 index 4128453..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/core/relationships/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub mod relationships_insert_dependant_components; -pub use relationships_insert_dependant_components::*; - -use bevy::prelude::*; - -pub struct EcsRelationshipsPlugin; -impl Plugin for EcsRelationshipsPlugin { - fn build(&self, app: &mut App) { - app; - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_gltf_blueprints/basic/src/core/relationships/relationships_insert_dependant_components.rs deleted file mode 100644 index 4e9ad17..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/core/relationships/relationships_insert_dependant_components.rs +++ /dev/null @@ -1,15 +0,0 @@ -use bevy::prelude::*; - -pub fn insert_dependant_component< - Dependant: Component, - Dependency: Component + std::default::Default, ->( - mut commands: Commands, - entities_without_depency: Query<(Entity, &Name), (With, Without)>, -) { - for (entity, name) in entities_without_depency.iter() { - let name = name.clone().to_string(); - commands.entity(entity).insert(Dependency::default()); - warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/game/in_game.rs b/examples/bevy_gltf_blueprints/basic/src/game/in_game.rs index 2a077f7..390a5f9 100644 --- a/examples/bevy_gltf_blueprints/basic/src/game/in_game.rs +++ b/examples/bevy_gltf_blueprints/basic/src/game/in_game.rs @@ -1,10 +1,6 @@ use bevy::prelude::*; - -use crate::{ - assets::GameAssets, - state::{GameState, InAppRunning}, -}; use bevy_gltf_blueprints::{BluePrintBundle, BlueprintName, GameWorldTag}; +use bevy_gltf_worlflow_examples_common::{assets::GameAssets, GameState, InAppRunning}; use bevy_rapier3d::prelude::Velocity; use rand::Rng; @@ -15,7 +11,6 @@ pub fn setup_game( models: Res>, mut next_game_state: ResMut>, ) { - println!("setting up all stuff"); commands.insert_resource(AmbientLight { color: Color::WHITE, brightness: 0.2, diff --git a/examples/bevy_gltf_blueprints/basic/src/game/in_main_menu.rs b/examples/bevy_gltf_blueprints/basic/src/game/in_main_menu.rs index cecd13a..c1a4b8b 100644 --- a/examples/bevy_gltf_blueprints/basic/src/game/in_main_menu.rs +++ b/examples/bevy_gltf_blueprints/basic/src/game/in_main_menu.rs @@ -1,6 +1,5 @@ use bevy::prelude::*; - -use crate::state::{AppState, GameState, InMainMenu}; +use bevy_gltf_worlflow_examples_common::{AppState, InMainMenu}; pub fn setup_main_menu(mut commands: Commands) { commands.spawn((Camera2dBundle::default(), InMainMenu)); diff --git a/examples/bevy_gltf_blueprints/basic/src/game/mod.rs b/examples/bevy_gltf_blueprints/basic/src/game/mod.rs index 00689c2..b236141 100644 --- a/examples/bevy_gltf_blueprints/basic/src/game/mod.rs +++ b/examples/bevy_gltf_blueprints/basic/src/game/mod.rs @@ -4,113 +4,19 @@ pub use in_game::*; pub mod in_main_menu; pub use in_main_menu::*; -pub mod picking; -pub use picking::*; - -use crate::{ - insert_dependant_component, - state::{AppState, GameState}, -}; use bevy::prelude::*; -use bevy_rapier3d::prelude::*; - -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; - -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} - -// collision tests/debug -pub fn test_collision_events( - mut collision_events: EventReader, - mut contact_force_events: EventReader, -) { - for collision_event in collision_events.read() { - println!("collision"); - match collision_event { - CollisionEvent::Started(_entity1, _entity2, _) => { - println!("collision started") - } - CollisionEvent::Stopped(_entity1, _entity2, _) => { - println!("collision ended") - } - } - } - - for contact_force_event in contact_force_events.read() { - println!("Received contact force event: {:?}", contact_force_event); - } -} +use bevy_gltf_worlflow_examples_common::{AppState, GameState}; pub struct GamePlugin; impl Plugin for GamePlugin { fn build(&self, app: &mut App) { - app.add_plugins(PickingPlugin) - .register_type::() - .register_type::() - .register_type::() - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) - .add_systems( - Update, - ( - // insert_dependant_component::, - player_move_demo, //.run_if(in_state(AppState::Running)), - // test_collision_events - spawn_test, - spawn_test_unregisted_components, - ) - .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); + app.add_systems( + Update, + (spawn_test, spawn_test_unregisted_components).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_gltf_blueprints/basic/src/game/picking.rs b/examples/bevy_gltf_blueprints/basic/src/game/picking.rs deleted file mode 100644 index 6731bbb..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/game/picking.rs +++ /dev/null @@ -1,34 +0,0 @@ -use super::Player; -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct Pickable; - -// very simple, crude picking (as in picking up objects) implementation - -pub fn picking( - players: Query<&GlobalTransform, With>, - pickables: Query<(Entity, &GlobalTransform), With>, - mut commands: Commands, -) { - for player_transforms in players.iter() { - for (pickable, pickable_transforms) in pickables.iter() { - let distance = player_transforms - .translation() - .distance(pickable_transforms.translation()); - if distance < 2.5 { - commands.entity(pickable).despawn_recursive(); - } - } - } -} - -pub struct PickingPlugin; -impl Plugin for PickingPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .add_systems(Update, (picking.after(GltfBlueprintsSet::AfterSpawn),)); - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/main.rs b/examples/bevy_gltf_blueprints/basic/src/main.rs index 6edba33..8fca426 100644 --- a/examples/bevy_gltf_blueprints/basic/src/main.rs +++ b/examples/bevy_gltf_blueprints/basic/src/main.rs @@ -1,15 +1,10 @@ use bevy::prelude::*; use bevy_editor_pls::prelude::*; +use bevy_gltf_worlflow_examples_common::CommonPlugin; mod core; use crate::core::*; -pub mod assets; -use assets::*; - -pub mod state; -use state::*; - mod game; use game::*; @@ -23,8 +18,7 @@ fn main() { // editor EditorPlugin::default(), // our custom plugins - StatePlugin, - AssetsPlugin, + CommonPlugin, CorePlugin, // reusable plugins GamePlugin, // specific to our game ComponentsTestPlugin, // Showcases different type of components /structs diff --git a/examples/bevy_gltf_blueprints/basic/src/state.rs b/examples/bevy_gltf_blueprints/basic/src/state.rs deleted file mode 100644 index 8e983d9..0000000 --- a/examples/bevy_gltf_blueprints/basic/src/state.rs +++ /dev/null @@ -1,54 +0,0 @@ -use bevy::app::AppExit; -use bevy::prelude::*; - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum AppState { - #[default] - CoreLoading, - MenuRunning, - AppLoading, - AppRunning, - AppEnding, - - // FIXME: not sure - LoadingGame, -} - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum GameState { - #[default] - None, - - InMenu, - InGame, - - InGameOver, - - InSaving, - InLoading, -} - -// tag components for all entities within a certain state (for despawning them if needed) , FIXME: seems kinda hack-ish -#[derive(Component)] -pub struct InCoreLoading; -#[derive(Component, Default)] -pub struct InMenuRunning; -#[derive(Component)] -pub struct InAppLoading; -#[derive(Component)] -pub struct InAppRunning; - -// components for tagging in game vs in game menu stuff -#[derive(Component, Default)] -pub struct InMainMenu; -#[derive(Component, Default)] -pub struct InMenu; -#[derive(Component, Default)] -pub struct InGame; - -pub struct StatePlugin; -impl Plugin for StatePlugin { - fn build(&self, app: &mut App) { - app.add_state::().add_state::(); - } -} diff --git a/examples/bevy_gltf_blueprints/basic/src/test_components.rs b/examples/bevy_gltf_blueprints/basic/src/test_components.rs index d0e6fbd..b5384e2 100644 --- a/examples/bevy_gltf_blueprints/basic/src/test_components.rs +++ b/examples/bevy_gltf_blueprints/basic/src/test_components.rs @@ -6,39 +6,39 @@ struct UnitTest; #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestF32(f32); +struct TupleTestF32(f32); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestU64(u64); +struct TupleTestU64(u64); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -pub struct TuppleTestStr(String); +pub struct TupleTestStr(String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTest2(f32, u64, String); +struct TupleTest2(f32, u64, String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestBool(bool); +struct TupleTestBool(bool); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec2(Vec2); +struct TupleVec2(Vec2); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec3(Vec3); +struct TupleVec3(Vec3); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec(Vec); +struct TupleVec(Vec); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestColor(Color); +struct TupleTestColor(Color); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] @@ -65,16 +65,16 @@ 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::() + .register_type::() .register_type::>(); } } diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/Cargo.toml b/examples/bevy_gltf_blueprints/basic_scene_components/Cargo.toml deleted file mode 100644 index 65465e6..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "bevy_gltf_blueprints_basic_scene_components_example" -version = "0.3.0" -edition = "2021" -license = "MIT OR Apache-2.0" - -[dependencies] -bevy="0.12" -bevy_gltf_blueprints = { path = "../../../crates/bevy_gltf_blueprints" } -bevy_rapier3d = { version = "0.23.0", features = [ "serde-serialize", "debug-render-3d", "enhanced-determinism"] } -bevy_asset_loader = { version = "0.18", features = ["standard_dynamic_assets" ]} -bevy_editor_pls = { version = "0.6" } -rand = "0.8.5" diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/README.md b/examples/bevy_gltf_blueprints/basic_scene_components/README.md deleted file mode 100644 index ac2dd21..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Basic scene components demo - -This example showcases the use of "scene" components ie components that are injected into the root scene/level so that you can control things -like ambient lighting, bloom, shadowmap resolution, & ao directly from Blender. - -## Running this example - -``` -cargo run --features bevy/dynamic_linking -``` - diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/assets/assets_core.assets.ron b/examples/bevy_gltf_blueprints/basic_scene_components/assets/assets_core.assets.ron deleted file mode 100644 index 8d0a099..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/assets/assets_core.assets.ron +++ /dev/null @@ -1 +0,0 @@ -({}) \ No newline at end of file diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/assets/assets_game.assets.ron b/examples/bevy_gltf_blueprints/basic_scene_components/assets/assets_game.assets.ron deleted file mode 100644 index 5b1e969..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/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_gltf_blueprints/basic_scene_components/assets/models/World.glb b/examples/bevy_gltf_blueprints/basic_scene_components/assets/models/World.glb deleted file mode 100644 index 3ecc7c205d4ec2841e1986c10f7d0ffb044dfa95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6776 zcmd5=S#R9d6=t@!Y11WblLCDj@W}=!_U?-w+S+PTyRj`pQquyCp->}gG|0?w%Henu z1n9BxCBT!qm|H3XwE(3&VZl(C@@~Vj(53bRwr@w zdYnVBQ}EWUAQAXZ;!!pv;3E zoRkTGN?Oj15yA`Qn6d;DTyn3O&|WZStQSzRby_NJ9AnBmZv=>g+tFk&BOq;RJ&a<(cw6IIeL(nLE8JYfkdymQzCJTBoaD}I60Vu6jb;YdOn1cOVBGlotR8U&3= zb~ucq$y1aP42N0QiuqQ@c-kKfvNc|DEo_a^n0+x8I27z8Fj8$OO zE7Cp}(2U>~R&oj#657MX5kLy>;KY1YW+9PHweVU>=^zc$Bq0=pLqSq2s{~F5j2kea z4RcyBc;Kx{EmoYJixe7`%zJOOcA89xB$Z0Th2)M&=M__OyXpto>vaJ+r}}`g!T_kH z42cHO@8LNVQwiHj?m?ans`FzC_UU*v4O~-QKwKN{3Vv--B{;lX8ilgJQ>~eSiHuho z>CL*t!NLM5OnYm&6;5yE@Nw4bcaQRHTvVI*n?qa6olM~lV9hvfJ!eo)B2#AtQWHWE z$s2By>{uit1R}W?lYpV5AcxlZhR-5>Z+eo?WgDEsU~+*B1_$)YN;-NwXeFL^xJtdn zek}~6e1Y)gG6mmo9aLZFQdxu(w<+S;LCK1Pceb1|S2O*B^){(-0TGH^b#z1)a)`7> zfh~^!^k6de(4h28A*Blnb1=lD5L0kplwP_s32RN^c@nWT!~x`f@r(Ea)SB=kES4`FYaJ&KdF!VWre3S6v<5inNFoRAd~4=4P$T+@q;Mwr|`DrQtSBp%-PQGKHWEEfsjv z=o5l~93>M~Nm_=Wwg^S4T~ad$OIZTOFlhK7GzvJ%J(-M(pNG)b4GAg`BAZ(Y2b984 z-}hFKKr!ReTfV9`m!jb|1}Opyyc8uLNfy2X=D>x5FH=FJjueK1RnU(De2ZGsW>IU< z1t`Hu(bO;u5THoVri+^ByMjzn&ihOEN5 z@Dgn!gzn#^+hMzYBOtgVHFUOm^||F0_1jo}CsihuL_Z-lYEq z+ZEE--MP6W40K@WxLXXz#R!Z}a6qd`hF)a37x*E{lf?H2MKPQccj5WYZ14it+Rivk|@>ROK|E^(T)TJk)PWapRNnab9H@qq+yhw0BM}Mv|OllN{4k zQGS_q!&eN;fv;)-B zL57b5;J54#`=st#&aA4+{>ikW$BX#s{^7%;hx<>${P$%4;PJgj&}b4Leeut|{r!W# z9J6?rRM;P#_Pex2Uh9qKwGh?qFpoa2>2YpI6EQVT1qB)u-e2kfn@NEfXhS@6&vYH}S)8~j`KYVHkfSmwozPWt; z#hyeWfH~*RheEcTziGF4huva@HWa=}I{<@hkg}nDxOeZ-y@Qqg5Po(4wQkU+H_E{m zpd@%*ts0KHhd=0QlWZ{Cw$nFl4}3Hk_Gr~`#N74vRo&Qi)US1e3fFFLl>>3E4Lk2h z!HG^@SNWrS)T{741dUfr&+RuY1YebvJ^EHD6{fChAKAKucOg?94v{gti z|N9_{?mv8juhS3yiwmvy>;Kt(3&%?D0=$7;{RvN30TkWzp6~*0y=`{?UIbR~|30o) z-#7n+yXn3;E8x8CzTLlRrM>O@b@wfd)=l^A`%UZjH;`=;jb?vP-&ME<-dj5mq~$TZ zy$aX*7U$A0=>MwbqXvZQ>N#s@5hm#>taRR0xLw_gcQZRTIE2~4W<1at^t%ez)pJ0r z-P7U(bil((`>z&p{`1G?nO6MMGyOWirL$S)4Xr@ z&98({&&w;F*Y2BN36Gwa*AJqP@#5p?N6}BBpGKeI`dRdw=(o}DqEB)CH2OvK^XQk+ ghq!)-c=>Vk>*y0)KZ)LpK97DDeT3^r(XXQa1Mp`P9RL6T diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Container.glb b/examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Container.glb deleted file mode 100644 index 72ff5ca019c3036f54c3c6e3009605dd1ec9fd02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5552 zcmeHK+iu%N5Z$IpujwUi)1rM6_>dEHG>RPub!%IJZ3G33K&B+xCLogrNx3!z z1NxADME}6~w4Pb*N|Y#B7LxX<3utF{cIM1wXP5R#@8IP<#@OGF8QXry*l+vI-GLV7 zc~od?1MMVAqAV=ZOk2}_Kh4r4&1)wxsjc^-q#I?mt)H8<3%hRAZClf|izv(EG=Z{N zH?(VA%R2zj)(pwz+S=hjOTshAv{tK#&dysxrL~bJMHs^wP?EG8k*1+@-PEl&*Ka1W zfp!+X|ER}RaozkYZ#A0;B!%=G9?`Lkmez;bMCvg?Qz?39NYDM{Z1kzjWm+H z7Z#$VD92Ny&J7d8@onyVfe%#Ocr%^zew5_myim!7v72*Z&qs#;Y2--qEG(id4tt~C z=%)R4FWN`JyV_cj^`mj1o5@A1-Rnn4>%5)qL`8^FclOf$$!QYh;<(#k9wFs4dl_~_ z&mJ0R3hvs5%}vj=T-$M6UxzR-ER@l;9Lx7D&$b}*4KY0Kn2zIFp3W&a=|%yfku&9S zEUP=$bOd4V{50G_@1j%Iw>NiRAkxL@sH17A{8!AY60T8qt-v>Z$FR7Cj&mI(<+@n8 z+zm{Z2bO6=#GSzLY}*bD*R*WU{#UacHRF5C(Fy|7^G(M>TDSppaC1cOlB1|cekxv| z@msagZ%1{5TXaZSd=?k+g;WTOB8%Jof|djARdavqV5_++9;n^s-p=!FZ4D2_!R8+u z&F0>VmZ7bg*SZ!b-MB+0*5m@f=33lk^{@$_2EV&cTi29NXWFN`&?legbA>#;iBEsp zXRy$x37;r)*g*;KR*i0cyMKHfWv}DtPf@(_dwg(pjvM80)77<3+E4IZLLcMVxTMDw z9|&`VlwfEhem?t@v->p4&SmO%ueVJJ)GQIKQoGmAtvlS4g~aVB9rU@Lo0dgB842 zf;Tzt!&Kq%jH~XGomXx*%X9I}|N1Fo>s!0{4`Xe50hZh$kH2jWOr(WUJ)! zc*H?N#B&?pDCsQX35R?soOwLiD)~GfdtwYFp|#{mQm)&qTC?J~Uzr|}j@(yvWlH+Ao~4AR?8=n%Xgy0mWVj0WeZ)RtpRvc7 zAG2@SckBoD2=gQMCHsPX#qMLi&+f60**EMV=7;P9_C5QYJ;3~ceGP>2Io--Ppi8me zz-SRK@y0mNt?*>4o?A z7vWIf3VfpYi9UvM4ZcWDl*SRQ<$i-?;29|C)4GOVnI4gj+*fvGO8T^(rG%&K%9QkI zJxzan^5t7&`>z|&#%=shPj+cv=q%zT&f5}Bg_pKMzJPC(;#tU-VrVSlOYtZi@;k+s zVo*3jN6As+8`O=)P|WjtZ$?L`Q@t^UM2C040miH^VK1>2&R7OaHE2)llVGT%6PdD| J)%m~w{{hNm8y)}v diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Health_Pickup.glb b/examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Health_Pickup.glb deleted file mode 100644 index 4643320e32df88f054a454c5d2d09f8b5f16f5f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5068 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 diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Pillar.glb b/examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Pillar.glb deleted file mode 100644 index 891122ca204401ba432bc57676b0042902519cea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3596 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 X*6ii{i<%DppO^mq`S~9F=%7CV&=wL? diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Unused_in_level_test.glb b/examples/bevy_gltf_blueprints/basic_scene_components/assets/models/library/Unused_in_level_test.glb deleted file mode 100644 index b5937bb6645890613ec4e82c231464e2760b8f93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5176 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 diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/assets/scene_components.blend b/examples/bevy_gltf_blueprints/basic_scene_components/assets/scene_components.blend deleted file mode 100644 index 96f0b1968ebad5ceca2b62beff014b34a6bc57cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1348632 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

u6~3h$=J+XTy+qhhSaO#nz zENhO6u^KlCfH&;xiZ|xX6rJr6E-ZLI=6D(_vim@6u34k~3TZH$@HSAssyB`#s(Zl-qhLO?Q82u@A zsJERm46bcwlD#JQ{j_LU+~<7F0IDX}RnEi)a^mJ0NZ@?Lf3$`}%lrrC%o^Te=-8 z_G;XuhF=2v7WpMqo&ZJvps$b9I~ArBwGHH*6?xQ7I<1dC)nR>{7turz-}vRC--<>> z7>tN89Fys-B8*=l!e~;S-zLw$QiK}oB#HhIa&R5=dwsm_uY<(q#Syjbt8tSO*8%M7 zavkvTPqwG3@D4rRCRo-S6=OAS5&&=5*A;K{8&%=m^mv^CuPfexoCj2e_q4~`1k0MEVywnZ0^kk%y5f!bUR8L< z9&ZyYYmSPs8aD}mH|*<*H|F(K;XUK=Ho>yys2HnplK^^3_=g@j|cC_UmuTNCB|u*&(Qh+#%;_;$tHC4YkfR;!0)#!Eb8)Cor9`z zla}zK^>Nsj=A*r=kE31a?SLesO(^T`at)Pqqyz5&+tO}NtJA&6j5oG=n-{7^P z--@pmVfbnhMz53UH;6EJlL+H$gylK^3@jX^*!F zmNf_X>Y+&hykTEgyfHphg?H@nHo>yy=r|*75&&=5*A?$j&I78#d&c8!f@RGCzItd9 z0B_jW6>rS;Z6>rSztHQhP@ixJ-<^W$kGzow=?CXkm zB>lIl@D4rRCRo-S9cQFX0^kk%y5b#5KfNlvn;vfyENc$%)kBj2c*DL$cqi-Qx0PNW z9~s-w99TOwF@6~d>;AB=kH4?oJ+lrJ{2poWR&oDnuC61`)p~Wn)t~Yf@D}hE&@I5m zl~&_qmRs%mcy>(g^xY?{-Q?}f%haUtN&oRW5#3x}9}nM|zdjznO^nktpP}^ujN6!x z!j}D79}oTdIB#oif3j^pyN;OUK={%6IP6PP#9r3N(Ju6MKvK~rgg%r*dS*j0*|e{Z zN8T?HCUg4RT{~FBc*4F#ehIZ30u=p&zCO-aNo=!&7Vft!=xJ>IadE8Z9% zs=_;XwO>EW0oIb$J>IadE8dZu2ULZ3-Q#V+HZQw-ykTEgyfNRa3h&V4od>KXuY0^< zUst>_udfR4rpMcYZC-Zwc*DM~c*oLzs|xSP*G6mS|2~@xkH=BMmAkpTe9Toc@^lChucm@nfJGitX?ws{j~5y;{MZI zT}Pg)_38z9PwOqp^nd#(Wg@BwfxZ%=K*2KBm3t4%;H!dhka>2+ROSl+J)W@NHW@l(2a7;b|Bhr+768G zk9)s_4Ci>{wE@^X%Yxbgt&hjjzRrHhU8Vh!@ktU={y;ZpaJa5*Wc8B4`|$V{@0XM{ z;@_)+hdlr^CDOUhc# z(|HSc3(T?w*p#)^IGPD9S}$SSD<Cx#(?{lc7;M0nBcDH&;#z}Vcx1!$)|4xMQ$3+-?N~UiUVRX9)!_Ug|pO@#q zAi^B>Jd5l?@0URiu7iHRPgwWYfenJ3{O+#<*w^JcAiU9@s=_<;c<111%jzC)*w+p3WRpA|ZymN51Wp$4??CXkmEaw4L;XUo~wt<_I-#y;2 zuPfe|?^T6&?D5XQ)t1#g-mtGL-k8@{h4+ld+Xiks20hPw6e-EwCS2V4qzdUziVuzBbOsD=JFsF8lIx zyS=QB$M4Qx9}mAM#_41|NRHc>kCIL3=-2vq=-0=EL7o0~Hy`Eu?MnO7d^CMNg!s_W zT7K`XTV;H(@s8cw&XoDdHGp=2cA>WeDvvgiuGJ^}AxG|+YF{4@yM0o~+3`-%Z$)hp245Co zxLc<05@G!JB8|Aq*2*z+u02atp7px^7`O@AHOAjrw@{yKntU9JQEJcMjd zRpA|ZymN51Wp$4??CXj*`i-jap7wa#z|G0;9&gy!6>p3WRpA|bymN51Wp$4??CXkm zAm;&9;XUK={{Pwg7WlZTYW*p+^zh~)YEb_g5H%>40tE`vOv=kaK`PIn*IUwd+QgY`OLc!8ZL2*DpK&}Mv!Q~>xHwtR;)&Kg=-rvkVd(N3T zXXZ>y(zAbA+54=$*4k^YwaCS^jQI{2kz1KXi0|)4pN-ozd&JX8Ajl_}kC10l4V?rhUWu+tKUvX8F52@ppi4 z{m{|dZ zaxCB5P0q)ww@y!PwD~B`$MZ3rkF#Ca?EvbrO*C>oo=?^#9#2=lh}I5pK2H0FUYGo) z-gU{T%Lls#vIj27cCB7p&(DAaf7j}=LUpS|%yq|@%mc}~B%<9)i3Ji1 zOlb?0*Cjjbr=Aon&s)lh&y{4*_jV6CY4AwF9h6Xy4H5l0VnKE?L(*Fm&u- z*SX>9QbDDfN(DNV`a;16SwG5ctHmEC>ymm+n5;|cwOqoNSRk>$9L7H>k!~E*!CFOY&={>P$O(Ho{?!4skbKm0Hg9Enu9T2w;g3qPZ?-SbB_BzDA z_SisQ$nSvsk9S?daoe7cLYMM-kN&8PYkqI{cggp5{XF51gMIy=k{ah-SeH23zKyO+ z*e>jLfRfAiSEc`zW_%|MZ4e<>u`Vel>k?&}Q2+hf0B!FTfOdd&3GEwtT{7_94O`An zrIrY9*}q=depg4Ia%#_-fnNM%dcA?&Tm}CZ3l*qF5N@BEc_dkv)N90KT~e>*628O& zi3KLt0#j>Ug1YZs-2fP$Y;ZX+9#7rxoOFoJ3e>v9z7Devu?-{VC69X7B^dM!fppBxjb(z`(0^NzE+dX z;C0DFvM#A~Vj#w^4bawJCaz0p-_Yxlch$Wv>FrsOZ9OI1+coS}CG1t;y5viRup&ay zxqVjgv1DBm%33}|$-2bHCKoZU)9?O`e80QgUmMSHxkc%9inT5YbABS{ zC6~{+70+*AKI8swtRA=R`6zW!b)!EjWBa^hw@2PPcG&HAEJ8d_;$pHcQ6>!azwC3< z|9-4om(adJ>ylS|aJ9bII-Kv>dug2Y*?dw0v$OSqDOxF$g?!Lu&G`z7{! z?)J6#pssaEe!X{H!g1T4kHV&Le2>fdee!;Z>)}xUqRmI$_e->WgVrTsf3J$|!fppp zyL^Awzb?rn>yl6{KoLc22UwTTzMirR2Q8lo;zOtZdAJcz#U6T27vM#CD zp3OTi32NUazFw^pzQh8F1-3y8$heYA?=2Ot_1=4%&|q&L?{GZ+{6A&xol7&WZa1@k zQt7>_FqG#_zC@liiBP!X6)3?sb>A#`L|Ju4LeIT(obkbqVOlc)hzNxvsSasHhegtI{eQ1EsU!(f1%-2<1996M%t-iia#rf-1oViiw ze@o}ztYRPWE(&&We^*tP!}}oa-_gw{_d$>geDG%5H`A4*yboyKF!zD`ynt>`&GPqX z;_pgl1!7Deo9Rjh`kVF*>u>fO&GL6K@pq-O0x_nK&2%LL{Z0FZ^*6_dX8C&}@pq-O z0x_nK&2%LL{Z0FZ^>jKr|Q=XTZUsNdNM zz9}B`+-~`tHOP1<#|+iqC*0K}txQ9f2PXNs-AauFvyTCitaxr0Hj4J06Z<({zhZOg z%x!9%#(c&-57Of{=cDu`yd1}KyZPjN+|LmKICBnarYp(eKRmZf`(i$-?ncn^{>in6 zeQuZS!fpqU#x`Nd)%RzqoOG@8@zG>m0#k+zrti&kB|Fz8v~TEj$=B;%m-Me3%J!w^ zA5^JKI85NW+w)QH~~JsF6?%IlFRp2rT>*?wZC&xOx7ipP7K7D zzBkjA3|yDczMu*QT1DfUUeB$pw?^b3+_c!eu*591(HOt?liN7n|8iA6%mRKXAi03Lu&u2 z+0VCDYGnE_m3n;lyF2`!zcuNYhBTxZ+i70IcTv2jB!>Opyz_ChUaYejht)8lODvFB zAh7`6Cfo&PsQLSZll|Oo72oLoy+pB1KewBISdG)A^B_HLb3V#Z&O3SFI9M6m=i~Ns zyP4#Cywvb&C(NiJy)Lnz+s!BI5@otj|IM-4Ojj~< zT|)Z?txLjw=Y;LTZU-p2e1BK^UujnReZow#E~#{4Ajb5)nXY8ux`g%(y)HSe?sZ9b z&+^rM*|lryeW5ULT{2pztX~5dx6dj*s`|T``klg=TCWEDp0FksNG!1JSwO~>srf!( zdH&>a3dScJTmsO~)b|PVpY?yAF#ouBUBYqOo{wVkP_}3Ae6-fOq?oKr+_o0(pE(CL z)0Ny@m(aeAu1nZ1>~?^X!?Xi6*$jT4usd0oR5~#bWBT4qS2A#2Li^TQmw+A)W&dEm zPbekmJqT}E5On^)C-Ll$&%P2y6TYg*OL?kVBR36$;pO!ZsECsdsIiHh@2>g%Ue z>^!aF;xBamFLnN}Ra}a<{w^l|u5?x)#`Lk7u4JIUY2UE^=J?Po ze@`U-u5?x)#`Lk7u4JIUY2UE^&ggkSv;6H`oV<@v>8&7)>0>ipNl$;%zG3~%`Cha9 z-In;f(piBR)5m7Il7arFeZ%^j^ZI7_JCpdk(piBR)5m7Il7arFeZ%@Yuh(zQ@^^RQ z?@DI{VoV>K=}HFroAwRs?~GojH_PAo#NU<93dEQ`Hq(_1^f&EW%ipE<3IC)1^YL|S zmeu*wgs%R9=i^^3RMxKnjJu!a{8sHh&D3+`nOd&~{GPBT7Dz0x%~=4$N-mAx9%S%4 zJE{KMZp!xzhVshKhZ0l$_X*uM97$Rk+h^mY_X(kQ!1=gGKb!&k)v>au@R)sslpsmZ zbG!H5d!k%7=l2PVzfbjkRG==A7wq^~?^X*(S>OC3Hh5$F#V+kMRPfsJQq!|L1lyfAp?PIBwhXQRt%V3V9ei{Nq~B z?Pij7i85WN|KZ1Iu1jd&M%N{57j`><+F{y(YP-SD?G}@DNvIZ}h@!OveCLGrt+g&e zyMaU5KiJRhO5fw#ca_^fa5Z)f&T@0+`sSCP+eP+nJ~Sx1_$SqG<^Q5$=Q$N;p4ZoZ zQ*rU{D$f5?=cjhK72lb3wo|c>cozk`xX*Fwa(Exa{oL+Eavub_zy}}wKA?TW+z0SC z+f%dr?R+MA&dbNK0jTKyrhUWuoBc+!{N0xLJHWSo=;;2YeZ%^j<3qFjok{%d=hy&T zbbr&nVg2psc|f!L-JSS5z_)(r=>DdC!}^=^y=M74pZMF)u>rW~{-%Ay`kV9mX8C(G z@ppi4{m{|LmoAwRsZ?4muF?OV&= zrRR1B>pmYpw`c88z2CG#Wx3s6QSq-8Do~9e-2JrT_G~Q|r};;}hP*0*M8- zISa_Rl1m>f)t)_DosRmQo#46MHUXUF;tcxn=l|(Gi^{mV)hfs3YTry@`E&e*Vtlf} zr3BwhJs)>2@joBW&r#!a={!h}+nkTmmT{er=achs|5oXXt!($@XA`^(JRhfhF&}N@ zxm~skyB(lZwu!PX&=a8?*E%0}KAW5qDVv4)AFUnWe4O^JwJzcLIQs|teEiZ&E^*%> zu(d3=0XwIBy>~h3o0{v3EuW9O{jm=X@Xn5^-zx5;;>=tX=XcT9yQ$cjzoUB|UOY&} z`9oBkIaI|y;$0N`Lzct)Anx<=w&Xqta)A#%`h7tAhPe;i=OJ`^YL>qzef{) z2RYXVAKl-yZ&-hGzSk^&7ZZQ`_%#R>-QTotSbuX~-zoO^t`9!CziHpF{^t6v zS^joDm+VXUI5q$k-QTotSbuY!-YkE&CH@ZZtsgqNziHoE{w|%5zo*{w@iVf6L)qch z#ph%PyH=sNs3Gut{Og6NqN>und!^3dYX51bo+HoHdR6sol9^Z_u|Q%0uLb0DM^o|r z@xbT7?6Yxwwx`bhX6pHP=2HLj@!~=?PM6Mu^tjFWD9^#-Iv+14=i}bHr|MO-`6#|? zMf+lc*vR=f+lAc@pf1~lc^(eDd0p##Jd>sz(4hTgj#B-W)2`zDkt!~x_4Q&EXO2;^bDYjUUgu|2>?7Vq zu|H%vybt0&AMZ}?gCH09;G^FMv~QUE!2PbHZcokfcRumAk6(jO(fv*PhV?i5jb{0K zH1T(kbA9m9{Z0FZ^*6_dX8F6A_}j;?L8$2drhUWuJFn*f&GPp|;_o2m`rxDcoAwRs zZ_f9cCS^jQI{2kz1KXi0|)4pN-UDWHhX8Ajl_}kC1 z0l4V?rhUWuJFnO2&GL75;_m?8`k|xyoA#~c@6!4BhZ;N|Ke~6_pr7isae?RK-zd~( zjzHm_H)P(V_Mc|zIr2=cR|G#Nq=^L*3nUhps^{b7V?3{qw#oDH{OA48$DI?^I9)mq z(&IMgqcmb%=i|-|$?raSn`5=BX!B9`cb~LmxxV>qJ1P_U+X3w_f3oVgGH+FJ z@gx;Hr|Rp|RGdFU#hFf>|2Ccfb`{&QdCmTi;~X=Vu`ttx2N$ zoAwRs@1mXuG|S&@iNC|U+x@(9pJwVg@=UE)E$1fri3Ji1Bo;6%FjddT4HZ2}j88VW1Q?HJ>igrx%lyyB zGfUMtT{;ia<2L7`oTJ2bKAuU=$32a)`bD()D9*=eU(81vIUi@cu-gIjWt(W^e7u;f zOJK^7AzC}Yz9Q{gYh8l-9u8&y5a;>$ZZ&E**EipLKEA?-2JNr7O!Zs&6)JYRRGe9< zue()T>``%kwa#Co^ZQloBi==^KV&()58^%_pGfY5AQ$-Hqu&R#Zo|@%v z=hEc-%*U|-sObKteZ%^j{YJC=-In+}z_)(r=>DdC!}^=!L$myyN&M~S*Z^E~f78BU z{q5*^K(qYao%lPzw|?m8{-%Ay`kV8;X8Ajx_}kC10l4V?rhUWuoAdf+`Fk|+cYtsG z(9!)(`-b&*Mz7zRF?OV&=rStLE zHh4aMN_L>PYdMOG8UoM9uPa0qRh8a7A1@B5{im6FjyzNARn@aeW@3TF0*M8@7MQB% z<8!=fmagoxad*5zF3w$M>iKx)OaABM`9U>Km(GLqxXt+}&qCumAI~S}~;X1*(Mq}A9p^VoD;#8;X<@_fb((Mx7NCZ=i}@j;yfSUvqt6S z`sRDj$Gd%K(EglrRKHa`SH+nj73a^>*Y8%b^Is}1zE|hxbp8b@_7U%**dMYS-Uo4? zkGCcFL68f4@X_xB+BeL7;Qs!&ZcokfcP8<-k6(jO(fv*PhV?i5jb{0~JMnjrbA9m9 z{Z0FZ^*6_dX8Ajx_}j;?L8$2drhUWuJEP|T&GPqX;_o2m`rxDcoAwRsZ_f9cy?$$!zn#mHeF-1O2B4z*oAwRs z?~GojH_P8`iN6DU>xYi+Z`!w(zf0%i3mQBhKXpyEtG*Ac2cD0Av*2fox^eD#gYyBk z|1?w2k!NbX>h^lVm{=gOz_w_Csd_$MJ|6UXWt%)7&tL9;K3@Ew8mCL=L3-Tge3WOQ zah;DBlk;(JYpi+|Z9a^L*U@EV*3ax#gsh@}7^Q{n-KSFY^)A zZ#f@RasI<9E`D5Je?rBXPpR0sQ0HHy^FO0vTQ;wGAFv$W2mW;`-Cw-VN^#(#OBd9g z+y^vyh&cLvK>LQd58U4$*X^lU{>~@<4&i5#ME5uC8`j_KH=5<|(Zt_$W{5btziHpF z{^t15EPodhe~0ihNuv9k_6_Uryq*U%%ij};zv;{naddyvzG3~%`Cha9?R+6QKMUb# zO%mPTv~O5{b6(#pf43$64)5-Iem_CmH>|&ldi~Zce`gYZH`U*?Z&-il^*X&-{_alv z-Bf?mzP0>aIv;PZ_k8@!Y|pChq1GmRU;X+*1QXRJb@zrcpHur!GxZ#Krq-*rdlQPp z0*M6@3zRG%$8fpy-f}s6wmOk3pP!XzQaeeqOdxiR_uaicBPNLIG{ z@|m=k75>BdIPHu1Xd~z2Y!`MrK&fmKWnG{rLOE9Ff>nNhJXx10lZE;ptsUTeJRf1- z0S;yV5a;>$%WBkZu5W(%d>rlUfO2CiQ3I8~O!ZrtFRHkBsfwM;_4O4h&aYQ-=F2+& zYMno-;*wA+!Tylt@IHw9e0(&y4=l@9yNrGx(7v_S=kzz*Q?vYCO#EHV!B$>$f78BU z{mp)(S^l0#{B8NP+GTWq)4pN-&GDgG{&v2YoS#+mus1KdziHpF{x0fyK(qYamiXK2 z(yCX{{Z0FZ^*85x&GL69@pn}Zdo!c^oAwRsZ_ewR;}dQmf>Uj(o$KkL5l0$H6oKf><8u$TzC_C~xBFm1%;>M>_J2Yd*?*{L!=0 z1e1?+#Y1F!@MFzJ;2P@(N?=G{NK}9r?O7ALZS6!@+5S$wxZ!jc7i~ zyZS4yP7_Q%(vh#I`6%zwOZH9^Og_?)Z;R%my#N0AE@^_vM>_JgJ+ACYdGE`m(gc%_ zbmZ&Qe3Uow^waGGlaF-d%WFQ$yZ_#M+X*Hg>BzT1^HJW7H{8%pF!@MFz6s4od6$fg zv=dA|(vh#_$I330_r6@NonZ2jj(i!-M|sjVrG5%bKGKnISo2ZdB_l1Orvj6YbmSY= ze3bXl0}m`Bn0%xo-?-+ZJkXkf_dDsx=ln$9f0`eC#6SQ3p7f_bwTGO?mir0Pk#C{q zqdc7T{N`8h)aO2BKGKn|Tk}y~YU_K`qgTHs{gHg$eK(VOl8$^Mnve3p_wkSIoEF=7 z^duemikgq|{_(eWr+@dGUh#eED6@W~Bi|OyM|mjkM-QLY{=pB-_LN6D^0oa`-+!9_ zp$C?fY+{y2I`VaDKFa&*Xj}TPTed9v^K(O<@<>O%yym04KR)ve+VxQ%$vYlC(vfe2 z=A*oCeEk5I9y%h>52PdCgyy5XXaDe@>8GAtmj2#%k8|ruKGKn|}~0d-+qIKk96c4)_jx)zVF;|bo!H@*v-R7I`WNbKFWJ+ zyfgi&Pwt++?%HcT_9Pwo#x)=1ZMuC?x_H-JZXaXXlXT>Bo>B7v%3FWszS3Xk+UXD4 zlXT=;sQD-lWubk3>!t-BJxNEtZp}w|<3IXQ`xTeBx_z3dC+WyHqWLIK+I9Pm+oDbM>_Jg{88D3@;2OZc>4VpTu{MBI`U;S zALWg0+SLBnEyL}>W_)_jzQK3C>173GnRe50C=@?e*H?|GAZ&zp839r?yJ zALS{&d)m>~Og_?)&v{ngf0`eBGM`v<(S>_@_((^-g_@7@e)f}hq~%^{zw0~S@w7A2 zk*{0xQJ(OmKXdWL?LU6(F%KW<$Ty<-DDR^m*-_f&Hy24i@6nTV_K5H6P`vXHIhIzyI~G9zN2MZ-eHeJo3RN2)vI-N4^QoM|m!v?psVg(vh#_ zPx}7T{NRI*ww|OTUqhibJAP?@n2#S ztgFlAk&b*Lnve2+{mY*8^M5(Ff{%3MD{4NAS!8 zMj6Mv{v#dv+Ww;NKh6Kl?|#?r&ao^$(vh!I^HHA6BNs^@->z&^whQUVm)Crh2OIwP z$3NZBu*s`6v%%px^!SRabfVNJqYwE&Be` z{7*h{_9DP%F5b(-M>_IlG#}+X^Si$EU;eZ%{l{n2cV*bFNk_h6%}06TKRP4*i=SuH zPyF;hJa!=+`9?J#<;grSjXCITw;ti)BOUq1H6P_YHa^~d?KfU8bI{{Ge550v^Sr+Q zH2()b@PYPgzPf+`*P3UMj(pvkkMb_M@WS>7?!UkN)(smx zejpwBMl>Jg-MV36`xh>|%moxpKah@mMa@Tfn77e`6P4qi zrXye5U-kW`@$en`7Fox6>`6NEb!tAAEA?}E(ALcQk&b+M%}06HT|3X+KfC!`hkE!( zN4^c3kMeNeVGW1%qgfv5$Ty++C=Y9n{D@;QIk_n+qf!|(gu_VWF^Pw@DUbmUv8`6v&2w10YbZTdqWoa5mm9r?O7 zALU8E>-J}8+os=1N4^owM|tA+wAe)Eyaf**>Bv{qe3bY83${!D&ks+P{T}bUj&$VP zqWLJ#?H_#RS)?Oh+duUEr}?p`c=1IqNZada(vh!I^HJWHuiCHOoQtr3AszYhnve2e z!w-MxL$dBqdD;u<$hSfBQ6B7%eMQ?Yq$A&i=A%56=gwWMewTFQYx$?X|1^JzPbEtI zC+WzS(R`Gr=Bt(SYtoT#So2XH`RsWX>Bu*#`6#cfr+0ovI`WNcKFTZ4t-XAtBcG$s zVJNTcb1xt1$hT1QQJyxVL|#79k&ov-lqY+wZaZPQY-gk+ALUaXugUjDA?%a`qx|cC zwd3>Wr&23~Aj)~!8&6rhe5ikLZK|igul10U^!gL6!U~XZW5JDL`8T5N&Nxu$*1()t zGUzAju}q};+1pvD{J}!$C+EO={d7!!-%wXiUv@Ax6pN!ovsR_uO$8O#^S`M5(wTan z=UlUB!fn>qmLcIUn-WmwconAMHYU&VWB3 z>BvWYD9?G1myhi!Kfm7gbX?y#J%jyyYqEVqEUb~ZRhR)1zEyCeSpMa;-CJhWXkU}m zo~RG+`wdpR&mZQ!@7XR$N4^QoM|t_9{rN~oKH7ou*q_kYERS^LV?O0MhkDB^wWmYs zZBLnOSMN~w(j`61SFamjagD{Tiv8w-JU8)+tml3UD>$Ru&2X*uV+)*w_LP@0Sugpx zwC^~wgWykj%i^VLhX&UzA6nY8Vqma;V6Cle{MT$pv>*E=+m6o7U-bBee54~EHKaV} zn_fP)Keo&0^O%#mR`o1DE!#EFKa^U);u?!v75goP`o)aucIRwYqyMstn1uG%DrHhX z`f1#{Pn^7W+@XI-M?Th%@|+#M?AtC#M?O}Y@|={HkL`l}YV>xoq^GyH&R-Ita(3LR z5E}}1M)>Q6x;>0c(RM-o=%;Q=Pp56YuYXBLKGu)&oPGWINJl-i z7rkBQ$z=Kf22r#I9)|2e&9=}>m(DH-8`3c6R1Wz4nXwJL@%B^Y_dzl^q$wz6i5aRQiwh2mMGFq#wS=vv}Q5 z|8c_u{e!V=1e8>86SiKX+Mm#GHuSsX^Y`Jocm&e&-XZPwI?tqa8LWTgW1H#He0JM$ zTKw;E(vgqiDbLx{%g1}pSzPZucShG>Pyf2LDcO5HjHNXYw+b&n!p4Fd#qw{VzV}9I z-Gh^~W}!aZ+vv9R%IiH0R-WyGbmU`wD35)o%||-&F`x1rJ!c@E?Sgwc(dVXTcJ=m3 zqrl!=>%kOTf7~jp013Aj+^DX9MQ!ITmc45Vo1}I@{doV{dO9!n-oI=Yq$3~eLwU}A zUcQr$PNg20BYl6T+B-gDyK>(}-fHp5M<3I*COg=ba{tepKR?Db$fiOnHKE6dYC6=D zw{tyAlfdI#KTsM&Slld0VDAh8>AwnKtOHE-aM?jGzGLXFhc;h1ccrwna+oD&i~ycB zmUD>9rF-t)KmCmbKVNX@oD0Uv`ADhr$uiEqwrRZiLr?FJzWTzm#;#lN^P52V&%xKF ze|YJ`?MGbp|3sfu>iTErjGgh)uWb7HZR+_2Zyj>!LE-+Yen{aVFTP1>g?P(RXBKbvokWT+A6w85_Bt9$xZ zoxF18+HB<6ezC?o(wL_MMqj$g?T?`!zCma5p)Xe9$PN`}bbMq1^jH%t3|JFD)`X!$ zS=KXdACyX!W5`+}^wb4%L2t^I%aT0ktwJtcPM=j!xU)KRY+bA8579zr)YvfeE7>WMoI+xYRLjsWLN>ia{qsmbTsZQgwM*&o=Y+mPwz366Zj0eSER z%aEy%Tc#;TP$}|4)-#~j{nneLA-m-iKxGHB4{fY3#W!5K5reU zUn(b52H0gF&&B10f3eu0Lu@dna22!=W!Xnifw(BNkYfhTs|JPHvsAm<{t+ROdE-{q z*Upi~20F7GUNbgj#+SCA9SI>>Y?=ZDhHJWB))APwjbvcF!<>NqsXZs48DgI|{$BOp z-GA`*}YS_}qJCU2iYvCB+v#@qd)5 z?xXUY#R=b!vBie*E0u2IfhjbkCx)wuc$g~4(l(B4N^0{^}=5^yQ z47Sn4ibqQ4w5I)FBbGrMnR1{Pc}w$|6>-dG4%QPHyXFzETNQnwAin&g_dbXyX-1I4 zx6^e#Gw0FkH*Xx9pFaLAudv2zj*I4)33mnIO;`HynE8}LTvU25pSKRw&z;M-1q|2?5&mJ>9eAwBi8`M@8?d}h46Ja$qiGv-*`ZH?6?pF8Fn^O-h7 zra2zZ7Qq_=@-SAj435>N9Oy(|`j9rEjX;Ay+aVpte5S1@oQ?99jZ8k*4#s>YW5~2^ z)ESTm8?g-9$drTnlD9OU(eH%Rajs|V&m0QTv4zcr*hEzbqAe>j{>2FA+TwdT$EPaL zb*j&2x^-I|)-iOhZextK1lANWaeiYl>FhlFnsVx;58|U-x4fLDLM-6HA`7ApO99 zObp{pUiVYf$BwbK0*o5#Ip}2ap$;cy*LJ7QFYncl7;;%hj=!S;d05l29Iok1Ig*_s zFJwUv_P5AmIY_gtqEA_+v0lIH-`H5cW}v@Mp66YQQX3C<7G(bN=jM#{jcYe~65z|J zz8;Kj4UE48lbbm2_-s-rJ`>|dYvRl_`0VSbIF~;ME(tjW9-PLPaG*iRsj_1!-xXN? z7f~iUjG3_>9Fuwg0z)#^m&bbcr$J+B++)4-7uA0=rjyL^2{?}Rqzlpyw5Rl}>REAg z|BCaL4E7J72Tb%ZZj6O~+^_?nXpQwIAL?*?&v15y#2jNM47sc$^R@)!VXS949P3Rv zlAR)NX}s3o%4uZ0UYqS(+b^G5lFwpAS*LeEAHVROg6y$xY0h{}Tl$szuf#dU>A5!V zey2LS7}hcDYuY$jn9Cv6^LYtTyF9Kk{-;Lz~b> zph2MRkd9;jVxgfkWZD7x0-S+W?z>gc4?3BAu!FsSkul`jcIphsgPm9o?PSW4>=b#a zN4JkG(9tKuKKZ5j&;{xnPSNK>$E;hHMJe%z?-t^hNs06Wucu1vY@VL;p&6CIbae=${_&$DX~ z$8|CvGTtlG-|CCr&%ZI-za~30Sm%C0H9y`}sFvGU-jwa@aMD)#5oIxEWtS)h&4!rG<5OmgN$gnM){>UtDjHi^R5$S>_6^} zu|I|T{qE1W_cx2W|7J`B+htQf(go=U{y6sT^2Xj4buwe_-L+YJcP1a|;O^Z?%ssOa zL#|uLty{M;Z`97yeAv5VIo!K5^eL+})?ZxjSnv5g2J?F% zP@}%ks@RGJdG_dU%^BE1z%3rXOFf&<+B~?#qgbn zR;AtD1(_QEJsF3l^EmXjWnUa?xo`F2r`A6^ZO0*R9niPC{d-QeQjSFxeZJ%?I^j=? z4K|Anl5t2IEhtLHp&-jNhUYlM{&dQYL;82aqMvbj)UosB4Yuo9% z9tysD*q__|cM#r`6EJbnf zi!gLV#24NKgGHG`~rU z5vS3&`!jk^)0AtbcaaM~x3Tw$Ym*P_gSM_Ua`ZQJQ|EIDsZ3vz?_KCM_I_2h;;FYSAJHewmHktqjyk(V~2O=u(PPTS$S^o|)b>xhR9o&DHRK48MI5w1->*x}go z`nuNiEHB+}c|)#ir!^;UMBUJqM(n(0@5~|(c49fSlPO2COT4B1F#Ws7jjlsh#rWji z_Y2UpIe~4iInwKw>O4I?pTQW_ZE=H+Vc+UD=6u?olLz5VoBHvX`AC~IX4=jppG{MZ z&ZW(1PQ(Hp9I{NDq}?Df=%SRRIZII-{2~mU&&*hdxD~1PFL|a~&BNew-lwpad4FNoDAj}a&Ktm=;Z^E^YcWPgC*G=s!zc8nx#O5aac)S$e ze%MRj(f8X;>mFK?9^dKuP2hTa&$6)#cYS)(p0AzdJ~Oz}vuE6X+J|pzf7RSR>CaOs zZyj>!wD5yx7okHwWPu+%xQ1NF()_tww*N!N2^T$@zUuIgZ;oq>kl%X4k8QfY4~MjX z{NA4ZgWjs%f`5&`0-<>g%9nJF--nwcB=iGnRmtzeHEhHX0x$-+ziXxK zz0Low)gASYcfA=oM{j7J4@>1J* z_BE(YoSF7Yihh+#w{F~YA_~yFh;tSWStbrN2s!zil53)=@~oO`rD*?>vzZX~!g!Y# zI`*enAE95dL)_1*IkQy%J*s1t7xdi?(o;X15B!VQEbEc4F}e$_Q?o-Dd?J6DaU}JF zs^<-FlX3tIu;0JSg~gAIX4z-|)aq^iH<{tLWR9WQg!*sK8SHCN znK(0T%Bd&4t;{h}9hEkO9SQZ=t|>gp93zBTIbN|pwZ|)phqR>LN88olz z(5BqGh0dXs=X0j^KIvpG7N8I!5GL_vA+t;8pab{YcgT1piz44j%Z92~Rw0o}o{=>i4{-KT8^#8u?BDb7f z-hafVJ&GIJe|qpcMaNXiTZdd4{1*t%&O(QRAPfB9!S(SX7qWh)_;de!`s&R;9Nla4 z=Ev4|_}5vuJo@4q!K-%}7lc<7<^NUarsz17KP(xC%KnQl#c_!J>69IZ9&UIXis9vU zZTD6cKTwc&0k%)pL(_RZ)N=Cii$DLpLpMvGdXx69j?hOE%pBtU`cTr@dGAZD-ELUDmC=4j!Tt@sOo$zlK8!VRV1qx^DQ=)ab%Kw7sg79Tdm8wFQj6=4u zX7n}3A@-+Jb{u-F;c@7Y)Y7F(mvyaf+@GyV#DfJn?Jqq2J?W3^JjdOqD}3?0i(Yo%pKibGx%aqZgSQU3H2A+SJfK5C zko6+r|9`@RYsiHx&7b>0+i=I4doJ62`05KflwMwaghxUYTohU*z5HMECgV`qB-=oW z;}HAPDLW3msNr$w(74B;9~NZVwnH)wP3Ljw^QY{*`86+n_2P>^_C3#hf5YEqrEe8L z?Cl27Pb$a{wr^VhnUPIDdJR^_X0ZEV`x>++&P=CL|8vPR?LXMG<@P1lw7BEWOAdZ% z`&S-%w*817+~ST)Ut0Oc+i$*nyY_n*KIi6p>yS%-cF8Z(e|YbU(rb4A^(GYb&cpt& zY1P1Q(z|y41N6D??X*|=sP-E+z3Yd+LEUl#PknLmxr;hCKYvokW~G-`AE5!6Wru3G zD73C{P`#H>w!ICl5;@duxG^Y=dO-i{|f`;Csw zOO6}cy7hcrKa^|+uZ}7w2p5DmSL_~u3*NieC1^Xo%NXXn}1pfho1+Rh7-S&hz>m(!ex1w1%pnK((iL1NI^ z`XDa~E()z%uJKRvq9d9a-yR#2dH@1L^6jzmdr0h0Cu5z;ph9jAbX24|X`dXE?h;V%oy#wZ2nq ze7m>B&J$kn!A>lPb~5Eic8a{E_W;@&oY%zpF;yri;YS5GYRW&hxuytjK&Z3bcc$g< zm$&J*xKPKiZ*?1Ed?lC$BTkRMW>zU}=h@dFG;wCy&ZAJ9rW&0~o70?#1w1%pnK((i zL1NHFDNA#fqB!_P7&^q6F|TneQte+duTkR(T+aIx_A>8JjyJr2&HU0BF|WZfLO!+A z+p|J`mSO(Qm!O>=Z0~-D$1EJWPW5-iGJ0(2OvVVhE@zAz zl6Hf{arE(xjxnN3GDawmY$N|M2EgUKPf=~N59AoZ``64bjS&m#9wU0Y`mzuidl)ao zF0v%hv`+~+1rp9Z)AP3(s+n%yQ*SKT`CtFX*Tb$OayD<}JiJz)>CIPV+fuzWDz}U) z*CChw!ssnzd!^HH|I?u$3gIuuei7XEyV=+g0D zxvRdVq!t$3w8w+`-P%;jTL-tFAN%O>Z~Us#O>x}+^()&IPbzow9-mln{iCyQ(tUUC z>GiMZxc8vfrZ2kpL5=h3qa;MZMWI#F%l|d6^z*a1Uo<+% zCTYJua9H=7jN`FIF3s{O7e5Z-SN_CR%iQ;*7?bMsp2f?DdiwiP{e5+fH7I{v%A{QE zSNWB1*Vp;n0Tp{QHVv+qV6~%EtV=)LS7_1CELI7`xL^J5cTH*^C~9 zBdH5K6>oT~5U)H_S{R?2^pll##;51F-mUlchOIq5jENt5|J%nF?B?K^!%}$mva8eY z*wIN}v(vD&TQjg7m)dg9%vI@9p3btbfi`hwI+a4%nz0l?m(qn!P&aQKa_OP-j{$AY zgttHO3~}H_Ug~Wx{eX+x_s;za*M02%^oG^DY*Ko8^#QF{Uxf+AHOepY&GlO{uG8Q% zHpaLHm-9YFMa@1C`7+N-@%}aQOJl@cjgAqAKy0kx@j|TPJi<)-cryOQ7tYV7=NOUK zW5bBg81cnd?oqJEi2HB2I{lKDI_X)joBS~XW!r9sE;f$3VT>r(A(#GZwsMU4OQCX% z*l#B_MqKla{R%sO;=>)iXC-5VZR5$fPWJf9&kFE9h270QkYfbzUo*cnM%>%L7;#=! zeOESShyS=BVq*CCYapB`OTF{XXn}1pfho1 z+Rh7-SxKkr09mfQoaRI<;K3ow#7R1p68@s_SN z^*({nUE{acc9e1e4A5^ExiI-)zkOw6P=>#KasRRo)R}dl4Au?Trw(+T+n31>)~i2c zjOzI~(tZK@nLdVoSSy-*%rDIY9%^hJ5ZgQ3s8B2ZrBXjB$TKdxB=Z3HDwzkMMKIXo zpnVNG6KAIFydasCbTe)qFe^3ne&=Li@_l)>$T(w;QS49cF^XlyJrAJVT5)L{8n1U8 z8gK_>d2c)RXV-sPkn_bRjYAxVYuRVA^PT6W=bq(+o*Qkk_AG<#hp~ZRQW0m59X3t1 zYvh^yX4=l99Gj*ZolBe3oQMTHIAobPNxMN}&_yXrbC#kw_(d2xB0jGo>(RU9VpeMF zR&`&@k>!G24zC%z{L|uJvS+FGEc4j=hdFn0gTaguaF`hh==_qI3G zSj)|kasYYjePojlb+F&tE*f&(I<88e#dY9#Kpx&lW;rMme5M?^OpzC|U>o+g$TMxp zvbNY|30-Nd|7pWx{hERPKKY6I$UjRDb$!Fn3i9sVZpoSxzMSrB&PoS!%s_00AiPae z?HYNeTr+LwQI1Vhjn1XbX->of9vrevoTS|#G3cU{r8!Gc9Q+~-9mdQU>&K)XfWVN9 z_2sdi{b|rx8uyyBsQd5HCFuy94AYsJNSz)~YQAdC?xato4#yss{ z^0{_czxcPz8#QFwHrf!72OF^r+Q^gxt;k!N8$Z?H+_(wf`FWxMO`8*F%jQV0U#j!l z>A4S9)NOHG$FOfT8=rOYYtsa;wK(@H%^!2#d|Z|Cbe4T>(|Geyu4XJnVR0zCb?*ZB zbD9}(&cY$f#DNAOCx620)yK_=glm*vNx_MXLQv=EiEQfy;TH!d~Y6$?=Bw zubE#OBYxH37_m0nx3+&U73V{I|67nV`?q@M-OxRbVA>}Rd2z{b{x&_wh)kbak96v| z))-OlEA9S{eW;B$Eo|r6*Pu0VX4=l9T$`pEolBe3oQMTHIAobPNxMN}&_yXrbC#kw z_(fPUMwBeNEhM;JVt;C{muQ2y_fIBt|D8X@+m8o5yGMHJXY)bNQ`JyImFtQpjP;eD z0QO&P)_Tt5bH@*#(FWx070BM<92mcjL$DF^iAr4MNn+6XiV zv>noMoF}yyIzy%%pf4a}*a$kAe5k8^p44W@b!}msCoK%fgPm9o?PSW4>=b!nC+Lx} zWr0WnebVWZUz!i4zFg-!(L>p;f&QWLvm>g^IQ~CbkhXHF_dbe4E@ZGx#w9Noac0`iqg;I=0q&u!6D1U<%EBe*kEeD6Ft4(Wq_@#hGfmG#(=z7iT$ZPmePQ6&xg8CQ~ft% zmczb**Bt9f7o;EP;~49^jj@nAm@&utZfmSJ`A`RYtRFVyx^*<>OZk92jP)#sW4$Q{ zdXbl7J^NeanYQFuKWdjHbfvL=hla=c(z7E&YwP^93lulP{}p83cY1TidZU;rpM)=y zXGcso+2gW(4O$atrtLh+wP~u+xwJXWiCDmcLzan?v>PM_U6iskXDNzt_}!Wf##rdra8N!V zZ;kaPANu8E&+F@2)3dy^o-P`4IRs!+eoi5lN(h25uOa9(s&#kT?B+o?XMY0+)5O~=p~aQWB=$KG|| z&PV04K|7m zwbcQoyPUBXj+P`E@qvkZ-VkGv9LEmca+)jPtx~Su7 zb`76b{#GmH^INTUImIulZ?!U>tykx#^bg5{i~4)5;R`NNVlFT)SCkv}TdkRqaNlZe zRKN1QzF~1Hb->X|@yjJ0bieDW*^@(!Mt$LL+L!j$*(v&=?HXlo#;`Z~?UVY?p|$(S z6D6j-DL1UW^OuCPH)b96w+7V2>|2Arjr&ALMV&F}_X(&kx>SyXAb}kjkdHYB$4B6q zUz&sMS??U|^uBd#vn!VN^eyepo|EleIwaOHe?_|f-_rVdLHZ19Jp$dgwE$mD^*LB{ zpRjK+?*&K+!kZ=d@tFCPLtIq)AU?`<<>fRLVgU~hStd@>Zjcyswm!&lF9xQ?&la_^2EKbls{ALCuQF5-B-fifElPC>8W2^ zr2ww7v_M`?nr|j8>gvWE{{c$U|HA7ZD{J zcLvxIHtr6{gN>;pZEVVceDc!9v?*=uyiM7dwg*of`**{J&X8#b*bmTV*cf#+`H-J7 z_V4nBOgB%mQ7`a~1mwX+EQ2;OkYs^fd5t90W)hHFQ=O?|<4T zW7){$vu(7&kZIef7?1}Wu?*VClmo5EOB>N9v=KF@?Qk8(e)+heGs`ezln>}OY=mo* z4|cHk%O?!EuASDLype5bi=DUZou%J-XF0T!DMyM)k+-xCX^C|m63g3QPZywRa{}93 zbEMZV)!8^bpJj6jY7A=8G3;C2#+VNiOnVWh=gVeRDQ)N3*B~@;X4=l9P@AS2olBe3 zoQMTHIAobPNxMN}&_yXrbC#kw_(d2xpJXrCHNv*=4`YTq2I>0~bvEx$jw!r<&HU0B z@$!1dh%>u->wWpWhI4*Vs6o&`wrQUR#Kg|(Ts=L4k9@$3zbBy49ifWsEAjb&azh-`EjM%T!Z9B_|33);<_? z-_`++&P>~Rlxx#eqjPCjz#dmnmCG1BbFh)VYyr!pqHXrni zV~;*#tfyFaGsgZKAaCvanS8LH{Z34$A(!^$_}gvg>F={)f0X5L-_MjI*(vhUPP7Z{ z1R4a|59v7eM~4laA=3_MFMv_YP9`7haD2~jc7?>WMc$C>+R505AF=a<7ksc2%b}f2 zIg*_s?=g$zTUpY`oa+bNvzT{C9{mBjTH%<*$GBgqOS%8!dGCj1{<0wZ;os}5dPYRr z;CME&()ZnauRN<+JX$0keZ_9S>QH0L9&%j}3m8Fc@%Zj1NPgSm$9KPbOdu`S1>kmn z^4MEekFDSMZ+}1g=2!jWP1n+) z^9Hiah$)ua&^J&&>O=dry+-Lry}`e-XKi=(yzJ7I{pa|~Y6PkJh)N06kNQx*qSlXk zoBH+2w>&B(HHvBT_G?-k^`k!2ue(jzk9tGD-mamZp>->=OV{+&^}J-Y8lZ3W%cp+S zhx$4DEB&aqSHG@dKUt07(C_>4Q$OlM{n~!6?kno;>et`5s#ylam{d(a>O=jCT0iP- z=@+{JYuz6ueWViTOS+#{_M_g=kN59DfA4vH{cGd{uS-|Y_p5XrIE>|fZ1gYnq5Yg+ zDE+8+kbZb3IF5jMhMyejM}4SY_y6klr|lS|AD)?xBVZ2XCx`k`AL{4maff;b=@-{8 zq+@UX>TF6Ef|)hhPH#V7Wx>Tb@< zYriVgD!q0->Z0nCOMmR})6*||+4J%ZnBrp0&oM8(^pd^Xk&kONXU}2&-LcmzPPD!i zgR*imuRn3o-m~$n`@4>nv^&qoj9=32pS>Gw{dn0aSTyw2S-X zr6%)4Y#XFkJZM`c*>1)K(tx5~&l_0{C7lg7{KlQ92gM)wu=`Cev=xAJ(8KO^WufJI zSLT&5Xy53gO?yLb{w2TO@p)O#ARlHl>xul6vVH4XSN0FKu9AiSPKpkbFzWMZN$)Q3 zuL{)L(e}Df6oKA$IO#a4yDSEs+qQS#QSA^SKRTO_*C!o!%(`XSc=tUh`!@xq;)^%v z`wBkC+7Ihs>=(6USGnyjf6b1r9k%KqS@P>)(=Wh>&>G`7wMP#D_cI=k zI0=nefa5p&bx4DyojuCqcTN!O*GD7|?ZfY$5OnNe;@fInO2M5g)i{H7ygNN(h7}L= zuk9J?>2G-7sqMhqJ?954D^&Sd2Uoj4=B>^4W|t2wJtsTZ&|<1+&11)JTvqyRl$_{5 z`@BhfgfaPF9nhZ67A0u6!=eqRmli-Mr8{&w?V=SPY2YO;(KAgv>48VOgYDR~ z7uxYG9gvTP&2bv-7;Si-K(#P0yJA(=^5{q5ROa2ywqhj|}j;O1%o4r^z`z~Sr=02~5hTtgoGfpSc} zOn<>`ph4fmv6g+$&cX-YpfGQF|6pHsu;F`e!t&XOp5vnYYJCsOZ`5a*+r4dOT$hhM z!o7kjFZk2XIH_x(N`BZZ=T`L{1k$&B%iCsXpX0Q8^Sf(5M)6n+6~&n*%H$(EEoAKOOh@R=qU>^?lH_?Armot2tHYQx_SVQGy-@b z4>aIIxdo)PJq{J6RDBD2PpMV+M~HKR1Kx~@cj<)2H~enu2Yu8~qS^!UO@2Eca|5o4C0VKu+B|sCf1wY-eT=qL+DF*j z;66ev=Sf*n!*2^wIl|M^7Pv=YhmqI+)!jGBe0|&8N63G9datM9d2=m^`-0c#QvrVa z2*s~V?|QS2jHQ|t^+w(8;B}Aj{N;=UkorHs%uWyBlQoXRoD)yhKEdd-8$Io)(`ZM~J1B5Y-sqas8B*`5 zvz(S&%I)ZEK~lfT-X}2iGX3S*C(vUl`yQ;{CS#w#dG(1NpS2vQ=CCNgTHh1bKEa0l zyybW5@+WJbV8Yrb7`NIC?ZfrDn8jTWaeTlSfi%|OSO)-*#yY%_eFEBr<)YoNEJ?a$ zHe;WF_Lyn=1e~L@Ppq}nWS`XNK7q5@>XSC8K54S{30kc3J9YV(^Po>Q^(*&H<$VH^ z-_FO}m}_3NN#rBc+$ShDxK9w*gK|n;_y6w-#zjEVY5iEh^CtcbZQAy*Gx~Dw6O6A? z=P``7aN{`eZ&DoY{R4;A3>>(;f8e}j>sGGJ z4$fO9FSV@DsuUy!xPu~M9SR}`V6Tgcf&*afZ-y;`1K4wNM<#(Tn8cFaL+~zG_*TIK z?E7?I!2xXieu4u?(VoyIIDk$6TEPKq`~iXk*mC9z4q)RK2o7M&IZSW>8^2I+02_a# z-~cxMD8T`2e7oQPHoik}0NY;~!2xW)bP5h&)1NIkfL-4ef&iR0;%6*?@^k1nf~(ZQR;a- z`<}_#qwK!N@|o^?CTow zmWy_S@d)K2AeJH0-S@zFi=h$sSi{dUX?x7HJxcBmuuq(vqa^F*`6JpRWCuRW^n(WXC=W$x@rK_QYRhw;{D`No zsKwD8ut(Xl{wxRYz&YRAHuos=*G%udI{2OYbck_Z@EUzIz;BPT__gU>Z`P5qRI{Sq zerqNtzkjkv31d|WuxVxX*&QkU9Fy#9bR>I}l@^*zOlgl&j{{NmDDCx6Q4|N*_y+_B zu<_%91K9W{1P8G9T%Hmfz{XDq4q)SdBRGJKe@1YCEdpkkkWLR^{VB_7%w%(I6864mQ zFxN4|UV;PI_*TIIFlLxxAHe}^e7$?ew*Ci*Y=DiQFF1gWUm!SujbA7@fNjqX!2xW1 zMsNVTUMC0+VB_B;IDkEloG3VeO@ET$05<+Df&#QfJMXhp^VG9cleI@VY_Fp>me)}^sVD6-)%GZ9H||lUO3y^X zJA6L!i4L8X=OGdJ9HomF9IjowPM7ec2VUTb4z^>{UTDYm9wpZRXvb*7leI_Lveo-M z?#Pv@9ituD_okpqA+9~jjI~EOVzi^Pr8Md{*?W|xUZ%f1dz5+}&%S4}_9#cT^FGHo za+UJgWbILoyxd#2ge88Ur5LO93}0-a?x&B zmL%OWWoV0ikCOJ7X?v91A7Gz2S$mXuYit|Q?Q633C`YXF$Bp)lKH1c-+&7iyOeVjb z@4j!T_uJ4Wk&l3REo5VUj`>T)`USq9a;+a=@6q0^BR3Lz;BN-bM5r5H|xk)s##HQ)ZGqF zHrb=JZDL=;rZ!Gi!5wPukNJPHM_Fl~$;FiRDD^l{Ymc({m-!#xB;y=HwP!6AMe;wf zKw^REXo1qa)c5PvW6PeJig}P6S%j-IU~3*uQ0#qniE7` z&l$N-;5XiuON=iy@!88C#+;p@Wq-9tI9Yp?TekP^QI0&S=FpS1N4ddXM{O$a6Xe7w zw9i!Aqomy?dymqz7uvDCN69q+*W;75N11=P$zkFscuZJoM( zP1YXexK;j$(Y~>dXzEw)o638XCcmBUzU!^~3$#h(Bh=iZ)W2umAq?bEoYntxE_e_+ zhnT}33NZ^5aT5W1lr3}L=RS|=Y}_{YDD&4%@4Y&-6zH)4SfR zBV(y%MZNvjO!+ZyJ12j&*pyw3ZnE=GKeJ4X!+>hflAtcN0%ZEobVv`qSnz3qj#<{X zW`S<(xp9)*+n{eHO-rv^sDL+9O7T`Vt`*mc&()K_yeAAxo&?;{j9i@IZ~VKANRz-&!$ z=nEt;?cx^;g7i9F!jm3&N#{z>I+^yGC7Jd<0>^32nI~%>VT;v{#*KC~8P7W9t$l=+ zJ-ur}>NnZ@2&P`9zs!9Ej zkLdETRH)Ww;`+Ay=yu+HgmJ6Q&^}zx!v^pn<_;Ji07%FEtP}0Ra#1GBl4R5N5onK@ zwvWI$Jp07S+DCBiu)Z1h0@Wu?);>auReq-~pK~HpzjEJH-bXO`?R@uHC%q;{n?ycB z&3%Mxiw!;NbWjt%8TZG6t9sRc&L_@^^gd>rwmqNw;y2?)u2avG7H{{iuTZ$TMwu>Y z_#L{Uf1=J@U-|w<-3`-wJ#G7m^`{MB2fuxU%#G8#-t;YF(+;RJ0eCYw?@E57&a{VL z8aA!O;~A$iB=2KZT4*vc7&F~(#_4gO`m;{U@w0F452|KUYqEVqt*5TZb`2_h^{!Kg zrTzZ;db^|hSDd%l6_82|rBaavq>k?GTE04UUT-#a@DZtl>kv@-HQ0kw^XJzi;H0jh z?4bPAy_7wF{vmZ}a9rOxOPBSo%cfRmQ*~7V0{REL`c~m*ZR@GRvHe49TTdMt?5|UU z?T+c{>+A1Zx~ylFcIN!~2Z=QfN`-F+L$6;Zo?JJ8hNOhJO{x(Asc0>c8t5wEw+!p6 zf}wsi0lXLLbmKAd%g%#cDKVm}cpW!WKW*UJzCr-cx1^DI0&iy^3mWYAbMF;Afb((A z83pCer=1sB-;C39M(z_}%$##_AQx9GlavYvIyZ|~is9C=~6 z??IcPeYjUBsL9!*)OKOHXg3&-u=Ynl+>B?PXpfn;N6GyG_KDVX!nLXSk9|_3ziW}P z#eBu7zzA`x;iYakw71@uBn~ANxsqfq=b7 z+3~6)uVJ6-xxC*!(U>Ow z+|J!yo_D53`X+ZD!THLSp7J|;Rr#3fOvXM!Ue9f4oz54R=Q@{*6KEgoBVbHULSlib zYytE)TcoY>zQR6}*=}V_82iY{m#2^VL-*L5+m0W*?6=Qt8XMX;cABI={hGVRP`5{4 zQ^Kc#*Ys&k->&J?f*;dzm_bCG zrQh^xXKV*aU-`$0_M_i$qr}}~UlSRiACR=BNrPsS=nnjoqW690jEp@la?TSPEi(<7 z8lMJU%S=Ni#>O>LmMd4KOM1ze>EgQ!gCFBC zV$mn9^%OlOHt9O1rH*6BmpT#;J=2;V`omW3u+@(1Hm0TSt~{xGT5K|=?Z!0hL;5u6 z(H;&E`DQ2XOD1Ad5oBhJwoTuhds}kj2mM_ zLGCX{>xVr;tl4;`uq*5=u$utJ^WF6|P8+cggY!y+Jq55g^8#E*z_*C79)6(!=w2iM zIWHF2NuWgl^7a0NpDE zkiVY*%6XLl=w2;=y}j26fWA!t^f*reJ#_J_Gs;Ar5m0C7h&qEFb%u_pGw^1eQ8wxf ze$*K{pw6%X>I@xFXUIXFp$qB^IjA#qLY*NWb%wlFfm(G&9Z_e{n{@^rbw-RjBabm` zg*0Q(;TpC?nlWsLYuFlT#wZWh@CDM0Q3kGC1&~GzTc8}os2|dZQAd=67HZy z5W`+bBZkdT4r169X~eK?tBzrRq!F_W#AuT!2QkY)4F91V#4H0b{ETuCvkb(zCr}<@ zlz}=SMteaTG1?5uL5y~SG-3eCL5%ihcegg5mq15Z5!w&I7}qv(}N8@*1Haj-Y+8@BWNdhV2XO25GcC1o#W>69F;W zFal!O67-+GB&_|;GLEi)b4($PH;Bk!@JV*l| zgMBFE;2JT?KpKEDL4!2P#WiB+gfsv;f(B{miEG5D1JVHK0UD%R1#pd+eLLz5{cw#m z?0{>;&>3m=tGKrNR_F}f*~jAA?q{JhbZ38yYrD^d&d{BGFRqb>A6s<{9g&7^&;$A) z4Zq_W@ob%DpA3EMetCPrQAg+jee6DZJHb&$=mCAuj?fNqjd+$$Lr2&S`XP;Wi)+Ml zbQ*0M`r#UBv~ye|hR#f*J>wd9+!yTAp)=EH|F}jz?j!c^&>3lzi!x9a(zx$%jTixG z@SzUiK^l3uMvQtPjsDiXuXVq}`x>@BM*sn|YXzVW!hitE1*{Q(Z2|8TKpOzvDgoFE zWv>uG`LJ)70Lq2W{zCwI!pCnHK)t}zDeyW0@SHC2dI9j9B5$Jd;0-);< zSS$eCp#qSN>!SsZ5C9#@JXQd>1p?3o*T)GQE&w{{_(lQX4iSLvxXuVb7too*Ia4!HMWgOdb+n=b&pas3tn)ER9JHd`V9+&ls3jqA4xz(#0mu<@w^z#Sj} zy>We-0Bnl3cDleB0>Hgi0D9y4Oo6=wb`|IpI7$eF&7wGtQfqxeO?ll7N zC$8Ti09~LX+Q?D?;9e~N|Ks{>0q6o9(WaIOoGq}Q0NM+#mkU4_=!iC$6#%YP0PPFc zD+ORb=!iDkEdbm;0%%jX?h)8gV79yVqh9H>P~bMLE0u_&?is zIPkVbDEAK03o-No{_LT*3g15MC?7G(1->w`uX~O1fk(N(FTQQU!wF3Ur` zfoHiaZ-)bqTm(GJWqGI{@GO_*p?<)#T$cBrLl3(0Vdqm9UE!9G80CKR<9EBZ$Mv1_ zZd-&H zWInH97sw%=c4NDv{fNgk=*@gwv)>{f_C)_qdorJR*w@VGHSJ73*b{WLC-aGiea(Dc z)6V3BJwZo%GM{*kN6hCn?M%E`f5>CKh=-kkhaC{}8u@7Z#KSMhrytDm19{^aVQv<=d z(OZ7Y-sSxT%tcN8pikVpOt3%7G4*IxIme1%KFb7?(Y`VjbLWAWQ|=;wdF-A7m|tT) zk9ES!1@;lZybyCt%waLFoiBj-_F)28KVXf53D?mA#|dNv-YoDIfwu}^j*dAv=Gd4+ zpDnOl0CQZ-VKGO=929d*%pr#b-YxK6f%ge~K;Xjy9~Jm-flmosB=A{*O9U#bt z0$&yw75JLKwF1`*+$3;|z-2XYt-vz^CrL#|Wg_ittoJ#&fv&#gUGioP-p*Md65|Wc6-2M$c)yX8*U!oAD{6KK zv;AY)b(S@b8?kd`v2^m34m19neRcil6|Myo4wh0L4@uCQCk}j0kvJBS-X{; zMo|$OMXf}mCQ;M4M3ZPF#uyWg!9;12n51KHOH9%ljTrNM%uHsId6Rk1$s}{%|99{C zs%{m%&|PJtrmp@tr@s50bH4MP@0`0(U{v#gavHmv1ZI zx_wpo^0L*Nw{F_ZO`#@k``vM=@H5HBr_?pZ>@$6{ukf1Wa_wcul1^ti0GrO^GRViP>t+o0OO=$izd(6JrwSoV_c5f|NUA8@qF>Rm| z(Wz74^Y6!n^~^rA$L!0yF0jw+ZlfLB%C1e@d(|o5I}6)Fp7UX_4f{9`4wtJd7Bq|e z@BPK3Z}wY%j_wNjWBsI#lC7(juP)=RY38@uj#;!~{x*BezS!=-zOdcv%Qk*!_SMy6 zv(M}?`|>JWJUBm6UcOsie$D2zVq!9c9~=m#i;a$4&WW*v!9XkJ)EUo88#AanthkWgE)MZC`Vw=3l$c zpiTT68JzO{Z+D$hseR1Xy5e2CGP*_n{_Ui9(u#i-{MH25!d>fWDO1148=L#)$^WJ6 zEZd5I(Y(KPu_N?%uCO7eU*eugt_H#U!+YC9&B$z;^*|jSV7^x>RxGZ0Z<@Gye!#c_ zn6q`?L5k-6d`ZDSwfo9JQaFF#W#N22I$TpA59RY!N0rs1a#iee^;CuGv3$Pj@O7vs zl(%}SLiSXJ>Zx+}P!D;t$Co>Me7WnFUk~kv?4e&)kL9t)*Kzh(-mjmsx`sOF>cm&R zoO)%O+3d?hZH3F`)26cleSD5>Ru6r&dVD$K#eKl=I>7qe@V(LC+=Ip3?v=21vu;li z^=%V)k!?9|)1`NE8hb2x?XC>1o#A7Asx5ZEJKgu`@_uq*(*5qr(AtS3%s$>{jyfao zEgOCUj&;adJKDIIi0j{TzaXcsA!F}dlFLZKgXQjaXUt}E1pqu;5Jz?nK zQtk}^_lc49cKJR^DbG1Gw)Pd+*iXPLq**+;wBiCt{usSkbj(LQCchdS{WpRorS`|&&F*@w-@a|QNb zA98$1nOuPmeIP$XFbMFVPlT555FR_^?~_n>yFKNli6Gj&v*Ko zD=aQ7Zo+YaokIofFvheyT$r3#7$)d1a>h4Lm>kD5#flrSGQ* zlTTINVgxzkJ5!jPevKE@i#%5p2;}&X@jgvZFXM_Y=LnM%3$q3FB4;e~g~{>PsUlY( zC*EcV|o_L^Mlmjck~yzt)un~q*5~Mw>Finb+hw{ zbpKw-{*-I6;{L(4813Wdy0%O`Kd(t?ztXjjUvkxW*gov3|ELuFO)ScV>pk9bdsWV! zK`I;XKl6+^M{E$Y#2GQf_~r`cB=e5gV~iPB<_R$$74t=*SRfXQWujPIDprWqqExIG zn?cK~ zxcYk^@8_f%!uWGco>?-k_Uw{14>%^JZjt9c-u<>dT1x*cZ~Z1s-6H>Txqq!^x^<pErebYw*G{rHGm*DJM;*r;tzNSyJl@|Je(!}r5;w*8O) z_qsTicde(jOx=%A90}}V+qq4#L!~J-U!|86s z1HQF>bH6sIxA2FWvx3c^zm`WnFC_Q#)I+(j{lpdLi0mWC?3hVRog_F|FIFK@?#RC&#nybdmKJF9ZLwsYK??ZiH4%$34Ux(`r`?^9O z?09AKm+L6bnd{o@UQD|28;O1)={vr~TZ8#T`}NIVYd>9IN8EX-^|Qvc&$S-c3UzIn z`i}F=Nbp;#)=ti##8}gR^AGnNZ2mHK;j#7gTt7??9pVB#Hew)GskO&(WHt=Axa)*<5U{YuxJ8x#0ZMY}dFc?N^4z2mgib!{=c0ttM19yw5+LhT@KWY}6OO zUVJgF>qY+$wELB2@Sp#CD1()yR7KwbUy#oHQSf_F)j$8oyk0DP{^Nb!q#;bYW?)?H z8iI8RYP(*H9sGFr+xlp!x_L~$!^dm(vqfG@j&mztUrM?9_MfPI^e@~t#~`Thc&^%sVM zYN%CzZdNHnUTNa|((-oB6tKwVF{aINJs5H4LU@m@ z*tL((a`oBlYwY!4xZbd@{p&$@JhJ)A^;mtIU5}-EJ(#yW`FBDqU0-RR^TN6|Yd_uV z!NQdGYh3$W57sx%oRbh!z{S{l7zv({GG6eFywR8gqUxd?oojS-XKEMyPUJw50)K%Wid;Vt%ha-65uQ`=|C*Cs#F zvT%%Ji^X|;=i^~t)Rm{M+V_2U*Mp_m>%rPxUWb(P49+KQ-L~^dVxl>=)bT3*eQ-Y2 zY}bRXJ?m?w`^?d}Ii3#|rktka#w`D@1`o4?IH&+J@`Rtto%ko|>)${Ccn^ z-RnW#5YO!P!J*97M{SkP5A+@I1?f>Iul_~yd9rqWB+r34SFLZOU+fQ`E8BT;ZP$a< zFMPbOi&DqQ`fonK54BwnMt<_~?ssYog#AFD4dmf1Qj;9#srA(Mnew&CPqZu?vq0L%rwWAI-bS2Yf+V_(JerLE*2H&!e^LBYBS8&^bE&LMMDKZRgRoT`v~?^y7WqlsZnp#t?TGB_fxMIZC$tXO=6}ww$$+~KHALJi>^KEYo+_#T-S>ccU-mhYh3$wy=eZ) z`1PV|C*AACu>HhU_&0-rVPA8- zXvZs?zs+^Mcr@jDtFY$=8eKAG;1@o-=kFgIQyV z368_o57R@3{i)ZB)?Q<;7wtUG=3;YQFXpAr1?QjUx?Y@_(tc%Ve7LR&+vm?I$ruy% zh0BKbalKd=s+WCil!;$2zTedA#SibVu>bXtzAt`H@OPlGHxpZ_^TSY878SXoLexC* zW&eB0)o&!9M{Czd@*KILb9BZS9peBrH+&J-+X`{YP()6JpA$Q zw~ei(VL#Ak19^Ch+?D-3ldwM;nJo{8CG_EkIk%b&g+9Q zO#YYl!8YQ7&*5^6W$N#ln7wAdt#j5d)`JuJdnRt(HT$f8W;gbo$lo)u>kRC|zsLNZ ziM!6Q`yZUAHOCg~vOekeOmbdp=HD~TyuY#xH;{m&*#JCpMJ24qW{tQJNY~Je65NU)~;O}&T~D% zR)9Rn`uPIYanR~fxr6L;^&AYf;d&p~Go^^m6?wyKal*2&3WV1I)@Pmr)V~Gi$}Hw~uf*<6HrI24$e)70Z9;$9Dj&Nj!r#K=-emX~@9zx# zW8b|<_irWSy_)%ck8voS!1&-Xrk0+4;=%8Sr=SN$C%8 zJ%xcy;(#{V4jy*E&QA0QPxw}%}@6wa%a4uxJ$>5e@6e;eclnTUFAbXp3Ca%^w3#cgWr(0|%HRX~Ouf`eo<7nBbzu*> ze5QVMXp?=ki=EiTMxOf6XCLiT279OzfAJZ6kg*>>Q=Wa;j67Fh5B4F)kCe$3=+Fo9 zLj-=OJUaN6ee{()wv)#Pw1qx%EvhseH!bxU(%Gn&O6(q1r7FW0*xMX`!!p)+tpD5B z)`yx+>-@h#OZ)hut}Ro4vm`burTtfvf6v712VYbCk05Mgm@ac=7ZbBS`yEjF89HZPeY#5a2Evw36dhRrwh*k|*Y`fW|2Zu0cW z=9A59#)XYJ#y1(d==Zg%sxCzGvb`BM^!x+=D5#flrSGQ*lTTINVgxzkJ5!jPevKE@i#%5p z2;}&X@jgvZFXM_Y=LnM%3$q3FB4;e~g~{>PsUlY($EPy{a>k9Z9Vw`HtiVs>gvo~} zZ*hYhKTQ`VC!Qw>>P3#9MhWEDORS6$v_*gL(JW!|Day0aHgbH*I3dUH#KQzZo%kJJ zO%^7frab+@2ITmT{vx+^)SiJ&$@s``G`t2E{vhn^i&zN(>1~E(g5<`q{u3%0w z?}$Cdm~myE5c5$nUlfW3VzF2zip8a3g;*_0#d@(>l#3l=r>GF|=fnS+_VeM4|Bc%J zKBRN;F9!GhWNJpXn7g00Rka-v_~eiVF{kaLzy4si#^RlS%;&?gmpl;=`S8%5W%G!= zW4Az>^WrZa&Eq0fh%J!W6t(!f6RBk~XV`LJ3z z!n{w~Y<$fgvoCUfV4wLhQ_qJBoA`V}XVQDAZFWy0-M>d2ne}?|^YMQR-4oDFEb|Y~hq*?~Zdngx zJ&^T4)&p4&WIb@K2RI)u)&q-(JFfG749Cq`dXEIo{f~#MX1&xSzt`e#QV3e?ww)?bxXzK7pm z_x?%+{dMw#_<=la&|mdQ`SE^#Rrf*cqrXmm5I;~)sK1skK%ainuTUO4T|fQ)THf^4 zMqHn~`VzONAY_lP@9Z%-_E>)py78qie!ry4yHE$+_%f#9{vLGWi{Jcyp^x2ed>Qv} ze|wF0@?_16%KJzw9A1wJ>MsneC6PFu*a z*_TV-=B8r9f4_~n>BkA}p-&oc2swT6<-z#0@bz80#DKMXFw`!-vUYvBYuDEg#gg^c zm(vbyV2|ss>C0w6_WbwTc!n3gj^X;Up=Xzw-=BECY|oCkmgPE@=hgLXnfhJd$bpH! zr2cf=XPSPd0C%f(k*`?Ixn z@a!Ks_p3qG`1|M&aDSPU`y0Uf1nBYn7DbB=@eJCO5U2Jk)u`?y92-p?Q%UoHFj9;Xd4hKv z)`+!YjNp9;X@q(`8>zzPCj2LoZ-?lmBLv9-9pFNETmIC?70>51@u)mck7TATI$mxg0)(Yk6AHJoJoy7n_eJ8oJjZ$bUsIQ&- zjIFfS!O=-6`>2C_7r}mfjt=t*IlgBfV@Z8IMK8fvtQ6QuJV?MEuF(S`= zg6RUCQ(S(AQuY%A>_1hYLu|0`G(o-0CAI=VTriiG3Syc1q5}C`$2_Izo-U~848guL zUH&YkaJE3_9G5RriY_tA{)GY^#-DxX3hW^+OGTN$N7#R!z#jayL|`9rcfKIbx(Q;n zhafhoi>j2z*s2sLS-sUhKyReytGQ z1o2KBv7i32-^LdEi34I~KImHUh|=(Jv!y=6CwZgabkg3rs8nb1aRhao^&+1{o?zA_Ihks6XdGtCt8F}=&I2n1$ zvJNAo3}u-g_?J9onJdW1qsKaej67wB3uKf*k2%fUwt2=ngN!n^1|cI)S>`A6+KxGW zm8V~AR~|7D1nSTWoHUxltFK$z$fIQ?RLmF1 zD1+WqLBGhO$8i-IdGuxoWaKG(hCoIc^iCD@i#&R>1TymIohFcxr|bfOj56qL7Wjlb zdYc3?^5|_8$jDQ6gFuEa=7_l>>hk$Y=Luxw3&iOH8F{wW0$Eg`cc!3U$jGC2 zjzC79vJrudGU%Np=ofkP&KAhXqgN!5k*Dm*0vTn{TPWxkdGrdS}YOB$mfYZ0vTn{TPpB1 zdGwYEWaQC1Umzn-+1>&fWzf4oFgE1TyHFq_k6y7rMxL_01TxB?*HW;NNADzoj68a+ z1TylJ?J1Dqhl|B>fj`J!B31}w&?^&+7kTuq5Xi`*ccnl^p0eu&GRmO0Q851G(c2`DkwHv=fx;AXW(El-nUX3FMT^5!i&B za_z-cA|h6Zj^b*8oN}GTH3B*1`ih$ba>`vNx{7NB<#viU1#-$=FS-fjl)F{T7sx4h zK>S=R5R_wXFnaOMSMjdr`$baoWL)Xn;=#Sv<$fYw7x;y8 z7mGClIpuyVUJ=MCcabO&$ft>i#SDR8z9eRfM+EZe;;Z6Rf&3xSO8itHr`&!qTg(!a z%NH*Tv5% zn*?&oJt@u*$SHTN_?bXXxgUrsfnO-MROAZel>44oFOXAifp}FQe^7i&TrTkC2yv$P zwLpHS_^tSjKt4>|A-*G!Q|>JBw)m2u+|%OA0y*Uh#XNzWay`T%ft+&Bh}D9zqTJcy ze1V*D-xbvYIpubX=LK@gtrKhy3CjISY!S#QcZE1fAg5e+u}dKTxj0Xh34F3jd|$jF zkiRCDh>ZgIT2Uk3638icP;?Ram~zX+F9dSR9TLL@a>`YRE5#u}xeLX&MXsRS55;1E zoN~qDM*=zJio|6CIpr=DC4v~B+>7EBft+&7#TtQ}axaP31@icHwENCRrDXVOil}e1 z`~B&DpDmX1?pX1kf_KMgzhylJWa|5Dk<*gjU8{8M3W`H1K!x{976M+^|Tf*8&d#x?Q`{vg#r@(T@vzu09v4rFr^NyBoH!(25Y^(acvZYE zYQ$UOi1>pzD*h<`EdC-s5PuUmp|yyJj-spRDRRUBkt>FaJTXp864S&?FEEB6=Jn073;-jQ7(3fouWeQ6)|y}xKrFED#iWcA@Q)-FCG_9il@Z^@tim$ z;@?;NOD4Xr*wD&>(~f`p+adY>lHfh><1bae=Ki|AuXu6q_WW&->LdS{-&ZW$^6~!O z9;0sG(<4=A$3JsSgOf$-7P-*AE2W(63;Wb$AH~%A z-7~e*8Tx$j8&Bp#>#yuR=I_~Nzpt1fCm&}uoFj4kx8p=adEzv6Yb!w}zpq$*S#Vt1 zzcKmvl)A>4eWq{rm0q4)u08f`+P-o1s_iQ|U(fVbn@?!N>@$1JzS!EpKC>J9PU!a) zojqn>^}4{mu-zx}`-*0d*|)zeu+RM1Mmx5ZU7PmMmNxPGis5o~#e&XcqZSWlzxAi^ z3KtK~@6>TZzpv=*G5hk?2lj>SK9S#7G<(dxYGlf?6iTu8z*<<$MPd2j~`%dKd7413$oA7U>Ys&98yXy?DRa=SL&e0^!_!cQl z{=Q;m`TsQU_Z1IamGphV$}c9~F&$7(Z|$B_+V5`6PPyk3z21N4lyxt+oyN)eC;NTH zdIlrAE9-%*2eKZ>df*@40~|N~?<>0Fx_w`9%=88M@W}hCs>Vz|Jg2mLQ-1j~>#K0s zq<+`tzrTDF^5;!X3f}T_s!GfMH0P=L_vIh`=^|ghc*7(44-Qz2{CSg82VDHdq^eN9 zU{b%o&Otwr$MXfW8{D^<gz%4ugWTacnd%KvE&{Z-w*KK*s_=aExSsK1skK%YL--%!3l{qyTV9?F~k z^C5lm>Py_7f{;DFKK9EVlVgwd_n;eJ#_?cid=I+uW!!zatN)-IU;K73G`8M%uG(XnLE~BUryY)*h_q0 zF?1cn^=17}l0S^SiT4NW*%8;WT*poj^=%pZzT%|hYuTI!6W5a57pQBqYss|V!{49$ zeZ`!)iEBw-6pA?evfoz>-W^({0Vx&3#RxG{j1qZbwBY9GS}{h970AaqcpnWpu>}(a z`zARiyObx;Fjb&8%`x4jrznLPVy567uUXpv9K~3`5bl3Rf>F`<8&vVuN2O3 z>6uF5EP-yJ<7}6nqZD|LXPMxgr3GT4;N2*Evq+pP=r8XfEf&1LwM3v#Io=P#X3DM; z>qS?=dtlwgC8D=LpE`N>r%YTSE*8thrJ_X89%HjYFa{S0>SuhYd$ph}W5YX0w7Egx zw@m^+ZV~8g6zE_NzQlGuZx-!EM?qQi7$?RDd$1Ru(>8UYkA2w9`iA^uf!{6{*xyPN z3+%#9;jIFfS!O=-6`>2C_7r}mfj!rj$ z9N)8#v82A9qL*MSRtoH-o*aR^ucM#RKBB*%{6N9JK`uX7DGU+l40ZWoO3`JE*-zim zVeHs9N>H!OF=C4HWGX(q2bosNC!r20yb6mbiDZ0cc`xgpy z7=QMiE3k*SEEQz}A7TG_0(n4cR9)j4UE@JKyu|nW`#+Y$Mf4N}p z(9Q-?B8XLNLbgU+;kZ&Mb}(=7*+zjcnFp-}eY{XmFEK~kl-(pQ64*toXoK0vY*MLPdQUdDht+C!-8{?FF$-p0fBF8F|Wf z7Rbm`mSY1l%AkjTPIh_pIyo76^tw11dCIa5BclvunIHI+DVFDR>%1#!@D1+VzLBGhOH&P%Y zkKQPOj67v$3S^W)Z>7K|i#fw$=h!RG@dJpkL(CD-_7cqj!!#MxL?}fs8Wfoh9fOdGyW}$jGBtB#@D( z?8yQdWzbtF=ofkP771kJ(K}ZlBTw0`0vTn{D;4;JJbJ4HGV_q|@{u?V6 z3;alaj5tpqBR^U!5y;5ri9P}uWzbtH@HKh#mI-9!(K}xtBTw1h0vTn{yFf5D2xR0h6(wSY z%QMec3S^W)Z?#zE@+*|C5y;4+w^kq{PuX<>8D-Eb6O0#m^sW%d$fI|qKt`Uj>jg5( zptn&l{^ZfyB#@CuZ?ix~p0Zm6viNb)9XG?r#jV=kTC@`Aw-MU}a(r1X+6v^m1U}s( zkW+5EI9aq4lO2DR)5pTr3cjV{S2C$SL=%cugRu9CM5DLEc^5 zAS~8)E8kn(=;S?=?iGCm@;k&x@mYbKayN^90>4mhfH*9WQ|?n@kU&nkF`}hFPPzW# z7J*+VH&Da`a>@-BpBBg|H&)y&kW=n9F+|`O%6&#`5XdQayBI2vQ|>8xg>n~*H3B*1ek@)Q$SHS`C=tk~iHF4ufnUBP zW{O7y^6BEM;#7hBA<;_wR3N9^elc6j5|qmqFAL<9`?`n<_j^&Jf5ccdhuDKu)(uCQ*MEHRUm&*d`ny|@Z|_`ruel$ey8}Y_>Dk5Oxz*9Bal<>Eb+GZlAzqv z;>!X#g0Z69+2VYGoO0h4)dD%?c8li)a>}g}Y!3;_{Yq>R z$SHS)I7uL^YN!v%86RfsFaAwjtd#kWPSpxh6|Vu74;#o|W-IpvDPWdb?nE)^w$7@*vX;uV3M za?8aUft+$LiPr`4_;s}V&PJtV_-cx%Z?pUTX@6fa^vs3!YTW&P+HYBp0U7(g;+*7n z*K+11o;Pe(`>~LH*z;jL^{KB;#s@nhAv;f$9WSWi9QU0rhQ`LHHTH>)qO0gBa>M|U zD~RDdF-}Yp)5J_MTSUctQ7BlK77OMHu}%E05UWM0V1D6?a6?8o#HN0 zDee~!iHF60@wj+WJS`50=folLf~XdU#jE0VQ6t_GN5mh*QSnFdXYm*Df%u!i39Us$ zbQE1hPmv=Ah+HvT=YGZ zuZW4;#GT?UQ7P^h4~d7xe(|_?QamjVi08y15&yp8e`n(Ric|4Q#>iHSzn3;c~Ujk05Ll z-&ZvItv{tVyLfPZr;Zc(eMPg!?2FtI*cZ0@M1Eh<>@oZD+&W=)i@zw&(% z^V?1T^6#9ZR#Ah?7ra(+U%`SU&-(IEzJPPuNhj~mM?aJ=IOB%b3U2zBEmg=v`GWn| zjVSoSviE#>D381*@wAD}a5y;V{JU+s1`in06b3|{KQU+W53N~!R@7O@Qv_<{sqeFkWk89&UT^$R? zx1vD11!+aWskg5Rr7hfNODhVt4miu-AEYhZXG<#zzW&%4e}9m+aGx!$DEPz7&i?)& zZQ(v!T2V0T_V@C!BS>4Mq!k5^KlYfvKS*1+&z4pc%)Wh&W8J`oSCs z@5iptb1FXuCrM`a%&`|8HsY6frw(G5xj?*gFK&bwEyfFCHva74q@V5LchaJ&#Ol%R z2DgQ0EL&5uc~g0VicL`XpF>S3beu&#CB29`TA}pMN-KZ)u>UtRBJclW{;kBw?&N1K zAEkTC$72h_9@Zm`EpK9OF3Z^}^Fsf{ne5;l%Ui)18wgoR8KI}i2_}-?|$Ka>B zww!I>e$0RNu;Q|>XP-UP<)!17$FG6hy3H}1^UT^}{`hM>e$7bqvgB*gE7mpd-<~Sj z^Q-Xhn-+iVq6mNUmvfl;11H)8oIkGD4atZ*kK)-4=P7?YFIFI`?%mfnIythtKvb=Le{d9g z@7?!QJg+x6eVyv7b`|{Ws$G5_ovBlwa`{8LUqzX|x?Xt7&r^@~$K|vWYOBiHq8-Wx z?H=;;)I&RJ&##|$tbSKdfwP%<3PLu=^Rn63p$^sM=cxmmD64wtyVXPA{j%uNPjv45 z;dcr|)!Mad3og6kQK;It?-jpK@?I$4;t)EjK1v%w{*S&M`qUAsrz%m;AN_v0IuBV{ zr(fXOMZX}_ZYbX(ijMSsoW5@>`mT>v>Pvop`v(g|)k}w8@UQV&v^WyV`{OHld>oZO z;@gkD^SRYim8j>4Z+}o{eC$jgAJQ)Rx^|4W8_N4*guac1+3D-7U3PpQkns z`}W_vuVr*y&{lq^t$f;A7u1T^^aB;KSSU2@U=}x{dp%F#>I7BI-KL@>5J*CUHgo+l^<$L`B!`$)tSFfbz;xDweLUgx7D{$ zeeQd(#gT#0(zTcPb-r}lAo+7aysfEIr^fS#4^Q*+Q>PA8>en-ediDkNW4~FVIXmwH_WvQR~ zg8Vqs&v!PUuknrB5YN*dZ8@7wADexh@14EAKvdDkXa1vCfvB1?by$>krcGU1HPz+U zuKlX7qtwPLs{MW*9qI_xQ)Tr~2X&!C9pq`t>1*8lcF`{gwX1juY@j`-kDaEEoxc9J zww4uu#>&61vv%#n@jPv@1u}BcInu2%eaU@$LUMhM*W>41{eGTf&~2(Ed@apAq|p8T z6PuMS*vNwcyHCu07Vfc35cO@DdgdRAJ>}n@x3+2?Pu%C=Sw~%)-RDU6S#x1U@;f^< zq5B+B?sGW%c;|rU3T!U%??>@WhUbrL_WTpOc}BxCexB3tywaXEvd^AV^30LvH@wS0 z%6%OeC@7!n7~;}lN{0)c^`JM>eIBJWPmFfySeK4d3Op0ynbKsJ@=cOyV!B{I&x`mx zL(CMXy7V-qW5h)FnZ;+eh&oPJx=xe|Y@z&oah50)=ZFPjp-azo=@O-E^naN+Un~|E zh+=V(OD|PARABE4QR327N>__Dg0{(#>LvOSieSTq$f9Ru+3M z7dymtVyC!Xpts9?-mSDk>~ZN0O7Y{3Vz0PKFdi|%K4hdfyYv>N^o@4T7Wip}pg%3e zNiJ>e(soKu7VTZyQE3~|$vJBXu;#KnUB`1&$|ze~hQml8*OUMI@L6=Jp6E;b0_ zXN@3!wur4RWk34F$Ti|xfj+TfeL;sfnJ)G?ZgA;drIW=?4&ow5;A`y0&H-Y)AXbQ@ zZlb448P}6UE0?xW+Ex%J$cYo+{Rq-df*9!`(Ca0rgE(RQS$~idAA(7mPR0ne4G+y56OXKlN-8#6I!1O;`*tCf5n(IWa|C+$b2w4g$XuPw3#w ziGo-{Z=={PIN#ztB7EMVk1bB@iQq@4_4xUydyZWx-<%}yFL7SiX73)R``jz?=NC`r zIh$>j-w4h}ZG26hnp*qmo{vU8NN&H_J$J+}hctQ3KHkOS{T4P7eALS2TPtnjWNno) z=bdVN{Xhp9Ye;)x{v~h63uM$u-N?};Pu=JsW1S%GIXMya&)PabqXD1 zb}Yh1Y-MfgBUs~*Q73gHN0&Txqk}9*^cAdS{as#3e0}3M%9@G}y5wnx4Ow{28=}vH z1^vYCTtS`GjT~L__yiqfL&Y$`8acw{=_ht0qt0A`4!Y#28y#dL#VCPY*h-#$Vk0u@ zq#oqxlBaHTkmZTdVvHE;^7IqCk&P4M1v==GryX>VO%M~sBr)0L=_ht0qfY8U2VL^i zZR^_<<);dc0n=TcequK=>ZBfY&?QgZ=pZ{q%n;axt>oz^HX@@=>Oqb!dFn<7*-UY& zm?chg`PoY6I9a~Z0w+h8d{m%Axw&GVK#nf?(?wJuqfY8ZjxKrXMhDq^afUckoaOSg zLpfyhwNRjgE_vEP2ie);9Dy8N^0b2vGU}urCJp1^(QEU>}fL-L-$7kxHJTmmivyac4 z#TKzuY;$?~f{n<^#dd)Xy5y-J9b{LDtHlm+jmy&~Y(++$)PoMX!8#7=R& z%hNY(Mn;{~gATgnsT&<+yTopRUD!&VK4K#>>ZBgz=#r;ybda4QD#RW!-Q{m^pT{Y^ z(aF#w&%O#VMeG$fiODX{K0Z?q^|2p4^6caD1aY&tMT~WM_VJl|D9?WM$g_{nc_JpT z0lUbvkI&RYd1UC3XCI&A$8~qy4u6X+p-U9=TT#jiv=@f&f6Ku*1_WEgsF1oeJFpojc? zr8NROE5$w$5!i{GdhZnIy)3AAnLrQu$>IWWuV^nu3;ghgK;BVYDA4O5?i2U{J>>U` zw?t?0fG8IDp_4#Py%!7gek-UKKcI*Fi{f{pt9VGfE%3vG0y*_|5$Ihcs24w=hx|+8 zu)xl4;!=ShuoF4;b{FVfBB&QXpohGNxJ-Om^c1%W{P2!I-dkKQ(CZ~WBk%)y$iE`q z6@A3RqK%yQfYRjxIrR<_=p7N%iyzQK{)qU!=qtV|CWwc`N`ahua|C)T1oh$v^pHO) zRtxOxCx!|9fSt&xx4%Gdm7reyfFAMzVvX1@28y-f*Wzme`D0?8KyR>kPvi>pke7=8 zCD8l2_=XrF&_hnWj|=qvAgH%Ypoe^~xKcbJhKn}^cDyf;|6QyX=v^VcDX;@Qqic$I}A&zl-q#y+4bq1a_c@{AzKw zK=1#E*#bMzLr%T73G}`rs24lXL;fFPqSzt+A|{Dz1hUDZNTBnd;{OWvBm1rxDyE17 z;{S;c1TyNnR-p5Ypg#5^dsdt#rit%~{}O){$f#?oK<7F^ee6f}eX&bm({%CQ0(+2A z*C_&>>jm|(AK47CTRbmjioXf^`J6yLOH>H-P8B-^eMPTA92A~-NmPlJnzsj(?h(kT zx2CiFuZSb!EKw+sQP-yhIu8r#V?VMp#7VLln|g_#3G6{eUAGH#dJ5`e zKeG6J4EH^RO36+V#8Q2mJ=aS6@Bej7et);}%;5c9+L!5dZkhTHR9>g#_G?`G_@zRv z$3pgD&xyVRWp;(_{;1g1T7hHVV`AWJ{8}p?5gkQWK@8@I0U}on7kPs9n)Q+Oh_z<6 zh>H1wm|Y+ii)Er%Tq;(G)uL3a7n?=7*ddtX6=JW5iQB}T;x17s?iUY^_@kjAz@fY!d_?y59tVP^Q?I^m6o+3vK5V>Nw z$P?qlBr#3Q6thKC%ok^gBC$v;5$B7G#HC_|SS8kpE5t^zMQj&4#7D5~h18+^)D8tApR-F_Oh zyyMji{qK52&dq-|{GE#=RekW+bj?N6`>u)yHKc0R{&~@|rKKgS*KEyQv}yI4@~vyu z)UH;av~`_3e^BS126vR^z2f)Z;waYpp&r}=53I%5Wlb_Rwc*IZAWmb8g0%3g;Fx4- zs(z+FYv}6Ta=xDY8+r9AYiG_qkNV%WBQ8qy+5E`)U1Q>+p?2!uU*Z4Vj#4#f{{6P{ zv~Pa4^0D)R_>L^AJFH`Y5jR0yja_9PiuCGCyPPjJ zZo5aPY0yzr&ud)Sy0zbXq*7!U<6Gsn+6_e>N-_?Q}B)%>jZIPaba;{ z{;Y30p{IAJ}v_1o5SYueWN*ag8l9=pV? z>z5~|^Ga4-xo#_e_|i%?E`6r_gRVW2*7GLT_)o!lenaD$mp12ZAO3ni$=36?Kb5?m zJOA1|ja*dwar5*|>o;v}bl(yM(k*W_on-U$s?_zoX)RQz{2dc(=N~<-xg{}AyUH2n zr{~>qAO8$p)nC^oTyq5HXa2hH;>Y62=B>?R^XpPw8*E%x&M9S+wsgxU8V%O{*oL+} zxgJQIADp>AM4ocK)$*#h*@&C-YNsJn{EmcI(f)?A~qh z6mjPdsqvKR%_g1&#H&fSyj8^Yi`V6(?DdN|j;Z%xG0OtoRxLHyo{{y%23^Hw`g zwYakD8(jkV8*vv^&hEc;SH8CTSTp|K>hG=mLdWsXf~C4QqeddDg7dY>b=X-~RST9b zDBHMZY56tl)42GmqwsWuJ$tv$geiX~~Ao`n%`rn%d(we!+@@L?Cm0qjz@n?`Aa^ z=^FeU>jLHV|8Z{%=j!}^eVOhoFW*p7zGiD#$@=3i+mPZ(KWIqf`1b32rTV^ZfSng7 z(s&(;Wxl(5n8(Ndvue`Vn&j)Q1Fr@5>)BV&=GVphEXTD;k2v5Vt+n@2y1(Bl1LI)v z^Bwt4-U)w%PQ&gad9#%;ZKwB6WBD?{S``n+wc*CuK`?%IAH z+>aroPV(PcJKmCZKW6jkAJ+Z#wlbyKJr~OP_HO_DK7M}c{A=f@u`80-1?$DUl5J~p zn|8~?uOi*@W=E#)$K++Ncg(d(Y0Yhk^Hc7}n4j!^%*z~iem<<=y7r@WOi0|1vG}og zifnN6*TtDNvT#j#iH@(U>~mw&bjv5&i)!}kdCjI;@5h{3vZ}mM_aO_j@sx0FD3^14 zay*%z?E1M&NH-i$7C#nGu}widS)5rh{T9`_(v54jZ8Je5({#%xn#*iFm1g59;o4BH z_>SawGC!rnlYhP%jwg$scs!N6^~tSM*2LN8F0pKr(sauw8V%wpQ}_2`*?3C0Hk7Np zGdZ5jPZm$8-n;Kv|5&HDo9Em4Q_RJW#Z%;Jw?4Ub%9@zFesgJweP}|OZuvx$nO&du zXX7d1+EA|Mv&r#fezJJtc(-%iF#no7ygpg{SUkn9aq;Bh%$iuVY3qh`Zb_tD-t1_p zw@&@%54WbCKV7hhAEveO;+ z+6SM;bU)vZr%YYvMRsJLlO}wd$mLWf$CLTV;;F9dJc}QTr^p_+ zKDl+uS_s9%l9JVB+Z%hmmu`8pqos?dScZ;!dD(a}*CwSo4 zc+a^o8&?U}hH^CzCE|+Xp83hvsqQ*jD5m&YrncO<7EcyG7Eh6z-8$vgt3Y4h^GF=` znsh55-STEfJf1Rif3q|jPYKtCayeg4jwkbz#S_Op{$}_SXYJA7)!i1gc(VA3$J4ED zeRAuRH4%!3xf{#2Z7ScoY4bI<^ElFU%O{%1?0Hly8&3(>hH}MUNscG;Q#hUy>WSws z5f?uePqELq^~tSMR%YquHLJF-FWH)_)hTzunyc0{^7V#v%bOjUUZ3`7<0;|VP_FXf z6SM;8hSq5*ynlG*?2P7CZ#ox zB*&Ba$(|2$PcuyXc<18B;wd&Xh$ma8tdaOZu8EI`(=BgyWO{u%nvJJ~YeTu5N0Z~p z{FJgjxe|%voyCvEQ)Gl&pIn?-6QOv>U9zdXq`Yj?M%#BhX}aYTZDjWRDRNErK2*ZD ziCppiy)*ytYqW5HBCCw1vR8w-t5Tq^OwAAJeg~g(#o$T z;>o`c<@}UqQ~@@7Y-k9&pL zxJtM-l&g6x5m)|wDCegJ*C`i27EiHpZk=-Ll{Im?zEs$hILcIct0&X(RGN*aglj{& zoX3;n$^6t%JX!o$JVhqD^~uGVHQ~oo;$^u;zj2ptd9x$a@f6F(Q^K{OT=6%OyuljtT8_x+{v_ znV*jLIxphl$l@w?np>w_yjf#QOV_Mv(gmKYAl>q2haLAa_FmMr+51rm-zIX!-%i98 z*Le}=Cp+%d`CgQZAB(3*zKbUpXVyXx4~Y|VlOJ!IZuvwznZ3W6myM@{YeTupr;_8z z{FD+;$2`xo__273Mcr}F#hEn`#6#0hq|z;Kb~JPz)!65Gh1qyA*CwSkPbbHd`Kh7v zD2pG9r-*$|+pSa9$QgD|vx(m!PPe?-(NH{@-tnfT*?6keRXNWj$CLRf5l`V_q5B3d zek`6$%i_#F$K#=if0!-Z@@9vfKV|B^K`a|j3D<^l#otYiC-ajX?*dicInWmRdv5mk zB2wci&`W&$?{AqWKHRkOKq8(dsVV#W7~j&DsrY*t5yAJW_@mjR zJzd({r2|}=>r&ot@&8`9`#UZ6_e`|g-|X+4L>9X9_X~s6_FKBp{js5@{>kv0AKx-- zsVq+XJ(J+?gZ{H)*u3e9IZQJ%}+op|A<7+zp z67ALAkU@iHP8d6`XwtaxMWcofFB(2%Xpv+^1N!zW%IV#^s86q6MY3xI_8foB4QtZo z?!qVZ$K7L6M{x@gR(QAK&fNBDN+4jfq2uTP(%-aUKzWWtV|K7B?^ znK-d%+T_Va)2B=+nmTEcZwEF^95>FlV{G2&qR}Hq7L6D>%=bmVoSeXh9zBct^z2pC zRA2PX$r&+i@|2=ercM>p)c#c2fen*=KTMu5!5@bSV*_894Y>mc$q#`Iy<`LaXsivL zI(F>gw>xcG(ah=7eP$?+4fp|ngni-LAV1`d80nA2-~j{tc<|fzZD^byPElJkrqS*x zMW>!JqiE(Sr|9#vxF5ncOi^4g9@sE8FVByMVY#_Q1N-&!{okuck9a&Z9BKL;S@}BX zbI|sz88c*q+Ls@~Hl&WlM9qouW5y^Z^NL0e3u2)!@ksxVa~wK%>eM6Xv$Z|5Xx5CG ze*4I=>sT8m6(xKy&Yu^=0&_FrgCGvNb?M5XqRwqVzy2fe_o?bL?VdLCR3AR$18hk6 zArTAAOX4w@6DdB>x^TQcV4U$cZO@vi_D@y&!uLVg2E|75oN)8f9|IQ$BSsVv2mSl@ zjn7Bs0_#Fu4zPavZPRyaU$!LMVB-+@AefWkI1J{(2#tY17ql)~4Aj+r=T4n___i~PBu_Blq>=6}EaP}}&P zcIV7GO(_I^@O{9V;O4?~t&hQ63}PT2gKB@I*5si7Iq~CDw=P|3odZejhx|Y1wEEj; zolI`u)&aGzb%5g%eec^lpf3O8lW}9l%(St${)hXX@PDHJ^|tT#U+t@Hj?aBX#||Cp zjQ@E1uK&Ib8h1Yi8G9Fh!CH`*1GV zSnRj&jz9kS5Piq@to`!6&IyMO9vnX(tS{#4w_&XOU~66wdlvh_yh~p9#@o8*AA1#d z8uO;MZFY?tJ9Z|%uysEedt%SxE*N*tiS68jHHS6d>PR)F)b>6pK%d|R&G0@!rrnueQelt$|xG)lcrW&4c|((rfUgM7T0dsnMPkfwKY zq`^8OU4FbP{=3|2i~BQ`GR5R`Bx~3N_q;vc1wN;csKojg*FH95Wm{Aw_EpbIRFRNc z+(ddeHEzz>c-8Wi>$k6IF=^7YM7^2FwfR9NYT-9q()fLsi;|yv?*GN{|Gvv{41CZ* z4UB(ZPd5)^uDy@a@4K|kz&KcZeQ3Y$(#QR-OWz=^cE9UlX=Wm+?po}=Z(SNWx0N*N z_W*OgobvlFu7CDEM8x&e+KXK3?n8h1i~jGs#2!vg6Tifg{e2hn8L9ntIw|j~#9Z9u zT(bK|tn186|2enwuRUjqU7oxySe@zqK1;gg&5lgJpLsOY4CQsU;Xi!*B^-QQo-EF+g{FVAC8#0Y@@7Y-<0&s2PYKtCa>bub zjwka|N<6u1iqQJx;>Y4CvevCnZk@6w()h}`Uq!m*%?^vFOuau|n2o1|YeTup&n3r` z`N`r5)!KgF#p1`}DOT#%Cl_bdM7qDvl5Tmk!{RAZ$Gg&OJSAKk%GG>6IiAc<7Ei(P z&hC$d)+ZM~7Eh5Y-TLI#DQhC#-)Bj;yxEcI_X%U!crw=}r8##e;weXa%umPtKB0@F zcwB9E*U>KCtg$Bj2!|C`nr`_-Rhj*Lm;KqeO1L(ZE50WYSG-SXezJASR8#+6UBtzY z#Zzo+5Kp#VS-H^P6>m~#q+8zX$nUDtUQKNe4s?Jk~N zoLLj0c=$y9zRS^UJlPN@r8Sj_c;dKceo8*>)${u%EmaH=G>czD~@~SCtIiL{CyV}KNe4sYu!5K;>_9z#Z!}R1*BWv?8x+SFE1NU z3D<^l#rGx0lljTwiQ`_azwhGW$Kolr)2&Y~&a8=0JjDOh_$T4_T?(`DWJ8>kR^Fc+ zPv)m^JS7T*?jN}Lv3QE?cI%UiGb6rWF z7C#nGu{~~ma&cyj#N(-ne-bL)@@7Xv&xafP_n>0gcrw=}r8y5K$CLTVo)4$K=M{fG z?Bd7bDYDnCPi~#EM&bv#PuTCf?9axN4RKOh{7`Z{nV(YDCs!tMytDYRc#7TZ)+ZNd z)<`IxK2g8#Qk{(_8{(w2@=M9_WPWNWo-BSWo+6)e>yuljtdVqopC#S$W=E!Mx(MQ(TNl#4TK!TO?vVY)R1m@vm?{-l$VXCglj{& z;zyF>$^6t%JX!o$JjL#G>ywK!Yr>C*#LIGx{>wAzmNz>x9Z!YXcuKf7l&kz|ay*%z z!tqqw@4Hz1SUg2O@75=`PFWLvJT&PJc~C>T<;@O@r%b(PSDKBdglj{&nn#o4$^2yT z6sR8Z-znEUg!u2fSo~N##qM_NlUt{(2|pg1cn^v?(k*XxG;|-z^o}=;W#g$=x@ni86sdVd;Tc@lsKOR1Tzwfd?8&5XGNonz8iFo2V&-`@U*Lg0EEUser zx^>FMn>7~v{z21E%+oDzcGz(*Q||*;XX7g2+EA|Y>xsDHI?w!M$Gtk=i*oT}@f3N$ zty3<}tcf5V5+~*+Ki)Lm@`-k$`g(B77MY5tquF>$xHgolc|19u%ugxtbnNpy7e5wH zu?OAyMx(nU<|n_BkF;pRnI|Da^)` z4RKOh`DAiDnV;-<7bv^$Q-yxt#r|GIYCI)Xt`F({K1;gg&7SPjwbOZN9&%p*Y>{(B}!a_#qBww#mv z`!3GEHs51ktKHA({ys~(<*j$w-*+)j9ADbhzk8JPRARpKcW*2%EKVYi2XPW{@nhDc z`}-{EmNz@Hzwct6_;AzWr<3Ev;=rl^#xLwb2(H^JXP}QgCaj*B; zk9oc3KkW6)zt`(|%B^0{vE^Rx5zD=tVN1PE-A7lnJ-KH_ZRvOM^Io4zf8h1H^pMx{ z;wrDl1>g6&FZr(5ec_W{w=?&9-R9iqb(?aF*L`G}*CY3QulJC}UdL{E746crqw}Pd z6@AzK%s@v@u%qNBUbjns z=ykpDd9TajXS^e9x%7#Xa#Xz+?=$hYngRiaea>WqkhwS*ZmwVN(yuq?#pnTF#zUZTI z>A4a={J`sS{`bAk3%~7kp8r*^)6BcQ&SQ3Xod;d$b?v`EW3kZd&~;SB@l1rl+h6x` zcfR2b-Swt7eD`m?k-OjY@^-!9oz8y3>s0WN*J;Y9yiP;cdY$_(k{=d$JqIt;IP|D@UPJ~?j}Ey#7}l_WG=@_PV=q z=(Ol5uhaZTeIIlheYMwV;Q3yc{zV#x1zz{Qr&ZPGgKqijD@LmAF?)aKO}zPc-t=33 z=baXN+ba-rZ+Xir*!!k8YtI|rRM{}@>es!ITVL~XH@xiiV}6tbKInAbcfC%9-|#xl zdBE#9@g}cR?h3DSzXkF^k=M)jLEZCVl>9yBrr&v!Zh6O>@u_#bxwpRKo%5M@yd`)1 z&O871x4rXjeak!hmN&hEJvH9+>wfKxyXu$TaE-%2e6ULMQgP6E+4sDTMc?u|&i#tl zaoX)($Kh9co%${Eeb7Tb=-939I2e25+up?3JKiauKH|;&%n|S0&mQqEzx#++R(ZtR zQ2CCx?(Vm}OKyM5TX@SGUVg=IyeZeb?&aZw^)Gq-h=b)n@;Ylic3kwd*HL58VaDBF z$5Gq8j{TR&2Sr{t#X((h*dcdD6rWF3+jBniu2=NgcfHH+dDq+ez`NcJUwPNN`H^?M zT@StEZT!O9-o>AJ(>v?N8gJ&#UwPxU|H2!#@nx?+W1u+fa?wGrqt=5CXFle2n6=OA zFlMLMali#$r@rT?ec6yRtJWCkIAlh2iuyj|ws*aGcf9K@z3cbh75Dw#yYZ3tyt|)x z&%5`@_q@+O_O5sR7k}ri`P^^4Me@O%UBC7wY79mw4hNR~-0Q8m*!AK=UPr}12d#-6 zX5a617{ABsFz{l({jQ3`K0_9IwZ&j3wLe{BK1+R{f9LPL3-A8DxA}|jdAC0Hp7-F> zfAAiD<`3Sz-~7F|_sj2iSKRfMw5UA<0PAwcCC_>tG!Oqjdv6{d zXL06>cIISh?>06dcE@0B%f_~B17^2@fWZ(5ki?8bnwHd(8cS-WTaqQhVgd;rLK3o@ zERa1WWFZg|vJe4TaAuOsWRfsu*vXuGnYm}4Gxz*8_c`Y|b$`Ei`4(B5)$RM_dfL#c z`s(|t>aDka_10T&ZL`j~FU(qf2l9Ux^1lSK;L6Q+ z{CmIf=TP1A=kWQ5|2cdKG<@beuZH)1>7`Ia{%=G6=Q95xl>a?31{Z99GR(f(@;~?f zFmv_$k^lB6{{>BB=TDwAckLNr{^z6oSAOEv(0=c$;l?ljIo$mKc>mz5;e%g)CG7nC ziy?o{^Wm}&JR8me|5u~@Yy-!l4IF_sFh7|;%0F}U?a2SyFsEq?>i<&U@8n%$@tGT)6O#XTxbXJrh=<{+Cb| zqF*{3{lPreKjh#n$N<*=%vHO>tYfZ0`L{p@U5b8Sd>MG$TS~jmzWe2HF7iJgzf10U zC0zCKSHkvBz8rF&d?{@I*o)z+yPppieE@Q3*S@gk#%IFGl*PS&7mn)s+prLQ;#|mK z!QaIXD*jgthuKHHHOxi+ho7)@Ozb83v9`Epgn4h~4>I6F{4RzJy5#N`!$o&N4u0VI zaK`)oDXhKuAHxdB;U(pN2**MO9s&JeLGG7f&O3h=W}z>fb>SYg|4)QjOH0E0`NwPt zvnSxa({SQNrCpbO^yP2~eitC`b0GuI`5@%*oiBuq?|)wUfz|AfQ1&J0tB&h~esIHY z!=m9!z{?ZSuJ;k*~edpvR@PqKmO85%kDH>*!zu<>mm2v{;`+B z#djnB>Wkqtu^%x3?0!Pi9g&wX<~EI8((F!!+Kw|cq<;tt-iXXG>AdO7U6pKb2Bu;u;FhK;wN z?;HA~)cY~rsCUTSBT)8*DEmC5)^e_}Iva7vDW{+_|@p zEI8@PgO+D9|AxQ59PoQOsz=vyPe-Yo@9ivPPOC3%Z>q!n5TvM`C9# z;pOvrZ7-+im;HgwpZ)$}y{F?3X}57thjS|JCg-(zPsbL+OH*OgJsrkhpD(CBmX-^i zYOVKd)EeLEm~7pqe>YWkPh-AdOjb2LmYy$gKKVL3-p}#DS4!t<pdH_#&cNE%PhC&v@N9P^$I!;j;s`f<}w4QHN1t@muy8sF(~Jk@I-)$#_O zV%8>n`<_VS$@%1X(*ACYdpZn15uQF{^2u=KS=4&ZMy>Ikj(V>P+tR?3vo_^6Jr(1L z>%yE*Q(hNlIC5NNKWlQz@aCCKf9J5KP-}dr10}5My0ESWu42|EeA|8=R|3~!!U0#}FB zJso=+xbiAaxlK>UxRP@-j8877#=ED(@#A=^e%<;#lUJTe0#DO21=Jef>8N+V_gVu_ zF>4dPZF|#ray~hp*zb*XPlw~j@sxeQ1r~U2a zh9AdM_B$q@OipUd1VQ_wUkpaz0IlC&!QDsrsnNCzDg2Nv-#6)EeLEsQ3KKo(7(rwJCSs-^F+m zJCyM$ZHJ1ZjJB6MjvQCn$4pL{yz-c}-m_6_e5a${c7weQT*a(S_?mtn<4WvM#-~Z; zl;OwmRQ<8ZDU(;8g`6`zt(g~1q1O0LN4@d%S_4lpYZJb0|B%L$^Jy|XIer{Z*~d*j z8O}Tl!9%=Q?vS~sBm2FE9m?xC>F)kR8c)urB%a2)r^E5%c&d(=d@?!Zc?h1SWg*uT zYK`x7xO}SDI=kf!JjJX{`1buVjVI@m<4Hf=|DF!VkK-x(l*uQPQ=Wz3VVX85rcrBr zr(-fZlz%r>cS{3LW3sC0nKYi9Pm|iA3_p&i>Mu+_nVj;>1P``YuH2LF_VB5?wZ`{+ z>OIcuYT(IPn{v1PV~i&`f6e$b<#C?j$Z?f@+T@hs%`?+;?5D4o*BamH@P4me>w&8c zT*a(S_;&A$aV6)k8K1o08+Tol;U~h=Z%j@Z&O8gnL#&v4_*C6mBdc@?MJZO^Ci9uN&vX1Zp8PAv znLkH(I>hej$UfY#LwOx1-Q6#w@#K8+{!YIgpdH_#&>!e_jEWX z4z9cJ#TZX(k(Hm1QR_V&etwCcXX2&sb563)nEw8Py8hnX#yuU*iL{$M&xCK9{GN{W zqs}ui{(5__?i-uWwcfK)YkV(V4dP-JLP6XeV|)rN=q@-_zm! z;&}ITxc=$-Y1PI>u8;aTe|}Ggp9eY7JsoQ^YctvFAA0ORrf@6rO%+;qg8H*Pw7_8T`HKoST1>8j)2wCR2CIBeuwA0GbZ zlZWBAApH8{^TX30ofm#__uTNropZxaZkrn(y>V{%)_dlL``hP+yRVrSde5B~u357n zymb}mSkn}y%ZtLLb9VjRXAcj*|NJ8S7KXq7+`{m?dl!b^eEP8P>rc!Nzxv3$@YDzA zgvW266MpdC*`Q$#XqXf3x@u0i;jFpgs#E5N%U2#2u2_BK0n@Ny*&8?g;r=7SpT5lB zk>QW{{o#v8hJU#4NYHUa`0egR!jq>zIv+I54L^O~Z17<=a4|c4Eqmus-#8k-W8ptGJoDA#K+Cb9;~4PcsPMbpM}UTf;a8yH$?BZ& zlU=jJ!#ih%ukV;0KDB*z7`kvyc;}kA;j(7ZurMq;V%Dyyfc}qPJ|;Z-z%k*U9y~5Q z_uyiyu``QiCtizV-zm=u zUu>ThKKQoTp=0Bm@YZJ1fVx<YS6F}G%O4MaQ~9Q7v0uN?|ofpgw zZ(ltpT()8!Xjl-=TC!kdqWrtBnYZit@4Pv@_|Veu;`dhK*Aia%-p264L+6C&zk6=@ zr*EGFUTg#nEx^Qz@ca9g0F%d}9*zVL&^Ez?AKo-GeEU5!!xvg-hWB4SD_p-}Hu9en zwysbfOw=Bpd+d3)zJD%$Tf&RqzcRe=$kpNbhpqq(7l(ZhoD-h; z+B($33e>}!!Goj2)AuY2PkwM-`0=ip;d=u!!&kayhL5~`X4rAoEYtz>2M^F5mK`~J z*LXa5;k(O_@5=D<_t%G)A3Zm`{DaHG%a6Sazpn7oV>`kNk9LITzxUVS*>7zP|G4Mu z@W-#L0S}e}2ggA+91(v0q4{W!v%>d>XP^#dgirnT%rLNdR=8^A?67q?aj;-q9G<>% z)+X}&Ni%|znQU^bK|7^&E8EA_$!oBaF5pKG8W_ZUbv%;mzv<}XE^ZYR}aQdp* zn_hZ&b$I2`^~n3&@am7=7GC{nG5q<7_k}kV4-4vdCxD7nGJUsLD zGs7Rgvof-amZJht*ryLo^;=knoNDIn- zT6p!b&EeG_zdii<@lyEnQy&Wd{Pca{pZ9(>y!wlK!%IKCBRv28VtDr3SB7W4aSrld z4Gf&982BjizjIFb(JeF34zuCD)*0cB%Vvakwag5cESnuJ1qRO;xBPQAz4Qpm{)5v| z{!PgLYUJOI{O=6^{HxD_hA)O!fBtFI!EMOD3;ADx{Lc=5`0^>pe~Dpmp~xc1zmg62 zx6MEsm=U(8@*lqq?zwaM$SXhCi1MEY{$Czm{Yh*1^UsEb2d_SLPk3dd3jPm<=O502 z|Cb{FGm!sEYXe824J7hs`P;JLc9j3xH8aDOlePROPap^P+_^&Xf8~c~gNBPh!!@9x z01Q^}8wxM|s0{qIhvy!;Dm?q(X4LWKcFdSjr0ihcBEN-ns($FPj^-t~`89>?QHI=g!sO z!Fiy8?H|8KH$w(p7+!qjBFMrEA&(&kA3QDm<2O!$9A1j{cRXZZQ}~-tEDXQAdrtV- z9W&4uX2YKDZ1}{rGeYSc<^7iB^TWwUj4ykfhSIf5z=KPW_r=J26XelZ;l+o~6gm9- zcTNre^ey%S%_#fQ@W(Hm5PtuKqohCn^~dIipWihLI?0Ui@L)E4rE^BO>uoc`b?at@ zi%y;!E^VH?>`ucssuzsB{KI#Lmws?H@<-XfcP8Zj`taPhRzm(SN7P70`uF(0Zp1@{z+J_o$Q34iEOt z1McRAzVjgOS1t<8M@=tpr}KeN-#)VE6Ym{);qgy~XCLkl&phz<@Q1IQ8~*+aYr=0n zb5eNvW5=W4J2L$Ewj;uK2M!PSwJ!{}U3PeQ*QsO6Sx@&s+|yfDZTk8rZyWi_-F+j^ zJalvT{nv8gx1YZ#?ETb+@beF^2tU1JN%-E-ap6l{M~B<5I67=xGIv`1o(fGHRxaLj z@6gtfPrv8Pk&oT5YUJ*=B_p?Ad+f-S8x|b2Jf}ie79Z5A@%wc1+U8=VUyVp=I@2;Vs|2mPk{|x9Rr}dc6M_{SM#rovcB& zJl=pX#!IGy$Bf72_Zb-SvWA(zq`OvTK1oVz`{y#^VBNJ+U92)FyF}eBm+DA zaKiyq5RfTd*S>_dqoKGpw~mhGNTt#_r=8sF)dZ0)UoH&wUVnDZHvRr|Wq zb3V=|Un_a(KRk6V?_2r5U%U(Vt;B039Y2nzY*0LTJNC?Ky(^{G_)bT?_nPc!;3;Np z!q;>|8c)tApFt?yowy$w9YtWEf~?MUOv z`7{boI_5~qC&Q29Df@cGlgla3qK56?l0>cXoeq~z_1XjeS_4lpYZJcR-Dx~IpBzv8 zbj-U}3_lT`W|(|3oOu?t-jz~oe5b?lRIk02*+&|C17hCBzI{DuJUO2nPukz@f7eRZ z@Z)%@&NBIAIP)B8y(^{G_)bUN*Y-8=>A{htypwdm6a%Do(k(2V-2Z-*Y~>oEq=0 z6~~X`DcfXn%H)-2lEBlnOaZmVcRK3b@9k~iDQ0cLw{K?}PtGUD6Z^ff?pksDIG(CU zn|v}kcgv9)d;m7fmJ*rAM1X**OLWj}kl;mC1SU14&{EDbGysa0uSDvZaA1ui})u?*lQOIL>oEO?jMWIC5N7&oNvX-aIqCi(vYSd9CrC z4)6EswH~;ufvcFc313q+#udkT&L{8p#$6X>_;EaCGq(THaOPPk9%9AZ!>8)j8b8jb zzWZOQ4LrrHP58EbFpVeY(IG&3JqMP4?k_?|GI9f3pwTc_z$q zzTdTSP0P=D_Egl~jlbUBs|&{FbFFu!)EeK}*0^iMIWaYNy5}D4{%G9Z<=h*?h2tc< zNO9ur)2XTTu9RBiI~|R?R-6+D*WGtd8Yhkm$4S-X_Gr0M>s=|e#&@pNdp%J02aS0w z=WWt$`gn{J+KHV{Q?(O2jvQB>w&Ts8YrQL_*7#0Gz3*CC-oRDN+JtZ0Ct_UDPV9V2 zj&t~Va(&rGJbS-5-d!t^{%Pk3M(606zU1fpQIFch^z2N}iSAlC{&mN{F57>AcdaD8 z=ed!Me+SNi^EPeTG}iCHQ<{1V=J(T)k&*uyLYU}x^R8XH`0dnFp8U&+@*D46J?OXv zWf?F1sfJIN7xl>7X*^IG_`S!imwO;I)GNf`|NXulBaq8`#j0XpU@5wT-{Z7P# zdSWh_Z_+;z50c*)!Jn?M^4pWSsFZkj#H{p2_EA zTGRE9g+b3hnb&y!>E_FLla+tGJd@!EBY*PbakS55K4bZ7$(wPQFD+ntE_PJ{EH-gz@U&to$8VDMnFJV(Fxwonf~+GF176_^iOXA;FiXGfwMN{?*3$YzQFn9>+IHjD1Wa1 zlJ|5tejHEL#nyfeXP!x|_iWS}-|49PK7|IJV%8>n`#zP%QnO`l2Q$@w%2Pv>cr#JN6(AIDR5smUk9nP*YM z)?rDa*7#0`Ik z4#!iy_T}wu;3;Np!ngb0G@hJKjwkK!#<-`$@Z)%@Hk*7hIptZ@de26!@tux(uM2yv zfhT8e%H8+b7*AXm=6ss+x-i3$<0^ZK$tlB|XEyzv!kiayjK+hHxupdTzZnS`TmdaXeMmn4B`4dA!8=($j)Qt?`|XdiQ(F8+eLY zoA7P>LK;ubC&$yc<2=KU<0-q&YS z{gpJHoKK_hw76mPO_(0F~d98sbXKl*e_ti9> zoKHSKoIHaiIX~?9aXe)=n|v~yc_vXOcZl87k$tRThw?g3x=mkCjYK`x7 z)O-GAO9M~N+LXI{PmCwALm8jacBnYYe)e+1QG~0lCZ|kZdCXex*{C(X(@}4`L01D; zF>4dPeGkOA5<8UfX)-yLHT*<)x<}W=y1eo%W!yr15Yt)6TYSg z(|B?|O^PSOkK?KOal@10%(DO-qT_DaXe)| zWq2~2c_xCVX<5iMg<9h~9WI~hwa#vD15Yt)6TaQwPUFe>=zc=o>D8rBADSN-kDZ`m(p?HWDa}S@YTWkC{pZea@ zv892hn6(Mt?$$J(oKK_hwEujb;m7e*{gTNi!&m_86VS3wiGquKdIwr%De>YXP+Q8G8tZFKx@#K7p z@sx}f&*%9*f5(%5<#NiOBRm{p_jK%O;K{2v7K5bX4uUh|zdT zC60$_9UhTLq}KSJRO6lw=fuHvcX!5kT8pgwe2kj!>9F%l{5%scMb*!7`HtyZkE-kM z-Stz47VGsI9z13D1K)bjng1E?>B#y$9sm1(rp`0T8h^dLS05Ui&$ZsOQEPm!(8fI- z&WWkH(>?cSUsv4T<(>}1h2tdqh~mWYo(nx#);#?aZ)w8 zJzB2Rde26!@trI6UJtalp^rLiQ|`7MF-~YFc0NtjPV6{xTzTS-H-E16o{d`LJ011D zr{lE-u42|Ee7n12T+vSKd`gdV_P?jY`^9nZ>2Uqi^iv-fd4K2U{P{f{ejemR_jIht ztjJ_Pe}MONB))Il(~+q71Mn_dv}n`ehabLa;lhQR=FOY8Y4+^d@;iVe4*1h!k3DwN zHP>7-QYw`~Pft(i?CcEhe)qe>RaadVHgDb>PCfP1ux8Dg(A3nli}W0D1`|ZM?Y7&( z```b5`MvLb@53nsw}#>2;ZUhm!VNdvAaq=Q`Q_n^GtLOBSFaAIoN`Jy^2j4=rsFMd zdCRVke)OZ^V;}pN{OG^??z_VWKls6L#~pWsTW+}}?A*CC^!E0K*4EbWwzs`4oPGA$ zlK;w;D}|O>vt~_;7nfXe$*#|Q<}=~md+(Ls?%lh?r$7Da@QF`+BHVM&J>f$i`cU}5 z2R;yR{X`fV8WI}v`FyzY$}5Er%)hz0S!g*>8csg>QkQ*evlWWf%QQ?ba!`4U2NUDHEh_hA*@)jVp=qO@rz#!U-`;c!dJigRr%5X zXioPYlL!vE#VmkSL?9C5_12_P1|Vwu1G z^{a`d%L^pOVQ;lBIs6D*JiAO7%% z1&hQ%xm*r~LP2B`WdieFwrts?IA9r>&%+Nt93FY(k?{TRe?L6>=%e8WKlp+C81~)o zepmQFJg^?f17eY~p<1m_{TpE zKmF-X<@ci>{YdCyeK-$@Mal`U1IkCr1GdHO+qZ`cFT7ANfHp0B7!L!$=O&h&WlZM% zv!DGeJoVI5;pad9dBE}L;jzaa6CSay*e+QI#No$3{&A5>-VTTX_77XOY>{^8`4f+0 zKrh4mS?9_8fAW)`geRVOBK+!CzY0%3{j|_Qevn6O6T~6gE9C((KzT&D{NDGzSK8tA z*Iyqlz4TJ)mzY26VDaL`W3~a$pLNb3dGGoE@|V998lHUe$-p`wonz%s3{n;`|GvJy z!2H<;*e`niLneT}|%15vN(fp?z^!mT};)_N0dHxg0K*;S~tXr=G=LPXdKi{$aQ3g;( zQw9+Kqwz->~Q zyLPSQPub&nOy-gYd`mYaDeEf`9>gHM<|QP2lAi&4(t7spZuis{nWu&@9g)e15)O( z?4CxgZc9tcCdk(j)(P7H+dcEA%xAw(%#-gO9UXysIAmN+WuAy$%4xK(5y;mO=z1e4 z@5npf`OcB`>(?K&JSU>3@vb%w_&puf71O<^PbWA(&K6_jEj#p1<1n$9Kwn*CYizkMG|wRRasYi|*;L{Qi>e>6lxGdT@Lltb01L zEA4)c)#~oG`#Id5q`qo??e@Fz5^DPW0p8Q`HQY3Pw&mx%SH;iUbpHB$LH6;qT<}zDy=SA=_)bT? z*V$!%+}N++yiL0MdeZX+&L>}I_q*R*cHa8l-<-=|@*Eb&kK?I2V(r)3vFB0iJsY*g zcRK36PoaUQn6(LCQz?z7<;EwUe;Rk6g5k&UlzmF^Zn*(@}3cZE4^s zW^KZ^tuKuy=hG-WiN2bWPlg}IQ}q`npA2W7MGaerC5c+&I~|UvdhH+XYTzkmZNj(v zJ!w2SpBzv8bj*7?3_p&i?9(Qn3}>E2t@muy8sF(~Jk@JoUbTUzn6(MtzH%B*&L_tc z`@5SuPlWEofAKyA$B*Nw`fHOW}fn zbz#n@DX$AN967GCzcD#w^2#%t{?1`dq1O0LN4@Xq*xSHW%-V!++dzyft_yQMxt#J( z_d9pY@Z)%@{?6o-;mqSD&X=ARG-{3Sbkw`wd#!<|n6(Mt?!h#koKKFYamRUvAIDSn z_a>hVXP!j@4~Nt}9oe5W>`-3ENq67Q7*BF;hVd!g?@e$|hvCR^RsDm>DZ`uRmB7^@ zbx+6g2Clq{Q*P66j4L@e!}#QKYTSD|3_p&i>@y~(3}>E60#DO21=Jef>8N+Vx21un zn6(Mtwj0xUay~hp*zb*bPlw?r!qammpA2W7MFJ1ek<*95Jsn*QJb4wT+}-a@7I^i15aMXDR_GF;OUUMr{lE- zp1g`v?(SV_JUO2x!;|C3@l^ed$tROjo=L6uY}6Xx>8SVoOZKM?JCyS_>F&EN#*^5g zj8ADhR2*Zpz1(r+xXS*W$tjap9<$baHfoLUbky5!u)Kk*n6(LC)9o>?#13VAnp931 zejHEL->{qN~;{5YPn&zgKPIptXh9;Ru7Vj8u^cRD7s zL-}`8b@w#zG$yN>s%bnqpC+|K8Gam3)#pq;nVj;>1P_PcJso=+c=9Svx!XP%<4Mk6 zGd@juoM$+4TxDN0Ic0eB%=8@l=_}^7#&cVp;MW?sidmcR?Y=9$K2^8Y_;Eg)GOxpb^}+_>1D(%X-oTTyHsv;bIE^Rg)1-Qo;m7gh z`?Ot7c_z`l3Kx{ROJxt8x?5{}&uKC|`FB%ww>0oHCabo6B#kHMQ;er%w8VU#?elj$ z`ByHd{5itIA$CtkR|8L8#VL39N7Hz6K6!tqAMbxpho2WQ8c(Uj@lfkM8@0xFdK&k1 zI42ISyYHSDPiv8tpN~=VJsoy_iJxcUrSNl3s{d;G*8fn~-@Dtmr^7jscKs|9y7K16 zKm8leF=_hh!~ZRHo{90-+k5uk#^!Ua_iWS}-%HoHr^7ihHFvt_9yNVDZtuLO!*Ss_ zss4AxiMLOurq+8lYK`x7H16qeP8?i!+b7aEaa=e~vL?43KTb`p_iWS}-|49LdZ21U zA9dEI+})pyaY8$>^J%JfV#kr=$`g0I`E#xJY}6Xx>8STT9eWzMidmcR?fX=WE82;j zPw8>a{`Yivzc}7K9j<@+`FcJs^8U`x`SW`^{5;5s?&-KUb8ja5(1~&`U!n+OdgUBQ z6e#)qRF9DyGr|AFfivFpriHVz*@f9RzH#B3-tdNnZ+!jh<##YyG86f|`KY5du3oxy z>)Mk~-n#7g5Pl2hy?f&2Qei;)D~nE+?=xFk#3eoaISo-=7$zJK&7k3A!@^O-Bg;QU9?S*bJzvk;^B0=N zq5=6QdEi)JJsfxV;VB+0m_2*rL_9e5$Rn3B-!o8V=6lwV0^=$mk;t#Y4ADBPtDyjpQ2at`#z<&9oElOKJ{_G>h z!l2|oito(#oYPL*dba(d{K*64PaZ^aF;RYEfPDio=;inRX~Ob*{?7ko{>kzu@+SsF z7EF*o%kIDN@+VJLEnT{CT>cvloc~__Ddi8Iv;3rC_KX?h%E8h36L(1r?$-uP4vbfR z;?Mg6=Fh%yqQ2<3qmEkYGROH4<&QcMIRNZMWk>#F)xYD9GVpklfy5olKNj|qVG$1; z3oe5u%0JQmqQ21jA?ikKcg%mz%$eiz-f18Y$Y++HZqhGpAGl|qoRq=)$shDV%Z@uv z^bwYs`8Q3W>`nuD;CYKo0^a$Y>;s~>JhpM6%a(fF(yA73qT$VSXZdRxMk$@l2O_mbdT#{Fin&O72natbp91+?T!= zbw1s^ovu~Omv1B;XMq2d`w{jjcZfUFe@=lOD7pvgU1T0`=V{dH&Yd%7;Y!fZ3|u7T zzUaiDf%Q(@Q~zSUFPb-RQk+khChDdqFJ8QH=?N!nTzdTR8&5j!xQ!0%`+1fxR98OA;x3-d>-YN}!Q=j0{-?w}Ka7gs*z(rT z?-)0!X}x%D{x5Ige7(D)6UqLv^C`X`nt9t}bVvVl`?Qy1BKtJsW`A*j_UXj;WAkM+ zMUCeM2O1n`aG=3~1_v4(XmFsxfd&T}9B6Q$!GQ(`8XWllI|pcQpgqOy5)~|zOWFna zzKZv5&-lOKPrje5{QvS_@Wq67n8{L@_&w>{hELpn^e^y}zPXbr|tQ9`kvn&%g^bM{MOf4I7IjSJblkEdzhBb>5%+3)Gt3z z-}CFT{G1NS@6`I`=jnTXdo4ewL-ISVe))O&o}b$}oes(G^!nxJ>3e>jveO~?O}JXh zV@&K`gT|LdgUhylP3)Rsl>C@Db|!Ppw$+{8{T;ddKz}J$80ssP`*RXdDfIUjdpj$W zC6LMZ(%${PJoU-_f~Fnt1~Wr%>^)BImmbf(4>|DX|Ja_EM5*g+mSC-*7TK2Hx%0XD{EQ{gTrgi z@0RJq93OIRrJlZ0Z=tuplG|A-@96I6F6~@X7|QqbbrW7P|Ljnw%02dn$0xpLB`z*o5c${x&b;HIOlBY2a`rLZS9vz{lSH*Ro5ywEanbo5rQUu_$9E2N=cjSd!?-DD zGV`CD;N>K*&Tbtjc0*v=g`1On-FV&LK!XGS891={f=q_}MD{bf@9H=d`atB}<_oUu z&i58JxAhlGy{p%*ZOQOgpMMK#kayYh{wVY3*_WRka~?hWiiW#89>rIjKlU5;&qH|S z`S1({@~vw5daTLPuP)H_0RBCdRi<;_6Yt#gCiC;%UfVA?Ufno7p1;%M<##$Kqi6YH zW7G5CzrNuK4%L}If3HoE9?#$DK~(wYbWTRk-f`$*B2Eu^mi?KYlQt25?!kA??~lOG zc$v)NC&_E^;!o^fygBy!Tf}+&>tFXeWODs)pFQulzq#zZ_3Llnq& zkaSp&vyq+GH*;qC-KDlXn^3i2Zp3pD< zeRJ$ze17boJRL8KV}&tNW%3K5Nlqr)Js+1{)mPK`WhY6$ zYvI_kl=LKJ`|>HsF5=4bkLa=TJDro!lU+1EJuXX$#Vu2%$MSc2ST6o^IwzxN&lKpP zjP9BOJ@@cCQPat@|e+b{SUmya;Yy0nb``b6i-+wXkBb~?}zaKvx%8>c^ z(CeFV$nP>+8Dx8|FwkAVkkMtL*VjQR&o1Vl$w+y2(P!lmKcD^Iczp5lI9~YuMCI}N zJ{aYB>D_%JO79mpyPxH8zn6vXWaV+Z@!RprBXZu_|9EoV+oj7Xrp12;OU_sCovxg} zrcmiu6<#T<-`|B#PCu=x%kh6r%Uw^gYT@pB_-J=hIdA#69LxS6>HH>3f6L)x%hmtA z`FjZ;5f z57i^a=1+Bg`#DYz<^0|$(&PC%JyoN}>70x|%a0tJ9@6Xd(Er*L>GAxXp6qMJAE#>) z{_LFsJ*=70x|T}_kohxN65iu8E?PEYnc%9H6A^? z&P&!;ldYY1Im48j51Nv`1j4RfARUTKh9yIewt%sm#2(Den(^EUp?~Q zT!(U5creOBdCI&wu8jSQ&yW53mVYNJi_2nun<@*Qy(}(AlVza{WgPyC{fjrpetpNk zha$z5~Zt9J{vh{(L0leE`#B zS;o`VU55Xqm&f~%$;#t>z+ZZKybqeJJl=<-%VXyyGqT**OqX~|hBIv9wiAC(ym?&O zm)x&uOq34W4%bSy8zc^fcHIr>E-agZ@hANpY@ks4(~I^DhG85@0-UR z1CAQQuul1}-ebTE-@3VF+pDk3{Krp!Mi|LI=5;k*ymj;CZ&|b`lWFcKmMi_4=I%WI zwihaGPTxFoOf4HxZ$@S&iw{N&EgOwcxe$|o3zVckYT+Rj`s*@%-RtV7O7vDjbe$(0Kog>s>{t&n4~aX6KYZVlW2(;~Lyg9Da? zeyU+(q+4tsohn0EC0xFfi3qGH|3I9)E0_9|S)Ew*aia^K0-SA?lyCB11Li&H_+Q&%JmIYx;!}F zfl5yVR|*xvB{wj@Y?7rc4HnAfVtXNHYdbQ{rE;;888!C}=Zd{38tP6+lcgU!3;7*! zoo1XD%_KF)vM?qWxd=F<04;0Rfk(dZC6{llY}cUXzC4gY9Om106x#WPGIi~Clo{aZ z0|5jAXe9aa0YH&_^d%{tyd~|yXb=$-cWy`3ckvHVPPeTq-`j}_V|AjSJ$(!W9NPND z(}@K>XeR^Zf_z-sj;5zAs=~(532-467Swf=32m&*GG80-DB;)LMJ(&;?<%(Kkc&<& za&EA-lxc3w_qTO{?Y-cx`lYb~c?4F5*j0RrPo#nP%A{Fe4;BkMrNzpN*8Gk_{8Z`C zZwltNw&`;oE`*LgOt`}1!`R@3+)X{-OOAtMMpg{Xi$Sr)7Yac+9ea}F?KhxTZ zb#A#zp|gjp-Ru#qg)$9%0Ych}fEl1FH7c#7StFIfY9Ix%ETFGcA#~yZ%Pke;IY+T9 z?_4WdT6?}MO_spUpq*6u%UH;S1dBVAA<#Nesp8LfmK|2|r36+A-TuD4oL8O-weq%^ zh0Qd#brrkYkz{|lP{>rwZSEoO@p1t2p~u}^|4>FljDg9A+|cli06%;n zac7~}+0_p}nu7VurS9$)kl&52s%@Y=Sh%Ejn|rQR&lLmx76jk5nF2c77WunQRlZBm zlT!7A1j!An7av*}*6w*A-V1^9EyDTWxMc5We(f(QlF;P>Au69$R`yYh0Cv2Wh+ggZ z>FdfvBsT*%`Cd~1u*?IJ0_CU3)rQ6#+lJe^u?#d007}teS2DPssyJB4Y4;7rmAWDP zGR?&uB3|J_gywrP`N2x2cL2P{OSmE|Pz~zlhs3qG9fd-BE95P;j=@4Vy7rzvDj;+V z$dSbMVj-i!6W1+e+W3H4sHhrILDcdNh-9ZuA0hdrqZDD76Tz5KKLjH?odU%b`q9!r znLP?5HajUa$4sTbjuu=ItwUc(%Zt71(6v#LUm_iXsu`yP>xE8q48rjWdXa)CGXT<# zoW$4f(3uRb0|{g%bf$cJB_k5Q8xI%fF8#VwF1^;3j8BWdZGA<3j{)j zlnNak#kQh|R#6<;=+V-;hjXPemYZg{qPW;U0P_2QF-T9Sm_-EPl?Ip$7p>4>C1uWZ zv}8KgQH=wR`k{TcQzvYtctOhgcS0BJLxH++Psw_muy4tXcI-Cy^Ka! zwqg+Y&8>wSQBfUz{oV$46owV-sx3DHIe51-40z5;q`?Z5?G!bznpVrq*Nu!2v~ zqH|z;yD4Go*j1>2lk8M2Sq}(PBNKrntyO%I99V!t3eMH*x}_){=#1M{6+^m-v6Crm ztX8y+lB9_eQ0hs~DiF>z_oJT$2YS2nIbfu1hjK*y!W<=1YpRm*tnnG-HEYiVFcQhd z%-~akA$*LRXmh^3AEb9gi!;Oj~mq~V>rTuGW0N&3?vs| zJ4#D~lHP}U(#+Ye*0Eu!ZYIE!7N*ba_EZVgXQ|x8r-^6zRGz^_)?UmcW1h(0)Qb$c zqunKa+FgpMMLTS#k}TCF+Lu%n!k~%uq6@1)pklzo(GR2uiuSm@_-`QzB1c@4e#2H4j;=n6kEYnVt(_+X|erVJa zqUd*clONPLuq#wb40f0k-#hZ!-{Cs%9)#*iMH=Jz_TnHlF`+|SpY$j4tacKrZSvUPh19#S=SG_RIvJPe z`zi_qN`dXC>hOM@elP8An3-v6%rQ<}MZX3Vd%2ybLd^=88yL(f@tM}Lh#6Y;U=OOG zBa!$fz{Mes1TeUT_K(qi zFNNS>v41!Ua-`TNh825a777QLP&|qRI-PVx=OPCi#++LOUr0O-wPYa#K? z=rz&FLgR~kIfxhN{q4DY4-Io_0fAIUZAy+b!xnp>GMZUO$*>217fCkAQ!rvUCkdi) z^z^~h;DN$VL!YFiAdY+t#AVd#$rX zfQaqHv(%D&+Sv#Gz&4Y5Fkz7jOJ?YiG#`yC2(P5*62*)1Q^vqrkyeBK7^^1)9E2Zq zm;Mq)q@_-9Jps11GEFg%9KA4ZT5N-+Lc{}M`pp|^Jcww}Ql~#vGbP4BJunK3J=SV8 z*ILY*Z9?P>t(L_Kz|bqI8%OV=UqFwBfkSPWIw+JflC9nnpmAa3?;&PX9L^QmJE{F) zn3?a?;V6f%7(r64fW^iWmF^)Orh16dRUVYc8CVw3R=TJgQ5=}RVYEs-ThbPSnuK@}8Ng|=)>1q6o_d#KEJ+es z87KpC=&4K!v0aX;fb;IqJdVWRET5N z#i%M_(x%fvpr%qP=hA@#y+9xLHE?3dge-(8=6xbn2;0faISk)nw)0OUNTd}zDGXCM znun?tc`0WhM*tepL+r5~)=Bhjw2NG)9h3;<_(P%E!%|;2yOi+_&(?WIGA0U7Hng@p z)d`HqQ37pQW4tvn!ZB0SLM@_*u?*&6GJ|S?jYdu=Gh`I(G_ZcH7sxYEq zcvWg6KL>izs-mZ8l-q3f9d&Y}%4=^yR~~esn4CE-LHQ)YeN=}giNbZV>|+NC==zF- zm@-B80HY$m*4BdAF-(!{7ut_;K6<^8uh% zk*>C535%#jLoIXuF4uwCnZ8W)7$qEsPEm>=rn5F8pJYy}*YvDoOX#HINT$|uZNWmpMR&ymrRT3Yc2 zVuE^)crd-uRqQ~D;tXf5y(rgS>L3sNiw>XxMrh1m_n2tzC|0@(!{AG45U^LjueP;jLm2bHQMdY9B?87>i&4XXk`2WuT1% zBN!)OiJ;UFD*@gP;b0F`h78Q*EA`4(5{QX=8g>U^Qs9XmowBGyW*0c4BsO=eKYT8f zz_zcWbPMM*5^1+b^rT|h&2f;6jz!||kEWlYx1(HyEi`K1+TBGX5YupcKoWJBG*+Q+ z!eE5aIiyAkn8?yTxzYvlF(Ba*6!W5DAxI$MY)~%^N$d-nMb1nuE?`}cgJll$?ykcR ziiKFZVUfZVtEY1+#kd?%Fj&H9GuKvtH9~PtP3y`+`68KJMc$QV0MTt0D8yT38NDAHZ@B2NuYV4v2oVG}W6i%dN1GaTFHP zXt@+I=s($Qq7Uj3ZqQGBcsTvZcNQ*XPe#%JNmIQdgw<>$@M1zXE*WONb&&;(m@56Xi#~CeWcSq5CgV7=)?d%$g~e&W)72Z zGWiYKfGC=EX|Leok%0J{m#aCjepR*kf@oVO?Sf>JO z_8=y1F*(EOQh(4++@FS_vPQ4Wz>LX63{5$5kp4b;wAZK_P=N9=`!2SpW=W0Gw91-FP!1$_gBaycryo9ob$z8uTTAE5@R;5Mv(a;@Kx6E$phA4VMY%b(M@N@ z5FOT`HKApjEe#rjtC&C^GP5xR@LcR=FEn)H)$HsqCmx1lZ|gue8n*nEZqhfxrw2weTva`9lgG0K}m@sOVuo>Aflozs@2 zKoHYbzb-aHdKOBbhWWQlC;7cUYn{@kd4fD0NqD15n!!L+bzXj!5KKq9&4YH104k{YmY1%Ltq`B;29DxwC3kr)OO z-m^(KbYu+AAOm!*A5?19nq_3@U7!q*ZNa7v4FOb+5Ust-*w~EFTri;%-B42VoQS4T zn5$*FS~6YG^4CMOp_RZ!NVQqkAz_GC1X+xi33=a3c}J=MjQ?Ja~`f36qJ7Cr8O z{2gS2K^LITAOH-a2Gqf*21ern`HN|V9la&SQkRRm`k7_*1}Cr225;AG&>37fPT$w1QHvnk1T`RbuS{h~{DuD%z+m4!CK;l-Ae3 z6GGlvfOt(FRInJcyN#1tf*xoY{autYNJYxa-kchaPWmHDta}^k=lUoz1KlFl&d`e) zEO=ok=pEo+=!N}a$rr=Bh*D|%d1ymiBBw-3kd(-6vl2pm1m+L?m0@Lv&gz2UDv~ij zRf6@S+q$wLjK_xYUqdZ~;sheN*ir|$xt-)SmsaBsIm@HpU`X#Nb`L8+2PLFg z9B^OUqPeZ`^tX~7t)(Frkq*<+N%#SEQ7%Zo7M2h0I&)hf7-SiQheyxE+d7IjDI|D^ zsUxo0vwo7&HbYXOotJ-5%3q_f9>+9UdHQ0g%)~<{heU*kh zV77;gN3@{5(RI4yuC+p8NRH{ou#Y-$;u2J=8_Uka8 zC4 z3{=d?m4OCJ5tdOqKb1X=-_6xM;kcz|J22E7=RZA8T14*82kl2pItFQjDeAZ8w# zb;ebPBf7X-tGusYT$!8T7y&o|muW1dK%jD^GEPhuB5m!JjyZD!Mf9Y=n2i=>c0op? z8I7TBU36clFlsoBBT#HM%cGf|H8Cl1#L9M_<0wlpKn`S$cr`!1iml7qH|QWrC`U8m z^bbbi=mt^|Q$c1$uspDc4OVu}`NP9S4beI)6LU7@qcV@0uZ(}$OUQ#JBi`7$VsD56 z`$`P|GC?>nDCM;!H^7c^4nq~r^Cvnr3yBz$c!nGx==yrFkwcLjnV0d5X@2OhDyRA? z!(6ChMjd0^EeZ?)E_{~{eR4P%CO0CQULGzuED4Ad&}mtsKSOam+?g1M9g zf*h7;3PCg%5>J=?TZJomXxl`dP#5@@Q}=Y)%h@Ai6Z#lOpbgRtfCi0`9%K%dEOLDi znsL9-fY3^qNTqUnRVW7Zl}~Rw{r8>cwfm;>#t*^OSEa2UcNsms+7;VHkm>hcqhz7V#by z3#Kh%dkgxp<_^HOS!{CVh-pznuyUCEu?G`mQdhR-Jhp<_OMD)g_BaAl8HJu0-ksE5 z;X*FAgDc_($?QEDEM9!y3XM}^x(|!fVC|GZ2P*8_>1U`@j1;}UQJ$Ug&!$C9LlL7{f$3 zz5gSa12_;7T=0l4T=#0AGX*S|Btm?&VlUCkFtj6?n2Ers(dTnjr!qq}%8L$*3FO=J zSSEzU_?Q8<2P9;^Se~P?F_;=6ba;AOMRR6FsyQzba>7d5Js|@IVM)T8bYR}QYFe_G zZx_sINJi)6MXetw_mcIp?n5gbl5Pit0I>k8v8SZZ&_8u;r9M(x$wK->Oa&P;>n#<* zJ+v(ys_G-uOY24Sne87_PFOEMx+E+SR}Ax1^VYLAB4JF)Rq9C#Yz+2WG3JiGK~-^? zP$B^HeW?H}BW#B`pUZO5=ZoPEtJ9*X+Bhr{_Z_0q$@CLC5#m)l3-CdbPE4)a2#&OG zpo%)k#SXF*NmoJf#i=TEbRyerxbcUw+BSaVn4AZeXP^Uify=#^S1n*yA%-;RAeat3 zD5B7YcM?^*vO+Islr?4)LbCX?a z&0z3=^%SFmft|5}xg;V#=GS8d<7=4z#z;CHx?^-!J4R=+BiEWr2dh3(&)8#yrkc!& zyROi=B=YXVI%F*0g&^?R|HR9IK4|%oUXhIE!XlLxx{6kg;p`%SjLS&1NcxjBcYmP% zfv$};#h^%V`Foq0Wi4)GEsEZ&>MmL-b%kUI$9>7?zC35TWu&ryu(aDTJ|}?22zGox z50kAsqH=>S=3vyO-sr%|gV3>>SMX`-xTd5dJ=NVc#Pj0R1r-hrRpFBg(&ekA@~|05 z^g}_odW*7Goa{S;>=Vf)a$mh@hdy=?8xGVYZaZ!3K)>M2qUB2&0}xIkGnkBpxD?^) za#`>w(`=cFJd1808GEB8tC%Fk1fI4$Opl=H{v=a)5Wg}DHQOEDJ$U0Y3T7@|6_>+`E5My+WX<>9Q z+$?49bcJlb4J`Eg8f3+Vl$3u=hfwQ~+sz_!v@^1A5}};9gp!64q#CV6da!4=BqWq=cO{<2$XlbEIftp~nghqmOhmMZ$1xzAEZR8oZMP_9HWlt?x zJL;iQI)o)jHC{*qYqqWwLt?I-!9b*pYb`h_jZRS>z)pxO?mQEpu5l2rcBSHND?zzn z=i4!WuWk7)yLXCzCTz>(e74xeS@GJEsHw?F0ZOy9Yb*y9Tt+PPhUqqH`z8iZz)@9yM;T~`l=DA*7bN$~a^<($ur+Db~DkdUM~H+>^V znb5n?f|{Z2(e#9kRYU55b%nzaE?$SZoKINVPb9Fu6t;{gwa1dvZX%-``3`SnTbm+E zjX!2&k|6LLQ#EQv@&N2#kYTo@)UpnvWdVeB06tQMy2dra+8;14^O6t_7qp+yMdspX z-K@pDDvY2~!e*|w;obwG!87N+m^eJzWlzfo1)y?DhIT?3ZK`C35P$`pvQmotlD-ng zL)XOPXPrDye#+`bG8K09Xu~#=Lx|}pvWXm4WbPDGbg`D&S;|BWXr=HC&4|KIopn1^ zmxyulxtB&XTDUsdBUw}(q;l9ztf2X!&2cQt13}mrX>cGMb2^`k-lv!LXvL(lRistI-h`;K z3SG_JR_$u$@EDyke3!pD*=^k^iE`b@ptMqbW3aR3B`jmeNIhUHCM3k9!HkIx~QIL?^jM%&8VhYi;Hp9$aKVI&8MUEXpaIGRG$QEkxHMocdyNyQeIo6{rV1V26W#DQZls*Wh3PH9%x9C&tkPRl8C?OH+CX1s$HgZ}f z3s`$5QjnDyh;FHb1(i^o&M9P)>u*QOAfN2Q~(QV*r6wt9eC#iVU zh??|-9bysYaH$iPK>13_48;Q5D6zl>nhj)o2WBe8gVZsrnj6IaMLXR{UU@%|s6#}E zcpTTQ&5X)eMM-7yV7H`BjYn%CeoVcyis#B;D7Waj7+ZTfjGsv470XxXx+dM!kA4YLy-;kJA!MgLMQro{7xr9pRVvd~!tT>cLdC$vw)N7| z)T2&Y`&q1Jb)8%$FNJAQJh2SumQI>jtZ9gsZ9|3^u})>$oQ`6(KjnB)ij9qcn2dvx z%hP_S>uM`gKhv_KEU+$HXVGi2@*cNh_F%_Co>#=8%4ASiy zdDd@=Ay&c#O_+sABLo`#;HVJQol_rC){pwC10kZ^2#nf%!&fRu`dJwmrIw`` z0kQUsrGQ2`-j#-WQ94t7Mxq{Nn+19SC^J&IY^}a-KcVQyVWW$<-x~raQS2x&oEIl1j$9w7 zx$^@sZ|Vw<9R-|(L1dyHFoy;65p^r`WA`=3!4j^54XZtDzYG_C=uQLbW|*0BoT|-@ zvW2~>J!#{{*7?sSRpi9XyM8TY*oSk6{;AO;!Gloz>u)o775TBLC zQMA;ADx6}0L`R|h8HFs4HRE4ZK+$;g_%s3t;zGyCP-JzeP{BHD2r2CCk3;0Z5mn;t zEk&8?UGk2PJl;X+fEvUT_L5IJIBe!ZFq`bwDv;S{TP7)MG^C@q6C%7B>Z2y1>I8R- ziD5e$hvOI&PSr>eu{MQ=qv!xg=54UR9vU-xPpmb;Bo{}@rhf1>C$qVujbm_>ns#Pv z&*zp936tU&jr>NRRa8Ro<(*oj3if|-VKs{fs}GkbQW+Z^ zpb8yQbB@x>kqVdk3oGdnh)Iy}5vK?7qzsw%z^KknlH+cj3QpyNZk@06VSPxYZ&<-2 zYgVv>$L>EBEH20a3JR4A>7QlN&xRt!mY zNJZq^%WYgBh(5gxMG8tQok1H=VN`=%Wf>fqC;}FyFlZrS99AFKrgD4?iBQ_fsaIAL z*H!s}4onc^&mNn>)NVtT`$wt3Qi*{f8ZhJYTS&<5Jn=#N9Crw{m<;4L9S≧rt?) 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 *lGq$ISaZieX#6Vkv4TYWt@?8GLaAYUNbYM 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, - - #[asset(key = "models", collection(typed, mapped))] - pub models: HashMap>, -} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/assets/mod.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/assets/mod.rs deleted file mode 100644 index a2c8b22..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/assets/mod.rs +++ /dev/null @@ -1,35 +0,0 @@ -pub mod assets_core; -pub use assets_core::*; - -pub mod assets_game; -pub use assets_game::*; - -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -use crate::state::AppState; - -pub struct AssetsPlugin; -impl Plugin for AssetsPlugin { - fn build(&self, app: &mut App) { - app - // load core assets (ie assets needed in the main menu, and everywhere else before loading more assets in game) - .add_loading_state( - LoadingState::new(AppState::CoreLoading).continue_to_state(AppState::MenuRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::CoreLoading, - "assets_core.assets.ron", - ) - .add_collection_to_loading_state::<_, CoreAssets>(AppState::CoreLoading) - // load game assets - .add_loading_state( - LoadingState::new(AppState::AppLoading).continue_to_state(AppState::AppRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::AppLoading, - "assets_game.assets.ron", - ) - .add_collection_to_loading_state::<_, GameAssets>(AppState::AppLoading); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/core/camera/camera_tracking.rs deleted file mode 100644 index 62da84d..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/camera/camera_tracking.rs +++ /dev/null @@ -1,58 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Debug)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -/// -pub struct CameraTracking { - pub offset: Vec3, -} -impl Default for CameraTracking { - fn default() -> Self { - CameraTracking { - offset: Vec3::new(0.0, 6.0, 8.0), - } - } -} - -#[derive(Component, Reflect, Debug, Deref, DerefMut)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -pub struct CameraTrackingOffset(Vec3); -impl Default for CameraTrackingOffset { - fn default() -> Self { - CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) - } -} - -impl CameraTrackingOffset { - fn new(input: Vec3) -> Self { - CameraTrackingOffset(input) - } -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Add this component to an entity if you want it to be tracked by a Camera -pub struct CameraTrackable; - -pub fn camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, With>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - let target_position = tracked_transform.translation + tracking_offset.0; - let eased_position = camera_transform.translation.lerp(target_position, 0.1); - camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/mod.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/core/mod.rs deleted file mode 100644 index 9c38fa7..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/mod.rs +++ /dev/null @@ -1,31 +0,0 @@ -pub mod camera; -pub use camera::*; - -pub mod lighting; -pub use lighting::*; - -pub mod relationships; -pub use relationships::*; - -pub mod physics; -pub use physics::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::*; - -pub struct CorePlugin; -impl Plugin for CorePlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - LightingPlugin, - CameraPlugin, - PhysicsPlugin, - BlueprintsPlugin { - library_folder: "models/library".into(), - format: GltfFormat::GLB, - aabbs: true, - ..Default::default() - }, - )); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/controls.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/controls.rs deleted file mode 100644 index a138d7c..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/controls.rs +++ /dev/null @@ -1,25 +0,0 @@ -use bevy::{ - ecs::system::Res, - input::{keyboard::KeyCode, Input}, - prelude::{info, ResMut}, -}; -use bevy_rapier3d::{prelude::RapierConfiguration, render::DebugRenderContext}; - -pub fn pause_physics(mut physics_config: ResMut) { - info!("pausing physics"); - physics_config.physics_pipeline_active = false; -} - -pub fn resume_physics(mut physics_config: ResMut) { - info!("unpausing physics"); - physics_config.physics_pipeline_active = true; -} - -pub fn toggle_physics_debug( - mut debug_config: ResMut, - keycode: Res>, -) { - if keycode.just_pressed(KeyCode::D) { - debug_config.enabled = !debug_config.enabled; - } -} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/physics_replace_proxies.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/physics_replace_proxies.rs deleted file mode 100644 index b91462c..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/physics_replace_proxies.rs +++ /dev/null @@ -1,101 +0,0 @@ -use bevy::prelude::*; -// use bevy::render::primitives::Aabb; -use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::prelude::{ActiveCollisionTypes, ActiveEvents, ComputedColliderShape}; - -use super::utils::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum Collider { - Ball(f32), - Cuboid(Vec3), - Capsule(Vec3, Vec3, f32), - #[default] - Mesh, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum AutoAABBCollider { - #[default] - Cuboid, - Ball, - Capsule, -} - -// replaces all physics stand-ins with the actual rapier types -pub fn physics_replace_proxies( - meshes: Res>, - mesh_handles: Query<&Handle>, - mut proxy_colliders: Query< - (Entity, &Collider, &Name, &mut Visibility), - (Without, Added), - >, - // needed for tri meshes - children: Query<&Children>, - - mut commands: Commands, -) { - for proxy_colider in proxy_colliders.iter_mut() { - let (entity, collider_proxy, name, mut visibility) = proxy_colider; - // we hide the collider meshes: perhaps they should be removed altogether once processed ? - if name.ends_with("_collider") || name.ends_with("_sensor") { - *visibility = Visibility::Hidden; - } - - let mut rapier_collider: RapierCollider; - match collider_proxy { - Collider::Ball(radius) => { - info!("generating collider from proxy: ball"); - rapier_collider = RapierCollider::ball(*radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Cuboid(size) => { - info!("generating collider from proxy: cuboid"); - rapier_collider = RapierCollider::cuboid(size.x, size.y, size.z); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Capsule(a, b, radius) => { - info!("generating collider from proxy: capsule"); - rapier_collider = RapierCollider::capsule(*a, *b, *radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Mesh => { - info!("generating collider from proxy: mesh"); - for (_, collider_mesh) in - Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) - { - rapier_collider = RapierCollider::from_bevy_mesh( - collider_mesh, - &ComputedColliderShape::TriMesh, - ) - .unwrap(); - commands - .entity(entity) - .insert(rapier_collider) - // FIXME: this is just for demo purposes !!! - .insert( - ActiveCollisionTypes::default() - | ActiveCollisionTypes::KINEMATIC_STATIC - | ActiveCollisionTypes::STATIC_STATIC - | ActiveCollisionTypes::DYNAMIC_STATIC, - ) - .insert(ActiveEvents::COLLISION_EVENTS); - // .insert(ActiveEvents::COLLISION_EVENTS) - // break; - // RapierCollider::convex_hull(points) - } - } - } - } -} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/utils.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/utils.rs deleted file mode 100644 index 7886710..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/utils.rs +++ /dev/null @@ -1,175 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs - -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - -pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - parent: Entity, - children: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)>; -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - parent: Entity, - children_query: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)> { - if let Ok(children) = children_query.get(parent) { - let mut result: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .map(|(entity, mesh_handle)| { - ( - entity, - meshes - .get(mesh_handle) - .expect("Failed to get mesh from handle"), - ) - }) - .map(|(entity, mesh)| { - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (entity, mesh) - }) - .collect(); - let mut inner_result = children - .iter() - .flat_map(|entity| { - Self::search_in_children(*entity, children_query, meshes, mesh_handles) - }) - .collect(); - result.append(&mut inner_result); - result - } else { - Vec::new() - } - } -} - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/relationships/mod.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/core/relationships/mod.rs deleted file mode 100644 index 4128453..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/relationships/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub mod relationships_insert_dependant_components; -pub use relationships_insert_dependant_components::*; - -use bevy::prelude::*; - -pub struct EcsRelationshipsPlugin; -impl Plugin for EcsRelationshipsPlugin { - fn build(&self, app: &mut App) { - app; - } -} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/core/relationships/relationships_insert_dependant_components.rs deleted file mode 100644 index 4e9ad17..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/relationships/relationships_insert_dependant_components.rs +++ /dev/null @@ -1,15 +0,0 @@ -use bevy::prelude::*; - -pub fn insert_dependant_component< - Dependant: Component, - Dependency: Component + std::default::Default, ->( - mut commands: Commands, - entities_without_depency: Query<(Entity, &Name), (With, Without)>, -) { - for (entity, name) in entities_without_depency.iter() { - let name = name.clone().to_string(); - commands.entity(entity).insert(Dependency::default()); - warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/game/in_game.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/game/in_game.rs deleted file mode 100644 index e8090fa..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/game/in_game.rs +++ /dev/null @@ -1,80 +0,0 @@ -use bevy::prelude::*; - -use crate::{ - assets::GameAssets, - state::{GameState, InAppRunning}, -}; -use bevy_gltf_blueprints::{BluePrintBundle, BlueprintName, GameWorldTag}; - -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>, -) { - println!("setting up all stuff"); - // 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.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) -} - -pub fn spawn_test( - keycode: Res>, - mut commands: Commands, - - mut game_world: Query<(Entity, &Children), With>, -) { - if keycode.just_pressed(KeyCode::T) { - 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_gltf_blueprints/basic_scene_components/src/game/in_main_menu.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/game/in_main_menu.rs deleted file mode 100644 index cecd13a..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/game/in_main_menu.rs +++ /dev/null @@ -1,113 +0,0 @@ -use bevy::prelude::*; - -use crate::state::{AppState, GameState, InMainMenu}; - -pub fn setup_main_menu(mut commands: Commands) { - commands.spawn((Camera2dBundle::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>, - // mut next_game_state: ResMut>, - // mut save_requested_events: EventWriter, - // mut load_requested_events: EventWriter, -) { - if keycode.just_pressed(KeyCode::Return) { - next_app_state.set(AppState::AppLoading); - // next_game_state.set(GameState::None); - } - - if keycode.just_pressed(KeyCode::L) { - next_app_state.set(AppState::AppLoading); - // load_requested_events.send(LoadRequest { path: "toto".into() }) - } - - if keycode.just_pressed(KeyCode::S) { - // save_requested_events.send(SaveRequest { path: "toto".into() }) - } -} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/game/mod.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/game/mod.rs deleted file mode 100644 index a650314..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/game/mod.rs +++ /dev/null @@ -1,115 +0,0 @@ -pub mod in_game; -pub use in_game::*; - -pub mod in_main_menu; -pub use in_main_menu::*; - -pub mod picking; -pub use picking::*; - -use crate::{ - insert_dependant_component, - state::{AppState, GameState}, -}; -use bevy::prelude::*; -use bevy_rapier3d::prelude::*; - -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; - -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} - -// collision tests/debug -pub fn test_collision_events( - mut collision_events: EventReader, - mut contact_force_events: EventReader, -) { - for collision_event in collision_events.read() { - println!("collision"); - match collision_event { - CollisionEvent::Started(_entity1, _entity2, _) => { - println!("collision started") - } - CollisionEvent::Stopped(_entity1, _entity2, _) => { - println!("collision ended") - } - } - } - - for contact_force_event in contact_force_events.read() { - println!("Received contact force event: {:?}", contact_force_event); - } -} - -pub struct GamePlugin; -impl Plugin for GamePlugin { - fn build(&self, app: &mut App) { - app.add_plugins(PickingPlugin) - .register_type::() - .register_type::() - .register_type::() - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) - .add_systems( - Update, - ( - // insert_dependant_component::, - player_move_demo, //.run_if(in_state(AppState::Running)), - // test_collision_events - 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_gltf_blueprints/basic_scene_components/src/main.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/main.rs deleted file mode 100644 index 6edba33..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/main.rs +++ /dev/null @@ -1,33 +0,0 @@ -use bevy::prelude::*; -use bevy_editor_pls::prelude::*; - -mod core; -use crate::core::*; - -pub mod assets; -use assets::*; - -pub mod state; -use state::*; - -mod game; -use game::*; - -mod test_components; -use test_components::*; - -fn main() { - App::new() - .add_plugins(( - DefaultPlugins.set(AssetPlugin::default()), - // editor - EditorPlugin::default(), - // our custom plugins - StatePlugin, - AssetsPlugin, - CorePlugin, // reusable plugins - GamePlugin, // specific to our game - ComponentsTestPlugin, // Showcases different type of components /structs - )) - .run(); -} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/state.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/state.rs deleted file mode 100644 index 8e983d9..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/state.rs +++ /dev/null @@ -1,54 +0,0 @@ -use bevy::app::AppExit; -use bevy::prelude::*; - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum AppState { - #[default] - CoreLoading, - MenuRunning, - AppLoading, - AppRunning, - AppEnding, - - // FIXME: not sure - LoadingGame, -} - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum GameState { - #[default] - None, - - InMenu, - InGame, - - InGameOver, - - InSaving, - InLoading, -} - -// tag components for all entities within a certain state (for despawning them if needed) , FIXME: seems kinda hack-ish -#[derive(Component)] -pub struct InCoreLoading; -#[derive(Component, Default)] -pub struct InMenuRunning; -#[derive(Component)] -pub struct InAppLoading; -#[derive(Component)] -pub struct InAppRunning; - -// components for tagging in game vs in game menu stuff -#[derive(Component, Default)] -pub struct InMainMenu; -#[derive(Component, Default)] -pub struct InMenu; -#[derive(Component, Default)] -pub struct InGame; - -pub struct StatePlugin; -impl Plugin for StatePlugin { - fn build(&self, app: &mut App) { - app.add_state::().add_state::(); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/test_components.rs b/examples/bevy_gltf_blueprints/basic_scene_components/src/test_components.rs deleted file mode 100644 index d0e6fbd..0000000 --- a/examples/bevy_gltf_blueprints/basic_scene_components/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 TuppleTestF32(f32); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -struct TuppleTestU64(u64); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -pub struct TuppleTestStr(String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTest2(f32, u64, String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTestBool(bool); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec2(Vec2); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec3(Vec3); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec(Vec); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTestColor(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_gltf_blueprints/basic_wasm/Cargo.toml b/examples/bevy_gltf_blueprints/basic_wasm/Cargo.toml deleted file mode 100644 index 97f1e0e..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "bevy_gltf_blueprints_basic_wasm_example" -version = "0.3.0" -edition = "2021" -license = "MIT OR Apache-2.0" - -[dependencies] -bevy="0.12" -bevy_gltf_blueprints = { path = "../../../crates/bevy_gltf_blueprints" } -bevy_rapier3d = { version = "0.23.0", features = [ "serde-serialize", "debug-render-3d", "enhanced-determinism"] } -bevy_asset_loader = { version = "0.18", features = ["standard_dynamic_assets" ]} -bevy_editor_pls = { version = "0.6" } -rand = "0.8.5" diff --git a/examples/bevy_gltf_blueprints/basic_wasm/README.md b/examples/bevy_gltf_blueprints/basic_wasm/README.md deleted file mode 100644 index a8c33f3..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# Basic wasm example/demo - -This example showcases various components & blueprints extracted from the gltf files, including physics colliders & rigid bodies, in 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_blueprints_basic_wasm_example.wasm - -``` - -## Running this example - -run a web server in the current folder, and navigate to the page, you should see the example in your browser - - diff --git a/examples/bevy_gltf_blueprints/basic_wasm/assets/advanced.blend b/examples/bevy_gltf_blueprints/basic_wasm/assets/advanced.blend deleted file mode 100644 index 0c555de7b920a30a76948e03c0d2a5ee2ebe32f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1341440 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%0A!C>(*n05%z2a(hgX7Q>*@yIyyXtdd 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�E0Y}~E%Qa!8Jnv5 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 UI?VY=_`8*&<%$#{fq(q_e~VOBn*aa+ diff --git a/examples/bevy_gltf_blueprints/basic_wasm/assets/assets_core.assets.ron b/examples/bevy_gltf_blueprints/basic_wasm/assets/assets_core.assets.ron deleted file mode 100644 index 8d0a099..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/assets/assets_core.assets.ron +++ /dev/null @@ -1 +0,0 @@ -({}) \ No newline at end of file diff --git a/examples/bevy_gltf_blueprints/basic_wasm/assets/assets_game.assets.ron b/examples/bevy_gltf_blueprints/basic_wasm/assets/assets_game.assets.ron deleted file mode 100644 index 82111ed..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/assets/assets_game.assets.ron +++ /dev/null @@ -1,14 +0,0 @@ -({ - "world":File (path: "models/World.glb"), - /*"models": Files ( - paths: [ - "models/library/Container.glb", - "models/library/Health_Pickup.glb", - "models/library/MagicTeapot.glb", - "models/library/Pillar.glb", - "models/library/Player.glb", - "models/library/Unused_in_level_test.glb" - ], - )*/ - -}) \ No newline at end of file diff --git a/examples/bevy_gltf_blueprints/basic_wasm/assets/models/World.glb b/examples/bevy_gltf_blueprints/basic_wasm/assets/models/World.glb deleted file mode 100644 index b71d240e5907ee973a64fe682bb5ae8e3307362b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6448 zcmb`LTW{RP6@Zyr+qCH=ZQY`80-q^%?ws*M8(Vd1H@0QSZcxB66lz7wi>!9ly*P0M z0s3bt`WyO#`W-G;T508#0(c>D$ip*p?l&F`o_+p)mSyTsS@zkjEc?gP?Z?M?J()Dq z{PuBv&0Dmqubc6tKN^B; zN|m1!dGp=08476f&q=eN-+rEdaerrb&_8%Jo$MaXhP~;m9^@~U5qFw@&-&vVA`6dK zod|eN1d_*jZ!{1Ip6f!D(VAGrDn#d;3fcm4F?eTuG+yhZbPVv*AGVB7-{iM-r7BF&Ag6+dwZ;C|lUF5_1P=F6bp#0>;2_jE==q$gjy1PlsL5H`yJ8ce+cIPPU9_=^s zUKP49g)Lm+i%?WWEK;EX>Oz|W7PTw1FLZcu0%wa&hz0R+-I7Aj$6^Q{*6Y+U!g z=?@RKU%qTD`P_t36)tkwlv~buTEA}Uy@9YVmg+d1Z%4B6Xj+Syu(zp78?Ca=o60I( z#b|8-(Ai4s5R6I2Mdd1i8Etj)%J^hd3{^7dw~F369imb$#S{$0;dVF~oDr~9StTqI zf)^SNMO39%mGd^~=zOJY0o&Gvq*SsgIgRmNoD|36VV&f62eamAjNu;7jq+8#H5yLq zJ|6s4jzmw7>Tieln{g{~kw5A8zFElsR&6W}D3#J2afxm1ge9GlvOYMN6$cC624zEK zQq%_J6oJ@qDjE|M%8B+e-&>=>pieAeh)2!jl^EktR&k-uDt{l3X2X3LnDlC~*mG4T z3!S7{(2;RL{5XhP`xL4wpk{IH%UBDQbwPPu_`rj>bjQWq%P+eIvMFsUZ?R030=|k4 z#LmhYF_?GO3vZ??0zvAGzyLuxlp(_Jc;9L?ktuFm4nsf zMElyH8KWz#6de~4I^p9)kmDU*OiW+)Dr4~%Z<4pxMx;?*Bt$_R3Q6xOXE+_04lv<^ ziry%K<(*1xR=i!C5)E6GQmVX zt%^m&!iF5?Q&s88M1L)ZkLrVd?^#nHji&4PTSB{%J6qxouoj}Pl2)jvuw|?aS(H#D zd*e36W>s1|3H1?E7FgA?H_tcvEYi1Td(Bd|;T(m@jW=w;@RgOLuLrI8_9huKRqXd9 zL&+C}ueK$8<2uw{bm=O>NmnKDOsaHF!@F|VD)EB#)~WFVB8psfbRvr!Vyoa_D-nPR zCQEX>vq?FZ&;nr&ldc5IV`T!7AWYYD`A!Sc6`UKwF;Q;OE5*hKBbgUH5}!0SX!#JD3QoNjlS%bU2z}m>P=W|;U0EW=()ob@R*<2Z zXFVsg@^Q{^R(5ldu8n<8%Pi9#vJ!6(#-Kfgnh`f$;t z&_@kK5G|KtxIrCaJZXpUOWIQ0l`Ph_D6~h(YrNHq*4h?@N~&W;t0vu*iDHk1Mag*@ z*(_Z+IXEWUra=Lblnr%;){OC_!-~jHdv{eJM4BT>?}oH5jxL*8i&91nI!f)7Q;PS{ zG8={pjcMCqXFlRwn4!)llp}`CBbmis(-F(eDi1p{Q!uk}+Qnayzj--&O+$-q5S9(H6F2O=jE#hl_9tn??XFw7q9RC>JV`=1PICR+F%_YeD` z?zx=xbUN```6a?_RimSReoDk*dOlq zd$Prz>rKXt<@lBMqbtofq=^j|G#S;GX@+H*6=YCH-GhV4Xgrr=Z}#$KGybyQeB1Kg z8yy~vhRtyLtR470LtMcZgxQb}B9J+(zhnOLisskL7=74pN8}c;*+RMx1z+CVvdnVF z`SSTF?KVGRw^^Z$!dGdxz*aV->}WsTy7TbP&dPp-U)_JM8@kI*IefM#TCba{ zMw6}iLs#o$!)(``zHWQV$J-4j%$;vv)lGF3^>f{j`WD+4%0ZlS!!A2g>qL8Rrp?1< zcray*r(MY9dGRfV;G5Rt1Np#a9mB%8k6gP|j=Jeyi?=M3rHj4sUJ~+!z1mzNY}YVt z;w6D;?r%e6Nk>c!1gvd7%)oynK%OuZ$&Y;0`&?}IG6 z``|HORqy|oi>!C&|7Z6LIIFyC;T`PsuRNW$pzNmig4g2Cx1HU;m%$4E?{hu4z-=4PD z`7P(luhswQoR2x6y{?{f1uel8UA3#6ciP^r?&aN?ojV-CT)@tFkTc|W+Fn=Bf!1Qr z0;fd>-mbF$^dioG{?a|m%D+6zZv$L8OIG=PEzjNi&jcoTtb#Ak8~iV?Ukgt6ez9+P z6?}QVyvliteaoxh$@As)gY08oe4PCx`&st$>=xHs+3&L7XMfB-<@#y%tL&HAud@%i den`ChH2ZD#3D-}u_p(1^zsNq~`cd|q?Ef;npq>B# diff --git a/examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Container.glb b/examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Container.glb deleted file mode 100644 index 72ff5ca019c3036f54c3c6e3009605dd1ec9fd02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5552 zcmeHK+iu%N5Z$IpujwUi)1rM6_>dEHG>RPub!%IJZ3G33K&B+xCLogrNx3!z z1NxADME}6~w4Pb*N|Y#B7LxX<3utF{cIM1wXP5R#@8IP<#@OGF8QXry*l+vI-GLV7 zc~od?1MMVAqAV=ZOk2}_Kh4r4&1)wxsjc^-q#I?mt)H8<3%hRAZClf|izv(EG=Z{N zH?(VA%R2zj)(pwz+S=hjOTshAv{tK#&dysxrL~bJMHs^wP?EG8k*1+@-PEl&*Ka1W zfp!+X|ER}RaozkYZ#A0;B!%=G9?`Lkmez;bMCvg?Qz?39NYDM{Z1kzjWm+H z7Z#$VD92Ny&J7d8@onyVfe%#Ocr%^zew5_myim!7v72*Z&qs#;Y2--qEG(id4tt~C z=%)R4FWN`JyV_cj^`mj1o5@A1-Rnn4>%5)qL`8^FclOf$$!QYh;<(#k9wFs4dl_~_ z&mJ0R3hvs5%}vj=T-$M6UxzR-ER@l;9Lx7D&$b}*4KY0Kn2zIFp3W&a=|%yfku&9S zEUP=$bOd4V{50G_@1j%Iw>NiRAkxL@sH17A{8!AY60T8qt-v>Z$FR7Cj&mI(<+@n8 z+zm{Z2bO6=#GSzLY}*bD*R*WU{#UacHRF5C(Fy|7^G(M>TDSppaC1cOlB1|cekxv| z@msagZ%1{5TXaZSd=?k+g;WTOB8%Jof|djARdavqV5_++9;n^s-p=!FZ4D2_!R8+u z&F0>VmZ7bg*SZ!b-MB+0*5m@f=33lk^{@$_2EV&cTi29NXWFN`&?legbA>#;iBEsp zXRy$x37;r)*g*;KR*i0cyMKHfWv}DtPf@(_dwg(pjvM80)77<3+E4IZLLcMVxTMDw z9|&`VlwfEhem?t@v->p4&SmO%ueVJJ)GQIKQoGmAtvlS4g~aVB9rU@Lo0dgB842 zf;Tzt!&Kq%jH~XGomXx*%X9I}|N1Fo>s!0{4`Xe50hZh$kH2jWOr(WUJ)! zc*H?N#B&?pDCsQX35R?soOwLiD)~GfdtwYFp|#{mQm)&qTC?J~Uzr|}j@(yvWlH+Ao~4AR?8=n%Xgy0mWVj0WeZ)RtpRvc7 zAG2@SckBoD2=gQMCHsPX#qMLi&+f60**EMV=7;P9_C5QYJ;3~ceGP>2Io--Ppi8me zz-SRK@y0mNt?*>4o?A z7vWIf3VfpYi9UvM4ZcWDl*SRQ<$i-?;29|C)4GOVnI4gj+*fvGO8T^(rG%&K%9QkI zJxzan^5t7&`>z|&#%=shPj+cv=q%zT&f5}Bg_pKMzJPC(;#tU-VrVSlOYtZi@;k+s zVo*3jN6As+8`O=)P|WjtZ$?L`Q@t^UM2C040miH^VK1>2&R7OaHE2)llVGT%6PdD| J)%m~w{{hNm8y)}v diff --git a/examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Health_Pickup.glb b/examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Health_Pickup.glb deleted file mode 100644 index 4643320e32df88f054a454c5d2d09f8b5f16f5f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5068 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 diff --git a/examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Pillar.glb b/examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Pillar.glb deleted file mode 100644 index 891122ca204401ba432bc57676b0042902519cea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3596 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 X*6ii{i<%DppO^mq`S~9F=%7CV&=wL? diff --git a/examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Unused_in_level_test.glb b/examples/bevy_gltf_blueprints/basic_wasm/assets/models/library/Unused_in_level_test.glb deleted file mode 100644 index b5937bb6645890613ec4e82c231464e2760b8f93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5176 zcmb7FO>-kx6+KDF2Okqi2!TKXN{0kbqEY%o-yjK(Gm~+~V-NCpl3+~JlAh&eq;ApO z@>pZcq$+zh6pK``%Pt$1u(7>hmCBkb{sJ5L16kzW=YICnj3jI9()H2n`_4P}ynEZ- z-mR;T11P@${Ou{=z4f)#eZz}mkr>r|qbmXtc}W-C%?W<(>#SBFZek zy_VU{=geF_Z)A;K5ygHOP_msfjf1Qq_7V~BQoIq1j#1q-u3u}qeJ>G_@AYC=^!+&Y zcZC}#kqElUjk1M5bH~sdVvu{nm>vt}Poe@2JXG9hFZMJw;DebU72m=u$vB5^1`Ys*qghM)M zoy60{B+*dNb*0yF)oaT;-z2e)W10C57;w1+La(-V{1J6_PGZ`(8gV1j%u|dd9Mg#7irM2ejmF7Ab z6?QtVx97*M*YmqHn(47Y==S`+Pg5=z$oSOYffuyBJAy5aIDw{-Lx3@)f+ZT5w z%W1dXk~I`8yO=fFJZr>kmzi#ll+ff9^Z7D$rBk*FMSf!DoT6DQ6&xpDaZI}6O7`I_ zvaauw0h>IO4>DYuKrtbYI8uXeUs-bG8$vI_V!i3eO)Fy7ezNT0{mz*Q)Vk{Y^`*s? z#iktVGX=V>($dx_5i2JzRvI^l{N$Cj?QQvfr_-Ol-Jn!WJ~5h02Il|Ag}+KYbK<&|KNGVTnkN%6Yh_PJ%185J&6DFf zvGRfQXJW36Ia$vm;JTJS6KkF{reWezebSf*vu~*njYq)jgUX+YSp)NvA5zbpn0rIz z&&1liuqSGc#xQHu`eZJwdD55@D<3$2Cg$3hldR!BnHQ_xko?--ht}Ei!Ds)J{PW<{ zw>tOKG|W8YA=f46{XEQEG{1^-B2Mo`>YoRvwaEN=Fl%LL1oWhWXsI zb~Rt}uBWYQJ}{5+VGMuv=SppBbpM$C9{%O?|JDBU@4@lkpZN5MK6S>l#_NY_o%2-w zw7t`KzWo2c*aPG~?j6%d)`$d9~{~ z8m>LykMgRoP4P>)xaEeom1DQYoHv}lZ^@ak|)hqoTvHI>f*DN zel6!v!|bQZIn?l&Kl-|^lYCIKQ`fbn`O=4J`5NcgxfJg602xZY~mgK0+%tOIKrQ>gqyfa@h<*|cX1sX6gO}K@8NMgL-85h!W!PkCdEyx z<2Js5XDL35U*lK!5Pgb$?BN4^3oVK*^l$|ZT#7E1VZ+2L6kov>uHm, - - #[asset( - paths( - "models/library/Container.glb", - "models/library/Health_Pickup.glb", - "models/library/MagicTeapot.glb", - "models/library/Pillar.glb", - "models/library/Player.glb", - "models/library/Unused_in_level_test.glb" - ), - collection(typed) - )] - pub models: Vec>, - /* - #[asset(key = "models", collection(typed, mapped))] - pub models: HashMap>, - - #[asset(key = "models", collection(typed))] - pub models: Vec>,*/ -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/assets/mod.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/assets/mod.rs deleted file mode 100644 index a2c8b22..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/assets/mod.rs +++ /dev/null @@ -1,35 +0,0 @@ -pub mod assets_core; -pub use assets_core::*; - -pub mod assets_game; -pub use assets_game::*; - -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -use crate::state::AppState; - -pub struct AssetsPlugin; -impl Plugin for AssetsPlugin { - fn build(&self, app: &mut App) { - app - // load core assets (ie assets needed in the main menu, and everywhere else before loading more assets in game) - .add_loading_state( - LoadingState::new(AppState::CoreLoading).continue_to_state(AppState::MenuRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::CoreLoading, - "assets_core.assets.ron", - ) - .add_collection_to_loading_state::<_, CoreAssets>(AppState::CoreLoading) - // load game assets - .add_loading_state( - LoadingState::new(AppState::AppLoading).continue_to_state(AppState::AppRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::AppLoading, - "assets_game.assets.ron", - ) - .add_collection_to_loading_state::<_, GameAssets>(AppState::AppLoading); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/core/camera/camera_replace_proxies.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/core/camera/camera_replace_proxies.rs deleted file mode 100644 index 9055c95..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/core/camera/camera_replace_proxies.rs +++ /dev/null @@ -1,24 +0,0 @@ -use bevy::core_pipeline::bloom::{BloomCompositeMode, BloomSettings}; -use bevy::core_pipeline::tonemapping::{DebandDither, Tonemapping}; -use bevy::prelude::*; - -use super::CameraTrackingOffset; - -pub fn camera_replace_proxies( - mut commands: Commands, - mut added_cameras: Query<(Entity, &mut Camera), (Added, With)>, -) { - for (entity, mut camera) in added_cameras.iter_mut() { - info!("detected added camera, updating proxy"); - camera.hdr = true; - commands - .entity(entity) - .insert(DebandDither::Enabled) - .insert(Tonemapping::BlenderFilmic) - .insert(BloomSettings { - intensity: 0.01, - composite_mode: BloomCompositeMode::Additive, - ..default() - }); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/core/camera/camera_tracking.rs deleted file mode 100644 index 62da84d..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/core/camera/camera_tracking.rs +++ /dev/null @@ -1,58 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Debug)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -/// -pub struct CameraTracking { - pub offset: Vec3, -} -impl Default for CameraTracking { - fn default() -> Self { - CameraTracking { - offset: Vec3::new(0.0, 6.0, 8.0), - } - } -} - -#[derive(Component, Reflect, Debug, Deref, DerefMut)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -pub struct CameraTrackingOffset(Vec3); -impl Default for CameraTrackingOffset { - fn default() -> Self { - CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) - } -} - -impl CameraTrackingOffset { - fn new(input: Vec3) -> Self { - CameraTrackingOffset(input) - } -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Add this component to an entity if you want it to be tracked by a Camera -pub struct CameraTrackable; - -pub fn camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, With>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - let target_position = tracked_transform.translation + tracking_offset.0; - let eased_position = camera_transform.translation.lerp(target_position, 0.1); - camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/core/camera/mod.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/core/camera/mod.rs deleted file mode 100644 index a6bbb65..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/core/camera/mod.rs +++ /dev/null @@ -1,24 +0,0 @@ -pub mod camera_tracking; -pub use camera_tracking::*; - -pub mod camera_replace_proxies; -pub use camera_replace_proxies::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -pub struct CameraPlugin; -impl Plugin for CameraPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .add_systems( - Update, - ( - camera_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - camera_track, - ), - ); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/core/lighting/lighting_replace_proxies.rs deleted file mode 100644 index 48c0908..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/core/lighting/lighting_replace_proxies.rs +++ /dev/null @@ -1,25 +0,0 @@ -use bevy::prelude::*; - -use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; - -// fixme might be too specific to might needs, should it be moved out ? also these are all for lights, not models -pub fn lighting_replace_proxies( - mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, - mut added_spotlights: Query<&mut SpotLight, Added>, - mut commands: Commands, -) { - for (entity, mut light) in added_dirights.iter_mut() { - light.illuminance *= 5.0; - light.shadows_enabled = true; - let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { - first_cascade_far_bound: 15.0, - maximum_distance: 135.0, - ..default() - } - .into(); - commands.entity(entity).insert(shadow_config); - } - for mut light in added_spotlights.iter_mut() { - light.shadows_enabled = true; - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/core/lighting/mod.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/core/lighting/mod.rs deleted file mode 100644 index c9688cd..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/core/lighting/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod lighting_replace_proxies; -use lighting_replace_proxies::*; - -use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; -use bevy::prelude::*; - -pub struct LightingPlugin; -impl Plugin for LightingPlugin { - fn build(&self, app: &mut App) { - app - .insert_resource(DirectionalLightShadowMap { size: 4096 }) - // FIXME: adding these since they are missing - .register_type::() - - .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely - ; - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/core/mod.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/core/mod.rs deleted file mode 100644 index 9c38fa7..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/core/mod.rs +++ /dev/null @@ -1,31 +0,0 @@ -pub mod camera; -pub use camera::*; - -pub mod lighting; -pub use lighting::*; - -pub mod relationships; -pub use relationships::*; - -pub mod physics; -pub use physics::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::*; - -pub struct CorePlugin; -impl Plugin for CorePlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - LightingPlugin, - CameraPlugin, - PhysicsPlugin, - BlueprintsPlugin { - library_folder: "models/library".into(), - format: GltfFormat::GLB, - aabbs: true, - ..Default::default() - }, - )); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/controls.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/controls.rs deleted file mode 100644 index 9ff42c9..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/controls.rs +++ /dev/null @@ -1,12 +0,0 @@ -use bevy::prelude::{info, ResMut}; -use bevy_rapier3d::prelude::RapierConfiguration; - -pub fn pause_physics(mut physics_config: ResMut) { - info!("pausing physics"); - physics_config.physics_pipeline_active = false; -} - -pub fn resume_physics(mut physics_config: ResMut) { - info!("unpausing physics"); - physics_config.physics_pipeline_active = true; -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/mod.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/mod.rs deleted file mode 100644 index cd7d523..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/mod.rs +++ /dev/null @@ -1,37 +0,0 @@ -pub mod physics_replace_proxies; -use bevy_rapier3d::{ - prelude::{NoUserData, RapierPhysicsPlugin}, - render::RapierDebugRenderPlugin, -}; -pub use physics_replace_proxies::*; - -pub mod utils; - -pub mod controls; -pub use controls::*; - -use crate::state::GameState; -use bevy::prelude::*; -// use super::blueprints::GltfBlueprintsSet; -use bevy_gltf_blueprints::GltfBlueprintsSet; -// use crate::Collider; -pub struct PhysicsPlugin; -impl Plugin for PhysicsPlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - RapierPhysicsPlugin::::default(), - RapierDebugRenderPlugin::default(), - )) - .register_type::() - .register_type::() - // find a way to make serde's stuff serializable - // .register_type::() - //bevy_rapier3d::dynamics::CoefficientCombineRule - .add_systems( - Update, - physics_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - ) - .add_systems(OnEnter(GameState::InGame), resume_physics) - .add_systems(OnExit(GameState::InGame), pause_physics); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/physics_replace_proxies.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/physics_replace_proxies.rs deleted file mode 100644 index b91462c..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/physics_replace_proxies.rs +++ /dev/null @@ -1,101 +0,0 @@ -use bevy::prelude::*; -// use bevy::render::primitives::Aabb; -use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::prelude::{ActiveCollisionTypes, ActiveEvents, ComputedColliderShape}; - -use super::utils::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum Collider { - Ball(f32), - Cuboid(Vec3), - Capsule(Vec3, Vec3, f32), - #[default] - Mesh, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum AutoAABBCollider { - #[default] - Cuboid, - Ball, - Capsule, -} - -// replaces all physics stand-ins with the actual rapier types -pub fn physics_replace_proxies( - meshes: Res>, - mesh_handles: Query<&Handle>, - mut proxy_colliders: Query< - (Entity, &Collider, &Name, &mut Visibility), - (Without, Added), - >, - // needed for tri meshes - children: Query<&Children>, - - mut commands: Commands, -) { - for proxy_colider in proxy_colliders.iter_mut() { - let (entity, collider_proxy, name, mut visibility) = proxy_colider; - // we hide the collider meshes: perhaps they should be removed altogether once processed ? - if name.ends_with("_collider") || name.ends_with("_sensor") { - *visibility = Visibility::Hidden; - } - - let mut rapier_collider: RapierCollider; - match collider_proxy { - Collider::Ball(radius) => { - info!("generating collider from proxy: ball"); - rapier_collider = RapierCollider::ball(*radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Cuboid(size) => { - info!("generating collider from proxy: cuboid"); - rapier_collider = RapierCollider::cuboid(size.x, size.y, size.z); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Capsule(a, b, radius) => { - info!("generating collider from proxy: capsule"); - rapier_collider = RapierCollider::capsule(*a, *b, *radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Mesh => { - info!("generating collider from proxy: mesh"); - for (_, collider_mesh) in - Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) - { - rapier_collider = RapierCollider::from_bevy_mesh( - collider_mesh, - &ComputedColliderShape::TriMesh, - ) - .unwrap(); - commands - .entity(entity) - .insert(rapier_collider) - // FIXME: this is just for demo purposes !!! - .insert( - ActiveCollisionTypes::default() - | ActiveCollisionTypes::KINEMATIC_STATIC - | ActiveCollisionTypes::STATIC_STATIC - | ActiveCollisionTypes::DYNAMIC_STATIC, - ) - .insert(ActiveEvents::COLLISION_EVENTS); - // .insert(ActiveEvents::COLLISION_EVENTS) - // break; - // RapierCollider::convex_hull(points) - } - } - } - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/utils.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/utils.rs deleted file mode 100644 index 7886710..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/core/physics/utils.rs +++ /dev/null @@ -1,175 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs - -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - -pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - parent: Entity, - children: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)>; -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - parent: Entity, - children_query: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)> { - if let Ok(children) = children_query.get(parent) { - let mut result: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .map(|(entity, mesh_handle)| { - ( - entity, - meshes - .get(mesh_handle) - .expect("Failed to get mesh from handle"), - ) - }) - .map(|(entity, mesh)| { - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (entity, mesh) - }) - .collect(); - let mut inner_result = children - .iter() - .flat_map(|entity| { - Self::search_in_children(*entity, children_query, meshes, mesh_handles) - }) - .collect(); - result.append(&mut inner_result); - result - } else { - Vec::new() - } - } -} - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/core/relationships/mod.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/core/relationships/mod.rs deleted file mode 100644 index 4128453..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/core/relationships/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub mod relationships_insert_dependant_components; -pub use relationships_insert_dependant_components::*; - -use bevy::prelude::*; - -pub struct EcsRelationshipsPlugin; -impl Plugin for EcsRelationshipsPlugin { - fn build(&self, app: &mut App) { - app; - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/core/relationships/relationships_insert_dependant_components.rs deleted file mode 100644 index 4e9ad17..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/core/relationships/relationships_insert_dependant_components.rs +++ /dev/null @@ -1,15 +0,0 @@ -use bevy::prelude::*; - -pub fn insert_dependant_component< - Dependant: Component, - Dependency: Component + std::default::Default, ->( - mut commands: Commands, - entities_without_depency: Query<(Entity, &Name), (With, Without)>, -) { - for (entity, name) in entities_without_depency.iter() { - let name = name.clone().to_string(); - commands.entity(entity).insert(Dependency::default()); - warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/game/in_game.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/game/in_game.rs deleted file mode 100644 index f1861ce..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/game/in_game.rs +++ /dev/null @@ -1,130 +0,0 @@ -use bevy::prelude::*; - -use crate::{ - assets::GameAssets, - state::{GameState, InAppRunning}, -}; -use bevy_gltf_blueprints::{BluePrintBundle, BlueprintName, GameWorldTag}; - -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>, -) { - println!("setting up all stuff"); - 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.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::T) { - 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); - } -} - -pub fn spawn_test_unregisted_components( - keycode: Res>, - mut commands: Commands, - - mut game_world: Query<(Entity, &Children), With>, -) { - if keycode.just_pressed(KeyCode::U) { - 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)), - 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), - }, - UnregisteredComponent, - )) - .id(); - commands.entity(world).add_child(new_entity); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/game/in_main_menu.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/game/in_main_menu.rs deleted file mode 100644 index cecd13a..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/game/in_main_menu.rs +++ /dev/null @@ -1,113 +0,0 @@ -use bevy::prelude::*; - -use crate::state::{AppState, GameState, InMainMenu}; - -pub fn setup_main_menu(mut commands: Commands) { - commands.spawn((Camera2dBundle::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>, - // mut next_game_state: ResMut>, - // mut save_requested_events: EventWriter, - // mut load_requested_events: EventWriter, -) { - if keycode.just_pressed(KeyCode::Return) { - next_app_state.set(AppState::AppLoading); - // next_game_state.set(GameState::None); - } - - if keycode.just_pressed(KeyCode::L) { - next_app_state.set(AppState::AppLoading); - // load_requested_events.send(LoadRequest { path: "toto".into() }) - } - - if keycode.just_pressed(KeyCode::S) { - // save_requested_events.send(SaveRequest { path: "toto".into() }) - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/game/mod.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/game/mod.rs deleted file mode 100644 index 00689c2..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/game/mod.rs +++ /dev/null @@ -1,116 +0,0 @@ -pub mod in_game; -pub use in_game::*; - -pub mod in_main_menu; -pub use in_main_menu::*; - -pub mod picking; -pub use picking::*; - -use crate::{ - insert_dependant_component, - state::{AppState, GameState}, -}; -use bevy::prelude::*; -use bevy_rapier3d::prelude::*; - -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; - -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} - -// collision tests/debug -pub fn test_collision_events( - mut collision_events: EventReader, - mut contact_force_events: EventReader, -) { - for collision_event in collision_events.read() { - println!("collision"); - match collision_event { - CollisionEvent::Started(_entity1, _entity2, _) => { - println!("collision started") - } - CollisionEvent::Stopped(_entity1, _entity2, _) => { - println!("collision ended") - } - } - } - - for contact_force_event in contact_force_events.read() { - println!("Received contact force event: {:?}", contact_force_event); - } -} - -pub struct GamePlugin; -impl Plugin for GamePlugin { - fn build(&self, app: &mut App) { - app.add_plugins(PickingPlugin) - .register_type::() - .register_type::() - .register_type::() - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) - .add_systems( - Update, - ( - // insert_dependant_component::, - player_move_demo, //.run_if(in_state(AppState::Running)), - // test_collision_events - spawn_test, - spawn_test_unregisted_components, - ) - .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_gltf_blueprints/basic_wasm/src/game/picking.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/game/picking.rs deleted file mode 100644 index 6731bbb..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/game/picking.rs +++ /dev/null @@ -1,34 +0,0 @@ -use super::Player; -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct Pickable; - -// very simple, crude picking (as in picking up objects) implementation - -pub fn picking( - players: Query<&GlobalTransform, With>, - pickables: Query<(Entity, &GlobalTransform), With>, - mut commands: Commands, -) { - for player_transforms in players.iter() { - for (pickable, pickable_transforms) in pickables.iter() { - let distance = player_transforms - .translation() - .distance(pickable_transforms.translation()); - if distance < 2.5 { - commands.entity(pickable).despawn_recursive(); - } - } - } -} - -pub struct PickingPlugin; -impl Plugin for PickingPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .add_systems(Update, (picking.after(GltfBlueprintsSet::AfterSpawn),)); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/main.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/main.rs deleted file mode 100644 index 6edba33..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/main.rs +++ /dev/null @@ -1,33 +0,0 @@ -use bevy::prelude::*; -use bevy_editor_pls::prelude::*; - -mod core; -use crate::core::*; - -pub mod assets; -use assets::*; - -pub mod state; -use state::*; - -mod game; -use game::*; - -mod test_components; -use test_components::*; - -fn main() { - App::new() - .add_plugins(( - DefaultPlugins.set(AssetPlugin::default()), - // editor - EditorPlugin::default(), - // our custom plugins - StatePlugin, - AssetsPlugin, - CorePlugin, // reusable plugins - GamePlugin, // specific to our game - ComponentsTestPlugin, // Showcases different type of components /structs - )) - .run(); -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/state.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/state.rs deleted file mode 100644 index 8e983d9..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/src/state.rs +++ /dev/null @@ -1,54 +0,0 @@ -use bevy::app::AppExit; -use bevy::prelude::*; - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum AppState { - #[default] - CoreLoading, - MenuRunning, - AppLoading, - AppRunning, - AppEnding, - - // FIXME: not sure - LoadingGame, -} - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum GameState { - #[default] - None, - - InMenu, - InGame, - - InGameOver, - - InSaving, - InLoading, -} - -// tag components for all entities within a certain state (for despawning them if needed) , FIXME: seems kinda hack-ish -#[derive(Component)] -pub struct InCoreLoading; -#[derive(Component, Default)] -pub struct InMenuRunning; -#[derive(Component)] -pub struct InAppLoading; -#[derive(Component)] -pub struct InAppRunning; - -// components for tagging in game vs in game menu stuff -#[derive(Component, Default)] -pub struct InMainMenu; -#[derive(Component, Default)] -pub struct InMenu; -#[derive(Component, Default)] -pub struct InGame; - -pub struct StatePlugin; -impl Plugin for StatePlugin { - fn build(&self, app: &mut App) { - app.add_state::().add_state::(); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_wasm/src/test_components.rs b/examples/bevy_gltf_blueprints/basic_wasm/src/test_components.rs deleted file mode 100644 index d0e6fbd..0000000 --- a/examples/bevy_gltf_blueprints/basic_wasm/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 TuppleTestF32(f32); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -struct TuppleTestU64(u64); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -pub struct TuppleTestStr(String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTest2(f32, u64, String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTestBool(bool); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec2(Vec2); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec3(Vec3); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec(Vec); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTestColor(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_gltf_blueprints/basic_xpbd_physics/Cargo.toml b/examples/bevy_gltf_blueprints/basic_xpbd_physics/Cargo.toml index 3f22383..144cf0d 100644 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/Cargo.toml +++ b/examples/bevy_gltf_blueprints/basic_xpbd_physics/Cargo.toml @@ -7,6 +7,8 @@ license = "MIT OR Apache-2.0" [dependencies] bevy="0.12" bevy_gltf_blueprints = { path = "../../../crates/bevy_gltf_blueprints" } +bevy_gltf_worlflow_examples_common = { path = "../../common" } + bevy_xpbd_3d = "0.3" bevy_asset_loader = { version = "0.18", features = ["standard_dynamic_assets" ]} bevy_editor_pls = { version = "0.6" } diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/assets/assets_core.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/assets/assets_core.rs deleted file mode 100644 index 29b577a..0000000 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/assets/assets_core.rs +++ /dev/null @@ -1,5 +0,0 @@ -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct CoreAssets {} diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/assets/assets_game.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/assets/assets_game.rs deleted file mode 100644 index b8e0665..0000000 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/assets/assets_game.rs +++ /dev/null @@ -1,13 +0,0 @@ -use bevy::gltf::Gltf; -use bevy::prelude::*; -use bevy::utils::HashMap; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct GameAssets { - #[asset(key = "world")] - pub world: Handle, - - #[asset(key = "models", collection(typed, mapped))] - pub models: HashMap>, -} diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/assets/mod.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/assets/mod.rs deleted file mode 100644 index a2c8b22..0000000 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/assets/mod.rs +++ /dev/null @@ -1,35 +0,0 @@ -pub mod assets_core; -pub use assets_core::*; - -pub mod assets_game; -pub use assets_game::*; - -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -use crate::state::AppState; - -pub struct AssetsPlugin; -impl Plugin for AssetsPlugin { - fn build(&self, app: &mut App) { - app - // load core assets (ie assets needed in the main menu, and everywhere else before loading more assets in game) - .add_loading_state( - LoadingState::new(AppState::CoreLoading).continue_to_state(AppState::MenuRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::CoreLoading, - "assets_core.assets.ron", - ) - .add_collection_to_loading_state::<_, CoreAssets>(AppState::CoreLoading) - // load game assets - .add_loading_state( - LoadingState::new(AppState::AppLoading).continue_to_state(AppState::AppRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::AppLoading, - "assets_game.assets.ron", - ) - .add_collection_to_loading_state::<_, GameAssets>(AppState::AppLoading); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/camera/camera_replace_proxies.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/camera/camera_replace_proxies.rs deleted file mode 100644 index 9055c95..0000000 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/camera/camera_replace_proxies.rs +++ /dev/null @@ -1,24 +0,0 @@ -use bevy::core_pipeline::bloom::{BloomCompositeMode, BloomSettings}; -use bevy::core_pipeline::tonemapping::{DebandDither, Tonemapping}; -use bevy::prelude::*; - -use super::CameraTrackingOffset; - -pub fn camera_replace_proxies( - mut commands: Commands, - mut added_cameras: Query<(Entity, &mut Camera), (Added, With)>, -) { - for (entity, mut camera) in added_cameras.iter_mut() { - info!("detected added camera, updating proxy"); - camera.hdr = true; - commands - .entity(entity) - .insert(DebandDither::Enabled) - .insert(Tonemapping::BlenderFilmic) - .insert(BloomSettings { - intensity: 0.01, - composite_mode: BloomCompositeMode::Additive, - ..default() - }); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/camera/camera_tracking.rs deleted file mode 100644 index 62da84d..0000000 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/camera/camera_tracking.rs +++ /dev/null @@ -1,58 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Debug)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -/// -pub struct CameraTracking { - pub offset: Vec3, -} -impl Default for CameraTracking { - fn default() -> Self { - CameraTracking { - offset: Vec3::new(0.0, 6.0, 8.0), - } - } -} - -#[derive(Component, Reflect, Debug, Deref, DerefMut)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -pub struct CameraTrackingOffset(Vec3); -impl Default for CameraTrackingOffset { - fn default() -> Self { - CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) - } -} - -impl CameraTrackingOffset { - fn new(input: Vec3) -> Self { - CameraTrackingOffset(input) - } -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Add this component to an entity if you want it to be tracked by a Camera -pub struct CameraTrackable; - -pub fn camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, With>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - let target_position = tracked_transform.translation + tracking_offset.0; - let eased_position = camera_transform.translation.lerp(target_position, 0.1); - camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/camera/mod.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/camera/mod.rs deleted file mode 100644 index a6bbb65..0000000 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/camera/mod.rs +++ /dev/null @@ -1,24 +0,0 @@ -pub mod camera_tracking; -pub use camera_tracking::*; - -pub mod camera_replace_proxies; -pub use camera_replace_proxies::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -pub struct CameraPlugin; -impl Plugin for CameraPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .add_systems( - Update, - ( - camera_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - camera_track, - ), - ); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/lighting/lighting_replace_proxies.rs deleted file mode 100644 index 48c0908..0000000 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/lighting/lighting_replace_proxies.rs +++ /dev/null @@ -1,25 +0,0 @@ -use bevy::prelude::*; - -use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; - -// fixme might be too specific to might needs, should it be moved out ? also these are all for lights, not models -pub fn lighting_replace_proxies( - mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, - mut added_spotlights: Query<&mut SpotLight, Added>, - mut commands: Commands, -) { - for (entity, mut light) in added_dirights.iter_mut() { - light.illuminance *= 5.0; - light.shadows_enabled = true; - let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { - first_cascade_far_bound: 15.0, - maximum_distance: 135.0, - ..default() - } - .into(); - commands.entity(entity).insert(shadow_config); - } - for mut light in added_spotlights.iter_mut() { - light.shadows_enabled = true; - } -} diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/lighting/mod.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/lighting/mod.rs deleted file mode 100644 index c9688cd..0000000 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/lighting/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod lighting_replace_proxies; -use lighting_replace_proxies::*; - -use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; -use bevy::prelude::*; - -pub struct LightingPlugin; -impl Plugin for LightingPlugin { - fn build(&self, app: &mut App) { - app - .insert_resource(DirectionalLightShadowMap { size: 4096 }) - // FIXME: adding these since they are missing - .register_type::() - - .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely - ; - } -} diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/mod.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/mod.rs index 3271ad4..0571ebc 100644 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/mod.rs +++ b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/mod.rs @@ -1,12 +1,3 @@ -pub mod camera; -pub use camera::*; - -pub mod lighting; -pub use lighting::*; - -pub mod relationships; -pub use relationships::*; - pub mod physics; pub use physics::*; @@ -17,8 +8,6 @@ pub struct CorePlugin; impl Plugin for CorePlugin { fn build(&self, app: &mut App) { app.add_plugins(( - LightingPlugin, - CameraPlugin, PhysicsPlugin, BlueprintsPlugin { library_folder: "models/library".into(), diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/physics/controls.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/physics/controls.rs index fa3dc92..1936001 100644 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/physics/controls.rs +++ b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/physics/controls.rs @@ -1,7 +1,5 @@ -use bevy::{ - prelude::{info, ResMut}, - time::Time, -}; +use bevy::log::info; +use bevy::{prelude::ResMut, time::Time}; use bevy_xpbd_3d::prelude::Physics; use bevy_xpbd_3d::prelude::*; diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/physics/mod.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/physics/mod.rs index 55ae083..702294c 100644 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/physics/mod.rs +++ b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/physics/mod.rs @@ -6,12 +6,11 @@ pub mod utils; pub mod controls; pub use controls::*; -use crate::state::GameState; - use bevy::prelude::*; use bevy_xpbd_3d::prelude::*; use bevy_gltf_blueprints::GltfBlueprintsSet; +use bevy_gltf_worlflow_examples_common::GameState; pub struct PhysicsPlugin; impl Plugin for PhysicsPlugin { diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/physics/physics_replace_proxies.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/physics/physics_replace_proxies.rs index 8579815..5ec77f3 100644 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/physics/physics_replace_proxies.rs +++ b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/physics/physics_replace_proxies.rs @@ -24,6 +24,7 @@ pub enum AutoAABBCollider { } // replaces all physics stand-ins with the actual xpbd types +#[allow(clippy::type_complexity)] pub fn physics_replace_proxies( meshes: Res>, mesh_handles: Query<&Handle>, @@ -78,7 +79,7 @@ pub fn physics_replace_proxies( for (_, collider_mesh) in Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) { - xpbd_collider = XpbdCollider::trimesh_from_mesh(&collider_mesh).unwrap(); // convex_hull_from_mesh? + xpbd_collider = XpbdCollider::trimesh_from_mesh(collider_mesh).unwrap(); // convex_hull_from_mesh? commands.entity(entity).insert(xpbd_collider); } } diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/relationships/mod.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/relationships/mod.rs deleted file mode 100644 index 4128453..0000000 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/relationships/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub mod relationships_insert_dependant_components; -pub use relationships_insert_dependant_components::*; - -use bevy::prelude::*; - -pub struct EcsRelationshipsPlugin; -impl Plugin for EcsRelationshipsPlugin { - fn build(&self, app: &mut App) { - app; - } -} diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/relationships/relationships_insert_dependant_components.rs deleted file mode 100644 index 4e9ad17..0000000 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/core/relationships/relationships_insert_dependant_components.rs +++ /dev/null @@ -1,15 +0,0 @@ -use bevy::prelude::*; - -pub fn insert_dependant_component< - Dependant: Component, - Dependency: Component + std::default::Default, ->( - mut commands: Commands, - entities_without_depency: Query<(Entity, &Name), (With, Without)>, -) { - for (entity, name) in entities_without_depency.iter() { - let name = name.clone().to_string(); - commands.entity(entity).insert(Dependency::default()); - warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/in_game.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/in_game.rs index 352197b..64559c5 100644 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/in_game.rs +++ b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/in_game.rs @@ -1,11 +1,7 @@ use bevy::prelude::*; - -use crate::{ - assets::GameAssets, - state::{GameState, InAppRunning}, -}; use bevy_gltf_blueprints::{BluePrintBundle, BlueprintName, GameWorldTag}; +use bevy_gltf_worlflow_examples_common::{assets::GameAssets, GameState, InAppRunning}; // use bevy_rapier3d::prelude::Velocity; use bevy_xpbd_3d::prelude::*; diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/in_main_menu.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/in_main_menu.rs index cecd13a..c1a4b8b 100644 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/in_main_menu.rs +++ b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/in_main_menu.rs @@ -1,6 +1,5 @@ use bevy::prelude::*; - -use crate::state::{AppState, GameState, InMainMenu}; +use bevy_gltf_worlflow_examples_common::{AppState, InMainMenu}; pub fn setup_main_menu(mut commands: Commands) { commands.spawn((Camera2dBundle::default(), InMainMenu)); diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/mod.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/mod.rs index c2febcd..438f85e 100644 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/mod.rs +++ b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/mod.rs @@ -1,104 +1,16 @@ pub mod in_game; -use bevy_xpbd_3d::prelude::{Collision, CollisionEnded, CollisionStarted}; pub use in_game::*; pub mod in_main_menu; pub use in_main_menu::*; -pub mod picking; -pub use picking::*; - -use crate::{ - insert_dependant_component, - state::{AppState, GameState}, -}; use bevy::prelude::*; - -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; - -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} - -// collision tests/debug -pub fn test_collision_events( - mut collision_started_events: EventReader, - mut collision_ended_events: EventReader, -) { - for CollisionStarted(entity1, entity2) in collision_started_events.read() { - println!("collision started") - } - - for CollisionEnded(entity1, entity2) in collision_ended_events.read() { - println!("collision ended") - } -} +use bevy_gltf_worlflow_examples_common::{AppState, GameState}; pub struct GamePlugin; impl Plugin for GamePlugin { fn build(&self, app: &mut App) { - app.add_plugins(PickingPlugin) - .register_type::() - .register_type::() - .register_type::() - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) - .add_systems( - Update, - ( - // insert_dependant_component::, - player_move_demo, //.run_if(in_state(AppState::Running)), - test_collision_events, - spawn_test, - ) - .run_if(in_state(GameState::InGame)), - ) + 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))) diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/picking.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/picking.rs deleted file mode 100644 index 6731bbb..0000000 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/picking.rs +++ /dev/null @@ -1,34 +0,0 @@ -use super::Player; -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct Pickable; - -// very simple, crude picking (as in picking up objects) implementation - -pub fn picking( - players: Query<&GlobalTransform, With>, - pickables: Query<(Entity, &GlobalTransform), With>, - mut commands: Commands, -) { - for player_transforms in players.iter() { - for (pickable, pickable_transforms) in pickables.iter() { - let distance = player_transforms - .translation() - .distance(pickable_transforms.translation()); - if distance < 2.5 { - commands.entity(pickable).despawn_recursive(); - } - } - } -} - -pub struct PickingPlugin; -impl Plugin for PickingPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .add_systems(Update, (picking.after(GltfBlueprintsSet::AfterSpawn),)); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/main.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/main.rs index 6edba33..8fca426 100644 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/main.rs +++ b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/main.rs @@ -1,15 +1,10 @@ use bevy::prelude::*; use bevy_editor_pls::prelude::*; +use bevy_gltf_worlflow_examples_common::CommonPlugin; mod core; use crate::core::*; -pub mod assets; -use assets::*; - -pub mod state; -use state::*; - mod game; use game::*; @@ -23,8 +18,7 @@ fn main() { // editor EditorPlugin::default(), // our custom plugins - StatePlugin, - AssetsPlugin, + CommonPlugin, CorePlugin, // reusable plugins GamePlugin, // specific to our game ComponentsTestPlugin, // Showcases different type of components /structs diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/state.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/state.rs deleted file mode 100644 index 8e983d9..0000000 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/state.rs +++ /dev/null @@ -1,54 +0,0 @@ -use bevy::app::AppExit; -use bevy::prelude::*; - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum AppState { - #[default] - CoreLoading, - MenuRunning, - AppLoading, - AppRunning, - AppEnding, - - // FIXME: not sure - LoadingGame, -} - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum GameState { - #[default] - None, - - InMenu, - InGame, - - InGameOver, - - InSaving, - InLoading, -} - -// tag components for all entities within a certain state (for despawning them if needed) , FIXME: seems kinda hack-ish -#[derive(Component)] -pub struct InCoreLoading; -#[derive(Component, Default)] -pub struct InMenuRunning; -#[derive(Component)] -pub struct InAppLoading; -#[derive(Component)] -pub struct InAppRunning; - -// components for tagging in game vs in game menu stuff -#[derive(Component, Default)] -pub struct InMainMenu; -#[derive(Component, Default)] -pub struct InMenu; -#[derive(Component, Default)] -pub struct InGame; - -pub struct StatePlugin; -impl Plugin for StatePlugin { - fn build(&self, app: &mut App) { - app.add_state::().add_state::(); - } -} diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/test_components.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/test_components.rs index d0e6fbd..b5384e2 100644 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/test_components.rs +++ b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/test_components.rs @@ -6,39 +6,39 @@ struct UnitTest; #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestF32(f32); +struct TupleTestF32(f32); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestU64(u64); +struct TupleTestU64(u64); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -pub struct TuppleTestStr(String); +pub struct TupleTestStr(String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTest2(f32, u64, String); +struct TupleTest2(f32, u64, String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestBool(bool); +struct TupleTestBool(bool); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec2(Vec2); +struct TupleVec2(Vec2); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec3(Vec3); +struct TupleVec3(Vec3); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec(Vec); +struct TupleVec(Vec); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestColor(Color); +struct TupleTestColor(Color); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] @@ -65,16 +65,16 @@ 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::() + .register_type::() .register_type::>(); } } diff --git a/examples/bevy_gltf_blueprints/materials/Cargo.toml b/examples/bevy_gltf_blueprints/materials/Cargo.toml index b5862d1..7a4098d 100644 --- a/examples/bevy_gltf_blueprints/materials/Cargo.toml +++ b/examples/bevy_gltf_blueprints/materials/Cargo.toml @@ -7,6 +7,8 @@ license = "MIT OR Apache-2.0" [dependencies] bevy="0.12" bevy_gltf_blueprints = { path = "../../../crates/bevy_gltf_blueprints" } +bevy_gltf_worlflow_examples_common = { path = "../../common" } + bevy_rapier3d = { version = "0.23.0", features = [ "serde-serialize", "debug-render-3d", "enhanced-determinism"] } bevy_asset_loader = { version = "0.18", features = ["standard_dynamic_assets" ]} bevy_editor_pls = { version = "0.6" } diff --git a/examples/bevy_gltf_blueprints/materials/src/assets/assets_core.rs b/examples/bevy_gltf_blueprints/materials/src/assets/assets_core.rs deleted file mode 100644 index 29b577a..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/assets/assets_core.rs +++ /dev/null @@ -1,5 +0,0 @@ -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct CoreAssets {} diff --git a/examples/bevy_gltf_blueprints/materials/src/assets/assets_game.rs b/examples/bevy_gltf_blueprints/materials/src/assets/assets_game.rs deleted file mode 100644 index 2176b33..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/assets/assets_game.rs +++ /dev/null @@ -1,16 +0,0 @@ -use bevy::gltf::Gltf; -use bevy::prelude::*; -use bevy::utils::HashMap; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct GameAssets { - #[asset(key = "world")] - pub world: Handle, - - #[asset(key = "models", collection(typed, mapped))] - pub models: HashMap>, - - #[asset(key = "materials", collection(typed, mapped))] - pub materials: HashMap>, -} diff --git a/examples/bevy_gltf_blueprints/materials/src/assets/mod.rs b/examples/bevy_gltf_blueprints/materials/src/assets/mod.rs deleted file mode 100644 index a2c8b22..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/assets/mod.rs +++ /dev/null @@ -1,35 +0,0 @@ -pub mod assets_core; -pub use assets_core::*; - -pub mod assets_game; -pub use assets_game::*; - -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -use crate::state::AppState; - -pub struct AssetsPlugin; -impl Plugin for AssetsPlugin { - fn build(&self, app: &mut App) { - app - // load core assets (ie assets needed in the main menu, and everywhere else before loading more assets in game) - .add_loading_state( - LoadingState::new(AppState::CoreLoading).continue_to_state(AppState::MenuRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::CoreLoading, - "assets_core.assets.ron", - ) - .add_collection_to_loading_state::<_, CoreAssets>(AppState::CoreLoading) - // load game assets - .add_loading_state( - LoadingState::new(AppState::AppLoading).continue_to_state(AppState::AppRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::AppLoading, - "assets_game.assets.ron", - ) - .add_collection_to_loading_state::<_, GameAssets>(AppState::AppLoading); - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/core/camera/camera_replace_proxies.rs b/examples/bevy_gltf_blueprints/materials/src/core/camera/camera_replace_proxies.rs deleted file mode 100644 index 9055c95..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/core/camera/camera_replace_proxies.rs +++ /dev/null @@ -1,24 +0,0 @@ -use bevy::core_pipeline::bloom::{BloomCompositeMode, BloomSettings}; -use bevy::core_pipeline::tonemapping::{DebandDither, Tonemapping}; -use bevy::prelude::*; - -use super::CameraTrackingOffset; - -pub fn camera_replace_proxies( - mut commands: Commands, - mut added_cameras: Query<(Entity, &mut Camera), (Added, With)>, -) { - for (entity, mut camera) in added_cameras.iter_mut() { - info!("detected added camera, updating proxy"); - camera.hdr = true; - commands - .entity(entity) - .insert(DebandDither::Enabled) - .insert(Tonemapping::BlenderFilmic) - .insert(BloomSettings { - intensity: 0.01, - composite_mode: BloomCompositeMode::Additive, - ..default() - }); - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_blueprints/materials/src/core/camera/camera_tracking.rs deleted file mode 100644 index 62da84d..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/core/camera/camera_tracking.rs +++ /dev/null @@ -1,58 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Debug)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -/// -pub struct CameraTracking { - pub offset: Vec3, -} -impl Default for CameraTracking { - fn default() -> Self { - CameraTracking { - offset: Vec3::new(0.0, 6.0, 8.0), - } - } -} - -#[derive(Component, Reflect, Debug, Deref, DerefMut)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -pub struct CameraTrackingOffset(Vec3); -impl Default for CameraTrackingOffset { - fn default() -> Self { - CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) - } -} - -impl CameraTrackingOffset { - fn new(input: Vec3) -> Self { - CameraTrackingOffset(input) - } -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Add this component to an entity if you want it to be tracked by a Camera -pub struct CameraTrackable; - -pub fn camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, With>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - let target_position = tracked_transform.translation + tracking_offset.0; - let eased_position = camera_transform.translation.lerp(target_position, 0.1); - camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/core/camera/mod.rs b/examples/bevy_gltf_blueprints/materials/src/core/camera/mod.rs deleted file mode 100644 index a6bbb65..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/core/camera/mod.rs +++ /dev/null @@ -1,24 +0,0 @@ -pub mod camera_tracking; -pub use camera_tracking::*; - -pub mod camera_replace_proxies; -pub use camera_replace_proxies::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -pub struct CameraPlugin; -impl Plugin for CameraPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .add_systems( - Update, - ( - camera_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - camera_track, - ), - ); - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_gltf_blueprints/materials/src/core/lighting/lighting_replace_proxies.rs deleted file mode 100644 index 48c0908..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/core/lighting/lighting_replace_proxies.rs +++ /dev/null @@ -1,25 +0,0 @@ -use bevy::prelude::*; - -use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; - -// fixme might be too specific to might needs, should it be moved out ? also these are all for lights, not models -pub fn lighting_replace_proxies( - mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, - mut added_spotlights: Query<&mut SpotLight, Added>, - mut commands: Commands, -) { - for (entity, mut light) in added_dirights.iter_mut() { - light.illuminance *= 5.0; - light.shadows_enabled = true; - let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { - first_cascade_far_bound: 15.0, - maximum_distance: 135.0, - ..default() - } - .into(); - commands.entity(entity).insert(shadow_config); - } - for mut light in added_spotlights.iter_mut() { - light.shadows_enabled = true; - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/core/lighting/mod.rs b/examples/bevy_gltf_blueprints/materials/src/core/lighting/mod.rs deleted file mode 100644 index c9688cd..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/core/lighting/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod lighting_replace_proxies; -use lighting_replace_proxies::*; - -use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; -use bevy::prelude::*; - -pub struct LightingPlugin; -impl Plugin for LightingPlugin { - fn build(&self, app: &mut App) { - app - .insert_resource(DirectionalLightShadowMap { size: 4096 }) - // FIXME: adding these since they are missing - .register_type::() - - .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely - ; - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/core/mod.rs b/examples/bevy_gltf_blueprints/materials/src/core/mod.rs index 610f205..37d9f8c 100644 --- a/examples/bevy_gltf_blueprints/materials/src/core/mod.rs +++ b/examples/bevy_gltf_blueprints/materials/src/core/mod.rs @@ -1,30 +1,13 @@ -pub mod camera; -pub use camera::*; - -pub mod lighting; -pub use lighting::*; - -pub mod relationships; -pub use relationships::*; - -pub mod physics; -pub use physics::*; - use bevy::prelude::*; use bevy_gltf_blueprints::*; pub struct CorePlugin; impl Plugin for CorePlugin { fn build(&self, app: &mut App) { - app.add_plugins(( - LightingPlugin, - CameraPlugin, - PhysicsPlugin, - BlueprintsPlugin { - library_folder: "models/library".into(), - material_library: true, - ..Default::default() - }, - )); + app.add_plugins((BlueprintsPlugin { + library_folder: "models/library".into(), + material_library: true, + ..Default::default() + },)); } } diff --git a/examples/bevy_gltf_blueprints/materials/src/core/physics/controls.rs b/examples/bevy_gltf_blueprints/materials/src/core/physics/controls.rs deleted file mode 100644 index a138d7c..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/core/physics/controls.rs +++ /dev/null @@ -1,25 +0,0 @@ -use bevy::{ - ecs::system::Res, - input::{keyboard::KeyCode, Input}, - prelude::{info, ResMut}, -}; -use bevy_rapier3d::{prelude::RapierConfiguration, render::DebugRenderContext}; - -pub fn pause_physics(mut physics_config: ResMut) { - info!("pausing physics"); - physics_config.physics_pipeline_active = false; -} - -pub fn resume_physics(mut physics_config: ResMut) { - info!("unpausing physics"); - physics_config.physics_pipeline_active = true; -} - -pub fn toggle_physics_debug( - mut debug_config: ResMut, - keycode: Res>, -) { - if keycode.just_pressed(KeyCode::D) { - debug_config.enabled = !debug_config.enabled; - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/core/physics/mod.rs b/examples/bevy_gltf_blueprints/materials/src/core/physics/mod.rs deleted file mode 100644 index 3b64090..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/core/physics/mod.rs +++ /dev/null @@ -1,34 +0,0 @@ -pub mod physics_replace_proxies; -pub use physics_replace_proxies::*; - -pub mod utils; - -pub mod controls; -pub use controls::*; - -use crate::state::GameState; -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; -use bevy_rapier3d::{ - prelude::{NoUserData, RapierPhysicsPlugin}, - render::RapierDebugRenderPlugin, -}; - -pub struct PhysicsPlugin; -impl Plugin for PhysicsPlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - RapierPhysicsPlugin::::default(), - RapierDebugRenderPlugin::default(), - )) - .register_type::() - .register_type::() - .add_systems( - Update, - physics_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - ) - .add_systems(Update, toggle_physics_debug) - .add_systems(OnEnter(GameState::InGame), resume_physics) - .add_systems(OnExit(GameState::InGame), pause_physics); - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/core/physics/physics_replace_proxies.rs b/examples/bevy_gltf_blueprints/materials/src/core/physics/physics_replace_proxies.rs deleted file mode 100644 index b91462c..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/core/physics/physics_replace_proxies.rs +++ /dev/null @@ -1,101 +0,0 @@ -use bevy::prelude::*; -// use bevy::render::primitives::Aabb; -use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::prelude::{ActiveCollisionTypes, ActiveEvents, ComputedColliderShape}; - -use super::utils::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum Collider { - Ball(f32), - Cuboid(Vec3), - Capsule(Vec3, Vec3, f32), - #[default] - Mesh, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum AutoAABBCollider { - #[default] - Cuboid, - Ball, - Capsule, -} - -// replaces all physics stand-ins with the actual rapier types -pub fn physics_replace_proxies( - meshes: Res>, - mesh_handles: Query<&Handle>, - mut proxy_colliders: Query< - (Entity, &Collider, &Name, &mut Visibility), - (Without, Added), - >, - // needed for tri meshes - children: Query<&Children>, - - mut commands: Commands, -) { - for proxy_colider in proxy_colliders.iter_mut() { - let (entity, collider_proxy, name, mut visibility) = proxy_colider; - // we hide the collider meshes: perhaps they should be removed altogether once processed ? - if name.ends_with("_collider") || name.ends_with("_sensor") { - *visibility = Visibility::Hidden; - } - - let mut rapier_collider: RapierCollider; - match collider_proxy { - Collider::Ball(radius) => { - info!("generating collider from proxy: ball"); - rapier_collider = RapierCollider::ball(*radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Cuboid(size) => { - info!("generating collider from proxy: cuboid"); - rapier_collider = RapierCollider::cuboid(size.x, size.y, size.z); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Capsule(a, b, radius) => { - info!("generating collider from proxy: capsule"); - rapier_collider = RapierCollider::capsule(*a, *b, *radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Mesh => { - info!("generating collider from proxy: mesh"); - for (_, collider_mesh) in - Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) - { - rapier_collider = RapierCollider::from_bevy_mesh( - collider_mesh, - &ComputedColliderShape::TriMesh, - ) - .unwrap(); - commands - .entity(entity) - .insert(rapier_collider) - // FIXME: this is just for demo purposes !!! - .insert( - ActiveCollisionTypes::default() - | ActiveCollisionTypes::KINEMATIC_STATIC - | ActiveCollisionTypes::STATIC_STATIC - | ActiveCollisionTypes::DYNAMIC_STATIC, - ) - .insert(ActiveEvents::COLLISION_EVENTS); - // .insert(ActiveEvents::COLLISION_EVENTS) - // break; - // RapierCollider::convex_hull(points) - } - } - } - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/core/physics/utils.rs b/examples/bevy_gltf_blueprints/materials/src/core/physics/utils.rs deleted file mode 100644 index 7886710..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/core/physics/utils.rs +++ /dev/null @@ -1,175 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs - -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - -pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - parent: Entity, - children: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)>; -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - parent: Entity, - children_query: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)> { - if let Ok(children) = children_query.get(parent) { - let mut result: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .map(|(entity, mesh_handle)| { - ( - entity, - meshes - .get(mesh_handle) - .expect("Failed to get mesh from handle"), - ) - }) - .map(|(entity, mesh)| { - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (entity, mesh) - }) - .collect(); - let mut inner_result = children - .iter() - .flat_map(|entity| { - Self::search_in_children(*entity, children_query, meshes, mesh_handles) - }) - .collect(); - result.append(&mut inner_result); - result - } else { - Vec::new() - } - } -} - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/core/relationships/mod.rs b/examples/bevy_gltf_blueprints/materials/src/core/relationships/mod.rs deleted file mode 100644 index 4128453..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/core/relationships/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub mod relationships_insert_dependant_components; -pub use relationships_insert_dependant_components::*; - -use bevy::prelude::*; - -pub struct EcsRelationshipsPlugin; -impl Plugin for EcsRelationshipsPlugin { - fn build(&self, app: &mut App) { - app; - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_gltf_blueprints/materials/src/core/relationships/relationships_insert_dependant_components.rs deleted file mode 100644 index 4e9ad17..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/core/relationships/relationships_insert_dependant_components.rs +++ /dev/null @@ -1,15 +0,0 @@ -use bevy::prelude::*; - -pub fn insert_dependant_component< - Dependant: Component, - Dependency: Component + std::default::Default, ->( - mut commands: Commands, - entities_without_depency: Query<(Entity, &Name), (With, Without)>, -) { - for (entity, name) in entities_without_depency.iter() { - let name = name.clone().to_string(); - commands.entity(entity).insert(Dependency::default()); - warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/game/in_game.rs b/examples/bevy_gltf_blueprints/materials/src/game/in_game.rs index 579f193..2338956 100644 --- a/examples/bevy_gltf_blueprints/materials/src/game/in_game.rs +++ b/examples/bevy_gltf_blueprints/materials/src/game/in_game.rs @@ -1,26 +1,17 @@ +use bevy::prelude::*; +use bevy_gltf_blueprints::{BluePrintBundle, BlueprintName, GameWorldTag}; +use bevy_gltf_worlflow_examples_common::{assets::GameAssets, GameState, InAppRunning}; + use bevy_rapier3d::prelude::Velocity; use rand::Rng; -use std::time::Duration; - -use bevy::prelude::*; - -use crate::{ - assets::GameAssets, - state::{GameState, InAppRunning}, -}; -use bevy_gltf_blueprints::{ - AnimationPlayerLink, Animations, BluePrintBundle, BlueprintName, GameWorldTag, -}; - -use super::{Fox, Player, Robot}; pub fn setup_game( mut commands: Commands, game_assets: Res, models: Res>, - mut next_game_state: ResMut>, ) { + println!("setting up all stuff"); commands.insert_resource(AmbientLight { color: Color::WHITE, brightness: 0.2, @@ -45,6 +36,10 @@ pub fn setup_game( next_game_state.set(GameState::InGame) } +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +struct UnregisteredComponent; + pub fn spawn_test( keycode: Res>, mut commands: Commands, @@ -56,7 +51,7 @@ pub fn spawn_test( let world = world.1[0]; let mut rng = rand::thread_rng(); - let range = 8.5; + let range = 5.5; let x: f32 = rng.gen_range(-range..range); let y: f32 = rng.gen_range(-range..range); @@ -71,13 +66,13 @@ pub fn spawn_test( let new_entity = commands .spawn(( BluePrintBundle { - blueprint: BlueprintName("Watermelon2".to_string()), + blueprint: BlueprintName("Health_Pickup".to_string()), ..Default::default() }, - bevy::prelude::Name::from(format!("Watermelon{}", name_index)), + bevy::prelude::Name::from(format!("test{}", name_index)), // BlueprintName("Health_Pickup".to_string()), // SpawnHere, - TransformBundle::from_transform(Transform::from_xyz(x, 3.0, y)), + 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), @@ -88,220 +83,46 @@ pub fn spawn_test( } } -// example of changing animation of entities based on proximity to the player, for "fox" entities (Tag component) -pub fn animation_change_on_proximity_foxes( - players: Query<&GlobalTransform, With>, - animated_foxes: Query<(&GlobalTransform, &AnimationPlayerLink, &Animations), With>, - - mut animation_players: Query<&mut AnimationPlayer>, -) { - for player_transforms in players.iter() { - for (fox_tranforms, link, animations) in animated_foxes.iter() { - let distance = player_transforms - .translation() - .distance(fox_tranforms.translation()); - let mut anim_name = "Walk"; - if distance < 8.5 { - anim_name = "Run"; - } else if distance >= 8.5 && distance < 10.0 { - anim_name = "Walk"; - } else if distance >= 10.0 && distance < 15.0 { - anim_name = "Survey"; - } - // now play the animation based on the chosen animation name - let mut animation_player = animation_players.get_mut(link.0).unwrap(); - animation_player - .play_with_transition( - animations - .named_animations - .get(anim_name) - .expect("animation name should be in the list") - .clone(), - Duration::from_secs(3), - ) - .repeat(); - } - } -} - -// example of changing animation of entities based on proximity to the player, this time for the "robot" entities (Tag component) -pub fn animation_change_on_proximity_robots( - players: Query<&GlobalTransform, With>, - animated_robots: Query<(&GlobalTransform, &AnimationPlayerLink, &Animations), With>, - - mut animation_players: Query<&mut AnimationPlayer>, -) { - for player_transforms in players.iter() { - for (robot_tranforms, link, animations) in animated_robots.iter() { - let distance = player_transforms - .translation() - .distance(robot_tranforms.translation()); - - let mut anim_name = "Idle"; - if distance < 8.5 { - anim_name = "Jump"; - } else if distance >= 8.5 && distance < 10.0 { - anim_name = "Scan"; - } else if distance >= 10.0 && distance < 15.0 { - anim_name = "Idle"; - } - - // now play the animation based on the chosen animation name - let mut animation_player = animation_players.get_mut(link.0).unwrap(); - animation_player - .play_with_transition( - animations - .named_animations - .get(anim_name) - .expect("animation name should be in the list") - .clone(), - Duration::from_secs(3), - ) - .repeat(); - } - } -} - -pub fn animation_control( - animated_enemies: Query<(&AnimationPlayerLink, &Animations), With>, - animated_foxes: Query<(&AnimationPlayerLink, &Animations), With>, - - mut animation_players: Query<&mut AnimationPlayer>, - +pub fn spawn_test_unregisted_components( keycode: Res>, - // mut entities_with_animations : Query<(&mut AnimationPlayer, &mut Animations)>, + mut commands: Commands, + + mut game_world: Query<(Entity, &Children), With>, ) { - // robots - if keycode.just_pressed(KeyCode::B) { - for (link, animations) in animated_enemies.iter() { - let mut animation_player = animation_players.get_mut(link.0).unwrap(); - let anim_name = "Scan"; - animation_player - .play_with_transition( - animations - .named_animations - .get(anim_name) - .expect("animation name should be in the list") - .clone(), - Duration::from_secs(5), - ) - .repeat(); - } + if keycode.just_pressed(KeyCode::U) { + 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), + }, + UnregisteredComponent, + )) + .id(); + commands.entity(world).add_child(new_entity); } - - // foxes - if keycode.just_pressed(KeyCode::W) { - for (link, animations) in animated_foxes.iter() { - let mut animation_player = animation_players.get_mut(link.0).unwrap(); - let anim_name = "Walk"; - animation_player - .play_with_transition( - animations - .named_animations - .get(anim_name) - .expect("animation name should be in the list") - .clone(), - Duration::from_secs(5), - ) - .repeat(); - } - } - - if keycode.just_pressed(KeyCode::X) { - for (link, animations) in animated_foxes.iter() { - let mut animation_player = animation_players.get_mut(link.0).unwrap(); - let anim_name = "Run"; - animation_player - .play_with_transition( - animations - .named_animations - .get(anim_name) - .expect("animation name should be in the list") - .clone(), - Duration::from_secs(5), - ) - .repeat(); - } - } - - if keycode.just_pressed(KeyCode::C) { - for (link, animations) in animated_foxes.iter() { - let mut animation_player = animation_players.get_mut(link.0).unwrap(); - let anim_name = "Survey"; - animation_player - .play_with_transition( - animations - .named_animations - .get(anim_name) - .expect("animation name should be in the list") - .clone(), - Duration::from_secs(5), - ) - .repeat(); - } - } - - /* Improveement ideas for the future - // a bit more ideal API - if keycode.just_pressed(KeyCode::B) { - for (animation_player, animations) in animated_enemies.iter() { - let anim_name = "Scan"; - if animations.named_animations.contains_key(anim_name) { - let clip = animations.named_animations.get(anim_name).unwrap(); - animation_player.play_with_transition(clip.clone(), Duration::from_secs(5)).repeat(); - } - } - } - - // even better API - if keycode.just_pressed(KeyCode::B) { - for (animation_player, animations) in animated_enemies.iter() { - animation_player.play_with_transition("Scan", Duration::from_secs(5)).repeat(); // with a merged animationPlayer + animations storage - // alternative, perhaps more realistic, and better seperation of concerns - animation_player.play_with_transition(animations, "Scan", Duration::from_secs(5)).repeat(); - - } - }*/ - - /*for (mut anim_player, animations) in entities_with_animations.iter_mut(){ - - if keycode.just_pressed(KeyCode::W) { - let anim_name = "Walk"; - if animations.named_animations.contains_key(anim_name) { - let clip = animations.named_animations.get(anim_name).unwrap(); - anim_player.play_with_transition(clip.clone(), Duration::from_secs(5)).repeat(); - } - } - if keycode.just_pressed(KeyCode::X) { - let anim_name = "Run"; - if animations.named_animations.contains_key(anim_name) { - let clip = animations.named_animations.get(anim_name).unwrap(); - anim_player.play_with_transition(clip.clone(), Duration::from_secs(5)).repeat(); - } - } - if keycode.just_pressed(KeyCode::C) { - let anim_name = "Survey"; - if animations.named_animations.contains_key(anim_name) { - let clip = animations.named_animations.get(anim_name).unwrap(); - anim_player.play_with_transition(clip.clone(), Duration::from_secs(5)).repeat(); - } - } - - - - if keycode.just_pressed(KeyCode::S) { - let anim_name = "Scan"; - if animations.named_animations.contains_key(anim_name) { - let clip = animations.named_animations.get(anim_name).unwrap(); - anim_player.play_with_transition(clip.clone(), Duration::from_secs(5)).repeat(); - } - } - if keycode.just_pressed(KeyCode::I) { - let anim_name = "Idle"; - if animations.named_animations.contains_key(anim_name) { - let clip = animations.named_animations.get(anim_name).unwrap(); - anim_player.play_with_transition(clip.clone(), Duration::from_secs(5)).repeat(); - } - } - }*/ } diff --git a/examples/bevy_gltf_blueprints/materials/src/game/in_main_menu.rs b/examples/bevy_gltf_blueprints/materials/src/game/in_main_menu.rs index 0420be5..c1a4b8b 100644 --- a/examples/bevy_gltf_blueprints/materials/src/game/in_main_menu.rs +++ b/examples/bevy_gltf_blueprints/materials/src/game/in_main_menu.rs @@ -1,6 +1,5 @@ use bevy::prelude::*; - -use crate::state::{AppState, GameState, InMainMenu}; +use bevy_gltf_worlflow_examples_common::{AppState, InMainMenu}; pub fn setup_main_menu(mut commands: Commands) { commands.spawn((Camera2dBundle::default(), InMainMenu)); @@ -94,6 +93,8 @@ pub fn main_menu( mut next_app_state: ResMut>, // mut next_game_state: ResMut>, + // mut save_requested_events: EventWriter, + // mut load_requested_events: EventWriter, ) { if keycode.just_pressed(KeyCode::Return) { next_app_state.set(AppState::AppLoading); diff --git a/examples/bevy_gltf_blueprints/materials/src/game/mod.rs b/examples/bevy_gltf_blueprints/materials/src/game/mod.rs index 69a5ae4..b236141 100644 --- a/examples/bevy_gltf_blueprints/materials/src/game/mod.rs +++ b/examples/bevy_gltf_blueprints/materials/src/game/mod.rs @@ -4,125 +4,19 @@ pub use in_game::*; pub mod in_main_menu; pub use in_main_menu::*; -pub mod picking; -pub use picking::*; - -use crate::{ - insert_dependant_component, - state::{AppState, GameState}, -}; use bevy::prelude::*; -use bevy_rapier3d::prelude::*; - -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Fox; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Robot; - -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} - -// collision tests/debug -pub fn test_collision_events( - mut collision_events: EventReader, - mut contact_force_events: EventReader, -) { - for collision_event in collision_events.iter() { - println!("collision"); - match collision_event { - CollisionEvent::Started(_entity1, _entity2, _) => { - println!("collision started") - } - CollisionEvent::Stopped(_entity1, _entity2, _) => { - println!("collision ended") - } - } - } - - for contact_force_event in contact_force_events.iter() { - println!("Received contact force event: {:?}", contact_force_event); - } -} +use bevy_gltf_worlflow_examples_common::{AppState, GameState}; pub struct GamePlugin; impl Plugin for GamePlugin { fn build(&self, app: &mut App) { - app.add_plugins(PickingPlugin) - .register_type::() - .register_type::() - .register_type::() - .register_type::() - .register_type::() - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) - .add_systems( - Update, - ( - player_move_demo, - spawn_test, - animation_control, - animation_change_on_proximity_foxes, - animation_change_on_proximity_robots, - ) - .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); + app.add_systems( + Update, + (spawn_test, spawn_test_unregisted_components).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_gltf_blueprints/materials/src/game/picking.rs b/examples/bevy_gltf_blueprints/materials/src/game/picking.rs deleted file mode 100644 index 23988c8..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/game/picking.rs +++ /dev/null @@ -1,37 +0,0 @@ -use super::Player; -use bevy::prelude::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct Pickable; - -// very simple, crude picking (as in picking up objects) implementation - -pub fn picking( - players: Query<&GlobalTransform, With>, - pickables: Query<(Entity, &GlobalTransform), With>, - mut commands: Commands, -) { - for player_transforms in players.iter() { - for (pickable, pickable_transforms) in pickables.iter() { - let distance = player_transforms - .translation() - .distance(pickable_transforms.translation()); - if distance < 2.5 { - commands.entity(pickable).despawn_recursive(); - } - } - } -} - -pub struct PickingPlugin; -impl Plugin for PickingPlugin { - fn build(&self, app: &mut App) { - app.register_type::().add_systems( - Update, - ( - picking, //.run_if(in_state(AppState::Running)), - ), - ); - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/main.rs b/examples/bevy_gltf_blueprints/materials/src/main.rs index 6edba33..8fca426 100644 --- a/examples/bevy_gltf_blueprints/materials/src/main.rs +++ b/examples/bevy_gltf_blueprints/materials/src/main.rs @@ -1,15 +1,10 @@ use bevy::prelude::*; use bevy_editor_pls::prelude::*; +use bevy_gltf_worlflow_examples_common::CommonPlugin; mod core; use crate::core::*; -pub mod assets; -use assets::*; - -pub mod state; -use state::*; - mod game; use game::*; @@ -23,8 +18,7 @@ fn main() { // editor EditorPlugin::default(), // our custom plugins - StatePlugin, - AssetsPlugin, + CommonPlugin, CorePlugin, // reusable plugins GamePlugin, // specific to our game ComponentsTestPlugin, // Showcases different type of components /structs diff --git a/examples/bevy_gltf_blueprints/materials/src/state.rs b/examples/bevy_gltf_blueprints/materials/src/state.rs deleted file mode 100644 index 8e983d9..0000000 --- a/examples/bevy_gltf_blueprints/materials/src/state.rs +++ /dev/null @@ -1,54 +0,0 @@ -use bevy::app::AppExit; -use bevy::prelude::*; - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum AppState { - #[default] - CoreLoading, - MenuRunning, - AppLoading, - AppRunning, - AppEnding, - - // FIXME: not sure - LoadingGame, -} - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum GameState { - #[default] - None, - - InMenu, - InGame, - - InGameOver, - - InSaving, - InLoading, -} - -// tag components for all entities within a certain state (for despawning them if needed) , FIXME: seems kinda hack-ish -#[derive(Component)] -pub struct InCoreLoading; -#[derive(Component, Default)] -pub struct InMenuRunning; -#[derive(Component)] -pub struct InAppLoading; -#[derive(Component)] -pub struct InAppRunning; - -// components for tagging in game vs in game menu stuff -#[derive(Component, Default)] -pub struct InMainMenu; -#[derive(Component, Default)] -pub struct InMenu; -#[derive(Component, Default)] -pub struct InGame; - -pub struct StatePlugin; -impl Plugin for StatePlugin { - fn build(&self, app: &mut App) { - app.add_state::().add_state::(); - } -} diff --git a/examples/bevy_gltf_blueprints/materials/src/test_components.rs b/examples/bevy_gltf_blueprints/materials/src/test_components.rs index 52ca6ca..fd78506 100644 --- a/examples/bevy_gltf_blueprints/materials/src/test_components.rs +++ b/examples/bevy_gltf_blueprints/materials/src/test_components.rs @@ -2,39 +2,39 @@ use bevy::prelude::*; #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestF32(f32); +struct TupleTestF32(f32); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestU64(u64); +struct TupleTestU64(u64); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -pub struct TuppleTestStr(String); +pub struct TupleTestStr(String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTest2(f32, u64, String); +struct TupleTest2(f32, u64, String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestBool(bool); +struct TupleTestBool(bool); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec2(Vec2); +struct TupleVec2(Vec2); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec3(Vec3); +struct TupleVec3(Vec3); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec(Vec); +struct TupleVec(Vec); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestColor(Color); +struct TupleTestColor(Color); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] @@ -60,16 +60,16 @@ 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::() .register_type::>(); } } diff --git a/examples/bevy_gltf_blueprints/multiple_levels/README.md b/examples/bevy_gltf_blueprints/multiple_levels/README.md deleted file mode 100644 index 9db2461..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Multiple levels example/demo - -This example showcases multiple levels, and using triggers to load another level. -It currently has NO state persistence between levels. -You can press "D" to toggle the physics debug view. - - -## Running this example - -``` -cargo run --features bevy/dynamic_linking -``` diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/assets_core.assets.ron b/examples/bevy_gltf_blueprints/multiple_levels/assets/assets_core.assets.ron deleted file mode 100644 index 8d0a099..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/assets/assets_core.assets.ron +++ /dev/null @@ -1 +0,0 @@ -({}) \ No newline at end of file diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/assets_game.assets.ron b/examples/bevy_gltf_blueprints/multiple_levels/assets/assets_game.assets.ron deleted file mode 100644 index 974fc50..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/assets/assets_game.assets.ron +++ /dev/null @@ -1,9 +0,0 @@ -({ - "world":File (path: "models/StartLevel.glb"), - "level1":File (path: "models/Level1.glb"), - "level2":File (path: "models/Level2.glb"), - - "models": Folder ( - path: "models/library", - ), -}) \ No newline at end of file diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/models/Level1.glb b/examples/bevy_gltf_blueprints/multiple_levels/assets/models/Level1.glb deleted file mode 100644 index e92ef5e4558c1678c3f84d9bd12737fe7263559b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3528 zcmb7H-A?016i#=q`wr1uwUTk?|0g%qLbqMIKoHPXB|yl8Aw+fT)N!)QMo9YreX3sd zvHH!#fsoKm8p-zf_{^O1o&WUnv!7qJTCIP+ZME9Cem(6T%}6#L`gmk-co@og52S7l(Ek-aj{ z2QW9J9{TZJuhT~qALzQ!y3eE+$j8kbSF2HA+F)gX4T&Qq? zw88`>Ah;OkSsk5uE>lAdqlRkSEmJbs@$w;oWnqdci+U_+8;NIC*85{n^t-pWF__M| zPH7@7ZaZNKDW}=gXV*bf5+F55_Tu&iNmbShEq0)&6;!|_Mo?y~6(Rvq3OG`0&K;LF zU<8fBc@FTDLw z3ULR2TevfLHl(zq66uWcz?DLmL9qq8fUzVwi~_@~_SGQE=epjM6ZFbc%mEmr>T2R2%g_L3?oDDq@48c z3O|lh#C10Im?X;T=d2e;I?M+g;f=b8QfScnSj>p+Xe=n$h*=y6oESsq5+7-)dWc{! zu*9Kf_EMR_vEK5N;<)egW_h;3tPmK?LwiBZqIu7G%l;TF|Q}Lx4!x?@E_x$y>d7z3t!Y{ zanw_c>jY!t1oK`8ejH|>Fiok@F;y5`h6BvF=R1*rJ1C6@KfK)&XlpaFd_FYYaQ@eJ zWB%NFH%8GF*|5a=?nsQ-fU=Q&y7%Vb%?U=?WJ&jBTSYrv-`D=Y7yTNur?gbYmH5|3=UIBwFi**4*956P^Wh;9bUlA;x@Hg0(0AtugD7D*v;s4U^ y{t@o){>CjlcjwpRdO^oCe2esk_T@*seTk&jw(GzbdFR_6*Wa{WgYvrds`W3e``f7i diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/models/Level2.glb b/examples/bevy_gltf_blueprints/multiple_levels/assets/models/Level2.glb deleted file mode 100644 index 19e30e707468d26f6163fc35750dd622a331abc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3288 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 b3N{}+pDiR@0IpzFc&=dcz!mrpt$FOfg{Lt| diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/MagicTeapot.glb b/examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/MagicTeapot.glb deleted file mode 100644 index 63dc03551cb0cb4384fdc10f77a85c2835777a0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24028 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 X*6ii{i<%DppO^mq`S~9F=%7CV&=wL? diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Unused_in_level_test.glb b/examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Unused_in_level_test.glb deleted file mode 100644 index b5937bb6645890613ec4e82c231464e2760b8f93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5176 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

iJ!e2V+C?R-#w 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 diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_core.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_core.rs deleted file mode 100644 index 29b577a..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_core.rs +++ /dev/null @@ -1,5 +0,0 @@ -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct CoreAssets {} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_game.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_game.rs deleted file mode 100644 index c65934f..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_game.rs +++ /dev/null @@ -1,16 +0,0 @@ -use bevy::gltf::Gltf; -use bevy::prelude::*; -use bevy::utils::HashMap; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct GameAssets { - #[asset(key = "world")] - pub world: Handle, - #[asset(key = "level1")] - pub level1: Handle, - #[asset(key = "level2")] - pub level2: Handle, - #[asset(key = "models", collection(typed, mapped))] - pub models: HashMap>, -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/assets/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/assets/mod.rs deleted file mode 100644 index a2c8b22..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/assets/mod.rs +++ /dev/null @@ -1,35 +0,0 @@ -pub mod assets_core; -pub use assets_core::*; - -pub mod assets_game; -pub use assets_game::*; - -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -use crate::state::AppState; - -pub struct AssetsPlugin; -impl Plugin for AssetsPlugin { - fn build(&self, app: &mut App) { - app - // load core assets (ie assets needed in the main menu, and everywhere else before loading more assets in game) - .add_loading_state( - LoadingState::new(AppState::CoreLoading).continue_to_state(AppState::MenuRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::CoreLoading, - "assets_core.assets.ron", - ) - .add_collection_to_loading_state::<_, CoreAssets>(AppState::CoreLoading) - // load game assets - .add_loading_state( - LoadingState::new(AppState::AppLoading).continue_to_state(AppState::AppRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::AppLoading, - "assets_game.assets.ron", - ) - .add_collection_to_loading_state::<_, GameAssets>(AppState::AppLoading); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_replace_proxies.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_replace_proxies.rs deleted file mode 100644 index 9055c95..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_replace_proxies.rs +++ /dev/null @@ -1,24 +0,0 @@ -use bevy::core_pipeline::bloom::{BloomCompositeMode, BloomSettings}; -use bevy::core_pipeline::tonemapping::{DebandDither, Tonemapping}; -use bevy::prelude::*; - -use super::CameraTrackingOffset; - -pub fn camera_replace_proxies( - mut commands: Commands, - mut added_cameras: Query<(Entity, &mut Camera), (Added, With)>, -) { - for (entity, mut camera) in added_cameras.iter_mut() { - info!("detected added camera, updating proxy"); - camera.hdr = true; - commands - .entity(entity) - .insert(DebandDither::Enabled) - .insert(Tonemapping::BlenderFilmic) - .insert(BloomSettings { - intensity: 0.01, - composite_mode: BloomCompositeMode::Additive, - ..default() - }); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_tracking.rs deleted file mode 100644 index 71b0ed7..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_tracking.rs +++ /dev/null @@ -1,81 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Debug)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -/// -pub struct CameraTracking { - pub offset: Vec3, -} -impl Default for CameraTracking { - fn default() -> Self { - CameraTracking { - offset: Vec3::new(0.0, 6.0, 8.0), - } - } -} - -#[derive(Component, Reflect, Debug, Deref, DerefMut)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -pub struct CameraTrackingOffset(Vec3); -impl Default for CameraTrackingOffset { - fn default() -> Self { - CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) - } -} - -impl CameraTrackingOffset { - fn new(input: Vec3) -> Self { - CameraTrackingOffset(input) - } -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Add this component to an entity if you want it to be tracked by a Camera -pub struct CameraTrackable; - -// this system ensures that the camera is at the correct position immediatly after spawning -pub fn init_camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, (With, Added)>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - println!("ADDED tracking camera"); - - let target_position = tracked_transform.translation + tracking_offset.0; - camera_transform.translation = target_position; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} - -pub fn camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, With>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - let target_position = tracked_transform.translation + tracking_offset.0; - let eased_position = camera_transform.translation.lerp(target_position, 0.1); - camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/mod.rs deleted file mode 100644 index 216183c..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/mod.rs +++ /dev/null @@ -1,25 +0,0 @@ -pub mod camera_tracking; -pub use camera_tracking::*; - -pub mod camera_replace_proxies; -pub use camera_replace_proxies::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -pub struct CameraPlugin; -impl Plugin for CameraPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .add_systems( - Update, - ( - camera_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - init_camera_track, - camera_track, - ), - ); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/lighting_replace_proxies.rs deleted file mode 100644 index 729ba44..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/lighting_replace_proxies.rs +++ /dev/null @@ -1,31 +0,0 @@ -use bevy::prelude::*; - -use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; - -pub fn lighting_replace_proxies( - mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, - mut added_spotlights: Query<&mut SpotLight, Added>, - mut added_pointlights: Query<&mut PointLight, Added>, - - mut commands: Commands, -) { - for (entity, mut light) in added_dirights.iter_mut() { - light.illuminance *= 5.0; - light.shadows_enabled = true; - let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { - first_cascade_far_bound: 15.0, - maximum_distance: 135.0, - ..default() - } - .into(); - commands.entity(entity).insert(shadow_config); - } - for mut light in added_spotlights.iter_mut() { - light.shadows_enabled = true; - } - - for mut light in added_pointlights.iter_mut() { - light.intensity *= 0.001; // arbitrary/ eyeballed to match the levels of Blender - light.shadows_enabled = true; - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/mod.rs deleted file mode 100644 index c9688cd..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod lighting_replace_proxies; -use lighting_replace_proxies::*; - -use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; -use bevy::prelude::*; - -pub struct LightingPlugin; -impl Plugin for LightingPlugin { - fn build(&self, app: &mut App) { - app - .insert_resource(DirectionalLightShadowMap { size: 4096 }) - // FIXME: adding these since they are missing - .register_type::() - - .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely - ; - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/mod.rs deleted file mode 100644 index 3271ad4..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/core/mod.rs +++ /dev/null @@ -1,29 +0,0 @@ -pub mod camera; -pub use camera::*; - -pub mod lighting; -pub use lighting::*; - -pub mod relationships; -pub use relationships::*; - -pub mod physics; -pub use physics::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::*; - -pub struct CorePlugin; -impl Plugin for CorePlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - LightingPlugin, - CameraPlugin, - PhysicsPlugin, - BlueprintsPlugin { - library_folder: "models/library".into(), - ..Default::default() - }, - )); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/controls.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/controls.rs deleted file mode 100644 index 433128e..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/controls.rs +++ /dev/null @@ -1,21 +0,0 @@ -use bevy::prelude::{info, Input, KeyCode, Res, ResMut}; -use bevy_rapier3d::{prelude::RapierConfiguration, render::DebugRenderContext}; - -pub fn pause_physics(mut physics_config: ResMut) { - info!("pausing physics"); - physics_config.physics_pipeline_active = false; -} - -pub fn resume_physics(mut physics_config: ResMut) { - info!("unpausing physics"); - physics_config.physics_pipeline_active = true; -} - -pub fn toggle_physics_debug( - mut debug_config: ResMut, - keycode: Res>, -) { - if keycode.just_pressed(KeyCode::D) { - debug_config.enabled = !debug_config.enabled; - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/mod.rs deleted file mode 100644 index c9fa115..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/mod.rs +++ /dev/null @@ -1,36 +0,0 @@ -pub mod physics_replace_proxies; -use bevy_rapier3d::{ - prelude::{NoUserData, RapierPhysicsPlugin}, - render::RapierDebugRenderPlugin, -}; -pub use physics_replace_proxies::*; - -pub mod utils; - -pub mod controls; -pub use controls::*; - -use crate::state::GameState; -use bevy::prelude::*; -// use super::blueprints::GltfBlueprintsSet; -use bevy_gltf_blueprints::GltfBlueprintsSet; -// use crate::Collider; -pub struct PhysicsPlugin; -impl Plugin for PhysicsPlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - RapierPhysicsPlugin::::default(), - RapierDebugRenderPlugin::default(), - )) - .register_type::() - .register_type::() - .add_systems( - Update, - physics_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - ) - // physics controls - .add_systems(OnEnter(GameState::InGame), resume_physics) - .add_systems(OnExit(GameState::InGame), pause_physics) - .add_systems(Update, toggle_physics_debug); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/physics_replace_proxies.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/physics_replace_proxies.rs deleted file mode 100644 index 7e4d5fc..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/physics_replace_proxies.rs +++ /dev/null @@ -1,102 +0,0 @@ -use bevy::prelude::*; -// use bevy::render::primitives::Aabb; -use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::prelude::{ActiveCollisionTypes, ActiveEvents, ComputedColliderShape}; - -use super::utils::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum Collider { - Ball(f32), - Cuboid(Vec3), - Capsule(Vec3, Vec3, f32), - #[default] - Mesh, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum AutoAABBCollider { - #[default] - Cuboid, - Ball, - Capsule, -} - -// replaces all physics stand-ins with the actual rapier types -pub fn physics_replace_proxies( - meshes: Res>, - mesh_handles: Query<&Handle>, - mut proxy_colliders: Query< - (Entity, &Collider, &Name, &mut Visibility), - (Without, Added), - >, - // needed for tri meshes - children: Query<&Children>, - - mut commands: Commands, -) { - for proxy_colider in proxy_colliders.iter_mut() { - let (entity, collider_proxy, name, mut visibility) = proxy_colider; - // we hide the collider meshes: perhaps they should be removed altogether once processed ? - if name.ends_with("_collider") || name.ends_with("_sensor") { - *visibility = Visibility::Hidden; - } - // also entities marked with collider names are actually children colliders - - let mut rapier_collider: RapierCollider; - match collider_proxy { - Collider::Ball(radius) => { - info!("generating collider from proxy: ball"); - rapier_collider = RapierCollider::ball(*radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Cuboid(size) => { - info!("generating collider from proxy: cuboid"); - rapier_collider = RapierCollider::cuboid(size.x, size.y, size.z); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Capsule(a, b, radius) => { - info!("generating collider from proxy: capsule"); - rapier_collider = RapierCollider::capsule(*a, *b, *radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Mesh => { - info!("generating collider from proxy: mesh"); - for (_, collider_mesh) in - Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) - { - rapier_collider = RapierCollider::from_bevy_mesh( - collider_mesh, - &ComputedColliderShape::TriMesh, - ) - .unwrap(); - commands - .entity(entity) - .insert(rapier_collider) - // FIXME: this is just for demo purposes !!! - .insert( - ActiveCollisionTypes::default() - | ActiveCollisionTypes::KINEMATIC_STATIC - | ActiveCollisionTypes::STATIC_STATIC - | ActiveCollisionTypes::DYNAMIC_STATIC, - ) - .insert(ActiveEvents::COLLISION_EVENTS); - // .insert(ActiveEvents::COLLISION_EVENTS) - // break; - // RapierCollider::convex_hull(points) - } - } - } - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/utils.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/utils.rs deleted file mode 100644 index 7886710..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/utils.rs +++ /dev/null @@ -1,175 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs - -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - -pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - parent: Entity, - children: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)>; -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - parent: Entity, - children_query: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)> { - if let Ok(children) = children_query.get(parent) { - let mut result: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .map(|(entity, mesh_handle)| { - ( - entity, - meshes - .get(mesh_handle) - .expect("Failed to get mesh from handle"), - ) - }) - .map(|(entity, mesh)| { - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (entity, mesh) - }) - .collect(); - let mut inner_result = children - .iter() - .flat_map(|entity| { - Self::search_in_children(*entity, children_query, meshes, mesh_handles) - }) - .collect(); - result.append(&mut inner_result); - result - } else { - Vec::new() - } - } -} - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/mod.rs deleted file mode 100644 index 4128453..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub mod relationships_insert_dependant_components; -pub use relationships_insert_dependant_components::*; - -use bevy::prelude::*; - -pub struct EcsRelationshipsPlugin; -impl Plugin for EcsRelationshipsPlugin { - fn build(&self, app: &mut App) { - app; - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/relationships_insert_dependant_components.rs deleted file mode 100644 index 4e9ad17..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/relationships_insert_dependant_components.rs +++ /dev/null @@ -1,15 +0,0 @@ -use bevy::prelude::*; - -pub fn insert_dependant_component< - Dependant: Component, - Dependency: Component + std::default::Default, ->( - mut commands: Commands, - entities_without_depency: Query<(Entity, &Name), (With, Without)>, -) { - for (entity, name) in entities_without_depency.iter() { - let name = name.clone().to_string(); - commands.entity(entity).insert(Dependency::default()); - warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/game/in_game.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/game/in_game.rs deleted file mode 100644 index 4047b83..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/game/in_game.rs +++ /dev/null @@ -1,84 +0,0 @@ -use bevy::prelude::*; - -use crate::{ - assets::GameAssets, - state::{GameState, InAppRunning}, -}; -use bevy_gltf_blueprints::{BluePrintBundle, BlueprintName, GameWorldTag}; - -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>, -) { - println!("setting up all stuff"); - /*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.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) -} - -pub fn spawn_test( - keycode: Res>, - mut commands: Commands, - - mut game_world: Query<(Entity, &Children), With>, -) { - if keycode.just_pressed(KeyCode::T) { - 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_gltf_blueprints/multiple_levels/src/game/in_main_menu.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/game/in_main_menu.rs deleted file mode 100644 index cecd13a..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/game/in_main_menu.rs +++ /dev/null @@ -1,113 +0,0 @@ -use bevy::prelude::*; - -use crate::state::{AppState, GameState, InMainMenu}; - -pub fn setup_main_menu(mut commands: Commands) { - commands.spawn((Camera2dBundle::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>, - // mut next_game_state: ResMut>, - // mut save_requested_events: EventWriter, - // mut load_requested_events: EventWriter, -) { - if keycode.just_pressed(KeyCode::Return) { - next_app_state.set(AppState::AppLoading); - // next_game_state.set(GameState::None); - } - - if keycode.just_pressed(KeyCode::L) { - next_app_state.set(AppState::AppLoading); - // load_requested_events.send(LoadRequest { path: "toto".into() }) - } - - if keycode.just_pressed(KeyCode::S) { - // save_requested_events.send(SaveRequest { path: "toto".into() }) - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/game/level_transitions.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/game/level_transitions.rs deleted file mode 100644 index ca676f9..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/game/level_transitions.rs +++ /dev/null @@ -1,86 +0,0 @@ -use crate::{assets::GameAssets, state::InAppRunning}; -use bevy::prelude::*; -use bevy_gltf_blueprints::GameWorldTag; -use bevy_rapier3d::prelude::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct LevelTransition { - pub target: String, -} - -// very barebones example of triggering level transitions -pub fn trigger_level_transition( - mut collision_events: EventReader, - level_transition_triggers: Query<&LevelTransition>, - parents: Query<&Parent>, - - mut commands: Commands, - game_assets: Res, - models: Res>, - - game_world: Query<(Entity, &GameWorldTag)>, -) { - for collision_event in collision_events.read() { - match collision_event { - CollisionEvent::Started(entity1, entity2, _) => { - // we need to accomodate for the fact that the collider may be a child of the level transition (FIXME: is this a missunderstanding on my part about rapier child colliders ?) - let entity1_parent = parents.get(*entity1).unwrap(); - let entity2_parent = parents.get(*entity2).unwrap(); - if level_transition_triggers.get(*entity1).is_ok() - || level_transition_triggers.get(*entity2).is_ok() - || level_transition_triggers.get(entity1_parent.get()).is_ok() - || level_transition_triggers.get(entity2_parent.get()).is_ok() - { - println!("collision started, we can transition to level"); - let transition_trigger; - if level_transition_triggers.get(*entity1).is_ok() { - transition_trigger = level_transition_triggers.get(*entity1).unwrap(); - } else if level_transition_triggers.get(*entity2).is_ok() { - transition_trigger = level_transition_triggers.get(*entity2).unwrap(); - } else if level_transition_triggers.get(entity1_parent.get()).is_ok() { - transition_trigger = - level_transition_triggers.get(entity1_parent.get()).unwrap(); - } else { - transition_trigger = - level_transition_triggers.get(entity2_parent.get()).unwrap(); - } - let current_game_world = game_world.single(); - - // remove current level/world - info!("despawning current level"); - commands.entity(current_game_world.0).despawn_recursive(); - - let target_level = &transition_trigger.target; - let level; - println!("target level {}", target_level); - if target_level == "Level1" { - level = &game_assets.level1; - } else if (target_level == "Level2") { - level = &game_assets.level2; - } else { - level = &game_assets.world; - } - info!("spawning new 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(level.id()) - .expect("main level should have been loaded") - .scenes[0] - .clone(), - ..default() - }, - bevy::prelude::Name::from("world"), - GameWorldTag, - InAppRunning, - )); - } - } - CollisionEvent::Stopped(_entity1, _entity2, _) => { - // println!("collision ended") - } - } - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs deleted file mode 100644 index 80bdcc1..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs +++ /dev/null @@ -1,121 +0,0 @@ -pub mod in_game; -pub use in_game::*; - -pub mod in_main_menu; -pub use in_main_menu::*; - -pub mod picking; -pub use picking::*; - -pub mod level_transitions; -pub use level_transitions::*; - -use crate::{ - assets::GameAssets, - insert_dependant_component, - state::{AppState, GameState, InAppRunning}, -}; -use bevy::prelude::*; -use bevy_rapier3d::prelude::*; - -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; - -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} - -// collision tests/debug -pub fn test_collision_events( - mut collision_events: EventReader, - mut contact_force_events: EventReader, -) { - for collision_event in collision_events.read() { - println!("collision"); - match collision_event { - CollisionEvent::Started(_entity1, _entity2, _) => { - println!("collision started") - } - CollisionEvent::Stopped(_entity1, _entity2, _) => { - println!("collision ended") - } - } - } - - for contact_force_event in contact_force_events.read() { - println!("Received contact force event: {:?}", contact_force_event); - } -} - -pub struct GamePlugin; -impl Plugin for GamePlugin { - fn build(&self, app: &mut App) { - app.add_plugins(PickingPlugin) - .register_type::() - .register_type::() - .register_type::() - .register_type::() - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) - .add_systems( - Update, - ( - // insert_dependant_component::, - player_move_demo, //.run_if(in_state(AppState::Running)), - // test_collision_events, - spawn_test, - trigger_level_transition, - ) - .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_gltf_blueprints/multiple_levels/src/game/picking.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/game/picking.rs deleted file mode 100644 index 6731bbb..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/game/picking.rs +++ /dev/null @@ -1,34 +0,0 @@ -use super::Player; -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct Pickable; - -// very simple, crude picking (as in picking up objects) implementation - -pub fn picking( - players: Query<&GlobalTransform, With>, - pickables: Query<(Entity, &GlobalTransform), With>, - mut commands: Commands, -) { - for player_transforms in players.iter() { - for (pickable, pickable_transforms) in pickables.iter() { - let distance = player_transforms - .translation() - .distance(pickable_transforms.translation()); - if distance < 2.5 { - commands.entity(pickable).despawn_recursive(); - } - } - } -} - -pub struct PickingPlugin; -impl Plugin for PickingPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .add_systems(Update, (picking.after(GltfBlueprintsSet::AfterSpawn),)); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/main.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/main.rs deleted file mode 100644 index 6edba33..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/main.rs +++ /dev/null @@ -1,33 +0,0 @@ -use bevy::prelude::*; -use bevy_editor_pls::prelude::*; - -mod core; -use crate::core::*; - -pub mod assets; -use assets::*; - -pub mod state; -use state::*; - -mod game; -use game::*; - -mod test_components; -use test_components::*; - -fn main() { - App::new() - .add_plugins(( - DefaultPlugins.set(AssetPlugin::default()), - // editor - EditorPlugin::default(), - // our custom plugins - StatePlugin, - AssetsPlugin, - CorePlugin, // reusable plugins - GamePlugin, // specific to our game - ComponentsTestPlugin, // Showcases different type of components /structs - )) - .run(); -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/state.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/state.rs deleted file mode 100644 index 8e983d9..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/state.rs +++ /dev/null @@ -1,54 +0,0 @@ -use bevy::app::AppExit; -use bevy::prelude::*; - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum AppState { - #[default] - CoreLoading, - MenuRunning, - AppLoading, - AppRunning, - AppEnding, - - // FIXME: not sure - LoadingGame, -} - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum GameState { - #[default] - None, - - InMenu, - InGame, - - InGameOver, - - InSaving, - InLoading, -} - -// tag components for all entities within a certain state (for despawning them if needed) , FIXME: seems kinda hack-ish -#[derive(Component)] -pub struct InCoreLoading; -#[derive(Component, Default)] -pub struct InMenuRunning; -#[derive(Component)] -pub struct InAppLoading; -#[derive(Component)] -pub struct InAppRunning; - -// components for tagging in game vs in game menu stuff -#[derive(Component, Default)] -pub struct InMainMenu; -#[derive(Component, Default)] -pub struct InMenu; -#[derive(Component, Default)] -pub struct InGame; - -pub struct StatePlugin; -impl Plugin for StatePlugin { - fn build(&self, app: &mut App) { - app.add_state::().add_state::(); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/test_components.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/test_components.rs deleted file mode 100644 index d0e6fbd..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels/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 TuppleTestF32(f32); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -struct TuppleTestU64(u64); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -pub struct TuppleTestStr(String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTest2(f32, u64, String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTestBool(bool); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec2(Vec2); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec3(Vec3); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec(Vec); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTestColor(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_gltf_blueprints/multiple_levels_multiple_blendfiles/Cargo.toml b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/Cargo.toml index 4652c4b..563fbe2 100644 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/Cargo.toml +++ b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/Cargo.toml @@ -7,6 +7,8 @@ license = "MIT OR Apache-2.0" [dependencies] bevy="0.12" bevy_gltf_blueprints = { path = "../../../crates/bevy_gltf_blueprints" } +bevy_gltf_worlflow_examples_common = { path = "../../common" } + bevy_rapier3d = { version = "0.23.0", features = [ "serde-serialize", "debug-render-3d", "enhanced-determinism"] } bevy_asset_loader = { version = "0.18", features = ["standard_dynamic_assets" ]} bevy_editor_pls = { version = "0.6" } diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/assets/assets_core.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/assets/assets_core.rs deleted file mode 100644 index 29b577a..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/assets/assets_core.rs +++ /dev/null @@ -1,5 +0,0 @@ -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct CoreAssets {} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/assets/assets_game.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/assets/assets_game.rs deleted file mode 100644 index 731a4a1..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/assets/assets_game.rs +++ /dev/null @@ -1,19 +0,0 @@ -use bevy::gltf::Gltf; -use bevy::prelude::*; -use bevy::utils::HashMap; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct GameAssets { - #[asset(key = "world")] - pub world: Handle, - #[asset(key = "level1")] - pub level1: Handle, - #[asset(key = "level2")] - pub level2: Handle, - #[asset(key = "models", collection(typed, mapped))] - pub models: HashMap>, - - #[asset(key = "materials", collection(typed, mapped))] - pub materials: HashMap>, -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/assets/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/assets/mod.rs deleted file mode 100644 index a2c8b22..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/assets/mod.rs +++ /dev/null @@ -1,35 +0,0 @@ -pub mod assets_core; -pub use assets_core::*; - -pub mod assets_game; -pub use assets_game::*; - -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -use crate::state::AppState; - -pub struct AssetsPlugin; -impl Plugin for AssetsPlugin { - fn build(&self, app: &mut App) { - app - // load core assets (ie assets needed in the main menu, and everywhere else before loading more assets in game) - .add_loading_state( - LoadingState::new(AppState::CoreLoading).continue_to_state(AppState::MenuRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::CoreLoading, - "assets_core.assets.ron", - ) - .add_collection_to_loading_state::<_, CoreAssets>(AppState::CoreLoading) - // load game assets - .add_loading_state( - LoadingState::new(AppState::AppLoading).continue_to_state(AppState::AppRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::AppLoading, - "assets_game.assets.ron", - ) - .add_collection_to_loading_state::<_, GameAssets>(AppState::AppLoading); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/camera/camera_replace_proxies.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/camera/camera_replace_proxies.rs deleted file mode 100644 index 9055c95..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/camera/camera_replace_proxies.rs +++ /dev/null @@ -1,24 +0,0 @@ -use bevy::core_pipeline::bloom::{BloomCompositeMode, BloomSettings}; -use bevy::core_pipeline::tonemapping::{DebandDither, Tonemapping}; -use bevy::prelude::*; - -use super::CameraTrackingOffset; - -pub fn camera_replace_proxies( - mut commands: Commands, - mut added_cameras: Query<(Entity, &mut Camera), (Added, With)>, -) { - for (entity, mut camera) in added_cameras.iter_mut() { - info!("detected added camera, updating proxy"); - camera.hdr = true; - commands - .entity(entity) - .insert(DebandDither::Enabled) - .insert(Tonemapping::BlenderFilmic) - .insert(BloomSettings { - intensity: 0.01, - composite_mode: BloomCompositeMode::Additive, - ..default() - }); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/camera/camera_tracking.rs deleted file mode 100644 index 71b0ed7..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/camera/camera_tracking.rs +++ /dev/null @@ -1,81 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Debug)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -/// -pub struct CameraTracking { - pub offset: Vec3, -} -impl Default for CameraTracking { - fn default() -> Self { - CameraTracking { - offset: Vec3::new(0.0, 6.0, 8.0), - } - } -} - -#[derive(Component, Reflect, Debug, Deref, DerefMut)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -pub struct CameraTrackingOffset(Vec3); -impl Default for CameraTrackingOffset { - fn default() -> Self { - CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) - } -} - -impl CameraTrackingOffset { - fn new(input: Vec3) -> Self { - CameraTrackingOffset(input) - } -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Add this component to an entity if you want it to be tracked by a Camera -pub struct CameraTrackable; - -// this system ensures that the camera is at the correct position immediatly after spawning -pub fn init_camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, (With, Added)>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - println!("ADDED tracking camera"); - - let target_position = tracked_transform.translation + tracking_offset.0; - camera_transform.translation = target_position; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} - -pub fn camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, With>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - let target_position = tracked_transform.translation + tracking_offset.0; - let eased_position = camera_transform.translation.lerp(target_position, 0.1); - camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/camera/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/camera/mod.rs deleted file mode 100644 index 216183c..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/camera/mod.rs +++ /dev/null @@ -1,25 +0,0 @@ -pub mod camera_tracking; -pub use camera_tracking::*; - -pub mod camera_replace_proxies; -pub use camera_replace_proxies::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -pub struct CameraPlugin; -impl Plugin for CameraPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .add_systems( - Update, - ( - camera_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - init_camera_track, - camera_track, - ), - ); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/lighting/lighting_replace_proxies.rs deleted file mode 100644 index 729ba44..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/lighting/lighting_replace_proxies.rs +++ /dev/null @@ -1,31 +0,0 @@ -use bevy::prelude::*; - -use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; - -pub fn lighting_replace_proxies( - mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, - mut added_spotlights: Query<&mut SpotLight, Added>, - mut added_pointlights: Query<&mut PointLight, Added>, - - mut commands: Commands, -) { - for (entity, mut light) in added_dirights.iter_mut() { - light.illuminance *= 5.0; - light.shadows_enabled = true; - let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { - first_cascade_far_bound: 15.0, - maximum_distance: 135.0, - ..default() - } - .into(); - commands.entity(entity).insert(shadow_config); - } - for mut light in added_spotlights.iter_mut() { - light.shadows_enabled = true; - } - - for mut light in added_pointlights.iter_mut() { - light.intensity *= 0.001; // arbitrary/ eyeballed to match the levels of Blender - light.shadows_enabled = true; - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/lighting/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/lighting/mod.rs deleted file mode 100644 index c9688cd..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/lighting/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod lighting_replace_proxies; -use lighting_replace_proxies::*; - -use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; -use bevy::prelude::*; - -pub struct LightingPlugin; -impl Plugin for LightingPlugin { - fn build(&self, app: &mut App) { - app - .insert_resource(DirectionalLightShadowMap { size: 4096 }) - // FIXME: adding these since they are missing - .register_type::() - - .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely - ; - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/mod.rs index 610f205..37d9f8c 100644 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/mod.rs +++ b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/mod.rs @@ -1,30 +1,13 @@ -pub mod camera; -pub use camera::*; - -pub mod lighting; -pub use lighting::*; - -pub mod relationships; -pub use relationships::*; - -pub mod physics; -pub use physics::*; - use bevy::prelude::*; use bevy_gltf_blueprints::*; pub struct CorePlugin; impl Plugin for CorePlugin { fn build(&self, app: &mut App) { - app.add_plugins(( - LightingPlugin, - CameraPlugin, - PhysicsPlugin, - BlueprintsPlugin { - library_folder: "models/library".into(), - material_library: true, - ..Default::default() - }, - )); + app.add_plugins((BlueprintsPlugin { + library_folder: "models/library".into(), + material_library: true, + ..Default::default() + },)); } } diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/controls.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/controls.rs deleted file mode 100644 index 433128e..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/controls.rs +++ /dev/null @@ -1,21 +0,0 @@ -use bevy::prelude::{info, Input, KeyCode, Res, ResMut}; -use bevy_rapier3d::{prelude::RapierConfiguration, render::DebugRenderContext}; - -pub fn pause_physics(mut physics_config: ResMut) { - info!("pausing physics"); - physics_config.physics_pipeline_active = false; -} - -pub fn resume_physics(mut physics_config: ResMut) { - info!("unpausing physics"); - physics_config.physics_pipeline_active = true; -} - -pub fn toggle_physics_debug( - mut debug_config: ResMut, - keycode: Res>, -) { - if keycode.just_pressed(KeyCode::D) { - debug_config.enabled = !debug_config.enabled; - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/mod.rs deleted file mode 100644 index c9fa115..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/mod.rs +++ /dev/null @@ -1,36 +0,0 @@ -pub mod physics_replace_proxies; -use bevy_rapier3d::{ - prelude::{NoUserData, RapierPhysicsPlugin}, - render::RapierDebugRenderPlugin, -}; -pub use physics_replace_proxies::*; - -pub mod utils; - -pub mod controls; -pub use controls::*; - -use crate::state::GameState; -use bevy::prelude::*; -// use super::blueprints::GltfBlueprintsSet; -use bevy_gltf_blueprints::GltfBlueprintsSet; -// use crate::Collider; -pub struct PhysicsPlugin; -impl Plugin for PhysicsPlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - RapierPhysicsPlugin::::default(), - RapierDebugRenderPlugin::default(), - )) - .register_type::() - .register_type::() - .add_systems( - Update, - physics_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - ) - // physics controls - .add_systems(OnEnter(GameState::InGame), resume_physics) - .add_systems(OnExit(GameState::InGame), pause_physics) - .add_systems(Update, toggle_physics_debug); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/physics_replace_proxies.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/physics_replace_proxies.rs deleted file mode 100644 index 7e4d5fc..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/physics_replace_proxies.rs +++ /dev/null @@ -1,102 +0,0 @@ -use bevy::prelude::*; -// use bevy::render::primitives::Aabb; -use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::prelude::{ActiveCollisionTypes, ActiveEvents, ComputedColliderShape}; - -use super::utils::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum Collider { - Ball(f32), - Cuboid(Vec3), - Capsule(Vec3, Vec3, f32), - #[default] - Mesh, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum AutoAABBCollider { - #[default] - Cuboid, - Ball, - Capsule, -} - -// replaces all physics stand-ins with the actual rapier types -pub fn physics_replace_proxies( - meshes: Res>, - mesh_handles: Query<&Handle>, - mut proxy_colliders: Query< - (Entity, &Collider, &Name, &mut Visibility), - (Without, Added), - >, - // needed for tri meshes - children: Query<&Children>, - - mut commands: Commands, -) { - for proxy_colider in proxy_colliders.iter_mut() { - let (entity, collider_proxy, name, mut visibility) = proxy_colider; - // we hide the collider meshes: perhaps they should be removed altogether once processed ? - if name.ends_with("_collider") || name.ends_with("_sensor") { - *visibility = Visibility::Hidden; - } - // also entities marked with collider names are actually children colliders - - let mut rapier_collider: RapierCollider; - match collider_proxy { - Collider::Ball(radius) => { - info!("generating collider from proxy: ball"); - rapier_collider = RapierCollider::ball(*radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Cuboid(size) => { - info!("generating collider from proxy: cuboid"); - rapier_collider = RapierCollider::cuboid(size.x, size.y, size.z); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Capsule(a, b, radius) => { - info!("generating collider from proxy: capsule"); - rapier_collider = RapierCollider::capsule(*a, *b, *radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Mesh => { - info!("generating collider from proxy: mesh"); - for (_, collider_mesh) in - Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) - { - rapier_collider = RapierCollider::from_bevy_mesh( - collider_mesh, - &ComputedColliderShape::TriMesh, - ) - .unwrap(); - commands - .entity(entity) - .insert(rapier_collider) - // FIXME: this is just for demo purposes !!! - .insert( - ActiveCollisionTypes::default() - | ActiveCollisionTypes::KINEMATIC_STATIC - | ActiveCollisionTypes::STATIC_STATIC - | ActiveCollisionTypes::DYNAMIC_STATIC, - ) - .insert(ActiveEvents::COLLISION_EVENTS); - // .insert(ActiveEvents::COLLISION_EVENTS) - // break; - // RapierCollider::convex_hull(points) - } - } - } - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/utils.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/utils.rs deleted file mode 100644 index 7886710..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/physics/utils.rs +++ /dev/null @@ -1,175 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs - -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - -pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - parent: Entity, - children: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)>; -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - parent: Entity, - children_query: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)> { - if let Ok(children) = children_query.get(parent) { - let mut result: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .map(|(entity, mesh_handle)| { - ( - entity, - meshes - .get(mesh_handle) - .expect("Failed to get mesh from handle"), - ) - }) - .map(|(entity, mesh)| { - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (entity, mesh) - }) - .collect(); - let mut inner_result = children - .iter() - .flat_map(|entity| { - Self::search_in_children(*entity, children_query, meshes, mesh_handles) - }) - .collect(); - result.append(&mut inner_result); - result - } else { - Vec::new() - } - } -} - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/relationships/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/relationships/mod.rs deleted file mode 100644 index 4128453..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/relationships/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub mod relationships_insert_dependant_components; -pub use relationships_insert_dependant_components::*; - -use bevy::prelude::*; - -pub struct EcsRelationshipsPlugin; -impl Plugin for EcsRelationshipsPlugin { - fn build(&self, app: &mut App) { - app; - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/relationships/relationships_insert_dependant_components.rs deleted file mode 100644 index 4e9ad17..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/core/relationships/relationships_insert_dependant_components.rs +++ /dev/null @@ -1,15 +0,0 @@ -use bevy::prelude::*; - -pub fn insert_dependant_component< - Dependant: Component, - Dependency: Component + std::default::Default, ->( - mut commands: Commands, - entities_without_depency: Query<(Entity, &Name), (With, Without)>, -) { - for (entity, name) in entities_without_depency.iter() { - let name = name.clone().to_string(); - commands.entity(entity).insert(Dependency::default()); - warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/in_game.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/in_game.rs index 4047b83..2338956 100644 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/in_game.rs +++ b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/in_game.rs @@ -1,10 +1,6 @@ use bevy::prelude::*; - -use crate::{ - assets::GameAssets, - state::{GameState, InAppRunning}, -}; use bevy_gltf_blueprints::{BluePrintBundle, BlueprintName, GameWorldTag}; +use bevy_gltf_worlflow_examples_common::{assets::GameAssets, GameState, InAppRunning}; use bevy_rapier3d::prelude::Velocity; use rand::Rng; @@ -16,10 +12,10 @@ pub fn setup_game( mut next_game_state: ResMut>, ) { println!("setting up all stuff"); - /*commands.insert_resource(AmbientLight { + commands.insert_resource(AmbientLight { color: Color::WHITE, brightness: 0.2, - });*/ + }); // here we actually spawn our game world/level commands.spawn(( @@ -40,6 +36,10 @@ pub fn setup_game( next_game_state.set(GameState::InGame) } +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +struct UnregisteredComponent; + pub fn spawn_test( keycode: Res>, mut commands: Commands, @@ -82,3 +82,47 @@ pub fn spawn_test( commands.entity(world).add_child(new_entity); } } + +pub fn spawn_test_unregisted_components( + keycode: Res>, + mut commands: Commands, + + mut game_world: Query<(Entity, &Children), With>, +) { + if keycode.just_pressed(KeyCode::U) { + 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), + }, + UnregisteredComponent, + )) + .id(); + commands.entity(world).add_child(new_entity); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/in_main_menu.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/in_main_menu.rs index cecd13a..c1a4b8b 100644 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/in_main_menu.rs +++ b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/in_main_menu.rs @@ -1,6 +1,5 @@ use bevy::prelude::*; - -use crate::state::{AppState, GameState, InMainMenu}; +use bevy_gltf_worlflow_examples_common::{AppState, InMainMenu}; pub fn setup_main_menu(mut commands: Commands) { commands.spawn((Camera2dBundle::default(), InMainMenu)); diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/level_transitions.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/level_transitions.rs index b59494a..7fa6f1a 100644 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/level_transitions.rs +++ b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/level_transitions.rs @@ -1,10 +1,8 @@ -use crate::{assets::GameAssets, state::InAppRunning}; -use bevy::prelude::*; +use bevy::{gltf::Gltf, prelude::*}; use bevy_gltf_blueprints::GameWorldTag; +use bevy_gltf_worlflow_examples_common::{assets::GameAssets, GameState, InAppRunning, Player}; use bevy_rapier3d::prelude::*; -use super::Player; - #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] pub struct LevelTransition { @@ -12,6 +10,7 @@ pub struct LevelTransition { } // very barebones example of triggering level transitions +#[allow(clippy::too_many_arguments)] pub fn trigger_level_transition( mut collision_events: EventReader, level_transition_triggers: Query<&LevelTransition>, @@ -68,14 +67,14 @@ pub fn trigger_level_transition( commands.entity(current_game_world.0).despawn_recursive(); let target_level = &transition_trigger.target; - let level; + let level: Handle; println!("target level {}", target_level); if target_level == "Level1" { - level = &game_assets.level1; - } else if (target_level == "Level2") { - level = &game_assets.level2; + level = game_assets.level1.clone().unwrap(); + } else if target_level == "Level2" { + level = game_assets.level2.clone().unwrap(); } else { - level = &game_assets.world; + level = game_assets.world.clone(); } info!("spawning new level"); commands.spawn(( @@ -100,3 +99,13 @@ pub fn trigger_level_transition( } } } + +pub struct LevelsPlugin; +impl Plugin for LevelsPlugin { + fn build(&self, app: &mut App) { + app.register_type::().add_systems( + Update, + (trigger_level_transition,).run_if(in_state(GameState::InGame)), + ); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/mod.rs index 80bdcc1..3ecdb4f 100644 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/mod.rs +++ b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/mod.rs @@ -4,114 +4,19 @@ pub use in_game::*; pub mod in_main_menu; pub use in_main_menu::*; -pub mod picking; -pub use picking::*; - pub mod level_transitions; pub use level_transitions::*; -use crate::{ - assets::GameAssets, - insert_dependant_component, - state::{AppState, GameState, InAppRunning}, -}; use bevy::prelude::*; -use bevy_rapier3d::prelude::*; - -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; - -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} - -// collision tests/debug -pub fn test_collision_events( - mut collision_events: EventReader, - mut contact_force_events: EventReader, -) { - for collision_event in collision_events.read() { - println!("collision"); - match collision_event { - CollisionEvent::Started(_entity1, _entity2, _) => { - println!("collision started") - } - CollisionEvent::Stopped(_entity1, _entity2, _) => { - println!("collision ended") - } - } - } - - for contact_force_event in contact_force_events.read() { - println!("Received contact force event: {:?}", contact_force_event); - } -} +use bevy_gltf_worlflow_examples_common::{AppState, GameState}; pub struct GamePlugin; impl Plugin for GamePlugin { fn build(&self, app: &mut App) { - app.add_plugins(PickingPlugin) - .register_type::() - .register_type::() - .register_type::() - .register_type::() - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) + app.add_plugins(LevelsPlugin) .add_systems( Update, - ( - // insert_dependant_component::, - player_move_demo, //.run_if(in_state(AppState::Running)), - // test_collision_events, - spawn_test, - trigger_level_transition, - ) - .run_if(in_state(GameState::InGame)), + (spawn_test, spawn_test_unregisted_components).run_if(in_state(GameState::InGame)), ) .add_systems(OnEnter(AppState::MenuRunning), setup_main_menu) .add_systems(OnExit(AppState::MenuRunning), teardown_main_menu) diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/picking.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/picking.rs deleted file mode 100644 index 6731bbb..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/game/picking.rs +++ /dev/null @@ -1,34 +0,0 @@ -use super::Player; -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct Pickable; - -// very simple, crude picking (as in picking up objects) implementation - -pub fn picking( - players: Query<&GlobalTransform, With>, - pickables: Query<(Entity, &GlobalTransform), With>, - mut commands: Commands, -) { - for player_transforms in players.iter() { - for (pickable, pickable_transforms) in pickables.iter() { - let distance = player_transforms - .translation() - .distance(pickable_transforms.translation()); - if distance < 2.5 { - commands.entity(pickable).despawn_recursive(); - } - } - } -} - -pub struct PickingPlugin; -impl Plugin for PickingPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .add_systems(Update, (picking.after(GltfBlueprintsSet::AfterSpawn),)); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/main.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/main.rs index 6edba33..8fca426 100644 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/main.rs +++ b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/main.rs @@ -1,15 +1,10 @@ use bevy::prelude::*; use bevy_editor_pls::prelude::*; +use bevy_gltf_worlflow_examples_common::CommonPlugin; mod core; use crate::core::*; -pub mod assets; -use assets::*; - -pub mod state; -use state::*; - mod game; use game::*; @@ -23,8 +18,7 @@ fn main() { // editor EditorPlugin::default(), // our custom plugins - StatePlugin, - AssetsPlugin, + CommonPlugin, CorePlugin, // reusable plugins GamePlugin, // specific to our game ComponentsTestPlugin, // Showcases different type of components /structs diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/state.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/state.rs deleted file mode 100644 index 8e983d9..0000000 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/state.rs +++ /dev/null @@ -1,54 +0,0 @@ -use bevy::app::AppExit; -use bevy::prelude::*; - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum AppState { - #[default] - CoreLoading, - MenuRunning, - AppLoading, - AppRunning, - AppEnding, - - // FIXME: not sure - LoadingGame, -} - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum GameState { - #[default] - None, - - InMenu, - InGame, - - InGameOver, - - InSaving, - InLoading, -} - -// tag components for all entities within a certain state (for despawning them if needed) , FIXME: seems kinda hack-ish -#[derive(Component)] -pub struct InCoreLoading; -#[derive(Component, Default)] -pub struct InMenuRunning; -#[derive(Component)] -pub struct InAppLoading; -#[derive(Component)] -pub struct InAppRunning; - -// components for tagging in game vs in game menu stuff -#[derive(Component, Default)] -pub struct InMainMenu; -#[derive(Component, Default)] -pub struct InMenu; -#[derive(Component, Default)] -pub struct InGame; - -pub struct StatePlugin; -impl Plugin for StatePlugin { - fn build(&self, app: &mut App) { - app.add_state::().add_state::(); - } -} diff --git a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/test_components.rs b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/test_components.rs index d0e6fbd..b5384e2 100644 --- a/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/test_components.rs +++ b/examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/src/test_components.rs @@ -6,39 +6,39 @@ struct UnitTest; #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestF32(f32); +struct TupleTestF32(f32); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestU64(u64); +struct TupleTestU64(u64); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -pub struct TuppleTestStr(String); +pub struct TupleTestStr(String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTest2(f32, u64, String); +struct TupleTest2(f32, u64, String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestBool(bool); +struct TupleTestBool(bool); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec2(Vec2); +struct TupleVec2(Vec2); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec3(Vec3); +struct TupleVec3(Vec3); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec(Vec); +struct TupleVec(Vec); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestColor(Color); +struct TupleTestColor(Color); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] @@ -65,16 +65,16 @@ 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::() + .register_type::() .register_type::>(); } } diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/Cargo.toml b/examples/bevy_gltf_blueprints/nested_blueprints/Cargo.toml deleted file mode 100644 index 1d6d485..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "bevy_gltf_blueprints_nested_blueprints_example" -version = "0.3.0" -edition = "2021" -license = "MIT OR Apache-2.0" - -[dependencies] -bevy="0.12" -bevy_gltf_blueprints = { path = "../../../crates/bevy_gltf_blueprints" } -bevy_rapier3d = { version = "0.23.0", features = [ "serde-serialize", "debug-render-3d", "enhanced-determinism"] } -bevy_asset_loader = { version = "0.18", features = ["standard_dynamic_assets" ]} -bevy_editor_pls = { version = "0.6" } -rand = "0.8.5" diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/README.md b/examples/bevy_gltf_blueprints/nested_blueprints/README.md deleted file mode 100644 index 48b807a..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/README.md +++ /dev/null @@ -1,14 +0,0 @@ - -# Nested blueprints example/demo - -Example of blueprints (and thus gltf) nested & reuse to avoid redundant data in blueprints gltfs that lead to asset & memory bloat -- ideally, to be used together with ```gltf_auto_export``` version >0.8 with the "export nested blueprints" option for exports, as that will generate whole -gltf blueprints hierarchies, and minimise their size for you -- It shows you how ou can configure```Bevy_gltf_blueprints``` to spawn nested blueprints - - -## Running this example - -``` -cargo run --features bevy/dynamic_linking -``` diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/assets/assets_core.assets.ron b/examples/bevy_gltf_blueprints/nested_blueprints/assets/assets_core.assets.ron deleted file mode 100644 index 8d0a099..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/assets/assets_core.assets.ron +++ /dev/null @@ -1 +0,0 @@ -({}) \ No newline at end of file diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/assets/assets_game.assets.ron b/examples/bevy_gltf_blueprints/nested_blueprints/assets/assets_game.assets.ron deleted file mode 100644 index 5b1e969..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/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_gltf_blueprints/nested_blueprints/assets/models/World.glb b/examples/bevy_gltf_blueprints/nested_blueprints/assets/models/World.glb deleted file mode 100644 index be19a7013e62bb51d0fb646ffea6e20457d71d9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6908 zcmb`LTW{RP6@Zy0X`42^q-`3YPXeDQcJ7?Ry~U zf&u-r6#WhTIeqANxLj#hEAJ|R7ZQg&JZI+IFFfu)`Rqqomi_M!S@z*4S@!qGyARLu zdOU6>`K`13xEVB~dNLg4xAM!mAI>0DmqFPqW0 zHynU$N|nDZ^5)w~GZ4`DALHgIzx6c#{O;aNx}QH=MBHosHSLXV zh%7u_w!BbtRGFlU>ScT}EQ$brmE(Y(6kH%}Al#T&@dV`kn$*cU9 zu2kiVeDdnFL9iouJDea9d>8qkJ`v!35h#EC>@^~f57AkEOLceSmV*v&e}B@PobJz1 zpdKDI@?I6XFoi8#;fqjIMJ!UG0qR1V0v5F^v@dihbXDm1>^1z&Nf8bfMs<52+8)(x zc$V+9z$c^n@ax{-c=!49)}BvIC{^Jimu37~=_*ER3xLj6T8CgvGA=4t3Cw7#lUK$kqhhF%LCaP2*69$Haw(=@I2>*V z}y=~d;tO*%SXDOr&G>~F<3v_*q|PdT8x5y} zBN!MT)?%@zs!W!1l4e0i#s%@_AkOVmsH%XP#lf#)%~jTg=B6Nm2XX96@2nT*k_Aa=0xlSr1j~qyA~fJ>i@U5i2I-{&o4xTQV*>#Z z%Me45-HhkJ5Q=S$b-cKWb4IaQMWAf(j7PnGzrMyTE`^<8bar13291KFMJ^QX4Nv0u znmdanLgipJInlm0XvXLYD@DgegiiQ45#)G>7wc7-jm2NQN#0r;kw$ru5CyR*M|xK| z!|uRzfC(Q|^hOaZZ&hlu;_cd$XxOThQssU0VnPyCX@fSnwX!iePx zPn!C4I9bQw0@}6g*%AY33?6-zw9-Blwv3e_uMr&NQw&*bSEa?agaTe}fmJPgvkagw zVsB@9&@9A1`zVZHynzH$R93d$3|fh>ZE{$up!cMwRzcJnTf#TSq$Z*{SK;8gDv2_t}{g3oV0N-kEk$!O@qpA{hz)Do)%0$ypp(+A6 zdL1NrR))ZiL<&&nVvLENAQ(^bi;_^OFiKHU67i0PS6!UO!B)fwwULeJGp?0cC$b57 zw{t0y^hO8z0jBWFGE2cA8@1gHym=~iE1;%$Q6Frj2Q%MHlJ++QQUeRIM)4)N;yW-07tWX{ zrAgcxLtzzKL%^-px{l$_$tivGC2y1vOF1|2N53crE^Y)`VJ;Bt#86C{_>nX~*G##U ze!vk#l+F}!V^7JF${2h?o%r)xGwHH9IU5xaJ@h?_IRjOQ;iMno(r!$)&3*zR4;xAg{SlKwhZT{X9_zXw zh;%5D(G8hioLq=nYcdHL^po0wqZH4fZ#8uG8nbTJSHFJ6Flg2#_(vTMI=j+9%e zty5IAQiQgW5=kNysc3nqpT@U=VFGO=Mx?CMV|u@lvAffgdNAxA?H|^Rn&Wl+T|q6C zt*)3?3@6PR^_DDyjy!Qe`$HgV!cz>67$l)^-$en@B3Y$UWHXoiGj@X1++ zM|rh@;38}>VoDq3yEAA`Uaga=MYu+eRt6kOMqtH^B5jfSI>tp8A}N4#H2&#>nQh*tW@ORJ+B#}v|?`hZqUd*F-TJ*KY9l$ zF4}&5G0!iaEQ9q)J!wY0x~-VI?(Uw!RSFVshQyp z_lDEs7lUTp4&n#(xM8##jy}Ty+m8@dnWlY?~=RF{LNsJ6HdBg<{Kg>bK&g7 z3s~u2x56+%wqF>|=F=Nd$kz$@9raFnqVAcT^<*;Y9ZVKzJ+z0{iwi>=#s$zNJlbR?6+4bQ}e^E3JE zvUp}#JhS2$)KMS8!FV{D$#F1!{=6A|(QCeGc|RPUoDK)gVDhB>c;gwx3%&+T2YlS( zn3MWjrf84n7hXPwob=ic9W7wHg>)Z%zPPhvnaI!b#r;vphW*!3n;$@JR?bG@t7o^s zRyL&U&VIb}>HSalR_GCamHtvUOeCFh_ykq7UN=*XCc61USLd*UaU4{zZ-8o7AIY`B-Wt zvtRniMpD`8rnDAsSv;2M=f<>D^d(wN(q1CAYnV3iiogtn%hc;cUZHkZ&t6AOm$J+` zeeTWAuC5T%ku4Kj$sRMacP3x3GYuQ*Wov8ezwc(*?RyXTLVou@Tx7jH`@guK!&&8B z3-4g(f9C1D1!XtA7rYjCMs{)kP6jLd|A_1P_uaqXuDkE{YH{9lKc`=}3hn&;b@y|a ztn2RQ@7Jy0-$1r?XLR(f`p(;H%lq680-5vJzCCZRvs?C+U#tJ~86Pu1dtKeQB8f9jrPAJoWuIgpas4R!W%i5gSJ``9-y>drlKm$8kn4xpJK68EpJ(rL JeLwqk_J7|z9I*fZ diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Container.glb b/examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Container.glb deleted file mode 100644 index 72ff5ca019c3036f54c3c6e3009605dd1ec9fd02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5552 zcmeHK+iu%N5Z$IpujwUi)1rM6_>dEHG>RPub!%IJZ3G33K&B+xCLogrNx3!z z1NxADME}6~w4Pb*N|Y#B7LxX<3utF{cIM1wXP5R#@8IP<#@OGF8QXry*l+vI-GLV7 zc~od?1MMVAqAV=ZOk2}_Kh4r4&1)wxsjc^-q#I?mt)H8<3%hRAZClf|izv(EG=Z{N zH?(VA%R2zj)(pwz+S=hjOTshAv{tK#&dysxrL~bJMHs^wP?EG8k*1+@-PEl&*Ka1W zfp!+X|ER}RaozkYZ#A0;B!%=G9?`Lkmez;bMCvg?Qz?39NYDM{Z1kzjWm+H z7Z#$VD92Ny&J7d8@onyVfe%#Ocr%^zew5_myim!7v72*Z&qs#;Y2--qEG(id4tt~C z=%)R4FWN`JyV_cj^`mj1o5@A1-Rnn4>%5)qL`8^FclOf$$!QYh;<(#k9wFs4dl_~_ z&mJ0R3hvs5%}vj=T-$M6UxzR-ER@l;9Lx7D&$b}*4KY0Kn2zIFp3W&a=|%yfku&9S zEUP=$bOd4V{50G_@1j%Iw>NiRAkxL@sH17A{8!AY60T8qt-v>Z$FR7Cj&mI(<+@n8 z+zm{Z2bO6=#GSzLY}*bD*R*WU{#UacHRF5C(Fy|7^G(M>TDSppaC1cOlB1|cekxv| z@msagZ%1{5TXaZSd=?k+g;WTOB8%Jof|djARdavqV5_++9;n^s-p=!FZ4D2_!R8+u z&F0>VmZ7bg*SZ!b-MB+0*5m@f=33lk^{@$_2EV&cTi29NXWFN`&?legbA>#;iBEsp zXRy$x37;r)*g*;KR*i0cyMKHfWv}DtPf@(_dwg(pjvM80)77<3+E4IZLLcMVxTMDw z9|&`VlwfEhem?t@v->p4&SmO%ueVJJ)GQIKQoGmAtvlS4g~aVB9rU@Lo0dgB842 zf;Tzt!&Kq%jH~XGomXx*%X9I}|N1Fo>s!0{4`Xe50hZh$kH2jWOr(WUJ)! zc*H?N#B&?pDCsQX35R?soOwLiD)~GfdtwYFp|#{mQm)&qTC?J~Uzr|}j@(yvWlH+Ao~4AR?8=n%Xgy0mWVj0WeZ)RtpRvc7 zAG2@SckBoD2=gQMCHsPX#qMLi&+f60**EMV=7;P9_C5QYJ;3~ceGP>2Io--Ppi8me zz-SRK@y0mNt?*>4o?A z7vWIf3VfpYi9UvM4ZcWDl*SRQ<$i-?;29|C)4GOVnI4gj+*fvGO8T^(rG%&K%9QkI zJxzan^5t7&`>z|&#%=shPj+cv=q%zT&f5}Bg_pKMzJPC(;#tU-VrVSlOYtZi@;k+s zVo*3jN6As+8`O=)P|WjtZ$?L`Q@t^UM2C040miH^VK1>2&R7OaHE2)llVGT%6PdD| J)%m~w{{hNm8y)}v diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Health_Pickup.glb b/examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Health_Pickup.glb deleted file mode 100644 index 4643320e32df88f054a454c5d2d09f8b5f16f5f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5068 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 diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Pillar.glb b/examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Pillar.glb deleted file mode 100644 index 891122ca204401ba432bc57676b0042902519cea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3596 zcmb_d>rUfF6rOJP(rxLs+jiT(*8KLSzQ@UrE|&$B7RU0H(nslcCSzlq3!v>t@i}wmJKwp?vC|(MZara)t-NCF?-z{yanRZu^B_${#+zf_ z7m-MUEKYcn|9O_gQJiXhxM=GG5%ol(ZU5TRE}WWCa~!Vo3z4K@906?A41TTiv zG?bR|=Fyl(!4NjyZf9b6-jP~OPY}$|P2D=aKEAb#`B0>1l1wp7o!Wg7 z4@H(-A>f#c%Pa{%FyNjO!ypq$7!0Px_2N-yAPx|?$D3I)5{2((bkUBJAnFUGa^6XHMHYajyC0AG zXOT!{(w!g`NIXuqg05`)kx}yvx$35Cxo+LA>qgD89n1CWzUw=-?=(zbN53c+#hH7f z@kvf!*lO-Ibt)K~p9Q;UH@dODv$^*kX)Vq^?`AtM_w$SJ?1pdou3?+D>3g1wx;zg% z&-5CWXEtohfys0mZryR5hT);=y7QPSB{n^i169o3#;7A|hS8t`l5iMi;e`SOS(b#I zQAXP_|Ij+vKHP5Y$%)%*?eDJb@Fqs#aP!kftF`~WZSbabt@AMIgXk zHC-yE`|y~K&hwb=-I(6Om?mPPoM-uOmsAV zHo7#*(ri?zq91Im?X2z35TN#1g8!>GxWfC$m-R-bp*~E9^Y87}9lgO#-QG-j4CDxO zt}?MBqJD;tspb2?!q7TBmEU}PF|r`()92rI8Xg9Gthny?m1Ga~HXFF{a%8tocl5y6 z^@?-dLmg#j`!R|8&gYbEnpP$FvaZe4Z93*m;l%~2%PZZO=@~xWb4}BJf6mzY_8$Jd zCpUPIe79Wxcl8#tNS8d|D>&!q(pTB%>c~U#KvGVN^dbjf7U|OWro=NxFLKCv6sE9a zFV{o~+AEzb<-S$z`8nD1p5z$0hdp1kuVUydx5-{irsx^pchfxNslt$6?w`y7IJqWD zRBNFeDi}gmb0}l}`Azwd#E|6F7dy3~%_JqA)Kd==% zSJ)TqXZ8(yhUYW(Js8S8TBaAXdQ+O)iVix-SMcDxs+Z?;u8vwI59DNtUgQJJB3<&_ zlz8UoMGiTS!W4Gw<(eo#d!>_wa?ES2+VgWc!}syvd@hgjlf6)JB~IyijJ#J%b3m?g zO_U&RrIUqt=kio?C}U`D<(?#da*n~JAr{$5(mJ8NI$tFlbOuRy+H3fg6az(o{`blQ!{S37Nu(#AS!UL63#aZ$x{y+YtbOf9Mw%WS+WO(AA*YnqPd{a7zWqr zkp8}Vpm%3bMm?PE0uld>;0zuN=C62CBU!{fx4PJ%BU7Og>5;h@W$ft3B=zPd%@iJG zIoAzq(#}fvzi~^|Qe!IZw&&_cShqE5u8J(j+_m;NWj6Sx*JS1jD}~OHEaMrKCF#la UsT#Kd8!{!0>zVWa!C**-Zvj(;F8}}l diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Unused_in_level_test.glb b/examples/bevy_gltf_blueprints/nested_blueprints/assets/models/library/Unused_in_level_test.glb deleted file mode 100644 index b5937bb6645890613ec4e82c231464e2760b8f93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5176 zcmb7FO>-kx6+KDF2Okqi2!TKXN{0kbqEY%o-yjK(Gm~+~V-NCpl3+~JlAh&eq;ApO z@>pZcq$+zh6pK``%Pt$1u(7>hmCBkb{sJ5L16kzW=YICnj3jI9()H2n`_4P}ynEZ- z-mR;T11P@${Ou{=z4f)#eZz}mkr>r|qbmXtc}W-C%?W<(>#SBFZek zy_VU{=geF_Z)A;K5ygHOP_msfjf1Qq_7V~BQoIq1j#1q-u3u}qeJ>G_@AYC=^!+&Y zcZC}#kqElUjk1M5bH~sdVvu{nm>vt}Poe@2JXG9hFZMJw;DebU72m=u$vB5^1`Ys*qghM)M zoy60{B+*dNb*0yF)oaT;-z2e)W10C57;w1+La(-V{1J6_PGZ`(8gV1j%u|dd9Mg#7irM2ejmF7Ab z6?QtVx97*M*YmqHn(47Y==S`+Pg5=z$oSOYffuyBJAy5aIDw{-Lx3@)f+ZT5w z%W1dXk~I`8yO=fFJZr>kmzi#ll+ff9^Z7D$rBk*FMSf!DoT6DQ6&xpDaZI}6O7`I_ zvaauw0h>IO4>DYuKrtbYI8uXeUs-bG8$vI_V!i3eO)Fy7ezNT0{mz*Q)Vk{Y^`*s? z#iktVGX=V>($dx_5i2JzRvI^l{N$Cj?QQvfr_-Ol-Jn!WJ~5h02Il|Ag}+KYbK<&|KNGVTnkN%6Yh_PJ%185J&6DFf zvGRfQXJW36Ia$vm;JTJS6KkF{reWezebSf*vu~*njYq)jgUX+YSp)NvA5zbpn0rIz z&&1liuqSGc#xQHu`eZJwdD55@D<3$2Cg$3hldR!BnHQ_xko?--ht}Ei!Ds)J{PW<{ zw>tOKG|W8YA=f46{XEQEG{1^-B2Mo`>YoRvwaEN=Fl%LL1oWhWXsI zb~Rt}uBWYQJ}{5+VGMuv=SppBbpM$C9{%O?|JDBU@4@lkpZN5MK6S>l#_NY_o%2-w zw7t`KzWo2c*aPG~?j6%d)`$d9~{~ z8m>LykMgRoP4P>)xaEeom1DQYoHv}lZ^@ak|)hqoTvHI>f*DN zel6!v!|bQZIn?l&Kl-|^lYCIKQ`fbn`O=4J`5NcgxfJg602xZY~mgK0+%tOIKrQ>gqyfa@h<*|cX1sX6gO}K@8NMgL-85h!W!PkCdEyx z<2Js5XDL35U*lK!5Pgb$?BN4^3oVK*^l$|ZT#7E1VZ+2L6kov>uHm, - - #[asset(key = "models", collection(typed, mapped))] - pub models: HashMap>, -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/assets/mod.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/assets/mod.rs deleted file mode 100644 index a2c8b22..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/assets/mod.rs +++ /dev/null @@ -1,35 +0,0 @@ -pub mod assets_core; -pub use assets_core::*; - -pub mod assets_game; -pub use assets_game::*; - -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -use crate::state::AppState; - -pub struct AssetsPlugin; -impl Plugin for AssetsPlugin { - fn build(&self, app: &mut App) { - app - // load core assets (ie assets needed in the main menu, and everywhere else before loading more assets in game) - .add_loading_state( - LoadingState::new(AppState::CoreLoading).continue_to_state(AppState::MenuRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::CoreLoading, - "assets_core.assets.ron", - ) - .add_collection_to_loading_state::<_, CoreAssets>(AppState::CoreLoading) - // load game assets - .add_loading_state( - LoadingState::new(AppState::AppLoading).continue_to_state(AppState::AppRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::AppLoading, - "assets_game.assets.ron", - ) - .add_collection_to_loading_state::<_, GameAssets>(AppState::AppLoading); - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/camera/camera_replace_proxies.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/camera/camera_replace_proxies.rs deleted file mode 100644 index 9055c95..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/camera/camera_replace_proxies.rs +++ /dev/null @@ -1,24 +0,0 @@ -use bevy::core_pipeline::bloom::{BloomCompositeMode, BloomSettings}; -use bevy::core_pipeline::tonemapping::{DebandDither, Tonemapping}; -use bevy::prelude::*; - -use super::CameraTrackingOffset; - -pub fn camera_replace_proxies( - mut commands: Commands, - mut added_cameras: Query<(Entity, &mut Camera), (Added, With)>, -) { - for (entity, mut camera) in added_cameras.iter_mut() { - info!("detected added camera, updating proxy"); - camera.hdr = true; - commands - .entity(entity) - .insert(DebandDither::Enabled) - .insert(Tonemapping::BlenderFilmic) - .insert(BloomSettings { - intensity: 0.01, - composite_mode: BloomCompositeMode::Additive, - ..default() - }); - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/camera/camera_tracking.rs deleted file mode 100644 index 62da84d..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/camera/camera_tracking.rs +++ /dev/null @@ -1,58 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Debug)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -/// -pub struct CameraTracking { - pub offset: Vec3, -} -impl Default for CameraTracking { - fn default() -> Self { - CameraTracking { - offset: Vec3::new(0.0, 6.0, 8.0), - } - } -} - -#[derive(Component, Reflect, Debug, Deref, DerefMut)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -pub struct CameraTrackingOffset(Vec3); -impl Default for CameraTrackingOffset { - fn default() -> Self { - CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) - } -} - -impl CameraTrackingOffset { - fn new(input: Vec3) -> Self { - CameraTrackingOffset(input) - } -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Add this component to an entity if you want it to be tracked by a Camera -pub struct CameraTrackable; - -pub fn camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, With>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - let target_position = tracked_transform.translation + tracking_offset.0; - let eased_position = camera_transform.translation.lerp(target_position, 0.1); - camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/camera/mod.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/camera/mod.rs deleted file mode 100644 index a6bbb65..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/camera/mod.rs +++ /dev/null @@ -1,24 +0,0 @@ -pub mod camera_tracking; -pub use camera_tracking::*; - -pub mod camera_replace_proxies; -pub use camera_replace_proxies::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -pub struct CameraPlugin; -impl Plugin for CameraPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .add_systems( - Update, - ( - camera_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - camera_track, - ), - ); - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/lighting/lighting_replace_proxies.rs deleted file mode 100644 index 48c0908..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/lighting/lighting_replace_proxies.rs +++ /dev/null @@ -1,25 +0,0 @@ -use bevy::prelude::*; - -use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; - -// fixme might be too specific to might needs, should it be moved out ? also these are all for lights, not models -pub fn lighting_replace_proxies( - mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, - mut added_spotlights: Query<&mut SpotLight, Added>, - mut commands: Commands, -) { - for (entity, mut light) in added_dirights.iter_mut() { - light.illuminance *= 5.0; - light.shadows_enabled = true; - let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { - first_cascade_far_bound: 15.0, - maximum_distance: 135.0, - ..default() - } - .into(); - commands.entity(entity).insert(shadow_config); - } - for mut light in added_spotlights.iter_mut() { - light.shadows_enabled = true; - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/lighting/mod.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/lighting/mod.rs deleted file mode 100644 index c9688cd..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/lighting/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod lighting_replace_proxies; -use lighting_replace_proxies::*; - -use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; -use bevy::prelude::*; - -pub struct LightingPlugin; -impl Plugin for LightingPlugin { - fn build(&self, app: &mut App) { - app - .insert_resource(DirectionalLightShadowMap { size: 4096 }) - // FIXME: adding these since they are missing - .register_type::() - - .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely - ; - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/mod.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/mod.rs deleted file mode 100644 index 9c38fa7..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/mod.rs +++ /dev/null @@ -1,31 +0,0 @@ -pub mod camera; -pub use camera::*; - -pub mod lighting; -pub use lighting::*; - -pub mod relationships; -pub use relationships::*; - -pub mod physics; -pub use physics::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::*; - -pub struct CorePlugin; -impl Plugin for CorePlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - LightingPlugin, - CameraPlugin, - PhysicsPlugin, - BlueprintsPlugin { - library_folder: "models/library".into(), - format: GltfFormat::GLB, - aabbs: true, - ..Default::default() - }, - )); - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/controls.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/controls.rs deleted file mode 100644 index 9ff42c9..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/controls.rs +++ /dev/null @@ -1,12 +0,0 @@ -use bevy::prelude::{info, ResMut}; -use bevy_rapier3d::prelude::RapierConfiguration; - -pub fn pause_physics(mut physics_config: ResMut) { - info!("pausing physics"); - physics_config.physics_pipeline_active = false; -} - -pub fn resume_physics(mut physics_config: ResMut) { - info!("unpausing physics"); - physics_config.physics_pipeline_active = true; -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/mod.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/mod.rs deleted file mode 100644 index cd7d523..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/mod.rs +++ /dev/null @@ -1,37 +0,0 @@ -pub mod physics_replace_proxies; -use bevy_rapier3d::{ - prelude::{NoUserData, RapierPhysicsPlugin}, - render::RapierDebugRenderPlugin, -}; -pub use physics_replace_proxies::*; - -pub mod utils; - -pub mod controls; -pub use controls::*; - -use crate::state::GameState; -use bevy::prelude::*; -// use super::blueprints::GltfBlueprintsSet; -use bevy_gltf_blueprints::GltfBlueprintsSet; -// use crate::Collider; -pub struct PhysicsPlugin; -impl Plugin for PhysicsPlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - RapierPhysicsPlugin::::default(), - RapierDebugRenderPlugin::default(), - )) - .register_type::() - .register_type::() - // find a way to make serde's stuff serializable - // .register_type::() - //bevy_rapier3d::dynamics::CoefficientCombineRule - .add_systems( - Update, - physics_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - ) - .add_systems(OnEnter(GameState::InGame), resume_physics) - .add_systems(OnExit(GameState::InGame), pause_physics); - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/physics_replace_proxies.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/physics_replace_proxies.rs deleted file mode 100644 index b91462c..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/physics_replace_proxies.rs +++ /dev/null @@ -1,101 +0,0 @@ -use bevy::prelude::*; -// use bevy::render::primitives::Aabb; -use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::prelude::{ActiveCollisionTypes, ActiveEvents, ComputedColliderShape}; - -use super::utils::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum Collider { - Ball(f32), - Cuboid(Vec3), - Capsule(Vec3, Vec3, f32), - #[default] - Mesh, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum AutoAABBCollider { - #[default] - Cuboid, - Ball, - Capsule, -} - -// replaces all physics stand-ins with the actual rapier types -pub fn physics_replace_proxies( - meshes: Res>, - mesh_handles: Query<&Handle>, - mut proxy_colliders: Query< - (Entity, &Collider, &Name, &mut Visibility), - (Without, Added), - >, - // needed for tri meshes - children: Query<&Children>, - - mut commands: Commands, -) { - for proxy_colider in proxy_colliders.iter_mut() { - let (entity, collider_proxy, name, mut visibility) = proxy_colider; - // we hide the collider meshes: perhaps they should be removed altogether once processed ? - if name.ends_with("_collider") || name.ends_with("_sensor") { - *visibility = Visibility::Hidden; - } - - let mut rapier_collider: RapierCollider; - match collider_proxy { - Collider::Ball(radius) => { - info!("generating collider from proxy: ball"); - rapier_collider = RapierCollider::ball(*radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Cuboid(size) => { - info!("generating collider from proxy: cuboid"); - rapier_collider = RapierCollider::cuboid(size.x, size.y, size.z); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Capsule(a, b, radius) => { - info!("generating collider from proxy: capsule"); - rapier_collider = RapierCollider::capsule(*a, *b, *radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Mesh => { - info!("generating collider from proxy: mesh"); - for (_, collider_mesh) in - Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) - { - rapier_collider = RapierCollider::from_bevy_mesh( - collider_mesh, - &ComputedColliderShape::TriMesh, - ) - .unwrap(); - commands - .entity(entity) - .insert(rapier_collider) - // FIXME: this is just for demo purposes !!! - .insert( - ActiveCollisionTypes::default() - | ActiveCollisionTypes::KINEMATIC_STATIC - | ActiveCollisionTypes::STATIC_STATIC - | ActiveCollisionTypes::DYNAMIC_STATIC, - ) - .insert(ActiveEvents::COLLISION_EVENTS); - // .insert(ActiveEvents::COLLISION_EVENTS) - // break; - // RapierCollider::convex_hull(points) - } - } - } - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/utils.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/utils.rs deleted file mode 100644 index 7886710..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/utils.rs +++ /dev/null @@ -1,175 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs - -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - -pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - parent: Entity, - children: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)>; -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - parent: Entity, - children_query: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)> { - if let Ok(children) = children_query.get(parent) { - let mut result: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .map(|(entity, mesh_handle)| { - ( - entity, - meshes - .get(mesh_handle) - .expect("Failed to get mesh from handle"), - ) - }) - .map(|(entity, mesh)| { - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (entity, mesh) - }) - .collect(); - let mut inner_result = children - .iter() - .flat_map(|entity| { - Self::search_in_children(*entity, children_query, meshes, mesh_handles) - }) - .collect(); - result.append(&mut inner_result); - result - } else { - Vec::new() - } - } -} - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/utils_old.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/utils_old.rs deleted file mode 100644 index c210dd3..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/physics/utils_old.rs +++ /dev/null @@ -1,75 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/6e31fc02652fc9d085a4adde0a73ab007dbbb0dc/src/util/trait_extension.rs - -pub trait Vec3Ext { - #[allow(clippy::wrong_self_convention)] // Because [`Vec3`] is [`Copy`] - fn is_approx_zero(self) -> bool; - fn x0z(self) -> Vec3; -} -impl Vec3Ext for Vec3 { - fn is_approx_zero(self) -> bool { - [self.x, self.y, self.z].iter().all(|&x| x.abs() < 1e-5) - } - fn x0z(self) -> Vec3 { - Vec3::new(self.x, 0., self.z) - } -} - -pub trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - children: &'a Children, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> (Entity, &'a Mesh); -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for attribute in [Mesh::ATTRIBUTE_POSITION, Mesh::ATTRIBUTE_NORMAL] { - for coords in self.read_coords_mut(attribute.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - match self.attribute_mut(id).unwrap() { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - children: &'a Children, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> (Entity, &'a Mesh) { - let entity_handles: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .collect(); - assert_eq!( - entity_handles.len(), - 1, - "Collider must contain exactly one mesh, but found {}", - entity_handles.len() - ); - let (entity, mesh_handle) = entity_handles.first().unwrap(); - let mesh = meshes.get(mesh_handle).unwrap(); - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (*entity, mesh) - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/relationships/mod.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/relationships/mod.rs deleted file mode 100644 index 4128453..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/relationships/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub mod relationships_insert_dependant_components; -pub use relationships_insert_dependant_components::*; - -use bevy::prelude::*; - -pub struct EcsRelationshipsPlugin; -impl Plugin for EcsRelationshipsPlugin { - fn build(&self, app: &mut App) { - app; - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/core/relationships/relationships_insert_dependant_components.rs deleted file mode 100644 index 4e9ad17..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/core/relationships/relationships_insert_dependant_components.rs +++ /dev/null @@ -1,15 +0,0 @@ -use bevy::prelude::*; - -pub fn insert_dependant_component< - Dependant: Component, - Dependency: Component + std::default::Default, ->( - mut commands: Commands, - entities_without_depency: Query<(Entity, &Name), (With, Without)>, -) { - for (entity, name) in entities_without_depency.iter() { - let name = name.clone().to_string(); - commands.entity(entity).insert(Dependency::default()); - warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/game/in_game.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/game/in_game.rs deleted file mode 100644 index 2047798..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/game/in_game.rs +++ /dev/null @@ -1,84 +0,0 @@ -use bevy::prelude::*; - -use crate::{ - assets::GameAssets, - state::{GameState, InAppRunning}, -}; -use bevy_gltf_blueprints::{BluePrintBundle, BlueprintName, GameWorldTag}; - -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>, -) { - println!("setting up all stuff"); - 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.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) -} - -pub fn spawn_test( - keycode: Res>, - mut commands: Commands, - - mut game_world: Query<(Entity, &Children), With>, -) { - if keycode.just_pressed(KeyCode::T) { - 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_gltf_blueprints/nested_blueprints/src/game/in_main_menu.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/game/in_main_menu.rs deleted file mode 100644 index cecd13a..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/game/in_main_menu.rs +++ /dev/null @@ -1,113 +0,0 @@ -use bevy::prelude::*; - -use crate::state::{AppState, GameState, InMainMenu}; - -pub fn setup_main_menu(mut commands: Commands) { - commands.spawn((Camera2dBundle::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>, - // mut next_game_state: ResMut>, - // mut save_requested_events: EventWriter, - // mut load_requested_events: EventWriter, -) { - if keycode.just_pressed(KeyCode::Return) { - next_app_state.set(AppState::AppLoading); - // next_game_state.set(GameState::None); - } - - if keycode.just_pressed(KeyCode::L) { - next_app_state.set(AppState::AppLoading); - // load_requested_events.send(LoadRequest { path: "toto".into() }) - } - - if keycode.just_pressed(KeyCode::S) { - // save_requested_events.send(SaveRequest { path: "toto".into() }) - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/game/mod.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/game/mod.rs deleted file mode 100644 index 3443c45..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/game/mod.rs +++ /dev/null @@ -1,115 +0,0 @@ -pub mod in_game; -pub use in_game::*; - -pub mod in_main_menu; -pub use in_main_menu::*; - -pub mod picking; -pub use picking::*; - -use crate::{ - insert_dependant_component, - state::{AppState, GameState}, -}; -use bevy::prelude::*; -use bevy_rapier3d::prelude::*; - -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; - -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} - -// collision tests/debug -pub fn test_collision_events( - mut collision_events: EventReader, - mut contact_force_events: EventReader, -) { - for collision_event in collision_events.read() { - println!("collision"); - match collision_event { - CollisionEvent::Started(_entity1, _entity2, _) => { - println!("collision started") - } - CollisionEvent::Stopped(_entity1, _entity2, _) => { - println!("collision ended") - } - } - } - - for contact_force_event in contact_force_events.read() { - println!("Received contact force event: {:?}", contact_force_event); - } -} - -pub struct GamePlugin; -impl Plugin for GamePlugin { - fn build(&self, app: &mut App) { - app.add_plugins(PickingPlugin) - .register_type::() - .register_type::() - .register_type::() - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) - .add_systems( - Update, - ( - // insert_dependant_component::, - player_move_demo, //.run_if(in_state(AppState::Running)), - // test_collision_events - 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)) - .add_systems(OnEnter(AppState::AppRunning), setup_game); - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/game/picking.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/game/picking.rs deleted file mode 100644 index 6731bbb..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/game/picking.rs +++ /dev/null @@ -1,34 +0,0 @@ -use super::Player; -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct Pickable; - -// very simple, crude picking (as in picking up objects) implementation - -pub fn picking( - players: Query<&GlobalTransform, With>, - pickables: Query<(Entity, &GlobalTransform), With>, - mut commands: Commands, -) { - for player_transforms in players.iter() { - for (pickable, pickable_transforms) in pickables.iter() { - let distance = player_transforms - .translation() - .distance(pickable_transforms.translation()); - if distance < 2.5 { - commands.entity(pickable).despawn_recursive(); - } - } - } -} - -pub struct PickingPlugin; -impl Plugin for PickingPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .add_systems(Update, (picking.after(GltfBlueprintsSet::AfterSpawn),)); - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/main.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/main.rs deleted file mode 100644 index 6edba33..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/main.rs +++ /dev/null @@ -1,33 +0,0 @@ -use bevy::prelude::*; -use bevy_editor_pls::prelude::*; - -mod core; -use crate::core::*; - -pub mod assets; -use assets::*; - -pub mod state; -use state::*; - -mod game; -use game::*; - -mod test_components; -use test_components::*; - -fn main() { - App::new() - .add_plugins(( - DefaultPlugins.set(AssetPlugin::default()), - // editor - EditorPlugin::default(), - // our custom plugins - StatePlugin, - AssetsPlugin, - CorePlugin, // reusable plugins - GamePlugin, // specific to our game - ComponentsTestPlugin, // Showcases different type of components /structs - )) - .run(); -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/state.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/state.rs deleted file mode 100644 index 8e983d9..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/state.rs +++ /dev/null @@ -1,54 +0,0 @@ -use bevy::app::AppExit; -use bevy::prelude::*; - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum AppState { - #[default] - CoreLoading, - MenuRunning, - AppLoading, - AppRunning, - AppEnding, - - // FIXME: not sure - LoadingGame, -} - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum GameState { - #[default] - None, - - InMenu, - InGame, - - InGameOver, - - InSaving, - InLoading, -} - -// tag components for all entities within a certain state (for despawning them if needed) , FIXME: seems kinda hack-ish -#[derive(Component)] -pub struct InCoreLoading; -#[derive(Component, Default)] -pub struct InMenuRunning; -#[derive(Component)] -pub struct InAppLoading; -#[derive(Component)] -pub struct InAppRunning; - -// components for tagging in game vs in game menu stuff -#[derive(Component, Default)] -pub struct InMainMenu; -#[derive(Component, Default)] -pub struct InMenu; -#[derive(Component, Default)] -pub struct InGame; - -pub struct StatePlugin; -impl Plugin for StatePlugin { - fn build(&self, app: &mut App) { - app.add_state::().add_state::(); - } -} diff --git a/examples/bevy_gltf_blueprints/nested_blueprints/src/test_components.rs b/examples/bevy_gltf_blueprints/nested_blueprints/src/test_components.rs deleted file mode 100644 index 01635e0..0000000 --- a/examples/bevy_gltf_blueprints/nested_blueprints/src/test_components.rs +++ /dev/null @@ -1,90 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct Marker; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct Enemy; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct NestingTest; - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -struct TuppleTestF32(f32); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -struct TuppleTestU64(u64); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -pub struct TuppleTestStr(String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTest2(f32, u64, String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTestBool(bool); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec2(Vec2); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec3(Vec3); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec(Vec); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTestColor(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::() - .register_type::() - .register_type::>(); - } -} diff --git a/examples/bevy_gltf_components/basic/Cargo.toml b/examples/bevy_gltf_components/basic/Cargo.toml index f5132a3..b0ef625 100644 --- a/examples/bevy_gltf_components/basic/Cargo.toml +++ b/examples/bevy_gltf_components/basic/Cargo.toml @@ -7,5 +7,7 @@ license = "MIT OR Apache-2.0" [dependencies] bevy="0.12" bevy_gltf_components = { path = "../../../crates/bevy_gltf_components" } +bevy_gltf_worlflow_examples_common = { path = "../../common" } + bevy_rapier3d = { version = "0.23.0", features = [ "serde-serialize", "debug-render-3d", "enhanced-determinism"] } bevy_editor_pls = { version = "0.6" } diff --git a/examples/bevy_gltf_components/basic/README.md b/examples/bevy_gltf_components/basic/README.md index d231926..d12e91e 100644 --- a/examples/bevy_gltf_components/basic/README.md +++ b/examples/bevy_gltf_components/basic/README.md @@ -1,14 +1,44 @@ -# Basic bevy_gltf_components demo +# Basic bevy_gltf_components + wasm demo -## Running this example + +## Running this example (non-wasm) ``` cargo run --features bevy/dynamic_linking ``` +## Wasm -### Additional notes +### 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. @@ -27,6 +57,7 @@ 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) diff --git a/examples/bevy_gltf_components/basic/assets/basic.blend b/examples/bevy_gltf_components/basic/assets/basic.blend index fcdc6cd0fc9e2b6e9b1375687e90cc1b50e46025..593df09150756a8cc614846005b1294e0ef744d2 100644 GIT binary patch delta 142797 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�FPf(l%4s=9@U|nwL-#D5x4iIyVW=S`b5#Rt( zG6YMy`HTPuh*gGQNtZAJ93VpTF-tCZk^o=;&}je`be)9AF-LEd znMNb0*vcRRvN-Jt#6}}0HietsTsBD}SWjT7(a4Dl3julS(8E`ZMn-H2@cP!FC(yi1 z0mujfCALT&LKpyLj*Lc5Y&z#40xLMQ@dV}?jhx`5RU{}ewTCYmjf~(U#%pxu39K?2 z8L=g7kqAf-?g@l8S|BGlHKg{S5vc)C=1!xL6HHc=EE_)8nhv|lO?j1Evf5@*yC(CrMB$IbC6l%@ z8YPZ@Fu45stHEtS3;jy@BDz57WM299*T@&GU_g{qiU6zVs?ZvIUO3{d%mstX2mFJi zGOHyzc;vEa{oI^ea~&@CRxoD*iiKiEofa5bF>8AS7ZdH5i|e}IqGA?ok;|^hg=Xwe zt(Zo`*7za{-TUQ+m(O}TxIAbjGF8^(N?XIaaIhP)U9Qy;Y<&5gwXzCrX;oDV6w5lQ z>s_=8ZEV1zpO{5gZd!$YxeZ*P!b{ADBwe2OJ~^??I6x#nRfI@tlrsPCybS$e&_GcN zr)reKa+Yay4J&^q^f_llcwjptiwo%YZEV4$$k<%7$Q z9!9Lga z@zl}P2Rru$&Kc2sYhA=M>m>o za#QButZavA%3PM2ZBh0*tDe$wn@H^%9d?sGTe6m$OwcHMu=~w`%r@C%)eu)6klDEr z@(2(McUz>*KiJbqm}xW%xM^3@vM4w}#D-u=H)mj`tqmL?mKuU3U5OFk08udnOVTUt zga8MKW-A~|y5?p=fCEHi2$poy7y%9ta}B|gE@lKcK){_W=~fUT#~h858SB;&Z_FzC z#Xdsp5l&O5OKsDCaIV-Y3wj2CK&R1ARIuW+fCMWZzGyTunrV0`sst;Zz(S*uQCuq^ zk-I057>%6R66tVUXo=iCfptbBCpM)jAd$N#Q23IyOyk2OakWJ527r@h8jYL^mV*dL zfbzgQ;rGwhlJeZ z9Ww2%aad+rE(%{+?~21Rhi6H*TQMxtm=_atVU!BEW?1I6wi7NDPc#qLf+i1W{?W6~ zt`%oB_I{pzk=dmepIz(LZl7t|dYu|nTyF-&y(uHMb$De!+8}7V&SuW|^&8!i;hAId z#n&&RC&=55$jsQyGDh{X_qZ$s6>mYbSW%i(IyWM7cy8&dm(i0S`nB7dP>{X`NI*m3 zAF6?kIAbJfh-ItR$jsP==nX41UERvlGfgcojFEcxbrO(0{Cq2vL3#L3)j*lLy>=w! zC00J4e(m_i$yFW9UNkbs8xZPh@UU3sU>5m{EyZ!{@b zv3ZX|01Aq0Q~@b=j^uI`*07c}eDku+ng9uCh}NnG((KL{LmEmKkcO4?YqwK&-K+*k zKttgj)j*ovkvmf%en<+scg`F>)_RLy6A*xc@L#Gx6zc}osh`Vqw}TH{#c(38xG}pB z4t(H}cU7OrE3Tn~aNq-1dQWj8uediE2R?A|`-&5J#XY<$;lKy3_<`a?UU7?eBOLg^ zMIS0o*I5;P4v?79};{Y5Niwi2zp&EJ|v?9s3a&i2#Qut7cJB z1Mc?))@+FYSBw@VHQ==jMk2t;DW;i)YQQV^ComELF3nM}D5(K=A3$Iv0vw;JU{O*7 zo*xkyi2xT*Q?Mwh0na&*z(@o*`i_D{Ney_~7YU3+fWz-9Sd`R&I}Xa6-cUGQ6ZtB0 zx%<;WnSog%-HQiho^OXRl$Fjpn=02j|xuqdek zcOSwIutb2PvlJ{!YQXakWd~Ryz=iKCSd`R&=S(9o5&;g+RiB{krF(+P}3fJ^5pSd`R&*D@H10LNVl79};{l`{y8M1YI)6f8<= zz}<%v7>NK!=P6i})PUz7L0}{TT)9)hqND~q=STu05#VH*f<;LUc-l+?BN5=zT?!T@ zHQP02h}lSd`R&*D@H10EhP~Sd`R&R~}7ZBm!J9uqdek zch4p;5&=&BsG3Dd4S4=B1V$pjrTY{tN@~D!jwLV>0gnHqU{O*7p7vz|BN5=@{R$Q( zHQBN5<=fklae7k`tTYkc5J>s6`9EAHZN5e|Id;tiHL%Pa1r zlL!YsaK(=lC-RD$`fb924_x%I;zV9?V@@U<_`ntZtvHcaT*E1Z10T5X6UB+V;v_U$ zdkQa|?!h;yg`&p(a8NCY?z6f8<= zz;nJsU?c)u$SGKq)PSd*PQ9R*(ZndbT!Miyjo?6BQltZPd^fW=6J_0`9Wn#*0;|#1 z?|YOrvVv@wSM6d_4R|eskqB_bz@nrEyz-39;x;4#oYbjiR^mEx{hHj(b2CfYzy_?e zmBLtDVV9gqFt7oOLxr)p!oGbL!N3NrSg$Y^SJ=Vd&n#&N8?b1(E(nRZ7G%uX+(L~H zTw#UcL|$n2dkt9SC?dd-3B&b@n00i;tU(= z7XCDIQbXx+W%E_sQl`n4kGg8`yvq{-!V%SJvag_T&|r-?W1bSZS4N z6LB3X7GIf}+mJk^e7>q#U$~0Q67smKGS9U`5Q^fbRX{ROMJFwwu?c+Oiq9xc09p2Ttni9Mge((O|<=15f)Q{IEF{MfFh3hhd`-hfZeGo&q zzKiHVOdnl;ZlUsX7{V=V3_6?Eoi<6VtUiSKHRUI7TV#GY*u8jt=C$6< zf0v_yn(1nqKGX*ql@INKM&a}Sv?na<=4?7}tdllxQZaZt=p#*Y&n5?wH*ihH&Z0wZ zPW@Hp=&qR)FOed$3H@lLSds{OlsyFbHSzf0N){nL6^Crc1azbwTU5neoX;qAapO! z1D}x&fA(0q0HrH$M~VKU07_gfL9bp}>Vjdn*G9hC zS9(c3@YaT?=c>ny=KPhh%u_I3OITH4=~V?OJb7?}=b>3?55))6dWi5Hf|vZs0Ad{f zX#!Njni79@k5R8M1JG;2johXve=y?ryhb)V-7CV2|1NV@)ni9^>2tjFGtzYY1AV2i zDt|7echQhqWmv1P(mzZqK(9c0(&xfdxAF%j;Hh~?75Bh5T=-5GPm%z{#88?mgj%i9 z$S~@SbX5o%>0#qtB2Q;0i#+IR`bpnT85|z>?XEQA8Eu4B1x8mD+^gx;D*LxqS(W}o zUruFO#)b7>m0sW(@Ut$@#pl)ns8OEg(VoKeP)i>3TluuwHbRZiZ)08e)s9sDNJeyH zZMWGB?YEgPXfLXI-~-PChtzgc8h^vPJP(9ghgFxaU6!t*%hTO7JULy$(9iI0uYeDx zXqx}0)+(eD9_E#JZfzA%`t_c{zK4G7;cx#mJoSHMSRLt1L3N}{DWo>Bp|&3rJt?%H=Vb?&((nNh8uvp2qRy-{O-dWmy`yh*h85Iw}W zvbWv@;2>7^ApaqV4^0p^1<@^o-6`F4Q_x%A2x+FPh4Sy&+gb11O~K0Tg3i$khi-Z; ziBDoCc?ou^`WD)m2{#UQlYd9I2p8H*QFK+km3Qo&r+4iZp*ZapeLri=y2pMPAdDB~ zrVPr%pQ&=r)Gc~Gv&gOJ&g9CAf1e5Ijc7{*IC*@CSQagmSJ3Zr$DK{@djIV9%*$;^ z0yO%YLRkeJSWa7OyUUqJS~tF`cQqN$@Yp?iW(J#H*c z+vF#C2aAR1F1O8{a0k6m)_KHT>)p~j=#3gy?(P|u>E8+~U{&~(T1D2n$$!YazjN^= zH6Z%L?oaKcz2am&_ph)~`Eun~lx=TDzn6o2f0M1=jlcZt+6Bup54T73gIgUE3a=4&p1Y55-~*Susrp1-am)ThIPifhy`?yjSKKxC6Apaf zifa@n@`^kA&+NFjmCsjmT*8iHvLj)~nIIHJYgIrpP(>3SpbWtWF8r6`L|$=i5Aw3k zJId#)W_a6!ysRVSgOnizp{QbtBm-6S+(Ya!;{%txtBOTlamyZNj~O4h(tC;%dBt7x z2z$)m{+;@Tc3 z9QeRh)+TZ+}VF49QeQ$|E)NYSKRC;2?suK81O`1aTA{6r9&DBZRwCTX-eCw zOm|bohQ>v7_rOzNbN~&J?xj_k>Fx5920SE{Dih_DWD#*+dOCB^2(SPNBOPENdf@3_ z`!?@zo?v_5p3dZ34FZu8XGpoQDmV0*%+z7v0Fl_J4dpZ3i`VvjG&aD^_^m7kCn_1e5$pn)N2M!XH{B4N4?zznS z4dIjrWiI0@&#jAd@@v`)ndkBX)_qnyC-KyBolL#%%@;HC`!tW$Rl4FwOX*Eyek*)r z!6tc$J=p&rU7Lz+!V|J|An`q`Gh=h|>-ZtLA?4kvMe~SX3o<|jh`Eac5-`batg3gsY-pJgX%Mx=l;PULZGwX6W*$=bmBHCGG z0b1=F_Us!3Wc-@EoBwWRLVNgkJBwg%4acJA%!{wETd3rX^?O+ywx2G-0s+5=FAQ;e zy_b2r;fO=TAV=VWsF8x^D`6?VlhnIUYDqf^S- z-3}jQ{@gI&eGOqAqF3WJmw3JA5`TbP!Xqq~(KFj8q*r`RD~yl0m}DX4UViMu%pO5Q z^r31Ct2T#6-LgSGjj{5CAfFSz@Ii5zmxh$xdKO9c(AE;2{=|Xu4V}iyyQ&0@r9cLe ziv1el?xB>zy|}_{lirSRY}9+Ju466Bbn`vcYt zDZif0-W-f(``Lf1ZBz=a8KImoo0Pfb`D{}zKDH>G@ftVhqg=k3T)-SwG1y#EQ}Wf5 zaogM*uO385TR@EqRJcJ=th7v__sv0zaezoZQUpnsx9Ufp zZ7~J_w2eet=w58g?z!314Y$@2X%<7O2-rR?lGLKyZ7Xn>YN+;LawtvWUE`&Xh+b-zXl^) zOQsYFtBfWAcjy=CJ5pc(5L&Jz==$6bb0U5epcTh0MO&OWZjb3Lk?2{_YNbk6VQ#hZ=gE9kl zvUK2Q8Vx=072~@$gO3f5eBe4ZbNOcQOAU{F!kS`j+zh^Ac;rKN$l~}yw!fvP{ms@e zkPq2W#dk5@(ox>XXygNX61IOc__>BhKJX9YH*N-BGCcAjyTu;HPj2mL4;nV|L4A>5 zT^HdqhwHYs{!k2u6xrbE*#Uc7kHGp$G%3BS4fq;E#2{|llMC5NE#I+CZFY?|>iCgl z=<80qWG6O(fdM8AhSDHH=O*05NA%VQElk%ApBbe|uKdydc^ZI76-mgcR5a*zjiFI1 zOSzTlq=SZFJPbwwxNEaMbafa`1s21@8jtQWE11|CU2Ny`+BMFZ0d-aaFi?W1jsSdO z*6)KH|I~RYH?&L#X3^f}i*Yco9+pK1^Xh3?P5oEa>}r;SdA;MZ_Wkq+sQ>Z#X?3lP zM>XEvy}eapO>2;{!v|EUu4^8R0sZ#Oj%-9{Bv?Lj zAD#q-qmv+GbrM{$Z}xAwsBdciW3v4Cepw2x$)7#r0AC=7 z^6asbhYzjMAs^Vo_~neZbd<7%VB%DUdXuQHF8=xl++|NI&lA?18w`xQ67Ok34ZQOjWJAtZe-WhWH7UKGXnfiB>(ipHbd2vbkfUi+0+v!)j zlrNbmOX%o6bS_OG%f6AN2_&{u=!srYH0yh@NF{0o2Z-?RiXh4I4d0X*ggJVk(JM>J zr<}yKPIkMYCujG_KJ@ps<(VgE4<42IC%(Spva>Q@wn<>2wfEv|ZLbUMS~*VX@beb) z?B8<|fGmd5g!+)&*3b`WIY?M%GzqvvujUcj0~BVd0Bg9A0boGGOaqXhTh0J50Ei7h zg6=~GfC0c#1CXHGnVmdJyqW;;}r_kWJlcfW{&S>Z<)VO}hX7Gh$ta+FmRgttW zu8GNft7hrYKhtRB1N~evU7NwjhDSbV8jN4Q8T?YiBOfZK*h6;d=KGw=-eAvTynfxss<&BI+K4iDp!_8UC+*+E7i=&_KBQOdVZ5|| zONW1E8jXB_?dUuH+O^gdW8b-O07=}a2^ z!(uR_G1JBsnOEr?MmKI5EwkSBUwl6*+}cR&AF744@fkPoHzfP$>M>vS361<({hRD_ zdCCeQOJ#|B>IQ#Ar08V{$?NPV3qf^fdfQ%fFf9u5hEOJ zCz{~q-Ao1|4cLldS%+e2PtgQ-+%1Gf8n8*EdRd2JX=Bj@H)RQ7kp^t(K*h2S#nSGg z32taNVUY%G{6)pG4#m&>C-?V`ZSo|f0vADu$*U@j<;76)zS6ieKjJ*kbub%gL=URcbWvb>rZOA z#Ez}EYxt)1*S8SL8w1@wd22~|;4%v3^Yn{)t1J(`xupF1UAzW&iLAlBkU3qyjWs$x zT@R|qR)-yFNaBCLiFr@qUX-usd5;*A2eFK?2~>326by=9IPrQg-`)Bp3knpnL>m*Fn7 zi@avBpWXV~G+Gm|$h3(GngSE|*dMbKTSIHjxW;R=6GiV>CjtYVh!V3tV53vzhL*E*7GsRqvumk7ppmZmC63% zgeLo++UcTp4d1nH{~o%%F<^1>-jec=2c+A-SMB!i(%Qv?-0gpA$BHKG2)>Ko*WLF> zwvZ*-t$8Hd)U~pvzc1R8wl*2fTbsU_mBy*9lWxd)6s*>5bM2eTRJRxFnt3(7ua}n)D0egG&eja^@N6+-=uXyxH9{s&q zny1z7;b{Z@;L-Pa^rIfV%A;TQ=r=w3gBn`4Kv-zi9|MokjULV6nS@?j2*vOXp;7+< zU;9;4-2&+irQu(7t(@c~!}uwWe#N6-OVjkou4WG>dHA0m{dSe+^3&uYU#jQqEJOKb zd<`w%Y_Flu)JYQf3Lu%9sM9p$LFW%H|l$b`nAt|HpYAia%^sv@=RE$Efr zH%E1O+9lP4Ii)eCb|5toAhjur6b>HcPI)r>xvtbMQR1hzy^x$Af2X!WQF>~p5z)5U z3vD31m5S1B4=2*QLT^*%r|-EW1-8=|3c^hrceT-`wnh`)--nytMoS}|zi&3R^@$Yt zyUS9prF7f;T{S4R=aSM>doGFQJ(ksghDSQDYQoeWOG-~|@+8`;vhZiM3OA!KwL6W{ zYj>Z?NaxpSYX2Rz34fQU*I4~Kmh`4i$}qJxn&_H)Mjh!=`)CP}+Mq|Y@AA|RMM_U? z;3HZ$@^X!6oA4X;rh7si>HJ%$9=*W7i%o4=qzwJrX8*3%??u&nM2d7}s7-CcB!#Js zyhNuq{t}&P19Z>k$MIXb$;55+c(^FFfsZoqZ=+M2xhb7CYrB=t&;uRXbS*!+Y$Gh3 z9;P3)X(CQHAY zq_&~bQbdntn%cKY8Km|iZ=&H54Dz6R4DzWn3uFwhnb3J8u^slPg4p&RgYGd>eA>uB zmDFSG^gUEN*vm-bchuBIT2kn_Fnz29mB?>}{$TIT9<@gj=t$zt2I(F8WPm>u`6G!x z^7tc*H#F8v4kt>h?$HMP!8^4VnGEtr62Hx)8`-9Q*Wd4u+z(g3l^xtwySth)*itL^ zdxhU?{3_i-uZX*B1AMj7ZDBr4&n|werUInqOQQYh(QA}ldWr&P{~yNIPaR7s1ApxO zYy(?YuO1`Y|FqxxBcneOraZvoz^4url%5(VX!h{K<5WoGN2?^Cj-k>a5U<^&(3hW`BA1Hqt(p6Iu3aAqaR<_h9D9z`w@sg;eYCco|=CxqQC@;M(B@h{`|TrB+-Dt z4_UmB#-IH*O@0RG@1KpX-amVXCjH;e1)RSc z;LipAoj~pEMG`%3RsQo>uloIwQHOfTUjXs{>ya?k@2LPXGM>!kHxK+z?hM!?HeFYj zEW9eJ27#NMj5s>%@XdcbFne|!V{c*r02QjG(biPg3Xikw-RjH?e7viUPRQVR3}_#`PXml8P`1 zUu|;;PyB)3Z`Ggm#>^ix{5FJ%p&FiSX=3ol0XdsZrdDb}S+rcv)DbAjJz{DHqJ=b4!ihA6fl@bW5GW8(6z~EVlc%MSh6w_Zp0>nC|`P?9&HYYUF;e@;&a4tbVWa zM%vIHSiJ}g3(ma5=v40_+OMlr z=b&`It)zMzrKdUzosCQbo*S|*J866GxoVF_cuMTL*3lwL`i6-#ruz40EUf9@(wbA< zdovcNx;Le#8^;kf;XBW=1V~LfM5iVdqEnAih)&HRMDwKSc6~qF)|i?mDTU8)mX!3; z5!HXHOA|6R5fc4bdxT$YUJvQ=yx`rIQiiFCkLc7yM|A4Z4HY1D$3W?+d5!3FkD!S$ zHL(%E?^3CWlhVBsedZpLYPfWx(BoWNuO+8vTEeFu`EH{1fhL^?W`{NNEr5=)da!Tx zY-O8R1&O_?CEsO8SPHa;Cn%@#E}7?^PvAs9n4uv%FT)^G%}ES_a`$0W#64wGE$GZy<(nLk(iQ(@{Riu7e`U&1E3#$zW+3B9@3 zpPYNR&<_s0xjFrqoeKE>V)*sjnLkDN9byYpMwdUD^_WA_lT^=Y{*1$O`mr&;v-jD? z>z>1P>OO?L{+UKc?g**-j7>C#)6YCQ`lF#&C8-4-=?H$$^W%>HX`JyXAsgM7P>EAF z!(LbA^v^oydvkn`DSp!oJ5Fb)Eljcggi;MMs}sjpy@}&9N1LfhnTqU3pEM`Cwb|Tr z)L9a3Gs}qzI9evpCAH*5~@sE;&xnU2+?il>7G1 z(RP_9uP85X$laV7k0POnF`Xm9%hV`3cKTw=F^bAtiD~CilUvp|H)_yxc8-)?`RK{_@a9`$l7*novW zxA>35YfeoB7pNqoD3*3p2Ia=MRo7%1%H0EV-wj$U4cIuRSkh6RJcyh)$QS@bb(Uqu z4bEh*y=+?O7Psc6HAK^O!wz3{zp?zH6Jh7Nj`rNwax5puq~utm9zil~aPDupV)}q7 zCd+ifD;+RJj^5G%Q|0%D=N9I2T%m5|HkqdFt?{n1MvI!Inv_ONd&;y%pDW}FEs<@H zir>`tvcu2{SFcqH8ih~lyUVAH%H1C1>bVTECo?2Rjix$mg0g36oRxrumGarNtq!}& z8eGTDx%_s$H5X`&`gE5M*qOEVVXbliYVYpyz+Fgdee>~Z_`AG6Z6F^G8RnapZr}2v zd#5AUn3G?_u59SP$6U%2<#^9bprKCwU|MWBQ;yPZwsY67%na#`Jm^~f{;s(_f^7J< z9n*U||}M_;rJeFy0=Epqzgg#Hl2*&cI`rw#gl4R&ZT zb>NqbCcK;cL@?M-UuEemFNbu20Raz@v9FaSWw zAqWSz_C6xVzj?3YP`VOMPb(n>HK$P~rXNQntTUP<h__Q(1j}@S*G+UFF7xCpz)ZjHa&{uk0$Iw>4ZSw= zsLT8_H+gTf8l^~#M*oNPj-H=R_- zzvY~%pt1ZmpGcV{HSW6IvoB=6E8F2u=IffV*#X;qS9is8ujKP6`w{=K+kyd^c`v)= zjhRFKr{_^}xgDPgzC9dZ{kNuFhy$eh?L5i`w`l*|pg}KNFk#nZpn4!4${v`!osn=r zJgB=o`~aFFS_UZ&3DIxtl*xhJ<#!{hsa9hE5SA>~AibXE>K~+ zqF85n>LIzsK?_)bB!f*+Yx$>>vrB>&qmdpDH5KjMw=7ag8EF`Fg7Z6P+;uKe0jxu4M?%4=*c`@^v`mmP0&*(&S8 z(Kob>&b8~RZz>&6wGi>ho=1*B7PCV5HJQ*xw$cx&ZzOaYO#*uEBp3h`4Zs>?N&^Fc zg$5u&J$Die01^X`pw4Mv0I<#gBq(#*bT9xYd|i!(pv*+{pFgJo2f3LhNBVe*Yo87V z0I>le2*tg6O{3!ng6d=m9ORao9O-laJU-Vx9Si^}27n+GH)Qyw(M_{3aFA=ZIwpPY z=&$73$AbX?8UqA3DNb8VIGx@}fqRHFjYjjqOjNS0pdqZO1)eE(vUK2A84W#Dozjx1 zQuMGY4<8ma9r;l03Z5%N4y&?s=1V;VVWXAK1fqiIhBivkhCwhwK)AHd6zY zNXgPs-pFX=Lw>2^mvdz0;pZBSe8`R}e&c5FCBq{hv^VZK(*8aD7Xa5r&A|IlbSBN@|O-uHXFU_-xBl^K7|Bu96b`_HAQr5zl|MjeU} zNnMwkdls!rwITt)a5n{#0!Ig@4k_RJ{oGF}s%5sGp4!n}{?<9%Hppx~J#}n(T32q` zsPXUtd=ejO5sLW+Wv4DLzM!5VS8Dn0*;0<8?ssgJ!>-BhR;qCta~cUt<2|~|=ikWg zpkFC>M0+Vs3gjav<&$p8(N|8uhJtXM!dOx3%^d3qM@zX^clniDh?ga+-10vMk6bp5 zzDIIvZqay@3*`(c0^^>A@?+@f+%)8(4Y-4TN9Bx;Pyt+%z15EB8ZD=hFf*P&q4V#k zoGtV#RnBm}m2+=L!R!v@%I|YAeLB#%RrxEdn55??w^PNn83TZ1p#nsZ+r|TK@Ey6A z+rbAey2cc-yy9N_L+<6g@b!LdA$jdi@>)I0_J$r?wBoMZwz(hBkvJ@NwClJ#Hz-SF zdFtJ{31N;ss0R;QlR*=~EP?Ta2h%^^pPMwOVs|HYO|DbRqTh-K8;ykF@%3!5d@|;e zKT}I+W4d-MywPq_SWdqfL%50M%OA)cL2I9uTGe)w-La6C>KzNMeHt6E6|`=(nbf<=v@Q1pjsW*Gyn<8S6*7d03bF13Cc~#crXBf4EW@*%yVpYal6dH7XEBOlm9p3z$j41X_MzJ;-Ll(*Api_VtD!&8jXD5ANHr*VtDw(=xRQuKPG$R7Q@4@GaC6oKjY;V!^0QQ z8(Q-Bi=ZtY3Qs4in<;*% za3DkZX^{Ja$rR+mY!oA;QB3A{D;~^;e-_rXI|_0q4f>bHxG}D`TQQbuF=C@pjA$vP zTa3#;HO9T&)(%Mv2f0`~{B}0h#lxol^Sv0C=>Odq*UAk)Bu2wO;imq8W*}EIiv|Cp z5V!kR8sg&m2lYjAulS;WXf%A0+}U0JuYXC1d#56i65pjXNtD0y9)%dK-~bWcW4cMl z_z$RFTZ{ofa<2kN(DmLqKh6!ElB#QdzxS1pK%ZTRavRY$R+T~~ca z>G){t_Q&*GV1;aT5~rb2zUi>klp>*GGzn-B0|o%ib8HMHfCMpM01z2~1T}~O1Aw^( zAVCdczyP3R020(71`GgJ8Gr;ehyeqD&|E`;8pMDB0DK5RjQGFsf*8VS5JL*wO;hsi zqv3T-LJKV`Xn;f6c$q{k9r(m(=xMGgi%g;(ex1?ChxAG(<)XfsBgX*%*DA64-( ziCQ}BnQ1igfj#6IU8nQ#vC+r}ON~Z8WVhJE_>G&vR}7DQs38iTo6}@o z7xVNtTkA(Y@XuVfpYfKC@q+9)7OT$OrlvFF~Y-FBx6U$Mkm+UV=yu zkKT)X$Zjbw-L!SqS@&n1_swSUgW9bG>G}91u=Gwp0FYB zDV_a6V@M326#cOc}i)L!{_*zp=${;si`{Zg4aE2eN5Ip~H7!!s{E~My9>O(#+Di1S#Y0BJBhj;zUVgeexQ!-U4u^ghG+8i2 zDs;s!!HOUMkQKj`UNl7X|86v7#fBRaqv4*Kj)nFlSG2DMGxB>6y1~}_?E1VpV#@9E zp}*}yW55&P`0_7jE3<$=P3^2aD_ssl~V35&BkEUpP zGNGKAMd>-FHSU~Le(>mgcaXWkBAxDI^3z7;xU?GNSg}zo>Q_=s)IN0&H~zx>q?Y$A z$ia1uS@h&x_EAG)z@%j5U1j>HAun#OyenPWZVh6>HMcwZlwnKxk&E(I(6WrNp&H)@|5GbM4&Nmp`QL%!NlTvMjF=IR{3An^TPLonDP_Mq^2hYvS)rx=#8`Yseq?`R0GW)Z^1pgV{^BYj){f_Xe_OLPi)|v+?#iDp2h*9@{S@{(p|hP|HD>e01*GnRFI$>a~A=O z0YLJuX&^!O@LiM#I6xHNQv|DWC*4gdi~&HhP5~_FW*6&z*lG*_N*ffwn%v^$q`?>f zM7^}luqHQk1-Y(MTqiFSPP@KO=vJ)A_X|4R<16y5Z9qdhu2X5w#)bD#5x@bWRBvsP z@^K|bfCEHjYelf6i|)-&&6Z9b?H(IUpNpSTs>``4D;sid*}eIG%D*>1tPLViQD`tT zC^Oga$NU93=D3bO^l8eHcDI;V?%_Z5>DLhTRiva(y)Xa6pszdm&OU?Pl#}bubA6We z>Dv%e3+3j=P$0XqvC){p4L~)=>h>ocb5CR-% zFEuNICEc5h00)R@kRn*pUHl*+zyYGTgCbbcjd_T3F%A%1I4L#hat{+CC&fLk)Xm2pK*;HrT7*>j-n}wF&OAe}@v-R;Ffo4TTum?8wfRh?B_sK7-sDrZJKyzv zG{0*@{5p@3)HvRt>4^*+J3O?b!o%&~E z8ca`yzai%$7r!%Frr*iE$aebU=aWUcq6ilv=(EH7ld}|WpIQ(Z{x5mzE_cP_`Gd3k zW64|jV{#RD(mUmqBkGR{vh>T%@2nfs1?jU$D{H_<4?_EPK`0+N*klD9Shd1Fl2AEg z^H#)9tB+t-l5CvE6~_PQ&mH(uY+gN?x8}+G@x!BM6%;<726N4n2ubPU z;D+MWCuubJmkTzO`@NmtK5%b8lixi{Y&UKD`kgb+8?f?y^;S6RmjIso#8$g!zE8zo zUH`ev3yRB@_8nbbv#6dNvhQej%9{MBu8{IWVc03P1qxAEI}ks#qx(bq=m9>C5ZXr# z!g=~JgV4T15!%-kLOY>9v`-7*eEV>}mM#r|?MVO7j_MEXI}@RO03);yS%miSgV4Ss z5z_Y}xWk0@4S~=;eh}Ib|Dk>G0^hL+?Rykq^_vE>wCY0pl16A>M+oh!2wWq_5d_`& zd^7|5=t1%HbSuRtKjPKYgF6;9G`cA-<(u7#7xK+n;&H7Wn>l+lM@m!&XKSN80a~h! z(zJ*6wTjTbdI4)Ns9XSR?0o;`bw`OixUumctchN(v8E$Sq%^N=aqj5yp`UPTn5(T} zCXcPq!q%{+(6l3W3}rt=x_urY>ep+;i&PoNoh{(M@YR~!o89VH^36HsEx5G)7;2#9 z7kh6_7Env&_9zxWQ`G{?0Ty5o{Shp%&xpi3_TH=o$=_kYwAb<-St50GI0U1^A)5J) zTzn|0W^T$kbMBlpNYh7r>n6IDmHg0rIQh}7UMz3>cK*nqeg+qoX?OTP^54kPD9*si z?vsDy2WLZ#kBY*Zx+1bS4?@zW7#thyGB<*79kSH2Ayo-^!25(oCV1UimJSdIVSc zccs)jpMc4QOUx5Yb<(l#T7>q2jL<$86WT{r&>K0gMGYipHw|}KwG1_S3SH$T*gmC6 zR;a62lh?+r&40C_3B0mNMf-7~Zv8labi4c{A0R3Gf{KfX8};w}^mecSsqCu|)p9jM zzyhRT5D|6tpX6t>83%~iXpwYhenLvX0;DoU^ATn44TgXPNVJbaMARL%ksx3JQZOwd z>K+&GM=Fd1MCH|q+j3J9Rc=r~5U>C#?rFtg zQFjqTzyc&Rh={uN3;_#}(jKZsMBRxQf`A1`WvoI()IH4*umFini-@`dvjhPPkm6lG zmNJW|yMrNM0TTa13oW8f`A1`^h5Q(h`KZL zbu(Iw14Q9Avv%o^-Rt?f!`s0Cpad0sbw}0JO>YGYkP2$~wjaAc*O3k|04V)H%@9F1 zZY$PdEI=ZoNz~o2RoxM7UV3<>){V%yK_RIC3o7D0>L+niB316fkjwxBfKu*Fy`5lP zZawK}1FH&|uGz4tE7sS|Xe}8Bh^V3!Lz3>P`ntng!KebB*j@r<5_AV_O=d*K0HA={ zXHD*ot*P4>2Z++!);?I$jp|J`3l<>B-!vCd=B_448(4r84Z@->Y@lqw0V1)c%93s_ zA=<$KqOjJQA?tE)G>|1=0TNm^BI=InLzaLANM)rNOWIu0hw=djhHk1!o zfFv6)6~Bt8yOAKRU{xXKYda%RH?S|cJ~2iWu)Ag>g6^WetixD<6ahK^a`z$WXaxg+ zXgAZb`=jm~{kQ=b1Ax#pkf3{t0bo=C7g?{|jataI3@`=&m0isnq@hfJHZTB)0U$wF z*p8YhI6xE(L6XjGM|pq&K(RyfAVIfPe*%C3Kw6b@7^BI=%I2v~r` zlXL(RQFmZ7YcUoel{D= z4I-lMYKDLXNW~x`>gtCP1S~+JX_}FUx-%I979b^qh^TvmAz%R#eo3{6s5@$Vf`A1` z(I6t~9$*MqfFuSHQ8#WlLBIl}aG3dpq3%Y8fCWfw5D|5QMi2xnKq>|iQFjqTzyc(i zZhm2?Th9=%010O(L`2<*BdNa{2Z*B4BI%yq3?eav=yC_{&{Id@aLq+@xjPtP9OM!k zExO#O9eW}wh7euu>dhb$j=ebEXQZnyP;tRRHqlX5T!Ea)5U>C#8AL?g8w>#pkZ_i2 z5m9&4D1v|mNYNl7>Ka<1L%;&0 zWDpT`Z!iQbK*ITS+s}6o40T6!5CkkhiUtu;_W(n{0;F=8Y7tR4ZdZbU1xR$cLPXTv z$PlmqDPExv5p{!h%o9-SoV$-1TGY`sW4h?jUY|Jf=Mj%PBi-EZ}`u2H?Zd&m8MoV^KrRMizf z&di%kUXqzfgan602qfSrtBMepN)*&lQKO=c$PyLos3=iEf>nuYU)>1Saz|?wt!-nq zN?Uc%szhts=T@<`HFZU6YwC)7L@WRAIp?04H)H$z{rb=61Mj_izGu1ToO|wl%e)sI zU*YYH8`Fj!T3NSuG#U3M@_p(-yd^7-ndUd{%O|IF!D=cbs-{n{PuJc&s~NleNAI6A zckLZ*ZdQsSeT!5HbVuDhy-##plO-rnjaC8l@g1}8KGEhTr6@9OyQiXYC&%owPjviP z+pajz9xFdyVn?`f%}P+9Z-HrL!0*}E#&U^nr#Myx;5+jyu}KLkF>Qe=8Lz)%6Ps+i z;yin-{PY?;>&G&rZ;w?neZ7#7O zab|Q*%uh)s)7G?33XOAUr!F5~8t6PR@;ddp74ENzWm;9vxpcUq%Y zB<%;$Dg9faMF-MnJout`0t27aGaX-r$C%OG(RgKsu67ULx!5yfGtA%vqVvK_YS-?+ zD;^=KtI00ElkeQLti-#BMujGYrkd9eh$idpZAkyOHBD5m+&BO6Ej$J?#hGC?#PQ=% zWjhJ#X~gBM80_*Nzwyx=)fKC6vJ^%7_E;s*h+B7dtiD+Z3LLON70n~AYh|oqY?;K= z3h9ChpaHkNBi7KY1eKVvK$T3djWq46Akh*O=-FcxfKP$3#3m&uaH9pPWEyd#x=9HN z?6*J_KqHQUN>E_(Jn4)Iz>p*0(6P2%acO(3{1|W|Pzeg`v_KV%H&Y5w2@347Kox-T z#=vn(P+*@0ssR3whdJt8#M)96>8_N{s012s9BU;g5ZT9BsG{lZm8RpOSVI_TdF0uM zrE<{t();_AX~)dMe@h~})lcVb@o}hinP{VvTggvD9UG!|i*=n4U0;!$(1a_I zc<^PX`~mZ#kA#M}+w22ScI$mPK0joB^qGnXTe0Qj_?a~)+9_=JG27Pd7HS@xwGDKi zDujRD?&g38Di&6|^KBW}&HVfU+y&BO#r4cjn7=UPFR;e|T=gKHMkzE{ z4XH%}APEzGQ*n4jI)!^|rts|3K75RkPJd)l`Ljw}l^a%wfH7SwG#Dl$WR#o_U(VjRC(MJm-MI^I`=F)~8<9 zb{P^YABD-^&j_Fm3do)=05F<^AHxqGdT2R@OdnbH7?dSER?#>@c~pjb zhRA?ybK=tI6~pbZ(tGSN_{^QZh2P5Psk4M1a?D|PIBG6o7RyVweu@A8^t28=4ny6e?sxG|wj=(>+K;LK z3P;RWE2E2>(_8JsEg$`thg(259kZ$y)NFW~?RL*AJhO85X*i8QGe6woKma`>Q1i3D z2yWz0^w}0X1hac2jds($1y8|zthcsX^wxIE1T$qko_qN;c&|Rocb$v(>iO8-tN)yV z3!JPJZoN&9L%vPFrv|6|Hob4p%iNa(x9Q<1%AI=i+#PO{se7-YDnc;1Q{OjT?$oP9 zy;F~{n^~7ecj4q%*Xu5zhnF@TOV38&;iV~;M<)-qQ%>R3ZaNlfd}@cC+AE?%T?NRQ z-RW20%nmb=oN3uh>6+~Ks0zG@I0_aW9q#LKCWk}y1r#T^9;;-0 z!a`1)%W$4OR>Abqc6&lvhV<>RN_O#)3%UGI2GkK)5RI>0n7gixHdpDGmXp8LSbY}0 zr!GuX!LY(?l@gGiE!*weg{tR}O8*Sa#F3dLI6;BG`1L*8RL9%Y{({RMz}p#v$^|Px z1$SD8f?$4eyxH=H&{)&h9jzO$0A)yu1cy_WJcUw+g2fr3RFgG(jXNm zUlI5Zj0#jnHBAM|%lE&@xLTd0jOtu)Lgt0*Apy7kr2zPF_plvF`=_#Lmbk${Vbehs370%J6!Z{Pn_6b#!opq}5l3Stiw4%m}NcwB2Y`x!o zw<6!z6TLO$eAckdbp5WnzCPXa2%jCQZbF)^pH(d&h57cA3#!|y4-EG_VxK33Zh4*% zx@-5YnG{Kr!1Yg5*PEALs@m5~yE{66Y5INfwg7z+X?O%vo&d%pn5+lA z6ltJ{G*H+!^xL#P18MZwCO^s!3WpdE(o0g^){78h@pATp5GNHv{P-gr;(u1q>!>36 z{r(VrFjVjUUVK>a6;P)81{>bG2dd_WA|9ny_ur}xbO7cjbkEZ#bkDPT@l3Yp-TN8n zJ)@{M>ihv}yRWKV9?iEuADxP1exg*P4}fX!s+u41DWjm$CUf`nssqDMJR*Jz#el-8}mguhNRY?F-H?(?zLmF)?StZ31 zV2&l8_m-!v@w_+Z5T2_Sl{apO%4J2BQRgoOjr&F`q0xJxRHF|7buwv2x|OpdzSWC> z7JB-EIv09nB&c3ImoIvEk5$eKcNF!atA8sfets}1c3&!0On`MqAZtG=#1ng*wBeVm zZ=q0p3x%7ytEPli-;+t`JG-ba>bwkfy|-7#qNZbUWk-HsbY%*ieYI4l50qq4nzTwp zNh?=jfVm2<(!smRy7y>Rd-6D_J*TJ^-P{7bTOY3OikiMZRMeUE38%)~GqLg`=W{8? z4MW~2wShQfxRMDr#M*NQU=A^CkPyQLuErk8Yu&qMs9ewd`sdDg6T7H#wApkB-o<~` zmsJUq*}XD3+xv&8OTQ&s|L?MO|7DNgmaX@$Y}4;s`qrm-((pfgYMa>-t{LY*kePZH zN)~L9pBKOuE{zavI`DfTqR5;93Ku{qlhSy;md5jK(S&-D28u`ng?V6*lxCw4DWTg(rGh9%E`E zeBeA?vV`)0vSGH05oY!Qh1q$UT(B^Fp(g!>*6a9vlc+uaQmE}L@jwOiN}PAPlH(jL zRp|o2_3@KJn6W2e29(1Lg%V~}h#yjk!ol58xGLCBx1^t@HC!{=-1FC}NyamkTk6x* zrP@8f?c7KDCFrET5gm2_7Dtl-JY>~?Q8{bC&u@YO=a=+2Mm^>QYx>8PSg;Q0g4K_g zDtCdD5=pvkl(qBWID316(*xx)j-i}tq~i}Xm=7Lx$C>V^JJHO)qjLW2^bR809U@z= zRqc_Vv%tqr^ZG0yu zeTa?9y>jf|CtELX=?}=({f(tR)Mj48$}&QNY#g9c;sBKthw!i3%q=$~;nJW;94y6w zHet$wB!K{l#z*+xHnRx+50f;G0|+y#V^czHW=*5COBB#f@d@YK%*p=u$IJUayzhF))**?z6)6dzfg;X~`ql!;X{%wyxA za&<9LDjfH*wmfvcSCMa@NSX3)n<+#5-iPJcnygJ#Y2cO1S;y@6k0=rzI z3SAuTCv1-NzzT^gC>+<{wVBno35&!P1RAR0Cv9B8A#qiXr)^v>)3{!CuUWP;rw)e| z?GjeBv!ujnX7%r&0tE3r2&}vAG&AKcA&6^0;FLy(I6FxcXD0}hA>p|;T5rrow7N>7 z)vzqT=$z_R(R^%IB|&}ZG0P|&->NWevvFnX?#1qdp&@>AsaAkY?a=Cl+)X$fB9@T9&)zZVKCUAP^#PA)!e<&dKjuP3JRKmB+U!L zmut>k&VyhwOT!h@Hq$$&DtKnTex;k77BC<k+urLCoGe)2?hy;GAuC*e+q^x)Kgd3F@e7D@B%@)00LJ{ zypzJNJimw7T~-pi(=FqR;&=esIneacI|y` zr8#Y#drbIptC7zB!%I0yuc?fr2Mwj=L3RD$^jW1^y`|>;&yXjiRi;(a%4bPH+G>ej zisPY}s%1Dm$UJtNd-p8&oRvJT{c~mO*2&geA=~sy+rCP+{`r=Efu&!x(oU%mWV*Vd z`_XF(5+-%KTjyjt@1#|!J_Lb7^TVIGdpS@hg_WGo1qo(xVXb2VPOU(Zz=OiYZN*BN zFhP*WgRuIXnkk``5_oFoF{q+et(5ulyBhiL+T1#Sr9>VCi986b;)0b@SV52|fxz_> zedNLlf_M=G&Xr#U!Z$B`MMF44+{2plO8*zd#dlSp|QDG#Bos3u7~MA0sRLOW;4D5#(r5CjPn2#czif#ZaB zi4)pc!x(6Q7l}c<2?7TYFPxFV{^0W%?B5LrFx`XzUS73J)U01p70Ksba#w{0j~D0Z zhzG_j>Z)20@oflEr740uEdguiL8uiMsoLMG+M{2GS}&kB;`Ua4WUq$xzvbd;nEz-c zdtY@Dz}|=$C=?p(@zt;hp=C0JQt`hk-TD;wwZ**qo|_4OFHmNj-$JKc80j5SwLTQ_ z!!~E@)4wa#?g1*xcv3F)hLzJ*8DQ;o_)zV7>PcVdL} z$vN5gG|Rpx+2p_idoBQyBpOIG@EsT>=VYKrrYRH5lyfprB-cQpG9=f1V z7CPvPoRfhf`Jj5xIXNc-MS`Y!sJnblMillaD4e?6G@Q-xs!aIGVh%-}zm|p5tI=?J zed0zVng+!Y`xd) z@$0g6|1MkqO-ui$rT0S*hm<4*YEl32syb(5NiCv7bK=OVy&|No5dJ#z=E$l#Jn^Oj zg7yL_&@rlNVk8Z_Y@pF02{byyp@FFqXiy~3pl}MncnLHp5@=AU3OVSG1e&CAph4jj zKnEqzph%!q54tRY21Np`ddLYJXrgeSLE%8-T~$=0y2Do$V_Xq&-P=x!xxG}o#oT^`jhI~@0 z%?I6H47b{lwxo>H7GS=E1zi$K)iqXh?PK;hy6V{QwMB)vi}o2bZaKONUGu*vRYoLR zZ?|cBIoPxH7HFw?S?H4lQGIv^nCV`KzO4y5@k{C3u2D0&-#ru`0?2P&QiUu2?)Fl> z9)LD}q*vlcdinAtz;gMLJj%(ZTJgp)(mKa1Kci}PxI3si?0!Tye}95^NVp|)iU$hm zT0kAs=oNGUEM4q@GRbEsn;Ea367KuZ^sYn?*A|@_bt<8T@7|lbo1&3?tD43<_nKXz%dCHM6xF7Z}!DhU~nqs1_q44!yXcK`~5}Y9kWg z%J{MnLF~y$091O{Ps(`Ysj|yNS$FvRK|Sfgq=#=KJZ^Zlj7fQI7*b!VmXI=8l3s}* z>E#FlDf01b3BIS021N!EC|uv5PDojhB1%xP=ca4)I9W1Rc>~AvWRrsV>|%8iE`|pWRFjgZF-4p-EYg*&)V&AM``3B z$p!%$B?!>SGZTapX+fA=z(D|o-3E2S)B}=4fxJWO7FZxr07aspOt49!KopJwC>&E* zDN(pqqj0S?0d`9iK#?eb!g|mXnQB21M=6E+#&?52kq&{vQ(z7Qaq6=O-4AT&_||yl zC>@89zgFRj;tm?P^t_`=%Nvlg%CUh%t)aN_NiwifNy$=n7PQiuHR6*%ef})B)L$S{ zy+yKh=gT&Il07~}w*F$-dZ$`?*3wUx?f>o3Gtwg?1r|w+U=fE8nk7b{NQ^+?ki!;< z5m7ispm2;}oy2I3#%PV@fxQwVP$Wj6aE#Cci4iCgBT(1^^hsg_io^&M)`MQk$R}y+ zN7aLVOMgI-{(!=9y$x|~dmnLKR~(X2=M2OZPqg5#MQk z@w>!t8cssVq99H2lnImK$>-Am^MvUfRd5{k)=fk|@Y+^c70eu7eL^@FEE1PcG7Yb$ zHS1-i+B}eC(L>5?IVWvg767IdD=U*oSY_cYL(DDXtJj8aDCyu8lC)jXygRu%7K)_n zHEI3tmg;o@m1<=5A|i!O0!y<9tCb)_t*P6)2Ins%kuUD9zq#6`?bCZyCugUx5(Vxx zvh}_vTmM>n+%4Pmb+UD@xAY%ax`9Em9DpQAB=WH&66xnef^qyir-lSE<~Clb*(sbQ@Ql%v5X0|k3x3wj^}g=i8UqOm^oN(Kti z#D_#D~tnmU}q>NQAM8;1N)oTs@m39hSh5W_B=yOJIm5fgu_@5eg+ROyj^1jS~SzNMMcup9BVb z!Uw}7FhrBU5RIJ=VytWtt{b8^i+$D8L&c2Sww=ShRl)hWsrm^&ZvUP}pDRqc~$&~?Mo>y3X3iyE+wlIBFQ7Sq|DYK(#BN}U_L#G^ivNv zb0k!qTTklNhJO_7;g6xHP-%BIQ|7ooGE=XpURt02NvU2BNP3PB4^dmiC`5%`0xZ>b zF4RhpvB!=b%xYWAYgeM!-dxhlpNVqnWlyO#7bHFf`?@eZuqS;4lxr=ilAKXhBkRpf zgC5=z?BUNvN#G0`1(CvdSE))5KzjyFN+pb>l*0%xS6Wgk$*4-l*PCS<5XHLN5ykZ- z{kt2g@zfyo@19a+E=cwY2r08+WNmZ>gy0g#EGd)>SA|oDlft#(TZ6s)B~;;T7S9vo zgU0xv?KxHWfp5P00`&9OrK&wZ?YXp7jX)Oq39!^2(kr7!_3q7jzh!1WTs=2@TS-Un zgLbUJuC9#uLkknx{iS+cfTZMYFT@mk5>sHMzdfW^Mke;8=CMpnWp~X^KPWQYhh*z* zl&$};J>DeS^rNzMe{1QFTl(*zN9Ha_l5$20Wn7X%E+LRE<&0@Oh=|5z2^yuG9Sc6m zbnHoaffZ8Dh$g8?H0Fb4QqG7b8ALQLXRubv8PO!zL}Odf11V=jlYkJ7%Ncql<&0?J zG@`LS>M8w#!y%gV4|_Z!XAh@B&|((7j1l?cU?9^z0$KM;HLm$QDIU`zM-*G+D10(H zD13Z%0$^KqSQ~pxwH-0sZ0bk4-dGlgiH1iO|pk*oFPys*+VqR9-?t(!3fD7qDl4?_+Xf1578uh zh{l-(V`X$OjblwTwgnxK(Q!QZBox>aedv^o4x)+2h{kqON9mzYhiKA2>~RQBwjsQy zzUGARPi+YKjQ$Nou)U!M$@-@FOOw?D#a@JMzY4ne*K63bmzROI#g(*)$5h)=Xd6?r zHvF?-uDJh{bp5y@|IW@ezX}a`t5hG+>6vf*@`m)u;2?cGCj%@cm9$9=RNHy14Rhlp z^sOh@w|_xn_v9L6XL^`c)bu;0YCVAD3KMCyqk_9hx7Pr+C6)9_e6eTG4oE1Lk-wPr zzR2{p%GP~Pw&{=T@h7tNKb5Wbxut($>0d$(S5zO8BxgvU5R>lO;B*H{vThId;6GW4E5RLN} zy^=9OH1QeHSReJ2D=N{Xf7s(3-Oxl?(_*&IK^*TWrcTuP3USgBCz?KQYC=?&MS7T&dF0ZB-i zhfgYu4eUuF2Ubey3FxE50( zu48lj9j>#r4T2=bq*G!{IyoK?E-@yW#F%ItV#RFkQft9VqD;ZVG?7a zNsNicxdCG(#zd1C6OC;_2PB7?#vvgZ>qDm`hv$J${DwWTlR8S5m>r@?|FFk-^LUe4 z-HA}%865gUuG0%zb5~O&{Sk!%&>+6k9P$8_I|dX=DLWKOUaN$ne)^i@3be9WYnMO#jc#dr11qX@bkvZq~n%r!6 zqR90p*%0k2TW^Xz-c7dd9P$&?gaL z8b^d^oB*&vM#_BfNl36Ke6UMGLNo~p(b(;?5XdM2I92Arh-Ymn7ea zCSD^Nn@Qc|s{url&S8%u+1F$?-H%BAq8LeBmfX7#$~6yDDAS`fl=w79 zQQRq#ydVHpE(wrcaUI#jLz6{vD3|^gp-j&dx$gcpMBkFFe}FxnE!*@#vUSszeu$+X z23>N(14$AT*2+O4t&PVAhRFgLBr(CBI1maYCPb5%5REG^jF6ZRO=42ugJCjEh$cZH z8ap1wN>GRRST+nfQe3B_l8`cAo?MtOu_yB-urgmRgh}E#?AiH}ByuRPegmQO zjuyG;xi&;?vUQKM$H&XoJ3+ST6D@s#r7wgoJ{f=@2?;5ckdRV#Erd%*h$bN+8ixxC zB_u?XkPwaC4kIKaM3ayd_+XfXglG~HqOsp$tQ2OVNlb{wwx9zN6Q*%Yh{pQRDJcVs zz$cEwp4dqpsa0C56&XmOL(LvIJNrOVTT@Bb#`#B#|7; zryCJVca_NX&$lsJDO>LXdwh{>-46Q^=d)$&oh#e)id%KEgd~XxDV3OzQuZyROH7C+ zF(F#lIpRMqT}`9nmn1qCA5)z`Z-(jr8glG~IqOmFHfW(Ao z5)-1aK6FY_j%eaHqH$VLM|rv=nsg6)9Lvpf%*;Iy%U>2_iRp4BK2a?zpW3}+KMgre z8cV-Ze5bJ_q|BB!mY6LmlssDkE3+l370;1LGFy^Jj^(>E5zF)iBGJ?N6z5|U(`uvQKVX=Ud^x&&o+SR_Hgo;VO1B`8Fbpb(864=W@n zM3bNt_+Xg?g=i8KqOs#)tptT=5)`7bE$D#+g=i8KqOm^oN^*{9;yI#mpsA;vbWG#^ z5e=_OZ;rLi88oO5&mGW*98LStvF`A%IIerw^xJ2AV+f!P3P^p&z8VUEX9=JU3dmRh7)|AI0BC~(JPQD$nMnX`P{2kD0Haw+0Buk} zzXgEN+(Q6uP(bnmF%pdCEdpqR0@4-$Ml%7uvJ{U^@Y{K>;lm07f$-1AsOtAZr0&G|LE}4GPFv02s~B z2%rrL@GSt0<~0DCwLt*`7NCrO+T1qNw4EGl7;Xs)OkHHt1CowB0jjh?0T~N`MDtw& zXoCVg3jm|pL;!72z(xxIqxqZw+Ms}b3jm{;G7kW4P(X6EO%DLRO#p3BK-vPpXl@~Z zHYlLe0>EfqAb>U~pvMBhXlhRcKpPa$X8~X|2NOUW6yR>Tlb;F)qghP=ZBRgq1%T1y z0T`(b3dmXjF`BI>#zv0R7DePNf;dfTJ`mcX2;U-z)3g&pTNE*15yWY7gwPg6q+XYv z5U1Hp2yIbB#v+K*xC?;L7Dad#L7b+Q5Za=MjTS+irjrobqKJNrAWpM^5Za=M8 z0I_Zn0NS8{77HLo(?SSsQAE}vh|_csLR%D(vk2leJ%rE}Mfes$oMsClv_%mE7D1dQ z*$#xZC?fTyO%Fn}5kgxOk+BHkG#(+eMG>Aw5U1%SgtjPRqeT#>86bqVD5BpYh|^3x z2?%XbMDiatJqVE{gtjOmZ4tz2))PWo6wzrB#A*5np)HE&u?XTcbtlJ0HfxI_`Yb{@ z2W|g)KeIj_svoHoMY{jAX+pBPAZw(yD5Aw8h|_E>jOmYZ1h0wh}^H6p^zC;xwsK zfY262_!dE&rkxPlqKE;DAWoAbgtjOm^_I;OLTo04wkRTF5yWZS#Xx9_B0P&APSZ*V zZBfKViy%(ZNeFFGM88E4r`bRVZBazB-{uJ+`U#;eibz`oahk>@Kxm61IxT`YO@PSZmOZBc}85yWY>5JFoNF<=qIX_DUtLR%D(dfTQ4A=(I`EsDrk1aTUV5Za;$ z&mxG^^b$f_6tU4Fh|>%ZLR%EkZxO_4re=ZA7DXiAvFSmGEFrW-5owDcPP3j6+MQ#)2yIbBpG6R-NfSa_6yd&W(}NIQgwPg6v{(djnvI0e7DZ$& zf;i1qLTHO3auz|HCUrUx+M)>GB8bzp6GB@QF<=qIX>x?n7Dc4qv-v@Y&4kbvMPw|3 zIE{M-5Za;$&mxG^v=TyF6tU4Fh|_cuLR%EkZxO_4HUQDAEs99KZ}Y<7AA)My!Efqse*D4vD0+Mg}e|JCLr zf6W&I4vl54EZWjnCU!F4>WF?#YQ^r7b!D(S!`%{Yf3)mbk?%iyzsqpDIu1# z+^MbLuIq?h->fYs*=q^DMHDQ-3-IOJOO~L(0eh?hTzUaMeS4{?3`n}@cb+Pl-hWRL zBWy$)_F^iF-*~@%1-|L?p|$>zvtj*xw(l7$sh_Mb^nIK*>ua1n3)3!m^!jjqjq^Aq zDRiTSstA5@xImSpP*O_WP!as9aE3;R1n1Ysm51L3Zf;!>s}Fx-JCazAj@)mFt62#O9I!wYz_0e_kCIt}0!bHHuLAI9 zf3cp8kbz-YTzZ#3d-LBqtS>-}AGFqItfb^8YQ46oF3%zg*5exs{BbcQC~%_%ssQ@N z0t1zxz=xehMQX-Qs{qsK2p&ua<4^rik_uca#9kh$Nr3=~~vi|I`V){rMjhS)UqMag2 zP!WB4#0~}Gp>8!R4?Z@+S7p_xBM%rfXmbU!mOdoebxEwd>S6jGSqr{r#NVzoOD~Px z;B5Q;7iQ|Z*wFl_%VIBt!|xxSU;TD`Qpj{I2(_5?Go!8p4*KBHnK7SODUq<{j|PT? zvXg24UMwAP_rNt~_-v$UyfN<9_unX=7p40EN!Y~Xp6|u*0tS2#$uwRcOGZ+}(t9hu zl+?RE9x)qkj7OT4F9Mzr{t-Ip0_K^0W$Zw*^{OjlQT$j~Iyl2Tbye(y%16-4p1sGI z*B*_%AKuS1&psBrzs3p~z&79dM(idh0tnvU_m9|_HTy`nynW@9XhYJrK|cWnf|+n# z?AS;r8O}Xie_hP2Ps4h$jCx2|CO>ptY-B}_)R{-`h$WA(ib3Yy3_7iIiF!o&5hJEC zS0Jl;EHB|bV8{;s@)Qg-Cw@P6cw}S2pt_smRrO`|5cO4a>m9L?5#HP3w%Cr5K4Kx~ zPs>`ks`m*LP*2EU_xg#m`$m#RdmCAQZU~>}nJMdH z_r=^VL`o9deCuv;c%GU>5H*S*`i7|ra%(0}ox0ngMT-`le9{^83i_F~jp#o9dMSaw zHD=q-aAPKfi#zd$@{K==?G}z~rSXSvN=(j=xF)0;f!k%x5b86`1g+;{+fBTb%*30Wj@Tfm+(g_ z*;@R^NT@H2MfxZY`Z?X)eOqi^<)i42JJY7>f!1Sv6P{930ySfxr>MRw4unM=177 zM97_}J>oIvm-UFrJm!)BzG}EbDdItghLwkhF@gRNkaQQqL!Uy@@Kl?*zlyb0{uaik z5416wV`G%Fj6K-e7}cE}|5qpsAlFLoAn8@=U|UqQL5m6q=FW{MDlKGeSqk1Bo(+jowCqnC^c^pb!YHL4?Ilj(jW-Vi>>){$(%22LAyT4`Y;vQ3*# z-j%c=CQcj0YuYd-jv&^As3#K?Y9xcZ4f0Y4Ek=qDEz+CoWt zJiO?0q*I@Wbyxl#ee({peY?stYu?5*XSiJ@`fIksk` z(Fy5TYfm&{S~tfc_1QqjV(1uSGMi(K6)9373D`nLamN&{9b-_SV}uNLEKQtSrp0%1 zXovfiM!y=LL%;rje)+JCr|%0TW^3D$`Q?9(bvq7Gs0P*?DZTO95V@`wV&ewe1|44@ z$fTWx3i=phy%*>cp@?A8eX)^CJF!RR(H|{22CX{lB+69^srO%Kw4_mq+U=km5~I9@ z37m}G+=r8uBYEH*;e0B~%#j8!eu*SUgQq88Wh0JVf^_^XHmxE@mhhs2y~d7Lv|7NJ zfa80t^@RdQUvR5?5qJIl;t+El{>N5Y1KvxEzQ+90mt*UB%GnY!n?H+HIrPbL@XRn% zwqQ&>LGd}t#^*9SrjnDzgDGt7`U)6~Df;B>(Kb}aN-3<*+J-`?Krr3^jLnT~gt_Ho z%nvw(0>T)Yjw^h2h^%Ue5gr+~yG5%*7!zgF>Y7{%r=dmsWdkPAapys1^7hzq6+J}* zHj)8Sm&+_*P{0C0k_CnGKwnuzK)S=v1j@tJ|Jb_j_Sk(j7TibTx2}sFY25DUkomJRXY{PZ0Lk6NG1x0p8-06NF4{9El^B$^vHy zK=JUPnwOF~w;W&XJtU4YHzi&{ry#orvho1U%FQKNxut=G%auRP%E=+;{D360VOYE( zVCw;D>vJ@avn96rBg(|d*$hzSw&JU%YO8DZX^bD`{t4pTrQb+?tVx&JLf|ix+)tll zb6*=Y_laQIe;J<}>8DT@Dno-8NIC)&*)9kNc$bT?I|WR=tvh@p@fj0HI|2q1A9~HE z2Vz4V7-+hGh0}v1iDLa&^;ZokQ_oad^hZ*JqXk!6iU#lTpSPKtX*tbDH&|(%=Sl)gFRW+&<xrYoe`V<2 zkpX;6njK0f=g!IkQ!=0VR=nG(B09Nbx*2n1WXE{+d^zMTT`fAqEZjd{9id~h#Z8Qi z`NuuUKBTR=e*gH~Ds9<~MC=?%*L;^l*lb!4h~MDglc#XRerEWr_|f4P0v))>+7k1u zCvxP8<^$=L zk$&3im>*A0Q@GAKgbAiPA$91{NFE?g$~6Z@ntN`H4R`1hvD~pe7sQWoUqZ*SD*|N& z=k7S>Uevhf+1YgE7*q2=#khKHC{&b{G@?(5&vlXz|18}{YSarYL;3?;&M!yvs zR*`C(@R3ZWP7B%=?HnI|SoshpNN@<-V_ny!p_u4uNWUJ#V)M}A_#7wwO@rL&#RU)< zL=ZM8qXs3z)I?Vn6swMANWh?MnL#jseAW;l%gmM~u%J^dpw-uqR6sddP1J9n8sDkH zQ{_84Ijen|f>k?X0@?v&_Y^AHWfIix@XLW=bE6$LH9Z!-5%ND+7aO*abihdzA%ZOPW5Y)G*&d)x%K!G&hv;IwAE4F!vEjR0W_4PShxmYF zr)dt6Av7(8VLDxIbq3TRzSKCaMY%TxnVlD+^I zRFg3HPrMEXir48rSKUSNndX%9;zw1!3a|Hk$DRaSCsRpHrxoI<(<6Y$vNv{tI6X~U zxvp`6)Eg%a4eVvkLa(e>L|yb?Y*ZLqaD?rZ2#Kdj?RyY?C(jwNTj3&nie$|=l+Z2cIs?{%@+P7czxUlt!Xq^Hb!A{^Wo z+o__54B_Q@+s1&6!IORJkMe7VFk4_)DQ{s|)x-SW%P|{mvGZ&nO^{r@x9k_mMZ8O% z+(v8XYOAylp{ew+RHz~#6(~F5roSVH8);jda3^Z}?y!!mWqQD(p5tX2rmbna8q=`0 z*lE~{=`{S+)$v?}_-O*imwBy5FC!9YYkIGN1Z}Yr{J2V3dTl)C_!>j>MPhjUv+RVu z%|&bC$5p8Qi)SN1*N!M?3Yq8F7h(cwc)@_`{{m<^gTl3l81?$POlVoA^X0 zc{IK+YEV2<*rBOrj$+kDAWDh{fQ3=!ku0?d`_x}=tk}$sY|UYLoq~2ThTkN+As3I- zr+-+yUq@fqW{jVUH#;pbC*z9y$ymf>% zMPutXiD_iAx%UQ`mMxgZcM-EU6|EvaF?rt`;iokDsdb0pjx{QH4^g?)C}2yB@`$JJ z#`u9FtbVn}9VhmX%S_7;VNZ|RGqMKi>7S1l>Jg;`T?Al6?+@dRqcZ_DoM`X8IGj*q zMi%C7|6zRC9A(#N2AO~(U`aI9BsH*8iZjjGH^pa02IZiqINi7{ zMPHHtqE5IO*M)nqbJ)!o1sknha}=s}0Z|fD088vD*a5K=jDBku*=wG@Ilg>I7Jkz} zQiy!0!hmZ?HsU~u4)%#1ME?0$qiNkWR53z3X{p}Mc8H<@T~)AEklBPcBi<&zK$>1oZ%uQn;yD4^(%k;&WQvq!2aYML$KgUDplc^f+Ko^n-* zX9p;Vx5bAQ2w?~$Q;2|$k1<=;S42$PkK@U3b{F%=1F;<)^w(VWWArnH90^p;bRcD@ zA}~32dwgPrdkivwCwV7%j9v0suqF*d0_7bzPMX4me&e%pz3Ro=alPt|;#xVp%r3H0 zmZRkue6?{MpVL7XuaMCs6CxhOkh_Rq|2#g={W~T^ch^~VWz&8ax)h;fxgI&eh80`6 z9%&oYx&1iiYcft6;(6rI>T__w3j`%1tt-p##cF&eMB4fJ&R{qP{ zW1Z*vCzypjv7wPPsi#XaPN%A;`>;d2GW|sT&2>0U@UTM*#Upb84V-m>Cm)ns!vdy~ zv8=qa_Q#3`x#Dj7zPaVs@wM)ov`Va;zk}JjID}^#_ls2IzjJT=!%zh^zGlw8KYm8c zKjdd$(y*p2pIYPMMIs+RtG4GbA*A;E^a}urOOC-xQKzSlFpuQp*A7n|AspJCJyMQ) z4l}22j9)QakCpCy^a`&Iz#n}8bUjvj>SLj2k2F68eWV^MJv}DD{KRL{55_MWsV$1= z*;Nq4Y5E_GUp~S%D4>6;0Ep3ezlmQy);1_0wYvaR65MOnP8zbKIq0GIsit{)sBTEl z9@mkB2B|CyX)td-6wfv(RR#9!%C^KKAmJw8ZT3y|hV0J(jSP@P%Y z6LZbWyM_-SEh7c*s3d~Nt2JQfcqTt0}JL~s0x3SX~~H<-J7$_)jW&D2HjSeb_YjoNFpy1OC5mTkG~C zIwdmwa~EZ~Cdn7j*R~B__h`&*hU7vT6UrNfi`?L%K}Aa{QfPXA8*h#iKiRhyt!&nJ z%z9kyHXV=0D_pDVI=&QFbNGQ^j6x;W(ziSgPrM~n$#f0FyCA!N7mvkqZ@eJZ`yYQ{ zx<@BIbq;$5pS%5Q{8Q(G8F*XWTiAITr1ih2C$0Q=%y`EoVy5@!wXW&?ef+YJV}ALs z_>N}rVTqA+J-pd$cp|>SsWTttyWWmZ4Vm`U3Dhi>{!)BJ{rKb9c-YQ=eSe2~bJDx< zGa9m6-{H(rQtovky$;f(+_6RH5IGsYwlGI@;MlWL4~6F{>8YP{*(L5=&`7N5dIsrm z>;&`9Gx449*-rFu{rmCd4ar)MJ5Ms{FGg<|Gf(a@W@QA<4Q@JsIjXpfzU9yP?tRK8&Y_r3RNmau%|i zx%EoCUA%5W;*haRLza0KJCPo6nDn3G&qq88X5*jZ zD~6Q0GKYSxJ0)@E*s}J%K!0hp_K5d}nYQQS71ou*Ovm%_NQ6?z%zrM?XmZcv!4Nz) zchB?4wSLaEqn(WyGq3$4-Vn?6Nw3}3Prfi4Rw30k9cWYS2tPtgEhB5g~(@*lDU%|iT{!>Qsh4zmsnaKEe%BGubdM|!)CwS zM}ehE7le?|bvq}15RQ6g(<=xB7)XaepA`yt4f7vk;qfT}aGv*%L~$F1MsK>sXCh z8%>;B!Q#y8ZHeU$m`qn?;x7(G7J0Y4zOUSQ=-#?5-%Pw@ZL!;wc;GY3suDXn{n)wZ zl*FhArIGn%RbpxwkG;+O6gLL;{0DBc{Hu2D{=4EE%_+y%j7uJUDwkgO`X6H@LdET9 zEpEr!j0<<|V&fnt7~7GLOYk=A9cME=fHKF{hq;TroE2 z&7fra8r*Ah6HA+tWt0pkG@fYIrQ`#rBp-lg4YII;Q%bTA5A-4X)`s6k;*G6zKbT0% z1~cZa$SzKwW?=3F>6g14DmepB&gg=;=-~MI% zgh(^=mS*A6Wm!mOZ~;u8T$+Z-6Db*ZBJMn-G&V`5khmlPDZ-q9EoE-Ypns+-S$pQ#GD0rU zamqh1O8%v>!^Mw1#l;VIfw}mNsZJadeur`};y$+vUqPPe^lJiU=Gp|j04izH4gY!> z6}->F`DNyVx8k2UU2E_tqaU9hGW*R=ER6KeEX}Rwb}`7U-SW@ZB~p08zC6Lo%N(ge zf~}~ZR+?XZREj0PTG~&lrm?PnePp6}^s~fL^ImhfhEB`}Wdg45!m$f+l32`bj@l84 zm7&DK^vYdAfot#%y*M6}oMXwMy}nuDGAEa27;~Dndj%>SImYxpi^W3EuB9_+?ie!o z!*{S)*rSw^WJ)NSIAfeUzchK0rFMG%ftDU9Amh;v|Rvf@dT5GEJNZ zZQ?v4i4*qzm%6oOj|7%#2NmW^=qagG-oa&+iqtkXV7_cCTd9qPU6M%s6=mM9BN9)T zUYXbWPAht!@+k$Wl20teygmc@1SZKR>M7-uzx}%T~5@L;qx=>?xxp7Z-a@$p%g-Q~=tElJZBg4Ub_zJ2|m7{9a*&=FZh~ zg6CvW>Rzo`_NdLW-`Ond{-3kVJ5sW2&rs9c|4WjQR-O+1@+|ucEi!pJY)O=6S#C3t zZhaBUhcc&R0)Fp;Q%I;SS|me~Y@;R_b(E4U87h^ZB$x0>=(rS;h?XPz*B9`5I~ti) z@{OQ!O3?k^^R4Bv(zB1`pT+xueB1cDQb_K3fduo-Ur<)s&MeJ0R%7Qy5-0gaTsGej zTh2GX%z?=zns0q&lnf}rg&8;{-vE?}k-f$fBc8G1;&$vzOpNc-#8~0(^N+E30%uj- z#IR;w-=k}Iu5ho{%=2yLJ#8n(T-n5UOv%I;VUeM);!XLl4opmoG$+fGEpP=#&HzXe zodG0<@ueM&YHsVVt8K2O%1;khoC6Y7v~m4q9_d?Jbb1#=^^;U{_IvT~SFjYBBEcmk zjXL*!{Ji>>vT`B{UX3qpF3Yv#sYQ>sLw=SxDc6=enraR_WLkfU9`&D+2+q5i=gv#u zd|?|V$U{nJLDqTMZ{&Z2yx;p8YuHj29`_Ja*r>L ze@GmZ3-pPq7C0q~0F?LwDHB-f+}i7-#k$BHM3-t#&NU7#cxa#gADThFfp&Dp zqb_tuv9cf$W(%%7M2LqHKn*FiLu~V24)U4uWnr zR3&z!pD1#2v@S++Y?T^gDw_ByzX?u@W=ZmUNgnF%Y&d~V|H3cYEP2IFZ|SxF|1UrE z%rC7-Yyc|KnEXFaPfU+A!;F$dbBC9$vB)Yp8yqKB?a^ue>w7PztM$IJC2r=0?;j#1 zsX1NlKSWf+(*-$cNR|1Ig~(+IF!9+Sd4lJ^jUUdc4Hl2SK32e&#LChwhs00??NGq1 zGXHs+Z*^&zGrxIZ;*jK^vf}p!dWq>ZF#QeGmqL8eDwjFLR9*lo&7a7tbRXct?QXHvHCvnS5XH#?D;AKL5v z*RM*{#d4aAa}f5ruM?kzY%acObFuAz%*Em6PZuWUMck7LX($)_Nj^_>N0gSYFfR}CTL!|cb4@&6L4=AdfyMJl2t6k+;B0L?qHIvdfjGKe{bnJCi4%< zXujB0mQ;NK@3xbC;*^VBg`8^pk2%%*NaB!Wth6J^ThNixoa!lGK(4rhA;FwVpH!Mt z$yud2<&qjZ8OmCcuXTY-k_sW@r1Hv~mpq;31xl)186^XXjwMPea7t1EC@ZRBPT{9o z&w5zEer-YT$X zsGt;jzhv$O1lYud0HG$j6g4- zz7>jlOy=Up;=|~)`7XK5)D5x=$)@qT#O)ChL^I#WN;1=h2e{1nhm{Qm@|B@$6BElc zC(kHGhD0mpblg=MY}WoHvCLd>ePUvypA>E0m>6ZAygpIAgPZw}Nm{onl5|d)?u8O3 zDSW1N6Cj6|LNXRoOwvP|K4>gmjm$23i0sTli|JSg7q}2+l7{xclkYW&Jwsun08;e4 zA?109-trBovi4lS3zT0yG{SGheSnSFnSz}P&Ng$@jfs{pe#43cooSxD5x-mb*k)Gn$`cNaj1WNuhHorisaJzRk>1szeJR?yO1%{OV0~4fk>=}Am7TQ`=Qlz zKlI0@ciUh$;z6Q$=*NkxBQ7LRk`9f_#cobjxM9jAiSz0wl-;9!ne@_K(dJaS;-$q@ z?Sx_%tj7BZ6cCbcmDI9L`BH)5PUA7et9CIk5WSW$|!w--cyQ#lkPC{ zJ<^B+v>f3kX+?yrr3re3S$=0?SQyV;uelQy^%I+`S(~f7LJXPOhJRb}FS#(xFNJUy zYp(v==IWphzI+?b{x7+@enVn~Gw6?B*!!ib6^b}Zzj4!wv?5Da)DQk+$-Vg`*G;ad zgU;BYWcBt}T^>&I4;1&4bo$GkSxlDocv8c)LMcmk&F`>d&5y%ePpbwfSx9dF(fboM z;Rp$$T$&yqx{dD4aI(S=oU9wRmDYN?*Cba@+HFe^{C0^^ZkU+{dH{MW^vblqcDa$sJ zmi(k%vJukqk;idQ)d5rfrdI0!<`l$R36R(K@C zeD9^iEC)R1wSOgshtXZ0^;0G?=zmkf5FaJwb1g7(f*N<*KBsfts2sgCslQ7vyj;LDS9N7jmJaAm)%_ zhSs6cg$%Rx)x&wSt+W?GD0d`+_{`T!F#QZCgqDKK9r4@2p|HJLMqw5=-{ z%6&MdOEOExwv=@-6L4WGy67KfCcl(8F5(eK?q7-74mc!_U?$~Jed@E)C?w~|C7ClP zmdg&fuMx79u{?{?&``)Crxl9nR#&}mpUng(|MeXTJ$#YIE1UY0M}epP)x?=ixqfBJ`@!Dhv*9vI4koF5N)T{Lf@A{;5^*|lbWatA z2`32sYLydY@&`ze&%co%zE$GRMz8on&0w1#4N|b2bZLfU=h#A2$PnV>3}I3*Lk`yr zfy+vkdgMaR5U;F{nSc*l(Z}o@n<2!(83GQ;5ZK8Xk}1!SBP2tXPRf-F4>+)q9B4Vq zQv`g06hZ$bMf%HA1gW@gTjIf5`>nr)>8F9&aEV0qesM5!u1rA_KR`c3$|4!tKqR zrcPEb|B9ad7H@gCaYEdO$PM#`4SwLn+-PnAB1(JK)+z$X3qs+yP%8ci?anLs8+MztXSw%;G!U9k{7+aot#R z<^Hub!&Rac;9VdZAlR&Ff(C6+6H^xo0GiB^2f##otaRTVgU{UZo!TSl-Z1?Z*sT9e zMV-@wqm{F2N0oEIQS2~CH}}k{y~4q<>3sli=0d~v3u><@f9k+3zfeiR?52m|_ZeSu za*(`^P7e6AWdGqMw}|^L{iIe-OPV{&3S%aa+>JP^_8>Ihk*b}Bcgv8J{2ja2-WiGz z8=c`!4qWi@D4FOH1aI%PCFe((?kl6@K+#d$2s?YM!zS`6u}e+FLOz^mwoI>e zBQ!Ya93*AxXVjkU&>InWGI(SLM)a2$(Wy(2Df}Z5rw_@rtOX-FdE3c+tK99NB%nu< zN8!nQJo5f&_#Hc>-~WFd()*g)>QJS5aNpWv91jx-hV`^igtVIWp4ieFpY+3@{&$hz zjkV*3XoC)b?4=9M3yrncjKB^fmEc}xIWJj=GJ~O|4GQS70Fp4X6##8eK>Bhk@iGj~ zRo@uhbAJ&W-KRIzR*xufz|&NC`mF>=Huvlg722RGyemWn7|oPs8vnLI0jci_0F36y zd&|eSkB}Tct`;A{vM^vO&91V2g+y!g?<+-&Dl@*LE zjB?+O^7sGyDECXX_FW{mzXCTOnmS6ol<{6Jx<+2gx|6cCW1ctXj8%$1PpJ-8p~RS+&0m@r!z7 z?bm_f{uPG1cNOwRhWkKaxF7L4KkMo)x5GXBk&z2wpUMg_{Kfz4Xy41Uuc%$%B(K$h zPWoh^r>>TaO|7*9T^kB1eYG9vzC|h_dyVA;fCsuZD8Ri|0AQ4Xt_=$4u>dfdnZNqR zK%afjHwLb(++f!kzaL1?a~SdOogmX2c~lusl}JXy%$R?$-G4R`2LOi z#@!{uJa=5#FbAt0=8P;K=I$5&eVF%_YE2FbUT);;;Z1%iBoh@#VVFaN9p*sNFmI>~ zW1R3P_sV?L2h(LHcONYC;_<~!@o)}0EHKQ8ui!|u^Dw9J8XV^IS|T3iqwc7k=l&bR zy#IRS2-d01{9B_Wer5CQ9hlhNJ!PfjRpUnR);nrHaZ*3TX#9Qr8ME2P&nA2Cti_A6 zeuTB|owc8ZJJ;y&LW5*M>rxud|~+wa$(- zJ8pb?3bx{9Cn%Wn*SWl<45Rs=-L@YeKDlu!sn2(z@iHjdxG}cg~&6sL}=3`Bw0n;|!Hf^*`d`j#` zuoW{#O=)WsKk5H}&$;)VyHB!D;xKdX`Mu|!d+vMx@0oXI_{=Z=dH{vf#@zx2&oBRG zd$;@f-nPljc+SN?8LFuo-|i`qW$F@Y=+#A+y4gNMUO?WdQbbcvnnI5>{pJ?F#ao3nM-(+da`SO zvb|-rUtxZ2y3?O*pXR@M*e}hypG5WL-B8p0NqeEKYr$9jIL!b~68^gRZNJUF*4%fm zTsI$o?;l%$Bd(k0x~)HLzasbi()0t(1pCwe%3^Y**5yCWC#U`8$$f1*KK-w)I1M8a zX5Axsr_md=qal2Q$a+KO&=Y^xe!t0o36P<6|J;7ln0ysx@qD$~-T15a)||z-{5ijz zX5C&n7|Jm-C#1K$>{ywd9s7AOSPtF)Z2Jn6ub`_Q;J@1c!xf(A<=gT1`W@pBUB2yo zEKMf8qq| z#lP{tQGthl`ag54d~1Q-hDZOa$3t!Jw3nOau6g4ZehRwoo9Ex@B(T6MXEoRrfSKXo zcS}FOGDVrK|0jj_cCl=3p|fz#{rbm+Nk^&E<_>Yr z+@(%_HGOo)<_afmTi)WP<_h&W)!^|rMtH20=<#+q(w8s1!ZOkKrxYeOb(AtcSm>+s z1X3AOm^Ia+FVED$Hh4nMoE=lxpL-vE3w^^jLON22L5n+ZcyU&qMy`JaM$RMenpt>0 zU#8ivV~Q~AOwHKh_VgBda~SMUp|#N2+_`sR)@MHaV-jqiTf~pmX?BEJwi+N#lG`vI zwiSG>$e!^>xZ3!_dvjmHtNX?m2Ai7PlXF_mbvONd+}NR?PADAPG_~s<`7*fh=<^4M z;&WFh6mD$pob7Hc6t*=r)Amev;Mu~-6V1I69-m71&km+Izp?ZP*FLvpwA)w2QPIaI zIKJ`$mZ#-#w}`v-t@ewjPL$L(ljX6}A}Q`48&Z5nNb$=g#m_eX;qPG&DQ=Y$Qatd2 zQ|9a9qa08u$Prt*T6!4|i?4u~2Bi1{B4Dd29f z4oE$NoRLD<;<{!qBx)5Y({(~Xcl&wYZrIW)JS12PWY7-dd_5rW{$ac%ifLKCg zwNJ?)91dIDnxiosHHwf&#SuE>`d$U3d=fqxBA&El5DteeuK%?{Z?_r+i2bgP=Jo-1 z(`$wO`C%MRvSezCV1pYxh{32yK$yoB0knJiApEFvFyhCw6v7rsS2YR{`&T*`z}@t> zI2h*q*7xwVd3Xw8i_cfJ2@LZybp&j;;TJ+%o8dr;R6*sjoA^bCpVds9S>2%jKo5)kG;6#=wclP_W@NJwFvl`)tf zY>;$Uo4~L?)1iRv`W9j+TzHaWCua5zN+6wWQW%3$7?GT7kuJcxNwo5+~+kY6ztY&ZRMI)aoI#`tt@+2HyXBiGd? zFwAQjkih}Belc@>eq1lVmm847DUmHcKf2W>Fzn;XnDda^T>+!aQ;5Xl%xo;27`C{l zmtf(lO<eeWQu zY7`*$MfC)5*FQxvRa4}olu@T6YrX}B+5|?}GY!~oum_IR;_NO;8EkMnr%~@;=NBe6cP!1i^dU^#on8MC#nW@x+TGWh3zIs7bm-Nc zV-6lgy>4Arf_mK$wBWyw*wED=jL#kw4f|gyLcKzRut;;loUU^-C#ZXU&&GZHXgRb2 zacIv)P_xG@OD&A{h{vLnAduuXlsTzPFNw;fnXTU!LVD$3B&r!SH~nw1&}k$K{j$u6 z=~Sc9@=GBdF$&R#Axg7l%&q7QeR>&~59Jfh|9QFo6rRea+Z)!R(B^OvQTJf9BD zxUA4o$k{Hh{!VgNZ!TPjFAeh&uyAeRj-LA0WmGu6zrx@m+kt=Lb+`N4!oxXydd#iA z4#IJC6pjl!cgo4!8?o~U-MHs^=tlGr-8e>dBS2m^_NZ>0rk6&l8;AMWpc@B+Zd|9j zv2%oOR8G{5$_q}}c{;*JD*e*O#|RW}anC1lsF)kHT2(>V40Ks4yaVa}nPSJtI- z$QJk5jaZ2^Y0S5ZJSSRoqkVtOo~u#_Tjac=M$wN86au*D#yYyniT0Y5!3Mt%t4Tyu z1z~^|-8j4`AfCA`k)CW2*{C*wVLqmAfGx7II_jRV5?)OqY;ik(ORc6>fnv{;`LLji zY_#YrgE^Q%{Bk11pRLsp2(^1>J-8jpRH;W8B3G_wy4HoGGsLCQwCdP6I7!BG3V%D0H%~rsv8=;d3k+hxMueY*CJts2ok2@oaE~hoBtQCNS((I=y!exMdF&UhpLy z$&l_8QR4-Umq}_85z90jK)XE^#I(kVk$Ak3jfE4#7C9HGQG{HqegH1YvBIE=C!5ot zvPC9FjRM4+rx3tJIT{>K7T$}QBb;0|h;US!$XKfkuqhmI6^z3PGzogI4J{ zO{HT{4=Z#xzZj2=(s4_Wj(4Sdx>18LLVJERl)`5w9VcZ@cFjr=_es@5NU-vl}i3$hJ^{+)zmeD5DcwuJ5RA2*@ z3Hg>Q}J=teYhngla72k)b#gWIv(cr-vW2uvxW0< z+fhUH@HojcIN<;0FH5V3P=P1p4LXSoG$I4>4YyJu?-%)JPto$>ILJRZSm9%X475Q8 zUam5*JC%V(IY9;nUhv9Xssn%KHVMG<*<&alUMTM*bUpvWL~g zSGaD>-p(Btr4v%&gsgdvJ1cE4tiZ6JkmqD;{jfRA>SZa!pg~R&Y7-ddPn7|-mJiWY z7w1P)NR<$Od8tMLV*lkf?-(7@0%8sj*^D-%kP2Ev393&af{qsZC(m2X$KnTg!*&D$90t#^7MA&yu4HbEXEP05MnTXaE-} zSfdn_4JkijS5qn2+pR_cV%O_v9t`C}jz%VUZRQChGE7f={ZMTpW3xH}w$={`kqN#e zh13c0YD0|z#9XhA0Iu~z=BtcmT?#43d{v_e8Bhq|T0kU3hI4resSx5Th-wrd_ES0> zz@>tSo-#LAqzFrdAB>s=g!%PtavlL%3W#(=#&TuKsFC4wL~R1Yep$x?wpI|CtTL7x zG6<8T5;Ipey#{#&N5VNIsO~&vE&!y)bQJcW9RviIbONi(y0l7M57&3f7)Fv|S z*GnI;wSq`TBqHlmNSP2X1l1@&%%7-c0et&6p(UB_5|7boy4$D&)g&P7zsbbd`?Z2t z&Mr5uNM#ROLs{;o&c^T#5gmXQier?zj#uUi1=sm!vHM>M7kkM_v0y|PB*+VR-3>ux@*!M zEg)u-yE%o_IJr_mgq7QMba7HM9;JXtD~Z6hsnsy8;_be9Fq*%OQlKs3o5%}0*KG7qIN<;62o+dZRD=qI4ewdKs+GoYp~e^X&28$<;UC){Y@6;( zKMKTU-d4w-e8gvXTb5uv?8}lQKVXB#rFOh%L7GF`1h`q}*LLA~x-U;0%J z(a;myEomOrnMePyxY*l63rs*HOpxdFOSEfkbWGqcrVzHscA-WQ@*Wuk-Jy8hpBob$ zx#qF#Itt@AXz?dDH3^1RJPaA;i@vKL5I9@HJlka;eIBa8MesGs7+*iM>le?MY)!<>HTa5@tYqZC}Kjos#T;M($RoU z=_*^foaCC)t-P+v6-7)n3J}w*nf4u(u2p&>VYQhjj0sz`h^a;aVp|jfxM){PiUj2g zDTOT(6g3JE(Lms)BQ7`8(l0b8VNosP(GzMMkXB0I4f1&EoX zjsPxI%rX~_jAmn+Cu|YDr$zx{7i-c3E>+A5Au>CgQV3flBx)2O=DnKqfQx#qXDjEc z8H9Pl7D;+F3J^O@V*9mO*^l6XK<(8U={yQ%?XF`C7|ja(xP6i^N2YBIFUh zU;|wA>u?s6Eh&U8Zr^D*5vWms*ef^6DH?DVGJV!dmgLf;A7;|~cfi#oAk67Hm`AjZ z$qOyXku_Cyd)u1{-A2s7++NPyDc8OBK^{S|lLXr4Y7A zK-4HeY}h#g7x`LYL|ihAv{MZEuQgL*xG#GbAOaeNm>Ln&fXz4GqO zW4@O8;AJm6Hf-hQBYI>2a`rVsrxchzd3N5Vs7PNBay`6 zq=s2Ro5ug^nH95%En37B{fhe|M+mJTfEYIsu+|IMBg|nXZ$9S-19&$Q?&r;A5Y1{>sbp*E3mk21g(O;{ZVM`UOFK?-4u zibA!Dls{Jr=pqVDtM_D5Q|UZEa9$kvJqfRCHB)T@!#=DGutgJ=(N}Z+!i?fq3Mu|9 ztVRK1J}PlGfJ-^kiX*t=?&6F=PuQTMP>lk_UZLp%xEF<%Gb|x_APosycq%`#JDp$q zgla;dMHAN0Q>Nw{8G>VBgGxd*3VxVt)DQThH$!GOcO6P^?ke-v|6 z64p5wIVV4udBTXWMXH%<6By=`!k|N<2u)11hf)R`Bw5uaFzh8Vz4V8IaDNUx)sJtb zj0#%(^^2NB#5I~BKvNG2LgwY$DWXa@d|^gy0>f-pH^3G-Sfd}Zvpt$Z*dk+5qX_v+ zg#a#caF`GY>UUBITLhv;0b)O^qXAsxV3qkU!?`HSRptm=B;VC2K+LBU0=URQi$yAV z_M_AhHi#o?6Bu@@js|Q|gJqrqBqT#Age@Xn)F?t8(}V|H)L?}W3CUwAge_9dRHFbf z@7(537W7Eo);3Idfs9J^AY0^pZ8eIJztG`4ruEE9yzuyZst4I1@<&Yq!d|CQ1zO6P z6;6%#u_~P!w#d||QGl4+6au&i!a9>g=J&g4MA#y8qec<(2^|dJq6lkQSf5BCY>{)k z8U={GLp=dpB%wi9Ns{lU3^vHRQJcsJTPN6}2#4v2jONEFge@#+_U2$DML5tz5!N%S z^Rhttvk$GLpo#5SCE@CzP48oToebg?N;$8H%vqb-j#zeK4rP?~T~k z)hLY7d?*+XNlgB;c%9gHnU;ALAXo>;c~4IsvsO5AqY1FL3p(a!jne`Lghq3sJ!5nS*_vUrt@}YQSQXXW4OmL zh{2zyNfS)tOkNFyWSlP#az^CT*>p>yeCnK$sS`>NgEVQ(o@><`c%}8hwn%ABDK)gn z30RGyAD>qU;8GtP9}=oPMHn>5c|uJB!tM}+1zPKa=&EacY6__n;y)XsMgd~Js(t{j z^}z|jk(nvOqCvHw8b!z%Iv;>*eGq*$uCp?VUmv7!ee|eNfY`O_3E)y6Y!8lButlVx+C;_% zbp&iJ4#v@pOBt37U*=Goz%ZNC53sd1m^spxLWT+P_hG0}gltg=;949cMCN9E3aJy~ z3qNWUAod0w4d7ZFWX8+-Eu@e#Gu{tJjUwb!Nmc{676%EDxE51LB|_9FLcXBG0bGlN z%y=2jkr{+(QfJ2V>Zepe;A*UAIarkgd-k_&s+F=>OXFL%;Th$~W>}M1Kw3Y_5 zh;*lrS{#fT1&En0DNld2G?+!CCxr|X;!A^S6d?9$y>J0s?{Q?xOGMsIQ@+BK_r*aq z3J|L6!Ernfg63}r(n$Ii_ zt$(~Qskviz)}xQ1j#6;BN{dkmM%gg=8V$AGO zvqzcx6A6fCDgp0bRl-}_=cxjG^hzke_NV|Cc3vb21_%7#mJtFFpN&2tZ_!BvU_k{S zar|)f2Sxaq4{1fPO)G+YY^VrUg8*Ew0`SyS09xe)0T_6}D|^09)dsz6y(xPPcQ>xm zyBjY~(r)n2iJO*S}>z&{fV+qdp%+ zwOWIN6MXG}`!?Pi&fCn7T*lx!VT&&W_5`B)$ zu*Iu`ZncSwqjWF4py-yB;YbZVWi0Q>5F85|y!z|0Y7-f2)Q?rz*YVbHzJ~oy7;mH- zAsh7bEou`O=2B%GrQ)w1{WvM}gYjU4e`mNS*hEHE8EcB}se|ytWJ&fXDTFPOsA>}! z_DW%Z?GAqnA3H!t8Oq5ip@IhPVBKmE0qYe|#YyWO0cesgObJ!`zzwWhO(J5p=GT=t znd0-%`5Joaye>)^Y;gy^TsU%ym;{8mK@sbVt{oqT&JUxbjN_D)zy^tgngoQMuZY47ekT&vMBMqmuf;7V$%E0>d7!e#}RO7@uj$ zm&uSUKRsozMY3FN0>kubmd_h-PvJ8y`3ibUI2NY}Hh8_)ttJ6sFPDu2?zlq_VqU5C zopp^s`e_pBoM}!5pM93z>6ET2@EqwqXD+o{x~fHX-cQ1!fEkx zPmLmEfkFV++8;AaAg89D)I)yss8N8}V|6ruYwa%v_3V^ULxWd)Y7!9(6#=wX{?JqN zwCIas+xD+-fxplRtZJM=lJRh?EW{pHL} z14Fm+!_b{wqqA63?-^{z`jM6o>AS(Y$J?8AkYB)K6nwLr<^;W09kGFH|2V$SL^~<_ zL2LN3-!Uu4WIp(^AA2@z-1c+w93Fh{R_eX6Y5&k3k3rMjp10W`B|i*+A7<$ZDk!KQL|63Y%{V^w-WJt+ca6Gh zl-Y13zUl&B)F*EP;~DkdDNRG?>@NLsg8A8g|LrrcxEagx$GMe1FJ07Bq;@-ZX!_*V zS@~_tr;M+hB|k1yTZ%__&M!&}+}r=xY~0{4N?XQP9+x{9{iC0y@hkPl!8*SiT@=*L zNlp1N{Tz&XhJWJwOmFZLqMqTIDp7xAIezxvHOwSB{DQ`;>N#F`rx$iQs^?QU4(KYyM&iQ z7kjo)ys3MIUBXMDOI^EoQ}>bIpi6iubg3}B@XedLe`J^NQt0Am0A0MPTUbYz@KWf) z!1B+Vx`)xF#WcU*zoG1qyZO&XALr)3h&eusb9}Zdyj*IT^}uScy;lB_#~*?ABe$)m zsiP%ydDlHMscG`O+N$0D21S2B_QL-!zvAQmF4V{I@5Xjc#3x<*OQlK8bEdm%ep~v= zk*lv?yXmUq)^6IgZu6$&E?K+jic62Wany>HNDOqY|NUxdVrw{lG%EiXUk>?u7?m51xXi~6!b!Sy)9*_Uka)mlZ0(=={P5c*vZo3wD?1;8H+=3UgUL#IeVS4me&o2 zyl7m<1384v9X_sOT8=^RuVDQ03Ww%j!KmD~aW2eD$gon|LeBfpwBa21`4w#)Lo3=k H?SKA1pO0vQ delta 142010 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�s&ZX0%Tbuqu#$sJjd`S6Ya&011?~qNX~_ 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 X(s%;tphWqurmIu$vcV(XdgK29rda#d diff --git a/examples/bevy_gltf_components/basic_wasm/index.html b/examples/bevy_gltf_components/basic/index.html similarity index 100% rename from examples/bevy_gltf_components/basic_wasm/index.html rename to examples/bevy_gltf_components/basic/index.html diff --git a/examples/bevy_gltf_components/basic/src/core/camera/camera_replace_proxies.rs b/examples/bevy_gltf_components/basic/src/core/camera/camera_replace_proxies.rs deleted file mode 100644 index 9055c95..0000000 --- a/examples/bevy_gltf_components/basic/src/core/camera/camera_replace_proxies.rs +++ /dev/null @@ -1,24 +0,0 @@ -use bevy::core_pipeline::bloom::{BloomCompositeMode, BloomSettings}; -use bevy::core_pipeline::tonemapping::{DebandDither, Tonemapping}; -use bevy::prelude::*; - -use super::CameraTrackingOffset; - -pub fn camera_replace_proxies( - mut commands: Commands, - mut added_cameras: Query<(Entity, &mut Camera), (Added, With)>, -) { - for (entity, mut camera) in added_cameras.iter_mut() { - info!("detected added camera, updating proxy"); - camera.hdr = true; - commands - .entity(entity) - .insert(DebandDither::Enabled) - .insert(Tonemapping::BlenderFilmic) - .insert(BloomSettings { - intensity: 0.01, - composite_mode: BloomCompositeMode::Additive, - ..default() - }); - } -} diff --git a/examples/bevy_gltf_components/basic/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_components/basic/src/core/camera/camera_tracking.rs deleted file mode 100644 index 62da84d..0000000 --- a/examples/bevy_gltf_components/basic/src/core/camera/camera_tracking.rs +++ /dev/null @@ -1,58 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Debug)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -/// -pub struct CameraTracking { - pub offset: Vec3, -} -impl Default for CameraTracking { - fn default() -> Self { - CameraTracking { - offset: Vec3::new(0.0, 6.0, 8.0), - } - } -} - -#[derive(Component, Reflect, Debug, Deref, DerefMut)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -pub struct CameraTrackingOffset(Vec3); -impl Default for CameraTrackingOffset { - fn default() -> Self { - CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) - } -} - -impl CameraTrackingOffset { - fn new(input: Vec3) -> Self { - CameraTrackingOffset(input) - } -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Add this component to an entity if you want it to be tracked by a Camera -pub struct CameraTrackable; - -pub fn camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, With>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - let target_position = tracked_transform.translation + tracking_offset.0; - let eased_position = camera_transform.translation.lerp(target_position, 0.1); - camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} diff --git a/examples/bevy_gltf_components/basic/src/core/camera/mod.rs b/examples/bevy_gltf_components/basic/src/core/camera/mod.rs deleted file mode 100644 index 9cc4bf3..0000000 --- a/examples/bevy_gltf_components/basic/src/core/camera/mod.rs +++ /dev/null @@ -1,17 +0,0 @@ -pub mod camera_tracking; -pub use camera_tracking::*; - -pub mod camera_replace_proxies; -pub use camera_replace_proxies::*; - -use bevy::prelude::*; - -pub struct CameraPlugin; -impl Plugin for CameraPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .add_systems(Update, (camera_replace_proxies, camera_track)); - } -} diff --git a/examples/bevy_gltf_components/basic/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_gltf_components/basic/src/core/lighting/lighting_replace_proxies.rs deleted file mode 100644 index 48c0908..0000000 --- a/examples/bevy_gltf_components/basic/src/core/lighting/lighting_replace_proxies.rs +++ /dev/null @@ -1,25 +0,0 @@ -use bevy::prelude::*; - -use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; - -// fixme might be too specific to might needs, should it be moved out ? also these are all for lights, not models -pub fn lighting_replace_proxies( - mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, - mut added_spotlights: Query<&mut SpotLight, Added>, - mut commands: Commands, -) { - for (entity, mut light) in added_dirights.iter_mut() { - light.illuminance *= 5.0; - light.shadows_enabled = true; - let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { - first_cascade_far_bound: 15.0, - maximum_distance: 135.0, - ..default() - } - .into(); - commands.entity(entity).insert(shadow_config); - } - for mut light in added_spotlights.iter_mut() { - light.shadows_enabled = true; - } -} diff --git a/examples/bevy_gltf_components/basic/src/core/lighting/mod.rs b/examples/bevy_gltf_components/basic/src/core/lighting/mod.rs deleted file mode 100644 index c9688cd..0000000 --- a/examples/bevy_gltf_components/basic/src/core/lighting/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod lighting_replace_proxies; -use lighting_replace_proxies::*; - -use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; -use bevy::prelude::*; - -pub struct LightingPlugin; -impl Plugin for LightingPlugin { - fn build(&self, app: &mut App) { - app - .insert_resource(DirectionalLightShadowMap { size: 4096 }) - // FIXME: adding these since they are missing - .register_type::() - - .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely - ; - } -} diff --git a/examples/bevy_gltf_components/basic/src/core/physics/controls.rs b/examples/bevy_gltf_components/basic/src/core/physics/controls.rs deleted file mode 100644 index 8ee2b95..0000000 --- a/examples/bevy_gltf_components/basic/src/core/physics/controls.rs +++ /dev/null @@ -1,10 +0,0 @@ -use bevy::prelude::ResMut; -use bevy_rapier3d::prelude::RapierConfiguration; - -pub fn pause_physics(mut physics_config: ResMut) { - physics_config.physics_pipeline_active = false; -} - -pub fn resume_physics(mut physics_config: ResMut) { - physics_config.physics_pipeline_active = true; -} diff --git a/examples/bevy_gltf_components/basic/src/core/physics/mod.rs b/examples/bevy_gltf_components/basic/src/core/physics/mod.rs deleted file mode 100644 index 4b4b98b..0000000 --- a/examples/bevy_gltf_components/basic/src/core/physics/mod.rs +++ /dev/null @@ -1,27 +0,0 @@ -pub mod physics_replace_proxies; -pub use physics_replace_proxies::*; - -pub mod utils; - -pub mod controls; -pub use controls::*; - -use bevy::prelude::*; -// use crate::Collider; -pub struct PhysicsPlugin; -impl Plugin for PhysicsPlugin { - fn build(&self, app: &mut App) { - app - .register_type::() - .register_type::() - - // find a way to make serde's stuff serializable - // .register_type::() - //bevy_rapier3d::dynamics::CoefficientCombineRule - - .add_systems(Update, physics_replace_proxies) - //.add_system(pause_physics.in_schedule(OnEnter(GameState::InMenu))) - //.add_system(resume_physics.in_schedule(OnEnter(GameState::InGame))) - ; - } -} diff --git a/examples/bevy_gltf_components/basic/src/core/physics/physics_replace_proxies.rs b/examples/bevy_gltf_components/basic/src/core/physics/physics_replace_proxies.rs deleted file mode 100644 index 37edfe5..0000000 --- a/examples/bevy_gltf_components/basic/src/core/physics/physics_replace_proxies.rs +++ /dev/null @@ -1,101 +0,0 @@ -use bevy::prelude::*; -// use bevy::render::primitives::Aabb; -use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::prelude::{ActiveCollisionTypes, ActiveEvents, ComputedColliderShape}; - -use super::utils::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum Collider { - Ball(f32), - Cuboid(Vec3), - Capsule(Vec3, Vec3, f32), - #[default] - Mesh, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum AutoAABBCollider { - #[default] - Cuboid, - Ball, - Capsule, -} - -// replaces all physics stand-ins with the actual rapier types -pub fn physics_replace_proxies( - meshes: Res>, - mesh_handles: Query<&Handle>, - mut proxy_colliders: Query< - (Entity, &Collider, &Name, &mut Visibility), - (Without, Added), - >, - // needed for tri meshes - children: Query<&Children>, - - mut commands: Commands, -) { - for proxy_colider in proxy_colliders.iter_mut() { - let (entity, collider_proxy, name, mut visibility) = proxy_colider; - // we hide the collider meshes: perhaps they should be removed altogether once processed ? - if name.ends_with("_collider") || name.ends_with("_sensor") { - *visibility = Visibility::Hidden; - } - - let mut rapier_collider: RapierCollider; - match collider_proxy { - Collider::Ball(radius) => { - println!("proxy: ball"); - rapier_collider = RapierCollider::ball(*radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Cuboid(size) => { - println!("proxy: cuboid"); - rapier_collider = RapierCollider::cuboid(size.x, size.y, size.z); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Capsule(a, b, radius) => { - println!("proxy: capsule"); - rapier_collider = RapierCollider::capsule(*a, *b, *radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Mesh => { - println!("proxy: mesh"); - for (_, collider_mesh) in - Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) - { - rapier_collider = RapierCollider::from_bevy_mesh( - collider_mesh, - &ComputedColliderShape::TriMesh, - ) - .unwrap(); - commands - .entity(entity) - .insert(rapier_collider) - // FIXME: this is just for demo purposes !!! - .insert( - ActiveCollisionTypes::default() - | ActiveCollisionTypes::KINEMATIC_STATIC - | ActiveCollisionTypes::STATIC_STATIC - | ActiveCollisionTypes::DYNAMIC_STATIC, - ) - .insert(ActiveEvents::COLLISION_EVENTS); - // .insert(ActiveEvents::COLLISION_EVENTS) - // break; - // RapierCollider::convex_hull(points) - } - } - } - } -} diff --git a/examples/bevy_gltf_components/basic/src/core/physics/utils.rs b/examples/bevy_gltf_components/basic/src/core/physics/utils.rs deleted file mode 100644 index 7886710..0000000 --- a/examples/bevy_gltf_components/basic/src/core/physics/utils.rs +++ /dev/null @@ -1,175 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs - -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - -pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - parent: Entity, - children: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)>; -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - parent: Entity, - children_query: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)> { - if let Ok(children) = children_query.get(parent) { - let mut result: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .map(|(entity, mesh_handle)| { - ( - entity, - meshes - .get(mesh_handle) - .expect("Failed to get mesh from handle"), - ) - }) - .map(|(entity, mesh)| { - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (entity, mesh) - }) - .collect(); - let mut inner_result = children - .iter() - .flat_map(|entity| { - Self::search_in_children(*entity, children_query, meshes, mesh_handles) - }) - .collect(); - result.append(&mut inner_result); - result - } else { - Vec::new() - } - } -} - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} diff --git a/examples/bevy_gltf_components/basic/src/core/physics/utils_old.rs b/examples/bevy_gltf_components/basic/src/core/physics/utils_old.rs deleted file mode 100644 index c210dd3..0000000 --- a/examples/bevy_gltf_components/basic/src/core/physics/utils_old.rs +++ /dev/null @@ -1,75 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/6e31fc02652fc9d085a4adde0a73ab007dbbb0dc/src/util/trait_extension.rs - -pub trait Vec3Ext { - #[allow(clippy::wrong_self_convention)] // Because [`Vec3`] is [`Copy`] - fn is_approx_zero(self) -> bool; - fn x0z(self) -> Vec3; -} -impl Vec3Ext for Vec3 { - fn is_approx_zero(self) -> bool { - [self.x, self.y, self.z].iter().all(|&x| x.abs() < 1e-5) - } - fn x0z(self) -> Vec3 { - Vec3::new(self.x, 0., self.z) - } -} - -pub trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - children: &'a Children, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> (Entity, &'a Mesh); -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for attribute in [Mesh::ATTRIBUTE_POSITION, Mesh::ATTRIBUTE_NORMAL] { - for coords in self.read_coords_mut(attribute.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - match self.attribute_mut(id).unwrap() { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - children: &'a Children, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> (Entity, &'a Mesh) { - let entity_handles: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .collect(); - assert_eq!( - entity_handles.len(), - 1, - "Collider must contain exactly one mesh, but found {}", - entity_handles.len() - ); - let (entity, mesh_handle) = entity_handles.first().unwrap(); - let mesh = meshes.get(mesh_handle).unwrap(); - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (*entity, mesh) - } -} diff --git a/examples/bevy_gltf_components/basic/src/core/relationships/mod.rs b/examples/bevy_gltf_components/basic/src/core/relationships/mod.rs deleted file mode 100644 index 4128453..0000000 --- a/examples/bevy_gltf_components/basic/src/core/relationships/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub mod relationships_insert_dependant_components; -pub use relationships_insert_dependant_components::*; - -use bevy::prelude::*; - -pub struct EcsRelationshipsPlugin; -impl Plugin for EcsRelationshipsPlugin { - fn build(&self, app: &mut App) { - app; - } -} diff --git a/examples/bevy_gltf_components/basic/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_gltf_components/basic/src/core/relationships/relationships_insert_dependant_components.rs deleted file mode 100644 index 4e9ad17..0000000 --- a/examples/bevy_gltf_components/basic/src/core/relationships/relationships_insert_dependant_components.rs +++ /dev/null @@ -1,15 +0,0 @@ -use bevy::prelude::*; - -pub fn insert_dependant_component< - Dependant: Component, - Dependency: Component + std::default::Default, ->( - mut commands: Commands, - entities_without_depency: Query<(Entity, &Name), (With, Without)>, -) { - for (entity, name) in entities_without_depency.iter() { - let name = name.clone().to_string(); - commands.entity(entity).insert(Dependency::default()); - warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); - } -} diff --git a/examples/bevy_gltf_components/basic/src/game.rs b/examples/bevy_gltf_components/basic/src/game.rs deleted file mode 100644 index e62d5cc..0000000 --- a/examples/bevy_gltf_components/basic/src/game.rs +++ /dev/null @@ -1,102 +0,0 @@ -use crate::insert_dependant_component; -use bevy::prelude::*; -use bevy_rapier3d::prelude::*; - -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Pickable; - -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} - -// collision tests/debug -pub fn test_collision_events( - mut collision_events: EventReader, - mut contact_force_events: EventReader, -) { - for collision_event in collision_events.read() { - println!("collision"); - match collision_event { - CollisionEvent::Started(_entity1, _entity2, _) => { - println!("collision started") - } - CollisionEvent::Stopped(_entity1, _entity2, _) => { - println!("collision ended") - } - } - } - - for contact_force_event in contact_force_events.read() { - println!("Received contact force event: {:?}", contact_force_event); - } -} - -pub struct DemoPlugin; -impl Plugin for DemoPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .register_type::() - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) - .add_systems( - Update, - ( - insert_dependant_component::, - player_move_demo, //.run_if(in_state(AppState::Running)), - test_collision_events, - ), - ); - } -} diff --git a/examples/bevy_gltf_components/basic/src/main.rs b/examples/bevy_gltf_components/basic/src/main.rs index 8827730..39035d3 100644 --- a/examples/bevy_gltf_components/basic/src/main.rs +++ b/examples/bevy_gltf_components/basic/src/main.rs @@ -1,13 +1,7 @@ use bevy::{gltf::Gltf, prelude::*}; use bevy_editor_pls::prelude::*; use bevy_gltf_components::ComponentsFromGltfPlugin; -use bevy_rapier3d::prelude::*; - -mod core; -use crate::core::*; - -mod game; -use game::*; +use bevy_gltf_worlflow_examples_common::CorePlugin; mod test_components; use test_components::*; @@ -24,27 +18,6 @@ enum AppState { Running, } -fn main() { - App::new() - .add_plugins(( - DefaultPlugins.set(AssetPlugin::default()), - // editor - EditorPlugin::default(), - // physics - RapierPhysicsPlugin::::default(), - RapierDebugRenderPlugin::default(), - // our custom plugins - ComponentsFromGltfPlugin::default(), - CorePlugin, // reusable plugins - DemoPlugin, // specific to our game - ComponentsTestPlugin, // Showcases different type of components /structs - )) - .add_state::() - .add_systems(Startup, setup) - .add_systems(Update, (spawn_level.run_if(in_state(AppState::Loading)),)) - .run(); -} - #[derive(Resource)] pub struct MyGltf(pub Handle); @@ -64,24 +37,39 @@ fn spawn_level( models: Res>, ) { if let Some(asset_event) = asset_event_reader.read().next() { - match asset_event { - AssetEvent::Added { id } => { - 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); - } + 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 + )) + .add_state::() + .add_systems(Startup, setup) + .add_systems(Update, (spawn_level.run_if(in_state(AppState::Loading)),)) + .run(); +} diff --git a/examples/bevy_gltf_components/basic/src/test_components.rs b/examples/bevy_gltf_components/basic/src/test_components.rs index d0e6fbd..b5384e2 100644 --- a/examples/bevy_gltf_components/basic/src/test_components.rs +++ b/examples/bevy_gltf_components/basic/src/test_components.rs @@ -6,39 +6,39 @@ struct UnitTest; #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestF32(f32); +struct TupleTestF32(f32); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestU64(u64); +struct TupleTestU64(u64); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -pub struct TuppleTestStr(String); +pub struct TupleTestStr(String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTest2(f32, u64, String); +struct TupleTest2(f32, u64, String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestBool(bool); +struct TupleTestBool(bool); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec2(Vec2); +struct TupleVec2(Vec2); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec3(Vec3); +struct TupleVec3(Vec3); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec(Vec); +struct TupleVec(Vec); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestColor(Color); +struct TupleTestColor(Color); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] @@ -65,16 +65,16 @@ 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::() + .register_type::() .register_type::>(); } } diff --git a/examples/bevy_gltf_components/basic_wasm/.rustc_info.json b/examples/bevy_gltf_components/basic_wasm/.rustc_info.json deleted file mode 100644 index 613ed5e..0000000 --- a/examples/bevy_gltf_components/basic_wasm/.rustc_info.json +++ /dev/null @@ -1 +0,0 @@ -{"rustc_fingerprint":14672523188090023269,"outputs":{"4614504638168534921":{"success":true,"status":"","code":0,"stdout":"rustc 1.70.0 (90c541806 2023-05-31)\nbinary: rustc\ncommit-hash: 90c541806f23a127002de5b4038be731ba1458ca\ncommit-date: 2023-05-31\nhost: x86_64-unknown-linux-gnu\nrelease: 1.70.0\nLLVM version: 16.0.2\n","stderr":""}},"successes":{}} \ No newline at end of file diff --git a/examples/bevy_gltf_components/basic_wasm/Cargo.toml b/examples/bevy_gltf_components/basic_wasm/Cargo.toml deleted file mode 100644 index c3b823f..0000000 --- a/examples/bevy_gltf_components/basic_wasm/Cargo.toml +++ /dev/null @@ -1,27 +0,0 @@ -[package] -name = "bevy_gltf_components_basic_wasm_example" -version = "0.3.0" -edition = "2021" -license = "MIT OR Apache-2.0" - -[dependencies] -bevy="0.12" -bevy_gltf_components = { path = "../../../crates/bevy_gltf_components" } -bevy_rapier3d = { version = "0.23.0", features = [ "serde-serialize", "debug-render-3d", "enhanced-determinism"] } -bevy_editor_pls = { version = "0.6" } - -[profile.wasm-release] -# Use release profile as default values -inherits = "release" - -# Optimize with size in mind, also try "s", sometimes it is better. -# This doesn't increase compilation times compared to -O3, great improvements -opt-level = "z" - -# Do a second optimization pass removing duplicate or unused code from dependencies. -# Slows compile times, marginal improvements -lto = "fat" - -# When building crates, optimize larger chunks at a time -# Slows compile times, marginal improvements -codegen-units = 1 \ No newline at end of file diff --git a/examples/bevy_gltf_components/basic_wasm/README.md b/examples/bevy_gltf_components/basic_wasm/README.md deleted file mode 100644 index f370400..0000000 --- a/examples/bevy_gltf_components/basic_wasm/README.md +++ /dev/null @@ -1,37 +0,0 @@ - -# Basic bevy_gltf_components wasm demo - -## 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 - - -## 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_wasm/assets/basic.blend b/examples/bevy_gltf_components/basic_wasm/assets/basic.blend deleted file mode 100644 index 593df09150756a8cc614846005b1294e0ef744d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1371844 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

Sm zWISEvj(0B3tdVU0K1;Uc&5m3@e`(6!CpXuI(uUVk_sO{rWqu0Zhe{PW=6<=0Ba5rV zIu}Pa267EQOU0G<{3Y$ZgBI_XyZEtqid^R6$;Fv9 z;eB7cQ%_#}8nP{KcH}yq68U&axi*k1za@O!Ge5O?+;j0`@sxOv`}-~~&a4S99#SvM zb@S6Dla@|8n{(TpVAB(5Nc6Z;v#hEqX z#X~3WK~YDx<;{+^?n9Ygd(#8?zk{C9Rn0@f@nn8#^FEY|pJY6(a_3KOp0dWgcz6T; zeU}6I>pUCcP+I=C)bWn%Jo8g~uk#Wvj*@Y8jhm-jyjf%Z-#_U5iFvl=%?>;6Mx(Mb@}@a&cx&`0t?MO^$O%f?dBDF=-e7;<6?_{-^I>9-TA3q7uoreedmw& zwBu^mz6aUb-*;J5u&5w%^yLv9`ui>c{r}J2n?Of#WNU-fi=nhjNJwHAViN)bVh6Jb zj6onavsoB$xg?dOGLlNJDhUZ=BMdfW8}CaC?{07MzVC~?blY^d?Y51L1qOt$=Rdsp zXXf<$=gge<-v8#mb8kf4%FIHgDpeN$^ysC|NkwF4MBE!UzPR_sQW-scw^JtyD;h=u z15@*h2c(WE9*~k(JRoUU@qmPEyapGCNgkKS1G6RUv{poy&m60+jT%g`%7f}HK2!r<+nK-QHVkh$dp7_{LX7_{b9 z$XMPE84DkRjOhnq(0Dgw=52=T(d!{Oqo8%5Nj_4imA4M5`U_-N{}l#T{S~rYe}T;M zFJX}5Pmrau4bW$yiuTG$M!Bd>t;VXLt%)<9DF zgw|*}!l=d{AaBoc$iLwPjNSV)jNf|#3T`+K1$#PS!tS47+^!!X-+vTFHGB)hP!73> zkF2Zz4Cz}tAa%pLkh1b+NLlz!)nMHwFcWEv)6uMA2F*q|9Ygm z?<5r5coHV6zx3@Q}+A>h0Q<0IRE#M=lMGfyXGs%sXPLMR6C@s zeFIXKJu768GI1BAjMxlm!%DFoR>Pnnmvrck);epdI_2$zs>)>g)Byb8A zGb8hK^CAW3Ks@uC@!=0yL^Bt$)^4m_r%7Z6h z@xD%&b=@(T+;kMiVmpi=8B}1uL>#1UdLNQYUxVZ&PeSs{J0N-NPDmNLR>&X|WssZ^ z9tV^5pMt4@E|`7m8CY`r8CZAs8Mx~HGvIDJ19fd(P<{U?*mlQBSaa|=ENcA;rnme6 z1tf#ouVEvYb;Hs-yJ6#f zXW^QM&cgnue}Vg7{skU<^%uDN`EI!W(bM3%=Vw@pGFW)SF_?;NFb;7z!u>bM#=e+- zCeJ8pO1B4cGp?B;{LPH@aQja z+w;G`V{iTnPrdysJow64IPk|VxaPi-upw|97VkX<({>$&@j48UUQXWd9wcEuOj`IT zBuzPh^tU7Zm8c6=L3+--9_yc$Kc{#$(!T`hUyAkLg7oVj`2_;)zre$<{|Zka4}W<1 zEZq1+7r2rB<1)8~Z@I zo<7z;ams$AzZFt)OR)V{A^yg<_9TCLHc8Q6d`CBw+K{egI1v( z2(JT2T;^$AaOeyyLi$VbT6tGDY`CWzw%vCI9QSp>w!2TmhC?S|`OT<@T03Ft?qe{X zbaDOPVMxv2AQNq3D(Yc@zZEY?{7-CwIt|NjMLl@)Ntk!z37B^MPcRYnaK86@7>+tH8~uX}$DbkPijN@)ZDG=~cI^N6 zLee;okbU~F5=ibv_RPbW<(}5ncbzl&AGTOnU)vrSm>c6C-TOoPm4y^lf7(8-S#JV#N%j%!)xEl4| z=DWLK#UZ30I1RIr_LO};!(^mA9_`?0w8bN^?&PBkM%ibe>{C?RCzJk1KOlM19@M>P zdxo!wnl|%rRdajCp2yBW%>!L<`R!Y#$XTy9^&rUUIAe|Yf>v_3|C?q?{u={U^20c~IN z52D?N)ndD&-p$6kXJXyc&?n6(c>&TcISgqN8X#-rYDmc}jEOe$dEn4<9eWP8cii{f zDQJA)IBYq142t(0g(Ba#FroG<$gBDihFtY247uWc$XW9WWEDROgNyb-?zruJmO0Z5 z4JS{TQ@roiXF3{gc(UV$wqtPh&ELU_=C5IP-4U2n`8kZ;_92YA{52SU*%L5q)_zFM znQN-fq4f3ldE;jmudX=UF@Ng=9T%^=yJO6XLmeX)?eEAKyZ(aF)YG@(@s$9d(-9bH z=9~_X*I8ffvdxY!Zv$xpCJujnIo~DpoDTa`xj&29n7i&@21YU8vRI^#c7jEBP6yNb zXF8|D9*1^dd|jw>I_$*~zkww(EJ?gWd>5BPZodl^^88&O+&LXpeLSaQsPUW*t{<;! zb3M5}_6oIr_TxSBe2!m@p><9NOUfAP*R|=K4*QkroQ_}LH=NVK^5yjcyI0EFSQ_qQ zar#_&G48RWvdrdZej@GLsqNig2 zg@WYKY<{h#@%^1bjfE#ow7OVlwGmG&rw}|ze-+OLOFwC{)naW8Mm&`$IWe9nWsm1{DEu&<>?b6i7-vku>^U1|^D`fe zr+ED?@0^7vO|-gLXOj_6EGNd3w0Aw6)1mOgcnWkY{iJZlB+Q<(VKzVW5%+yzzqj-g z%T^!eHfwki`@)o*qTLt9I11v*rTi#`H>MT)FNb9bX7e*2_@(2x?hC82aHWY>7wf!E z!xc@3v7A^>anjK5js+Bc7*F;Zi6_Px=hJ;(IwokC&Ch(q+wRp^^9Gt|b+OJJA$U@9 zVmyT#=P`a5Pl4yuccK)|n1l`w{py^KfQ2V+Vndkg(C|cdkL6^vd*RRNU>q^7>~+fS zDSgGnbhzqQ=XA7N-;3fVHiTur5Ba{2k`wExaOZR|ei%;ykFtA8UojCKo?@B`Fq@zG zh_~H4V(BSOw7OWEQ`1xAN3on3Ph|IcI;Vs26U38W=_jS9n1l`w!B0;2hjTj4S$N_m zHiVt!Mm({c^mx)TX!Dx^g&)R~eV5WtN>6c~;JFB>o%+)`9R=2WIXAH(EOQz0#BvJ3 z)A{q|3O_+S?NNAAIAbC~JjM8FAG7(Hk4Wpoef_RaiG?Q?ts!iyGUAEl#OuT1&grl# z{4kyZHz<3jaK=P}My{Wo(-E-n#7%4nbKOQfv7AEmlggvBcM3m@CwtdDa-WdG857ar zsb8Jb(Qe_1o7fPRU1P)(%PA6`7(a}s!0pQ3DV#A8v*&D>&Ch(qd;O)vnkQ$`8p5{S z8lGq#isfXShtjf~H(#!B#JIBGtn8lBSDe%AIU8p4GavDuH>k1Ji8aycVx8A&xDx9x zA^Q%(&X+6vFrESdrKc3mn1uMwbWAHRvIMjFnU8qm$!_6E6Rj?mTW`b@%PErGWBdg1 z^prX$UEz#L2s~(;<@(Jz9R(JixQPv6na7AHmXjV&J)YB{@WXhr&r{z6R(gtw2t36! zLoQ1&o1gh${S>c#b^&YMMH8(q)^?F`-G$}Ec#=tbIHyD5hw&6RDaUyMg)=50@DSr1 z6qR8%Kl2f39*WaN8x~mS#r7zwHn;Kn(k!P)^H7W*#*=-Y^2Zg3?$#l+-y>|=M#&E{u5*zUz^KkyN2K1vg{oh9=_@87@t`^8{5;ywY<`VSe1HEEu>5jOw7OWX&xj|M zQwW~UThC+s1o8B})K7MWGbSPN5W6E~Hb3(b$&c#mdfqupKe1>HVP~xoPb{a1ew4xw zI9^;4c#Hj)b zXM7*TLq9vG5Pt%YTe;>o_IUW4{68@eE*Mh%u68JC5-}*mf$nQC{&go!D7(@N{Oz2H3pVKk6 zNPM@5f8WjW<^FE}m!9Qp_M8o~`MGx1IUOvC=)zdPdsKFV*5B#;1;z#AB=BD)P8dJT zjoEWH%;sl4taCb85*IdX+iS!Lt43!ZXk!h_CCxNTD= z_%F=@$Lztdu_y;7<|emh#hI6n4&=h8fh_nWFbFzs%771UOow;&q{FL?Y0zGm1`l1G z4hPq#gZq*U*gQ28)=$ZXf;jL|zC5M%FZT?Fzuq?puMGIhJ?Ze}ooVo=L#gn|!BqHQ zUn;z{I~88MHWePLOoc<6(x84(8f==H0c$5CA5(K7R#~`KrL_M2!NKs|!&!J`!nY4) z!Z(LA;j0G*!C&r8hcE6(gU@bBfsgj5z}wd)BM&LaLkirwAqB3vBo#JXoDORy4T5!3 za{A1}%n1XEk3N zJmgG<18Y*Ce0D0Vos6tCeJ9}dT!8iBkFM?Qw3JchtGZP~~} zCVYWBd>TlB4_cGq^<7Eu%+6%Ee_Jv%FH3m&f2W0k28$^Gj2Z zkEzJl6y#wN@-P9ue=HyV{?G`-LoOV-I}<*;HBGd`8_h}ZY;6+CAPII|nhcw#q`>Nl zX~;tcT#}#B(VGlvH>I_ne0emSesvt2er*z7MR4l1xp3;$g>dqfMR4M!g(!=;$U_lg zVj_I^Xg*?cIJQF$$^iQ&%HW+niSW|3iSS5yBHXkl39g=*jPz5WbfT0&Z~fut7sep% z@zC}9WaxThCUm{I2(J=2{pNZ&^~Odx`RY34VFh$Pw-Am!JssO&BDTY5l)+H=@~$lS z^p-SuzcmqFYfOYEYZBp(&55w{k|b;cqK`7b{xBgYIV=uNy)psmPJ%OU&VVy-ErK&| zuYoh~ZpW(zy58Lhr{1c9ldoL~$6qXkpV}9|4^K`-8H__5j6mIx4WHkZj{PwS-fT(0 zHb{W`uS|r-B}uShQZkel5DqfJ;&9HSq+*i!nK!3G_uKQJ`<<20{oZ!y{_tAp{&*i= zH$m42*CP*gaN?D%(E0pj@Z;075C;?Cn+Nl-4RS>re0)VpLAiwSV}ssz}xA`!M+ zoCK>T$TpZiI=x2>%$b~A-1Yht=zePk(q05--@6>ne&~i@KDiNo`P2P)JqX>O+y$rK z+XFwpUV$=L1IM134@aMvj5y4Pzui9+by6mLLKwI{0rim`9(E?czEz2EQddoI?0G0J}poc*92e)+gX$l&Z}cR_bY0Oj8VCtr7<{8u6U zc}Rbf>H|Zt59sJq{VVLSAM3w$Y9f@3m-Qdtiymx0I8o5=erEylupD{Vggm$qgFd{P zq3b;_;;#~Zesu#Je_;u>{|uCW0n#6Z_0K`un1S+7hIenUqYjYm-?}mZHcd`K`Y9;? zL6F&tZ{XQFy!Fgmi2b)O5g6=#XE}!JvHxv_u6K68>9?-L{hvkR4v|*aiMumLcJOg!%xp%jCyz+_P>#+19Rc8_h!PM52e7z2NKX0+M&JH4)<6LO2R}S9 z3ch<}h_J_hxjP*`zcmSck_33Y$qr9eC%~}*c>06n6j74?Mv8xPgBR4PalBO@9#yOcQy98 zONEBTsP89bLE(_tXfvPBJ+Qx{{od<3 zPJMJA9Dm&p$DZ2^N1t2--##)GzWT#h`10qRv|3 z&?Ng2v-2EmYq+yk+%UfczJ#Z;%2)vFg zjW$=Lbo#vsq#sN8td+|{_9iI#@|sWJ_xBofJJT_HR*KpD%tyTUN}jXUd|0%Gux!6^ z&4=a0dnH$W|JfosZ{`0yeJh@~qV1Jr`~>loD)Geqn2DG@E5&Sn<|E#}HEF-d`c}9m zTP@aks}WBuCtgDg_gj;I!cP!S)204roH2#ie`O*|Fq@zGh&P_>11vmgvejZ`*S`Dj zhJMVQUcd@!Ek^&9YW7M?WG>SDRO zjd)@?F`g)CPiL(#ei%=IB??apXH3HESt(}oGarnnc>T6AFwoLZnryXL=L1GOv78uB z(%zka)(Yc?@nm1A#yd(+F$J?{rI^jne8hWiU%Q1T7Of#HJFMY}=3iJ&QSa?jI11wG zU)8u;=_@7{`>(%c31;&%AMrkG#csFslqOp(mivf?E8#~eIkBGNl%d~_vn%{Co&x_a z@x=Oy^Xa}39uqXo=4U?QZTIZfI8PI;F4lIyIL>1^F`mMX^Avu9czQ#9>r3H`N$Bv< zug+R2u<*o9YzRAV((oj{eWK)Kw0pgrwW4qo#1$yJr|`zabhzqQXRVyGzWK#XYzRAl zWBle9%Zc?=xU*IQ3O|e|`)}3!rotH$(cvkksQ|P2nU8qey&6kTX`@DTiLcrQ!AoGlod%^xht7Uys2Sa{MztBbYWV#HHG z$w`kVExB%fQ{jj4WKWiOVw`cF;Mo?ao%+*RD@QCmaT6QD+(Sk@v7AEibl!Y977|eMUU7oFd_g@xyqs&r<6zN>4EnvuCB4&Ch(qd;R5{wf@4QHH4iHX?UV}D3+6P z9!kq{-h8>j5#uT_LitfjUvW;eXQi0U&wRvt-oS3*N)xRv)_J#vE3y8f= z?9-HI+5F50 z>!*0_vpZs~yJ(`-#d3dVTz6qPF`i`7^Uqpg{4k#E%apxSIAan54>8U`Q5k0QGar%W zp*UT%VY_uEd5@whyV^Jp#d3-?55@RlJOy%QvMG(7VZZ<#j!FDfR`+;jLKS~p=E|%M<;YzFzD><>< z3%f5$;fL{LAExw_(pOAE;z4uF`FXUV+58%v_^uBZSb9nmtuB^(uMtlyrw}}yzn-V? z6U5VeshJ@F{p_rj5=%dE6C1*^`;2&EIWeA2wGCXTUn3U36HDEu&79;?l7bve`EbC8Bccgy@*geiFCSuX3t77o1a;+&RStf zT-dPeQ4LSikQ9F(!|Yir{QVOCo(b22zjG4Uto$v94Ea5WX3tvL{=(BMHyXZYvaZqJ z(CFuKnNFneOp^Sb$(~3F&wEebGNCK^f_=|~NCx<PLB;Mq)$)ZjkNyyE`i0x#l<~ceJ?5c z97ONKj*gE14gkGf*SEH|QrhTCj-0YLdg0#1gO3}qF5$|L_Ia$bhzD)vv9CN(dd?fK zurEBsi>AID!b4=F*=+he@s3B5!G(~!z7EuXdy_#tF{h`ikM|}6eYy)3?+ph%(fkk8 zcXajiE|zEE=!dpF(+v${p{dUk4g-4np)~dP`m$n;_k=;Fucs9*9xGkS7peZ?XzHI| z2>K+GkFbC0>GTvgL!0u3!{7fb`n~mk);|}b-YmDCu%~}UZNO>c9rh-B=7D7pZ`xEI z(})ya2pL488Ty|4LOkSf{ocKML(7lmJ{~;8N}Ks39%AK#%P<>KpJhIxX%Dk??u}pK zg>-o6bs=f?#*g*RoCNr+mB5Nv&syp0%2xFJCeZ{;9R5t5wek=7y((s-vrlKOaIOd; zPQ=i>kB!zv6up0@b2^ga&<>2R3w2J1eWk>2V3iC@lI{?{ci}KX3z&Y*^LNeR>0M z$8$Pn8_((B`tiCp*OM6!RI2r}!+(>%^I8A3A=FOP$ct&K#G#cx`~NeX(-GivI&KJA z*H-f7^#XfS&+FP|&)G1WpYiZpo7xB5^rw|w_@OE~S!JWAVyDX=+XlcIYrTL)YY5w( zGOib}oOqudozX!VGM@W-f&QEh#!nDW9@%fXA2SiN=WLkG&wRxDcM1gw*7txl*=n(} zmyCE~Iq~{axZf$*6@G$v+OOXmzpN*Nk{#IfdX! z=qQ7JQuqnt>0yN@g)=5$;-|x+2($T_57tld`u%WCqNSfS*=n)Q_l$UAIWe9nWsm1{ zDEtKR^n}8b!WmOAd(MX0{LBaADPF(JvnN@2(qyZ}ayM-d;}o%993Qis7*EpPoqtY; zUEzoE6nIJDN#Tqsm_291Y<}h=?)$iJRCE=02<8iR>QB$!Pa_Ij2M6h;e1VR_Q6Fub7w)SN-aoj)J*&3qO?WX@yb( zWsqk$=ac2cdMeyG9gH8wQ^2S2q;SUa)!`|osQ|P2nU8qey>phH(nPC^wLPclDe|LO zPK+nAdp(`g!T4c3*{@T6xzbZiLWhUoC#U>oN=Duxd^D8`qMcbB^I8zi49@f%SJr0oI>z)-h4UZCy1wO)qIq~850TO zDaKFxn9a|8L|Py2>vw%>EIhGj4PoaiMm({cczsy^4Ho_SOF-d=@nrWa{iO616A2o* zes)eryM-riVnbN=x)Dz-rx5+5^62cH!cP!SFDN`IoG}p{p8C}}9Y-uYaT6QDwl|D; zVmU>`lfn<C3L== zam2W?-=J`%@WwgKp0i;#Kl2gqd4qtp??4l+E|&X&QBSd)BI+rHAI4LlRoOkIub71R z&U8#GFR}!)`I(P+)$i@Wl8D;^|$r{-SWkBm^F`&2s(boQ@I; zPu#?Yu)$LJoR)=M?m3+@nrvh?h)${j58)8@D$Swxh%nKe&&PqQ@r-s*{yXK zO|-gLo6UGm2g`}^B$J+hP6y*Bh^J?iy;C@25&{n~&OuQbX7e*2k>;T|U9@3|bzW?b zqRKsJJg0-@6losHuJFTn3N$HyT z-=lD)@W#aCckE+#%+2O!KG^QXYd`QgYd%U7tuEI2rqPdLIkDXfw=atE6U0-CvU>_= zOhV#8bIkd9w4vGj8lCw5{-xdW%QeyJVr?H8@x*cp!P9x`d3J>###7)vrJt0ZViFP$ zu{%;`^D`fj{HVUJ=h-bhv1kop?%PH@v793LQH-A;p7?j#3TI3tc&e9uJ5 zm;1YYbI)=%d(MX0{M?|{IUOvC=)zdPdz8CN>+f_<2jhZq61YO*g!?CRWA>a4v-z11 z>zodj#DxvZnvFPNTrf`TN^diMm>aX_Y?#f@e8hV{P`fox%%U}fxqCF6h~K3tIYm29 z%s66Pap8i z1np{E#P*KA^T+3O@b@5lJEvo;ZLH0H*T41coDN-j>zocE%A{%3}TgqD`jNs-v=**@3Iz&>)XtQ@J;3d_-fF6!N(VA zGvTw;BKRofVt6|Rc}PJXQbxnAsl(u!v~1Xro&{?L4Tg0&L;K9b%mL}eN3)l}k2#l$ z>jw;v<}8KpbBf{H>_zZ()&i8tT=+75mf+#TWRyelM0h@VEIgDv3J#hhGLqhg}Na4Jn3ivKPW%Gv~n<$it^8*cQo? z;q{~m@J#X;xIcLWG^gai6{(r9ns~^}h6zc@toZB#V1Crf|Ge`;N+O~aB{-saB|W{_<71EI5Bl2 z9G`MI{4{AT{5WA1e4oD@{yt&}e3iQZj%3Y&&(fyDhbV(Lk_zD2B$PqY2-uaJ4VzPt zei~kg$xAY_I(nmDn>McXuUI|@`u7<7>7o1-2hEp4_fs^a1;lv6jbS~Tq$EIHnM<=d= zZ%1DWUkzOdU!n{?O)G-;6DPrIiR0nP#L;j^;!xO`gl$0dNd|)u2dEdq$>7ukq&;a1 zoSCr=&Mb1mnKf=Wv)u=0YIZ}{&OLCdsu@mRSr5lcE8wREW$?q)wea1z!9OGF!doIC~I zPAGuq6UM;dgb}bOF&nldWxy)Y23asaJ+ns)%t;^(|ZE&b44Q@UsD0c=5K+clUKvv^Dl+J4P5|VWX^_9uphjW zFcDr%7z+<4jD&rOIdEl=K4Jj%QBU%plbl`LRfKh)y#vlJsf4qeJ@AWXAN+FL1Musk z&%m!wJr8FOKLK3_?tqi-7C64X3XUx-gQHW{z_(+TNel@3)8M@X?1%QT@F>zhkdOo0 z6Ek3CayqO+49-g*)N}n)bBeoWTnXKCu7d933OKtF>DTUsUk=_2zdrON{QCH_aQ1;m zp$psMWKA<1U+02j3$B2p7bE?ArjHmzUBvVsL;5!%{cU>s89mFNWYS)6Sx5KWtKjTn zq`zh-oGovLUs?hvgZtqu%Dy{r51ei~04E(@IKHYJj?LQ)M<I>34Y$- zhT}`N!?76~;Ap{0_;%D%_$p@se3>x|K1oJBXh$7@@~8H1O~{5#Nk|{@w+ii1W-q>h zXZV!XGxJdXms~9{*o{1Nuipu0wq6TeJA82Z$_6;Oz6MS#b3o^uEpTk|S~xmp1^gX# z(BB5nM_Yh;I1zmVdjY&)m-uf)iP@+FFJ2Enjzc{>av6M+y9jO3T=;Y94EQ(!ZJ~Vvv}6CjH(?lf z60?NtOAveGd(l12gD1bJ^~}mDIJ3e9XNsNBb;(t5dj1ZfhfmHblXjqR9UMd2KcF2V zTljU>CFm2(hR>7GH%gcUuP31XOUQ#;6NkW#q(QJe6=gp-Ct}^1hi5O{)N$r2KXh%Z zm35!L9Zt@;0)C#f0ge}}gP-!z4vtt3-w#;|w)+ZfcP=~Huzg2$$C>K_&{f?6r`FZL$%QEQqD{~_aV;FnD*>|8-(@d`uQSje zN}UaVN-lyA6Vd)9PJpMA^5Kr8Vc<;7g5`+$f|Rtq(bCnYYj4`!aR&SR>AknY&sSrg zTYfeCG;5QveczAbcE`G-?fWEs8oZNS2rs0Khr_9(pdmE}R-?@?jFC3;@!bBKJKC?? z+i~i?hv2xs6^?DLfuoDIz_(LN;j6Ki!j~f#z^6I0;Qj0(cxCV;cr>E51w&x7* zv&@-hXgFu`#l_F;JJ9iDgTLe0^*6(Jjym{yc^Mp;xe7j?SPUQL&xO}U6u}e23Ss}y zF)%kZBPMx=((UPfW?p{r;nIyA56r);)1bhV#oT7+zUptCqAra@sR+Z z(_vpN&o@|%lLCF27g)1|SInkNn>H&xJaH*0GyxNbKQrfa*vsYjV3>`9_5U)EzIz|x zZ?SkEtspTSpVPtg{+Z6{NR2}~FupF>IUVaHego@ectoAk!C{2^U9T%>(NHGn~_LgwN^t#<;G{ z^5yjcdwtLA+Gfw$Fq@z85bu3<=dASt7Of#H`^|pCccxiRyw7g>ZO%n}>A%Cm_+dN+ z8dd*Q{g{cEJ!ivge&!?Izf)*Ww!T}g$ySS%B^mL=a^m%;aKBSv{4k#E2Nj+|^i=G> zP>?*D&9BuozQ0qjr&xH>WUIw;(~NjxIfdX!`l~i=A28#G@f2uNeudIgOu@uYheZ)) z^D`f;pW^lV;d2(AG|}o}ox_cIVmUFMC}~gUbTEDxPxgnDeo}ghNtiun!)$)$gYguv z-{l2TE&Zg)R*U71G2)5k#CVeSu7`6v6n=tux=f9Cl%8S=X3yC$o1giJ`@S#>Pb^wP zSTYR=m>w8h$#D=i#zZ=i#U^%g#3VTk6!Vlvquv6lR^%WD*;VGu60JHg-k9ga? z8cR=UqSeLP25NeW{3wmTp!Ac%8I#cAA^6GZ$jh~y+h#MHUn?oT z^P2$+Pnu|TvD`!>o>)$LJZZ_b`OSdB597)1Q~F8ajPnG~ML_M;pU&wxV&RFK*bufQ z8}Y<)3c=I)^W_RZK|D1pJSm(pkszL8{IrkR{LDwB_2IsL*XNvtCl;+C>`XD@iRHxW z!{N^9uq*s9o&vj-y;C@2B0(e9&(7&6u-0F=i49>{x)Dz-rx5+5^62cH!cP!SOXYky z`lfq9BPq!$0r*OtZ%$~DhHb3(b@Aa2+*7^&J z))01%*YHI1P%J0oJd~E@y!mp4BgU2eMujVdH_mDHoDH-2nU8qS8`v#eX`o z66-HYPLcE!wOn1sNCwpp&KA#59F#1qR&kEfo_>0taYo&xpiJZq(=n25kr zOf%%N1he^>57tld+Gkf{t-ENV)x|ph!?^Cka$-Emr01X0!T4c3*^AXUPw6QpA@C66 z92AvdHb3(bX&#ExMH?Qm&PVT2RAucU-vd^1iZ~CY@Ds$-^~!%zdWwk&JoLkJI*wTW zI5)8&Y#XQ9I~wP)oT44)*%gk0xH=?p#rleg$?w?5?wFg+&wQ}mi`RbO8q1H;M5~K+ z=4iMQ>%&S;Z1=+Mi&FSuJO%bDJSm(p35f^IG3V#ehGz3?bmF@{Twv)bO|-gL*(f8P zSWY2$I&VFX@e{<;9STnhXG}ukA$CW~Y<}h=k{{LA^}K+kpIEepFn5R%Pb{ZMepEo= zhw)_R-)Sp7#YBSVD)h5+I!Y}4#7%4n+wzQfVmWDe(kIu}^B6yjCr-sUl1r-k3dS!)$)$$2zBjC2?WHvWXg=rXeZ* zK8ERYI@EVs_TUr?lNPR%DP{4h6W z&)G1WpZT!P>0n7**sybw5hsib#z{cwZN?9CWA>a4v-z2ic<%=)uzokoqBVrM7i%~X zze`hciguouam2Xd!WnOTZ}yxGv-z11^pNoTiNCSMZGF_jl_pwUtZa&gE1D-RQF1bl zbIw1fgY9D2b2>u4Bgo?-_DA_Ue|$~{e-E;^b2=v4Cfe*z_3@kzUHWK0BdHUQ6-5bT zWn~o)9z3`>Gc&U|EiJ7$IXPKe7g9LGhYv5_v}sd^$K!#zx;m(?u7<0wx(YUI*Z@nG zEP+|GX2H~{Qz17ux0U#bColWP=pOql`~Uwkp-0I95`?QZn)tF*tKgH z)YsQTd3iZpe);9FV8H@Gf6}B$f|sPEq?lx}a^=d_Km6ejaQN_HakaIz!2=IG0QcT| zFWhz4U2xlNx53Rf-wds-tA_ov?oWdLaj*UszZucs;jzaa z3to>r@(4Wi&_h6c+<*W5LLMXw;(^+O#eYV|9;rLdpA)3AS|p~w+?2{o-JfR zJWzW?Y6nbLOthYV{&{%eg%^Ss-9Pu-bAm6D3G+a0L3p_1jyvGs!Goe58XFtI?RE

sc|Ni^%;fEiJ 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 diff --git a/examples/bevy_gltf_components/basic_wasm/assets/models/Level1.glb b/examples/bevy_gltf_components/basic_wasm/assets/models/Level1.glb deleted file mode 100644 index 37799454374b25c6759473caf1d89a8e9b3ccc29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78932 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, With)>, -) { - for (entity, mut camera) in added_cameras.iter_mut() { - info!("detected added camera, updating proxy"); - camera.hdr = true; - commands - .entity(entity) - .insert(DebandDither::Enabled) - .insert(Tonemapping::BlenderFilmic) - .insert(BloomSettings { - intensity: 0.01, - composite_mode: BloomCompositeMode::Additive, - ..default() - }); - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_components/basic_wasm/src/core/camera/camera_tracking.rs deleted file mode 100644 index 62da84d..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/core/camera/camera_tracking.rs +++ /dev/null @@ -1,58 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Debug)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -/// -pub struct CameraTracking { - pub offset: Vec3, -} -impl Default for CameraTracking { - fn default() -> Self { - CameraTracking { - offset: Vec3::new(0.0, 6.0, 8.0), - } - } -} - -#[derive(Component, Reflect, Debug, Deref, DerefMut)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -pub struct CameraTrackingOffset(Vec3); -impl Default for CameraTrackingOffset { - fn default() -> Self { - CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) - } -} - -impl CameraTrackingOffset { - fn new(input: Vec3) -> Self { - CameraTrackingOffset(input) - } -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Add this component to an entity if you want it to be tracked by a Camera -pub struct CameraTrackable; - -pub fn camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, With>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - let target_position = tracked_transform.translation + tracking_offset.0; - let eased_position = camera_transform.translation.lerp(target_position, 0.1); - camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/core/camera/mod.rs b/examples/bevy_gltf_components/basic_wasm/src/core/camera/mod.rs deleted file mode 100644 index 9cc4bf3..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/core/camera/mod.rs +++ /dev/null @@ -1,17 +0,0 @@ -pub mod camera_tracking; -pub use camera_tracking::*; - -pub mod camera_replace_proxies; -pub use camera_replace_proxies::*; - -use bevy::prelude::*; - -pub struct CameraPlugin; -impl Plugin for CameraPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .add_systems(Update, (camera_replace_proxies, camera_track)); - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_gltf_components/basic_wasm/src/core/lighting/lighting_replace_proxies.rs deleted file mode 100644 index 48c0908..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/core/lighting/lighting_replace_proxies.rs +++ /dev/null @@ -1,25 +0,0 @@ -use bevy::prelude::*; - -use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; - -// fixme might be too specific to might needs, should it be moved out ? also these are all for lights, not models -pub fn lighting_replace_proxies( - mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, - mut added_spotlights: Query<&mut SpotLight, Added>, - mut commands: Commands, -) { - for (entity, mut light) in added_dirights.iter_mut() { - light.illuminance *= 5.0; - light.shadows_enabled = true; - let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { - first_cascade_far_bound: 15.0, - maximum_distance: 135.0, - ..default() - } - .into(); - commands.entity(entity).insert(shadow_config); - } - for mut light in added_spotlights.iter_mut() { - light.shadows_enabled = true; - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/core/lighting/mod.rs b/examples/bevy_gltf_components/basic_wasm/src/core/lighting/mod.rs deleted file mode 100644 index c9688cd..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/core/lighting/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod lighting_replace_proxies; -use lighting_replace_proxies::*; - -use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; -use bevy::prelude::*; - -pub struct LightingPlugin; -impl Plugin for LightingPlugin { - fn build(&self, app: &mut App) { - app - .insert_resource(DirectionalLightShadowMap { size: 4096 }) - // FIXME: adding these since they are missing - .register_type::() - - .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely - ; - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/core/mod.rs b/examples/bevy_gltf_components/basic_wasm/src/core/mod.rs deleted file mode 100644 index d6d4775..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/core/mod.rs +++ /dev/null @@ -1,19 +0,0 @@ -pub mod camera; -pub use camera::*; - -pub mod lighting; -pub use lighting::*; - -pub mod relationships; -pub use relationships::*; - -pub mod physics; -pub use physics::*; - -use bevy::prelude::*; -pub struct CorePlugin; -impl Plugin for CorePlugin { - fn build(&self, app: &mut App) { - app.add_plugins((LightingPlugin, CameraPlugin, PhysicsPlugin)); - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/core/physics/controls.rs b/examples/bevy_gltf_components/basic_wasm/src/core/physics/controls.rs deleted file mode 100644 index 8ee2b95..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/core/physics/controls.rs +++ /dev/null @@ -1,10 +0,0 @@ -use bevy::prelude::ResMut; -use bevy_rapier3d::prelude::RapierConfiguration; - -pub fn pause_physics(mut physics_config: ResMut) { - physics_config.physics_pipeline_active = false; -} - -pub fn resume_physics(mut physics_config: ResMut) { - physics_config.physics_pipeline_active = true; -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/core/physics/mod.rs b/examples/bevy_gltf_components/basic_wasm/src/core/physics/mod.rs deleted file mode 100644 index 4b4b98b..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/core/physics/mod.rs +++ /dev/null @@ -1,27 +0,0 @@ -pub mod physics_replace_proxies; -pub use physics_replace_proxies::*; - -pub mod utils; - -pub mod controls; -pub use controls::*; - -use bevy::prelude::*; -// use crate::Collider; -pub struct PhysicsPlugin; -impl Plugin for PhysicsPlugin { - fn build(&self, app: &mut App) { - app - .register_type::() - .register_type::() - - // find a way to make serde's stuff serializable - // .register_type::() - //bevy_rapier3d::dynamics::CoefficientCombineRule - - .add_systems(Update, physics_replace_proxies) - //.add_system(pause_physics.in_schedule(OnEnter(GameState::InMenu))) - //.add_system(resume_physics.in_schedule(OnEnter(GameState::InGame))) - ; - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/core/physics/physics_replace_proxies.rs b/examples/bevy_gltf_components/basic_wasm/src/core/physics/physics_replace_proxies.rs deleted file mode 100644 index 37edfe5..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/core/physics/physics_replace_proxies.rs +++ /dev/null @@ -1,101 +0,0 @@ -use bevy::prelude::*; -// use bevy::render::primitives::Aabb; -use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::prelude::{ActiveCollisionTypes, ActiveEvents, ComputedColliderShape}; - -use super::utils::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum Collider { - Ball(f32), - Cuboid(Vec3), - Capsule(Vec3, Vec3, f32), - #[default] - Mesh, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum AutoAABBCollider { - #[default] - Cuboid, - Ball, - Capsule, -} - -// replaces all physics stand-ins with the actual rapier types -pub fn physics_replace_proxies( - meshes: Res>, - mesh_handles: Query<&Handle>, - mut proxy_colliders: Query< - (Entity, &Collider, &Name, &mut Visibility), - (Without, Added), - >, - // needed for tri meshes - children: Query<&Children>, - - mut commands: Commands, -) { - for proxy_colider in proxy_colliders.iter_mut() { - let (entity, collider_proxy, name, mut visibility) = proxy_colider; - // we hide the collider meshes: perhaps they should be removed altogether once processed ? - if name.ends_with("_collider") || name.ends_with("_sensor") { - *visibility = Visibility::Hidden; - } - - let mut rapier_collider: RapierCollider; - match collider_proxy { - Collider::Ball(radius) => { - println!("proxy: ball"); - rapier_collider = RapierCollider::ball(*radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Cuboid(size) => { - println!("proxy: cuboid"); - rapier_collider = RapierCollider::cuboid(size.x, size.y, size.z); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Capsule(a, b, radius) => { - println!("proxy: capsule"); - rapier_collider = RapierCollider::capsule(*a, *b, *radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Mesh => { - println!("proxy: mesh"); - for (_, collider_mesh) in - Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) - { - rapier_collider = RapierCollider::from_bevy_mesh( - collider_mesh, - &ComputedColliderShape::TriMesh, - ) - .unwrap(); - commands - .entity(entity) - .insert(rapier_collider) - // FIXME: this is just for demo purposes !!! - .insert( - ActiveCollisionTypes::default() - | ActiveCollisionTypes::KINEMATIC_STATIC - | ActiveCollisionTypes::STATIC_STATIC - | ActiveCollisionTypes::DYNAMIC_STATIC, - ) - .insert(ActiveEvents::COLLISION_EVENTS); - // .insert(ActiveEvents::COLLISION_EVENTS) - // break; - // RapierCollider::convex_hull(points) - } - } - } - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/core/physics/utils.rs b/examples/bevy_gltf_components/basic_wasm/src/core/physics/utils.rs deleted file mode 100644 index 7886710..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/core/physics/utils.rs +++ /dev/null @@ -1,175 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs - -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - -pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - parent: Entity, - children: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)>; -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - parent: Entity, - children_query: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)> { - if let Ok(children) = children_query.get(parent) { - let mut result: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .map(|(entity, mesh_handle)| { - ( - entity, - meshes - .get(mesh_handle) - .expect("Failed to get mesh from handle"), - ) - }) - .map(|(entity, mesh)| { - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (entity, mesh) - }) - .collect(); - let mut inner_result = children - .iter() - .flat_map(|entity| { - Self::search_in_children(*entity, children_query, meshes, mesh_handles) - }) - .collect(); - result.append(&mut inner_result); - result - } else { - Vec::new() - } - } -} - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/core/relationships/mod.rs b/examples/bevy_gltf_components/basic_wasm/src/core/relationships/mod.rs deleted file mode 100644 index 4128453..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/core/relationships/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub mod relationships_insert_dependant_components; -pub use relationships_insert_dependant_components::*; - -use bevy::prelude::*; - -pub struct EcsRelationshipsPlugin; -impl Plugin for EcsRelationshipsPlugin { - fn build(&self, app: &mut App) { - app; - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_gltf_components/basic_wasm/src/core/relationships/relationships_insert_dependant_components.rs deleted file mode 100644 index 4e9ad17..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/core/relationships/relationships_insert_dependant_components.rs +++ /dev/null @@ -1,15 +0,0 @@ -use bevy::prelude::*; - -pub fn insert_dependant_component< - Dependant: Component, - Dependency: Component + std::default::Default, ->( - mut commands: Commands, - entities_without_depency: Query<(Entity, &Name), (With, Without)>, -) { - for (entity, name) in entities_without_depency.iter() { - let name = name.clone().to_string(); - commands.entity(entity).insert(Dependency::default()); - warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/game.rs b/examples/bevy_gltf_components/basic_wasm/src/game.rs deleted file mode 100644 index e62d5cc..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/game.rs +++ /dev/null @@ -1,102 +0,0 @@ -use crate::insert_dependant_component; -use bevy::prelude::*; -use bevy_rapier3d::prelude::*; - -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Pickable; - -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} - -// collision tests/debug -pub fn test_collision_events( - mut collision_events: EventReader, - mut contact_force_events: EventReader, -) { - for collision_event in collision_events.read() { - println!("collision"); - match collision_event { - CollisionEvent::Started(_entity1, _entity2, _) => { - println!("collision started") - } - CollisionEvent::Stopped(_entity1, _entity2, _) => { - println!("collision ended") - } - } - } - - for contact_force_event in contact_force_events.read() { - println!("Received contact force event: {:?}", contact_force_event); - } -} - -pub struct DemoPlugin; -impl Plugin for DemoPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .register_type::() - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) - .add_systems( - Update, - ( - insert_dependant_component::, - player_move_demo, //.run_if(in_state(AppState::Running)), - test_collision_events, - ), - ); - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/main.rs b/examples/bevy_gltf_components/basic_wasm/src/main.rs deleted file mode 100644 index 8827730..0000000 --- a/examples/bevy_gltf_components/basic_wasm/src/main.rs +++ /dev/null @@ -1,87 +0,0 @@ -use bevy::{gltf::Gltf, prelude::*}; -use bevy_editor_pls::prelude::*; -use bevy_gltf_components::ComponentsFromGltfPlugin; -use bevy_rapier3d::prelude::*; - -mod core; -use crate::core::*; - -mod game; -use game::*; - -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, -} - -fn main() { - App::new() - .add_plugins(( - DefaultPlugins.set(AssetPlugin::default()), - // editor - EditorPlugin::default(), - // physics - RapierPhysicsPlugin::::default(), - RapierDebugRenderPlugin::default(), - // our custom plugins - ComponentsFromGltfPlugin::default(), - CorePlugin, // reusable plugins - DemoPlugin, // specific to our game - ComponentsTestPlugin, // Showcases different type of components /structs - )) - .add_state::() - .add_systems(Startup, setup) - .add_systems(Update, (spawn_level.run_if(in_state(AppState::Loading)),)) - .run(); -} - -#[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() { - match asset_event { - AssetEvent::Added { id } => { - 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); - } - } - _ => (), - } - } -} diff --git a/examples/bevy_gltf_components/basic_wasm/src/test_components.rs b/examples/bevy_gltf_components/basic_wasm/src/test_components.rs deleted file mode 100644 index d0e6fbd..0000000 --- a/examples/bevy_gltf_components/basic_wasm/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 TuppleTestF32(f32); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -struct TuppleTestU64(u64); - -#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] -#[reflect(Component)] -pub struct TuppleTestStr(String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTest2(f32, u64, String); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTestBool(bool); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec2(Vec2); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec3(Vec3); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleVec(Vec); - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -struct TuppleTestColor(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_gltf_save_load/basic/Cargo.toml b/examples/bevy_gltf_save_load/basic/Cargo.toml index 5f8676f..8685e79 100644 --- a/examples/bevy_gltf_save_load/basic/Cargo.toml +++ b/examples/bevy_gltf_save_load/basic/Cargo.toml @@ -8,6 +8,7 @@ license = "MIT OR Apache-2.0" bevy="0.12" bevy_gltf_blueprints = "0.7" bevy_gltf_save_load = { path = "../../../crates/bevy_gltf_save_load" } +bevy_gltf_worlflow_examples_common = { path = "../../common" } bevy_rapier3d = { version = "0.23.0", features = [ "serde-serialize", "debug-render-3d", "enhanced-determinism"] } bevy_asset_loader = { version = "0.18", features = ["standard_dynamic_assets" ]} diff --git a/examples/bevy_gltf_save_load/basic/assets/scenes/save.scn.ron b/examples/bevy_gltf_save_load/basic/assets/scenes/save.scn.ron index c6b2b53..7bfc7c2 100644 --- a/examples/bevy_gltf_save_load/basic/assets/scenes/save.scn.ron +++ b/examples/bevy_gltf_save_load/basic/assets/scenes/save.scn.ron @@ -6,13 +6,13 @@ ), }, entities: { - 4294967309: ( + 4294967366: ( components: { "bevy_transform::components::transform::Transform": ( translation: ( - x: -3.4747214, + x: 3.2857952, y: 2.0, - z: -0.47800493, + z: 2.5374498, ), rotation: ( x: 0.0, @@ -45,18 +45,73 @@ ), ), translation: ( - x: -26.735256, - y: 3.6987834, - z: -24.778835, + x: -7.688917, + y: 5.6987834, + z: -9.425901, ), )), "bevy_core::name::Name": ( - hash: 11525084598183387914, + hash: 8538030051948141679, + name: "SubParentingTest", + ), + "bevy_hierarchy::components::parent::Parent": (12884901959), + "bevy_gltf_save_load::saveable::Dynamic": (true), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Sphero"), + "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), + "bevy_render::view::visibility::InheritedVisibility": (true), + }, + ), + 4294967368: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 5.4583645, + y: 2.0, + z: -1.8563004, + ), + rotation: ( + x: 0.0, + y: 0.0, + z: 0.0, + w: 1.0, + ), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_transform::components::global_transform::GlobalTransform": (( + matrix3: ( + x_axis: ( + x: 1.0, + y: 0.0, + z: 0.0, + ), + y_axis: ( + x: 0.0, + y: 1.0, + z: 0.0, + ), + z_axis: ( + x: 0.0, + y: 0.0, + z: 1.0, + ), + ), + translation: ( + x: -8.802143, + y: 3.6987834, + z: -16.357101, + ), + )), + "bevy_core::name::Name": ( + hash: 13198606238288724329, name: "ParentingTest", ), - "bevy_hierarchy::components::parent::Parent": (4294967355), + "bevy_hierarchy::components::parent::Parent": (20), "bevy_hierarchy::components::children::Children": ([ - 4294967318, + 17179869259, ]), "bevy_gltf_save_load::saveable::Dynamic": (true), "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), @@ -64,13 +119,13 @@ "bevy_render::view::visibility::InheritedVisibility": (true), }, ), - 4294967313: ( + 12884901959: ( components: { "bevy_transform::components::transform::Transform": ( translation: ( - x: -2.2050228, + x: 3.2857952, y: 2.0, - z: 5.3109236, + z: 2.5374498, ), rotation: ( x: 0.0, @@ -103,128 +158,18 @@ ), ), translation: ( - x: -27.67058, - y: 5.6987834, - z: -13.678983, - ), - )), - "bevy_core::name::Name": ( - hash: 12227652970378347066, - name: "SubParentingTest", - ), - "bevy_hierarchy::components::parent::Parent": (17179869209), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Sphero"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 4294967314: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -4.2068176, - y: 2.0, - z: 3.3114986, - ), - rotation: ( - x: 0.0, - y: 0.0, - z: 0.0, - w: 1.0, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 1.0, - y: 0.0, - z: 0.0, - ), - y_axis: ( - x: 0.0, - y: 1.0, - z: 0.0, - ), - z_axis: ( - x: 0.0, - y: 0.0, - z: 1.0, - ), - ), - translation: ( - x: -31.67417, - y: 5.6987834, - z: -17.677834, - ), - )), - "bevy_core::name::Name": ( - hash: 12227652970378347066, - name: "SubParentingTest", - ), - "bevy_hierarchy::components::parent::Parent": (4294967329), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Sphero"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 4294967315: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -1.0132551, - y: 2.0, - z: -2.93677, - ), - rotation: ( - x: 0.0, - y: 0.0, - z: 0.0, - w: 1.0, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 1.0, - y: 0.0, - z: 0.0, - ), - y_axis: ( - x: 0.0, - y: 1.0, - z: 0.0, - ), - z_axis: ( - x: 0.0, - y: 0.0, - z: 1.0, - ), - ), - translation: ( - x: -24.273788, + x: -10.974712, y: 3.6987834, - z: -27.2376, + z: -11.963351, ), )), "bevy_core::name::Name": ( - hash: 11525084598183387914, + hash: 13198606238288724329, name: "ParentingTest", ), - "bevy_hierarchy::components::parent::Parent": (4294967355), + "bevy_hierarchy::components::parent::Parent": (20), "bevy_hierarchy::components::children::Children": ([ - 4294967328, + 4294967366, ]), "bevy_gltf_save_load::saveable::Dynamic": (true), "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), @@ -232,13 +177,13 @@ "bevy_render::view::visibility::InheritedVisibility": (true), }, ), - 4294967316: ( + 17179869259: ( components: { "bevy_transform::components::transform::Transform": ( translation: ( - x: -5.375821, + x: 5.4583645, y: 2.0, - z: -1.2236366, + z: -1.8563004, ), rotation: ( x: 0.0, @@ -271,29 +216,29 @@ ), ), translation: ( - x: -34.012177, + x: -3.3437786, y: 5.6987834, - z: -26.748104, + z: -18.213402, ), )), "bevy_core::name::Name": ( - hash: 12227652970378347066, + hash: 8538030051948141679, name: "SubParentingTest", ), - "bevy_hierarchy::components::parent::Parent": (12884901893), + "bevy_hierarchy::components::parent::Parent": (4294967368), "bevy_gltf_save_load::saveable::Dynamic": (true), "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Sphero"), "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), "bevy_render::view::visibility::InheritedVisibility": (true), }, ), - 4294967318: ( + 17179869267: ( components: { "bevy_transform::components::transform::Transform": ( translation: ( - x: -3.4747214, + x: -3.449185, y: 2.0, - z: -0.47800493, + z: 2.4954972, ), rotation: ( x: 0.0, @@ -326,73 +271,18 @@ ), ), translation: ( - x: -30.209978, - y: 5.6987834, - z: -25.25684, - ), - )), - "bevy_core::name::Name": ( - hash: 12227652970378347066, - name: "SubParentingTest", - ), - "bevy_hierarchy::components::parent::Parent": (4294967309), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Sphero"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 4294967319: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: 1.4628916, - y: 2.0, - z: -5.380514, - ), - rotation: ( - x: 0.0, - y: 0.0, - z: 0.0, - w: 1.0, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 1.0, - y: 0.0, - z: 0.0, - ), - y_axis: ( - x: 0.0, - y: 1.0, - z: 0.0, - ), - z_axis: ( - x: 0.0, - y: 0.0, - z: 1.0, - ), - ), - translation: ( - x: -21.797642, + x: -17.709692, y: 3.6987834, - z: -29.681345, + z: -12.005304, ), )), "bevy_core::name::Name": ( - hash: 11525084598183387914, + hash: 13198606238288724329, name: "ParentingTest", ), - "bevy_hierarchy::components::parent::Parent": (4294967355), + "bevy_hierarchy::components::parent::Parent": (20), "bevy_hierarchy::components::children::Children": ([ - 4294967323, + 17179869270, ]), "bevy_gltf_save_load::saveable::Dynamic": (true), "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), @@ -400,13 +290,13 @@ "bevy_render::view::visibility::InheritedVisibility": (true), }, ), - 4294967322: ( + 17179869270: ( components: { "bevy_transform::components::transform::Transform": ( translation: ( - x: -5.3368125, + x: -3.449185, y: 2.0, - z: -4.6879, + z: 2.4954972, ), rotation: ( x: 0.0, @@ -439,29 +329,29 @@ ), ), translation: ( - x: -33.93416, + x: -21.158876, y: 5.6987834, - z: -33.676632, + z: -9.509808, ), )), "bevy_core::name::Name": ( - hash: 12227652970378347066, + hash: 8538030051948141679, name: "SubParentingTest", ), - "bevy_hierarchy::components::parent::Parent": (17179869213), + "bevy_hierarchy::components::parent::Parent": (17179869267), "bevy_gltf_save_load::saveable::Dynamic": (true), "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Sphero"), "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), "bevy_render::view::visibility::InheritedVisibility": (true), }, ), - 4294967323: ( + 17179869278: ( components: { "bevy_transform::components::transform::Transform": ( translation: ( - x: 1.4628916, + x: 4.9166813, y: 2.0, - z: -5.380514, + z: -4.385274, ), rotation: ( x: 0.0, @@ -494,29 +384,87 @@ ), ), translation: ( - x: -20.334751, - y: 5.6987834, - z: -35.06186, + x: -9.343826, + y: 3.6987834, + z: -18.886074, ), )), "bevy_core::name::Name": ( - hash: 12227652970378347066, + hash: 13198606238288724329, + name: "ParentingTest", + ), + "bevy_hierarchy::components::parent::Parent": (20), + "bevy_hierarchy::components::children::Children": ([ + 17179869281, + ]), + "bevy_gltf_save_load::saveable::Dynamic": (true), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), + "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), + "bevy_render::view::visibility::InheritedVisibility": (true), + }, + ), + 17179869281: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 4.9166813, + y: 2.0, + z: -4.385274, + ), + rotation: ( + x: 0.0, + y: 0.0, + z: 0.0, + w: 1.0, + ), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_transform::components::global_transform::GlobalTransform": (( + matrix3: ( + x_axis: ( + x: 1.0, + y: 0.0, + z: 0.0, + ), + y_axis: ( + x: 0.0, + y: 1.0, + z: 0.0, + ), + z_axis: ( + x: 0.0, + y: 0.0, + z: 1.0, + ), + ), + translation: ( + x: -4.427145, + y: 5.6987834, + z: -23.271347, + ), + )), + "bevy_core::name::Name": ( + hash: 8538030051948141679, name: "SubParentingTest", ), - "bevy_hierarchy::components::parent::Parent": (4294967319), + "bevy_hierarchy::components::parent::Parent": (17179869278), "bevy_gltf_save_load::saveable::Dynamic": (true), "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Sphero"), "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), "bevy_render::view::visibility::InheritedVisibility": (true), }, ), - 4294967326: ( + 17179869289: ( components: { "bevy_transform::components::transform::Transform": ( translation: ( - x: 5.1854753, + x: -1.0554132, y: 2.0, - z: 0.4241066, + z: -3.632555, ), rotation: ( x: 0.0, @@ -549,18 +497,18 @@ ), ), translation: ( - x: -18.075058, + x: -15.315921, y: 3.6987834, - z: -23.876724, + z: -18.133356, ), )), "bevy_core::name::Name": ( - hash: 11525084598183387914, + hash: 13198606238288724329, name: "ParentingTest", ), - "bevy_hierarchy::components::parent::Parent": (4294967355), + "bevy_hierarchy::components::parent::Parent": (20), "bevy_hierarchy::components::children::Children": ([ - 4294967331, + 17179869292, ]), "bevy_gltf_save_load::saveable::Dynamic": (true), "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), @@ -568,13 +516,13 @@ "bevy_render::view::visibility::InheritedVisibility": (true), }, ), - 4294967327: ( + 17179869292: ( components: { "bevy_transform::components::transform::Transform": ( translation: ( - x: 2.0302448, + x: -1.0554132, y: 2.0, - z: 0.7366843, + z: -3.632555, ), rotation: ( x: 0.0, @@ -607,29 +555,29 @@ ), ), translation: ( - x: -19.200045, + x: -16.371334, y: 5.6987834, - z: -22.827461, + z: -21.765911, ), )), "bevy_core::name::Name": ( - hash: 12227652970378347066, + hash: 8538030051948141679, name: "SubParentingTest", ), - "bevy_hierarchy::components::parent::Parent": (8589934599), + "bevy_hierarchy::components::parent::Parent": (17179869289), "bevy_gltf_save_load::saveable::Dynamic": (true), "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Sphero"), "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), "bevy_render::view::visibility::InheritedVisibility": (true), }, ), - 4294967328: ( + 17179869300: ( components: { "bevy_transform::components::transform::Transform": ( translation: ( - x: -1.0132551, + x: -1.6405792, y: 2.0, - z: -2.93677, + z: -5.160252, ), rotation: ( x: 0.0, @@ -662,803 +610,81 @@ ), ), translation: ( - x: -25.287045, - y: 5.6987834, - z: -30.17437, + x: -15.901087, + y: 3.6987834, + z: -19.661053, ), )), "bevy_core::name::Name": ( - hash: 12227652970378347066, + hash: 13198606238288724329, + name: "ParentingTest", + ), + "bevy_hierarchy::components::parent::Parent": (20), + "bevy_hierarchy::components::children::Children": ([ + 17179869303, + ]), + "bevy_gltf_save_load::saveable::Dynamic": (true), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), + "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), + "bevy_render::view::visibility::InheritedVisibility": (true), + }, + ), + 17179869303: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: -1.6405792, + y: 2.0, + z: -5.160252, + ), + rotation: ( + x: 0.0, + y: 0.0, + z: 0.0, + w: 1.0, + ), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_transform::components::global_transform::GlobalTransform": (( + matrix3: ( + x_axis: ( + x: 1.0, + y: 0.0, + z: 0.0, + ), + y_axis: ( + x: 0.0, + y: 1.0, + z: 0.0, + ), + z_axis: ( + x: 0.0, + y: 0.0, + z: 1.0, + ), + ), + translation: ( + x: -17.541666, + y: 5.6987834, + z: -24.821304, + ), + )), + "bevy_core::name::Name": ( + hash: 8538030051948141679, name: "SubParentingTest", ), - "bevy_hierarchy::components::parent::Parent": (4294967315), + "bevy_hierarchy::components::parent::Parent": (17179869300), "bevy_gltf_save_load::saveable::Dynamic": (true), "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Sphero"), "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), "bevy_render::view::visibility::InheritedVisibility": (true), }, ), - 4294967329: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -4.2068176, - y: 2.0, - z: 3.3114986, - ), - rotation: ( - x: 0.0, - y: 0.0, - z: 0.0, - w: 1.0, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 1.0, - y: 0.0, - z: 0.0, - ), - y_axis: ( - x: 0.0, - y: 1.0, - z: 0.0, - ), - z_axis: ( - x: 0.0, - y: 0.0, - z: 1.0, - ), - ), - translation: ( - x: -27.467352, - y: 3.6987834, - z: -20.989332, - ), - )), - "bevy_core::name::Name": ( - hash: 11525084598183387914, - name: "ParentingTest", - ), - "bevy_hierarchy::components::parent::Parent": (4294967355), - "bevy_hierarchy::components::children::Children": ([ - 4294967314, - ]), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 4294967330: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -5.2756443, - y: 2.0, - z: 3.7743902, - ), - rotation: ( - x: 0.0, - y: 0.0, - z: 0.0, - w: 1.0, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 1.0, - y: 0.0, - z: 0.0, - ), - y_axis: ( - x: 0.0, - y: 1.0, - z: 0.0, - ), - z_axis: ( - x: 0.0, - y: 0.0, - z: 1.0, - ), - ), - translation: ( - x: -28.536179, - y: 3.6987834, - z: -20.52644, - ), - )), - "bevy_core::name::Name": ( - hash: 11525084598183387914, - name: "ParentingTest", - ), - "bevy_hierarchy::components::parent::Parent": (4294967355), - "bevy_hierarchy::components::children::Children": ([ - 21474836496, - ]), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 4294967331: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: 5.1854753, - y: 2.0, - z: 0.4241066, - ), - rotation: ( - x: 0.0, - y: 0.0, - z: 0.0, - w: 1.0, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 1.0, - y: 0.0, - z: 0.0, - ), - y_axis: ( - x: 0.0, - y: 1.0, - z: 0.0, - ), - z_axis: ( - x: 0.0, - y: 0.0, - z: 1.0, - ), - ), - translation: ( - x: -12.889583, - y: 5.6987834, - z: -23.452618, - ), - )), - "bevy_core::name::Name": ( - hash: 12227652970378347066, - name: "SubParentingTest", - ), - "bevy_hierarchy::components::parent::Parent": (4294967326), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Sphero"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 8589934599: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: 2.0302448, - y: 2.0, - z: 0.7366843, - ), - rotation: ( - x: 0.0, - y: 0.0, - z: 0.0, - w: 1.0, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 1.0, - y: 0.0, - z: 0.0, - ), - y_axis: ( - x: 0.0, - y: 1.0, - z: 0.0, - ), - z_axis: ( - x: 0.0, - y: 0.0, - z: 1.0, - ), - ), - translation: ( - x: -21.23029, - y: 3.6987834, - z: -23.564146, - ), - )), - "bevy_core::name::Name": ( - hash: 11525084598183387914, - name: "ParentingTest", - ), - "bevy_hierarchy::components::parent::Parent": (4294967355), - "bevy_hierarchy::components::children::Children": ([ - 4294967327, - ]), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 12884901893: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -5.375821, - y: 2.0, - z: -1.2236366, - ), - rotation: ( - x: 0.0, - y: 0.0, - z: 0.0, - w: 1.0, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 1.0, - y: 0.0, - z: 0.0, - ), - y_axis: ( - x: 0.0, - y: 1.0, - z: 0.0, - ), - z_axis: ( - x: 0.0, - y: 0.0, - z: 1.0, - ), - ), - translation: ( - x: -28.636356, - y: 3.6987834, - z: -25.524467, - ), - )), - "bevy_core::name::Name": ( - hash: 11525084598183387914, - name: "ParentingTest", - ), - "bevy_hierarchy::components::parent::Parent": (4294967355), - "bevy_hierarchy::components::children::Children": ([ - 4294967316, - ]), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 17179869209: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -2.2050228, - y: 2.0, - z: 5.3109236, - ), - rotation: ( - x: 0.0, - y: 0.0, - z: 0.0, - w: 1.0, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 1.0, - y: 0.0, - z: 0.0, - ), - y_axis: ( - x: 0.0, - y: 1.0, - z: 0.0, - ), - z_axis: ( - x: 0.0, - y: 0.0, - z: 1.0, - ), - ), - translation: ( - x: -25.465557, - y: 3.6987834, - z: -18.989906, - ), - )), - "bevy_core::name::Name": ( - hash: 11525084598183387914, - name: "ParentingTest", - ), - "bevy_hierarchy::components::parent::Parent": (4294967355), - "bevy_hierarchy::components::children::Children": ([ - 4294967313, - ]), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 17179869213: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -5.3368125, - y: 2.0, - z: -4.6879, - ), - rotation: ( - x: 0.0, - y: 0.0, - z: 0.0, - w: 1.0, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 1.0, - y: 0.0, - z: 0.0, - ), - y_axis: ( - x: 0.0, - y: 1.0, - z: 0.0, - ), - z_axis: ( - x: 0.0, - y: 0.0, - z: 1.0, - ), - ), - translation: ( - x: -28.597347, - y: 3.6987834, - z: -28.988731, - ), - )), - "bevy_core::name::Name": ( - hash: 11525084598183387914, - name: "ParentingTest", - ), - "bevy_hierarchy::components::parent::Parent": (4294967355), - "bevy_hierarchy::components::children::Children": ([ - 4294967322, - ]), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 21474836496: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -5.2756443, - y: 2.0, - z: 3.7743902, - ), - rotation: ( - x: 0.0, - y: 0.0, - z: 0.0, - w: 1.0, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 1.0, - y: 0.0, - z: 0.0, - ), - y_axis: ( - x: 0.0, - y: 1.0, - z: 0.0, - ), - z_axis: ( - x: 0.0, - y: 0.0, - z: 1.0, - ), - ), - translation: ( - x: -33.81182, - y: 5.6987834, - z: -16.752048, - ), - )), - "bevy_core::name::Name": ( - hash: 12227652970378347066, - name: "SubParentingTest", - ), - "bevy_hierarchy::components::parent::Parent": (4294967330), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Sphero"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 4294967306: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -7.288043, - y: 0.4981097, - z: 2.2298644, - ), - rotation: ( - x: 0.6357745, - y: 0.5369656, - z: 0.30949104, - w: -0.46008036, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.23176646, - y: 0.39799657, - z: 0.8876277, - ), - y_axis: ( - x: 0.9675596, - y: 0.000012218952, - z: -0.2526426, - ), - z_axis: ( - x: -0.10056165, - y: 0.9173868, - z: -0.38508248, - ), - ), - translation: ( - x: -7.288043, - y: 0.4981097, - z: 2.2298644, - ), - )), - "bevy_core::name::Name": ( - hash: 8887819794052303637, - name: "test11239097852357851377", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: 0.0, - y: 0.0, - z: 0.0, - ), - angvel: ( - x: 0.0, - y: 0.0, - z: 0.0, - ), - ), - }, - ), - 4294967307: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -6.933158, - y: 0.49766284, - z: 3.7499082, - ), - rotation: ( - x: -0.4469943, - y: 0.6741115, - z: 0.5477982, - w: 0.21374497, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: -0.5090184, - y: -0.36846972, - z: -0.77790123, - ), - y_axis: ( - x: -0.8368262, - y: 0.00022637844, - z: 0.54746854, - ), - z_axis: ( - x: -0.20154947, - y: 0.9296397, - z: -0.30846035, - ), - ), - translation: ( - x: -6.933158, - y: 0.49766284, - z: 3.7499082, - ), - )), - "bevy_core::name::Name": ( - hash: 12992148551202274181, - name: "test312134675716618292", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: -0.22741863, - y: -0.005733113, - z: -0.34727955, - ), - angvel: ( - x: -0.6965903, - y: 0.00006836644, - z: 0.455849, - ), - ), - }, - ), - 4294967355: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -23.260534, - y: 1.6987833, - z: -24.30083, - ), - rotation: ( - x: 0.0, - y: 0.0, - z: 0.0, - w: 1.0, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 1.0, - y: 0.0, - z: 0.0, - ), - y_axis: ( - x: 0.0, - y: 1.0, - z: 0.0, - ), - z_axis: ( - x: 0.0, - y: 0.0, - z: 1.0, - ), - ), - translation: ( - x: -23.260534, - y: 1.6987833, - z: -24.30083, - ), - )), - "bevy_core::name::Name": ( - hash: 3742511300108809551, - name: "Player", - ), - "bevy_hierarchy::components::children::Children": ([ - 4294967319, - 8589934599, - 4294967309, - 4294967329, - 12884901893, - 4294967330, - 4294967326, - 17179869209, - 4294967315, - 17179869213, - ]), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Player"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 4294967356: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -1.3321748, - y: 0.49812344, - z: 5.8811045, - ), - rotation: ( - x: 0.69376576, - y: 0.61800337, - z: -0.13670437, - w: 0.34361714, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.19876748, - y: 0.76355124, - z: -0.6143947, - ), - y_axis: ( - x: 0.9514471, - y: 0.0000019669533, - z: 0.3078121, - ), - z_axis: ( - x: 0.23503149, - y: -0.6457471, - z: -0.7264782, - ), - ), - translation: ( - x: -1.3321748, - y: 0.49812344, - z: 5.8811045, - ), - )), - "bevy_core::name::Name": ( - hash: 11771294558428819596, - name: "test18243995066128479105", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: -0.18925886, - y: -0.00008480358, - z: 0.58490133, - ), - angvel: ( - x: 1.1719902, - y: 0.0000011311529, - z: 0.37922552, - ), - ), - }, - ), - 4294967357: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: 6.535548, - y: 0.49754578, - z: 8.382693, - ), - rotation: ( - x: -0.17711681, - y: 0.07649447, - z: -0.68457824, - w: 0.7029444, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.051002443, - y: -0.9895378, - z: 0.13495791, - ), - y_axis: ( - x: 0.9353439, - y: -0.00003540516, - z: -0.35373944, - ), - z_axis: ( - x: 0.35004336, - y: 0.14427364, - z: 0.9255565, - ), - ), - translation: ( - x: 6.535548, - y: 0.49754578, - z: 8.382693, - ), - )), - "bevy_core::name::Name": ( - hash: 14649876376422140665, - name: "Health_Pickup", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - }, - ), - 4294967358: ( + 17: ( components: { "bevy_render::camera::camera::Camera": ( viewport: None, @@ -1478,15 +704,15 @@ "bevy_render::primitives::Frustum": (), "bevy_transform::components::transform::Transform": ( translation: ( - x: 2.7393978, - y: 49.69877, - z: -50.30073, + x: 11.739496, + y: 49.6988, + z: -40.500816, ), rotation: ( - x: -0.16939682, - y: 0.8284353, - z: 0.40895978, - w: 0.34314942, + x: -0.16939642, + y: 0.82843584, + z: 0.40895927, + w: 0.34314921, ), scale: ( x: 1.0, @@ -1497,25 +723,25 @@ "bevy_transform::components::global_transform::GlobalTransform": (( matrix3: ( x_axis: ( - x: -0.70710635, + x: -0.7071073, y: 0.0, - z: -0.7071071, + z: -0.7071067, ), y_axis: ( - x: -0.56133723, - y: 0.6081132, + x: -0.5613362, + y: 0.60811436, z: 0.5613366, ), z_axis: ( - x: 0.4300012, - y: 0.79385024, - z: -0.43000066, + x: 0.43000174, + y: 0.7938495, + z: -0.4300022, ), ), translation: ( - x: 2.7393978, - y: 49.69877, - z: -50.30073, + x: 11.739496, + y: 49.6988, + z: -40.500816, ), )), "bevy_core_pipeline::core_3d::camera_3d::Camera3d": ( @@ -1527,11 +753,11 @@ ), "bevy_core_pipeline::tonemapping::Tonemapping": BlenderFilmic, "bevy_core::name::Name": ( - hash: 15844466280752129540, + hash: 5289746507513922996, name: "Camera", ), "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_save_load_basic_example::core::camera::camera_tracking::CameraTrackingOffset": (( + "bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTrackingOffset": (( x: 26.0, y: 48.0, z: -26.0, @@ -1539,816 +765,12 @@ "bevy_render::view::visibility::InheritedVisibility": (true), }, ), - 4294967361: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -25.493845, - y: 0.49812365, - z: -12.402787, - ), - rotation: ( - x: 0.36418545, - y: -0.7049958, - z: -0.6061089, - w: -0.05460626, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: -0.7287742, - y: -0.44730374, - z: -0.5184665, - ), - y_axis: ( - x: -0.5796931, - y: 0.0000019073486, - z: 0.8148349, - ), - z_axis: ( - x: -0.36447772, - y: 0.89438206, - z: -0.25930023, - ), - ), - translation: ( - x: -25.493845, - y: 0.49812365, - z: -12.402787, - ), - )), - "bevy_core::name::Name": ( - hash: 5247816456120987171, - name: "test2582167838114257347", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: -1.751566, - y: -0.00006749275, - z: -1.2461432, - ), - angvel: ( - x: -2.4969466, - y: 0.000004362554, - z: 3.5096824, - ), - ), - }, - ), - 4294967492: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -4.9920077, - y: 0.81558603, - z: 4.474934, - ), - rotation: ( - x: -0.063114665, - y: -0.26704848, - z: 0.59302473, - w: 0.756983, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.15401351, - y: 0.9315286, - z: 0.32944518, - ), - y_axis: ( - x: -0.86410993, - y: 0.28867638, - z: -0.41228616, - ), - z_axis: ( - x: -0.4791594, - y: -0.22117925, - z: 0.8494033, - ), - ), - translation: ( - x: -4.9920077, - y: 0.81558603, - z: 4.474934, - ), - )), - "bevy_core::name::Name": ( - hash: 5889033640271354729, - name: "test7607124372052964197", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: -0.58648634, - y: -0.31429863, - z: 0.66094667, - ), - angvel: ( - x: 1.5286787, - y: -0.62694865, - z: 1.0580964, - ), - ), - }, - ), - 4294967496: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: 3.2762408, - y: 0.4981076, - z: 2.1016297, - ), - rotation: ( - x: -0.654017, - y: -0.00000071709474, - z: -0.26901913, - w: 0.70702934, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.8552574, - y: -0.3804079, - z: 0.35188717, - ), - y_axis: ( - x: 0.38040975, - y: -0.00021898746, - z: -0.92481804, - ), - z_axis: ( - x: 0.35188514, - y: 0.92481875, - z: 0.14452362, - ), - ), - translation: ( - x: 3.2762408, - y: 0.4981076, - z: 2.1016297, - ), - )), - "bevy_core::name::Name": ( - hash: 15406684986167072, - name: "test5726861144769665045", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: 0.108614616, - y: 0.0010768953, - z: -0.26639044, - ), - angvel: ( - x: 0.0011672559, - y: -0.0024434621, - z: -0.003079506, - ), - ), - }, - ), - 4294967500: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: 1.0343102, - y: 0.55711305, - z: 3.023412, - ), - rotation: ( - x: 0.475089, - y: 0.000006328337, - z: 0.49772972, - w: 0.7256414, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.50453025, - y: 0.7223526, - z: 0.47292265, - ), - y_axis: ( - x: -0.7223406, - y: 0.053111076, - z: 0.68949485, - ), - z_axis: ( - x: 0.472941, - y: -0.6894822, - z: 0.5485809, - ), - ), - translation: ( - x: 1.0343102, - y: 0.55711305, - z: 3.023412, - ), - )), - "bevy_core::name::Name": ( - hash: 14907442938390545608, - name: "test15491425733849030141", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: -1.4335963, - y: -3.1702905, - z: 1.3684047, - ), - angvel: ( - x: 2.0015316, - y: 0.000009884588, - z: 2.096909, - ), - ), - }, - ), - 4294967504: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: 6.341096, - y: 0.9969703, - z: 7.157166, - ), - rotation: ( - x: 0.40568426, - y: -0.35131618, - z: -0.32982755, - w: 0.7766666, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.53558147, - y: -0.797379, - z: 0.27809942, - ), - y_axis: ( - x: 0.22728518, - y: 0.45326817, - z: 0.86191034, - ), - z_axis: ( - x: -0.8133228, - y: -0.39841533, - z: 0.42399442, - ), - ), - translation: ( - x: 6.341096, - y: 0.9969703, - z: 7.157166, - ), - )), - "bevy_core::name::Name": ( - hash: 5766952398097986970, - name: "test1319791526494826970", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: 0.23741817, - y: 0.0433962, - z: 0.27994156, - ), - angvel: ( - x: -0.105580404, - y: -0.11032705, - z: -0.22751106, - ), - ), - }, - ), - 4294967508: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: 1.7111174, - y: 1.5965495, - z: -0.28478992, - ), - rotation: ( - x: 0.023569103, - y: -0.000000040367013, - z: 0.015840217, - w: 0.9995967, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.9994982, - y: 0.031667653, - z: 0.0007467601, - ), - y_axis: ( - x: -0.03166766, - y: 0.99838716, - z: 0.047119197, - ), - z_axis: ( - x: 0.00074659876, - y: -0.047119197, - z: 0.99888897, - ), - ), - translation: ( - x: 1.7111174, - y: 1.5965495, - z: -0.28478992, - ), - )), - "bevy_core::name::Name": ( - hash: 5571590536334849636, - name: "test1674739915643664398", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: -0.09296543, - y: -0.0063177478, - z: 0.13832632, - ), - angvel: ( - x: 0.08658932, - y: -0.00000014938985, - z: 0.05819437, - ), - ), - }, - ), - 4294967512: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -1.5826693, - y: 1.5393476, - z: -4.3061185, - ), - rotation: ( - x: 0.058324553, - y: 0.00000007249764, - z: -0.15305068, - w: 0.9864957, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.953151, - y: -0.30196765, - z: -0.017853368, - ), - y_axis: ( - x: 0.30196765, - y: 0.9463475, - z: 0.115073815, - ), - z_axis: ( - x: -0.017853081, - y: -0.11507386, - z: 0.9931965, - ), - ), - translation: ( - x: -1.5826693, - y: 1.5393476, - z: -4.3061185, - ), - )), - "bevy_core::name::Name": ( - hash: 9232722840751228859, - name: "test16789708871576306607", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: 0.92234856, - y: -0.22055921, - z: 0.35148948, - ), - angvel: ( - x: 0.2276644, - y: 0.0000009784032, - z: -0.5974168, - ), - ), - }, - ), - 4294967516: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -4.525213, - y: 0.7750231, - z: -0.17502502, - ), - rotation: ( - x: 0.4466202, - y: 0.17568037, - z: -0.6523265, - w: 0.58663183, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.08721304, - y: -0.6084262, - z: -0.7888038, - ), - y_axis: ( - x: 0.9222758, - y: -0.24999905, - z: 0.29480135, - ), - z_axis: ( - x: -0.376565, - y: -0.7532052, - z: 0.5393336, - ), - ), - translation: ( - x: -4.525213, - y: 0.7750231, - z: -0.17502502, - ), - )), - "bevy_core::name::Name": ( - hash: 333871819790518369, - name: "test15444470665606374897", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: -2.7437484, - y: -3.3437164, - z: -2.3115048, - ), - angvel: ( - x: -3.0006366, - y: 0.9244151, - z: 2.3713787, - ), - ), - }, - ), - 4294967520: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: 1.8888425, - y: 1.5689882, - z: -1.5552188, - ), - rotation: ( - x: 0.113464825, - y: -0.00000020895095, - z: 0.021926481, - w: 0.9933, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.99903846, - y: 0.0435591, - z: 0.0049761836, - ), - y_axis: ( - x: -0.043559197, - y: 0.9732899, - z: 0.22540921, - ), - z_axis: ( - x: 0.004975354, - y: -0.22540924, - z: 0.97425145, - ), - ), - translation: ( - x: 1.8888425, - y: 1.5689882, - z: -1.5552188, - ), - )), - "bevy_core::name::Name": ( - hash: 3509298148931429876, - name: "test2496051646124357008", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: -0.16054136, - y: -0.13092233, - z: 0.83077115, - ), - angvel: ( - x: 0.5284708, - y: -0.0000013110855, - z: 0.10212349, - ), - ), - }, - ), - 4294967524: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: -2.1701968, - y: 0.7805994, - z: 3.9727407, - ), - rotation: ( - x: 0.5706888, - y: 0.35842514, - z: -0.2145796, - w: 0.7069662, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.65097404, - y: 0.10569736, - z: -0.7517052, - ), - y_axis: ( - x: 0.7124995, - y: 0.25653982, - z: 0.65309393, - ), - z_axis: ( - x: 0.2618726, - y: -0.9607369, - z: 0.091691494, - ), - ), - translation: ( - x: -2.1701968, - y: 0.7805994, - z: 3.9727407, - ), - )), - "bevy_core::name::Name": ( - hash: 14209915335791442119, - name: "test15495879109551239256", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: 0.82487506, - y: -2.3229113, - z: 1.2957921, - ), - angvel: ( - x: 2.534364, - y: 0.839257, - z: -0.6552327, - ), - ), - }, - ), - 4294967528: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: 5.063053, - y: 1.5967827, - z: -0.17321607, - ), - rotation: ( - x: 0.01903159, - y: 0.00000003883906, - z: 0.018831024, - w: 0.9996415, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: 0.99929076, - y: 0.037648544, - z: 0.000716691, - ), - y_axis: ( - x: -0.037648544, - y: 0.9985664, - z: 0.038049534, - ), - z_axis: ( - x: 0.0007168463, - y: -0.038049534, - z: 0.9992756, - ), - ), - translation: ( - x: 5.063053, - y: 1.5967827, - z: -0.17321607, - ), - )), - "bevy_core::name::Name": ( - hash: 16108438029532537403, - name: "test13576182779630349751", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: -0.45847216, - y: -0.020973437, - z: 0.46335497, - ), - angvel: ( - x: 0.28996477, - y: 0.00000058175317, - z: 0.28690916, - ), - ), - }, - ), - 8589934658: ( - components: { - "bevy_transform::components::transform::Transform": ( - translation: ( - x: 6.1006203, - y: 0.49812356, - z: 3.580489, - ), - rotation: ( - x: 0.0768257, - y: -0.49943498, - z: -0.70292014, - w: 0.50056535, - ), - scale: ( - x: 1.0, - y: 1.0, - z: 1.0, - ), - ), - "bevy_transform::components::global_transform::GlobalTransform": (( - matrix3: ( - x_axis: ( - x: -0.487064, - y: -0.7804538, - z: 0.39199504, - ), - y_axis: ( - x: 0.626976, - y: 0.0000021457672, - z: 0.77903837, - ), - z_axis: ( - x: -0.6080044, - y: 0.6252132, - z: 0.48932505, - ), - ), - translation: ( - x: 6.1006203, - y: 0.49812356, - z: 3.580489, - ), - )), - "bevy_core::name::Name": ( - hash: 5610645830027884689, - name: "test18152638408579826398", - ), - "bevy_gltf_save_load::saveable::Dynamic": (true), - "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), - "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), - "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: 0.6629742, - y: -0.00007954295, - z: -0.5336061, - ), - angvel: ( - x: -1.0692078, - y: -0.0000014726246, - z: -1.3284277, - ), - ), - }, - ), - 17179869242: ( + 18: ( components: { "bevy_transform::components::transform::Transform": ( translation: ( x: -1.2373765, - y: 1.5983436, + y: 1.5983288, z: -14.737572, ), rotation: ( @@ -2383,34 +805,34 @@ ), translation: ( x: -1.2373765, - y: 1.5983436, + y: 1.5983288, z: -14.737572, ), )), "bevy_core::name::Name": ( - hash: 15782802592076175270, + hash: 18119748942184862963, name: "Health_Pickup.001", ), "bevy_gltf_save_load::saveable::Dynamic": (true), "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "bevy_gltf_worlflow_examples_common::game::picking::Pickable": (), "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), "bevy_render::view::visibility::InheritedVisibility": (true), }, ), - 25769803903: ( + 19: ( components: { "bevy_transform::components::transform::Transform": ( translation: ( - x: -7.389497, - y: 0.49812272, - z: -2.7608006, + x: 4.6975822, + y: 1.5983198, + z: 8.962216, ), rotation: ( - x: -0.061189484, - y: -0.00019909017, - z: 0.7044531, - w: 0.7071079, + x: -0.000019148343, + y: -0.000000000013409105, + z: -0.000020683929, + w: 1.0, ), scale: ( x: 1.0, @@ -2421,63 +843,51 @@ "bevy_transform::components::global_transform::GlobalTransform": (( matrix3: ( x_axis: ( - x: 0.0074915886, - y: 0.9962731, - z: -0.085928686, + x: 1.0, + y: -0.000041367857, + z: 0.00000000081894413, ), y_axis: ( - x: -0.99622434, - y: 0.00000333786, - z: -0.08681563, + x: 0.000041367857, + y: 1.0, + z: -0.000038296686, ), z_axis: ( - x: -0.0864918, - y: 0.086254634, - z: 0.99251163, + x: 0.0000000007653077, + y: 0.000038296686, + z: 1.0, ), ), translation: ( - x: -7.389497, - y: 0.49812272, - z: -2.7608006, + x: 4.6975822, + y: 1.5983198, + z: 8.962216, ), )), "bevy_core::name::Name": ( - hash: 14711562368185091299, - name: "test3121563718590801717", + hash: 9357833520057554797, + name: "Health_Pickup", ), "bevy_gltf_save_load::saveable::Dynamic": (true), "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "bevy_gltf_worlflow_examples_common::game::picking::Pickable": (), "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), "bevy_render::view::visibility::InheritedVisibility": (true), - "bevy_rapier3d::dynamics::rigid_body::Velocity": ( - linvel: ( - x: -0.000011626149, - y: -0.00008378431, - z: 0.00048400648, - ), - angvel: ( - x: 0.00096944225, - y: -0.00000017537552, - z: 0.000023260392, - ), - ), }, ), - 42949673007: ( + 20: ( components: { "bevy_transform::components::transform::Transform": ( translation: ( - x: 1.2928966, - y: 0.49812183, - z: 5.187275, + x: -14.260508, + y: 1.6987833, + z: -14.500801, ), rotation: ( - x: -0.6987065, - y: -0.0073659495, - z: -0.10865899, - w: -0.7070701, + x: 0.0, + y: 0.0, + z: 0.0, + w: 1.0, ), scale: ( x: 1.0, @@ -2488,46 +898,242 @@ "bevy_transform::components::global_transform::GlobalTransform": (( matrix3: ( x_axis: ( - x: 0.97627795, - y: 0.16395232, - z: 0.14142501, + x: 1.0, + y: 0.0, + z: 0.0, ), y_axis: ( - x: -0.14336577, - y: 0.000004887581, - z: 0.98966974, + x: 0.0, + y: 1.0, + z: 0.0, ), z_axis: ( - x: 0.16225797, - y: -0.98646826, - z: 0.02350992, + x: 0.0, + y: 0.0, + z: 1.0, ), ), translation: ( - x: 1.2928966, - y: 0.49812183, - z: 5.187275, + x: -14.260508, + y: 1.6987833, + z: -14.500801, ), )), "bevy_core::name::Name": ( - hash: 5172269147847631123, - name: "test5254630037543835847", + hash: 819952956588726607, + name: "Player", + ), + "bevy_hierarchy::components::children::Children": ([ + 12884901959, + 4294967368, + 17179869267, + 17179869278, + 17179869289, + 17179869300, + ]), + "bevy_gltf_save_load::saveable::Dynamic": (true), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Player"), + "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), + "bevy_render::view::visibility::InheritedVisibility": (true), + }, + ), + 8589934616: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 2.4660995, + y: 0.49849892, + z: -1.3078667, + ), + rotation: ( + x: 0.47177938, + y: -0.0032089436, + z: -0.5268298, + w: 0.70701075, + ), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_transform::components::global_transform::GlobalTransform": (( + matrix3: ( + x_axis: ( + x: 0.44488013, + y: -0.7479765, + z: -0.49255732, + ), + y_axis: ( + x: 0.74192077, + y: -0.00025081635, + z: 0.6704873, + ), + z_axis: ( + x: -0.50163233, + y: -0.663725, + z: 0.5548278, + ), + ), + translation: ( + x: 2.4660995, + y: 0.49849892, + z: -1.3078667, + ), + )), + "bevy_core::name::Name": ( + hash: 16557391108168334838, + name: "test15357418344681101652", ), "bevy_gltf_save_load::saveable::Dynamic": (true), "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "bevy_gltf_worlflow_examples_common::game::picking::Pickable": (), "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), - "bevy_gltf_save_load_basic_example::game::picking::Pickable": (), "bevy_render::view::visibility::InheritedVisibility": (true), "bevy_rapier3d::dynamics::rigid_body::Velocity": ( linvel: ( - x: 2.49349, - y: -0.00012572497, - z: 0.3612286, + x: 0.0, + y: 0.0, + z: 0.0, ), angvel: ( - x: 0.7238101, - y: -0.00003163344, - z: -4.996319, + x: 0.0, + y: 0.0, + z: 0.0, + ), + ), + }, + ), + 8589934640: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: -4.985139, + y: 0.49807918, + z: -3.5349207, + ), + rotation: ( + x: 0.46581778, + y: 0.017575154, + z: 0.53198445, + w: 0.7068928, + ), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_transform::components::global_transform::GlobalTransform": (( + matrix3: ( + x_axis: ( + x: 0.43336737, + y: 0.76848555, + z: 0.47076812, + ), + y_axis: ( + x: -0.7357383, + y: 0.000012695789, + z: 0.6772659, + ), + z_axis: ( + x: 0.5204631, + y: -0.63986707, + z: 0.5654098, + ), + ), + translation: ( + x: -4.985139, + y: 0.49807918, + z: -3.5349207, + ), + )), + "bevy_core::name::Name": ( + hash: 14523656990709224508, + name: "test12116529013794948401", + ), + "bevy_gltf_save_load::saveable::Dynamic": (true), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "bevy_gltf_worlflow_examples_common::game::picking::Pickable": (), + "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), + "bevy_render::view::visibility::InheritedVisibility": (true), + "bevy_rapier3d::dynamics::rigid_body::Velocity": ( + linvel: ( + x: 0.0, + y: 0.0, + z: 0.0, + ), + angvel: ( + x: 0.0, + y: 0.0, + z: 0.0, + ), + ), + }, + ), + 17179869248: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 2.4813743, + y: 0.49810848, + z: 4.07758, + ), + rotation: ( + x: 0.38143897, + y: -0.00907581, + z: 0.595397, + w: 0.7070533, + ), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_transform::components::global_transform::GlobalTransform": (( + matrix3: ( + x_axis: ( + x: 0.2908401, + y: 0.8350311, + z: 0.4670494, + ), + y_axis: ( + x: -0.84887856, + y: 0.00001347065, + z: 0.528588, + ), + z_axis: ( + x: 0.44138107, + y: -0.5502028, + z: 0.7088439, + ), + ), + translation: ( + x: 2.4813743, + y: 0.49810848, + z: 4.07758, + ), + )), + "bevy_core::name::Name": ( + hash: 17683666560735993383, + name: "test17764315703991047566", + ), + "bevy_gltf_save_load::saveable::Dynamic": (true), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "bevy_gltf_worlflow_examples_common::game::picking::Pickable": (), + "bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere": (), + "bevy_render::view::visibility::InheritedVisibility": (true), + "bevy_rapier3d::dynamics::rigid_body::Velocity": ( + linvel: ( + x: 0.0, + y: 0.0, + z: 0.0, + ), + angvel: ( + x: 0.0, + y: 0.0, + z: 0.0, ), ), }, diff --git a/examples/bevy_gltf_save_load/basic/src/assets/assets_core.rs b/examples/bevy_gltf_save_load/basic/src/assets/assets_core.rs deleted file mode 100644 index 29b577a..0000000 --- a/examples/bevy_gltf_save_load/basic/src/assets/assets_core.rs +++ /dev/null @@ -1,5 +0,0 @@ -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct CoreAssets {} diff --git a/examples/bevy_gltf_save_load/basic/src/assets/assets_game.rs b/examples/bevy_gltf_save_load/basic/src/assets/assets_game.rs deleted file mode 100644 index 05f2af6..0000000 --- a/examples/bevy_gltf_save_load/basic/src/assets/assets_game.rs +++ /dev/null @@ -1,16 +0,0 @@ -use bevy::gltf::Gltf; -use bevy::prelude::*; -use bevy::utils::HashMap; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct GameAssets { - #[asset(key = "world")] - pub world: Handle, - - #[asset(key = "world_dynamic")] - pub world_dynamic: Handle, - - #[asset(key = "models", collection(typed, mapped))] - pub models: HashMap>, -} diff --git a/examples/bevy_gltf_save_load/basic/src/assets/mod.rs b/examples/bevy_gltf_save_load/basic/src/assets/mod.rs deleted file mode 100644 index a2c8b22..0000000 --- a/examples/bevy_gltf_save_load/basic/src/assets/mod.rs +++ /dev/null @@ -1,35 +0,0 @@ -pub mod assets_core; -pub use assets_core::*; - -pub mod assets_game; -pub use assets_game::*; - -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -use crate::state::AppState; - -pub struct AssetsPlugin; -impl Plugin for AssetsPlugin { - fn build(&self, app: &mut App) { - app - // load core assets (ie assets needed in the main menu, and everywhere else before loading more assets in game) - .add_loading_state( - LoadingState::new(AppState::CoreLoading).continue_to_state(AppState::MenuRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::CoreLoading, - "assets_core.assets.ron", - ) - .add_collection_to_loading_state::<_, CoreAssets>(AppState::CoreLoading) - // load game assets - .add_loading_state( - LoadingState::new(AppState::AppLoading).continue_to_state(AppState::AppRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::AppLoading, - "assets_game.assets.ron", - ) - .add_collection_to_loading_state::<_, GameAssets>(AppState::AppLoading); - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/core/camera/camera_replace_proxies.rs b/examples/bevy_gltf_save_load/basic/src/core/camera/camera_replace_proxies.rs deleted file mode 100644 index 9055c95..0000000 --- a/examples/bevy_gltf_save_load/basic/src/core/camera/camera_replace_proxies.rs +++ /dev/null @@ -1,24 +0,0 @@ -use bevy::core_pipeline::bloom::{BloomCompositeMode, BloomSettings}; -use bevy::core_pipeline::tonemapping::{DebandDither, Tonemapping}; -use bevy::prelude::*; - -use super::CameraTrackingOffset; - -pub fn camera_replace_proxies( - mut commands: Commands, - mut added_cameras: Query<(Entity, &mut Camera), (Added, With)>, -) { - for (entity, mut camera) in added_cameras.iter_mut() { - info!("detected added camera, updating proxy"); - camera.hdr = true; - commands - .entity(entity) - .insert(DebandDither::Enabled) - .insert(Tonemapping::BlenderFilmic) - .insert(BloomSettings { - intensity: 0.01, - composite_mode: BloomCompositeMode::Additive, - ..default() - }); - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_save_load/basic/src/core/camera/camera_tracking.rs deleted file mode 100644 index 62da84d..0000000 --- a/examples/bevy_gltf_save_load/basic/src/core/camera/camera_tracking.rs +++ /dev/null @@ -1,58 +0,0 @@ -use bevy::prelude::*; - -#[derive(Component, Reflect, Debug)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -/// -pub struct CameraTracking { - pub offset: Vec3, -} -impl Default for CameraTracking { - fn default() -> Self { - CameraTracking { - offset: Vec3::new(0.0, 6.0, 8.0), - } - } -} - -#[derive(Component, Reflect, Debug, Deref, DerefMut)] -#[reflect(Component)] -/// Component for cameras, with an offset from the Trackable target -pub struct CameraTrackingOffset(Vec3); -impl Default for CameraTrackingOffset { - fn default() -> Self { - CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) - } -} - -impl CameraTrackingOffset { - fn new(input: Vec3) -> Self { - CameraTrackingOffset(input) - } -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Add this component to an entity if you want it to be tracked by a Camera -pub struct CameraTrackable; - -pub fn camera_track( - mut tracking_cameras: Query< - (&mut Transform, &CameraTrackingOffset), - ( - With, - With, - Without, - ), - >, - camera_tracked: Query<&Transform, With>, -) { - for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { - for tracked_transform in camera_tracked.iter() { - let target_position = tracked_transform.translation + tracking_offset.0; - let eased_position = camera_transform.translation.lerp(target_position, 0.1); - camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; - *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); - } - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/core/camera/mod.rs b/examples/bevy_gltf_save_load/basic/src/core/camera/mod.rs deleted file mode 100644 index a6bbb65..0000000 --- a/examples/bevy_gltf_save_load/basic/src/core/camera/mod.rs +++ /dev/null @@ -1,24 +0,0 @@ -pub mod camera_tracking; -pub use camera_tracking::*; - -pub mod camera_replace_proxies; -pub use camera_replace_proxies::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -pub struct CameraPlugin; -impl Plugin for CameraPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .add_systems( - Update, - ( - camera_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - camera_track, - ), - ); - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_gltf_save_load/basic/src/core/lighting/lighting_replace_proxies.rs deleted file mode 100644 index 48c0908..0000000 --- a/examples/bevy_gltf_save_load/basic/src/core/lighting/lighting_replace_proxies.rs +++ /dev/null @@ -1,25 +0,0 @@ -use bevy::prelude::*; - -use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; - -// fixme might be too specific to might needs, should it be moved out ? also these are all for lights, not models -pub fn lighting_replace_proxies( - mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, - mut added_spotlights: Query<&mut SpotLight, Added>, - mut commands: Commands, -) { - for (entity, mut light) in added_dirights.iter_mut() { - light.illuminance *= 5.0; - light.shadows_enabled = true; - let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { - first_cascade_far_bound: 15.0, - maximum_distance: 135.0, - ..default() - } - .into(); - commands.entity(entity).insert(shadow_config); - } - for mut light in added_spotlights.iter_mut() { - light.shadows_enabled = true; - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/core/lighting/mod.rs b/examples/bevy_gltf_save_load/basic/src/core/lighting/mod.rs deleted file mode 100644 index c9688cd..0000000 --- a/examples/bevy_gltf_save_load/basic/src/core/lighting/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod lighting_replace_proxies; -use lighting_replace_proxies::*; - -use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; -use bevy::prelude::*; - -pub struct LightingPlugin; -impl Plugin for LightingPlugin { - fn build(&self, app: &mut App) { - app - .insert_resource(DirectionalLightShadowMap { size: 4096 }) - // FIXME: adding these since they are missing - .register_type::() - - .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely - ; - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/core/mod.rs b/examples/bevy_gltf_save_load/basic/src/core/mod.rs index 2a42178..6d856d8 100644 --- a/examples/bevy_gltf_save_load/basic/src/core/mod.rs +++ b/examples/bevy_gltf_save_load/basic/src/core/mod.rs @@ -1,36 +1,19 @@ -pub mod camera; -pub use camera::*; - -pub mod lighting; -pub use lighting::*; - -pub mod relationships; -pub use relationships::*; - -pub mod physics; -pub use physics::*; - use bevy::{ core_pipeline::tonemapping::Tonemapping, prelude::*, render::{camera::CameraRenderGraph, primitives::Frustum, view::VisibleEntities}, utils::HashSet, }; -use bevy_rapier3d::dynamics::Velocity; -use std::any::TypeId; - use bevy_gltf_blueprints::*; use bevy_gltf_save_load::*; - -use crate::game::Pickable; +use bevy_gltf_worlflow_examples_common::{CameraTrackingOffset, Pickable}; +use bevy_rapier3d::dynamics::Velocity; +use std::any::TypeId; pub struct CorePlugin; impl Plugin for CorePlugin { fn build(&self, app: &mut App) { app.add_plugins(( - LightingPlugin, - CameraPlugin, - PhysicsPlugin, SaveLoadPlugin { save_path: "scenes".into(), component_filter: SceneFilter::Allowlist(HashSet::from([ diff --git a/examples/bevy_gltf_save_load/basic/src/core/physics/mod.rs b/examples/bevy_gltf_save_load/basic/src/core/physics/mod.rs deleted file mode 100644 index ac1b001..0000000 --- a/examples/bevy_gltf_save_load/basic/src/core/physics/mod.rs +++ /dev/null @@ -1,38 +0,0 @@ -pub mod physics_replace_proxies; -use bevy_rapier3d::{ - prelude::{NoUserData, RapierPhysicsPlugin}, - render::RapierDebugRenderPlugin, -}; -pub use physics_replace_proxies::*; - -pub mod utils; - -pub mod controls; -pub use controls::*; - -use crate::state::GameState; -use bevy::prelude::*; -// use super::blueprints::GltfBlueprintsSet; -use bevy_gltf_blueprints::GltfBlueprintsSet; -// use crate::Collider; -pub struct PhysicsPlugin; -impl Plugin for PhysicsPlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - RapierPhysicsPlugin::::default(), - RapierDebugRenderPlugin::default(), - )) - .register_type::() - .register_type::() - // find a way to make serde's stuff serializable - // .register_type::() - //bevy_rapier3d::dynamics::CoefficientCombineRule - .add_systems( - Update, - physics_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - ) - .add_systems(OnEnter(GameState::InGame), resume_physics) - .add_systems(OnExit(GameState::InGame), pause_physics) - .add_systems(Update, toggle_physics_debug); - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/core/physics/physics_replace_proxies.rs b/examples/bevy_gltf_save_load/basic/src/core/physics/physics_replace_proxies.rs deleted file mode 100644 index b91462c..0000000 --- a/examples/bevy_gltf_save_load/basic/src/core/physics/physics_replace_proxies.rs +++ /dev/null @@ -1,101 +0,0 @@ -use bevy::prelude::*; -// use bevy::render::primitives::Aabb; -use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::prelude::{ActiveCollisionTypes, ActiveEvents, ComputedColliderShape}; - -use super::utils::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum Collider { - Ball(f32), - Cuboid(Vec3), - Capsule(Vec3, Vec3, f32), - #[default] - Mesh, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum AutoAABBCollider { - #[default] - Cuboid, - Ball, - Capsule, -} - -// replaces all physics stand-ins with the actual rapier types -pub fn physics_replace_proxies( - meshes: Res>, - mesh_handles: Query<&Handle>, - mut proxy_colliders: Query< - (Entity, &Collider, &Name, &mut Visibility), - (Without, Added), - >, - // needed for tri meshes - children: Query<&Children>, - - mut commands: Commands, -) { - for proxy_colider in proxy_colliders.iter_mut() { - let (entity, collider_proxy, name, mut visibility) = proxy_colider; - // we hide the collider meshes: perhaps they should be removed altogether once processed ? - if name.ends_with("_collider") || name.ends_with("_sensor") { - *visibility = Visibility::Hidden; - } - - let mut rapier_collider: RapierCollider; - match collider_proxy { - Collider::Ball(radius) => { - info!("generating collider from proxy: ball"); - rapier_collider = RapierCollider::ball(*radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Cuboid(size) => { - info!("generating collider from proxy: cuboid"); - rapier_collider = RapierCollider::cuboid(size.x, size.y, size.z); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Capsule(a, b, radius) => { - info!("generating collider from proxy: capsule"); - rapier_collider = RapierCollider::capsule(*a, *b, *radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Mesh => { - info!("generating collider from proxy: mesh"); - for (_, collider_mesh) in - Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) - { - rapier_collider = RapierCollider::from_bevy_mesh( - collider_mesh, - &ComputedColliderShape::TriMesh, - ) - .unwrap(); - commands - .entity(entity) - .insert(rapier_collider) - // FIXME: this is just for demo purposes !!! - .insert( - ActiveCollisionTypes::default() - | ActiveCollisionTypes::KINEMATIC_STATIC - | ActiveCollisionTypes::STATIC_STATIC - | ActiveCollisionTypes::DYNAMIC_STATIC, - ) - .insert(ActiveEvents::COLLISION_EVENTS); - // .insert(ActiveEvents::COLLISION_EVENTS) - // break; - // RapierCollider::convex_hull(points) - } - } - } - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/core/physics/utils.rs b/examples/bevy_gltf_save_load/basic/src/core/physics/utils.rs deleted file mode 100644 index 7886710..0000000 --- a/examples/bevy_gltf_save_load/basic/src/core/physics/utils.rs +++ /dev/null @@ -1,175 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs - -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - -pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - parent: Entity, - children: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)>; -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - parent: Entity, - children_query: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)> { - if let Ok(children) = children_query.get(parent) { - let mut result: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .map(|(entity, mesh_handle)| { - ( - entity, - meshes - .get(mesh_handle) - .expect("Failed to get mesh from handle"), - ) - }) - .map(|(entity, mesh)| { - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (entity, mesh) - }) - .collect(); - let mut inner_result = children - .iter() - .flat_map(|entity| { - Self::search_in_children(*entity, children_query, meshes, mesh_handles) - }) - .collect(); - result.append(&mut inner_result); - result - } else { - Vec::new() - } - } -} - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/core/physics/utils_old.rs b/examples/bevy_gltf_save_load/basic/src/core/physics/utils_old.rs deleted file mode 100644 index c210dd3..0000000 --- a/examples/bevy_gltf_save_load/basic/src/core/physics/utils_old.rs +++ /dev/null @@ -1,75 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/6e31fc02652fc9d085a4adde0a73ab007dbbb0dc/src/util/trait_extension.rs - -pub trait Vec3Ext { - #[allow(clippy::wrong_self_convention)] // Because [`Vec3`] is [`Copy`] - fn is_approx_zero(self) -> bool; - fn x0z(self) -> Vec3; -} -impl Vec3Ext for Vec3 { - fn is_approx_zero(self) -> bool { - [self.x, self.y, self.z].iter().all(|&x| x.abs() < 1e-5) - } - fn x0z(self) -> Vec3 { - Vec3::new(self.x, 0., self.z) - } -} - -pub trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - children: &'a Children, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> (Entity, &'a Mesh); -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for attribute in [Mesh::ATTRIBUTE_POSITION, Mesh::ATTRIBUTE_NORMAL] { - for coords in self.read_coords_mut(attribute.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - match self.attribute_mut(id).unwrap() { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - children: &'a Children, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> (Entity, &'a Mesh) { - let entity_handles: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .collect(); - assert_eq!( - entity_handles.len(), - 1, - "Collider must contain exactly one mesh, but found {}", - entity_handles.len() - ); - let (entity, mesh_handle) = entity_handles.first().unwrap(); - let mesh = meshes.get(mesh_handle).unwrap(); - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (*entity, mesh) - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/core/relationships/mod.rs b/examples/bevy_gltf_save_load/basic/src/core/relationships/mod.rs deleted file mode 100644 index 4128453..0000000 --- a/examples/bevy_gltf_save_load/basic/src/core/relationships/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub mod relationships_insert_dependant_components; -pub use relationships_insert_dependant_components::*; - -use bevy::prelude::*; - -pub struct EcsRelationshipsPlugin; -impl Plugin for EcsRelationshipsPlugin { - fn build(&self, app: &mut App) { - app; - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_gltf_save_load/basic/src/core/relationships/relationships_insert_dependant_components.rs deleted file mode 100644 index 4e9ad17..0000000 --- a/examples/bevy_gltf_save_load/basic/src/core/relationships/relationships_insert_dependant_components.rs +++ /dev/null @@ -1,15 +0,0 @@ -use bevy::prelude::*; - -pub fn insert_dependant_component< - Dependant: Component, - Dependency: Component + std::default::Default, ->( - mut commands: Commands, - entities_without_depency: Query<(Entity, &Name), (With, Without)>, -) { - for (entity, name) in entities_without_depency.iter() { - let name = name.clone().to_string(); - commands.entity(entity).insert(Dependency::default()); - warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/game/in_game.rs b/examples/bevy_gltf_save_load/basic/src/game/in_game.rs index d31b1a8..6bcedba 100644 --- a/examples/bevy_gltf_save_load/basic/src/game/in_game.rs +++ b/examples/bevy_gltf_save_load/basic/src/game/in_game.rs @@ -1,8 +1,7 @@ -use super::Player; -use crate::state::{GameState, InAppRunning}; use bevy::prelude::*; use bevy_gltf_blueprints::{BluePrintBundle, BlueprintName, GameWorldTag, Library, NoInBlueprint}; use bevy_gltf_save_load::{Dynamic, DynamicEntitiesRoot, StaticEntitiesRoot}; +use bevy_gltf_worlflow_examples_common::{GameState, InAppRunning, Player}; use bevy_rapier3d::prelude::Velocity; use rand::Rng; @@ -62,7 +61,7 @@ pub fn unload_world(mut commands: Commands, gameworlds: Query>) -> bool { - return keycode.just_pressed(KeyCode::N); + keycode.just_pressed(KeyCode::N) } pub fn spawn_test( @@ -171,7 +170,7 @@ pub fn spawn_test_parenting( blueprint: BlueprintName("Sphero".to_string()), ..Default::default() }, - bevy::prelude::Name::from(format!("SubParentingTest")), + bevy::prelude::Name::from("SubParentingTest".to_string()), TransformBundle::from_transform(Transform::from_xyz(x, 2.0, y)), Dynamic(true), )) @@ -183,7 +182,7 @@ pub fn spawn_test_parenting( blueprint: BlueprintName("Container".into()), ..Default::default() }, - bevy::prelude::Name::from(format!("ParentingTest")), + bevy::prelude::Name::from("ParentingTest".to_string()), Dynamic(true), TransformBundle::from_transform(Transform::from_xyz(x, 2.0, y)), )) diff --git a/examples/bevy_gltf_save_load/basic/src/game/in_game_loading.rs b/examples/bevy_gltf_save_load/basic/src/game/in_game_loading.rs index e0d3770..7f938c0 100644 --- a/examples/bevy_gltf_save_load/basic/src/game/in_game_loading.rs +++ b/examples/bevy_gltf_save_load/basic/src/game/in_game_loading.rs @@ -1,6 +1,5 @@ use bevy::{core_pipeline::clear_color::ClearColorConfig, prelude::*}; - -use crate::state::InGameLoading; +use bevy_gltf_worlflow_examples_common::InGameLoading; pub fn setup_loading_screen(mut commands: Commands) { commands.spawn(( diff --git a/examples/bevy_gltf_save_load/basic/src/game/in_game_saving.rs b/examples/bevy_gltf_save_load/basic/src/game/in_game_saving.rs index 1605ad0..8a48a9a 100644 --- a/examples/bevy_gltf_save_load/basic/src/game/in_game_saving.rs +++ b/examples/bevy_gltf_save_load/basic/src/game/in_game_saving.rs @@ -1,6 +1,5 @@ use bevy::prelude::*; - -use crate::state::InGameSaving; +use bevy_gltf_worlflow_examples_common::InGameSaving; pub fn setup_saving_screen(mut commands: Commands) { commands.spawn(( diff --git a/examples/bevy_gltf_save_load/basic/src/game/in_main_menu.rs b/examples/bevy_gltf_save_load/basic/src/game/in_main_menu.rs index c8fc24a..f449eec 100644 --- a/examples/bevy_gltf_save_load/basic/src/game/in_main_menu.rs +++ b/examples/bevy_gltf_save_load/basic/src/game/in_main_menu.rs @@ -1,6 +1,5 @@ use bevy::prelude::*; - -use crate::state::{AppState, InMainMenu}; +use bevy_gltf_worlflow_examples_common::{AppState, InMainMenu}; pub fn setup_main_menu(mut commands: Commands) { commands.spawn((Camera2dBundle::default(), InMainMenu)); diff --git a/examples/bevy_gltf_save_load/basic/src/game/mod.rs b/examples/bevy_gltf_save_load/basic/src/game/mod.rs index 8e44a20..f30e6fe 100644 --- a/examples/bevy_gltf_save_load/basic/src/game/mod.rs +++ b/examples/bevy_gltf_save_load/basic/src/game/mod.rs @@ -1,4 +1,5 @@ pub mod in_game; +use bevy_gltf_worlflow_examples_common::{AppState, GameState}; pub use in_game::*; pub mod in_main_menu; @@ -10,64 +11,9 @@ pub use in_game_loading::*; pub mod in_game_saving; pub use in_game_saving::*; -pub mod picking; -pub use picking::*; - -use crate::state::{AppState, GameState}; use bevy::prelude::*; use bevy_gltf_save_load::{LoadRequest, LoadingFinished, SaveRequest, SavingFinished}; -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; - -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} - pub fn request_save( mut save_requests: EventWriter, keycode: Res>, @@ -124,48 +70,38 @@ pub fn on_loading_finished( pub struct GamePlugin; impl Plugin for GamePlugin { fn build(&self, app: &mut App) { - app.add_plugins(PickingPlugin) - .register_type::() - .register_type::() - .register_type::() - .add_systems( - Update, - ( - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) - - // insert_dependant_component::, - player_move_demo, //.run_if(in_state(AppState::Running)), - spawn_test, - spawn_test_unregisted_components, - spawn_test_parenting, - ) - .run_if(in_state(GameState::InGame)), + app.add_systems( + Update, + ( + spawn_test, + spawn_test_unregisted_components, + spawn_test_parenting, ) - .add_systems( - Update, - (unload_world, apply_deferred, setup_game) - .chain() - .run_if(should_reset) - .run_if(in_state(AppState::AppRunning)), - ) - .add_systems( - Update, - ( - request_save, - request_load, - on_saving_finished, - on_loading_finished, - ), - ) - .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(GameState::InLoading), setup_loading_screen) - .add_systems(OnExit(GameState::InLoading), teardown_loading_screen) - .add_systems(OnEnter(GameState::InSaving), setup_saving_screen) - .add_systems(OnExit(GameState::InSaving), teardown_saving_screen) - .add_systems(OnEnter(AppState::AppRunning), setup_game); + .run_if(in_state(GameState::InGame)), + ) + .add_systems( + Update, + (unload_world, apply_deferred, setup_game) + .chain() + .run_if(should_reset) + .run_if(in_state(AppState::AppRunning)), + ) + .add_systems( + Update, + ( + request_save, + request_load, + on_saving_finished, + on_loading_finished, + ), + ) + .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(GameState::InLoading), setup_loading_screen) + .add_systems(OnExit(GameState::InLoading), teardown_loading_screen) + .add_systems(OnEnter(GameState::InSaving), setup_saving_screen) + .add_systems(OnExit(GameState::InSaving), teardown_saving_screen) + .add_systems(OnEnter(AppState::AppRunning), setup_game); } } diff --git a/examples/bevy_gltf_save_load/basic/src/game/picking.rs b/examples/bevy_gltf_save_load/basic/src/game/picking.rs deleted file mode 100644 index 6731bbb..0000000 --- a/examples/bevy_gltf_save_load/basic/src/game/picking.rs +++ /dev/null @@ -1,34 +0,0 @@ -use super::Player; -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct Pickable; - -// very simple, crude picking (as in picking up objects) implementation - -pub fn picking( - players: Query<&GlobalTransform, With>, - pickables: Query<(Entity, &GlobalTransform), With>, - mut commands: Commands, -) { - for player_transforms in players.iter() { - for (pickable, pickable_transforms) in pickables.iter() { - let distance = player_transforms - .translation() - .distance(pickable_transforms.translation()); - if distance < 2.5 { - commands.entity(pickable).despawn_recursive(); - } - } - } -} - -pub struct PickingPlugin; -impl Plugin for PickingPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .add_systems(Update, (picking.after(GltfBlueprintsSet::AfterSpawn),)); - } -} diff --git a/examples/bevy_gltf_save_load/basic/src/main.rs b/examples/bevy_gltf_save_load/basic/src/main.rs index 6edba33..8fca426 100644 --- a/examples/bevy_gltf_save_load/basic/src/main.rs +++ b/examples/bevy_gltf_save_load/basic/src/main.rs @@ -1,15 +1,10 @@ use bevy::prelude::*; use bevy_editor_pls::prelude::*; +use bevy_gltf_worlflow_examples_common::CommonPlugin; mod core; use crate::core::*; -pub mod assets; -use assets::*; - -pub mod state; -use state::*; - mod game; use game::*; @@ -23,8 +18,7 @@ fn main() { // editor EditorPlugin::default(), // our custom plugins - StatePlugin, - AssetsPlugin, + CommonPlugin, CorePlugin, // reusable plugins GamePlugin, // specific to our game ComponentsTestPlugin, // Showcases different type of components /structs diff --git a/examples/bevy_gltf_save_load/basic/src/test_components.rs b/examples/bevy_gltf_save_load/basic/src/test_components.rs index d0e6fbd..b5384e2 100644 --- a/examples/bevy_gltf_save_load/basic/src/test_components.rs +++ b/examples/bevy_gltf_save_load/basic/src/test_components.rs @@ -6,39 +6,39 @@ struct UnitTest; #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestF32(f32); +struct TupleTestF32(f32); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestU64(u64); +struct TupleTestU64(u64); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -pub struct TuppleTestStr(String); +pub struct TupleTestStr(String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTest2(f32, u64, String); +struct TupleTest2(f32, u64, String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestBool(bool); +struct TupleTestBool(bool); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec2(Vec2); +struct TupleVec2(Vec2); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec3(Vec3); +struct TupleVec3(Vec3); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec(Vec); +struct TupleVec(Vec); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestColor(Color); +struct TupleTestColor(Color); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] @@ -65,16 +65,16 @@ 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::() + .register_type::() .register_type::>(); } } diff --git a/examples/bevy_registry_export/basic/Cargo.lock b/examples/bevy_registry_export/basic/Cargo.lock deleted file mode 100644 index 5063b29..0000000 --- a/examples/bevy_registry_export/basic/Cargo.lock +++ /dev/null @@ -1,4629 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "ab_glyph" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225" -dependencies = [ - "ab_glyph_rasterizer", - "owned_ttf_parser", -] - -[[package]] -name = "ab_glyph_rasterizer" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" - -[[package]] -name = "accesskit" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca8410747ed85a17c4a1e9ed3f5a74d3e7bdcc876cf9a18ff40ae21d645997b2" - -[[package]] -name = "accesskit_consumer" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c17cca53c09fbd7288667b22a201274b9becaa27f0b91bf52a526db95de45e6" -dependencies = [ - "accesskit", -] - -[[package]] -name = "accesskit_macos" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3b6ae1eabbfbced10e840fd3fce8a93ae84f174b3e4ba892ab7bcb42e477a7" -dependencies = [ - "accesskit", - "accesskit_consumer", - "objc2", - "once_cell", -] - -[[package]] -name = "accesskit_windows" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcae27ec0974fc7c3b0b318783be89fd1b2e66dd702179fe600166a38ff4a0b" -dependencies = [ - "accesskit", - "accesskit_consumer", - "once_cell", - "paste", - "static_assertions", - "windows 0.48.0", -] - -[[package]] -name = "accesskit_winit" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88e39fcec2e10971e188730b7a76bab60647dacc973d4591855ebebcadfaa738" -dependencies = [ - "accesskit", - "accesskit_macos", - "accesskit_windows", - "winit", -] - -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" -dependencies = [ - "cfg-if", - "getrandom", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" -dependencies = [ - "memchr", -] - -[[package]] -name = "allocator-api2" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" - -[[package]] -name = "alsa" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2562ad8dcf0f789f65c6fdaad8a8a9708ed6b488e649da28c01656ad66b8b47" -dependencies = [ - "alsa-sys", - "bitflags 1.3.2", - "libc", - "nix 0.24.3", -] - -[[package]] -name = "alsa-sys" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" -dependencies = [ - "libc", - "pkg-config", -] - -[[package]] -name = "android-activity" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0" -dependencies = [ - "android-properties", - "bitflags 1.3.2", - "cc", - "jni-sys", - "libc", - "log", - "ndk", - "ndk-context", - "ndk-sys", - "num_enum 0.6.1", -] - -[[package]] -name = "android-properties" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" - -[[package]] -name = "android_log-sys" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ecc8056bf6ab9892dcd53216c83d1597487d7dacac16c8df6b877d127df9937" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" - -[[package]] -name = "approx" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" -dependencies = [ - "num-traits", -] - -[[package]] -name = "arboard" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac57f2b058a76363e357c056e4f74f1945bf734d37b8b3ef49066c4787dde0fc" -dependencies = [ - "clipboard-win", - "core-graphics", - "image", - "log", - "objc", - "objc-foundation", - "objc_id", - "parking_lot", - "thiserror", - "winapi", - "x11rb", -] - -[[package]] -name = "arrayref" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" - -[[package]] -name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - -[[package]] -name = "ash" -version = "0.37.3+1.3.251" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" -dependencies = [ - "libloading 0.7.4", -] - -[[package]] -name = "async-broadcast" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" -dependencies = [ - "event-listener", - "futures-core", -] - -[[package]] -name = "async-channel" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", -] - -[[package]] -name = "async-executor" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0c4a4f319e45986f347ee47fef8bf5e81c9abc3f6f58dc2391439f30df65f0" -dependencies = [ - "async-lock", - "async-task", - "concurrent-queue", - "fastrand 2.0.1", - "futures-lite", - "slab", -] - -[[package]] -name = "async-fs" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" -dependencies = [ - "async-lock", - "autocfg", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-lock" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-task" -version = "4.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "backtrace" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "base64" -version = "0.21.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" - -[[package]] -name = "bevy" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "329e344f835f5a9a4c46a6d1d57371f726aa2c482d1bd669b2b9c4eb1ee91fd7" -dependencies = [ - "bevy_internal", -] - -[[package]] -name = "bevy-inspector-egui" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d65b98d6fca1209c36c4d403c377f303aad22d940281fe1a9e431217516f0622" -dependencies = [ - "bevy-inspector-egui-derive", - "bevy_app", - "bevy_asset", - "bevy_core", - "bevy_core_pipeline", - "bevy_ecs", - "bevy_egui", - "bevy_hierarchy", - "bevy_log", - "bevy_math", - "bevy_pbr", - "bevy_reflect", - "bevy_render", - "bevy_utils", - "bevy_window", - "egui", - "image", - "once_cell", - "pretty-type-name", - "smallvec", -] - -[[package]] -name = "bevy-inspector-egui-derive" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec800b7cf98151b5dbff80f0eb6dffcb4bcfceef6e457888b395ead4eb7e75ba" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "bevy_a11y" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271b812e5734f5056a400f7d64592dd82d6c0e6179389c2f066f433ab8bc7692" -dependencies = [ - "accesskit", - "bevy_app", - "bevy_derive", - "bevy_ecs", -] - -[[package]] -name = "bevy_animation" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab94187a1253433e14f175293d8a86ec1c2822fda2a17807908f11ec21f45f00" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_core", - "bevy_ecs", - "bevy_hierarchy", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_time", - "bevy_transform", - "bevy_utils", -] - -[[package]] -name = "bevy_app" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "172d532ea812e5954fa814dae003c207f2a0b20c6e50431787c94a7159677ece" -dependencies = [ - "bevy_derive", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", - "downcast-rs", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "bevy_asset" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb2b67984088b23e223cfe9ec1befd89a110665a679acb06839bc4334ed37d6" -dependencies = [ - "async-broadcast", - "async-fs", - "async-lock", - "bevy_app", - "bevy_asset_macros", - "bevy_ecs", - "bevy_log", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", - "bevy_winit", - "blake3", - "crossbeam-channel", - "downcast-rs", - "futures-io", - "futures-lite", - "js-sys", - "parking_lot", - "ron", - "serde", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "bevy_asset_loader" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d797cc907daa293a2776fea1517ed79f9e54d9901dfd35410743cbe536d4c2b" -dependencies = [ - "anyhow", - "bevy", - "bevy_asset_loader_derive", - "bevy_common_assets", - "path-slash", - "serde", -] - -[[package]] -name = "bevy_asset_loader_derive" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d43820afc6e2a7a9e09adb5f13a760bd9a973f391c106411f0bf229d9958c61d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "bevy_asset_macros" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b3245193e90fc8abcf1059a467cb224501dcda083d114c67c10ac66b7171e3a" -dependencies = [ - "bevy_macro_utils", - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "bevy_audio" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478de80ff25cb7decbcb22797774d1597e8c32914e81431c67d64faadc08f84a" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_derive", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_transform", - "bevy_utils", - "oboe", - "rodio", -] - -[[package]] -name = "bevy_common_assets" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9397adf1558aa3f08e20aa567538a7238b451362fc8c6b678d409c040c221799" -dependencies = [ - "anyhow", - "bevy", - "ron", - "serde", - "thiserror", -] - -[[package]] -name = "bevy_core" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025e6800b73048092a55c3611e9327ad4c4c17b60517ec1c0086bb40b4b19ea8" -dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", - "bytemuck", - "serde", -] - -[[package]] -name = "bevy_core_pipeline" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e4b08a2d53ba62d9ec1fca3f7f4e0f556e9f59e1c8e63a4b7c2a18c0701152c" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_core", - "bevy_derive", - "bevy_ecs", - "bevy_log", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", - "bitflags 2.4.1", - "radsort", - "serde", -] - -[[package]] -name = "bevy_derive" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24bf40259be12a1a24d9fd536f5ff18d31eeb5665b77e2732899783be6edc5d6" -dependencies = [ - "bevy_macro_utils", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "bevy_diagnostic" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b5a99a9fb6cd7d1eb1714fad193944a0317f0887a15cccb8309c8d37951132" -dependencies = [ - "bevy_app", - "bevy_core", - "bevy_ecs", - "bevy_log", - "bevy_time", - "bevy_utils", - "sysinfo", -] - -[[package]] -name = "bevy_ecs" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae11a1f467c372b50e9d4b55e78370f5420c9db7416200cc441cc84f08174dd3" -dependencies = [ - "async-channel", - "bevy_ecs_macros", - "bevy_ptr", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", - "downcast-rs", - "event-listener", - "fixedbitset", - "rustc-hash", - "serde", - "thiserror", - "thread_local", -] - -[[package]] -name = "bevy_ecs_macros" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f642c2b67c4d0daf8edf15074f6351457eb487a34b3de1290c760d8f3ac9ec16" -dependencies = [ - "bevy_macro_utils", - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "bevy_editor_pls" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "170e3ee3293f70be7fa1b82e8ffe52dcb190c68b2f0ef4847afe65626b417ad7" -dependencies = [ - "bevy", - "bevy_editor_pls_core", - "bevy_editor_pls_default_windows", - "egui", - "egui-gizmo", -] - -[[package]] -name = "bevy_editor_pls_core" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9bab331de653d7d976a1fb0ab3ae8eff1dc821c5991c09bdbe945e70234839c" -dependencies = [ - "bevy", - "bevy-inspector-egui", - "egui_dock", - "indexmap 2.1.0", -] - -[[package]] -name = "bevy_editor_pls_default_windows" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b833e3b3d5c69b92527e766b470b27cb4745406e2087be19be81b595cc48792c" -dependencies = [ - "bevy", - "bevy-inspector-egui", - "bevy_editor_pls_core", - "bevy_mod_debugdump", - "egui-gizmo", - "indexmap 2.1.0", - "opener", - "pretty-type-name", -] - -[[package]] -name = "bevy_egui" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85450af551b7e1cb766f710763b60a12a82ffd6323945a8f776c6334c59ccdc1" -dependencies = [ - "arboard", - "bevy", - "egui", - "thread_local", - "webbrowser", -] - -[[package]] -name = "bevy_encase_derive" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65b9fb5a62c4e3ab70caaa839470d35fa932001b1b34b08bc7f7f1909bd2b3a7" -dependencies = [ - "bevy_macro_utils", - "encase_derive_impl", -] - -[[package]] -name = "bevy_gilrs" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad31cc2c84315e0759d793d6c5bcb7d8789bbc16359c98d1b766e708c1bbae49" -dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_input", - "bevy_log", - "bevy_time", - "bevy_utils", - "gilrs", - "thiserror", -] - -[[package]] -name = "bevy_gizmos" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87d1cc978b91f416b23eb16f00e69f95c3a04582021827d8082e92d4725cc510" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_core", - "bevy_core_pipeline", - "bevy_ecs", - "bevy_math", - "bevy_pbr", - "bevy_reflect", - "bevy_render", - "bevy_sprite", - "bevy_transform", - "bevy_utils", -] - -[[package]] -name = "bevy_gltf" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f933745c0c86e2c07948def581259b466f99708328657054e956275430ccfd7" -dependencies = [ - "base64 0.13.1", - "bevy_animation", - "bevy_app", - "bevy_asset", - "bevy_core", - "bevy_core_pipeline", - "bevy_ecs", - "bevy_hierarchy", - "bevy_log", - "bevy_math", - "bevy_pbr", - "bevy_reflect", - "bevy_render", - "bevy_scene", - "bevy_tasks", - "bevy_transform", - "bevy_utils", - "gltf", - "percent-encoding", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "bevy_gltf_blueprints" -version = "0.3.0" -dependencies = [ - "bevy", - "bevy_gltf_components", -] - -[[package]] -name = "bevy_gltf_blueprints_basic_example" -version = "0.3.0" -dependencies = [ - "bevy", - "bevy_asset_loader", - "bevy_editor_pls", - "bevy_gltf_blueprints", - "bevy_rapier3d", - "rand", -] - -[[package]] -name = "bevy_gltf_components" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd745a2988c631286404e12d184d4a30a634fbbba1deceaaa1ca7fcbc607cc7a" -dependencies = [ - "bevy", - "ron", - "serde", -] - -[[package]] -name = "bevy_hierarchy" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64fa240011fce8ee23f9b46e5a26a628a31d7860d6d2e4e0e361bb3ea6d5a703" -dependencies = [ - "bevy_app", - "bevy_core", - "bevy_ecs", - "bevy_log", - "bevy_reflect", - "bevy_utils", - "smallvec", -] - -[[package]] -name = "bevy_input" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e86e241b3a10b79f65a69205552546723b855d3d4c1bd8261637c076144d32f" -dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_utils", - "serde", - "thiserror", -] - -[[package]] -name = "bevy_internal" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55124e486814c4d3632d5cfad9c4f4e46d052c028593ec46fef5bfbfb0f840b1" -dependencies = [ - "bevy_a11y", - "bevy_animation", - "bevy_app", - "bevy_asset", - "bevy_audio", - "bevy_core", - "bevy_core_pipeline", - "bevy_derive", - "bevy_diagnostic", - "bevy_ecs", - "bevy_gilrs", - "bevy_gizmos", - "bevy_gltf", - "bevy_hierarchy", - "bevy_input", - "bevy_log", - "bevy_math", - "bevy_pbr", - "bevy_ptr", - "bevy_reflect", - "bevy_render", - "bevy_scene", - "bevy_sprite", - "bevy_tasks", - "bevy_text", - "bevy_time", - "bevy_transform", - "bevy_ui", - "bevy_utils", - "bevy_window", - "bevy_winit", -] - -[[package]] -name = "bevy_log" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "011417debf7868b45932bb97fc0d5bfdeaf9304e324aa94840e2f1e6deeed69d" -dependencies = [ - "android_log-sys", - "bevy_app", - "bevy_ecs", - "bevy_utils", - "console_error_panic_hook", - "tracing-log", - "tracing-subscriber", - "tracing-wasm", -] - -[[package]] -name = "bevy_macro_utils" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf6fba87c6d069fcbcd8a48625ca8ab4392ad40d2b260863ce7d641a0f42986d" -dependencies = [ - "proc-macro2", - "quote", - "rustc-hash", - "syn 2.0.39", - "toml_edit 0.20.7", -] - -[[package]] -name = "bevy_math" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "752764558a1f429c20704c3b836a019fa308961c43fdfef4f08e339d456c96be" -dependencies = [ - "glam", - "serde", -] - -[[package]] -name = "bevy_mikktspace" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b596c41a56f2268ec7cde560edc588bc7b5886e4b49c8b27c4dcc9f7c743424c" -dependencies = [ - "glam", -] - -[[package]] -name = "bevy_mod_debugdump" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4db8601f41ea570b7d32f3177292a608196c59bdf3298001a9e202d5e7439438" -dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_render", - "bevy_utils", - "once_cell", - "petgraph", - "pretty-type-name", -] - -[[package]] -name = "bevy_pbr" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeb6a35a78d355cc21c10f277dcd171eca65e30a90e76eb89f4dacf606621fe1" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", - "bevy_window", - "bitflags 2.4.1", - "bytemuck", - "fixedbitset", - "naga_oil", - "radsort", - "smallvec", - "thread_local", -] - -[[package]] -name = "bevy_ptr" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308a02679f6ce21ef71de20fae6d6a2016c07baa21d8e8d0558e6b7851e8adf2" - -[[package]] -name = "bevy_rapier3d" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3f0a2641af76c9eb17da0dcb0fb20cd9d615b93b67be0b85f1867487e956b5a" -dependencies = [ - "bevy", - "bitflags 2.4.1", - "log", - "nalgebra", - "rapier3d", - "serde", -] - -[[package]] -name = "bevy_reflect" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdd56914a8ad57621d7a1a099f7e6b1f7482c9c76cedc9c3d4c175a203939c5d" -dependencies = [ - "bevy_math", - "bevy_ptr", - "bevy_reflect_derive", - "bevy_utils", - "downcast-rs", - "erased-serde", - "glam", - "serde", - "smallvec", - "smol_str", - "thiserror", -] - -[[package]] -name = "bevy_reflect_derive" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f627907c40ac552f798423447fc331fc1ddacd94c5f7a2a70942eb06bc8447" -dependencies = [ - "bevy_macro_utils", - "proc-macro2", - "quote", - "syn 2.0.39", - "uuid", -] - -[[package]] -name = "bevy_render" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90d777f4c51bd58e9e40777c6cb8dde0778df7e2c5298b3f9e3455bd12a9856c" -dependencies = [ - "async-channel", - "bevy_app", - "bevy_asset", - "bevy_core", - "bevy_derive", - "bevy_ecs", - "bevy_encase_derive", - "bevy_hierarchy", - "bevy_log", - "bevy_math", - "bevy_mikktspace", - "bevy_reflect", - "bevy_render_macros", - "bevy_tasks", - "bevy_time", - "bevy_transform", - "bevy_utils", - "bevy_window", - "bitflags 2.4.1", - "bytemuck", - "codespan-reporting", - "downcast-rs", - "encase", - "futures-lite", - "hexasphere", - "image", - "js-sys", - "ktx2", - "naga", - "naga_oil", - "ruzstd", - "serde", - "smallvec", - "thiserror", - "thread_local", - "wasm-bindgen", - "web-sys", - "wgpu", -] - -[[package]] -name = "bevy_render_macros" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35b00c3d0abff94a729460fc9aa95c2ceac71b49b3041166bb5ba3098e9657e7" -dependencies = [ - "bevy_macro_utils", - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "bevy_scene" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba6294396a6375f0b14341d8003408c10aa040e3f833ac8bd49677170ec55d73" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", - "ron", - "serde", - "thiserror", - "uuid", -] - -[[package]] -name = "bevy_sprite" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f7d1f88a6e5497fdafd95c20984a1d1b5517bc39d51600b4988cd60c51837a" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_log", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", - "bitflags 2.4.1", - "bytemuck", - "fixedbitset", - "guillotiere", - "radsort", - "rectangle-pack", - "thiserror", -] - -[[package]] -name = "bevy_tasks" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a45be906618192515bc613e46546150089adbb4a82178dc462045acd1e89e92" -dependencies = [ - "async-channel", - "async-executor", - "async-task", - "concurrent-queue", - "futures-lite", - "wasm-bindgen-futures", -] - -[[package]] -name = "bevy_text" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c136af700af4f87c94f68d6e019528c371bf09ebf4a8ff7468bb3c73806b34f5" -dependencies = [ - "ab_glyph", - "bevy_app", - "bevy_asset", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_sprite", - "bevy_transform", - "bevy_utils", - "bevy_window", - "glyph_brush_layout", - "serde", - "thiserror", -] - -[[package]] -name = "bevy_time" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b29709cadf22d318a0b7c79f763e9c5ac414292bd0e850066fa935959021b276" -dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_reflect", - "bevy_utils", - "crossbeam-channel", - "serde", - "thiserror", -] - -[[package]] -name = "bevy_transform" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70262c51e915b6224129206d23823364e650cf5eb5f4b6ce3ee379f608c180d2" -dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_hierarchy", - "bevy_math", - "bevy_reflect", - "serde", - "thiserror", -] - -[[package]] -name = "bevy_ui" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd5ecbf2dceaab118769dd870e34d780bfde556af561fd10d8d613b0f237297e" -dependencies = [ - "bevy_a11y", - "bevy_app", - "bevy_asset", - "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_input", - "bevy_log", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_sprite", - "bevy_text", - "bevy_transform", - "bevy_utils", - "bevy_window", - "bytemuck", - "serde", - "smallvec", - "taffy", - "thiserror", -] - -[[package]] -name = "bevy_utils" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e75d4a34ef0b15dffd1ee9079ef1f0f5139527e192b9d5708b3e158777c753" -dependencies = [ - "ahash", - "bevy_utils_proc_macros", - "getrandom", - "hashbrown 0.14.2", - "instant", - "nonmax", - "petgraph", - "thiserror", - "tracing", - "uuid", -] - -[[package]] -name = "bevy_utils_proc_macros" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7dfd3735a61a1b681ed1e176afe4eae731bbb03e51ad871e9eb39e76a2d170e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "bevy_window" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e60d1830b3fbd7db5bfea7ac9fcd0f5e1d1af88c91ab469e697ab176d8b3140b" -dependencies = [ - "bevy_a11y", - "bevy_app", - "bevy_ecs", - "bevy_input", - "bevy_math", - "bevy_reflect", - "bevy_utils", - "raw-window-handle", - "serde", -] - -[[package]] -name = "bevy_winit" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f8294e78c6a1f9c34d36501a377c5d20bf0fa23a0958187bb270187741448ba" -dependencies = [ - "accesskit_winit", - "approx", - "bevy_a11y", - "bevy_app", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_input", - "bevy_math", - "bevy_tasks", - "bevy_utils", - "bevy_window", - "crossbeam-channel", - "raw-window-handle", - "wasm-bindgen", - "web-sys", - "winit", -] - -[[package]] -name = "bindgen" -version = "0.68.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078" -dependencies = [ - "bitflags 2.4.1", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "peeking_take_while", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn 2.0.39", -] - -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" -dependencies = [ - "serde", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" -dependencies = [ - "serde", -] - -[[package]] -name = "blake3" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" -dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if", - "constant_time_eq", -] - -[[package]] -name = "block" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" - -[[package]] -name = "block-sys" -version = "0.1.0-beta.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" -dependencies = [ - "objc-sys", -] - -[[package]] -name = "block2" -version = "0.2.0-alpha.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" -dependencies = [ - "block-sys", - "objc2-encode", -] - -[[package]] -name = "blocking" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c36a4d0d48574b3dd360b4b7d95cc651d2b6557b6402848a27d4b228a473e2a" -dependencies = [ - "async-channel", - "async-lock", - "async-task", - "fastrand 2.0.1", - "futures-io", - "futures-lite", - "piper", - "tracing", -] - -[[package]] -name = "bstr" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c" -dependencies = [ - "memchr", - "regex-automata 0.4.3", - "serde", -] - -[[package]] -name = "bumpalo" -version = "3.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" - -[[package]] -name = "bytemuck" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" -dependencies = [ - "bytemuck_derive", -] - -[[package]] -name = "bytemuck_derive" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" - -[[package]] -name = "cc" -version = "1.0.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "jobserver", - "libc", -] - -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - -[[package]] -name = "clang-sys" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" -dependencies = [ - "glob", - "libc", - "libloading 0.7.4", -] - -[[package]] -name = "clipboard-win" -version = "4.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" -dependencies = [ - "error-code", - "str-buf", - "winapi", -] - -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - -[[package]] -name = "color_quant" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" - -[[package]] -name = "com-rs" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642" - -[[package]] -name = "combine" -version = "4.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" -dependencies = [ - "bytes", - "memchr", -] - -[[package]] -name = "concurrent-queue" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "console_error_panic_hook" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" -dependencies = [ - "cfg-if", - "wasm-bindgen", -] - -[[package]] -name = "const_panic" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6051f239ecec86fde3410901ab7860d458d160371533842974fc61f96d15879b" - -[[package]] -name = "const_soft_float" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ca1caa64ef4ed453e68bb3db612e51cf1b2f5b871337f0fcab1c8f87cc3dff" - -[[package]] -name = "constant_time_eq" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" - -[[package]] -name = "constgebra" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd23e864550e6dafc1e41ac78ce4f1ccddc8672b40c403524a04ff3f0518420" -dependencies = [ - "const_soft_float", -] - -[[package]] -name = "core-foundation" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" - -[[package]] -name = "core-graphics" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-graphics-types", - "foreign-types 0.3.2", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "libc", -] - -[[package]] -name = "coreaudio-rs" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" -dependencies = [ - "bitflags 1.3.2", - "core-foundation-sys", - "coreaudio-sys", -] - -[[package]] -name = "coreaudio-sys" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8478e5bdad14dce236b9898ea002eabfa87cbe14f0aa538dbe3b6a4bec4332d" -dependencies = [ - "bindgen", -] - -[[package]] -name = "cpal" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d959d90e938c5493000514b446987c07aed46c668faaa7d34d6c7a67b1a578c" -dependencies = [ - "alsa", - "core-foundation-sys", - "coreaudio-rs", - "dasp_sample", - "jni 0.19.0", - "js-sys", - "libc", - "mach2", - "ndk", - "ndk-context", - "oboe", - "once_cell", - "parking_lot", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows 0.46.0", -] - -[[package]] -name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c" -dependencies = [ - "cfg-if", - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-epoch", - "crossbeam-queue", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" -dependencies = [ - "cfg-if", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" -dependencies = [ - "cfg-if", - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" -dependencies = [ - "autocfg", - "cfg-if", - "crossbeam-utils", - "memoffset 0.9.0", - "scopeguard", -] - -[[package]] -name = "crossbeam-queue" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" -dependencies = [ - "cfg-if", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "d3d12" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20" -dependencies = [ - "bitflags 2.4.1", - "libloading 0.8.1", - "winapi", -] - -[[package]] -name = "dasp_sample" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" - -[[package]] -name = "data-encoding" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" - -[[package]] -name = "dispatch" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" - -[[package]] -name = "downcast-rs" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" - -[[package]] -name = "duplicate" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de78e66ac9061e030587b2a2e75cc88f22304913c907b11307bca737141230cb" -dependencies = [ - "heck", - "proc-macro-error", -] - -[[package]] -name = "ecolor" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf4e52dbbb615cfd30cf5a5265335c217b5fd8d669593cea74a517d9c605af" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "egui" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd69fed5fcf4fbb8225b24e80ea6193b61e17a625db105ef0c4d71dde6eb8b7" -dependencies = [ - "ahash", - "epaint", - "nohash-hasher", -] - -[[package]] -name = "egui-gizmo" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f732ad247afe275d6cf901e0f134025ad735007c8f4d82e667a6871f1b4a5441" -dependencies = [ - "egui", - "glam", -] - -[[package]] -name = "egui_dock" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a52f67bcab0eb6050cf8051c614966c1c57129fab23dbeae9c157214779053c7" -dependencies = [ - "duplicate", - "egui", - "paste", -] - -[[package]] -name = "either" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" - -[[package]] -name = "emath" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ef2b29de53074e575c18b694167ccbe6e5191f7b25fe65175a0d905a32eeec0" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "encase" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fce2eeef77fd4a293a54b62aa00ac9daebfbcda4bf8998c5a815635b004aa1c" -dependencies = [ - "const_panic", - "encase_derive", - "glam", - "thiserror", -] - -[[package]] -name = "encase_derive" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e520cde08cbf4f7cc097f61573ec06ce467019803de8ae82fb2823fa1554a0e" -dependencies = [ - "encase_derive_impl", -] - -[[package]] -name = "encase_derive_impl" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fe2568f851fd6144a45fa91cfed8fe5ca8fc0b56ba6797bfc1ed2771b90e37c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "epaint" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58067b840d009143934d91d8dcb8ded054d8301d7c11a517ace0a99bb1e1595e" -dependencies = [ - "ab_glyph", - "ahash", - "bytemuck", - "ecolor", - "emath", - "nohash-hasher", - "parking_lot", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "erased-serde" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c" -dependencies = [ - "serde", -] - -[[package]] -name = "error-code" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21" -dependencies = [ - "libc", - "str-buf", -] - -[[package]] -name = "euclid" -version = "0.22.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787" -dependencies = [ - "num-traits", -] - -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "fastrand" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] - -[[package]] -name = "fastrand" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" - -[[package]] -name = "fdeflate" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868" -dependencies = [ - "simd-adler32", -] - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - -[[package]] -name = "flate2" -version = "1.0.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared 0.1.1", -] - -[[package]] -name = "foreign-types" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" -dependencies = [ - "foreign-types-macros", - "foreign-types-shared 0.3.1", -] - -[[package]] -name = "foreign-types-macros" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "foreign-types-shared" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" - -[[package]] -name = "form_urlencoded" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures-core" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" - -[[package]] -name = "futures-io" -version = "0.3.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" - -[[package]] -name = "futures-lite" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" -dependencies = [ - "fastrand 1.9.0", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite", - "waker-fn", -] - -[[package]] -name = "gethostname" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "getrandom" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi", - "wasm-bindgen", -] - -[[package]] -name = "gilrs" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e9eec02069fcbd7abe00a28adf216547774889129a777cb5e53fdfb75d59f09" -dependencies = [ - "fnv", - "gilrs-core", - "log", - "uuid", - "vec_map", -] - -[[package]] -name = "gilrs-core" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e11f4e03be4f1beda399e4791c11d33102fa48f368e864259e4e810d3a3d2ff5" -dependencies = [ - "core-foundation", - "inotify", - "io-kit-sys", - "js-sys", - "libc", - "libudev-sys", - "log", - "nix 0.27.1", - "uuid", - "vec_map", - "wasm-bindgen", - "web-sys", - "windows 0.51.1", -] - -[[package]] -name = "gimli" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" - -[[package]] -name = "glam" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945" -dependencies = [ - "bytemuck", - "serde", -] - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "glow" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728" -dependencies = [ - "js-sys", - "slotmap", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gltf" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad2dcfb6dd7a66f9eb3d181a29dcfb22d146b0bcdc2e1ed1713cbf03939a88ea" -dependencies = [ - "byteorder", - "gltf-json", - "lazy_static", -] - -[[package]] -name = "gltf-derive" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cbcea5dd47e7ad4e9ee6f040384fcd7204bbf671aa4f9e7ca7dfc9bfa1de20" -dependencies = [ - "inflections", - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "gltf-json" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5b810806b78dde4b71a95cc0e6fdcab34c4c617da3574df166f9987be97d03" -dependencies = [ - "gltf-derive", - "serde", - "serde_derive", - "serde_json", -] - -[[package]] -name = "glyph_brush_layout" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc32c2334f00ca5ac3695c5009ae35da21da8c62d255b5b96d56e2597a637a38" -dependencies = [ - "ab_glyph", - "approx", - "xi-unicode", -] - -[[package]] -name = "gpu-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" -dependencies = [ - "bitflags 2.4.1", - "gpu-alloc-types", -] - -[[package]] -name = "gpu-alloc-types" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" -dependencies = [ - "bitflags 2.4.1", -] - -[[package]] -name = "gpu-allocator" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce95f9e2e11c2c6fadfce42b5af60005db06576f231f5c92550fdded43c423e8" -dependencies = [ - "backtrace", - "log", - "thiserror", - "winapi", - "windows 0.44.0", -] - -[[package]] -name = "gpu-descriptor" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" -dependencies = [ - "bitflags 2.4.1", - "gpu-descriptor-types", - "hashbrown 0.14.2", -] - -[[package]] -name = "gpu-descriptor-types" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" -dependencies = [ - "bitflags 2.4.1", -] - -[[package]] -name = "grid" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eec1c01eb1de97451ee0d60de7d81cf1e72aabefb021616027f3d1c3ec1c723c" - -[[package]] -name = "guillotiere" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782" -dependencies = [ - "euclid", - "svg_fmt", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" -dependencies = [ - "ahash", - "allocator-api2", - "serde", -] - -[[package]] -name = "hassle-rs" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0" -dependencies = [ - "bitflags 1.3.2", - "com-rs", - "libc", - "libloading 0.7.4", - "thiserror", - "widestring", - "winapi", -] - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hexasphere" -version = "9.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cb3df16a7bcb1b5bc092abd55e14f77ca70aea14445026e264586fc62889a10" -dependencies = [ - "constgebra", - "glam", -] - -[[package]] -name = "hexf-parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" - -[[package]] -name = "home" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" -dependencies = [ - "windows-sys 0.48.0", -] - -[[package]] -name = "idna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "image" -version = "0.24.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" -dependencies = [ - "bytemuck", - "byteorder", - "color_quant", - "num-rational", - "num-traits", - "png", - "tiff", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - -[[package]] -name = "indexmap" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" -dependencies = [ - "equivalent", - "hashbrown 0.14.2", -] - -[[package]] -name = "inflections" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" - -[[package]] -name = "inotify" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc" -dependencies = [ - "bitflags 1.3.2", - "futures-core", - "inotify-sys", - "libc", - "tokio", -] - -[[package]] -name = "inotify-sys" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" -dependencies = [ - "libc", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "io-kit-sys" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4769cb30e5dcf1710fc6730d3e94f78c47723a014a567de385e113c737394640" -dependencies = [ - "core-foundation-sys", - "mach2", -] - -[[package]] -name = "itoa" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" - -[[package]] -name = "jni" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" -dependencies = [ - "cesu8", - "combine", - "jni-sys", - "log", - "thiserror", - "walkdir", -] - -[[package]] -name = "jni" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" -dependencies = [ - "cesu8", - "combine", - "jni-sys", - "log", - "thiserror", - "walkdir", -] - -[[package]] -name = "jni" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" -dependencies = [ - "cesu8", - "cfg-if", - "combine", - "jni-sys", - "log", - "thiserror", - "walkdir", - "windows-sys 0.45.0", -] - -[[package]] -name = "jni-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" - -[[package]] -name = "jobserver" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" -dependencies = [ - "libc", -] - -[[package]] -name = "jpeg-decoder" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" - -[[package]] -name = "js-sys" -version = "0.3.65" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "khronos-egl" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c2352bd1d0bceb871cb9d40f24360c8133c11d7486b68b5381c1dd1a32015e3" -dependencies = [ - "libc", - "libloading 0.7.4", - "pkg-config", -] - -[[package]] -name = "ktx2" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87d65e08a9ec02e409d27a0139eaa6b9756b4d81fe7cde71f6941a83730ce838" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "lewton" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030" -dependencies = [ - "byteorder", - "ogg", - "tinyvec", -] - -[[package]] -name = "libc" -version = "0.2.150" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" - -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] - -[[package]] -name = "libloading" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "libm" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" - -[[package]] -name = "libredox" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" -dependencies = [ - "bitflags 2.4.1", - "libc", - "redox_syscall 0.4.1", -] - -[[package]] -name = "libudev-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" -dependencies = [ - "libc", - "pkg-config", -] - -[[package]] -name = "lock_api" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" - -[[package]] -name = "mach2" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" -dependencies = [ - "libc", -] - -[[package]] -name = "malloc_buf" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" -dependencies = [ - "libc", -] - -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata 0.1.10", -] - -[[package]] -name = "matrixmultiply" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2" -dependencies = [ - "autocfg", - "rawpointer", -] - -[[package]] -name = "memchr" -version = "2.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" - -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg", -] - -[[package]] -name = "metal" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "623b5e6cefd76e58f774bd3cc0c6f5c7615c58c03a97815245a25c3c9bdee318" -dependencies = [ - "bitflags 2.4.1", - "block", - "core-graphics-types", - "foreign-types 0.5.0", - "log", - "objc", - "paste", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" -dependencies = [ - "adler", - "simd-adler32", -] - -[[package]] -name = "mio" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "naga" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ceaaa4eedaece7e4ec08c55c640ba03dbb73fb812a6570a59bcf1930d0f70e" -dependencies = [ - "bit-set", - "bitflags 2.4.1", - "codespan-reporting", - "hexf-parse", - "indexmap 1.9.3", - "log", - "num-traits", - "pp-rs", - "rustc-hash", - "spirv", - "termcolor", - "thiserror", - "unicode-xid", -] - -[[package]] -name = "naga_oil" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1fa9518ff79ae8a98c3abe3897d873a85561d1b5642981c2245c1c4b9b2429d" -dependencies = [ - "bit-set", - "codespan-reporting", - "data-encoding", - "indexmap 1.9.3", - "naga", - "once_cell", - "regex", - "regex-syntax 0.7.5", - "rustc-hash", - "thiserror", - "tracing", - "unicode-ident", -] - -[[package]] -name = "nalgebra" -version = "0.32.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa" -dependencies = [ - "approx", - "glam", - "matrixmultiply", - "nalgebra-macros", - "num-complex", - "num-rational", - "num-traits", - "serde", - "simba", - "typenum", -] - -[[package]] -name = "nalgebra-macros" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ndk" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" -dependencies = [ - "bitflags 1.3.2", - "jni-sys", - "ndk-sys", - "num_enum 0.5.11", - "raw-window-handle", - "thiserror", -] - -[[package]] -name = "ndk-context" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" - -[[package]] -name = "ndk-sys" -version = "0.4.1+23.1.7779620" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" -dependencies = [ - "jni-sys", -] - -[[package]] -name = "nix" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.6.5", -] - -[[package]] -name = "nix" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" -dependencies = [ - "bitflags 2.4.1", - "cfg-if", - "libc", -] - -[[package]] -name = "nohash-hasher" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "nonmax" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4a593ea4fffed8684ad13d75c82cf0b6dc2b88947e0ed85b9e70f555a7e422" - -[[package]] -name = "normpath" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5" -dependencies = [ - "windows-sys 0.48.0", -] - -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num-complex" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" -dependencies = [ - "num-traits", - "serde", -] - -[[package]] -name = "num-derive" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" -dependencies = [ - "num_enum_derive 0.6.1", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "num_enum_derive" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "objc" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" -dependencies = [ - "malloc_buf", - "objc_exception", -] - -[[package]] -name = "objc-foundation" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" -dependencies = [ - "block", - "objc", - "objc_id", -] - -[[package]] -name = "objc-sys" -version = "0.2.0-beta.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" - -[[package]] -name = "objc2" -version = "0.3.0-beta.3.patch-leaks.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468" -dependencies = [ - "block2", - "objc-sys", - "objc2-encode", -] - -[[package]] -name = "objc2-encode" -version = "2.0.0-pre.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" -dependencies = [ - "objc-sys", -] - -[[package]] -name = "objc_exception" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" -dependencies = [ - "cc", -] - -[[package]] -name = "objc_id" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" -dependencies = [ - "objc", -] - -[[package]] -name = "object" -version = "0.32.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" -dependencies = [ - "memchr", -] - -[[package]] -name = "oboe" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8868cc237ee02e2d9618539a23a8d228b9bb3fc2e7a5b11eed3831de77c395d0" -dependencies = [ - "jni 0.20.0", - "ndk", - "ndk-context", - "num-derive", - "num-traits", - "oboe-sys", -] - -[[package]] -name = "oboe-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f44155e7fb718d3cfddcf70690b2b51ac4412f347cd9e4fbe511abe9cd7b5f2" -dependencies = [ - "cc", -] - -[[package]] -name = "ogg" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6951b4e8bf21c8193da321bcce9c9dd2e13c858fe078bf9054a288b419ae5d6e" -dependencies = [ - "byteorder", -] - -[[package]] -name = "once_cell" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" - -[[package]] -name = "opener" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c62dcb6174f9cb326eac248f07e955d5d559c272730b6c03e396b443b562788" -dependencies = [ - "bstr", - "normpath", - "winapi", -] - -[[package]] -name = "orbclient" -version = "0.3.47" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" -dependencies = [ - "libredox", -] - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "owned_ttf_parser" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7" -dependencies = [ - "ttf-parser", -] - -[[package]] -name = "parking" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.4.1", - "smallvec", - "windows-targets 0.48.5", -] - -[[package]] -name = "parry3d" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55dc0e6db79bddbc5fd583569f7356cdcc63e1e9b2b93a9ab70dd8e717160e0" -dependencies = [ - "approx", - "arrayvec", - "bitflags 1.3.2", - "downcast-rs", - "either", - "indexmap 1.9.3", - "nalgebra", - "num-derive", - "num-traits", - "rustc-hash", - "serde", - "simba", - "slab", - "smallvec", - "spade", -] - -[[package]] -name = "paste" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" - -[[package]] -name = "path-slash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" - -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - -[[package]] -name = "percent-encoding" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" - -[[package]] -name = "petgraph" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" -dependencies = [ - "fixedbitset", - "indexmap 2.1.0", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" - -[[package]] -name = "piper" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" -dependencies = [ - "atomic-waker", - "fastrand 2.0.1", - "futures-io", -] - -[[package]] -name = "pkg-config" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" - -[[package]] -name = "png" -version = "0.17.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64" -dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - -[[package]] -name = "pp-rs" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb458bb7f6e250e6eb79d5026badc10a3ebb8f9a15d1fff0f13d17c71f4d6dee" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "pretty-type-name" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f73cdaf19b52e6143685c3606206e114a4dfa969d6b14ec3894c88eb38bd4b" - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro2" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "profiling" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f89dff0959d98c9758c88826cc002e2c3d0b9dfac4139711d1f30de442f1139b" - -[[package]] -name = "quote" -version = "1.0.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "radsort" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17fd96390ed3feda12e1dfe2645ed587e0bea749e319333f104a33ff62f77a0b" - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "range-alloc" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" - -[[package]] -name = "rapier3d" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62a8a0bd9d3135f7b4eb45d0796540e7bab47b6b7c974f90567ccc5a0454f42b" -dependencies = [ - "approx", - "arrayvec", - "bit-vec", - "bitflags 1.3.2", - "crossbeam", - "downcast-rs", - "nalgebra", - "num-derive", - "num-traits", - "parry3d", - "rustc-hash", - "serde", - "simba", -] - -[[package]] -name = "raw-window-handle" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - -[[package]] -name = "rawpointer" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" - -[[package]] -name = "rectangle-pack" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d463f2884048e7153449a55166f91028d5b0ea53c79377099ce4e8cf0cf9bb" - -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "regex" -version = "1.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata 0.4.3", - "regex-syntax 0.8.2", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-automata" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax 0.8.2", -] - -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" - -[[package]] -name = "regex-syntax" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" - -[[package]] -name = "renderdoc-sys" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" - -[[package]] -name = "robust" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf4a6aa5f6d6888f39e980649f3ad6b666acdce1d78e95b8a2cb076e687ae30" - -[[package]] -name = "rodio" -version = "0.17.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b1bb7b48ee48471f55da122c0044fcc7600cfcc85db88240b89cb832935e611" -dependencies = [ - "cpal", - "lewton", -] - -[[package]] -name = "ron" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" -dependencies = [ - "base64 0.21.5", - "bitflags 2.4.1", - "serde", - "serde_derive", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "ruzstd" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3ffab8f9715a0d455df4bbb9d21e91135aab3cd3ca187af0cd0c3c3f868fdc" -dependencies = [ - "byteorder", - "thiserror-core", - "twox-hash", -] - -[[package]] -name = "ryu" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" - -[[package]] -name = "safe_arch" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "serde" -version = "1.0.192" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.192" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "serde_json" -version = "1.0.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shlex" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" - -[[package]] -name = "simba" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" -dependencies = [ - "approx", - "libm", - "num-complex", - "num-traits", - "paste", - "wide", -] - -[[package]] -name = "simd-adler32" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "slotmap" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" -dependencies = [ - "version_check", -] - -[[package]] -name = "smallvec" -version = "1.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" -dependencies = [ - "serde", -] - -[[package]] -name = "smol_str" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74212e6bbe9a4352329b2f68ba3130c15a3f26fe88ff22dbdc6cdd58fa85e99c" -dependencies = [ - "serde", -] - -[[package]] -name = "socket2" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "spade" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c39e369d9638e42586b226e67df08a7358d1e02eb80629d596b944b7c16f44f" -dependencies = [ - "hashbrown 0.14.2", - "num-traits", - "robust", - "smallvec", -] - -[[package]] -name = "spirv" -version = "0.2.0+1.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830" -dependencies = [ - "bitflags 1.3.2", - "num-traits", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "str-buf" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" - -[[package]] -name = "svg_fmt" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sysinfo" -version = "0.29.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a18d114d420ada3a891e6bc8e96a2023402203296a47cdd65083377dad18ba5" -dependencies = [ - "cfg-if", - "core-foundation-sys", - "libc", - "ntapi", - "once_cell", - "winapi", -] - -[[package]] -name = "taffy" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c2287b6d7f721ada4cddf61ade5e760b2c6207df041cac9bfaa192897362fd3" -dependencies = [ - "arrayvec", - "grid", - "num-traits", - "slotmap", -] - -[[package]] -name = "termcolor" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "thiserror" -version = "1.0.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-core" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d97345f6437bb2004cd58819d8a9ef8e36cdd7661c2abc4bbde0a7c40d9f497" -dependencies = [ - "thiserror-core-impl", -] - -[[package]] -name = "thiserror-core-impl" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10ac1c5050e43014d16b2f94d0d2ce79e65ffdd8b38d8048f9c8f6a8a6da62ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "thread_local" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "tiff" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211" -dependencies = [ - "flate2", - "jpeg-decoder", - "weezl", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" -dependencies = [ - "backtrace", - "libc", - "mio", - "pin-project-lite", - "socket2", - "windows-sys 0.48.0", -] - -[[package]] -name = "toml_datetime" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.1.0", - "toml_datetime", - "winnow", -] - -[[package]] -name = "toml_edit" -version = "0.20.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" -dependencies = [ - "indexmap 2.1.0", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" -dependencies = [ - "matchers", - "nu-ansi-term", - "once_cell", - "regex", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "tracing-wasm" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" -dependencies = [ - "tracing", - "tracing-subscriber", - "wasm-bindgen", -] - -[[package]] -name = "ttf-parser" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" - -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "unicode-bidi" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-width" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" - -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - -[[package]] -name = "url" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "uuid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" -dependencies = [ - "getrandom", - "serde", -] - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "waker-fn" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" - -[[package]] -name = "walkdir" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.39", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" - -[[package]] -name = "wayland-scanner" -version = "0.29.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" -dependencies = [ - "proc-macro2", - "quote", - "xml-rs", -] - -[[package]] -name = "web-sys" -version = "0.3.65" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webbrowser" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71" -dependencies = [ - "core-foundation", - "home", - "jni 0.21.1", - "log", - "ndk-context", - "objc", - "raw-window-handle", - "url", - "web-sys", -] - -[[package]] -name = "weezl" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" - -[[package]] -name = "wgpu" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed547920565c56c7a29afb4538ac5ae5048865a5d2f05bff3ad4fbeb921a9a2c" -dependencies = [ - "arrayvec", - "cfg-if", - "js-sys", - "log", - "naga", - "parking_lot", - "profiling", - "raw-window-handle", - "smallvec", - "static_assertions", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "wgpu-core", - "wgpu-hal", - "wgpu-types", -] - -[[package]] -name = "wgpu-core" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f8a44dd301a30ceeed3c27d8c0090433d3da04d7b2a4042738095a424d12ae7" -dependencies = [ - "arrayvec", - "bit-vec", - "bitflags 2.4.1", - "codespan-reporting", - "log", - "naga", - "parking_lot", - "profiling", - "raw-window-handle", - "rustc-hash", - "smallvec", - "thiserror", - "web-sys", - "wgpu-hal", - "wgpu-types", -] - -[[package]] -name = "wgpu-hal" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a80bf0e3c77399bb52850cb0830af9bad073d5cfcb9dd8253bef8125c42db17" -dependencies = [ - "android_system_properties", - "arrayvec", - "ash", - "bit-set", - "bitflags 2.4.1", - "block", - "core-graphics-types", - "d3d12", - "glow", - "gpu-alloc", - "gpu-allocator", - "gpu-descriptor", - "hassle-rs", - "js-sys", - "khronos-egl", - "libc", - "libloading 0.8.1", - "log", - "metal", - "naga", - "objc", - "parking_lot", - "profiling", - "range-alloc", - "raw-window-handle", - "renderdoc-sys", - "rustc-hash", - "smallvec", - "thiserror", - "wasm-bindgen", - "web-sys", - "wgpu-types", - "winapi", -] - -[[package]] -name = "wgpu-types" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee64d7398d0c2f9ca48922c902ef69c42d000c759f3db41e355f4a570b052b67" -dependencies = [ - "bitflags 2.4.1", - "js-sys", - "web-sys", -] - -[[package]] -name = "wide" -version = "0.7.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c68938b57b33da363195412cfc5fc37c9ed49aa9cfe2156fde64b8d2c9498242" -dependencies = [ - "bytemuck", - "safe_arch", -] - -[[package]] -name = "widestring" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-wsapoll" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows" -version = "0.44.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-targets 0.48.5", -] - -[[package]] -name = "windows" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" -dependencies = [ - "windows-core", - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-core" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-implement" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "windows-interface" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "winit" -version = "0.28.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94" -dependencies = [ - "android-activity", - "bitflags 1.3.2", - "cfg_aliases", - "core-foundation", - "core-graphics", - "dispatch", - "instant", - "libc", - "log", - "mio", - "ndk", - "objc2", - "once_cell", - "orbclient", - "percent-encoding", - "raw-window-handle", - "redox_syscall 0.3.5", - "wasm-bindgen", - "wayland-scanner", - "web-sys", - "windows-sys 0.45.0", - "x11-dl", -] - -[[package]] -name = "winnow" -version = "0.5.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" -dependencies = [ - "memchr", -] - -[[package]] -name = "x11-dl" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" -dependencies = [ - "libc", - "once_cell", - "pkg-config", -] - -[[package]] -name = "x11rb" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "592b4883219f345e712b3209c62654ebda0bb50887f330cbd018d0f654bfd507" -dependencies = [ - "gethostname", - "nix 0.24.3", - "winapi", - "winapi-wsapoll", - "x11rb-protocol", -] - -[[package]] -name = "x11rb-protocol" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56b245751c0ac9db0e006dc812031482784e434630205a93c73cfefcaabeac67" -dependencies = [ - "nix 0.24.3", -] - -[[package]] -name = "xi-unicode" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a" - -[[package]] -name = "xml-rs" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" - -[[package]] -name = "zerocopy" -version = "0.7.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd369a67c0edfef15010f980c3cbe45d7f651deac2cd67ce097cd801de16557" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2f140bda219a26ccc0cdb03dba58af72590c53b22642577d88a927bc5c87d6b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.39", -] diff --git a/examples/bevy_registry_export/basic/Cargo.toml b/examples/bevy_registry_export/basic/Cargo.toml index 9bdecc5..800d0d3 100644 --- a/examples/bevy_registry_export/basic/Cargo.toml +++ b/examples/bevy_registry_export/basic/Cargo.toml @@ -8,6 +8,8 @@ license = "MIT OR Apache-2.0" bevy="0.12" bevy_gltf_blueprints = { path = "../../../crates/bevy_gltf_blueprints" } bevy_registry_export = { path = "../../../crates/bevy_registry_export" } +bevy_gltf_worlflow_examples_common = { path = "../../common" } + bevy_rapier3d = { version = "0.23.0", features = [ "serde-serialize", "debug-render-3d", "enhanced-determinism"] } bevy_asset_loader = { version = "0.18", features = ["standard_dynamic_assets" ]} bevy_editor_pls = { version = "0.6" } diff --git a/examples/bevy_registry_export/basic/assets/registry.json b/examples/bevy_registry_export/basic/assets/registry.json index 5eeefca..88e3b13 100644 --- a/examples/bevy_registry_export/basic/assets/registry.json +++ b/examples/bevy_registry_export/basic/assets/registry.json @@ -71,16 +71,16 @@ "type": "array", "typeInfo": "List" }, - "alloc::vec::Vec": { + "alloc::vec::Vec": { "isComponent": false, "isResource": false, "items": { "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::TuppleVec3" + "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::TupleVec3" } }, - "short_name": "Vec", - "title": "alloc::vec::Vec", + "short_name": "Vec", + "title": "alloc::vec::Vec", "type": "array", "typeInfo": "List" }, @@ -2111,179 +2111,6 @@ "type": "object", "typeInfo": "Enum" }, - "bevy_bevy_registry_export_basic_example::core::camera::camera_tracking::CameraTrackable": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "CameraTrackable", - "title": "bevy_bevy_registry_export_basic_example::core::camera::camera_tracking::CameraTrackable", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_bevy_registry_export_basic_example::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_bevy_registry_export_basic_example::core::camera::camera_tracking::CameraTracking", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_bevy_registry_export_basic_example::core::camera::camera_tracking::CameraTrackingOffset": { - "isComponent": true, - "isResource": false, - "items": false, - "prefixItems": [ - { - "type": { - "$ref": "#/$defs/glam::Vec3" - } - } - ], - "short_name": "CameraTrackingOffset", - "title": "bevy_bevy_registry_export_basic_example::core::camera::camera_tracking::CameraTrackingOffset", - "type": "array", - "typeInfo": "TupleStruct" - }, - "bevy_bevy_registry_export_basic_example::core::physics::physics_replace_proxies::AutoAABBCollider": { - "isComponent": true, - "isResource": false, - "oneOf": [ - "Cuboid", - "Ball", - "Capsule" - ], - "short_name": "AutoAABBCollider", - "title": "bevy_bevy_registry_export_basic_example::core::physics::physics_replace_proxies::AutoAABBCollider", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_bevy_registry_export_basic_example::core::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_bevy_registry_export_basic_example::core::physics::physics_replace_proxies::Collider", - "type": "object", - "typeInfo": "Enum" - }, - "bevy_bevy_registry_export_basic_example::game::Interactible": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "Interactible", - "title": "bevy_bevy_registry_export_basic_example::game::Interactible", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_bevy_registry_export_basic_example::game::Player": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "Player", - "title": "bevy_bevy_registry_export_basic_example::game::Player", - "type": "object", - "typeInfo": "Struct" - }, - "bevy_bevy_registry_export_basic_example::game::SoundMaterial": { - "isComponent": true, - "isResource": false, - "oneOf": [ - "Metal", - "Wood", - "Rock", - "Cloth", - "Squishy", - "None" - ], - "short_name": "SoundMaterial", - "title": "bevy_bevy_registry_export_basic_example::game::SoundMaterial", - "type": "string", - "typeInfo": "Enum" - }, - "bevy_bevy_registry_export_basic_example::game::picking::Pickable": { - "additionalProperties": false, - "isComponent": true, - "isResource": false, - "properties": {}, - "required": [], - "short_name": "Pickable", - "title": "bevy_bevy_registry_export_basic_example::game::picking::Pickable", - "type": "object", - "typeInfo": "Struct" - }, "bevy_bevy_registry_export_basic_example::test_components::BasicTest": { "additionalProperties": false, "isComponent": true, @@ -2389,7 +2216,7 @@ "type": "string", "typeInfo": "Enum" }, - "bevy_bevy_registry_export_basic_example::test_components::NestedTuppleStuff": { + "bevy_bevy_registry_export_basic_example::test_components::NestedTupleStuff": { "isComponent": true, "isResource": false, "items": false, @@ -2410,8 +2237,8 @@ } } ], - "short_name": "NestedTuppleStuff", - "title": "bevy_bevy_registry_export_basic_example::test_components::NestedTuppleStuff", + "short_name": "NestedTupleStuff", + "title": "bevy_bevy_registry_export_basic_example::test_components::NestedTupleStuff", "type": "array", "typeInfo": "TupleStruct" }, @@ -2427,7 +2254,7 @@ }, "color": { "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::TuppleTestColor" + "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::TupleTestColor" } }, "colors_list": { @@ -2457,7 +2284,7 @@ }, "toggle": { "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::TuppleTestBool" + "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::TupleTestBool" } } }, @@ -2483,7 +2310,7 @@ "properties": { "vec": { "type": { - "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::TuppleVec3" + "$ref": "#/$defs/bevy_bevy_registry_export_basic_example::test_components::TupleVec3" } } }, @@ -2495,7 +2322,7 @@ "type": "object", "typeInfo": "Struct" }, - "bevy_bevy_registry_export_basic_example::test_components::TuppleTest2": { + "bevy_bevy_registry_export_basic_example::test_components::TupleTest2": { "isComponent": true, "isResource": false, "items": false, @@ -2516,12 +2343,12 @@ } } ], - "short_name": "TuppleTest2", - "title": "bevy_bevy_registry_export_basic_example::test_components::TuppleTest2", + "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::TuppleTestBool": { + "bevy_bevy_registry_export_basic_example::test_components::TupleTestBool": { "isComponent": true, "isResource": false, "items": false, @@ -2532,12 +2359,12 @@ } } ], - "short_name": "TuppleTestBool", - "title": "bevy_bevy_registry_export_basic_example::test_components::TuppleTestBool", + "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::TuppleTestColor": { + "bevy_bevy_registry_export_basic_example::test_components::TupleTestColor": { "isComponent": true, "isResource": false, "items": false, @@ -2548,12 +2375,12 @@ } } ], - "short_name": "TuppleTestColor", - "title": "bevy_bevy_registry_export_basic_example::test_components::TuppleTestColor", + "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::TuppleTestF32": { + "bevy_bevy_registry_export_basic_example::test_components::TupleTestF32": { "isComponent": true, "isResource": false, "items": false, @@ -2564,12 +2391,12 @@ } } ], - "short_name": "TuppleTestF32", - "title": "bevy_bevy_registry_export_basic_example::test_components::TuppleTestF32", + "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::TuppleTestStr": { + "bevy_bevy_registry_export_basic_example::test_components::TupleTestStr": { "isComponent": true, "isResource": false, "items": false, @@ -2580,12 +2407,12 @@ } } ], - "short_name": "TuppleTestStr", - "title": "bevy_bevy_registry_export_basic_example::test_components::TuppleTestStr", + "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::TuppleTestU64": { + "bevy_bevy_registry_export_basic_example::test_components::TupleTestU64": { "isComponent": true, "isResource": false, "items": false, @@ -2596,12 +2423,12 @@ } } ], - "short_name": "TuppleTestU64", - "title": "bevy_bevy_registry_export_basic_example::test_components::TuppleTestU64", + "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::TuppleVec": { + "bevy_bevy_registry_export_basic_example::test_components::TupleVec": { "isComponent": true, "isResource": false, "items": false, @@ -2612,12 +2439,12 @@ } } ], - "short_name": "TuppleVec", - "title": "bevy_bevy_registry_export_basic_example::test_components::TuppleVec", + "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::TuppleVec2": { + "bevy_bevy_registry_export_basic_example::test_components::TupleVec2": { "isComponent": true, "isResource": false, "items": false, @@ -2628,12 +2455,12 @@ } } ], - "short_name": "TuppleVec2", - "title": "bevy_bevy_registry_export_basic_example::test_components::TuppleVec2", + "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::TuppleVec3": { + "bevy_bevy_registry_export_basic_example::test_components::TupleVec3": { "isComponent": true, "isResource": false, "items": false, @@ -2644,12 +2471,12 @@ } } ], - "short_name": "TuppleVec3", - "title": "bevy_bevy_registry_export_basic_example::test_components::TuppleVec3", + "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::TuppleVecF32F32": { + "bevy_bevy_registry_export_basic_example::test_components::TupleVecF32F32": { "isComponent": true, "isResource": false, "items": false, @@ -2660,8 +2487,8 @@ } } ], - "short_name": "TuppleVecF32F32", - "title": "bevy_bevy_registry_export_basic_example::test_components::TuppleVecF32F32", + "short_name": "TupleVecF32F32", + "title": "bevy_bevy_registry_export_basic_example::test_components::TupleVecF32F32", "type": "array", "typeInfo": "TupleStruct" }, @@ -2699,7 +2526,7 @@ "prefixItems": [ { "type": { - "$ref": "#/$defs/alloc::vec::Vec" + "$ref": "#/$defs/alloc::vec::Vec" } } ], @@ -3190,6 +3017,207 @@ "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::core::lighting::lighting_replace_proxies::AmbientLightSettings": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "properties": { + "brightness": { + "type": { + "$ref": "#/$defs/f32" + } + }, + "color": { + "type": { + "$ref": "#/$defs/bevy_render::color::Color" + } + } + }, + "required": [ + "color", + "brightness" + ], + "short_name": "AmbientLightSettings", + "title": "bevy_gltf_worlflow_examples_common::core::lighting::lighting_replace_proxies::AmbientLightSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_gltf_worlflow_examples_common::core::lighting::lighting_replace_proxies::ShadowmapSettings": { + "additionalProperties": false, + "isComponent": true, + "isResource": false, + "properties": { + "size": { + "type": { + "$ref": "#/$defs/usize" + } + } + }, + "required": [ + "size" + ], + "short_name": "ShadowmapSettings", + "title": "bevy_gltf_worlflow_examples_common::core::lighting::lighting_replace_proxies::ShadowmapSettings", + "type": "object", + "typeInfo": "Struct" + }, + "bevy_gltf_worlflow_examples_common::core::physics::physics_replace_proxies::AutoAABBCollider": { + "isComponent": true, + "isResource": false, + "oneOf": [ + "Cuboid", + "Ball", + "Capsule" + ], + "short_name": "AutoAABBCollider", + "title": "bevy_gltf_worlflow_examples_common::core::physics::physics_replace_proxies::AutoAABBCollider", + "type": "string", + "typeInfo": "Enum" + }, + "bevy_gltf_worlflow_examples_common::core::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::core::physics::physics_replace_proxies::Collider", + "type": "object", + "typeInfo": "Enum" + }, + "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_hierarchy::components::children::Children": { "isComponent": true, "isResource": false, diff --git a/examples/bevy_registry_export/basic/src/assets/assets_core.rs b/examples/bevy_registry_export/basic/src/assets/assets_core.rs deleted file mode 100644 index 29b577a..0000000 --- a/examples/bevy_registry_export/basic/src/assets/assets_core.rs +++ /dev/null @@ -1,5 +0,0 @@ -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct CoreAssets {} diff --git a/examples/bevy_registry_export/basic/src/assets/assets_game.rs b/examples/bevy_registry_export/basic/src/assets/assets_game.rs deleted file mode 100644 index b8e0665..0000000 --- a/examples/bevy_registry_export/basic/src/assets/assets_game.rs +++ /dev/null @@ -1,13 +0,0 @@ -use bevy::gltf::Gltf; -use bevy::prelude::*; -use bevy::utils::HashMap; -use bevy_asset_loader::prelude::*; - -#[derive(AssetCollection, Resource)] -pub struct GameAssets { - #[asset(key = "world")] - pub world: Handle, - - #[asset(key = "models", collection(typed, mapped))] - pub models: HashMap>, -} diff --git a/examples/bevy_registry_export/basic/src/assets/mod.rs b/examples/bevy_registry_export/basic/src/assets/mod.rs deleted file mode 100644 index a2c8b22..0000000 --- a/examples/bevy_registry_export/basic/src/assets/mod.rs +++ /dev/null @@ -1,35 +0,0 @@ -pub mod assets_core; -pub use assets_core::*; - -pub mod assets_game; -pub use assets_game::*; - -use bevy::prelude::*; -use bevy_asset_loader::prelude::*; - -use crate::state::AppState; - -pub struct AssetsPlugin; -impl Plugin for AssetsPlugin { - fn build(&self, app: &mut App) { - app - // load core assets (ie assets needed in the main menu, and everywhere else before loading more assets in game) - .add_loading_state( - LoadingState::new(AppState::CoreLoading).continue_to_state(AppState::MenuRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::CoreLoading, - "assets_core.assets.ron", - ) - .add_collection_to_loading_state::<_, CoreAssets>(AppState::CoreLoading) - // load game assets - .add_loading_state( - LoadingState::new(AppState::AppLoading).continue_to_state(AppState::AppRunning), - ) - .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( - AppState::AppLoading, - "assets_game.assets.ron", - ) - .add_collection_to_loading_state::<_, GameAssets>(AppState::AppLoading); - } -} diff --git a/examples/bevy_registry_export/basic/src/core/camera/camera_replace_proxies.rs b/examples/bevy_registry_export/basic/src/core/camera/camera_replace_proxies.rs deleted file mode 100644 index 9055c95..0000000 --- a/examples/bevy_registry_export/basic/src/core/camera/camera_replace_proxies.rs +++ /dev/null @@ -1,24 +0,0 @@ -use bevy::core_pipeline::bloom::{BloomCompositeMode, BloomSettings}; -use bevy::core_pipeline::tonemapping::{DebandDither, Tonemapping}; -use bevy::prelude::*; - -use super::CameraTrackingOffset; - -pub fn camera_replace_proxies( - mut commands: Commands, - mut added_cameras: Query<(Entity, &mut Camera), (Added, With)>, -) { - for (entity, mut camera) in added_cameras.iter_mut() { - info!("detected added camera, updating proxy"); - camera.hdr = true; - commands - .entity(entity) - .insert(DebandDither::Enabled) - .insert(Tonemapping::BlenderFilmic) - .insert(BloomSettings { - intensity: 0.01, - composite_mode: BloomCompositeMode::Additive, - ..default() - }); - } -} diff --git a/examples/bevy_registry_export/basic/src/core/camera/mod.rs b/examples/bevy_registry_export/basic/src/core/camera/mod.rs deleted file mode 100644 index a6bbb65..0000000 --- a/examples/bevy_registry_export/basic/src/core/camera/mod.rs +++ /dev/null @@ -1,24 +0,0 @@ -pub mod camera_tracking; -pub use camera_tracking::*; - -pub mod camera_replace_proxies; -pub use camera_replace_proxies::*; - -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -pub struct CameraPlugin; -impl Plugin for CameraPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .register_type::() - .register_type::() - .add_systems( - Update, - ( - camera_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - camera_track, - ), - ); - } -} diff --git a/examples/bevy_registry_export/basic/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_registry_export/basic/src/core/lighting/lighting_replace_proxies.rs deleted file mode 100644 index 48c0908..0000000 --- a/examples/bevy_registry_export/basic/src/core/lighting/lighting_replace_proxies.rs +++ /dev/null @@ -1,25 +0,0 @@ -use bevy::prelude::*; - -use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; - -// fixme might be too specific to might needs, should it be moved out ? also these are all for lights, not models -pub fn lighting_replace_proxies( - mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, - mut added_spotlights: Query<&mut SpotLight, Added>, - mut commands: Commands, -) { - for (entity, mut light) in added_dirights.iter_mut() { - light.illuminance *= 5.0; - light.shadows_enabled = true; - let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { - first_cascade_far_bound: 15.0, - maximum_distance: 135.0, - ..default() - } - .into(); - commands.entity(entity).insert(shadow_config); - } - for mut light in added_spotlights.iter_mut() { - light.shadows_enabled = true; - } -} diff --git a/examples/bevy_registry_export/basic/src/core/lighting/mod.rs b/examples/bevy_registry_export/basic/src/core/lighting/mod.rs deleted file mode 100644 index c9688cd..0000000 --- a/examples/bevy_registry_export/basic/src/core/lighting/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -mod lighting_replace_proxies; -use lighting_replace_proxies::*; - -use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; -use bevy::prelude::*; - -pub struct LightingPlugin; -impl Plugin for LightingPlugin { - fn build(&self, app: &mut App) { - app - .insert_resource(DirectionalLightShadowMap { size: 4096 }) - // FIXME: adding these since they are missing - .register_type::() - - .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely - ; - } -} diff --git a/examples/bevy_registry_export/basic/src/core/mod.rs b/examples/bevy_registry_export/basic/src/core/mod.rs index 7404994..5421e4e 100644 --- a/examples/bevy_registry_export/basic/src/core/mod.rs +++ b/examples/bevy_registry_export/basic/src/core/mod.rs @@ -1,18 +1,5 @@ -pub mod camera; -pub use camera::*; - -pub mod lighting; -pub use lighting::*; - -pub mod relationships; -pub use relationships::*; - -pub mod physics; -pub use physics::*; - use bevy::prelude::*; use bevy_gltf_blueprints::*; - use bevy_registry_export::*; pub struct CorePlugin; @@ -23,9 +10,6 @@ impl Plugin for CorePlugin { save_path: "assets/registry.json".into(), ..Default::default() }, - LightingPlugin, - CameraPlugin, - PhysicsPlugin, BlueprintsPlugin { legacy_mode: false, library_folder: "models/library".into(), diff --git a/examples/bevy_registry_export/basic/src/core/physics/controls.rs b/examples/bevy_registry_export/basic/src/core/physics/controls.rs deleted file mode 100644 index b478d12..0000000 --- a/examples/bevy_registry_export/basic/src/core/physics/controls.rs +++ /dev/null @@ -1,12 +0,0 @@ -use bevy::{log::info, prelude::ResMut}; -use bevy_rapier3d::prelude::RapierConfiguration; - -pub fn pause_physics(mut physics_config: ResMut) { - info!("pausing physics"); - physics_config.physics_pipeline_active = false; -} - -pub fn resume_physics(mut physics_config: ResMut) { - info!("unpausing physics"); - physics_config.physics_pipeline_active = true; -} diff --git a/examples/bevy_registry_export/basic/src/core/physics/mod.rs b/examples/bevy_registry_export/basic/src/core/physics/mod.rs deleted file mode 100644 index cd7d523..0000000 --- a/examples/bevy_registry_export/basic/src/core/physics/mod.rs +++ /dev/null @@ -1,37 +0,0 @@ -pub mod physics_replace_proxies; -use bevy_rapier3d::{ - prelude::{NoUserData, RapierPhysicsPlugin}, - render::RapierDebugRenderPlugin, -}; -pub use physics_replace_proxies::*; - -pub mod utils; - -pub mod controls; -pub use controls::*; - -use crate::state::GameState; -use bevy::prelude::*; -// use super::blueprints::GltfBlueprintsSet; -use bevy_gltf_blueprints::GltfBlueprintsSet; -// use crate::Collider; -pub struct PhysicsPlugin; -impl Plugin for PhysicsPlugin { - fn build(&self, app: &mut App) { - app.add_plugins(( - RapierPhysicsPlugin::::default(), - RapierDebugRenderPlugin::default(), - )) - .register_type::() - .register_type::() - // find a way to make serde's stuff serializable - // .register_type::() - //bevy_rapier3d::dynamics::CoefficientCombineRule - .add_systems( - Update, - physics_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), - ) - .add_systems(OnEnter(GameState::InGame), resume_physics) - .add_systems(OnExit(GameState::InGame), pause_physics); - } -} diff --git a/examples/bevy_registry_export/basic/src/core/physics/physics_replace_proxies.rs b/examples/bevy_registry_export/basic/src/core/physics/physics_replace_proxies.rs deleted file mode 100644 index b91462c..0000000 --- a/examples/bevy_registry_export/basic/src/core/physics/physics_replace_proxies.rs +++ /dev/null @@ -1,101 +0,0 @@ -use bevy::prelude::*; -// use bevy::render::primitives::Aabb; -use bevy_rapier3d::geometry::Collider as RapierCollider; -use bevy_rapier3d::prelude::{ActiveCollisionTypes, ActiveEvents, ComputedColliderShape}; - -use super::utils::*; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum Collider { - Ball(f32), - Cuboid(Vec3), - Capsule(Vec3, Vec3, f32), - #[default] - Mesh, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum AutoAABBCollider { - #[default] - Cuboid, - Ball, - Capsule, -} - -// replaces all physics stand-ins with the actual rapier types -pub fn physics_replace_proxies( - meshes: Res>, - mesh_handles: Query<&Handle>, - mut proxy_colliders: Query< - (Entity, &Collider, &Name, &mut Visibility), - (Without, Added), - >, - // needed for tri meshes - children: Query<&Children>, - - mut commands: Commands, -) { - for proxy_colider in proxy_colliders.iter_mut() { - let (entity, collider_proxy, name, mut visibility) = proxy_colider; - // we hide the collider meshes: perhaps they should be removed altogether once processed ? - if name.ends_with("_collider") || name.ends_with("_sensor") { - *visibility = Visibility::Hidden; - } - - let mut rapier_collider: RapierCollider; - match collider_proxy { - Collider::Ball(radius) => { - info!("generating collider from proxy: ball"); - rapier_collider = RapierCollider::ball(*radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Cuboid(size) => { - info!("generating collider from proxy: cuboid"); - rapier_collider = RapierCollider::cuboid(size.x, size.y, size.z); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Capsule(a, b, radius) => { - info!("generating collider from proxy: capsule"); - rapier_collider = RapierCollider::capsule(*a, *b, *radius); - commands.entity(entity) - .insert(rapier_collider) - .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! - ; - } - Collider::Mesh => { - info!("generating collider from proxy: mesh"); - for (_, collider_mesh) in - Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) - { - rapier_collider = RapierCollider::from_bevy_mesh( - collider_mesh, - &ComputedColliderShape::TriMesh, - ) - .unwrap(); - commands - .entity(entity) - .insert(rapier_collider) - // FIXME: this is just for demo purposes !!! - .insert( - ActiveCollisionTypes::default() - | ActiveCollisionTypes::KINEMATIC_STATIC - | ActiveCollisionTypes::STATIC_STATIC - | ActiveCollisionTypes::DYNAMIC_STATIC, - ) - .insert(ActiveEvents::COLLISION_EVENTS); - // .insert(ActiveEvents::COLLISION_EVENTS) - // break; - // RapierCollider::convex_hull(points) - } - } - } - } -} diff --git a/examples/bevy_registry_export/basic/src/core/physics/utils.rs b/examples/bevy_registry_export/basic/src/core/physics/utils.rs deleted file mode 100644 index 7886710..0000000 --- a/examples/bevy_registry_export/basic/src/core/physics/utils.rs +++ /dev/null @@ -1,175 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs - -pub(crate) trait Vec3Ext: Copy { - fn is_approx_zero(self) -> bool; - fn split(self, up: Vec3) -> SplitVec3; -} -impl Vec3Ext for Vec3 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn split(self, up: Vec3) -> SplitVec3 { - let vertical = up * self.dot(up); - let horizontal = self - vertical; - SplitVec3 { - vertical, - horizontal, - } - } -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub(crate) struct SplitVec3 { - pub(crate) vertical: Vec3, - pub(crate) horizontal: Vec3, -} - -pub(crate) trait Vec2Ext: Copy { - fn is_approx_zero(self) -> bool; - fn x0y(self) -> Vec3; -} -impl Vec2Ext for Vec2 { - #[inline] - fn is_approx_zero(self) -> bool { - self.length_squared() < 1e-5 - } - - #[inline] - fn x0y(self) -> Vec3 { - Vec3::new(self.x, 0., self.y) - } -} - -pub(crate) trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - parent: Entity, - children: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)>; -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { - let vec3 = (*normal).into(); - let transformed = transform.rotation.mul_vec3(vec3); - *normal = transformed.into(); - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - // Guaranteed by Bevy for the current usage - match self - .attribute_mut(id) - .expect("Failed to read unknown mesh attribute") - { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy for the current usage - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - parent: Entity, - children_query: &'a Query<&Children>, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> Vec<(Entity, &'a Mesh)> { - if let Ok(children) = children_query.get(parent) { - let mut result: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .map(|(entity, mesh_handle)| { - ( - entity, - meshes - .get(mesh_handle) - .expect("Failed to get mesh from handle"), - ) - }) - .map(|(entity, mesh)| { - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (entity, mesh) - }) - .collect(); - let mut inner_result = children - .iter() - .flat_map(|entity| { - Self::search_in_children(*entity, children_query, meshes, mesh_handles) - }) - .collect(); - result.append(&mut inner_result); - result - } else { - Vec::new() - } - } -} - -pub(crate) trait F32Ext: Copy { - fn is_approx_zero(self) -> bool; - fn squared(self) -> f32; - fn lerp(self, other: f32, ratio: f32) -> f32; -} - -impl F32Ext for f32 { - #[inline] - fn is_approx_zero(self) -> bool { - self.abs() < 1e-5 - } - - #[inline] - fn squared(self) -> f32 { - self * self - } - - #[inline] - fn lerp(self, other: f32, ratio: f32) -> f32 { - self.mul_add(1. - ratio, other * ratio) - } -} - -pub(crate) trait TransformExt: Copy { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; - fn lerp(self, other: Transform, ratio: f32) -> Transform; -} - -impl TransformExt for Transform { - fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { - let direction = target - self.translation; - let horizontal_direction = direction - up * direction.dot(up); - let look_target = self.translation + horizontal_direction; - self.looking_at(look_target, up) - } - - fn lerp(self, other: Transform, ratio: f32) -> Transform { - let translation = self.translation.lerp(other.translation, ratio); - let rotation = self.rotation.slerp(other.rotation, ratio); - let scale = self.scale.lerp(other.scale, ratio); - Transform { - translation, - rotation, - scale, - } - } -} diff --git a/examples/bevy_registry_export/basic/src/core/physics/utils_old.rs b/examples/bevy_registry_export/basic/src/core/physics/utils_old.rs deleted file mode 100644 index c210dd3..0000000 --- a/examples/bevy_registry_export/basic/src/core/physics/utils_old.rs +++ /dev/null @@ -1,75 +0,0 @@ -use bevy::prelude::*; -use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; -// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/6e31fc02652fc9d085a4adde0a73ab007dbbb0dc/src/util/trait_extension.rs - -pub trait Vec3Ext { - #[allow(clippy::wrong_self_convention)] // Because [`Vec3`] is [`Copy`] - fn is_approx_zero(self) -> bool; - fn x0z(self) -> Vec3; -} -impl Vec3Ext for Vec3 { - fn is_approx_zero(self) -> bool { - [self.x, self.y, self.z].iter().all(|&x| x.abs() < 1e-5) - } - fn x0z(self) -> Vec3 { - Vec3::new(self.x, 0., self.z) - } -} - -pub trait MeshExt { - fn transform(&mut self, transform: Transform); - fn transformed(&self, transform: Transform) -> Mesh; - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; - fn search_in_children<'a>( - children: &'a Children, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> (Entity, &'a Mesh); -} - -impl MeshExt for Mesh { - fn transform(&mut self, transform: Transform) { - for attribute in [Mesh::ATTRIBUTE_POSITION, Mesh::ATTRIBUTE_NORMAL] { - for coords in self.read_coords_mut(attribute.clone()) { - let vec3 = (*coords).into(); - let transformed = transform.transform_point(vec3); - *coords = transformed.into(); - } - } - } - - fn transformed(&self, transform: Transform) -> Mesh { - let mut mesh = self.clone(); - mesh.transform(transform); - mesh - } - - fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { - match self.attribute_mut(id).unwrap() { - VertexAttributeValues::Float32x3(values) => values, - // Guaranteed by Bevy - _ => unreachable!(), - } - } - - fn search_in_children<'a>( - children: &'a Children, - meshes: &'a Assets, - mesh_handles: &'a Query<&Handle>, - ) -> (Entity, &'a Mesh) { - let entity_handles: Vec<_> = children - .iter() - .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) - .collect(); - assert_eq!( - entity_handles.len(), - 1, - "Collider must contain exactly one mesh, but found {}", - entity_handles.len() - ); - let (entity, mesh_handle) = entity_handles.first().unwrap(); - let mesh = meshes.get(mesh_handle).unwrap(); - assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); - (*entity, mesh) - } -} diff --git a/examples/bevy_registry_export/basic/src/core/relationships/mod.rs b/examples/bevy_registry_export/basic/src/core/relationships/mod.rs deleted file mode 100644 index 4128453..0000000 --- a/examples/bevy_registry_export/basic/src/core/relationships/mod.rs +++ /dev/null @@ -1,11 +0,0 @@ -pub mod relationships_insert_dependant_components; -pub use relationships_insert_dependant_components::*; - -use bevy::prelude::*; - -pub struct EcsRelationshipsPlugin; -impl Plugin for EcsRelationshipsPlugin { - fn build(&self, app: &mut App) { - app; - } -} diff --git a/examples/bevy_registry_export/basic/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_registry_export/basic/src/core/relationships/relationships_insert_dependant_components.rs deleted file mode 100644 index 4e9ad17..0000000 --- a/examples/bevy_registry_export/basic/src/core/relationships/relationships_insert_dependant_components.rs +++ /dev/null @@ -1,15 +0,0 @@ -use bevy::prelude::*; - -pub fn insert_dependant_component< - Dependant: Component, - Dependency: Component + std::default::Default, ->( - mut commands: Commands, - entities_without_depency: Query<(Entity, &Name), (With, Without)>, -) { - for (entity, name) in entities_without_depency.iter() { - let name = name.clone().to_string(); - commands.entity(entity).insert(Dependency::default()); - warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); - } -} diff --git a/examples/bevy_registry_export/basic/src/game/in_game.rs b/examples/bevy_registry_export/basic/src/game/in_game.rs index 2a077f7..2338956 100644 --- a/examples/bevy_registry_export/basic/src/game/in_game.rs +++ b/examples/bevy_registry_export/basic/src/game/in_game.rs @@ -1,10 +1,6 @@ use bevy::prelude::*; - -use crate::{ - assets::GameAssets, - state::{GameState, InAppRunning}, -}; use bevy_gltf_blueprints::{BluePrintBundle, BlueprintName, GameWorldTag}; +use bevy_gltf_worlflow_examples_common::{assets::GameAssets, GameState, InAppRunning}; use bevy_rapier3d::prelude::Velocity; use rand::Rng; 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 index 586063a..c1a4b8b 100644 --- a/examples/bevy_registry_export/basic/src/game/in_main_menu.rs +++ b/examples/bevy_registry_export/basic/src/game/in_main_menu.rs @@ -1,6 +1,5 @@ use bevy::prelude::*; - -use crate::state::{AppState, InMainMenu}; +use bevy_gltf_worlflow_examples_common::{AppState, InMainMenu}; pub fn setup_main_menu(mut commands: Commands) { commands.spawn((Camera2dBundle::default(), InMainMenu)); diff --git a/examples/bevy_registry_export/basic/src/game/mod.rs b/examples/bevy_registry_export/basic/src/game/mod.rs index 1318ee1..b236141 100644 --- a/examples/bevy_registry_export/basic/src/game/mod.rs +++ b/examples/bevy_registry_export/basic/src/game/mod.rs @@ -4,87 +4,19 @@ pub use in_game::*; pub mod in_main_menu; pub use in_main_menu::*; -pub mod picking; -pub use picking::*; - -use crate::state::{AppState, GameState}; use bevy::prelude::*; - -// this file is just for demo purposes, contains various types of components, systems etc - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub enum SoundMaterial { - Metal, - Wood, - Rock, - Cloth, - Squishy, - #[default] - None, -} - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Player; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo component showing auto injection of components -pub struct ShouldBeWithPlayer; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -/// Demo marker component -pub struct Interactible; - -fn player_move_demo( - keycode: Res>, - mut players: Query<&mut Transform, With>, -) { - let speed = 0.2; - if let Ok(mut player) = players.get_single_mut() { - if keycode.pressed(KeyCode::Left) { - player.translation.x += speed; - } - if keycode.pressed(KeyCode::Right) { - player.translation.x -= speed; - } - - if keycode.pressed(KeyCode::Up) { - player.translation.z += speed; - } - if keycode.pressed(KeyCode::Down) { - player.translation.z -= speed; - } - } -} +use bevy_gltf_worlflow_examples_common::{AppState, GameState}; pub struct GamePlugin; impl Plugin for GamePlugin { fn build(&self, app: &mut App) { - app.add_plugins(PickingPlugin) - .register_type::() - .register_type::() - .register_type::() - // little helper utility, to automatically inject components that are dependant on an other component - // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component - // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) - .add_systems( - Update, - ( - // insert_dependant_component::, - player_move_demo, //.run_if(in_state(AppState::Running)), - // test_collision_events - spawn_test, - spawn_test_unregisted_components, - ) - .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); + app.add_systems( + Update, + (spawn_test, spawn_test_unregisted_components).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/game/picking.rs b/examples/bevy_registry_export/basic/src/game/picking.rs deleted file mode 100644 index 6731bbb..0000000 --- a/examples/bevy_registry_export/basic/src/game/picking.rs +++ /dev/null @@ -1,34 +0,0 @@ -use super::Player; -use bevy::prelude::*; -use bevy_gltf_blueprints::GltfBlueprintsSet; - -#[derive(Component, Reflect, Default, Debug)] -#[reflect(Component)] -pub struct Pickable; - -// very simple, crude picking (as in picking up objects) implementation - -pub fn picking( - players: Query<&GlobalTransform, With>, - pickables: Query<(Entity, &GlobalTransform), With>, - mut commands: Commands, -) { - for player_transforms in players.iter() { - for (pickable, pickable_transforms) in pickables.iter() { - let distance = player_transforms - .translation() - .distance(pickable_transforms.translation()); - if distance < 2.5 { - commands.entity(pickable).despawn_recursive(); - } - } - } -} - -pub struct PickingPlugin; -impl Plugin for PickingPlugin { - fn build(&self, app: &mut App) { - app.register_type::() - .add_systems(Update, (picking.after(GltfBlueprintsSet::AfterSpawn),)); - } -} diff --git a/examples/bevy_registry_export/basic/src/main.rs b/examples/bevy_registry_export/basic/src/main.rs index 6edba33..8fca426 100644 --- a/examples/bevy_registry_export/basic/src/main.rs +++ b/examples/bevy_registry_export/basic/src/main.rs @@ -1,15 +1,10 @@ use bevy::prelude::*; use bevy_editor_pls::prelude::*; +use bevy_gltf_worlflow_examples_common::CommonPlugin; mod core; use crate::core::*; -pub mod assets; -use assets::*; - -pub mod state; -use state::*; - mod game; use game::*; @@ -23,8 +18,7 @@ fn main() { // editor EditorPlugin::default(), // our custom plugins - StatePlugin, - AssetsPlugin, + CommonPlugin, CorePlugin, // reusable plugins GamePlugin, // specific to our game ComponentsTestPlugin, // Showcases different type of components /structs diff --git a/examples/bevy_registry_export/basic/src/state.rs b/examples/bevy_registry_export/basic/src/state.rs deleted file mode 100644 index 8e983d9..0000000 --- a/examples/bevy_registry_export/basic/src/state.rs +++ /dev/null @@ -1,54 +0,0 @@ -use bevy::app::AppExit; -use bevy::prelude::*; - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum AppState { - #[default] - CoreLoading, - MenuRunning, - AppLoading, - AppRunning, - AppEnding, - - // FIXME: not sure - LoadingGame, -} - -#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] -pub enum GameState { - #[default] - None, - - InMenu, - InGame, - - InGameOver, - - InSaving, - InLoading, -} - -// tag components for all entities within a certain state (for despawning them if needed) , FIXME: seems kinda hack-ish -#[derive(Component)] -pub struct InCoreLoading; -#[derive(Component, Default)] -pub struct InMenuRunning; -#[derive(Component)] -pub struct InAppLoading; -#[derive(Component)] -pub struct InAppRunning; - -// components for tagging in game vs in game menu stuff -#[derive(Component, Default)] -pub struct InMainMenu; -#[derive(Component, Default)] -pub struct InMenu; -#[derive(Component, Default)] -pub struct InGame; - -pub struct StatePlugin; -impl Plugin for StatePlugin { - fn build(&self, app: &mut App) { - app.add_state::().add_state::(); - } -} diff --git a/examples/bevy_registry_export/basic/src/test_components.rs b/examples/bevy_registry_export/basic/src/test_components.rs index 39cd711..deebb1d 100644 --- a/examples/bevy_registry_export/basic/src/test_components.rs +++ b/examples/bevy_registry_export/basic/src/test_components.rs @@ -6,43 +6,43 @@ struct UnitTest; #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestF32(f32); +struct TupleTestF32(f32); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -struct TuppleTestU64(u64); +struct TupleTestU64(u64); #[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] #[reflect(Component)] -pub struct TuppleTestStr(String); +pub struct TupleTestStr(String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTest2(f32, u64, String); +struct TupleTest2(f32, u64, String); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestBool(bool); +struct TupleTestBool(bool); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec2(Vec2); +struct TupleVec2(Vec2); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec3(Vec3); +struct TupleVec3(Vec3); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVec(Vec); +struct TupleVec(Vec); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleVecF32F32(Vec<(f32, f32)>); +struct TupleVecF32F32(Vec<(f32, f32)>); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -struct TuppleTestColor(Color); +struct TupleTestColor(Color); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] @@ -70,8 +70,8 @@ pub struct NestingTestLevel2 { text: String, enable: bool, enum_inner: EnumTest, - color: TuppleTestColor, - toggle: TuppleTestBool, + color: TupleTestColor, + toggle: TupleTestBool, basic: BasicTest, pub nested: NestingTestLevel3, colors_list: VecOfColors, @@ -80,12 +80,12 @@ pub struct NestingTestLevel2 { #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] pub struct NestingTestLevel3 { - vec: TuppleVec3, + vec: TupleVec3, } #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -pub struct NestedTuppleStuff(f32, u64, NestingTestLevel2); +pub struct NestedTupleStuff(f32, u64, NestingTestLevel2); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] @@ -100,7 +100,7 @@ pub enum EnumComplex { #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] -pub struct VecOfVec3s2(Vec); +pub struct VecOfVec3s2(Vec); #[derive(Component, Reflect, Default, Debug)] #[reflect(Component)] @@ -110,26 +110,26 @@ 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::() + .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::>() .register_type::(); } diff --git a/examples/bevy_gltf_blueprints/multiple_levels/Cargo.toml b/examples/common/Cargo.toml similarity index 70% rename from examples/bevy_gltf_blueprints/multiple_levels/Cargo.toml rename to examples/common/Cargo.toml index ac7991e..9f19715 100644 --- a/examples/bevy_gltf_blueprints/multiple_levels/Cargo.toml +++ b/examples/common/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "bevy_gltf_blueprints_multiple_levels" -version = "0.3.0" +name = "bevy_gltf_worlflow_examples_common" +version = "0.1.0" edition = "2021" license = "MIT OR Apache-2.0" [dependencies] bevy="0.12" -bevy_gltf_blueprints = { path = "../../../crates/bevy_gltf_blueprints" } +bevy_gltf_blueprints = { path = "../../crates/bevy_gltf_blueprints" } bevy_rapier3d = { version = "0.23.0", features = [ "serde-serialize", "debug-render-3d", "enhanced-determinism"] } bevy_asset_loader = { version = "0.18", features = ["standard_dynamic_assets" ]} bevy_editor_pls = { version = "0.6" } diff --git a/examples/bevy_gltf_blueprints/animation/src/assets/assets_core.rs b/examples/common/src/assets/assets_core.rs similarity index 100% rename from examples/bevy_gltf_blueprints/animation/src/assets/assets_core.rs rename to examples/common/src/assets/assets_core.rs diff --git a/examples/common/src/assets/assets_game.rs b/examples/common/src/assets/assets_game.rs new file mode 100644 index 0000000..988e964 --- /dev/null +++ b/examples/common/src/assets/assets_game.rs @@ -0,0 +1,24 @@ +use bevy::gltf::Gltf; +use bevy::prelude::*; +use bevy::utils::HashMap; +use bevy_asset_loader::prelude::*; + +#[derive(AssetCollection, Resource)] +pub struct GameAssets { + #[asset(key = "world")] + pub world: Handle, + + #[asset(key = "world_dynamic", optional)] + pub world_dynamic: Option>, + + #[asset(key = "level1", optional)] + pub level1: Option>, + #[asset(key = "level2", optional)] + pub level2: Option>, + + #[asset(key = "models", collection(typed, mapped))] + pub models: HashMap>, + + #[asset(key = "materials", collection(typed, mapped), optional)] + pub materials: Option>>, +} diff --git a/examples/bevy_gltf_blueprints/animation/src/assets/mod.rs b/examples/common/src/assets/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/animation/src/assets/mod.rs rename to examples/common/src/assets/mod.rs diff --git a/examples/common/src/core/audio/mod.rs b/examples/common/src/core/audio/mod.rs new file mode 100644 index 0000000..24b7949 --- /dev/null +++ b/examples/common/src/core/audio/mod.rs @@ -0,0 +1,21 @@ +use bevy::prelude::*; + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +pub enum SoundMaterial { + Metal, + Wood, + Rock, + Cloth, + Squishy, + #[default] + None, +} + + +pub struct AudioPlugin; +impl Plugin for AudioPlugin { + fn build(&self, app: &mut App) { + app.register_type::(); + } +} diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/camera/camera_replace_proxies.rs b/examples/common/src/core/camera/camera_replace_proxies.rs similarity index 98% rename from examples/bevy_gltf_blueprints/basic_scene_components/src/core/camera/camera_replace_proxies.rs rename to examples/common/src/core/camera/camera_replace_proxies.rs index 76c8602..c72e84a 100644 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/camera/camera_replace_proxies.rs +++ b/examples/common/src/core/camera/camera_replace_proxies.rs @@ -10,6 +10,7 @@ use super::CameraTrackingOffset; #[reflect(Component)] pub struct SSAOSettings; +#[allow(clippy::type_complexity)] pub fn camera_replace_proxies( mut commands: Commands, mut added_cameras: Query< diff --git a/examples/bevy_registry_export/basic/src/core/camera/camera_tracking.rs b/examples/common/src/core/camera/camera_tracking.rs similarity index 98% rename from examples/bevy_registry_export/basic/src/core/camera/camera_tracking.rs rename to examples/common/src/core/camera/camera_tracking.rs index c498617..208e605 100644 --- a/examples/bevy_registry_export/basic/src/core/camera/camera_tracking.rs +++ b/examples/common/src/core/camera/camera_tracking.rs @@ -30,6 +30,7 @@ impl Default for CameraTrackingOffset { /// Add this component to an entity if you want it to be tracked by a Camera pub struct CameraTrackable; +#[allow(clippy::type_complexity)] pub fn camera_track( mut tracking_cameras: Query< (&mut Transform, &CameraTrackingOffset), diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/camera/mod.rs b/examples/common/src/core/camera/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic_scene_components/src/core/camera/mod.rs rename to examples/common/src/core/camera/mod.rs diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/lighting/lighting_replace_proxies.rs b/examples/common/src/core/lighting/lighting_replace_proxies.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic_scene_components/src/core/lighting/lighting_replace_proxies.rs rename to examples/common/src/core/lighting/lighting_replace_proxies.rs diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/lighting/mod.rs b/examples/common/src/core/lighting/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic_scene_components/src/core/lighting/mod.rs rename to examples/common/src/core/lighting/mod.rs diff --git a/examples/bevy_gltf_components/basic/src/core/mod.rs b/examples/common/src/core/mod.rs similarity index 85% rename from examples/bevy_gltf_components/basic/src/core/mod.rs rename to examples/common/src/core/mod.rs index d6d4775..8c75182 100644 --- a/examples/bevy_gltf_components/basic/src/core/mod.rs +++ b/examples/common/src/core/mod.rs @@ -4,13 +4,14 @@ pub use camera::*; pub mod lighting; pub use lighting::*; -pub mod relationships; -pub use relationships::*; +//pub mod relationships; +//pub use relationships::*; pub mod physics; pub use physics::*; use bevy::prelude::*; + pub struct CorePlugin; impl Plugin for CorePlugin { fn build(&self, app: &mut App) { diff --git a/examples/bevy_gltf_save_load/basic/src/core/physics/controls.rs b/examples/common/src/core/physics/controls.rs similarity index 100% rename from examples/bevy_gltf_save_load/basic/src/core/physics/controls.rs rename to examples/common/src/core/physics/controls.rs diff --git a/examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/mod.rs b/examples/common/src/core/physics/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/basic_scene_components/src/core/physics/mod.rs rename to examples/common/src/core/physics/mod.rs diff --git a/examples/bevy_gltf_blueprints/animation/src/core/physics/physics_replace_proxies.rs b/examples/common/src/core/physics/physics_replace_proxies.rs similarity index 99% rename from examples/bevy_gltf_blueprints/animation/src/core/physics/physics_replace_proxies.rs rename to examples/common/src/core/physics/physics_replace_proxies.rs index b91462c..498c482 100644 --- a/examples/bevy_gltf_blueprints/animation/src/core/physics/physics_replace_proxies.rs +++ b/examples/common/src/core/physics/physics_replace_proxies.rs @@ -25,6 +25,7 @@ pub enum AutoAABBCollider { } // replaces all physics stand-ins with the actual rapier types +#[allow(clippy::type_complexity)] pub fn physics_replace_proxies( meshes: Res>, mesh_handles: Query<&Handle>, diff --git a/examples/bevy_gltf_blueprints/animation/src/core/physics/utils.rs b/examples/common/src/core/physics/utils.rs similarity index 100% rename from examples/bevy_gltf_blueprints/animation/src/core/physics/utils.rs rename to examples/common/src/core/physics/utils.rs diff --git a/examples/bevy_gltf_blueprints/animation/src/core/relationships/mod.rs b/examples/common/src/core/relationships/mod.rs similarity index 100% rename from examples/bevy_gltf_blueprints/animation/src/core/relationships/mod.rs rename to examples/common/src/core/relationships/mod.rs diff --git a/examples/bevy_gltf_blueprints/animation/src/core/relationships/relationships_insert_dependant_components.rs b/examples/common/src/core/relationships/relationships_insert_dependant_components.rs similarity index 100% rename from examples/bevy_gltf_blueprints/animation/src/core/relationships/relationships_insert_dependant_components.rs rename to examples/common/src/core/relationships/relationships_insert_dependant_components.rs diff --git a/examples/common/src/game/interactions/mod.rs b/examples/common/src/game/interactions/mod.rs new file mode 100644 index 0000000..4e01590 --- /dev/null +++ b/examples/common/src/game/interactions/mod.rs @@ -0,0 +1,11 @@ +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +/// Demo marker component +pub struct Interactible; + +pub struct InteractionsPlugin; +impl Plugin for InteractionsPlugin { + fn build(&self, app: &mut App) { + app.register_type::(); + } +} diff --git a/examples/common/src/game/mod.rs b/examples/common/src/game/mod.rs new file mode 100644 index 0000000..50dab57 --- /dev/null +++ b/examples/common/src/game/mod.rs @@ -0,0 +1,36 @@ +/*pub mod in_game; +pub use in_game::*; + +pub mod in_main_menu; +pub use in_main_menu::*;*/ + +pub mod player; +pub use player::*; + +pub mod picking; +pub use picking::*; + +/* +use crate::{ + state::{AppState, GameState}, +};*/ +use bevy::prelude::*; + +pub struct GamePlugin; +impl Plugin for GamePlugin { + fn build(&self, app: &mut App) { + app.add_plugins(( + PlayerPlugin, + PickingPlugin + )) + /* .register_type::() + .register_type::() + .register_type::() + + .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_gltf_blueprints/basic_scene_components/src/game/picking.rs b/examples/common/src/game/picking/mod.rs similarity index 98% rename from examples/bevy_gltf_blueprints/basic_scene_components/src/game/picking.rs rename to examples/common/src/game/picking/mod.rs index 6731bbb..a237e5c 100644 --- a/examples/bevy_gltf_blueprints/basic_scene_components/src/game/picking.rs +++ b/examples/common/src/game/picking/mod.rs @@ -1,4 +1,4 @@ -use super::Player; +use crate::Player; use bevy::prelude::*; use bevy_gltf_blueprints::GltfBlueprintsSet; diff --git a/examples/common/src/game/player/mod.rs b/examples/common/src/game/player/mod.rs new file mode 100644 index 0000000..f8ef408 --- /dev/null +++ b/examples/common/src/game/player/mod.rs @@ -0,0 +1,40 @@ +use bevy::prelude::*; + +use crate::GameState; + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +/// Demo marker component +pub struct Player; + +fn player_move_demo( + keycode: Res>, + mut players: Query<&mut Transform, With>, +) { + let speed = 0.2; + if let Ok(mut player) = players.get_single_mut() { + if keycode.pressed(KeyCode::Left) { + player.translation.x += speed; + } + if keycode.pressed(KeyCode::Right) { + player.translation.x -= speed; + } + + if keycode.pressed(KeyCode::Up) { + player.translation.z += speed; + } + if keycode.pressed(KeyCode::Down) { + player.translation.z -= speed; + } + } +} + +pub struct PlayerPlugin; +impl Plugin for PlayerPlugin { + fn build(&self, app: &mut App) { + app.register_type::().add_systems( + Update, + (player_move_demo,).run_if(in_state(GameState::InGame)), + ); + } +} diff --git a/examples/common/src/lib.rs b/examples/common/src/lib.rs new file mode 100644 index 0000000..c41040c --- /dev/null +++ b/examples/common/src/lib.rs @@ -0,0 +1,20 @@ +pub mod state; +pub use state::*; + +pub mod assets; +use assets::*; + +pub mod core; +pub use core::*; + +pub mod game; +pub use game::*; + +use bevy::prelude::*; + +pub struct CommonPlugin; +impl Plugin for CommonPlugin { + fn build(&self, app: &mut App) { + app.add_plugins((StatePlugin, AssetsPlugin, CorePlugin, GamePlugin)); + } +} diff --git a/examples/bevy_gltf_save_load/basic/src/state.rs b/examples/common/src/state.rs similarity index 100% rename from examples/bevy_gltf_save_load/basic/src/state.rs rename to examples/common/src/state.rs