- 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.
- operator strings are referenced via the class property rather than a hard coded string
- class names have been cleaned to have _OT_ or _PT_ depending on the kind of class it was.
- Class names should mostly be CamelCase now.
- Added Progress system so the user knows something is being done when there use certain functions. Currently only Join Meshes, Viseme creation and combine materials use it.
- Disbabled some translation debguing stuff to remove spam from the console.
- Viesmes will now use selected armature.
- New dropdown menu in the viseme UI so the user can select which mesh to create visemes on.
- New helper function get_armature_meshes
- Added a new check before we create the new visemes to see if any exist, if there do we will remove them and create the new ones.
- fixed several issues and errors.
- Organised some of the code better.
- Fixed sort order loop.
- Added typing in some places there wasn't.
This is a very basic start to Viesme creation, I still need to add translations for some stuff and improve it. This is very much inspired from the Cats Version.