Commit Graph

193 Commits

Author SHA1 Message Date
kaosat.dev 09d1218942 feat(Blenvy): cleanups, docs & 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 !
2024-07-21 01:44:05 +02:00
kaosat.dev 1e262cb724 feat(Blenvy):
* more documentation work
 * moved examples to the root of examples
 * minor tweaks
2024-07-20 12:36:59 +02:00
kaosat.dev 2067ed4ec6 docs(Blenvy:Blender): a lot of docs work:
* added basic overview of settings
 * added specific files/sections for components, export, blueprints & levels
 * added relevant images where applicable (wip)

feat(Blenvy:Blender): minor ui tweaks
2024-07-20 02:24:42 +02:00
kaosat.dev ee14ec69bd docs(Blenvy:Blender): continued work on docs 2024-07-19 14:57:40 +02:00
kaosat.dev 4fcf842405 feat(Blenvy:Blender): minor UI tweaks 2024-07-19 14:20:01 +02:00
kaosat.dev 5aa666ef00 feat(Blenvy:Blender): settings/configuration is now also tabbed for less scrolling & confusion 2024-07-19 14:13:48 +02:00
kaosat.dev eac93ce68f feat(Blenvy:Blender):
* 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
2024-07-19 12:06:44 +02:00
kaosat.dev 6bc0ec0782 feat(Blenvy:Blender): added blender_manifest.toml to be compatible with Blender 4.2 extensions 2024-07-19 01:11:31 +02:00
kaosat.dev 3a8844b7a1 chore(tests): minor tweaks 2024-07-18 11:46:38 +02:00
kaosat.dev b756819088 chore(Blenvy): more general cleanups & doc updates
* also more work done on example upgrades
2024-07-16 23:51:49 +02:00
kaosat.dev c1e2bb6ecf fix(Blenvy:Blender): fixed issues with delete operator for "custom property" style components 2024-07-16 11:03:11 +02:00
kaosat.dev 3380f4c71d chore(): updated docs, moved examples around etc
* 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
2024-07-16 01:18:31 +02:00
kaosat.dev 9d30d18416 feat(Blenvy:Blender): fixed a number of remaining issues with project serialization & attempted to fix scene rename detection
* 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
2024-07-15 01:46:27 +02:00
kaosat.dev 1059858363 feat(Blenvy:Blender): overhauled & upgraded project serialization & diffing
* 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
2024-07-11 14:41:15 +02:00
kaosat.dev 270202d24f feat(Blenvy:Blender): fixes & enhancements to auto export, particularly assets
* 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
2024-07-11 01:06:27 +02:00
kaosat.dev 8602383445 feat(Blenvy:Bevy):
* 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
2024-07-10 09:01:45 +02:00
kaosat.dev a947d3b7d1 feat(Blenvy:Bevy): added built in support for Scene/Level Animations
* 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
2024-07-08 21:45:29 +02:00
kaosat.dev f8a1482aaa chore(Blenvy): minor cleanups 2024-07-08 13:57:01 +02:00
kaosat.dev c326a11243 feat(Blenvy:Bevy): added back basics of animation support
* 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)
2024-07-08 13:14:06 +02:00
kaosat.dev 3099f98532 feat(Blenvy:Bevy): cleaning up
* removed clutter
 * moved hot reload to seperate module
 * added back "assets loaded" event, removed useless events
 * registered HideUntilReady component for users
 * minor tweaks & cleanups
