Commit Graph

314 Commits

Author SHA1 Message Date
kaosat.dev ce17f723b1 feat(Blenvy):changed materials system to generate one gltf file per material
* 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 !
2024-07-27 16:59:57 +02:00
kaosat.dev 4865d432d9 feat(Blenvy): added basics of correct multi-material meshes support
* 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 !
2024-07-27 12:48:47 +02:00
kaosat.dev e534917dca feat(Blenvy:Blender):
* 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
2024-07-25 10:34:20 +02:00
kaosat.dev b3c87085de feat(Blenvy:Blender): fixed the most obvious issues with current implementation of materials handling
* 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
2024-07-25 00:06:20 +02:00
Jan Hohenheim b92081d06e
fix(Blenvy:Bevy): Fix direct file access for gltf preload on Wasm (#199)
* Fix direct file access
* Fix dropped handles
* Remove debug messages
* Minor refactoring
* Fix access
2024-07-23 23:42:25 +02:00
kaosat.dev 5621b66cb3 chore(): updated registry for testing setup 2024-07-23 23:38:39 +02:00
kaosat.dev 4586273e37 fix(Blenvy:Blender): fixes & tweaks to materials export
* 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
2024-07-23 23:35:30 +02:00
kaosat.dev 4a72ed68bf fix(Blenvy:Blender):
* disabled manifest for 4.2 for now
* fixed missing variable for materials
2024-07-22 00:50:49 +02:00
kaosat.dev 16a28ab760 feat(Blenvy:Blender):
* 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
2024-07-22 00:29:41 +02:00
kaosat.dev a951d82330 chore(examples): cleanup 2024-07-22 00:29:17 +02:00
kaosat.dev 382759d71f feat(Blenvy:Bevy):
* removed file_watcher feature, should be user settable
 * added root blueprintInfo path to the list of assets to watch for hot reload
 * removed settable aabb calculation: they will now always be done
 * added "export_registry" setting to be able to disable registry export for wasm & co (automate later)
 * minor tweaks
 * cleanups
2024-07-22 00:26:02 +02:00
kaosat.dev e54d41ca5c feat(Blenvy:Bevy): added back & updated animation docs 2024-07-21 02:08:04 +02:00
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 4519fb94a5 refactor(): removed legacy crates 2024-07-19 12:44:46 +02:00
kaosat.dev f4e3c948cb Merge branch 'main' into blenvy 2024-07-19 12:27:40 +02:00
kaosat.dev 9f000ad5b5 chore(Blenvy:Bevy): first release will be alpha 2024-07-19 12:08:25 +02:00
kaosat.dev 1a4e70a7e5 chore(): added contributor 2024-07-19 12:08:04 +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
Mark Moissette 9b50d77790
chore(v0.14): upgraded all current crates, examples, testing setup etc to Bevy 0.14 (#195)
* chore(v0.14): upgraded all current crates, examples, testing setup etc to Bevy 0.14
* chore(Blender tools): some minor fixed for Bevy 0.14 & version bump
2024-07-19 01:24:24 +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 be0f4f1377 fix(Blenvy:Bevy): added safeguard against files withouth scene level metadata
* normally this should NOT happen if the blueprints to spawn are correctly generated
(by the Blender add-on) gltf files, but better safe (no unwrap!) than sorry
2024-07-19 01:09:43 +02:00
kaosat.dev a618e0035e chore(crates): updated code from main to v0.14 compatibility for all old crates 2024-07-18 13:42:29 +02:00
kaosat.dev 3a8844b7a1 chore(tests): minor tweaks 2024-07-18 11:46:38 +02:00
kaosat.dev 5f955c1a53 feat(Blenvy:Bevy): overhauled & added back blueprint animation markers & co handling
* still messy, but way better
 * also worked on adding back the same feature for scene/instance animations
2024-07-18 00:22:18 +02:00
kaosat.dev ec7dc2cb48 chore(Blenvy): tweaks, adjustements, moved examples etc 2024-07-17 23:15:36 +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 30b052d4d2 feat(Blenvy:Bevy):
* lots of doc updates
 * removed obsolete code
 * some cleanups
 * started adding & upgrading pieces of save_load into blenvy
2024-07-16 23:39:09 +02:00
kaosat.dev 0938a1d10c refactor(Blenvy:Bevy): more examples restructure & cleanup 2024-07-16 11:17:05 +02:00
kaosat.dev 7acb1f3a57 refactor(examples): started simplifying & restructuring examples 2024-07-16 11:11:25 +02:00
kaosat.dev b25fc56ea6 refactor(Blenvy:Bevy):
* removed "Library" component & co
* "InBlueprint" components are now always inserted: removed "NoInblueprint" component
2024-07-16 11:10:53 +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 e394edade2 chore(Blenvy:Bevy): clippy fixes 2024-07-16 08:26:08 +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 33cddda7a5 feat(Blenvy:Bevy): big improvements to hot reload:
* does not try to respawn parents & their children at the same time anymore
 * does not try to respawn already spawning blueprint instances anymore
 * "batches" respawning per set of simultaneous changes to assets to avoid chaotic respawning
 * minor other tweaks & improvements
2024-07-11 01:03:43 +02:00
kaosat.dev f0cca65128 feat(Blenvy:Bevy): fixed & upgraded hot reloading
* added mapping of assets to blueprint instance ids so we know which blueprint instances
need to be de/respawned when a given asset changes
 * simplified & streamlined internals of hot reloading using the above
 * related cleanups & minor improvements
2024-07-10 14:15:34 +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 2b8c239fe8 chore(Blenvy:Bevy): more cleanups 2024-07-08 13:39:57 +02:00
kaosat.dev 70931ee163 chore(Blenvy:Bevy): more cleanups 2024-07-08 13:30:46 +02:00
kaosat.dev 459bb868e0 chore(Blenvy:Bevy): cargo fmt 2024-07-08 13:18:21 +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