* closes#80
* preliminary work for further asset management from the Blender side without needing additional dependencies & boilerplate on the Bevy side
* feat(auto_export):
* now injecting list/tree of sub blueprints to main scenes/levels & blueprints
* made blueprints/asset list conditional on NOT legacy mode
* feat(gltf_blueprints):
* basics of dynamic loading of sub_blueprints
* added same kind of logic to the loading of material files
* also made a more generic variant of the BlueprintAssetLoadTracker
* added gltf file path for more informative error in case a gltf is missing
* refactor():
* made the various gltf assets loaded by bevy_asset_loader optional (to handle the case where they are not present)
* updated all examples accordingly
* chore(crates): fixed links, slight tweaks, bumped versions
* chore(crates): updated crates to Bevy 0.13
* updated deps
* updated / changed code where relevant
* updated README files
* bumped version numbers for upcoming release
* updated rust-toolchain
* updated assets where relevant
* closes#132
* feat(bevy_gltf_components):
* added GltfProcessed flag component to improve performance of iteration over added<gltfExtras>
* closes#144
* light & shadow processing is now integrated, to match lights coming from Blender: you can now control whether
lights cast shadows, the cascade resolution , background color etc from Blender
* closes#155
* feat(bevy_registry_export): added boilerplate to make registry path relative to assets folder
* closes#137
* feat(tools): added boilerplate for internal tools
* clean zip file generator for blender add-on releases
* example gltf file generator
* feat(lighting): added components, exporter support & testing for blender-configurable shadows
* added BlenderLightShadows component to bevy_gltf_components
* added writing shadow information to gltf_auto_export
* updated tests
* closes#157
Co-authored-by: Jan Hohenheim <jan@hohenheim.ch>
* closes#133
* fix(gltf_auto_export): corrected ron value for "spawnHere" components
* fix(bevy_components): fixed handling of empty/ unit structs
* updated to/from prop_groups
* updated tests/ expected files
* bumped version
* removed verbose "watching schema file for changes"
* fix(bevy_gltf_components): fixed issue of incorect handling of empty component values in non legacy mode:
* aka: replacing empty component values (ron strings) with '()' should ONLY happen in legacy mode
* even more aka: ron strings for component values should not be altered when not in legacy mode (provided ron
strings should be valid)
* tests():
* changed bevy_component tests to use testing/bevy_example as source for registry data
* removed testing/bevy_registry_export, as it is redudant
* related tweaks & cleanups
* chore(crates): bumped up versions because of breaking change
* chore(examples): updated registry export example to use up-to-date / fixed components data
* chore(bevy_gltf_components): added back warning about legacy mode, in a less spammy way
* docs(bevy_components): added notes about v0.3 breaking changes
* 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
* relaxed bevy version requirements to work with all v0.11.xx versions & the dependency between blueprints & components crate
* bevy_gltf_blueprints: added a more clear warning message for the random timing/ no children in scene issue
* docs(crates): modified the install instruction to be patch version agnostic
* 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