Added the Armature Validation modes now, we have Stritct, Basic and None, it will give a warning to the user in the panel if there have it set to basic or none.
Settings panel added, langauge change has been added back. Did some work on it to slightl improve the system.
Added dubug area, basically everything but autoload will use logging now, you be able to turn it on/off in debug settings.
Did other bits and bobs.
I decided to go through each function and UI section one by one, improving and overhauling things. Each function and section is going to be fully tested and not rushed out.
This is the best way to catch things, but also include the code base as much as possible.
- Re-wrote how the plugin registers itself.
- No longer need @register_wrapper classes get auto detected and added.
- The new Auto loader is much better then the old way, no longer need "if "bpy" not in locals():" this was an old way of doing things and wasn't really efficient.
using auto_load.py provides several advantages:
- It automatically discovers and loads all modules in the addon.
- It handles dependencies between classes correctly through topological sorting.
- It manages registration order automatically.
- It properly handles unregistration in the correct order.
This approach is much less error prone and I not had any issues so far. However it still needs testing fully.
I have also start to re-organise files into folders as well, this is going to be needed so we don't have a long list of files as Avatar Toolkit is getting larger then i originally planned.
- Fixed issue where blender would error when exiting due to property being register twice.
- Fixes missing strings.
- Attempt at fixes properties not clearing correctly.
- Updated Japanese json file with all latest strings.
- Improvements to materials, still needs work but looking better.
- Model imports the correct size now.
- Attempted to fix bones positions, rotations and etc, but failed, however the work I done should setup it up to work maybe....
- Minor improvements.
- Added VRM to the list of files able to be imported.
- Added error handling for missing vrm importer, will popup to the user telling them to download vrm addon.
- Removed automatically url opening as we should have user consent to open a url, automatic url opening goes against blenders best practices and can be a security concern.
- Optimised the way we import multiple models, the old way just added unnecessary complexity, The try-except block was used to iterate over self.files and set is_multi to True if no exception occurs. However, this is an unnecessarily complex way to determine if the list is non-empty. Simply checking the length of the list is more straightforward and efficient. The way we were using the try-except box could of also lead to silent failures which is not user friendly.
UI Is starting to look much better. I added more spacing and re-arrange parts of the UI, icons have been added and overall is starting to look much better and more user Friendly.