2024-05-14 21:49:45 +00:00
Auto export
2024-05-15 11:25:30 +00:00
- [x] the original blueprints & levels path are now left as is, and there is an auto injection of xxxpath_full for absolute paths
- [x] replace all uses of the paths with the correct ones above
2024-05-14 21:49:45 +00:00
- [x] levels
- [x] blueprints
2024-05-15 11:25:30 +00:00
- [x] materials
2024-05-14 21:49:45 +00:00
- [x] move out the UI for "assets" folder out of "blueprints condition"
2024-05-17 12:30:15 +00:00
- [x] fix asset path calculations
2024-05-14 21:49:45 +00:00
- root path => relative to blend file path
- asset path => relative to root path
- blueprints/levels/blueprints path => relative to assets path
2024-05-20 00:06:26 +00:00
- [ ] add error handling for de/serialization of project, so that in case of error, the previous saved serialized project is thrown away
2024-05-15 11:25:30 +00:00
- move out some parameters from auto export to a higher level (as they are now used in multiple places)
2024-05-16 21:41:26 +00:00
- [x] main/ library scene names
- [x] paths
2024-05-15 11:25:30 +00:00
2024-06-23 17:14:00 +00:00
- [x] Data storage for custom properties:
2024-05-15 11:25:30 +00:00
- for scenes (main scenes)
- at scene level
- for blueprints
- at collection level
- Note: these should be COPIED to the scene level when exporting, into the temp_scene's properties
> NOTE: UP until we manage to create a PR for Bevy to directly support the scene level gltf_extras, the auto exporter should automatically create (& remove)
2024-05-30 14:19:10 +00:00
any additional object with scene_< scene_name > _components to copy that data to
2024-05-15 11:25:30 +00:00
Assets:
- blueprint assets should be auto_generated & inserted into the list of assets : these assets are NOT removable by the user
- should not change the list of manually added assets
- [x] store assets
- [x] per main scene for level/world assets
- [x] per blueprint for blueprint in lib scene
- [ ] UI:
- [x] we need to display all direct assets (stored in the scene)
2024-05-15 21:32:01 +00:00
- [ ] indirect assets:
- QUESTION : do we want to include them in the list of assets per level ?
- this would enable pre-loading ALL the assets, but is not ideal in most other cases
- so add an option ?
2024-05-19 09:04:34 +00:00
- [ ] the assets of local blueprints
2024-05-15 11:25:30 +00:00
Blueprints:
- [x] on save: write IN THE COLLECTION PROPERTIES
- list of assets
- export path
2024-06-11 16:12:10 +00:00
- [x] blueprint selection for nested blueprints is broken
2024-05-15 21:32:01 +00:00
2024-05-16 12:09:40 +00:00
- [ ] scan & inject on load
- [ ] scan & inject on save
2024-05-17 21:11:44 +00:00
- [ ] decide where & when to do & store blueprints data
2024-05-16 12:09:40 +00:00
2024-05-19 09:04:34 +00:00
Components:
2024-05-19 21:35:12 +00:00
- [x] add support for adding components to collections
2024-06-12 17:33:12 +00:00
- [x] upgrade all operators:
2024-05-19 21:35:12 +00:00
- [x] add
- [x] remove
- [x] copy & paste
2024-06-12 17:33:12 +00:00
- [x] BLENVY_OT_component_rename_component
2024-06-12 10:41:50 +00:00
- [x] BLENVY_OT_component_fix
2024-06-13 14:11:06 +00:00
- [x] add handling for core::ops::Range< f32 > & other ranges
2024-06-11 16:12:10 +00:00
- [x] fix is_component_valid that is used in gltf_auto_export
2024-06-23 17:14:00 +00:00
- [x] Hashmap Support
2024-05-19 21:35:12 +00:00
- [x] fix parsing of keys's type either on Bevy side (prefered) or on the Blender side
- [x] fix weird issue with missing "0" property when adding new entry in empty hashmap => happens only if the values for the "setter" have never been set
- [ ] handle missing types in registry for keys & values
2024-06-13 14:11:06 +00:00
- [x] adding a hashmap nukes every existing component ??
2024-06-12 17:33:12 +00:00
- [x] Add correct upgrade handling from individual component to bevy_components
2024-06-05 15:09:03 +00:00
- [x] Settings handling:
- [x] move saveable settings out to a settings file
- [x] update save & load
- [x] add handling of polling frequency & enabling
2024-06-11 16:12:10 +00:00
- [x] move advanced tools to components tab
2024-06-12 17:33:12 +00:00
- [x] remove most of the (bulk) advanced tools, too complex, too unclear (even for me !) and of limited use
2024-06-11 16:12:10 +00:00
- component renaming should be kept, but perhaps simplified:
- if a renaming fails because the parameters are incompatible, nuke the old parameters
- perhaps just add a display list of all NON component custom properties, so the user can find them easilly ?
2024-06-12 17:33:12 +00:00
- [x] status "unregistered" is often false and misleading
2024-06-11 16:12:10 +00:00
-> see in registry ui "for custom_property in object.keys():"
- [x] overhaul / improve the component selector (with built in searching, etc)
2024-06-12 10:41:50 +00:00
- [x] remove select_component_name_to_replace
2024-06-13 14:11:06 +00:00
- [x] display of invalid components is not working ?
- [x] weird items are present in the components list that do not seem to be components
- [x] remove :
- BLENVY_OT_component_list_add_item
- BLENVY_OT_component_list_remove_item
- BLENVY_OT_component_list_select_item: merge it into the rest of the actions
- [x] clearing invalid flag after a registry change does not work correctly (ie the ui still says the component is invalid)
- [x] should reset ALL "invalid" flags IF they have the matching data
- [x] registry auto reload not working ?
- [x] changing the registry breaks all the values of existing components !!!!!!
-> VERY likely due to the int-offset computation for hashes of components
- now switched to tiger_hash
- [x] add warning about hash colision (not much we can/ could do if it is the case ?)
2024-06-17 09:44:08 +00:00
- [x] double check weird collisions AND/OR reuse existing if applicable
2024-06-14 21:15:51 +00:00
- [x] annoying default path for registry, should be relative to the assets path
2024-05-19 09:04:34 +00:00
2024-05-17 12:30:15 +00:00
General things to solve:
- [x] save settings
- [x] load settings
2024-06-04 21:16:16 +00:00
- [x] add blueprints data
2024-05-15 21:32:01 +00:00
2024-05-19 09:04:34 +00:00
- [x] rename all path stuff using the old naming convention : "blueprints_path_full"
- [x] generate the full paths directly when setting them in the UI
- [x] problem : how to deal with defaults: do it on start/load ?
2024-05-26 16:33:06 +00:00
- [x] filter out scenes that have already been used in scenes list
2024-05-17 21:11:44 +00:00
2024-05-15 21:32:01 +00:00
General issues:
- there is no safeguard for naming collisions for naming across blender files
- this can cause an issue for assets list "parent"
- "parents" can only be blueprints
- they normally need/have unique export paths (otherwise, user error, perhaps show it ?)
2024-05-20 00:06:26 +00:00
- perhaps a simple hashing of the parent's path would be enought
2024-05-26 16:33:06 +00:00
2024-05-25 08:46:14 +00:00
- [x] addon-prefs => settings
2024-05-28 14:56:28 +00:00
- [x] generate_gltf_export_settings => should not use add-on prefs at all ? since we are not overriding gltf settings that way anymore ?
2024-05-26 16:33:06 +00:00
- [x] remove hard coded path for standard gltf settings
2024-05-26 18:09:15 +00:00
- [x] load settings on file load
2024-05-26 16:33:06 +00:00
- [x] auto_export
2024-05-26 18:09:15 +00:00
- [x] components
2024-05-27 04:10:16 +00:00
- [ ] add handling of errors when trying to load settings
2024-06-04 21:16:16 +00:00
- [x] fix auto export workflow
2024-06-04 12:37:29 +00:00
- [x] add hashing of modifiers/ geometry nodes in serialize scene
2024-06-05 15:09:03 +00:00
- [x] add ability to FORCE export specific blueprints & levels
2024-06-07 11:55:00 +00:00
- [x] change scene selector to work on actual scenes aka to deal with renamed scenes
- [x] remove get_main_and_library_scenes as it should not be needed anymore
2024-06-04 21:16:16 +00:00
- [x] fix asset file selection
2024-06-06 18:16:32 +00:00
- [x] change "assets" tab to "levels"/worlds tab & modify UI accordingly
2024-06-23 17:14:00 +00:00
- [x] remove local assets, useless
2024-06-09 22:31:23 +00:00
- [x] remove 'export_marked_assets' it should be a default setting
2024-06-08 09:52:13 +00:00
- [x] disable/ hide asset editing ui for external assets
2024-06-09 21:14:49 +00:00
- [x] fix level asets UI
2024-06-23 17:14:00 +00:00
- [x] remove BlueprintsList & replace is with assets list
- [x] switch to bevy 0.14 rc2
- [x] trigger events when assets are loaded, blueprints are spawned & co
- [x] overall cleanup
- [x] object.add_bevy_component => blenvy.component_add
- [ ] inject_export_path_into_internal_blueprints should be called on every asset/blueprint scan !! Not just on export
- [ ] undo after a save removes any saved "serialized scene" data ? DIG into this
- [ ] handle scene renames between saves (breaks diffing) => very hard to achieve
- [ ] force overwrite of settings files instead of partial updates ?
- [ ] add tests for disabled components
- [ ] should we write the previous _xxx data only AFTER a sucessfull export only ?
- [ ] add option to 'split out' meshes from blueprints ?
- [ ] ie considering meshletts etc , it would make sense to keep blueprints seperate from purely mesh gltfs
2024-06-09 22:31:23 +00:00
- [ ] persist exported materials path in blueprints so that it can be read from library file users
- [ ] just like "export_path" write it into each blueprint's collection
- [ ] scan for used materials per blueprint !
- [ ] for scenes, scan for used materials of all non instance objects (TODO: what about overrides ?)
2024-06-18 20:32:17 +00:00
- [ ] find a solution for the new color handling
- [ ] add back lighting_components
- [ ] check if scene components are being deleted through our scene re-orgs in the spawn post process
2024-06-19 22:05:02 +00:00
- [ ] should "blueprint spawned" only be triggered after all its sub blueprints have spawned ?
2024-06-11 16:12:10 +00:00
2024-06-12 10:41:50 +00:00
- [ ] simplify testing example:
2024-06-18 20:32:17 +00:00
- [x] remove use of rapier physics (or even the whole common boilerplate ?)
2024-06-12 10:41:50 +00:00
- [ ] remove/replace bevy editor pls with some native ui to display hierarchies
2024-06-23 17:14:00 +00:00
- [ ] try out hot reloading
2024-06-12 10:41:50 +00:00
2024-06-17 09:44:08 +00:00
- [ ] simplify examples:
- [ ] a full fledged demo (including physics & co)
- [ ] other examples without interactions or physics
2024-06-23 17:14:00 +00:00
- [ ] update main docs
- [ ] rename project to Blenvy
- [ ] replace all references to the old 2 add-ons with those to Blenvy
- [ ] rename repo to "Blenvy"
- [ ] do a deprecation release of all bevy_gltf_xxx crates to point at the new Blenvy crate
- [ ] hidden objects/collections not respected at export !!!
2024-06-12 10:41:50 +00:00
2024-06-08 09:52:13 +00:00
clear & & pytest -svv --blender-template ../../testing/bevy_example/art/testing_library.blend --blender-executable /home/ckaos/tools/blender/blender-4.1.0-linux-x64/blender tests/test_bevy_integration_prepare.py & & pytest -svv --blender-executable /home/ckaos/tools/blender/blender-4.1.0-linux-x64/blender tests/test_bevy_integration.py