* 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
* added basic logic, ui, level selector operator etc
* fixed issues with asset dialog
* added experimental "always_export" flags for collections & scenes to enable always
exporting on save for select blueprints & levels (no logic yet, just UI)
* various tweaks & minor experiments
* node trees are now using the same logic as other types
* cleaned up & restructured code accordingly
* added more failure handling for project serialization & diffing
* experimenting with ways to deal with scene renaming
* minor tweaks
* manual tests are coherent, and allow for very fine grained changed detection, yeah !!
* overhauled generic_fields_hasher_evolved a bit
* fixed/ resolved issues with parameters handling for materials vs modifiers
* related minor tweaks & fixes
* rewrote & cleaned up material handling, seems to work well !
* attempts at unifying parsing of geometry/shader node parsing seems to lead to geometry node parameter changes not being dected
* wip
* finished & cleaned up modifier deep scan: works well !
* now toggleable via a setting
* same for the deep scan for materials
* rewrote the very messy materials scan, with a much improved generic_fields_hasher
* still need to add back an improved material node tree serializer
* fixed overhauled, cleaned up and improved settings change detection
* serialize_scene now generate a hash per object instead of keeping the details (useless)
* changed handling of gltf settings, so that only the actual non default, changed settings are saved
* a ton of minor changes & cleanups to get export working correctly: it works !
* started adding materials_in_depth_scan (wip) to be able to control more detailed (but costly) materials diffing for change detection
* migrated gltf settings handling to the new "generate_complete_settings_dict" helper
* tweaks/fixed to the internals of that function to get the actual correct data
* minor related tweaks & fixes
* restructured component settings to be used instead of the registry
* removed settings from registry
* fixed data access for the above
* added saving of component parameters
* added component settings pointer in blenvy core
* added loading of both auto_export & component settings in blenvy core's load_settings
* fixed handling of gltf dummy file & settings storage
* experimenting with best approach for settings diffing for auto export
* started (wip) moving out bevy_components settings from registry to indenpendant settings
* minor tweaks
* fixed/ overhauld asset & blueprint scanning
* added polling for blueprints (not 100% sure yet)
* add-on-prefs => settings
* removed the now obsolete auto-export operator & preperences
* a lot of other minor changes
* this is in preparation for future support in bevy & for more coherence & practicality
* overhauled metadata tooling
* overhauled most of the operators
* overhauled most of the UI
* all the basics & more work !
* unrelated: also started preping for auto_export operator removal
* removed a lot of obsolete code
* overhauled settings upsert
* added save & load of blenvy common settings
* removed most of the specific uis (mostly auto export)
* moved change detection logic out of auto export (wip)
* added helper to compare setting dicts
* cleaned up some incoherent naming
* stripped auto_export of a lot of its internals (wip)
* main settings ui overhaul: now components & auto export provide their own settings UI function
* added Asset propertygroup & User Assets collections to collections & scenes to store them explicitely
* overhauled UI to make use of this : also means names & paths are editable after the fact
* overhauled testing asset hierarchy scan accordingly
* added expertimental export of bevy_asset_loader compatible asset.ron files per level
* related tweaks & additions
* added correct injection of assets + export path to blueprints
* moved a few common elements to "core" for better reuse
* more tweaks/ experiments with paths handling
* moved & overhauled a few of the blueprint & assets tools
* lots of minor tweaks & changes
* minor tweaks & improvements to assets handling
* renamed a few auto export preferences for more coherence
* "assets" folder is now mandatory again and used by the various sub asset types
* blueprints/levels/materials paths in auto_export are not overwrite their relative values anymore,
but added their "full" variants & changed code using full paths to use those
* added back gltf exporter post export callback, in a cleaner fashion
* changing (wip) the way the various relative folders are auto generated in the folder selection UI
* lots of other minor tweaks & improvements
* improvements to assets ui
* assets ui now specific to per level data, not based on selection anymore
* blueprints ui now presents assets per blueprint
* a lot of tweaks & improvements in the areas above
* changed all various uses of short name to long_name
* same for type_names
* also changed bevy_registry_export to output "long_name" instead of "title" for coherence
* related changes & tweaks
* still WIP
* added handling of additional map flags
* added map handling in conversion from prop group
* added basic (& clunky) UI
* related boilerplate
* added various testing components to try this out & experiment with
* added operator to deal with the root path & sub paths in a smarter way
* various paths are not settable "manually" as pure text anymore
* overhauled ui for paths
* overhauled internal handling of paths
* further refinements to paths handling
* related fixes & tweaks
* UI restructure & split out of change detection
* basic export/assets folder now only available in Ui when blueprints are not in use
* overhauled bevy integration tests, now done in "two passes" as the external library needs to be exported first
* cleanups & improvements to the test above
* started overhauling & massively simplifying the rest of the tests, starting with change_tracking
* operator ui is not a file browser anymore
* restructured/recreated ui to work inside a props_dialog
* added ui_only toggles to control the "pseudo panels" (as panels are not supported in props dialogs)
* regrouped a few toggle in a more logical manner
* change sub type of a few properties to be directories
* some related cleanups
* added "marked" flag to Blueprints structs
* added correct support for combine modes for blueprints & levels
* added correct support for nested blueprints
* added additional helpers for blueprints
* fleshed out tests even more
* fixed some tests
* updated tests data
* updated both get_collections & get_levels to use information about combine modes
* basic implementation, seems to work, needs more tests & logic check
* related changes
* fixed issues with renaming after export (should have always been broken ???)
* fleshed out scene serialisation some more (parents & collections handling) + bubbling
* disabled bulk of tracker
* added notes for get collections & scenes about combine mode
* fixed some issues with main operator
* updated tests for more correctness
* etc
* aka added basics of serialization of scene(s) & brute compare
* added basics for transforms, custom properties, meshes, cameras & lights, & armatures
* should only run on save as I can imagine it could get quite costly, computation wise
* added some boilerplate for determining changed objects
* not hooked up to actual exporter yet
* already way more reliable than the depsgraph:
* ignores selections & related weird issues
* undo /redo proof
* expandable
* forcing depsgraph update when applying changes to gltf export settings
* lots of additional boilerplate for params change detection
* further updates to get information about changed parameters & objects in tracker
* a lot of related tweaks & changes
chore(bevy_components): removed annoying verbose info messages
* continued restructure of auto_export internals
* split out get_levels_to_export
* simplified, cleaned up & made get_collections_to_export more efficient (skipping useless computations based
on settings)
* moved more settings to addon_prefs, created boilerplate to create copies & inject additional params
* modified tracker's use of the above, so that the actual list of future exports is displayed
* a lot of other tweaks & cleanups
* added "hack-ish" tweak to make sure component additions/delections etc
are picked up correctly by the change tracker in auto_export
* cleaned up a few operator names
* very minor tweaks
* cleaned up most of the change detection tracking
* updated/ fleshed out & improved the tests
* improved sidebar ui (wip)
* moved listing of blueprints to export to sidebar
* improved display of changed objects
* currently restructuring rest of the code to be able to display BEFORE saving
what will get exported & what not
* a ton of other cleanups & tweaks
* moved temp scene prefix to new 'constants' file, updated code accordingly
* fixed, updated & refactored handling of auto export & gltf parameters
* added additional tests to changed_parameters
* added display of changes since last save in new side tab
* more investigation & fix attempts for change detection...
* various related tweaks & cleanups
* auto_export now defaults to being disabled (otherwise you will get export attempts etc even if you only
had the add-on installed !
* modified logic accordingly
* various related tweaks
* adjusted tests
* added workaround for backing up & restoring gltf export settings if there where any,
because it turns out in the glTF2_pre_export_callback, they already get created !
* added workaround for deleting the temporary gltf file, aka it needs an additional timer, because
the post export callback fires too early !
* added workaround to deal with the fact that operator uis have global state !!
aka make sure the settings used when calling the gltf exporter do not "contaminate" the normal exporter
* it all works, but sigh ...
* now all centralized in the operator's did_export_settings_change() function
* now works correctly ! ie only compares the parameters for auto & gltf
at the time of exporting ! ie it does not matter anymore how many parameters you changed, until you save/export
* this solves a lot of randomness bugs in change detection
* related & various cleanups
* added both gltf exporter button AND auto export button to side bar
* added storage of gltf settings
* auto_export now uses stored gltf settings
* updated override strategies of defaults vs gltf settings
* removed all gltf specific (not auto export) parameters from preferences
* updated auto export operator params changed logic to use updated system
* updated bevy integration test
* ui improvements
* various tweaks
* got a basic working version that runs the standard exporter with some overrides,
deletes the temporary exported gltf file, extracts the scene level settings etc
* convoluted as hell , but still better than the alternatives
* renamed Animated component to AnimationInfos, fleshed it out with additional
frame informations etc
* restructured & cleaned up Bevy & Blender code in those areas a bit
* various related minor tweaks
* added additional component on the Bevy side + experimented with handling the data in the testing setup
* added parsing of animation markers on the Blender side + injection of custom property/ component
* rough around the edges, but the basics work !
* auto_export now injecting the list of available animations into the "Animated" component
for any object with animations
* modified bevy side struct to match
* fleshed out testing of hierarchy
* added export of serialized hierarchy from the bevy side & comparing it with a reference
one on the python side
* various tweaks