From 295c38713282cfca84f675d705a70eba78c9d427 Mon Sep 17 00:00:00 2001 From: "kaosat.dev" Date: Mon, 10 Jun 2024 14:08:16 +0200 Subject: [PATCH] refactor(Blenvy): BIG cleanup * removed old blender add-ons, there is now only Blenvy ! * updated most of the main docs accordingly * updated project name in main README * etc * related tweaks --- README-workflow-ui.md | 4 +- README.md | 23 +- crates/bevy_gltf_blueprints/README.md | 5 +- crates/bevy_gltf_blueprints/src/lib.rs | 4 - crates/bevy_registry_export/README.md | 2 +- .../basic/src/core/mod.rs | 1 - examples/bevy_gltf_save_load/basic/README.md | 2 +- examples/bevy_registry_export/basic/README.md | 2 +- testing/bevy_example/src/core/mod.rs | 2 - tools/bevy_components/README.md | 297 ----- tools/bevy_components/TODO.md | 229 ---- tools/bevy_components/__init__.py | 138 -- tools/bevy_components/blueprints.py | 41 - tools/bevy_components/components/__init__.py | 0 .../components/definitions_list.py | 57 - tools/bevy_components/components/helpers.py | 6 - tools/bevy_components/components/lists.py | 170 --- tools/bevy_components/components/maps.py | 121 -- tools/bevy_components/components/metadata.py | 344 ----- tools/bevy_components/components/operators.py | 321 ----- tools/bevy_components/components/ui.py | 273 ---- tools/bevy_components/docs/add_component.png | Bin 19691 -> 0 bytes .../docs/blender_addon_install.png | Bin 12012 -> 0 bytes .../docs/blender_addon_install2.png | Bin 5135 -> 0 bytes .../docs/blender_addon_install_zip.png | Bin 2895 -> 0 bytes .../docs/complex_components2.png | Bin 23319 -> 0 bytes .../docs/component_remove_single.png | Bin 2560 -> 0 bytes .../docs/component_rename_object_select.png | Bin 26721 -> 0 bytes .../docs/component_rename_overview2.png | Bin 18086 -> 0 bytes .../docs/component_rename_remove_bulk.png | Bin 2508 -> 0 bytes .../docs/component_rename_remove_bulk2.png | Bin 16120 -> 0 bytes .../docs/component_rename_single.png | Bin 2529 -> 0 bytes .../bevy_components/docs/components_list.png | Bin 16676 -> 0 bytes .../bevy_components/docs/components_list2.png | Bin 35796 -> 0 bytes tools/bevy_components/docs/configuration.png | Bin 25577 -> 0 bytes tools/bevy_components/docs/configuration2.png | Bin 26458 -> 0 bytes tools/bevy_components/docs/configuration3.png | Bin 16328 -> 0 bytes tools/bevy_components/docs/copy_component.png | Bin 34640 -> 0 bytes tools/bevy_components/docs/edit_component.png | Bin 21317 -> 0 bytes .../bevy_components/docs/edit_component2.png | Bin 14206 -> 0 bytes tools/bevy_components/docs/enums.png | Bin 25408 -> 0 bytes tools/bevy_components/docs/enums2.png | Bin 19451 -> 0 bytes .../docs/filter_components.png | Bin 14115 -> 0 bytes .../docs/generate_components.png | Bin 3429 -> 0 bytes .../docs/generate_components2.png | Bin 2513 -> 0 bytes .../docs/generate_components3.png | Bin 2477 -> 0 bytes .../docs/invalid_components.png | Bin 14119 -> 0 bytes .../docs/missing_registry_data.png | Bin 16931 -> 0 bytes tools/bevy_components/docs/other_options.png | Bin 14883 -> 0 bytes tools/bevy_components/docs/other_options2.png | Bin 4638 -> 0 bytes .../bevy_components/docs/paste_component.png | Bin 40389 -> 0 bytes .../bevy_components/docs/registry_polling.png | Bin 2318 -> 0 bytes tools/bevy_components/docs/toggle_details.png | Bin 22122 -> 0 bytes .../docs/unregistered_types.png | Bin 18251 -> 0 bytes .../docs/update_ui_from_custom_properties.png | Bin 4524 -> 0 bytes tools/bevy_components/docs/vecs_lists.png | Bin 21126 -> 0 bytes tools/bevy_components/helpers.py | 30 - tools/bevy_components/propGroups/__init__.py | 0 .../propGroups/conversions_from_prop_group.py | 178 --- .../propGroups/conversions_to_prop_group.py | 312 ----- tools/bevy_components/propGroups/operators.py | 0 .../propGroups/process_component.py | 95 -- .../propGroups/process_enum.py | 67 - .../propGroups/process_list.py | 37 - .../bevy_components/propGroups/process_map.py | 85 -- .../propGroups/process_structs.py | 48 - .../propGroups/process_tupples.py | 55 - .../bevy_components/propGroups/prop_groups.py | 44 - tools/bevy_components/propGroups/utils.py | 63 - tools/bevy_components/pytest.ini | 3 - tools/bevy_components/registry/__init__.py | 0 tools/bevy_components/registry/operators.py | 237 ---- tools/bevy_components/registry/registry.py | 363 ------ tools/bevy_components/registry/ui.py | 327 ----- tools/bevy_components/tests/__init__.py | 0 .../tests/component_values_shuffler.py | 217 --- .../tests/expected_component_values.py | 555 -------- tools/bevy_components/tests/setup_data.py | 31 - .../bevy_components/tests/test_components.py | 257 ---- .../bevy_components/tests/test_conversions.py | 51 - tools/bevy_components/tests/test_registry.py | 22 - .../tests/test_rename_components.py | 161 --- tools/bevy_components/tests/test_shuffler.py | 150 --- tools/blenvy/TODO.md | 3 + tools/gltf_auto_export/README.md | 277 ---- tools/gltf_auto_export/TODO.md | 69 - tools/gltf_auto_export/__init__.py | 202 --- .../gltf_auto_export/auto_export/__init__.py | 0 .../auto_export/auto_export.py | 183 --- .../auto_export/did_export_settings_change.py | 39 - .../auto_export/export_blueprints.py | 44 - .../auto_export/export_gltf.py | 77 -- .../auto_export/export_main_scenes.py | 77 -- .../auto_export/get_blueprints_to_export.py | 60 - .../auto_export/get_levels_to_export.py | 51 - .../get_standard_exporter_settings.py | 14 - .../gltf_auto_export/auto_export/internals.py | 22 - .../gltf_auto_export/auto_export/operators.py | 468 ------- .../auto_export/preferences.py | 208 --- tools/gltf_auto_export/auto_export/tracker.py | 195 --- tools/gltf_auto_export/constants.py | 1 - .../docs/blender_addon_add_scene.png | Bin 10008 -> 0 bytes .../docs/blender_addon_add_scene2.png | Bin 11805 -> 0 bytes .../docs/blender_addon_add_scene3.png | Bin 10703 -> 0 bytes .../docs/blender_addon_install.png | Bin 13755 -> 0 bytes .../docs/blender_addon_install2.png | Bin 15899 -> 0 bytes .../docs/blender_addon_install_zip.png | Bin 9045 -> 0 bytes .../docs/blender_addon_materials.png | Bin 5390 -> 0 bytes .../docs/blender_addon_materials2.png | Bin 20351 -> 0 bytes .../docs/blender_addon_use.png | Bin 44389 -> 0 bytes .../docs/blender_addon_use2.png | Bin 20413 -> 0 bytes .../docs/blender_addon_use3.png | Bin 17186 -> 0 bytes .../docs/blender_addon_use4.png | Bin 4301 -> 0 bytes .../docs/combine_override.png | Bin 2745 -> 0 bytes .../docs/exported_collections.png | Bin 9234 -> 0 bytes .../docs/exported_library_files.png | Bin 4660 -> 0 bytes tools/gltf_auto_export/docs/force_export.jpg | Bin 44943 -> 0 bytes .../docs/nested_blueprints.png | Bin 86937 -> 0 bytes .../docs/nested_blueprints2.png | Bin 29244 -> 0 bytes .../docs/nested_blueprints3.png | Bin 23896 -> 0 bytes tools/gltf_auto_export/docs/options.svg | 1159 ----------------- tools/gltf_auto_export/docs/process.svg | 881 ------------- .../docs/purge_orphan1_data1.png | Bin 8359 -> 0 bytes .../docs/purge_orphan1_data2.png | Bin 4022 -> 0 bytes .../docs/purge_orphan1_data3.png | Bin 5674 -> 0 bytes .../docs/workflow_empties.jpg | Bin 35707 -> 0 bytes .../docs/workflow_original.jpg | Bin 41624 -> 0 bytes tools/gltf_auto_export/helpers/__init__.py | 0 .../helpers/generate_and_export.py | 58 - .../generate_complete_preferences_dict.py | 47 - .../helpers/helpers_blueprints.py | 398 ------ .../helpers/helpers_collections.py | 23 - .../helpers/helpers_scenes.py | 222 ---- .../gltf_auto_export/helpers/object_makers.py | 47 - .../helpers/ping_depsgraph_update.py | 10 - .../helpers/serialize_scene.py | 233 ---- .../helpers/to_remove_later.py | 402 ------ tools/gltf_auto_export/modules/__init__.py | 0 .../gltf_auto_export/modules/bevy_dynamic.py | 29 - .../modules/bevy_scene_components.py | 64 - .../modules/export_materials.py | 127 -- tools/gltf_auto_export/pytest.ini | 9 - tools/gltf_auto_export/tests/__init__.py | 0 .../tests/expected_bevy_hierarchy.json | 1 - .../tests/expected_screenshot.png | Bin 661441 -> 0 bytes .../tests/test_bevy_integration.py | 167 --- .../tests/test_bevy_integration_prepare.py | 69 - .../tests/test_change_tracking.py | 270 ---- .../tests/test_changed_parameters.py | 257 ---- .../tests/test_export_parameters.py | 292 ----- tools/gltf_auto_export/tests/test_helpers.py | 78 -- tools/gltf_auto_export/ui/main.py | 318 ----- tools/gltf_auto_export/ui/operators.py | 175 --- 153 files changed, 19 insertions(+), 12737 deletions(-) delete mode 100644 tools/bevy_components/README.md delete mode 100644 tools/bevy_components/TODO.md delete mode 100644 tools/bevy_components/__init__.py delete mode 100644 tools/bevy_components/blueprints.py delete mode 100644 tools/bevy_components/components/__init__.py delete mode 100644 tools/bevy_components/components/definitions_list.py delete mode 100644 tools/bevy_components/components/helpers.py delete mode 100644 tools/bevy_components/components/lists.py delete mode 100644 tools/bevy_components/components/maps.py delete mode 100644 tools/bevy_components/components/metadata.py delete mode 100644 tools/bevy_components/components/operators.py delete mode 100644 tools/bevy_components/components/ui.py delete mode 100644 tools/bevy_components/docs/add_component.png delete mode 100644 tools/bevy_components/docs/blender_addon_install.png delete mode 100644 tools/bevy_components/docs/blender_addon_install2.png delete mode 100644 tools/bevy_components/docs/blender_addon_install_zip.png delete mode 100644 tools/bevy_components/docs/complex_components2.png delete mode 100644 tools/bevy_components/docs/component_remove_single.png delete mode 100644 tools/bevy_components/docs/component_rename_object_select.png delete mode 100644 tools/bevy_components/docs/component_rename_overview2.png delete mode 100644 tools/bevy_components/docs/component_rename_remove_bulk.png delete mode 100644 tools/bevy_components/docs/component_rename_remove_bulk2.png delete mode 100644 tools/bevy_components/docs/component_rename_single.png delete mode 100644 tools/bevy_components/docs/components_list.png delete mode 100644 tools/bevy_components/docs/components_list2.png delete mode 100644 tools/bevy_components/docs/configuration.png delete mode 100644 tools/bevy_components/docs/configuration2.png delete mode 100644 tools/bevy_components/docs/configuration3.png delete mode 100644 tools/bevy_components/docs/copy_component.png delete mode 100644 tools/bevy_components/docs/edit_component.png delete mode 100644 tools/bevy_components/docs/edit_component2.png delete mode 100644 tools/bevy_components/docs/enums.png delete mode 100644 tools/bevy_components/docs/enums2.png delete mode 100644 tools/bevy_components/docs/filter_components.png delete mode 100644 tools/bevy_components/docs/generate_components.png delete mode 100644 tools/bevy_components/docs/generate_components2.png delete mode 100644 tools/bevy_components/docs/generate_components3.png delete mode 100644 tools/bevy_components/docs/invalid_components.png delete mode 100644 tools/bevy_components/docs/missing_registry_data.png delete mode 100644 tools/bevy_components/docs/other_options.png delete mode 100644 tools/bevy_components/docs/other_options2.png delete mode 100644 tools/bevy_components/docs/paste_component.png delete mode 100644 tools/bevy_components/docs/registry_polling.png delete mode 100644 tools/bevy_components/docs/toggle_details.png delete mode 100644 tools/bevy_components/docs/unregistered_types.png delete mode 100644 tools/bevy_components/docs/update_ui_from_custom_properties.png delete mode 100644 tools/bevy_components/docs/vecs_lists.png delete mode 100644 tools/bevy_components/helpers.py delete mode 100644 tools/bevy_components/propGroups/__init__.py delete mode 100644 tools/bevy_components/propGroups/conversions_from_prop_group.py delete mode 100644 tools/bevy_components/propGroups/conversions_to_prop_group.py delete mode 100644 tools/bevy_components/propGroups/operators.py delete mode 100644 tools/bevy_components/propGroups/process_component.py delete mode 100644 tools/bevy_components/propGroups/process_enum.py delete mode 100644 tools/bevy_components/propGroups/process_list.py delete mode 100644 tools/bevy_components/propGroups/process_map.py delete mode 100644 tools/bevy_components/propGroups/process_structs.py delete mode 100644 tools/bevy_components/propGroups/process_tupples.py delete mode 100644 tools/bevy_components/propGroups/prop_groups.py delete mode 100644 tools/bevy_components/propGroups/utils.py delete mode 100644 tools/bevy_components/pytest.ini delete mode 100644 tools/bevy_components/registry/__init__.py delete mode 100644 tools/bevy_components/registry/operators.py delete mode 100644 tools/bevy_components/registry/registry.py delete mode 100644 tools/bevy_components/registry/ui.py delete mode 100644 tools/bevy_components/tests/__init__.py delete mode 100644 tools/bevy_components/tests/component_values_shuffler.py delete mode 100644 tools/bevy_components/tests/expected_component_values.py delete mode 100644 tools/bevy_components/tests/setup_data.py delete mode 100644 tools/bevy_components/tests/test_components.py delete mode 100644 tools/bevy_components/tests/test_conversions.py delete mode 100644 tools/bevy_components/tests/test_registry.py delete mode 100644 tools/bevy_components/tests/test_rename_components.py delete mode 100644 tools/bevy_components/tests/test_shuffler.py delete mode 100644 tools/gltf_auto_export/README.md delete mode 100644 tools/gltf_auto_export/TODO.md delete mode 100644 tools/gltf_auto_export/__init__.py delete mode 100644 tools/gltf_auto_export/auto_export/__init__.py delete mode 100644 tools/gltf_auto_export/auto_export/auto_export.py delete mode 100644 tools/gltf_auto_export/auto_export/did_export_settings_change.py delete mode 100644 tools/gltf_auto_export/auto_export/export_blueprints.py delete mode 100644 tools/gltf_auto_export/auto_export/export_gltf.py delete mode 100644 tools/gltf_auto_export/auto_export/export_main_scenes.py delete mode 100644 tools/gltf_auto_export/auto_export/get_blueprints_to_export.py delete mode 100644 tools/gltf_auto_export/auto_export/get_levels_to_export.py delete mode 100644 tools/gltf_auto_export/auto_export/get_standard_exporter_settings.py delete mode 100644 tools/gltf_auto_export/auto_export/internals.py delete mode 100644 tools/gltf_auto_export/auto_export/operators.py delete mode 100644 tools/gltf_auto_export/auto_export/preferences.py delete mode 100644 tools/gltf_auto_export/auto_export/tracker.py delete mode 100644 tools/gltf_auto_export/constants.py delete mode 100644 tools/gltf_auto_export/docs/blender_addon_add_scene.png delete mode 100644 tools/gltf_auto_export/docs/blender_addon_add_scene2.png delete mode 100644 tools/gltf_auto_export/docs/blender_addon_add_scene3.png delete mode 100644 tools/gltf_auto_export/docs/blender_addon_install.png delete mode 100644 tools/gltf_auto_export/docs/blender_addon_install2.png delete mode 100644 tools/gltf_auto_export/docs/blender_addon_install_zip.png delete mode 100644 tools/gltf_auto_export/docs/blender_addon_materials.png delete mode 100644 tools/gltf_auto_export/docs/blender_addon_materials2.png delete mode 100644 tools/gltf_auto_export/docs/blender_addon_use.png delete mode 100644 tools/gltf_auto_export/docs/blender_addon_use2.png delete mode 100644 tools/gltf_auto_export/docs/blender_addon_use3.png delete mode 100644 tools/gltf_auto_export/docs/blender_addon_use4.png delete mode 100644 tools/gltf_auto_export/docs/combine_override.png delete mode 100644 tools/gltf_auto_export/docs/exported_collections.png delete mode 100644 tools/gltf_auto_export/docs/exported_library_files.png delete mode 100644 tools/gltf_auto_export/docs/force_export.jpg delete mode 100644 tools/gltf_auto_export/docs/nested_blueprints.png delete mode 100644 tools/gltf_auto_export/docs/nested_blueprints2.png delete mode 100644 tools/gltf_auto_export/docs/nested_blueprints3.png delete mode 100644 tools/gltf_auto_export/docs/options.svg delete mode 100644 tools/gltf_auto_export/docs/process.svg delete mode 100644 tools/gltf_auto_export/docs/purge_orphan1_data1.png delete mode 100644 tools/gltf_auto_export/docs/purge_orphan1_data2.png delete mode 100644 tools/gltf_auto_export/docs/purge_orphan1_data3.png delete mode 100644 tools/gltf_auto_export/docs/workflow_empties.jpg delete mode 100644 tools/gltf_auto_export/docs/workflow_original.jpg delete mode 100644 tools/gltf_auto_export/helpers/__init__.py delete mode 100644 tools/gltf_auto_export/helpers/generate_and_export.py delete mode 100644 tools/gltf_auto_export/helpers/generate_complete_preferences_dict.py delete mode 100644 tools/gltf_auto_export/helpers/helpers_blueprints.py delete mode 100644 tools/gltf_auto_export/helpers/helpers_collections.py delete mode 100644 tools/gltf_auto_export/helpers/helpers_scenes.py delete mode 100644 tools/gltf_auto_export/helpers/object_makers.py delete mode 100644 tools/gltf_auto_export/helpers/ping_depsgraph_update.py delete mode 100644 tools/gltf_auto_export/helpers/serialize_scene.py delete mode 100644 tools/gltf_auto_export/helpers/to_remove_later.py delete mode 100644 tools/gltf_auto_export/modules/__init__.py delete mode 100644 tools/gltf_auto_export/modules/bevy_dynamic.py delete mode 100644 tools/gltf_auto_export/modules/bevy_scene_components.py delete mode 100644 tools/gltf_auto_export/modules/export_materials.py delete mode 100644 tools/gltf_auto_export/pytest.ini delete mode 100644 tools/gltf_auto_export/tests/__init__.py delete mode 100644 tools/gltf_auto_export/tests/expected_bevy_hierarchy.json delete mode 100644 tools/gltf_auto_export/tests/expected_screenshot.png delete mode 100644 tools/gltf_auto_export/tests/test_bevy_integration.py delete mode 100644 tools/gltf_auto_export/tests/test_bevy_integration_prepare.py delete mode 100644 tools/gltf_auto_export/tests/test_change_tracking.py delete mode 100644 tools/gltf_auto_export/tests/test_changed_parameters.py delete mode 100644 tools/gltf_auto_export/tests/test_export_parameters.py delete mode 100644 tools/gltf_auto_export/tests/test_helpers.py delete mode 100644 tools/gltf_auto_export/ui/main.py delete mode 100644 tools/gltf_auto_export/ui/operators.py diff --git a/README-workflow-ui.md b/README-workflow-ui.md index 268bb1d..dcf8ef2 100644 --- a/README-workflow-ui.md +++ b/README-workflow-ui.md @@ -8,7 +8,7 @@ The workflow goes as follows (once you got your Bevy code setup) ## Component creation -Setup the Blender [bevy_components](./tools/bevy_components/README.md) add-on +Setup the Blender [bevy_components](./tools/blenvy/README.md) add-on to add & edit your components visually & reliably ![bevy_components](./docs/bevy_components.png) @@ -22,7 +22,7 @@ to add & edit your components visually & reliably - custom properties - cameras & lights if you want a complete level (as in this example) ![gltf_export](./docs/gltf_export.png) - - or much better, using [gltf_auto_export](./tools/gltf_auto_export/) + - or much better, using [blenvy](./tools/blenvy/) ## Now use your gltf files in Bevy diff --git a/README.md b/README.md index c044000..c2632f9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![License](https://img.shields.io/crates/l/bevy_gltf_components)](https://github.com/kaosat-dev/Blender_bevy_components_workflow/blob/main/LICENSE.md) [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/F1F5TO32O) -# Blender_bevy_components_workflow +# Blenvy: a Blender <=> bevy components workflow ![demo](./docs/blender_bevy.png) @@ -18,8 +18,7 @@ It also allows you to setup 'blueprints' in Blender by using collections (the re * Useful if you want to use Blender (or any editor allowing to export gltf with configurable gltf_extras) as your Editor * define Bevy components as custom properties in Blender (some visually , some using RON, though an older JSON version is also available) -* no plugin or extra tools needed in Blender (but I provide a [little Blender add-on](./tools/gltf_auto_export/README.md) to auto-export to gltf on save (and more !) if you want !) -* now also with a nice UI tool to add & edit Bevy components in [Blender](./tools/bevy_components/README.md) +* now also with an UI tool to add & edit Bevy components, automatically export gltf blueprints & more in [Blender](./tools/blenvy/README.md) * define components in Blender Collections & override any of them in your collection instances if you want * ability to automatically turn your Blender collections into [gltf Blueprints](./crates/bevy_gltf_blueprints/README.md) for reuse * minimal setup & code, you can have something basic running fast @@ -45,23 +44,19 @@ bevy_gltf_blueprints to only save a minimal subset of dynamic data, seperating d The examples for the crate are [here](./examples/bevy_gltf_save_load/) > Note: this uses ```bevy_gltf_blueprints``` under the hood -- [bevy_registry_export](./crates/bevy_registry_export/) This crate adds the ability to export your project's Bevy registry to json, in order to be able to generate custom component UIs on the Blender side in the Blender [bevy_components](./tools/bevy_components/README.md) add-on +- [bevy_registry_export](./crates/bevy_registry_export/) This crate adds the ability to export your project's Bevy registry to json, in order to be able to generate custom component UIs on the Blender side in the Blender [blenvy](./tools/blenvy/README.md) add-on ## Tools -### Blender: gltf_auto_export +### Blender: blenvy -- for convenience I also added a [Blender addon](./tools/gltf_auto_export/README.md) that automatically exports your level/world from Blender to gltf whenever you save your Blend file -- it also supports automatical exports of collections as [Gltf blueprints](./crates/bevy_gltf_blueprints/README.md) & more ! +- an all in one [Blender addon](./tools/blenvy/README.md) for the Blender side of the workflow: + - allow easilly adding & editing Bevy components , using automatically generated UIs for each component + - automatically exports your level/world from Blender to gltf whenever you save your Blend file + - it also supports automatical exports of collections as [Gltf blueprints](./crates/bevy_gltf_blueprints/README.md) & -Please read the [README]((./tools/gltf_auto_export/README.md)) of the add-on for installation & use instructions - -### Blender: bevy_components - -- an add-on for Blender to allow easilly adding & editing Bevy components , using automatically generated UIs for each component - -Please read the [README]((./tools/bevy_components/README.md)) of the add-on for installation & use instructions +Please read the [README]((./tools/blenvy/README.md)) of the add-on for installation & use instructions diff --git a/crates/bevy_gltf_blueprints/README.md b/crates/bevy_gltf_blueprints/README.md index fbad6b4..39a8c71 100644 --- a/crates/bevy_gltf_blueprints/README.md +++ b/crates/bevy_gltf_blueprints/README.md @@ -15,9 +15,8 @@ A blueprint is a set of **overrideable** components + a hierarchy: ie * just a Gltf file with Gltf_extras specifying components * a component called BlueprintName -Particularly useful when using [Blender](https://www.blender.org/) as an editor for the [Bevy](https://bevyengine.org/) game engine, combined with the Blender add-ons that do a lot of the work for you -- [gltf_auto_export](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/gltf_auto_export) -- [bevy_components](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/bevy_components) +Particularly useful when using [Blender](https://www.blender.org/) as an editor for the [Bevy](https://bevyengine.org/) game engine, combined with the Blender add-on that do a lot of the work for you +- [blenvy](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/blenvy) ## Usage diff --git a/crates/bevy_gltf_blueprints/src/lib.rs b/crates/bevy_gltf_blueprints/src/lib.rs index 5741e86..1bd4ef1 100644 --- a/crates/bevy_gltf_blueprints/src/lib.rs +++ b/crates/bevy_gltf_blueprints/src/lib.rs @@ -50,7 +50,6 @@ impl Default for BluePrintBundle { #[derive(Clone, Resource)] pub struct BluePrintsConfig { - pub(crate) format: GltfFormat, pub(crate) aabbs: bool, pub(crate) aabb_cache: HashMap, // cache for aabbs @@ -81,7 +80,6 @@ impl fmt::Display for GltfFormat { #[derive(Debug, Clone)] /// Plugin for gltf blueprints pub struct BlueprintsPlugin { - pub format: GltfFormat, /// Automatically generate aabbs for the blueprints root objects pub aabbs: bool, /// @@ -91,7 +89,6 @@ pub struct BlueprintsPlugin { impl Default for BlueprintsPlugin { fn default() -> Self { Self { - format: GltfFormat::GLB, aabbs: false, material_library: false } @@ -131,7 +128,6 @@ impl Plugin for BlueprintsPlugin { .register_type::>>() .insert_resource(BluePrintsConfig { - format: self.format, aabbs: self.aabbs, aabb_cache: HashMap::new(), diff --git a/crates/bevy_registry_export/README.md b/crates/bevy_registry_export/README.md index 7c45031..561131d 100644 --- a/crates/bevy_registry_export/README.md +++ b/crates/bevy_registry_export/README.md @@ -6,7 +6,7 @@ # bevy_registry_export This plugin allows you to create a Json export of all your components/ registered types. -Its main use case is as a backbone for the [```bevy_components``` Blender add-on](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/bevy_components), that allows you to add & edit components directly in Blender, using the actual type definitions from Bevy +Its main use case is as a backbone for the [```blenvy``` Blender add-on](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/blenvy), that allows you to add & edit components directly in Blender, using the actual type definitions from Bevy (and any of your custom types & components that you register in Bevy). diff --git a/examples/bevy_gltf_blueprints/basic/src/core/mod.rs b/examples/bevy_gltf_blueprints/basic/src/core/mod.rs index 1bb6c2d..cfa44d0 100644 --- a/examples/bevy_gltf_blueprints/basic/src/core/mod.rs +++ b/examples/bevy_gltf_blueprints/basic/src/core/mod.rs @@ -5,7 +5,6 @@ pub struct CorePlugin; impl Plugin for CorePlugin { fn build(&self, app: &mut App) { app.add_plugins((BlueprintsPlugin { - format: GltfFormat::GLB, aabbs: true, ..Default::default() },)); diff --git a/examples/bevy_gltf_save_load/basic/README.md b/examples/bevy_gltf_save_load/basic/README.md index d680ade..0eea8d9 100644 --- a/examples/bevy_gltf_save_load/basic/README.md +++ b/examples/bevy_gltf_save_load/basic/README.md @@ -4,7 +4,7 @@ This example showcases how to use ```bevy_save_load``` crate to save & load your ## Notes Workflow with blender / demo information -- the gltf files for this demo where generated using the **Export dynamic and static objects seperatly** feature of the auto_export addon: +- the gltf files for this demo where generated using the **Export dynamic and static objects seperatly** feature of the blenvy addon: so the static & dynamic level files where generated automatically, based on the entities that have a **Dynamic** component/custom property diff --git a/examples/bevy_registry_export/basic/README.md b/examples/bevy_registry_export/basic/README.md index 5d2e087..d2ac337 100644 --- a/examples/bevy_registry_export/basic/README.md +++ b/examples/bevy_registry_export/basic/README.md @@ -2,7 +2,7 @@ This example showcases * the use of the bevy_registry_export crate to extract all components & types information into a json file. -* That file is then used by the [Blender addon](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/bevy_components) to create Uis for each component, +* That file is then used by the [Blender addon](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/blenvy) to create Uis for each component, to be able to add & edit Bevy components easilly in Blender ! diff --git a/testing/bevy_example/src/core/mod.rs b/testing/bevy_example/src/core/mod.rs index f83ecaa..5909421 100644 --- a/testing/bevy_example/src/core/mod.rs +++ b/testing/bevy_example/src/core/mod.rs @@ -20,8 +20,6 @@ impl Plugin for CorePlugin { ..Default::default() }, BlueprintsPlugin { - library_folder: "blueprints".into(), - format: GltfFormat::GLB, material_library: true, aabbs: true, ..Default::default() diff --git a/tools/bevy_components/README.md b/tools/bevy_components/README.md deleted file mode 100644 index d6f19fa..0000000 --- a/tools/bevy_components/README.md +++ /dev/null @@ -1,297 +0,0 @@ -# Bevy components - -This [Blender addon](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/bevy_components) gives you an easy to use UI to add and configure your [Bevy](https://bevyengine.org/) components inside Blender ! - -- **automatically generates a simple UI** to add/configure components based on a **registry schema** file (an export of all your Bevy components's information, generated) -by the [bevy_registry_export](https://crates.io/crates/bevy_registry_export) crate/plugin -- no more need to specify components manually using custom_properties, with error prone naming etc -- adds **metadata** to objects containing information about what components it uses + some extra information -- uses Blender's **PropertyGroups** to generate custom UIs & connects those groups with the custom properties so that no matter the complexity -of your Bevy components you get a nicely packed custom_property to use with ... -- the ideal companion to the [gltf_auto_export](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/tools/gltf_auto_export) to embed your Bevy components inside your gltf files - - - -> Important: - the tooling is still in the early stages, even if it is feature complete : use with caution!. - -> IMPORTANT !! if you have previously used v0.1 , v0.2 had a breaking change, please see [this](#regenerate-ui-values) section on how to upgrade your data to v0.2.\ -This problem should not be present going forward - -> IMPORTANT !! if you have previously used v0.2 , v0.3 had a breaking change, please see [this](#regenerate-custom-property-values) section on how to upgrade your data to v0.3. - -## Installation: - -* grab the latest release zip file from the releases tab (choose the bevy_components releases !) - - - -* in Blender go to edit => preferences => install - -![blender addon install](./docs/blender_addon_install.png) - -* choose the path where ```bevy_components.zip``` is stored - -![blender addon install](./docs/blender_addon_install2.png) - - -## Configuration & overview - -Before you can use the add-on you need to configure it - -### Bevy side - - - setup [bevy_registry_export](https://crates.io/crates/bevy_registry_export) for your project (see the crate's documentation for that), and compile/run it to get the ```registry.json``` file - -### Blender side - -- Go to the new Bevy Components tab in the 3D view - -![configuration](./docs/configuration.png) - -- click on the button to select your registry.json file (in the "configuration" panel) - -![configuration 2](./docs/configuration2.png) - -- the list of available components will appear - -![configuration 3](./docs/configuration3.png) - - #### registry file polling - - - * by default, the add-on will check for changes in your registry file every second, and refresh the UI accordingly - * you can set the polling frequency or turn it off if you do not want auto-refresh - - ![registry file polling](./docs/registry_polling.png) - - - -## Use - - -### Existing components & custom properties - -* If you already have components defined manualy in Blender inside **custom properties** you will need to define them again using the UI! -* avoid mixing & matching: if you change the values of **custom properties** that also have a component, the custom property will be **overriden** every time -you change the component's value -* you can of course still use non component custom properties as always, this add-on will only impact those that have corresponding Bevy components - -### adding components - -- to add a component, select an object and then select the component from the components list: (the full type information will be displayed as tooltip) - -![components list](./docs/components_list.png) - -- click on the dropdown to get the full list of available components - -![components list](./docs/components_list2.png) - -- you can also filter components by name for convenience - -![filter components](./docs/filter_components.png) - - -- add a component by clicking on the "add component" button once you have selected your desired component - - it will appear in the component list for that object - -![add component](./docs/add_component.png) - -### edit components - -- to edit a component's value just use the UI: - -![edit component](./docs/edit_component.png) - -it will automatically update the value of the corresponding custom property - -![edit component](./docs/edit_component2.png) - -### Create components from custom properties - -- IF you have a valid component type and the correct corresponding RON string in the custom_property value (this button will not appear if not), this add-on can automatically -generate the corresponding component for you: - -- Fill/check your custom property (here for Aabb) - -![generate_components 2](./docs/generate_components2.png) - -- click on the button - -![generate_components](./docs/generate_components.png) - --voila ! - -![generate_components 3](./docs/generate_components3.png) - - -### copy & pasting - -- you can also copy & paste components between objects - -- click on the "copy component button" of the component you want to copy - -![copy component](./docs/copy_component.png) - -- then select the object you want to copy the component (& its value) to, and click on the paste button. - -It will add the component to the select object - -![paste component](./docs/paste_component.png) - -> if the target object already has the same component, its values will be overwritten - - -## Additional components UI features - -- for large/ complex components you can toggle the details of that component: - -![toggle details](./docs/toggle_details.png) - - -## Supported components - -- normally (minus any bugs, please report those!) all components using **registered** types should be useable and editable -- this includes (non exhaustive list): - * enums (even complex ones !) - - ![enums](./docs/enums.png) - - ![enums](./docs/enums2.png) - - - * complex structs, with various types of fields (including nested ones) - - ![complex](./docs/complex_components2.png) - - * lists/ vecs (here a vec of tuples) - - ![lists](./docs/vecs_lists.png) - - * etc ! - -## Unregistered types & error handling - -- non registered types can be viewed in this panel : (can be practical to see if you have any missing registrations too!) - - ![unregistered types](./docs/unregistered_types.png) - -- if you have a component made up of unregistered structs/enums etc, you will get visual feedback & the component will be deactivated - - ![invalid component](./docs/invalid_components.png) - - > see [here](#invalidunregistered-type-renaming--conversion) for ways to convert invalid / unregistered components to other types. - - -- if you are encountering this type of view: don't panic your component data is not gone ! It just means you need to reload the registry data by clicking on the relevant button - - ![missing registry data](./docs/missing_registry_data.png) - - - -## Advanced Tools - -In this section you will find various additional more advanced tooling - -### Invalid/unregistered type renaming / conversion - -If you have components that are - * invalid : ie some error was diagnosed - * unregistered: a custom property is present on the object, but there is no matching type in the registry - -Here you will get an overview, of ALL invalid and unregistered components in your Blender project, so you can find them, rename/convert them, -or delete them, also in bulk - -![component rename overview](./docs/component_rename_overview2.png) - -* you can click on the button to select the object in your outliner (this also works across scenes, so you will be taken to the scene where the -given object is located) - -![update custom properties](./docs/component_rename_object_select.png) - - -#### Single object component renaming/ conversion - - - to rename/convert a single component for a single object: - - * go to the row of the object you want to convert the component of - * in the dropdown menu, choose the target component - * click on the button with the magic wand to convert the component - - ![single rename](./docs/component_rename_single.png) - - > the tool will attempt to automatically convert the source component, including the field names/values, if the target component has the same ones - If it fails to do the conversion, you will get an error message, and you will either have to change the custom property yourself, or you can simply - change the values in the UI, which will automatically generate the custom property value - - - to delete a single component for a single object: - - * go to the row of the object you want to remove the component from - * click on the button with the "x" to remove the component - - ![single delete](./docs/component_remove_single.png) - -#### Bulk component renaming/ conversion - - - use this method if you want to convert ALL components of a given type of ALL objects - - * click on this button to pick your source component - - ![bulk convert remove](./docs/component_rename_remove_bulk.png) - - * for conversion: in the dropdown menu, choose the target component & click apply to convert all matching components - * for deletion: clic on the "x" to remove all matching components - - ![bulk convert remove](./docs/component_rename_remove_bulk2.png) - - - ### For conversion between custom properties & components & vice-versa - - #### regenerate custom property values - - - "update custom properties of current object" : will go over **all components** that you have defined for the **currently selected object**, and re-generate the - - corresponding custom property values - - ![update custom properties](./docs/other_options.png) - - - - "update custom properties of ALL objects" : same as above but it will do so for the **ALL objects in your blend file** (so can be slow!), and re-generate the - - corresponding custom property values - - ![update custom properties for all](./docs/other_options2.png) - - > IMPORTANT !! use this if you have previously used v0.1 or v0.2 , as v0.3 had a breaking change, that makes it **necessary** to use this **once** to upgrade components data - You should also re-export your gltf files , otherwise you might run into issues - - - #### regenerate component/ UI values - - - since v0.2, you have the option to regenerate (for the selected object or all objects, as above) to regenerate your UI values from the custom property values - - ![update UI FROM custom properties](./docs/update_ui_from_custom_properties.png) - - > IMPORTANT !! use this if you have previously used v0.1 , as v0.2 had a breaking change, that makes it **necessary** to use this **once** to upgrade the UI data - - - -> Note: the legacy mode support has been removed since version - - -## Examples - -you can find an example [here](https://github.com/kaosat-dev/Blender_bevy_components_workflow/tree/main/examples/bevy_registry_export/) - -## Known issues & limitations: - -* **Range** data (ie ```Range``` etc) are not handled at this time (issue seems to be on the Bevy side) -* **Entity** structs are always set to 0 (setting entity values on the Blender side at this time does not make much sense anyway) - -## License - -This tool, all its code, contents & assets is Dual-licensed under either of - -- Apache License, Version 2.0, ([LICENSE-APACHE](../LICENSE_APACHE.md) or https://www.apache.org/licenses/LICENSE-2.0) -- MIT license ([LICENSE-MIT](../LICENSE_MIT.md) or https://opensource.org/licenses/MIT) \ No newline at end of file diff --git a/tools/bevy_components/TODO.md b/tools/bevy_components/TODO.md deleted file mode 100644 index 449f4ff..0000000 --- a/tools/bevy_components/TODO.md +++ /dev/null @@ -1,229 +0,0 @@ -Basics -- [x] add panel -- [x] add a "create blueprint" button - - [x] when clicked: - - [x] create collection - - [x] add an empty inside collection and name it _components - - [x] add a **AutoExport** Boolean property to collection - - [x] add name imput(popup for name input ?) - -- [x] add a list of existing components/custom properties -- [x] add an "edit blueprint" section - - [x] only filled when there is ONE selection, and that selection is a collection - - [x] add a dropdown of possible components - - [x] add a checkbox for enabling disabling a component (enabled by default) - - [x] add a button for copying a component - - [x] add a button for pasting a component - - -UI: - - [x] filterable list of components to DISPLAY for selection : ComponentDefinitionsList - -- Filter out invalid objects for components that have no _components suffix ? (that is too limiting I think) -- -[x] How to deal with pre-existing custom properties that have NO metadata - * if there is one without metadata: find if there is an available component with the same name & type ? - * if there is , insert metadata - * otherwise, mark it in some way visually ? - -- [x] for OBJECT enums: add two ui pieces - - [x] one for selecting the TYPE to choose (ie normal enum) - - [x] one for setting the VALUE inside that - - -- [x] vecs => (not vec2, vec3 etc) more complex UI to add items in a list - - [x] generate contained CollectionGroup - - [x] CollectionProperty => type = the above -- [x] find ways to "collapse" the different levels of nested data of structs/tupples into a single custom property (ideally on the fly, but we can do without) - -- [x] for single tupple components that represent a single unit type, re_use the base type's UIPropertyGroup instead of creating specific ones (ie TuppleTestF32_ui...) => will not work, would cause overriden "update callback" -- [x] pre_generate default values/values for each main type - -- [x] fix issues with vec2 etc not having the correct number of items -- [x] fix bad defaults in ui group -- [x] fix object enums handling on updates (??) -- [x] fix issues with lambads in loops - -- [x] object enum should be (params) - ie *Collider: - * Cuboid(Vec3) - * Sphere(radius) -- [x] deal with enums variants that do not have any data: ex { - "long_name": "Mesh" - } - -- [x] remove / change use of ComponentDefinitionsList - - when filling the list, use the long_name as index ie items.append((str(index), item.name, item.long_name)) => items.append((item.long_name, item.name, item.long_name)) -- [x] when removing a component, reset the value of the attribute in the property group (or not ? could be a feature) -- [x] deal correctly with fields of types that are NOT in the schema.json (for ex PlayingAnimation in AnimationPlayer) -- [ ] deal correctly with complex types - CascadeShadowConfig: has an array/list - ClusterConfig: one of the enum variants is an object -- [ ] possibly allow Color to be an enum as it should be ? -- [x] for sub items , the update functions "Name" should be the one of the root object -- [x] fix copy & pasting - - it actually works, but the value of the custom property are not copied back to the UI, need to implement property_group_value_from_custom_property_value -- [ ] we need a notion of "root propertyGroup" =? -- [x] notify user of missing entries in schema (ie , unregistered data types) -- [x] clarify propgroup_ui vs named nested fields -- [x] fix basic enums handling -- [x] add a list of not found components to the registry, add to them on the fly -- [x] add configuration panel (open the first time, closed on further user once configured) - -- [x] add limits to ixxx types vs utypes -- [x] only display the "generate components xx" when relevant ie: - - go through list of custom properties in current object - - if one does not have metadata and / or propgroup: - break - -- [x] remove custom property of disabled component ? => NOpe, as we need custom properties to iterate over -- [x] what to do with components with n/a fields ? perhaps disable the component ? add a "invalid" field to meta ? -- [x] format output as correct RON - - [x] fix issue with empty strings -- [x] change custom property => propGroup to convert RON => Json first => obsolete -- [x] cleanup process_lists - -- [x] fix issues with enum variants with only a long_name - -- [x] display single item enums inline, others in a seperate row - -- [x] add button to "apply all" (in configuration), to apply/update all custom properties to ALL objects where relevant -- [x] add button to "apply to current" to do the same with current -- [x] add warning sign to the above - -- [x] what about metadata ? -- [x] only upgrade custom properties to metadata when asked/relevant -- [x] implement move list up/down -- [ ] change property_group_value_from_custom_property_value => just disregard it for now, its point is very limited (helping people with old custom properties by attempting to generate real values) - and give the change to a real ron format, it is too limiting -- [x] fix reload registry clearing list of missing types -- [x] clean up metadata module, a lot of repeated code -- [x] some fields when original is 0 or 0.0 are not copyable ? (seems like a bad boolean check ) -- [x] fix issues with object variants in enums (see clusterconfig) - - -- perhaps directly export default values within the schema.json ? - - for most types , it is straighforward, but others, not so much: like the default color in Bevy , etc - -- [x] change default schema.json to registry.json -- [x] pasted components do not get updated value in custom_property -- [x] finish documentation -- [x] add storage of registry path - - [x] save after setting the data (browse for) - - [x] load after each reload ? - -# Additional - - [x] check if output "string" in custom properties are correct - - - gltf_auto_export - - [x] add support for "enabled" flag - - [ ] add special components - - "AutoExport" => Needed - - "Dynamic" ? naah wait that should be exported by the Bevy side - - [x] filter out Components_meta ?? - - [x] add legacy mode to the persisted parameters - - - bevy_gltf_components: - - [x] first release patch for current issues - - [x] make configurable - - [x] add "compatibility mode" and deprecation warnings for the current hack-ish conversion of fake ron - - [x] update docs to show we need to use ComponentsFromGltfPlugin::default - - - bevy_gltf_blueprints - - [x] update dependency - - [x] update version - - [x] add ability to set legacy mode for bevy_gltf_components ? - - - [x] release all versions - - [x] update main documentation, add compatibility version grid - - -## Phase 2 - -- [x] fix handling of long component names - - [x] fix nesting level handling issue for new system : ie basic component DOES NOT work, but nestedLevel2 does - - add goddam tests ! - - [ ] verify some weird prop => custom property values (Calculated Clip for example) - -- [x] fix "reload registry" not clearing all previous data (reloading registry does not seem to account for added/removed components in the registry ) -- add file watcher for registry - - [x] have the watcher work as expected - - [ ] add handling of removed registry file - - [ ] clear & reset handler when the file browser for the registry is used -- [ ] re-enable watcher - -- tests - clear && pytest -svv --blender-executable /blender/blender-4.0.2-linux-x64/blender - - - [x] load registry - - just check list of components vs lists in registry - - [x] try adding all components - - [x] select an object - - [x] call the add_component operator - - - [x] change params - - use field names + component definitions to set values - - [x] find a way to shuffle params of ALL components based on a reliable, repeatable seed - - - [x] test propgroup values => custom property values - - [x] test custom property value => propgroup value - - - check if all went well - - - [x] fix issues with incorect custom_property generation - - [x] fix issue with object variants for enums - - - [ ] add handling for core::ops::Range & other ranges - - [x] add handling for alloc::borrow::Cow - - [x] add handling of isize - - - [x] indirection level - - currently - - short_name +_"ui => direct lookup - - problem : max 64 chars for propertyGroupNames - - possible solution - - propertyGroupName storage: simple , incremented INT (call it propGroupId for ex) - - lookup shortName => propGroupId - - - do a first pass, by replacing manual propGroupNames creation with a function - - in a second pass, replace the innards - -- add button to regenerate cutom prop values from custom properties (allows us to sidestep any future issues with internals changing) - - [x] fix lists - - [x] fix enums (see Clusterconfig) - - [x] need an example with one tupple one struct - - [x] projection - - [x] additionalmassproperties - - [x] fix tupleStructs (see TupleVecF32F32) => always the same problem of having us pre-parse data without knowing what we have inside - - find a way to only split by level 0 (highest level) nesting "," seperators, ignoring any level of nesting until we dig one level deeper - - solve nesting level use issues - -- [x] remove metadata when deleting components -- [x] add try catch around custom_prop => propGroup -- [x] enhance the GenerateComponent_From_custom_property_Operator to use the new system to actually generate the stuff - -- coherence in operators: - - component_name vs component_type - - [x] delete => remove - -- [x] clean up reloading of registry settings -- [x] clean up file watcher - - -========================================= -Restructuring of storage of components -- [x] marking of invalid root propgroups/components should be based on long name -- [x] overhaul & check each prop group type's use of short names => long names - - [x] lists -- [x] property_name = short_name in process enum: will likely require to use another indirection helper to keep the propery names short - -- [x] in conversions from propgroups - component_name = definition["short_name"] -- [ ] fix is_component_valid that is used in gltf_auto_export -- [x] update all tests - -- Hashmap Support - - [x] fix parsing of keys's type either on Bevy side (prefered) or on the Blender side - - [x] fix weird issue with missing "0" property when adding new entry in empty hashmap => happens only if the values for the "setter" have never been set - - [ ] handle missing types in registry for keys & values - -- [ ] Add correct upgrade handling from individual component to bevy_components \ No newline at end of file diff --git a/tools/bevy_components/__init__.py b/tools/bevy_components/__init__.py deleted file mode 100644 index 359674f..0000000 --- a/tools/bevy_components/__init__.py +++ /dev/null @@ -1,138 +0,0 @@ -bl_info = { - "name": "bevy_components", - "author": "kaosigh", - "version": (0, 4, 1), - "blender": (3, 4, 0), - "location": "VIEW_3D", - "description": "UI to help create Bevy blueprints and components", - "warning": "", - "wiki_url": "https://github.com/kaosat-dev/Blender_bevy_components_workflow", - "tracker_url": "https://github.com/kaosat-dev/Blender_bevy_components_workflow/issues/new", - "category": "User Interface" -} - -import bpy -from bpy.props import (StringProperty) - -from .helpers import load_settings -from .blueprints import CreateBlueprintOperator -from .components.operators import CopyComponentOperator, Fix_Component_Operator, OT_rename_component, RemoveComponentFromAllObjectsOperator, RemoveComponentOperator, GenerateComponent_From_custom_property_Operator, PasteComponentOperator, AddComponentOperator, RenameHelper, Toggle_ComponentVisibility - -from .registry.registry import ComponentsRegistry,MissingBevyType -from .registry.operators import (COMPONENTS_OT_REFRESH_CUSTOM_PROPERTIES_ALL, COMPONENTS_OT_REFRESH_CUSTOM_PROPERTIES_CURRENT, COMPONENTS_OT_REFRESH_PROPGROUPS_FROM_CUSTOM_PROPERTIES_ALL, COMPONENTS_OT_REFRESH_PROPGROUPS_FROM_CUSTOM_PROPERTIES_CURRENT, OT_select_component_name_to_replace, OT_select_object, ReloadRegistryOperator, OT_OpenFilebrowser) -from .registry.ui import (BEVY_COMPONENTS_PT_Configuration, BEVY_COMPONENTS_PT_AdvancedToolsPanel, BEVY_COMPONENTS_PT_MissingTypesPanel, MISSING_TYPES_UL_List) - -from .components.metadata import (ComponentMetadata, ComponentsMeta) -from .components.lists import GENERIC_LIST_OT_actions, Generic_LIST_OT_AddItem, Generic_LIST_OT_RemoveItem, Generic_LIST_OT_SelectItem -from .components.maps import GENERIC_MAP_OT_actions -from .components.definitions_list import (ComponentDefinitionsList, ClearComponentDefinitionsList) -from .components.ui import (BEVY_COMPONENTS_PT_ComponentsPanel) - -class BEVY_COMPONENTS_PT_MainPanel(bpy.types.Panel): - bl_idname = "BEVY_COMPONENTS_PT_MainPanel" - bl_label = "" - bl_space_type = 'VIEW_3D' - bl_region_type = 'UI' - bl_category = "Bevy Components" - bl_context = "objectmode" - - - def draw_header(self, context): - layout = self.layout - name = context.object.name if context.object != None else '' - layout.label(text="Components For "+ name) - - def draw(self, context): - layout = self.layout - object = context.object - collection = context.collection - - - """row.prop(bpy.context.window_manager, "blueprint_name") - op = row.operator(CreateBlueprintOperator.bl_idname, text="Create blueprint", icon="CONSOLE") - op.blueprint_name = bpy.context.window_manager.blueprint_name - layout.separator() - - current_components_container = None - has_components = False - for child in collection.objects: - if child.name.endswith("_components"): - has_components = True - current_components_container= child - - if collection is not None and has_components: - layout.label(text="Edit blueprint: "+ collection.name) - - """ - - - -#_register, _unregister = bpy.utils.register_classes_factory(classes) -classes = [ - CreateBlueprintOperator, - AddComponentOperator, - CopyComponentOperator, - PasteComponentOperator, - RemoveComponentOperator, - RemoveComponentFromAllObjectsOperator, - Fix_Component_Operator, - OT_rename_component, - RenameHelper, - GenerateComponent_From_custom_property_Operator, - Toggle_ComponentVisibility, - - ComponentDefinitionsList, - ClearComponentDefinitionsList, - - ComponentMetadata, - ComponentsMeta, - MissingBevyType, - ComponentsRegistry, - - OT_OpenFilebrowser, - ReloadRegistryOperator, - COMPONENTS_OT_REFRESH_CUSTOM_PROPERTIES_ALL, - COMPONENTS_OT_REFRESH_CUSTOM_PROPERTIES_CURRENT, - - COMPONENTS_OT_REFRESH_PROPGROUPS_FROM_CUSTOM_PROPERTIES_ALL, - COMPONENTS_OT_REFRESH_PROPGROUPS_FROM_CUSTOM_PROPERTIES_CURRENT, - - OT_select_object, - OT_select_component_name_to_replace, - - BEVY_COMPONENTS_PT_MainPanel, - BEVY_COMPONENTS_PT_ComponentsPanel, - BEVY_COMPONENTS_PT_AdvancedToolsPanel, - BEVY_COMPONENTS_PT_Configuration, - MISSING_TYPES_UL_List, - BEVY_COMPONENTS_PT_MissingTypesPanel, - - Generic_LIST_OT_SelectItem, - Generic_LIST_OT_AddItem, - Generic_LIST_OT_RemoveItem, - GENERIC_LIST_OT_actions, - - GENERIC_MAP_OT_actions -] - -from bpy.app.handlers import persistent - -@persistent -def post_load(file_name): - registry = bpy.context.window_manager.components_registry - if registry != None: - registry.load_settings() - -def register(): - for cls in classes: - bpy.utils.register_class(cls) - bpy.types.WindowManager.blueprint_name = StringProperty() - bpy.app.handlers.load_post.append(post_load) - -def unregister(): - for cls in classes: - bpy.utils.unregister_class(cls) - del bpy.types.WindowManager.blueprint_name - - bpy.app.handlers.load_post.remove(post_load) - diff --git a/tools/bevy_components/blueprints.py b/tools/bevy_components/blueprints.py deleted file mode 100644 index c4deec4..0000000 --- a/tools/bevy_components/blueprints.py +++ /dev/null @@ -1,41 +0,0 @@ - -import json -import bpy -from bpy_types import Operator -from bpy.props import (StringProperty) - -from .helpers import make_empty - -class CreateBlueprintOperator(Operator): - """Creates blueprint""" - bl_idname = "object.simple_operator" - bl_label = "Simple Object Operator" - - blueprint_name: StringProperty( - name="blueprint name", - description="blueprint name to add", - default="NewBlueprint" - ) - - - def execute(self, context): - blueprint_name = self.blueprint_name - if blueprint_name == '': - blueprint_name = "NewBlueprint" - collection = bpy.data.collections.new(blueprint_name) - bpy.context.scene.collection.children.link(collection) - collection['AutoExport'] = True - - # this is in order to deal with automatic naming - blueprint_name = collection.name - - components_empty = make_empty(blueprint_name + "_components", [0,0,0], [0,0,0], [0,0,0], bpy.context.scene.collection) - bpy.ops.collection.objects_remove_all() - - collection.objects.link(components_empty) - - components_empty.select_set(True) - bpy.context.view_layer.objects.active = components_empty - - return {'FINISHED'} - diff --git a/tools/bevy_components/components/__init__.py b/tools/bevy_components/components/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tools/bevy_components/components/definitions_list.py b/tools/bevy_components/components/definitions_list.py deleted file mode 100644 index 56cfc83..0000000 --- a/tools/bevy_components/components/definitions_list.py +++ /dev/null @@ -1,57 +0,0 @@ -import bpy -from bpy.props import (StringProperty) - -# this one is for UI only, and its inner list contains a useable list of shortnames of components -class ComponentDefinitionsList(bpy.types.PropertyGroup): - - # FIXME: not sure, hard coded exclude list, feels wrong - exclude = ['Parent', 'Children'] - - def add_component_to_ui_list(self, context): - #print("add components to ui_list") - items = [] - type_infos = context.window_manager.components_registry.type_infos - for long_name in type_infos.keys(): - definition = type_infos[long_name] - short_name = definition["short_name"] - is_component = definition['isComponent'] if "isComponent" in definition else False - - if self.filter in short_name and is_component: - if not 'Handle' in short_name and not "Cow" in short_name and not "AssetId" in short_name and short_name not in self.exclude: # FIXME: hard coded, seems wrong - items.append((long_name, short_name, long_name)) - - items.sort(key=lambda a: a[1]) - return items - - @classmethod - def register(cls): - bpy.types.WindowManager.components_list = bpy.props.PointerProperty(type=ComponentDefinitionsList) - - @classmethod - def unregister(cls): - del bpy.types.WindowManager.components_list - - list : bpy.props.EnumProperty( - name="list", - description="list", - # items argument required to initialize, just filled with empty values - items = add_component_to_ui_list, - ) # type: ignore - filter: StringProperty( - name="component filter", - description="filter for the components list", - options={'TEXTEDIT_UPDATE'} - ) # type: ignore - - -class ClearComponentDefinitionsList(bpy.types.Operator): - ''' clear list of bpy.context.collection.component_definitions ''' - bl_label = "clear component definitions" - bl_idname = "components.clear_component_definitions" - - def execute(self, context): - # create a new item, assign its properties - bpy.context.collection.component_definitions.clear() - - return {'FINISHED'} - diff --git a/tools/bevy_components/components/helpers.py b/tools/bevy_components/components/helpers.py deleted file mode 100644 index 4a45b62..0000000 --- a/tools/bevy_components/components/helpers.py +++ /dev/null @@ -1,6 +0,0 @@ -import rna_prop_ui - -# fake way to make our operator's changes be visible to the change/depsgraph update handler in gltf_auto_export -def ping_depsgraph_update(object): - rna_prop_ui.rna_idprop_ui_create(object, "________temp", default=0) - rna_prop_ui.rna_idprop_ui_prop_clear(object, "________temp") \ No newline at end of file diff --git a/tools/bevy_components/components/lists.py b/tools/bevy_components/components/lists.py deleted file mode 100644 index a613a83..0000000 --- a/tools/bevy_components/components/lists.py +++ /dev/null @@ -1,170 +0,0 @@ -import json -from bpy_types import Operator, UIList -from bpy.props import (StringProperty, EnumProperty, PointerProperty, FloatVectorProperty, IntProperty) - -class Generic_LIST_OT_AddItem(Operator): - """Add a new item to the list.""" - bl_idname = "generic_list.add_item" - bl_label = "Add a new item" - - property_group_path: StringProperty( - name="property group path", - description="", - ) # type: ignore - - component_name: StringProperty( - name="component name", - description="", - ) # type: ignore - - def execute(self, context): - print("") - object = context.object - # information is stored in component meta - components_in_object = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == self.component_name, components_in_object), None) - - propertyGroup = component_meta - for path_item in json.loads(self.property_group_path): - propertyGroup = getattr(propertyGroup, path_item) - - print("list container", propertyGroup, dict(propertyGroup)) - target_list = getattr(propertyGroup, "list") - index = getattr(propertyGroup, "list_index") - item = target_list.add() - propertyGroup.list_index = index + 1 # we use this to force the change detection - - print("added item", item, item.field_names, getattr(item, "field_names")) - print("") - return{'FINISHED'} - - -class Generic_LIST_OT_RemoveItem(Operator): - """Remove an item to the list.""" - bl_idname = "generic_list.remove_item" - bl_label = "Remove selected item" - - property_group_path: StringProperty( - name="property group path", - description="", - ) # type: ignore - - component_name: StringProperty( - name="component name", - description="", - ) # type: ignore - def execute(self, context): - print("remove from list", context.object) - - object = context.object - # information is stored in component meta - components_in_object = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == self.component_name, components_in_object), None) - - propertyGroup = component_meta - for path_item in json.loads(self.property_group_path): - propertyGroup = getattr(propertyGroup, path_item) - - target_list = getattr(propertyGroup, "list") - index = getattr(propertyGroup, "list_index") - target_list.remove(index) - propertyGroup.list_index = min(max(0, index - 1), len(target_list) - 1) - return{'FINISHED'} - - -class Generic_LIST_OT_SelectItem(Operator): - """Remove an item to the list.""" - bl_idname = "generic_list.select_item" - bl_label = "select an item" - - - property_group_path: StringProperty( - name="property group path", - description="", - ) # type: ignore - - component_name: StringProperty( - name="component name", - description="", - ) # type: ignore - - selection_index: IntProperty() # type: ignore - - def execute(self, context): - print("select in list", context.object) - - object = context.object - # information is stored in component meta - components_in_object = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == self.component_name, components_in_object), None) - - propertyGroup = component_meta - for path_item in json.loads(self.property_group_path): - propertyGroup = getattr(propertyGroup, path_item) - - target_list = getattr(propertyGroup, "list") - index = getattr(propertyGroup, "list_index") - - propertyGroup.list_index = self.selection_index - return{'FINISHED'} - - -class GENERIC_LIST_OT_actions(Operator): - """Move items up and down, add and remove""" - bl_idname = "generic_list.list_action" - bl_label = "List Actions" - bl_description = "Move items up and down, add and remove" - bl_options = {'REGISTER', 'UNDO'} - - action: EnumProperty( - items=( - ('UP', "Up", ""), - ('DOWN', "Down", ""), - ('REMOVE', "Remove", ""), - ('ADD', "Add", ""))) # type: ignore - - property_group_path: StringProperty( - name="property group path", - description="", - ) # type: ignore - - component_name: StringProperty( - name="component name", - description="", - ) # type: ignore - - def invoke(self, context, event): - object = context.object - # information is stored in component meta - components_in_object = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == self.component_name, components_in_object), None) - - propertyGroup = component_meta - for path_item in json.loads(self.property_group_path): - propertyGroup = getattr(propertyGroup, path_item) - - target_list = getattr(propertyGroup, "list") - index = getattr(propertyGroup, "list_index") - - - if self.action == 'DOWN' and index < len(target_list) - 1: - #item_next = scn.rule_list[index + 1].name - target_list.move(index, index + 1) - propertyGroup.list_index += 1 - - elif self.action == 'UP' and index >= 1: - #item_prev = scn.rule_list[index - 1].name - target_list.move(index, index - 1) - propertyGroup.list_index -= 1 - - elif self.action == 'REMOVE': - target_list.remove(index) - propertyGroup.list_index = min(max(0, index - 1), len(target_list) - 1) - - if self.action == 'ADD': - item = target_list.add() - propertyGroup.list_index = index + 1 # we use this to force the change detection - #info = '"%s" added to list' % (item.name) - #self.report({'INFO'}, info) - - return {"FINISHED"} \ No newline at end of file diff --git a/tools/bevy_components/components/maps.py b/tools/bevy_components/components/maps.py deleted file mode 100644 index e357aab..0000000 --- a/tools/bevy_components/components/maps.py +++ /dev/null @@ -1,121 +0,0 @@ -import json -from bpy_types import Operator, UIList -from bpy.props import (StringProperty, EnumProperty, PointerProperty, FloatVectorProperty, IntProperty) - -from ..propGroups.conversions_from_prop_group import property_group_value_to_custom_property_value - -class GENERIC_MAP_OT_actions(Operator): - """Move items up and down, add and remove""" - bl_idname = "generic_map.map_action" - bl_label = "Map Actions" - bl_description = "Move items up and down, add and remove" - bl_options = {'REGISTER', 'UNDO'} - - action: EnumProperty( - items=( - ('UP', "Up", ""), - ('DOWN', "Down", ""), - ('REMOVE', "Remove", ""), - ('ADD', "Add", ""))) # type: ignore - - property_group_path: StringProperty( - name="property group path", - description="", - ) # type: ignore - - component_name: StringProperty( - name="component name", - description="", - ) # type: ignore - - target_index: IntProperty(name="target index", description="index of item to manipulate")# type: ignore - - def invoke(self, context, event): - object = context.object - # information is stored in component meta - components_in_object = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == self.component_name, components_in_object), None) - - propertyGroup = component_meta - for path_item in json.loads(self.property_group_path): - propertyGroup = getattr(propertyGroup, path_item) - - keys_list = getattr(propertyGroup, "list") - index = getattr(propertyGroup, "list_index") - - values_list = getattr(propertyGroup, "values_list") - values_index = getattr(propertyGroup, "values_list_index") - - key_setter = getattr(propertyGroup, "keys_setter") - value_setter = getattr(propertyGroup, "values_setter") - - if self.action == 'DOWN' and index < len(keys_list) - 1: - #item_next = scn.rule_list[index + 1].name - keys_list.move(index, index + 1) - propertyGroup.list_index += 1 - - elif self.action == 'UP' and index >= 1: - #item_prev = scn.rule_list[index - 1].name - keys_list.move(index, index - 1) - propertyGroup.list_index -= 1 - - elif self.action == 'REMOVE': - index = self.target_index - keys_list.remove(index) - values_list.remove(index) - propertyGroup.list_index = min(max(0, index - 1), len(keys_list) - 1) - propertyGroup.values_index = min(max(0, index - 1), len(keys_list) - 1) - - if self.action == 'ADD': - print("keys_list", keys_list) - - # first we gather all key/value pairs - hashmap = {} - for index, key in enumerate(keys_list): - key_entry = {} - for field_name in key.field_names: - key_entry[field_name] = getattr(key, field_name, None) - value_entry = {} - for field_name in values_list[index].field_names: - value_entry[field_name] = values_list[index][field_name] - hashmap[json.dumps(key_entry)] = index - print("hashmap", hashmap ) - - # then we need to find the index of a specific value if it exists - key_entry = {} - for field_name in key_setter.field_names: - key_entry[field_name] = getattr(key_setter, field_name, None) - key_to_add = json.dumps(key_entry) - existing_index = hashmap.get(key_to_add, None) - print("existing_index", existing_index) - - if existing_index is None: - print("adding new value") - key = keys_list.add() - # copy the values over - for field_name in key_setter.field_names: - val = getattr(key_setter, field_name, None) - if val is not None: - key[field_name] = val - # TODO: add error handling - - value = values_list.add() - # copy the values over - for field_name in value_setter.field_names: - val = getattr(value_setter, field_name, None) - if val is not None: - value[field_name] = val - # TODO: add error handling - - propertyGroup.list_index = index + 1 # we use this to force the change detection - propertyGroup.values_index = index + 1 # we use this to force the change detection - else: - print("overriding value") - for field_name in value_setter.field_names: - values_list[existing_index][field_name] = value_setter[field_name] - - - #info = '"%s" added to list' % (item.name) - #self.report({'INFO'}, info) - - return {"FINISHED"} \ No newline at end of file diff --git a/tools/bevy_components/components/metadata.py b/tools/bevy_components/components/metadata.py deleted file mode 100644 index 47ee2f4..0000000 --- a/tools/bevy_components/components/metadata.py +++ /dev/null @@ -1,344 +0,0 @@ -import bpy -from bpy.props import (StringProperty, BoolProperty, PointerProperty) -from bpy_types import (PropertyGroup) - -from ..propGroups.conversions_from_prop_group import property_group_value_to_custom_property_value -from ..propGroups.conversions_to_prop_group import property_group_value_from_custom_property_value - -class ComponentMetadata(bpy.types.PropertyGroup): - short_name : bpy.props.StringProperty( - name = "name", - default = "" - ) # type: ignore - - long_name : bpy.props.StringProperty( - name = "long name", - default = "" - ) # type: ignore - - values: bpy.props.StringProperty( - name = "Value", - default = "" - ) # type: ignore - - enabled: BoolProperty( - name="enabled", - description="component enabled", - default=True - ) # type: ignore - - invalid: BoolProperty( - name="invalid", - description="component is invalid, because of missing registration/ other issues", - default=False - ) # type: ignore - - invalid_details: StringProperty( - name="invalid details", - description="detailed information about why the component is invalid", - default="" - ) # type: ignore - - visible: BoolProperty( # REALLY dislike doing this for UI control, but ok hack for now - default=True - ) # type: ignore - -class ComponentsMeta(PropertyGroup): - infos_per_component: StringProperty( - name="infos per component", - description="component" - ) # type: ignore - components: bpy.props.CollectionProperty(type = ComponentMetadata) # type: ignore - - @classmethod - def register(cls): - bpy.types.Object.components_meta = PointerProperty(type=ComponentsMeta) - - @classmethod - def unregister(cls): - del bpy.types.Object.components_meta - -# remove no longer valid metadata from object -def cleanup_invalid_metadata(object): - bevy_components = get_bevy_components(object) - if len(bevy_components.keys()) == 0: # no components, bail out - return - components_metadata = object.components_meta.components - to_remove = [] - for index, component_meta in enumerate(components_metadata): - long_name = component_meta.long_name - if long_name not in bevy_components.keys(): - print("component:", long_name, "present in metadata, but not in object") - to_remove.append(index) - for index in to_remove: - components_metadata.remove(index) - - -# returns a component definition ( an entry in registry's type_infos) with matching long name or None if nothing has been found -def find_component_definition_from_long_name(long_name): - registry = bpy.context.window_manager.components_registry - return registry.type_infos.get(long_name, None) - -# FIXME: feels a bit heavy duty, should only be done -# if the components panel is active ? -def ensure_metadata_for_all_objects(): - for object in bpy.data.objects: - add_metadata_to_components_without_metadata(object) - -# returns whether an object has custom properties without matching metadata -def do_object_custom_properties_have_missing_metadata(object): - components_metadata = getattr(object, "components_meta", None) - if components_metadata == None: - return True - - components_metadata = components_metadata.components - - missing_metadata = False - for component_name in get_bevy_components(object) : - if component_name == "components_meta": - continue - component_meta = next(filter(lambda component: component["long_name"] == component_name, components_metadata), None) - if component_meta == None: - # current component has no metadata but is there even a compatible type in the registry ? - # if not ignore it - component_definition = find_component_definition_from_long_name(component_name) - if component_definition != None: - missing_metadata = True - break - - return missing_metadata - - -import json - -def upsert_bevy_component(object, long_name, value): - if not 'bevy_components' in object: - object['bevy_components'] = '{}' - bevy_components = json.loads(object['bevy_components']) - bevy_components[long_name] = value - object['bevy_components'] = json.dumps(bevy_components) - #object['bevy_components'][long_name] = value # Sigh, this does not work, hits Blender's 63 char length limit - -def remove_bevy_component(object, long_name): - if 'bevy_components' in object: - bevy_components = json.loads(object['bevy_components']) - if long_name in bevy_components: - del bevy_components[long_name] - object['bevy_components'] = json.dumps(bevy_components) - if long_name in object: - del object[long_name] - -def get_bevy_components(object): - if 'bevy_components' in object: - bevy_components = json.loads(object['bevy_components']) - return bevy_components - return {} - -def get_bevy_component_value_by_long_name(object, long_name): - bevy_components = get_bevy_components(object) - if len(bevy_components.keys()) == 0 : - return None - return bevy_components.get(long_name, None) - -def is_bevy_component_in_object(object, long_name): - return get_bevy_component_value_by_long_name(object, long_name) is not None - -# adds metadata to object only if it is missing -def add_metadata_to_components_without_metadata(object): - registry = bpy.context.window_manager.components_registry - - for component_name in get_bevy_components(object) : - if component_name == "components_meta": - continue - upsert_component_in_object(object, component_name, registry) - -# adds a component to an object (including metadata) using the provided component definition & optional value -def add_component_to_object(object, component_definition, value=None): - cleanup_invalid_metadata(object) - if object is not None: - # print("add_component_to_object", component_definition) - long_name = component_definition["long_name"] - registry = bpy.context.window_manager.components_registry - if not registry.has_type_infos(): - raise Exception('registry type infos have not been loaded yet or are missing !') - definition = registry.type_infos[long_name] - # now we use our pre_generated property groups to set the initial value of our custom property - (_, propertyGroup) = upsert_component_in_object(object, long_name=long_name, registry=registry) - if value == None: - value = property_group_value_to_custom_property_value(propertyGroup, definition, registry, None) - else: # we have provided a value, that is a raw , custom property value, to set the value of the propertyGroup - object["__disable__update"] = True # disable update callback while we set the values of the propertyGroup "tree" (as a propertyGroup can contain other propertyGroups) - property_group_value_from_custom_property_value(propertyGroup, definition, registry, value) - del object["__disable__update"] - - upsert_bevy_component(object, long_name, value) - -def upsert_component_in_object(object, long_name, registry): - # print("upsert_component_in_object", object, "component name", component_name) - # TODO: upsert this part too ? - target_components_metadata = object.components_meta.components - component_definition = registry.type_infos.get(long_name, None) - if component_definition != None: - short_name = component_definition["short_name"] - long_name = component_definition["long_name"] - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - propertyGroup = None - - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - if not component_meta: - component_meta = target_components_metadata.add() - component_meta.short_name = short_name - component_meta.long_name = long_name - propertyGroup = getattr(component_meta, property_group_name, None) - else: # this one has metadata but we check that the relevant property group is present - propertyGroup = getattr(component_meta, property_group_name, None) - - # try to inject propertyGroup if not present - if propertyGroup == None: - #print("propertygroup not found in metadata attempting to inject") - if property_group_name in registry.component_propertyGroups: - # we have found a matching property_group, so try to inject it - # now inject property group - setattr(ComponentMetadata, property_group_name, registry.component_propertyGroups[property_group_name]) # FIXME: not ideal as all ComponentMetadata get the propGroup, but have not found a way to assign it per instance - propertyGroup = getattr(component_meta, property_group_name, None) - - # now deal with property groups details - if propertyGroup != None: - if long_name in registry.invalid_components: - component_meta.enabled = False - component_meta.invalid = True - component_meta.invalid_details = "component contains fields that are not in the schema, disabling" - else: - # if we still have not found the property group, mark it as invalid - component_meta.enabled = False - component_meta.invalid = True - component_meta.invalid_details = "component not present in the schema, possibly renamed? Disabling for now" - # property_group_value_from_custom_property_value(propertyGroup, component_definition, registry, object[component_name]) - - return (component_meta, propertyGroup) - else: - return(None, None) - - -def copy_propertyGroup_values_to_another_object(source_object, target_object, component_name, registry): - if source_object == None or target_object == None or component_name == None: - raise Exception('missing input data, cannot copy component propertryGroup') - - component_definition = find_component_definition_from_long_name(component_name) - long_name = component_name - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - - registry = bpy.context.window_manager.components_registry - - source_components_metadata = source_object.components_meta.components - source_componentMeta = next(filter(lambda component: component["long_name"] == long_name, source_components_metadata), None) - # matching component means we already have this type of component - source_propertyGroup = getattr(source_componentMeta, property_group_name) - - # now deal with the target object - (_, target_propertyGroup) = upsert_component_in_object(target_object, component_name, registry) - # add to object - value = property_group_value_to_custom_property_value(target_propertyGroup, component_definition, registry, None) - upsert_bevy_component(target_object, long_name, value) - - # copy the values over - for field_name in source_propertyGroup.field_names: - if field_name in source_propertyGroup: - target_propertyGroup[field_name] = source_propertyGroup[field_name] - apply_propertyGroup_values_to_object_customProperties(target_object) - - -# TODO: move to propgroups ? -def apply_propertyGroup_values_to_object_customProperties(object): - cleanup_invalid_metadata(object) - registry = bpy.context.window_manager.components_registry - for component_name in get_bevy_components(object) : - """if component_name == "components_meta": - continue""" - (_, propertyGroup) = upsert_component_in_object(object, component_name, registry) - component_definition = find_component_definition_from_long_name(component_name) - if component_definition != None: - value = property_group_value_to_custom_property_value(propertyGroup, component_definition, registry, None) - upsert_bevy_component(object=object, long_name=component_name, value=value) - -# apply component value(s) to custom property of a single component -def apply_propertyGroup_values_to_object_customProperties_for_component(object, component_name): - registry = bpy.context.window_manager.components_registry - (_, propertyGroup) = upsert_component_in_object(object, component_name, registry) - component_definition = find_component_definition_from_long_name(component_name) - if component_definition != None: - value = property_group_value_to_custom_property_value(propertyGroup, component_definition, registry, None) - object[component_name] = value - - components_metadata = object.components_meta.components - componentMeta = next(filter(lambda component: component["long_name"] == component_name, components_metadata), None) - if componentMeta: - componentMeta.invalid = False - componentMeta.invalid_details = "" - - -def apply_customProperty_values_to_object_propertyGroups(object): - print("apply custom properties to ", object.name) - registry = bpy.context.window_manager.components_registry - for component_name in get_bevy_components(object) : - if component_name == "components_meta": - continue - component_definition = find_component_definition_from_long_name(component_name) - if component_definition != None: - property_group_name = registry.get_propertyGroupName_from_longName(component_name) - components_metadata = object.components_meta.components - source_componentMeta = next(filter(lambda component: component["long_name"] == component_name, components_metadata), None) - # matching component means we already have this type of component - propertyGroup = getattr(source_componentMeta, property_group_name, None) - customProperty_value = get_bevy_component_value_by_long_name(object, component_name) - #value = property_group_value_to_custom_property_value(propertyGroup, component_definition, registry, None) - - object["__disable__update"] = True # disable update callback while we set the values of the propertyGroup "tree" (as a propertyGroup can contain other propertyGroups) - property_group_value_from_custom_property_value(propertyGroup, component_definition, registry, customProperty_value) - del object["__disable__update"] - source_componentMeta.invalid = False - source_componentMeta.invalid_details = "" - -# removes the given component from the object: removes both the custom property and the matching metadata from the object -def remove_component_from_object(object, component_name): - # remove the component value - remove_bevy_component(object, component_name) - - # now remove the component's metadata - components_metadata = getattr(object, "components_meta", None) - if components_metadata == None: - return False - - components_metadata = components_metadata.components - to_remove = [] - for index, component_meta in enumerate(components_metadata): - long_name = component_meta.long_name - if long_name == component_name: - to_remove.append(index) - break - for index in to_remove: - components_metadata.remove(index) - return True - -def add_component_from_custom_property(object): - add_metadata_to_components_without_metadata(object) - apply_customProperty_values_to_object_propertyGroups(object) - -def rename_component(object, original_long_name, new_long_name): - registry = bpy.context.window_manager.components_registry - type_infos = registry.type_infos - component_definition = type_infos[new_long_name] - - component_ron_value = get_bevy_component_value_by_long_name(object=object, long_name=original_long_name) - if component_ron_value is None and original_long_name in object: - component_ron_value = object[original_long_name] - - remove_component_from_object(object, original_long_name) - add_component_to_object(object, component_definition, component_ron_value) - - -def toggle_component(object, component_name): - components_in_object = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == component_name, components_in_object), None) - if component_meta != None: - component_meta.visible = not component_meta.visible diff --git a/tools/bevy_components/components/operators.py b/tools/bevy_components/components/operators.py deleted file mode 100644 index 2a2c2f2..0000000 --- a/tools/bevy_components/components/operators.py +++ /dev/null @@ -1,321 +0,0 @@ -import ast -import json -import bpy -from bpy_types import Operator -from bpy.props import (StringProperty) - -from .metadata import add_component_from_custom_property, add_component_to_object, apply_propertyGroup_values_to_object_customProperties_for_component, copy_propertyGroup_values_to_another_object, get_bevy_component_value_by_long_name, get_bevy_components, is_bevy_component_in_object, remove_component_from_object, rename_component, toggle_component - -class AddComponentOperator(Operator): - """Add Bevy component to object""" - bl_idname = "object.add_bevy_component" - bl_label = "Add component to object Operator" - bl_options = {"UNDO"} - - component_type: StringProperty( - name="component_type", - description="component type to add", - ) # type: ignore - - def execute(self, context): - object = context.object - print("adding component ", self.component_type, "to object '"+object.name+"'") - - has_component_type = self.component_type != "" - if has_component_type and object != None: - type_infos = context.window_manager.components_registry.type_infos - component_definition = type_infos[self.component_type] - add_component_to_object(object, component_definition) - - return {'FINISHED'} - -class CopyComponentOperator(Operator): - """Copy Bevy component from object""" - bl_idname = "object.copy_bevy_component" - bl_label = "Copy component Operator" - bl_options = {"UNDO"} - - source_component_name: StringProperty( - name="source component_name (long)", - description="name of the component to copy", - ) # type: ignore - - source_object_name: StringProperty( - name="source object name", - description="name of the object to copy the component from", - ) # type: ignore - - @classmethod - def register(cls): - bpy.types.WindowManager.copied_source_component_name = StringProperty() - bpy.types.WindowManager.copied_source_object = StringProperty() - - @classmethod - def unregister(cls): - del bpy.types.WindowManager.copied_source_component_name - del bpy.types.WindowManager.copied_source_object - - - def execute(self, context): - if self.source_component_name != '' and self.source_object_name != "": - context.window_manager.copied_source_component_name = self.source_component_name - context.window_manager.copied_source_object = self.source_object_name - else: - self.report({"ERROR"}, "The source object name / component name to copy a component from have not been specified") - - return {'FINISHED'} - - -class PasteComponentOperator(Operator): - """Paste Bevy component to object""" - bl_idname = "object.paste_bevy_component" - bl_label = "Paste component to object Operator" - bl_options = {"UNDO"} - - def execute(self, context): - source_object_name = context.window_manager.copied_source_object - source_object = bpy.data.objects.get(source_object_name, None) - print("source object", source_object) - if source_object == None: - self.report({"ERROR"}, "The source object to copy a component from does not exist") - else: - component_name = context.window_manager.copied_source_component_name - component_value = get_bevy_component_value_by_long_name(source_object, component_name) - if component_value is None: - self.report({"ERROR"}, "The source component to copy from does not exist") - else: - print("pasting component to object: component name:", str(component_name), "component value:" + str(component_value)) - print (context.object) - registry = context.window_manager.components_registry - copy_propertyGroup_values_to_another_object(source_object, context.object, component_name, registry) - - return {'FINISHED'} - -class RemoveComponentOperator(Operator): - """Remove Bevy component from object""" - bl_idname = "object.remove_bevy_component" - bl_label = "Remove component from object Operator" - bl_options = {"UNDO"} - - component_name: StringProperty( - name="component name", - description="component to delete", - ) # type: ignore - - object_name: StringProperty( - name="object name", - description="object whose component to delete", - default="" - ) # type: ignore - - def execute(self, context): - if self.object_name == "": - object = context.object - else: - object = bpy.data.objects[self.object_name] - print("removing component ", self.component_name, "from object '"+object.name+"'") - - if object is not None and 'bevy_components' in object : - component_value = get_bevy_component_value_by_long_name(object, self.component_name) - if component_value is not None: - remove_component_from_object(object, self.component_name) - else : - self.report({"ERROR"}, "The component to remove ("+ self.component_name +") does not exist") - else: - self.report({"ERROR"}, "The object to remove ("+ self.component_name +") from does not exist") - return {'FINISHED'} - - -class RemoveComponentFromAllObjectsOperator(Operator): - """Remove Bevy component from all object""" - bl_idname = "object.remove_bevy_component_all" - bl_label = "Remove component from all objects Operator" - bl_options = {"UNDO"} - - component_name: StringProperty( - name="component name (long name)", - description="component to delete", - ) # type: ignore - - @classmethod - def register(cls): - bpy.types.WindowManager.components_remove_progress = bpy.props.FloatProperty(default=-1.0) - - @classmethod - def unregister(cls): - del bpy.types.WindowManager.components_remove_progress - - def execute(self, context): - print("removing component ", self.component_name, "from all objects") - total = len(bpy.data.objects) - for index, object in enumerate(bpy.data.objects): - if len(object.keys()) > 0: - if object is not None and is_bevy_component_in_object(object, self.component_name): - remove_component_from_object(object, self.component_name) - - progress = index / total - context.window_manager.components_remove_progress = progress - # now force refresh the ui - bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) - context.window_manager.components_remove_progress = -1.0 - - return {'FINISHED'} - - -class RenameHelper(bpy.types.PropertyGroup): - original_name: bpy.props.StringProperty(name="") # type: ignore - new_name: bpy.props.StringProperty(name="") # type: ignore - - #object: bpy.props.PointerProperty(type=bpy.types.Object) - @classmethod - def register(cls): - bpy.types.WindowManager.bevy_component_rename_helper = bpy.props.PointerProperty(type=RenameHelper) - - @classmethod - def unregister(cls): - # remove handlers & co - del bpy.types.WindowManager.bevy_component_rename_helper - -class OT_rename_component(Operator): - """Rename Bevy component""" - bl_idname = "object.rename_bevy_component" - bl_label = "rename component" - bl_options = {"UNDO"} - - original_name: bpy.props.StringProperty(default="") # type: ignore - new_name: StringProperty( - name="new_name", - description="new name of component", - ) # type: ignore - - target_objects: bpy.props.StringProperty() # type: ignore - - @classmethod - def register(cls): - bpy.types.WindowManager.components_rename_progress = bpy.props.FloatProperty(default=-1.0) #bpy.props.PointerProperty(type=RenameHelper) - - @classmethod - def unregister(cls): - del bpy.types.WindowManager.components_rename_progress - - def execute(self, context): - registry = context.window_manager.components_registry - type_infos = registry.type_infos - settings = context.window_manager.bevy_component_rename_helper - original_name = settings.original_name if self.original_name == "" else self.original_name - new_name = self.new_name - - - print("renaming components: original name", original_name, "new_name", self.new_name, "targets", self.target_objects) - target_objects = json.loads(self.target_objects) - errors = [] - total = len(target_objects) - - if original_name != '' and new_name != '' and original_name != new_name and len(target_objects) > 0: - for index, object_name in enumerate(target_objects): - object = bpy.data.objects[object_name] - if object and original_name in get_bevy_components(object) or original_name in object: - try: - # attempt conversion - rename_component(object=object, original_long_name=original_name, new_long_name=new_name) - except Exception as error: - if '__disable__update' in object: - del object["__disable__update"] # make sure custom properties are updateable afterwards, even in the case of failure - components_metadata = getattr(object, "components_meta", None) - if components_metadata: - components_metadata = components_metadata.components - component_meta = next(filter(lambda component: component["long_name"] == new_name, components_metadata), None) - if component_meta: - component_meta.invalid = True - component_meta.invalid_details = "wrong custom property value, overwrite them by changing the values in the ui or change them & regenerate" - - errors.append( "wrong custom property values to generate target component: object: '" + object.name + "', error: " + str(error)) - - progress = index / total - context.window_manager.components_rename_progress = progress - - try: - # now force refresh the ui - bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) - except: pass # this is to allow this to run in cli/headless mode - - if len(errors) > 0: - self.report({'ERROR'}, "Failed to rename component: Errors:" + str(errors)) - else: - self.report({'INFO'}, "Sucessfully renamed component") - - #clear data after we are done - self.original_name = "" - context.window_manager.bevy_component_rename_helper.original_name = "" - context.window_manager.components_rename_progress = -1.0 - - return {'FINISHED'} - - -class GenerateComponent_From_custom_property_Operator(Operator): - """Generate Bevy components from custom property""" - bl_idname = "object.generate_bevy_component_from_custom_property" - bl_label = "Generate component from custom_property Operator" - bl_options = {"UNDO"} - - component_name: StringProperty( - name="component name", - description="component to generate custom properties for", - ) # type: ignore - - def execute(self, context): - object = context.object - - error = False - try: - add_component_from_custom_property(object) - except Exception as error: - del object["__disable__update"] # make sure custom properties are updateable afterwards, even in the case of failure - error = True - self.report({'ERROR'}, "Failed to update propertyGroup values from custom property: Error:" + str(error)) - if not error: - self.report({'INFO'}, "Sucessfully generated UI values for custom properties for selected object") - return {'FINISHED'} - - -class Fix_Component_Operator(Operator): - """Attempt to fix Bevy component""" - bl_idname = "object.fix_bevy_component" - bl_label = "Fix component (attempts to)" - bl_options = {"UNDO"} - - component_name: StringProperty( - name="component name", - description="component to fix", - ) # type: ignore - - def execute(self, context): - object = context.object - error = False - try: - apply_propertyGroup_values_to_object_customProperties_for_component(object, self.component_name) - except Exception as error: - if "__disable__update" in object: - del object["__disable__update"] # make sure custom properties are updateable afterwards, even in the case of failure - error = True - self.report({'ERROR'}, "Failed to fix component: Error:" + str(error)) - if not error: - self.report({'INFO'}, "Sucessfully fixed component (please double check component & its custom property value)") - return {'FINISHED'} - -class Toggle_ComponentVisibility(Operator): - """Toggle Bevy component's visibility""" - bl_idname = "object.toggle_bevy_component_visibility" - bl_label = "Toggle component visibility" - bl_options = {"UNDO"} - - component_name: StringProperty( - name="component name", - description="component to toggle", - ) # type: ignore - - def execute(self, context): - object = context.object - toggle_component(object, self.component_name) - return {'FINISHED'} - diff --git a/tools/bevy_components/components/ui.py b/tools/bevy_components/components/ui.py deleted file mode 100644 index 9d8d9ca..0000000 --- a/tools/bevy_components/components/ui.py +++ /dev/null @@ -1,273 +0,0 @@ -import json -import bpy - -from ..registry.operators import COMPONENTS_OT_REFRESH_CUSTOM_PROPERTIES_CURRENT -from .metadata import do_object_custom_properties_have_missing_metadata, get_bevy_components -from .operators import AddComponentOperator, CopyComponentOperator, Fix_Component_Operator, RemoveComponentOperator, GenerateComponent_From_custom_property_Operator, PasteComponentOperator, Toggle_ComponentVisibility - -def draw_propertyGroup( propertyGroup, layout, nesting =[], rootName=None): - is_enum = getattr(propertyGroup, "with_enum") - is_list = getattr(propertyGroup, "with_list") - is_map = getattr(propertyGroup, "with_map") - # item in our components hierarchy can get the correct propertyGroup by STRINGS because of course, we cannot pass objects to operators...sigh - - # if it is an enum, the first field name is always the list of enum variants, the others are the variants - field_names = propertyGroup.field_names - #print("") - #print("drawing", propertyGroup, nesting, "component_name", rootName) - if is_enum: - subrow = layout.row() - display_name = field_names[0] if propertyGroup.tupple_or_struct == "struct" else "" - subrow.prop(propertyGroup, field_names[0], text=display_name) - subrow.separator() - selection = getattr(propertyGroup, "selection") - - for fname in field_names[1:]: - if fname == "variant_" + selection: - subrow = layout.row() - display_name = fname if propertyGroup.tupple_or_struct == "struct" else "" - - nestedPropertyGroup = getattr(propertyGroup, fname) - nested = getattr(nestedPropertyGroup, "nested", False) - #print("nestedPropertyGroup", nestedPropertyGroup, fname, nested) - if nested: - draw_propertyGroup(nestedPropertyGroup, subrow.column(), nesting + [fname], rootName ) - # if an enum variant is not a propertyGroup - break - elif is_list: - item_list = getattr(propertyGroup, "list") - list_index = getattr(propertyGroup, "list_index") - box = layout.box() - split = box.split(factor=0.9) - list_column, buttons_column = (split.column(),split.column()) - - list_column = list_column.box() - for index, item in enumerate(item_list): - row = list_column.row() - draw_propertyGroup(item, row, nesting, rootName) - icon = 'CHECKBOX_HLT' if list_index == index else 'CHECKBOX_DEHLT' - op = row.operator('generic_list.select_item', icon=icon, text="") - op.component_name = rootName - op.property_group_path = json.dumps(nesting) - op.selection_index = index - - #various control buttons - buttons_column.separator() - row = buttons_column.row() - op = row.operator('generic_list.list_action', icon='ADD', text="") - op.action = 'ADD' - op.component_name = rootName - op.property_group_path = json.dumps(nesting) - - row = buttons_column.row() - op = row.operator('generic_list.list_action', icon='REMOVE', text="") - op.action = 'REMOVE' - op.component_name = rootName - op.property_group_path = json.dumps(nesting) - - buttons_column.separator() - row = buttons_column.row() - op = row.operator('generic_list.list_action', icon='TRIA_UP', text="") - op.action = 'UP' - op.component_name = rootName - op.property_group_path = json.dumps(nesting) - - row = buttons_column.row() - op = row.operator('generic_list.list_action', icon='TRIA_DOWN', text="") - op.action = 'DOWN' - op.component_name = rootName - op.property_group_path = json.dumps(nesting) - - elif is_map: - root = layout.row().column() - if hasattr(propertyGroup, "list"): # TODO: improve handling of non drawable UI - keys_list = getattr(propertyGroup, "list") - values_list = getattr(propertyGroup, "values_list") - box = root.box() - row = box.row() - row.label(text="Add entry:") - keys_setter = getattr(propertyGroup, "keys_setter") - draw_propertyGroup(keys_setter, row, nesting, rootName) - - values_setter = getattr(propertyGroup, "values_setter") - draw_propertyGroup(values_setter, row, nesting, rootName) - - op = row.operator('generic_map.map_action', icon='ADD', text="") - op.action = 'ADD' - op.component_name = rootName - op.property_group_path = json.dumps(nesting) - - box = root.box() - split = box.split(factor=0.9) - list_column, buttons_column = (split.column(),split.column()) - list_column = list_column.box() - - for index, item in enumerate(keys_list): - row = list_column.row() - draw_propertyGroup(item, row, nesting, rootName) - - value = values_list[index] - draw_propertyGroup(value, row, nesting, rootName) - - op = row.operator('generic_map.map_action', icon='REMOVE', text="") - op.action = 'REMOVE' - op.component_name = rootName - op.property_group_path = json.dumps(nesting) - op.target_index = index - - - #various control buttons - buttons_column.separator() - row = buttons_column.row() - - - else: - for fname in field_names: - #subrow = layout.row() - nestedPropertyGroup = getattr(propertyGroup, fname) - nested = getattr(nestedPropertyGroup, "nested", False) - display_name = fname if propertyGroup.tupple_or_struct == "struct" else "" - - if nested: - layout.separator() - layout.separator() - - layout.label(text=display_name) # this is the name of the field/sub field - layout.separator() - subrow = layout.row() - draw_propertyGroup(nestedPropertyGroup, subrow, nesting + [fname], rootName ) - else: - subrow = layout.row() - subrow.prop(propertyGroup, fname, text=display_name) - subrow.separator() - - -class BEVY_COMPONENTS_PT_ComponentsPanel(bpy.types.Panel): - bl_idname = "BEVY_COMPONENTS_PT_ComponentsPanel" - bl_label = "Components" - bl_space_type = 'VIEW_3D' - bl_region_type = 'UI' - bl_category = "Bevy Components" - bl_context = "objectmode" - bl_parent_id = "BEVY_COMPONENTS_PT_MainPanel" - - @classmethod - def poll(cls, context): - return (context.object is not None) - - def draw(self, context): - object = context.object - layout = self.layout - - # we get & load our component registry - registry = bpy.context.window_manager.components_registry - available_components = bpy.context.window_manager.components_list - registry_has_type_infos = registry.has_type_infos() - - if object is not None: - row = layout.row(align=True) - row.prop(available_components, "list", text="Component") - row.prop(available_components, "filter",text="Filter") - - # add components - row = layout.row(align=True) - op = row.operator(AddComponentOperator.bl_idname, text="Add", icon="ADD") - op.component_type = available_components.list - row.enabled = available_components.list != '' - - layout.separator() - - # paste components - row = layout.row(align=True) - row.operator(PasteComponentOperator.bl_idname, text="Paste component ("+bpy.context.window_manager.copied_source_component_name+")", icon="PASTEDOWN") - row.enabled = registry_has_type_infos and context.window_manager.copied_source_object != '' - - layout.separator() - - # upgrate custom props to components - upgradeable_customProperties = registry.has_type_infos() and do_object_custom_properties_have_missing_metadata(context.object) - if upgradeable_customProperties: - row = layout.row(align=True) - op = row.operator(GenerateComponent_From_custom_property_Operator.bl_idname, text="generate components from custom properties" , icon="LOOP_FORWARDS") - layout.separator() - - - components_in_object = object.components_meta.components - #print("components_names", dict(components_bla).keys()) - - for component_name in sorted(get_bevy_components(object)) : # sorted by component name, practical - #print("component_name", component_name) - if component_name == "components_meta": - continue - # anything withouth metadata gets skipped, we only want to see real components, not all custom props - component_meta = next(filter(lambda component: component["long_name"] == component_name, components_in_object), None) - if component_meta == None: - continue - - component_invalid = getattr(component_meta, "invalid") - invalid_details = getattr(component_meta, "invalid_details") - component_visible = getattr(component_meta, "visible") - single_field = False - - # our whole row - box = layout.box() - row = box.row(align=True) - # "header" - row.alert = component_invalid - row.prop(component_meta, "enabled", text="") - row.label(text=component_name) - - # we fetch the matching ui property group - root_propertyGroup_name = registry.get_propertyGroupName_from_longName(component_name) - """print("root_propertyGroup_name", root_propertyGroup_name)""" - print("component_meta", component_meta, component_invalid) - - if root_propertyGroup_name: - propertyGroup = getattr(component_meta, root_propertyGroup_name, None) - """print("propertyGroup", propertyGroup)""" - if propertyGroup: - # if the component has only 0 or 1 field names, display inline, otherwise change layout - single_field = len(propertyGroup.field_names) < 2 - prop_group_location = box.row(align=True).column() - """if single_field: - prop_group_location = row.column(align=True)#.split(factor=0.9)#layout.row(align=False)""" - - if component_visible: - if component_invalid: - error_message = invalid_details if component_invalid else "Missing component UI data, please reload registry !" - prop_group_location.label(text=error_message) - draw_propertyGroup(propertyGroup, prop_group_location, [root_propertyGroup_name], component_name) - else : - row.label(text="details hidden, click on toggle to display") - else: - error_message = invalid_details if component_invalid else "Missing component UI data, please reload registry !" - row.label(text=error_message) - - # "footer" with additional controls - if component_invalid: - if root_propertyGroup_name: - propertyGroup = getattr(component_meta, root_propertyGroup_name, None) - if propertyGroup: - unit_struct = len(propertyGroup.field_names) == 0 - if unit_struct: - op = row.operator(Fix_Component_Operator.bl_idname, text="", icon="SHADERFX") - op.component_name = component_name - row.separator() - - op = row.operator(RemoveComponentOperator.bl_idname, text="", icon="X") - op.component_name = component_name - row.separator() - - op = row.operator(CopyComponentOperator.bl_idname, text="", icon="COPYDOWN") - op.source_component_name = component_name - op.source_object_name = object.name - row.separator() - - #if not single_field: - toggle_icon = "TRIA_DOWN" if component_visible else "TRIA_RIGHT" - op = row.operator(Toggle_ComponentVisibility.bl_idname, text="", icon=toggle_icon) - op.component_name = component_name - #row.separator() - - else: - layout.label(text ="Select an object to edit its components") diff --git a/tools/bevy_components/docs/add_component.png b/tools/bevy_components/docs/add_component.png deleted file mode 100644 index 3e0e3af3bd54152bd4cebc7cfdc6623056fc094d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19691 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 AoB#j- diff --git a/tools/bevy_components/docs/blender_addon_install2.png b/tools/bevy_components/docs/blender_addon_install2.png deleted file mode 100644 index e3c2a42a34e7c7e3fb37cf7a26c5d2f56ef67a3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5135 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 JYE|pV{{b^qX0{{R3caD1E0002hP)t-sHa0d? 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 diff --git a/tools/bevy_components/docs/component_rename_overview2.png b/tools/bevy_components/docs/component_rename_overview2.png deleted file mode 100644 index bc994b4ab3552635bab6504d58272565e2121162..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18086 zcmYJa2Q*yW_dl#e%aD*@L?>E;8NCyPh#=AH7`=@Uz4sQ38ofj(7@dhaI?+oQz4z$7 z2CwINzQ6asX3bsq?6c3_`|R@B_ntKqru;nVA|h>VZAL~$Bof)t(Xok(%gf6v z#mnpA;eiGKI5;?ZdwV~D!A?$2A|fJl1O)Z<^{%e2JUl#IU0p6rOcfOsH<*}1Lqno` zd|&D5V`F0{CMLYSy~oDJbai#xiHXa}$;-;h{QUfiii+xp zw6rucGt14*ttKUXFCx;|*qEH0yo`s})YPP}udfLL1u!re8XD&3=R=s75`jPkE-o|~ znX$2P0x9X@;vyUl7vkqP;O0g?fA0I{O;%P`95r=wbMreMo)JRAU>26Csi|`;EME!= zI~JBAV&a2Gk90UVJeZg=C@G_8Y4a&4nx8$hdHov7&TjbeGCZ&6Bo0?KKYWymu`^B~@dv#( zDAdYgRdxlCJ|bW(Fnf_`wGDd5DwwG?0$|#e!LWOK;8;E@3680FZa<2{P2gQK2rmhz zXE1C9^pD^GnasUM0L}s*iPwBtC3fHpr4@?a?ATCK3xa?kOanqSZIZC9XY84RwVv54 zF#n)Hw?%+e@MaepQj}o*-^=D?CM|$p_Gajut zgfrKM?ut@}FFaqjzz>M1geE6q+HM7CA*|FU<=mw9uvY)D^dnu(C?Z`Z`rZHF?38fP zBJ8U&egrA&anJ(@QqtaY@6WN3K4wj)T^*$i{EXC4Vkd2~lLLM3J=!Mz?f<#EQ@EPS z7`J(D!`iie-Z&mT5Cu$9bCZ?vm33QAWX0#%xK}C2S8#FO?$3{f=CR3NxHU8=uhha5 zkT3~`rjhTo%wd$QI2vxTekDTzmchVy5q1%ihHB}s9h?+YgQ}Xm$q?0_&C?y?*B(J| zmtoxJW1!kUxf+3KbdYMT7qmO;Ld6dpOWOt zWVQ8aO&={OHxf>&Bl8r!S0DYvEg12%8VO?AQK95S+v+apfy=Y1L*r6~r<2e4CSByH z8#7lYNT8j4m2R(S0yh=TN}+Rgl*1NNiI>yC$s8-UR`mk*{m&nzqyt;+z#C%jV=Qg(M#FZm0F78ldNJd{M*ocz~9<+PoYrp=_TiYHR$*&m)^QeL8qt~O|MGa8fE8GECL2^aBH|I$(X9IQO(guH%z69T{$pI)zeK&u*3oo;(oGuRT8yPFJP1Y*KRH6{2fv935X>hc4=xk}gc zJaU~X|E~7VQAadS5s1g94K8EDtTveavFoQcQ)3S$AoisjTD~~rTR*U)MqRE#sZ&{= zJlYRl-|rCi3y0!MuXV|rr3%qx0q-Qz-w~oH9(x=`qE7CWDDhVh$?EJLH!Vnx&$zF= zsF^Dn4RONy$crz8$Ni$Gouh%-yfazj|D-K_eFoldPY;e zjkJv8F?6f*WMwl96>4b={(m3Fjjk7~>Se0Ezo1@8Q}ECYut()d9goB8ox`qd%zp$U z{oTIB=J&29;DAo344>~XJU5fr`nD79GKfDgR*{8vnO$Lwh&qYocoC2wM*e(4Q{rDYET zh+1|nnmz0}rOa6f7vX=g$9iVXC0`+Y&7fTEkvLM^H|qC5XuS@GSI&CgzEyW| zC=z`z%SB`LFZ~~83XSOutzyd-kwYR2^jx|q+bnB3eJCDiYK7A;NPk8YJ}P!W-B(My zI*5D0fvwg^d}=>kD&dqq@j+#>$!g`FZA*DnwsPCpdh+W|25ArszDf)tImdFV5_9@3 zqgo|1f7bskDUF{HjW%`7O=lXtz>@R_r#xAQ^*%p0z5NRNA~Og7JLx{^023L5n!ejE zg_hVFz8_L6@1CCU`z%;!VPfbbvh}v!z~PgcM?>K@?H3Qi;N9R5yxKtWN1-!QB`-9T zw7-qC_EZKLdHO$o(H=QpW$Cd}sZaSu-EQnvlyf{L}+SotBw5mwJ1*?>0IgDD7_VOq9U+a_en= zW@UArF2Bb7Y9waRA6blp&2oLtY#Tax@U!rWZzsHk2Ea(EpmMpk4IdJod8OYJF|g<# zjm#W~H6Mv-yI+X(X%?9UKz3U`FgZDwLzhNrqUGhA=jj!|+BbO;xo;GkW7rkN@l;ce zu`ufId^+;ndaHgO{}lzNLlI`G$E8orlKKMQO{kyY8qhk^i-EB&3*_U@VF=MB^T=mP zg%Sf?pO}n-hI8Me&-X+U;uB6QW~ns~j|)GFxRjzCZ7gd=#8#jK*u+H5>Lo_+KFse& ziR;`)K(FG?R_6A`$Mjq`hZY-SJ=`zv+Lwjh57!1)Mnkszjd>IOj zls{rnsW%gZV>(I|@=1M^x%SRfE_uQxQ7jA?g=1tqdq)P;u|6ayQ!Y=Yk)vn^wvvfz zb|zCEN56-*nVH#@-95Jf`#C-ecnv`^eCrQ-lG=9d=+eHaQuNgFU}^XIimC|JH9pG< zzIZZJIxH?)cXl0UOD78c&FkjxN6d)fPalMdACipWzJ$J1r*p~-&3fVveRLSn!?erq z6@-9l(9FAY8?k1+BD*)0mD0Et>YKFEpil$Lgb?U7B#!lX)!wm+fipO1q0km#S3A2m zXWR1(x)4YU$aP{mtyXQ*>1HBgcnqX?Y&WqfnVjX;0NmS@^t1mkGC;5hzuy)nZdE6G zOuF{q=b-}IgF$f*pVg4lm2aoU2TKdrbEVOaNinv$FHl@8l@@2xpF+P}u{L2aU<{^D z!KZm|*6uu^S?pSCTHzg{a?rVJx5Kr_ISAdu3X`0Dmrt2;UBg7Q%;$_bSM3Y)2zq>3 zOzP+%o3ZSt`E4=MHQD(^q4YDbKSVRS+XSzB5^0+dZqkif07l`ytB(A9fc>suXyJW} z&*&e@-|uF+0`v`c11#4e2m2JbFKcJ$~_USe?Q#jqA&~pU*wx&X(JNWa! zCh*V0Y#v~8sP`7;YlQ8hLeWT{>SP4)7V=xwn0)k$bjVS!3jVYbkRuP|<=(Z1v0@+E zO6$D@5jVcG&Db{PoGi!zd1dLIK}NnaXTc>Q@tG--`n(-YHQ-!+-3a!c{4n(m*TAn+<*UELb#?onmc;GaV(ngXu`u1Q ztZdA31LsJ9U!n)bXHuMJI_hFRF5qE#WJ0_g?7NOa071B~JqCde{svkU$XOd8P2E!V z`;klMPwLL%f7e#x;OtR?kh;Kgzd4HM>8xAH08*O2ClIF-fwmmf&36FHBclau-|8)Y z3SZJ{Pv(_Xw06iD=RE-sAvessn``Vlz*G2y8N}lCV-DG7z0!Ux-4Fy=XiZD7DXl*8 z6t?-n?;Ad!{4m~H z&>CapMKMJ`&R8=|jfqxkSD;CgLoC)02*u8WE~b9h$OIUEFJPtp3Jb++Kq^KUvbTQE zW$*~wLw~&94Rjn``r5a%t8G8Q%)DGaW-z3m&pB?ikLFXP*@e2NBtmN__#iC2F#d7Y znn1*>imwf;1F$`P3;`l7yq^SCRv#urc|9*z@mLJcv9gV4^b+$p)5SXa>)w-q#vhXn ztISf&@@-QqknB;B6wIsbQRrNuHkWl4!M1N=0Bw}6Dpf0dzD`*%%geUHgwth#6v77c zJ(p?Pbpj0cYHKNfq?ue5i=Yj}TpU#&(`is6>+Ga|`2$jMm?k053Q^{wAm2QI8wORn zEg9DtGJGs4_%5^&Fpc`H9>f0}81~s7CzNU@Ow%iavfuV~bZw|+c{-q?mb4WU-}_7d zMazfa`NVRZkr(VcEK8zBZ9z4sYe}_Ue<~~V*q`AY7ho}on_7V}?eAS7%100l=AYaJ z?zuzUyGtKR!?-vV9>EkAVYZnJFuzburr&YlmG$^GGbZp#wem}0<>xaP2O_^b4G{L-k{$$q z9RKb^+uCw70S(=URkN|Qaixqz0jXKO#)dD)jI9u%7;H^+fmMLipIb8Ed*+pTT4W^m zAeCd(vXXiz7iX{rZ1l0n=_3Qx*6a764~|MO%i@>TSFENz6hzV;9@)%oYo1q_j@ipI zrZ26FfGIx*9kFXiOU=~-&(`=+QNVWpRiWrhEqtIOL-WA5F5?03 zvFrR!mlYb)U<}W#<7LYZr5L~ zjgy361V8~I&PBSQ>Cy_@s^4lOO{-T_i+QA_;<4Br_Q3_$>kuYtiP#?9Zy!1xnS*Rh z6i?12zncWXsmTh~Qxo)lN_#wcEp(cF(S`AJbnk`4D%N^{m{@f1o|gND<|MLsq6oh@ zmOxON=YnzU=in{d%hlF5GU8|EzTXHo>r$mC68qnJwP~k2EbnO2jS8n+b?uka)cOoQ8n{DBUTmJ+>dBF-Z9wl!vQ$ z9?oO+64Hb9WX)1#7&wWF^#=rV{p~k`aC8pIIIbczMjL zA=fWfDPLIx`+vRKJ6$dB5VL8m{wuQATCzLUB@3#XXCEAdhHz(G<2stum*hR;GD)Es zrz#y`gggl+NBwWVRJ z$cbxL#OvfuT}ArNi7M5!qL{0!jS1vr!*P>h04Vaj0NrpQ+El=0oxAsB=-OH=x=)|) z=g-=}<5l5xM#p9iq2cxL)~;JkI{`6pJH+ny>+~<{F3SqYC&-cA#v|)Am(o4`LxK7^ zN1FH3G|+`ccT19kGq$MUx@d0S?=FHTL(VgOi#SnTj6hJgSF;fEn8+~-V03XzWPV=U zCOTMECm#8#+EN&p^rB`w={uazeyX~$$Bb%aiO_{>!g+U#c+y@wb|}G7IXGsAQJN}F zv95OnlqnJ&FpBjmwVTPwYVpa}-%pbr2SSX8qt#*j5P0z&Z&{f zQtI8$9beP;Qw~{cZEQycD*Od%1b!{N&1w_)5?8h$MPQBPTp}X6B!Xa(KAr*poS5+x z9HPY-&Sn0EH|VFicMehMJt>e&k(YpGsyiopZHPOQ+%xur65BQ-SqkRS#4lOUFM*iD zg!^BDO-_311zof|U4a*~dcsE%=Ae(S$i;3lmyO-*M_!vI+WEgAPltcV|NUZpyrJ## zWu4nE;h*k1l2dsvpIvxix`JdRDkWg}aa}whNV8;L9s>u#y7Y$gh7d8NX^%QC5S~1d z0@q<3qVU(YXciiQ?+nP!r#)P#?8W=mA=Ga_oCP^B968Esizks9M3lHezuaX~w;Vy9 z-L*Q(UtSC|{~4BFZ;v~l?r&9~1Rh5*6BaDB1ITwe9ZP%%(VPyIQ@*iqwyZPUYW5mK%q|bvO1DpIn1=yQ)Y+-ZzAyS|U zDe#-QEaY>}Q<-x%(6>GuJ;A~{HrhvT{!SB^LP8aLMREuY-c zmkn)s4h#pkfOQQM`4X+jQYyvQK%T_|O(=gNlRKK&{>48_rR(2cUb7X|y^mqFFoW_3 z5x2qSmv-1dOhX<`u!ca)$hC4Rb%>WdNOMagaA1OH;$piGao(&&)MlD}B1mnBb zc1JH<6vv|2y*D4dDxXO@EUv6c(Ax7ZPxXY)4}eRWU zqQ%Q8{|L%~RH4Yh^I}6Tw2R1|#?7$s;*tUp=ho`@;F>6|$diZxNDe6JzfkuZd z@yJWI@|gk;G}IxRVeIWcrW|Oz#eW-mTx?UKHR${ZI9z+awELkHdszjFEZ^1WkZ}`2 zY!ue!Po$i%mFr$xd!nfoL#=>6^>*=J4kI6KBaiJ~m#02h+0)Pjo6d*isr9Z(FWdn85Z&Lj%Trq!ty!V~ zDF?3X<&+BFnqVTsb56#0u|l9{%@QA8gPyJR>Lh3>ZC;sx!U0{uB|31eK@AAULw>E4 zbRj|rTo#wxfA^!M&VI6_8&m)rBC?7-e9Z;{Q8Hi!0no-@t4f?F4}tqLcvLJ5l3ld{ zefU|b#aa|`G;+sXx?)lhurW`D?Hyx*6#v2r;XD8O^wWKB=Fh1juk*hr zYcactc=^Xq`Ud)BKiMyh-NsquHNmJhG}2l=ve%8M2Hz-Vm#tfzmyaCfC&9ZM7KbF= z?;C#s#x603NTaGsfX2F9n)drc*aVr=ncqS6N*$iDIQ#$e7*>#?d#}p!tAu-z0rb;HlM1_xP(X7h-n@?XG)r|njyTq>OI&CmS=L-Xgs*)Me{k-do{Y?M3MV|L5gq(xtpf6R zhnJC_uD>4kkYzbqk*qf!%{|j+QNB*;wzB8trwp!Mm1-q-PrQ>jWrLv?E5++$(4Ryo zuSl(%R~E{IuoBJciB=p6oOwbAPrCCToCl}XvMzq`0(g&<4@aNu@K$SRO;lQRAL6GG z6uIbVWc>+EI-(r9Yw(BA)oYZ_clr-eJ!{dOqq?O|pnsW)DSeis05RfRZPJd`tWx(S z@(IYcHC^EL$liD6_+x9Ak$kzAwZADB`-AAi){&CEC3C!oiZ*vg`wR!0TP?aSiS;E< zw-D}M=1f}Ab*DaEC@)(58eF8i+FmXN-csb>%xEh{s#GSv{-|AA`vgRMRq1=IZ1-mS zlitFsl^h856HyWJ^&AVgrG?SAj&95J4`s?xp4!u-rKF&emRf3NaSnzHH+v16vntS@ z_@Lbw_-v#3W&k3d{Mk5&t7fAc@>2a_XI=A;j=gfXR>3T$bi>ZlWp6`Q)%!3>i5X0u zi|1l@9Bt`6$mJ@ZaRAY0;Q6LJQk-g${-qUZTQc&HhSr51HdIYON#+_u2xT{HvO_i_ z{P)P$TdTjkpAuc#6T~g7gyT^XTo2$vbXbg9YkztY03V)e;fTHq^=#A}a;C?BJ97Mb z#c*BYMg)pXfDw~Q!`wbUuG0l%@TKzcIJHj<0~)RG-*Me6`fV{zeca`v%&AbJ*fW8)6fBptImDNuerN6&^3 zAsDtUy;o?QW+uSBt)w}-3Agp0Rz6d80IYO>=mI&5){CHX8pl__Jr(XRO39B2?{JJZFRxuh z+^S0Gx>lSYQyVs_H+1h=mAqI6{rtGBy=qgZR4Tw5T-p;C7ZJVBtEKrTI$K zQ2a*a74Q>CRE3vDRFG1ui0ZQxKZLz?zX!blc*uBnn;8y2Cl##d=!zI%~p(QXCDwvwWu%eMB z%!s;LOW#g{q%D zICP9HJa?m;9Ub*cP?3}kKs^eU4&Z4>8)&w8Wbcl~ZyWN=NbkjEit`5NYyJw3suZQ3=U&%|elczf;>P+; zd3$+&pg$TxycA$HPMP3PEG`*r5SRPgG3muPHEEKm&5>9*(I}E!9iII36RX&a;M;xyYoQVVP^3 z1YDE-Ye?IzA!5Bfc(R`=>Gd!zU_8qO4uTghepUviCWE&U{r-knkBfLV=ryoR4j%uJ zeXwILnaLV3Y1NOWV$qNcc!J17J0AB zgc!?PmUbwg$;1NK-y3^F`TLFU$X5-{_iOoW=%cXR6!GugeS5odEXkqDL6)Y9tH)lF z&xPC*C@raGS0tTb?ckOYRs2@03EhIgb>vZwgcQMuC#oxwHP#GqK_Qh!D)bnl)3JJL%gDrTO~TVk7;*`Z6M&0 zUT#O<_`4ox=w?L~;h)j5^oO#?BIhgd`0O*fpmu=QgHXhCM!6`lM`MbAg8!6J()I6i+Q;J~KWaN~ zze-P%)>1lW?5DS1A068$u8jBJkcgfE*rn^bRsxZDhN)60u33#$6Zfoh>0;;hVn@QQ z;L)BoS4Jv06-yXn2mm*Q%yT-o@i; zDgEhc!tA|e%3w!LS(#7ECx^Ri0`PaW8Le>7+U>MB4`fx1-s_+1ZcfY@h5W8p3P*I^ zj+Sk{{qe0OuE$ZRF{Et90X&lw*Y6@xf6iA2`vC4P-^VrBJc;@ZfaQ@jV5*Hit`&at zGbk@*3^1mTyvy`Mu@k@btzmWdlqBWvP{x z6sG;_@L!RXxkI#%=p^@K39=T5unKYr@IMpC^A-Zl8)3+_lRBZ22^`f;Y^rY5n#tCw zC3w3QwT{e+IBAqkLN7)zFkavbybFyQ4-{`j-Z4 z^?j=SKVf@$w7ydsm-S$uNK5zE%I5h4UvpnMvM;IgaF0|SXJfxEVTpen_#8!yjM<@h z$Qz~e9KkOOnP=lrVpv|R$E)?%seY~W_Y-+gii2X|7$Ru){tsc*Bt6HocT^uHzpI|F zQg)#!R9U50a8EiSD{WeOl#!M@WQH`3p;8)9b4{~}KznOmkE4reS zb6HM>&5P`#hTNgzLIm6G#V=2PIQZe{{F>r-LYsm`a>$K+vZpn$Q!!gfhXlOoLQ~2p zk6ztp*e*yAcWI2>xQ|+apVpXb5m`pPAV@Gfgzur|Mrv%A zx)QCez=X|U0)2k++p?L*K&5H~E@SWa(*NpPNiR{KA1yn!SB$A}bT!)a#Tq<-Y#q_4 zo_Nqbc{0sVd3Fa_HPHYo4jWuZ_Q6l~+j>ip7tAl{c7v5rp;I`w#M-Z20})ia!G!1S zBY)4JBkMC9^bXe~o(zHi0EHd8PlWJsev;Io_Tj%izCFa+pnWH+%^d^_`lc@k}YA0vc#8(z(q zG(oua06JU6f9%md^YBaOd}2ZNH#;~<6A}N>t?VA?fM~;1=#b4INQC4w>&TVe zCOw-U(z@`TmX;PO{f8)>*1^Q$mhE!R8BtrAwKRrVGhYvL-#%gSXPTJl`aZ8}y-Q%V zMof`K!@L)+n%YSpIB~gcGr`R~?^S|?>oA7q5%Ad1SpX9HrnDdYU(Pa;%m9|zq*nf&F z5lXME4tjJ;j*b4AJz5gNto6*=GxEF5=2%_g+V2_J@c-lWm;Hl7E%0k_6$=}Ej`7ab z8AHBgPaqX#d*3kLlaI_gKiHh#D$Yg}3~Pu|{+?WZs2nz~350sjUH-JI1OuRxGJb1P zxj!H2LG(XsJ>Sq_Mr<4;oY`VUT(4xMzGd4(%9I>sPSSsUD6O|zHgOPs{6&j(d_gZd z{C`}3JEOt=3xG;CwXH6_u^QFjb;_*&{t)3{vp)jSzfLmpQCyeJOipO+T?h2m?fiQ3 zO$~vhnc@FZb1V_r09)rGw&m5{5up0)pN%j_Ajq)?5oyLp-I}%2m)dB+ST*ibnW4t{ z?>9Fz*7N57bSWf|Z(?E5#;XGO^L!;0=fCu{-s{pxyeUHdzkW5jUVP*i+GzHmOut1^ zE3)gg)}9f#Cm|mtsWmuqX8R%yg6x7e_3_Z?%>bMn2IlCHq@Mqfs4cEwJC2^@MjtuPf#Pk{N1{~@`R0RCDV@-oogcOKy5K;$n;$NXFvQCvK9a$I zCmzE_G98LobERVq|L*CwM|4=@+o^pefdGq+Jr2 zU4X04f1{5qHSrtc#DMD~6T*Z7-;vCiJT5(Jhi~^53OyrE-P!(6VhcjREbhzyacPQq zQ$@4YoQp+7Md{k>Nm`a6B9+ww%TmwEW}NUVym1UGAM8^Z%3}Upa@&F> zCNFJJ>Vnohm*%o$_&Tvb=M0bCd5o___wOe3^!afErVixXTfY4^wIu2D??3qw^iUX7 zd&S-+2R?dfxGO?_t^~ZXjezwi{Cu9g{QNz(fNC5Xf24k63y+0pjgWR`#FeSyA9m%% zy81>_d8eObvwQpJH>%QL;6>Ioe>X(J*^Od!F}irg*Kh=1>K;+zk1(%6Z1hkp$rar| zp4Gt^J?ddRxR)y1x`s=|oSYY%#l6W(a<8oY{SgHS1g_8ccg&|UXg@j}lpplJE894L z@DMY(3oxZpd60Z-5aRT?ptkoJ-H&0GEoxwl<25I&%&b zM8v!_(qRuzC}>jD;&&N#tw`hcoSl6X3Y8XCZUt`bRdMuIXSuF}#fQrNF6+rp*}>k?D&o7nZYOCr`k3{eP{6zXrf|1!v)z983Y58zAawm5Py zJ<|lc%dx|XYPyUbNVGo?72tePH`>Il* zmURTqGy;%yY?0Uttrzw#Z$#g|A-(m;-nXb%eF#pi&i|iDDWm@{e+J{BesQ@Q*M*9w z_UJ62D~?CDo#s}t6xjSBG3_)riwF0DwUo}<eCo1hFlx`rz?&lEXXNs-C7Ft$;^xX-W~ zI3WCR=+fZgml9(aZ&7iio@gBB>rc35EMa^Sj0rr?zd|5_vCi{ME8>eOX48){-;oDR zwQBITYIr)xRiO?&aM;_%L!?#U(_o~>C_$a8Kv_HirR$Eg7$B&a{IkB$tP1$G8H;v} zHR+i&b(MF0uyQ?Us>W8?yruGUz^9i0>Ca2WFP4f2_hswJ3wD2SA+zX7`FnlpsXm;o z@DZQC(E5CBApsno(iXD36^tj+;}dx+6!3nBMEKj`j7sRjBk-PmXF(-Lzb5-3T?jC6 z>fL|hgbnOKrC(K(b?M0-q`B9pKYM64IQ`P4v3B2Cewal>vBtwKnw8PTw=8d^ih%*X z?W6Ch+u=OZwZFL2&Z+v};bi`#=ydUK)fk)7$OW7+9yH|BN)r^2YY+bAydk5_l?HR1 zUJc6LeEvm(nqnC{IX~HZ3><#d?xRAvE&I51Olof_SS% z^m4J?(PKH`(%JRZ;(H_5@EA9u5Nkc zb442NUSeZ`#rHuB-OW4mQ^tXA+(o`7j)KGr1Ect@ z;9$E6iI-k!#4zKhu`~?FT#8-qX+a76m2E=eF9!SQezJAG!+!?0L-RSK*(&b}gW7f^ znQ{_oIGwguh^gveA$73p3+e2K!`=sw2t^e5f=PWq1Q33b2YuKc*=0DmWi!94U|NH% z(87PAzZ79E4JM7&L@A52A4_Hd;SaTCnFSmHY~h?@d0_t23=rM9#^CW=4z2CtlqrDo zfq@@_B`5b^*$sM|- zYu!+TVfSb1HzOBKZBt62$YRH_12WM_ZQYl&|Ew0r)hgu{+IDp)!$7~gR2#C+$PLoo z5nBJyd^;VLkMw>D`3L+05gQ4+eL8U-SnBLbAwKq;vL)!f!QURuo(oZVNE_h4O#X;O z6SjD^vOp3%^!84|QBs?3xHdvvkP5o0B%1i}N1Qf|2jp|r8YIc)9R>mgo4-cQV5xg9 zYg)^u*FG~Yg>ts^==&@jzO=F#!O$Xt@Xzb>fBhPpg0eH1l$cy7BTz2gZ&;P@b$)JK zs#;2O9u;y0V=B!ivU_M-WAhqu$X3TP@Wi8?E-9qfOKSTqc7};LG2a7Qncuor*#B7Q z*?ymBjrI?3tiAJCXPY=G~Zcy4R=9 zb)yTD8aIFQC0zevKp^|bR@+GpPXk_l;5>}5Vx$NY{dj3l87=1>e_#MP{C9R|wE>np zX;vGLX}?_Ygnz%JQo;YP(4s-e7N^Es_B6z|~H!dtdae zfqy0qE^p;|?o{~1*fh^<|6U*gBmI3S6;Kcq3W@?`nj~z*jnz@K#=b}odQFu7>BEMP zAn>!>>dI3Hlcx;hrXa{;wLNty4es=;YQ0@n%r4}sqmhwtHj^}MhfXya52LS@0wL_d zbuHCLp)5~M7=7V@W%+0A1EPy4L!V(Lm3{oQi_YL8TW%huZCaAadZodPFhKXvuVBg2 ztD^D!r*AgDI>vHw_=Kf98GtgDzqkOQwq2lro6}Ga6+_gEAD86V*A=VqRWt0cR zBO4Z?W-=H#FQ9C4FHFQthNQt4!@=>G-KyQ@EW#->^M|}HLO}A?=rt^gr-F?gH`gkM ze;$EM3H7=@VSYRj1npY|VJa1noGjVeb02?T81Rz$K%gpf5Tt3v2o6Yn{OR-X8_D0K!gB7eu7cbDSQf|JP5N>S6M0B+ zaVxSCS{OE9Uh0{aioC^u0J|?%+5^PdLtx_&zE>TlBZ_$gMeU)M5$fRkmmtNWr?(I! zexz*o+x3K>J$yL0>xu3&pPdVr-f#gZK)XnpZDV9RoOUdM!hD_9JH8kccW`zkO9_&b z%WxHK;4KQFtGL|-f`kg9UDDv%l7&~~Kq`bLqGBrrphLzJ9@E|9)MVeYms)CErL(h8 zU@pwLwAFqIg~Tvpm!Rt;CCRa1sv*n9!5A9dQQJv5N%us+g7Mirwd|i;ga2oenMsCw zorL-)M`dy@h*(a=;TmI9xk^;5Eaz7aU$J zQRRD?ZFvj$6TO|L8z<0{M2+uom%Ev}ddpf2pESt- zBy+J*okVmDW(V9?a2VEc-3O}X{>FE_PW#q6i#dFMBpeg}GOv0^8v}Xi4~`NMqT(BYm;#RstXn$HS*Z6zeiVwjQ41{RlYW z-udQkQ?jNk6b|^^3(?k=HwylYbLI93xcQqFGWBUPf1TMeb}FXP2Fg#4%z!~aygbI_OU+@JMQvrS&v6RV2Qh%*>&#_O%30ZM}`y`F04#3 zP86>}K_6xY%YN^PFiJ6&y5tijG@Pl<2fM`Si~am+`IM0n_V>@nQth6i*WyA~v>RN$ zOX5t+{d=Z=?c|d7Gn(YD7V&u9U4gR~Nyk^xNRULq(QgtrW+zNP5XJ~jEBnR#&1%v? zz;PD9FK8isY0ud2+sCkulJ5IuTV@$2q2?bP)@*VD&c_XVF8+}p z@=aDI`EzIs%K43_Wyda|ulGtLe1u11dqs#$bLwy!>{2Uth=2HgF4vhOpMhDfH;tSH z@7%N59oTivE?NBObBVRq(w^f%ke9nP7t)-&z{H>Hv)THCBFwd32AzFH1T?yQ7Yu>) zYtGs<1-L;D8AS>RKF`WJcD}D+^Yiac#*P+)NL=eB*H2g%+^o`_F!9 zz)W=CGcyxsF(_SD%HR`Zk-s3umCl)drWj%WC4&2U;(lJV?0Kc4An7FXV!m$k`mm{f zUqbA{?w9h!s)M_`{>keZvPq>nVuMx9qS~_`Kkbf5YYg%Zf5SSu)bw68YbTumzvT4G zekgR30Hrw>7PtDumit@m^{dyg;v^VP7sCLPd?YP6f;w^pabewL!|u0M#o_f_cFZ2z zjsdSe5$EmcFq&v8gAF7^Y@Cq5x!$v*+-OAv|q2go}5!kwP&EN zfnm2nIv%f~q1M}+)l6Baf$j!|V|*rC+Ejy)TEKIrgaq+1@Ly#W|1>MgvyeL^^ZVm> zYb#41rdFi8)`qS|Mp?3>U)L)ahX-de+b~(c&FtMG+RasrUZu<0zNIeSPu}r!q<{R8 zsFGbvb91qkiVQw7$o!0A4 z9C)#>5SE;L2mM4VW(wir<_0|sUI6n=KX^cWF(*WhAaE@YLU)F{^p_0)n z%EV)5&f#=_N+JJ>*bxBwppr@VrXTMmZO1}@%CSXgMqO2`8gaxo(ujH-U~io%fbs0t zyh6a1wdmBNgdOb4P>B|OLoN^n@T>ju$IMUi-P(p! zs0e!^pho~@cb855(h%sD79v9Y_w}d8b@fF%4bFDou$MIrY538#=e{3GBG&v)?(I~1 z;wm*CUq1n=hS(pmf>J;3hr{D3));G_)YbC_eLw+T;z<=EYnw+7vYLtE!Hp|9Q>}*T zlvnd!Qq6w@?2q(7hVBx-+roG+`NkvC!$j*pii>(aZH233o3yz5B(h?x0dlKwt&$x= z6!{7b1tW#^rTpm9h&y`CI|3B^03~->nL=fqwc>(sgX~}R($KtjAaWi$YvTYhED;tU zDPcet2zY93L;-ABmbPxYend&f#HT|cY?^MSxcN*27UTOW>u8Sp;Xi?lKWk3S5<|Yf zwoq28k$JiK>yVR5h&2b1ecmTDHbUdL46;{49IQ)c#^cF-B=7g{d5T)8>Dlx=PIz^A zKt*7$NthRz>*ycXmE={izYx<_SC;|5?u+*(=c@d2 zM4nOvwtW7xs=)Tk_(v*X$~eJl{l7ti&eWSl8E+4x>SLNYq)LAZ8l18M=0@tqUAa0Q1x{W4#O%gWB?#Oi9H!+9V75JVFMGQXiswM6}Bmq z2U!|&d$O3Bn?DP6o!K~iL|I>RL5>A*lxknl9R7_DFu3HNZ!?WO*PKe5;O20B^%%F? zm=1XR**#}WWYzN7Y^le3%A}1|&YaMz>w>H>=+BdPHwQaxs(LY$tF0Hg-wX&l8*!(= z?ZL&xt)a9)V6~IT9*PMWFpP6re<)&ZH6hUN*d9DL)@nr*%hiq(pxt0{&0W0161xQ( zIgwV0P(Y&2y2SK`&ZAMj3@yFp5gC)2KcD{q8RQj+etYJCaAw45j~>9`tmme{bI9fw zvV8oy^yLma#>d5WmZFz}8Kjfi!nq(OU#D$U`E>%|vMNfkT3!1o0Wge#CxqCX8(6OL zXZmw;SAEu`KnT9(VTHSCOhv+B@Y*A7XXtMV{5KO^uM(!W{=Wdm1UdV)rVm5FMPRU7 zEVla?N0NN;y62pG{X%v&>+(fv^ifun2jfg2T^yZ@LM1`pr#*}dcsg5kRa{3_(RiL| zsUUZ;sUrs)PnVnK(Md}&awheH`>FsJCNgoGM%a)RLEJGBgrt|oKhR7g5`ztnfh25m zjfDeD8UxC&OyGy0yI)7`<$_{y{QV12ChveIyM+?ZXSCwRNMeSU#bGm;E<(TGZI<%c zT*hEUV;cctN3+fzVo7vHgzOg z6Hn9npaL+&J6XOrJb(KzoCASjN)p%Si=*yb1ha-hLwmS;JV~YCIrCu5 z?duEAZS@xEt2**+*`#%3X5(pE?!=kRQPo*(ymA<)!Oggc&*zeaIDIZj+WWbrK+G-| zH`&*_sw;^gzA~|E(?_(Wt0(-x-f*rOZpnoe^^bOzEH0jd-8X0&v&)4f-hc~QO>WI@ zHTttZRHfzNTyRP%+QPFSrh^R*+K<`cLSpAYe&&KH?!sJ9EZDh0#s$+Z7m}#4bLNZ- zrtj^YO^f0{5Qghex4CSX!OTTMK=9HuJtsYc_z!Z-g5X|q5+Otgp)qmHW&ih@s>G~e z@ne|7qV*uszV*?UdW{-l&V13>Lax6MUkK;Eczt=5>-EGJ!oU|Vukt@RfAd3pAvD)_ zUp%j8wIc{m$F=j_6$-)=a>W62 zAV{U`ZU=70Qs0-CZ8h%c_n9gvw+@$$i z>;ka3cUL3B$CVw{6jE45Msm1I!QiOQY3KuPdyXsXzNp=+h_9*+^mzj>IE&^a!%pFKS>!s24NEM1BBZVUtB?z zhq?BCkIj~RF+NUh>O_eG01~4~guBxlG=+FFA zZ*C!mUD{d+Zh^`dS48}EXH;M z!fl8zzKx5&_*8lg_aHwXJrv@Le{;|!h%cU(XZD34h%W>|d?5(p3qkl^F5Y+Y4@R;O U^|Jb47ytkO07*qoM6N<$f}lNZB>(^b diff --git a/tools/bevy_components/docs/component_rename_remove_bulk.png b/tools/bevy_components/docs/component_rename_remove_bulk.png deleted file mode 100644 index e4b91b27020a146c2a7a8f3b9579861daebef9ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2508 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 rBXge<^|vK|w)DNl8dZ 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 diff --git a/tools/bevy_components/docs/components_list2.png b/tools/bevy_components/docs/components_list2.png deleted file mode 100644 index 3d0a1dda0e11d994721ae2a199beb4b8ca45a8d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35796 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%0DK<(up1&V?!?QcHL?Rh)_f_VpZ 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 diff --git a/tools/bevy_components/docs/configuration.png b/tools/bevy_components/docs/configuration.png deleted file mode 100644 index 0e2ec8aaa0b59c316ef7943e244297e8058d5821..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25577 zcmV)$K#sqOP)YnVFe+d3k=v24`nyBqStVU0q~kWL8#IA|fJ_ zlaqgce_C2vuXszRr>CBtp2o(;P&YT@+$jHdg&(EF|6oG+( z&CSi65)!++yZ89}aBy&mJxGjWLP|U_p(;8tE-ZDG#@^b^aa22>A0L=JO78LXH$6t> z>-0-HJB|zt^z`&oK|_%}Nq!6r(agN3bV+nRM4Ac;Q9(3BI4{fB=~#cdx3Hh->FL+f z!)`!Df?YqNxY$s6wzhmtoNh;FKt+%+Jb#_aSwKQRH7x)D08Bzd+T-wuq|R=rCULO| zKtxP=KSp=F7_Y(JBU_t7T!ndAK6ktaYK_4uR*t!YR#<#EElB{&#kEONLwPVcUM(@0 zl7TrySC%9sVUI9roiB+C=f5k#`UxpvR?pBaNzB!glwW8Ft=NZ&8}l3{uAu4p>EL+s+o!daApggl}h{q4{5tuIX$gKJjF-Oa&L?BRf++aoM^I4HJX44TW@`-wgVshEEcwcej*#NEVzMBCz!6KB_dzn8 zFbl6+H|>Lq>(+&q1u1XX#o@)~NtbC7hXtFyhy(taSx6hT{?8X3yI((Dvv7LcJ0$8I zpRQS0xTKlsYB}WGiGudk6)kAWf-@kB!-B(1WK?kCvanf*ha}(W2WK@JQ;VT+DAZ%8I0{7MVC7R7 zctQJnwSK`08nW=5e$%5_IH3p-TfLq$Vga-~SVluZ;>D;wmjJ=S&0tV`I(S-i2H$d; z@QzoL`P^eDl;f~4>I#h_SU73~Iuhf8V4+>NGnvby427ZIW-PQR3PQ(i#=_X`3Kq(% z;h3?|uGwD?535&NibUIEiNAgt741Ij0yTWPX(IDvUiMvgyc8_x&4LA6vLMHWXEurDi>nNkU12QL4nwLj7W@zkt9iN13RVw~ zI0`RMNkP>mSGkOEz%qN*Y+(IJbz5*2!A{jbA;Z!g#|j{XWqTeP+ip-3%xK4J;s6?Vqr?S zV+Cu~3|HsbF>xu)N3xLP%L%cd5M6;;_(;;s7sTKolNk#*GMWTpcTh+cPMpEvCpArY z*y?1fRWvSm{&ebl;c>xk751;2x5tIijOUIlPP1)hWsW$CWZ`%N3kyGBVd@1eTwQS# zPCGVnsm({SK$LX`OgY&Vhy{v^^N6s3OnMfgBPy?2x&Z<}J&XUq*C8egC3@q}Kju{! z=&h+Nu(Yu}n@bj02lMV#%ZX(={bF<2hn)!?;jkbHqi&95MH%i_x64=*>Kr zBr?39P^a>R6x1{i8WzNIf-fjUS6~)6E!AAkL8ioW1m=NB>%fZrCuS9`%zOsE}H*Y73&jkuEJDs}B9dYw|7Eo6p7L>gvW=e+zEVC_2vrR}T!9vFwI2HRKizQi@`9p>R z?|jYDz_P>~v54G*#&bk)#4qrrA&DzrQ`Yor%HfJ{I4u^gyIxcB38GVJpfzP$xg&BI zu>c_6W5qOr2ZIR%`$1(Pdp)RR6=4>9&-2S7S=WY_)h%*IqVZ^)fCYYDY#C)5O@;zp zA+l4)YZQXLrkPJ+m@eGOkRliqJh3~KPUA-d?KK(Yjye|JSA<@gun<2`0PzM0&@*8q z$--O5j?cn)h{B84l>TBoUHCLth%oEN1s2oupD)hrbB02OpTc|4v*FSkyOWU{-h)1G zR8CLpWS7C1h09Rxs9`}fDx^6_06N4O1R!HfVK1y%czj)qV!`u$ugo=%Vu9rf!y(TV zBFyT(qZ}9X&!#Tvv#HDQv#IH1?z%(tY)TX~-*=R`qlN`JDj2c=seFZ_e+`CL9)k!HIJcFFym*|;=+!fS?2+<0Nc9);+ga;q$`Dobe>kh_TOd*lflnZG-h4R6b2Oq zaUuQRvf$=b7P8yB!oajs7J$E)uP~yCd7QVjA{R*w*rYe-P0dC28r%}9B{kvZF$>wp z`VtV&WWWL>;eh?azluqS0*2vWU+92|zKMg!$i!X6VlhXqD+-yR7*rulS>cft$lt{R zw+Z1UWue>wKN3O}QxTWaGHRZGdJ5eJ7GAy4>Xn%Z%Va(W!%6!oT=~vs9odg z0U)1P5YGfrb>JO6$-?fn4wXT7N8JeqBJCc=G6%u1b+dgENN_U%o4NjbESTJ}d92KN zFl-x-2&ocgUQ_yY{yQxE$t{DN8YB>CpCZYMR@93!6iw?!eGlnC0O(U1>hH5q+IzT1 z)=5+)eq6XCbpOs;g~A@WM*b5+;l8}27z-tOojUGpRO#V^2ag^+*elSc9%5giK+XoI zWsSetH`moBf+&t}+^8o*y1S(onl(Q0jRZMRAlt$~W-4NDY7L=b!d!SDJEK8jE1 zOy+v_zY|SU1i^zQyUp3#oZp`XBBJM#MSgLlitfN|z3Gx2NE};b+gvgDj zVd8)Zk5KxCJw;5!K@?igJc1BJphD&jBai62d9s+!A&bd$7S8NsHQ70aXFwLvB$Ku< zHut7L9?UlS)S~Y1$sS{lmpo`Q5^)$vI~ebeDFTcRIgLJwjK|NdVZAFOtwV8O{H~Hh z@LM37fK*uKp@Fp5KNboIL!5eyfNwuIrc>zM$jAI5hv zfs3D|Q0|>|Yo%v3^0HccK~EP2f+#4Q7%HHbINoU zZf4mfCRuiK&g(&2`i`zP!)%E|LprqP8W`Tt;0yxCfk8v{ZiR_UDOop%h~sj_g6h^l zODh2N8H(EVDFO^C376Dr5cqY7PPwF2{M#(lUA$m{fpl=J`3DN@CKZKC_af260prE8 z!vaRfM38t$a@l8>-Hi_j90Zr6Gu5%%yDGd2*rT#;mke?u+ZN>fBMSRuHEe&l;1J;+3M!ThS1wmBOj=&_DW0t!LT5A65fAJt;KA>pEXi0 zdV6byxWi>U*eiz`w)1l;wcjXw&06@pg0O0JP@<0^LyXd?pMzl7%f=9Y78rJ7eMLaN z&^b)2YP_{Kdbob0cdOibdEwdUVVORA{pey*-nqB_yqBkUUq51Zqn0W~di#}OLH?RRu5NQRY-Xz{m?H%dP;13P ztBdGFI7FHGfFW{-9_|{LEK1i#LBs$WiR?H6_xE0phZL5#GC!mgfS5W9<&}O_rsdJ< z?)_WiokwNW+a2%rs_bfU`r4ozUC76;9^86ew)fgv-@f5=Y!=ew!`=Pm;e@SWZ*_Hj zLv{NPdwM%yL8+X7uUSxT-QM`|#<*I%RE-{v ztL?SrNBi67b=cr79Ffv)!4pFc4A+d@ zkS0*%>e~!K!~_CHY*tDWBPbHsf=Wq07O{wdWc%1awv@{2exY1lrF3{TY280chp(&h z;$_7`=P*wn^d$>2bJ)1GRkaUWsTTi+lb-6Fk%e@7Fc@r0fVoT*B5Ty+W6+$1`NyESAu!ak9g2+{c70(E?dN@SKn!9N8Z)1y2n9QtuQ+p2 zk4iA=EeOsYMx`S3LIkC&uC1fP))ok;NF!s=<@oe?Jg!DP^;M?TX_+@v>T6t8rQDML z)ef@oo4F}A*mQUjb5jJSw@vEnEvN;li5SC!Zd`%}RQ|^igD{XipPi!s;d5HfBSg}e zf=!Gt2n&GUn%#^+@*D%ySPB8W01GlqRApK2_SC1^)!(K5)LT-}Hh+E2y51vPGw>vg zW!-M%sN*e*8eV+c6W5@6WuS|OhI2S|?I4s|=sBWOP5}ti6t_aQEn8GeDM8HI1vU*4 zW5EM4uI8DKKsm$LvYbihlmv~2vjW6abP{2SnV!khZ|HFAN2UjA9ID)p5JX$_4GEMQnn>olaZ$l_mL<5us|f(knePR08X%CTIU73*}k7m2~A&r2&`+OtT)@;reYIQt1R zS`9W}$i%!SuhAysip^uz#Oy@I;YXLe!>ZXJfnXH|(ha^oGDpz>H^JPw*~F|1m%eyE zgH)YukeOKct|3@i`SkIVbPlL6y^es$4^?JkFrehWoRml#=)!Dv7KrbD(-74C!ubbs zHfr~GEZ88(jSaros01^U$$vRX7_`jJLT~?|!7pg>`NGy-(w4K-zhS|1z~+#)&a&)vR^VTEBZ& z{gN~mUL6dj#I^prg)BT9XjMAf$GNow3GonfTYtr7Rq=p01z_4e; zPws#^5i0#dajMC6LBM$zpbZOLYsH1+IFy>eU7)CI3z0!jpCm;mq-;{kkQ7KyAH4(k zv*t4cim)yz1`puUbr+x|pX)++#V^@-Eak3aawtYTu4^N*;eqV%K#dC<5(58>?*NwC ztTk9WP=wK@!V_bGi<7V~AJzew3vGbrm?+W@z1Qpdj+tRe3D>w_MEuggH2xXi0km0Q zk6RI@n}qaoGT)%NZG^+HIVT5Pcq}m){zk`|F=agIk-%JdHd@n0NPFRM(uaN~cYv2n z$_AkS@Xu5NB7Wzdk+!2=n% zG=i;{I^x17xn2bAFSG;DY^e#tw1SYERM~zD82truDD)8*%%HR@L%qopAKKAf7YG~t zH^tv}f5CY`!&RGrCXO@h3;8NwWFrOkj=%*~cV)}kiY+af{rP;zdnXo3r?ViE&(F&7 z)%~KmkONtWyU=qXfbae*6;W-z#t%5za25c2T)3gj zna$zB^;80#ZNznDI(}ft=`E}Hzyg7Nh(2KA58a8i=m*pnHooD8}Yrc4h|C7g~GuMNX|q20ra}EE(j=e zf&pSyAU(A0LWlcjxC{60{m!1VuzQ+kv-o(n&Ur5E<2E8~nd-Zn>7|wNv?VV@w0AdS z$)K6uGR;&zzikB32hfM83%6Ytcz>Zv7{Yd4=(Oe|cLB>l9yQ+^$)CF-B(VO*RoSI+GEmWy<6#Ib)~n;Ep2z zP-@2!(_33xyIY?2T^KhI%QduB=MTKZF1(~wPH;FUZfs2!{Zx~|cAYux_ zj$C+Ziwo_!aF3vpO|p$jF^C(XN!Gc$P6@i#Unmquv#>=MlsXrdzZC2I@#-5k1~hh( z?XPv=drhg1BzbsHguP4wDuPc{fs2!9H7+b1#8(eeExHhz%}Tbouw2tfFc)}5M;o(~ z>;(F1UHHAO#DT3o4Sly)$k2d`Gl=sGn~N~!$+zl4C=^ae+y&ZU_|q`{2!a@-K@4uT>H=n^#)W0U1)-uNt@nuI z0!Uds(Q%`XTw*T#V&C+NPuQviIklJ7b6s#AFF}Ktp;4G0z1_MC$%)#yAhr=gMMqli zk+czNCKVYZae<5@FkYp3oduO_a?;$~SAj0|9cPj-9rCp3LjOtty`STPSkbZP4sl^7 zJUBCDcj0AC2T|xE@Or!?Vz@4J1NNOmOoGt%n6kMGLPbaFLUf`BRRjg$stflp-_;Er zzkTw=tFS$Z0n(YIy$3fgaGZAmed7=lL+r*nc7abYJY_D_S9E0c9utu@c`lrs8#HFg zB|t`$_H3qSB~1CV+Om4A_u#tFC0H3KSiuv5u(LVn<%b5R?K$Z0`7#9JNvZVg=7%4h zl}qKu^*CJ@x&Sf(cg|r2J=W>k6psq+uT8y;8wiEYDxf&ND8ss;$*0k}8`YlLByZNY`E18NJd8oofej2!ro>2S03M2HIX z;O?j7I6l8Hh*;RXq@4JGuQHval%BmqpnZnY$IWUoyK#ZzbpAp*ogSLsy9^iD(jyxl zFc+8)rC-H5%DB7WmSu4oFXGbo${1ui3Bg_9ls@KTO{Kboskvjy?zo^_vI})(^~xn~ z0_iXCB`PgI#Bk@D2ybp&$X&0JliC5`_QA_}Qaa-l~>a zfUUcr*aE{@=_|hHmTk8eT?pJVL1XTEX|5&^mp*uD!&eN^~d5@=H2F%w`X*?#H*pJ!s7 zNDVDSoZUQohL$D7UHI&0y9+u#WFqlC10NzuRbGfk=D^0%txO?o(mQe?GS?qAjP*(2 z(g2n_)^@!nR^O46>&1;kFM>A_P3k+&F0zxL%4>a6{FTeb)JMs?0dy@1XFVVy6 zJK{BKP4eJ;#{kZEtQ34Cmw>$xk803lHVyBA;7itu_aE2cPK!qo(C?4s9&&&*=jj(n`b>Iz2_yElD_*$X3X7y*SLRg}AU?Hr_nW6>UO;QbE z-|<@lZPa(J`lGE_NI^vyx=3g#5VF#6#NT!5ov3|3=k3fj;3eC04q_+ zGvWcM%uX>Fh_C5=3G4#B!(1>2+`*`$HGp}2N6`hbjllIBE#|^7c7Yar76WgVbm8|1TGH71&-)~ z*mqPT0o+C~7ormqE%?Y?Q0z+$?C~=l4BAwPM({=r;+@l`PTtuzYAB&!rX@iusIyBZ z-EghD8|%V5B zhmR>+M~n)syKr>)ii*&@tH>uN6&fwv`~|0>LD+ZAPLFk=>y)n!kB&|Q0nr0nb?EBE zq=rtgIqq=4S-fNs*n6#x3tqGKKR-HpP6GoUTME1FS!;n%-TZ|v;3r}Cl3hU0`4qPk zY%JLvg)|K+9b33AI1KBL2`*fC?(3_=ljBn_E7w$CbwRNg0%lpVDyZV~Tsc(WG~}Cp z6I}5A^z+FH9!~^*`uTWlZ0zu~uGiqNjyILcGS*dAp$jsw@A`6GU{Ck?$;shs@6Th5 zNS-x!xLbJ?#Lz6USeMySaT3k>^=T(mpimIMBox4L1 z@E_8M_8A_0Tu-NCH`M9{V;KEKngh-yHHqFPQ=m0SXG*$qVJHTn`g74O-v2kC0(_JuD=A&`^)F1mvJ2>t zPW(R?<`nd%%z@TmT{Ak{NNFuDC=CL`Lw=;#>pNQUCNA*jJcb~F0fz;|X-!I-)@pyj zP{-4E(gOj*^JeoeduR9BJQc_BG>!2jBqs?=ICe=(+qG-EwP-un$91?D*x1+}MR5<4 zF%`iJZ@f_SPEbK_L`4))ybwja5d0%OZ|%v;I@_AQIP-OFvN+*+>}S8<@0{~H-=p>H zv$B=LA?#vfgZ;^2;T1_6K7dDUoraChX>b)3AD>)C|3=b;DuO9km_A1^f5&8Ch=&F4 z@AwZa=rY&OjD_!i`kjUaoFrnV3zLl_pz%t@msdS3;7{IYViw@RHt@GtlGuH5y$AUN z{LNrEU)geGR8U1Vy{z(OCtrt^0cfgutWgm)KlWvU&Z@oZJUH-s0 zZG(#^__!w;yT5cQm@r?b~mNJqX-Nig~EdH^y4fPZu2_ z+X}NV`lYui0Hk90limE5T&)ys(c|Mnz13@7=2llwvw@6Zr7Scnt=7vgxABL5ya6q+ z-{BABil)o0N0bFyd)(J93sz2ODi(?pu>eF|*x26P-QJ+LQ~EoKz(B*oI2In`pKo+) z^f2q_8AJS+Ui&7-!jC*IByj-uv9P}-oxOgXTUn9ScSB<=Xc|zZ^`;IFa)+hM+->WT z#U6md0qk$;kg#Au%7UE}nu>+Nv~eMjo_Y!d^mYn=MD{B& z>#y2`h5diU0^rwa>V<&4%{~YHW@2uE`#YktMl%G!1{JYb2xKd}8YwzT||` zuO0Oe3yr>_^c(+zg)c-{h>a=x!QR0E3Yt|P*N*4DU$i1Q;;SFN?dMl%9KT7?T`g^P$&%48CeiRiK!*M z`|i6x{2(*^7DD0Y#KN^Wk1CskPMrmIaEF!BI^`FizW+sj3JDf|;ei3*1uBlhms+d= zQbdGoopK&5@PYfdG38t(Sit)B4|%8`zx?K#FMs`67aa?UrE8F_Q>M>Ca!k1-7Jd*c zj5*SLG}V;(#Lq`ER&-3cbQZu}j=y?h3L0c_VJ>muy)k1-Wg+4@BFTc-V9APvtgmVA z^}>4}yb&5xE}jKeJN^;^AXzQ41d*{YPZlT%Z+smZQ!aspuf&*A-~hzG!x%5_s*X7#h{gEUZ2Ai86zv zUw*)I&|)?r6bAHYoB+eMi2M7R1_hXd?W6y|95ioYV_j{r3vGd0WRDvqfwSQIRjPl% z!kRLJ@Y>Wba%47vA8{_2c8K;j2Mf<*dDj~$)ljL`fF3eCN|#Y7Q65kxW)Cjv0p)r5s*3yYQgvY zfs$0m4zm!g6?ui2uy0G^Ft&fes+Lc*Rc>se8a1&E+uWiT-U7Ga9yi^d7Yp0U-P$`2 zvk;wF3MUIjLJ|k?4?S)>r3-z9QD8l8*070SSUg-D8s4j_^OlZ+{iC(o|(9!u8aHfmzyZEm~b!kXSF3k&RV zqe_Q`w}<9kYv09K*w&TmrE=R=a)n3Ap-(`Q2hqm>vN>p`mGk;s6DW)qrGks%Ay`PJ2vtSM^$<>DV2DH3 z<2Fwg^i){j>rzv(U6xflifa?MWpq;gWeR52B%qsk#M95NPC6((UNd|x>Z zx^7vj=aG=$sMS)bRKc&R2iVxYv!Z>&x3c_K9z|g^g0wFNrIwfr4?tsmg>#IHs4bS&CPdgCb z@ymdFH;!N8H+P;huhEKyO>D4_Y~I+%zG+N!j1=@))iU2F%uxTe?AVvbCPC`~C%GLAY!n zMuO{MeERgrx-41@FVHQMp3a%YZEW!iaEDcpPO*)K-HAm~?YR9t|@tAV6zv4JR z*u(vf=Q`fu#qIm7`u^sVy3VZq^o4u+8JeMso_Oo5TKv zWdULq!hNqQPZ98{v{_+uP3w~BB1{9&!!5G-o3Ud`paQV+1;Y*;^*eI=KFwgBeipqf z+|$p{V{_2mb|E!?NA3+?w&6PALMJ(bT0L?WhB-p4LgRN@FSrUTVfen)o4FZB6BJ^hlsuNu{Jy%hZ&$$8f6-8|gG_vfT`-GE$jIyqUm24b{9=*i}wg;HO$u2Sj#!u=gV*oH@P zaR}HiUF8T9$i#2>W#V@!w5^u@bjAYHYMw(kqrYR=cZGGb9PQ^wOduo>6!@Ao5WDN> zPyfHqBsAs~7pSbxa{L`*TVoK0fiQq53G`(;Xk^bJe)@lXRw+SYe)Ynu<(E#&%kXyu zVP77N%{?O1CBpA4M}T2BJh;Q((Nm@Wom7uq=i~KR22c6YGW;Dm31YCQsvd8CbzBEI z4)ScV)mHqZG?I$U|CvzA_$SW{@R#E6C?_Nl8ZZeA2PDU~-e$h9^N?ogBmafH`cr7*+($H5Aj#IO(7yp03-b|o$)f;({!@Exb;)r7hz}Y_0C=(<2?-#J3v&~% z-k%x@UaUfn0AebE%}J66S&o>qWGWUH@`tg+7M@XSaruqQLJ0KyyV!@Foe#zIVU zs~wMS>gZqivaCHL#GcH;f*4!cvg$b=0y-Z}CIqBRX$pi`I6Uz8`r3>vyzq9Y6MD9| zAY^Nrj9kPg7!Zh<|7Nx0Je2Hr?3GU^WC6sZLehO<=*v<)j&Hl~*!YrULF5Kt^39Zv zL+(@(D5BurDC2>CSuvEblQ44k3+f=OdLRC$Z;;!Jz6x_;^Rk^p80Lp84gMCS`%BsR+@y z@S&o7cn1rbZ!5Je(Danz#xO2ChRWH2@NwgxGpPxXOGP(Ty5tSH$T6d57{}uRlDaqD zoo!9IXn3f4>>9h0v$tVZkDacM9fK;HRr^F(Bv$@z*1`c&XxlF8l(n)5f(^p82z?;G%8>mTBRIj z!8iPz{e#N!RmnOc$EU@RC1+SKkMei0Jw1ZSw z5EBe9Bx=W7-)|Vwz~3v@QFV*hJBC>>^w4iRA~At{9hEu=$A#-sfn*CzN5T|Vuuw21 zv(ZQOpuA@x_4cM?H_FvU2i@LW;>_UD=Wds<&^8LkQl`7a>he@rc;{_pYPmj^1j6n+ zs;VN|79W&$O&k}BrFB(xks01w8}D&bT@$|?&r}@8RVAc2$Wib=9=UT(l|DzFizJUE zASu&b;*&Tjun>w0Q!3KSf=uK|qy&kG#GGKmy(}tzQ4bG~-jQ1@ zmENfmc}^}W{h_R0nC2{zJX+E^C188#5c$NKr5g{ka9TRQIx>m8$f;!695mP5ecTq! zf`|*WbVQhjdg)54RIEztwz6d+6Mq4|R-xJ1dW6vGd4vBe7D81aqLa^s*V~p=DREVD z6a`b}yXdmDskw-+5I=pl@(WRf1@=_p9Mf(VxM*Q3B!Q!(9$H&Q;Da2O#kb>GFtj9 z*mT$Z@>v+kW!ebYFAx$`6@hsB>;D;rIly3%xSOmUXJO%mf93BOHDGW}bUTEh)g|){ zstO{t0?52RrIba7XCM`C@U@Wg(@2W`vbzpK4v7p`426zlx+bOru+lN}ePv4D1DI_~ zOTiob1?Atx1rQoZaH(6^q^5doIu3zB6;2!=V*x954`9*PBs7!1GnFI=&r5FqLk?;_R1xdGvOf`SJa0v7dlx|ap5jjeNGp}6V>j}wYp1;fUE1LlO% z_W(AmnS5V`zoV!YLP_GESlHW%u)w-lL}7?13DoqH_qb7K@JY`S(Tt-ueCc)Vp|C)$ zf??;eyxj@GkiG{n3A)jB%9;Hg2@7xK^Kae30{3>r{f@g1hJf@tVuwe6&tfd_&@U2& zsbZP@#3_@WF%*$a+u_FhK|k9%Z`D@c;c+5ytKi$tw!VEEWg%@3V4ePd6%@?u@3?jk z3x==fYgHD~W_&Vjx{*HI%2-feoQ=|Qkd9Bk7>Y*IbdnGiEur2P;W{``7TzA;} ziqtU&9FO+^9+avpZxcVExK;3lVMlEW)As-t>y)qMpVF8|&uspV_tgs>8UP;o^+&sR zvmk!ghyH#5s4Buz<1qnD;sM<1wJviHLnEtTde*T}`X0c-m!;XO-R$mepHJ?~GC2!c zVCQT7+HPL*DGSA3j0M2gMX0RA2cNvZpN0J`>Fo96+=I~2Dmb3<()R!saUpoVjJ+2? zd1e+uolS|_@!a=|mOAhogSuJW%Hw`VxF=X(iHaAHHoM*>FyUDu?R{YB+r@{GB)C;@ zq7qKu16Z)Y?Ror}S$IduPc6sCl6Xk4mJO%PeSDzkqBGdQL2WC7(}e$2~Ua3C50zRBG1eI-xV@ zvNH)2EX-riy<%uoOY(gcLO3@N1RR%4Kzg(VGMOiIBV!?g^^#W0wCy0f!z=sNeap^gj1uPsJ^ucNC^@fee>Vz6|?9eiw__Q>B z&APL27NUnvI*y5jJkOL1C8B-XCEKBNJ+x41=vloWr7Wmf@ipu6tSr3!&ZnPz@@aTm ztbgk2;;6=DVh{+A)0=G>B#BX|V9t``p~|EoC}Mkx50DWQU6q zIj^==Dh+H5#Oo?OV@M_xh&gJIv5@vT_qKs)pb+dcozBLB`NGKQ(^RHX;yi1|-7gKS z0cnWWwv9@urBag?Rp+M*Wn)UL^n2WR0%l!~Of$xX@17ayJ7p?Ka;SDhCYIYOSvN)r zt7wt9;L!>~hC?4%``#R(4GJ&^+eZ&&4th~NZZgyKIReBV;0%F{S?JsQ{1Nx!=vG61 zepDS>5u#okf(3da;ZdomVF>u4gbj~u#0S8Rx_6CVk2r1Sdad(^!a@o?ZnLt`pUK}* z`2;)qeY&>xDfaYRi?ZNqaTfNDBP@hhBalmUU7=eknT~YCJQSiWkG4Lx$E|+yC}=#8 zwW$U6xP|8(xu*1Y6mj8Ga{V+K7dQcRzj_@g%+!(kJBC>pjSawX&%JYf)WR@e;rRt! zr3c3#Qx*cYaZit%RV|-r52Ueap*?QG8~o_#l)Ps1cYKHVI@2%?UXM511DNfpoRCiiM6RRdClhU`1bol7T$k5 z!9r(OQDDGL9g{2oaYg_w6KNwnJHognsmL`^*sp1Vy)wp=XCKNQ%LVqhQGsb$5dMxr zZ}AQWF~1;KAO?>b$q{$5076sC!@%(RaLc{wN`oh^i3KKKr_`QoJdA2#DLroES(sgd zg!^jklRVM$8GjAjFq&6He98* zrzDkRL2_JA#X_xNT)4t4xQ@xT;7-KC1L|x0$D3+Ojmw z#xFJpz21EdUzWmxB{tR4$^m%p=uARY9-VQY<%l`P1V-Myh{%}IIxAN@Xc_yabU7)J48SmjWGu{g904M8O@Fg@cFm2`P#9Js zN5~%AaRz%tVh4n(V)QV z7dGwhIA@-K5FxgcY&j-^L&*ZuI_e!I3+;h#?TSA48~1n2@_@K$SA!*x@-SsObHGJ) zO}lU2yy<<@eIl#S8?AT5f(5_UJy5)r`a3qS+3i&TQ#zb|K5*Tp>w*~tIBNtfnp)ea zij&k-DZ$);r2tmcXdIt$8c;cWn0A)z7fd(B<=u4S|(G0oVq& zaEseoQy2&Vk_BnzQ|!N>zw1>>PrqEf;u69|2@y2v*w|JzKQ5(EfpV>__uS`FR!#GQp~c6ddGae(4{&GSL*NRF$cHS zQ2=9aN8PjFE6#%M)!}_du#mB6awr7yoVCqhNSw3AoP;{d9E$55+kRDl8ew4zo_)s#Gb@0xw`1omgeGT!KFKkHr-Y_zrBLAeQvwO@4W8V-dd$K$viy;6Ti4^~{ypezV)M-Rg*F-BPMWHv^m=8MdUgN20Vtm5&;F!*!=Q4$y~ zk9&7reL?4xy_2Vb!^Y|z^EGbmmHIn+5T5Nq%0lez2s^Gj@gVbdymo_cL5cl=e_4zy6FBEvxFJ5cn z2d5D4U_7}&&Yo%RVW&BvbP$4oR@WBw^wX)HOvU4->K*x^<=OfIm*%d|-!U$Ge55C# z;Q)Y0z=jC^{@8VFhj*eD--XM5Q)^*C<0)HxyPke&LV663-_OdjQ?v5W9I|klqn;c;nj4mIZ#^JqdNNV&(Uyw#WjO zhJME$LdPCP-Z2K=v11VW$4H`ppL?&;m7*ZmpbPh=l#M90PbnIY`SiGb?8QMJe8SJx zI)!yj4g$|k$XPuLTyk$}TP)yNzCa9ic(OOPZFd0Bzy)C3L%hvBD(YLy?HQh#2m6;FuU;7@w^2PxqWZj*DoD| zwAuhs7O;#7B?~K6zLrJhTABss=_e#k(k;aTYS@O;oM1$H6+$XKK**%Y5(1Yz&&R-w7;3-8{&yWXWNEamU`*@p^q zU!amh1o!BvdZ)HJmxca;a^%t*NRUw1M5lX$aBn}tOQ9(X;y|TrO@&Jq))*HCR40Hw zEaC4c5{4hCh1Z8^7L-AkQXp8ExWT}#1n1{0viP>5w8q$vfwWZaSv0Q+$~8-#nH2zoTG5D3LFCZdZ|U zLH+ub*A;`s=^10;-RT*q=a0@}B2Zuz@u-@VJWrP$BSQ6!`Q~*L9X^o${xl3D^9~6X zLMj#!Ci^4G!q>N#zBPX7c_kJFEDT?prg>q4CHx(WSQxUaWZ}^591c2y1?H+KxuZP5Hc1*MTsNAWH4${M6Bq(Kl<2;o-qq| zNA%*pO|VecBnt=Z@_vaqRj)mE&Q^X|%drr? z{j?v^8~T((@G78SP?0Yl?(PPHg-SD;d~tE{G8kP7oy5V2(Ks$(@C3tu2Cr9bC$lxQIIU~iJb6jYF{b7x4Se8w9(XZ0`akj z%E;6UXvm^aG^f0o)H=5|gdt-=0eB;a+-Y_qs6akOL?M;2hwb6Oyr5%5J)BHN&pnCM z84Brqft9(5`h}yxbm=|oY*biW0LRCnSbe9e;dDSKR-T1Pa~eh7Tgt*MW#O96B=7EC z&&G(GFx;F*` zj|B}nA1d(t;QkSy0IKkJz}sqXa-a zCFhu?mGtJ3wxGDIeO<9snz83ufMnzTj(HF;mUB#5>r&Q1uTA>AzA_Nhw&3qrlqu?b z=StMNlr{0|(l0;H*ROxZ`t=W3pauOMdA%d^b2MA*l~%p)wkq_NWnunM!AU4tSerio zq);4042fRjA1m{1v+^#m%oWMTCzh(It`e-*N@ zsK4WoUItxC0e=aXN3(T)&V~kGfv`0Ker`^gx$<&XKF3tGGA;hZdw7oiR{$MrQ@NqY&>cfpKEzianQoW!A(3UXF!gf5%k5(1kM= zgv+BCEXI9$+20xW!JHHUCzlv!Uy;j^Sr)FnAN+d+q|j@(Tz^_FE`XFs?J*V>^>-Yy zt7IW|c@!)FkNqjquLyUQj4*`6Zh@1FzYCWtMUC2<<}RGq0r&Lpf~2&&`{_f zVk-{+=okhlwHOPs_Eix|u<)I-0sYe$g1+_nB;fo3yCe&-MKEGFex*W)y$E|K^M(ID zMqFN8TwK!ER#@PzWm3oJ@{i>{rPMlDNcz6gw?}WAXF)76ikYP7TU@g6H+$#P+cXS@ z@g~gEYb&_nfY4}*O1G|mRy0^?CtAUV)Tz_P&=4R{C9d4I!>*i=kaps0>~oU1?wmh3 z4Ovsy!p|XQ<+Sa$H?Qr-kC!D;7gm4;MgobhI)fYrFf8Q70w7 zDM|pq9X$T7p3rs0c=yjpn+t1K1ysD#8y^)HA#pXLkPDX(EGPHjUDeD66 z46#KwDtcaYf3iKn{z#99+ego6X!zIrteai$(QRg60s81wXFU}Qi_LdT-hy%+miZf} z;g^gB=deT1zG59&pyOesI%VOo4X2~X5KtNx2H-tlklN!WSYQzJWh^A?PWg_Jvr-UU zRhnh~hDo@&l-^;y+d6J-X?fE<-gC#*qW?|owOrT!v=tsg-%=r^Dv*)|_EY98tQ|Kd zXW3Y|W4@yekhu9kqMO+lH<#bP$@&HAoIfquI+g{CQl~j(;dDqSE}uLL4$TA>vfpPd z-Vx0FihQ-J?H3La9J&l={%yuxkc@RN~1>?9V3?ZWu$TT4qZ7P@aJ-e_CR zkzEW9ZdMis|HJ~9)lb@^zJP6)Qle+`=${aDD0Pbz0|3F{!4k@&cVwD6 zS)T7!cFq)dUlV&qfyBiXs|ho&G{{(>6jSes^{fkBiYcYodtk@G)Cvzl6*4Ft3+={P zwR7+isbK-;SeXO~VpE%#HRzmJKnH{B*iqw&2Wd5cI0<6?$*{0k79fxZ{pi$l8z^7_ zB0e_$h}481Bs}vZj$t96y1+%V_Y2u`++1QyB}f3{gZ_(F^9)_~e8cZOjWH6YVuL%~Gm+uIIhA;`DP8h#qNcno)-n5@1 z^t}Csv7jK|5y&)%0XPYlSJyHOl09yN4QkQOp`L5dial<`LB8HS@ShKM7z@kHcNF$# z9>75Sn&6QDHpm_Eau)DW)7ont>&Svqj~hdQPFX;=LqT1>V-a6*61b#ir$Fj)tB>}} z4K4SklzQCQnG|>GW!anFcF$N)mG5X1_ICIc4~_@%H6-^7v{cVz{NnjdV-gl%4hveoA}rM&x7j`SFcHAvq{MEeq7uvt6*%c--Ra zjtm18ECfk_`83QwbFZ(%&C?2a+z@K?*Vg(C1>VCldA}ppI|wa3-!YiQB0WwQU5o@%7jkCdV+|?DcT5xh zEEXfpJ7NiQN>8PpihM_~1q&%?aEM`nvyfN5Tx3gowA<3CdGb72(3G=QobXI!T@$u#F6JOI3Knxlj+A*fq$(F zm`g#vqht;NlF#LJL1;K8TAEo@`W;2TP^*=Ws^w2L75R=Z=e9A3IUkF%eu0Trsj1nt~=84Yi~}u-PaQbm3~LD?nuk;CS|H- z&sxv`F(kxHLXePrZVJ``G;J7E`W+p@Szrhh5K_ScaA%{a4RIo1w%{oKFJVsUNms|C zI=>_PdkmhBP?g;!{^rGWAwG?qq6=nk>JNM8w%are#&Ode_!{+)NQt5?p@f#P1FNbI z=rpF%B2jVNL4NFL1~EAYH-5JII{_4UXwT$Le*ElK7tBc3P1+tvYMFO_zmBau(Es>pad&l zA2AbPO92!IdP?NC$-PP$6ojsiDBj-@Nx)bkBaGy;;OJ!Iq&xH^c6~(g{*G)90Utiz z|;r@cF63WU5AxED&KV z;QEMDuW*0IJ;LU%APpJ81IT)Tk*J(_IMlRa{T-DMTie@Bcd8F!vE7c3AUYX)Kcg?bz3ri$}-+$QPe4_FhhGyt9!5C*8|5}2Dq#|jWn z9QvejZr*>-e5;k(jnF%Y`6u}MG0_rt>t2KZR#9g5mK+Ap$pXUt!4oWugR@c4(zJs8 z9WOBTf|-23kQi@B2{>yhFm>9fM}I*a#s-X87{Ox8{*4M!k?!$gS^5dpA|KN9&oL8d z0egWrhMBZ10^U2tH^}z0s8ySh&M$>23lOiB2|)9RuNCj_2>4i|;DP;R*}4H_hXEz1 zjR-ODG=Ek8j#TM6D8P#u4IoiK2^xbw+0ne6-PO!f@*4u)JO#*@l1j`vYv^ewhx#g5 z048{3#EwkMC}O7dn2%VZ2qv-Q3o8#f)`Su~A5nZBG@XNj5-Wa7Az45PoR27;g=z2r z8F3WMF4DPAk_EvmXxl4bfd&uUpgI!>N&}G+!vfAn6wiXm?Jn{QLmG(GQduzA`G}SJ zJF+$$xt@;($yE8_`T6-S$<^(y-flQVD#5}ujKenK{wn+(lY*Sf%=Hn?0X+@2>8bL; zvdWXIBuD!Gjt)l~&cYdf#VpV%mnjRKlQ5DPHLn)#@0bq)-tux^yZ#_P#w@t@*4el* z8aZeE{=H-UL1XLMl^sH&ySon>qha&mhqLh&hZb~+-|wGnU?TNr{EAtaj{8y;t`BOp z+OS6cfQ5X2#|zsFvjD#{Uqt3$px-eIE_5bGtq*tYqqld}OCx9e`iqnEj_CXMq ztM-1!YF%+@!PZXSg%dfPo!qOm9Ua~*)<(cqB*20^f5%_3VCFvbynIK5;c+k^F$)jR zC;eM$>xxxBB~&G3!jmVgrx^!O+{JjNP z7=$bg@HXGyapvr3_;%>-S@ulz>H&3mq#`Cez>qJWf6ZqtZPd{{aR9lDlAFJ&%T8J#nl7@`Z zf`YucDczsI(KTo>jI=a)^uR2bA=jgPYo@oI+ zZsOwHEEde!-sW1x(r#)3{2hNfJF4oPr{Vn@&)cmeSisE8bi=?;O~9XGWB2WRXRWB2$`wzkd^gl z5-IU4C~ncYuaHP;LmILKGRF-ingxYutMPF|7&1-#AU@Q?XhZfLMX``9cD0LzvVi`5 ze4AHhZIz58gt2guQL!v!?^%pA02_2lFOKEw-Q~;Qs6J)t`(LtfdTmap3QvR|G8pW@ zbhM(zkiIM;bU9yt$-=#B^HO*soCyflmIYf4kSr`;Ut@jD*84AtQUnXY-%co|0XquP zuSt~XpF6AXNTvLphWF+aw-K@D;rC6Rf2d$NHlX!mw^EP|rtndsJ?doNQ+tQNTPnD8U+f zacKX7NS-PNhXt{1go195N{etexsL&;8!$iIu%0oc_AiL!iPpX=U;*786^oSkGI2zK z8GM2@>pN=yf=HfdD_l2hy|_)LjaTjO*(lVJ%%_IjG<*2!GPTO$%2Eg%~){$OBSL(x)y0P zq#7-ch0_J5BTS4VvZg69!enU>$%1R&z8XF6w(swnUC%uZTKb*9zYWHd13%aaS*V7u z1>3d%j0M1TQ}GE|C`6eoU*S5`{Hoo3 zQVLl(4$Ai9+xq{-LTL?IVAG+Y$b3iRdGIQDtad%?<)K}*t?sMS$F{5AeR*)bT^fcZ z%|X|*UyeM_-**027ToAqEuIBPHxEqmYv#2{#K;)_VDId9+J?a}>|}}cB_-*PYFR8r zidL$kQp8F}DwqU^MYKprL#o6nH^3p={X1A4C*`F-X?jLq*{_rD z@h3p-LFCN(0YY@}aMiMLJDyzMpTKv5aWvrH^*E$WOX`K&%Q_2?mt*M#M~jfW7X@-1 z3G8nbeGgmB3zU%S$gz$sbTk<-(DVS$?whsv1RfG}Iwhm1K8!<>j7v91z}ySp?ic{Q zfBsd!7eEaP^33vk6x;K{zJPPt96>rPJNoQ^exB62@t5u)#CNT@U5DtLc4C$tOXr1u z*P5EvFmPS%UQl}0*0N)P&i<4V)J{Qc+N8K%r*((@@mF??n-1aM1*P?Z>?@l_rLT;3 zFZl9;^Wt=n;UvJk`US@|U+eE#gVI+RM<&_sC2eYWc35;Jy6kl)Wh+f4y`@_-L7{C}nYY*z?ottiRK3oEwZfceApHD%$Y*2G)q`FX*Y zb?@t1m;)HcM-%{%_=GmP)+Cja7o@6TSY5fKFf%WhZ-tFm8OYlUaukqlOJULP59Ve^ zw+J$STmbn?gE)S}R2OC);TA!g??g%RbtC)K&LQl`xt})r2yFkkvv9~{}@5KY<>~63!0GjvW$O=^|PrtGwg9wqK zj15}y0uHA(4G%!9c8*mNN+k5R|iE$ypmSy%ePWff7mHByjt?8f(+w|qN$SAls zwDmS-{ruO;^uYyZ!sLIGbD|islDmdk75d}C(_>HvT-Ykmt`5_J-Acav=3;AcC)f^S z#PegAarxMk2ZfaoY1XHhNX+Bdr+0jM^bsSx?C4%$nen&lH5(OPZ)y%nl-oD@|5VS3Poz5lmYTqN?q zkX7}Z$l)~TNcxRup)#LCK}!|pX=`;!eQ%HB8ZtYsSLGZq*pPk6oq;+Fp7Y8=^Ie^( zIp(X-fc2mY-rXripb*d@*#gWOh5RNhkeTq-8Z=OwD%u3=V0CLV;6Rb=cpshZ zVyR`@DRe4?lFTUed&Z*~9q2-;E}#u7u#-MZwc!v6l)6x5KeERxLLQcKMJDh3%GMSL zD`i^f)uIhFp2Nh~#DERQ_u~Ngj&^u_9GWUaMi;v9A(31_6%ut=+3;SYza1WWezGI= zD6hXr@;;me_Z4!8d)?a_q6brZt1R41*l;&_*l-3HQ1BJTs}swjyKO(N_KpMy2U6k7 zJEQGr(SGH#+UNYUw)EIlVUVBB4Z)&ehAync2g`O@jYyPdtETmTEi}8{JK_rViUNa|UW@ca$wYGKhj~DJHH~~kJB48_DRlWb? z{e~n1_%EV4C_7m@8$i>l6CZLADe}%y%mZcp=~m&9$3nLM9F#fI{mpH>Jg4+t$1D`) zk-P#UiETiyiS^-8hA1>6HpQnHB^QYgHE-*%V*9M!xNM^t@@`Q;(TSEtQjw_8L4D!F zDCKmlDZmc$35G0Qew(?KN8a%Q!NFEIg`g;LmJRYrr3NJ0C#R^}+Y?`cYoz=nT2M1+ z=(vZZ9PPvEq`Hj-#CaIsFfIGdrKpa+rgxad|LT)2BS z?yw|A%8664A!Ys!70-jlRkA^eIuIe+p`y^iK-b(>7hFiuAWitA_Q=O8;K<9X4dD%+ zg2(2!MKvx(D#|Rat~jb{L)kz>FUrOV_8MY971Rb$R@mCQoC~R&nW6w(F+tTSKN~K; zI9paNABvhnoEqp8b!RnT2rX*>g>9XNNcS=bma<|H>%tLMcxG!-ak(!1ZSD+noQh!} zEb#|xR6)fRxd1;Aci|A+5Z;sN*JNTV{2~#wd2h4Tc0IAjW2Z}l;}|CBd0TLWp+Q!w zOz(LaKfeO6BfJ;2Liegzuyx^;mkvWiv7g;%K^0nQx<_B{G<1<1-SfvEIQ)Ms%ozh3 zqyggfn5fCa+4@j^P9$PrHDoijjS|7rLR5&&s8g@hocRD^2;qJ)EfkJ(-qtff-T%fy zo{2y~82_U*kzBkpP5VrjU`Hxx15CjP_4WW+!{~7q?S6J=HdDSp8Cz=Wf+_dI#jQYA zxW*y9ujvSAaDo?Di&M@mfOyFYCGug$+6RIfG~h7Q)u4McxRDgxgeu5mj#n3Y$-)u! zyuK|F75C)h|37n&iN``ULgU0N^B&iz4Xy=#ddz9pmV59e@?SbKrX#4mFFpFa#`bMN zXMm|I4W2#-l1bBK=nTJrTS(cF!6o+>KH{ZPUY#yl#Ae&h@a|T)3#$jR1&jC)l@wem z)5Z5LZ-Gtl&8e*mj04+AX7OgY=8w!+6^ymYyFsevEg3h&v}QHvHj0t;jYv$6!OggF2jmcu#TOW@yrt}}&4 z7wLmpy?-?-ep+%gSt+?=s#3o86@DB9#T{+PPf;mM`f#4sg!{Kf1%Sfii!A^G2u31@ z!`ZxT+$+9a?!(7?eAzoIYsG&$r)YPyU(w;38K#OLRieb`QJ$ZaD@-}!H122{KL^2q zc!6O3nsDXh;?|y)M!~lO2i4tgfMZpZl>ec$R?m_b4fKYz7mHMF=VqvrrmKF>I06gA z`LsT10_SBWK?=B#hbBxW8u3?c2(yfb)4orglQ1hwj2%Wk)QJ~NueOzp6!ucF+qk5~ z!Q9u6|2e&#PRuFOyx11=P7#8502n5wzm52?4lQ1EQPM0-r|L1087om7HQz9$tyW~Xs ztb$%f;cVKzlzznhYNV>}kWRru#`^mSWPl62MP9T0L5leWTuhd%V1={xRE(}^McoGm z^|UUU16_p{nUCrX-eN+?Pf+C3xFf`ou+LHJnMdXXgEP%bKeV5xtZYZD1Ok;z9U-%n z3drKBtp}F0YFnWrwLELJUukzyWRRv${_q-hPqV%G^9=u2aI37+^8B+^IH1`nX5 zhT@nFR*7PlTe@1;zr#d}d$v>2W}<=$f5QBhG&PEIs5G%_+W{{R3pO@K#ov*O;gwviz`&S1O6KO~)C>&p1O(sT z-$pVrc9zCsDk|~w_I*D_?d|PXez}M~Ncj5uaz94i+RdJxp6TxP^4OtSK||Bdz>qyj zPC-M;*6Dwp$^``lqPN)L==1L1%Jt#Dh@{Th;_qvX!cKR#XFx??Kt!&=-M6uzL|%sV z-m2=^!pp|Ddv$2Qx~jT~Q{T9Ju(P^uew^#el9`f%%bjDN8X9GGmztAU?$le003nLNkl23xzn!6y4Y>b?TVlnBrhh znYxG0Wr>@ai@z*}gz$quVKniPnEkQ453UC}Z7;1c`^9e*+TMHmy64k#?kT=&7rM}e z&LrQ}3ti|!NUk6Xfx>MHSqnN@xA}a&Fv!Z(Za2sRI-y3~2e-;E3L4QeYK7}#R|t(R z4v2RH?bse4L4Mny5gCEp4J+P(vnje|_E&*g(LJ)gONhVmHZYNwNr7mj;dwTF)LhoB@@`U+8rHk)!Le{X5VhpOv?8b=O&($ff9s z6r#&wC@j3fkK`LbvgqY-c$(3ff+71`;Ta;hFTRKbhEo@<5;;Qzd&dl6h_G%-od<+l zVJnJl&auX0VgV${Qc}l>8{UL$C72;~Gq%(iu)tj4@$9;D7#M03p@^v;ya^zJO%4#@ zUiOcN7=cJ^3q>eNR1%0>ss#~UTpJk~S)>b7WMS@9C)TTV^4iL$`}ar2QuyTOb^Tia z?>)o~)mbARHwtPu5XC%aLeOlR!8r#nC(2~y5lC3vM;438q06b8&6WCu2Yo618hR79 zaex8PUb$SZ0T+1sebRZW*=RI(03x(!Do##1DWoVAMd41_<=pt!+)`Erh_Y*|8yl-@ zSrs6vA8$8)AMDlvB5F7~Dh#a;&u;;T2uPXHk(+vg2;UaEI3l*86(5nf>g4mObV@U- zcb}k>|3ywO(7AU(Up8JK+@%Wf>}iN@EH7Wj6on;WLt5|iQAshA#|?{4j#~g-4+Rp` zF28bl(XTZ|sc$7Mrmerzkgt(G01=0yR_+F(-7?dz9Yp*r6sl-a2CZHFjaRg|g^L*yJbkf%s$*xnpk?$OZCf?;VHTV6{z``k@H zq`lI$r8`TS{wHh0#liN$@fK%jd#h|4TmYh-a!Wf-#Dy6aXM?W-X=n|rz#7k%FA-cIRKR=pEXfH)EqGtw5d$8F9 zM7(~(7)tuncb`vJHUCm@{ zstEeXgQ0xthS!~qBp^XEKvdH8*gO4BOxK43Ho>KSxO;H0#TXjE5aHafDIjV}AbOS& zda5Yx5M>9Gs#<-f5+w(-45IAU2PYcOGKlJpGJ}XwL^3*V_-S+VHub4AHM9essskcP zVIh&bf3t7w=dIMoL~8?qC=d{>WV16wQ?Qk;;7*Jo@*nrBQ&rV?qvDgt7s3q-1wIv| zpXovyL@QS!kt-i?Byx-zSZF>Xdoy_US4Cb5>#hpnu-S9f57Ig9j-Fk9x2)-}G^Y%0 zXYcsvkbt!3zy*h>PM|B-%2dB45M@{lqRK?0hN7H!#oTH>pU>r)2Io`?(b@(;v{6+l zM8{BJF)=ng{8k|lJ%2GA z4<_CW59b49vjapz+0xJxv5X;F7*h#H^wg&{ZCVNu7#bQeia&lFCtsQY5QVBV2vtKE zBK)wIy&6BS>@-aCl zW-S0iiNt%GPAn3Q5r(Lyv#AzDdGZgR$dE%6SBcHzx1*0$n%V(GH!AeAB1#MWVe+9| zW)R7v297`yXY-Jqf!u@*yb2&;bls$9uIG1jY+rurC%OGx=}&2{2aPQ=1c(Nj$L$bB zzg;GNxo&how6#~K>D+d`2I(B?%=b(nigrLGyke9-TJNho%O7PBjkiOz!60h1L3Bib zWrnM_xtYI^`zj#9hqr+!z>9RPGTl%Cnu?z%i-|X-nZ?vcbLzfn_P#TFUKLGqqmZ~h zwJ={f1<{pvh2Z2QTq%MGcj9xR1%U!UFCbrecvuiE@2*fat9qM78~G0nyP`tp!o4HOH=`lj8y+ba*BUh=_tZSD4dLTTkmKBKllL@g&LfmeV?E0wailSpEPlF!rr zsn>oEQ6K<+$WW5btwibP<(0?@MT8-MNHztMq)2X~hI~>V@*Xzii6@vlmqaALR>Tk~ zI?>O?P!Kr)a3Sh)1daoMh zm62x0I$q z{#Nkm%&qG$&HndFuzK6<(N}`A^MRGT87^h6pRUebne2Sox`+x3yb}ZzE?!?S7PJ;b zxi(quofys*fWY+Z2}GBcd0lS#(g{V%$(%^`M3-B|@I+~Iu+sY?Cn!R1a-2%s5U$!7V*f3O+W+w0af$mLl(>xo|1R7^g@vx> z77_$JV}?1Cn7fG@(z>13U#;U~i?L1X`mekZ3py3tcDA=`6bRw9#14tye45VfJN)bi zL&U{n60goNuh0gG6D>XS6IqqGzqU%;wL|{Kb$`D>;T47|$>q|y3@UMZD=dhmgxS~E zXBNplM2eEBp{i7*ptPM6DQyNul!>7W zW$2t0At8pFf?f!Xzq1$%xS!NC7u(gUg)SfVf^h8nOcbyJk2@L8i>qFq{4pM=F4UcY}n7ByNsQij{g20KhB;eYhgd_`)>E6 zW%O6S4Me?F$HJb&etKI2Q1zZjd~~lnC*lB9oigP@2=Y&}Z5A3{#On-$Nc9nrx_qUs z>xhNq>eQ>EY9$)x`P7A=0*Gwz>1gycM03u#xFurYTNwb9t&EC`{{3KZ*S{z~s;u7a z&CPAE%CfMYJwHxH5`bzMuW#;tSSnxj$~z}X91GDPYE&DC1`w6)*>aT%q$zCMNfXKsmlD<@W=1a9Kg-LlAzZo5CDl!HM z1C5K2SJ?kS2snrZ)CMY2#I}+o+eP^$kJGmuP8n6niK|z8A`?yOWmuWRi?sITnd(h4 zk7Oz9#7oskQbpu`KbA^0cOfLF%Ve`T$K|)DX}14+G|hr-GiHg3|KE(BfhtlZcFkdfwO z9x@=}RO5l5YK_MkpJxg(P}FL`zzj>LK>v9Ul(7d7jk9=n0|O1&ZG9wP>BByKrpzy| zj5O)a4j_UFm&X!G%+qql8Q=)U3B-oNu;gPP+5^2k(D1_fzDBY_5bK+PrugHc)VY6( z?3ExAj3U%SI|2eBoC%KT_9uu5D57x2KuZteY~Zt9krZ?(3}_muWO=ZPP{QFzV+n_V z=pQfVmfJ=QLs1v`D1rG91=xRGLeeE<9o_#*YLSwTNX?{=pcVRXJT!;8yqDytgjfGyi9k3pMLpqzt>}ay41)0 z@u)@2g3m9v9QUpEzWNUF8^e2kyqW_p#HBj7dAOCN2+IsW#KDU|9U0$YY}rNarHiRMvfZU@-sZkZ*exA$BXzqaI)#Ua$&z*KSPRnU#PD;TF3R)%JRq ziA?wpAixHpyO0dKvg+4XV=nyyuBO9g4$$kNPlc8;Qh6eqXLLl;<>630|&uamEd0ZNf6NbkvprAl;7 zf*9s={N50l4!H^z=wIf9vk%aIflX8P)}EAcHh!SAH2H`BXz?i(c~iR((fhaik2ltB z4cIy6Tu87`$r#%{D#tqj&}fu(CxAQ4#dgh~H=y~R8U+r`_ojq7i@7(x=!h3X157W9 zAPEnaqQGf~gY&_PE+MeA{Q@ZlYC6(+IWq&)m=>{92uP^s`7uW^Qa5^rFnS@gNn}?L zV+Ijo#q1@k1EL^btpb(8)zs94iZ+>nRD;<0Zir8=+lS-avk|?mBJyOhQ7>AMn9-bp zzFf3>fHR+PI5%Z=lF)#%5g!80l zirq_^jM0%$_ICnAEsq9c{wTb$&cX~+qHPGDn9*;_4j=?D3m*268qK{T{gT@}+RH}} z?Y>EAL>7ml$>N~b)aR)f*?>Vs`sogS;!{v))xEb2WMqLgxuRRdp}vaA7;4od$5HfiVTixwHg|+7-_%1lp1FoSMuw^aZw! z^fPbuf`>ETy@^+!?XX}W z@9;P(=cDv+NMQhJbg-O66%2ZisB;+hEDo*8b>r>l0f^|!Pu9+?_l6*d;&vs7vA^Jj ziP-lw7Y|6d1mOjdAUp~o@i}~DGt=GkQ+3L<-o$e6E&u7BuG3X@>P)-;@!^+Cv-<7s z*8b#!{y%`o6AK^*%CSK^aKzycQi`3zSSgO!j=VwpC=jvb?)r4zJk*Q(meig*o4H^^ zcxHl!S=XtdVc^R?>@*sXtCTH+ORP!_m4(3x=d1_5P6i24!fj)1U5#U=3ovq@!z-ar zr>I>PWel4?rlfA$YCfZ2B*vF95Q9P&z!)Ue1wYVo65M7EwKQ}|=lW}x*KWJ>acg^f z^k%cJK;&woT1c|?4AgapFo$H21yg#5{mK^l%PLjWiIl&nm1eOYrp znp2^4vFXC`8sSyz($2MtauQwJ1SacQtL8WtuvqtsE{rg5M_CD0W`S7f_f7}WFZCCWoVs!RNju~B;Dg(@zHaSbT|M)-&*X5w2GPYmdoGS3g7B~(^D?8xkIfwl zAb>_7N)27f5iXV(X{^;J~yfELX&j*)mkiMxA5XAZ(`iwv@EO@5N!uu zzKY+md-F1Ga~M|U+tU0ftqg4Dehj1ml4O&Gy4KnjGY>{Ajgf)0pOVu$ZmVsY3`p<| z9h@1PfrU|KsXA|F0(`uuAP7rWJQiHJ`$ClzL{df}?5RJ?vNK^UxS8*LGk%XhSuAe6+Vtu2)3r-Iw>Phe@^p?G)D_rCW2CIk&MFLv7A|0! zMMN6)k-HH)<_@~k?c^1D|E=4V8JJ_5hMB+&3hl^Z&j1p}Euzm{y#bTJZSsZ`f4av~ zrmd*s$puTDmLe^5({Nc-AR!vU{?9?p#Z`=2bT4_b%#<~Sd?cnggC79jptf4G_k+K2 zjg?G4l!ZkQ?R-AQm^bg%onG|)i?08AaC!XowsOYrw&_1_xVPAH@!sh*dbaDIfT$)% zp~I;jibxZ`;9FW@$*kG-S+!OHjXsZMj-yubZ`!?K{qDw{Y9>=xso*FOiW-nAw;Z9y z4xmU&dZ`ve)o92*%Gc8CB`oTGK#q%l@nw?xiBJZ8h-=a`!+=F0EvYjb&9kBz<+a7X z6m>BJ2YA-qXt0E?2p5UX*G98%4(Z(T_HeN8*%yZn9J#ph?3qP>{zN~3sGRXzL3Hrk za>Mfjy`1g(Cm>?DFh9)GPZAMS{%QpfskVtl)dC>l;uUdZUPyZA+qXmOcds|9G^!G( ze;BsVDY2sxH6^l0NcqAg6Afud|1frX8*2d$Z#C*m=QR#~ywQD&pynue5h*q9G0#EK z-NK0wR}@GVTX4#khMsa)8l_&DswfEzcfyj>b*;J{35-+%1U)enn)CB?0>A5G_&^yuPD9fG*)AZ@c$ zhMl;r6!#NLQSl^IJiKdETlR|$ht}^pG+EH2)UAw*C`PTTE?47$GtdHxsJDt7pEq+9 zFTsL0E~B-kxeGWov<&#TKuDvit!hPOtt3sm%yxKDm6czmNE(pEIAD~7)J=-x9YAe` zt`VH*s_1^6Do~-gIoNk7gvLMmemNfIyPQw^T@D{C#y3j=(Juw4r@eMAArT}SW!VV? zMBC95nAG%6WnV@UmCk%~Ij%v(3c+Icw{PF}?Ox(&24O~MBqfb_uY8Ye_jq~&4S( z;t2|EuUfIln+Vphi1G#HxO`Yk**TCj1fBmP`ym!359Kk*%D|1DrIcc9CCVLF)d?K7 zP}nm{SaDQTNvK%t`u1&i15qQ|LxDst1$ZlcE~A`m$*3B6&)TZ+1~))8ms zMy46I9%l@02g@*N#sOiX8-Rk5Pia{5oT9?STH}u>pEP;sS9u+>=YWtrx@Z;W!skvY zlq)^*lUt{F^G6ukzWI+H4>#|^RG}f$$$F>~ZL$JnqTu#INJzx0#SzSaCQJaK>El>Wkf;4_+rdMc@;zt1aoJBHmi1ChGC2P1a28eBK zcz^*JCnjWNP;X|@Eg&=u*2z&{vJyXnu*%B;BUVDVXT1Q`2-Qa$^rv*?a-DJYkW9=) zl<7F7?JZ0bI%h2Og^osyB=B`5fN;+0Umx!KXCP{IvE>+kRFtXU;PS$ zjA6=~RG8MR4N+2ZAMtK$05bDvO%M%yNro(@Nrto24HBRgybNYQEt@lON3^T38zh$U zk3s?&Km>Q`1cvEA$}REhnReC656i1M9!jd8VVTnn%+n@ILK1Zrqp`W;l?j-!E0;Mm zA2zaf)%m@=%WVc2{t<|(98A@lC^%7G{;=NW6ZNjzdlDxijfA4L)hey$1vi%OMx>9K z0c98ijeSZOJJ&STpw>J>5;2paJ}rW9cvBn9$oBG3Q6q4@d?=#x^pK#OM&qA zk)SavZ*!8;cv7z{Iq|~h1@bV8YA)e)3~!uECIXJ`3sA@Za(1nn{4R(JJ0&HmwCf~8 zW(GhYG*Ou=I1&yHO&-0UJjriuRu^APEja`u?KJExjGahr1u;S^cYywR^v$b%DwRhhl(Oc`t4+!|i0lbdw_y7ymV$YXr%S1hKsr^(W2{Ei$64p>8e(z8(b)cgq|Jht(jz4LobBZdR`H@z+~%+NYCdD-1dq29Sd z?b(x6@YL%3!4ONSKFrD7YzKqNps;^oultvmOHOZ&vhC=6G9RMf_|4ZhKjuuLzIcQ* z5=k5|7K-qthNV1R;=?`&WFzhOpCcD8i$o`8&{gY@W((5E(FzhOsOd?UjGxS%9 zE@sbF1hxNTF6RupOMJ#6`x}sEi8~`37!12gyn*&4iL8uSSTO7`YJ>Pm66r%%5aVpb zgR@4XJ%se!?j`+$)5&Dg$Dm1a{tO>C(a@6(!v>|A@Ab$kz_~A^aHmkWM1~9btG30;9%5+h)A;*{wcj!38JLOw?t8H*YorhLZgC zh+VpFH)luvia7G8hy6)&CWsWKC;)I$3lQf32N%rp#+G+~&|lW79a|3Ozm-U#?Kf=^ z2apn(g$2VFu@sr?nwh+%k?4=7xG|%YF+{iw0%691GmIGvTl{{(!D0`tDZP8*4h304n#%KY$&qtX zuYPlqe@>p`fdGYtLUn3t>e19l|0E(3D^AmcNDmSbCE8-MN@dh)J1^P)XtwDe-bWGX zNcY&*Iew)e@!u47G4EkRiF2T^^8j=wxI}j*=;O`l0pddl~fqj zTgvdQTJI9o3T!6gDYXUxAgZ{lbFq6$wIuZ@(b!>~9|_N@*9ibo#YrAk7zW2{iJR{X zjhP5U7blKhVT_H9jh;T}<2@0ANXX%znGrEvym6U%^6UJGxe6bY zE3xUOz6B z-=)>F8R^&g&FXNi(8#H~_vBf-WX)x*>3Jbl#p4wSA$^#Mx|O&q%`C^;#|3`8c}F!< zudRGhwN9Qlr!QIgOu|$fo0{j(spgdfr8C9ixzkzJ9x`w%4UT$nGJQ<(Osd$JSg~lu|Pn z8v_J@&_RP2lX@VDG(Ht|cZf*B-pA`w*BjbIV>7AkOE6h%iSlP=$o2U|>pYcc;@M`Q zRB|NRc~87GYLZ5l01!H~q%lZE@-9)#IZ_RiatDcyOpqp0YItesVOBM7FJ^WQsCh@C zOKQHjcX6?-3a#^3hSl2{T3E=k_M~;VQA+N6wpg=JSpea~-uv6|zGv&x>O{hxiKv8z zPTKI0>fT^R{1lLPUE;q8y>P8^Yz}c91*ky!ifB*x`3c;=q?fC zc5}r-k}L;VjvzY3Y&NvhU7}h+U8y>UEJqL>d`mQXEy<7g6aqvY?-I4YY?U=+EPx1O zM`i_)hy`Y8Nc#cN#n3d_S7D(gk%kyy5NULcf7$A_#N7gEKOpMFVmzwE`^(mrL^28s zAkuJ!^gye)QJn+PhASiokO=z|fv7_jVkj*TnFWByXCg=h!0JkbXCe@F z1G?NM(M4|(X((}nXk+lOo&XZDpP=i>&Kbg~4&ja07Y>{~C$1dZD2~%!0K$uGFIi9+ z$8C0blSpT|bIFbw!V^bQD~C5;p0QF##g$_lrPxtO1j3B$+T?4yO>Z+%$~p4fxunq{ z{nW`SX%BDY!Hf@RFk`+bkPDe})deA4l*r8k`Nc<%gsIH@-q^u2Pwtm#uj>jV3WJal zWB9q9ds?l;Th%$eLx!;9P<@VKnfRH3Mv;?bK! zOIJ+0*L}q#Ztg(1ST+;MBO@|B^d=GGnzP+xr`);W3Rx+<(FtZ0%Jsy}i>6d)B(g&=&~a&Ho~hd1(I#uH^BUsr_- znao&26^}iu4;?AgO<{0fX716fdAM*kSs-2I=@726Z#D0YD@J2~uEipAbf9~>8 zlXnTCDA{9KuRsU5uRy#O2pMd>f$T^mUA=MRsutT?yfC{2ZjPr4Y5_h~i zyflHJ5)fgyLhs+YO5C0!vt%}#2>?VDnJM)4jjP1%Ju(Xtfk^X-DfCeekUOWx7y?*B zYyth@o4{ZSH46*zq`~p{OqA3i(Hi5$M$i|weibNhzOZapc0H3TH; zuS5)43nr0_XQH(QBmPEu@ z2mE1>K1w97%F9+!jRT(~#HK_N913DltFZ7ViPj6AB$EGqVL^-o-~5t@tONdONn{gX z<71hx;ug9AiNXUU>aRq6^=P0i_y_qaZlNoXC^SH#zcLeTXv5>i$AW_?ji=M;&8FbO zG}4yS%B6Tut7|Ylo!(^HZ7ppDmT0|xYrE6RiR+hjX@|DQLH{JGWG-DgQ61=I=#>-0 zgB=G9%$ziwW+}V!sI$8UyZuK;&Yw&!8#b_Kd}f#NhaYzD0UZ^9mPEQ7NTRk?+@?6P zK5kAYO}8m#N_ARkO;`pQNv#*sI&WKgSq&~xTxv=*9s8|Eghc(6=qGz;-}Rr!z286x?`3+o>wO6Az_Ri*a!s6m0HQh$FU!gF*G zl%{xUD!IEPViiwWoS;PVuAgNk0>%;zw1n2>NyYQBu9JeS)G%l%;dJ3uqTVYi)XR6b zT8@+MCZmqqNQ$lK9Ei?GNv_odp+qAapcc`(=G64)T8SnKB}vYyyro-T0KIMh^LrZxU8Nz!IZ7cE@limDT|MqdmEEX6S zgV>|>C$C`2&FhC;dHm3Z(Zjj6&%RAJ3LE`GQ;`$5inkk;2iHIMYn<YNeFM^2ta&q2+DoZi(Ed zPCM3fsyrX7In{cv?Kaz_*w)i}yA-QJZ#7xd^nshv^ihu%fyh)Y4MW)AN!J3224axt{?3Er zM;&WWFl%CvZC>QWly1GF@Y?}|*8I6TdH4FO=5JZ`Fv$0Qgm;+mTpeq!?6&Qa$a zVuyoaveCH}a^^8;k7p5YqM*{}o2*x$%A!n5MBcWj9K}@CH6ir0Y55^)qhi5W8-AIxd+oCW%1c5be^4D_ zO=xg_yzyv{a)l4)+N26Mo6vE*>&lUl5)AqIC98dHUG<+8H(!A)E5p zQ{y+mzkFbZDACO$hC5jcDjKbkxt=T<==^s`E(Q>@?`peT!YTazD1%XV{)u>IWoh7Sz({+~nR1do+1#{3bvmdUF`2L}dE5pCu$R93#&Y%xmUi2KSn2DbZRU zma?@Z^Mop}5?AhONr+BxZ_rS5gO$9jqxzZ1A1WluONrK6UM>%r$Z?CR|Km(blwpIS z=d^jTmzJ5x$o3jr?TlIE&}+GN}xo`O7v6z$Id44PN~gq;A4E* zRQRVgdec!^`rH25H?DcJz5R98m&o)(NaNI(NDhMTu65q;pFk!$C2|n4k1x-gB8VOR zKsbyY&h>nI`*6!U1&KZ<{z%a{giQ2_n%?c79)3BJ=#-=iM{mweP9EEX3K`BadJ`bg zCOx?hH4}v>k)uJP(X^x?KCwrcrqR5X)QqGCZNq`1hGsxm)-q(Yq08ekIsq>dqlO_~ zz*V3e3V*~ZgkktUV~O-kwXN&zDxjI|s#U6r1EQIMF42IP5)mey0WUZ^&qa*)YQ zS2aZtzgLr?fw_q2fb+?Qh!PVsV%ZSls!X1U`7^Q6xoPQw9pAHp?}*v{G?i>v3kwAP zEF}>MN(3a6;;-W*6N#i#E|szo!+~SaOgK?EnuJc$=xPaHx`aF~qeU3}9XBA-A1c~W z@!J0hNTg?Up%S3i8_m*M8xF{}{1+N}tdlxEoAA{qz`dURH}$Wk~k9wfp`mk&S-AUKzt$DV9(+lDs4hbIz0jK6tD z=7Z;#FX+T9{>h$h5L;Q8=}bhHkciQ@KMDc41V~ODPKrDe@@+qUKFUlThU0Br{$9zf z^MAkXhnuROGA7}is+5Ov0zwGrI0d&YQ(1=Ky>pUfB(mAt@11k}B=Q$TnsP#a6vEF( z+7xim&si&(b^iB{Lij0T8k=z?6l|N_H5C_GYZ+MV?VpM4FK3d-9Z95$eM-#ezl?(q z6fH_(&B2HAmL~X6o<$}u=OQm3Y#h%d(d+%PHr&vj+02gq+a&S%@CAt`$4|CmS+#{( zOTLkaF=m1Wae?OT?|#K+uO5CsXXv{BD1;UL*KrJFA(Bxc5&lWstL`;%t%_$LPqIV9I zC=~9x0rfy)ZO$bT7WsMy`Srt(kr4Pbv>Q;d+~hmQAHRHvgu?Wr5VTh$@Cz^J-g|!k z2nmJX|0+>w_x$$r97=>Ba}m6p+i>F#BM%mlh@eEs>LLUnLy5kN#~;Qw-j&iS2=YHc z?g2cMXnzpj9Gqa0F9ewjxf?yT;sW($e19*7nFvAVLiLNb#z*ku`6VKRV$D`$bs>Sr z!!zCU&kyF72pqJrdN{Je1Xt%ScAL?-Ph^48Dp&;+Stah4sQ%@{{g-U+OceY~gby4e zD*}rIB_e^x!&^Vx&M1*Oy|576`XVKfuM`A%4`GqJGEr{l!F5rcQKHxTbwf%-CnSmt z9eRG)d2)K5hL_uD5%OMgr$mR}*2v7CiNqcYrG)%UWKBub`ugyyo+=#`aw%mUB|_dy z0ulvwKvixwH(t#w5%64OBJq6rq(tSyjv~40)KVxB@_rJKh)g^Rq1I-X=p>(zpNS~r zY(k>PMu48fLvYZ zeUB1_3zrp1gTMk#t79tDOjbfgLMA8?FfGxX)x*hHq5x;>z!xad@&u}!b{iGy*B(`d zwMuvT{r!%m%u@*!S(<=ECM8Qs6kOu|Uu=>7UNWw7dep2?zxF7XwMuWAow_R|n!OS# zN)!S?iI}|OAY6%30!%<55~y+twMvO!d(^L0db4w%(EO#P%w7o5*0fmi&6*IDACdc ztDLr!!jWHl)UQ=~OkP1b(jTqaE1_Z{3WMqIi6Rq3!J%a?=hjoj&I{pADz#ThE6B10 ztDF)xsz}QGTBWk#(m5)jA|Wu9iO2_2%(YR8MgJm^k}VuGx4JK0f6`Kr5C~Q|9aSXd zvMn0&urgyMRJ@uChsp1W2xUu1MC8iEghaQHg|=RO{YB^S2CwD*1OB!WDlRL8MKBXl z#>^!ovbk6zhpGNIRX~xytAvUUg#?R5hd>??_m3_i5heIg9tw zVWr8K@-v^VQY75}7umc*g>=!i*&{k9H;VN~Bs0G>Rg~sxrOD z!n_g@6*S^e1X)#r8`^6olguZPbV!LJ$f}}}@eQb(4-X{s?K=ksDI9CIBCCrUD15xP z(B_R`kcF#r$O?1EXQJMG5)pz++{jA9ZIk>(qR;1&2=7=xRvpF_&KX%oB7#r0A}ftt zTjNSxaOzXQOoSlwE^!kxF39-Imx=IE2xQe!frUO3shEinWW0^=q(oOUN%VTZZfF4R z_JgcC!AxWfnYDWO{Zaxi=a4_yyS|@9k|1nLqjuPil0el9GcQILkOUpXJIx`uiifw^ zNDT0R%DRdsCQB|cxqo5*?yIhzW`;#`a(YikE4x;A)mPtF-Q|Ek#`%ahQM=tPo5w4g zh{hdXiRQP=nvehW`03`2J$}5hiCQH+e@!$W^O5+sO|*ZVntx$oKIX%HiF@`Ya%28< zZa(JYrz_DqJ$}r;**YKdG2^d7(EA(y1pmssiRR<~J-7qj)I^EI{HM6*<9|I8JSOje zI)6GhAM-KmPb{RevHr>S|HYMP#o_6z8o=FODBvjtiS`g6QSOa;O-z(`LBQGWWBt$G zx^Ind;NRBkd!7k|@)`)d9QDe*-q0)H1WPyxcI*sP3%cr7qxDh)XVVRrS)2};gG2w*%|bXly{_mF4fYap7AX0AO2Gi!>Y-A|LCs? zcs3>+^?FjyF*4pRoGEaPd7WyE(}6rYLzZ|HCwQBPXPJTjgs&=Y)I{#6z31S+36Zi- z=j8fcFv!e$x1ZH?mO9blX=3Zw`$KH@6`qzJa;Ay2yxI1@4$r7>c9s88>d;uv2B?&L ztO6cj?FTZnw=cbY1=bi0&?{%4Tce|1E!-R* zWZ@#;Xx^KGSr??~)1yORsFc@ewe(&7;by5{Zf{d_I42u>+sI!VDsfnwZ;Yp#U4Z6} zc5pj)p>Kzbo8plo;F{x&%^h;?qDzACcy1`55SCBrVJR^x5)V#|OzJr$`Nr9bXTrPa z9BUEv{YtZy{{rM_#bVXSd|v*Kffa5kI>kU)xyAwr`oxQse>Kz~(9N3qiKq;`K@kgZ z<*hO8gpGn}S)7T%&pk&n&Phz}%@i}v>(|M9H)P7329B?=H8om0qx>LHHpm^d_Z+L) z^eXiccTW4b`rGWc%p!o;Ya-N*%+}dqOYfC*_Fgsn)I>@YgW|&1;+!AhGi!b=AN3e}8* zOBS6k8It^&s^guiFG0b}*ht>afuVrH^4U>4!$IHh;M8DAO)I%iCz}@>eqJ3rE;{OK zsxg!&S11HpvFH(%%=7Z4v^jX9;uNE2i6fUfS&Wtce3dnz2sZ^*xqc~I1}8LPVV9Yp zq5aKb>1kP66R72JlwG&9Nze)*I1>b_;loQi89Utl29y~SWP*$<=*a!2hw zhxzSrdb2lII4E2uW^SU%FL48&*S>djAnrjoyDA%KzkFZ*vm+P2%5;!%O=OMI?v;YO z-V=ZNr(TPis36tmnR+Z23WZZGKpzxkXGbdW(Owzkqcv1-<#h8bQ%DwRmSR4AH(rYY zL1F0P<&#PVs|@ucM`uMZKHk>9DMBocaX9we&sRPz@b<=FIbRG4;RAo{=ujzbtE3K34e?N{ znd`hDKNQXrXJf@46IURBImF6;C5;A&BHR=W0Tn0e*rt9b%9g^(NoO$VEApyaa;|VGA9-C1+J+{eA$&M6G#`tN9|q5T4E*keWKKL zaC{-&(nJC_e;lP{>v2!%a=F(lm;A3Avaqh`f~2=k&s-C+Q8J&_wd_73DZ7a`5gnMV zGugS_kTOa0c;L~gP_XdP9_nOhVE3Z1(HIWwtb%XXwXOo*BklZq3b3AFsEypd!cwnR ztz4)BPe(W$+m&Lo8?2CoI4r+McnUvN?wZLlT-;Y_dKjvXH{k9~|I#I)t0i3CnHWL~ zT~BsgX%dE2$^|&Eb9N992Xe>8k(b)Rf7JU7 zHyVgD+F8Z*+g4l#Cln(VKl+( zpVyI^NQB0gysE6idOf8nZe9G`M9IZoT6dagn*vJ^D4(%w?-uj~p`b=uhl6A7N-ReMLPy`|3u$(W#Q?T57NXbP9 z7xz{6EN!YWZ-CJ#A;TmK^|ggl(?o*MLYGRj-#2~pg;OJwnpSe371uQm|6X;Dt{yfe z+9tAMlf>&K`NHO~r5zqx#qlQM^?3QU(V&HEB5CWVxeQJyj#_`R+(Y%?bfAz$E{W{lSRv^Wo3kUeVe+(gkIKF00b2l((o z&G?##?-vvy>b+Y9nO_&>`L)z45v+Ywpjwwc^$sTLTaWc}Z#^{D)zW$W>F7|BveZ)! zq9!_^T3t!Kp3k3VktUBlt=H*w;hI`5be9Xap#kETl3Kr)$~%xI=38IZ^5#V(g;*Eq z9aS2QqJ>Ho50p-vjSgBDYB#7A52SUnvFFQYy+%_Ki#ROjy8(x%gx=YcdJGr$Rm_`! z$GipJUP;FshrRvV>m0?8Zc+J+N~kS{P$(rCRHHHJMGWRKdrUy0n)xwD(F3F zHaQHzhLcRQZXdkLi_So80&GMCTj%$Jjw8s7URcSt}A1y}&ZPW`J#NdwhBquSsH`B~`&XGaK$<=(khG+}_(`jBCY47u+g9$wi*f3tT+uW18e0GG?4H##r}31g7%$#yy=QJhW#HnZKTVirXarEct@ z-TE{NgZ=-zd}dy*SiCI5iury%7;<-Ca)IAna=9eGn~i6YL{!uF=3U&pJ>T7mNR8dlo6Gc*X*eUj#!=2oZWBwnWC+h#KdHtFC*TdW8=O7UbEbI%SYXhJm zdn%wkPFoXYL}leQJFkO!wIDd`J!^a2`mxuxC67?&*C&E`| zAz5er;bV^Ly6tgEQ6l$~4*&SdEF|k_RKD5zdZ0eUjS?Y>%}N#p{0DS<>dI)@-M&rFl$U&Ki#(NPXTGJy1sh0r500X3~e zIYtoV@L|Ft4Tw)bO()S&Z|SKXc!>B?ua6XZajZF9G&n* z8!bW(lC?w>B+_CNP?Jgor-OzpQSY0#Jh$FmI%SI#P$J|Yk$NI|0%}r;U|@nu5;dF} z0hWHpLWz*WB&RR|RaK%q<=vSi(ctp0I90!c62+&8p|R*|Cj(qt3x)Tl)R;=X_eU{ ziQ`*cNTj&=lQ|1Vi6E$)C({UtDF2C@t=(ZawM2rTz?o-QB4gs1q<(eb6vwTOL28Rd z)7OorZT}!wh3U)~1@?Pr&PR6e{k$4x?lL#92W*vW+i%W{$$hc);mfZ@#|Q&LD032c z9*dHr;9;y@HSmhf!t}c8Fap7iFq%O)tK99vv}TG8!rt*R7Z493+!x2g3Xd@pg--6= zU~xl4(6Dp^@?@D!r*nW-{|AX^Tq5KTd*{~EL=eUCvg>8c)Xa>T(U*2#wn4erQd_VP zx!4v#TNFi<(sDNM7iI=S>J&BRkhVL5-W z&dNAB&XK(bN(&k(h%GgjJ#nKoSzcLk$nuC?&QKGWo7QR;;F@fzw{6{U(Op@xU9IOS zd|j}gtn%d%E`uVKOzjc(Ah}cUMBkh0O=fZ;%&AU9bT5iGdD5kczWt^XB{UIkKuuJ! zz~pKppLQsz&EzHt8?6yJk}Xv?S;ghqR3?+TD=d{8B8)h$PF_r;hc**bz_O02`@C4N z`Rr>pc9&{FPYPlz>o5D_TI;9BlYqmvxe{6#R6BK zKZxlqrcGp|lH~%Y!LlcAv|{-Jx1f|33yvr5saclrvN}oyMrHSBV>-Qh$bfVP3bkjNunFzZ`4Ihjr zx1Q!x`__6oHc}n6N>wL2M~2r9*~2=^A1#R0hO)$9b1Xe@?l+oiHvyel~I$HpB9 z1w|y8+O=LEDAyNVAJx^{@GVBV5uM$M3>#gW2-rTyL}S&!MTx0KgiRz>?kH1&pY?Ok zpSw0aTzkHK>@#CaeVR9Ba z(OqLAPpVvD%3t;)Mr+BffQja7FUl1nbYNlFs7cGurp81q8#eNwRn&Tcf?OZs^R;a& zC}PRAiR1JKUM~2eOjnN!ofBowG|}ipsZ=^Hjdg3H$z~@aZ6->LRrj@b5{Xx z9NUSx1$Yuf1bkthU=fJff;vR$09Rg`&6G}d7%baVHkXAWR5GFjq1r@7ibBjQ;gwAVRA_%+FS!B(0VWV;uCgUZ?08^0F?J2rS~aRkQOe$ z#R`_8OjjxiAKFB|l#+gt2qIpxAD2PEQwz7yO6?m$B-AsNrc8!KN&s$cpLv1siY975 z**dK+ZXdU}+dI)QbfMwHt+&{ zH}QqlM|1s{h=eA(b1jA-|3BC6geD^TABk&*uD%%Q{ZO9ZpkSYV$8rSu|G9Jae4_ma zZ*J_@dp41x1mEoki7+iMw$hvNXT9H8pi*!&5fWW&!^Pe*iwj8y5G1PD0HNw4CNcs8 z2ohDm0bD3{K@(k~AzujcuhCsZaJyd<;d~+l;pXPr1x>{9=^PSabQ=QVty~@GX#~Gi zcw+&HE|l1sHV?((-J1v;#PR7I5@BqB5E5%)06f&mL{4BLj+63`XyYFbztu)(6P-+q zU%~lA2%=3y?7mE-PqvQSKocQ|P5L$wuz@B*5F6;%M2n-?i4bIf6I;`ERHBO;3sdtP zr-vhmKlm72aI=Nmu{h3bMUXCMwsIzvpyXzoi>~3!Rs`w(csQp*-E0GAwjxM3E(%Y! z@;_uEoY{&*htNbG7cmhD|B4%Dwj$A?gNgd>L^!h*i4K3Z6XDF(p14GlTgO+nC0roQ zTtjeBYbV-FM0^twpU^~CIukPrIJ31|F4yGN-Q$e1lG;Az8iIpbJ8@1YdimwcmzVI- zlZkLg#aB>%>flN5Jgn%z0sY2;~}OAZfe-AuD;Akjb~ivJe(YNb-c zIGjYWODhp%wqDPzO>R|WQ6X(C5fkWtV68elsMW6)d9IXb*V)>z4nj(FR&Pq4M3C7! zgxi|j%8HR{sw&fN(uNFbO)3#jYo!DwVu+aH=5ae^hm?r!u~5ZKA~7Z=I0j_4UdKP0 z+zLUhe;_E4=zmURV%)}NScxd_**#H0R+Es~I*flbxfOz1uR{@n68R4nPRh7f?u3`9 zRirDCOfLiy@TEK;TKtmP>R-;KTX^NoL`aFI_ht4QvG{SwYy~1lAhVSkK)^n!79Q~t zH=Pfetw7Y!xju?YR}v93VxK$Cmr*667D7G|5MfvVzp7x$ne}x>!=p-+R1&ad77%6F z4hym;(T@GBiARO^z%PeHjFj z@_^_v_$ovmQzlwtNJJJR!~sAwK?8{#jQRZ+=U>L#G7Eu4Kr}&Ua8GpB`C_eq;KtlC z3jsh>Ar4V6VQ zMBE4Ni2z`X%Q=t;0LDigcQ0kNN|fH;PluG~tX{hl=AOtv0Puek+(y_~ zcb-o<>qaPv=pG9NY53*beDkI?D(*roEO46$?tq&8%45ub&4!bRvOip+bavIZNZD{* zYx)WUSl=4$m^8VWHjf4f>@bK>Ka{&X`Q3gSD0TIe!y3AZltTvahptObs18N~e~I^S zPR5k;IBnzSVI^u611nJoi{!2(iEaU1g}iYr5S6}}T5Rc(MC>q#aMDb4IV#b@H4^ow z2-^$jHw?o_S!6!X=~7p~I!FZkCEn|!Nlzlo2q#fvF%jzN9J9!mNavewQdqOiPO3gB zpjM+r+WI6<`W&0sRXMeBwZx&UZPo?W^3{@duYG^zxF&3x?YhGw#n$6pjY?Fg(vEbs zcY4avnrUwc=U3pLY;-r-f6E8PR7|ts=w!aY>s^7<*eT3aOK*0la%>Ep4J#B77VnD; zaZK4+r0xFBO~3XtGiUrLeFIeze|XiNIT4}~^n62%_J>(txgWf2yJ(+a)h-dOBb^5wZ25O zBbO;*y~1jGL!^EM{{sL5OQ6WV-o2Z z+cEM~BK_^OhO8oMR|~#GdjRj!+QUm|Xa)_hlFLnOaKhJWx$V?C9@ zm{li@J~{!3*eU3RjXiW=OKi;Y0-KEhAQVa>uBb{JQx49Lj?NFpdhJI<*YT{0eB=w) zb&fdwy=iu8Jb&~+7Z9I)PFm7uY1&FoPxmmfMwxPZEiBVkB8LUy%5F~DG|h%3Z8kI{ zsQ1smb(%jrirX5`(VBVP8{$_W>zq~gdNPAC@62|~4M@aJfh&|A_j*;##-!tPHaxZi zez121J5IwuG-+4%WFxnUl-h?>Ijul|mc4N0hyV#LEYdC~z5yyN$31ai{{V5}QyIUB zw~azX682Ue%W6z6o#A(!vRP)F*6zfz z^7%^(o3q+vRvE{KcA4P@Wa>3GNlo)AH6Pz)k3ab3>5O4444Gr85tBeMA%bPCK{k^H zjzrCDB1v5$T~IHsPS~1iVZ%F#h?u2E|fhHlVnJ2yBBz-*dc#2gApfE~sZ$&Km=VMVyEt zX6#tFe%mbHTu**@BUUD6rq|Zk(Ns)KTK$WnW^_TTIP*k2L=i16cDswk)FLYW>#qRTfy$M#Y0aeb# z0bfwd;YBTeVs72r95u)-T35*s$RVBwDB^`v`Rr4nDP&=MzpLc^XM0fY7b2nS>T&(V zmLU{nwOM>Jsz#ADko|8+-T2VcRN3Po#kK0 zr>wTyP0<^*VUPq97n1D5!_;q6=sesvRf!#<5~6#l)E%xqC@~Wp{WFN-! zvNLyH_T~Qe+?jpke`85+?j8xz*%Hou|Ml&#`uLLC;=~|mbNbdAxAAVE2mkOwWnzL# zfIvj@i!jiHkCrx?*A7a--@Ivr6(9}079V~@oCX6k^@4=^ha50@6bJ4Fo^>Ys1Gx`E zs50o()f6^5-K+XGn>!#=|AE-Z=ZVlf^2YhnnJbs3{lk{)UhdF`M(-4`uHN3VLJ=#F z{XkK?-_EFtd=$DBPP$b%M6Z_g{Qi*;y}fnk93lGt;{X|ed$)AV1|J0*OR5U9DHd?U zci%*7aD@c08f&8(2?I6+Vx>>!qCo-)dqkkPGs2uKNtZr;{ZnZ+ATAF5$n%jcLKGq+ z0LLl(s($(`gnTH1XNlH}(IeeG@u>rG=2P8&SuZ>=578y zIQRX^2h5VCQqe{j3IbH<{rkBZLf^Y7C?^t*aWLs6P_EfcuvD3Iv51J1GgrgnYI(P0hH z+R6;orS-D(-hAa7@}oek0VS{m2(ht|0bN4PB#xUxqQ+>jfCo`lG%zcPllEt4$f4#2 z?ct+em&yFa1A!+@Gb0j)?3~08JU~F1-CXcCt zu zGBN}HrGAHRoPEj>Pu8nkoM|`u8P7!aDToh=kgpMVavkvf+UsH*a2ATIrtu_69>O7> zFCnUPKP6QNdDWFutgvw}QHCO!&U~L-g$b7B!b3aYjWr@0=0AV2aQnrS3k!(HASp-< zS!|{1Xq7D;JwcKC=c^$H3>O3ZxCCZ>1hj!(p`I|pr(Q%3iC+nmP{fGnpJuj#okbm^ zuctba#pnHln?fjD_tO|GI3jg~-hCPPvF_yiN&7adi9Fc)RM{9KPKFA+28W6>szb(7 za6w_HGUQ<7{S|~RYQ+>>>odNY#>FXWR6|zLLE`rc|M!c96`KnHfe~6y@N=jH9lkYG zX)vx5L2BU7C~Sakonpb5)?|-LB~DPl@C?mpg&|p7>ya~N*DVEt905l5vrLV)Wa|at zj!@<-h2>Sj|s#JbbPoxUPh zooAVBSyN}pSH>krwJ_`=*xV{_9mLSiGk&k|X4NsCiJ#Hc!cDr zk{JBT*$_Y-gw(vvxqy}JAdwI?X8PezX{_PgqgTrxK7RD?O7zFFb)$Y{;$lN=m59Iv$sYgCFXGtpn_5juQ){AtgkvN*0S{uvg#*U~?g^0Zh_%Z53L21~TEixpt zRH{6Bieed0F2Q%%lk)IL|0(ZxY3I&!Qxt^ZL==;VTSDbh=_pYUiAJJP=_H~gp+Hcm z#3eaFMMK0TB%<&moi*e2%*yPsT^8Rt-@dKAPps$6%)8#b-Eno{Zy`D)0wOpZVue+0ATd}U(vkvT3Yk7^8MFN*b9VaM4tjmqB(oShFMoS* z09u{q(AZad_4%eLni|)XGe-5?exx{_bGDHfnS55p(cFnd53lateeSQ*xj|3NlEz>J zD33fjZwgF8_kO)?ue=3JB1N7c|5d1nOm#zMH=7a!X41Ev7Lq&xf^TAy@wA15)4J!2 z7-faww-Rb?RcW&lh2HdsCycC%1lEI5`tW92)$n-5fM+J}~DK zHIc|sjiZQ0=VAepP}E|*s9-y6bCv8aeBxaPi!oOi)Fy?&WKJmJu=T1N&aAnzAd&0& zV}M2xw!&@HZ>*;wxYK$PZ7S!a8DmVN(NPa4lK0^QMXRH+Xbp#s!IZUjCxnDj9rcPn zig<-mUWUE@_1rlR015*V(;S$9hX~~)c_?@_5b_`tKU;=wZ#1+6H;SQIv<3l>O9T|S zKy}C~q*TnQ-(0@2A>N=$gl&DP^Gv2j=s_XW71C_#qM3CFS?|tc6qQp6H3{m?*sK`X zq7%Y8MFk(jZ<*(8X2nEt0E|lO4RWl?B14lH_RX4br0>Z6dmDai=I}qBJ9jAD*baRom+ox!brV#1&I~psRpYix!%+r_SClZu^bF) z7_tKLVtQbRZLBPo?dE!bIPykl|@&p4TW#1`a)wUCu=^t62rZ{k-_@o7lo5iT-ePiDU(WPxwj^6nqT6dhPMYF^Z7%esg0`^nrpuE96>}U8d;R;y`-}gt#WC z9E<}t(FKXZ8|#R6ii}iJC=3+ld-qqJsHP&l`W?aG<6GtMbzlSCp z-F){_ltz+>v$3>hLRS4GELzU&p9Vs#v}IRO-eieTTwzIpx8}ROn>b-BZPHM50Zmr8 zQjl1c_}GS#p@FCQDq^;lc-U#{ZJ;RN(or}F zh9u7Y6cui45!$|d2zbVEekeK|GqJ#d3LzTEDXE?`Ih*Hx=tQAT;1L7a20d6Dyfosw zzgFBe2=TAqIjubkJ$-BKo#U{_;jK5+q@hvAue6n!F3OGe@=O{-f8#Bia44`JMg|VA zlef0)ICms145FPaaD6UIR*0A!s>k$|)^6HgL!_}5(Pod#a`Kcq7(83yRcP9|AaaBT zM4Pd1&Zz=Vrd@Fna57Os+Qz-9TE|SPfS!##q924%GQ^a6VbAC1$UVwz%!;;K2T3Gy zFXwz|v6ivo3NIKLM6cUYmpWi=5}-&7dm(P}Jr&SFBEpba>5nHeWb|OD>g|e>QYa-d zv^EUXN2sphh$y)(Zdmi&xfO_x3Ze)eN{c*WBYfySy;vCHcA6bRRPeuBj6PsUV3tV{ zK)IoCI)teRySAFvB`Lhl1L+ttMfTwUv8evwj9DX^MG;ch_f9gR(97cGF>Cz;Y|l&y zWEU!aH{u&Yu`xiYd7|cQTK^F;hc2o2gLWX^=6x6$n&PdQOIG;ec8UH|_RvPlm+_@*0{}7`4r%&y4h~&^_-rs#axOnia9oq9s=-d=V?>&=?c6)>(d^S`f^RN%R zD3ov|C_+h(rVBz2L5^fo7&VVO5mhjSFV)JEF_6R7T15ykV8wZ}rW&h2E_<$UWy@|F zN2se%>Jl15b52K`V;Az$gGsAf59lc~G(%)4*Zs3Nt-UGl$hAL&Xgp)# z`1s$$i95Rgj{MCj!c@9v2y<#bCyF*B26;Xg0-gNd3n~Gxyg?VGO%}j&>ZUzmNej$I z=`9Bw45`|dZZv=Pt`3D+VOWuN0-+Z|h$k`Be2DH=z1r0p%l_+u(PDm9(np;c>WzB+ z^BCyc`|EJDl-2DxxG!ll)?7ldSX;^~JAbKl*Nx8yD?_bF>-AWwiLU=CM5A2|i1y55 z*(uWW%p{GyPPrVy+-TcZ4@DB8v1H3`Ct@Z|fWa-Sco7JKhigGaKr+agUaFDU4;5X< z<4Y}L#fMEttNED+}MGO;@(y5bg z;KSG3o6Y9^z{h_)4mm#JXoMn3eTqrko0JQGWr+dpOl9ehv<_nE z3*!-;Jp0H$Pf-}G*44sEQK*}hp)hH4b1HWxL&ZmPzfn(+@s7?_GPxE2=&83%`KDs9 zUPIHek)iaCDA!}ACpQwsDod@;$7Z8;-;A2*(mxnbe*jJWjmk{@jsgGx002ovPDHLk FV1kzEe(nGO diff --git a/tools/bevy_components/docs/configuration3.png b/tools/bevy_components/docs/configuration3.png deleted file mode 100644 index 5fae812af073c33b9263c6c681379c3f47d9476a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16328 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 KMNUMnLSTYXT?!=t diff --git a/tools/bevy_components/docs/copy_component.png b/tools/bevy_components/docs/copy_component.png deleted file mode 100644 index 9e7efed861fdc6f8be0fbcc4290426fa3faf68e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34640 zcmYJ4byOQq)c0{HP_!*B#VMt@dt0nH#VxoOmjZzxEneI$#oY@O*P;pTmSVv*SRlaD z-}AobJpb(3GrMzV=FXk{e9z3?C{1<6=lIn4XlQ89m6bkfqoH9U(a_N2@G$?C+%pTf zprK(fXsYVSOG!z+fB&9?gF{$YSVu>Pi;HV>eTI{hla7u~US3{IOzhLAPjYf{>gww6 z-o2xspioj$5>N}~<>iGfk25nf&(6-agVeROw2-&w5)u+LG&C3UspaM6`|HzveSNjH zwLU&RZIPe(`S}|f8d_Rf1O)}{?d_+grfh6%+S}W!s;Wv#N?L=|z+kYmv-9%u@~>aN z4D|H}2M7KA{WCK&6VraCr>8SAGP=6D78VwEcXvleM_XE2#>K_mY&NE(r0neM%q{OE zBqWTDjTssm0s!XO+1bX%#kg2KZ6B^pV!NJn(PbELA@ zn<}(6|HKdL`##+g{5%)i)YR2j zh*H{J;0yaXr=GXMi*iS<Gp}*}Sa`wE zZ^rMKxi{)(wFtH>#Po#KyKUSK>tsrSCz)8w<*|0v6%f*X3l5~BVSekso_-OCnn2;n zk4c!AjZUSUoTRT!fyPrHWvTwArSdM3My^*qK^>b{I5~C+GjQ(+)vyJY zT%lKkL4ipnLM3usDyF;s$}y?I=ebk&B+G|*xhy<_6>?j{KAZD%lm|BR`%4FdOp9!C zYf1WJtZZ8+=oI6qjhJk7Gr~FTf}a#o#Y2aDaVYBjkK8jiyzi=Q5F=P|l^=EGU(1zS zx+{Xn?LJzM&kSqO-D`cIM3xuU@yftSr@y^+THeg?Y23r13Oy?f(d5bSPf^e|D z!xl+t8r=boSQ!Vof!-q;g#yu~&97&Fq6Poho@hQba`?|*O4Jj36wRG5NgPci{F00r09^lR)>uU88V(rZq{B zD2OZEfxZ)VrBN}wF6q2T<&8Dkz&_pFn(Q)7Wl7(V!Km@=QgY7O`>R*>2gXePC4cJ6 zA!qyVQ&`ok&$WFH^AE<#J!d8V3>3(ohSmu?+l6a?W_KV@1-YoJ+B`xl+Q=<5*K|}O zF=~zC{xpdr3=gGXgk}=0MZcQ1j#H0Fa_wks1qw6Hfar#nnV3DpQ94vA*{|ef+DmYM z3w8?f+ioXtw4WY_D88K|l$KL`72)5doR+V@A@DW!NdOe|A{VVe>J{?BOur$`u6%7$ ze@w!7>!pe~$q$S4(ly3Zev(GTWVRgE#iR}A_x{6JC*9;s`(|vsL4T|&bI>k6N9YbZ z4`J%2V}B2^(jTYl-K|a~kaCPPU1ms_D8kpg%jJ`)zvh}iQQWVr7&}tCNOra($|@ys z4!1z0&7ZE2UH&2*%j(W|lb-b-)Y3AxQwh3ys_v-;ZMb<9A5<-k5|9o|VWa}`o|_oI z574xJvUmyV=PtZf0)E*L{AO9}aYmd#h~FGNDK*#^HW7Z-D*hE(?3Xtw%OZpj2kl&6 z)zWwCJU7eqKQ-&bgX?PrPY86k2x#tH&x$^UY4{(&n`3ZoGeMKOm4R0-nz90ZSWY>E zJ=1GWmhCbux>yN`J`&WJ3ukRVMsknka`8Pv?@BLtN32Gf4&ph?0L$|VlL!)>&x9w! z5werP7@(avH)Y8}P@6eDPIS#~M|YjHoEbS|hi`NzF3Y*wlD{?JK<9ME`JZ zu-f%Y(!@;@4?Z?l_0R2u)VdedHC0=nu!PFpsCPcx@+VAt7$+e@#~DllvXgjy_Hsnq~?vLc8p z4@e*_xBmAdBQNK=on~*0AC9%ZNKr1*=K+uNhJ;Ql`J5BA1N~qEu$?v|z1@`}HrSjV z#dnMtIxT6PHR)_!42C$T>8@4*+63GqdDioAx?yCAUs>#pM zeq1M#kIM+TtI^sr^MsgSi^=xIgyK$u+KMK-$~Hvb$%c8ypQ|ERcI#B$klVd_`5Qxa zKB%)vtU@>NH|znvV}JUqhJoQnobW;K)x~mh`xSx*ve#J316Zh>&`a$`0xV7G5iFYhsiH-ibYn6;<&B@=PwB}fAekx`Fm6L{q#qz~J-M0!|Y;$f-!+}8p4 zHqjq79r(qIl0EXAhlQTs(S*e{*kK-}cph0|WK~M?CcSvug=8xqA5bFC9wg+pgfEPG z?EVaJ)O~U>lnF9p_!4VI7ke-#QCJvIcz5e_dinQju{+wGulg(;ZftztKmGU{w3qob z`*^nMJ%K+TGyqJ$cjbk-`Vfx@;ixb^2WG|9c=_r5nWhIOccKeNa5|E-vDov7SZ)LpRxyp!m zpX|u&;x5)MyGJ)sazr;KBHrh2)VZ5B`vBmoYen;@GGuyFHOtbsTa9%5$KQVubTIX- z>Vd#62$GwYKttn`=x#n8SQr=%47dCCSCU+~C>`aOFG_XfYv^p7!BQ5|HAznzIv-_& z(JGDOxv4QyN5Mp{@mVssjX$x7#3V*t&{s7{N1QLoGMz4;OHRjpUFXw<%q?0%b@c3V z?ae|=rSU?{iAaQgOH~u-&<%omtZBXT3V;B;foI6DyHOW?p*>e|b;5{h@h6F)`^jaQ z_4Os`X6v<8R23!eK0Vcc{eSBsxl~{3uZDFx_=tHwv2$l6a!SwK=Q{=2WzO+2rqz{= zXCuMITw3Ux4<8(DDI1|&P@Y`fcE0;b<|KXHB4xf77P~jrqIkgjmq)pHgi#ZRT-bWn z{!CD55QFuls9iL*&*%nsLzaBd)xeXvqk3q&g4!(33-{f918#DWnw! z3Ox0z?pk|TH@d%?Kb)aE&H&vP9y0)BXh_+YT~77#uFZCNu8vKUv!bkXl3uxg{PxO8 zHvJuz9H~#qL-K@WEuDBWPfor3lpL}Ocg7bFN&r}x_!JkfpZpa^8DFV#QFsH1BXIpU z#Ioyk@gy3Vyw#6bd`lkbDEV!Q_oekpia0U&GDgx5iWM)WF-3J>aSx#Uy}k%i8_I*O z!4^Y4lcT zXBNa#Lu4|l0v~@IkA0&778k^Q&(}isbDcxGk4=M2#$w6_IN zM1ODNj$6U%M0+0GGkQ5_4h&{DW^t4&7QX22Fx{9ZmoWF2aV?_#EhAC|SvRc;#l5Vz z_>3Kx7ToiJFh4K!b>AND58fIQ$xp#}O%$&?lJU;>K-QD*0K4miG`@ zkS}~yrsYwh{6s^TJsi3l%s{=>gM4+UMjw`+Gr%a&D;T9nLg+R$(jbTP=Zz(et+ZkO zcMW4tET;YH1#`7OWxH07%V!U_!ZlHqF;YwKfIqey!fKy8K^8^d`Q6tO$4I6}=kCa> zjK5N}TO3X#H}>0c{%n{WYDxJFcWBCun#`TQqLcwIo)O@lddk5d^{;>eL#a=^_&2sckxhgC z1RY>D&e-qz>Uo{ZQ_PpR&UxxA*oKGVOH$9gy$g1?p4;^~iEZNQu-yv#Q9D&M(kuqrv3 zlMd{c#FZN}8t+pMD6G_XtAV#$w3X^_k%8NxgGru=kJ9qT9c6tGq30kMpjHD-yfVy} zXngWV^PV7~PG4$4bo?QUh7r-Tf}I3sL&V(25}630L!aJmRsK6l{*@Oyu9K)Ofyem5FSig))(&*~+ko3X;pRaC}FY2Yt-1qLUw$CU95rB0{;}1H*`a zs2S>3d2jTv6`^y7(a}5DbLK=!#(Wf%6H|EE^P^;B(K7BMdAVN|iJ!p+hv!HTFOUjv z;#`ZGMvmph?T06zBt~#CGA1Lm?r-rHRfAu7#ICs%0wfK8I=>(4emWb9AnG;|lTnWw zPk8`#+@{k*CO>0%`3l zv}kjT*Q_;8aOT24mEsELx0YG{SjY_>)$%puy`DO9D{dsOG>%=rc$aSLya<~qxeeEn z)^{d)5)iJ2zJ=|N8H^8C0hHuC#{fg>@X~Q`AlCjBF*`fMjto22dG{yACy}kg(%Qim z-*D2=0IYIBVc0LpT0Bp;&x?REu8EbN@#VvZw~wYb`bNJ(y`?iRfAQCHNC>?InkDAF zO27YPzV=r4i`9UMTRb;IS-DMsfxubUi(y`2KpKZ>6zCWKQvGBDC3(t3vCXcqBFPcp z_q#hD`h4J)W|zU5V5HwK2an4I5xy5=qbdo}hc6d+CV?IFeooS*qnLLAbn56AU~=ly zF7C|-S1{qe3k;qNVAynvBYpY16d51go~(+TlLi3QPo@%2KiID-D^Tw$J8b^?xMdD3?$0#33XwKNA@%tz*ycf`ll+(#KNE`mM;E!tX?QJ|f*_wJU0Yt@qbQ z-_8vSi&N7Gj1`jr%hx@rRdGTY?AHcqJYOWViba(hsKtnBcDv0gG-{4dVZeb6S}wt5 zMeL6@G>8!T70`WV8|eBxtoc`qS_F>NTlV}H&C^iWkkX`c8D2ib0&%@B_J~nGRBGR1=ts+3jLBY{k_KWH5W#QXke}uw9lChU>l9N-pfa9_XX5**|{p4J+B@HLxEMj+Q=hqL{ zaoH0aN2G0Vdtx}q{*t{ zh%jVq-=SnmL3vl#RTHqogEc6;GI#IINw&Q{L?o#dQn?_VgW$!$x6vYw;I2RIB`Cz$ z_1V6H%77a?jCj1?N(-EhNX~aAM&xLMn_Zk4$Q!8zo|u)gGFqbioiaOmf_YHk#K+cx*+lw_`;eB2&0s1m)($zANz&F7GLCZQjrwPl)u<{D8LiAi2~|e?l2+}^**hv)##Fu zfAPk@tnV54=qPLk zrfU4x{ z>q&6PWl9>vM!cJm53nd9$(lM_CTU(Hxd|wBnGJk!knlJmIfU26Q zs_+mm(AbRSVKDpp^*gQt>VNasVI8ks%ZbInDeU;gLE4W9P*zQJ3B&JO$w4-~a@bIM zKhvCy8*1TA{rt*Cs_o_a;6TO$@ht1^*Ime-%|&e&86qJp=_u6;HhT@DcKUSdOp z4+>b{(WY0TyPJ@*8svi}xNcw20V5lh2?)VFa*+m6Q|xAp05+UNqjv?HMY;njsxve=GfxSzUq}87!~KEl z@C(rTb-hjKtH`cF7BgK+&v@iHYO1eww0&~txUvCVeTs#F zjzKLvqL}D@5Y(Hf>rxh;2;bzs z+0CT5ZdUhPLzFIQJHnRlg)fLB^Aku&WWpjbzPuup&x|biHC3P-u%CC$uXX^gi%?&l zxo${*C~n`PB^3HXOJ*n7r7_cvkTX+%xD1d1`UXZ+9UujOUC2M33URdE6d4-Qrxisx z9xu#l7Fp(J-c}%4h5Luhs|3bNx3iqGpJ*g^RPIBNtQQf`V*yHHzV1#R2(dis>$C3P z-4hTy-uYIm(wO=PW8-H_#bXdV7D_`sKCkdop%Ol|SR{V-h7}71?P(Os*s~1+#Mwe7 zXVLX52HbnALYFc=w^)UbeLOto8edw98Kz4Xe*DBiKSomb_sbL`}x!PIl6K zTMg1s*tOeyfWkUADPz^-wQNsZH`QqP`bXZhe7s$Mu6pwK?U&Z&x-<##*0*$}5~s0i zW;^gY*-tz^wH|U0H!^wS^n*g$^x55y)1zYS=`UX)sc0fA-h2|SWSK&ptp@$G@oo)P zO5u8x^Fzx!rRIUjh+Vh3n`buY*#5`ZYR98NBbP*kcl8c*RPAu6z}uV2EtPP{+?keB z{Lc*~oF}gzS7YEp4Cu!2Uc%@7jSC6Zk?6CBJ{k>A0U6^aQ)pY}Z++HEpD2@K&5mkN zX)9(s^03{PT_G`r&bcdF>gc(SPXe12rm_}&KPsJ|hy2{~*>B=}0l)uDeVY*=YlIyM zN{O&PRn7UVT|!w*zvj;ot(n}Z8kWh7w$RGrMHj6$22~Z$tj>x-JO~E|&+Xx$2+K(1 zc_zcvBkGs=<;NOONtd(){0)VDFA7j<@>(zAa|OIoCt&hYZG00ZD&bY@`c>b}CF_F<G@u??+;bHT~vdch>NXBjKa~65SniqAqzF8W3JpSE%D9dDc zbYb7+^GGS|yU%0@fd@gI7|ZoqZD%Tc?y1k{0^?gnx(I=uOI(1U3_*fvKWcJSy8UZd zA}va{)AjvF-frVrMsr=)Zg@6K6oW*PWDG6$H6KI6kC4wKh#=j5j`T58loF-B+jJF@ zN*y10Ndbl7ESmkF8SB`B(HjxiQKjs&Ooo$VSQfZj=xOmCEpZg`7d|NN96BK?%DM1B z_|txrM9~#s)9ytzBCq>WH+6wmW+2`6Hbshx&D8~ZN-t}HmqV8UZqnsYRi=6=wD;<# zec{Scj}GH2M5A+lZlZ~fn0)i0R5-FX^wBq8S4zBpHyg0(Dezb^U)>~-A7%zfqO~AU9|n`t*BgpLO}59}1Eo zxTZ|%1|=YWy=X@s%w$YBNHSw>e*3yn#I1mrM*v}W@_(e0xKEiff`fWSL3sF1WS8e# zr^l7iXIR@Aw_I}P3J|I)F=5hj+IXm0t68Osh^{W&#WFK5f0C1fK%g%mLCzw z?#B`&40O(S@kdw6_EDS{(T#(F==Z#zQGzFX-bP0f|Lk4Y2%MF=_!0U$cW7VM4aWu% zyz6Asn6;_@Ayhhnupk_0`?&B-K!&IwyVkPq;g{aK7uGrQ0^rGAO#5E|BIF-7XdvPT z5y02vPa5)l%oCyD-Vnn@`VcZRe|JaYd%%`@qYDe-3Xz@NKMhSBkD#J?^sOk;)t13W zVT{L6ocee_B70lQ6SqX6n8p%K+{+1x7I2wGpm<9yc zn+Fl^|Y(O2lPs2UPR!gpv>09nJycd>KmtQjj+cHqplTS+e&|O2^mT} zAMp5Drmg-?caQM}Igbk5DfdlZW~G`@Fc#(z<1<~K$wNtM2{H_guId(69nq{<=ari1 zBFT?C;tdI})_`QNTI0>K>K2u9aj4rG@^w&R-^@;upmUQQG29Ouv^ejVlD%Gpv9%b{Ww5nW(h9Fkk?FV{ECsdqt7i2Btbj zoaoUw)kyq_`Eqx5>@7dk9cFFjN+W?n$StvM&Scc8pa~!nb)^-O{rdmS-4-hNEBre3 zEK~9@`)T6_CUZs{-ql4RV)BOh)?hiiHM#NtsTUs@hjLOKZy)@~z6P1H= zhffM}&*7Q-V!aci)bYgtU4&Br#@@Uxow=m{LR(S)DydOMX0dX&tuJw5Y=L!l$@2~W z+YDFXF9B~I5dJN0EZ(&2wYTtvj`C^p!mDf8>m0&Q3f>&lJ24OL|C)B{uB1?4)|m49 za$~Y!N6fE$oMR^VN#y&rCqHb6Vb|D-+{0(C!teQ)^}656hORP5#B^%3BMn3>{5l6R{BQ?0^Eeu8clke zl;B2b=838_*=Nd~F#;DPDcobxwp}$dI_!mk?*r4I6}EFKFheD9;jN@%6$RGvBDKS? zUw@LgZI?zYe8P8sTDNl`r-zfP&om*JMUpU%IIK{z31x_bP^xS3EhJwN1$C*U*Br18 zqS|3ArRe(>MM6Q?L6o4pDM>OTqsU~zmEv}?5mz7amhO&wxn^xL~f5=hr-{mRf zgjZK*MEI!ez$#PYoZfUKkEqL>9p5ik*ac3cC9dhndO^APCrOK5>$M`NaH|To|?( zQt)h23a!pr0`rL>r{W*MmA7QB$D5nnX^8$dGtE>qhzq1eg+@WeDA;{+$HGP~ls-*I zNK8|3bF;R4*f@tBlgECkBd(*MIhwn+g?T3(52(}FwF(<5Rx|kCan)GU`JzsE#^StT zK!*?$md86d&r6xCW8WnBA$J5|HQiB7o+{_fMC7+Ae#Gfd*)xw;*GKj-t@&MEGLVp_ zzNNU$POH)cQbhBN!Ts?h<-IzREJCiT#W{BvWv{4KB(;XxTM<9Zt~LCyBbI2*0s-lT zZ}ElX1eE~+8QtENh{SLzV(3Iqib z?jF7(A|j%A**?o54tdD0kKA8T07H1PPE!x*>Z%#l?9e?`DFXo%IAuXn1+M~E+(;gUddQ)UKi0p9h;-GKHTo3-;2xS>{ zWDc3Y)BGDV?6!EcuclFuU7LVm;tgH+(PY=l*ujapUhV;kEF4+?$Js z4Rnr|q!dzF$KCHffqj?|TT4OI-Jp?MI%mxKnQ+FjVMm}011@kL^y{A`p7pVb=h5;H zZe#_Q+CC8d|3;|1 zKEd;;JzQrj7P%=7NU#u$Xhl?15p$U zVXR~UujsS4w}BF<5P$H&jQs=fhy((QF4?mS5bhpB3~;GUNiXO`(}qU)Ky`e1^pX4!aivtnK6w68eTRI6SUAJbfMq zi~-Mu-^mRsfoSx*Ma^b_x`x*KC&+-8X5!wgY>P@OA0-E%_-Qt#oV)6))>Mm4mv@pJ zfn%^q=O@`no?)D?c~^Y%lMs}4B|P&W3+}s?{P3p|HQ@CGgZLiGDG4W6H|kqAA#+Q# zg|F@MkIZgI3k|ypZ7Z>{L(^3)DUSad=9#LuOs6b#jqjdrR0jD!y?+WT02`VVSt6uM**poexK|7JkIbqXq_{^b}=JvxiJ_7Mf z8!~hQWwcrVxP4WU?JU{VA(vop0}B5E7q-&y3XjL z;Fv%F=pU_q<_#6oVnPrMeS&FH4vBLa&2iLi!XWHNRh5t-0(gtMMKI4QMTbezuY07U zXCOkN*m@iwzQSV=>(XiHMq65#0RL$}4)J|a>_sgipjzYaIUv(-w4h@P_dIlp%sy@C zs|~lHLzEXx>cR`L5gNO)z4+tt&Jw4j83R1MrKI36Jylq9{DsfI6)rTiq2>I$N;}9i z2W4?{aq&PS$r&xxHm#fm0#O_bK}Gzt8hR=YQJQ-KW0ExE(1ljyh;0b6|EKnzSb$s% z9L?xRmK3}3;jf97`5$t-`-Zm=5SHDkZc`q(2kWx!8CU^G)EL5>wC=!f#Kg-tMCnoI zK(6#at)7QIHrX|I=1qe?Z6F9pWw4O83PeN|bHY=_bXdlU-Y)sxal*Hun zHxEJ*$dR$ zx$3_p$fp%P6DSn-{>zRI<+0fG;doJ0pMemu3Icw3I_`fdJ+@~)(r7XP5#uh_ae5~r zV}PGxu#+mGRr5BmNB@@A2SaB7-^Z!y)pzbpnQDzd4yEtewY~c`R|ENuHw6yNN2JwS z?~j21`d68r$72l#&sP9fy4|5r-(CBoLi)-z)twSG_|SdB33gyCXDuk?89#vXVL`4K%0s~LlyI$VbV>)wGw4h^BmvyYNSM-j0(AHsjp+&1P~AAjMZRv zI(?#X&F!$)k53AL=HSnsZ<{wXScMtfPeDjOOgKCLBlF@f#w;Rq3Eju08RfY@gk6ce5lHo7|81B6l`PmM8ywp2p}CO8 z)irC;v>KiLe(_t42~i3G!YXkd;!3rC>lKE$`FiLlg%JmQkY*`QFDo(Ah!j)MOnC1s z{g~$WwB_3#bF|HWW!kyz{V1pj3lFvVxPXk+drr3^^;uCA#`c|S0KWEnhcr?poptZ} z>%MNr2KBxfHk@ItFNFKgP$tr5-EI-?P4Kb?13}OtfH(x?GEj6lF1k|V2+Ks`Fog{^ z(Z-46g0zf+rmTQF2%R<&+}lvC!zNSMvN`@%GVGEg@b$D zl1I`PMY1HDtck3K+Cl@5)It^Ik&MdEPX?yy$Wk)u7?{|~Vj)gJiNX6Q(Se3RnPDT% zp{&sWr#T$>uIxtCY?#laMob&I;h!nlkEw2g23|^^!`K#B>-*9_IY0UW#&R@Hl0!t? zMmdB*iE#Zslo#GJOk2%90wqH^L+)E;&1Wj3H019M1sX$cLk8SGDcxF_m7=QT1*nHQOLD&pa* zfiEKq+kLqtF92GAw9iA_3|zY1lQg(U+||ME);L+2c1pu;niCMdWWjc}cIb74%CB7E zB-XJJu5cy84NQg)7rBxX)sLImVreLcSH8<%o7n$DSEs%*Libu?r)GV~+R*LR58|2a zx|{q~LM`fJD!W$<>@r&}t7%{Yu z&D(wA`WwZVau^ku=1lbP?c0T0_P>y*?6)60x#`9+J-8!6Ur_sm+B62%7nU%tV7YGh z-flrp+ja@wcS@~p%slk>e{BG}bP+JOZ`me!cf{*w!}#Q2n(+MR>ajxUH1gvVc&`#M z=@SvifZI>^H$0azXlE9gNZp|`Yd0s#{=kwe`F#FjloZgYz;JB4PyhLljQLBb=oSMM z-DzRU;-_Qc^U{8f;OSCEeG{j)Ze|DtURqYIbRSTicmPZ6segRD0NDYTb$)H$T(s`= z_kSTK>q;WhFQnwH=lFNNNZeyw&N?Wce&@PvJX%i(zsmeUKPw)+hYK=fsi-FBllXz& zCaAOn1Ouv1qt2v&lW+IhX3&3&m8sdmCD2kHerH;E%t1-bCyjjZ|05Uo0MyrTL%*;m zx;)R=K^i@{iXU)Pz&-q~9tj9Gb0JyOW`EBBw9ZsT@rkpXE8x)QF z9o~~V@+R!nSJM>fV?z7<30mAw4q%?+)aN#@)Cr$UjsUB6utKXYi2t1!&HQ&_v}-xm znnOos?HIze(vOs*C3_!A_CC@a3!gjp1y`#{gfD?HcAPxR9gi1<@w%qyL1@%?mJ2j=>_&nzi zobMn8ESH6>@3$rCYrLa%YINT8IzcD=vv?*+ zrAN0nGinu7_q}28?rj%o2bmHp9XD(bvfI}&x$IASi_+hxiS3909-V8!_J@W zH4-Vf`%Iqwl_S0)$ zQ2;t~;4aXK)nWH+8I?b!v2=^TczLOyhIdOB8eI~W*GA4k!a~Qa5haU?_ ze&=_&>vl( z{d@hMcqKsqdUG2qvHQXE(PiMzhAg~x$Ja84#zQghltJ>A9+qsE*jNVzQ}ASg0q_n# zMA}XFFORnezU=) z?nzWzcU6Sy64_npl9~IlMOLFb$FfQN>4bAPD)o2*EENE^i=F63YUxizGT>r7Af9`< zp~uJB)I1bWjRE&Kz=Bm|S?~bh;Fqqyw7XWB#@j*}$Zt5iXJr3;gE;L~8Smp`DBd(7 z&+caP`~lY$d$N1mVe?4f@{9L^o}>B!|*LnDj8uq}S#u%#6{`gY2gN6=4DR|wI&zf)_AsG>YRmAT&` zNJ;>_@`vbd2@DAwLg5Po-fk?T!NJDNz(V@f8{wz^8l?8twzWV&1NN;-uqn2|7kpil zXSoV%G@k_oz;CaRIz5o|n4L^=wPr_L_LqLUfB*jV^31*Jom}%MV4i)RXrn(Sz}?Y@ z+aEtpG+6$eUECEB|HitU?urjEC-E;WqIV3nvXL>7#<<`Hsjc-~M}5=SmkRKdJ|MqS zUF}Et+MTw+RhovGYuK&?KRmWH%!<U_7Grv$6E0a06EH&myz=h~ zN`IbHDxxej%z+FhWcuaM6d_QIzl$yW2+AB7iY%)|KIMpsF`y~?4=9s0)BYk@iBA0N z(^F&k*PE=2w#no5{@yd*2^9j6#BFtawZUHlG?$$_;`%)T>`$h`sF!Oj~3XFQ4 z2If5NECE2dxl&!$U74`>O6N+pxrY2N?V3f`wyh@P%DiK)RkIKge~EaJPiO-f{mC4# z4`|SIo7UwdXij&I#Nu1oj)Of)oNcA$C>N=Aw7KUxoF9Za;4y3FN6TH|F{Ig`$puvW z#Q1m@q%05$6I)z0F*>!Arp-fs>y&aaF`q2Xd740%}3#dp)2B2ZO zcCC)TBWcQFk$}9&Ka$vq@8M<_r{Zgjog(~``n);ud&n@7zaca+yGpm+#_Lh>Hu6?Y z1F;0`dRpuf@}uzadMzEBfUWNws`ZGJ z&4bFhmEqaHbsU;L#inRAuxGvaikRAGzkO@Q*Z6C6wA_CfG|KS(Us%dhy|x$3|6N0y zQ+0O>c6c#0qQ^_1BF|N2A-@}_r-2ZyjQ9iSfx~XA^3Wt2eOu>%HJlodPG8*Y5loh- zw@Mm8hI|q?D|+Z>D*Rj>Ix$LU8LljLVnkN=yy9HnHko3_`0@YPq`lm5)9&JF=_u?k z`12uB9)r0jI96u4H(?L5%w33(Nsfr@uFKSVHmC;ig`aT_CNE>Hc}sZxIa=dA)rOgv zr@b8EL^Hz;*4=`BzrtBu;q3*FFh@r+#xT_|7f6=hS-fy*Eo4p{VNu#<@6!5cht0gj z(Qbi^A8$dX-4Z?8Ug+pNXl587~?7K&>T?(u|&`Tw}a&el&)nJ4lOYY9M%l4F~kLjSLVMb>FOcJ^ugpMP+XH063Z^~S_e7C|*Rwn-cqSJOZGhBNEUp2b2P z*Gp4sFNyH_kL+&yt!7#$pTrmLsx(l$xGaL^Rk6}SDc8R5mv40VzJgqhWy z2AZ~-TW8W}yN`)E84ofTNwzr&Me=PgPYC{wmUMdM{k*Euq|{)7p?1~3DDl~||HQxr zR51^D&wMI(N-K@`LC;l27rIl4nWb^kpB`l@ISC@_@oYh|>f*?9nIqzLy_s?JbhqlT zwpq~R=L|BBGXR3K?}r_k*ekDCRGO1@zp&n<7-U7GCs-e2@U9+=ny&@YPv&T}f`N!k z_VrB(IP-$%Ri5R1u^g0LFgPp|0Y(68k*RDx-g4Ng%+K+ubV7eRWW|4ScdJ^0Gt*&I zI|?PH+SCs=)*$qH+ZOk2&e5!M0X3qmsS6kPI^lmkFgv~zJp zqS8OvN8QN`yzU5mS-6LpRoncUvqpfy*?~r*9=X!i+?k(9k9J@cM6Q3t)(}@&P5>9+ z?BF$M?}@RvynYQurbP97vJrni^VXYK0qSuV*CUs4%)Qj!J^N{KbNyQM=<-^AdIi>! z&2h-Mb$NYw7(6yGJh>h^>Wz=K=Pv!7UlQ@`@qcx2D+Cvb(*vJ)bqSQigdg8VBF%Mm z8Ti*orFE-^s@Xgm94Y_ZCvfV%=fpBM8{#^))I>DS0`YCo5Q$O0j%HBlw65rqnM3;l zQp7dy)iJt7;dUc3|5R#92t;4)=g9=nckm|EscfW8)Dkg9Kl3j^EMEPe9%bRBJLUtp z`QMZK1qNm0AABCfa5zHujaxza-7)%)Qu1=mFUKbCYBl`pICU%4e26m*jxnQZ?UA;l7oj=ABS@t%sI3>jt76B+qm0hGYaxtrt@9bZgyG)*vkI^ zcR+~0harYS86)QJi}|nrz_uqk#h;C zI{Vao%EWNNd~Ty$R^`Z$sW5Z)&X08Vs#gBZFTTe9{r z)gN+G86_PVE+y94d6~JQ6*Zqi@sEG=L**L2oK_R(R{?3|b?s3~^txH?B(c>C&F zE}xEcH>Mu8lWWU%vxu`^FEQ30%=&EeG^=%Y-fZ_Y7jwzvTw^U)kVq?g7v{=a_4X6A zw@;xAZ2nxPJ~bDao0@`UX6i6GCmygUXMJDe)k?Pihg zdSPno7%I$^wt`5#GF1|%<~loHFCe?Q-GZ4)Z}C&c4r$fd1zveG^Z!k}{+bN!*#$M9 zLivxq^X*9+2m|=7#RylRrh%Bd5K2m01VX_=fFTB=!-Z%Xml=j5sP{F!flYp0&~cji+b+Z|oceb=>tuIoiY3kO`eAGoUV^dli(nC{}Ig$1LQM;=H8oO>V^Y4eBd==$k z#iwE^(I`PxWb~$glIIQY`Lzj>Nd7mL&8Llq)pLv44?aqMtLxgAVbUGwv{x)z%-s)u zI(gX_$?I;de?vm4dwzMiC`x=xw9 z-e6ES7ReT+g$XlXl+kd#f1*RFiTL%I?iSDK-SE?LCM;i681-VSP=cybI68iN_0Tia zC;lLny$lk|Zs)&RXt>t=<~2?arTLNXlC0k#}t7aKYav*I-wEn8g|gx9S9(Q@7qB1XKc zdp<(#G7tF3w=g1(br5{YHcqiO|7?^y)~%a$o6bRSm~91?*Tke_y7NP8zx=_doIAI! z0oiCrU79c1xcO1oy;lUCK2i2uMEQov^^~{e&*op)6CTwgUxh%_v#Q~we^}m);T+pw zzU4NJ4y+A>tk-l%rv@K8cz9+9$Ie|g+A)yN{*sq7Usx&v#HY)i@BaHUKehL?_(;77 z(h$xLI#q|Hei&dmJ{efIp6WHTXSPEQ0(SQ&jhYLY_PBdJ7&&*@r49#4Byz{je_?(` zds=*i)#4z5j)J{O@EO&w`2GFfd^b2mW{^$&*iYrT`JI8KjYm%9oMj^&(tJtGcI>!* z2jZh-uULj=>@|7%sY=6P|7ia15`Qe+#M6FZf&_%5%R!KL4d-Y&tLz)h4#A?S*(j3xt=I>l3dp&0UngW_j(Qw#5 zn(yZ$_?u8)nEy1`$Yu>gB@P5j#fC#v!?E~P>QXh%zgWb|0+!)msD(EbN}*<{Lq!rv zY5d@9x#aZo#+|E_EIvB#5&Tjkdu4w0j*#@452AOc!znNdjM|oBA5oTv@5=1Zy z1Y@`Y_*Hp&lOH-frNWx1g%tlN+9AKfCyCRJ9TwOIoz;GB{%v2+_`BSEO4}pR&Ij`i zJk0!XSbWW24{@@FA!dbzf*tii8D@c$R{5n;D@`K@}%ABo|Pog{_8k`Ma1`8`To`_W?`_g>L_VAiJcFGyb7U)vHFu!zjx}FFMaCEG!ft#->inc-XwG@&_V#F)%*r6i% zpkGV|_*#f228;J_82ni^zYhL&JQ3jKx}Yj+;O1u(C9^^EGa8aeV#I6i*bxg4>Y{&d z6g?a)s>A%lr+x6RmJmTvTr;gidFiM9lr&!wD_(ua&Wr5r$>rFW_72RQMVOd-$`bPb z`4Y)n@7US=-ku!d-^WWRi(pqc+LhXH1_5g;pO z1Q^O1<1u_fb@|W8R$}C0um0PM&&_{YeWJ~?*$-ovJZ}CitZP4J&ho(;56{`a`AKT7 zLcFgGpy zg)7JfQx}oW>CEt&Dzc}uI^nO_YdYe94Sp5}M%v6u%^haG=dr{mel7<;isPiAwsYzIj;AJrWHO0i zKqXMpGP!iy(ynz&v6p3oy4HXcWu?lBBEF~~__FxmXVCBL%*k}8jjhBIFKGV8nKb8; zX~=J9mS%fcY4UW?6(OHqF<9zIltid5Qwc|BcT^w>c% zprc!Z1!p%l7Q{>M0QsZP^Ulvw%298oy4KaQwtvX70vlN^4&8g)W^P7)91BCQ|8YQP zBB!6ZuvG?6d|N+Q+R7(h7*4>+7s4Mk55o}R_~H&dT6!?H$#W4+v`Uo<$+j)mtktMc zyVYIx7K;ww)iUzY&*;XQP|3Q!AykHnRN8@Q%giwU-Vh2plYUNarmha9(9`3KA?M%|Im4;z<-EJ(4Qn9z?bAxopndU z5IK&+jwhWi!;k%-7kPqwCmi~Bjin$TYiD6%Wi5XR1vctKsKvo>YU$cXi>FIYV_^t* z8$r&inTxZ^VB^>Q%z~89sI7bP8u=a!f%cQg!wW0(jzo0zh(e{JSEiJ)eY){%dQuO?NAy2;A&ri59I5b`Reg$GS`P)TuYYs zbx%tYTNkzki7O#T{_^?dk)dnFZz{=k`JOn$BXbHIW9>4q)0EHsDjew$7%>vh@h#c8g&RhqoC9 z@}uZUz~->px1J_xm%5^L;*9*`z=2vE&PgNkJllW&zI94tFz^=ZBIkf*E~^X-^Ew@w zWzFX#Nyo_=`7i{%f9R)apMuYQ7oscjEB!qA$$+NDvLN}s?>G7stx1so5}}tl^3kXX z*aP{G8;uiYbb390oP<2QK9C(kYp{*MxKNn^3Up978`Y(cv^Y^VBF6EC zA>jTY;#S?uydk1An5PCkD znrMfBe48ixt>lBS&b2C=p<&+4k_p9`4f6w{mImK6aDW!eBOdmk7KalttU-pgS{?F; zEZ4zQ1`(W{P5P+X9jlXOL*V2yh>+gZH-J~#kNoQ+nvPn<$sflQDQ#Wt`$5oXA~omR zN5`R90s#44-VFP)Lx|Oy4UD!6$iIou&2q`#OCFA3ZY^GmL;Nf#tz3s10>-o|*H@_o z^5aLgX&HvG`xIo`5S6p}_VcsPZ{PeV)Rb3)Y-S^1Fy$d-l2>o%9j0yqwO{B0Dfcb@ zWcRy={Ok#qhpHbh|S?k-9Zz+~Y@+Dfr zMhTIUlxR~*$mS=dKg$9ZN>+w}w9xWnD^&N*}DeBSpt@14DY1Lz;#)q4a{ z8hYTqec9xnvJmjcS4r+Jpnmm(Y7+jqw*UX+{4Q`1-szIDSJ>z@j!k@r;Qs2g50xs* zU_f1K!(1aBpf?410845Ba={n{%?GFpVp*ca!9`6G?0S9XEvv!6J7|1(cAq};-1CTe zR*g;A2}s+BE8>%bmluKol@y%iO0xk8+Vy}u`OCxMwxvhy+J5#ATR=X*a*QXKA%Y^w zr+qQkh)QyUL@vxS*Rh4!FR zy!*lC;eSYex1pKih{y+tW?3D`3uBk$uf+-hVN}c6f)P9uFSaHuw`VbC_0?7}L92TP+|1VB~lP-4xr z0ubQHY%8(~ZU~@-n@*-ow-e&Fj>$*? zQU_^uzQQ?xu8;g!p{^qhZUCMs54p_3zX^R2UHEj6IVK@V zY?0X+y#u#XgQ@Dam}}FOhi%VJ~X-(qQGB#sNuHGFT6^ zSyP5s<*whC9W+x~|LP}iK%!kMcaTy@-d|e}mUm^9(?oy!su6Hc`hk(d|1W-vY{WM=-@|u3yK*qAb~S(6R@Ps@H~4j^ z?fR1J?fAaHCZzVitUh_4_h0~Bvu6YODt)ah$79z@WgM0O+=Gi%tOHjbe|jw?KWj?) z1MXkO3>XwztFW$O3?M)TKk4J^>%ziWqEGpZdr+t#(1=G7Ky4_Z=*pTRN9+L{^llTl z_JZgYBOc0IVu8uOvb1z1k^D1~B6$6Sn8lY!M~@^jvm!wB^?! zD@U8D!5=LjPHkHI`sDrR$i}K9p$?inZCvzmX`l3fV#sw|&FG}8_Xsjpy?%Rp>(=cr z$$=$5qUj#QzOvj`GeGYMlA|$$gaQBvH5Ha2Q|jsnHvBU=bFXu>4uw2gF0W{WVY6=z zdf;rJf+9URuIqi4@FR`JxF26Wes}r!R1*2k_wX&u@<#t*mOUi$vr}^pdq@6*(dhha zReuj(gWi1YzH8tQS$24#*p!)Rxj(Vm{^$2kR@WknQHf70^d&rWgS4_5fRKW=15%zp zb)EW-VP05yd~^F&XWKt9%Hf#0xQ8gLfgZ5ukNgZ9UA420^*m|g@+o>lWK}2roVb^f z39{Np@A8i*s`7N1FHL<~j2GcWO|y-O22JG8pV>AXZaXudMt)82@6O3AzQedU7X88WAckED<(*OGc{jUSAT@JPGS#>y9M7? zSyN3f4=@B_4%G&|epZ@vZ+81J2Qcqox)y3b*#**^}Z2seh_Vl1TT0jo^8k6u!xPyPmmQDLJdFza-`mF#24K3q~xT1EQd5%qj8Q^OD&L84qP0A{=p)638o zgGOaMf75XP3Z0!mL{&dR^oWtFh|MWnxZTk6i7>J09Js!Li2M&Pq%3%8Gx>N4+{s59^JkBL}vEK)qZVG@qbSVdi9~^{tev?!~;b*$Esk9wzvFjAan-ECGv5qiixo64&y4{F7COc zL4nBMajSV<+QH;&ODBKE{h2#o7yKOgTNY-U(%$~jmS2b3DChri@}1>B>W}w+7y~jL zP?a=!uLeyrJEQmGH(gWr+IQu={MN$4*7K_qBHsi0=eo$he|@X| zxwEOm*CPLxmEoY=SYDqUgoj+@ADue#hu7TVcOl-FJNnFb2%tGK68J)bm6<4ArRVw) zCFaKl^vhej7dm*4pZ^>_scb%ZT#H+dSD|v^4XhLp6f|E1Jr~FaFt)98$K*RMu;Po~ z`>erzdkrnM4;Q->#|g9GLG9X@=cbID9!3wYm4SDMdc!atDh8@hL+wUXZ@5~+f4DFq z@;@!6OWIfDA8r1dqRw~lefwi=@q@+3epZLQNDg6|`MEfvf5C6neFS@00A6@A8f@(f z0DcVsr%-fZj6*%%@4MxUW`#kR-XOdPVM)^WH|83Kd>+T1pvF3Zyx}6aGeMD;;d-6! zXW+M_)f~4N`Yl2qrNk1v@`oV*xzJH_BIJw4pR&Yt_@;#X(ve$!QCs|Ez$szM5zvcV zaPk9kX++SM7R&-qTdUkC2~NGQM-KDw6A(X&(Z74qKRU`7Q~2?U)5V{Gk6ct!YEy2k z+spmK3uc*avIzH-&tr+HEl&Jb6|0&)Kb?j@n-*Vdjt zePFV5#}sx==)0B$V{^?%J8|n(;*^Dl(Hk)IL8!!z{rBFpOn#?qh}Kh*4-Hd`Fsr=n>&M z9%hnK6eP*H4jnbyUk3*H@=x3n`Y1xBwN=W9(bw-FFi4+9<`rq25Gt;KvV*uE!FE50 z<;AHr2$ADe1D&5C7GuBtvrBf3sY9y@YnR&jmPA{q+NVpl;er)#36SbW^4wIQ(|B7o zZ=`J=w~^#@{&fF^S@Uw0ze``0So<ucFZz z1J8x+1AX8ED}XIQBw!;+%P+NXpMC26_n(?QILIFtb3$JaD_>by6{v9J^fO}mQ^T~# zT7t5pKE06~)abq`yN0;=N$gqY>t&qZ0=c7X>^NX*sj~AJqU#N~|7;I86ea~cu=qFg z2sy;(_tTfkyxNAEu#FxSPG@LG=gET0K}G&876^S}_X%l=s+_RH*TcaXOnysyZx@v< z&Xk=|{4ipp-xGN(B9i3?%-93f}@f#Ci${Yv3J(;GDk6bEfMYRB#qZdF4aLJq=7p`7G0`ZtU&jCJL4El#nAT z6}!=UY>E5;xy5k(9?yThmiNz3jQqF`UomAFufsQu86Ek$+1I3f_vw+BG}7Ugb`6Lj zFRge0`|h*#FO$abR6LGPUVho`zZuyp;t}YrRqS0 zeZPENHS#@VmZtEk&2K%8L*8liz1%)Y=5@w&JVi_G6QUux72$8mtELU@0x8T=mQh%T zD_oH$PRKf3uLU62f~wn7HzB-E>EvtgqdIOQz*8OV=di5>$wd zse2*q<;zGDc@)U)0#NO1U#Xbyqoyb8$hG za>%qz`aaN=bIp}Xmn-Wc|7b1eb31C9YW$xPCmm|)@LepPTQ6qsZhppPSQp?sapU3S z+Vb)-KX{X@eNAU}LSJyk!xl-#y4ue+7C4A*COvn3cOTR}z#PqbM!hq8phGL{M>y`S znfWTF*f%+d*m1nD)VP1I!M(wd9KLO9^uuKX(YG2x;D$wgM;av-p=3J?KNgmaBo7*k zeFo$|Tg$PHOyobh@yz`AF2Cp+`-j$w;+EyJ_su1dzkRZJ;K=;-hnQvIx}w8C&T|8>3Ks9r9Ur>VoY zxe&k8ApcTPToU9LTT3+sz-yMC-u?zU17zxzaZC>~iYdSq(GzUq9lR50n9 z68fUEfEDG8zQ5xB86}vNVX3|W7iQ?no8;MJ@wy%1;#+UN7m#7=I^pRK9xuH;JVd_x z`=Zq1rNI*V{`1RN9;i=DT8mUtsvFIJ10XxmM%)nSyQ`e%gd_)(eG>SYfq;e{zNK1D zpUFjjBRetf0r_*sXKx_ib`BNCR%h3$=HSzf4Y0Kt9*T{P<9E*%u_*HA>dB^vd;n&! z!mia8e|B9|bBiB0u$;h0<-RS!&=vR-%2n~ZrXPWKU^LoIe-SO8M^a`*k_|zr;cnbo z$Z4+cKfhdJn}41n*f#%v2S9nK+$es@lCpJ4b(Q$I|GV{Djo{!1^tbo;}n@{zy2 z8teR|wcpm^D_rN#ojkqLm;f#EH|k%HY=(#8xy6N3EB6EA%n< z1DfLcvd^MhyYMv%-8V~FjhwPWwmmNeYzK@IfxzF#RbxxG1wnfkIE|!eEnpwZd2&lW zKf!U2t_4d@ukp+zwa<9lqjd$j$P!$bq(0M!7#d4T7-W+{`l3(H;XATZjlTi={8}9O zXP1}GK5-rSwo?CEKM@|%YKafPGY<&#;45^UF#8H(GCYEIYOs-N{eO zvNLp*dk-%~lViwVkLh+_x9nU)-tAWLab-)$XUHFCEz&B#sCTZk`aXl%N9!-R+83oM zCy3uD=P_gnYh;GKjxq0++V74n6Fj28;G2NMmx=tv_2y^kiDG8CMgDwkFKjOrtIPA( zAJ!i$o?AKO^Znzs$5DOjC!iMSi(5tiyT7Yh526>XVj_JS}tH6rCTm zy&%>JeQbeQIOHKb!)6?|Pbf(pV^%x$b}xv@j!>uDMzsaEI zGI4=@b!NC{zcCNP9mZa{@|V8P7G?HT840(Z&x0g;{v6BjE1Ha9tH*TtqpEN@R=)-0 zpKslKlOkU<{*>k6X%l&h8H1L_{=@>IulFXZwV-tmL0_8W07guHDXIq>dxo$cfzy}^ zaN$kKG7zOm?KU*UuU})i%?_B9A@c3_{r#19c%9&DmTp5}l(VOwU2FOE*e&GKn!f>K z_)i&TG;GK0fpYj4@^=;%PCj&ya`k`|)&8#)`k04R>Oe1POM6v=rdmSTAuaFV4~Ba9 z#W?qIS@8e*_fFWkqAR-`$#50>4qSqe3IHqX5K{41LW2Kl~J@^(xr^yT;79BNdaRYFW8 zDPzh`c+AhtVZh7NjJI~78+ndRFnN?vv4 zg-x}_|3S)^FLM6vD2KJ%|5|Ht`&9lT+kI^dXRwWBAAsB==sk%JH%`F+JmB6z1OXIW zc&T9s@2yLx_QASFyK0@5WAGAxV-Aqqr?TU5;abYxGa{g$~!$n!o&UAHrS$>Pj829=?`87dl zv!|j-{ENeGYBE3!yr9|TjCc`}@vu|iY{S6zJ&5)8_X)Kb)awAp4Kz5RI&p57nE_>o zfteqr=i_{;GJBM;;GE z0GMI$-JsP0ib1BUo?O6G>h0eaN$!~Zxu-t+jB;_)VlkobyEN<#qXWSNl?7RLU@!l^djT-( zP|XlB=JS|50sa1dc-%FyTm4UhJZBM)oyj)d2WVsfYk@KDo8jD&&wyu?OSd(RLo|x3zp9uMJO`d5(f4nlsRA!$66N}htt;PQX zc!W@@Zp8{{j711_@N=+U9Cf^i@NqUaMn8*Nj~y6n3I!N*RNeSTf_lQzKAse~>S?4IaG1W!lI;dV4HW zM!qV2x{*J4g+7B|QBD$<4cqDG*NKQ9o&U*E+mrb4xeoWs6%Kb6F|NFKH$jf z2Y*Uz#BXit@I5;?yFOUFyZITHsxH7cI~cSD_?p+RZ4XEuJ{rlCtbO0>Ac{3oQYxX( zU;-j$7*yGz3_H-`C~U!xU`Ba@**?3?SJqJjI?_?4bl4U&xgl`t*!(f>4Vb-AA z;DfQTf9qO}u;r)che_mbFAW|$QVe!ZhJ|2dI6#@c`*5a&PNi_;VnQF}gIYR~&BE4D}JA{=raPUb7k=o?7l>rG0u$i)ZVcf;4dFTGOZ{?!KedWNaHbeu6@ zz6!}wrMOl)vBC)|gL*zszwsxi!vdr#Y5@5l`+m(uTd9ZFO8=47un?Rah=932E#H0{bn|-%7FPUqu|Vjf zjwQmM3ig8JVCb?YTREA zvyhdbmVg`89>}vED!gGQL0_+|i!K|>=kch!T$Ni4mJw5spru=<%=HZw zxH5zg$2$9w=(q=NnkZjM8gvz2p+ANLGQL`Xp>J5VPY-duEYIXM<9(BF6*94J3DY5t zDwtaPk4=!VlZpJf_Gjsd+TqtCzgV4bJbVw-9=`R*22ZclyMWgQ&n^3OHv#$jkD~pu zS;{87=PS5afn(iysLD=$NG{*7A7vKr@kjq($0(Uk6L}1Fz|=iY0g07<6!%~4MQ?zH zv|eHlq!j{=B?p;QO?MGpcIIt0q&8=PKq)Hhl7M0W$@@Q z1Me-kfQOf4hFp6SZ=YNpHD$0U&(=qAfYo!xEjAZo-u{V&^Rur^jQmfF>5}#p`A3`o zrmpkd&u9Dg!qb+!-^z_9Bg|ag1N_0%M@Jo>o~ixyI81}v{g( z5%=1qSAlOySDlH!A)9!pqhOt(D4#0)0DFU}z}sit@Tp0&@%>Bos?ia8v&R`b=O@qD z5sg1(iRiz7Pg6wfYy-K0p#bI{Kq!hK!QLFr9v;I5<-QgS8 z-qwb>DyAD+i_L`=?ze9(oZmWnV6t>=TxI2_l6ZLU?Q2kL75ZQzsCZv~_3n+(h#^nj3$7*8-VzFJrOdel6AMfnYXv3Rx@UOGH`V2~f#kHa}<+K6|UG=w+c zGIi<&F<18rr2NWw_dGr>UuHGSCJTYj(AglxPnkX4&T=Jmf+h-$VBc|{0t+*3(Wypd zg)Aq_Qlj~wdcjEKQr+0DP)rkb>6_r1YeK63)zlezqvlt{+dpW?4@A9022|qFQWg5Z zKR^uK+ydH3;NNw%e=?5UDaP~Z!u-bW2jbeUl}~R|9&C5%YsKDIk-jIeQQc&>(xK3f z`xRL9!)7vzS4Y;$^pXO=SJ?H`y5oU%0+f)lI&DowqP zrqjOM@RqVe9NGNBc=udY;NSJ78xRQUag%4g?-;ZkkMB0W`yYmj(r#@i%-~XIJM8ka=U>9g%3li%$v{vx~2S(w|{VuUskbY zrF=fi%Z3PqKIns~^=`9m004e1SN%jRx1pkYc#Pa334r$ppU5`4%j%O?Y@Ro`|ER`2 z4nPK+i{iy7b%xe;SUR`?4*xk`wNE>zvG_IgQx>Isz7*neo^&d)40!to2KgO6Qwe#y z{Y}Y311=ZyKA4UXw4~$z$I(1W0l!iDF2K*rqy@k+3@4^*dW1xtGMLf6ac3J9{NW$A zxF<6htln`rmgrMUxFa(&Ypf@zV7{_2XRq>7-8o{{r*Ll{*q-bs(5ui?W*6t}9~|Us z%2Nb=V>hgF{Q{vcDxLlHg-qSfZ?ML9rO)u?2x5ja(0{>UUAEdpo^hr-u=@I?)%TaB z@J2Sto;L9UQ*N!vbUD+*74`mtDTLamBiUw9?}Bxo7#AdqoCGW;y#0xgAJ^e4{`)eM zuAx!EO-9o%r0|sHlpO^PBZ%v20Pq{7k0?}}yTD7e{q=>?d;PgGd&Hk#wh+{t$htV- zeos85sNSp_t<%z)2IDv-Y_OA?b3dj&T7$w|N$$)dF%OYK|8 z$bbIX&CSjCH)kh8{vAIh-aORQ;k#JO-d+6nWCp$?*bpx+glIkx7`gzs43&()XQj{c zk0?|RP-X_df?v-Ii9D8Udc$C{cRp-zFCbPI3`v|NAixFn57>v+d?eB?1e}A^qa(>e zV4H!<9%ki~M8FuP5`Y{h3GW(j1SPzj5x4qHF9QS}TfMme2kVkRMz84E?x` zrc!n|vd*Dd28}UURkQazqnqUJiNZXzJ1fS0Ic&_yakh)H@nx{?3A4hpBh1L1l{rPjpch)`T|f8 zvN?$Tn_mc!1A~FtW72_FCFpwwCz%Vb?BpEEsn4Si`WAyna>{U+L#z~j?nXZ=e3?$! z`HgT951)Y73`hR?nYEpnGr7oLJ-k}P0{i@08swi{UOM~4Qn9(U^K5bQ$@;y2-R(Ei zYuT0c{YBSmpzKIdz5L$Sh^Ks||N9n9fEb3TJkj{|ZGAODPs2zW@G5J@1otS0g|M_o z9%3IUY|7>%@}YsHZ{yhafh-QgnA&Hs$0WjlbjwutAk^pLyVAma@{uhI|5A5l+@ z{HEG8gz@he$u)aY7*&1$XM1P+8b=j{@i?`0*PO=1Ril{L#I)8{BJm~BsHNZ=g2KxB zMX*5-7HcCK1tWqaA3{C|EeI_En?j+KwEbYQ|DiLJ+dZ?-%x`m9(ihksHOcPIy*pX+ z-1GLFbEHZ_@xiWw_W+Ba*+xvgQI{Cd&d$Pks5mkXF6d*;@{M9}l0j_c=NlYhGzWi) z$@6Oc=>rnsi~_vN$p4_F;ICDNm*8S}p@4e|0S4s>N3iJ|yDoUFJ?# z4nL!^`$1A|tYP=^^gCe6!yUwB8hH!w4Jb{~^u8V1buY*L_niGIMev0+1BN-x31-JK2SGxHdZ zCfMLUU?xw)I;+Hz9v*I=2-*$y;(@%h#7wbY2NDs*CA@)@B7bOV^{UfE-l??_niT_O zhv24g*GKV9Zrit5>2KZWaL*l1)#3F_<%{q8rEAsQ&-ML(KYkBvaznC?d3wMB#+EoU zE;ZRm9YFS)sBN0U*L8ZWg>S^P%_9BK^T*(qw4Py^#2U7~1&)u9@1Kx=oKmtclpXM} z`4K-RSgO(&I{1}j8=vO|ef)pRn3%LIUASFvHuA9)h%?*=WsA(2NYgZ zrd?5`2rVl8%NxDOf3Z_owlYO-MiHGbV>_;%7Y+r9CTN!5C-Qvv{jR>JzfxBI4v|K^ zBGG5YTPgMnxQ}cT)c<8JkB_P~a;wsfeu6tR@e9*od_q1k0U-M+z(4lnkaXabKbqhH zX~a~T>apIAOyNbWEPMK^7y5YmQ!$ENq0FZc^8oy+7*2vu`- zrQ6_=!3TR7T7zozP55>(sdM1hjEcjb8vV#6;6P>kQ~>>C1o$Jh;XuB@|1c@Yamo&0 zqd(!DVZoL_h057z zv3YpDzU+Em2XM$zq`g*+1_CU>*g!!rdlPQ-^IDA$3bzjyR?m}oN@RbK|3r@@50^Od zJ*elRlpPiJpc(T#Gn3VGPk4VbhyK=1_I2aR)@J9B`1rCRpf*mL92~$$oV{pDc0cpA z-Ee2aRx@UTs7NvI+v5ig;2!;U_VBr9pOBCYYx&JjuweAl$>w5Gw*bw8=o7h@$ba+M zg1q^VLEn4w_y=Y<_L^;J!8~Zl@+)z&TvGafY;F`h{p+cZPj?7?H=~aP9Ny`V)y{|1 zp||K&0D);Q(pA+a<$2LUd3x)|;Wk|;s#?Ga4!?ljdUnwzYV;c!?&fseQmP*8mr4`h z-XQ<@vqgF6kbl>j%Zd3;E0H;vFoS~7G+2*3whc--{q11w|GSlW`fpqxxNHC%cdRJV zCSJY>c2{pk3whk-CLyrtQH>6@X)P{O0f0j%*w;pZEYvZ;OX^fi2l7HUGxN_+Z4VAH z(BU+c$Tw-@;@nZE>`0O-rV@@NKAPqam&-Z*&0TB%MyB*zZ$#7da8?f9zhvnc;OgCj zw7qYKiOGx6HaD&fLUxQp^{Qb$CQVbrYFrT5wI}XwRDUeVNj3WQLT3VStpf&8IKp?J zwolgn@q*m7_77ye`94p^Cz1y%BVnSR(=+xOdtDZO8gpyn01KJWd{kt1XJp&*UDi#x)2zS~1vXK(saT zaY8+hRvdZHE%HzrL_k)l*LviM{mSZ91^5n}NKrTQ@qGv4>TDMXF ztrgikH*<5}<*{|RH5R59LsMYhG{gP#&p-cz@O|Wy;Q_qbT!W))?u*f(VO7AhGVvem zVMiC^nkQaSvcZ=+_VxEArS3-mc-^RP7fb)Vq8~yvf&PL0LH_Zwv7aM9S(wU@|4rJP zZ|w6^Ns|8e`pF}+kBz6j`I7r2BNd-ZnX(g6^)5geaJ)6k-(BF}+|iP~E92sWP_Nwh zUf@xUdK~w;T;01=(H(*171QvYQ0iP+G8;~@4@ZE*PH+S8qo`fTzKiPt!e^MM>b>`| zVDv+G-M%~Rww5sCdcky;n#johA%8SUMthO}L^3+}c#8ay_m3sBuRJz4mYjS%?ah}= zEsUS2C-+F0!{>E)*O{RkFOcSf>h_4?x@)fT&zDN}Ru&GmM&ssdvG(UWe*vxP`>yC%P!*n8<$NBK2C>$UhyF`PRr*^?m$$k({g2ml1y9srzOhE; z;4E<5t6cQgDfjRDdz(&IPp-$*8)mW4txu;_so7w0t}xRFqZ?V9^=m6wn0sS#E%TAP z4u2zjG!0tDy}|Wq3wFc(NB-f7Wa@O1_U22*W@bi`!cs{8mZ)y*j2@hhxg z%bxz_+|$3Zw7n5(_x|i0`s#1l0vHGaZPM*ZL6S=V_rc`X%lX4uTTx&*t1mKn#za}z z#t{3E19KV?ujC+qVbd@dz^Cy>is@{wKn3tusYKZ@r0J~R`+)r8CFCDFx$r{Xn=eUD zy`4UO{m7BU#(hP8!__?@nPqUo3}{^jf7;|M)%CSnhWxYFa!-Hh%GQnT)m`nsa%gt; z(7~~>^uqKD3Xjr(=OLjdxEJg*@yE4(Q?vUf)w7i8GvcJF8Li}5UF}?1&hPU~Y}Wh6 zxV5m2uhbPVRz#?M!Q%%G0G~m6-UNpsAb%{#z9Rp4_D_Ez&+G@u1CWvNQG3iFhsWMA zt8_*dY!o~7zS;aODEzxQ{q3clt<_y~fAdOb_nPnpkj@X9>T@(9>&UoQliwHWM)Lcu ztKpt$Z)mZH=rX7El_Cc$22n7BQF-XL^WNIe)opx#Ph3qSa-o3-vvoDDVZp_>0`fn4 zDVLA-5BYCK(Dv&yr;`UEBaOpK*}c&|(3+ge%*e*Wc+-_iXL?8%b@ z7&wS~iSql~lD#1Vc%3#ai9A+g;I)&5Zk+bhLKmKI3Ga!*+w|uXS-%mvxzP{c$JHL~ z^VEPN|7flIZDa_lbdjOUU|=xClX+PY13J9}cdbk0+uXcM$pD-vww2PFWsEJa5+=@8_D*zvw0$@`;)oA0Tbb$Ks=vK z{wB62)oy-X$WsqJ`E%To2g^8i>}Owv*Na7Yn&b0}EK`vHB#tk->mug|F_Yn3qyFAu zVU^Ku{DVIVL!GD*dg^4M+Z+TOBH& zaoh*#TYtw5IRW=9SA7Qozdx@7cr~`~3N0X)L@B+lVQC#(?qH!?Kh+AY1qHDDrqXB} zFxx100pfwYws$+?^r-TnLyr7!X2;Sn-|YM8kHgS`b1-nnW0`@>dX>}d-Mn5cRr;&j zyU5?TldAkx>AkO5o-B&IBP`6;a2_wph=%Tn})s= z`yScrUTL(K3HISokR1$+4Q;ulbX@~#U$g`l-`_MK|CtZpo0xd-^fQl;--N~+EZp2W zI&Tm^VDskXv`9CL^VPOwsJ6Vn!(OnD=0VdJMaT8n-DgqV-&zT{*Yr0F0?myF7ciuu zqE?U`V>kH8r3!z~f&3gMG_xXIH;7XEz#^d#Vb7Q?tL@6mkH2xOR(pi}iiC8e4X=y1 za+Q$YYWWVum4)#B>a{D|8S?LJ^dGp>oD9+t?5pS^y-<)JDS_A%ncQ4nar%pNzC{5J zut)aIV#?|?=C1FodS9P6uLO=QsMCoZa#o4e4*OWT(v5z$j=~N4K7LjO-hN|hs$Lsz zL}T_vsX8Op&V=He z0Ze}E++WTkELZ7KiMmx#)O2v4hTUwhdRWsaq0|q>w)xe8T|DW|kQbyX-}eFG1|HnI z%gl=!a=5>K;=_-QzA|jchfcI0(M-JNVBSG%W zvoBgB@Hv3f3T7AIA$aXZ`YR!)z{a z@l|rTr=UMlJNgLuB>`I8pd0W>(LORS64d|ERQwPBlRoMGnSkx>Q@|f^vDNp5iB@>#(Ds2oyK7V|AkQKg<1XGJ# z4lBtCvY6NNaLY{xzLk;x+Ei_3>b2oTelrfF+)RVjIT*c7G4&_r`^YQTr*pY>Hv1aL zyTQ+w5MPG;R?AUb0coATU%aRz&_5HT4Us&Lj{kf05zcH z!FrRIP^1dqr|m|H!3{yl05WVniBHqS%&ekS_Zyhy)ArofgM9nEHu3fgLxuci1fd?) zJV)-OD<+6;EE-?rlkxc*MGkKd@V}};eyiy?@7!*7inwozlbz$8Wc|!txvJpiqaeq< zBj1I`?@Hee(}5ByG#8hnZs5G@s60)#u}~ASJi-X?Bt&0{VT71FkMv+hvx(7f5o{ta z&;4qskiTEtU0xDjGuxV*?qC`l1UztjH=k$>>@*G_yme8@-G?gO(welT_0O?{GF=`a1Yi+u0M zmpS=gmd=q~X-;-pw^Q8b(&^&9+3xff1EyDsoqwnY`6mMMHPYutfI9fQQV}N6Uc;5o zuYK!aFer_I4t|8iDp7KMxoIwT^^x1tjg*$poI;t2?XE_^D=fwQpcwtk25{sr99{V0 zogvTXgG49z1~&{^C-=gAuJk|KnchYI^mdPvuZ~7Q{@VKbC70Ws%+7Ci+U-ued`@(V z&H(6qkMxOSuec8q9|zIrmaDjKjlM}g)%+$3U8D2*dU2gW9Ut`WkweA`{V=4F1_+c6 y6AizAF>fKum*0bzLCa17`4e;B)N4b7{Qm*UGtca7<*8f%0000 zE2tP4N=iymQBfl!BjVrFL_|bMNl8dZNJmFU7#J8kJ3Bc!IX5>qGBPrpoSaovRVODW z+9>hyu4msUO_W6=;-Lg#KiUj0^#A|v$M0StE-ur znIt46#>U3=_4UHS!g_jo*x1;Ae}AQ=rE6iwo*UG4&klED6o12@; z%F3{?uz7T5=)-%47Z=~(-=CkKsiKkJ+Rc-blaG^~mOM#@K1YK-M~gj3OhH3_K1Y#} zk&uv(e0+S7JxO0dL{vdT|NsB{`}<=+L|Q>ZQ)@V0fh}Q%D$mKfS93IZKSoSjJX?A( z=)-(sVq$1OM1g^UjUFDpxTr`{KTu*i?(XkINI~P;%XB|RZ9qjvO+cs@7skJ?a6d-1 zubz^UlIX^ZPItDJj(^svXwjo&V1>O$aa5fPTJ)VQ&$zPG04%AcK{g4wfwjEH=Aa%EgBERG)^ zj2#`>3JQLEP6Yq}P`XJ(K~#9!?48?BD@7Qm9>|0{Rp8$oF@Nq4id zT_BH2uNZ_66T=~_UyP*B$8*Ufy74kloA>DyrKL)GJ8QQKFYW(lae8 zXvRxmXOT7cMRDyZALNQuh3>NRhviR_fkw!6I3b1raq&rs@U!_l`D_oia#dvH&F%pbu z2E^!XN+B;BkWBiY+_p1>WD+W&3y&g?ODG0_Yoi$Bhf<*Y0)zqyAZSn^k4q?q<4NrX zih&@s_pX%V0=%$~F^NxHk!T<%dmr$1XAChPWDFi_W1$&H6p&V|4e7mIYc*=Q&%&lu zz`K(cf;@dD-|Z5Ev-a)UXQ}O#c@;FJY!_mo8LuJ8(?@#|Kn#hvX05&&_Avn57=lC< z;=^2sYYvxc-|)5=HX$(ti7JFJTY?*J;hyE|hcP3DbWjW=x-jAa*d*RzwRB*_fCP$x zL>K0QbVy4KFnqFW#BjlmAxKmK@H)3^mkf5zh~WUl5G1OAO@{xvme?YOAW_BXeo@Ig zJaRf>5WHQBL>Jcy#Yp9!m-9OvF<1;iq6&btSs+F(6Th`;Z87jU1`=V24FWv7B}P1c z8_!|JK#&+=%=SRUHT%VQt+?G0gU1jgsxYEyWenbk@2^i_#z2sP;d8`i*vCK+Ee30g z@!rMv`K7iP2~aTvi7MSMDy^+lW1R3D&! zwjz-LtiX)+fNMM+u$wOrcD^UtUf?+A$kPTULNUVMO6`k!rqt!i78^OPR5H1DJv}{*Y9LRU;iH|?vs&(}Kn&I=Mrk@}xGtd?$djdeehmFD z-iB|D$QaWdP>dI`I#a1sP6h4edV&5s!egj>alKNRF;xtp4$D9_u(a*(KL233d*|ii z;_L^qk;j2PNAke@7=aiZ#rOv-&vHJOy{BEM!WR8^gvU7Au%(mv(jy5$2N1=ZK#XEq zP<5S?G(<^~On>G=p-PcagkrFfVld1Y{{Xc-OQc=o zrasTpCo5m8=jrt3u{bQ}3bp2C`W_B%a%+VxMLXNqHWp0G?vY+T*T?XKVZUh$u)mbj zJt_lTuNO_6XoW+u;87iP;hh{&wQ=v6T9v7i3bA>ekz)H)QDg+67@k82VMD}VLz`07 zx#~5FF%lz&N2}S?YF+Vzv-@-cPQhKIxY^6mt*#6}%*>9SdrK(=uv)6WPL8-Udkd%rq!DI(j+OC>7Cn6tGW5gsye*EX*Na@is85* zz+=P2U_-#AkoD;86xjU*|dC*wOu8NJSU8?(=xumjm>rrLzEqQeA z170lH;<5o-o2*!|6)Yx8o$YGAd8cD0QhK>&Z&Y=sf|Ye)#HbcrwcbpbxaDe46nIdP zJZPLO5VJCQr>him3(Dn%d%x9{pvZ7~ry8>*h=DoyM%|UF9{FbAgkvKyeGCb*RCDIi zS4aD{%%=MNoO(=%O zaUY(w^}20_&KWZ(#!!qH3BQ2lmGs8S8C|KIOgr#d_D-Jpz3K%)1ze@mD|3l6zgN8K z6gN6z6ly0YRU$jv)%-ruF<)0Vj2NF~rzxe*_Nf+Q7N~;j%1ynQGI2ZzPnPTLis%P- z2{0?W30>u~Y!tGUGe>MUu_-l*-sc#a!Fj%UpBQ_A8P_S_3>0G|!b#{)U>TC(u9G3e zRW5fRk>NzQ^Oad>tx907N;m+_DHbL;XP`RUsU)smA+BC#(&akZORWK=%C^mcbVJL; zd983M7;jeuJR^H56E5eRNKrV(pM;KL@Hxgi{aD0yLovEZCJ#SFF-9Xqs{je0^rxZ< zKq-*Y?C}>sP_wG2za-4Q;)Y|s8g5r0^a`lQ zyjYCi-b9cnVKRmzg?zCX-@c9@QR1g5kiHilF+5RhP6 zjH~mbmGAFXQbWb~E`}hH!51R|AO*O3KBc$wlks>ahhiX6#}`9LMr;Z3&Mad!6a$Gm zz8GF-?ArRp*;zt<)j%1)cAFzZergqZmjecw-_IgFh&S^(%^jL<4JB#@J|49uVUT z6a$F{*07B6UW-=7;Ox~G0|z&GicCIup(p?Go=^;~#b865QtVY1BQwUsVOeyX8SAqH z>!AxBe#82Ed-|JFoW;9nJdvi<)EIj)-v9N+{On-zp$iR@1ACImaL>q?eldcK@mfG2 z2JaPP%IYxn>{Vc_ukKi%+?byowI00CR^Ogvaxa*n-Wna#BZl48`CeOFE9<|Z8Dr|l z_dERfN|-U$S9h#WZp_c_Z;O#knn^6Q8h=@gq;k9G`ObIx7_3hW>xcJ4tY@zPV|{hU z`sBv^?EYl$jCzv>0yvJhG_9%EzO)x$(am1z7+8lG5KJH;3WtnMsXQ3YhiT%2`sU~JxNAY=B96}3DZgaB>s_+^L-)&FTW%*7!veezh|#%jF&c&6 z7X#AYWXJ+BF8wSZe0T))hri#CJ0aXbU~PLEnK?UV&r;5Cwe)-gsE{o zz?$r_d<0@#k`1Z`JcAgY2A@V^5Tve2DiVp2^~E5iBBln_$&Z~xy>@u_0*Jx(jOQMt z^0%Ph5D_t8(^WPdji+<68Zc`G<&6VEaE|GCm~ky+y4hl|ZBuvhJ#Ypw9Gj7`ro~XG z07=tQeNy!2Wf9<*E|yK0(8i zBz{xO-CxJ}a>Z4NG)2V3;CseHesvph=r=?}jKrRygSNrab-jnTz@zrEF6VYYc*3U( z!i;NS(#;lwo58#|gBY&Oa0O!UiIM6_7!lyHXFhR}hg-bVE3_4u2dxD#9Ysg)p7~qCYsfedi%#7a=PhVlZTNjOH>iG;K?Hr;kFRU6eodot?W4zgIA%3z2%TPM<*4tGHWc0|3;qMu5 zy4Izxt8JCzenTWCE5P*1`_v1|HR1Zz^}2g0(d~c(M~_506Y?;o3wTXVhDbM44DJQH z&zKg2_S_SQ!P$On0g)K;EA|?7eixv#>@NdlwPf6`Y9cBgdKT3`tLCS-+>-L`lHdB-w=_f zQW}jkOamd0Y62cIEIeI!H2<^nV}(fg*JDUg-nT#6e|nKlXT)Y*Xd^ank64V=9ZRLdMX(-2 zzvyD%mDqxRj}<)YLa*RCdnUzD0x@hYSyU8dBApJ;ywG^wo=Gv} zK#UFbc25d6j*&0^n(qY*&WQLuMt#+Ktx_@mku~277R)aO_d?-Qsf|KqyR#5u!T*c! z=KC(?5m|__;QwVLMpBkXBL-ynVkiqSzO#4lJPpH86o74Iuu*DT6c34_BwZK~VvIUg zNW2yXCbqKY|8?i5af$FF;EA#Kd}H^c+s8={@Dqb!P3ywN*pvGi7X$c;!EoMM?_?d^ z9M99gG3PF~GxSSXDxl zFaH@rfT=NHVI$V#l-{NiVF-rvrV2hWP6-?gyL{)n@wQ!+2n##k?-u}PZ- ziLg`H`39ya7|I#riX}n}-~(3_jLup|87P$qbry`%7J!YV64FpERG~z;dMgFM%7Jq6 z?Qe;YUL30*+pE(h03!#bw9bCun_uR1G5QLCr+#^~Rm(ciPw8Taeyjla8G8{bA<<*H z7y^K+JQ&yHE(Sv)7{Hg5IzGWSP1D<}h`~?-fGbJToH6;p#egsN&gMC3APV3ccN~)G z1}@am>V8m@G6)S)#}+#&6Nis6N*h`{C=(UiOYK2tJnE(W0~{}&{afALfPh7*ALF3B zACoNb-rLFLH=96s0LU;+V|el1>o%Ls&E``O16X**yM*l2(&_a5G)lxUK@4DV85iS` z+PQEl1pvs-jQ)eqT3!;%a-6wh6c7OX-`Ht;B{l3s_~LT8v3`M1rJ6564dDOAxUST= zI`}I{NuHzW&|Hl@%0r8OV4g7yBa= z&(Y=5_^H%vGw6fE>()VVX(CK-eH4Yxcg1LLGqVF?0P~EI(rRcMKJJvQkGr!kz7sR_ zNIO0gn7noAySlShWp4iAt#+||8tz9Pr~6L6>ti?1Xs!{x-rVF(r~cSHISt>t9v`o$ zQ3L?<#KaeTS+aCxX{H#OM-9DXu%icpAu2@QFIvwxxf@nVqa`+aR^(yzUdb0qg4R|g zEQ;kuimdI*DACbTMHj>X<_p6x)tWJ_ea=<%eQJXhgC9M>a-cl7LxdTMC{M(CNo+(S z^2o7#uM=3VhiR+X^9bghT*+S_M8_)*;lv7DgW&UJFb)G5mAN5kGlL2qTt72&O^~0(1FHZbEQQMCO2#-CIJ2B!XZjbLE3$%fduV zRDc-3d|_x(OOss27yktxUl)TOA=o68WCWl~Af*O;#WPm?uor zP>*lCKudq(?plg1LIix^1pI>-31|YmbOWV+{}+6EsbKIG1@I4|&ZFex#<#$2=fFZ^ zXr_o^f*8O8lYGAiD+T~uXvKgoA;3a2=qrULU`uc+1uQnEky37u2{2lMQz>AfF(l{2 zAeey|z(Qk60pv!$0lI_$i;cd-05Jey%Ez^-sbZK202Y;$0V@UooFl!G`kolja1B^o z>}7i;Wtv2h8ZZ>&FE(83ufvV!z&xS;|K7fyB8t;64CQt@5F>Swwo>+490ywzokPby zQ#q6!JlS9Ee7iN;&0Pzb9P@X^rkYwpbG4}{t3H=$xi~(J<2|qp_yY~sCe6EC ziE+0~X?|CUf$!9Dp<+z*;Ft}zs~(TZ`| zTCU&8o#pfS2V`xxU$?}ogD6k*iedWMr{1a(gQT6q^%bo5LcY{})*3C{l1J+XL_NBiV0jxCLR(H3*D5N|=y?Jkt2r+xDb{d?G;6zq$SCLT4yL^^F{nNS62*ct z-yR&Bu0{ax(<=t~aNMd94MOR3cBU6v3|z=OJ9rsad25fS;(8HN6vsAJF<(^bexazu z5O=l&3i^8gA@Ydsv)1hBmTaWj7L09{)7QF=sK|g41LKaG^KDP3Si>1AY;8A*v?^b7 zUiwv3@<(DIeF!2t`-qO}md<&;t*hZ81GuOd=2tP+{qkwBJ`iIib)kl9*|RwIcd$5e zoO?CKch&?$y!1dY6$=F3I1$y?Bx;lF?fCT`xu*73)K2=WH7wnd&D!4*l-dtJg=@7W zaMEjI#?_ofk)#Y}Q0q}}7wbr6l=IffKaa=6(1(B{@A2!`F45W56)c77^d7!7R3BkoVw4vRTjgigA9@ zee8R*zhnFfu-w*t3e!D}@Z#8D_bsTLJGBVaO{+p%w0a0k@6wX39N#6LjKGkVY(;W`2}+2CV8oo$F0O5T2AClkG!2()ZrV+k6!`Y)*1g~u zan{AeP}})dD_#!zb=Ya3f36(|=;|1;WD^prxwiEbIGsNyR{0;}`J|7>n`^sk0UFn` zWb2ag6fm7XC$2Sh)`t62FO1nlJMnMv!@d>kGz_y2%pfoKfuCg;=A1SL6kpeo*Mg|@6P8c_lBx6u`Wy)^m%!GF$rVBgryVs zn(=h^{B>HJFubEl8552aQNPeXv@= z1d2J5jC`|<&JHQ4B6el#HX{uLn;KcI-?!WC&r8AgZo}BKOZTh5dDcoiC>JIkb?77R z0wk)bZkcgNTR~+U8oOG8xjtUe81|am+=PU8nPXTC+GwmdG{hH!+#(ia^C1uEqqgrt zliR*=Gcz6q=iO^|j*z*?^;r>QA0D&!(08Ppd z`a}d+usCP}zPJpsQX&H(LlpoYUO6$oY!T!2$M+zf9X5vG_2GNcf$ND<>`V5CTGit$ z-D3$tRwCYiP@#boL^`N(WkRx|$xWwR0x{ha0hp-}iY$!1f@H7{8$qaX2ICE-gdMRF z)Hu?BoAW}A7&k7Sy?o`(X^L;<1{zpP$)SwQ!jz1I@E|e=nA7?^RM*mC9w+WpSt{!k z*AP=1#+8vy3%~kp{d~dasXzmO0WKYYz)|K+LM6~ayJ6Udo>S|*4OpMxmzZ_)(aV?D zBVv?H%7}qBye6H2W9zP=1kVW&Z~#u#%#etYbFoZjh!U4qy~E8<;e{1wE(MVZ0Nckp zTY_a;J+w7}+e~a(#gP>#K9+u^vJ@%P#tZ{S4owsWSmIV=vo(K_GF~xeWVm+j*79;f$pZ??lA-Tq1@O1N3JH4?$ZDH)#=354ykINMt2NK1Rk;nMdV%MP)N{Ez(mLxPA;JoBOJCCHbvYfQ;jCdNh z;ZAKpR${aKL9{siVG3S2F+$F4HHO45?6`UBLoFioi{jW;f8*-^FS`1GNw!EcZGnMq zT|7N)AEHJRA_9)YhA;yNQL`d_v-VU*Ag&pG9A__plp!-L$-N`A(0K9c`xhrhk&j;w zgbLm;otvzn84^-(fahd~C7dpE2M!ZHs`10yah!2ikt{KnL@F)@i`~MT+o=aGJtJtF@E1nhQ91^y24^!E9+58C0 z`t%cNAC%GJY2aeZPU|gRE5Lmx*%Y52fJ7Ep074n`^hl80PsA7kPG~?kX#cGW%3jU> zC^g2%ukY&}bDcqIFah1T1RJ=!z5@%XGCitR{0V*f&@p|u`8Wc^q*8IPwvtQ$B5*~l z2%nC$X~C-v&EnE55W4bSlXkFb!jFBe$Cm?qg(9dbsO}rZLC?j!_kP3>lvnL(#M9G2 zUI(L$Fd@= zpkvOZC6yz!trA)qK+0NP1oSmbq~hI*N&*E2lz<^cX^Km+oy=6>$?;}*vA}r|!Db`I zg}Zkz1TnZ}`cPQr+=$9Bv~z+330gF3;tOykG~^>|KD*Ik*?JE{kgUcGx!Di{$efC) z^qSqKgB=9#mF^i}^mKu6zctH|wua}X{t|L7FFQq17>~(X1D6T8d?gtW8BmN|N=g`* z87WF3nNTDn#Xu%X87LVT`zM{VtnKGH&yF3w^X}{UUhCQG@~pjI$N;+7Z)GsXA<$KD zGlb#58e|*+UnZk(tDYy1`O;UVF|7IhW&|UEL~s6>Du)TiLx9B8CxyAIRUkB2g*nRK zroJ4TCXq9oT+~nCqKUfwg@)7DF5f(N`P%7bzW>O7bvY_JOQ6o22gz=ca6xgOV-EYJ zq7zD(cpm8u2*CpPk@DNwp~#vt|JFc3C0$V?OhIvf{g7pw7!ug~Y4tZVpBTXL$^c2{ z6~)w_X;#+<47qg&msnkRGX@mbEza_9rGXh`GJ-X%G}t1m#Nb;VkBoT{;SAa5+nySR zQEXk{R$CE>UsR+?cMDz-L-S++ z33MF<+>mbE4xuQdx_h}AbO4VD%j+J-LOHk{idwa}Qp}pJV6n|M!w}zuo6o8KuFuv@p|L%NgAESZ1#zj*RrWumZ3*~=zGxec% zSfsx^d;h??q5D98le7j5IO{!oq;|Ji9gY|g%0ttrW*cHqf6S^tAotc>V5F0^UHEOb znI^JeDp2F)aIpa#gMkgLOeBaUPTOAhu7vS+0xm6=b!y<(?jM8cDq?VS&=BrghYS}L ze$+khru72sZQKc76BI-SHFIqJ2F9K$zkzY2@!5=nrYi*tBq>c9K`pX}&`3tDQ6*HGl_sJ~e@N>pJkpL5mcX?37L-i~ z7L?6;cw&EN!e&NJ++zP&RJh9a zs&fuw%~8mTZ+g+E!*_3eksFP1{_@2=doEr+{~H*4ms$1)!ifC4$;by{uXxLees#6l zEjtGfEKgJb!C{DD%Z(q=Dd-v+TO4rBVj#|HVu$r(#T=DG?53hZ-1i=!0$?_)*O=M? z3#ON#?F3Rd4ZH$;guJpKK#zF<9o~Qp^Wv!RKUWEj&VqGeLpVK91Esy=>_w*AUM&)g zlMT7(3tttpWXMu^;Xy!{HL%Qs)%R36aDG9@f#2cUb))b8Nq9^PsNq!>|GQUgiN-Zo zWy<*ah!Vp>?5wJJqD*s02l^YLI`1L_htvXb6e!&`qxkH@{K+y5MT)UZ)D%LN-TMb; zS_jt+?0|qBLjr6}$IEH_jD$PwgdbG17x-AiWvoz6uX0 zDRAM%O_UuutH(n47fJ6JJjT@Q?1Um#x zT}Uc>!CbZXnj7NTAjmipb*SZ~9~2ZE>(J1QbfCdySW=ayf^VzJ`sf^n2p7q-tOyI? zCze#r;Ab#5JO-WH>t=&n|3b)t66D&*w3*I`GLy>*mvN3F+Hu}j`7#Q`Y&R=A9iSqH z04{W?-- z7L*`>!ODLuT=y<7mDi+P9_Q^+H`9LdlSZq1kr_Lj`ZErTPYSMRgJLHtlmsVe#Z*v4 zoeP)h1s6ws`Ho5zCI&FFRE91Uy11_z#TOp@Ezt~iYmXl-^jYtA7-_E@T!3le2AW{N zDW6s3`lka0ufm;bJGyEb#*hCw%Df}>3}g-)M-4WR3br1_0D)Ll4xNe3C-eN3iT)us zL6;b2RLZ`XgGWnka5*6nwvwhgUPRNxaIy(;H5PEimh>=N4m4I`ZgJs}h~!=Z0M28a zynj0HoE#csRT+jLKJ#1P$#nW`3HU6&z_U+GHer2FBg7qHoo$ZRHTgG%dAH7$lKF=~ zAWtTZY^sOcX`rA(7(gdA@I8xm4pM=k)d)$UE2yPMq*X`JjMU3G7)gl{l-E6z$8m*4 z#@O4C@Yo*h-tbqOGf5oeFQ13M%{(CqPMns`(3nGQB+Q z98SWHs8Yo6JG|2;^YTdT;6YBlyik9~t}$Yb+3q)z+jOv3ZXNK$pI%=Yp(*51_jNyh zL~lTWX`x58eIr(x_A9NJhf)ietv~Zq%+C--RM?X$mK!rFuxaAe{gCd9=a>Zb5S>bE zC!5Lm!_#mB2yEoeFkVKNnzyR{n@>tPu+n-X5h{EgMyED#J6r9mM{TGOd{qW8iX$+l zbHEu8vI?oMdl~qzvyL>9;?dVE!1M{El4FR{y7GfD)JQC_c=_=M8Qfk(Mm1=~lUp~` zu~#eJYzCFZ&BX$Sn(o80UX&eC+X)u|y+*u=by;BRfxwomT=$RtoH-)gxwv#Ob%xk1I_BYl_e&Z5`_*3Iozk&DF^;A;022}Z+Gqbz7cNh6)YT( zfr$7$P~Da6Smn?DM+w@MeuQzUqWHB5{hHeo6`KS?7K5Pk3q4g^fNSO$O&7lHG{4OM zBnMbMFiN^Y6X7Pzj6>;&{0HZq+^5Be7Fw_G1d}~AS6FPW8zl~1_9DzmPs}?3BhxW-?}zfbo6ly) zEh_?7k`JzXwfl2mpi*fuNvu#w z_EhM#dow~V#lZfHV?a>l2sKP~Dy5A*WyN_B;LpMExZv^?ng{CO`X4F&vMLc0qm{ zV)*TZNC;wzaY0y!X@w0di6M~~5@W)B^_$>=yLOAEl zI@nU@8M=#?mq|3xL|QOC+Tx&gIrw6}@MSP-PpAT^)BB=dkRj{|{LmF|>E!lo*;#5M zBn6^^`IsPmOdDG~{`ebjA18nDC0S%jy7#N2PG=a`_{=op#y?6Gg_+i9T<)i>ncXem ze8l=x%w9NZx4QeT6F_QqiUF}={dxB*2{tPxN_JqRL^wEykH>w_PGRNVwdEd=a>h81 zfzF;DY0IH!4LQMmyM(>+oHqKy7hX$MI5x(O8(l-4@3b;b2F~dH+~J*6)k+2mou3x& z;)5@^^18$=AQccnl^?Bh78CE%;?)m!x!AQ)`*o<9A?HtY$^r(I8TbS8Ta}fTL82yt zo{REtOg$HTL71q?kH*xqPAPS@^b4(h}UCb;ehS=_r&iB8DX?V1-=K z;3R2J8ixg_8iZz&Hp*J~b27*}Jhk&PI*;Vnvt5Pv6JuPp(S5hK!Z9Ac3|)<3T3l-6 z8qw#}OL9GWf-I!P;3u`rk5!91`-y4HKmYAui@Sz6QfSKXou(~@ye|+AR@Oe4Q z>Zm#emIfRBobje0QQ=}xhi(KbMnXeAPTXDLDD1UZ=Ip{+Lc>Yc;GPk14Sc~%z2pa4 zhuQRF!IwNZ4)v7{zrafo)3r^5iPfuNoVoCPZf#`6eUWVO>K%6kTSRx9X?3!!Lnc1% z?jgQtI<}#$2O0_b2x=4~)Vi6WmD_X~oh3Dt=v4G*E%-7f{#76ZhPO>1tZoXvtdD!( zMcClNGeU@v5+Aq?593`!Nt{8-92Pm@#sXOa;Q~~XfjGKF_f}f+qC=}^r810?li&N@ zyDook`7vTdMCk687i!lrVO1i+^I`bE)#!G7f?ec!JjpuP2>ho-G~RwSqy=E?F)}*! zXo~fMOlZ`R48*C;*%DVc%i8ZL9IJxxjCYdqvF^s-(QKEdCk0Q}#BH9yHTg=gX8n+z zKUWvCm5e0+$6he|pO|nBtT+XgpUE9s$r@y3t8#gYyK+_t2T6>ESZL`ApMeKcUg)xo zXD)O$RH?fk+R6ajjl@X0;C#>r(wWB_bh2)dfiT#D2Qy{W7$vkRQ(icRk?bA87LPyv z%G+!DL}H;5jpgt-no@0ri}9M=yPjdBzHInyam=TtAKdhW4L-Y6E%o~k#to! ziPc}ZsK?Y^)Cx^L^`fMdHpnO0@+UIMI3R6eZGKt<%tU@@urAiSI#4`48En-uvKgPY z`53VQdX}r_Nc$(c_MZL64KPM@h5Nf%+!!>~IA*n2IDV`ZS@?ZlRzx}pguXf$xNHGUJuFGh2yUcvbl&wb7hxWV)-<6ONHq)I zPJ(M;tlplD<=Bk8?!!^d`cfj4X^MZvaYk3WG`kc`PI$qMrV->az3mG|y#PODi^B-K zMsgil;quCf{md8$$OMjSpWkq$9=I09SR4>mhJ~qow%Nl*>?Q6?c5fgD*zYZY;yuZZ+@TzlDN`_J@zL)+|uh0}l+sw+XUrYI!F zs{)%Y&U7Kpv}{el2C=clCM`$}k(g%WBw){+$j-^&v_nd`@Md*s&Nk|L3=MczqK%e* z3Bz@1K*wD0MGC!QW;gELDu)T;t0fM|(V6FIgA*GHFF?)fm(lBJ{fyz0u`n6!6%Zu& z!d#*@Bq@TWg)5w1_+mi5$wqwPiYrwfoe_R=!2Pc%5ak&}Ap%!U6e1+&0|BQ)2j<1b z7B6qoqWM+0jm&nVI87W)Q3GS`@$1*5_EWg^B3AO0DMZ3F6$IF}X8|NKW5j^tu`&w< ziyKmjc)$A_%{68s!aSE~T_CZZwF0l7;0OI+H9HkBX!7XKO0EH0u}?YJr`A94v{olP z@H}l?$%Y8&WC;mkwN71Xhc3CKdR(lyQVo4ScW=Q@7xEZo+;HY}DopH0moQS)mFeT; zRm-fsvnf%py?;y}Y_Au1BQ(38>X305L!=!d08%G){8v{S?J926{GHwCTDR!X*0dsJ z8I5P@iM4AOGfCa!Re%3EE5MuX1(kM$5L{tX!?y$3kdtIq;rJP?*XE_oa~{_BV3?FY z0ktYmbOInfIy|!eWWn&+4pzA0O4Ssk@MSQK&Neo$4B#-imWk5;G>y`Ps3!yYE-haB z$~3sXG&wooweRbc54-jlZEThSBOE4k5_YcE0@oFaO>+OFRKb4~e5rFV z06QEswZ2^g?l-{&FU;Dhv=8`VWuA-6LaE17V>t}W=*){_o}E>Br&&?q*>i16^lTSJ z5KjPU4vH(awI=9CSQ+Q1&)Ev@zr2A1I*#{Zv%fD6_8J`6kXr7xOPh`c@(yevF}BvD z%)|q3_9#2OlDd>7s++Y23AO?F25saVpx70oZD5QJm&Ni_@Zh=N3#9gbubh#AUij0A zFt>v}44fLxbox;asIu-LaU>h~8n`mT-9-a|B+YvVL{D^d$sl*#B&{ze4t;IYqY!?b z^zdrLl`=a^&Ajksn9hOGp&i)YQIi|Knr$=*pN+5Qk}~-_p9Nct(K$H~hL4TGJA6+f z>NJy=tPB=)-=Q&Hah?e`NR!~u(x5bhA|8;X>hpmG=`iPt^`>dw9lZIm55KSaXgYr- zv{Oq3MJ&1y{)ObPi0bU$I)yB;bQw89oJX1C8jfz_XrBppNDRg9)~%R!D;B)sN-YHc zBUODz&QbT`L%P4r88GvKY2dlilj1cCz_$sL9dPoFxY-cx`Upc+h4v z^4#4ox~PW~He`P&WP-#9E}@}L`s_+OUjpCdtO^~9PB<(3b`0~sK6>nnZ;tWfXJU8t z&IzJ##P*G+S$W7qtQd`{O?a(tWPUtb^64BV^l`lJ|C?It2M0d(`?^aaTU4K%qiYYT zP-l-wrLYKO5`Y{|Zj?$k2q6uoO=n#!{u5gOAo9N{$KgBg_%4=FQ&YhgPGRS4BW+SO zi4N`Ww-Nm$nwORb>0=*#o{JVN;Io4j>7qC7DX5B$ zQOtq@GGjd&VUjoQwMwto<1s;1w^=wSv=m9y;e&}qVI^zH>fHi;HsMNL%1X z*{!wmYG2MuvlASFLbnEvEJK_&Dfq%u+HA|}Hv917k3Y1soGCRS$3C3sVuLqr_0ZYU zYI?!SUQa{A;@r@@syX8sj!yL#*;65_CQrmig)5w?p;^Hiait6qm`V^YI&@w;15Q@&W#sfI>`7g zq2SAOY)inQ$IxIZZsVgMZpkZN{7XoS*YkPYGGlcj^)0ZT@viu(IN_tRud5Zz!a{^_ z$SY$Aa_t*5{gTKhz#(Wm6{S2#F4z0yXyj5Ka#4n(!&_CP-1Ig7=f3$O)TzuF)$FpF zEY%!2eZ>pH1PYh2f>>7+iA&N@2OC7q3QIbRrYemmr5Uc}!BzQK`uiszGx&(EHKIS# z4VcSJEiJ8`7AbybtRy>K+zYWzWsNK7zvqY7KYQzrw|;q@ztJV55;vY7#B!~6>}NAu zFcEcFTVuf&jDV@&%SBr7MYF(x+-&p5W7WuSWjW{%hRh?V!TTq=U=cDfOpgstUpJE3 z&iVes$3Fgc6^oqg(4#5t?74l6VP4GfbWo(-0C}Kp;(*P&hV=Ta`NVVOp&{69Dt6Wp2sv%nn4fUUu_at?lxly8`4V?8U zb85G`yS4o7$B%vb{kC@`D(zetsEg~hv=aLq0#QwiR`5(5Z;IuIz7WT&Ml5N`XT4O? z(A5aH#uwQ_t#B(ync_?^(9R!un?2^VEd$&#q<6jXb1$L$&%qf26QaE`18!}`#V27e8WilDHB3t}aB7lN z&(6c50hc{G@Nje3OUVnOFE(}Riw{vTgyejakT+t{rPvZ9e2#HQuv)APzTRXoVq&{8 zK{z`6pcl@Gf^wuE51O%6F}{Poe6|M>LijRR@uS+gO4XYi`hJwG9t3jFpfYf(yp%O^a6+&hh!L8BPP@>E7haloZA>|!9K zMj984iF+pR_tDk&OeE@c&ymHs?YEjc%!OES+!0GOZgA=($rRJ9=}ep}WJgw#2@i7@ zCCYTCwAz>_ZB_(f0;G3|sFXp3*S&k!3L@kM*C#v6MqnfK88IXhiE?R-CG4`w8O6AT zEjH2&a4TB}`XNtaL-PwROt$bC7p-4o!YV`pSUV%UCn1Hs;0r;!49R~m0aO4jdxeMN z=Roj8tGYF?rGrZp=dh#W%jocd_B3r&V(x*^{jS!SEZh~`n)SIyJsG-h=dNHX|i-G>S~`lYluh0nKQJ~rRZXM6i3eYZ8x9y{LK`ngqoG1_zpO^ z+mRJN%qW?WY~VimQw+Aiv3^pfoSdX%e3Us1;%rD+>iq1QJ24<}Zu_C2p(&~RDQ)lw z8XOD0phQD3R&L&a74Lk35%gb*Qis-bwDh>7q>#iUQBuikOOI?lIrknu@2dMLP6-)N zE5*xy^ya~OPGOe-CG=%~L+}u=4zNW|lm8G+*o`XF#16DkjsmyzTG3B`d#SE$91|?0 zX;BLxl-RjU01TKR_V_)H}izdLgxr&*1G@?1*e|Osxh0=Z9XzgJXc-bv+gU_LPHYFx`9*Rd) z_+0P>noqu(rBS29=ajhO+6s^~(9wB9^2HDV?EC^NhjwVL!AI&*UhKQ?nKHXCJ)RRM zD0dlvAB^MP37~Lei@m1gJFM=St`ew*i;Y3_GzIyxQyx3;JAs8Oj=`VHDoyqX`o@q;go0p$MmC(AWLbGviDcxqoh$tVxDGS&$`nL1Pc+##M;#qL16%i z?2RmsgO{9)R+;P=;TTr8m-W>XPkT5+y1~a_O|Auv_>wq8iqz~gxakCu4Pvy{NRp^d z+_K^vgS%IpFXyW6Sq7~OwXnO*4|aVsL=*QjT;V*%rOr1 z?l{mSh19}Tcox=4zn);834zk!1oi%Vtd!5iAj6j-Y~h77k`)zrH!KCsTr?ADVFyRa z5$_WYX$VD@B5ZppbMz{5z?n7?b!3Cb!$%+$2JC78TLcp%qFGz_98QAy&B?7Ub$%$R zf`%neL<$U`)$O8npilNWd3POfO(`Dqo!+awNS z8yO5Yd0N1bN+A}mM!KtanCaTFufr5UbF36(<>8x^VU{(y5toP_3@NMreXF|B*bL?cXcX~lPkbFcE? zMMH7onC7NG`TxXzGKIwwziha{I~`7^vaEZQvf_@&&vOMALEtb&H#dEg7YqH_y>`kB zgzT}GTA-uj*JGp*U_fm28bWWVQn$buog)w#Y28wbe~f0~hgC!z?#O&f*aGbkBFw|= zeD#k)c7mx6OT^^BI#JL&<Fs?dRZC62#4JD*pd!XS(*i<#ofhFph`vaqod z38hF`upldn2n!1o%0@z2C?yL?l>fsY#~Jhb+&Rzq`R3mHJ?Fgdx$kk$yfgF8%<~LC zTJZ?mL`G}#bwgh;LX966bahL9GZl<$#||Aj^z6`CsKz?Nm+!0ou2q`xCKLyJ$r}!3 z22+HXyNZQ31(TM0wynJgw}3ZSEzGzz*(LlagfFc7b&YQ!*;+Xg+OpyqH<*LH6GGR& zAbe>@ha?A@nl>rDv;4x=Vc%Blkune@9abpVkZOp}C@wdvYKJOTvz=7`HLaRcUPUKs z!b2|BioRkDUt+vZ6)-E~7$?pjIB?+Hf&FL<$3R3#S96d%&oDK%J0w=YSmNJREb6#g z2?MZHR)F_g<7=4{M)b6%gazcMq>o&N|3U%}O8BCL+d~!y6uDznQ(K~a> z;jt*B1Uqoj0Rt(Jaksv%%%uKVP-%M{nzOU+PDz2g3nl9 zsJ6IUx&;ScMhH{Vkqwn3WAZgEkzJ{K^S93nAH#XO1}AqoTCGaZ=Dq)&VgXk|Bd+*k--b}Xp&xFQgt zoIvLA@dd7`o4_3FHevX(QsC2(^OS1v*Mz|rmB)f?<3@yl-C$ZR-Ns{vjGj&=B>2)y z^$#Xlh`uwNH$lWyq8zbc-*;HVI}x2;Y-B7lbHL- z3+?FYL2%x}qmul|sHC-2GrafeU4_Ca7H&}F|2N^wj)w3h&XtO~-_;7z37tb^Fomab zgjd=Nik8+ZJ5r<4Y$Ar|VBY+h@P#lqVq>87S@;Ard=%3A)@&?O_@J8jZlLYtKT8-9 zIup`R!WX8VF1&c~QUj`hQi$m^$6^qSQ=2c|*f;7iYKWOiZekg~oY-#&UlNDs`J*ed zSd2D6M*u59Bdc=-ju}kFC^`nDhTg__BkZ+EF7X9n=9ufJlanPp&eh zN+!eH(sU=4Hje&8_)^2*dEK~(d(p+TDRbVXim3Sz2_^Ky)6imbnLG=k4;LP4a!(z{ zUEozQ$vPoZIR2a5esJ(@IC=BndQfNVC8Bu}{%#wDFDmnI-hUU1$Hli09V6!{h*_C1 zGnqOugp+yN3*?dUT5B*V~a( zCNfc9M}95fD~0d{QOGd3c{S1Fo{}gc0yjJw7wcd&%EUD?D@Aq{g$aJLw4_rmkjiaq zj-^zUl&kUrcOXOI+c!tMzH9Sd1w%+`Z=RP3wmfUAG|}Tp%pLK(N{iNo3H!w70Q@8; zCGkLccAWt?j4D}UI{>g}mTm#jUtH=vgWk*$bY^WN0&=K$Z#4){?;3^AL1dUatNU!y z%-lw{Tzdb!x0ooN(TFkg#(E8L)4-|4RHL$#K4JUlKu;>XU2S|z$vZ|NVa_l|Pa}L% zGl-neB?FH&c;2PhqM**%KUd{Yzn~bT2W`z9xv_j7eD!NF+LiEy)@Bbl+3S`tJ>zkB zERAyV{E#hGYm=-gibSh80F}%Iq4=(GI_=@ z${1;Kwxoqcsl#g32u4;m3`STl%gY3SgZzpXSrDMitT18NF=91r>Bux!HinShRZwzMq_wXmjV-J7yw;izDh}6K5xK;^TaSC-;0}rt>TV|Y zlH$0vh6Vs!W&?rJz>}(Hd>5GDcx+ogGu-$BqZLQQQ><4_Jua5hEWN z0{6H?HF$QNw~+pZ@P%``W*;2wjs%46X$>Uu9~|r{uIrj?^A2zL7w%jM?H1OUB=%~f zPoi42f?;#=(PX9c$!t*TrKNB68O+xOQ_L)F`49_;xk({Ma#%^YsjNko*@Rn)eq{MW zLKR30xvKeEkxCK~a9CFAJC|pA{7eZ2{>l&U313RV2OpV=*kAlZ35~JTb@SW=Gm<`D z!Hm@(U!KZ++YecjG!Sd>EtK%3P0pfXhlx#`FtO|eu&@@9^APOQO5Jy*GzOWWXAH#~t4)+C=!jvBZZ9UbiDq z^1^AzK~@z-7@V4`ugErlfYlOJ1d!S# z%&C{VFn-54YwTH*BJ1?Qx$_9?5sGydV%;`LC&@&ejGM(sMpS!o+9LKl&Da?ALOQge zv^|@4N3N9jn>#+dj4sh!#3HnXx(B2d4<@W@g=CT+^kT9<8UN!|> zW9F3ddChEZ#Ny$1v9NrtA;eMtTYW$Q9=4qc0F--6m~G}fU!NoGrL;5Hj$?bAvxOqR z%UhD-3c9Y(Jm;En5^EkUXm5oxMl{49l}QFKWSeLPz+WqmKZ6Z$-0$f1A*p%Ee>cc1 z>C)bzUr-YlovI{()cM`!3sDJu&}n-`ape&ZqNFHeXw$&XaBBtQ8#(%ScW6&Z)Bpeg M07*qoM6N<$f^Z|o&Hw-a diff --git a/tools/bevy_components/docs/edit_component2.png b/tools/bevy_components/docs/edit_component2.png deleted file mode 100644 index 76f5697596fc408105e95161cf1ded571d2a99a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14206 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 diff --git a/tools/bevy_components/docs/filter_components.png b/tools/bevy_components/docs/filter_components.png deleted file mode 100644 index adb2c324bb05d382827244fbad6981e6aaefa1ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14115 zcmV+;H{8gHP)U2UbaXx?CDPK;!otF?uC7ONv&zcKu&}VZ zySufuwTFj?dU|@u$jH^z)zHw;sHmu1TwIoxmVbYLcXxMTVPTPxk!x#fXJ==Lf`WqB3JPy;Z)9X-v$M0@+}yvvzg;UUZEbDL%*@5b#hRL$ z&d$!5n3$uZqh%^8%nuLa- zCnw+E;FFV++7A!U2?=sDGl_|b<>lpdLPJ|1Abmqb)&~b^H#go85dHrCQz0RZEiLKk z>GbsVKvZ#vKuBjVF8}}l?Ck8ey~tvRzvm$#*rujJV2zGbQ}HJ!f1S!-cbrc^L3N3! zS3W+%5D>V?;sn zKB~LEs;|0xz1VByaFo3(kQeqAS0;NqG`gnu`*UTuaufwgq8RY5x#w1sEFRI~?A*LE*`d)3y|m)v)mA)*fQ@qrwf;@H@t)Ewlt&hRAXh=ej8Ir<+Q`a#!@mhXbh#iqJ{O-Na5D<%|Zs>3QjvU2Obd@L89!oq!rq zm|4@c>V-avCev?>!NuN&v9r1!E>&}?J(@z~jK=}73R(3@@_USf#beO%fgdKJ7t^&Y zi~ps6a!IW1eVm@$wsU3nOYO4kv51MROvodk0VS zU8f8Uvu!INimpTcpUS9R+?SUNfmzcu<}Es*42QVvnx5s`5>G*(Y=|rF!~(X6VmP&C zS8yUb>AcTPxprAy5%7(^&Q+^yqSN9MaySPO#;U>tMi`yss6ld_-$ zt`3iZf+{wSW7rZKF-|q>w5<(K{o>Lajj2xf%=o~qJ5XWbR&9ep5==^P^n?`R4guZ7 zBlH6yi<_%U$o^u6Xki6nX38fXq~PAcZW1=|B6fuo4=a*_B{55a13b}|g)RI{lQZ78 zK3&48i&4)f8>Dwt(YOq0AV)`|?gW%v+1fF7fP?219OGOV#CKqk{Z+u%Bw;j8ulV2t^^n;?~0Vec-W?Um_JpcXbrO-=xCD;tUGsD zf{;a`vt>4PK+uFJ1*oEfBjXdZ7Ql%J=RvBY_)}>dz38#^`-X@o^Ua+gn(7APR#8C3 zr~;(?)AD^^!W8B3N5OnDFl!K5T~ZbrB7_Z{SVJj5_h=o-K$HzQOV47Nfk2%uo?rx_ zwKOj$jVdhm3_E0nRZ<1Ws0C5+G6htm2mg@NAG*dlN-YT|#+4HhbTFV$Hn}aYqK)!_ z@W>e5Txe5T5<0A7r1!jaQ-TLws?-BC@WjBG0BMzMS1CrUOjTS>P~l#1ibnzECIwSi5I0IKAB?4px1^*Xoh@)C$rft z)fAq*=HqREQl$bM%p#G0lK6s*)rqAXnIzu1;v9GYUbP>^(#e8B6jf*SRHb%{n|wgU z4hnIr#jnk0@{TtR8#9((5*-yhLQOE@57lPv#w1edNhu2wC|OJ6IUs$$1qx5x4AI*8 z<<6TA-(D4YW7vH9%H{$P!PQFT(tct>0Tf00ZI@k@w=vbznuNPIW>KtFWuC0MkKib8 z(ps)#4UK-ZL)Y<90t!p>qsm87W&Fb+jn_sZ+YyMiTt_ahF5%1!58u z5Ji_ZM&Z5LBga1&mS$%K|Dc0MsOu;o6{IaNZqsJ#wxYBf4;CV?zqPab>z$$e`q~GZ z{TKTSK!hv+!reL_9u;iJ|vSB8#ErfHa#R}r%5lvS@I&RI^%! zN@Bv?I)jXI4p`pDjDd#T%<&BrLSUP%g>JBj4oy!Sj;L7b@Z+^dZBSOHm~bURAGH1H zbpg?dTFK3WrXo-P(?GZC6en5-NqU0RVHUa3K$NnnR6Gfmr!t0U9o@OH?$_TuxP9yO z_ilZ#`R32h@7})EukN0lyxeVWzw+UG4~Nx{_f8)C1ES>!r-g49GeZ}sMFX5v4So`g zKbLt8bKOFw^b zZ?pekKO^JoPse{wA6SUE%))bK!PM7GT`j)!Uq&fKzEpC#kWK z2#EBro=&XlleeBd8H34v*FU`7AKzNP@&3Bs|9*Y^)w;j?%ifo7eY8`!*YN$PtJBk& zC=#(@7TMB$LTQ0bE(?{O#Fl)!=?9?V6Nng-QKz?MA{Y|`kok)Dnxcvvn&ug+3{iOi zOmGATi6BIBgbAdxMPTl*iT(1fn9ST&Y=tfs>&jTo5A+&9{@MT*9n22#gB<)T!x<d z5CqMUL5kpvi?PQpRG+<3<-BLc7yul%9GR4Bb@DjH1_`P|@vz=hsMcW%rb;afU#hkf z8x$r&(^+m#6RrNkw-z_vd2{jXcVFCi=cM1f{O)Fi$k82tj#+NSjL`XyhwN-?j3-G8)uz%t2$vuiB zaIl>n8g*$e%LJ40?PTZxRtCh%;GE+fa-dO~!T{})#T-2XoK}_QEJG>gW-}A!&@N)S zMwGafWr?$=txjdz6mFq@K$S_L6ihXJaf}0oCSeOai9I^pf9cMf?@bBFhxcB&-LHPV z|MBr_>;9d4CohNf@oOVQetF@CukSrrZ$Dkn7A7OK+DPeIvX74?eGNQG)?_$K2cnp{ zY~&$*!UWnYA$Vbqg4-v=DA8;MFK?HqP)1mcR9p)8zVbC~Oa&(KWfZHBYO)&_izHyl ztb}TDqcOZ|pJw;(OA}DH5osB6( z@JyZ-BnMSJRKps^1-Rl77|4!p-z)-A`}y+aSUS)QP&?Jef*lI*v7#8OhZ$ zHR;qDG!xs1I7>h{w!$K+g#l3vKxdWk8s#!$@5pHVe#Boln@ud8{*C`nZ*1T6RsOOp;5-SM$Fy-_tpCij9fN4t!M_IgAhR+^lBK53_2_Fy!EL;T%!rBr29*7&uh z*@(j71Nn@G2sjx7#^o-cU`Z^j&C{`R*Mwf4K?+bQn&n{2yP+cn&`_d94R?|R&tb4> zz#66lsc6IdhNHNt?YlFgl*wGwA;gr_3!RGNLh5&??Mjvm$}FWC^hbV5pZb7vO_3A@^zb_KPtK#WEoTXt&yodH{KR&qUgT3N8< zfe|*LKt<^+U#HY2IrHB_&==}iUd1|zwO90&s+-~~RnJedK>1{IAuuq(fsjI-hz`vX z_(GjRxq#sOv@Chek_iP)N7}O%CMZaD=Ov`TjymsVWrm>~hk6iPVSf{Gw!5g*Vb z_eOUdwqrV=N~J7p1lv@=rh zpu<;6z>>IAeD1#&d8iAsD2PlwkUVptKn@cY4)=q6E7MBzR>9E#zA)i7a>QSqYnhJx zJ}L`J8l%1{*Yc`hNp@q7!hT1=xI8`|P^IcNk%{A^D|x~=46TDF#Y{~Wut21M5`hCL z7@j}YRUU)Zh8(=j*+1LK?6fM{fZ{EBe8!2rlEbE;^q(o!|#+!ufXYl1g_83)HIN~UdgBu$nH~~_G zM;*6XN6uD5Y=`bS{1H3DPHmU5Pl-KY`g#S5*wAq%^HN*hbHUivX7OPBDJ%Uo4?*9c zcGKqyk$g{14RSEVgJ<>$M9iENczjl2YG#+KI)sh|WjU$W>KnD?j$z}Nb=Kh+n4ob5 z4>l){#jp=}=sZ~&I<7Et{c)6}B-n-NXMhkI8HgGTnd|J0uYl?iyVLW8j?^KlOB54N zG^t1RR!8_Lq3s}whxq7Fg_(>(zTe!2Uh}Pm- zuH|W!oQ&)?a$~V8A>ytfaxG7<{Kek6^(GNSaeO8yJDZIp$6^P^CleqA+*l&ujpfd= zp-sVt25qFodQ0j37nVT1v`W&*`DNL2_RKI(`_If_moui1v7iw; zFOhhRAjrBByiIK^K;|V9Lx~{kOYo3$Ng|kwAc!V-Q{hq)F)QtMx6a8$;k(!Q%r_ro zGMPh00>aoSYxZeu2ex7&*!)FMN<38#)DLqS4!?F*Kz<# zDVz4~beJE5bWQ66XUkH%sZd zN#-=7KN4oY1xC0K*>=);-(g;A1N!g5KBV5`I<#Ew1o3-GXgthj67agB{i?`kp;r?8 z)Soeg8h1KI0+=6jiaDnMzC;oqh*cg0jlBYJ_G-^JwxEJHDuN)$iU{7nG!*-w+5c58 z;*}n`p7yByR!GC??h6onTiwl~(-QSAc&;U&xG{~7Em3P!AB@NSS6Ss(MBWiGcUX&3 zB@vZ()MjH?l<8Q}ePqof!g9Nnw(aOf*2@dR-Ztyn*p&0?n4mZQksLQ zM8fh8B*YtgzC*7UmD$Z!UkD!E*0*xG$y!n(8NpdQG8f-DeqFg~SvRxFPea~gj5jOA zxSmCBT405Jc@VPzys1Q5nb-B9?dV3f(H4aFbEY;PBehZ-7(tL#Ewm(&;JHY~@Xew` z&VO{sXgZxBwPN&oaf_TDT5}S4FpxLy%`nb)j<+&NTCFB;p$;4FgN|6tc4=&w?`{2e4#cMtmd0 zwVQG@{M8p(6~TX6{pq9J?RF2kwFQa%{OLNQlrnXjE5jKhOd0CsVIeL*`XcaWmqa2% zlCbYA=8s63J|s+yu0M052TdpuWK{&kHw;D5OD2=4BsoVS7lARrUzm{phNzFBc%)8y z+Wi}eaLzD)M*bUuefJGbY^N4cb~#-~kaZ=l>tgy68Dts5d@jT zG{b6)hm!FJln8>%5$y45DC&~e)pOGI4T2!+O0YA(G2?JqA_@FO3t3;H5xpC&p~y)F zrR5?)n^E#7Y`AAyq?!=`0rsT4cHK9O3ucruBYu{o)ci zvI&A*Rn(r4=5Gp?nlZA#a^X3`dlLo%J`8x{Wc1Wwd(XCy+MVa4n)Fgnj%*&rpBy>* zB0EriHvjocg_ll7Wt>ZpD@d?a|7B|WhK1)8?D(G0mFIeAS?lcsHu!Q~oV z&p;f!7WRE;jw}I_++6%kfB5;?vy)Uy`L1}<6p2y$IEH0Mkt;~l=a&*$u7I*!c#cqS zvMEivH7p8leu2S}V9%?pb{_^G1!rf8xp<>naaHBHmh$)EXuue$W+q93AXkp4&)@Ga z!szz?7CD~8yop0PkF8K5&Ck2!cw~if-spNC9r|L}RQ^6Ztui|=$fSkI2y*pMulfEH ziEzF-K0CYL0&yxc@hxadi5y6YJe5nU?UR!M&{>?n8N=~tbU)Wpep@`84C9YKo^${u zvO?}4m*d;FSS%L*^MFK3a9Ri2ac z#vfFk!+LS6L`&rEE#wD#=i}2j6$kLXcJzmjm9?wg?paa0?ZSZNSYQkk7_h+<=HN~| z1oaT`Ks}YHG10`B7^8_A|7Tyjv6giVR%zL8-_K=zuT7gvzU;I2zOS#ZK6on{{oOzo;rLf07d?vB3%c4ISB>F zCvO2g@UQg!q;CL4!p6x(K#_p}6!AeAis+z7p8$&71Dvgh zF1XlkS47f~8&Kr-fFgsBM$>ia>SXw=M-dLW2}}`~4Bvr7V2VK4Zx?pnQbg9eDH7~` z5l0c`mp@(s+W6xaCSXOFhyZvPWv(cqNxWb&-C$N|Q$&uVz;F~v{PGIWfnO4VDv|(0 zIy=$|yX?wEMjLoq5k8cT76WZaNB&>}RfG|Mjxb%)^{j9&gTBlwKu184F!3rPc@-&v zB7FrY5++_nWP3!57i_rIRn98ga}f=-&{ql@Tg#|tNGVA`5nnKbpUq~o`#ZbJ57GCm zKn9@*{$rUuo_#okq0Eg%>Y2tUz5q=u4g-BqHU4+`A(AHE2crDxzm1 z6f%K-h<;-QG8jeP5rv@{g8JQ@!nmZr{QAeY316x>tv#!s94>eB&+lDOG&bP z^f13)tZuF;%X1I6=GKUFd@G+MtGn|{nq7~7KAYK&Kbat)h%ZG{MZuGEmLfEe3(dgp z9zNGRA@!}uja3g7L_P7O5R7lNkx`*3`4- z%H-m*x-(BMk3Wq^*3U<>n!2!J*H7`*luGId6uC8z{-K-S@(o2WLS%AIrHWXAYz8)? zsY)H)nIi1Qf{;IxKVsO@mN1m?)haJ^R77v4>(x?3EmgZIqMRLL%M_(_pkg#bf7l|p zTEXuw;mP?3RIasA@wIl3&K9 zR$#4=-kBooLSe2_I*ys9Ih2a%hn$s*YVYhbT+P>o=#cyeY{j5VlDxS^x}wRh?9#n6!e)A=D5-VCcr8ZA43JJau^Opf4x46d`DRV`FP7g6lM40s3J2MA!RbJ{u=$A>=hQ2R$x6L^{>b?RuIsmGJ7^V zo8^QdWQDgyaRz<8PaQggzFnp5n4EbwRi6P?m7#Gv@0Un9WBqGud|MphPu=E ziGv9!K>!m_?uE8oM7Afxy9RxGUjc;>g@7V91Ez=wli@oO5m6J_GwAD8M2BgNJuqO3 zz#~;1i8xVjzC1x_;~v)08XG{EFbG%?0&jomfJo4lTtw0u=4eTqds2iQIL2@&1gi)l z81O(kFA{V#m$zwGMAMK1DB>`Nd;%+=3=nQb_B(g9+E+jUML>~ZqN&LJ=OXGLDx#tr z07V8LPy`eKx}x={h$s!ML>}uKo@&>k(*l)dMzjdiVOqY6!E+c zRMtXN#1v~W{XE7tn8Iuy1B$%FIEvijrP7+zNs+z46fp#HsYr=o`xsEYmjgn}XY~K==B0Hs$rHEv=BD9E~gCc<=UK#X_YpjQ^>AFP8S(~5~NsSll=`kY) zict8|iPJR4Rf@$wsUo!4tBIh9haeS^q#G2`+ZEZ%HK+%sNKBB*7vpA0>|;a1QY2kO zJ7s;OC=sfNRg^)I;Bh)yw@BA{KFp35vK3)=4B-Ts3liJMgrf+*S4UbcQK_Q@?Pytr zRsuzW#!*D-I_NuU5w0TUgIZZErN&k-&fhg+@snk?e+fyE&o64{7wJkp!P9izD$@R1 zkyqaU{O}f4MEBl0bSuJ1VJc##Qbx)!jT9|eBL%t0R1GU+c_&_rbF`zCq{W#ZMLv5g z3i#vZ_pZk~4*J%Ey1Q=1=s&tO>}_n=717Tsh)L+D%)7N3Rm3VPC13yX>p%~@_GS}W z|N90-U;@g$D#9>`p`svBB-Uhjo)(BCI3QS@TqK!Jr;{=ViuA1_Jg@V#&~=_+ex-xH zJVVhrAXpqlbY9Y^CZI^)D&o+XfC2=JR}l-Tn<6k79uyfqT$AA&2oCAbuUCY?BUPZt zP@s$C8bz4W?)>@niXa7vcM3e1+Y9!Cxj+~o1$9zHtyc>t=}sN30M{jZKl+nhjt`eDU7A&R1psx;vlVn0{BFexRxT@`J`ew6Fz{SM_M3V$J(29T}KnqI{?(){5yuHeSBA^K1 zCN4{@LEpXX`iI$a2Ss$`0u%v7h6?w6kxfRJV|E1rauHAjXd&CTML5A?UJ&Lwy?0#> z`MyZx*$&H^)jgASv5;UL$f9wYdHVS2)1t|GFq7HK>hhE6%!2#c^5TBX`hX%p4NAXAT6q?pt*BF36vY0Ys z#@i1JBc7#=#EW?La5p<)ChZ~?&&KRiMe)OkX^aW<+IrGDZ++$QqgDDjH9--;haxuV z^L|jo*v+xkGCwUEtH
{wAS=97lK|6E!WQ|pTcJ@4%Yc8g(dug9NF7|SzkqcEu= z_NfnzT4rTOFsy6s^G;Ip$&|GRiU7V88C_e?=8Juy2s5o$D+`Ycg^evWbG#QZV)Tn` z?=LOv8&sC2B36q*zxvvYVWg%}yjf%$r_LD$u5V>k>stG~b*hLZObiqOdQe2?^`;`3 zLJoC$OO<;>E5Y0`Uq^qnOXZ3pMs9a$ZTlcaF~)Wdrm?x1HWuvt?T0Z_Uc6L9qhI~f ziS{(cnzJO{EV9j0F+($!rM=i@x^do$v6*H~`ne;<6ee8g@(v8}AA9Hf(=-sq@wxLV zO?1}WrJSbvqC3dVt=Y`nk8ap8*nof;Ke90}0mEQ30ppLD_|8|pF!7~-v3Iw^ie*DU zC+dBZ_3oZN&mKbZ$@SXxxp8Rn$63UbTvQL9&Q!=qL?Q_OVtu^xUbY~Jh+$hZrK*;S z*eeynelx0EGoJtx`t5NB< z{i_iHaJ>3(=QUIshfrkLT4Z&hHR?iZk`popM9O?JxR+hE<};b6lecF!>jlfGxwD2C zPgu@W{kgo*N^?Yv=c$C(!MSd|PA$}L?&h}pp;j@KP3?==ed*^}c@nkrL?NPdp3uoW zf-u&P5t;Ya_GZmdh(w?-&rAL`M51=w;@RVI%ZhUuC#6e8&p!$e+Y$#k!U<_Z{l?~> zpsVf23bSR~{G$+2I!`Cl2+(5)`I}1Db4Bf}wFv$Z5wATxJ?+6?pfeGntH`Mz!|S*Y1}nT=m*|O|8TOzVuCXG*p6#U5 z=`KBGYtJ)yX-Py*zJn#4?R5H`Oc4@Y$r9NiPZs&<+V0~(Ubayxt*_(C0)@ zt-Dd)Co9>7DNez_zL~1Y!Rl=5+nq0~@;e|TGkbs%{Sae3nrsw$2IkOMW4+8 zryRjrsoM7KSu@s|@kC6%k$rRL^Rk|5UU5)mic^}C))^@!1NMWxBM~#%bU7kxda6eugj!29 z5|N&ZX}jB$agQCpaZNuF+Nf;JYjQAgBvR63jbhW?rz=?}>%35wgz_ z*?A5Rwju*NJJ?$lF-JX#2*^|qMc1w>t{WviInZ? zdJ*<^tE5m@h=deEWI_V+Fc#V|cLXBsV@AY0vXg{Y(Z7v|&KvYBS5DR6!d$vF4M?GM zgbU^JRE?dMu{YWQB3|4iK@)@qUrE~$%#jd*03Mo8`a6rBS9f$T^ zAAyMHGtzEyMie5$#3&GmP@+Y&h=~FJH)4iOK=g0l2=43<0#r$xpnaEE>%n0fyJI;+w>EhPZa$RaP zBJaOyLeY?d6;MC`k)V<*yYCbtLq#b+Fh&tVgi>*Uj1bBQLX?S9vU7Z-oF*}FQh>WM zIIuGjBW&dTo!6qzZIIyn3iES_46&Yw8-!DIoJe$kOvYX4^E^;DeFGYOM{6`9h@6ec z*3Qn(u0rJ3iV_XOAqxHgg;8B+;W*j+lql7)dUQBUAw8!-Xa;GK*+qd!=f0 z1(f^RX+*+BP^8=Kv~LL)MlseJ@yD5KjmQY8pD~V4;a93c%k?3p<{nH$#_(e9*%eS4 zC}EM@i?#e@)S0RmT&rIM#jsDi^=_vnNy2*L)wUgd-Zo?(B@C-}-@2W()r+}G=V;$JbfunH*lF(RFqdn0;MZO#Ix-S~1{{PEKI%DB6knT*SR zQP0`-v#AIVQ-~;CwA389UWg2-fPxm{Xu+_XNAVS2vvg1d<+R)W?Op!r`+*FO*v9lz z%jkRD&AqU)WjC9RC`6PliikN95j3u{*P|<-#6=+!*}Gr6WmWToA}9ej=_7iU9NRWG zNRPf(V*f)!ABBYV-gjog}U1&g4ZaD`TQ>{FV3z`?S~N?)Wu^c#e7BjJ5Q6+H0QfvtGHQ*Y-G2phVJT zuSIM`Y=O+XF?u8>cOb-N&muM=woHh4#4NJAyvWtIkCr`)*ogek;(!EP64Oqvt>!Fw z*5NoJVt=LTtjh4LLr)+SaG7sFsq{g_G3_3)-d=deQ#_7{V7Ik`uT;5hS)pl%QxgZo zjL2M{XB`3|HX=46|AD4k^9WoPITn$rKx-0#x_=81OLjmhXOfAUjfkz|)%D>CaaGB7 zMEp}$AY#Q1C~*Iycj5L`8xdQ_Nk_zGKm@7ka-wAgB3A5xa_*|Me0b%ejmTM*Z_;7X zq;FV@jtKiWt8KY{3K02AJD@=Mv+Rq@_KDV66`b+3Z-?a@)?#?5bifaoNCvH(0!04K z4k%Dgri&4`jmR0*q`z}h#bGVxhe}WRB_^-XafnPBCZ*9KV#N+9#0lTrU6*Y{&Zry{ z9ddM73I$>5Uq?qIsINsLkw}ugdS6}Vb)6rUTKe#(jOd71u>*=%37_*+C$HLwoJ}2z zh8rrj9l23U(YmJH%0!^?n(1v{YZUChtLBdb?zM9!#=MWhgwdAd_L0V1HG z5joNknQYW*wHwskUCx67l0g|^KVP5~nP zLAAwfhDW*Iqj!A%9myem0MmjEGQBEM8uF;DI=ybQJQDTxq?!iNXmW zfULyO(`0gP3h9P?WbyNbH#8Q(==M17fHG1<&|x)MNMQ6dlbnMmLf_v&g=Dhqh2X%C zdoPnLA%@8IVl@(GfBC}SSk1%ZugyPClbPMiGOJEo`Ec?!n8ZM6-iRGdl%bVsyp*77 z0#((9r_4^R-V$h=ca06@TI4PtO5W}LIzpv7bz3UOgvJOXwCNU7go5Inw!C|I@1QrQYIoKUN`MC+OlhLYS) zvVH|ww^z?6yeOXkH;BL#^0?A%Eh2;Fdm#eK^`Av_9lsW7Ha~uBHkXWuu(e2m#VLnDk*4behZK@-Y;VVJ z;0G~`!s&x-1;PmNaa3~^CuNAl34XZCVkrEL)fQzI{~V7tV$mjqBSJ)8Ia(nU5YYxg zcq0l&6J;!!RftI7$h_f{*-7s$w9UK5h7uD6hEnbJO}uq47RUbxkxDjuvkM~CM&s3e zd8a2Ljjo8e20$bbYDeTtv-!UH(S*o-i4e>u=9_!7@cU(ffwI0zH&eu~c)=$n+{zVIM9}oZy5aytSpMEF6iLG0 zSWS{y{ByipG@Sz)Fh@iZ`NmG%iNK@{gyxMF@>nf{b|{)vM8XIV{V_UWt+(8PcWn}e z5}_;%CFb2;!SjndFR{f76Nfg5+?>}KakN<)y%Bl5(RD2n@&{aIM8f+Wh%nw3IFm9ULd!XayQnxriGX{5*N8~tAs|8~wn?~5&yAf%i%1xvvzL&< zwE#UV;ki|MSjLyDFpEHZ@U2JKt4x>>5&p(%X_>`eAQDRW-7i+4F8Hc>IU?;Xa+4Sc z%^S_FiZV%7T<)EONchO`{!pV6ZuOQS!n+oh8xP&ZB-bhkIyYvL=txhrD6Ek86+(;EWXeyUDJz$^st;}y z$*o$ZgaHv2ynD+8N`=3%nuo_fhqG*XO)JUd*5&E=0r>L#B(tXWnMoT6Z5DZ^ zY>2_38`bI~MI?M=)czQqu-;o}n|F=Kk#Z)UhYC^N?G;K7mMxw{%pdv|GiF2tJ4Zbb zN$mH&E)rz7X-Q1Jdv{V#!W}!H407oZA;PC)N-%;KW|KaKJSG(0x+wwiw*-u|Wr#&2 z_|TUkLMT3m$BYqa#2;w!=t!6+{5SlFFp4}wL=C5iA(%}G!94ymHHt)gn6eghD_w|9ZsHp1n5?$da(20~eHcss>mvC_3;hroxxQYqHMoAgcH8Qs&aX!eY3YH;Oi`9* zB+1(k5nHxSv5?bYk`oPS=|IFIG1Uv}o+pQrWFum0T!pYnXlRT1D^;#QNMc%-<}1D% zHX^oc84%%s_|;jYJTp;}x*-y@5wZ2ZsfCD#0pe2EBK7sc+MR+ui`cSdK*S&NPidP3 h&Ckz2+oT~@N79jut002ovPDHLkV1hXari1_h diff --git a/tools/bevy_components/docs/generate_components.png b/tools/bevy_components/docs/generate_components.png deleted file mode 100644 index e77a65f871e87a3ffbb82acdef6b4944a6de714b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3429 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 Hu0mjfj`DfO diff --git a/tools/bevy_components/docs/generate_components2.png b/tools/bevy_components/docs/generate_components2.png deleted file mode 100644 index 71eaec24437f1b94d96fc516f2e28c0f6def9283..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2513 zcmV;?2`=`DP)r5qd=7Z({B8PUY6J}0czpZ4(=&WP&+rL7!zcH8wgMOkd#`75#t_*@Jqut! z=ovnFq2~_){Btk#98>~bP_v*=LS>~9=oCHoLCu3?B~127&mDWd=c=lLc~y~g2h@CB zXUb%SEkES%EYHnxvQy`pyj?xrvkZb@(tc9FS=)0sZQ7o9$x1i*HnJC48@Z%sSIirI zXnWSHWS5V|CG^aU+1Y3a6`|1XnRgo zoUM;bxw6g0o|26|FSZ=TI(w;SX6J6)dKPBBIK+jN)1@)rhqOpE}d=ABH1fAj0tB z{v5sm0}=8b7Ji~<_=KL}6MBYE=ovntXZVDk;S+lPYwt>%)P`YbaEV$g2MI~I77F3M z&r)`Qwk*B=|39h|D>N-#dQC6tH`tODNzWhNWDLm+3fBasXN7Bm(zC)fLFrlHn()8s z`ORa6E5n=rS3ReWB=O00hDg1KO zl%9V;&q~gJDEY8Kq~X=YJSl zgu30`baT0AYH4S%$S6HOr01LNt&_N~9WoE-xfcLC!`k{h2#2ExIj{9}Y-<>cg$UOc z4rcq;#;*uiB&e5m5YXD%AVU`%rEENyCir9Vn})4&H&@Zd_GBbMnnlM zgZ|;vj55hk%IBc^#Dk#6#7OHoSmX%ZKs!UT5zP(PQhI(s&tq@qkXw~Pu0EvaQW=1q z;l2`n7D3Zv4Avt|>lwN34Mq8?>3-G<8s*y!QW6hbaltpLz@W9_LH@FFhunP1puXm9 z?>Pm}KnyAG+Zph%=9~lVjEIPqvFc0*YL;Y@p_I=+^&dUFzX37Q=jWcCvjuXwjisHT zZ49HSq3+KQ=-DX`=50;e&F34d`g-K$ml~NfJ;Sk&Fz{yE4jat8x@NkgR#`jdx+_{Y zw;QeC0|T7hg-~u|6tq2eYX@H$?$DQ0yV89$O9J*2f5pFKV1W z&0aDvSwedTokGaDdq+V=fc_4kfB1v}$opmn-rIu!?Tmni-a6 zAn)55c)4Y`nUHoyL`2JqTfSQ+%_x&hk|IetUvDwoKfj}T21%#=1fy}%vz-$tX<8|E zEbR=9!qbNOKKP)X52I|waGcYHW&Udgjd%u6Gqt zQfokr^sE`r`$rkxEaMVj)9iAtLw|>UK57M^d(EjVfRB1EH$=!Cv%ME`eQVf#ykuau z$6#Kol#vN>P>>M-w?ngu_z8pbzMX+rZdkEUlRHBq!kAXidOq%!Ni)hM12Tp53>8o3 zfSl@q0eM()5yUv@xf|)&lzO)9FY39V^!%Wn9osgHT(M~MhdrTZ$8p@DG<)Y<&nCu) zViXb;D7grOkVW}yc;|8uQ!7-$o2M4mm*LQ3AcLZj{IKWqc^1dNd3CFFAM1H15zE`UKVE|s@u#+{ZiDF6DyYF(nE*P_{x=KTBMO$z|I zfSi#d69ZFg05O;Vh$W+NQbIZL#i&)Z;+>3W|T>WQuI6k6T}hVbn)Z?yRTwA($7Cmic(wylTuy@A*5aBd4h=6cfM}v}qQCez_5MRVzCUQ>!St_keNWzy4F$jkY1qptB z6p4^xDerq2s5LEUMYNQZG^1cTCD@_dWVA?MBrh0o6a!MvyX%2w+PREYshdjAzw~)G z-J^aU)an-l=tlbo0l@KV*FWZH3H+|D-beZk?~4Nbv^>(SemMYv{ZW9x*RG#(YU=%G z^*;agK)uiZi}kGjSLV0Eag?5ash-vU%KTP1KXZR}H0Qt6v%;0({hL_N0!q&c|302+ bDLsDx8Z_0y0>hA800000NkvXXu0mjfb0W=h diff --git a/tools/bevy_components/docs/generate_components3.png b/tools/bevy_components/docs/generate_components3.png deleted file mode 100644 index 685b64f6f3d5cf69b2385e1834c5b9fbc0fb1fb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2477 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 diff --git a/tools/bevy_components/docs/invalid_components.png b/tools/bevy_components/docs/invalid_components.png deleted file mode 100644 index e6bdae6cfcb7b3db292508158c2023dce8fa7373..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14119 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

Xy@NHtW4JDT4d0vG>03zjXUv z=exG9uK?!V-=2_O9L~=I^HC6llG_721}d$bhy^W9q@_r>6)5Cr#gMpp6QzK&AA@ju zUqerC{+t>(VVC8s2lUmWBP%?{jB>4KJmsQ6yvc^s9f2y2P&HP=49U4k`0#tSG<*77!vOt<#>2Rl2+&DYC`Tq^6D-kK-4rCE{GS4c1E;aS>8{!S_4M0$hOu4nU_MeX z-8atdn8UbdDg-beos=tIIBWr*GzA`#2cT(Rm2$NNBIX2Rp&Z6-y(W}E6p8nUB-AVJ zT2&PvPS&k~dPIy72aH&$#=#a~!b^=uLBSWR__z{(HN?H8SV=l&`tBdK$dMm`XrpdY z4heVm96jc2>EGhE-bl?xDb@H{Vg%d5)LUbzi`WpqA2l1;r7Z3GE|On}J|}AOTijc5 z_hFEA6&r|O@=!uCeDgp0gw>so3EU|!Q6D^3h$hp#bwo#CY!<{(zw+L%SB|x{b_tEdXjN``G{6OvA$95EQW+m=JTUYkd=T}Ui;!x(3irh*tgA*usKFJ{b$sfUZ_MS{`(WLdngRuoZ0$PZf9_wZyzY-YAfRk=-jyNPPPP!&JGMTyj1clp1<&69pDE1ORBvHcFgI4*9(2X&c(9KP_Y<+| zq$xo+wI3gt;c)oJc_)>}cf{>I(odZPW?`TYratQG>U`07hvltmb!u?NjQMvSsn}aS zIOBjo~ z)tXjwobr`Y*uFuewNpXm>!tK99|DU{>}$FzzDH6{KB8-lw#JTC$3bcFtZn0+Luag` zK+L5I+rPLx09Fz)u1-EIimgGSNx&TQuushCzXh=7KJn@b$flfiF#&cjft~)y*vOx3 kA`duEyyMc}(e;Nh`HX6HoHa`(@azHxPgg&ebxsLQ0J2PANB{r; diff --git a/tools/bevy_components/docs/other_options.png b/tools/bevy_components/docs/other_options.png deleted file mode 100644 index 6356d08325b2772a7e4b76f910bb8ddb0e3ca4fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14883 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%0A5dZ4U#fIjBqQf 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 R!mmD2igGHlA7l*u{||bSs>1*P diff --git a/tools/bevy_components/docs/other_options2.png b/tools/bevy_components/docs/other_options2.png deleted file mode 100644 index d08a5ce9c1b5fe7650595389ff9e79884f25908e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4638 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%0A=6LlS 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 FV1mwz7k&T$ diff --git a/tools/bevy_components/docs/registry_polling.png b/tools/bevy_components/docs/registry_polling.png deleted file mode 100644 index 134533b45911adc568bb322b14b5a07a30978577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2318 zcmai0`8yMi174K)u<2ZdkLW;-ksOg3b8bG&If=@hqoE~aj!+iMk!n7OC803MF@{Y^ zSo^w4bI+A4J8~}3_VpKhzt8hN@B9AvKF|BZ`=&WM*Z}{M`wIX701>v9&H#XzVAmT- zitqA+@pb=QS#bQv)ylxYz}3|i3WY)-kn`uy+uPgQVC&S?)q{e9oSd9cC=?QjG&eW5 zwY9ajw$|6zXD}F}qoXb^E|HOu78Vv4E?nsE@7L7S92^|f)6?_z_J+Y=VPRq8FMd&(a}*?S4SWaI2_K)moI(s zbcbk)xhwYDBri6vyQzDowqvrAK2Cf)m{!_r?h<|ind<-m?4Lncn!Cn~atraqFJ?!~ zzILwfg~!7Aw7U1;Xf9XO)@67&{q^Nc#iN3WkI8GJ3L9bGNoN(5ewrPl2QH&cy&Ph` zYfrr{^EnRQGN}$B`c#;#dLC#xo!om`1W+H4x@DSW3{sZM+5txIS-j6@WmGDD9w1Hbd20CN{M< z{VFLwq@8<$x9;J+F??MGkRK@6)gqS{dhYxMg{~ESuK*>cy?(;}m=z-m+t9^5_Y0rDLvl|i*XR*C zH-0-u@NL$9qs3qzpv;BGx_xtJC=Xe4TffqS;|ySn_%Rr%0IUYq^s{AiWy43x?tO3GYPSvplJ12ZXqstd*qpKM09ngu~h2?hN zkwrbd{q&dyCkRN|NSYIMIYoSeI)JGzGY&n;dX;@!nZZ}jN-3brrc77AKcROy=*nVd z7%she^BA+>Ph8QXOT>YrQm*{nqtQ)_l^XFK9%&yN*Rdr2HH-?E|{e^|%iZ^+T%f%uFvX zT`R>FD-N(6cvJD&T!w@xoZrxH67^NbAho3ah$=TbKsdqNpiCeSMpT~%eS{$M=F+X zhF-i0k=m^yU${QThP7RT;wV?3eXRnC%D8vK`QU(+;Opu8qXnU}#s}tf_FeGk&Ak}m z)(dXzp=)-!>+W6uz4}H2dG_oJkMoUg=}8?{E$AF=%@10s;aIXyL=WXnnJdcf^jOsKP+A2@+O6PGr?}nR zUGNLGYL#*^8&5jFPU2Hy4KLn}={iUz||>M^k6GQqaCKD=geDVwwYut_c&LD7#1 zU&&=e(-OsOwgsq7cGq0q;7w<~VaBws4s+T6+xH5Am)BDdp1Cjk#)IWwpQlF$x0Nu2 z@o%oHp?b^_FX~O?_=oMK@`*}0!#D0>)q&#{vbuY`qS)b`H>YOT*@IsrDhv%HxR3G# z4ev_v=YlbJD&ASdiL4i7+3qb8p^FC=A>msY+G@q^(Z3N5%jgyyKP%-~&P=_9A38n! zO3FDPa2f|_CBes&_IeKa+FjuR+p$VzeB0F;!K8(a_Jyo9C zR|8f?7L2UrMgSYlmCQH$ds=UZV<=^}tzxAX9TB|}rlx%Tnf%OTEsUxd+%^`_LNtntDzZiQ z2|Tjzz&-28m++@SmbbtB1bIm)RRwxv7zBYf*a4*@`GHf|s_{?Lzg6lNlMg)OmckFw zFMrn|EtVuB8(Eao0^jRR$!)B=e2l|I0D;sA4v6g+p5mm{#sn(R8h^3hcL_}9wF^1v z6P`a|_oLKIV3ST-b^)LA1Fp?4qpw?BT;Uvpoq**4wxw|xgs~wA%NFbx@`sa!@~Eg! zJgo#tn@iv#(%azw;M~4JHX}s)jOl+kB*5f7k(T4O=%`8EFzHNEV)%CwpigsC>*o&o i|Lo@Os;(MtNw)o~k|pE4wY7V200=7w%WAlH@_zx!c9hrv diff --git a/tools/bevy_components/docs/toggle_details.png b/tools/bevy_components/docs/toggle_details.png deleted file mode 100644 index 4fe3116a2b54396f484a6fedc17d6eabce1facc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22122 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 diff --git a/tools/bevy_components/docs/unregistered_types.png b/tools/bevy_components/docs/unregistered_types.png deleted file mode 100644 index ad8e69b7884178858e6bd213b10c28e458570744..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18251 zcmYJabzB?W^EQkGcPJ3tp*SfNr?|Vj28w&J;!-qtaVbvGBE{W;TPf~dpt$>+-rvvj z{{GvXGiUso+3f5_sj0|fp_8J+!NFn4%Sma#!65?R;NWLb5n(Id3uErEA5v;cTGA90 z6e1!byu7^3%*-StBy@CiL_|cInwn~AYBDl15)u;Z?Cib0y^@lWl$4Z{lanJOBmMpT zV`F1MK|!x@Z~_7Xa&mGdB_(rnb7Ep*LqkIh3=Fxsx!l~`TWi0%y1Hs=YHV$7KYjWH zg+e_&J^lUtxwyEJlasf%x2>$K3=9lhU0p*%LmL_zoSd9GIyzcfTFT4ImzI{IqoZ|o zb(NKsXJ%&B*Vi*LGJgH~r63?sU0pprJq>|C^78VUo0~;NMGFfHv$C=-000FAh4}b* zBO{}Qg@u%ql)AdQ$jC?^AD_0iHd9m6{QUf;rl$1t^xfUvm6a8HdwU%noiAU$92^{2 zSXf+NUmqPEJwHDmAtPTRBL3;~eJ&K2>m@{o+l(>%{?UP2<#ScJGgOR)W&gfbEX|nvP^{lFI3nYV!`SXJ^zi3N zAmzcQvG>7V0u5$w-T`tsYgIbVk_Q#$D-4;|CcU<2%n5(ah>MU(9Aw(E2kHf0qqBVJ zEl+ME^HQJ{;@i@rizNQS?E1mq+;2^r?B<32T`Ua|Q?5ttgaSC;i>!IqjYiy6V>=+S zm<1eLB2;bOYJb_Vs?STASnLt(t)Cv9a>Jw$_uRSE``DD%SVbvo4e7Iwqo8UE=dX0T zUwFGy%u*v$thd`8%^vtG!)hDv5vFq;7n0{khGzj3z!VNett}y$$P}d3yO-{$y(by} zYq?GZW+l)~SFXm`ReI0QrM2l>gso=)zy@%hgo_RoudxW6fQJvAF6;_7;M1Gh?PwM^vCr5Tt4XbUfBnX9YijT9N0xZad%hO$B z+_5nSkb_;Pf)GbUc$|Vyo$?tqiK0o>Szq8IP2(`=C}8zAFg{)wH0<2e(F&7^`f?NF`5t^2OeO2!sOqVn{>8715wQUJmyTIHlZJaw;%z1 zK`fD6r)9v0xCEUrQ76UPCIh5;K}c8oxQRBHtsO~nf(O*#m37rKFzpno1s)wiQRq!H z9mRqYAQ0xH+bp{<6xNUQJ)EYZS%JR{#Mms*9o$)ZoR{V&e`LYjp9qMP$H$e2;t?eP zqzdpb;N`{W$u!M`UMm0t*uDw^@?uYe>8f|`Z=1<5dl`MH)6$~c;E8-4{Z~H6ST%8j z85^&2TE;|i7EfNm1Ilj)opF%2!s;OO)SZ}vpC~_jz3ptOGgZ&JNq6_<`u!4hvr0t3 z0>Nlrus_ui( z>$ED%A;WfY4+U=^cS!lLHx62Xkk--o^qFR~;4OAxuAx%HzJ)Hrx zPGH|oE991&Yr(DXwTgVcc@t|A4UOJ`Ex>t)x%p(3Qk0WR`&lN|6P6OS_zU0K8UH-) zr;Wfj;QtZUUbkH}Hl1I;Xo$7w>AgOU@TjJD>Ah(?jQtu^it!jhqJ}q+f7mkX`2EIc z=;?N{ZM__A)H5uS()2)TpK4{h$*;4B^U?gd#yZ|2;X~{7bzo{ zYpJeJ5)$CzAPvhe-Jvq6i=iPXnY=(i9=%u-mq58ZnoDVvfu5Et&sY4Qggjuw{)I|H zt?uq8Mnf@O##UMh^@)slg^%3L4vusqJX@LS-j(;4_}?|VH&??w^=f45_AFFm8POsK z6*lD1vSsC|*J+R8J2~G3{NbK6lq>xAS;`3g*yuSe1SxhwB%Si|I@<=wCuK3={N=FY$|6zD;Gkf$C3!{i zC@#|WO}3G!L2ZtuQ2yv|%_3}}0qEgthn}ASd8r{%V)(c*s3^2(uzvTwQ4$+g zL4Ymz3qSvr6<(N}&2&a%0$j8~Sn!I#=;Z%8Uy0;AtcvB^Bha3I=Zp9&fHrpRMa_Th zQyYUDdTu@@0|%)6n~qQ@!W3M;CWWW#A5+ZVZ{`P_`HLvdCe$0Olwjg&f%dr*rRK3` zKHi=DqBAgDU3fx&aP?S$yZdtVL_Z$U%=$U2W0^IqJ}zy!dglT4)K8Smj3=5p6>(;w z2oW5>@F(XR?Vge8t((sJz6-MYn}{{O;I$Uz~JQs<HIIdS)GuBGQjDC zMhEXFTC_S2gr}!^Tc0D2zjx~;BaWSq9pyjZ#o16iuTIniQ}e9P6$a6ND{L5jZEJc+ zjBYqkn3|sC zI4bh|!L7E?eM6AdwL`B~jGC&?A+d1&Yaq(GZSlX{X2YNgw1A)vsXG*iOjxTw!$}NI zYHR3djm_+ab1>9cqQR}r&q%rpqMmFbp1jtt9IWJ-AK>UFy#p*+1 z&{=r!;mA}*UJ@%%%dhBM><1|_Mq|3*A+gn zl@_2P!g(lb9Cs$bis~B+WsTmD(+hC!Ax;DiNN&C#er2K4byNAXLt}9uF_9$N@$u2c zI?U3X4Xx(0l?M;n$42A5RwoC1BVu<+dFt$%yQv;LmAGd?Bdgu8zJ@h{_ALSacS(S5 zpbdWdL?l4IPY?fYX3O*q+QiZqy5_r^)AxpKgn|*m*Bk`GmX~uNu%WMt>-HsNlIZYw zk$HAhMF-vgBQYl@eAd7N>F;-oUgH+#6IK|ewGo%SgrTW&G-44ZXf%&A;RnFz+qJ&s7}E)iB1ZS&R9U+lYq zS{|cBa}cXhlZ{bwxQn*kL<_ad2)$pxdkmIovr=X`>IoJ{->`Ztz5Di;WW5Bq{uc6R zM)3-@tjR6A!&Nv-VKeHyOwRpmTCZrhOY2?DDSkV2O(vAQ%&cQ1C`}ti_k8Q_u0<{X zXje7n;V&dOX!%X15QgF({fASuK1Dnu3B8GN1k#C$n)DRCCL2El^r|nTEBHxb4AXZ2 z!Rg?^`ca0-OHap0&qnO-Hq&`l$XOHkX*WSM1W*a``rEJoVb{Sws_;cn8$ac93LL74 zi2Ktyc;QxdbsS?5*xR{sqNOJm!h>Oyk|hi`HZLd(*ZYP1zV_!rm2v1ENDl7PBb|&%!&YrnU;s$d1^#R8;*enE))!XjqB`avpMwF#5bGMAQ zol8xn9O8sRYC@%=L){E^Eo+CLPdAfEw{9L{3aX@;YE2CZ}d&9uG zy)zz>;s86&PSp>Gk5j^ME+2!&zn$NI_HX>sabNF_J!R)*4JXE=%_Velkz^w=du? zlw-O##Q*sXobQxO<8bhw0(JBR&5nh#r}Zx6Fp{W<-gi!ndG5P19CqH@9T=?k-CV32 z(-Tv~uGDyuk_hYZFa3Jeh_&$W;W&%gw|3-ORA8CY=kj?~RMaMTO%BL)1)`ngv92s> zBY}!)F~v<^cSjYm=&iO;=v(WbFUetg^xhj@5gX^kV}G{vU-uC9KP6s5&uU(2bL#Xk zmCV>h9^HyWFPw37te!HcRSQTZLh#u3M7uyTO2w#QQf4F3(g@#ppke(5?{Wb?zkmez zvHWS0A8a9LQ8L+NVAw)ZEdMuH*GG+#VZ+~n6-)r#S_U z+Y-$54@b1ZgS%5wmOba}YN_PrL)4FGVxvK@Gu8|}bXGkiK=a^7vyr6L{BR5hX6j(@ zP>}eIe_3fgLlz!tJcIbhuk9DLbsOqLZld&xlukniS=~w`TxRRcD@Gn1e=5bih0*#| zou$_Zgms97dnJy!B~!-?`Y;m#xJmHfbyeqQ;~-JDVS}-PGny1Z`oe)Y7h-`Qg~uos@-)Rc)xo0A z6@0d1jquvU-ShRj+_DGII}?y1C|2?>TpD<);B422A`l}zVJ#07vGf~FEQqEovJgbc zA1eGWPSTLk{7%jBWN3PV8KetzVl8JPFUJcF432}vH7qpjCX6qhpMEGFZ)sWJJQByo zGsJP%IMr4-rSFdA52rM+#0{1-M$WX=bC-B6GSm6b7Oj&jzQ&f$)s~@RO^>cCFyv zZ^dB_ohUL{W6!`nE#XzZJrx)j%@jnfCwiA66+qL^B>uBqBjtYJz2Sgc_tK^~#MK`8}!_cXQgfjYzQR){MbgG!dVrz`*jZzS?wb_Wu!DV+?O(;isB2yHt|EIlm zCV*<*iZX@^Ocs@=j|B-5G&W~Mnju17>HOjO*B1-AQb#9q3qboV9%fIYDZi5@=7)cG zKa^=jJ^FMLgDb2humP#oTQQUHU?c2`$@k>#N<~bd_{hHfcZVFx8AnbFFNyE+SMO^| zT#J%aVh{=Zwf8^%|0&*#Le{|SHEXYbT2kpjA1oZH#%{?H^&}B#TF*u$kD$-ptS;Ob zt*nm?6w_s^ey2rIxHXT{zh;F}S~e^IF(vmg(cwCobU8=hjNtb)8dVrvVf*A~ z075uC$4wsw5g`MNkDF_WpNPv4U3Pafa{@LbDW$&u7iCnF;lMquv+T+u!qQsW9{Fh(t$K{-w+m`44v-U7KW-%AC9-&BhF<_8HkJV~wONdV9HBpAH3`YXWMB>ewjF$GAEJ2bP43xncq zGV8yBi59Ny6Z$HxK&^(Ri?CT0s3$`$90YigJObM1pKunKH;_3+9}$f64m3Xdr$_7} zoqsZdgXYS5K*SY`e=&rOg)kM)3%$!;Xwefl4alVQd5B(p0#x^g%1bL+n>0qX=lXzK!cVm?E$&p@Jf{U z*ppo0Yq%!68dDaB^KfxVeqbhi_C1Z)&a3gr9gc=C-TjIzYMXtshtb1K%gviIB6G(_WiDE3y+2;3%)?{!+uQ&c$9vOB>q4_ME*yj#)r#%LD0UZB z*?){Z;#7el!(Pq5-wL*z+lQ?4&B9E19Ed8-TvIjkd?TvRc^UolW5h%UL3JDz4b!0#B_cYP z&nbQp>ixjJz%O{oKWOOV4dkrzxBJy&hDy=zdc#7Mq-VbKxwV)qbRh6_B@BMlDeuH< zQS`Y{%te!7_D-q1(diQSXk}r}%}2&!S(*7&6(nuNeDdYj?}rtKh9TvYAI)o5?Z#x` z-V2kI93Ivh*Fsn>@Ik&Gd^Ki4d+r=rnVEo*Cc-NsBKV&K9#2ZDZzvHv!=3U6Qc&-U z_XU=M6^vCAa*uG{HPiQG8h2I*R7o#p0t(lLlqXoPtKSWRk4RF=al%j-CIiBI{bz8> zz?g3<9D5<3-9K4b%<}zDsX8xOV>sp$BpZ%B@5gd*x!(W)$!2+#hVtfKxy3W5+`Sn7 zCWJ<)j7gK?$PZ47AX6MS9CXEAk0k(4L@VyBN+ntR8%YhV^GaA&sM|?IJii6HkpxgY zWi!q;AiY+1UL8auy_VV9{XI>Xsfd3Di=cVQ&c6u0Ve?j_0Dqn3O;Kwy1=PQ*6;^V3 z^RBv_F73mYU=0#PLjmE?r3qdj%Q}w=?$5_Q;lH7p>&|}PVG5b#y6YaD6_ta14y{?F zZIS<4evw~)XE>!ILEjxE_!!`Yd63L*mWS_m;1lN=RC^8hvPT-a&0t~GSa$V01n^7l zunI*wI}ZjX;H#+b{L*hJd}%T_>x-ZRxwiD6AI*!L_ z&#zr(ZKsYi+zGDGNceDH$gtAw@iNXMKgrPWu&}?UAme2u^r~yUKxGA#i^t|~R^td$eyp18j*`!zfpV)ayJWUIi=UmeQTeq` z54n=8Up-}gW6k{_r|^I;tu)pas7G$0I{oR%6AmW+PGmF?11~k?yfvlI{)ErZ{ z>1XnEL)60;3;gfI$}P-|#_BT4e~wJ|gVD&1IE5)|<~)@h0t`bqe=p;_(ipeldpem9 zG~%JYyfjG$nDbL@$5an&^)ja{M60R4OdF7IUg|uMc+0t&#FHA5D!HElI<57l<#AGBr;c6pG-CzAAzA5!`g#| z$08+?n9cb|Y$!KaP3OzW_yG=Eo{vC8dK{qZKJM}pQPm|Dr`#SnBu}O-`3+_xKOvsPA3~TiENYXgm>vuZR@ht`p{=67 zQT|+DhbEHlWB?#-aeDaPNZ;hU<=$`o0KDMHalH)4N1_~EXe^4~yMcBE($o7rI^?j02mWIeA5sgU(0k z7ls-y19;F*et1y|sa$H7?i_cxXLl?TAL>)keDD;s&p3H_Ov}1=QY{Z{nV-F%NGeNz z{=B9&pi)1>oI-)gy5IG4Rx(j+h%0+8V(#3e#h5yOtYP%o?^nE+uJ$53qD#tR<^7V)GZq1 zhB~Q6-V?THebqbHcM3=-zuPEFAlNUc=*v}LreL-=C1c9j&-3Ie?#|A$0NEHe@r&Rc zhS0e))jbm2n_gzoK@&u2ua~yIq2gBWEbOvaqT>Q~Lsw&Ewg--lh`nfhT z?${we3-6>6OgMSXczmeLlJg)i$2(snkAW`H&_5(OR;I#ibF-1Nv=w9m|+#*5~jmB5tWj z@7ySrQqV5Baq=dIIQe6;U`)oCh0Hp^TZc+Tf-?8$YMP#`ndEkEU&aqSa2sZAS#SR( zLQEIiWr5t3O_i5UShmh>uA}S+cKN}?<>a5UJ7Zd4_uOg#dxQLS&r@{07D6TeS6L>Z zQFrQ6QI8WsK)A?t*Up8hTZ8+UnyGV!T#jbB-UyOV?8IL*hc0}LIDZ3$+;8jHpl~Mf z-znYVyUCx50;a7$C#UFGmgI9WA-$EWB$n6+cDcgPmdkrLX5RNFy)NqwOR1B6FSjgV zZQYlsTKS8o5czK4As;l?^sG>BLk{V45BH$$x5{fi%2|!{>iWFs0INI|;s}*DZ%eCe zJU$O-ikE6I4o&)gJCD&taPCf_CdDse7}O4O3s)6C3p|7*c2cx{VgObMP2W+p&Ft;G zE|cg&9-Q#imG2btdJ0Ho4AdsA!<#|S2jS2}bO^%~@R2ep$R9#-Aca5$R)$|Ecs<@`(K%Y=qD(LraYG_!CacQQgyO;8?cR#*jS`K&g<;)8$iUsP+bn{=nz-wSQN=##&;G!i@ba%K`C20aeD z!uK{@yh96;$Bn>C7F&NKWsGJa985JS+A6A&+qIKsU*$7=s?!l9P(Uu=kG+GVWYS>y zM354_Q7PgT+gC*v%`|Uh-(bJ$T+3MJ^HPksL1{(9DBkS2&^SNFYGZ(TCcj&Jh;un1 z#T*enXgO1nY!OS-gZw~>Ax=TDnkDFs7V>c%2tpHCmPmuFz8YOYl=b z@YSRM!IhAjbLjgf=LRyDE(XcXp*@pY+OX^iD1%Fg<7$oL57#TKOd5cfkE7VV|?9|0i3!%s#HB zdNH?-ehADXuq9KX0X%gax>?~DSP21d$5%3gPRx%2>@mO4Wl7q58dbkJ0-?p({bzQQ z{3XIqV(i3j%;)im^V&D%a|>5X@*R(QlYdtTEDvHRsv2X!8XcPjaEv|QN}E;XDqK~?$6eN41WzEdUctuzDj8><_R2i|Vyl5?>W)tsPmfARolw|JG?WkE~k zRqWc|&-)sC4*yCE-#9cpEzr05r-j;ChiA2ee8S40H)TzFZk1{EZ;wgHIy)fS`CM95 zVyz`8Qbl@o0niI=qtUeRtKAoM;7}S(2b_Fq6kj$G`VoKtwzn>*l6Da-tEunT6$%?E z4=c9*J8^>y$Iitt>1AKEpZjIt2fB_N(uDnW?l0=QKKMjmE@_n%F^^$bU0rx#DbPXuV&r`c9z01DMo zY0yr-LVf^E*ToeKhQ&^_weI z&ZH0TnzgWIrW|W*!1jsXn_+^ldLLNr^hT6cI`+I5W@pSfLi5QDzE$n&;!V7@J@BG5 z1BE%5Ik$if4SB^Z?~)(#?l(wn zk1wn{=Ej2Y61tfJL%s+VgP?V&*FVNf&G++hNg2xQ-tw=Eso+xO>oAf_*q<%pjF)~> z{P8|{gGF9#0{;f(1?s&SXA9wk4BwDbQY`o^d|qA>VibORib)d#G*&eP^)X9&8*Eg4Ry-b=E!|fc}sh^d4%y5;?toQryOj z>i5;a(eYO%){Dr0PzfWP4U6wxSBRxIiv`i;04MvC#6WO?s@H zp`stK`N+qjHyIh;_#3y_>@{_eL>?l z7#KMGREI{4pi{aCs^V-$^-%9)`0mMafB7i;M>8u9upa(Y?0JJ7q~mb7RQl7)`?+3( zZ;~Nq=s3(iOu>F3@F>@`gRtW@&Jn-2Gv7lsSnY=I(|)&KkrM&P;A^xmNbw3j=jYeH zO9Snsz&WE=8-gqOxCLL6%x+Qt2)sot0f;mFV1WOV-%>edg{g>u^a^8wK-jQ!pZ2Lw zcC-i&8$E>iDJ1E(O|^zHa}*}&^>2=C@-H#ma9P{>?o4X6yh?A@quRB))?LS{TVuQX z*}ALH*H@hMjHYqRMtsjmS+l>oMhqDTS7SvfVw7u#r`Q9o8?v6+f~T9nz0GZ_LI>2?vpQ3=3ywmUTDwNUck>=m>Y;>MgxtTZ#7C7S0J>?+WI;E>F`=%y2^ItT19dFH!&mTro65j;BHS*a^DZKLn zg3UUaMY4%SJ@|Z}QuX!^`(^P$ba2WBsUweEW>hfv+o7E_S4f7J2Q(eDULpj4 zpn3Ag=^{Fcmbw^Kvxd8OakRB(Mqk?OPfmtB6NDj6b9^_p{Bk~0zrAo__fB$O4nD*9 z6(I#hjWUKzI=KRcfS9Yv{L{p)HQWOqP-wsQAe)s~TsV5$lK~1O^tGo*cTUFgHIL*` zaL)Ts6FBtJwGgaKPM}oRlWgm6T$Sxu=GtWoXOS=3=h{#jsozuJU-cRBj%b?{`t@;=~FJiY`+8IyANi40?_3^{f47zn#(@u z)sCKzG7mXWG8#W;)0f{MW#V-YwJHk5d}ZfQ-^MkRC=I$tPF$f^FQT3H*)r8&kzLTPk#I+_7rZ_U*=6=_dvTcWQy zt&S{wl)5dnqc(08E4&9K;SWHln*+JxUMtG!oxc4fpi@LpQ^T9%>#^&u0dq34n#|nD zqCWlA!2R=~@Wq^@EFFFJ$8x@LLBxq_ist(erAuodnP0iP&RjavB<++0-q*1)Y z-W{{TMB1QrJZhUdTon;*PnldZ{_DBr;ctmz~aKeicx+Ds$qo}<9__H zJ{ZMZZH(^y2M+`3cC39Y;m~m^HkBk*0Sw_Itwyf}^0fCC>0~Kn{Mcy8yZeHSMS3e* zr*GW^_M#@t937oKUyf76k1@0;#fs~6CMIY_x_i_CX}S-K*_IU_W6b7AT-c+L?f0k2 z!J(=imQ|HLxlhq>-w6CNvOrLBXUG9?5=2t5M#r+8_7TGZD97b2F-CU44NZ=MTHnZ) znpD<@a)p#`D|y)M`iX~C{ZW417!|R{BM%b?o#wxkU5ihwEPO^L1CnmhXDCm=Pu|Ko zw($-!l@%opu6%#$9;eZ5$={PR?s3JG24X>yx;x-NysDs`Ok}#*X9d^HgZEVr@lZZo#~X;CjNICI;0k~PLbT> zS7@7Nwt&F}TF2&hqGXE zNB{OCt>9A`pUFTYPtH}(Q+;qgpP4y?KJnAZQ?BO?{i#vbHj`DX-(L7kBN3FHM+sbh zMa{2bLAg%0 z+?o^$L19RRUjON*k1C1^fS+ul^*7#KB2VMh$SO3xKYHpuC%~FXCp*9s)5(%0%N>0% zlja!A(#`x0ml13JYg>fWLmK~@UCjsXO>l#oClMOhv}5t;ijpb2Dd0F%o(oM>Xr-gP z)D}vT_qgtpp1yaaDbfgnWk0>(-teV+NaFoP73U>46eaz^YK%A#y!Wdo(%9XUfMC+W z=vnyaE7BBJG%YUG_%-Rr@>rn_bDRx9M%JaxK)*W;iG2>)kw#`msbuV9UcSeipUm@W zgP*Ljh}y`(PW9%b%qfiOuLy+53xfn=(db0O*o)BlI&<&MkGb#*{o}_Ayv0p zt(al@^2?6d37x&cmfKj{ig}4VTQ>qBQujgRzI6DM=MeciRw!~?4m{G)p-lSi8jTTf zavaEsIdCVNZt*0!JtJ2U*Wwx>FNM)6hDO4Udw2XubdW{?IoH5z52R;M*jTu&C&sH+|T}92bAM|VWxrtKS0;NfQY^@<3JZyz0KWbildJJJ-W7u zX^RC1BoGzMhOR|P49%>518Z+JekT<8?HX@>`h8#m4!;5l5*qCB(hVb6xS+*<9kp4_ zN1^X29i7%pGYZ$Cdyf+gqZJ%`5z+;uJ6KEc<#)ie`X=qlFk`W+!@k)+S99H6R8=1s zM!aW{p8K`5Lfe0!m2*SK);`#TP+1ktYWx&)>q$4*`wCLK>QR9!z-t|#P@W5D6<>S) zy~CWiY1&f}GD8@(XAWV#2U^GVf9sAnC`w^Apl*T08|=LSzJ1^-Ko{eYXd-BeN(y^= zOcZpB{VH!2`m2yzpAG+>SlnoQkRR;qT&rCxZ9wz?pW-fEKok4=#@4p(#`Sc{_%xsd zHE5SKfx@z~{Vl$DC&ZPIY8z9?ufJqq##D|~a3);bjRY`}t_c-uiC^?V3woPx$jV?J zb#guVcq54i_pBI?{Z1!ZjOW`I`?l!#T6To9LLysjF`F#pVJqnGcctB8(fK_Am+e*NH(v1?haEJm_!!8!fun9cw4yb_Ml z9}s;wUoFiA37i=OW<9kSFUu-LOH)1&e}Il3>#V#eQ-KTaTZ{{=z}nKIWvkA`aZOp{ z`FFsWkQ8F@io&RvA4EETBpDRfG%yIeSwaqwo+6?GtJhq33-I8>E*35>Kym-J>Td4R zed3EyrQq%7X}KcLwW7t|RJVJF*m6@-Z8K~ZV7v?QbxTbIJF+oCO&FoG&Usn95%Bjw zPBh|U%bjMXWr*7x)WYJgxrI>&>L;xJ%{yRIYG@2J#8n1Jv66gi6);$8?)caHZK3UP zMZFRu^n-Msy;z_ME+qcE&SjcygfVV4nY(Kn74{WK#JkM7PC-RWi@%zHR^(53fNgL) zo6%3acUw`RzIE3^GI;!yBP%~|X7yv1eTIyL@kH=UPNCD>7*~V!{n*ho8~aQ1Kqqxtm#o;4Gen! zBsb#efi8?`@qh~d6Z#UC;UWBW`m3B0#9s-r|8h|^7=T zFmXxa{)~6UHR378C)n=l0}k4fplZ>f>wJLJw!9wWI^%yNP-WuI^NV7;&qw7)Tb?`66^rjBJ0uFvOazT56uamGQ%1!{) z18%=&f>dCaLz$Vm+P`>z8B4HSmGc9J*Cn};b}P%fyV1Ei|q zzY8abF$)k3+-Bf~KIOtefl%+L*jkEaFdP^Y+};mOUnl4W_5nF-L5&{&(V5mML7VHi zpmNY@Aea~f4A~+50{U>GJ*NX(t5yeY*9o8G$AOZZ->hR_$Bnwp^aAM?Wx$YCP!OBs zMeLr=VR;08wH#F4PepChmOyS!-QNNeEG!GgG+W`|nj3uw+-@NO!)@OL)pn+PY4-pp zr-7GlaFAtq=)*p?J_cBr6YTKhwuS&~LWEp9L(C!jHV~^BI4CfcxQMicm9o&8g1$H+#7?$l$|9!g>u|rk`qU;9JwaA!5 za=5C^Ac+p{`W~oigTP^aR_jj@FmDd?v8HL`>_}fL&~JZt%0v7i69*X*qLnlS~M|adr<-col zEn7X}DW4pIQMmcE$B4Dc&Gu5x$qHszUs_#x591`KHs50R6wy-fH8~pz*|+mqeLkdN zS|?;3myjFiSD>5GJDK-Ac{M7UkvYSY@iFYw;&M%o}pU7R^_M?P?g+(!lvFyDF zy=0s3I7R%&-q6wOLnz8tPr$+w`s5&|6|lb5m>dJfS z8(2ca@z^=`{>oEg(1J*~x&85=S3sWzC;5J-ID{-N!+G^!WeG}6se4Cw%Xxg+{iZev zPNzr+mePATqu;&E9+~DBvmPY7dA_!M=fR*MoMedw$rpE2)jvO~a;W~%8w*4ELHy$u zf_c+t`QgZvrP*A;yGC<0jj|fL?L9!&WEC5tR~&&@>E0ztnNiDBqrI(*(AwGI?-q(w4ZrAN2Nm)t3?hU45hxQOw^Q)5v7%xp{a(u|MI zqxqfhg0zIwjB6<|{!61;5w^PJQmHZkjisxkk(;5&6|A5^NKv}q!|cCnZr=I(=B3w9 zHD0mbS&#VT*^4`x52_p?hGSED$j^>r!h;QAGtz2O{vKPKn{X(kG8js%ibxkjq)Y(@ zg6a3)s$q$Gp~4{W9v$p(1cS*vtO~HkI7cKv3g1Dsk-!j3@-HCIV35o^Y;T6TEA>@{ z*dGA73H3GJ#86PG==-#Vly}X34wCGJEO*ztRlhU?AI~Xmunh;H;1uckd?l z;tmuBJc`)Yb3y(2YR3*av3#Ab`HJD3v?yAr9KY{-4f!pkKi~pq_#=WjPd>i*p^iM8 zydUZTwnbSfzx>Kl47e6m_#1vWG%q_H?j11}@l2DazD<5MusTMCBko+!7Vn4*U5G8R znVZJ@@nY>UtwtemwM8+~c!#T$iP+hkJS`k^)y&4t1=Up+`6oX|uj#?-0>}G(c^tWk zq36(#w-I?h*odYp!*5?=e%5t7V?xeLveK=06}`}#9+oxW_<}4XHyf;ABi3-rDpI># z7}Kn2KZft+EGXc=rd;Yh`E`zf=xs;!R!Pu%tbZoIABk|bGKbt-f0nPNUo9B5Rduq> zM0|Z}%j6bRO~?Vs;6BrwwbqSH0O^L-Q|w9MW~u*`?GC0Okc?aGFQ6eTrprci625*y zVLPP1Ve|uiO_kCVVEQAQTm>vxG%3gtEDtW@BgDQ0kO{4>-^t1R0{G4FCbnP4TP8g) zeIS{Juq!VEPB%5o?ZJtzo+6 z!hG|3_$0wbmdPeBGpL>NthO&n`kBBQ?tX2p!G;M7FpX3~BaFBU7alRIAMT?s=_9$HX= z?!urOx@hXmD@7wyhoZYKsT&F_EVPZ0Zf>;B#zAp11YK>{gE+2wP!+8 z(uo1G{ny1ZBWM6|<9CKu&3tZ{AwQ1c^Bsa{&Oj8H=^}mU>sUULlV}C7LBr8p=-xODxVX;u5} zfhW&*K6f&azlM&^k=!7-W4C-zEH84OMSyGIHey}MhR*`Pu`a!Ds<~Vv} z>3HGyWxB1~MmBgxJ11pLn=pV0Wq&eh|VP@AW6L#6c3IMt=*#GUr>Z|yYbXo8{259L|BM(UKS-frg3_#*T4~_+ zenn_JZj^L?JFMjSPvz~;E8(t;xAQz`lDG4X-@KIa>CX1Q!4l$?erW$5K~N^?{E;@H zxf`^nSVj^hUP2k6)h7sr1(vZa92W5%TB5<`H~(T^B;gLBJC)Ad{vioVlae^sTn`Az z@W81mWOvuS(qvffT|glGs(KWI5lNH`M6qlYnHZjK`0g3$Q;Vx-_9Gd^b|wy0xl7y^ zC1*#?vGk&2mT$hMAEleyXmBQ3s2%!asY+^}h$@+pP=fDdA@-!L+>6UEw6NDGE6X?n zyd)6%jqRMTD;=Xumd)(~{@l#y_zYV1wM>&fk2^!$!MDzzAoHFB3fsaM0^W)gj+)u& zS^#RmA8jtW6^dbGXNhQPl_#56t4s}-ZvNLuSLFp;qU=c%!7+Agcc)O|E+KRHEe?;s zQhi>%eH~zi``r!r6|!G|wJ&3TrJJVwl{9S%R8rtCe0OI{7sIxb)-j?fmRW1KQuc;S zPQ$4%RLS7xjy;;9&y2dx%e_F;y+Y`8-tUb_iS|%01T{I;kf@=Fz5A@FREcNrPxhB# z-x5Dt{;0|^Y7dAeI`(bZQ3`i8nt04g4|2^^x<2i;|E$=HXfv-?SJ>bdxcfKc~|(9n>{(@7XIF8WEI;MH2s1A%Wu4QD{-y0gWaTU9L{Be^Auvifph zllEdDO8Gr#V%(@uGef9K(@*373%&(G`b|E-<#ddTAZllNnY)$ddI1DT$Tqicfg&ky z^p%55hU_tk9m8sR`}VCy)sZdMUw{@p_V%+dBf_L`(BE83wJ`iT>M8pIY0S|%4>j-E z!JtA9_X<=79bE*v>s2zYEuE7s(m^zrio&Y#hNl2I&rykQ6C-=!yAvKj(AdGJ8aB7B z9XiCpu?R+4mG@h@$iEg=7eV;;D<$B1YZIH}+{`t4A|uc`#V-O`2A9$?mT3$-ur^(0 z(Z2o6>xy5#AYnyPJ^|_IlS#`S14$M`=T6b-y&I?)8%;1ok9*n884)JVX{~vZYB|V( zCOu`OF++6D2Jacb$d}FuFaw+ts>ov3D`i|;fRfi1qFl=wOI5)9lx0i49(&XskdeLc z-3bd|7s2aouy#mDU=j3hWGL^oEHxU-ga>1_?vdO75CERO!{%ykjtMjLdIT?Er}bE?&evTQXbe);8rL-RpK_QH23G=Q!VRRs19O_y4f>$f^IBUuF4NF_Wts;YI5 z*nZhR^I!v;vxxgPtR;Bq>~0^WJWP6xKUJMNm3sh$>Yt@frTn(kVV@DoRo zlsA;aL6aeS3{%PCl{fd`{scg_SbtGBM31ZE{;UW9qsQR)F#I~{DGNno_9Jt)2+@=; z4!6JRdG9fUCQb>&miLvq?)g{6xF$yGbb zpGECXWB?poHC11S>>biez51#=&3lx^g*{OTAGfPJLC(X7?U(%zUX)ey!C20%1I8L1 z%4WDumu8m5*D#w1deA#02+7z#qZ9{04s9rBDt*{vX@%Nm(XEo zZ6miIP0FU{W-c2I^hfkcn`j?j#~8?Lu#oMyXweSKWW@#j*A_j7nGxtfPSR8U!<;YV zYmY$r0Jx^RQwD_@SuGB_2-018(M^XGK}?SEHTyioN(ta^ zVqZgLefW=dXW?mOG_598P=^ARg;4}ds$nD<^d*Qs{ayKUfNH_M108dW8Hq(YW1!s) zEZsJ~u@&tv>KM0I7>q=qov{#D)X^>i39|?^4l@i!auIz)Uc%eX>q3UXNGL3#eOM7Z zc<`WkyPsjq2mAWLm-<^=va zG-ufVJLKEHCtxs^1NIGhxd<3b2-D=%H*25 q->VFQ2~4v^c~*(@+lITOQ~U`VH(~aPpry6|0000guFzDm!v>dbm0N}dT6LkXsfSh!do6}HS z%{~YC$5%@iOvgw=Mn=ZS$Or;~h>MF$NlAghU>zMD0|NsQ5fLpdEj2YYC={x!tPF#} z%+1X;H8n*=MLRk=goK3Z>+45GM%vrk8yg$P#>OTmC!3p_2L}gpb94Rt{HCX;EiJpdyS==;OiWBL7|feDZ=9T*($mvxYHAP& zL}6i}ot<52Y3Yw2KX5pltgNiHwRJ^Bg@S@Ya&mG*LqkbP$=9!6S5{V@LYvzG0LCgU zbrqxFh3&Bqw0$tf*j0@nT1ObGzY4IGq3|BdLi zGk9M2h^|}h39P&-Nd{^oZH|I>mp}4{JaVb66Nd1}z?!o|+{)607ANjjcMSUJ9BhWm z6-;^Twk3`ZZB+c-MxIu!>hjaPz59S7>`&+tL~e|%lu@W6oJCvp@6XFi>z(cG;snz& z&09Am-Cf|z1xL{g}v|W$y!20?2ZcUa5ns<#M z=ue$g#~VVumx#=i+0d4N()~p~v9R<53&3~>+uLVvjT~&U(vk#1!(xWiRn(HHztuwL zUnGe!J_KnbD*P&)+5|ErROPIhrGRuKGHl!tO0AKyBw`*iI+pcWF|Rvw&jWoUsh>ys zN?)ydlrzu0E4Q;jU+O#J*QRZ4oLJT>&PM8%jWtKU%_bndM%xCcekeQq=|!Yp7u+9b zO}K?!>oD`htL*OF$|f!YmuFu;kv#TP;A~7wY=4{F(obze z1pb02;-gOAS`j1RD!O{ynCH<9DIFOAIEInqh@WMEk|lQ#Z(<|9%wf4Mo#J%BU4#n ziMYp+jLD087i%=b(%~}qzs+I$`J_{ZZif}mza)%P3S~MdMotIw0xGYKFdZb`C$`SK zPe*mf^okFcl;(uF^|tJzXXWLqA{SEr zEFF}mc{sQHv!@#qA|MbqipaJ=muS+XNAiojzysdaDaAGNZeoZL#9;<(W4 zMhnSY#-BXi`FgXN@M+qJAG8;wwn-I9Ie0F)0y?mtf?fPPzy7F0wR_uaLXBMgGK@_j zVqGJ`gWjf%!8dT>@XC~0?#@!HlnQ5=&Lb=7RH>0niM}u^x3|^sl8z=W>hArLsStkc zB9zAD((3L zNN1;;ToH8ProF)oWfDu?a8T}nJgzJ!reB>L9Zt6HEWg~|@dn~B)*mlnF=Sx>^Ya7P z`h-4_l?^z@p}TQp_fOBB+%|Z`l;L{Iq)08pl@#V*8lswrW-P#!pFcnxK${~)aBUj+I#t{~M%Y^D>#4wt=?XQQdjeH8lqKN4O!Nt5Cbzp`Z zy6!|b#AlW4Ba_=6vr+TSTl;x;VDGg}%5om#z@xYQK9F|(YB4AD_iFAD7;i(aZ~evH zd!8Q{OxMoK-ATOnPI~mkZ4;i;(!HIjnbR-&j+KsMdC#RrjNpI~N_^z|JnX5%5|~;Q z$J4lBElu*$C3JDIoOMftV+VTuV1UQNrxvAj=0%>%QTNXVL-w@)pR0`1$fRK?x|9?D?pf%92p7vdILYwOP)rB`!cN;8|}G`iZ1jRh>nck5DBZ zZoEesqg1!&g!yE=fThUXn0lV72r63qbwrb2az#D(@f$kD8*OadBl*0Y!1qAuvlrqz zjGr1$NLZv!sULWy&!gCB-qR^!Zm`I6NUP_M6<)yh<)1}yRIj3DN?39gf;x1;MQnQD z3*#M9J1T^I$9Q2)>BL|z?ls0@oX2U{4*pHbuf-3+a9*^xTFO}UIgFI=0L4w7?QY zFIK(k+>d6feA)QCj6Hh6M`?EAJKoUrL-neQ;36%xF@;1d&iG&Mqr2LQS_vQe33F7B ztUf@(9~JIGs;-`c%z*0ttJ@#5^{@sHaXQn>H*YB>)Xvm^`Yba9I&>Gmap|T~Yt=kD zc`+F|>oBC^BK7dUC(6pzq%qL*>c-EhgHSV7tZX=KtGkNG@r{)|jNB0Y0vWzJ`R z2qEf9&X{QA%#JVam8y{(byjNZSTg0DT(4BPtqkgX31_8F*cr7h$`SBL{J?mO$A{vUErS8`EXj8_ec`{kmTh0G z^gr4|cW4&3+}V)n9BxJZD*%@hXK=IdZ$Gs8&G>fS_L4FB_^^v8e^8cL#CAd;6_Ycq zvLEBCS-a27?sZK%)uJz8ybIdGC5hWiAS=tu!^EhVu9=_o`m~zSqmwHor&)Tfzf2SE z!hX3-APyEw=2u>ou*fZsUD%P=m1{Lvq~xMi>AZ^_uE#Xkiheybm8VhYlM6h=6b9+u z$<@w)0n33RHVgsOla(0Z4apt%y*3=sb5Bt0 zdNQ5)d#k)$-jXd2zMKBncKs@n>Xylt4V}Z71tP@q`z#r6$YIf)NVIYMgB>PGOx1U zR%4=6t@f{tobW&o6IyFSuVAToOAtna{fFGe>^ylHrIUuj_yDp?L+Wx-~ZEDC)EKm7-`~ z8E|~!(C=O0iY|%1fZ$Anw%CEuj8x>jE`EA9b}o4yf;TU)8q+hJim$McdOmYyMauO)DA zJ73PRt7ISzFhaaS8Zs8uU6-Fuf&dk|-GW5Sv7q?a{rw3+#d-9R#0=Br1^&F$j|M_U z(u-g=A5vpjYV9WH!Q|{ss=;gNkEwSVQq?I)Uz~E_Qkqo;r8`tTVkGG#2Fa=FZ00;c zMG%*)Jv&s#?5Iyp2RE1!=r0_IOGvpOJY>JHo*WgSJ}3EBJ8zqE2h-5AQRejqqW?iq z;rmghg(gEn#v)Ta;U3a}9x8m?O-9ZDe%|%MDXaRBV}8MaF{DJwbAlV5VNVbHVwFd_ zMM~fl6kMP6-&V6+q!1s4nU~jsBl_UN&HfWZ=TFt?`v(OZJ@tA#tYUZcwZa3J3M0V9az9SPsC$q9j1Ykm?zwZ{2PlpOjCeMtEXaHibZ7^LYtuk4 zUN^7p9T~EL!<$#|JRd#iruvU_ju(2(h-L#AJ&X|f8&VK`F7AJ4p?Q{Mu;0$Cv4>Cq zLUh?ZOS$R-{t*4zivTFS?04%kmZSlGFNbb&SqjY-9A)@mJ7QS*h!X!*K0G&&@YIKI zur;Z+;O2F4=RoQ4lG7R7w=2PWZrD}~Ev2}UX*?{h5$E~tQ_H0MXVFNYV3im-FwMtIKmQ)9VgV%UU)IA)ssGYz*x zZ^93*tq0@2R?v^d<361zm>Qe;dXWArknN1PW6~8)|69+tSn(CbZI#gy8zs`=z_^JK zshIB3?TtsS@xRu54?#H%{sb0SZ^D`pgNkl-XpqqHr`UqOsVcJtvb6cMk)8fkpr&b} zdU~21S|g7xt#z5Zq=vCA87H{SHq#OcvF?7-#e1JS$AAN7Je zzw8{O!3lA-X^Z~ziUa=D=QXO~3f!j@r|qyB>Y#uZtjCrf9BAYb}U!QaLKw6WYM?RRxrFM+ho#%`QUdpPi~HP z%vnqLCab`LCGKr;*^zQU*5VYn=2ND-(t^us-UZ)hF;}EzK}d`IdGv@_=+@zrecsBD z*=WeKAz@;TY2))*exR>hD8bWtl7nMf68tgjX@@3~l5BI#lJZs?m`^?dr?P(0!kJd4 z#XLGZN2X7F74zzwEhzQjX515PC;wgOv}`M1 zkVcXuISbPyb~e6KQT#+pV>c43yt(99sHBk!$w`hUvckiu3Uuz}uYK_`3?p2~0p3K2 zLb3FDTAGV49NMcLC8*9e@R|0&AvJ)JTvEamwIkQ6#TpI|lYP2+VM91ZotgOlmbFOJ z^vMoS_sl(Be9^x|s>T2CY377d3VY69Qqu3T{{^iXgM@v9qfV%FRa}*J zS3ohmH2+^rN(~USo>1%s-!M>BERJnqOux$~_Af+x1!Y}97C#PJdaA9g+&pvGA0`bO zrW6$)l!v|Wt7tTK*uKrJM|>V?;H@Y^m1fHE^^=us5Usm#c&hsrx1Lu(sKHi{OEp`k z(DAP!s7%!zwT}Oxq5GMv3~a!trMZz^bFreRf%0E_GcuKT*V+P^ydVE}19ZQtLiK;g zrx*s?MGMY?6}{RLulmT*x{oM+KwVWRR90@JN}~+pm0mxBzdJwR8G<4!Rm9#@&c;HD zE!GbxhsY(SH>f8VEjqoonQ>VSuDZ(vj5SnmA}%D+HTdSUJ4>5MUJA6|=?XCf*Ub$Q`Ao?an4-Z;b)sBw$ssNy+0adS4 HwTt-=jB~%y diff --git a/tools/bevy_components/docs/vecs_lists.png b/tools/bevy_components/docs/vecs_lists.png deleted file mode 100644 index 8c99755f40b0b9cc26a2a7946141159b78b101a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21126 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": lambda value: '"'+str(value)+'"', - - "glam::Vec2": lambda value: "Vec2(x:"+str(value[0])+ ", y:"+str(value[1])+")", - "glam::DVec2": lambda value: "DVec2(x:"+str(value[0])+ ", y:"+str(value[1])+")", - "glam::UVec2": lambda value: "UVec2(x:"+str(value[0])+ ", y:"+str(value[1])+")", - - "glam::Vec3": lambda value: "Vec3(x:"+str(value[0])+ ", y:"+str(value[1])+ ", z:"+str(value[2])+")", - "glam::Vec3A": lambda value: "Vec3A(x:"+str(value[0])+ ", y:"+str(value[1])+ ", z:"+str(value[2])+")", - "glam::UVec3": lambda value: "UVec3(x:"+str(value[0])+ ", y:"+str(value[1])+ ", z:"+str(value[2])+")", - - "glam::Vec4": lambda value: "Vec4(x:"+str(value[0])+ ", y:"+str(value[1])+ ", z:"+str(value[2])+ ", w:"+str(value[3])+")", - "glam::DVec4": lambda value: "DVec4(x:"+str(value[0])+ ", y:"+str(value[1])+ ", z:"+str(value[2])+ ", w:"+str(value[3])+")", - "glam::UVec4": lambda value: "UVec4(x:"+str(value[0])+ ", y:"+str(value[1])+ ", z:"+str(value[2])+ ", w:"+str(value[3])+")", - - "glam::Quat": lambda value: "Quat(x:"+str(value[0])+ ", y:"+str(value[1])+ ", z:"+str(value[2])+ ", w:"+str(value[3])+")", - - "bevy_render::color::Color": lambda value: "Rgba(red:"+str(value[0])+ ", green:"+str(value[1])+ ", blue:"+str(value[2])+ ", alpha:"+str(value[3])+ ")", -} - -#converts the value of a property group(no matter its complexity) into a single custom property value -# this is more or less a glorified "to_ron()" method (not quite but close to) -def property_group_value_to_custom_property_value(property_group, definition, registry, parent=None, value=None): - long_name = definition["long_name"] - type_info = definition["typeInfo"] if "typeInfo" in definition else None - type_def = definition["type"] if "type" in definition else None - is_value_type = long_name in conversion_tables - # print("computing custom property: component name:", long_name, "type_info", type_info, "type_def", type_def, "value", value) - - if is_value_type: - value = conversion_tables[long_name](value) - elif type_info == "Struct": - values = {} - if len(property_group.field_names) ==0: - value = '()' - else: - for index, field_name in enumerate(property_group.field_names): - item_long_name = definition["properties"][field_name]["type"]["$ref"].replace("#/$defs/", "") - item_definition = registry.type_infos[item_long_name] if item_long_name in registry.type_infos else None - - value = getattr(property_group, field_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - if item_definition != None: - value = property_group_value_to_custom_property_value(child_property_group, item_definition, registry, parent=long_name, value=value) - else: - value = '""' - values[field_name] = value - value = values - elif type_info == "Tuple": - values = {} - for index, field_name in enumerate(property_group.field_names): - item_long_name = definition["prefixItems"][index]["type"]["$ref"].replace("#/$defs/", "") - item_definition = registry.type_infos[item_long_name] if item_long_name in registry.type_infos else None - - value = getattr(property_group, field_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - if item_definition != None: - value = property_group_value_to_custom_property_value(child_property_group, item_definition, registry, parent=long_name, value=value) - else: - value = '""' - values[field_name] = value - value = tuple(e for e in list(values.values())) - - elif type_info == "TupleStruct": - values = {} - for index, field_name in enumerate(property_group.field_names): - #print("toto", index, definition["prefixItems"][index]["type"]["$ref"]) - item_long_name = definition["prefixItems"][index]["type"]["$ref"].replace("#/$defs/", "") - item_definition = registry.type_infos[item_long_name] if item_long_name in registry.type_infos else None - - value = getattr(property_group, field_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - if item_definition != None: - value = property_group_value_to_custom_property_value(child_property_group, item_definition, registry, parent=long_name, value=value) - else: - value = '""' - values[field_name] = value - - value = tuple(e for e in list(values.values())) - elif type_info == "Enum": - selected = getattr(property_group, "selection") - if type_def == "object": - selection_index = property_group.field_names.index("variant_"+selected) - variant_name = property_group.field_names[selection_index] - variant_definition = definition["oneOf"][selection_index-1] - if "prefixItems" in variant_definition: - value = getattr(property_group, variant_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - - value = property_group_value_to_custom_property_value(child_property_group, variant_definition, registry, parent=long_name, value=value) - value = selected + str(value,) #"{}{},".format(selected ,value) - elif "properties" in variant_definition: - value = getattr(property_group, variant_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - - value = property_group_value_to_custom_property_value(child_property_group, variant_definition, registry, parent=long_name, value=value) - value = selected + str(value,) - else: - value = getattr(property_group, variant_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - if child_property_group: - value = property_group_value_to_custom_property_value(child_property_group, variant_definition, registry, parent=long_name, value=value) - value = selected + str(value,) - else: - value = selected # here the value of the enum is just the name of the variant - else: - value = selected - - elif type_info == "List": - item_list = getattr(property_group, "list") - value = [] - for item in item_list: - item_long_name = getattr(item, "long_name") - definition = registry.type_infos[item_long_name] if item_long_name in registry.type_infos else None - if definition != None: - item_value = property_group_value_to_custom_property_value(item, definition, registry, long_name, None) - if item_long_name.startswith("wrapper_"): #if we have a "fake" tupple for aka for value types, we need to remove one nested level - item_value = item_value[0] - else: - item_value = '""' - value.append(item_value) - - elif type_info == "Map": - keys_list = getattr(property_group, "list", {}) - values_list = getattr(property_group, "values_list") - value = {} - for index, key in enumerate(keys_list): - # first get the keys - key_long_name = getattr(key, "long_name") - definition = registry.type_infos[key_long_name] if key_long_name in registry.type_infos else None - if definition != None: - key_value = property_group_value_to_custom_property_value(key, definition, registry, long_name, None) - if key_long_name.startswith("wrapper_"): #if we have a "fake" tupple for aka for value types, we need to remove one nested level - key_value = key_value[0] - else: - key_value = '""' - # and then the values - val = values_list[index] - value_long_name = getattr(val, "long_name") - definition = registry.type_infos[value_long_name] if value_long_name in registry.type_infos else None - if definition != None: - val_value = property_group_value_to_custom_property_value(val, definition, registry, long_name, None) - if value_long_name.startswith("wrapper_"): #if we have a "fake" tupple for aka for value types, we need to remove one nested level - val_value = val_value[0] - else: - val_value = '""' - - value[key_value] = val_value - value = str(value).replace('{','@').replace('}','²') # FIXME: eeek !! - else: - value = conversion_tables[long_name](value) if is_value_type else value - value = '""' if isinstance(value, PropertyGroup) else value - - #print("generating custom property value", value, type(value)) - if isinstance(value, str): - value = value.replace("'", "") - - if parent == None: - value = str(value).replace("'", "") - value = value.replace(",)",")") - value = value.replace("{", "(").replace("}", ")") # FIXME: deal with hashmaps - value = value.replace("True", "true").replace("False", "false") - value = value.replace('@', '{').replace('²', '}') - return value - diff --git a/tools/bevy_components/propGroups/conversions_to_prop_group.py b/tools/bevy_components/propGroups/conversions_to_prop_group.py deleted file mode 100644 index 3c2baa6..0000000 --- a/tools/bevy_components/propGroups/conversions_to_prop_group.py +++ /dev/null @@ -1,312 +0,0 @@ -from bpy_types import PropertyGroup -import re - -def parse_struct_string(string, start_nesting=0): - #print("processing struct string", string, "start_nesting", start_nesting) - fields = {} - buff = [] - current_fieldName = None - nesting_level = 0 - - start_offset = 0 - end_offset = 0 - - for index, char in enumerate(string): - buff.append(char) - if char == "," and nesting_level == start_nesting: - #print("first case", end_offset) - end_offset = index - end_offset = len(string) if end_offset == 0 else end_offset - - val = "".join(string[start_offset:end_offset]) - fields[current_fieldName] = val.strip() - start_offset = index + 1 - #print("done with field name", current_fieldName, "value", fields[current_fieldName]) - - if char == "[" or char == "(": - nesting_level += 1 - if nesting_level == start_nesting: - start_offset = index + 1 - #print("nesting & setting start offset", start_offset) - #print("nesting down", nesting_level) - - if char == "]" or char == ")" : - #print("nesting up", nesting_level) - if nesting_level == start_nesting: - end_offset = index - #print("unesting & setting end offset", end_offset) - nesting_level -= 1 - - - if char == ":" and nesting_level == start_nesting: - end_offset = index - fieldName = "".join(string[start_offset:end_offset]) - current_fieldName = fieldName.strip() - start_offset = index + 1 - end_offset = 0 #hack - #print("starting field name", fieldName, "index", index) - buff = [] - - end_offset = len(string) if end_offset == 0 else end_offset - #print("final start and end offset", start_offset, end_offset, "total length", len(string)) - - val = "".join(string[start_offset:end_offset]) - - fields[current_fieldName] = val.strip() - #print("done with all fields", fields) - return fields - -def parse_tuplestruct_string(string, start_nesting=0): - #print("processing tuppleStruct", string, "start_nesting", start_nesting) - fields = [] - buff = [] - nesting_level = 0 - field_index = 0 - - start_offset = 0 - end_offset = 0 - # todo: strip all stuff before start_nesting - - for index, char in enumerate(string): - buff.append(char) - if char == "," and nesting_level == start_nesting: - end_offset = index - end_offset = len(string) if end_offset == 0 else end_offset - - val = "".join(string[start_offset:end_offset]) - fields.append(val.strip()) - field_index += 1 - #print("start and end offset", start_offset, end_offset, "total length", len(string)) - #print("done with field name", field_index, "value", fields) - start_offset = index + 1 - end_offset = 0 # hack - - if char == "[" or char == "(": - nesting_level += 1 - if nesting_level == start_nesting: - start_offset = index + 1 - #print("nesting & setting start offset", start_offset) - #print("nesting down", nesting_level) - - if char == "]" or char == ")" : - if nesting_level == start_nesting: - end_offset = index - #print("unesting & setting end offset", end_offset) - #print("nesting up", nesting_level) - nesting_level -= 1 - - - end_offset = len(string) if end_offset == 0 else end_offset - #print("final start and end offset", start_offset, end_offset, "total length", len(string)) - - val = "".join(string[start_offset:end_offset]) #if end_offset != 0 else buff) - fields.append(val.strip()) - fields = list(filter(lambda entry: entry != '', fields)) - #print("done with all fields", fields) - return fields - - -def parse_vec2(value, caster, typeName): - parsed = parse_struct_string(value.replace(typeName,"").replace("(", "").replace(")","") ) - return [caster(parsed['x']), caster(parsed['y'])] - -def parse_vec3(value, caster, typeName): - parsed = parse_struct_string(value.replace(typeName,"").replace("(", "").replace(")","") ) - return [caster(parsed['x']), caster(parsed['y']), caster(parsed['z'])] - -def parse_vec4(value, caster, typeName): - parsed = parse_struct_string(value.replace(typeName,"").replace("(", "").replace(")","") ) - return [caster(parsed['x']), caster(parsed['y']), caster(parsed['z']), caster(parsed['w'])] - -def parse_color(value, caster, typeName): - parsed = parse_struct_string(value.replace(typeName,"").replace("(", "").replace(")","") ) - return [caster(parsed['red']), caster(parsed['green']), caster(parsed['blue']), caster(parsed['alpha'])] - -def to_int(input): - return int(float(input)) - -type_mappings = { - "bool": lambda value: True if value == "true" else False, - - "u8": lambda value: int(value), - "u16": lambda value: int(value), - "u32": lambda value: int(value), - "u64": lambda value: int(value), - "u128": lambda value: int(value), - "u64": lambda value: int(value), - "usize": lambda value: int(value), - - "i8": lambda value: int(value), - "i16": lambda value: int(value), - "i32": lambda value: int(value), - "i64": lambda value: int(value), - "i128": lambda value: int(value), - "isize": lambda value: int(value), - - 'f32': lambda value: float(value), - 'f64': lambda value: float(value), - - "glam::Vec2": lambda value: parse_vec2(value, float, "Vec2"), - "glam::DVec2": lambda value: parse_vec2(value, float, "DVec2"), - "glam::UVec2": lambda value: parse_vec2(value, to_int, "UVec2"), - - 'glam::Vec3': lambda value: parse_vec3(value, float, "Vec3"), - "glam::Vec3A": lambda value: parse_vec3(value, float, "Vec3A"), - "glam::UVec3": lambda value: parse_vec3(value, to_int, "UVec3"), - - "glam::Vec4": lambda value: parse_vec4(value, float, "Vec4"), - "glam::DVec4": lambda value: parse_vec4(value, float, "DVec4"), - "glam::UVec4": lambda value: parse_vec4(value, to_int, "UVec4"), - - "glam::Quat": lambda value: parse_vec4(value, float, "Quat"), - - 'alloc::string::String': lambda value: str(value.replace('"', "")), - 'alloc::borrow::Cow': lambda value: str(value.replace('"', "")), - - 'bevy_render::color::Color': lambda value: parse_color(value, float, "Rgba"), - 'bevy_ecs::entity::Entity': lambda value: int(value), -} - -def is_def_value_type(definition, registry): - if definition == None: - return True - value_types_defaults = registry.value_types_defaults - long_name = definition["long_name"] - is_value_type = long_name in value_types_defaults - return is_value_type - -#converts the value of a single custom property into a value (values) of a property group -def property_group_value_from_custom_property_value(property_group, definition, registry, value, nesting = []): - value_types_defaults = registry.value_types_defaults - type_info = definition["typeInfo"] if "typeInfo" in definition else None - type_def = definition["type"] if "type" in definition else None - properties = definition["properties"] if "properties" in definition else {} - prefixItems = definition["prefixItems"] if "prefixItems" in definition else [] - long_name = definition["long_name"] - - #is_value_type = type_def in value_types_defaults or long_name in value_types_defaults - is_value_type = long_name in value_types_defaults - nesting = nesting + [definition["short_name"]] - - - if is_value_type: - value = value.replace("(", "").replace(")", "")# FIXME: temporary, incoherent use of nesting levels between parse_tuplestruct_string & parse_struct_string - value = type_mappings[long_name](value) if long_name in type_mappings else value - return value - elif type_info == "Struct": - if len(property_group.field_names) != 0 : - custom_property_values = parse_struct_string(value, start_nesting=1 if value.startswith("(") else 0) - for index, field_name in enumerate(property_group.field_names): - item_long_name = definition["properties"][field_name]["type"]["$ref"].replace("#/$defs/", "") - item_definition = registry.type_infos[item_long_name] if item_long_name in registry.type_infos else None - - custom_prop_value = custom_property_values[field_name] - #print("field name", field_name, "value", custom_prop_value) - propGroup_value = getattr(property_group, field_name) - is_property_group = isinstance(propGroup_value, PropertyGroup) - child_property_group = propGroup_value if is_property_group else None - if item_definition != None: - custom_prop_value = property_group_value_from_custom_property_value(child_property_group, item_definition, registry, value=custom_prop_value, nesting=nesting) - else: - custom_prop_value = custom_prop_value - - if is_def_value_type(item_definition, registry): - setattr(property_group , field_name, custom_prop_value) - - - else: - if len(value) > 2: #a unit struct should be two chars long :() - #print("struct with zero fields") - raise Exception("input string too big for a unit struct") - - elif type_info == "Tuple": - custom_property_values = parse_tuplestruct_string(value, start_nesting=1 if len(nesting) == 1 else 1) - - for index, field_name in enumerate(property_group.field_names): - item_long_name = definition["prefixItems"][index]["type"]["$ref"].replace("#/$defs/", "") - item_definition = registry.type_infos[item_long_name] if item_long_name in registry.type_infos else None - - custom_property_value = custom_property_values[index] - - propGroup_value = getattr(property_group, field_name) - is_property_group = isinstance(propGroup_value, PropertyGroup) - child_property_group = propGroup_value if is_property_group else None - if item_definition != None: - custom_property_value = property_group_value_from_custom_property_value(child_property_group, item_definition, registry, value=custom_property_value, nesting=nesting) - if is_def_value_type(item_definition, registry): - setattr(property_group , field_name, custom_property_value) - - elif type_info == "TupleStruct": - custom_property_values = parse_tuplestruct_string(value, start_nesting=1 if len(nesting) == 1 else 0) - for index, field_name in enumerate(property_group.field_names): - item_long_name = definition["prefixItems"][index]["type"]["$ref"].replace("#/$defs/", "") - item_definition = registry.type_infos[item_long_name] if item_long_name in registry.type_infos else None - - custom_prop_value = custom_property_values[index] - - value = getattr(property_group, field_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - if item_definition != None: - custom_prop_value = property_group_value_from_custom_property_value(child_property_group, item_definition, registry, value=custom_prop_value, nesting=nesting) - - if is_def_value_type(item_definition, registry): - setattr(property_group , field_name, custom_prop_value) - - elif type_info == "Enum": - field_names = property_group.field_names - if type_def == "object": - regexp = re.search('(^[^\(]+)(\((.*)\))', value) - try: - chosen_variant_raw = regexp.group(1) - chosen_variant_value = regexp.group(3) - chosen_variant_name = "variant_" + chosen_variant_raw - except: - chosen_variant_raw = value - chosen_variant_value = "" - chosen_variant_name = "variant_" + chosen_variant_raw - selection_index = property_group.field_names.index(chosen_variant_name) - variant_definition = definition["oneOf"][selection_index-1] - # first we set WHAT variant is selected - setattr(property_group, "selection", chosen_variant_raw) - - # and then we set the value of the variant - if "prefixItems" in variant_definition: - value = getattr(property_group, chosen_variant_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - - chosen_variant_value = "(" +chosen_variant_value +")" # needed to handle nesting correctly - value = property_group_value_from_custom_property_value(child_property_group, variant_definition, registry, value=chosen_variant_value, nesting=nesting) - - elif "properties" in variant_definition: - value = getattr(property_group, chosen_variant_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - - value = property_group_value_from_custom_property_value(child_property_group, variant_definition, registry, value=chosen_variant_value, nesting=nesting) - - else: - chosen_variant_raw = value - setattr(property_group, field_names[0], chosen_variant_raw) - - elif type_info == "List": - item_list = getattr(property_group, "list") - item_long_name = getattr(property_group, "long_name") - custom_property_values = parse_tuplestruct_string(value, start_nesting=2 if item_long_name.startswith("wrapper_") and value.startswith('(') else 1) # TODO : the additional check here is wrong, there is an issue somewhere in higher level stuff - # clear list first - item_list.clear() - for raw_value in custom_property_values: - new_entry = item_list.add() - item_long_name = getattr(new_entry, "long_name") # we get the REAL type name - definition = registry.type_infos[item_long_name] if item_long_name in registry.type_infos else None - - if definition != None: - property_group_value_from_custom_property_value(new_entry, definition, registry, value=raw_value, nesting=nesting) - else: - try: - value = value.replace("(", "").replace(")", "")# FIXME: temporary, incoherent use of nesting levels between parse_tuplestruct_string & parse_struct_string - value = type_mappings[long_name](value) if long_name in type_mappings else value - return value - except: - pass \ No newline at end of file diff --git a/tools/bevy_components/propGroups/operators.py b/tools/bevy_components/propGroups/operators.py deleted file mode 100644 index e69de29..0000000 diff --git a/tools/bevy_components/propGroups/process_component.py b/tools/bevy_components/propGroups/process_component.py deleted file mode 100644 index 7c6cc14..0000000 --- a/tools/bevy_components/propGroups/process_component.py +++ /dev/null @@ -1,95 +0,0 @@ -import bpy -from bpy_types import PropertyGroup -from bpy.props import (PointerProperty) -from . import process_structs -from . import process_tupples -from . import process_enum -from . import process_list -from . import process_map - -def process_component(registry, definition, update, extras=None, nesting = [], nesting_long_names = []): - long_name = definition['long_name'] - short_name = definition["short_name"] - type_info = definition["typeInfo"] if "typeInfo" in definition else None - type_def = definition["type"] if "type" in definition else None - properties = definition["properties"] if "properties" in definition else {} - prefixItems = definition["prefixItems"] if "prefixItems" in definition else [] - - has_properties = len(properties.keys()) > 0 - has_prefixItems = len(prefixItems) > 0 - is_enum = type_info == "Enum" - is_list = type_info == "List" - is_map = type_info == "Map" - - __annotations__ = {} - tupple_or_struct = None - - with_properties = False - with_items = False - with_enum = False - with_list = False - with_map = False - - - if has_properties: - __annotations__ = __annotations__ | process_structs.process_structs(registry, definition, properties, update, nesting, nesting_long_names) - with_properties = True - tupple_or_struct = "struct" - - if has_prefixItems: - __annotations__ = __annotations__ | process_tupples.process_tupples(registry, definition, prefixItems, update, nesting, nesting_long_names) - with_items = True - tupple_or_struct = "tupple" - - if is_enum: - __annotations__ = __annotations__ | process_enum.process_enum(registry, definition, update, nesting, nesting_long_names) - with_enum = True - - if is_list: - __annotations__ = __annotations__ | process_list.process_list(registry, definition, update, nesting, nesting_long_names) - with_list= True - - if is_map: - __annotations__ = __annotations__ | process_map.process_map(registry, definition, update, nesting, nesting_long_names) - with_map = True - - field_names = [] - for a in __annotations__: - field_names.append(a) - - - extras = extras if extras is not None else { - "long_name": long_name - } - root_component = nesting_long_names[0] if len(nesting_long_names) > 0 else long_name - # print("") - property_group_params = { - **extras, - '__annotations__': __annotations__, - 'tupple_or_struct': tupple_or_struct, - 'field_names': field_names, - **dict(with_properties = with_properties, with_items= with_items, with_enum= with_enum, with_list= with_list, with_map = with_map, short_name= short_name, long_name=long_name), - 'root_component': root_component - } - #FIXME: YIKES, but have not found another way: - """ Withouth this ; the following does not work - -BasicTest - - NestingTestLevel2 - -BasicTest => the registration & update callback of this one overwrites the first "basicTest" - have not found a cleaner workaround so far - """ - property_group_name = registry.generate_propGroup_name(nesting, long_name) - (property_group_pointer, property_group_class) = property_group_from_infos(property_group_name, property_group_params) - # add our component propertyGroup to the registry - registry.register_component_propertyGroup(property_group_name, property_group_pointer) - - return (property_group_pointer, property_group_class) - -def property_group_from_infos(property_group_name, property_group_parameters): - # print("creating property group", property_group_name) - property_group_class = type(property_group_name, (PropertyGroup,), property_group_parameters) - - bpy.utils.register_class(property_group_class) - property_group_pointer = PointerProperty(type=property_group_class) - - return (property_group_pointer, property_group_class) \ No newline at end of file diff --git a/tools/bevy_components/propGroups/process_enum.py b/tools/bevy_components/propGroups/process_enum.py deleted file mode 100644 index 2b5df03..0000000 --- a/tools/bevy_components/propGroups/process_enum.py +++ /dev/null @@ -1,67 +0,0 @@ -from bpy.props import (StringProperty) -from . import process_component - -def process_enum(registry, definition, update, nesting, nesting_long_names): - blender_property_mapping = registry.blender_property_mapping - short_name = definition["short_name"] - long_name = definition["long_name"] - - type_def = definition["type"] if "type" in definition else None - variants = definition["oneOf"] - - nesting = nesting + [short_name] - nesting_long_names = nesting_long_names = [long_name] - - __annotations__ = {} - original_type_name = "enum" - - # print("processing enum", short_name, long_name, definition) - - if type_def == "object": - labels = [] - additional_annotations = {} - for variant in variants: - variant_name = variant["long_name"] - variant_prefixed_name = "variant_" + variant_name - labels.append(variant_name) - - if "prefixItems" in variant: - #print("tupple variant in enum", variant) - registry.add_custom_type(variant_name, variant) - (sub_component_group, _) = process_component.process_component(registry, variant, update, {"nested": True}, nesting, nesting_long_names) - additional_annotations[variant_prefixed_name] = sub_component_group - elif "properties" in variant: - #print("struct variant in enum", variant) - registry.add_custom_type(variant_name, variant) - (sub_component_group, _) = process_component.process_component(registry, variant, update, {"nested": True}, nesting, nesting_long_names) - additional_annotations[variant_prefixed_name] = sub_component_group - else: # for the cases where it's neither a tupple nor a structs: FIXME: not 100% sure of this - #print("other variant in enum") - annotations = {"variant_"+variant_name: StringProperty(default="--------")} - additional_annotations = additional_annotations | annotations - - items = tuple((e, e, e) for e in labels) - - blender_property_def = blender_property_mapping[original_type_name] - blender_property = blender_property_def["type"]( - **blender_property_def["presets"],# we inject presets first - items=items, # this is needed by Blender's EnumProperty , which we are using here - update= update -) - __annotations__["selection"] = blender_property - - for a in additional_annotations: - __annotations__[a] = additional_annotations[a] - # enum_value => what field to display - # a second field + property for the "content" of the enum - else: - items = tuple((e, e, "") for e in variants) - blender_property_def = blender_property_mapping[original_type_name] - blender_property = blender_property_def["type"]( - **blender_property_def["presets"],# we inject presets first - items=items, - update= update - ) - __annotations__["selection"] = blender_property - - return __annotations__ diff --git a/tools/bevy_components/propGroups/process_list.py b/tools/bevy_components/propGroups/process_list.py deleted file mode 100644 index bc48855..0000000 --- a/tools/bevy_components/propGroups/process_list.py +++ /dev/null @@ -1,37 +0,0 @@ -from bpy.props import (StringProperty, IntProperty, CollectionProperty) -from .utils import generate_wrapper_propertyGroup -from . import process_component - -def process_list(registry, definition, update, nesting=[], nesting_long_names=[]): - value_types_defaults = registry.value_types_defaults - type_infos = registry.type_infos - - short_name = definition["short_name"] - long_name = definition["long_name"] - ref_name = definition["items"]["type"]["$ref"].replace("#/$defs/", "") - - nesting = nesting+[short_name] - nesting_long_names = nesting_long_names + [long_name] - - item_definition = type_infos[ref_name] - item_long_name = item_definition["long_name"] - is_item_value_type = item_long_name in value_types_defaults - - property_group_class = None - #if the content of the list is a unit type, we need to generate a fake wrapper, otherwise we cannot use layout.prop(group, "propertyName") as there is no propertyName ! - if is_item_value_type: - property_group_class = generate_wrapper_propertyGroup(long_name, item_long_name, definition["items"]["type"]["$ref"], registry, update) - else: - (_, list_content_group_class) = process_component.process_component(registry, item_definition, update, {"nested": True, "long_name": item_long_name}, nesting) - property_group_class = list_content_group_class - - item_collection = CollectionProperty(type=property_group_class) - - item_long_name = item_long_name if not is_item_value_type else "wrapper_" + item_long_name - __annotations__ = { - "list": item_collection, - "list_index": IntProperty(name = "Index for list", default = 0, update=update), - "long_name": StringProperty(default=item_long_name) - } - - return __annotations__ \ No newline at end of file diff --git a/tools/bevy_components/propGroups/process_map.py b/tools/bevy_components/propGroups/process_map.py deleted file mode 100644 index 48f6771..0000000 --- a/tools/bevy_components/propGroups/process_map.py +++ /dev/null @@ -1,85 +0,0 @@ -from bpy.props import (StringProperty, IntProperty, CollectionProperty, PointerProperty) -from .utils import generate_wrapper_propertyGroup -from . import process_component - -def process_map(registry, definition, update, nesting=[], nesting_long_names=[]): - value_types_defaults = registry.value_types_defaults - type_infos = registry.type_infos - - short_name = definition["short_name"] - long_name = definition["long_name"] - - nesting = nesting + [short_name] - nesting_long_names = nesting_long_names + [long_name] - - value_ref_name = definition["valueType"]["type"]["$ref"].replace("#/$defs/", "") - key_ref_name = definition["keyType"]["type"]["$ref"].replace("#/$defs/", "") - - #print("definition", definition) - __annotations__ = {} - if key_ref_name in type_infos: - key_definition = type_infos[key_ref_name] - original_long_name = key_definition["long_name"] - is_key_value_type = original_long_name in value_types_defaults - definition_link = definition["keyType"]["type"]["$ref"] - - #if the content of the list is a unit type, we need to generate a fake wrapper, otherwise we cannot use layout.prop(group, "propertyName") as there is no propertyName ! - if is_key_value_type: - keys_property_group_class = generate_wrapper_propertyGroup(f"{long_name}_keys", original_long_name, definition_link, registry, update) - else: - (_, list_content_group_class) = process_component.process_component(registry, key_definition, update, {"nested": True, "long_name": original_long_name}, nesting, nesting_long_names) - keys_property_group_class = list_content_group_class - - keys_collection = CollectionProperty(type=keys_property_group_class) - keys_property_group_pointer = PointerProperty(type=keys_property_group_class) - else: - __annotations__["list"] = StringProperty(default="N/A") - registry.add_missing_typeInfo(key_ref_name) - # the root component also becomes invalid (in practice it is not always a component, but good enough) - registry.add_invalid_component(nesting_long_names[0]) - - if value_ref_name in type_infos: - value_definition = type_infos[value_ref_name] - original_long_name = value_definition["long_name"] - is_value_value_type = original_long_name in value_types_defaults - definition_link = definition["valueType"]["type"]["$ref"] - - #if the content of the list is a unit type, we need to generate a fake wrapper, otherwise we cannot use layout.prop(group, "propertyName") as there is no propertyName ! - if is_value_value_type: - values_property_group_class = generate_wrapper_propertyGroup(f"{long_name}_values", original_long_name, definition_link, registry, update) - else: - (_, list_content_group_class) = process_component.process_component(registry, value_definition, update, {"nested": True, "long_name": original_long_name}, nesting, nesting_long_names) - values_property_group_class = list_content_group_class - - values_collection = CollectionProperty(type=values_property_group_class) - values_property_group_pointer = PointerProperty(type=values_property_group_class) - - else: - #__annotations__["list"] = StringProperty(default="N/A") - registry.add_missing_typeInfo(value_ref_name) - # the root component also becomes invalid (in practice it is not always a component, but good enough) - registry.add_invalid_component(nesting_long_names[0]) - - - if key_ref_name in type_infos and value_ref_name in type_infos: - __annotations__ = { - "list": keys_collection, - "list_index": IntProperty(name = "Index for keys", default = 0, update=update), - "keys_setter":keys_property_group_pointer, - - "values_list": values_collection, - "values_list_index": IntProperty(name = "Index for values", default = 0, update=update), - "values_setter":values_property_group_pointer, - } - - """__annotations__["list"] = StringProperty(default="N/A") - __annotations__["values_list"] = StringProperty(default="N/A") - __annotations__["keys_setter"] = StringProperty(default="N/A")""" - - """registry.add_missing_typeInfo(key_ref_name) - registry.add_missing_typeInfo(value_ref_name) - # the root component also becomes invalid (in practice it is not always a component, but good enough) - registry.add_invalid_component(nesting_long_names[0]) - print("setting invalid flag for", nesting_long_names[0])""" - - return __annotations__ diff --git a/tools/bevy_components/propGroups/process_structs.py b/tools/bevy_components/propGroups/process_structs.py deleted file mode 100644 index 8bfda0c..0000000 --- a/tools/bevy_components/propGroups/process_structs.py +++ /dev/null @@ -1,48 +0,0 @@ -from bpy.props import (StringProperty) -from . import process_component - -def process_structs(registry, definition, properties, update, nesting, nesting_long_names): - value_types_defaults = registry.value_types_defaults - blender_property_mapping = registry.blender_property_mapping - type_infos = registry.type_infos - long_name = definition["long_name"] - short_name = definition["short_name"] - - __annotations__ = {} - default_values = {} - nesting = nesting + [short_name] - nesting_long_names = nesting_long_names + [long_name] - - for property_name in properties.keys(): - ref_name = properties[property_name]["type"]["$ref"].replace("#/$defs/", "") - - if ref_name in type_infos: - original = type_infos[ref_name] - original_long_name = original["long_name"] - is_value_type = original_long_name in value_types_defaults - value = value_types_defaults[original_long_name] if is_value_type else None - default_values[property_name] = value - - if is_value_type: - if original_long_name in blender_property_mapping: - blender_property_def = blender_property_mapping[original_long_name] - blender_property = blender_property_def["type"]( - **blender_property_def["presets"],# we inject presets first - name = property_name, - default = value, - update = update - ) - __annotations__[property_name] = blender_property - else: - original_long_name = original["long_name"] - (sub_component_group, _) = process_component.process_component(registry, original, update, {"nested": True, "long_name": original_long_name}, nesting, nesting_long_names) - __annotations__[property_name] = sub_component_group - # if there are sub fields, add an attribute "sub_fields" possibly a pointer property ? or add a standard field to the type , that is stored under "attributes" and not __annotations (better) - else: - # component not found in type_infos, generating placeholder - __annotations__[property_name] = StringProperty(default="N/A") - registry.add_missing_typeInfo(ref_name) - # the root component also becomes invalid (in practice it is not always a component, but good enough) - registry.add_invalid_component(nesting_long_names[0]) - - return __annotations__ diff --git a/tools/bevy_components/propGroups/process_tupples.py b/tools/bevy_components/propGroups/process_tupples.py deleted file mode 100644 index 8513875..0000000 --- a/tools/bevy_components/propGroups/process_tupples.py +++ /dev/null @@ -1,55 +0,0 @@ -from bpy.props import (StringProperty) -from . import process_component - -def process_tupples(registry, definition, prefixItems, update, nesting=[], nesting_long_names=[]): - value_types_defaults = registry.value_types_defaults - blender_property_mapping = registry.blender_property_mapping - type_infos = registry.type_infos - long_name = definition["long_name"] - short_name = definition["short_name"] - - nesting = nesting + [short_name] - nesting_long_names = nesting_long_names + [long_name] - __annotations__ = {} - - default_values = [] - prefix_infos = [] - for index, item in enumerate(prefixItems): - ref_name = item["type"]["$ref"].replace("#/$defs/", "") - - property_name = str(index)# we cheat a bit, property names are numbers here, as we do not have a real property name - - if ref_name in type_infos: - original = type_infos[ref_name] - original_long_name = original["long_name"] - is_value_type = original_long_name in value_types_defaults - - value = value_types_defaults[original_long_name] if is_value_type else None - default_values.append(value) - prefix_infos.append(original) - - if is_value_type: - if original_long_name in blender_property_mapping: - blender_property_def = blender_property_mapping[original_long_name] - blender_property = blender_property_def["type"]( - **blender_property_def["presets"],# we inject presets first - name = property_name, - default=value, - update= update - ) - - __annotations__[property_name] = blender_property - else: - original_long_name = original["long_name"] - (sub_component_group, _) = process_component.process_component(registry, original, update, {"nested": True, "long_name": original_long_name}, nesting) - __annotations__[property_name] = sub_component_group - else: - # component not found in type_infos, generating placeholder - __annotations__[property_name] = StringProperty(default="N/A") - registry.add_missing_typeInfo(ref_name) - # the root component also becomes invalid (in practice it is not always a component, but good enough) - registry.add_invalid_component(nesting_long_names[0]) - - - return __annotations__ - diff --git a/tools/bevy_components/propGroups/prop_groups.py b/tools/bevy_components/propGroups/prop_groups.py deleted file mode 100644 index 349407c..0000000 --- a/tools/bevy_components/propGroups/prop_groups.py +++ /dev/null @@ -1,44 +0,0 @@ -import bpy -from .conversions_from_prop_group import property_group_value_to_custom_property_value -from .process_component import process_component -from .utils import update_calback_helper - -import json -## main callback function, fired whenever any property changes, no matter the nesting level -def update_component(self, context, definition, component_name): - registry = bpy.context.window_manager.components_registry - current_object = bpy.context.object - update_disabled = current_object["__disable__update"] if "__disable__update" in current_object else False - update_disabled = registry.disable_all_object_updates or update_disabled # global settings - if update_disabled: - return - print("") - print("update in component", component_name, self, "current_object", current_object.name) - components_in_object = current_object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == component_name, components_in_object), None) - - if component_meta != None: - property_group_name = registry.get_propertyGroupName_from_longName(component_name) - property_group = getattr(component_meta, property_group_name) - # we use our helper to set the values - object = context.object - previous = json.loads(object['bevy_components']) - previous[component_name] = property_group_value_to_custom_property_value(property_group, definition, registry, None) - object['bevy_components'] = json.dumps(previous) - - -def generate_propertyGroups_for_components(): - registry = bpy.context.window_manager.components_registry - if not registry.has_type_infos(): - registry.load_type_infos() - - type_infos = registry.type_infos - - for component_name in type_infos: - definition = type_infos[component_name] - is_component = definition['isComponent'] if "isComponent" in definition else False - root_property_name = component_name if is_component else None - process_component(registry, definition, update_calback_helper(definition, update_component, root_property_name), None, []) - - # if we had to add any wrapper types on the fly, process them now - registry.process_custom_types() \ No newline at end of file diff --git a/tools/bevy_components/propGroups/utils.py b/tools/bevy_components/propGroups/utils.py deleted file mode 100644 index 0b50dd4..0000000 --- a/tools/bevy_components/propGroups/utils.py +++ /dev/null @@ -1,63 +0,0 @@ -# helper function that returns a lambda, used for the PropertyGroups update function -def update_calback_helper(definition, update, component_name_override): - return lambda self, context: update(self, context, definition, component_name_override) - -import bpy -from bpy.props import (StringProperty) -from bpy_types import PropertyGroup - -# this helper creates a "fake"/wrapper property group that is NOT a real type in the registry -# usefull for things like value types in list items etc -def generate_wrapper_propertyGroup(wrapped_type_long_name_name, item_long_name, definition_link, registry, update): - value_types_defaults = registry.value_types_defaults - blender_property_mapping = registry.blender_property_mapping - is_item_value_type = item_long_name in value_types_defaults - - wrapper_name = "wrapper_" + wrapped_type_long_name_name - - wrapper_definition = { - "isComponent": False, - "isResource": False, - "items": False, - "prefixItems": [ - { - "type": { - "$ref": definition_link - } - } - ], - "short_name": wrapper_name, # FIXME !!! - "long_name": wrapper_name, - "type": "array", - "typeInfo": "TupleStruct" - } - - # we generate a very small 'hash' for the component name - property_group_name = registry.generate_propGroup_name(nesting=[], longName=wrapper_name) - registry.add_custom_type(wrapper_name, wrapper_definition) - - - blender_property = StringProperty(default="", update=update) - if item_long_name in blender_property_mapping: - value = value_types_defaults[item_long_name] if is_item_value_type else None - blender_property_def = blender_property_mapping[item_long_name] - blender_property = blender_property_def["type"]( - **blender_property_def["presets"],# we inject presets first - name = "property_name", - default = value, - update = update - ) - - wrapper_annotations = { - '0' : blender_property - } - property_group_params = { - '__annotations__': wrapper_annotations, - 'tupple_or_struct': "tupple", - 'field_names': ['0'], - **dict(with_properties = False, with_items= True, with_enum= False, with_list= False, with_map =False, short_name=wrapper_name, long_name=wrapper_name), - } - property_group_class = type(property_group_name, (PropertyGroup,), property_group_params) - bpy.utils.register_class(property_group_class) - - return property_group_class \ No newline at end of file diff --git a/tools/bevy_components/pytest.ini b/tools/bevy_components/pytest.ini deleted file mode 100644 index 7f369af..0000000 --- a/tools/bevy_components/pytest.ini +++ /dev/null @@ -1,3 +0,0 @@ -[pytest] -testpaths = - tests \ No newline at end of file diff --git a/tools/bevy_components/registry/__init__.py b/tools/bevy_components/registry/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tools/bevy_components/registry/operators.py b/tools/bevy_components/registry/operators.py deleted file mode 100644 index 9c5700d..0000000 --- a/tools/bevy_components/registry/operators.py +++ /dev/null @@ -1,237 +0,0 @@ -import os -import bpy -from bpy_types import (Operator) -from bpy.props import (StringProperty) -from bpy_extras.io_utils import ImportHelper - -from ..helpers import upsert_settings -from ..components.metadata import apply_customProperty_values_to_object_propertyGroups, apply_propertyGroup_values_to_object_customProperties, ensure_metadata_for_all_objects -from ..propGroups.prop_groups import generate_propertyGroups_for_components - -class ReloadRegistryOperator(Operator): - """Reloads registry (schema file) from disk, generates propertyGroups for components & ensures all objects have metadata """ - bl_idname = "object.reload_registry" - bl_label = "Reload Registry" - bl_options = {"UNDO"} - - component_type: StringProperty( - name="component_type", - description="component type to add", - ) # type: ignore - - def execute(self, context): - print("reload registry") - context.window_manager.components_registry.load_schema() - generate_propertyGroups_for_components() - print("") - print("") - print("") - ensure_metadata_for_all_objects() - - # now force refresh the ui - for area in context.screen.areas: - for region in area.regions: - if region.type == "UI": - region.tag_redraw() - - return {'FINISHED'} - -class COMPONENTS_OT_REFRESH_CUSTOM_PROPERTIES_ALL(Operator): - """Apply registry to ALL objects: update the custom property values of all objects based on their definition, if any""" - bl_idname = "object.refresh_custom_properties_all" - bl_label = "Apply Registry to all objects" - bl_options = {"UNDO"} - - @classmethod - def register(cls): - bpy.types.WindowManager.custom_properties_from_components_progress_all = bpy.props.FloatProperty(default=-1.0) #bpy.props.PointerProperty(type=RenameHelper) - - @classmethod - def unregister(cls): - del bpy.types.WindowManager.custom_properties_from_components_progress_all - - def execute(self, context): - print("apply registry to all") - #context.window_manager.components_registry.load_schema() - total = len(bpy.data.objects) - - for index, object in enumerate(bpy.data.objects): - apply_propertyGroup_values_to_object_customProperties(object) - progress = index / total - context.window_manager.custom_properties_from_components_progress_all = progress - # now force refresh the ui - bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) - context.window_manager.custom_properties_from_components_progress_all = -1.0 - - return {'FINISHED'} - -class COMPONENTS_OT_REFRESH_CUSTOM_PROPERTIES_CURRENT(Operator): - """Apply registry to CURRENT object: update the custom property values of current object based on their definition, if any""" - bl_idname = "object.refresh_custom_properties_current" - bl_label = "Apply Registry to current object" - bl_options = {"UNDO"} - - @classmethod - def register(cls): - bpy.types.WindowManager.custom_properties_from_components_progress = bpy.props.FloatProperty(default=-1.0) #bpy.props.PointerProperty(type=RenameHelper) - - @classmethod - def unregister(cls): - del bpy.types.WindowManager.custom_properties_from_components_progress - - def execute(self, context): - print("apply registry to current object") - object = context.object - context.window_manager.custom_properties_from_components_progress = 0.5 - # now force refresh the ui - bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) - apply_propertyGroup_values_to_object_customProperties(object) - - context.window_manager.custom_properties_from_components_progress = -1.0 - return {'FINISHED'} - - -class COMPONENTS_OT_REFRESH_PROPGROUPS_FROM_CUSTOM_PROPERTIES_CURRENT(Operator): - """Update UI values from custom properties to CURRENT object""" - bl_idname = "object.refresh_ui_from_custom_properties_current" - bl_label = "Apply custom_properties to current object" - bl_options = {"UNDO"} - - @classmethod - def register(cls): - bpy.types.WindowManager.components_from_custom_properties_progress = bpy.props.FloatProperty(default=-1.0) #bpy.props.PointerProperty(type=RenameHelper) - - @classmethod - def unregister(cls): - del bpy.types.WindowManager.components_from_custom_properties_progress - - def execute(self, context): - print("apply custom properties to current object") - object = context.object - error = False - try: - apply_customProperty_values_to_object_propertyGroups(object) - progress = 0.5 - context.window_manager.components_from_custom_properties_progress = progress - try: - # now force refresh the ui - bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) - except:pass # ony run in ui - - except Exception as error_message: - del object["__disable__update"] # make sure custom properties are updateable afterwards, even in the case of failure - error = True - self.report({'ERROR'}, "Failed to update propertyGroup values from custom property: Error:" + str(error_message)) - if not error: - self.report({'INFO'}, "Sucessfully generated UI values for custom properties for selected object") - context.window_manager.components_from_custom_properties_progress = -1.0 - - return {'FINISHED'} - - -class COMPONENTS_OT_REFRESH_PROPGROUPS_FROM_CUSTOM_PROPERTIES_ALL(Operator): - """Update UI values from custom properties to ALL object""" - bl_idname = "object.refresh_ui_from_custom_properties_all" - bl_label = "Apply custom_properties to all objects" - bl_options = {"UNDO"} - - @classmethod - def register(cls): - bpy.types.WindowManager.components_from_custom_properties_progress_all = bpy.props.FloatProperty(default=-1.0) #bpy.props.PointerProperty(type=RenameHelper) - - @classmethod - def unregister(cls): - del bpy.types.WindowManager.components_from_custom_properties_progress_all - - def execute(self, context): - print("apply custom properties to all object") - bpy.context.window_manager.components_registry.disable_all_object_updates = True - errors = [] - total = len(bpy.data.objects) - - for index, object in enumerate(bpy.data.objects): - - try: - apply_customProperty_values_to_object_propertyGroups(object) - except Exception as error: - del object["__disable__update"] # make sure custom properties are updateable afterwards, even in the case of failure - errors.append( "object: '" + object.name + "', error: " + str(error)) - - progress = index / total - context.window_manager.components_from_custom_properties_progress_all = progress - # now force refresh the ui - bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) - - - - if len(errors) > 0: - self.report({'ERROR'}, "Failed to update propertyGroup values from custom property: Errors:" + str(errors)) - else: - self.report({'INFO'}, "Sucessfully generated UI values for custom properties for all objects") - bpy.context.window_manager.components_registry.disable_all_object_updates = False - context.window_manager.components_from_custom_properties_progress_all = -1.0 - return {'FINISHED'} - -class OT_OpenFilebrowser(Operator, ImportHelper): - """Browse for registry json file""" - bl_idname = "generic.open_filebrowser" - bl_label = "Open the file browser" - - filter_glob: StringProperty( - default='*.json', - options={'HIDDEN'} - ) # type: ignore - - def execute(self, context): - """Do something with the selected file(s).""" - #filename, extension = os.path.splitext(self.filepath) - file_path = bpy.data.filepath - # Get the folder - folder_path = os.path.dirname(file_path) - relative_path = os.path.relpath(self.filepath, folder_path) - - registry = context.window_manager.components_registry - registry.schemaPath = relative_path - - upsert_settings(registry.settings_save_path, {"schemaPath": relative_path}) - - return {'FINISHED'} - - -class OT_select_object(Operator): - """Select object by name""" - bl_idname = "object.select" - bl_label = "Select object" - bl_options = {"UNDO"} - - object_name: StringProperty( - name="object_name", - description="object to select's name ", - ) # type: ignore - - def execute(self, context): - if self.object_name: - object = bpy.data.objects[self.object_name] - scenes_of_object = list(object.users_scene) - if len(scenes_of_object) > 0: - bpy.ops.object.select_all(action='DESELECT') - bpy.context.window.scene = scenes_of_object[0] - object.select_set(True) - bpy.context.view_layer.objects.active = object - return {'FINISHED'} - -class OT_select_component_name_to_replace(Operator): - """Select component name to replace""" - bl_idname = "object.select_component_name_to_replace" - bl_label = "Select component name for bulk replace" - bl_options = {"UNDO"} - - component_name: StringProperty( - name="component_name", - description="component name to replace", - ) # type: ignore - - def execute(self, context): - context.window_manager.bevy_component_rename_helper.original_name = self.component_name - return {'FINISHED'} - \ No newline at end of file diff --git a/tools/bevy_components/registry/registry.py b/tools/bevy_components/registry/registry.py deleted file mode 100644 index d9e6681..0000000 --- a/tools/bevy_components/registry/registry.py +++ /dev/null @@ -1,363 +0,0 @@ -import bpy -import json -import os -import uuid -from pathlib import Path -from bpy_types import (PropertyGroup) -from bpy.props import (StringProperty, BoolProperty, FloatProperty, FloatVectorProperty, IntProperty, IntVectorProperty, EnumProperty, PointerProperty, CollectionProperty) - -from ..helpers import load_settings -from ..propGroups.prop_groups import generate_propertyGroups_for_components -from ..components.metadata import ComponentMetadata, ensure_metadata_for_all_objects - -# helper class to store missing bevy types information -class MissingBevyType(bpy.types.PropertyGroup): - long_name: bpy.props.StringProperty( - name="type", - ) # type: ignore - -# helper function to deal with timer -def toggle_watcher(self, context): - #print("toggling watcher", self.watcher_enabled, watch_schema, self, bpy.app.timers) - if not self.watcher_enabled: - try: - bpy.app.timers.unregister(watch_schema) - except Exception as error: - pass - else: - self.watcher_active = True - bpy.app.timers.register(watch_schema) - -def watch_schema(): - self = bpy.context.window_manager.components_registry - # print("watching schema file for changes") - try: - stamp = os.stat(self.schemaFullPath).st_mtime - stamp = str(stamp) - if stamp != self.schemaTimeStamp and self.schemaTimeStamp != "": - print("FILE CHANGED !!", stamp, self.schemaTimeStamp) - # see here for better ways : https://stackoverflow.com/questions/11114492/check-if-a-file-is-not-open-nor-being-used-by-another-process - """try: - os.rename(path, path) - #return False - except OSError: # file is in use - print("in use") - #return True""" - #bpy.ops.object.reload_registry() - # we need to add an additional delay as the file might not have loaded yet - bpy.app.timers.register(lambda: bpy.ops.object.reload_registry(), first_interval=1) - - self.schemaTimeStamp = stamp - except Exception as error: - pass - return self.watcher_poll_frequency if self.watcher_enabled else None - - -# this is where we store the information for all available components -class ComponentsRegistry(PropertyGroup): - - settings_save_path = ".bevy_components_settings" # where to store data in bpy.texts - - schemaPath: bpy.props.StringProperty( - name="schema path", - description="path to the registry schema file", - default="registry.json" - )# type: ignore - schemaFullPath : bpy.props.StringProperty( - name="schema full path", - description="path to the registry schema file", - )# type: ignore - - registry: bpy.props. StringProperty( - name="registry", - description="component registry" - )# type: ignore - - missing_type_infos: StringProperty( - name="missing type infos", - description="unregistered/missing type infos" - )# type: ignore - - disable_all_object_updates: BoolProperty(name="disable_object_updates", default=False) # type: ignore - - ## file watcher - watcher_enabled: BoolProperty(name="Watcher_enabled", default=True, update=toggle_watcher)# type: ignore - watcher_active: BoolProperty(name = "Flag for watcher status", default = False)# type: ignore - - watcher_poll_frequency: IntProperty( - name="watcher poll frequency", - description="frequency (s) at wich to poll for changes to the registry file", - min=1, - max=10, - default=1 - )# type: ignore - - schemaTimeStamp: StringProperty( - name="last timestamp of schema file", - description="", - default="" - )# type: ignore - - - missing_types_list: CollectionProperty(name="missing types list", type=MissingBevyType)# type: ignore - missing_types_list_index: IntProperty(name = "Index for missing types list", default = 0)# type: ignore - - blender_property_mapping = { - "bool": dict(type=BoolProperty, presets=dict()), - - "u8": dict(type=IntProperty, presets=dict(min=0, max=255)), - "u16": dict(type=IntProperty, presets=dict(min=0, max=65535)), - "u32": dict(type=IntProperty, presets=dict(min=0)), - "u64": dict(type=IntProperty, presets=dict(min=0)), - "u128": dict(type=IntProperty, presets=dict(min=0)), - "u64": dict(type=IntProperty, presets=dict(min=0)), - "usize": dict(type=IntProperty, presets=dict(min=0)), - - "i8": dict(type=IntProperty, presets=dict()), - "i16":dict(type=IntProperty, presets=dict()), - "i32":dict(type=IntProperty, presets=dict()), - "i64":dict(type=IntProperty, presets=dict()), - "i128":dict(type=IntProperty, presets=dict()), - "isize": dict(type=IntProperty, presets=dict()), - - "f32": dict(type=FloatProperty, presets=dict()), - "f64": dict(type=FloatProperty, presets=dict()), - - "glam::Vec2": {"type": FloatVectorProperty, "presets": dict(size = 2) }, - "glam::DVec2": {"type": FloatVectorProperty, "presets": dict(size = 2) }, - "glam::UVec2": {"type": FloatVectorProperty, "presets": dict(size = 2) }, - - "glam::Vec3": {"type": FloatVectorProperty, "presets": {"size":3} }, - "glam::Vec3A":{"type": FloatVectorProperty, "presets": {"size":3} }, - "glam::DVec3":{"type": FloatVectorProperty, "presets": {"size":3} }, - "glam::UVec3":{"type": FloatVectorProperty, "presets": {"size":3} }, - - "glam::Vec4": {"type": FloatVectorProperty, "presets": {"size":4} }, - "glam::Vec4A": {"type": FloatVectorProperty, "presets": {"size":4} }, - "glam::DVec4": {"type": FloatVectorProperty, "presets": {"size":4} }, - "glam::UVec4":{"type": FloatVectorProperty, "presets": {"size":4, "min":0.0} }, - - "glam::Quat": {"type": FloatVectorProperty, "presets": {"size":4} }, - - "bevy_render::color::Color": dict(type = FloatVectorProperty, presets=dict(subtype='COLOR', size=4)), - - "char": dict(type=StringProperty, presets=dict()), - "str": dict(type=StringProperty, presets=dict()), - "alloc::string::String": dict(type=StringProperty, presets=dict()), - "alloc::borrow::Cow": dict(type=StringProperty, presets=dict()), - - - "enum": dict(type=EnumProperty, presets=dict()), - - 'bevy_ecs::entity::Entity': {"type": IntProperty, "presets": {"min":0} }, - 'bevy_utils::Uuid': dict(type=StringProperty, presets=dict()), - - } - - - value_types_defaults = { - "string":" ", - "boolean": True, - "float": 0.0, - "uint": 0, - "int":0, - - # todo : we are re-doing the work of the bevy /rust side here, but it seems more pratical to alway look for the same field name on the blender side for matches - "bool": True, - - "u8": 0, - "u16":0, - "u32":0, - "u64":0, - "u128":0, - "usize":0, - - "i8": 0, - "i16":0, - "i32":0, - "i64":0, - "i128":0, - "isize":0, - - "f32": 0.0, - "f64":0.0, - - "char": " ", - "str": " ", - "alloc::string::String": " ", - "alloc::borrow::Cow": " ", - - "glam::Vec2": [0.0, 0.0], - "glam::DVec2": [0.0, 0.0], - "glam::UVec2": [0, 0], - - "glam::Vec3": [0.0, 0.0, 0.0], - "glam::Vec3A":[0.0, 0.0, 0.0], - "glam::UVec3": [0, 0, 0], - - "glam::Vec4": [0.0, 0.0, 0.0, 0.0], - "glam::DVec4": [0.0, 0.0, 0.0, 0.0], - "glam::UVec4": [0, 0, 0, 0], - - "glam::Quat": [0.0, 0.0, 0.0, 0.0], - - "bevy_render::color::Color": [1.0, 1.0, 0.0, 1.0], - - 'bevy_ecs::entity::Entity': 0,#4294967295, # this is the same as Bevy's Entity::Placeholder, too big for Blender..sigh - 'bevy_utils::Uuid': '"'+str(uuid.uuid4())+'"' - - } - - type_infos = {} - type_infos_missing = [] - component_propertyGroups = {} - custom_types_to_add = {} - invalid_components = [] - - @classmethod - def register(cls): - bpy.types.WindowManager.components_registry = PointerProperty(type=ComponentsRegistry) - bpy.context.window_manager.components_registry.watcher_active = False - - @classmethod - def unregister(cls): - bpy.context.window_manager.components_registry.watcher_active = False - - for propgroup_name in cls.component_propertyGroups.keys(): - try: - delattr(ComponentMetadata, propgroup_name) - #print("unregistered propertyGroup", propgroup_name) - except Exception as error: - pass - #print("failed to remove", error, "ComponentMetadata") - - try: - bpy.app.timers.unregister(watch_schema) - except Exception as error: - pass - - del bpy.types.WindowManager.components_registry - - def load_schema(self): - print("load schema", self) - # cleanup previous data if any - self.propGroupIdCounter = 0 - self.long_names_to_propgroup_names.clear() - self.missing_types_list.clear() - self.type_infos.clear() - self.type_infos_missing.clear() - self.component_propertyGroups.clear() - self.custom_types_to_add.clear() - self.invalid_components.clear() - - # now prepare paths to load data - file_path = bpy.data.filepath - # Get the folder - folder_path = os.path.dirname(file_path) - path = os.path.join(folder_path, self.schemaPath) - self.schemaFullPath = path - - f = Path(bpy.path.abspath(path)) # make a path object of abs path - with open(path) as f: - data = json.load(f) - defs = data["$defs"] - self.registry = json.dumps(defs) # FIXME:meh ? - - # start timer - if not self.watcher_active and self.watcher_enabled: - self.watcher_active = True - print("registering function", watch_schema) - bpy.app.timers.register(watch_schema) - - - # we load the json once, so we do not need to do it over & over again - def load_type_infos(self): - print("load type infos") - ComponentsRegistry.type_infos = json.loads(self.registry) - - def has_type_infos(self): - return len(self.type_infos.keys()) != 0 - - def load_settings(self): - print("loading settings") - settings = load_settings(self.settings_save_path) - - if settings!= None: - print("settings", settings) - self.schemaPath = settings["schemaPath"] - self.load_schema() - generate_propertyGroups_for_components() - ensure_metadata_for_all_objects() - - - # we keep a list of component propertyGroup around - def register_component_propertyGroup(self, name, propertyGroup): - self.component_propertyGroups[name] = propertyGroup - - # to be able to give the user more feedback on any missin/unregistered types in their schema file - def add_missing_typeInfo(self, long_name): - if not long_name in self.type_infos_missing: - self.type_infos_missing.append(long_name) - setattr(self, "missing_type_infos", str(self.type_infos_missing)) - item = self.missing_types_list.add() - item.long_name = long_name - - def add_custom_type(self, long_name, type_definition): - self.custom_types_to_add[long_name] = type_definition - - def process_custom_types(self): - for long_name in self.custom_types_to_add: - self.type_infos[long_name] = self.custom_types_to_add[long_name] - self.custom_types_to_add.clear() - - # add an invalid component to the list (long name) - def add_invalid_component(self, component_name): - self.invalid_components.append(component_name) - - - ########### - - propGroupIdCounter: IntProperty( - name="propGroupIdCounter", - description="", - min=0, - max=1000000000, - default=0 - ) # type: ignore - - long_names_to_propgroup_names = {} - - # generate propGroup name from nesting level & shortName: each shortName + nesting is unique - def generate_propGroup_name(self, nesting, longName): - #print("gen propGroup name for", shortName, nesting) - self.propGroupIdCounter += 1 - - propGroupIndex = str(self.propGroupIdCounter) - propGroupName = propGroupIndex + "_ui" - - key = str(nesting) + longName if len(nesting) > 0 else longName - self.long_names_to_propgroup_names[key] = propGroupName - return propGroupName - - def get_propertyGroupName_from_longName(self, longName): - return self.long_names_to_propgroup_names.get(longName, None) - - def long_name_to_key(): - pass - - ########### - -""" - object[component_definition.name] = 0.5 - property_manager = object.id_properties_ui(component_definition.name) - property_manager.update(min=-10, max=10, soft_min=-5, soft_max=5) - - print("property_manager", property_manager) - - object[component_definition.name] = [0.8,0.2,1.0] - property_manager = object.id_properties_ui(component_definition.name) - property_manager.update(subtype='COLOR') - - #IDPropertyUIManager - #rna_ui = object[component_definition.name].get('_RNA_UI') -""" \ No newline at end of file diff --git a/tools/bevy_components/registry/ui.py b/tools/bevy_components/registry/ui.py deleted file mode 100644 index d932a4c..0000000 --- a/tools/bevy_components/registry/ui.py +++ /dev/null @@ -1,327 +0,0 @@ -import json -import bpy -from bpy_types import (UIList) -from bpy.props import (StringProperty) - -from ..components.operators import OT_rename_component, RemoveComponentFromAllObjectsOperator, RemoveComponentOperator -from .operators import( - COMPONENTS_OT_REFRESH_PROPGROUPS_FROM_CUSTOM_PROPERTIES_ALL, - COMPONENTS_OT_REFRESH_PROPGROUPS_FROM_CUSTOM_PROPERTIES_CURRENT, - OT_OpenFilebrowser, - OT_select_component_name_to_replace, - OT_select_object, ReloadRegistryOperator, - COMPONENTS_OT_REFRESH_CUSTOM_PROPERTIES_ALL, - COMPONENTS_OT_REFRESH_CUSTOM_PROPERTIES_CURRENT) - -class BEVY_COMPONENTS_PT_Configuration(bpy.types.Panel): - bl_idname = "BEVY_COMPONENTS_PT_Configuration" - bl_label = "Configuration" - bl_space_type = 'VIEW_3D' - bl_region_type = 'UI' - bl_category = "Bevy Components" - bl_context = "objectmode" - bl_parent_id = "BEVY_COMPONENTS_PT_MainPanel" - bl_options = {'DEFAULT_CLOSED'} - bl_description = "list of missing/unregistered type from the bevy side" - - def draw(self, context): - layout = self.layout - registry = context.window_manager.components_registry - - - row = layout.row() - col = row.column() - col.enabled = False - col.prop(registry, "schemaPath", text="Registry Schema path") - col = row.column() - col.operator(OT_OpenFilebrowser.bl_idname, text="Browse for registry schema file (json)") - - layout.separator() - layout.operator(ReloadRegistryOperator.bl_idname, text="reload registry" , icon="FILE_REFRESH") - - layout.separator() - row = layout.row() - - row.prop(registry, "watcher_enabled", text="enable registry file polling") - row.prop(registry, "watcher_poll_frequency", text="registry file poll frequency (s)") - - layout.separator() - layout.separator() - - -class BEVY_COMPONENTS_PT_AdvancedToolsPanel(bpy.types.Panel): - """panel listing all the missing bevy types in the schema""" - bl_idname = "BEVY_COMPONENTS_PT_AdvancedToolsPanel" - bl_label = "Advanced tools" - bl_space_type = 'VIEW_3D' - bl_region_type = 'UI' - bl_category = "Bevy Components" - bl_context = "objectmode" - bl_parent_id = "BEVY_COMPONENTS_PT_MainPanel" - bl_options = {'DEFAULT_CLOSED'} - bl_description = "advanced tooling" - - - def draw_invalid_or_unregistered_header(self, layout, items): - row = layout.row() - - for item in items: - col = row.column() - col.label(text=item) - - - def draw_invalid_or_unregistered(self, layout, status, component_name, object): - available_components = bpy.context.window_manager.components_list - registry = bpy.context.window_manager.components_registry - registry_has_type_infos = registry.has_type_infos() - - row = layout.row() - - col = row.column() - col.label(text=component_name) - - col = row.column() - operator = col.operator(OT_select_object.bl_idname, text=object.name) - operator.object_name = object.name - - col = row.column() - col.label(text=status) - - col = row.column() - col.prop(available_components, "list", text="") - - col = row.column() - operator = col.operator(OT_rename_component.bl_idname, text="", icon="SHADERFX") #rename - new_name = registry.type_infos[available_components.list]['long_name'] if available_components.list in registry.type_infos else "" - operator.original_name = component_name - operator.target_objects = json.dumps([object.name]) - operator.new_name = new_name - col.enabled = registry_has_type_infos and component_name != "" and component_name != new_name - - - col = row.column() - operator = col.operator(RemoveComponentOperator.bl_idname, text="", icon="X") - operator.object_name = object.name - operator.component_name = component_name - - col = row.column() - col = row.column() - operator = col.operator(OT_select_component_name_to_replace.bl_idname, text="", icon="EYEDROPPER") #text="select for rename", - operator.component_name = component_name - - def draw(self, context): - layout = self.layout - registry = bpy.context.window_manager.components_registry - registry_has_type_infos = registry.has_type_infos() - selected_object = context.selected_objects[0] if len(context.selected_objects) > 0 else None - available_components = bpy.context.window_manager.components_list - - row = layout.row() - box= row.box() - box.label(text="Invalid/ unregistered components") - - objects_with_invalid_components = [] - invalid_component_names = [] - - self.draw_invalid_or_unregistered_header(layout, ["Component", "Object", "Status", "Target"]) - - for object in bpy.data.objects: # TODO: very inneficent - if len(object.keys()) > 0: - if "components_meta" in object: - components_metadata = object.components_meta.components - comp_names = [] - for index, component_meta in enumerate(components_metadata): - long_name = component_meta.long_name - if component_meta.invalid: - self.draw_invalid_or_unregistered(layout, "Invalid", long_name, object) - - if not object.name in objects_with_invalid_components: - objects_with_invalid_components.append(object.name) - - if not long_name in invalid_component_names: - invalid_component_names.append(long_name) - - - comp_names.append(long_name) - - for custom_property in object.keys(): - if custom_property != 'components_meta' and custom_property != 'bevy_components' and custom_property not in comp_names: - self.draw_invalid_or_unregistered(layout, "Unregistered", custom_property, object) - - if not object.name in objects_with_invalid_components: - objects_with_invalid_components.append(object.name) - """if not long_name in invalid_component_names: - invalid_component_names.append(custom_property)""" # FIXME - layout.separator() - layout.separator() - original_name = bpy.context.window_manager.bevy_component_rename_helper.original_name - - row = layout.row() - col = row.column() - col.label(text="Original") - col = row.column() - col.label(text="New") - col = row.column() - col.label(text="------") - - row = layout.row() - col = row.column() - box = col.box() - box.label(text=original_name) - - col = row.column() - col.prop(available_components, "list", text="") - #row.prop(available_components, "filter",text="Filter") - - col = row.column() - components_rename_progress = context.window_manager.components_rename_progress - - if components_rename_progress == -1.0: - operator = col.operator(OT_rename_component.bl_idname, text="apply", icon="SHADERFX") - operator.target_objects = json.dumps(objects_with_invalid_components) - new_name = registry.type_infos[available_components.list]['short_name'] if available_components.list in registry.type_infos else "" - operator.new_name = new_name - col.enabled = registry_has_type_infos and original_name != "" and original_name != new_name - else: - if hasattr(layout,"progress") : # only for Blender > 4.0 - col.progress(factor = components_rename_progress, text=f"updating {components_rename_progress * 100.0:.2f}%") - - col = row.column() - remove_components_progress = context.window_manager.components_remove_progress - if remove_components_progress == -1.0: - operator = row.operator(RemoveComponentFromAllObjectsOperator.bl_idname, text="", icon="X") - operator.component_name = context.window_manager.bevy_component_rename_helper.original_name - col.enabled = registry_has_type_infos and original_name != "" - else: - if hasattr(layout,"progress") : # only for Blender > 4.0 - col.progress(factor = remove_components_progress, text=f"updating {remove_components_progress * 100.0:.2f}%") - - layout.separator() - layout.separator() - row = layout.row() - box= row.box() - box.label(text="Conversions between custom properties and components & vice-versa") - - row = layout.row() - row.label(text="WARNING ! The following operations will overwrite your existing custom properties if they have matching types on the bevy side !") - row.alert = True - - ## - row = layout.row() - custom_properties_from_components_progress_current = context.window_manager.custom_properties_from_components_progress - - if custom_properties_from_components_progress_current == -1.0: - row.operator(COMPONENTS_OT_REFRESH_CUSTOM_PROPERTIES_CURRENT.bl_idname, text="update custom properties of current object" , icon="LOOP_FORWARDS") - row.enabled = registry_has_type_infos and selected_object is not None - else: - if hasattr(layout,"progress") : # only for Blender > 4.0 - layout.progress(factor = custom_properties_from_components_progress_current, text=f"updating {custom_properties_from_components_progress_current * 100.0:.2f}%") - - layout.separator() - row = layout.row() - custom_properties_from_components_progress_all = context.window_manager.custom_properties_from_components_progress_all - - if custom_properties_from_components_progress_all == -1.0: - row.operator(COMPONENTS_OT_REFRESH_CUSTOM_PROPERTIES_ALL.bl_idname, text="update custom properties of ALL objects" , icon="LOOP_FORWARDS") - row.enabled = registry_has_type_infos - else: - if hasattr(layout,"progress") : # only for Blender > 4.0 - layout.progress(factor = custom_properties_from_components_progress_all, text=f"updating {custom_properties_from_components_progress_all * 100.0:.2f}%") - - ######################## - - row = layout.row() - row.label(text="WARNING ! The following operations will try to overwrite your existing ui values if they have matching types on the bevy side !") - row.alert = True - - components_from_custom_properties_progress_current = context.window_manager.components_from_custom_properties_progress - - row = layout.row() - if components_from_custom_properties_progress_current == -1.0: - row.operator(COMPONENTS_OT_REFRESH_PROPGROUPS_FROM_CUSTOM_PROPERTIES_CURRENT.bl_idname, text="update UI FROM custom properties of current object" , icon="LOOP_BACK") - row.enabled = registry_has_type_infos and selected_object is not None - else: - if hasattr(layout,"progress") : # only for Blender > 4.0 - layout.progress(factor = components_from_custom_properties_progress_current, text=f"updating {components_from_custom_properties_progress_current * 100.0:.2f}%") - - layout.separator() - row = layout.row() - components_from_custom_properties_progress_all = context.window_manager.components_from_custom_properties_progress_all - - if components_from_custom_properties_progress_all == -1.0: - row.operator(COMPONENTS_OT_REFRESH_PROPGROUPS_FROM_CUSTOM_PROPERTIES_ALL.bl_idname, text="update UI FROM custom properties of ALL objects" , icon="LOOP_BACK") - row.enabled = registry_has_type_infos - else: - if hasattr(layout,"progress") : # only for Blender > 4.0 - layout.progress(factor = components_from_custom_properties_progress_all, text=f"updating {components_from_custom_properties_progress_all * 100.0:.2f}%") - - -class BEVY_COMPONENTS_PT_MissingTypesPanel(bpy.types.Panel): - """panel listing all the missing bevy types in the schema""" - bl_idname = "BEVY_COMPONENTS_PT_MissingTypesPanel" - bl_label = "Bevy Missing/Unregistered Types" - bl_space_type = 'VIEW_3D' - bl_region_type = 'UI' - bl_category = "Bevy Components" - bl_context = "objectmode" - bl_parent_id = "BEVY_COMPONENTS_PT_MainPanel" - bl_options = {'DEFAULT_CLOSED'} - bl_description = "list of missing/unregistered type from the bevy side" - - def draw(self, context): - layout = self.layout - registry = bpy.context.window_manager.components_registry - - layout.label(text="Missing types ") - layout.template_list("MISSING_TYPES_UL_List", "Missing types list", registry, "missing_types_list", registry, "missing_types_list_index") - - -class MISSING_TYPES_UL_List(UIList): - """Missing components UIList.""" - - use_filter_name_reverse: bpy.props.BoolProperty( - name="Reverse Name", - default=False, - options=set(), - description="Reverse name filtering", - ) # type: ignore - - use_order_name = bpy.props.BoolProperty(name="Name", default=False, options=set(), - description="Sort groups by their name (case-insensitive)") - - def filter_items__(self, context, data, propname): - """Filter and order items in the list.""" - # We initialize filtered and ordered as empty lists. Notice that # if all sorting and filtering is disabled, we will return # these empty. - filtered = [] - ordered = [] - items = getattr(data, propname) - - helper_funcs = bpy.types.UI_UL_list - - - print("filter, order", items, self, dict(self)) - if self.filter_name: - print("ssdfs", self.filter_name) - filtered= helper_funcs.filter_items_by_name(self.filter_name, self.bitflag_filter_item, items, "long_name", reverse=self.use_filter_name_reverse) - - if not filtered: - filtered = [self.bitflag_filter_item] * len(items) - - if self.use_order_name: - ordered = helper_funcs.sort_items_by_name(items, "name") - - - return filtered, ordered - - - def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index): - if self.layout_type in {'DEFAULT', 'COMPACT'}: - row = layout.row() - #row.enabled = False - #row.alert = True - row.prop(item, "long_name", text="") - - elif self.layout_type in {'GRID'}: - layout.alignment = 'CENTER' - row = layout.row() - row.prop(item, "long_name", text="") diff --git a/tools/bevy_components/tests/__init__.py b/tools/bevy_components/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tools/bevy_components/tests/component_values_shuffler.py b/tools/bevy_components/tests/component_values_shuffler.py deleted file mode 100644 index 9dd4c16..0000000 --- a/tools/bevy_components/tests/component_values_shuffler.py +++ /dev/null @@ -1,217 +0,0 @@ - -import random -import string -import uuid -from bpy_types import PropertyGroup - -def random_bool(): - return bool(random.getrandbits(1)) - -def rand_int(): - return random.randint(0, 100) - -def rand_float(): - return random.random() - -def random_word(length): - letters = string.ascii_lowercase - return ''.join(random.choice(letters) for i in range(length)) - -def random_vec(length, type,): - value = [] - for i in range(0, length): - if type == 'float': - value.append(rand_float()) - if type == 'int': - value.append(rand_int()) - return value - -type_mappings = { - "bool": random_bool, - - "u8": rand_int, - "u16": rand_int, - "u32": rand_int, - "u64": rand_int, - "u128": rand_int, - "u64": rand_int, - "usize": rand_int, - - "i8": rand_int, - "i16": rand_int, - "i32": rand_int, - "i64": rand_int, - "i128": rand_int, - "isize": rand_int, - - 'f32': rand_float, - 'f64': rand_float, - - "glam::Vec2": lambda : random_vec(2, 'float'), - "glam::DVec2": lambda : random_vec(2, 'float'), - "glam::UVec2": lambda : random_vec(2, 'int'), - - 'glam::Vec3': lambda : random_vec(3, 'float'), - "glam::Vec3A": lambda : random_vec(3, 'float'), - "glam::UVec3": lambda : random_vec(3, 'int'), - - "glam::Vec4": lambda : random_vec(4, 'float'), - "glam::DVec4": lambda : random_vec(4, 'float'), - "glam::UVec4": lambda : random_vec(4, 'int'), - - "glam::Quat": lambda : random_vec(4, 'float'), - - 'bevy_render::color::Color': lambda : random_vec(4, 'float'), - 'alloc::string::String': lambda : random_word(8), - 'alloc::borrow::Cow': lambda : random_word(8), - - 'bevy_ecs::entity::Entity': lambda: 0, #4294967295, # - 'bevy_utils::Uuid': lambda: '"'+str( uuid.UUID("73b3b118-7d01-4778-8bcc-4e79055f5d22") )+'"' -} -# - -def is_def_value_type(definition, registry): - if definition == None: - return True - value_types_defaults = registry.value_types_defaults - long_name = definition["long_name"] - is_value_type = long_name in value_types_defaults - return is_value_type - -# see https://docs.python.org/3/library/random.html -def component_values_shuffler(seed=1, property_group=None, definition=None, registry=None, parent=None): - if parent == None: - random.seed(seed) - - value_types_defaults = registry.value_types_defaults - component_name = definition["short_name"] - type_info = definition["typeInfo"] if "typeInfo" in definition else None - type_def = definition["type"] if "type" in definition else None - properties = definition["properties"] if "properties" in definition else {} - prefixItems = definition["prefixItems"] if "prefixItems" in definition else [] - has_properties = len(properties.keys()) > 0 - has_prefixItems = len(prefixItems) > 0 - is_enum = type_info == "Enum" - is_list = type_info == "List" - long_name = definition["long_name"] - - #is_value_type = type_def in value_types_defaults or long_name in value_types_defaults - is_value_type = long_name in value_types_defaults - - if is_value_type: - fieldValue = type_mappings[long_name]() - return fieldValue - - elif type_info == "Struct": - for index, field_name in enumerate(property_group.field_names): - item_long_name = definition["properties"][field_name]["type"]["$ref"].replace("#/$defs/", "") - item_definition = registry.type_infos[item_long_name] if item_long_name in registry.type_infos else None - - value = getattr(property_group, field_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - if item_definition != None: - value = component_values_shuffler(seed, child_property_group, item_definition, registry, parent=component_name) - else: - value = '""' - is_item_value_type = is_def_value_type(item_definition, registry) - if is_item_value_type: - #print("setting attr", field_name , "for", component_name, "to", value, "value type", is_item_value_type) - setattr(property_group , field_name, value) - - elif type_info == "Tuple": - #print("tup") - - for index, field_name in enumerate(property_group.field_names): - item_long_name = definition["prefixItems"][index]["type"]["$ref"].replace("#/$defs/", "") - item_definition = registry.type_infos[item_long_name] if item_long_name in registry.type_infos else None - - value = getattr(property_group, field_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - if item_definition != None: - value = component_values_shuffler(seed, child_property_group, item_definition, registry, parent=component_name) - else: - value = '""' - - is_item_value_type = is_def_value_type(item_definition, registry) - if is_item_value_type: - #print("setting attr", field_name , "for", component_name, "to", value, "value type", is_item_value_type) - setattr(property_group , field_name, value) - - elif type_info == "TupleStruct": - #print("tupstruct") - for index, field_name in enumerate(property_group.field_names): - item_long_name = definition["prefixItems"][index]["type"]["$ref"].replace("#/$defs/", "") - item_definition = registry.type_infos[item_long_name] if item_long_name in registry.type_infos else None - - value = getattr(property_group, field_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - if item_definition != None: - value = component_values_shuffler(seed, child_property_group, item_definition, registry, parent=component_name) - else: - value = '""' - - is_item_value_type = is_def_value_type(item_definition, registry) - if is_item_value_type: - setattr(property_group , field_name, value) - - elif type_info == "Enum": - available_variants = definition["oneOf"] if type_def != "object" else list(map(lambda x: x["long_name"], definition["oneOf"])) - selected = random.choice(available_variants) - - # set selected variant - setattr(property_group , "selection", selected) - - if type_def == "object": - selection_index = property_group.field_names.index("variant_"+selected) - variant_name = property_group.field_names[selection_index] - variant_definition = definition["oneOf"][selection_index-1] - if "prefixItems" in variant_definition: - value = getattr(property_group, variant_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - - value = component_values_shuffler(seed, child_property_group, variant_definition, registry, parent=component_name) - value = selected + str(value,) - elif "properties" in variant_definition: - value = getattr(property_group, variant_name) - is_property_group = isinstance(value, PropertyGroup) - child_property_group = value if is_property_group else None - - value = component_values_shuffler(seed, child_property_group, variant_definition, registry, parent=component_name) - value = selected + str(value,) - else: - value = selected # here the value of the enum is just the name of the variant - else: - value = selected - - - - elif type_info == "List": - item_list = getattr(property_group, "list") - item_list.clear() - - item_long_name = getattr(property_group, "long_name") - number_of_list_items_to_add = random.randint(1, 2) - - for i in range(0, number_of_list_items_to_add): - new_entry = item_list.add() - item_long_name = getattr(new_entry, "long_name") # we get the REAL type name - - definition = registry.type_infos[item_long_name] if item_long_name in registry.type_infos else None - - if definition != None: - component_values_shuffler(seed, new_entry, definition, registry, parent=component_name) - else: - pass - else: - print("something else") - fieldValue = type_mappings[long_name]() if long_name in type_mappings else 'None' - return fieldValue - - #return value - - - \ No newline at end of file diff --git a/tools/bevy_components/tests/expected_component_values.py b/tools/bevy_components/tests/expected_component_values.py deleted file mode 100644 index 88ec17f..0000000 --- a/tools/bevy_components/tests/expected_component_values.py +++ /dev/null @@ -1,555 +0,0 @@ - - -expected_custom_property_values = {'bevy_animation::AnimationPlayer': '(animation: "", paused: true)', - 'bevy_asset::handle::Handle<()>': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle>': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_audio::audio::PlaybackSettings': '(mode: Once, paused: true, spatial: true, spatial_scale: "", speed: 0.0, ' - 'volume: (0.0))', - 'bevy_audio::audio::SpatialListener': '(left_ear_offset: Vec3(x:0.0, y:0.0, z:0.0), right_ear_offset: Vec3(x:0.0, ' - 'y:0.0, z:0.0))', - 'bevy_core::name::Name': '(hash: 0, name: " ")', - 'bevy_core_pipeline::bloom::settings::BloomSettings': '(composite_mode: EnergyConserving, high_pass_frequency: 0.0, ' - 'intensity: 0.0, low_frequency_boost: 0.0, ' - 'low_frequency_boost_curvature: 0.0, prefilter_settings: ' - '(threshold: 0.0, threshold_softness: 0.0))', - 'bevy_core_pipeline::contrast_adaptive_sharpening::ContrastAdaptiveSharpeningSettings': '(denoise: true, enabled: ' - 'true, sharpening_strength: ' - '0.0)', - 'bevy_core_pipeline::core_2d::camera_2d::Camera2d': '()', - 'bevy_core_pipeline::core_3d::camera_3d::Camera3d': '(depth_load_op: Clear(0.0), depth_texture_usages: (0), ' - 'screen_space_specular_transmission_quality: Low, ' - 'screen_space_specular_transmission_steps: 0)', - 'bevy_core_pipeline::fxaa::Fxaa': '(edge_threshold: "", edge_threshold_min: "", enabled: true)', - 'bevy_core_pipeline::tonemapping::DebandDither': 'Disabled', - 'bevy_core_pipeline::tonemapping::Tonemapping': 'None', - 'bevy_example::dupe_components::EnumTest': 'Metal', - 'bevy_example::game::animation::Marker1': '()', - 'bevy_example::game::animation::Marker2': '()', - 'bevy_example::game::animation::Marker3': '()', - 'bevy_example::game::animation::MarkerFox': '()', - 'bevy_example::test_components::AComponentWithAnExtremlyExageratedOrMaybeNotButCouldBeNameOrWut': '()', - 'bevy_example::test_components::BasicTest': '(a: 0.0, b: 0, c: " ")', - 'bevy_example::test_components::EnumComplex': 'Float(0.0)', - 'bevy_example::test_components::EnumTest': 'Metal', - 'bevy_example::test_components::HashmapTestIntColor': '(inner: {})', - 'bevy_example::test_components::HashmapTestIntString': '(named_animations: {})', - 'bevy_example::test_components::HashmapTestSimple': '(named_animations: {})', - 'bevy_example::test_components::HashmapTestStringColor': '(inner: {})', - 'bevy_example::test_components::HashmapTestStringColorFlat': '({})', - 'bevy_example::test_components::HashmapTestStringFloat': '(named_animations: {})', - 'bevy_example::test_components::NestedTupleStuff': '(0.0, 0, (basic: (a: 0.0, b: 0, c: " "), color: (Rgba(red:1.0, ' - 'green:1.0, blue:0.0, alpha:1.0)), colors_list: ([]), enable: ' - 'true, enum_inner: Metal, nested: (vec: (Vec3(x:0.0, y:0.0, ' - 'z:0.0))), text: " ", toggle: (true)))', - 'bevy_example::test_components::NestingTestLevel2': '(basic: (a: 0.0, b: 0, c: " "), color: (Rgba(red:1.0, green:1.0, ' - 'blue:0.0, alpha:1.0)), colors_list: ([]), enable: true, ' - 'enum_inner: Metal, nested: (vec: (Vec3(x:0.0, y:0.0, z:0.0))), ' - 'text: " ", toggle: (true))', - 'bevy_example::test_components::NestingTestLevel3': '(vec: (Vec3(x:0.0, y:0.0, z:0.0)))', - 'bevy_example::test_components::TupleTest2': '(0.0, 0, " ")', - 'bevy_example::test_components::TupleTestBool': '(true)', - 'bevy_example::test_components::TupleTestColor': '(Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0))', - 'bevy_example::test_components::TupleTestF32': '(0.0)', - 'bevy_example::test_components::TupleTestStr': '(" ")', - 'bevy_example::test_components::TupleTestU64': '(0)', - 'bevy_example::test_components::TupleVec': '([])', - 'bevy_example::test_components::TupleVec2': '(Vec2(x:0.0, y:0.0))', - 'bevy_example::test_components::TupleVec3': '(Vec3(x:0.0, y:0.0, z:0.0))', - 'bevy_example::test_components::TupleVecF32F32': '([])', - 'bevy_example::test_components::UnitTest': '()', - 'bevy_example::test_components::VecOfColors': '([])', - 'bevy_example::test_components::VecOfF32s': '([])', - 'bevy_example::test_components::VecOfVec3s2': '([])', - 'bevy_gltf::GltfExtras': '(value: " ")', - 'bevy_gltf_blueprints::animation::AnimationInfos': '(animations: [])', - 'bevy_gltf_blueprints::animation::AnimationMarkers': '({})', - 'bevy_gltf_blueprints::animation::BlueprintAnimations': '(named_animations: "")', - 'bevy_gltf_blueprints::animation::SceneAnimations': '(named_animations: "")', - 'bevy_gltf_blueprints::materials::MaterialInfo': '(name: " ", source: " ")', - 'bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName': '(" ")', - 'bevy_gltf_blueprints::spawn_from_blueprints::BlueprintsList': '({})', - 'bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere': '()', - 'bevy_gltf_components::GltfProcessed': '()', - 'bevy_gltf_components::blender_settings::lighting::BlenderBackgroundShader': '(color: Rgba(red:1.0, green:1.0, ' - 'blue:0.0, alpha:1.0), strength: 0.0)', - 'bevy_gltf_components::blender_settings::lighting::BlenderLightShadows': '(buffer_bias: 0.0, enabled: true)', - 'bevy_gltf_components::blender_settings::lighting::BlenderShadowSettings': '(cascade_size: 0)', - 'bevy_gltf_worlflow_examples_common::core::camera::camera_replace_proxies::SSAOSettings': '()', - 'bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTrackable': '()', - 'bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTracking': '(offset: Vec3(x:0.0, y:0.0, ' - 'z:0.0))', - 'bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTrackingOffset': '(Vec3(x:0.0, y:0.0, ' - 'z:0.0))', - 'bevy_gltf_worlflow_examples_common::game::picking::Pickable': '()', - 'bevy_gltf_worlflow_examples_common::game::player::Player': '()', - 'bevy_gltf_worlflow_examples_common_rapier::physics::physics_replace_proxies::AutoAABBCollider': 'Cuboid', - 'bevy_gltf_worlflow_examples_common_rapier::physics::physics_replace_proxies::Collider': 'Ball(0.0)', - 'bevy_hierarchy::components::children::Children': '([])', - 'bevy_hierarchy::components::parent::Parent': '(0)', - 'bevy_pbr::bundle::CascadesVisibleEntities': '()', - 'bevy_pbr::bundle::CubemapVisibleEntities': '()', - 'bevy_pbr::fog::FogSettings': '(color: Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0), directional_light_color: ' - 'Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0), directional_light_exponent: 0.0, ' - 'falloff: Linear(end: 0.0, start: 0.0))', - 'bevy_pbr::light::CascadeShadowConfig': '(bounds: [], minimum_distance: 0.0, overlap_proportion: 0.0)', - 'bevy_pbr::light::Cascades': '(cascades: "")', - 'bevy_pbr::light::ClusterConfig': 'None', - 'bevy_pbr::light::DirectionalLight': '(color: Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0), illuminance: 0.0, ' - 'shadow_depth_bias: 0.0, shadow_normal_bias: 0.0, shadows_enabled: true)', - 'bevy_pbr::light::NotShadowCaster': '()', - 'bevy_pbr::light::NotShadowReceiver': '()', - 'bevy_pbr::light::PointLight': '(color: Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0), intensity: 0.0, radius: 0.0, ' - 'range: 0.0, shadow_depth_bias: 0.0, shadow_normal_bias: 0.0, shadows_enabled: true)', - 'bevy_pbr::light::ShadowFilteringMethod': 'Hardware2x2', - 'bevy_pbr::light::SpotLight': '(color: Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0), inner_angle: 0.0, intensity: ' - '0.0, outer_angle: 0.0, radius: 0.0, range: 0.0, shadow_depth_bias: 0.0, ' - 'shadow_normal_bias: 0.0, shadows_enabled: true)', - 'bevy_pbr::light_probe::LightProbe': '()', - 'bevy_pbr::ssao::ScreenSpaceAmbientOcclusionSettings': '(quality_level: "")', - 'bevy_pbr::wireframe::NoWireframe': '()', - 'bevy_pbr::wireframe::Wireframe': '()', - 'bevy_pbr::wireframe::WireframeColor': '(color: Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0))', - 'bevy_rapier3d::dynamics::rigid_body::AdditionalMassProperties': 'Mass(0.0)', - 'bevy_rapier3d::dynamics::rigid_body::Ccd': '(enabled: true)', - 'bevy_rapier3d::dynamics::rigid_body::Damping': '(angular_damping: 0.0, linear_damping: 0.0)', - 'bevy_rapier3d::dynamics::rigid_body::Dominance': '(groups: 0)', - 'bevy_rapier3d::dynamics::rigid_body::ExternalForce': '(force: Vec3(x:0.0, y:0.0, z:0.0), torque: Vec3(x:0.0, y:0.0, ' - 'z:0.0))', - 'bevy_rapier3d::dynamics::rigid_body::ExternalImpulse': '(impulse: Vec3(x:0.0, y:0.0, z:0.0), torque_impulse: ' - 'Vec3(x:0.0, y:0.0, z:0.0))', - 'bevy_rapier3d::dynamics::rigid_body::GravityScale': '(0.0)', - 'bevy_rapier3d::dynamics::rigid_body::LockedAxes': '(0)', - 'bevy_rapier3d::dynamics::rigid_body::RigidBody': 'Dynamic', - 'bevy_rapier3d::dynamics::rigid_body::Sleeping': '(angular_threshold: 0.0, linear_threshold: 0.0, sleeping: true)', - 'bevy_rapier3d::dynamics::rigid_body::Velocity': '(angvel: Vec3(x:0.0, y:0.0, z:0.0), linvel: Vec3(x:0.0, y:0.0, ' - 'z:0.0))', - 'bevy_rapier3d::geometry::collider::CollidingEntities': '("")', - 'bevy_rapier3d::geometry::collider::CollisionGroups': '(filters: (0), memberships: (0))', - 'bevy_rapier3d::geometry::collider::ContactForceEventThreshold': '(0.0)', - 'bevy_rapier3d::geometry::collider::Friction': '(coefficient: 0.0, combine_rule: "")', - 'bevy_rapier3d::geometry::collider::Group': '(0)', - 'bevy_rapier3d::geometry::collider::Restitution': '(coefficient: 0.0, combine_rule: "")', - 'bevy_rapier3d::geometry::collider::Sensor': '()', - 'bevy_rapier3d::geometry::collider::SolverGroups': '(filters: (0), memberships: (0))', - 'bevy_render::camera::camera::Camera': '(clear_color: Default, hdr: true, is_active: true, msaa_writeback: true, ' - 'order: 0, viewport: None)', - 'bevy_render::camera::camera::CameraMainTextureUsages': 'None', - 'bevy_render::camera::camera::CameraRenderGraph': 'None', - 'bevy_render::camera::camera::Exposure': 'None', - 'bevy_render::camera::projection::OrthographicProjection': '(area: (max: Vec2(x:0.0, y:0.0), min: Vec2(x:0.0, ' - 'y:0.0)), far: 0.0, near: 0.0, scale: 0.0, scaling_mode: ' - 'Fixed(height: 0.0, width: 0.0), viewport_origin: ' - 'Vec2(x:0.0, y:0.0))', - 'bevy_render::camera::projection::PerspectiveProjection': '(aspect_ratio: 0.0, far: 0.0, fov: 0.0, near: 0.0)', - 'bevy_render::camera::projection::Projection': 'Perspective((aspect_ratio: 0.0, far: 0.0, fov: 0.0, near: 0.0))', - 'bevy_render::mesh::mesh::skinning::SkinnedMesh': '(inverse_bindposes: Strong(""), joints: [])', - 'bevy_render::mesh::morph::MeshMorphWeights': '(weights: [])', - 'bevy_render::mesh::morph::MorphWeights': '(first_mesh: "", weights: [])', - 'bevy_render::primitives::Aabb': '(center: Vec3A(x:0.0, y:0.0, z:0.0), half_extents: Vec3A(x:0.0, y:0.0, z:0.0))', - 'bevy_render::primitives::CascadesFrusta': '()', - 'bevy_render::primitives::CubemapFrusta': '()', - 'bevy_render::primitives::Frustum': '()', - 'bevy_render::view::ColorGrading': '(exposure: 0.0, gamma: 0.0, post_saturation: 0.0, pre_saturation: 0.0)', - 'bevy_render::view::visibility::InheritedVisibility': '(true)', - 'bevy_render::view::visibility::NoFrustumCulling': '()', - 'bevy_render::view::visibility::ViewVisibility': '(true)', - 'bevy_render::view::visibility::Visibility': 'Inherited', - 'bevy_render::view::visibility::VisibleEntities': '()', - 'bevy_render::view::visibility::render_layers::RenderLayers': '(0)', - 'bevy_sprite::mesh2d::mesh::Mesh2dHandle': '(Strong(""))', - 'bevy_sprite::sprite::ImageScaleMode': 'Sliced((border: "", center_scale_mode: "", max_corner_scale: 0.0, ' - 'sides_scale_mode: ""))', - 'bevy_sprite::sprite::Sprite': '(anchor: Center, color: Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0), custom_size: ' - '"", flip_x: true, flip_y: true, rect: "")', - 'bevy_text::pipeline::TextLayoutInfo': '(glyphs: "", logical_size: Vec2(x:0.0, y:0.0))', - 'bevy_text::text2d::Text2dBounds': '(size: Vec2(x:0.0, y:0.0))', - 'bevy_text::text::Text': '(justify: Left, linebreak_behavior: WordBoundary, sections: [])', - 'bevy_transform::components::global_transform::GlobalTransform': '((matrix3: (x_axis: Vec3A(x:0.0, y:0.0, z:0.0), ' - 'y_axis: Vec3A(x:0.0, y:0.0, z:0.0), z_axis: ' - 'Vec3A(x:0.0, y:0.0, z:0.0)), translation: ' - 'Vec3A(x:0.0, y:0.0, z:0.0)))', - 'bevy_transform::components::transform::Transform': '(rotation: Quat(x:0.0, y:0.0, z:0.0, w:0.0), scale: Vec3(x:0.0, ' - 'y:0.0, z:0.0), translation: Vec3(x:0.0, y:0.0, z:0.0))', - 'bevy_ui::focus::FocusPolicy': 'Block', - 'bevy_ui::focus::Interaction': 'Pressed', - 'bevy_ui::focus::RelativeCursorPosition': '(normalized: "", normalized_visible_node_rect: (max: Vec2(x:0.0, y:0.0), ' - 'min: Vec2(x:0.0, y:0.0)))', - 'bevy_ui::measurement::ContentSize': '()', - 'bevy_ui::ui_node::BackgroundColor': '(Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0))', - 'bevy_ui::ui_node::BorderColor': '(Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0))', - 'bevy_ui::ui_node::CalculatedClip': '(clip: (max: Vec2(x:0.0, y:0.0), min: Vec2(x:0.0, y:0.0)))', - 'bevy_ui::ui_node::Node': '(calculated_size: Vec2(x:0.0, y:0.0), outline_offset: 0.0, outline_width: 0.0, ' - 'stack_index: 0, unrounded_size: Vec2(x:0.0, y:0.0))', - 'bevy_ui::ui_node::Outline': '(color: Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0), offset: Auto, width: Auto)', - 'bevy_ui::ui_node::Style': '(align_content: Default, align_items: Default, align_self: Auto, aspect_ratio: None, ' - 'border: (bottom: Auto, left: Auto, right: Auto, top: Auto), bottom: Auto, column_gap: ' - 'Auto, direction: Inherit, display: Flex, flex_basis: Auto, flex_direction: Row, ' - 'flex_grow: 0.0, flex_shrink: 0.0, flex_wrap: NoWrap, grid_auto_columns: "", ' - 'grid_auto_flow: Row, grid_auto_rows: "", grid_column: (end: "", span: "", start: ""), ' - 'grid_row: (end: "", span: "", start: ""), grid_template_columns: "", grid_template_rows: ' - '"", height: Auto, justify_content: Default, justify_items: Default, justify_self: Auto, ' - 'left: Auto, margin: (bottom: Auto, left: Auto, right: Auto, top: Auto), max_height: Auto, ' - 'max_width: Auto, min_height: Auto, min_width: Auto, overflow: (x: Visible, y: Visible), ' - 'padding: (bottom: Auto, left: Auto, right: Auto, top: Auto), position_type: Relative, ' - 'right: Auto, row_gap: Auto, top: Auto, width: Auto)', - 'bevy_ui::ui_node::UiImage': '(flip_x: true, flip_y: true, texture: Strong(""))', - 'bevy_ui::ui_node::ZIndex': 'Local(0)', - 'bevy_ui::widget::button::Button': '()', - 'bevy_ui::widget::image::UiImageSize': '(size: Vec2(x:0.0, y:0.0))', - 'bevy_ui::widget::label::Label': '()', - 'bevy_ui::widget::text::TextFlags': '(needs_new_measure_func: true, needs_recompute: true)', - 'bevy_window::window::PrimaryWindow': '()', - 'bevy_window::window::Window': '(canvas: None, composite_alpha_mode: Auto, cursor: (grab_mode: None, hit_test: true, ' - 'icon: Default, visible: true), decorations: true, enabled_buttons: (close: true, ' - 'maximize: true, minimize: true), focused: true, ime_enabled: true, ime_position: ' - 'Vec2(x:0.0, y:0.0), internal: (maximize_request: None, minimize_request: None, ' - 'physical_cursor_position: None), mode: Windowed, name: None, position: Automatic, ' - 'present_mode: AutoVsync, prevent_default_event_handling: true, resizable: true, ' - 'resize_constraints: (max_height: 0.0, max_width: 0.0, min_height: 0.0, min_width: ' - '0.0), resolution: (physical_height: 0, physical_width: 0, scale_factor: 0.0, ' - 'scale_factor_override: None), title: " ", transparent: true, visible: true, ' - 'window_level: AlwaysOnBottom, window_theme: "")'} - - - -expected_custom_property_values_randomized = {'bevy_animation::AnimationPlayer': '(animation: "", paused: true)', - 'bevy_asset::handle::Handle<()>': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle>': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_asset::handle::Handle': 'Strong("")', - 'bevy_audio::audio::PlaybackSettings': '(mode: Once, paused: false, spatial: false, spatial_scale: "", speed: ' - '0.5780913233757019, volume: (0.20609822869300842))', - 'bevy_audio::audio::SpatialListener': '(left_ear_offset: Vec3(x:0.5714026093482971, y:0.42888906598091125, ' - 'z:0.5780913233757019), right_ear_offset: Vec3(x:0.20609822869300842, ' - 'y:0.8133212327957153, z:0.8235888481140137))', - 'bevy_core::name::Name': '(hash: 73, name: "bnpsagop")', - 'bevy_core_pipeline::bloom::settings::BloomSettings': '(composite_mode: EnergyConserving, high_pass_frequency: ' - '0.42888906598091125, intensity: 0.5780913233757019, ' - 'low_frequency_boost: 0.20609822869300842, ' - 'low_frequency_boost_curvature: 0.8133212327957153, ' - 'prefilter_settings: (threshold: 0.8235888481140137, ' - 'threshold_softness: 0.6534725427627563))', - 'bevy_core_pipeline::contrast_adaptive_sharpening::ContrastAdaptiveSharpeningSettings': '(denoise: true, enabled: ' - 'false, sharpening_strength: ' - '0.42888906598091125)', - 'bevy_core_pipeline::core_2d::camera_2d::Camera2d': '()', - 'bevy_core_pipeline::core_3d::camera_3d::Camera3d': '(depth_load_op: Clear(0.42888906598091125), ' - 'depth_texture_usages: (73), ' - 'screen_space_specular_transmission_quality: Low, ' - 'screen_space_specular_transmission_steps: 26)', - 'bevy_core_pipeline::fxaa::Fxaa': '(edge_threshold: "", edge_threshold_min: "", enabled: true)', - 'bevy_core_pipeline::tonemapping::DebandDither': 'Disabled', - 'bevy_core_pipeline::tonemapping::Tonemapping': 'None', - 'bevy_example::dupe_components::EnumTest': 'Squishy', - 'bevy_example::game::animation::Marker1': '()', - 'bevy_example::game::animation::Marker2': '()', - 'bevy_example::game::animation::Marker3': '()', - 'bevy_example::game::animation::MarkerFox': '()', - 'bevy_example::test_components::AComponentWithAnExtremlyExageratedOrMaybeNotButCouldBeNameOrWut': '()', - 'bevy_example::test_components::BasicTest': '(a: 0.5714026093482971, b: 54, c: "psagopiu")', - 'bevy_example::test_components::EnumComplex': 'StructLike(a: 0.03258506581187248, b: 61, c: "sagopiuz")', - 'bevy_example::test_components::EnumTest': 'Squishy', - 'bevy_example::test_components::HashmapTestIntColor': '(inner: {})', - 'bevy_example::test_components::HashmapTestIntString': '(named_animations: {})', - 'bevy_example::test_components::HashmapTestSimple': '(named_animations: {})', - 'bevy_example::test_components::HashmapTestStringColor': '(inner: {})', - 'bevy_example::test_components::HashmapTestStringColorFlat': '({})', - 'bevy_example::test_components::HashmapTestStringFloat': '(named_animations: {})', - 'bevy_example::test_components::NestedTupleStuff': '(0.5714026093482971, 54, (basic: (a: 0.4825616776943207, b: 1, c: ' - '"gopiuzfb"), color: (Rgba(red:0.5206693410873413, ' - 'green:0.3277728259563446, blue:0.24999667704105377, ' - 'alpha:0.952816903591156)), colors_list: ' - '([Rgba(red:0.0445563830435276, green:0.8601610660552979, ' - 'blue:0.6031906008720398, alpha:0.38160598278045654), ' - 'Rgba(red:0.2836182117462158, green:0.6749648451805115, ' - 'blue:0.456831157207489, alpha:0.6858614683151245)]), enable: ' - 'true, enum_inner: Rock, nested: (vec: (Vec3(x:0.1329781413078308, ' - 'y:0.7678378224372864, z:0.9824132323265076))), text: "otmbsahe", ' - 'toggle: (false)))', - 'bevy_example::test_components::NestingTestLevel2': '(basic: (a: 0.5714026093482971, b: 54, c: "psagopiu"), color: ' - '(Rgba(red:0.8106188178062439, green:0.03440357372164726, ' - 'blue:0.49008557200431824, alpha:0.07608934491872787)), ' - 'colors_list: ([Rgba(red:0.0445563830435276, ' - 'green:0.8601610660552979, blue:0.6031906008720398, ' - 'alpha:0.38160598278045654), Rgba(red:0.2836182117462158, ' - 'green:0.6749648451805115, blue:0.456831157207489, ' - 'alpha:0.6858614683151245)]), enable: true, enum_inner: Rock, ' - 'nested: (vec: (Vec3(x:0.1329781413078308, y:0.7678378224372864, ' - 'z:0.9824132323265076))), text: "otmbsahe", toggle: (false))', - 'bevy_example::test_components::NestingTestLevel3': '(vec: (Vec3(x:0.5714026093482971, y:0.42888906598091125, ' - 'z:0.5780913233757019)))', - 'bevy_example::test_components::TupleTest2': '(0.5714026093482971, 54, "psagopiu")', - 'bevy_example::test_components::TupleTestBool': '(true)', - 'bevy_example::test_components::TupleTestColor': '(Rgba(red:0.5714026093482971, green:0.42888906598091125, ' - 'blue:0.5780913233757019, alpha:0.20609822869300842))', - 'bevy_example::test_components::TupleTestF32': '(0.5714026093482971)', - 'bevy_example::test_components::TupleTestStr': '("sbnpsago")', - 'bevy_example::test_components::TupleTestU64': '(73)', - 'bevy_example::test_components::TupleVec': '(["npsagopi"])', - 'bevy_example::test_components::TupleVec2': '(Vec2(x:0.5714026093482971, y:0.42888906598091125))', - 'bevy_example::test_components::TupleVec3': '(Vec3(x:0.5714026093482971, y:0.42888906598091125, ' - 'z:0.5780913233757019))', - 'bevy_example::test_components::TupleVecF32F32': '([(0.42888906598091125, 0.5780913233757019)])', - 'bevy_example::test_components::UnitTest': '()', - 'bevy_example::test_components::VecOfColors': '([Rgba(red:0.42888906598091125, green:0.5780913233757019, ' - 'blue:0.20609822869300842, alpha:0.8133212327957153)])', - 'bevy_example::test_components::VecOfF32s': '([0.42888906598091125])', - 'bevy_example::test_components::VecOfVec3s2': '([(Vec3(x:0.42888906598091125, y:0.5780913233757019, ' - 'z:0.20609822869300842))])', - 'bevy_gltf::GltfExtras': '(value: "sbnpsago")', - 'bevy_gltf_blueprints::animation::AnimationInfos': '(animations: [(frame_end: 0.42888906598091125, ' - 'frame_end_override: 0.5780913233757019, frame_start: ' - '0.20609822869300842, frame_start_override: 0.8133212327957153, ' - 'frames_length: 0.8235888481140137, name: "uzfbqpkc")])', - 'bevy_gltf_blueprints::animation::AnimationMarkers': '({})', - 'bevy_gltf_blueprints::animation::BlueprintAnimations': '(named_animations: "")', - 'bevy_gltf_blueprints::animation::SceneAnimations': '(named_animations: "")', - 'bevy_gltf_blueprints::materials::MaterialInfo': '(name: "sbnpsago", source: "piuzfbqp")', - 'bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName': '("sbnpsago")', - 'bevy_gltf_blueprints::spawn_from_blueprints::BlueprintsList': '({})', - 'bevy_gltf_blueprints::spawn_from_blueprints::SpawnHere': '()', - 'bevy_gltf_components::GltfProcessed': '()', - 'bevy_gltf_components::blender_settings::lighting::BlenderBackgroundShader': '(color: Rgba(red:0.5714026093482971, ' - 'green:0.42888906598091125, ' - 'blue:0.5780913233757019, ' - 'alpha:0.20609822869300842), strength: ' - '0.8133212327957153)', - 'bevy_gltf_components::blender_settings::lighting::BlenderLightShadows': '(buffer_bias: 0.5714026093482971, enabled: ' - 'false)', - 'bevy_gltf_components::blender_settings::lighting::BlenderShadowSettings': '(cascade_size: 73)', - 'bevy_gltf_worlflow_examples_common::core::camera::camera_replace_proxies::SSAOSettings': '()', - 'bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTrackable': '()', - 'bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTracking': '(offset: ' - 'Vec3(x:0.5714026093482971, ' - 'y:0.42888906598091125, ' - 'z:0.5780913233757019))', - 'bevy_gltf_worlflow_examples_common::core::camera::camera_tracking::CameraTrackingOffset': '(Vec3(x:0.5714026093482971, ' - 'y:0.42888906598091125, ' - 'z:0.5780913233757019))', - 'bevy_gltf_worlflow_examples_common::game::picking::Pickable': '()', - 'bevy_gltf_worlflow_examples_common::game::player::Player': '()', - 'bevy_gltf_worlflow_examples_common_rapier::physics::physics_replace_proxies::AutoAABBCollider': 'Capsule', - 'bevy_gltf_worlflow_examples_common_rapier::physics::physics_replace_proxies::Collider': 'Ball(0.42888906598091125)', - 'bevy_hierarchy::components::children::Children': '([0])', - 'bevy_hierarchy::components::parent::Parent': '(0)', - 'bevy_pbr::bundle::CascadesVisibleEntities': '()', - 'bevy_pbr::bundle::CubemapVisibleEntities': '()', - 'bevy_pbr::fog::FogSettings': '(color: Rgba(red:0.5714026093482971, green:0.42888906598091125, ' - 'blue:0.5780913233757019, alpha:0.20609822869300842), directional_light_color: ' - 'Rgba(red:0.8133212327957153, green:0.8235888481140137, blue:0.6534725427627563, ' - 'alpha:0.16022956371307373), directional_light_exponent: 0.5206693410873413, falloff: ' - 'ExponentialSquared(density: 0.07608934491872787))', - 'bevy_pbr::light::CascadeShadowConfig': '(bounds: [0.42888906598091125], minimum_distance: 0.5780913233757019, ' - 'overlap_proportion: 0.20609822869300842)', - 'bevy_pbr::light::Cascades': '(cascades: "")', - 'bevy_pbr::light::ClusterConfig': 'None', - 'bevy_pbr::light::DirectionalLight': '(color: Rgba(red:0.5714026093482971, green:0.42888906598091125, ' - 'blue:0.5780913233757019, alpha:0.20609822869300842), illuminance: ' - '0.8133212327957153, shadow_depth_bias: 0.8235888481140137, shadow_normal_bias: ' - '0.6534725427627563, shadows_enabled: false)', - 'bevy_pbr::light::NotShadowCaster': '()', - 'bevy_pbr::light::NotShadowReceiver': '()', - 'bevy_pbr::light::PointLight': '(color: Rgba(red:0.5714026093482971, green:0.42888906598091125, ' - 'blue:0.5780913233757019, alpha:0.20609822869300842), intensity: 0.8133212327957153, ' - 'radius: 0.8235888481140137, range: 0.6534725427627563, shadow_depth_bias: ' - '0.16022956371307373, shadow_normal_bias: 0.5206693410873413, shadows_enabled: false)', - 'bevy_pbr::light::ShadowFilteringMethod': 'Jimenez14', - 'bevy_pbr::light::SpotLight': '(color: Rgba(red:0.5714026093482971, green:0.42888906598091125, ' - 'blue:0.5780913233757019, alpha:0.20609822869300842), inner_angle: 0.8133212327957153, ' - 'intensity: 0.8235888481140137, outer_angle: 0.6534725427627563, radius: ' - '0.16022956371307373, range: 0.5206693410873413, shadow_depth_bias: 0.3277728259563446, ' - 'shadow_normal_bias: 0.24999667704105377, shadows_enabled: true)', - 'bevy_pbr::light_probe::LightProbe': '()', - 'bevy_pbr::ssao::ScreenSpaceAmbientOcclusionSettings': '(quality_level: "")', - 'bevy_pbr::wireframe::NoWireframe': '()', - 'bevy_pbr::wireframe::Wireframe': '()', - 'bevy_pbr::wireframe::WireframeColor': '(color: Rgba(red:0.5714026093482971, green:0.42888906598091125, ' - 'blue:0.5780913233757019, alpha:0.20609822869300842))', - 'bevy_rapier3d::dynamics::rigid_body::AdditionalMassProperties': 'Mass(0.42888906598091125)', - 'bevy_rapier3d::dynamics::rigid_body::Ccd': '(enabled: true)', - 'bevy_rapier3d::dynamics::rigid_body::Damping': '(angular_damping: 0.5714026093482971, linear_damping: ' - '0.42888906598091125)', - 'bevy_rapier3d::dynamics::rigid_body::Dominance': '(groups: 73)', - 'bevy_rapier3d::dynamics::rigid_body::ExternalForce': '(force: Vec3(x:0.5714026093482971, y:0.42888906598091125, ' - 'z:0.5780913233757019), torque: Vec3(x:0.20609822869300842, ' - 'y:0.8133212327957153, z:0.8235888481140137))', - 'bevy_rapier3d::dynamics::rigid_body::ExternalImpulse': '(impulse: Vec3(x:0.5714026093482971, y:0.42888906598091125, ' - 'z:0.5780913233757019), torque_impulse: ' - 'Vec3(x:0.20609822869300842, y:0.8133212327957153, ' - 'z:0.8235888481140137))', - 'bevy_rapier3d::dynamics::rigid_body::GravityScale': '(0.5714026093482971)', - 'bevy_rapier3d::dynamics::rigid_body::LockedAxes': '(73)', - 'bevy_rapier3d::dynamics::rigid_body::RigidBody': 'Dynamic', - 'bevy_rapier3d::dynamics::rigid_body::Sleeping': '(angular_threshold: 0.5714026093482971, linear_threshold: ' - '0.42888906598091125, sleeping: true)', - 'bevy_rapier3d::dynamics::rigid_body::Velocity': '(angvel: Vec3(x:0.5714026093482971, y:0.42888906598091125, ' - 'z:0.5780913233757019), linvel: Vec3(x:0.20609822869300842, ' - 'y:0.8133212327957153, z:0.8235888481140137))', - 'bevy_rapier3d::geometry::collider::CollidingEntities': '("")', - 'bevy_rapier3d::geometry::collider::CollisionGroups': '(filters: (73), memberships: (4))', - 'bevy_rapier3d::geometry::collider::ContactForceEventThreshold': '(0.5714026093482971)', - 'bevy_rapier3d::geometry::collider::Friction': '(coefficient: 0.5714026093482971, combine_rule: "")', - 'bevy_rapier3d::geometry::collider::Group': '(73)', - 'bevy_rapier3d::geometry::collider::Restitution': '(coefficient: 0.5714026093482971, combine_rule: "")', - 'bevy_rapier3d::geometry::collider::Sensor': '()', - 'bevy_rapier3d::geometry::collider::SolverGroups': '(filters: (73), memberships: (4))', - 'bevy_render::camera::camera::Camera': '(clear_color: None, hdr: false, is_active: false, msaa_writeback: false, ' - 'order: 73, viewport: None)', - 'bevy_render::camera::camera::CameraMainTextureUsages': 'None', - 'bevy_render::camera::camera::CameraRenderGraph': 'None', - 'bevy_render::camera::camera::Exposure': 'None', - 'bevy_render::camera::projection::OrthographicProjection': '(area: (max: Vec2(x:0.5714026093482971, ' - 'y:0.42888906598091125), min: Vec2(x:0.5780913233757019, ' - 'y:0.20609822869300842)), far: 0.8133212327957153, near: ' - '0.8235888481140137, scale: 0.6534725427627563, ' - 'scaling_mode: WindowSize(0.03440357372164726), ' - 'viewport_origin: Vec2(x:0.49008557200431824, ' - 'y:0.07608934491872787))', - 'bevy_render::camera::projection::PerspectiveProjection': '(aspect_ratio: 0.5714026093482971, far: ' - '0.42888906598091125, fov: 0.5780913233757019, near: ' - '0.20609822869300842)', - 'bevy_render::camera::projection::Projection': 'Perspective((aspect_ratio: 0.42888906598091125, far: ' - '0.5780913233757019, fov: 0.20609822869300842, near: ' - '0.8133212327957153))', - 'bevy_render::mesh::mesh::skinning::SkinnedMesh': '(inverse_bindposes: Strong(""), joints: [0, 0])', - 'bevy_render::mesh::morph::MeshMorphWeights': '(weights: [0.42888906598091125])', - 'bevy_render::mesh::morph::MorphWeights': '(first_mesh: "", weights: [0.42888906598091125])', - 'bevy_render::primitives::Aabb': '(center: Vec3A(x:0.5714026093482971, y:0.42888906598091125, z:0.5780913233757019), ' - 'half_extents: Vec3A(x:0.20609822869300842, y:0.8133212327957153, ' - 'z:0.8235888481140137))', - 'bevy_render::primitives::CascadesFrusta': '()', - 'bevy_render::primitives::CubemapFrusta': '()', - 'bevy_render::primitives::Frustum': '()', - 'bevy_render::view::ColorGrading': '(exposure: 0.5714026093482971, gamma: 0.42888906598091125, post_saturation: ' - '0.5780913233757019, pre_saturation: 0.20609822869300842)', - 'bevy_render::view::visibility::InheritedVisibility': '(true)', - 'bevy_render::view::visibility::NoFrustumCulling': '()', - 'bevy_render::view::visibility::ViewVisibility': '(true)', - 'bevy_render::view::visibility::Visibility': 'Visible', - 'bevy_render::view::visibility::VisibleEntities': '()', - 'bevy_render::view::visibility::render_layers::RenderLayers': '(73)', - 'bevy_sprite::mesh2d::mesh::Mesh2dHandle': '(Strong(""))', - 'bevy_sprite::sprite::ImageScaleMode': 'Sliced((border: "", center_scale_mode: "", max_corner_scale: ' - '0.42888906598091125, sides_scale_mode: ""))', - 'bevy_sprite::sprite::Sprite': '(anchor: Custom(Vec2(x:0.03258506581187248, y:0.4825616776943207)), color: ' - 'Rgba(red:0.014832446351647377, green:0.46258050203323364, blue:0.4912964105606079, ' - 'alpha:0.27752065658569336), custom_size: "", flip_x: true, flip_y: false, rect: "")', - 'bevy_text::pipeline::TextLayoutInfo': '(glyphs: "", logical_size: Vec2(x:0.5714026093482971, y:0.42888906598091125))', - 'bevy_text::text2d::Text2dBounds': '(size: Vec2(x:0.5714026093482971, y:0.42888906598091125))', - 'bevy_text::text::Text': '(justify: Right, linebreak_behavior: WordBoundary, sections: [(style: (color: ' - 'Rgba(red:0.4825616776943207, green:0.014832446351647377, blue:0.46258050203323364, ' - 'alpha:0.4912964105606079), font: Weak(Index(index: "")), font_size: 0.03440357372164726), ' - 'value: "pkchxlbn"), (style: (color: Rgba(red:0.8601610660552979, green:0.6031906008720398, ' - 'blue:0.38160598278045654, alpha:0.2836182117462158), font: Weak(Uuid(uuid: ' - '"73b3b118-7d01-4778-8bcc-4e79055f5d22")), font_size: 0.17467059195041656), value: ' - '"jvleoyho")])', - 'bevy_transform::components::global_transform::GlobalTransform': '((matrix3: (x_axis: Vec3A(x:0.5714026093482971, ' - 'y:0.42888906598091125, z:0.5780913233757019), ' - 'y_axis: Vec3A(x:0.20609822869300842, ' - 'y:0.8133212327957153, z:0.8235888481140137), ' - 'z_axis: Vec3A(x:0.6534725427627563, ' - 'y:0.16022956371307373, z:0.5206693410873413)), ' - 'translation: Vec3A(x:0.3277728259563446, ' - 'y:0.24999667704105377, z:0.952816903591156)))', - 'bevy_transform::components::transform::Transform': '(rotation: Quat(x:0.5714026093482971, y:0.42888906598091125, ' - 'z:0.5780913233757019, w:0.20609822869300842), scale: ' - 'Vec3(x:0.8133212327957153, y:0.8235888481140137, ' - 'z:0.6534725427627563), translation: Vec3(x:0.16022956371307373, ' - 'y:0.5206693410873413, z:0.3277728259563446))', - 'bevy_ui::focus::FocusPolicy': 'Block', - 'bevy_ui::focus::Interaction': 'None', - 'bevy_ui::focus::RelativeCursorPosition': '(normalized: "", normalized_visible_node_rect: (max: ' - 'Vec2(x:0.5714026093482971, y:0.42888906598091125), min: ' - 'Vec2(x:0.5780913233757019, y:0.20609822869300842)))', - 'bevy_ui::measurement::ContentSize': '()', - 'bevy_ui::ui_node::BackgroundColor': '(Rgba(red:0.5714026093482971, green:0.42888906598091125, ' - 'blue:0.5780913233757019, alpha:0.20609822869300842))', - 'bevy_ui::ui_node::BorderColor': '(Rgba(red:0.5714026093482971, green:0.42888906598091125, blue:0.5780913233757019, ' - 'alpha:0.20609822869300842))', - 'bevy_ui::ui_node::CalculatedClip': '(clip: (max: Vec2(x:0.5714026093482971, y:0.42888906598091125), min: ' - 'Vec2(x:0.5780913233757019, y:0.20609822869300842)))', - 'bevy_ui::ui_node::Node': '(calculated_size: Vec2(x:0.5714026093482971, y:0.42888906598091125), outline_offset: ' - '0.5780913233757019, outline_width: 0.20609822869300842, stack_index: 62, unrounded_size: ' - 'Vec2(x:0.8235888481140137, y:0.6534725427627563))', - 'bevy_ui::ui_node::Outline': '(color: Rgba(red:0.5714026093482971, green:0.42888906598091125, ' - 'blue:0.5780913233757019, alpha:0.20609822869300842), offset: VMax(0.4912964105606079), ' - 'width: Percent(0.6534725427627563))', - 'bevy_ui::ui_node::Style': '(align_content: SpaceAround, align_items: Default, align_self: Baseline, aspect_ratio: ' - 'Some(0.5780913233757019), border: (bottom: Px(0.46258050203323364), left: ' - 'Vw(0.8235888481140137), right: VMin(0.8106188178062439), top: Auto), bottom: ' - 'Vh(0.49008557200431824), column_gap: Auto, direction: Inherit, display: None, flex_basis: ' - 'Percent(0.0445563830435276), flex_direction: Column, flex_grow: 0.6031906008720398, ' - 'flex_shrink: 0.38160598278045654, flex_wrap: Wrap, grid_auto_columns: "", grid_auto_flow: ' - 'RowDense, grid_auto_rows: "", grid_column: (end: "", span: "", start: ""), grid_row: ' - '(end: "", span: "", start: ""), grid_template_columns: "", grid_template_rows: "", ' - 'height: Vw(0.17467059195041656), justify_content: FlexEnd, justify_items: Stretch, ' - 'justify_self: End, left: Px(0.45692843198776245), margin: (bottom: ' - 'VMax(0.9824132323265076), left: Vw(0.6133268475532532), right: Auto, top: ' - 'Vh(0.004055144265294075)), max_height: Px(0.1949533075094223), max_width: ' - 'Percent(0.5363451838493347), min_height: VMax(0.8981962203979492), min_width: ' - 'Percent(0.666689932346344), overflow: (x: Clip, y: Clip), padding: (bottom: ' - 'Vw(0.06499417871236801), left: Vh(0.32468828558921814), right: Vh(0.15641891956329346), ' - 'top: Px(0.9697836637496948)), position_type: Relative, right: Auto, row_gap: Auto, top: ' - 'Vw(0.3011642396450043), width: Vh(0.6578909158706665))', - 'bevy_ui::ui_node::UiImage': '(flip_x: true, flip_y: false, texture: Weak(Uuid(uuid: ' - '"73b3b118-7d01-4778-8bcc-4e79055f5d22")))', - 'bevy_ui::ui_node::ZIndex': 'Local(54)', - 'bevy_ui::widget::button::Button': '()', - 'bevy_ui::widget::image::UiImageSize': '(size: Vec2(x:0.5714026093482971, y:0.42888906598091125))', - 'bevy_ui::widget::label::Label': '()', - 'bevy_ui::widget::text::TextFlags': '(needs_new_measure_func: true, needs_recompute: false)', - 'bevy_window::window::PrimaryWindow': '()', - 'bevy_window::window::Window': '(canvas: None, composite_alpha_mode: PostMultiplied, cursor: (grab_mode: Confined, ' - 'hit_test: true, icon: Default, visible: false), decorations: false, enabled_buttons: ' - '(close: true, maximize: false, minimize: true), focused: false, ime_enabled: true, ' - 'ime_position: Vec2(x:0.8106188178062439, y:0.03440357372164726), internal: ' - '(maximize_request: Some(false), minimize_request: None, physical_cursor_position: ' - 'None), mode: SizedFullscreen, name: None, position: Centered(Current), present_mode: ' - 'Immediate, prevent_default_event_handling: false, resizable: false, ' - 'resize_constraints: (max_height: 0.42126399278640747, max_width: 0.8268482089042664, ' - 'min_height: 0.2623211145401001, min_width: 0.17467059195041656), resolution: ' - '(physical_height: 38, physical_width: 84, scale_factor: 0.36258742213249207, ' - 'scale_factor_override: Some(0.7678378224372864)), title: "hotmbsah", transparent: ' - 'false, visible: false, window_level: Normal, window_theme: "")'} \ No newline at end of file diff --git a/tools/bevy_components/tests/setup_data.py b/tools/bevy_components/tests/setup_data.py deleted file mode 100644 index 53be3de..0000000 --- a/tools/bevy_components/tests/setup_data.py +++ /dev/null @@ -1,31 +0,0 @@ -import bpy -import pytest - -@pytest.fixture -def setup_data(request): - print("\nSetting up resources...") - - schemaPath = "../../testing/bevy_example/assets/registry.json" - - yield {"schema_path": schemaPath} - - def finalizer(): - print("\nPerforming teardown...") - registry = bpy.context.window_manager.components_registry - - type_infos = registry.type_infos - object = bpy.context.object - remove_component_operator = bpy.ops.object.remove_bevy_component - - for long_name in type_infos: - definition = type_infos[long_name] - component_name = definition["short_name"] - if component_name in object: - try: - remove_component_operator(component_name=component_name) - except Exception as error: - pass - - request.addfinalizer(finalizer) - - return None \ No newline at end of file diff --git a/tools/bevy_components/tests/test_components.py b/tools/bevy_components/tests/test_components.py deleted file mode 100644 index ac3295e..0000000 --- a/tools/bevy_components/tests/test_components.py +++ /dev/null @@ -1,257 +0,0 @@ -import bpy -import pprint - -from ..propGroups.conversions_to_prop_group import property_group_value_from_custom_property_value -from ..propGroups.conversions_from_prop_group import property_group_value_to_custom_property_value -from .component_values_shuffler import component_values_shuffler -from .expected_component_values import (expected_custom_property_values, expected_custom_property_values_randomized) -from ..components.metadata import get_bevy_component_value_by_long_name, get_bevy_components, upsert_bevy_component - -from .setup_data import setup_data - -def test_components_should_generate_correct_custom_properties(setup_data): - registry = bpy.context.window_manager.components_registry - registry.schemaPath = setup_data["schema_path"] - bpy.ops.object.reload_registry() - - type_infos = registry.type_infos - object = bpy.context.object - - add_component_operator = bpy.ops.object.add_bevy_component - errors = [] - addable_components = [] - added_components = [] - - custom_property_values = {} - - for long_name in type_infos: - definition = type_infos[long_name] - long_name = definition["long_name"] - is_component = definition['isComponent'] if "isComponent" in definition else False - if not is_component: - continue - - addable_components.append(long_name) - - try: - add_component_operator(component_type=long_name) - - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - added_components.append(long_name) - custom_property_values[long_name] = get_bevy_component_value_by_long_name(object, long_name) - assert get_bevy_component_value_by_long_name(object, long_name) == expected_custom_property_values[long_name] - - except Exception as error: - errors.append(error) - - pp = pprint.PrettyPrinter(depth=14, width=120) - print("CUSTOM PROPERTY VALUES") - pp.pprint(custom_property_values) - - assert len(errors) == 0 - assert len(added_components) == 173 - - -def test_components_should_generate_correct_custom_properties_with_randomized_values(setup_data): - registry = bpy.context.window_manager.components_registry - registry.schemaPath = setup_data["schema_path"] - bpy.ops.object.reload_registry() - - type_infos = registry.type_infos - object = bpy.context.object - - add_component_operator = bpy.ops.object.add_bevy_component - errors = [] - error_components = [] - addable_components = [] - added_components = [] - - custom_property_values = {} - - for long_name in type_infos: - definition = type_infos[long_name] - long_name = definition["long_name"] - is_component = definition['isComponent'] if "isComponent" in definition else False - if not is_component: - continue - - addable_components.append(long_name) - - try: - add_component_operator(component_type=long_name) - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - component_values_shuffler(seed= 10, property_group=propertyGroup, definition=definition, registry=registry) - - added_components.append(long_name) - custom_property_values[long_name] = get_bevy_component_value_by_long_name(object, long_name) - assert get_bevy_component_value_by_long_name(object, long_name) == expected_custom_property_values_randomized[long_name] - - except Exception as error: - errors.append(error) - error_components.append(long_name) - - pp = pprint.PrettyPrinter(depth=14, width=120) - print("CUSTOM PROPERTY VALUES") - pp.pprint(custom_property_values) - - print("error_components", error_components) - assert len(errors) == 0 - assert len(added_components) == 173 - -def test_components_should_generate_correct_propertyGroup_values_from_custom_properties(setup_data): - registry = bpy.context.window_manager.components_registry - registry.schemaPath = setup_data["schema_path"] - bpy.ops.object.reload_registry() - - type_infos = registry.type_infos - object = bpy.context.object - - add_component_operator = bpy.ops.object.add_bevy_component - errors = [] - addable_components = [] - added_components = [] - failing_components = [] - - for long_name in type_infos: - definition = type_infos[long_name] - long_name = definition["long_name"] - is_component = definition['isComponent'] if "isComponent" in definition else False - if not is_component: - continue - - addable_components.append(long_name) - - try: - add_component_operator(component_type=long_name) - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - added_components.append(long_name) - # randomise values - component_values_shuffler(seed= 10, property_group=propertyGroup, definition=definition, registry=registry) - custom_property_value = get_bevy_component_value_by_long_name(object, long_name) - - # first check if custom property value matches what we expect - assert custom_property_value == expected_custom_property_values_randomized[long_name] - - # we update propgroup values from custom property values - property_group_value_from_custom_property_value(propertyGroup, definition, registry, custom_property_value, nesting = []) - # and then generate it back - custom_property_value_regen = property_group_value_to_custom_property_value(propertyGroup, definition, registry, None) - assert custom_property_value_regen == expected_custom_property_values_randomized[long_name] - - # custom_property_values[long_name] = object[long_name] - #assert object[long_name] == expected_custom_property_values[long_name] - #print("CUSTOM PROPERTY ", object[long_name]) - - except Exception as error: - errors.append(error) - failing_components.append(long_name) - - for index, error in enumerate(errors): - print("ERROR", error, failing_components[index]) - assert len(errors) == 0 - assert len(added_components) == 173 - - -def test_remove_components(setup_data): - registry = bpy.context.window_manager.components_registry - registry.schemaPath = setup_data["schema_path"] - bpy.ops.object.reload_registry() - - type_infos = registry.type_infos - - add_component_operator = bpy.ops.object.add_bevy_component - errors = [] - addable_components = [] - added_components = [] - - for long_name in type_infos: - definition = type_infos[long_name] - long_name = definition["long_name"] - is_component = definition['isComponent'] if "isComponent" in definition else False - if not is_component: - continue - - addable_components.append(long_name) - - try: - add_component_operator(component_type=long_name) - object = bpy.context.object - # print("propertyGroup", propertyGroup, propertyGroup.field_names) - added_components.append(long_name) - except Exception as error: - errors.append(error) - assert len(errors) == 0 - - # now test component removal - errors.clear() - remove_component_operator = bpy.ops.object.remove_bevy_component - for long_name in added_components: - try: - remove_component_operator(component_name=long_name) - except Exception as error: - errors.append(error) - assert len(errors) == 0 - -def test_copy_paste_components(setup_data): - context = bpy.context - registry = context.window_manager.components_registry - registry.schemaPath = setup_data["schema_path"] - bpy.ops.object.reload_registry() - - long_name = "bevy_example::test_components::BasicTest" - - # SOURCE object setup - add_component_operator = bpy.ops.object.add_bevy_component - add_component_operator(component_type=long_name) - - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - object = context.object - - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - - setattr(propertyGroup, propertyGroup.field_names[0], 25.0) - - copy_component_operator = bpy.ops.object.copy_bevy_component - copy_component_operator(source_component_name=long_name, source_object_name=object.name) - - # --------------------------------------- - # TARGET object - bpy.ops.mesh.primitive_cube_add() - new_cube = bpy.context.selected_objects[0] - # change name - new_cube.name = "TargetCube" - target_components_metadata = new_cube.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - - # first check that there is no component currently - assert component_meta == None - - paste_component_operator = bpy.ops.object.paste_bevy_component - paste_component_operator() - - target_components_metadata = new_cube.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - - # now after pasting to the new object, it should have component meta - assert component_meta != None - - # and then check if the propertyGroup of the target object is correct - propertyGroup = getattr(component_meta, property_group_name, None) - assert propertyGroup.field_names == ['a', 'b', 'c'] - - a_fieldValue = getattr(propertyGroup, propertyGroup.field_names[0]) - assert a_fieldValue == 25.0 diff --git a/tools/bevy_components/tests/test_conversions.py b/tools/bevy_components/tests/test_conversions.py deleted file mode 100644 index 4125ce0..0000000 --- a/tools/bevy_components/tests/test_conversions.py +++ /dev/null @@ -1,51 +0,0 @@ -from ..propGroups.conversions_to_prop_group import parse_struct_string, parse_tuplestruct_string - - -def test_parse_tuplestruct_string(): - assert parse_tuplestruct_string("(A)", start_nesting=1) == ['A'] - assert parse_tuplestruct_string("[(A)]", start_nesting=1) == ['(A)'] - - assert parse_tuplestruct_string("(a: 45, b: 65)", start_nesting=1) == ['a: 45', 'b: 65'] - assert parse_tuplestruct_string("[(a: 45, b: 65)]", start_nesting=1) == ['(a: 45, b: 65)'] - assert parse_tuplestruct_string("45, 65, 'bla'", start_nesting=0) == ['45', '65', "'bla'"] - - assert parse_tuplestruct_string("[(A), (B)]", start_nesting=1) == ['(A)', '(B)'] - - assert parse_tuplestruct_string("([(-1.8, 2.9), (0.0, -62)])", start_nesting=1) == ['[(-1.8, 2.9), (0.0, -62)]'] - assert parse_tuplestruct_string("([(-1.8, 2.9), (0.0, -62)])", start_nesting=2) == ['(-1.8, 2.9)', '(0.0, -62)'] - assert parse_tuplestruct_string("([(-1.8, 2.9), (0.0, -62), (25)])", start_nesting=2) == ['(-1.8, 2.9)', '(0.0, -62)', '(25)'] - - assert parse_tuplestruct_string("(Vec3(x:-2.0, y:120.0, z:1.0))", start_nesting=2) == ['x:-2.0', 'y:120.0', 'z:1.0'] - - assert parse_tuplestruct_string("(9)", start_nesting=1) == ['9'] - assert parse_tuplestruct_string('("toto")', start_nesting=1) == ['"toto"'] - - assert parse_tuplestruct_string("(Rgba(red:0.0, green:0.2, blue:0.9, alpha:1.0))", start_nesting=1) == ['Rgba(red:0.0, green:0.2, blue:0.9, alpha:1.0)'] - assert parse_tuplestruct_string("(Rgba(red:0.0, green:0.2, blue:0.9, alpha:1.0))", start_nesting=2) == ['red:0.0', 'green:0.2', 'blue:0.9', 'alpha:1.0'] - - assert parse_tuplestruct_string("([(-1.2, 2.9), (0.0, -62)])", start_nesting=2) == ['(-1.2, 2.9)', '(0.0, -62)'] - - assert parse_tuplestruct_string("([Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0), Rgba(red:1.0, green:0.0, blue:0.5, alpha:1.0)])", start_nesting=2) == ['Rgba(red:1.0, green:1.0, blue:0.0, alpha:1.0)', 'Rgba(red:1.0, green:0.0, blue:0.5, alpha:1.0)'] - assert parse_tuplestruct_string('(7.2, 2607, "sdf")', start_nesting=1) == ['7.2', '2607', '"sdf"'] - - assert parse_tuplestruct_string('[a, b]', start_nesting=1) == ['a', 'b'] - assert parse_tuplestruct_string('[]', start_nesting=1) == [] - -def test_parse_struct_string(): - assert parse_struct_string("a: 45, b:65") == {'a': '45', 'b':'65'} - assert parse_struct_string("x:-2.0, y:120.0, z:1.0") == {'x': '-2.0', 'y':'120.0', 'z':'1.0'} - - assert parse_struct_string("enabled: true") == {'enabled': 'true'} - assert parse_struct_string("(enabled: true)", start_nesting=1) == {'enabled': 'true'} - - - assert parse_struct_string("(filters: (25), memberships: (5))", start_nesting=1) == {'filters': '(25)', 'memberships':'(5)'} - assert parse_struct_string("groups: 0", start_nesting=0) == {'groups': '0'} - assert parse_struct_string("(groups: 0)", start_nesting=1) == {'groups': '0'} - - assert parse_struct_string("(composite_mode: EnergyConserving, high_pass_frequency: 4.0, intensity: 0.0, low_frequency_boost: -6.0, low_frequency_boost_curvature: 4.1, prefilter_settings: (threshold: -5.1, threshold_softness: 2.1))", start_nesting=1) == {'composite_mode': 'EnergyConserving', 'high_pass_frequency': '4.0', 'intensity': '0.0', 'low_frequency_boost': '-6.0', 'low_frequency_boost_curvature': '4.1', 'prefilter_settings': '(threshold: -5.1, threshold_softness: 2.1)'} - - - assert parse_struct_string("dimensions: UVec3(x:0.0, y:0.0, z:0.0), dynamic_resizing: true, z_config: (far_z_mode: MaxLightRange, first_slice_depth: 0.0)") == {'dimensions': 'UVec3(x:0.0, y:0.0, z:0.0)', 'dynamic_resizing': 'true', 'z_config': '(far_z_mode: MaxLightRange, first_slice_depth: 0.0)'} - - assert parse_struct_string('(inverse_bindposes: Strong(""), joints: [4294967295, 4294967295, 4294967295])', start_nesting=1) == {'inverse_bindposes': 'Strong("")', 'joints': '[4294967295, 4294967295, 4294967295]'} \ No newline at end of file diff --git a/tools/bevy_components/tests/test_registry.py b/tools/bevy_components/tests/test_registry.py deleted file mode 100644 index ec6c32f..0000000 --- a/tools/bevy_components/tests/test_registry.py +++ /dev/null @@ -1,22 +0,0 @@ -import bpy -from .setup_data import setup_data - -def test_blend(setup_data): - registry = bpy.context.window_manager.components_registry - registry.schemaPath = setup_data["schema_path"] - bpy.ops.object.reload_registry() - - long_name = "bevy_example::test_components::BasicTest" - - add_component_operator = bpy.ops.object.add_bevy_component - add_component_operator(component_type=long_name) - - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - object = bpy.context.object - - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - - - assert propertyGroup.field_names == ['a', 'b', 'c'] \ No newline at end of file diff --git a/tools/bevy_components/tests/test_rename_components.py b/tools/bevy_components/tests/test_rename_components.py deleted file mode 100644 index 96023ef..0000000 --- a/tools/bevy_components/tests/test_rename_components.py +++ /dev/null @@ -1,161 +0,0 @@ -import json -import re -import bpy -import pprint -import pytest - -from ..components.metadata import get_bevy_component_value_by_long_name, get_bevy_components, is_bevy_component_in_object, upsert_bevy_component - -from .setup_data import setup_data - -# small helpers -def get_component_metadata(object, component_name): - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == component_name, target_components_metadata), None) - return component_meta - -def get_component_propGroup(registry, component_name, component_meta): - # component_type = registry.short_names_to_long_names[component_name] - # add_component_operator = bpy.ops.object.add_bevy_component - property_group_name = registry.get_propertyGroupName_from_longName(component_name) - propertyGroup = getattr(component_meta, property_group_name, None) - return propertyGroup - - -def test_rename_component_single_unit_struct(setup_data): - registry = bpy.context.window_manager.components_registry - registry.schemaPath = setup_data["schema_path"] - bpy.ops.object.reload_registry() - - rename_component_operator = bpy.ops.object.rename_bevy_component - object = bpy.context.object - - - source_component_name = "bevy_example::test_components::SomeOldUnitStruct" - target_component_name = "bevy_example::test_components::UnitTest" - upsert_bevy_component(object, source_component_name, '()') - - rename_component_operator(original_name=source_component_name, new_name=target_component_name, target_objects=json.dumps([object.name])) - - is_old_component_in_object = is_bevy_component_in_object(object, source_component_name) - is_new_component_in_object = is_bevy_component_in_object(object, target_component_name) - assert is_old_component_in_object == False - assert is_new_component_in_object == True - assert get_bevy_component_value_by_long_name(object, target_component_name) == '()' - assert get_component_propGroup(registry, target_component_name, get_component_metadata(object, target_component_name)) != None - - -def test_rename_component_single_complex_struct(setup_data): - registry = bpy.context.window_manager.components_registry - registry.schemaPath = setup_data["schema_path"] - bpy.ops.object.reload_registry() - - rename_component_operator = bpy.ops.object.rename_bevy_component - object = bpy.context.object - - - source_component_name = "bevy_example::test_components::ProxyCollider" - target_component_name = "bevy_gltf_worlflow_examples_common_rapier::physics::physics_replace_proxies::Collider" - upsert_bevy_component(object, source_component_name, 'Capsule(Vec3(x:1.0, y:2.0, z:0.0), Vec3(x:0.0, y:0.0, z:0.0), 3.0)') - - rename_component_operator(original_name=source_component_name, new_name=target_component_name, target_objects=json.dumps([object.name])) - - is_old_component_in_object = is_bevy_component_in_object(object, source_component_name) - is_new_component_in_object = is_bevy_component_in_object(object, target_component_name) - assert is_old_component_in_object == False - assert is_new_component_in_object == True - assert get_bevy_component_value_by_long_name(object, target_component_name) == 'Capsule(Vec3(x:1.0, y:2.0, z:0.0), Vec3(x:0.0, y:0.0, z:0.0), 3.0)' - assert get_component_propGroup(registry, target_component_name, get_component_metadata(object, target_component_name)) != None - - -def test_rename_component_bulk(setup_data): - registry = bpy.context.window_manager.components_registry - registry.schemaPath = setup_data["schema_path"] - bpy.ops.object.reload_registry() - - rename_component_operator = bpy.ops.object.rename_bevy_component - - source_component_name = "bevy_example::test_components::SomeOldUnitStruct" - target_component_name = "bevy_example::test_components::UnitTest" - objects_names = [] - for object in bpy.data.objects: - upsert_bevy_component(object, source_component_name, '()') - objects_names.append(object.name) - - # bulk rename - rename_component_operator(original_name=source_component_name, new_name=target_component_name, target_objects=json.dumps(objects_names)) - - for object in bpy.data.objects: - is_old_component_in_object = is_bevy_component_in_object(object, source_component_name) - is_new_component_in_object = is_bevy_component_in_object(object, target_component_name) - assert is_old_component_in_object == False - assert is_new_component_in_object == True - assert get_bevy_component_value_by_long_name(object, target_component_name) == '()' - assert get_component_propGroup(registry, target_component_name, get_component_metadata(object, target_component_name)) != None - -def test_rename_component_single_error_handling(setup_data): - registry = bpy.context.window_manager.components_registry - registry.schemaPath = setup_data["schema_path"] - bpy.ops.object.reload_registry() - - rename_component_operator = bpy.ops.object.rename_bevy_component - object = bpy.context.object - - - source_component_name = "bevy_example::test_components::SomeOldUnitStruct" - target_component_name = "bevy_example::test_components::UnitTest" - upsert_bevy_component(object, source_component_name, 'Capsule(Vec3(x:1.0, y:2.0, z:0.0), Vec3(x:0.0, y:0.0, z:0.0), 3.0)') - - expected_error = f'Error: Failed to rename component: Errors:["wrong custom property values to generate target component: object: \'{object.name}\', error: input string too big for a unit struct"]\n' - expected_error = re.escape(expected_error) - with pytest.raises(Exception, match=expected_error): - rename_component_operator(original_name=source_component_name, new_name=target_component_name, target_objects=json.dumps([object.name])) - - target_component_metadata = get_component_metadata(object, target_component_name) - - is_old_component_in_object = is_bevy_component_in_object(object, source_component_name) - is_new_component_in_object = is_bevy_component_in_object(object, target_component_name) - assert is_old_component_in_object == False - assert is_new_component_in_object == True - assert get_bevy_component_value_by_long_name(object, target_component_name) == 'Capsule(Vec3(x:1.0, y:2.0, z:0.0), Vec3(x:0.0, y:0.0, z:0.0), 3.0)' - assert get_component_propGroup(registry, target_component_name, target_component_metadata) != None - assert target_component_metadata.invalid == True - - assert target_component_metadata.invalid_details == 'wrong custom property value, overwrite them by changing the values in the ui or change them & regenerate' - -def test_rename_component_single_error_handling_clean_errors(setup_data): - registry = bpy.context.window_manager.components_registry - registry.schemaPath = setup_data["schema_path"] - bpy.ops.object.reload_registry() - - rename_component_operator = bpy.ops.object.rename_bevy_component - object = bpy.context.object - - - source_component_name = "bevy_example::test_components::SomeOldUnitStruct" - target_component_name = "bevy_example::test_components::UnitTest" - upsert_bevy_component(object, source_component_name, 'Capsule(Vec3(x:1.0, y:2.0, z:0.0), Vec3(x:0.0, y:0.0, z:0.0), 3.0)') - - expected_error = f'Error: Failed to rename component: Errors:["wrong custom property values to generate target component: object: \'{object.name}\', error: input string too big for a unit struct"]\n' - expected_error = re.escape(expected_error) - with pytest.raises(Exception, match=expected_error): - rename_component_operator(original_name=source_component_name, new_name=target_component_name, target_objects=json.dumps([object.name])) - - target_component_metadata = get_component_metadata(object, target_component_name) - - is_old_component_in_object = is_bevy_component_in_object(object, source_component_name) - is_new_component_in_object = is_bevy_component_in_object(object, target_component_name) - assert is_old_component_in_object == False - assert is_new_component_in_object == True - assert get_bevy_component_value_by_long_name(object, target_component_name) == 'Capsule(Vec3(x:1.0, y:2.0, z:0.0), Vec3(x:0.0, y:0.0, z:0.0), 3.0)' - assert get_component_propGroup(registry, target_component_name, target_component_metadata) != None - assert target_component_metadata.invalid == True - - assert target_component_metadata.invalid_details == 'wrong custom property value, overwrite them by changing the values in the ui or change them & regenerate' - - # if we fix the custom property value & regen the ui, it should be all good - regen_component_operator = bpy.ops.object.refresh_ui_from_custom_properties_current - object[target_component_name] = '' - regen_component_operator() - - assert target_component_metadata.invalid == False diff --git a/tools/bevy_components/tests/test_shuffler.py b/tools/bevy_components/tests/test_shuffler.py deleted file mode 100644 index b80e94f..0000000 --- a/tools/bevy_components/tests/test_shuffler.py +++ /dev/null @@ -1,150 +0,0 @@ -import bpy -from .component_values_shuffler import component_values_shuffler -from ..components.metadata import get_bevy_component_value_by_long_name, get_bevy_components, upsert_bevy_component -from .setup_data import setup_data - -def test_shuffler(setup_data): - registry = bpy.context.window_manager.components_registry - registry.schemaPath = setup_data["schema_path"] - bpy.ops.object.reload_registry() - - type_infos = registry.type_infos - object = bpy.context.object - - add_component_operator = bpy.ops.object.add_bevy_component - - long_name = "bevy_example::test_components::BasicTest" - add_component_operator(component_type=long_name) - - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - - definition = type_infos[long_name] - component_values_shuffler(seed= 10, property_group=propertyGroup, definition=definition, registry=registry) - - assert getattr(propertyGroup, 'a') == 0.5714026093482971 - assert getattr(propertyGroup, 'b') == 54 - assert getattr(propertyGroup, 'c') == "psagopiu" - - - # Testing a more complex component - long_name = "bevy_example::test_components::NestingTestLevel2" - add_component_operator(component_type=long_name) - - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - - definition = type_infos[long_name] - component_values_shuffler(seed= 17, property_group=propertyGroup, definition=definition, registry=registry) - - #print("propertyGroup", object[long_name]) - # cheating / making things easier for us for complex types: we use the custom property value - assert get_bevy_component_value_by_long_name(object, long_name) == '(basic: (a: 0.5219839215278625, b: 38, c: "ljfywwrv"), color: (Rgba(red:0.2782765030860901, green:0.9174930453300476, blue:0.24890311062335968, alpha:0.815186083316803)), colors_list: ([Rgba(red:0.2523837685585022, green:0.5016026496887207, blue:0.317435085773468, alpha:0.8463277816772461), Rgba(red:0.945193886756897, green:0.4015909433364868, blue:0.9984470009803772, alpha:0.06219279021024704)]), enable: true, enum_inner: Wood, nested: (vec: (Vec3(x:0.1509154736995697, y:0.7055686116218567, z:0.5588918924331665))), text: "vgkrdwuc", toggle: (false))' - - - # And another complex component - long_name = "bevy_example::test_components::EnumComplex" - add_component_operator(component_type=long_name) - - - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - - definition = type_infos[long_name] - component_values_shuffler(seed= 17, property_group=propertyGroup, definition=definition, registry=registry) - - print("propertyGroup", get_bevy_component_value_by_long_name(object, long_name)) - # cheating / making things easier for us for complex types: we use the custom property value - assert get_bevy_component_value_by_long_name(object, long_name) == 'StructLike(a: 0.41416797041893005, b: 38, c: "ljfywwrv")' - - # And another complex component - long_name = "bevy_animation::AnimationPlayer" - add_component_operator(component_type=long_name) - - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - - definition = type_infos[long_name] - component_values_shuffler(seed= 17, property_group=propertyGroup, definition=definition, registry=registry) - - print("propertyGroup", get_bevy_component_value_by_long_name(object, long_name)) - # cheating / making things easier for us for complex types: we use the custom property value - assert get_bevy_component_value_by_long_name(object, long_name) == '(animation: "", paused: true)' - - - - # And another complex component - long_name = "bevy_example::test_components::VecOfColors" - add_component_operator(component_type=long_name) - - - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - - definition = type_infos[long_name] - component_values_shuffler(seed= 17, property_group=propertyGroup, definition=definition, registry=registry) - - print("propertyGroup", get_bevy_component_value_by_long_name(object, long_name)) - # cheating / making things easier for us for complex types: we use the custom property value - assert get_bevy_component_value_by_long_name(object, long_name) == '([Rgba(red:0.8066907525062561, green:0.9604947566986084, blue:0.2896253764629364, alpha:0.766107439994812), Rgba(red:0.7042198777198792, green:0.6613830327987671, blue:0.11016204953193665, alpha:0.02693677879869938)])' - - - # And another complex component - long_name = "bevy_example::test_components::VecOfF32s" - add_component_operator(component_type=long_name) - - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - - definition = type_infos[long_name] - component_values_shuffler(seed= 17, property_group=propertyGroup, definition=definition, registry=registry) - - print("propertyGroup", get_bevy_component_value_by_long_name(object, long_name)) - # cheating / making things easier for us for complex types: we use the custom property value - assert get_bevy_component_value_by_long_name(object, long_name) == '([0.8066907525062561, 0.9604947566986084])' - - # And another complex component - long_name = "bevy_render::mesh::mesh::skinning::SkinnedMesh" - add_component_operator(component_type=long_name) - - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - - definition = type_infos[long_name] - component_values_shuffler(seed= 17, property_group=propertyGroup, definition=definition, registry=registry) - - print("propertyGroup", get_bevy_component_value_by_long_name(object, long_name)) - # cheating / making things easier for us for complex types: we use the custom property value - assert get_bevy_component_value_by_long_name(object, long_name) == '(inverse_bindposes: Weak(Uuid(uuid: "73b3b118-7d01-4778-8bcc-4e79055f5d22")), joints: [0, 0])' - - - # And another complex component - long_name = "bevy_render::camera::camera::CameraRenderGraph" - add_component_operator(component_type=long_name) - - property_group_name = registry.get_propertyGroupName_from_longName(long_name) - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == long_name, target_components_metadata), None) - propertyGroup = getattr(component_meta, property_group_name, None) - - definition = type_infos[long_name] - component_values_shuffler(seed= 17, property_group=propertyGroup, definition=definition, registry=registry) - - print("propertyGroup", get_bevy_component_value_by_long_name(object, long_name)) - # cheating / making things easier for us for complex types: we use the custom property value - assert get_bevy_component_value_by_long_name(object, long_name) == 'None' - \ No newline at end of file diff --git a/tools/blenvy/TODO.md b/tools/blenvy/TODO.md index 7d62a76..296fbfb 100644 --- a/tools/blenvy/TODO.md +++ b/tools/blenvy/TODO.md @@ -123,5 +123,8 @@ General issues: - [ ] for scenes, scan for used materials of all non instance objects (TODO: what about overrides ?) - [x] remove BlueprintsList & replace is with assets list +- [ ] update main docs + - [ ] replace all references to the old 2 add-ons with those to Blenvy +- [ ] rename repo to "Blenvy" clear && pytest -svv --blender-template ../../testing/bevy_example/art/testing_library.blend --blender-executable /home/ckaos/tools/blender/blender-4.1.0-linux-x64/blender tests/test_bevy_integration_prepare.py && pytest -svv --blender-executable /home/ckaos/tools/blender/blender-4.1.0-linux-x64/blender tests/test_bevy_integration.py \ No newline at end of file diff --git a/tools/gltf_auto_export/README.md b/tools/gltf_auto_export/README.md deleted file mode 100644 index fb577bd..0000000 --- a/tools/gltf_auto_export/README.md +++ /dev/null @@ -1,277 +0,0 @@ -# gltf_auto_export - -This [Blender addon](./) -- automatically exports your level/world from Blender to gltf whenever you save your Blend file. -- in Blueprints mode (highly recommended !) : - - supports automatic exports of used collections as [Gltf blueprints](../../crates/bevy_gltf_blueprints/README.md) - - supports any number of main/level scenes - - Blender scenes where you define your levels, and all collection instances are replaced with "pointers" to other gltf files (all automatic) - - supports any number of library scenes - - Blender scenes where you define the assets that you use in your levels, in the form of collections - - automatic export of **changed** objects & collections only ! a sort of "incremental export", where only the changed collections (if in use) - get exported when you save your blend file - - -## Installation: - - -* grab the latest release zip file - -![blender addon install](./docs/blender_addon_install_zip.png) - - -* in Blender go to edit => preferences => install - -![blender addon install](./docs/blender_addon_install.png) - -* choose the path where ```gltf_auto_export.zip``` is stored - -![blender addon install](./docs/blender_addon_install2.png) - - - - -## Usage: - -> ***IMPORTANT*** - -if you have used a version of this add-on prior to v0.9, there was an issue that kept generating orphan (junk) data on every save ! -You can easilly clean up that data - -- go to orphan data: - -![purge orphan data](./docs/purge_orphan1_data1.png) - -- click on purge - -![purge orphan data](./docs/purge_orphan1_data2.png) - -- validate - -![purge orphan data](./docs/purge_orphan1_data3.png) - - - -This issue has been resolved in v0.9. - - -### Basics - -* before it can automatically save to gltf, you need to configure it -* go to file => export => gltf auto export - -![blender addon use](./docs/blender_addon_use.png) - -* set the autoexport parameters in the **auto export** panel: - - ![blender addon use3](./docs/blender_addon_use3.png) - - - - export folder: root folder to export models too - - export scene settings: exports "global"/scene settings like ambient color, bloom, ao, etc - - This automatically generates additional components at the scene level - - - pick your main (level) scenes and/or library scenes (see the chapter about [Blueprints](#blueprints) and [multiple Blend filles workflow](#multiple-blend-file-workflow) below) - - click in the scene picker & select your scene - - ![select scene](./docs/blender_addon_add_scene.png) - - - click on the "+" icon - - ![select scene2](./docs/blender_addon_add_scene2.png) - - - your scene is added to the list - - ![select scene3](./docs/blender_addon_add_scene3.png) - - - export blueprints: check this if you want to automatically export blueprints (default: True) - - blueprints path: the path to export blueprints to , relative to the main **export folder** (default: library) - - collection instances: select which option you want to use to deal with collection instances (aka combine mode) (both inside blueprint collections & main collections) - - * split (default, highly recomended) : the addon will 'split out' any nested collections/ blueprints & export them - * embed: choose this option if you want to keep everything inside a gltf file (less efficient, not recomended) - * embedExternal: this will embed ONLY collection instances whose collections have not been found inside the current blend file - - These options can also be **overridden** on a per collection instance basis: (if you want to split out most collection instances, but keep a few specific ones embeded - inside your gltf file) - - ![combine override](./docs/combine_override.png) - - - simply add a custom property called **_combine** to the collection instance, and set it to one of the options above - - please read the dedicated [section](#collection-instances--nested-blueprints) below for more information - - - - Export dynamic and static objects seperatly : For MAIN scenes only (aka levels), toggle this to generate 2 files per level: - - - one with all dynamic data: collection or instances marked as dynamic (aka saveable) - - one with all static data: anything else that is NOT marked as dynamic, the file name will have the suffix **_dynamic** - - Ie if you add a "Dynamic" custom property/ component to either your collection instances or your blueprint, you get a clean seperation between - - - your static level data (anything that will never change during the lifetime of your Bevy app) - - your dynamic objects (anything that will change during the lifetime of your Bevy app, that can be saved & reloaded in save files for example) - - - export materials library: check this if you want to automatically export material libraries (default: False) - please read the dedicated [section](#materials) below for more information - - > This only works together with blueprints ! - - - materials path: where to export materials to - -* and your standard gltf export parameters in the **gltf** panel - - ![blender addon use2](./docs/blender_addon_use2.png) - - -* click on "apply settings" -* now next time you save your blend file you will get an automatically exported gltf file (or more than one, depending on your settings, see below) - -### Blueprints - -You can enable this option to automatically replace all the **collection instances** inside your main scene with blueprints -- whenever you change your main scene (or your library scene , if that option is enabled), all your collection instances - * will be replaced with empties (this will not be visible to you) - * those empties will have additional custom properties / components : ```BlueprintName``` & ```SpawnHere``` - * your main scene/ level will be exported to a much more trimmed down gltf file (see next point) - * all the original collections (that you used to create the instances) will be exported as **seperate gltf files** into the "library" folder - -- this means you will have - * one small main gltf file (your level/world) - * as many gltf files as you have used collections in the main scene , in the library path you specified : - for the included [basic](../../examples/bevy_gltf_blueprints/basic/) example's [assets](../../examples/bevy_gltf_blueprints/basic/assets/), it looks something like this: - - ![library](./docs/exported_library_files.png) - - the .blend file that they are generated from can be found [here](../../examples/bevy_gltf_blueprints/basic/assets/advanced.blend) - -- the above only applies to collections that have **instances** in your main scene! - if you want a specific collection in your library to always get exported regardless of its use, you need to add - a **COLLECTION** (boolean) custom property called ```AutoExport``` set to true - > not at the object level ! the collection level ! - - ![force-export](./docs/force_export.jpg) - - It will get automatically exported like any of the "in-use" collections. - -- you can also get an overview of all the exported collections in the export menu - - ![exported collections](./docs/exported_collections.png) - -- there are some workflow specificities for multi blend file [workflows](#multiple-blend-file-workflow) - -#### Collection instances & Nested blueprints - -To maximise reuse of meshes/components etc, you can also nest ***collections instances*** inside collections (as normally in Blender), but also export each nested Blueprint as a seperate blueprints. - -> Don't forget to choose the relevant option in the exporter settings (aka **"split"**) - -> This replaces the previous "export nested blueprints" checkbox/ option - -![instance combine mode](./docs/blender_addon_use4.png) - - - -- To make things clearer: - - ![nested-blueprints](./docs/nested_blueprints.png) - - - **Player2** & **Enemy** both use the **Humanoid_cactus** nested collection/blueprint, so **Humanoid_cactus** gets exported as a Blueprint for re-use ...but - - **Humanoid_cactus** is also made up of a main mesh & two instances of **Hand** , so **Hand** gets exported as a Blueprint for re-use ...but - - **Hand** is also made up of a main mesh & three instances of **Finger**, so **Finger** gets exported as a Blueprint for re-use - -- The exported models in this case end up being: - - ![nested_blueprints2](./docs/nested_blueprints2.png) - - - Note how **Player2.glb** is tiny, because most of its data is actually sotred in **Humanoid_cactus.glb** - - **Enemy.glb** is slightly bigger because that blueprints contains additional meshes - - All the intermediary blueprints got exported automatically, and all instances have been replaced with "empties" (see explanation in the **Process section** ) to minimize file size - -- Compare this to the output **WITHOUT** the nested export option: - - ![nested_blueprints3](./docs/nested_blueprints3.png) - - - less blueprints as the sub collections that are not in use somewhere directly are not exported - - **Player2.glb** & **Enemy.glb** are significantly larger - - -TLDR: smaller, more reuseable blueprints which can share sub-parts with other entities ! - -### Materials - -You can enable this option to automatically generate a **material library** file that combines all the materials in use in your blueprints. - -![material_library](./docs/blender_addon_materials2.png) - -Since each blueprint is normally a completely independant gltf file, without this option, if you have a material with a large texture for example, -**ALL** of your blueprints using that material will embed that large texture, leading to **significant bloat & memory use**. - - -- When this option is enabled, you get a single material library per Blender project, and a **MaterialInfo** component is inserted into each object using a material. -- The correct material will then be inserted on the Bevy side (that loads any number of material libraries that you need) into the correct mesh (see the configuration -options in **bevy_gltf_blueprints** for more information on that) -- Only one material per object is supported at this stage, ie the last material slot's material is the one that is going to be used - -![material_library](./docs/blender_addon_materials.png) - -TLDR: Use this option to make sure that each blueprint file does not contain a copy of the same materials - - -### Multiple blend file workflow - -If you want to use multiple blend files, use Blender's asset library etc, we got you coverred too ! -There are only a few things to keep in mind - -#### Assets/library/blueprints files -- mark your library scenes as specified above, but **do NOT** specify a **main** scene -- mark any collection in your scenes as "assets" (more convenient) or add the "AutoExport" custom property to the collection -- choose "split" for the combine mode (as you want your gltf blueprints to be saved for external use) -- do your Blender things as normal -- anytime you save your file, it will automatically export any relevant collections/blueprints -- (optional) activate the **material library** option, so you only have one set of material per asset library (recomended) - -#### Level/world files -- mark your main scenes as specified above, but **do NOT** specify a **library** scene -- configure your asset libraries as you would usually do , I recomend using the "link" mode so that any changes to asset files are reflected correctly -- drag & drop any assets from the blueprints library (as you would normally do in Blender as well) -- choose "split" for the combine mode (as you want your gltf blueprints to be external usually & use the gltf files generated from your assets library) -- do your Blender things as normal -- anytime you save your file, it will automatically export your level(s) - - -Take a look at the [relevant](../../examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/) example for more [details](../../examples/bevy_gltf_blueprints/multiple_levels_multiple_blendfiles/art/) - - -### Internal Process overview - -This is the internal logic of the export process with blueprints (simplified) - -![process](./docs/process.svg) - -ie this is an example scene... - -![](./docs/workflow_original.jpg) - -and what actually gets exported for the main scene/world/level - -![](./docs/workflow_empties.jpg) - -all collections instances replaced with empties, and all those collections exported to gltf files as seen above - - -## Development - -- since the code has now been split up into multiple modules, to make your life easier, I highly recomend (if you are using vscode like me) to use -[this](https://marketplace.visualstudio.com/items?itemName=JacquesLucke.blender-development) excellent extension , works easilly and fast , even for the latest -versions of Blender (v4.0 as of this writing) -- this [article](https://polynook.com/learn/set-up-blender-addon-development-environment-in-windows) might also help out -(easy enough to get it working on linux too) - -## License - -This tool, all its code, contents & assets is Dual-licensed under either of - -- Apache License, Version 2.0, ([LICENSE-APACHE](../LICENSE_APACHE.md) or https://www.apache.org/licenses/LICENSE-2.0) -- MIT license ([LICENSE-MIT](../LICENSE_MIT.md) or https://opensource.org/licenses/MIT) \ No newline at end of file diff --git a/tools/gltf_auto_export/TODO.md b/tools/gltf_auto_export/TODO.md deleted file mode 100644 index ebfda0a..0000000 --- a/tools/gltf_auto_export/TODO.md +++ /dev/null @@ -1,69 +0,0 @@ -- investigate remove_blueprints_list_from_main_scene (could be a case of changes to bpy.data not being applied immediatly) -- investigate clearing of changed_objects_per_scene -- it seems bevy_components does not trigger updates -- undo redo is ignored: ie save, do something, undo it, you still get changes - - -- [ ] serialize scene - - [ ] for collection instances: - * [ ] blueprints export should also take the split/embed mode into account: if a nested collection changes AND embed is active, its container collection should also be exported - * [ ] level exports should do the same - - [ ] add tests for the above - - [ ] look into caching for serialize scene - - [ ] replace field name based logic with type base logic - -- [ ] to make things easier overall we need a mapping of Blueprints/Collections to - - [x] their instances - - [x] their objects/sub collections instances etc - - [ ] a mapping of objects to the blueprints they belong to -- [ ] things to alter/remove using the new & improved Blueprints/collections scanning and mapping - - [x] get_sub_collections => remove , but rewrite how BlueprintsList are generated - - [x] get_used_collections => remove , but rewrite how BlueprintsList are generated - - [x] get_exportable_collections => remove , but replace with new function to get exportable blueprints - - [x] get_collections_per_scene - - [x] get_collections_in_library - - [ ] traverse_tree => keep, used - - [x] find_layer_collection_recursive => remove, unused - - [ ] recurLayerCollection => unclear, analyse - - [x] find_collection_ascendant_target_collection => remove, double check - - [x] set_active_collection => keep, used - - [x] get_source_scene => remove, unused - - [x] assets_list["BlueprintsList"] - BLUEPRINTS LIST {'Blueprint1': [], 'Blueprint6_animated': [], 'Blueprint4_nested': ['Blueprint3'], 'Blueprint3': [], 'Blueprint7_hierarchy': [], 'External_blueprint': [], 'External_blueprint2': ['External_blueprint3'], 'External_blueprint3': [], 'Blueprint8_animated_no_bones': []} - - [x] internal_collections => replace with "internal_collections" or "local_collections" - -- [x] fix COMBINE MODE passed as int instead of enum value - => comes from our custom logic for add_on prefs -- [ ] double check compares to "None" values - -- [ ] add tests for relative/absolute paths - -- [x] move all things that alter data "permanently" to pre-save - - [x] lighting/ scene components injection - - [x] blueprintNames ? - - [x] or more simple: just remove them after save as we do for others: lighting_components - - - [ ] if we want the blueprintsList / future paths of blueprints to be present inside external assets, we are going to need to keep them around, ie: inject them in pre-save & not remove them - -- [ ] update cleanup_materials - -- [x] remove legacy mode - - [x] from auto_export - - [x] from rust code - - [x] from examples - - [x] added notes & workaround information in docs - -- [ ] remove bulk of tracker related code -- [ ] clean up -- [x] split up change detection in settings to its own panel - - - - -Change storage of 'blueprint' assets : (from BlueprintsList) - - store at the SCENE level: a list/map of assets - - asset name + asset path - - the asset PATH is determined by the export output folder parameters - - make asset storage generic enough to allow adding additional asset types - - get inspired by bevy_asset_loader ? - diff --git a/tools/gltf_auto_export/__init__.py b/tools/gltf_auto_export/__init__.py deleted file mode 100644 index 8b320b0..0000000 --- a/tools/gltf_auto_export/__init__.py +++ /dev/null @@ -1,202 +0,0 @@ -bl_info = { - "name": "gltf_auto_export", - "author": "kaosigh", - "version": (0, 16, 0), - "blender": (3, 4, 0), - "location": "File > Import-Export", - "description": "glTF/glb auto-export", - "warning": "", - "wiki_url": "https://github.com/kaosat-dev/Blender_bevy_components_workflow", - "tracker_url": "https://github.com/kaosat-dev/Blender_bevy_components_workflow/issues/new", - "category": "Import-Export" -} -import os -import json -import bpy -from bpy.props import (StringProperty, BoolProperty, IntProperty, PointerProperty) - - -# from .extension import ExampleExtensionProperties, GLTF_PT_UserExtensionPanel, unregister_panel - -from .auto_export.operators import AutoExportGLTF -from .auto_export.tracker import AutoExportTracker -from .auto_export.preferences import (AutoExportGltfAddonPreferences) - -from .auto_export.internals import (SceneLink, - SceneLinks, - CollectionToExport, - BlueprintsToExport, - CUSTOM_PG_sceneName - ) -from .ui.main import (GLTF_PT_auto_export_change_detection, GLTF_PT_auto_export_changes_list, GLTF_PT_auto_export_main, - GLTF_PT_auto_export_root, - GLTF_PT_auto_export_general, - GLTF_PT_auto_export_scenes, - GLTF_PT_auto_export_blueprints, - SCENE_UL_GLTF_auto_export, - - GLTF_PT_auto_export_SidePanel - ) -from .ui.operators import (OT_OpenFolderbrowser, SCENES_LIST_OT_actions) - - - -from .helpers.generate_complete_preferences_dict import generate_complete_preferences_dict_gltf - - - - -###################################################### - -""" -# glTF extensions are named following a convention with known prefixes. -# See: https://github.com/KhronosGroup/glTF/tree/main/extensions#about-gltf-extensions -# also: https://github.com/KhronosGroup/glTF/blob/main/extensions/Prefixes.md -glTF_extension_name = "EXT_auto_export" - -# Support for an extension is "required" if a typical glTF viewer cannot be expected -# to load a given model without understanding the contents of the extension. -# For example, a compression scheme or new image format (with no fallback included) -# would be "required", but physics metadata or app-specific settings could be optional. -extension_is_required = False - -class AutoExportExtensionProperties(bpy.types.PropertyGroup): - enabled: bpy.props.BoolProperty( - name=bl_info["name"], - description='Include this extension in the exported glTF file.', - default=True - ) # type: ignore - -class glTF2ExportUserExtension: - - def __init__(self): - print("init extension", self) - # We need to wait until we create the gltf2UserExtension to import the gltf2 modules - # Otherwise, it may fail because the gltf2 may not be loaded yet - from io_scene_gltf2.io.com.gltf2_io_extensions import Extension - self.Extension = Extension - self.properties = bpy.context.scene.AutoExportExtensionProperties - - def gather_node_hook(self, gltf2_object, blender_object, export_settings): - print("fooo", self) - if self.properties.enabled: - if gltf2_object.extensions is None: - gltf2_object.extensions = {} - print("bla bla") - gltf2_object.extensions[glTF_extension_name] = self.Extension( - name=glTF_extension_name, - extension={"auto_export_blueprints": self.properties.auto_export_blueprints}, - required=extension_is_required - ) - def gather_animation_hook(): - pass - - def gather_gltf_hook(self, active_scene_idx, scenes, animations, export_settings): - if self.properties.enabled: - print("extension enabled") - #print("gather_gltf_hook", self, active_scene_idx, scenes, animations, export_settings)""" - - -#see here for original gltf exporter infos https://github.com/KhronosGroup/glTF-Blender-IO/blob/main/addons/io_scene_gltf2/__init__.py -classes = [ - SceneLink, - SceneLinks, - CUSTOM_PG_sceneName, - SCENE_UL_GLTF_auto_export, - SCENES_LIST_OT_actions, - - OT_OpenFolderbrowser, - AutoExportGLTF, - - CollectionToExport, - BlueprintsToExport, - - GLTF_PT_auto_export_main, - GLTF_PT_auto_export_root, - GLTF_PT_auto_export_general, - GLTF_PT_auto_export_change_detection, - GLTF_PT_auto_export_scenes, - GLTF_PT_auto_export_blueprints, - GLTF_PT_auto_export_SidePanel, - AutoExportTracker, -] - -def cleanup_file(): - gltf_filepath = "/home/ckaos/projects/bevy/Blender_bevy_components_worklflow/testing/bevy_example/assets/____dummy____.glb" - if os.path.exists(gltf_filepath): - os.remove(gltf_filepath) - return None - else: - return 1 - -def glTF2_post_export_callback(data): - #print("post_export", data) - bpy.context.window_manager.auto_export_tracker.export_finished() - - gltf_settings_backup = bpy.context.window_manager.gltf_settings_backup - gltf_filepath = data["gltf_filepath"] - gltf_export_id = data['gltf_export_id'] - if gltf_export_id == "gltf_auto_export": - # some more absurdity: apparently the file is not QUITE done when the export callback is called, so we have to introduce this timer to remove the temporary file correctly - bpy.context.window_manager.auto_export_tracker.dummy_file_path = gltf_filepath - try: - bpy.app.timers.unregister(cleanup_file) - except:pass - bpy.app.timers.register(cleanup_file, first_interval=1) - - # get the parameters - scene = bpy.context.scene - if "glTF2ExportSettings" in scene: - settings = scene["glTF2ExportSettings"] - export_settings = bpy.data.texts[".gltf_auto_export_gltf_settings"] if ".gltf_auto_export_gltf_settings" in bpy.data.texts else bpy.data.texts.new(".gltf_auto_export_gltf_settings") - # now write new settings - export_settings.clear() - - current_gltf_settings = generate_complete_preferences_dict_gltf(dict(settings)) - export_settings.write(json.dumps(current_gltf_settings)) - # now reset the original gltf_settings - if gltf_settings_backup != "": - scene["glTF2ExportSettings"] = json.loads(gltf_settings_backup) - else: - if "glTF2ExportSettings" in scene: - del scene["glTF2ExportSettings"] - bpy.context.window_manager.gltf_settings_backup = "" - - # the absurd length one has to go through to RESET THE OPERATOR because it has global state !!!!! AAAAAHHH - last_operator = bpy.context.window_manager.auto_export_tracker.last_operator - last_operator.filepath = "" - last_operator.gltf_export_id = "" - -def menu_func_import(self, context): - self.layout.operator(AutoExportGLTF.bl_idname, text="glTF auto Export (.glb/gltf)") -from bpy.app.handlers import persistent - -@persistent -def post_update(scene, depsgraph): - bpy.context.window_manager.auto_export_tracker.deps_post_update_handler( scene, depsgraph) - -@persistent -def post_save(scene, depsgraph): - bpy.context.window_manager.auto_export_tracker.save_handler( scene, depsgraph) - -def register(): - for cls in classes: - bpy.utils.register_class(cls) - # for some reason, adding these directly to the tracker class in register() do not work reliably - bpy.app.handlers.depsgraph_update_post.append(post_update) - bpy.app.handlers.save_post.append(post_save) - - # add our addon to the toolbar - bpy.types.TOPBAR_MT_file_export.append(menu_func_import) - bpy.types.WindowManager.gltf_settings_backup = StringProperty(default="") - -def unregister(): - for cls in classes: - bpy.utils.unregister_class(cls) - bpy.types.TOPBAR_MT_file_export.remove(menu_func_import) - - bpy.app.handlers.depsgraph_update_post.remove(post_update) - bpy.app.handlers.save_post.remove(post_save) - -if "gltf_auto_export" == "__main__": - register() diff --git a/tools/gltf_auto_export/auto_export/__init__.py b/tools/gltf_auto_export/auto_export/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tools/gltf_auto_export/auto_export/auto_export.py b/tools/gltf_auto_export/auto_export/auto_export.py deleted file mode 100644 index 1a561a5..0000000 --- a/tools/gltf_auto_export/auto_export/auto_export.py +++ /dev/null @@ -1,183 +0,0 @@ -import copy -import json -import os -from types import SimpleNamespace -import bpy -import traceback - - -from .preferences import AutoExportGltfAddonPreferences - -from .get_blueprints_to_export import get_blueprints_to_export -from .get_levels_to_export import get_levels_to_export -from .get_standard_exporter_settings import get_standard_exporter_settings - -from .export_main_scenes import export_main_scene -from .export_blueprints import export_blueprints - -from ..helpers.helpers_scenes import (get_scenes, ) -from ..helpers.helpers_blueprints import blueprints_scan - -from ..modules.export_materials import cleanup_materials, export_materials -from ..modules.bevy_scene_components import remove_scene_components, upsert_scene_components - - -"""this is the main 'central' function for all auto export """ -def auto_export(changes_per_scene, changed_export_parameters, addon_prefs): - # have the export parameters (not auto export, just gltf export) have changed: if yes (for example switch from glb to gltf, compression or not, animations or not etc), we need to re-export everything - print ("changed_export_parameters", changed_export_parameters) - try: - # path to the current blend file - file_path = bpy.data.filepath - # Get the folder - blend_file_path = os.path.dirname(file_path) - - # get the preferences for our addon - export_root_folder = getattr(addon_prefs, "export_root_folder") - export_output_folder = getattr(addon_prefs,"export_output_folder") - export_models_path = os.path.join(blend_file_path, export_output_folder) - - #should we use change detection or not - export_change_detection = getattr(addon_prefs, "export_change_detection") - export_scene_settings = getattr(addon_prefs,"export_scene_settings") - - do_export_blueprints = getattr(addon_prefs,"export_blueprints") - export_materials_library = getattr(addon_prefs,"export_materials_library") - print("export_materials_library", export_materials_library) - - # standard gltf export settings are stored differently - standard_gltf_exporter_settings = get_standard_exporter_settings() - gltf_extension = standard_gltf_exporter_settings.get("export_format", 'GLB') - gltf_extension = '.glb' if gltf_extension == 'GLB' else '.gltf' - - # generate the actual complete output path - export_blueprints_path = os.path.join(blend_file_path, export_root_folder, getattr(addon_prefs,"export_blueprints_path")) - export_levels_path = os.path.join(blend_file_path, export_root_folder, getattr(addon_prefs, "export_levels_path")) - - print("export_blueprints_path", export_blueprints_path) - - # here we do a bit of workaround by creating an override # TODO: do this at the "UI" level - print("collection_instances_combine_mode", addon_prefs.collection_instances_combine_mode) - """if hasattr(addon_prefs, "__annotations__") : - tmp = {} - for k in AutoExportGltfAddonPreferences.__annotations__: - item = AutoExportGltfAddonPreferences.__annotations__[k] - #print("tutu",k, item.keywords.get('default', None) ) - default = item.keywords.get('default', None) - tmp[k] = default - - for (k, v) in addon_prefs.properties.items(): - tmp[k] = v - - addon_prefs = SimpleNamespace(**tmp) #copy.deepcopy(addon_prefs) - addon_prefs.__annotations__ = tmp""" - addon_prefs.export_blueprints_path = export_blueprints_path - addon_prefs.export_levels_path = export_levels_path - addon_prefs.export_gltf_extension = gltf_extension - addon_prefs.export_models_path = export_models_path - - [main_scene_names, level_scenes, library_scene_names, library_scenes] = get_scenes(addon_prefs) - - print("main scenes", main_scene_names, "library_scenes", library_scene_names) - print("export_output_folder", export_output_folder) - - blueprints_data = blueprints_scan(level_scenes, library_scenes, addon_prefs) - blueprints_per_scene = blueprints_data.blueprints_per_scenes - internal_blueprints = [blueprint.name for blueprint in blueprints_data.internal_blueprints] - external_blueprints = [blueprint.name for blueprint in blueprints_data.external_blueprints] - - if export_scene_settings: - # inject/ update scene components - upsert_scene_components(level_scenes) - #inject/ update light shadow information - for light in bpy.data.lights: - enabled = 'true' if light.use_shadow else 'false' - light['BlenderLightShadows'] = f"(enabled: {enabled}, buffer_bias: {light.shadow_buffer_bias})" - - # export - if do_export_blueprints: - print("EXPORTING") - # get blueprints/collections infos - (blueprints_to_export) = get_blueprints_to_export(changes_per_scene, changed_export_parameters, blueprints_data, addon_prefs) - - # get level/main scenes infos - (main_scenes_to_export) = get_levels_to_export(changes_per_scene, changed_export_parameters, blueprints_data, addon_prefs) - - # since materials export adds components we need to call this before blueprints are exported - # export materials & inject materials components into relevant objects - if export_materials_library: - export_materials(blueprints_data.blueprint_names, library_scenes, blend_file_path, addon_prefs) - - # update the list of tracked exports - exports_total = len(blueprints_to_export) + len(main_scenes_to_export) + (1 if export_materials_library else 0) - bpy.context.window_manager.auto_export_tracker.exports_total = exports_total - bpy.context.window_manager.auto_export_tracker.exports_count = exports_total - - bpy.context.window_manager.exportedCollections.clear() - for blueprint in blueprints_to_export: - bla = bpy.context.window_manager.exportedCollections.add() - bla.name = blueprint.name - print("-------------------------------") - #print("collections: all:", collections) - #print("collections: not found on disk:", collections_not_on_disk) - print("BLUEPRINTS: local/internal:", internal_blueprints) - print("BLUEPRINTS: external:", external_blueprints) - print("BLUEPRINTS: per_scene:", blueprints_per_scene) - print("-------------------------------") - print("BLUEPRINTS: to export:", [blueprint.name for blueprint in blueprints_to_export]) - print("-------------------------------") - print("MAIN SCENES: to export:", main_scenes_to_export) - print("-------------------------------") - # backup current active scene - old_current_scene = bpy.context.scene - # backup current selections - old_selections = bpy.context.selected_objects - - # first export any main/level/world scenes - if len(main_scenes_to_export) > 0: - print("export MAIN scenes") - for scene_name in main_scenes_to_export: - print(" exporting scene:", scene_name) - export_main_scene(bpy.data.scenes[scene_name], blend_file_path, addon_prefs, blueprints_data) - - # now deal with blueprints/collections - do_export_library_scene = not export_change_detection or changed_export_parameters or len(blueprints_to_export) > 0 - if do_export_library_scene: - print("export LIBRARY") - # we only want to go through the library scenes where our blueprints to export are present - """for (scene_name, blueprints_to_export) in blueprints_per_scene.items(): - print(" exporting blueprints from scene:", scene_name) - print(" blueprints to export", blueprints_to_export)""" - export_blueprints(blueprints_to_export, blend_file_path, addon_prefs, blueprints_data) - - # reset current scene from backup - bpy.context.window.scene = old_current_scene - - # reset selections - for obj in old_selections: - obj.select_set(True) - if export_materials_library: - cleanup_materials(blueprints_data.blueprint_names, library_scenes) - - else: - for scene_name in main_scene_names: - export_main_scene(bpy.data.scenes[scene_name], blend_file_path, addon_prefs, []) - - - - except Exception as error: - print(traceback.format_exc()) - - def error_message(self, context): - self.layout.label(text="Failure during auto_export: Error: "+ str(error)) - - bpy.context.window_manager.popup_menu(error_message, title="Error", icon='ERROR') - - finally: - # FIXME: error handling ? also redundant - [main_scene_names, main_scenes, library_scene_names, library_scenes] = get_scenes(addon_prefs) - - if export_scene_settings: - # inject/ update scene components - remove_scene_components(main_scenes) - diff --git a/tools/gltf_auto_export/auto_export/did_export_settings_change.py b/tools/gltf_auto_export/auto_export/did_export_settings_change.py deleted file mode 100644 index d855b42..0000000 --- a/tools/gltf_auto_export/auto_export/did_export_settings_change.py +++ /dev/null @@ -1,39 +0,0 @@ -import json -import bpy - -""" -This should ONLY be run when actually doing exports/aka calling auto_export function, because we only care about the difference in settings between EXPORTS -""" -def did_export_settings_change(): - # compare both the auto export settings & the gltf settings - previous_auto_settings = bpy.data.texts[".gltf_auto_export_settings_previous"] if ".gltf_auto_export_settings_previous" in bpy.data.texts else None - previous_gltf_settings = bpy.data.texts[".gltf_auto_export_gltf_settings_previous"] if ".gltf_auto_export_gltf_settings_previous" in bpy.data.texts else None - - current_auto_settings = bpy.data.texts[".gltf_auto_export_settings"] if ".gltf_auto_export_settings" in bpy.data.texts else None - current_gltf_settings = bpy.data.texts[".gltf_auto_export_gltf_settings"] if ".gltf_auto_export_gltf_settings" in bpy.data.texts else None - - #check if params have changed - - # if there were no setting before, it is new, we need export - changed = False - if previous_auto_settings == None: - print("previous settings missing, exporting") - changed = True - elif previous_gltf_settings == None: - print("previous gltf settings missing, exporting") - changed = True - else: - auto_settings_changed = sorted(json.loads(previous_auto_settings.as_string()).items()) != sorted(json.loads(current_auto_settings.as_string()).items()) if current_auto_settings != None else False - gltf_settings_changed = sorted(json.loads(previous_gltf_settings.as_string()).items()) != sorted(json.loads(current_gltf_settings.as_string()).items()) if current_gltf_settings != None else False - - """print("auto settings previous", sorted(json.loads(previous_auto_settings.as_string()).items())) - print("auto settings current", sorted(json.loads(current_auto_settings.as_string()).items())) - print("auto_settings_changed", auto_settings_changed)""" - - """print("gltf settings previous", sorted(json.loads(previous_gltf_settings.as_string()).items())) - print("gltf settings current", sorted(json.loads(current_gltf_settings.as_string()).items())) - print("gltf_settings_changed", gltf_settings_changed)""" - - changed = auto_settings_changed or gltf_settings_changed - - return changed \ No newline at end of file diff --git a/tools/gltf_auto_export/auto_export/export_blueprints.py b/tools/gltf_auto_export/auto_export/export_blueprints.py deleted file mode 100644 index 7677f40..0000000 --- a/tools/gltf_auto_export/auto_export/export_blueprints.py +++ /dev/null @@ -1,44 +0,0 @@ -import os -import bpy - -from ..constants import TEMPSCENE_PREFIX -from ..helpers.generate_and_export import generate_and_export -from .export_gltf import (generate_gltf_export_preferences) -from ..helpers.helpers_scenes import clear_hollow_scene, copy_hollowed_collection_into - - -def export_blueprints(blueprints, blend_file_path, addon_prefs, blueprints_data): - export_blueprints_path = getattr(addon_prefs,"export_blueprints_path") - gltf_export_preferences = generate_gltf_export_preferences(addon_prefs) - - try: - # save current active collection - active_collection = bpy.context.view_layer.active_layer_collection - export_materials_library = getattr(addon_prefs,"export_materials_library") - - for blueprint in blueprints: - print("exporting collection", blueprint.name) - gltf_output_path = os.path.join(export_blueprints_path, blueprint.name) - export_settings = { **gltf_export_preferences, 'use_active_scene': True, 'use_active_collection': True, 'use_active_collection_with_nested':True} - - # if we are using the material library option, do not export materials, use placeholder instead - if export_materials_library: - export_settings['export_materials'] = 'PLACEHOLDER' - - collection = bpy.data.collections[blueprint.name] - generate_and_export( - addon_prefs, - temp_scene_name=TEMPSCENE_PREFIX+collection.name, - export_settings=export_settings, - gltf_output_path=gltf_output_path, - tempScene_filler= lambda temp_collection: copy_hollowed_collection_into(collection, temp_collection, blueprints_data=blueprints_data, addon_prefs=addon_prefs), - tempScene_cleaner= lambda temp_scene, params: clear_hollow_scene(original_root_collection=collection, temp_scene=temp_scene, **params) - ) - - # reset active collection to the one we save before - bpy.context.view_layer.active_layer_collection = active_collection - - except Exception as error: - print("failed to export collections to gltf: ", error) - raise error - diff --git a/tools/gltf_auto_export/auto_export/export_gltf.py b/tools/gltf_auto_export/auto_export/export_gltf.py deleted file mode 100644 index 72f47f5..0000000 --- a/tools/gltf_auto_export/auto_export/export_gltf.py +++ /dev/null @@ -1,77 +0,0 @@ -import json -import os -import bpy - -from .get_standard_exporter_settings import get_standard_exporter_settings -from .preferences import (AutoExportGltfPreferenceNames) - -def generate_gltf_export_preferences(addon_prefs): - # default values - gltf_export_preferences = dict( - # export_format= 'GLB', #'GLB', 'GLTF_SEPARATE', 'GLTF_EMBEDDED' - check_existing=False, - - use_selection=False, - use_visible=True, # Export visible and hidden objects. See Object/Batch Export to skip. - use_renderable=False, - use_active_collection= False, - use_active_collection_with_nested=False, - use_active_scene = False, - - export_cameras=True, - export_extras=True, # For custom exported properties. - export_lights=True, - - #export_texcoords=True, - #export_normals=True, - # here add draco settings - #export_draco_mesh_compression_enable = False, - - #export_tangents=False, - #export_materials - #export_colors=True, - #export_attributes=True, - #use_mesh_edges - #use_mesh_vertices - - - #export_yup=True, - #export_skins=True, - #export_morph=False, - #export_apply=False, - #export_animations=False, - #export_optimize_animation_size=False - ) - - for key in addon_prefs.__annotations__.keys(): - if str(key) not in AutoExportGltfPreferenceNames: - #print("overriding setting", key, "value", getattr(addon_prefs,key)) - gltf_export_preferences[key] = getattr(addon_prefs, key) - - - standard_gltf_exporter_settings = get_standard_exporter_settings() - - constant_keys = [ - 'use_selection', - 'use_visible', - 'use_active_collection', - 'use_active_collection_with_nested', - 'use_active_scene', - 'export_cameras', - 'export_extras', # For custom exported properties. - 'export_lights', - ] - - # a certain number of essential params should NEVER be overwritten , no matter the settings of the standard exporter - for key in standard_gltf_exporter_settings.keys(): - if str(key) not in constant_keys: - gltf_export_preferences[key] = standard_gltf_exporter_settings.get(key) - return gltf_export_preferences - - -#https://docs.blender.org/api/current/bpy.ops.export_scene.html#bpy.ops.export_scene.gltf -def export_gltf (path, export_settings): - settings = {**export_settings, "filepath": path} - # print("export settings",settings) - os.makedirs(os.path.dirname(path), exist_ok=True) - #bpy.ops.export_scene.gltf(**settings) diff --git a/tools/gltf_auto_export/auto_export/export_main_scenes.py b/tools/gltf_auto_export/auto_export/export_main_scenes.py deleted file mode 100644 index d96c201..0000000 --- a/tools/gltf_auto_export/auto_export/export_main_scenes.py +++ /dev/null @@ -1,77 +0,0 @@ -import os -import bpy -from pathlib import Path - -from ..constants import TEMPSCENE_PREFIX -from ..helpers.generate_and_export import generate_and_export -from .export_gltf import (generate_gltf_export_preferences, export_gltf) -from ..modules.bevy_dynamic import is_object_dynamic, is_object_static -from ..helpers.helpers_scenes import clear_hollow_scene, copy_hollowed_collection_into -from ..helpers.helpers_blueprints import inject_blueprints_list_into_main_scene, remove_blueprints_list_from_main_scene - -def export_main_scene(scene, blend_file_path, addon_prefs, blueprints_data): - gltf_export_preferences = generate_gltf_export_preferences(addon_prefs) - export_root_folder = getattr(addon_prefs, "export_root_folder") - export_output_folder = getattr(addon_prefs,"export_output_folder") - export_levels_path = getattr(addon_prefs,"export_levels_path") - - export_blueprints = getattr(addon_prefs,"export_blueprints") - export_separate_dynamic_and_static_objects = getattr(addon_prefs, "export_separate_dynamic_and_static_objects") - - export_settings = { **gltf_export_preferences, - 'use_active_scene': True, - 'use_active_collection':True, - 'use_active_collection_with_nested':True, - 'use_visible': False, - 'use_renderable': False, - 'export_apply':True - } - - if export_blueprints : - gltf_output_path = os.path.join(export_levels_path, scene.name) - - inject_blueprints_list_into_main_scene(scene, blueprints_data, addon_prefs) - return - if export_separate_dynamic_and_static_objects: - #print("SPLIT STATIC AND DYNAMIC") - # first export static objects - generate_and_export( - addon_prefs, - temp_scene_name=TEMPSCENE_PREFIX, - export_settings=export_settings, - gltf_output_path=gltf_output_path, - tempScene_filler= lambda temp_collection: copy_hollowed_collection_into(scene.collection, temp_collection, blueprints_data=blueprints_data, filter=is_object_static, addon_prefs=addon_prefs), - tempScene_cleaner= lambda temp_scene, params: clear_hollow_scene(original_root_collection=scene.collection, temp_scene=temp_scene, **params) - ) - - # then export all dynamic objects - gltf_output_path = os.path.join(export_levels_path, scene.name+ "_dynamic") - generate_and_export( - addon_prefs, - temp_scene_name=TEMPSCENE_PREFIX, - export_settings=export_settings, - gltf_output_path=gltf_output_path, - tempScene_filler= lambda temp_collection: copy_hollowed_collection_into(scene.collection, temp_collection, blueprints_data=blueprints_data, filter=is_object_dynamic, addon_prefs=addon_prefs), - tempScene_cleaner= lambda temp_scene, params: clear_hollow_scene(original_root_collection=scene.collection, temp_scene=temp_scene, **params) - ) - - else: - #print("NO SPLIT") - generate_and_export( - addon_prefs, - temp_scene_name=TEMPSCENE_PREFIX, - export_settings=export_settings, - gltf_output_path=gltf_output_path, - tempScene_filler= lambda temp_collection: copy_hollowed_collection_into(scene.collection, temp_collection, blueprints_data=blueprints_data, addon_prefs=addon_prefs), - tempScene_cleaner= lambda temp_scene, params: clear_hollow_scene(original_root_collection=scene.collection, temp_scene=temp_scene, **params) - ) - - else: - gltf_output_path = os.path.join(export_root_folder, export_output_folder, scene.name) - print(" exporting gltf to", gltf_output_path, ".gltf/glb") - export_gltf(gltf_output_path, export_settings) - - remove_blueprints_list_from_main_scene(scene) - - - diff --git a/tools/gltf_auto_export/auto_export/get_blueprints_to_export.py b/tools/gltf_auto_export/auto_export/get_blueprints_to_export.py deleted file mode 100644 index f635ebc..0000000 --- a/tools/gltf_auto_export/auto_export/get_blueprints_to_export.py +++ /dev/null @@ -1,60 +0,0 @@ -import bpy -import os -from ..helpers.helpers_scenes import (get_scenes, ) -from ..helpers.helpers_blueprints import find_blueprints_not_on_disk - -# TODO: this should also take the split/embed mode into account: if a nested collection changes AND embed is active, its container collection should also be exported -def get_blueprints_to_export(changes_per_scene, changed_export_parameters, blueprints_data, addon_prefs): - export_change_detection = getattr(addon_prefs, "export_change_detection") - export_gltf_extension = getattr(addon_prefs, "export_gltf_extension", ".glb") - export_blueprints_path = getattr(addon_prefs,"export_blueprints_path", "") - collection_instances_combine_mode = getattr(addon_prefs, "collection_instances_combine_mode") - - [main_scene_names, level_scenes, library_scene_names, library_scenes] = get_scenes(addon_prefs) - internal_blueprints = blueprints_data.internal_blueprints - blueprints_to_export = internal_blueprints # just for clarity - - # print("export_change_detection", export_change_detection, "changed_export_parameters", changed_export_parameters, "changes_per_scene", changes_per_scene) - - # if the export parameters have changed, bail out early - # we need to re_export everything if the export parameters have been changed - if export_change_detection and not changed_export_parameters: - changed_blueprints = [] - - # first check if all collections have already been exported before (if this is the first time the exporter is run - # in your current Blender session for example) - blueprints_not_on_disk = find_blueprints_not_on_disk(internal_blueprints, export_blueprints_path, export_gltf_extension) - - for scene in library_scenes: - if scene.name in changes_per_scene: - changed_objects = list(changes_per_scene[scene.name].keys()) - changed_blueprints = [blueprints_data.blueprints_from_objects[changed] for changed in changed_objects if changed in blueprints_data.blueprints_from_objects] - # we only care about local blueprints/collections - changed_local_blueprints = [blueprint for blueprint in changed_blueprints if blueprint.name in blueprints_data.blueprints_per_name.keys() and blueprint.local] - # FIXME: double check this: why are we combining these two ? - changed_blueprints += changed_local_blueprints - - - blueprints_to_export = list(set(changed_blueprints + blueprints_not_on_disk)) - - - # filter out blueprints that are not marked & deal with the different combine modes - # we check for blueprint & object specific overrides ... - filtered_blueprints = [] - for blueprint in blueprints_to_export: - if blueprint.marked: - filtered_blueprints.append(blueprint) - else: - blueprint_instances = blueprints_data.internal_collection_instances.get(blueprint.name, []) - # print("INSTANCES", blueprint_instances, blueprints_data.internal_collection_instances) - # marked blueprints that have changed are always exported, regardless of whether they are in use (have instances) or not - for blueprint_instance in blueprint_instances: - combine_mode = blueprint_instance['_combine'] if '_combine' in blueprint_instance else collection_instances_combine_mode - if combine_mode == "Split": # we only keep changed blueprints if mode is set to split for at least one instance (aka if ALL instances of a blueprint are merged, do not export ? ) - filtered_blueprints.append(blueprint) - - blueprints_to_export = list(set(filtered_blueprints)) - - - # changed/all blueprints to export - return (blueprints_to_export) \ No newline at end of file diff --git a/tools/gltf_auto_export/auto_export/get_levels_to_export.py b/tools/gltf_auto_export/auto_export/get_levels_to_export.py deleted file mode 100644 index 4b4370f..0000000 --- a/tools/gltf_auto_export/auto_export/get_levels_to_export.py +++ /dev/null @@ -1,51 +0,0 @@ -import bpy -from ..helpers.helpers_blueprints import check_if_blueprint_on_disk -from ..helpers.helpers_scenes import (get_scenes, ) - -# IF collection_instances_combine_mode is not 'split' check for each scene if any object in changes_per_scene has an instance in the scene -def changed_object_in_scene(scene_name, changes_per_scene, blueprints_data, collection_instances_combine_mode): - # Embed / EmbedExternal - blueprints_from_objects = blueprints_data.blueprints_from_objects - - blueprint_instances_in_scene = blueprints_data.blueprint_instances_per_main_scene.get(scene_name, None) - if blueprint_instances_in_scene is not None: - changed_objects = [object_name for change in changes_per_scene.values() for object_name in change.keys()] - changed_blueprints = [blueprints_from_objects[changed] for changed in changed_objects if changed in blueprints_from_objects] - changed_blueprints_with_instances_in_scene = [blueprint for blueprint in changed_blueprints if blueprint.name in blueprint_instances_in_scene.keys()] - - - changed_blueprint_instances= [object for blueprint in changed_blueprints_with_instances_in_scene for object in blueprint_instances_in_scene[blueprint.name]] - # print("changed_blueprint_instances", changed_blueprint_instances,) - - level_needs_export = False - for blueprint_instance in changed_blueprint_instances: - blueprint = blueprints_data.blueprint_name_from_instances[blueprint_instance] - combine_mode = blueprint_instance['_combine'] if '_combine' in blueprint_instance else collection_instances_combine_mode - #print("COMBINE MODE FOR OBJECT", combine_mode) - if combine_mode == 'Embed': - level_needs_export = True - break - elif combine_mode == 'EmbedExternal' and not blueprint.local: - level_needs_export = True - break - # changes => list of changed objects (regardless of wether they have been changed in main scene or in lib scene) - # wich of those objects are blueprint instances - # we need a list of changed objects that are blueprint instances - return level_needs_export - return False - - -# this also takes the split/embed mode into account: if a collection instance changes AND embed is active, its container level/world should also be exported -def get_levels_to_export(changes_per_scene, changed_export_parameters, blueprints_data, addon_prefs): - export_change_detection = getattr(addon_prefs, "export_change_detection") - export_gltf_extension = getattr(addon_prefs, "export_gltf_extension") - export_levels_path = getattr(addon_prefs, "export_levels_path") - collection_instances_combine_mode = getattr(addon_prefs, "collection_instances_combine_mode") - - [main_scene_names, level_scenes, library_scene_names, library_scenes] = get_scenes(addon_prefs) - - # determine list of main scenes to export - # we have more relaxed rules to determine if the main scenes have changed : any change is ok, (allows easier handling of changes, render settings etc) - main_scenes_to_export = [scene_name for scene_name in main_scene_names if not export_change_detection or changed_export_parameters or scene_name in changes_per_scene.keys() or changed_object_in_scene(scene_name, changes_per_scene, blueprints_data, collection_instances_combine_mode) or not check_if_blueprint_on_disk(scene_name, export_levels_path, export_gltf_extension) ] - - return (main_scenes_to_export) \ No newline at end of file diff --git a/tools/gltf_auto_export/auto_export/get_standard_exporter_settings.py b/tools/gltf_auto_export/auto_export/get_standard_exporter_settings.py deleted file mode 100644 index c3eaf04..0000000 --- a/tools/gltf_auto_export/auto_export/get_standard_exporter_settings.py +++ /dev/null @@ -1,14 +0,0 @@ -import bpy -import json - -def get_standard_exporter_settings(): - standard_gltf_exporter_settings = bpy.data.texts[".gltf_auto_export_gltf_settings"] if ".gltf_auto_export_gltf_settings" in bpy.data.texts else None - if standard_gltf_exporter_settings != None: - try: - standard_gltf_exporter_settings = json.loads(standard_gltf_exporter_settings.as_string()) - except: - standard_gltf_exporter_settings = {} - else: - standard_gltf_exporter_settings = {} - - return standard_gltf_exporter_settings \ No newline at end of file diff --git a/tools/gltf_auto_export/auto_export/internals.py b/tools/gltf_auto_export/auto_export/internals.py deleted file mode 100644 index 425b9c2..0000000 --- a/tools/gltf_auto_export/auto_export/internals.py +++ /dev/null @@ -1,22 +0,0 @@ -import bpy - -class SceneLink(bpy.types.PropertyGroup): - name: bpy.props.StringProperty(name="") # type: ignore - scene: bpy.props.PointerProperty(type=bpy.types.Scene) # type: ignore - -class SceneLinks(bpy.types.PropertyGroup): - name = bpy.props.StringProperty(name="List of scenes to export", default="Unknown") - items: bpy.props.CollectionProperty(type = SceneLink) # type: ignore - -class CUSTOM_PG_sceneName(bpy.types.PropertyGroup): - name: bpy.props.StringProperty() # type: ignore - display: bpy.props.BoolProperty() # type: ignore - -class CollectionToExport(bpy.types.PropertyGroup): - name: bpy.props.StringProperty(name="") # type: ignore - -class BlueprintsToExport(bpy.types.PropertyGroup): - name = bpy.props.StringProperty(name="List of collections to export", default="Unknown") - items: bpy.props.CollectionProperty(type = CollectionToExport) # type: ignore - - diff --git a/tools/gltf_auto_export/auto_export/operators.py b/tools/gltf_auto_export/auto_export/operators.py deleted file mode 100644 index ef43a29..0000000 --- a/tools/gltf_auto_export/auto_export/operators.py +++ /dev/null @@ -1,468 +0,0 @@ -import json -import bpy -from bpy.types import Operator -from bpy_extras.io_utils import ExportHelper -from bpy.props import (IntProperty, StringProperty, BoolProperty) - -from ..ui.operators import OT_OpenFolderbrowser, draw_folder_browser - -#from ..ui.main import GLTF_PT_auto_export_general, GLTF_PT_auto_export_main, GLTF_PT_auto_export_root - -from .preferences import (AutoExportGltfAddonPreferences, AutoExportGltfPreferenceNames) -from .auto_export import auto_export -from ..helpers.generate_complete_preferences_dict import generate_complete_preferences_dict_auto -from ..helpers.serialize_scene import serialize_scene - -def bubble_up_changes(object, changes_per_scene): - if object.parent: - changes_per_scene[object.parent.name] = bpy.data.objects[object.parent.name] - bubble_up_changes(object.parent, changes_per_scene) - - -class AutoExportGLTF(Operator, AutoExportGltfAddonPreferences):#, ExportHelper): - """auto export gltf""" - #bl_idname = "object.xxx" - bl_idname = "export_scenes.auto_gltf" - bl_label = "Apply settings" - bl_options = {'PRESET'} # we do not add UNDO otherwise it leads to an invisible operation that resets the state of the saved serialized scene, breaking compares for normal undo/redo operations - # ExportHelper mixin class uses this - #filename_ext = '' - #filepath: bpy.props.StringProperty(subtype="FILE_PATH", default="") # type: ignore - - #list of settings (other than purely gltf settings) whose change should trigger a re-generation of gltf files - white_list = [ - 'auto_export', - 'export_root_folder', - 'export_output_folder', - 'export_change_detection', - 'export_scene_settings', - - 'main_scene_names', - 'library_scene_names', - - 'export_blueprints', - 'export_blueprints_path', - 'export_marked_assets', - 'collection_instances_combine_mode', - - 'export_levels_path', - 'export_separate_dynamic_and_static_objects', - - 'export_materials_library', - 'export_materials_path', - ] - - @classmethod - def register(cls): - bpy.types.WindowManager.main_scene = bpy.props.PointerProperty(type=bpy.types.Scene, name="main scene", description="main_scene_picker", poll=cls.is_scene_ok) - bpy.types.WindowManager.library_scene = bpy.props.PointerProperty(type=bpy.types.Scene, name="library scene", description="library_scene_picker", poll=cls.is_scene_ok) - - bpy.types.WindowManager.main_scenes_list_index = IntProperty(name = "Index for main scenes list", default = 0) - bpy.types.WindowManager.library_scenes_list_index = IntProperty(name = "Index for library scenes list", default = 0) - - cls.main_scenes_index = 0 - cls.library_scenes_index = 0 - - @classmethod - def unregister(cls): - del bpy.types.WindowManager.main_scene - del bpy.types.WindowManager.library_scene - - del bpy.types.WindowManager.main_scenes_list_index - del bpy.types.WindowManager.library_scenes_list_index - - def is_scene_ok(self, scene): - try: - operator = bpy.context.space_data.active_operator - return scene.name not in operator.main_scenes and scene.name not in operator.library_scenes - except: - return True - - def format_settings(self): - # find all props to save - exceptional = [ - # options that don't start with 'export_' - 'collection_instances_combine_mode', - ] - all_props = self.properties - export_props = { - x: getattr(self, x) for x in dir(all_props) - if (x.startswith("export_") or x in exceptional) and all_props.get(x) is not None - } - # we inject all that we need, the above is not sufficient - for (k, v) in self.properties.items(): - if k in self.white_list or k not in AutoExportGltfPreferenceNames: - value = v - # FIXME: really weird having to do this - if k == "collection_instances_combine_mode": - value = self.collection_instances_combine_mode - if k == "export_materials": - value = self.export_materials - export_props[k] = value - # we add main & library scene names to our preferences - - export_props['main_scene_names'] = list(map(lambda scene_data: scene_data.name, getattr(self,"main_scenes"))) - export_props['library_scene_names'] = list(map(lambda scene_data: scene_data.name, getattr(self,"library_scenes"))) - return export_props - - def save_settings(self, context): - print("save settings") - auto_export_settings = self.format_settings() - self.properties['main_scene_names'] = auto_export_settings['main_scene_names'] - self.properties['library_scene_names'] = auto_export_settings['library_scene_names'] - - stored_settings = bpy.data.texts[".gltf_auto_export_settings"] if ".gltf_auto_export_settings" in bpy.data.texts else bpy.data.texts.new(".gltf_auto_export_settings") - stored_settings.clear() - - auto_export_settings = generate_complete_preferences_dict_auto(auto_export_settings) - stored_settings.write(json.dumps(auto_export_settings)) - print("saved settings", auto_export_settings) - #print("saving settings", bpy.data.texts[".gltf_auto_export_settings"].as_string(), "raw", json.dumps(export_props)) - - def load_settings(self, context): - print("loading settings") - settings = None - try: - settings = bpy.data.texts[".gltf_auto_export_settings"].as_string() - settings = json.loads(settings) - except: pass - - self.will_save_settings = False - if settings: - #print("loading settings in invoke AutoExportGLTF", settings) - try: - for (k, v) in settings.items(): - #print("loading setting", k, v) - setattr(self, k, v) - self.will_save_settings = True - - # Update filter if user saved settings - if hasattr(self, 'export_format'): - self.filter_glob = '*.glb' if self.export_format == 'GLB' else '*.gltf' - - # inject scenes data - if hasattr(self, 'main_scene_names'): - main_scenes = self.main_scenes - main_scenes.clear() - for item_name in self.main_scene_names: - item = main_scenes.add() - item.name = item_name - - if hasattr(self, 'library_scene_names'): - library_scenes = self.library_scenes - library_scenes.clear() - for item_name in self.library_scene_names: - item = library_scenes.add() - item.name = item_name - - except Exception as error: - print("error", error) - self.report({"ERROR"}, "Loading export settings failed. Removed corrupted settings") - bpy.data.texts.remove(bpy.data.texts[".gltf_auto_export_settings"]) - else: - self.will_save_settings = True - - """ - This should ONLY be run when actually doing exports/aka calling auto_export function, because we only care about the difference in settings between EXPORTS - """ - def did_export_settings_change(self): - # compare both the auto export settings & the gltf settings - previous_auto_settings = bpy.data.texts[".gltf_auto_export_settings_previous"] if ".gltf_auto_export_settings_previous" in bpy.data.texts else None - previous_gltf_settings = bpy.data.texts[".gltf_auto_export_gltf_settings_previous"] if ".gltf_auto_export_gltf_settings_previous" in bpy.data.texts else None - - current_auto_settings = bpy.data.texts[".gltf_auto_export_settings"] if ".gltf_auto_export_settings" in bpy.data.texts else None - current_gltf_settings = bpy.data.texts[".gltf_auto_export_gltf_settings"] if ".gltf_auto_export_gltf_settings" in bpy.data.texts else None - - #check if params have changed - - # if there were no setting before, it is new, we need export - changed = False - if previous_auto_settings == None: - #print("previous settings missing, exporting") - changed = True - elif previous_gltf_settings == None: - #print("previous gltf settings missing, exporting") - previous_gltf_settings = bpy.data.texts.new(".gltf_auto_export_gltf_settings_previous") - previous_gltf_settings.write(json.dumps({})) - if current_gltf_settings == None: - current_gltf_settings = bpy.data.texts.new(".gltf_auto_export_gltf_settings") - current_gltf_settings.write(json.dumps({})) - - changed = True - - else: - auto_settings_changed = sorted(json.loads(previous_auto_settings.as_string()).items()) != sorted(json.loads(current_auto_settings.as_string()).items()) if current_auto_settings != None else False - gltf_settings_changed = sorted(json.loads(previous_gltf_settings.as_string()).items()) != sorted(json.loads(current_gltf_settings.as_string()).items()) if current_gltf_settings != None else False - - """print("auto settings previous", sorted(json.loads(previous_auto_settings.as_string()).items())) - print("auto settings current", sorted(json.loads(current_auto_settings.as_string()).items())) - print("auto_settings_changed", auto_settings_changed) - - print("gltf settings previous", sorted(json.loads(previous_gltf_settings.as_string()).items())) - print("gltf settings current", sorted(json.loads(current_gltf_settings.as_string()).items())) - print("gltf_settings_changed", gltf_settings_changed)""" - - changed = auto_settings_changed or gltf_settings_changed - # now write the current settings to the "previous settings" - if current_auto_settings != None: - previous_auto_settings = bpy.data.texts[".gltf_auto_export_settings_previous"] if ".gltf_auto_export_settings_previous" in bpy.data.texts else bpy.data.texts.new(".gltf_auto_export_settings_previous") - previous_auto_settings.clear() - previous_auto_settings.write(current_auto_settings.as_string()) # TODO : check if this is always valid - - if current_gltf_settings != None: - previous_gltf_settings = bpy.data.texts[".gltf_auto_export_gltf_settings_previous"] if ".gltf_auto_export_gltf_settings_previous" in bpy.data.texts else bpy.data.texts.new(".gltf_auto_export_gltf_settings_previous") - previous_gltf_settings.clear() - previous_gltf_settings.write(current_gltf_settings.as_string()) - - return changed - - def did_objects_change(self): - # sigh... you need to save & reset the frame otherwise it saves the values AT THE CURRENT FRAME WHICH CAN DIFFER ACROSS SCENES - current_frames = [scene.frame_current for scene in bpy.data.scenes] - for scene in bpy.data.scenes: - scene.frame_set(0) - - current_scene = bpy.context.window.scene - bpy.context.window.scene = bpy.data.scenes[0] - #serialize scene at frame 0 - """with bpy.context.temp_override(scene=bpy.data.scenes[1]): - bpy.context.scene.frame_set(0)""" - current = serialize_scene() - bpy.context.window.scene = current_scene - - # reset previous frames - for (index, scene) in enumerate(bpy.data.scenes): - scene.frame_set(int(current_frames[index])) - - previous_stored = bpy.data.texts[".TESTING"] if ".TESTING" in bpy.data.texts else None # bpy.data.texts.new(".TESTING") - if previous_stored == None: - previous_stored = bpy.data.texts.new(".TESTING") - previous_stored.write(current) - return {} - previous = json.loads(previous_stored.as_string()) - current = json.loads(current) - - changes_per_scene = {} - # TODO : how do we deal with changed scene names ??? - for scene in current: - # print('scene', scene) - previous_object_names = list(previous[scene].keys()) - current_object_names =list(current[scene].keys()) - #print("previous_object_names", len(previous_object_names), previous_object_names) - #print("current_object_names", len(current_object_names), current_object_names) - - """if len(previous_object_names) > len(current_object_names): - print("removed") - if len(current_object_names) > len(previous_object_names): - print("added")""" - added = list(set(current_object_names) - set(previous_object_names)) - removed = list(set(previous_object_names) - set(current_object_names)) - """print("removed", removed) - print("added",added)""" - for obj in added: - if not scene in changes_per_scene: - changes_per_scene[scene] = {} - changes_per_scene[scene][obj] = bpy.data.objects[obj] - # TODO: how do we deal with this, as we obviously do not have data for removed objects ? - for obj in removed: - if not scene in changes_per_scene: - changes_per_scene[scene] = {} - changes_per_scene[scene][obj] = None # bpy.data.objects[obj] - - for object_name in list(current[scene].keys()): # todo : exclude directly added/removed objects - #print("ob", object_name) - if object_name in previous[scene]: - # print("object", object_name,"in previous scene, comparing") - current_obj = current[scene][object_name] - prev_obj = previous[scene][object_name] - same = str(current_obj) == str(prev_obj) - - if "Camera" in object_name: - pass#print(" current", current_obj, prev_obj) - """if "Fox" in object_name: - print(" current", current_obj) - print(" previou", prev_obj) - print(" same?", same)""" - #print("foo", same) - if not same: - """ print(" current", current_obj) - print(" previou", prev_obj)""" - if not scene in changes_per_scene: - changes_per_scene[scene] = {} - - changes_per_scene[scene][object_name] = bpy.data.objects[object_name] - bubble_up_changes(bpy.data.objects[object_name], changes_per_scene[scene]) - # now bubble up for instances & parents - previous_stored.clear() - previous_stored.write(json.dumps(current)) - - print("changes per scene alternative", changes_per_scene) - return changes_per_scene - - - def execute(self, context): - bpy.context.window_manager.auto_export_tracker.disable_change_detection() - if self.direct_mode: - self.load_settings(context) - if self.will_save_settings: - self.save_settings(context) - #print("self", self.auto_export) - if self.auto_export: # only do the actual exporting if auto export is actually enabled - #changes_per_scene = context.window_manager.auto_export_tracker.changed_objects_per_scene - - #& do the export - if self.direct_mode: #Do not auto export when applying settings in the menu, do it on save only - # determine changed objects - changes_per_scene = self.did_objects_change() - # determine changed parameters - params_changed = self.did_export_settings_change() - auto_export(changes_per_scene, params_changed, self) - # cleanup - # reset the list of changes in the tracker - bpy.context.window_manager.auto_export_tracker.clear_changes() - print("AUTO EXPORT DONE") - bpy.app.timers.register(bpy.context.window_manager.auto_export_tracker.enable_change_detection, first_interval=0.1) - else: - print("auto export disabled, skipping") - return {'FINISHED'} - - def invoke(self, context, event): - #print("invoke") - bpy.context.window_manager.auto_export_tracker.disable_change_detection() - self.load_settings(context) - wm = context.window_manager - #wm.fileselect_add(self) - return context.window_manager.invoke_props_dialog(self, title="Auto export", width=640) - return {'RUNNING_MODAL'} - - """def modal(self, context, event): - - if event.type == 'SPACE': - wm = context.window_manager - wm.invoke_popup(self) - #wm.invoke_props_dialog(self) - - if event.type in {'ESC'}: - return {'CANCELLED'} - - return {'RUNNING_MODAL'}""" - - - def draw(self, context): - layout = self.layout - operator = self - - controls_enabled = self.auto_export - - layout.prop(self, "auto_export") - layout.separator() - - toggle_icon = "TRIA_DOWN" if self.show_general_settings else "TRIA_RIGHT" - layout.prop(self, "show_general_settings", text="General", icon=toggle_icon) - if self.show_general_settings: - section = layout.box() - section.enabled = controls_enabled - - draw_folder_browser(section, "Export root folder", self.export_root_folder, "export_root_folder") - row = section.row() - draw_folder_browser(row, "Assets Folder (non blueprints mode only)", self.export_root_folder, "export_output_folder") - row.enabled = not self.export_blueprints - section.prop(operator, "export_blueprints") - section.prop(operator, "export_scene_settings") - - """header, panel = layout.panel("my_panel_id", default_closed=False) - header.label(text="Hello World") - if panel: - panel.label(text="Success")""" - - toggle_icon = "TRIA_DOWN" if self.show_change_detection_settings else "TRIA_RIGHT" - layout.prop(operator, "show_change_detection_settings", text="Change Detection", icon=toggle_icon) - if self.show_change_detection_settings: - section = layout.box() - section.enabled = controls_enabled - section.prop(operator, "export_change_detection", text="Use change detection") - - # main/level scenes - toggle_icon = "TRIA_DOWN" if self.show_scene_settings else "TRIA_RIGHT" - layout.prop(operator, "show_scene_settings", text="Scenes", icon=toggle_icon) - if self.show_scene_settings: - section = layout.box() - section.enabled = controls_enabled - rows = 2 - row = section.row() - row.label(text="main scenes") - row.prop(context.window_manager, "main_scene", text='') - - row = section.row() - row.template_list("SCENE_UL_GLTF_auto_export", "level scenes", operator, "main_scenes", operator, "main_scenes_index", rows=rows) - - col = row.column(align=True) - sub_row = col.row() - add_operator = sub_row.operator("scene_list.list_action", icon='ADD', text="") - add_operator.action = 'ADD' - add_operator.scene_type = 'level' - #add_operator.operator = operator - sub_row.enabled = context.window_manager.main_scene is not None - - sub_row = col.row() - remove_operator = sub_row.operator("scene_list.list_action", icon='REMOVE', text="") - remove_operator.action = 'REMOVE' - remove_operator.scene_type = 'level' - col.separator() - - # library scenes - row = section.row() - row.label(text="library scenes") - row.prop(context.window_manager, "library_scene", text='') - - row = section.row() - row.template_list("SCENE_UL_GLTF_auto_export", "library scenes", operator, "library_scenes", operator, "library_scenes_index", rows=rows) - - col = row.column(align=True) - sub_row = col.row() - add_operator = sub_row.operator("scene_list.list_action", icon='ADD', text="") - add_operator.action = 'ADD' - add_operator.scene_type = 'library' - sub_row.enabled = context.window_manager.library_scene is not None - - - sub_row = col.row() - remove_operator = sub_row.operator("scene_list.list_action", icon='REMOVE', text="") - remove_operator.action = 'REMOVE' - remove_operator.scene_type = 'library' - col.separator() - - toggle_icon = "TRIA_DOWN" if self.show_blueprint_settings else "TRIA_RIGHT" - layout.prop(operator, "show_blueprint_settings", text="Blueprints", icon=toggle_icon) - if self.show_blueprint_settings: - section = layout.box() - section.enabled = controls_enabled - section = section.box() - section.enabled = controls_enabled and self.export_blueprints - - # collections/blueprints - draw_folder_browser(section, "Blueprints folder", self.export_root_folder, "export_blueprints_path") - #section.prop(operator, "export_blueprints_path") - section.prop(operator, "collection_instances_combine_mode") - section.prop(operator, "export_marked_assets") - section.separator() - - draw_folder_browser(section, "Levels folder", self.export_root_folder, "export_levels_path") - #section.prop(operator, "export_levels_path") - - section.prop(operator, "export_separate_dynamic_and_static_objects") - section.separator() - - # materials - section.prop(operator, "export_materials_library") - section = section.box() - section.enabled = controls_enabled and self.export_materials_library - draw_folder_browser(section, 'Materials folder', self.export_root_folder, "export_materials_path") - #section.prop(operator, "export_materials_path") - - - def cancel(self, context): - print("cancel") - #bpy.context.window_manager.auto_export_tracker.enable_change_detection() - bpy.app.timers.register(bpy.context.window_manager.auto_export_tracker.enable_change_detection, first_interval=1) - diff --git a/tools/gltf_auto_export/auto_export/preferences.py b/tools/gltf_auto_export/auto_export/preferences.py deleted file mode 100644 index 9dff264..0000000 --- a/tools/gltf_auto_export/auto_export/preferences.py +++ /dev/null @@ -1,208 +0,0 @@ - -import os -from bpy.types import AddonPreferences -from bpy.props import (BoolProperty, - IntProperty, - StringProperty, - EnumProperty, - CollectionProperty - ) - -from .internals import (CUSTOM_PG_sceneName) - -AutoExportGltfPreferenceNames = [ - 'will_save_settings', - 'direct_mode',# specific to main auto_export operator - - 'show_general_settings', - 'auto_export', - 'export_root_folder', - 'export_output_folder', - 'export_scene_settings', - - 'show_change_detection_settings', - 'export_change_detection', - - 'show_scene_settings', - 'main_scenes', - 'library_scenes', - 'main_scenes_index', - 'library_scenes_index', - 'main_scene_names', - 'library_scene_names', - - 'show_blueprint_settings', - 'export_blueprints', - 'export_blueprints_path', - 'export_marked_assets', - 'collection_instances_combine_mode', - - 'export_levels_path', - 'export_separate_dynamic_and_static_objects', - - 'export_materials_library', - 'export_materials_path', -] - -def on_export_output_folder_updated(self, context): - #self.export_root_folder = os.path.relpath(self.export_root_folder) - #self.export_output_folder = os.path.join(self.export_root_folder, self.export_output_folder) - print("on_foo_updated", self.export_root_folder, self.export_output_folder) - -class AutoExportGltfAddonPreferences(AddonPreferences): - # this must match the add-on name, use '__package__' - # when defining this in a submodule of a python package. - bl_idname = __package__ - bl_options = {'PRESET'} - - #### these are for the operator - will_save_settings: BoolProperty( - name='Remember Export Settings', - description='Store glTF export settings in the Blender project', - default=True - ) # type: ignore - - # use when operator is called directly, works a bit differently than inside the ui - direct_mode: BoolProperty( - default=False - ) # type: ignore - - - auto_export: BoolProperty( - name='Auto export', - description='Automatically export to gltf on save', - default=False - ) # type: ignore - - #### general - # for UI only, workaround for lacking panels - show_general_settings: BoolProperty( - name="show_general settings", - description="show/hide general settings (UI only: has no impact on exports)", - default=True - ) # type: ignore - - export_root_folder: StringProperty( - name = "Project Root Path", - description="The root folder of your (Bevy) project (not assets!)", - # subtype='DIR_PATH', - default='../' - #update=on_export_output_folder_updated) # type: ignore - ) - - export_output_folder: StringProperty( - name='Export folder', - description='The root folder for all exports(relative to the root folder/path) Defaults to "assets" ', - default='./assets', - #subtype='DIR_PATH', - options={'HIDDEN'} - # update=on_export_output_folder_updated - ) # type: ignore - - # for UI only, workaround for lacking panels - show_change_detection_settings: BoolProperty( - name="show change detection settings", - description="show/hide change detection settings (UI only: has no impact on exports)", - default=True - ) # type: ignore - - export_change_detection: BoolProperty( - name='Change detection', - description='Use change detection to determine what/if should be exported', - default=True - ) # type: ignore - - # scenes - # for UI only, workaround for lacking panels - show_scene_settings: BoolProperty( - name="show scene settings", - description="show/hide scene settings (UI only: has no impact on exports)", - default=True - ) # type: ignore - - # scene components - export_scene_settings: BoolProperty( - name='Export scene settings', - description='Export scene settings ie AmbientLighting, Bloom, AO etc', - default=False - ) # type: ignore - - # blueprint settings - # for UI only, workaround for lacking panels - show_blueprint_settings: BoolProperty( - name="show blueprint settings", - description="show/hide blueprint settings (UI only: has no impact on exports)", - default=True - ) # type: ignore - - export_blueprints: BoolProperty( - name='Export Blueprints', - description='Replaces collection instances with an Empty with a BlueprintName custom property, and enabled a lot more features !', - default=True - ) # type: ignore - - export_blueprints_path: StringProperty( - name='Blueprints path', - description='path to export the blueprints to (relative to the assets folder)', - default='blueprints', - #subtype='DIR_PATH' - ) # type: ignore - - export_levels_path: StringProperty( - name='Levels path', - description='path to export the levels (main scenes) to (relative to the assets folder)', - default='levels', - #subtype='DIR_PATH' - ) # type: ignore - - export_separate_dynamic_and_static_objects: BoolProperty( - name="Export levels' dynamic and static objects seperatly", - description="""For MAIN scenes only (aka levels), toggle this to generate 2 files per level: - - one with all dynamic data: collection or instances marked as dynamic/ saveable - - one with all static data: anything else that is NOT marked as dynamic""", - default=False - ) # type: ignore - - export_materials_library: BoolProperty( - name='Export materials library', - description='remove materials from blueprints and use the material library instead', - default=False - ) # type: ignore - - export_materials_path: StringProperty( - name='Materials path', - description='path to export the materials libraries to (relative to the export folder)', - default='materials', - #subtype='DIR_PATH' - ) # type: ignore - - """ combine mode can be - - 'Split' (default): replace with an empty, creating links to sub blueprints - - 'Embed' : treat it as an embeded object and do not replace it with an empty - - 'EmbedExternal': embed any instance of a non local collection (ie external assets) - - - 'Inject': inject components from sub collection instances into the curent object => this is now a seperate custom property that you can apply to a collecion instance - """ - - collection_instances_combine_mode : EnumProperty( - name='Collection instances', - items=( - ('Split', 'Split', 'replace collection instances with an empty + blueprint, creating links to sub blueprints (Default, Recomended)'), - ('Embed', 'Embed', 'treat collection instances as embeded objects and do not replace them with an empty'), - ('EmbedExternal', 'EmbedExternal', 'treat instances of external (not specifified in the current blend file) collections (aka assets etc) as embeded objects and do not replace them with empties'), - #('Inject', 'Inject', 'inject components from sub collection instances into the curent object') - ), - default='Split' - ) # type: ignore - - export_marked_assets: BoolProperty( - name='Auto export marked assets', - description='Collections that have been marked as assets will be systematically exported, even if not in use in another scene', - default=True - ) # type: ignore - - main_scenes: CollectionProperty(name="main scenes", type=CUSTOM_PG_sceneName) # type: ignore - main_scenes_index: IntProperty(name = "Index for main scenes list", default = 0) # type: ignore - - library_scenes: CollectionProperty(name="library scenes", type=CUSTOM_PG_sceneName) # type: ignore - library_scenes_index: IntProperty(name = "Index for library scenes list", default = 0) # type: ignore diff --git a/tools/gltf_auto_export/auto_export/tracker.py b/tools/gltf_auto_export/auto_export/tracker.py deleted file mode 100644 index 16e58c3..0000000 --- a/tools/gltf_auto_export/auto_export/tracker.py +++ /dev/null @@ -1,195 +0,0 @@ -import json -import bpy - -from bpy.types import (PropertyGroup) -from bpy.props import (PointerProperty, IntProperty, StringProperty) - -from .get_blueprints_to_export import get_blueprints_to_export - -from ..constants import TEMPSCENE_PREFIX -from .internals import BlueprintsToExport -from ..helpers.helpers_scenes import (get_scenes) -from .preferences import AutoExportGltfAddonPreferences - -class AutoExportTracker(PropertyGroup): - - changed_objects_per_scene = {} - change_detection_enabled = True - export_params_changed = False - - gltf_settings_backup = None - last_operator = None - dummy_file_path = "" - - exports_total : IntProperty( - name='exports_total', - description='Number of total exports', - default=0 - ) # type: ignore - - exports_count : IntProperty( - name='exports_count', - description='Number of exports in progress', - default=0 - ) # type: ignore - - @classmethod - def register(cls): - bpy.types.WindowManager.auto_export_tracker = PointerProperty(type=AutoExportTracker) - # register list of exportable collections - bpy.types.WindowManager.exportedCollections = bpy.props.CollectionProperty(type=BlueprintsToExport) - - # setup handlers for updates & saving - #bpy.app.handlers.save_post.append(cls.save_handler) - #bpy.app.handlers.depsgraph_update_post.append(cls.deps_update_handler) - - @classmethod - def unregister(cls): - # remove handlers & co - """try: - bpy.app.handlers.depsgraph_update_post.remove(cls.deps_update_handler) - except:pass - try: - bpy.app.handlers.save_post.remove(cls.save_handler) - except:pass""" - del bpy.types.WindowManager.auto_export_tracker - del bpy.types.WindowManager.exportedCollections - - @classmethod - def save_handler(cls, scene, depsgraph): - print("-------------") - print("saved", bpy.data.filepath) - # auto_export(changes_per_scene, export_parameters_changed) - bpy.ops.export_scenes.auto_gltf(direct_mode= True) - - # (re)set a few things after exporting - # reset wether the gltf export paramters were changed since the last save - cls.export_params_changed = False - # reset whether there have been changed objects since the last save - cls.changed_objects_per_scene.clear() - # all our logic is done, mark this as done - - @classmethod - def deps_post_update_handler(cls, scene, depsgraph): - # print("change detection enabled", cls.change_detection_enabled) - - """ops = bpy.context.window_manager.operators - print("last operators", ops) - for op in ops: - print("operator", op)""" - active_operator = bpy.context.active_operator - if active_operator: - #print("Operator", active_operator.bl_label, active_operator.bl_idname) - if active_operator.bl_idname == "EXPORT_SCENE_OT_gltf" and active_operator.gltf_export_id == "gltf_auto_export": - # we backup any existing gltf export settings, if there were any - scene = bpy.context.scene - if "glTF2ExportSettings" in scene: - existing_setting = scene["glTF2ExportSettings"] - bpy.context.window_manager.gltf_settings_backup = json.dumps(dict(existing_setting)) - - # we force saving params - active_operator.will_save_settings = True - # we set the last operator here so we can clear the specific settings (yeah for overly complex logic) - cls.last_operator = active_operator - #print("active_operator", active_operator.has_active_exporter_extensions, active_operator.__annotations__.keys(), active_operator.filepath, active_operator.gltf_export_id) - return - - if active_operator.bl_idname == "EXPORT_SCENES_OT_auto_gltf": - # we force saving params - active_operator.will_save_settings = True - active_operator.auto_export = True - # if we are using the operator, bail out for the rest - print("setting stuff for auto_export") - return - - # only deal with changes if we are NOT in the mids of saving/exporting - if cls.change_detection_enabled: - # ignore anything going on with temporary scenes - if not scene.name.startswith(TEMPSCENE_PREFIX): - #print("depsgraph_update_post", scene.name) - changed_scene = scene.name or "" - #print("-------------") - if not changed_scene in cls.changed_objects_per_scene: - cls.changed_objects_per_scene[changed_scene] = {} - # print("cls.changed_objects_per_scene", cls.changed_objects_per_scene) - # depsgraph = bpy.context.evaluated_depsgraph_get() - for obj in depsgraph.updates: - #print("depsgraph update", obj) - if isinstance(obj.id, bpy.types.Object): - # get the actual object - object = bpy.data.objects[obj.id.name] - #print(" changed object", obj.id.name, "changes", obj, "evalutated", obj.id.is_evaluated, "transforms", obj.is_updated_transform, "geometry", obj.is_updated_geometry) - if obj.is_updated_transform or obj.is_updated_geometry: - cls.changed_objects_per_scene[scene.name][obj.id.name] = object - - elif isinstance(obj.id, bpy.types.Material): # or isinstance(obj.id, bpy.types.ShaderNodeTree): - # print(" changed material", obj.id, "scene", scene.name,) - material = bpy.data.materials[obj.id.name] - #now find which objects are using the material - for obj in bpy.data.objects: - for slot in obj.material_slots: - if slot.material == material: - cls.changed_objects_per_scene[scene.name][obj.name] = obj - #print("changed_objects_per_scene", cls.changed_objects_per_scene) - """for obj_name_original in cls.changed_objects_per_scene[scene_name]: - if obj_name_original != ls.changed_objects_per_scene[scene_name][obj_name_original]""" - items = 0 - for scene_name in cls.changed_objects_per_scene: - items += len(cls.changed_objects_per_scene[scene_name].keys()) - if items == 0: - cls.changed_objects_per_scene.clear() - #print("changed_objects_per_scene", cls.changed_objects_per_scene) - - # filter out invalid objects - """for scene_name in cls.changed_objects_per_scene.keys(): - bla = {} - for object_name in cls.changed_objects_per_scene[scene.name]: - object = cls.changed_objects_per_scene[scene.name][object_name]""" - #print("sdfsd", object, object.valid) - #if not cls.changed_objects_per_scene[scene.name][object_name].invalid: - # bla[object_name] = cls.changed_objects_per_scene[scene.name][object_name] - #cls.changed_objects_per_scene[scene.name]= bla - #cls.changed_objects_per_scene[scene_name] = [o for o in cls.changed_objects_per_scene[scene_name] if not o.invalid] - - # get a list of exportable collections for display - # keep it simple, just use Simplenamespace for compatibility with the rest of our code - # TODO: debounce - - def disable_change_detection(self): - #print("disable change detection") - self.change_detection_enabled = False - self.__class__.change_detection_enabled = False - return None - - def enable_change_detection(self): - #print("enable change detection") - self.change_detection_enabled = True - self.__class__.change_detection_enabled = True - #print("bpy.context.window_manager.auto_export_tracker.change_detection_enabled", bpy.context.window_manager.auto_export_tracker.change_detection_enabled) - return None - - def clear_changes(self): - self.changed_objects_per_scene.clear() - self.__class__.changed_objects_per_scene.clear() - - def export_finished(self): - #print("export_finished") - self.exports_count -= 1 - if self.exports_count == 0: - print("preparing to reset change detection") - bpy.app.timers.register(self.enable_change_detection, first_interval=0.1) - #self.enable_change_detection() - return None - - -def get_auto_exporter_settings(): - auto_exporter_settings = bpy.data.texts[".gltf_auto_export_settings"] if ".gltf_auto_export_settings" in bpy.data.texts else None - if auto_exporter_settings != None: - try: - auto_exporter_settings = json.loads(auto_exporter_settings.as_string()) - except: - auto_exporter_settings = {} - else: - auto_exporter_settings = {} - - return auto_exporter_settings \ No newline at end of file diff --git a/tools/gltf_auto_export/constants.py b/tools/gltf_auto_export/constants.py deleted file mode 100644 index 3caf6c0..0000000 --- a/tools/gltf_auto_export/constants.py +++ /dev/null @@ -1 +0,0 @@ -TEMPSCENE_PREFIX = "__temp_scene" \ No newline at end of file diff --git a/tools/gltf_auto_export/docs/blender_addon_add_scene.png b/tools/gltf_auto_export/docs/blender_addon_add_scene.png deleted file mode 100644 index f18a4dd2cc8f6e41750c58ad0707b4ec6ec04505..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10008 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 UOxuoLpM3-5q?M)0B}_v94_50cB>(^b diff --git a/tools/gltf_auto_export/docs/blender_addon_add_scene3.png b/tools/gltf_auto_export/docs/blender_addon_add_scene3.png deleted file mode 100644 index 1574e9d16d4f7b0404063a86646b353e2b2918ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10703 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 diff --git a/tools/gltf_auto_export/docs/blender_addon_install.png b/tools/gltf_auto_export/docs/blender_addon_install.png deleted file mode 100644 index a6c974c6ba301c999254087c728082db83b142b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13755 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 diff --git a/tools/gltf_auto_export/docs/blender_addon_install2.png b/tools/gltf_auto_export/docs/blender_addon_install2.png deleted file mode 100644 index d5302189873be49eddb4ea7794377fba60c93264..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15899 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 diff --git a/tools/gltf_auto_export/docs/blender_addon_install_zip.png b/tools/gltf_auto_export/docs/blender_addon_install_zip.png deleted file mode 100644 index 0d7e17111cdf59b62a478f20b4fb2cd0d9eba0a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9045 zcmchdbzIX?xc^5;h=f76h;)xG0RaJF(j7`OU`W?sDu{>!6zK+Gba$hKbd2sE-7so! z=kIs_zpvMQ-Fx@P>ieAYI`N$6d7sZY;cv85N$=C$2LJ%1YOh}E0020t*zZ9^1ladG z-+n3V2fl}*njR7M6-Z?B1^b)UQ`yK<7h>n>^VZ!KVDAcXvE}oycDJ>4^>BcA9^kdg zVU4)|87aBjzV&p3xU%Ruy4V8rylh#7gjrtNTC)fX3X8A^0i^`Rq=Y3|l$7<3>3hck z02YASO9egOl)ZUBvnOYFZAX*t{9oo+GM;{gt-!yUtU$p|iMBZ^arv!49v%%5UF2&_ z5Z^$R%n5f?Q;VN%T4H`8$3i~Q*S}A{WbmSHZ)s?zjL68TqR=NtQ-qC`>6iWXc42-) zs03PgWdJ)~PFr6$0$4$*_(fI6`SojK>gCJ~uHp=~5DLYcWMyOO7euTbF-jjJDHMq+ zzyJIDxAU`2BGwQ=dSWR>BG!JD|NBSf+&j2m8tolz!y_Vi$ktQKYHRdi#2H*P`dmL};C

=k7ZO9iALn81@QBj1ofrXr$udjcm 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 Bnu`Dc diff --git a/tools/gltf_auto_export/docs/blender_addon_materials.png b/tools/gltf_auto_export/docs/blender_addon_materials.png deleted file mode 100644 index 1a931240844a98dd9f77510a443797501cc1dfae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5390 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 diff --git a/tools/gltf_auto_export/docs/combine_override.png b/tools/gltf_auto_export/docs/combine_override.png deleted file mode 100644 index ee6929fe7aae12a0705c019913b824f99a138df6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2745 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 diff --git a/tools/gltf_auto_export/docs/exported_collections.png b/tools/gltf_auto_export/docs/exported_collections.png deleted file mode 100644 index 2ae3c45900a09c32cdc570763f0a9e661d19d8ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9234 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 diff --git a/tools/gltf_auto_export/docs/exported_library_files.png b/tools/gltf_auto_export/docs/exported_library_files.png deleted file mode 100644 index c3c31a6eab4c0203c005336632d94836f9acdd6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4660 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

    Oy6mbI_&`<11Alz%QXPHjN{z!@ zQaFW7V7PtX5$=qt^f4`NrI1Igwv>6M=uTJuOr*YbR$=g~(t~`cX8dZ)cx8Y+YTB z>`ucEwyd^FnMrx{DiUxbX9?nsO?wajaq~VNQ-ZBlkQEb2`|HY({I@id=CaEFGNS&)&gC- zKx4wt^9D!dW2fHCgR%Rllwj2psCz97gkz7ei2l7chVYo*w%F)XU?@F(ckrgVS|srB zEnojusFg#`e(!R}LDcs^zkHZbgMa+^NKG9Ll75+OdPV3|Y&{=4`?HJHn>nTe<>lpt zOSP=Z;j2@lJp}4vY0a`pX`(Ziyb5>Kt)C-?<=z2)1!WW-Zp$fU|s_r-U~<1h%7e0*Q6#*XU-t2e|V z#mrY;UHL}J9h7d%yexNL*6S+raJE?B*w7 zsh$`f*N)a2?YqGDa#b2{lH<1Pl#t^;%e)p89gGN?Ln5eR2d;1|UMsOf3Bu9F7(g83sQRcYXNHUAk1u0m6ow7V2 z$KAlB@f9{1!54oHTyc||`ek7961|(wFjJ} zCT~d{6+jWR`{wA|O{*-WrdyW%12Dz9)+orEenA;(uWB|H1)BjJ`Ac@@NkWk+84rW04Z_hgNpgK3## zVmrD<=H&N760dx>C-oa3b<)jiBL3J?&#Lw@nXP+h_dB`*kdO{9YZ@v`Vs#M_>bhM? z572_sMuK#m2I+?_Oj7T~YBTgw=~=rpCe!D4YCBD(h1b+rsN3vb+i@?YzdJ=FjJ diff --git a/tools/gltf_auto_export/docs/force_export.jpg b/tools/gltf_auto_export/docs/force_export.jpg deleted file mode 100644 index 4d034ec2f63636369374d3b78b467e579ca1c31d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44943 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

    ^_-BC~;9}xi{GN4hbIZC_=hreJiI4&N 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 n(Rbo20Q9f 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⪼Z31n{~6-*}PG7f^)Ll$w^) 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

    w~h=(n(YNL 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 diff --git a/tools/gltf_auto_export/docs/nested_blueprints.png b/tools/gltf_auto_export/docs/nested_blueprints.png deleted file mode 100644 index 47d0aae1282015c9278bcc589ab96dca5faa5f5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86937 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 diff --git a/tools/gltf_auto_export/docs/nested_blueprints2.png b/tools/gltf_auto_export/docs/nested_blueprints2.png deleted file mode 100644 index 224f0aa802b6d4c84f086f62e7ac9cd2994cc61d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29244 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 <5EbT>n`ZNjW5*PsxkL7WVFgjkojA*~atXAh} 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 diff --git a/tools/gltf_auto_export/docs/options.svg b/tools/gltf_auto_export/docs/options.svg deleted file mode 100644 index bb1f7d3..0000000 --- a/tools/gltf_auto_export/docs/options.svg +++ /dev/null @@ -1,1159 +0,0 @@ - - - - - - - - - - - - - - - - - Original - - - - - * Auto exports to gltf file on every save* Everything is embeded in the gltf file - - Main Scene (world/level) - - - Blueprints Mode - - - - Object C0 (instance) - - - - - - Object C1 (instance) - - - Library Scene - - Object B: collection/ blueprint - - - Object C: collection/ blueprint - - - - Transform Step - - - - - - Object A(unique) - - Temporary Scene (world/level) - - - Object B1 (Empty)+ blueprintName("ObjectB")+ spawnHere - - - - Object C0 (Empty)+ blueprintName("ObjectC")+ spawnHere - - - - - - Object C1 (Empty)+ blueprintName("ObjectC")+ spawnHere - - - - Determine used Collections to export - - Object B - - Object C - - - Result - - - - - Entity A(unique) - - - world/level.gltf - - - Entity B1+ blueprintName("ObjectB")+ spawnHere - - - - Entity C0+ blueprintName("ObjectC")+ spawnHere - - - - - - Entity C1+ blueprintName("ObjectC")+ spawnHere - - - - Library of gltf files (one per Collection/Blueprint) - - Object B.gltf + blueprintName("ObjectB") - - Object C:.gltf + blueprintName("ObjectC") - - - Object D: unused collection/ blueprint - - - - - - - - Single blend file - - - NO - - YES - - - Export nested blueprints - - - NO - - YES - - - Export materials library - - - NO - - YES - - NO - - YES - - - Combine mode - - - EMBED - - SPLIT - - INJECT - - diff --git a/tools/gltf_auto_export/docs/process.svg b/tools/gltf_auto_export/docs/process.svg deleted file mode 100644 index 0bcdeec..0000000 --- a/tools/gltf_auto_export/docs/process.svg +++ /dev/null @@ -1,881 +0,0 @@ - - - - - - - - - - - - - - - - - Original - - - - - - Object A(unique) - - Main Scene (world/level) - - - Object B1 (instance) - - - - Object C0 (instance) - - - - - - Object C1 (instance) - - - - Library Scene - - Object B: collection/ blueprint - - - Object C: collection/ blueprint - - - - Transform Step - - - - - - Object A(unique) - - Temporary Scene (world/level) - - - Object B1 (Empty)+ blueprintName("ObjectB")+ spawnHere - - - - Object C0 (Empty)+ blueprintName("ObjectC")+ spawnHere - - - - - - Object C1 (Empty)+ blueprintName("ObjectC")+ spawnHere - - - - Determine used Collections to export - - Object B - - Object C - - - Result - - - - - Entity A(unique) - - - world/level.gltf - - - Entity B1+ blueprintName("ObjectB")+ spawnHere - - - - Entity C0+ blueprintName("ObjectC")+ spawnHere - - - - - - Entity C1+ blueprintName("ObjectC")+ spawnHere - - - - Library of gltf files (one per Collection/Blueprint) - - Object B.gltf + blueprintName("ObjectB") - - Object C:.gltf + blueprintName("ObjectC") - - - Object D: unused collection/ blueprint - - - - - - - diff --git a/tools/gltf_auto_export/docs/purge_orphan1_data1.png b/tools/gltf_auto_export/docs/purge_orphan1_data1.png deleted file mode 100644 index 4c40f3ae77a722ca2168895929e3fe5fc5ce3d7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8359 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 diff --git a/tools/gltf_auto_export/docs/purge_orphan1_data3.png b/tools/gltf_auto_export/docs/purge_orphan1_data3.png deleted file mode 100644 index 2500dff0d399b9754dc2e1d85cade4aa10dd75bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5674 zcmV+_7S-vAP)FDWT078Vv%R8&TAuRURyMQ^S`YNsV7 zCFSMiyns(bYpFkGpg?A! zbB?$-Sc*AXjyPJ4HCBhy+vY!Io;h5Q6B83hak4&Rn?!A_J71MHSBc~3?>b$QJz|>j zj4K%#8L+UhR#sNc*5l#k?%(9=v$M0Qsj2Jk^TNWyL_|dG@b%i@>fPe%pRvr1jg44X zSi68vNl8gKI5@w`*)>&#=Iilad!v|`nC9v4ov+G`pSx*=uiWG8Kxd*~UtcsdG#(xv z=!bdbBP zt*v8$ty6ZakdTm7RaNu#__@Q=&d$!9ti+a-Q@1X&)$fLh-_?ZWMpJcPEN?t-nPNf zVST2eqN3N{=%KaKsJG0Bpv01-zPPx!Y>K#Tg{ekllZuLpXJ==+$K2M|*1E;kXMm+X zWSx0=c_JbrwZqx5z}K_A%$TUaVuZI&ZJRPOGS}Va&)DREo5YZzy0x{nTz;}qcCK=X ztVC|CS9YaAVUKTbZ#p_U!p+=LZ<|PGm0Vn0Gcz;z`TOwm_uSmvkf_X+sK%72#(bB+ zyu7?tdaFxC3;Na5I(wVEqk)^|yrMq#9v}%a7P;jDZf1g=%oP~vjv3g8Q zKQl2gF|N4C#>U2Xj2Qy| zn1qI~c}#~^N^wa*NHjKLN;B$-EZ&1FDkLRBUy6oubYeO_`_aA<000u@Nkll&H7=U5U)`5+$OT1Y82CsD)sLEm#7B<_GCBy*TKtgz{x*#M-<_ty*Wn;-k29UCJ zN!BV+luY>xiPWv_(mOkDz@&kyaRBo@gH5a(IDM}yO92u*&o{qk_^{yev$`$D;s4+J z&!4Y&u<{DQl;bMAPGMb;_s3;fGVoPK6*`Ty5<-5L)z-tx#Y_p^=Ndn*z=052I? z=I&>Z*w4ERL+Y#)dW zgh6Cr`#@wMatRDT#1aUAh{ZB8LJ-&>5E+PA>?5;HVOvOHoEDc*!uD09yclItP7 zStRgbBT0+NCgL5L8H`8rkJK9HV_Bj3WPQPW!bV(Z6Mt+{WJ@;@_s9g!m$~h*lhJG% z()#8zzA>%2`BW6<^h+a{Plyz3!Z%PJ45ST;Z0RO;C91^O zO4d7`T{l*UOyU&DJJT1N6xrh@c0024xvU(nJF-#FOkVcPU_OmTBbbkTcD+JmC5g60 z-~G{%v@wy*Z(_G2t0}Uaql1~;HYZQc=isW@tXj!x$4)+?f2At)!Xo?Qhktz+{ z-OX;ShxxoaI%@dy87RtWHkgl*XUDt|j!fd-)3(g7Meg|c$;j+aZTenMn*FQrTV|Vx zzzUm)G%`)Z0AS3SkwvCq8v%fjjm@Yc8zvC|jLk(A8Abs3a72-*5E%&I1VjeHATqFR zUL`WkgTRh@jmU7psn?wXhRk-`ZDa*QL){k7w_FVw1r0qS zwXvw~>nR$Ub$y^3HTAL%pUaOUtfFWmt4Bn6sY-PO zVkq*+>K3BRcB!Btt3DGMIjpG!k^P$3?p29O2;sjK;7%4teq`jug(7oGhK3d*BZx(2 zm7H##U2xv05Lp~yb_-#VMRg~0OhmO?Ha(ioY-DAZUF#cGTP(UM_Kar3cO_$q-N{Ho zlu|EjZ}!0-A&nj8AN&cq8FSj9E?I3=%{oa$_HAe^mhfIGl}Mzhh$0*6m$a-_i5|-C z5X~UTzOFk(RjjK-t@R0~XAp=Z7Fp^cvUE}StCMtUwMF5`P^U{PYqd13-0h$_L}ds) zA>y6kku07t_b0OSb6-+U3+WXXg(E{9{lK&=({MW|gfQ&ny@X${h$}ow2ay$7J`(d} zKqrrj{AI!7@S<>JNX&ZwARi*In{ekOh)m$9fh@~|Co2h`Un}{Rg6hxa1cEx6b|zzvL^NxtN%=-SRz4a>ol<9`4=?Ax$Ma;QvY%&;1Gn z9|i$QMl2*5M@l4nFf+eq0wNbzBpK0IvJU6jArp_8;TY!Z^PFT~CO8HuEK%NF!QKRFF&}i@z$F9PcH!tXeW!$6Al2Nap&i0^hA0 zl9Fje>&Yb3U6c&a{R(}+#X2F9j3`R>BtO6IZ0M!9kf{->FWJ`TvF9C~Y^w9yFE@R4 zt~a^#yyu=)18ch5SMR!$Y4`Vo->%^@IJ-+Ph#X7Szdr`n{SW(A7ZS%6g`u67zRXWy zW*PQ>*PY#+VP|LEebH^V?5sC4;s?i5-LBDXzs}rv*?fvs`O_jo3k&K@0#{=I`p#@ z3j-M8E2fDMu|^;VwTew9HcSQfZjy~9-)=0A(2%O1u~_+wG*KmWy?7Y@kmMDO5=_SC zJBMV~#`X52z4T{YW&IV);@xy*b8N1yL2c_F9!q@c#&c*7^Po;Mnapqpl5E)T!0`#o ziAr0unf|EU=Ks|FS=x5e>Vj{TMD$5p`SAVuro(sL5VZt=cr`xLZ@b)E=41$pMwiNp zvuJ+AcG`{0!P9eooatS0o%uBaokxn28_mnM0XM8AfHSvFmT9$qsAOZ?T)%29vvL zA$zzld?S7!)D_d(lUn;P2kax`Q!vMOh->Ur?C53y?m&_a`>i>MyB?PRbiDcg5o_O2 z_wZD#FEj$jrGLXwcxC>AXStC%b(2Kj(3rUCjCU=*UFOt|Acoco^O5*yXnZo~94)`c z3_!USlos(f%E6#Kc`QN!@8Mfgv{jny;V{z%PJ2>z@uug_30_|UBp&qLizB0MbR`r# z;mo%u)q+w?iG(Re*i$|lORAm1U;&#<+XuAgk}4@Kl6H|o?z)N$vH9g5g%1Q7Y0Ieq zt$s$;O>su$GdXBJL=S?LMMcfJf$Ik0+)ZoVd$vqFWa!O8%7_@f>n~xlw_f>p=dVrH zl)h?POl6&nyY}{U(xX*Xdzsk}J!MXBS<=HyF4W>Vh}Rz89IA`2Qm8p38}F|{ys%VL z{ml|{uqhdheqZ}Z0l^={krJ%0orz6G#vVm_aWs%lr*~U^NioW)ot#rTSS>LZI<{ylC!M1Fx<7snpCNL?AuUG7sQYhMmBjLoVdVhmk>p~>Ds zj(9yL>pW!lc*9#s#(nViw9_S5%`of@D>j+a6}Pg(ADS=Rg^O$pI3vm*qK*@=THIX;Kp7IG;l2(hsb}(5HP=+P4kK5Hn`00m9hM26w z`UL*lkRxcr8Cf`wLHQwQK8}2I6lG4VF{G{rdFe3S8@rW58G5ro84+XX`kQL9Az2W` zmiXD#F=QJ?&RR$5`GUz9_RGh!FvsG#{t5SH{DPa}3)!$gavb83os;2n)&un)9*}FV z&&E3F6WC<+I0{v5c+b}?!kZ6A*JVx+Of5~_^k)3`Y&2AF?Vx|?NkQ^=*K*FUM~;~{ zp&YU^CHZ%sF&SfCZWNKpFjMOQq|N4#4)j&&OMpbfvC_FoPsRI!lt3tyJmx%}b*6~Y zQK0;c^EdVu2=|!`OPcJ!U{5Y8<)Wc|KrmT7*~jgg*};X@Cn}i1%RdGvvuR^vC2;xb zb~XwoGn|oz^B9zOXHoNU)XX81`5PHh*9Cb^yY%Jq6gsG2Y}RC<-^Q*Z)*taF@J5-; z1sAUM!-kp1(+P$X7He#G(CaecElV)$l?4x;L(<$@Om||E``1q$ZMf3NPSJQRMI>nnX z1w%L$^olcKr3_G>73-|Ec^yVQ<>QGY27|*b(Jm1CEbv+`;U&ct+^&%&Qt0G3^Tnkp z2jy75FcOcCO-uKqBU>m{KVvhzE)B~2vI&OAQ3p>^>!`Gh>qf8{H~K5r>}8N)Y!*Yr z7`h(*;?fQD0q!@)WOPtr&?Ue!DR|c?D!p1al8qa5fO0BLQIYyFWJyFLBa9g-Vi|=Kr3ecc1*f@0q$4A#h9xy`Mc@D(@r68I z8GY3(5k@%W3BOiY07`~eeUeFsQG0v@=G8cyE1D&rjKvy(_Bka&Y6-Yq9tIcU8)j9r z#;~XeIy~x{%uA^VO4ZM(@NgboxpxjVA4eLGs8wIsg6s0wWQWkvR7fXeoKcy@&~?qM zX%_e}?3-hJqy4l zGZt$E3g&_qzMu*>f$pk;am5ji- zX+wrlhN0_-)xyGu`%* zQt4OM1bE{8y$XSU++<&u*r5zO5Q^rnYXteyxoMgYK6ldrH+yNY()l^P&?_lt{(BV; zJ!`Ukzqj-D2k*W2-nT{O`S|^pHW|3gLH$4e!{ZP3?w&VoCj*=bvSTaR^NzCM<5k*G+ zBC?>OtgXwWo0fq^k+pfTY|rlN9%c+(cY|p3E~e6dkdw%bx{S;%C2`}O44vL0ve3k< zdQP+DeZ|8the9;kwJ)hMBAvz<3V_?>JK4a?$f&NW@j+mo_wZix=aKnxT^6Fzj>sA# zHAYBGZS0Or{)AEdB%{KDrkmy$PjeldM}{rV11lQsF#h$*Mn4$49yv)iD(CXnDI>=S zX8;dif;b(I5%DQ}efjLMb`V2yyZ{eiJeiEA&(oKmPooi}O_tCbNRAia;UtGaa2ZRO zUQnmVjv3(LsO;vN#Z-397_G}=26#ZK{J=m}UdRyxLI@#*5b`ng&zAZ?$RVW8-T)#0 zUtggo8QF3N>rTvOwR;YB6{NHdYeEb5N<9N1n}*%A0xK?yaVR&fd1T*wSkt|Ly}qa9 zzDxdCjQ=exSlYd~mU?zI=kf}C)d5=aTtBq9>%~h(=MhYoJNsYC9snLv6d74C zq#7)gFF~k#w($rTOpItoBHEg}nN z=la9qVqM00vDJn>k<5cyh(Y(z#RGV&1_k;usB0hVaz46>hB QdjJ3c07*qoM6N<$f>MIp(f|Me diff --git a/tools/gltf_auto_export/docs/workflow_empties.jpg b/tools/gltf_auto_export/docs/workflow_empties.jpg deleted file mode 100644 index cea099eb2ee93e9ed760882e74ce2abee853cef3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35707 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 XYUDT}-Tn-slumX2-RNq}x4HiT5jFs| diff --git a/tools/gltf_auto_export/docs/workflow_original.jpg b/tools/gltf_auto_export/docs/workflow_original.jpg deleted file mode 100644 index 9666ffd6b94bb07d1737d837d4ddca3902c8fcde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41624 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 diff --git a/tools/gltf_auto_export/helpers/__init__.py b/tools/gltf_auto_export/helpers/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tools/gltf_auto_export/helpers/generate_and_export.py b/tools/gltf_auto_export/helpers/generate_and_export.py deleted file mode 100644 index d99c610..0000000 --- a/tools/gltf_auto_export/helpers/generate_and_export.py +++ /dev/null @@ -1,58 +0,0 @@ -import bpy -from ..auto_export.export_gltf import export_gltf -from .helpers_collections import (set_active_collection) - -""" -generates a temporary scene, fills it with data, cleans up after itself - * named using temp_scene_name - * filled using the tempScene_filler - * written on disk to gltf_output_path, with the gltf export parameters in export_settings - * cleaned up using tempScene_cleaner - -""" -def generate_and_export(addon_prefs, export_settings, gltf_output_path, temp_scene_name="__temp_scene", tempScene_filler=None, tempScene_cleaner=None): - - temp_scene = bpy.data.scenes.new(name=temp_scene_name) - temp_root_collection = temp_scene.collection - - # save active scene - original_scene = bpy.context.window.scene - # and selected collection - original_collection = bpy.context.view_layer.active_layer_collection - # and mode - original_mode = bpy.context.active_object.mode if bpy.context.active_object != None else None - # we change the mode to object mode, otherwise the gltf exporter is not happy - if original_mode != None and original_mode != 'OBJECT': - print("setting to object mode", original_mode) - bpy.ops.object.mode_set(mode='OBJECT') - # we set our active scene to be this one : this is needed otherwise the stand-in empties get generated in the wrong scene - bpy.context.window.scene = temp_scene - - area = [area for area in bpy.context.screen.areas if area.type == "VIEW_3D"][0] - region = [region for region in area.regions if region.type == 'WINDOW'][0] - with bpy.context.temp_override(scene=temp_scene, area=area, region=region): - # detect scene mistmatch - scene_mismatch = bpy.context.scene.name != bpy.context.window.scene.name - if scene_mismatch: - raise Exception("Context scene mismatch, aborting", bpy.context.scene.name, bpy.context.window.scene.name) - - set_active_collection(bpy.context.scene, temp_root_collection.name) - # generate contents of temporary scene - scene_filler_data = tempScene_filler(temp_root_collection) - # export the temporary scene - try: - export_gltf(gltf_output_path, export_settings) - except Exception as error: - print("failed to export gltf !", error) - raise error - # restore everything - tempScene_cleaner(temp_scene, scene_filler_data) - - # reset active scene - bpy.context.window.scene = original_scene - # reset active collection - bpy.context.view_layer.active_layer_collection = original_collection - # reset mode - if original_mode != None: - bpy.ops.object.mode_set( mode = original_mode ) - diff --git a/tools/gltf_auto_export/helpers/generate_complete_preferences_dict.py b/tools/gltf_auto_export/helpers/generate_complete_preferences_dict.py deleted file mode 100644 index f6ef742..0000000 --- a/tools/gltf_auto_export/helpers/generate_complete_preferences_dict.py +++ /dev/null @@ -1,47 +0,0 @@ - -from ..auto_export.preferences import AutoExportGltfAddonPreferences -from io_scene_gltf2 import (ExportGLTF2_Base) - -# given the input (actual) gltf settings, filters out any invalid/useless params & params that are equal to defaults -def generate_complete_preferences_dict_gltf(settings): - complete_preferences = {} - defaults = {} - gltf_parameters_to_ignore = ["use_active_collection", "use_active_collection_with_nested", "use_active_scene", "use_selection", "will_save_settings", "gltf_export_id"] - def filter_out(pair): - key, value = pair - if key in gltf_parameters_to_ignore: - return False - return True - - for k in ExportGLTF2_Base.__annotations__: # we use parameters from the base class of the standard gltf exporter, that contains all relevant parameters - item = ExportGLTF2_Base.__annotations__[k] - #print("item", item) - default = item.keywords.get('default', None) - #complete_preferences[k] = default - defaults[k] = default - - for key in list(settings.keys()): - if key in defaults and settings[key] != defaults[key]: # only write out values different from defaults - complete_preferences[key] = settings[key] - - complete_preferences = dict(filter(filter_out, dict(complete_preferences).items())) - return complete_preferences - -# given the input (actual) auto settings, filters out any invalid/useless params & params that are equal to defaults -def generate_complete_preferences_dict_auto(settings): - complete_preferences = {} - defaults = {} - - for k in AutoExportGltfAddonPreferences.__annotations__: - item = AutoExportGltfAddonPreferences.__annotations__[k] - default = item.keywords.get('default', None) - #complete_preferences[k] = default - defaults[k] = default - - for key in list(settings.keys()): - if key in defaults: - if settings[key] != defaults[key]: # only write out values different from defaults - complete_preferences[key] = settings[key] - else: - complete_preferences[key] = settings[key] - return complete_preferences diff --git a/tools/gltf_auto_export/helpers/helpers_blueprints.py b/tools/gltf_auto_export/helpers/helpers_blueprints.py deleted file mode 100644 index ebe2811..0000000 --- a/tools/gltf_auto_export/helpers/helpers_blueprints.py +++ /dev/null @@ -1,398 +0,0 @@ - -import os -from types import SimpleNamespace -import bpy - -class Blueprint: - def __init__(self, name): - self.name = name - self.local = True - self.marked = False # If marked as asset or with auto_export flag, always export if changed - self.scene = None # Not sure, could be usefull for tracking - - self.instances = [] - self.objects = [] - self.nested_blueprints = [] - - self.collection = None # should we just sublclass ? - - def __repr__(self): - return f'Name: {self.name} Local: {self.local}, Scene: {self.scene}, Instances: {self.instances}, Objects: {self.objects}, nested_blueprints: {self.nested_blueprints}' - - def __str__(self): - return f'Name: "{self.name}", Local: {self.local}, Scene: {self.scene}, Instances: {self.instances}, Objects: {self.objects}, nested_blueprints: {self.nested_blueprints}' - - -def find_blueprints_not_on_disk(blueprints, folder_path, extension): - not_found_blueprints = [] - for blueprint in blueprints: - gltf_output_path = os.path.join(folder_path, blueprint.name + extension) - # print("gltf_output_path", gltf_output_path) - found = os.path.exists(gltf_output_path) and os.path.isfile(gltf_output_path) - if not found: - not_found_blueprints.append(blueprint) - return not_found_blueprints - -def check_if_blueprint_on_disk(scene_name, folder_path, extension): - gltf_output_path = os.path.join(folder_path, scene_name + extension) - found = os.path.exists(gltf_output_path) and os.path.isfile(gltf_output_path) - print("level", scene_name, "found", found, "path", gltf_output_path) - return found - -# blueprints: any collection with either -# - an instance -# - marked as asset -# - with the "auto_export" flag -# https://blender.stackexchange.com/questions/167878/how-to-get-all-collections-of-the-current-scene -def blueprints_scan(main_scenes, library_scenes, addon_prefs): - export_marked_assets = getattr(addon_prefs,"export_marked_assets") - - blueprints = {} - blueprints_from_objects = {} - blueprint_name_from_instances = {} - collections = [] - - # main scenes - blueprint_instances_per_main_scene = {} - internal_collection_instances = {} - external_collection_instances = {} - - # meh - def add_object_to_collection_instances(collection_name, object, internal=True): - collection_category = internal_collection_instances if internal else external_collection_instances - if not collection_name in collection_category.keys(): - #print("ADDING INSTANCE OF", collection_name, "object", object.name, "categ", collection_category) - collection_category[collection_name] = [] #.append(collection_name) - collection_category[collection_name].append(object) - - for scene in main_scenes:# should it only be main scenes ? what about collection instances inside other scenes ? - for object in scene.objects: - #print("object", object.name) - if object.instance_type == 'COLLECTION': - collection = object.instance_collection - collection_name = object.instance_collection.name - #print(" from collection:", collection_name) - - collection_from_library = False - for library_scene in library_scenes: # should be only in library scenes - collection_from_library = library_scene.user_of_id(collection) > 0 # TODO: also check if it is an imported asset - if collection_from_library: - break - - add_object_to_collection_instances(collection_name=collection_name, object=object, internal = collection_from_library) - - # experiment with custom properties from assets stored in other blend files - """if not collection_from_library: - for property_name in object.keys(): - print("stuff", property_name) - for property_name in collection.keys(): - print("OTHER", property_name)""" - - # blueprints[collection_name].instances.append(object) - - # FIXME: this only account for direct instances of blueprints, not for any nested blueprint inside a blueprint - if scene.name not in blueprint_instances_per_main_scene.keys(): - blueprint_instances_per_main_scene[scene.name] = {} - if collection_name not in blueprint_instances_per_main_scene[scene.name].keys(): - blueprint_instances_per_main_scene[scene.name][collection_name] = [] - blueprint_instances_per_main_scene[scene.name][collection_name].append(object) - - blueprint_name_from_instances[object] = collection_name - - """# add any indirect ones - # FIXME: needs to be recursive, either here or above - for nested_blueprint in blueprints[collection_name].nested_blueprints: - if not nested_blueprint in blueprint_instances_per_main_scene[scene.name]: - blueprint_instances_per_main_scene[scene.name].append(nested_blueprint)""" - - for collection in bpy.data.collections: - #print("collection", collection, collection.name_full, "users", collection.users) - - collection_from_library = False - defined_in_scene = None - for scene in library_scenes: # should be only in library scenes - collection_from_library = scene.user_of_id(collection) > 0 - if collection_from_library: - defined_in_scene = scene - break - if not collection_from_library: - continue - - - if ( - 'AutoExport' in collection and collection['AutoExport'] == True # get marked collections - or export_marked_assets and collection.asset_data is not None # or if you have marked collections as assets you can auto export them too - or collection.name in list(internal_collection_instances.keys()) # or if the collection has an instance in one of the main scenes - ): - blueprint = Blueprint(collection.name) - blueprint.local = True - blueprint.marked = 'AutoExport' in collection and collection['AutoExport'] == True or export_marked_assets and collection.asset_data is not None - blueprint.objects = [object.name for object in collection.all_objects if not object.instance_type == 'COLLECTION'] # inneficient, double loop - blueprint.nested_blueprints = [object.instance_collection.name for object in collection.all_objects if object.instance_type == 'COLLECTION'] # FIXME: not precise enough, aka "what is a blueprint" - blueprint.collection = collection - blueprint.instances = internal_collection_instances[collection.name] if collection.name in internal_collection_instances else [] - blueprint.scene = defined_in_scene - blueprints[collection.name] = blueprint - - # add nested collections to internal/external_collection instances - # FIXME: inneficient, third loop over all_objects - for object in collection.all_objects: - if object.instance_type == 'COLLECTION': - add_object_to_collection_instances(collection_name=object.instance_collection.name, object=object, internal = blueprint.local) - - # now create reverse lookup , so you can find the collection from any of its contained objects - for object in collection.all_objects: - blueprints_from_objects[object.name] = blueprint#collection.name - - # - collections.append(collection) - - # add any collection that has an instance in the main scenes, but is not present in any of the scenes (IE NON LOCAL/ EXTERNAL) - for collection_name in external_collection_instances: - collection = bpy.data.collections[collection_name] - blueprint = Blueprint(collection.name) - blueprint.local = False - blueprint.marked = True #external ones are always marked, as they have to have been marked in their original file #'AutoExport' in collection and collection['AutoExport'] == True - blueprint.objects = [object.name for object in collection.all_objects if not object.instance_type == 'COLLECTION'] # inneficient, double loop - blueprint.nested_blueprints = [object.instance_collection.name for object in collection.all_objects if object.instance_type == 'COLLECTION'] # FIXME: not precise enough, aka "what is a blueprint" - blueprint.collection = collection - blueprint.instances = external_collection_instances[collection.name] if collection.name in external_collection_instances else [] - blueprints[collection.name] = blueprint - #print("EXTERNAL COLLECTION", collection, dict(collection)) - - # add nested collections to internal/external_collection instances - # FIXME: inneficient, third loop over all_objects - """for object in collection.all_objects: - if object.instance_type == 'COLLECTION': - add_object_to_collection_instances(collection_name=object.instance_collection.name, object=object, internal = blueprint.local)""" - - # now create reverse lookup , so you can find the collection from any of its contained objects - for object in collection.all_objects: - blueprints_from_objects[object.name] = blueprint#collection.name - - - # then add any nested collections at root level (so we can have a flat list, regardless of nesting) - # TODO: do this recursively - for blueprint_name in list(blueprints.keys()): - parent_blueprint = blueprints[blueprint_name] - - for nested_blueprint_name in parent_blueprint.nested_blueprints: - if not nested_blueprint_name in blueprints.keys(): - collection = bpy.data.collections[nested_blueprint_name] - blueprint = Blueprint(collection.name) - blueprint.local = parent_blueprint.local - blueprint.objects = [object.name for object in collection.all_objects if not object.instance_type == 'COLLECTION'] # inneficient, double loop - blueprint.nested_blueprints = [object.instance_collection.name for object in collection.all_objects if object.instance_type == 'COLLECTION'] # FIXME: not precise enough, aka "what is a blueprint" - blueprint.collection = collection - blueprint.instances = external_collection_instances[collection.name] if collection.name in external_collection_instances else [] - blueprint.scene = parent_blueprint.scene if parent_blueprint.local else None - blueprints[collection.name] = blueprint - - - # now create reverse lookup , so you can find the collection from any of its contained objects - for object in collection.all_objects: - blueprints_from_objects[object.name] = blueprint#collection.name - - - blueprints = dict(sorted(blueprints.items())) - - '''print("BLUEPRINTS") - for blueprint_name in blueprints: - print(" ", blueprints[blueprint_name]) - - """print("BLUEPRINTS LOOKUP") - print(blueprints_from_objects)""" - - print("BLUEPRINT INSTANCES PER MAIN SCENE") - print(blueprint_instances_per_main_scene)''' - - - """changes_test = {'Library': { - 'Blueprint1_mesh': bpy.data.objects['Blueprint1_mesh'], - 'Fox_mesh': bpy.data.objects['Fox_mesh'], - 'External_blueprint2_Cylinder': bpy.data.objects['External_blueprint2_Cylinder']} - } - # which main scene has been impacted by this - # does one of the main scenes contain an INSTANCE of an impacted blueprint - for scene in main_scenes: - changed_objects = list(changes_test["Library"].keys()) # just a hack for testing - #bluprint_instances_in_scene = blueprint_instances_per_main_scene[scene.name] - #print("instances per scene", bluprint_instances_in_scene, "changed_objects", changed_objects) - - changed_blueprints_with_instances_in_scene = [blueprints_from_objects[changed] for changed in changed_objects if changed in blueprints_from_objects] - print("changed_blueprints_with_instances_in_scene", changed_blueprints_with_instances_in_scene) - level_needs_export = len(changed_blueprints_with_instances_in_scene) > 0 - if level_needs_export: - print("level needs export", scene.name) - - for scene in library_scenes: - changed_objects = list(changes_test[scene.name].keys()) - changed_blueprints = [blueprints_from_objects[changed] for changed in changed_objects if changed in blueprints_from_objects] - # we only care about local blueprints/collections - changed_local_blueprints = [blueprint_name for blueprint_name in changed_blueprints if blueprint_name in blueprints.keys() and blueprints[blueprint_name].local] - print("changed blueprints", changed_local_blueprints)""" - - # additional helper data structures for lookups etc - blueprints_per_name = blueprints - blueprints = [] # flat list - internal_blueprints = [] - external_blueprints = [] - blueprints_per_scenes = {} - - blueprint_instances_per_library_scene = {} - - for blueprint in blueprints_per_name.values(): - blueprints.append(blueprint) - if blueprint.local: - internal_blueprints.append(blueprint) - if blueprint.scene: - if not blueprint.scene.name in blueprints_per_scenes: - blueprints_per_scenes[blueprint.scene.name] = [] - blueprints_per_scenes[blueprint.scene.name].append(blueprint.name) # meh - - else: - external_blueprints.append(blueprint) - - # we also need to have blueprint instances for - - data = { - "blueprints": blueprints, - "blueprints_per_name": blueprints_per_name, - "blueprint_names": list(blueprints_per_name.keys()), - "blueprints_from_objects": blueprints_from_objects, - - "internal_blueprints": internal_blueprints, - "external_blueprints": external_blueprints, - "blueprints_per_scenes": blueprints_per_scenes, - - "blueprint_instances_per_main_scene": blueprint_instances_per_main_scene, - "blueprint_instances_per_library_scene": blueprint_instances_per_library_scene, - - # not sure about these two - "internal_collection_instances": internal_collection_instances, - "external_collection_instances": external_collection_instances, - - "blueprint_name_from_instances": blueprint_name_from_instances - } - - return SimpleNamespace(**data) - - -import json -from .object_makers import (make_empty) - - -def add_scene_property(scene, property_name, property_data): - root_collection = scene.collection - scene_property = None - for object in scene.objects: - if object.name == property_name: - scene_property = object - break - - if scene_property is None: - scene_property = make_empty(property_name, [0,0,0], [0,0,0], [0,0,0], root_collection) - - for key in property_data.keys(): - scene_property[key] = property_data[key] - - -def inject_blueprints_list_into_main_scene(scene, blueprints_data, addon_prefs): - export_root_folder = getattr(addon_prefs, "export_root_folder") - export_output_folder = getattr(addon_prefs,"export_output_folder") - export_levels_path = getattr(addon_prefs,"export_levels_path") - export_blueprints_path = getattr(addon_prefs, "export_blueprints_path") - export_gltf_extension = getattr(addon_prefs, "export_gltf_extension") - - # print("injecting assets/blueprints data into scene") - assets_list_name = f"assets_list_{scene.name}_components" - assets_list_data = {} - - # FIXME: temporary hack - for blueprint in blueprints_data.blueprints: - bpy.context.window_manager.blueprints_registry.add_blueprint(blueprint) - - blueprint_instance_names_for_scene = blueprints_data.blueprint_instances_per_main_scene.get(scene.name, None) - # find all blueprints used in a scene - blueprints_in_scene = [] - if blueprint_instance_names_for_scene: # what are the blueprints used in this scene, inject those into the assets list component - children_per_blueprint = {} - for blueprint_name in blueprint_instance_names_for_scene: - blueprint = blueprints_data.blueprints_per_name.get(blueprint_name, None) - if blueprint: - children_per_blueprint[blueprint_name] = blueprint.nested_blueprints - blueprints_in_scene += blueprint.nested_blueprints - assets_list_data["BlueprintsList"] = f"({json.dumps(dict(children_per_blueprint))})" - print(blueprint_instance_names_for_scene) - #add_scene_property(scene, assets_list_name, assets_list_data) - - - relative_blueprints_path = os.path.relpath(export_blueprints_path, export_root_folder) - - blueprint_assets_list = [] - if blueprint_instance_names_for_scene: - for blueprint_name in blueprint_instance_names_for_scene: - blueprint = blueprints_data.blueprints_per_name.get(blueprint_name, None) - if blueprint is not None: - print("BLUEPRINT", blueprint) - blueprint_exported_path = None - if blueprint.local: - blueprint_exported_path = os.path.join(relative_blueprints_path, f"{blueprint.name}{export_gltf_extension}") - else: - # get the injected path of the external blueprints - blueprint_exported_path = blueprint.collection['Export_path'] if 'Export_path' in blueprint.collection else None - print("foo", dict(blueprint.collection)) - if blueprint_exported_path is not None: - blueprint_assets_list.append({"name": blueprint.name, "path": blueprint_exported_path, "type": "MODEL", "internal": True}) - - # fetch images/textures - # see https://blender.stackexchange.com/questions/139859/how-to-get-absolute-file-path-for-linked-texture-image - textures = [] - for ob in bpy.data.objects: - if ob.type == "MESH": - for mat_slot in ob.material_slots: - if mat_slot.material: - if mat_slot.material.node_tree: - textures.extend([x.image.filepath for x in mat_slot.material.node_tree.nodes if x.type=='TEX_IMAGE']) - print("textures", textures) - - assets_list_name = f"assets_{scene.name}" - assets_list_data = {"blueprints": json.dumps(blueprint_assets_list), "sounds":[], "images":[]} - scene["assets"] = json.dumps(blueprint_assets_list) - - print("blueprint assets", blueprint_assets_list) - add_scene_property(scene, assets_list_name, assets_list_data) - for blueprint in blueprint_assets_list: - bpy.context.window_manager.assets_registry.add_asset(**blueprint) - - - '''root_collection = scene.collection - - assets_list = None - for object in scene.objects: - if object.name == assets_list_name: - assets_list = object - break - - if assets_list is None: - assets_list = make_empty(assets_list_name, [0,0,0], [0,0,0], [0,0,0], root_collection) - - blueprint_names_for_scene = blueprints_data.blueprint_instances_per_main_scene.get(scene.name, None) - # find all blueprints used in a scene - if blueprint_names_for_scene: # what are the blueprints used in this scene, inject those into the assets list component - children_per_blueprint = {} - for blueprint_name in blueprint_names_for_scene: - blueprint = blueprints_data.blueprints_per_name.get(blueprint_name, None) - if blueprint: - children_per_blueprint[blueprint_name] = blueprint.nested_blueprints - assets_list["BlueprintsList"] = f"({json.dumps(dict(children_per_blueprint))})"''' - -def remove_blueprints_list_from_main_scene(scene): - assets_list = None - assets_list_name = f"assets_list_{scene.name}_components" - - for object in scene.objects: - if object.name == assets_list_name: - assets_list = object - if assets_list is not None: - bpy.data.objects.remove(assets_list, do_unlink=True) diff --git a/tools/gltf_auto_export/helpers/helpers_collections.py b/tools/gltf_auto_export/helpers/helpers_collections.py deleted file mode 100644 index ad5c3d6..0000000 --- a/tools/gltf_auto_export/helpers/helpers_collections.py +++ /dev/null @@ -1,23 +0,0 @@ -import bpy - -# traverse all collections -def traverse_tree(t): - yield t - for child in t.children: - yield from traverse_tree(child) - -#Recursivly transverse layer_collection for a particular name -def recurLayerCollection(layerColl, collName): - found = None - if (layerColl.name == collName): - return layerColl - for layer in layerColl.children: - found = recurLayerCollection(layer, collName) - if found: - return found - -def set_active_collection(scene, collection_name): - layer_collection = bpy.data.scenes[scene.name].view_layers['ViewLayer'].layer_collection - layerColl = recurLayerCollection(layer_collection, collection_name) - # set active collection to the collection - bpy.context.view_layer.active_layer_collection = layerColl diff --git a/tools/gltf_auto_export/helpers/helpers_scenes.py b/tools/gltf_auto_export/helpers/helpers_scenes.py deleted file mode 100644 index 850630a..0000000 --- a/tools/gltf_auto_export/helpers/helpers_scenes.py +++ /dev/null @@ -1,222 +0,0 @@ -import json -import bpy -from .object_makers import (make_empty) - - -# these are mostly for when using this add-on together with the bevy_components add-on -custom_properties_to_filter_out = ['_combine', 'template', 'components_meta'] - -def is_component_valid(object, component_name): - if "components_meta" in object or hasattr(object, "components_meta"): - target_components_metadata = object.components_meta.components - component_meta = next(filter(lambda component: component["long_name"] == component_name, target_components_metadata), None) - if component_meta != None: - return component_meta.enabled and not component_meta.invalid - return True - -def remove_unwanted_custom_properties(object): - to_remove = [] - component_names = list(object.keys()) # to avoid 'IDPropertyGroup changed size during iteration' issues - for component_name in component_names: - if not is_component_valid(object, component_name): - to_remove.append(component_name) - for cp in custom_properties_to_filter_out + to_remove: - if cp in object: - del object[cp] - -# TODO: rename actions ? -# reference https://github.com/KhronosGroup/glTF-Blender-IO/blob/main/addons/io_scene_gltf2/blender/exp/animation/gltf2_blender_gather_action.py#L481 -def copy_animation_data(source, target): - if source.animation_data: - ad = source.animation_data - - blender_actions = [] - blender_tracks = {} - - # TODO: this might need to be modified/ adapted to match the standard gltf exporter settings - for track in ad.nla_tracks: - non_muted_strips = [strip for strip in track.strips if strip.action is not None and strip.mute is False] - for strip in non_muted_strips: #t.strips: - # print(" ", source.name,'uses',strip.action.name, "active", strip.active, "action", strip.action) - blender_actions.append(strip.action) - blender_tracks[strip.action.name] = track.name - - # Remove duplicate actions. - blender_actions = list(set(blender_actions)) - # sort animations alphabetically (case insensitive) so they have a defined order and match Blender's Action list - blender_actions.sort(key = lambda a: a.name.lower()) - - markers_per_animation = {} - animations_infos = [] - - for action in blender_actions: - animation_name = blender_tracks[action.name] - animations_infos.append( - f'(name: "{animation_name}", frame_start: {action.frame_range[0]}, frame_end: {action.frame_range[1]}, frames_length: {action.frame_range[1] - action.frame_range[0]}, frame_start_override: {action.frame_start}, frame_end_override: {action.frame_end})' - ) - markers_per_animation[animation_name] = {} - - for marker in action.pose_markers: - if marker.frame not in markers_per_animation[animation_name]: - markers_per_animation[animation_name][marker.frame] = [] - markers_per_animation[animation_name][marker.frame].append(marker.name) - - # best method, using the built-in link animation operator - with bpy.context.temp_override(active_object=source, selected_editable_objects=[target]): - bpy.ops.object.make_links_data(type='ANIMATION') - - """if target.animation_data == None: - target.animation_data_create() - target.animation_data.action = source.animation_data.action.copy() - - print("copying animation data for", source.name, target.animation_data) - properties = [p.identifier for p in source.animation_data.bl_rna.properties if not p.is_readonly] - for prop in properties: - print("copying stuff", prop) - setattr(target.animation_data, prop, getattr(source.animation_data, prop))""" - - # we add an "AnimationInfos" component - target['AnimationInfos'] = f'(animations: {animations_infos})'.replace("'","") - - # and animation markers - markers_formated = '{' - for animation in markers_per_animation.keys(): - markers_formated += f'"{animation}":' - markers_formated += "{" - for frame in markers_per_animation[animation].keys(): - markers = markers_per_animation[animation][frame] - markers_formated += f"{frame}:{markers}, ".replace("'", '"') - markers_formated += '}, ' - markers_formated += '}' - target["AnimationMarkers"] = f'( {markers_formated} )' - - -def duplicate_object(object, parent, combine_mode, destination_collection, blueprints_data, nester=""): - copy = None - internal_blueprint_names = [blueprint.name for blueprint in blueprints_data.internal_blueprints] - # print("COMBINE MODE", combine_mode) - if object.instance_type == 'COLLECTION' and (combine_mode == 'Split' or (combine_mode == 'EmbedExternal' and (object.instance_collection.name in internal_blueprint_names)) ): - #print("creating empty for", object.name, object.instance_collection.name, internal_blueprint_names, combine_mode) - collection_name = object.instance_collection.name - original_name = object.name - - object.name = original_name + "____bak" - empty_obj = make_empty(original_name, object.location, object.rotation_euler, object.scale, destination_collection) - - """we inject the collection/blueprint name, as a component called 'BlueprintName', but we only do this in the empty, not the original object""" - empty_obj['BlueprintName'] = '("'+collection_name+'")' - empty_obj["BlueprintPath"] = '' - empty_obj['SpawnHere'] = '()' - - # we also inject a list of all sub blueprints, so that the bevy side can preload them - blueprint_name = collection_name - children_per_blueprint = {} - blueprint = blueprints_data.blueprints_per_name.get(blueprint_name, None) - if blueprint: - children_per_blueprint[blueprint_name] = blueprint.nested_blueprints - empty_obj["BlueprintsList"] = f"({json.dumps(dict(children_per_blueprint))})" - - # we copy custom properties over from our original object to our empty - for component_name, component_value in object.items(): - if component_name not in custom_properties_to_filter_out and is_component_valid(object, component_name): #copy only valid properties - empty_obj[component_name] = component_value - copy = empty_obj - else: - # for objects which are NOT collection instances or when embeding - # we create a copy of our object and its children, to leave the original one as it is - original_name = object.name - object.name = original_name + "____bak" - copy = object.copy() - copy.name = original_name - - destination_collection.objects.link(copy) - - """if object.parent == None: - if parent_empty is not None: - copy.parent = parent_empty - """ - # do this both for empty replacements & normal copies - if parent is not None: - copy.parent = parent - remove_unwanted_custom_properties(copy) - copy_animation_data(object, copy) - - for child in object.children: - duplicate_object(child, copy, combine_mode, destination_collection, blueprints_data, nester+" ") - -# copies the contents of a collection into another one while replacing library instances with empties -def copy_hollowed_collection_into(source_collection, destination_collection, parent_empty=None, filter=None, blueprints_data=None, addon_prefs={}): - collection_instances_combine_mode = getattr(addon_prefs, "collection_instances_combine_mode") - - for object in source_collection.objects: - if object.name.endswith("____bak"): # some objects could already have been handled, ignore them - continue - if filter is not None and filter(object) is False: - continue - #check if a specific collection instance does not have an ovveride for combine_mode - combine_mode = object['_combine'] if '_combine' in object else collection_instances_combine_mode - parent = parent_empty - duplicate_object(object, parent, combine_mode, destination_collection, blueprints_data) - - # for every child-collection of the source, copy its content into a new sub-collection of the destination - for collection in source_collection.children: - original_name = collection.name - collection.name = original_name + "____bak" - collection_placeholder = make_empty(original_name, [0,0,0], [0,0,0], [1,1,1], destination_collection) - - if parent_empty is not None: - collection_placeholder.parent = parent_empty - copy_hollowed_collection_into( - source_collection = collection, - destination_collection = destination_collection, - parent_empty = collection_placeholder, - filter = filter, - blueprints_data = blueprints_data, - addon_prefs=addon_prefs - ) - - - - return {} - -# clear & remove "hollow scene" -def clear_hollow_scene(temp_scene, original_root_collection): - def restore_original_names(collection): - if collection.name.endswith("____bak"): - collection.name = collection.name.replace("____bak", "") - for object in collection.objects: - if object.instance_type == 'COLLECTION': - if object.name.endswith("____bak"): - object.name = object.name.replace("____bak", "") - else: - if object.name.endswith("____bak"): - object.name = object.name.replace("____bak", "") - for child_collection in collection.children: - restore_original_names(child_collection) - - - # remove any data we created - temp_root_collection = temp_scene.collection - temp_scene_objects = [o for o in temp_root_collection.all_objects] - for object in temp_scene_objects: - #print("removing", object.name) - bpy.data.objects.remove(object, do_unlink=True) - - # remove the temporary scene - bpy.data.scenes.remove(temp_scene, do_unlink=True) - - # reset original names - restore_original_names(original_root_collection) - -# convenience utility to get lists of scenes -def get_scenes(addon_prefs): - level_scene_names= getattr(addon_prefs,"main_scene_names", []) #list(map(lambda scene: scene.name, getattr(addon_prefs,"main_scenes"))) - library_scene_names = getattr(addon_prefs,"library_scene_names", []) #list(map(lambda scene: scene.name, getattr(addon_prefs,"library_scenes"))) - - level_scene_names = list(filter(lambda name: name in bpy.data.scenes, level_scene_names)) - library_scene_names = list(filter(lambda name: name in bpy.data.scenes, library_scene_names)) - - level_scenes = list(map(lambda name: bpy.data.scenes[name], level_scene_names)) - library_scenes = list(map(lambda name: bpy.data.scenes[name], library_scene_names)) - - return [level_scene_names, level_scenes, library_scene_names, library_scenes] diff --git a/tools/gltf_auto_export/helpers/object_makers.py b/tools/gltf_auto_export/helpers/object_makers.py deleted file mode 100644 index 50827b5..0000000 --- a/tools/gltf_auto_export/helpers/object_makers.py +++ /dev/null @@ -1,47 +0,0 @@ -import bmesh -import bpy -import mathutils - -# Makes an empty, at the specified location, rotation, scale stores it in existing collection, from https://blender.stackexchange.com/questions/51290/how-to-add-empty-object-not-using-bpy-ops -def make_empty(name, location, rotation, scale, collection): - object_data = None - empty_obj = bpy.data.objects.new( name, object_data ) - - empty_obj.empty_display_size = 2 - empty_obj.empty_display_type = 'PLAIN_AXES' - - empty_obj.name = name - empty_obj.location = location - empty_obj.scale = scale - empty_obj.rotation_euler = rotation - - collection.objects.link( empty_obj ) - #bpy.context.view_layer.update() - return empty_obj - -def make_cube(name, location=[0,0,0], rotation=[0,0,0], scale=[1,1,1], collection=None): - new_mesh = bpy.data.meshes.new(name+"_Mesh") #None - """verts = [( 1.0, 1.0, 0.0), - ( 1.0, -1.0, 0.0), - (-1.0, -1.0, 0.0), - (-1.0, 1.0, 0.0), - ] # 4 verts made with XYZ coords - edges = [] - faces = [[0, 1, 2, 3]] - new_mesh.from_pydata(verts, edges, faces)""" - - - bm = bmesh.new() - bmesh.ops.create_cube(bm, size=0.1, matrix=mathutils.Matrix.Translation(location)) # FIXME: other ways to set position seems to fail ? - bm.to_mesh(new_mesh) - bm.free() - - new_object = bpy.data.objects.new(name, new_mesh) - new_object.name = name - new_object.location = location - new_object.scale = scale - new_object.rotation_euler = rotation - - if collection != None: - collection.objects.link( new_object ) - return new_object \ No newline at end of file diff --git a/tools/gltf_auto_export/helpers/ping_depsgraph_update.py b/tools/gltf_auto_export/helpers/ping_depsgraph_update.py deleted file mode 100644 index 55527b2..0000000 --- a/tools/gltf_auto_export/helpers/ping_depsgraph_update.py +++ /dev/null @@ -1,10 +0,0 @@ -import bpy -import rna_prop_ui - -# fake way to make our operator's changes be visible to the change/depsgraph update handler in gltf_auto_export -def ping_depsgraph_update(object=None): - if object == None: - object = bpy.data.scenes[0] - rna_prop_ui.rna_idprop_ui_create(object, "________temp", default=0) - rna_prop_ui.rna_idprop_ui_prop_clear(object, "________temp") - return None \ No newline at end of file diff --git a/tools/gltf_auto_export/helpers/serialize_scene.py b/tools/gltf_auto_export/helpers/serialize_scene.py deleted file mode 100644 index a88314f..0000000 --- a/tools/gltf_auto_export/helpers/serialize_scene.py +++ /dev/null @@ -1,233 +0,0 @@ -import json -from mathutils import Color -import numpy as np -import bpy -from ..constants import TEMPSCENE_PREFIX - -fields_to_ignore_generic = ["tag", "type", "update_tag", "use_extra_user", "use_fake_user", "user_clear", "user_of_id", "user_remap", "users", - 'animation_data_clear', 'animation_data_create', 'asset_clear', 'asset_data', 'asset_generate_preview', 'asset_mark', 'bl_rna', 'evaluated_get', - 'library', 'library_weak_reference', 'make_local','name', 'name_full', 'original', - 'override_create', 'override_hierarchy_create', 'override_library', 'preview', 'preview_ensure', 'rna_type', - 'session_uid', 'copy', 'id_type', 'is_embedded_data', 'is_evaluated', 'is_library_indirect', 'is_missing', 'is_runtime_data'] - -# possible alternatives https://blender.stackexchange.com/questions/286010/bpy-detect-modified-mesh-data-vertices-edges-loops-or-polygons-for-cachin -def mesh_hash(obj): - # this is incomplete, how about edges ? - vertex_count = len(obj.data.vertices) - vertices_np = np.empty(vertex_count * 3, dtype=np.float32) - obj.data.vertices.foreach_get("co", vertices_np) - h = str(hash(vertices_np.tobytes())) - return h - -# TODO: redo this one, this is essentially modifiec copy & pasted data, not fitting -def animation_hash(obj): - animation_data = obj.animation_data - if not animation_data: - return None - blender_actions = [] - blender_tracks = {} - - # TODO: this might need to be modified/ adapted to match the standard gltf exporter settings - for track in animation_data.nla_tracks: - strips = [strip for strip in track.strips if strip.action is not None] - for strip in strips: - # print(" ", source.name,'uses',strip.action.name, "active", strip.active, "action", strip.action) - blender_actions.append(strip.action) - blender_tracks[strip.action.name] = track.name - - # Remove duplicate actions. - blender_actions = list(set(blender_actions)) - # sort animations alphabetically (case insensitive) so they have a defined order and match Blender's Action list - blender_actions.sort(key = lambda a: a.name.lower()) - - markers_per_animation = {} - animations_infos = [] - - for action in blender_actions: - animation_name = blender_tracks[action.name] - animations_infos.append( - f'(name: "{animation_name}", frame_start: {action.frame_range[0]}, frame_end: {action.frame_range[1]}, frames_length: {action.frame_range[1] - action.frame_range[0]}, frame_start_override: {action.frame_start}, frame_end_override: {action.frame_end})' - ) - markers_per_animation[animation_name] = {} - - for marker in action.pose_markers: - if marker.frame not in markers_per_animation[animation_name]: - markers_per_animation[animation_name][marker.frame] = [] - markers_per_animation[animation_name][marker.frame].append(marker.name) - - compact_result = hash(str((blender_actions, blender_tracks, markers_per_animation, animations_infos))) - return compact_result - - -def camera_hash(obj): - camera_fields = ["angle", "angle_x", "angle_y", "animation_data", "background_images", "clip_end", "clip_start", "display_size", "dof", "fisheye_fov"] - camera_data = obj.data - fields_to_ignore= fields_to_ignore_generic - - all_field_names = dir(camera_data) - fields = [getattr(camera_data, prop, None) for prop in all_field_names if not prop.startswith("__") and not prop in fields_to_ignore and not prop.startswith("show_")] - # TODO: the above is not enough, certain fields are left as bpy.data.xx - #print("camera", obj, fields) - return str(fields) - -def light_hash(obj): - light_data = obj.data - fields_to_ignore = fields_to_ignore_generic - - all_field_names = dir(light_data) - fields = [getattr(light_data, prop, None) for prop in all_field_names if not prop.startswith("__") and not prop in fields_to_ignore and not prop.startswith("show_")] - return str(fields) - -def bones_hash(bones): - fields_to_ignore = fields_to_ignore_generic + ['AxisRollFromMatrix', 'MatrixFromAxisRoll', 'evaluate_envelope', 'convert_local_to_pose', 'foreach_get', 'foreach_set', 'get', 'set', 'find', 'items', 'keys', 'values'] - - bones_result = [] - for bone in bones: - all_field_names = dir(bone) - fields = [getattr(bone, prop, None) for prop in all_field_names if not prop.startswith("__") and not prop in fields_to_ignore and not prop.startswith("show_")] - bones_result.append(fields) - #print("fields of bone", bones_result) - return str(hash(str(bones_result))) - -# fixme: not good enough ? -def armature_hash(obj): - fields_to_ignore = fields_to_ignore_generic + ['display_type', 'is_editmode', 'pose_position', 'foreach_get', 'get'] - fields_to_convert = {'bones': bones_hash}#, 'collections_all': bones_hash} - armature_data = obj.data - all_field_names = dir(armature_data) - - fields = [getattr(armature_data, prop, None) if not prop in fields_to_convert.keys() else fields_to_convert[prop](getattr(armature_data, prop)) for prop in all_field_names if not prop.startswith("__") and not prop in fields_to_ignore and not prop.startswith("show_")] - #print("ARMATURE", fields) - - """for bone in armature_data.bones: - print("bone", bone, bone_hash(bone))""" - return str(fields) - -def field_value(data): - pass - -def color(color_data): - # print("color", color_data, type(color_data)) - return str(peel_value(color_data)) - -def lineart(lineart_data): - fields_to_ignore = fields_to_ignore_generic - - all_field_names = dir(lineart_data) - fields = [getattr(lineart_data, prop, None) for prop in all_field_names if not prop.startswith("__") and not prop in fields_to_ignore and not prop.startswith("show_")] - return str(fields) - -def node_tree(nodetree_data): - fields_to_ignore = fields_to_ignore_generic+ ['contains_tree','get_output_node', 'interface_update', 'override_template_create'] - all_field_names = dir(nodetree_data) - fields = [getattr(nodetree_data, prop, None) for prop in all_field_names if not prop.startswith("__") and not prop in fields_to_ignore and not prop.startswith("show_")] - - # print("node tree", fields) - return str(fields) - - -def peel_value( value ): - try: - len( value ) - return [ peel_value( x ) for x in value ] - except TypeError: - return value - -def material_hash(material): - fields_to_ignore = fields_to_ignore_generic - fields_to_convert = {'diffuse_color': color, 'line_color': color, 'lineart': lineart, 'node_tree': node_tree} # TODO: perhaps use types rather than names - all_field_names = dir(material) - fields = [getattr(material, prop, None) if not prop in fields_to_convert.keys() else fields_to_convert[prop](getattr(material, prop)) for prop in all_field_names if not prop.startswith("__") and not prop in fields_to_ignore and not prop.startswith("show_")] - - type_of = [type(getattr(material, prop, None)) for prop in all_field_names if not prop.startswith("__") and not prop in fields_to_ignore and not prop.startswith("show_")] - names = [prop for prop in all_field_names if not prop.startswith("__") and not prop in fields_to_ignore and not prop.startswith("show_")] - - tutu = [t == Color for t in type_of] # bpy.types.MaterialLineArt bpy.types.ShaderNodeTree - #print("fields", type_of) - - """for prop in [prop for prop in all_field_names if not prop.startswith("__") and not prop in fields_to_ignore and not prop.startswith("show_")]: - bla = getattr(material, prop, None) - if hasattr(bla, "rna_type"): - print("YOLO", prop, bla, peel_value(bla), "type", type(bla), bla.rna_type, bla.rna_type == bpy.types.FloatProperty, type(bla) == bpy.types.bpy_prop_collection) - print("types", type(bla) == bpy.types.bpy_prop_collection, type(bla) == bpy.types.FloatColorAttributeValue)""" - - # print("oooooh", material, material.bl_rna.properties.items()) - - return str(fields)#str(hash(str(fields))) - -# TODO: this is partially taken from export_materials utilities, perhaps we could avoid having to fetch things multiple times ? -def materials_hash(obj, cache): - # print("materials") - materials = [] - for material_slot in obj.material_slots: - material = material_slot.material - cached_hash = cache['materials'].get(material.name, None) - if cached_hash: - # print("CACHHHHHED", cached_hash) - materials.append(cached_hash) - else: - mat = material_hash(material) - cache['materials'][material.name] = mat - materials.append(mat) - # print("NOT CACHHH", mat) - - # materials = [material_hash(material_slot.material) if not material_slot.material.name in cache["materials"] else cache["materials"][material_slot.material.name] for material_slot in obj.material_slots] - return str(hash(str(materials))) - -def custom_properties_hash(obj): - custom_properties = {} - for property_name in obj.keys(): - if property_name not in '_RNA_UI' and property_name != 'components_meta': - custom_properties[property_name] = obj[property_name] - - return str(hash(str(custom_properties))) - - -def serialize_scene(): - cache = {"materials":{}} - print("serializing scene") - data = {} - for scene in bpy.data.scenes: - if scene.name.startswith(TEMPSCENE_PREFIX): - continue - data[scene.name] = {} - for object in scene.objects: - object = bpy.data.objects[object.name] - - #loc, rot, scale = bpy.context.object.matrix_world.decompose() - - transform = str((object.location, object.rotation_euler, object.scale)) #str((object.matrix_world.to_translation(), object.matrix_world.to_euler('XYZ'), object.matrix_world.to_quaternion()))# - visibility = object.visible_get() - custom_properties = custom_properties_hash(object) if len(object.keys()) > 0 else None - animations = animation_hash(object) - mesh = mesh_hash(object) if object.type == 'MESH' else None - camera = camera_hash(object) if object.type == 'CAMERA' else None - light = light_hash(object) if object.type == 'LIGHT' else None - armature = armature_hash(object) if object.type == 'ARMATURE' else None - parent = object.parent.name if object.parent else None - collections = [collection.name for collection in object.users_collection] - materials = materials_hash(object, cache) if len(object.material_slots) > 0 else None - - data[scene.name][object.name] = { - "name": object.name, - "transforms": transform, - "visibility": visibility, - "custom_properties": custom_properties, - "animations": animations, - "mesh": mesh, - "camera": camera, - "light": light, - "armature": armature, - "parent": parent, - "collections": collections, - "materials": materials - } - - """print("data", data) - print("") - print("") - print("data json", json.dumps(data))""" - - return json.dumps(data) - - diff --git a/tools/gltf_auto_export/helpers/to_remove_later.py b/tools/gltf_auto_export/helpers/to_remove_later.py deleted file mode 100644 index 2d69f86..0000000 --- a/tools/gltf_auto_export/helpers/to_remove_later.py +++ /dev/null @@ -1,402 +0,0 @@ -bl_info = { - "name": "gltf_auto_export", - "author": "kaosigh", - "version": (0, 10, 0), - "blender": (3, 4, 0), - "location": "File > Import-Export", - "description": "glTF/glb auto-export", - "warning": "", - "wiki_url": "https://github.com/kaosat-dev/Blender_bevy_components_workflow", - "tracker_url": "https://github.com/kaosat-dev/Blender_bevy_components_workflow/issues/new", - "category": "Import-Export" -} - -import bpy -from bpy.props import (BoolProperty, - IntProperty, - StringProperty, - EnumProperty, - CollectionProperty - ) - - -# glTF extensions are named following a convention with known prefixes. -# See: https://github.com/KhronosGroup/glTF/tree/main/extensions#about-gltf-extensions -# also: https://github.com/KhronosGroup/glTF/blob/main/extensions/Prefixes.md -glTF_extension_name = "EXT_auto_export" - -# Support for an extension is "required" if a typical glTF viewer cannot be expected -# to load a given model without understanding the contents of the extension. -# For example, a compression scheme or new image format (with no fallback included) -# would be "required", but physics metadata or app-specific settings could be optional. -extension_is_required = False -from io_scene_gltf2 import (GLTF_PT_export_main, GLTF_PT_export_include) - -class ExampleExtensionProperties(bpy.types.PropertyGroup): - enabled: bpy.props.BoolProperty( - name=bl_info["name"], - description='Include this extension in the exported glTF file.', - default=True - ) - - auto_export_main_scene_name: StringProperty( - name='Main scene', - description='The name of the main scene/level/world to auto export', - default='Scene' - ) - auto_export_output_folder: StringProperty( - name='Export folder (relative)', - description='The root folder for all exports(relative to current file) Defaults to current folder', - default='' - ) - auto_export_library_scene_name: StringProperty( - name='Library scene', - description='The name of the library scene to auto export', - default='Library' - ) - # scene components - auto_export_scene_settings: BoolProperty( - name='Export scene settings', - description='Export scene settings ie AmbientLighting, Bloom, AO etc', - default=False - ) - - # blueprint settings - auto_export_blueprints: BoolProperty( - name='Export Blueprints', - description='Replaces collection instances with an Empty with a BlueprintName custom property', - default=True - ) - auto_export_blueprints_path: StringProperty( - name='Blueprints path', - description='path to export the blueprints to (relative to the Export folder)', - default='library' - ) - - auto_export_materials_library: BoolProperty( - name='Export materials library', - description='remove materials from blueprints and use the material library instead', - default=False - ) - auto_export_materials_path: StringProperty( - name='Materials path', - description='path to export the materials libraries to (relative to the root folder)', - default='materials' - ) - -def register(): - bpy.utils.register_class(ExampleExtensionProperties) - bpy.types.Scene.ExampleExtensionProperties = bpy.props.PointerProperty(type=ExampleExtensionProperties) - -def register_panel(): - # Register the panel on demand, we need to be sure to only register it once - # This is necessary because the panel is a child of the extensions panel, - # which may not be registered when we try to register this extension - try: - bpy.utils.register_class(GLTF_PT_UserExtensionPanel) - except Exception: - pass - - # If the glTF exporter is disabled, we need to unregister the extension panel - # Just return a function to the exporter so it can unregister the panel - return unregister_panel - - -def unregister_panel(): - # Since panel is registered on demand, it is possible it is not registered - try: - bpy.utils.unregister_class(GLTF_PT_UserExtensionPanel) - except Exception: - pass - - -def unregister(): - unregister_panel() - bpy.utils.unregister_class(ExampleExtensionProperties) - del bpy.types.Scene.ExampleExtensionProperties - -class GLTF_PT_UserExtensionPanel(bpy.types.Panel): - - bl_space_type = 'FILE_BROWSER' - bl_region_type = 'TOOL_PROPS' - bl_label = "Enabled" - bl_parent_id = "GLTF_PT_export_user_extensions" - bl_options = {'DEFAULT_CLOSED'} - - @classmethod - def poll(cls, context): - sfile = context.space_data - operator = sfile.active_operator - return operator.bl_idname == "EXPORT_SCENE_OT_gltf" - - def draw_header(self, context): - props = bpy.context.scene.ExampleExtensionProperties - self.layout.prop(props, 'enabled') - - def draw(self, context): - layout = self.layout - layout.use_property_split = True - layout.use_property_decorate = False # No animation. - - props = bpy.context.scene.ExampleExtensionProperties - layout.active = props.enabled - - props = bpy.context.scene.ExampleExtensionProperties - for bla in props.__annotations__: - layout.prop(props, bla) - - -class glTF2ExportUserExtension: - - def __init__(self): - # We need to wait until we create the gltf2UserExtension to import the gltf2 modules - # Otherwise, it may fail because the gltf2 may not be loaded yet - from io_scene_gltf2.io.com.gltf2_io_extensions import Extension - self.Extension = Extension - self.properties = bpy.context.scene.ExampleExtensionProperties - - def gather_node_hook(self, gltf2_object, blender_object, export_settings): - if self.properties.enabled: - if gltf2_object.extensions is None: - gltf2_object.extensions = {} - print("bla bla") - gltf2_object.extensions[glTF_extension_name] = self.Extension( - name=glTF_extension_name, - extension={"auto_export_blueprints": self.properties.auto_export_blueprints}, - required=extension_is_required - ) - - -def did_export_parameters_change(current_params, previous_params): - set1 = set(previous_params.items()) - set2 = set(current_params.items()) - difference = dict(set1 ^ set2) - - changed_param_names = list(set(difference.keys())- set(AutoExportGltfPreferenceNames)) - changed_parameters = len(changed_param_names) > 0 - return changed_parameters - -# original in export_blueprints => export_collections - # The part below is not necessary NORMALLY , but blender crashes in the "normal" case when using bpy.context.temp_override, - #if relevant we replace sub collections instances with placeholders too - # this is not needed if a collection/blueprint does not have sub blueprints or sub collections - collection_in_blueprint_hierarchy = collection_name in blueprint_hierarchy and len(blueprint_hierarchy[collection_name]) > 0 - collection_has_child_collections = len(bpy.data.collections[collection_name].children) > 0 - #if collection_in_blueprint_hierarchy or collection_has_child_collections: - - - - """else: - print("standard export") - # set active scene to be the library scene - original_scene = bpy.context.window.scene - bpy.context.window.scene = library_scene - with bpy.context.temp_override(scene=library_scene): - print("active scene", bpy.context.scene) - export_gltf(gltf_output_path, export_settings) - bpy.context.window.scene = original_scene""" - -""" - blueprint_template = object['Template'] if 'Template' in object else False - if blueprint_template and parent_empty is None: # ONLY WORKS AT ROOT LEVEL - print("BLUEPRINT TEMPLATE", blueprint_template, destination_collection, parent_empty) - for object in source_collection.objects: - if object.type == 'EMPTY' and object.name.endswith("components"): - original_collection = bpy.data.collections[collection_name] - components_holder = object - print("WE CAN INJECT into", object, "data from", original_collection) - - # now we look for components inside the collection - components = {} - for object in original_collection.objects: - if object.type == 'EMPTY' and object.name.endswith("components"): - for component_name in object.keys(): - if component_name not in '_RNA_UI': - print( component_name , "-" , object[component_name] ) - components[component_name] = object[component_name] - - # copy template components into target object - for key in components: - print("copying ", key,"to", components_holder) - if not key in components_holder: - components_holder[key] = components[key] - """ - -# potentially useful alternative -def duplicate_object2(object, original_name): - print("copy object", object) - - with bpy.context.temp_override(object=object, active_object = object): - bpy.ops.object.duplicate(linked=False) - new_obj = bpy.context.active_object - - print("new obj", new_obj, "bpy.context.view_layer", bpy.context.view_layer.objects) - for obj in bpy.context.view_layer.objects: - print("obj", obj) - bpy.context.view_layer.update() - new_obj.name = original_name - - if object.animation_data: - print("OJECT ANIMATION") - new_obj.animation_data.action = object.animation_data.action.copy() - - return new_obj - - - - - - if active_operator: - # print("Operator", active_operator.bl_label, active_operator.bl_idname, "bla", bpy.context.window_manager.gltf_exporter_running) - if active_operator.bl_idname == "EXPORT_SCENE_OT_gltf" : #and not bpy.context.window_manager.gltf_exporter_running: - # we force saving params - active_operator.will_save_settings = True - if active_operator.bl_idname == "EXPORT_SCENES_OT_auto_gltf": - # we force saving params - active_operator.will_save_settings = True - - - """ - print("matching") - try: - bpy.app.timers.unregister(cls.gltf_exporter_handler) - except:pass - bpy.app.timers.register(cls.gltf_exporter_handler, first_interval=3) - # we backup any existing gltf export settings, if there where any - scene = bpy.context.scene - if "glTF2ExportSettings" in scene: - existing_setting = scene["glTF2ExportSettings"] - cls.existing_gltf_settings = existing_setting - bpy.context.window_manager.gltf_exporter_running = True - - - else: - if bpy.context.window_manager.gltf_exporter_running: - bpy.context.window_manager.gltf_exporter_running = False""" - - - """@classmethod - def gltf_exporter_handler(cls): - # FOr some reason, the active operator here is always None, so using a workaround - # active_operator = bpy.context.active_operator - print("here", bpy.context.window_manager.gltf_exporter_running) - - if bpy.context.window_manager.gltf_exporter_running: - try: - dummy_file_path = "/home/ckaos/projects/bevy/Blender_bevy_components_worklflow/testing/bevy_example/assets/dummy.glb" - - import os - if os.path.exists(dummy_file_path): - print("dummy file exists, assuming it worked") - os.unlink(dummy_file_path) - - # get the parameters - scene = bpy.context.scene - if "glTF2ExportSettings" in scene: - settings = scene["glTF2ExportSettings"] - formatted_settings = dict(settings) - - export_settings = bpy.data.texts[".gltf_auto_export_gltf_settings"] if ".gltf_auto_export_gltf_settings" in bpy.data.texts else bpy.data.texts.new(".gltf_auto_export_gltf_settings") - - #check if params have changed - bpy.context.window_manager.gltf_settings_changed = sorted(json.loads(export_settings.as_string()).items()) != sorted(formatted_settings.items()) - - print("gltf NEW settings", formatted_settings, "OLD settings", export_settings, "CHANGED ?", bpy.context.window_manager.gltf_settings_changed) - - # now write new settings - export_settings.clear() - export_settings.write(json.dumps(formatted_settings)) - - - # now reset the original gltf_settings - if getattr(cls, "existing_gltf_settings", None) != None: - print("resetting original gltf settings") - scene["glTF2ExportSettings"] = cls.existing_gltf_settings - else: - print("no pre_existing settings") - if "glTF2ExportSettings" in scene: - del scene["glTF2ExportSettings"] - cls.existing_gltf_settings = None - except:pass - bpy.context.window_manager.gltf_exporter_running = False - return None - - - else: - try: - bpy.app.timers.unregister(cls.gltf_exporter_handler) - except:pass - return None - return 1""" - - -def invoke_override(self, context, event): - settings = context.scene.get(self.scene_key) - self.will_save_settings = False - if settings: - try: - for (k, v) in settings.items(): - setattr(self, k, v) - self.will_save_settings = True - - # Update filter if user saved settings - if hasattr(self, 'export_format'): - self.filter_glob = '*.glb' if self.export_format == 'GLB' else '*.gltf' - - except (AttributeError, TypeError): - self.report({"ERROR"}, "Loading export settings failed. Removed corrupted settings") - del context.scene[self.scene_key] - - import sys - preferences = bpy.context.preferences - for addon_name in preferences.addons.keys(): - try: - if hasattr(sys.modules[addon_name], 'glTF2ExportUserExtension') or hasattr(sys.modules[addon_name], 'glTF2ExportUserExtensions'): - pass #exporter_extension_panel_unregister_functors.append(sys.modules[addon_name].register_panel()) - except Exception: - pass - - # self.has_active_exporter_extensions = len(exporter_extension_panel_unregister_functors) > 0 - print("ovverride") - wm = context.window_manager - wm.fileselect_add(self) - return {'RUNNING_MODAL'} - - - -from io_scene_gltf2 import (ExportGLTF2, GLTF_PT_export_main, GLTF_PT_export_include) - - -from io_scene_gltf2 import (ExportGLTF2, GLTF_PT_export_main,ExportGLTF2_Base, GLTF_PT_export_include) -import io_scene_gltf2 as gltf_exporter_original -#import io_scene_gltf2.GLTF_PT_export_data_scene as GLTF_PT_export_data_scene_original -""" -class GLTF_PT_export_data(gltf_exporter_original.GLTF_PT_export_data): - bl_space_type = 'FILE_BROWSER' - bl_region_type = 'TOOL_PROPS' - bl_label = "Data" - bl_parent_id = "GLTF_PT_auto_export_gltf" - bl_options = {'DEFAULT_CLOSED'} - - @classmethod - def poll(cls, context): - sfile = context.space_data - operator = sfile.active_operator - - return operator.bl_idname == "EXPORT_SCENES_OT_auto_gltf" - -class GLTF_PT_export_data_scene(gltf_exporter_original.GLTF_PT_export_data_scene): - bl_space_type = 'FILE_BROWSER' - bl_region_type = 'TOOL_PROPS' - bl_label = "Scene Graph" - bl_parent_id = "GLTF_PT_export_data" - bl_options = {'DEFAULT_CLOSED'} - - @classmethod - def poll(cls, context): - sfile = context.space_data - operator = sfile.active_operator - return operator.bl_idname == "EXPORT_SCENES_OT_auto_gltf" - - def draw(self, context): - return super().draw(context)""" \ No newline at end of file diff --git a/tools/gltf_auto_export/modules/__init__.py b/tools/gltf_auto_export/modules/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tools/gltf_auto_export/modules/bevy_dynamic.py b/tools/gltf_auto_export/modules/bevy_dynamic.py deleted file mode 100644 index aaa6622..0000000 --- a/tools/gltf_auto_export/modules/bevy_dynamic.py +++ /dev/null @@ -1,29 +0,0 @@ -import bpy - - -# checks if an object is dynamic -# TODO: for efficiency, it might make sense to write this flag semi automatically at the root level of the object so we can skip the inner loop -# TODO: we need to recompute these on blueprint changes too -# even better, keep a list of dynamic objects per scene , updated only when needed ? -def is_object_dynamic(object): - is_dynamic = object['Dynamic'] if 'Dynamic' in object else False - # only look for data in the original collection if it is not alread marked as dynamic at instance level - if not is_dynamic and object.type == 'EMPTY' and hasattr(object, 'instance_collection') and object.instance_collection != None : - #print("collection", object.instance_collection, "object", object.name) - # get the name of the collection this is an instance of - collection_name = object.instance_collection.name - original_collection = bpy.data.collections[collection_name] - - # scan original collection, look for a 'Dynamic' flag - for object in original_collection.objects: - #print(" inner", object) - if object.type == 'EMPTY' and object.name.endswith("components"): - for component_name in object.keys(): - #print(" compo", component_name) - if component_name == 'Dynamic': - is_dynamic = True - break - return is_dynamic - -def is_object_static(object): - return not is_object_dynamic(object) \ No newline at end of file diff --git a/tools/gltf_auto_export/modules/bevy_scene_components.py b/tools/gltf_auto_export/modules/bevy_scene_components.py deleted file mode 100644 index b6f384f..0000000 --- a/tools/gltf_auto_export/modules/bevy_scene_components.py +++ /dev/null @@ -1,64 +0,0 @@ - -import bpy -from ..helpers.object_makers import make_empty - -# TODO: replace this with placing scene level custom properties once support for that has been added to bevy_gltf -def upsert_scene_components(main_scenes): - for scene in main_scenes: - lighting_components_name = f"lighting_components_{scene.name}" - lighting_components = bpy.data.objects.get(lighting_components_name, None) - if not lighting_components: - root_collection = scene.collection - lighting_components = make_empty('lighting_components_'+scene.name, [0,0,0], [0,0,0], [0,0,0], root_collection) - - if scene.world is not None: - lighting_components['BlenderBackgroundShader'] = ambient_color_to_component(scene.world) - lighting_components['BlenderShadowSettings'] = scene_shadows_to_component(scene) - - if scene.eevee.use_bloom: - lighting_components['BloomSettings'] = scene_bloom_to_component(scene) - elif 'BloomSettings' in lighting_components: - del lighting_components['BloomSettings'] - - if scene.eevee.use_gtao: - lighting_components['SSAOSettings'] = scene_ao_to_component(scene) - elif 'SSAOSettings' in lighting_components: - del lighting_components['SSAOSettings'] - -def remove_scene_components(main_scenes): - for scene in main_scenes: - lighting_components_name = f"lighting_components_{scene.name}" - lighting_components = bpy.data.objects.get(lighting_components_name, None) - if lighting_components: - bpy.data.objects.remove(lighting_components, do_unlink=True) - - -def ambient_color_to_component(world): - color = None - strength = None - try: - color = world.node_tree.nodes['Background'].inputs[0].default_value - strength = world.node_tree.nodes['Background'].inputs[1].default_value - except Exception as ex: - print("failed to parse ambient color: Only background is supported") - - - if color is not None and strength is not None: - colorRgba = f"Rgba(red: {color[0]}, green: {color[1]}, blue: {color[2]}, alpha: {color[3]})" - component = f"( color: {colorRgba}, strength: {strength})" - return component - return None - -def scene_shadows_to_component(scene): - cascade_size = scene.eevee.shadow_cascade_size - component = f"(cascade_size: {cascade_size})" - return component - -def scene_bloom_to_component(scene): - component = f"BloomSettings(intensity: {scene.eevee.bloom_intensity})" - return component - -def scene_ao_to_component(scene): - ssao = scene.eevee.use_gtao - component= "SSAOSettings()" - return component \ No newline at end of file diff --git a/tools/gltf_auto_export/modules/export_materials.py b/tools/gltf_auto_export/modules/export_materials.py deleted file mode 100644 index 4322a4d..0000000 --- a/tools/gltf_auto_export/modules/export_materials.py +++ /dev/null @@ -1,127 +0,0 @@ -import os -import bpy -from pathlib import Path - -from ..helpers.generate_and_export import generate_and_export - -from ..helpers.helpers_collections import (traverse_tree) -from ..auto_export.export_gltf import (export_gltf, generate_gltf_export_preferences) -from ..helpers.object_makers import make_cube - -# get materials per object, and injects the materialInfo component -def get_materials(object): - material_slots = object.material_slots - used_materials_names = [] - #materials_per_object = {} - current_project_name = Path(bpy.context.blend_data.filepath).stem - - for m in material_slots: - material = m.material - # print(" slot", m, "material", material) - used_materials_names.append(material.name) - # TODO:, also respect slots & export multiple materials if applicable ! - object['MaterialInfo'] = '(name: "'+material.name+'", source: "'+current_project_name + '")' - - return used_materials_names - -def clear_material_info(collection_names, library_scenes): - for scene in library_scenes: - root_collection = scene.collection - for cur_collection in traverse_tree(root_collection): - if cur_collection.name in collection_names: - for object in cur_collection.all_objects: - if 'MaterialInfo' in dict(object): # FIXME: hasattr does not work ???? - del object["MaterialInfo"] - - -def get_all_materials(collection_names, library_scenes): - #print("collecton", layerColl, "otot", layerColl.all_objects) #all_objects - used_material_names = [] - for scene in library_scenes: - root_collection = scene.collection - for cur_collection in traverse_tree(root_collection): - if cur_collection.name in collection_names: - for object in cur_collection.all_objects: - used_material_names = used_material_names + get_materials(object) - # we only want unique names - used_material_names = list(set(used_material_names)) - return used_material_names - - -# creates a new object with the applied material, for the material library -def make_material_object(name, location=[0,0,0], rotation=[0,0,0], scale=[1,1,1], material=None, collection=None): - #original_active_object = bpy.context.active_object - #bpy.ops.mesh.primitive_cube_add(size=0.1, location=location) - object = make_cube(name, location=location, rotation=rotation, scale=scale, collection=collection) - if material: - if object.data.materials: - # assign to 1st material slot - object.data.materials[0] = material - else: - # no slots - object.data.materials.append(material) - return object - - -# generates a materials scene: -def generate_materials_scene_content(root_collection, used_material_names): - for index, material_name in enumerate(used_material_names): - material = bpy.data.materials[material_name] - make_material_object("Material_"+material_name, [index * 0.2,0,0], material=material, collection=root_collection) - return {} - -def clear_materials_scene(temp_scene): - root_collection = temp_scene.collection - scene_objects = [o for o in root_collection.objects] - for object in scene_objects: - #print("removing ", object) - try: - mesh = bpy.data.meshes[object.name+"_Mesh"] - bpy.data.meshes.remove(mesh, do_unlink=True) - except Exception as error: - pass - #print("could not remove mesh", error) - - try: - bpy.data.objects.remove(object, do_unlink=True) - except:pass - - bpy.data.scenes.remove(temp_scene) - -# exports the materials used inside the current project: -# the name of the output path is /_materials_library.gltf/glb -def export_materials(collections, library_scenes, folder_path, addon_prefs): - gltf_export_preferences = generate_gltf_export_preferences(addon_prefs) - export_materials_path = getattr(addon_prefs,"export_materials_path") - export_root_folder = getattr(addon_prefs, "export_root_folder") - - - used_material_names = get_all_materials(collections, library_scenes) - current_project_name = Path(bpy.context.blend_data.filepath).stem - - export_settings = { **gltf_export_preferences, - 'use_active_scene': True, - 'use_active_collection':True, - 'use_active_collection_with_nested':True, - 'use_visible': False, - 'use_renderable': False, - 'export_apply':True - } - - gltf_output_path = os.path.join(export_root_folder, export_materials_path, current_project_name + "_materials_library") - - print(" exporting Materials to", gltf_output_path, ".gltf/glb") - - generate_and_export( - addon_prefs, - temp_scene_name="__materials_scene", - export_settings=export_settings, - gltf_output_path=gltf_output_path, - tempScene_filler= lambda temp_collection: generate_materials_scene_content(temp_collection, used_material_names), - tempScene_cleaner= lambda temp_scene, params: clear_materials_scene(temp_scene=temp_scene) - ) - - -def cleanup_materials(collections, library_scenes): - # remove temporary components - clear_material_info(collections, library_scenes) \ No newline at end of file diff --git a/tools/gltf_auto_export/pytest.ini b/tools/gltf_auto_export/pytest.ini deleted file mode 100644 index 591ed5c..0000000 --- a/tools/gltf_auto_export/pytest.ini +++ /dev/null @@ -1,9 +0,0 @@ -[pytest] -blender-template = ../../testing/bevy_example/art/testing.blend -addopts = -svv -testpaths = - tests - -# dependencies: -# pytest_blender -# pixelmatch \ No newline at end of file diff --git a/tools/gltf_auto_export/tests/__init__.py b/tools/gltf_auto_export/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tools/gltf_auto_export/tests/expected_bevy_hierarchy.json b/tools/gltf_auto_export/tests/expected_bevy_hierarchy.json deleted file mode 100644 index 150da44..0000000 --- a/tools/gltf_auto_export/tests/expected_bevy_hierarchy.json +++ /dev/null @@ -1 +0,0 @@ -{"Blueprint7_hierarchy.001":["Blueprint4_nested.001","Cube.001"],"Cylinder":["Cylinder.001","Cylinder.001"],"Blueprint8_animated_no_bones":["Cylinder.002"],"Blueprint7_hierarchy":["Cube.001"],"Collection 2":["Blueprint8_animated_no_bones","Collection 2 1","Empty_in_collection","Spot"],"Fox_mesh":["fox1","fox1"],"_rootJoint":["b_Root_00","b_Root_00"],"b_Root_00":["b_Hip_01","b_Hip_01"],"Blueprint1":["Blueprint1_mesh"],"Fox":["Fox_mesh","_rootJoint","Fox_mesh","_rootJoint"],"Light":["Light","DirectionalLight Gizmo"],"b_Spine01_02":["b_Spine02_03","b_Spine02_03"],"b_RightLeg01_019":["b_RightLeg02_020","b_RightLeg02_020"],"b_LeftFoot01_017":["b_LeftFoot02_018","b_LeftFoot02_018"],"b_LeftForeArm_010":["b_LeftHand_011","b_LeftHand_011"],"Collection":["Blueprint1.001","Blueprint4_nested","Blueprint6_animated","Blueprint7_hierarchy","Camera","Cube","Empty","External_blueprint","External_blueprint2","Light","Plane"],"Cylinder.001":["Cylinder.002","Blueprint7_hierarchy.001","Empty_as_child"],"b_Hip_01":["b_Spine01_02","b_Tail01_012","b_LeftLeg01_015","b_RightLeg01_019","b_Spine01_02","b_Tail01_012","b_LeftLeg01_015","b_RightLeg01_019"],"world":["no_name"],"Parent_Object":["Cube.003","Blueprint1","Cylinder.001"],"Blueprint6_animated.001":["Fox"],"Blueprint4_nested":["Blueprint3"],"Blueprint6_animated":["Fox"],"Cube.001":["Cube.002","Cylinder","Cube.002","Cylinder"],"b_Spine02_03":["b_Neck_04","b_RightUpperArm_06","b_LeftUpperArm_09","b_Neck_04","b_RightUpperArm_06","b_LeftUpperArm_09"],"b_LeftLeg01_015":["b_LeftLeg02_016","b_LeftLeg02_016"],"Blueprint4_nested.001":["Blueprint3"],"b_Tail02_013":["b_Tail03_014","b_Tail03_014"],"b_RightForeArm_07":["b_RightHand_08","b_RightHand_08"],"External_blueprint2_Cylinder":["Cylinder"],"Blueprint3":["Blueprint3_mesh","Blueprint3_mesh"],"External_blueprint2":["External_blueprint2_Cylinder","External_blueprint3"],"b_LeftUpperArm_09":["b_LeftForeArm_010","b_LeftForeArm_010"],"Cube":["Cube"],"Plane":["Plane"],"no_name":["Parent_Object","Blueprint6_animated.001","lighting_components_World","assets_list_World_components","Collection","Collection 2"],"Collection 2 1":["Empty_in_sub_collection"],"External_blueprint_mesh":["Cube.001"],"b_LeftLeg02_016":["b_LeftFoot01_017","b_LeftFoot01_017"],"Cylinder.002":["Cylinder.003"],"b_RightLeg02_020":["b_RightFoot01_021","b_RightFoot01_021"],"b_Neck_04":["b_Head_05","b_Head_05"],"b_RightUpperArm_06":["b_RightForeArm_07","b_RightForeArm_07"],"Spot":["Spot"],"External_blueprint3_Cone":["Cone"],"External_blueprint":["External_blueprint_mesh"],"Blueprint3_mesh":["Cylinder","Cylinder"],"External_blueprint3":["External_blueprint3_Cone"],"Camera":["Camera Gizmo"],"Blueprint1_mesh":["Cube.001","Cube.001"],"Blueprint1.001":["Blueprint1_mesh"],"b_Tail01_012":["b_Tail02_013","b_Tail02_013"],"b_RightFoot01_021":["b_RightFoot02_022","b_RightFoot02_022"]} \ No newline at end of file diff --git a/tools/gltf_auto_export/tests/expected_screenshot.png b/tools/gltf_auto_export/tests/expected_screenshot.png deleted file mode 100644 index 040ba94bcbc1a87d87cb004cef6c4133e7b37b24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 661441 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