* coherence pass : "main" scenes & co renamed to "level" scenes & co
* auto export now toggled ON by default, but bailing out early if there are no main & lib scenes added
* UI improvement for adding level/lib scenes
* minor cleanups
* started docs for Blender Blenvy add-on
* started migration guide
* got rid of a few examples
* moved (for now, wip) all remaining examples under the Blenvy umbrella
* updated main README
* fixed issue with undeleted bin file when setting gltf export options for gltf/bin mode
* updated release tools (internal_generate_release_zips)
* moved main TODO to root of repo
* a lot of related prep work & cleanup
* moved out collections serialization from scenes loop
* fixed issue with materials hashing
* fixed issue with custom properties hashing
* fixed issue with scene properties hashing
* minor related tweaks
* still pulling my hair out over weirdness with scene rename detection and handling
* now also outputing seperate collections hash & materials hash from serialize_project
* changed project_diff to do diffing of materials & collections
* hooked up output data to export logic
* related tweaks & improvements
* injected BlueprintAssets are now reusing existing asset scan boilerplate (wip)
* added back per blueprint assets
* experimenting with how to export all vs local only assets
* renamed (finally) export main scenes
* found issue with scene serialization (hellooo collections !), working on fix
* fixed huge logical error in component processing (require Name components) that was breaking
scene level extras/components
* added a convience from_path function to BlueprintInfos to generate name from path
* minor tweaks
* VERY clunky code so far, needs a massive cleanup, but works !
* modified relevant code
* modified testing/example
* related minor tweaks & changes
* small changes to blend project to test instance vs blueprint level animation controls
* updated logic to account for bevy 0.14 changes (animation graph, transitions component etc)
* added back & updated per blueprint animation example to the testing project
* updated matching blend file with new style components
* spawnHere => spawnBlueprint
* added back tagging of Blueprint contents with "InBlueprint" / noInBlueprint
* overall cleanup pass (wip)
* removed clutter
* moved hot reload to seperate module
* added back "assets loaded" event, removed useless events
* registered HideUntilReady component for users
* minor tweaks & cleanups
* fixed issue with parenting due to Blender's very weird matrix_parent_inverse ... solves all issues with children of empties
blueprint instances within blueprint instances etc having the wrong transforms in some cases
* fixed bad gltf format propagation: semi ok solution, but a cleaner one would be better
* added additional custom properties to the blacklist , level/blueprint exports are now using the one in the constants
instead of a local copy
* minor tweaks & cleanups
* updated simple test to include deep nested blueprint instance within blueprint instance case
* restructured materials handling to use the new logic, removed clutter
* experimenting with solutions to the deeply nested blueprint instances problem
* moved out all obsolete code to "old" folder, keeeping around until all problems are solved
* added hack-ish solution to the "aabb system as post process" implementation
* various minor boilerprate changes
* added logic to track spawning of sub blueprints
* added ability to determine when a blueprint instance is truly ready
(aka all its assets have been loaded, blueprint scene & sub scenes spawned & processed etc)
* reworked spawning steps for more determinism & reliability
* no more "seperate" spawning post process
* lots of related changes
* still messy but functional
* Blender: some additional component filtering for upgrade ui
* Bevy:
* experimenting with overhauled blueprint spawning logic, sub-blueprint instance tracking etc
* added a more simple blend file to test things out with
* cleaned up hot reload code a bit
* renamed a few things for clarity
* experimented with hiding entity while spawning & showing it again after spawn to
try and remove "flashes" happening when spawning blueprints with lights
* for testing example, fixed dynamic spawner test
* fixed issues with selections
* discovered more issues with selection button in "upgrade/rename" screen, partially fixed
* improved visualization of selections for objects, collections, meshes & materials, including auto-switching
to the correct properties tab for clarity
* fixed ui issues in the upgrade components screen
* made distinction between local & remote ones clearer
* minor tweaks & improvements
* fixed bad hashing causing hashed project across two different blender sessions to appear different
aka, no more systematic re-export of everything when reloading a project in blender !
* fixed issues with modifier & material hashing that was also causing overly eager change detection
* previous_xxx_settings are now only saved AFTER a sucessfull export, for coherence
* added more fine grained setting change detection (aka some setting changes do not require a re-export of all levels & blueprints !)
* fixed handling of level & library scene names as part of the settings
* fixed numerous issues with core, auto_export & component settings
* cleaned up a ton of very verbose debug message
* BlenvyAssets => BlueprintAssets
* a lot of minor cleanups
* contains both name & path
* also experimented with merging the asset load tracking into BlenvyAssets by adding the fields from the
asset loading tracker & ignoring them/ defaulting them for deserialization
to get the list of assets & preload them
* a tiny bit clunky but works and is somewhat cleaner than the previous "staggered loading" approach
* enables having level load state (could be used for progress information & co)
* modified blueprints spawning to used the new system
* various cleanups & related tweaks
* fixed issues on the Blender side when with the formating of the ron data for assets
* fixed handling of scene gltf_extras
* fixed handling of colors for BlenderBackgroundShader
* added scene tonemapping & scene colorgrading and handling on the Bevy side.
* experimented with exporting ron asset files, updated & overhauled asset file generation, adapted
for blueprints
* various cleanups
* added a much improved "get current selection in outliner" helper function
* added MESH and MATERIAL variants to the type enums
* added metadata to both Mesh & Material types
* various related tweaks & improvements
* includes components, registry export & blueprints
* overhauled settings / config to match the new structure
* keeping the different sub plugins for now
* cleaned up some of the internals of the blueprints code
* related tweaks & cleanups
* added events to blueprints : for when assets have been loaded & when a blueprint has been spawned (wip)
* various experiments with blueprints
* updated testing to make use of new crate & logic
* now correctly using nested long names + attribute name for structs
* so no more hashing collisions for all test cases !
* restructured internals of property group generation & registration
* dynamically generated property group classes are now unregistered correctly
* lots of minor related tweaks & improvements
* to fix issues with hash collisions because of incomplete & incorect "component paths"
(ie the different nesting levels of the structs within components)
* removed short name nested component path passing
* changed the way the composite paths are created & the hash is generated
* a lot of other related changes
* also changed the registry's default path, to use the blenvy level assets path
* fixed broken registry reload
* fixed incorect handling of the "invalid" flag when reloading the registry should fix that
* fixed unreliable generate_propGroup_name : now uses tiger-hash to generate hashes of nested paths + long names
this ensures that even if there are additions & removals to the registry, it does not break existing components !
* fixed & overhauled list & map components ui handling for objects + collections/blueprints
* merged the various list component ui operators into a single one
* removed obsolete code in registry & components
* improved handling of invalid components in the UI: now they are not displayed ! much cleaner & simpler
* overall cleanup to components
* lots of minor tweaks & co
* all operators, panels etc are now respecting the Blender naming convention
* tweaks & improvements to some of the component operators
* clearer naming for the "advanced" tools for components
* removed obsolete / overly complex pieces of UI
* complete rework of component selections: much nicer, searchable, simpler ui
* main component selector & per "error" component selectors , as well as bulk replace
ones are now all independant
* overhauled a lot of helpers to work with both objects & collections
* reworked ui ordering for upgrade/ rename
* more clearer status display for invalid components
* etc etc
* 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
* split out materials scan from injection of materialInfo into objects
* added material Asset injection into list of assets at scene level
* related tweaks & cleanups
* continued overhaul on the bevy side
* removed/ obsoleted blueprintsList
* now using AllAssets (meh naming)
* modified example & internals to enable loading levels as Blueprints as well
* internals quite messy for now, needs a big cleanup still
* disabled materials library for now, needs to be overhauled to make use of asset logic as well
* added more mock assets for testing
* related changes to blender & bevy side
* added extraction of local/all (wip) assets into auto export
* added injection of LocalAssets & AllAssets (unsure)
* related tweaks & experiments
* also cleaned up asset ui for external assets
* started updating the bevy integration tests
* main/library/nothing is now an enumProperty on scenes themselves
* main/library scene listing is a dynamic property of the Blenvy core class instead of CollectionProperties
* this means that removing / renaming scenes using the normal blender workflow automatically changes things for Blenvy as well !
* overhauled & simplified main/library scenes ui accordingly
* same for all the code that needed access to the main/library scenes
* added main/library scene NAMES computed property for convenience
* fixes & experiment to auto export
* added support for "always export" functionality for blueprints & levels
* fixed issues with asset management
* fixed issues with tracker
* more ui improvements (display of the number of assets etc)
* a lot more minor tweaks