* feat(multiple blend files): added example of multi blend file workflow
* feat(tools/auto_export):
* added collection_instances_combine_mode superseeds & replaces "export nested blueprints", with a lot more flexibilty
* added preferences & ui settings
* added (optional) use of marked assets as replacement for "autoExport" collection flag
* added correct cleaning up of temporary sub_collections
* feat(tools/auto_export): change detection added for material changes
* feat(tools/auto_export): blueprints now also use the "combine" settings for nested collections
* feat(tools/auto_export): added correct cleanup of data when removing hollow scenes, so that there is no orphan data left behind
* feat(tools/auto_export): changes to nested collections are now triggering change detection of root
(exportable collections)
* feat(tools/auto_export): now actually useful tracebacks using traceback.format_exc()
* various minor fixes, cleanups & UI description improvements
* docs(README): updated & fleshed out docs
* closes#87
* closes#86
* closes#85
* closes#79
* closes#61
* closes#68
* closes#41
* feat(bevy_gltf_blueprints): improved error handling for clone_entity
* you will now get component name for components that have not been registered & thus cannot be cloned
* added a small example (in examples/bevy_gltf_blueprints/basic), just press 'U' at runtime to try to spawn an entity with unregistered components
* closes#81
* feat(bevy_gltf_blueprints):
* added support for nested blueprints
* added example/test for nested blueprints with multiple levels of nesting
* feat(tools/gltf_auto_export):
* implemented functionality to export nested blueprints/collection instances
* added add prefs to control nested blueprints export
* experiments with nested blueprints merge modes
* when exporting of nested blueprints is disabled, will not scan for nested blueprints
and thus no export them
* docs(): updated docs & added images for nested blueprints support
* feat(tools): scene component injection & export
- ambient light, shadowmap resolution, bloom intensity, ambient occlusion are now directly settable from scene components that are injected automatically in the scene
- relaxed requirements for changes(aka when to export gltf) for main scenes,
so that render , background etc changes also trigger a save
- added scene components examples
- added additional proxies & handling for camera & lights
- in relevant cases, made sure that entity specific components are not overridden by scene components
- added option to toggle scene level exports of params/ components
- ambient colour/ intensity is now also set as background/clear colour
- updated docs
* updates both gltf_auto_export & bevy_gltf_blueprints to avoid duplicating common materials across blueprints
* feat(tools/gltf_auto_export): added materials library export !
* export all materials in use by blueprints to a separate temporary scene with cubes (for now)
with the materials assigned
* injecting MaterialInfo components to each blueprint above with Material name + library name
* generated gltf is named based on the project/blend file, so multiple blend file projects
can each have their own material libraries
* added preferences & ui & handling to be able to toggle material library exports
* feat(bevy_gltf_blueprints): added support for materials library!
* material injection (toggleable via the plugin configuration)
* added example
* added materials library + texture files + updated assets
* added physics debug toggling
* updated documentation
* closes#63
* 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
* restrict main_menu system to only run in AppState::MenuRunning
* this is desired because hitting enter once we transition to AppState::AppRunning pressing enter will still trigger keycode.just_pressed in main_menu and set state to AppState::AppLoading and crash the game when it tries to create another scene, camera, etc...
* settable via a config flag & systems won't run if the flag is not set
* caches aabbs per blueprint name so they do not need to be recomputed multiple time for the same blueprint
* closes#56
* added basic assets & logic for scene switching upon reaching a trigger zone ! Works !
* added toggling of physics debug
* added handling of nested colliders for LevelTransitions
* fix/ addition for point light intensity scaling & shadows
* closes#40
* feat(examples): added basic_xpbd_physics example
* adapted code from rapier physics
* updated blend file & exported gltf files
* changes & tweaks to cargo files so the examples are scanned as they should be
* various minor tweaks
* 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
* fix exporter settings when changing blender project breaking the exporter
* add auto creation of library folder if it does not exist (also any gltf export path where folders are missing)
* main/level scene(s) now gets generated if there was no change, and they have never been generated before
* export_main_output_name => export_output_folder & the blueprints folder is now relative
to this one
* exported main scene gltf file name is now created based on the Blender scene name, not settable
* blueprints folder defaults to "library"
* the exporter now defaults to enabled blueprints, & enabled change detection in library
* added handling of export parameter changes
* ie when the gltf parameters (gltf vs glb, compression etc), are changed
the next time you save , all the models are re-exported
* feat(tools:gltf_auto_export): major overhaul & optimisation of library export
* added change detection handling so only the actually changed collections get exported on save
* works with actual changes (ie clicks/ selections don't count)
* this means "progressive" export of only the changed parts, WAY faster
* removed "export_on_library_changes" setting, which was semi redundant with the library toggle itself
* also scans for already existing exports on disk (for "first runs" in a Blender session)
* many smaller cleanups
* added logic to save/load export parameters in operator
* parameters are thus now persisted even if the addon is removed & added back
* based on standard gltf exporter
* operator presets are now fixed as well & can be used normally
* added injection of saved parameters in case there is a save attempts after installing the add_on
and there where previously saved settings
* feat(tools:gltf_auto_export): added support for multiple main & lib scenes
* with scene picking & filtering
* adding a scene to the list now only works once you selected a scene from the picker
* docs(tools/gltf_auto_export): updated docs
* fix(tools:bevy_gltf_blueprints):
* fixed missing rotation in blueprint collections (if there is any)
* fixed similar issues with scale
* fixed issues with active collection at the time of saving/export being poluted by temporary data
* refactor(bevy_gltf_blueprints): minor cleanups
* fixed bad default path for library
* added missing ComponentsFromGltfPlugin which causes the blueprint plugin not to work as expected if ComponentsFromGltfPlugin is not added elsewhere
* all info! calls are now debug! for a less spammy debugging experience
* refactor(examples:advanced):
* removed ComponentsFromGltfPlugin as that is now included directly in the blueprints plugin
* moved all physics (rapier) related code to the core/physics module
* closes#11
* bumped Blender tool version to 0.2
* changed storage of internal data to WindowManager instead of Scenes: this fixes a few issues & logical flaws
* updated docs accordingly
* 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
* 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
* library scene is not a must have anymore
* added option to scene prefered library scene name
* option to auto-export on library changes is more coherent
* renamed variables for more clarity
* y-up is default
* now using type_registration.type_info & matching instead of hackish string based ifs
* handling of most "value types"
* fleshed out example test components a bit more