Commit Graph

113 Commits

Author SHA1 Message Date
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
kaosat.dev
2a74dedcb8 feat(Blenvy & crates):
* added injection of assets lists to blueprints at export time
 * assets & co related tweaks & experiments
 * tweaks on the bevy side
 * all wip !
2024-06-09 10:54:10 +02:00
kaosat.dev
ba25c3cb20 feat(Blenvy): experimenting with injection of assets data into exported scenes/gltf files
* 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
2024-06-08 11:54:40 +02:00
kaosat.dev
6f6b813474 feat(Blenvy): total overhaul of main/library scene handling
* 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
2024-06-07 14:08:28 +02:00
kaosat.dev
29c8eba49c feat(Blenvy): ui tweaks 2024-06-06 20:16:32 +02:00
kaosat.dev
0cf3ec99cb feat(Blenvy): more work done on generated assets
* quick superficial hooking up of data
 * more ui improvements & tweaks
 * various minor related experiments
2024-06-06 00:12:17 +02:00
kaosat.dev
ec95ab5541 feat(Blenvy): a ton of minor & bigger improvements
* 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
2024-06-05 17:09:03 +02:00
kaosat.dev
edd3d3150f feat(Blenvy): ui improvements & fixes for assets for blueprints & levels
* fixed broken removal of assets
 * added visual indication of prevention of adding the same asset twice
 * removed "asset type" selection, useless
 * improved & streamlined UI
 * related tweaks
2024-06-05 11:17:49 +02:00
kaosat.dev
f9cb6de4bc feat(Blenvy): added "levels" tab (likely going to be replacing the "assets" tab)
* 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
2024-06-04 23:16:16 +02:00
kaosat.dev
2b6e17a6b7 feat(Blenvy): improvements to change detection & co
* 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
2024-06-04 14:37:29 +02:00
kaosat.dev
0b5cdcc4a5 feat(Blenvy): unified & cleaned up node trees handling for materials/geonodes
* 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
2024-06-02 00:14:24 +02:00
kaosat.dev
91f38255dd feat(blenvy): further upgrade & cleanup work for serialize_scene
* 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
2024-05-31 15:28:58 +02:00
kaosat.dev
c557334b75 feat(Blenvy): modifier deep scan is done & huge cleanups
* 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
2024-05-30 16:19:10 +02:00
kaosat.dev
cdab4c50f7 feat(blenvy):
* restructured & cleaned up auto export code
 * added very very basic serialization of modifiers (wip)
2024-05-29 23:34:47 +02:00
kaosat.dev
a0b1959a43 feat(Blenvy): fixed all broken/ missing auto export elements
* 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
2024-05-28 16:56:28 +02:00
kaosat.dev
2187fee4c8 feat(Blenvy):
* 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
2024-05-27 06:47:23 +02:00
kaosat.dev
2470736f81 feat(blenvy): fixes & improvements to the settings handling 2024-05-26 20:09:15 +02:00
kaosat.dev
b957f0573b feat(Blenvy): settings coherency pass
* 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
2024-05-26 18:33:06 +02:00
kaosat.dev
ea982d330f refactor(Blenvy): moved components & auto export into a sub folder for clarity 2024-05-25 13:26:30 +02:00
kaosat.dev
26e75742b2 feat(Blenvy):
* 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
2024-05-25 11:57:10 +02:00
kaosat.dev
4f742e7735 refactor(Blenvy): minor re-orgs 2024-05-25 11:14:13 +02:00
kaosat.dev
8b76a34bec refactor(Blenvy): renaming , moving of auto_export modules 2024-05-25 10:54:23 +02:00
kaosat.dev
c00c9908eb feat(Blenvy): a lot of verious tweaks & fixes
* 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
2024-05-25 10:46:14 +02:00
kaosat.dev
008f6b3a88 feat(Blenvy): continued overhaul of auto export, slowly adding back tests too 2024-05-22 22:14:52 +02:00
kaosat.dev
382f37be74 feat(blenvy): reorganising & upgrade of auto_export change detection
* added new helpers to detect changes to project & settings
 * updated storage names
 * not using operator anymore
 * lots of related changes
2024-05-20 02:06:26 +02:00
kaosat.dev
dc7422fe7a feat(blenvy): components can now also be added to collections/blueprints directly
* 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
2024-05-19 23:35:12 +02:00
kaosat.dev
7ac0c5bca9 feat(blenvy): now passing levels path to the experimental "export asset ron files" operator 2024-05-19 11:27:25 +02:00
kaosat.dev
70bdd489a1 feat(blenvy): now iterating over main scenes instead of manually filtering scenes out
for blueprints & assets
2024-05-19 11:22:34 +02:00
kaosat.dev
c2a847934b feat(blenvy): overhauled path/directory management a bit
* full paths are now computed properties
 * cleanups of path names
 * various tweaks
2024-05-19 11:04:34 +02:00
kaosat.dev
8abd806d5f feat(blenvy): qol ui information 2024-05-18 22:39:22 +02:00
kaosat.dev
f6b61f83ae feat(blenvy): continued work on auto_export refactor 2024-05-17 23:20:48 +02:00
kaosat.dev
d3d973dd4b feat(blenvy): a lot more restructuring of auto_export to have it work again 2024-05-17 23:11:44 +02:00
kaosat.dev
21a36f9878 feat(blenvy): massive overhaul
* 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
2024-05-17 14:30:15 +02:00
kaosat.dev
c476c05c55 feat(blenvy): overhauled directory handling, seems ok now 2024-05-16 23:41:26 +02:00
kaosat.dev
f561112704 feat(blenvy): restructuring/ extracting a lot of the auto_export settings to be in the "common" ui/logic
* moved out all folder logic & code
 * moved out all of the scene selector logic & code
 * related tweaks
2024-05-16 15:27:30 +02:00
kaosat.dev
3aed4ab925 refactor(blenvy): some minor materials reorg 2024-05-16 14:19:45 +02:00
kaosat.dev
006e3c16f7 feat(blenvy): split up user added assets from generated assets
* 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
2024-05-16 14:09:40 +02:00
kaosat.dev
d99a7ccd45 feat(blenvy): more work done on asset management
* helpers
 * ui tweaks
 * scanning of the whole asset tree added
 * cleaner injection of data at the collection/ scene level (wip)
2024-05-15 23:32:01 +02:00
kaosat.dev
d0bc05fb96 feat(blenvy):
* 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
2024-05-15 13:25:30 +02:00
kaosat.dev
0fb35d6e6a feat(blenvy):
* 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
2024-05-14 23:49:45 +02:00
kaosat.dev
b8a7eba71d feat(blenvy):
* 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
2024-05-13 23:36:13 +02:00
kaosat.dev
f3dbf76ce6 feat(tools): updated/fixed some tests 2024-05-13 11:21:50 +02:00
kaosat.dev
0306bfb857 feat(blenvy): added most of the code from both add-ons
* adapted most of the UI to the new structure
2024-05-13 10:28:44 +02:00