* adds a new crate: ```bevy_registry_export``` to be able to create a json import of the registered component/type definitions
* adds a new Blender addon: ```bevy_components``` that takes that json data to generate custom UIs for components , to be to add & edit components easily in Blender
* also adds component metadata per object for more advanced features
* etc
* updates to bevy_gltf_components & bevy_gltf_blueprints to add legacy_mode to support the "old"/current style component definitions
* same with gltf_auto_export Blender add_on
* closes#60
* feat(bevy_gltf_save_load): saving & loading implemented
* created new crate for save & load features, uses & filters out blueprints for efficient loading
* saving & loading, even with dynamically spawned nested hierarchies works
* component filter , resource filter & save path root are configurable
* for saving: added removal & cleanup logic for children component with children
that have been filtered out: ie no more invalid children getting stored in the save files !
* added sending of event once saving is done
* feat(examples/save-load): example for the new crate
* loading level static & dynamic data as blueprints
* added a bit of ui when entering saving & loading states & cleanup when exiting
* feat(bevy_gltf_blueprints): significant rewrite of how the crate works
* simplified spawning process, no more spawning children containing blueprints etc
* simplified post process : instead of copying original entity into blueprint root
we now copy blueprint root data (components & children) into the original entity ! fixes#96
* much simpler code wise
* solves issue with needing to register components that we only use on the bevy side (not gltf)
since we are not copying the bevy data into the blueprints data
* added **copyComponents** helper to copy components from one entity to another, excluding existing
components on the target entity, & some bells & whistles
* **Name** is now optional when spawning a blueprint: closes#97
* **Transform** is now optional when spawning a blueprint: closes#98
* removed transform from bundle (BREAKING change)
* added (optional) **NoInBlueprint** component to have finer control over whether to inject the **InBlueprint** component inside spawned blueprint entities
* added (optional) **Library** component, so we can override library path when we want
* added (optional) **AddToGameWorld** component for convenience to automatically add entities to the game world, if there is one
* chore(bevy_gltf_components): removed verbose output, cleaned it up a bit
* feat(tools/auto_export): added option to split out "dynamic" objects in main scenes
* ie if a collection instance (or its original collection) has a "dynamic" (aka mutable, saveable etc)
flag it can get exported to a seperate gltf file (essentially acting like an "initial save")
* the rest of the levels (the "static" data) is exported without the dynamic objects and
can be reused with save files !
* split up code in logical modules instead of one giant file
* added module structure, imports etc
* updated README
* add storing & reloading of lists of scenes
* minor cleanups & tweaks
* closes#64
* moved gltf_auto_export specific docs/images inside the addon's folder
* updated main title image
* refactor(examples): moved examples into more logic folders & changed to allow for per example dependencies
* chore(): updated docs, added docs, updated deps , cargo files etc
* feat(animation): added example & boilerplate
* moved animations specific code to a different module
* added multiple robots & foxes
* added example of controlling animation based on distance from the player
* removed obsolete files
* added information about animation to READMEs
* updated dependencies
closes#26
* feat(bevy_gltf_components):
* create crate
* added SystemSet (GltfComponentsSet) to run process_loaded_scenes (where components are injected)
in a specific systemset & allow ordering other systems relative to it
* feat(bevy_gltf_blueprints):
* created crate
* made the blueprint library path configurable
* added BluePrintBundle helper
* added SystemSet (GltfBlueprintsSet) for better system ordering
* integrated into advanced demo
* feat(tools-blender-auto-export):
* renamed blender tool to gltf_auto_export
* rewritten auto_export
* added blueprint / prefab support
* creates scene with empties with BlueprintName components in the scene
* export of the main scene now exports this scene instead of real main scene
* changes collection stand in names in original scene & sets them back after export
to have correctly named collection instance exports
* also added an additional 'SpawnHere' component to not conflate BlueprintNames & spawning requests
* toggling & blueprint library output parameters added
* added correct handling/ restoring of saved selection when using blueprints
* feat(examples):
* added advanced example
* general example renamed to "basic", and cleaned up
* feat(various): a lot of experiments with saving & loading etc
* chore(assets): updated blend & generated assets
* fix(examples-advanced): disabling hot reloading as it messes up scenes in experiments with save & loading
* docs():
* added & fleshing out docs for the various crates & main README
* added process doc image & tweaks to README
* added missing licence info where relevant
* fixed broken links
* clarified some aspects
* added updated screenshots where relevant
* added tweaks & improvements etc
* split documentation between main docs & example docs
* clearer seperation between example, blender add on etc
* some minor code quality improvements based on Clippy linting
* minor tweaks & additions to Blender & gltf example files: swapped out one mesh collider
for a capsule collider for demo purposes
* cleanups, tweaks, badges etc
* refactor(): restructured code to turn the process_gltf (core) part into a crate
* changed process_gltf into a lib/crate basics
* changed current demo setup into an example that is importing the new crate
* updated imports in the crate side
* updated dependencies
* cleanups
* added more clear information about preUpdate vs setup
* improved README/ added use as crate examples
* switch to ron for components inside Blender
* related experiments & cleanups
* total overhaul & cleanup of physics proxies handling
* a lot of cleanups