Commit Graph

97 Commits

Author SHA1 Message Date
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 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 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
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 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 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 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 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 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
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 bef709a0ed feat(Blenvy:Bevy):
* bumped up Bevy version to v0.14 !
 * fixed (albeit in a clunky way) issues with sub blueprint detection
 * improved error message for missing material library
 * added HideUntilReady component & logic, to hide 'in-spawning' blueprint instances until they are ready
 * "add-to-world" is now only trigerred for blueprint instances that have no parents (avoid footgun)
 * minor cleanups & tweaks
 * added test component with Vec3 to double check for issues
 * updated test blend file to include the component above + added a light to the test spawnable blueprint
to check for "light flashes" (aka indirectly testing "HideUntilReady")
2024-07-07 22:21:12 +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 75d7f940ae chore(): minor tweaks & experiments 2024-06-26 14:35:47 +02:00
kaosat.dev 959951bca4 feat(Blenvy:Bevy): experimentation with hot reload: it works !!
* but it is VERY VERY messy right now
 * BlenvyAssets => BlueprintAssets
 * lots of tweaks & experiments & related changes
2024-06-25 18:34:26 +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 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 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 00bf600ccf feat(Blenvy): updated (most) of the crates' code to bevy 0.14 (rc)
* tweaked & changed code where relevant
 * also added support for the new gltf_xxx_extras in bevy_gltf_components
 * animation support needs an overhaul given the extensive changes in v0.14 (wip)
 * still a giant mess, but works
 * examples not yet updated, will get overhauled
 * testing project is now independant from the "common" example code: ie no debug ui, no physics,
no bevy_asset_loader
 * testing project WORKS , even without any of the above, so asset loading (even if rough), is functional !
 * added VERY rough hierarchy/ components debug to testing project to visualize things
without bevy_editor_pls egui & co
 * related tweaks & changes
2024-06-18 22:30:59 +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 2f7f3024d9 feat(bevy_gltf_blueprints): added back materials handling ,removing clutter
* removed format, materials library path, & library path from blueprints, obsoleted through "blueprints_path"
 * related cleanups
 * added back materials library support but using the assets path
2024-06-10 11:03:52 +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 37f4514b31 feat(bevy_gltf_blueprints): added new experimental asset structs
* also started moving code to a new "assets" mod in preparartion for bigger changes
2024-06-08 11:55:01 +02:00
kaosat.dev 00bf63cbd3 chore(clippy): minor tweaks 2024-05-16 22:38:45 +02:00
kaosat.dev 310ee194a9 chore(): cargo fmt 2024-05-07 00:40:47 +02:00
kaosat.dev 3154b8e8c7 feat(bevy_registry_export):
* added key & value type information for maps/hashmaps
 * added filtering out of components/resources
2024-05-06 14:34:23 +02:00
kaosat.dev 0ca57ba6de feat(bevy_components): continued refactor to use long names instead of short names & co
* changed all various uses of short name to long_name
 * same for type_names
 * also changed bevy_registry_export to output "long_name" instead of "title" for coherence
 * related changes & tweaks
 * still WIP
2024-05-05 22:04:25 +02:00