* unfortunalty additional scene highlight that the current way of scene rename
detection needs to be removed as it breaks the saving process in general !
* 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
* fixed & improved the Blenvy crate README
* make a few things conditional on whether hot reload is enabled or not
* cleaned up very verbose debug messages
* a few renames & coherency pass
* cleanups cleanups, cleanups !
* 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