2024-07-08 09:49:47 +02:00
kaosat.dev 478be88a55 feat(Blenvy:Blender):
* 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
2024-07-07 22:08:59 +02:00
kaosat.dev fbcd025dc1 feat(Blenvy): continued restructuring & upgrade of blueprint spawning logic
* 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
2024-07-05 12:56:51 +02:00
kaosat.dev 6dde9823ed feat(Blenvy:Bevy): almost complete rework of blueprint spawning workflow (wip)
* 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
2024-07-02 14:32:39 +02:00
kaosat.dev 07d58467c4 feat(Blenvy):
* 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
2024-07-01 23:35:59 +02:00
kaosat.dev 6cbb144746 feat(Blenvy:Bevy):
* 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
2024-06-29 01:51:49 +02:00
kaosat.dev fb54b0c913 feat(Blenvy:Blender): upgreadable components: disable ui for external items 2024-06-29 00:56:07 +02:00
kaosat.dev 547315aadc feat(Blenvy:Blender): fixed selection issues ! 2024-06-29 00:45:26 +02:00
kaosat.dev c2e73b7e8b feat(Blenvy:blender):
* 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
2024-06-28 00:14:30 +02:00
kaosat.dev 3961e0b22c feat(Blenvy:blender): made it impossible to add or update components that are not in the registry
* minor tweaks & cleanups
2024-06-27 09:40:59 +02:00
kaosat.dev f25829f8cd feat(Blenvy:blender):
* fixed handling of colors according to changes in v0.14
 * fixed issues with hashmaps having enums as values
2024-06-26 14:34:44 +02:00
kaosat.dev 31f6a0f122 feat(blenvy:blender): a ton of cleanups, fixes & 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
2024-06-25 18:34:07 +02:00
kaosat.dev ee5c74aa9e refactor(Blenvy): deprecated BlueprintName (& BluprintPath), and replaced them with BlueprintInfo
* 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
2024-06-25 00:45:39 +02:00
kaosat.dev 253d33f1bb feat(asset preloading): experimented with using the underlying gltf crate
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
2024-06-24 23:47:36 +02:00
kaosat.dev e232fedc4b chore(Blenvy): minor tweaks 2024-06-24 10:21:51 +02:00
kaosat.dev 4b1268f0a3 feat(Blenvy):
* 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
2024-06-23 19:14:00 +02:00
kaosat.dev ed5dfeb3cd feat(Blenvy): removed local assets, as they are useless, renamed AllAssets to BlenvyAssets 2024-06-22 13:58:43 +02:00
kaosat.dev c162c33575 feat(Blenvy): added support for Bevy components to meshes & materials
* 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
2024-06-21 12:21:32 +02:00
kaosat.dev 56763879b1 feat(Blenvy): added an "all-in-one" (almost) Blenvy crate
* 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
2024-06-20 00:05:02 +02:00
kaosat.dev 8b4bb473dc feat(Blenvy): overhauled pieces of export to make use of Bevy 0.14 upgrade
* aka we have scene_gltf_extras, no more need for cumbersome xxx_components objects !
 * still wip
2024-06-18 22:32:17 +02:00
kaosat.dev 2abdb7f64e feat(Blenvy): fixed & overhauled components processing & hashing
* 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
2024-06-17 11:44:08 +02:00
kaosat.dev e86920168a feat(blenvy): significant breaking changes in the way components are handled
* 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
2024-06-14 23:15:51 +02:00
kaosat.dev c282dab585 feat(Blenvy): another big cleanup, fixing & improvement pass for Components
* 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
2024-06-13 16:11:06 +02:00
kaosat.dev 7d4b0a4bae feat(Blenvy): more improvements to repair/upgrade components UI 2024-06-12 22:28:36 +02:00
kaosat.dev ba4e2c03e6 feat(Blenvy): fixed/ updated rename/fixing tools
* now works correctly for both single, bulk, on objects & collections
 * related fixes , tweaks & UI improvements
2024-06-12 21:34:23 +02:00
kaosat.dev b424a73a46 feat(Blenvy): renaming/coherency & component workflow pass
* 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
2024-06-12 12:41:50 +02:00
kaosat.dev 9cb0c6262e feat(Blenvy): huge improvements to components UI:
* 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
2024-06-11 18:12:10 +02:00
kaosat.dev 295c387132 refactor(Blenvy): BIG cleanup
* 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
2024-06-10 14:08:16 +02:00
kaosat.dev 763a520b32 feat(Blenvy):
* added some material helpers (wip)
 * copied over old docs & images from old add-ons
2024-06-10 13:58:30 +02:00
kaosat.dev ed0c85b66e feat(Blenvy): more work done on materials handling overhaul (wip)
* 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
2024-06-10 00:31:23 +02:00
kaosat.dev 1fdb45bab6 feat(Blenvy): basic working loading of levels & assets
* 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
2024-06-09 23:14:49 +02:00