* context menu + shortcut + operators to quickly edit /and/or create new blueprints in a seperate scene
* boilerplate based on the awesome work by slyedoc
* "one keyboard shortcut" workflow: edit if blueprint instance is selected, create if not, stop editing if editing is already in progress
* updated list of contributors
* all boilerplate , including finding relevant armatures & their objects, exporting animations, settings & ui etc
added
* renamed material library to "split materials"
* a ton of related changes
* cleanups to dynamic/static object detection
* filtered out MaterialInfos from "fixable" Components
* will now attempt to inject actual component for materialInfos
* if it fails, falls back to previous custom property logic
* added ability to disable ui for certain components
* added display of "internal" components
* internal components such as MaterialInfos are now viewable but disabled (non editable) for more clarity
* experimenting with auto_reload of registry if missing (wip)
* minor tweaks
* no more re-raised errors
* no more remaining "___temp_scenes" or object renames aka no more breaking user's blend files
* also added boilerplate for displaying more accurate traceback & used it to still display the export errors correctly
* now the blender side exports .meta.ron files in addition to the gltf files
* these ron files contain the list of assets that are then preloaded on the Bevy side
* removed the double loading of gltf files on the Bevy side, replaced with use of the new metadata/asset files
* added bevy_common_assets/ ron as dependency for the file loading
* big cleanup & partial restructure of the spawning steps
* fixed premature removal of the BlueprintAssetsLoadState component that was leading to missing material gltf files in
setups withouth hot reload
* added OriginalVisibility component & logic to correctly reset the visibility of entities to what they where before
the blueprint spawning
* fixed a few not so visible issues with some components staying around after the blueprint instance has become "ready"
* moved a number of component insertions to the new "get the assets list from the meta file"
* also, loading speed feels faster ! (thanks to now loading the gltf files only once)
* minor various tweaks & cleanups
* now correctly handling multi material meshes that have more materials in their slots as there are actual
materials applied
* per-blueprint materials are now correctly inserted/updated even when there are no material changes (ie cases where
the ordering of slots etc is changed on a mesh)
* conditions for trigerring exports of levels & materials are more coherent and exports are now trigerred on export setting
changes (as they should have been !)
* minor cleanups
* modified materials detection & export accordingly
* modified material paths & co accordingly (all much simpler !)
* modified assets_scan helpers to also include material assets
* modified & massively cleaned up BlueprintAsset injection
* further cleanups & fixes for materials handling
* also removed a lot of obsolete code dealing with assets
* ever more cleanups !
* relying on the fact that the mesh-per-material generated by the gltf exporter is deterministic:
ie always uses the ordering of materials in an object
* added new component MaterialInfos (plural) with a vec of MaterialInfo's
* modified how materials per object are gathered on the Blender side
* and modified the processing on the Bevy side to also use the ordered approach
* seems to work well so far !
* updated & improved & fixed filtering out of custom properties for export that are not components
* now also for the temporary scenes
* no more spurious "xxx is not registered" in Bevy for the Blender only custom properties
* cleanups
* changed blenvy.component_add operator to be useable in scripts
* experimented with using the above to add MaterialInfos as normal components
* cleaned up & changed info output from auto_export steps
* minor tweaks
* fixed missing internals
* fixed/changed logic of finding existing material files
* minor related fixes
* likely last set of fixes with current materials system before switching to one material file per material
* added a fix for BlueprintInfo path issues on non posix platform by replacing specific
os.path.join calls with posixpath.join ones (blueprint info paths, export_path, material_path etc)
should hopefully solve spawning issues on Windows
* restructured & improved materials export: now uses same logic as blueprints, with seperate determining of
what materials changed & the export itself
* minor tweaks
* 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
* 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)
* 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
* 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
* 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
* 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