* 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
* moved triggering of frame marker events to the blueprints crate
* added additional handling of frame markers for blueprint animations (yikes is this convoluted)
* added additional animated blueprint for testing blueprint animation markers
* 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
* now various forms of nesting with parenting (not within collections) should be handled correctly
* restructured a large part of creating copies / duplicates
* removed some obsolete code
* related cleanups
* allows to not be restricted by bevy's a bit weird logic for AnimationPlayers
* updated crate & tooling
* updated testing example with a bit more complex nesting cases for testing
* now trying to copy the animation to the "empty" placeholder using animation linking operator
* now in gltf viewer we can see the two animations/actions, but still nothing in Bevy
* closes#80
* preliminary work for further asset management from the Blender side without needing additional dependencies & boilerplate on the Bevy side
* feat(auto_export):
* now injecting list/tree of sub blueprints to main scenes/levels & blueprints
* made blueprints/asset list conditional on NOT legacy mode
* feat(gltf_blueprints):
* basics of dynamic loading of sub_blueprints
* added same kind of logic to the loading of material files
* also made a more generic variant of the BlueprintAssetLoadTracker
* added gltf file path for more informative error in case a gltf is missing
* refactor():
* made the various gltf assets loaded by bevy_asset_loader optional (to handle the case where they are not present)
* updated all examples accordingly
* chore(crates): fixed links, slight tweaks, bumped versions
* closes#163
* closes#153
* closes#154
* feat(bevy_components): added tools for diagnostics/ finding & replacing invalid & unregistered components
* added ui for listing invalid & unregistered components
* added boilerplate & functionality for component renaming/replacing
* injection of invalid status & message in case the conversion did not work well
* added deletion of components individual & bulk
* added handling of wrong string for unit structs : allows detection of more wrong values for components
* added progress bars for bulk operators
* added docs for new features
* added tests
* added small "attempt to fix" button for unit struct uis in case they are invalid
* feat(bevy_components): added progress indicators for from/to custom properties
* various other minor ui tweaks for workflow improvement
* chore(crates): updated crates to Bevy 0.13
* updated deps
* updated / changed code where relevant
* updated README files
* bumped version numbers for upcoming release
* updated rust-toolchain
* updated assets where relevant
* closes#132
* feat(bevy_gltf_components):
* added GltfProcessed flag component to improve performance of iteration over added<gltfExtras>
* closes#144
* light & shadow processing is now integrated, to match lights coming from Blender: you can now control whether
lights cast shadows, the cascade resolution , background color etc from Blender
* closes#155
* feat(bevy_registry_export): added boilerplate to make registry path relative to assets folder
* closes#137
* feat(tools): added boilerplate for internal tools
* clean zip file generator for blender add-on releases
* example gltf file generator
* feat(lighting): added components, exporter support & testing for blender-configurable shadows
* added BlenderLightShadows component to bevy_gltf_components
* added writing shadow information to gltf_auto_export
* updated tests
* closes#157
Co-authored-by: Jan Hohenheim <jan@hohenheim.ch>
* closes#133
* fix(gltf_auto_export): corrected ron value for "spawnHere" components
* fix(bevy_components): fixed handling of empty/ unit structs
* updated to/from prop_groups
* updated tests/ expected files
* bumped version
* removed verbose "watching schema file for changes"
* fix(bevy_gltf_components): fixed issue of incorect handling of empty component values in non legacy mode:
* aka: replacing empty component values (ron strings) with '()' should ONLY happen in legacy mode
* even more aka: ron strings for component values should not be altered when not in legacy mode (provided ron
strings should be valid)
* tests():
* changed bevy_component tests to use testing/bevy_example as source for registry data
* removed testing/bevy_registry_export, as it is redudant
* related tweaks & cleanups
* chore(crates): bumped up versions because of breaking change
* chore(examples): updated registry export example to use up-to-date / fixed components data
* chore(bevy_gltf_components): added back warning about legacy mode, in a less spammy way
* docs(bevy_components): added notes about v0.3 breaking changes
* fix(gltf_auto_export): added fix for correct "deep-copying" of objects & hierarchy so that animated
meshes & nested hierarchies get exported correctly
* test(gltf_auto_export):
* added visual testing to check for overall regression :
* added screenshoting in bevy app
* added visual compare with reference screenshot on python side
* added testing of correct export of animated models
* added testing of correct export of empties
* added testing of correct export of nested hierarchies
* added testing of correct export of blueprints, with & without components etc
* fixes#147