Skip to content
This repository was archived by the owner on Feb 7, 2026. It is now read-only.
This repository was archived by the owner on Feb 7, 2026. It is now read-only.

ATK Rework and Full Code Refactor #212

@RinaDev-xyz

Description

@RinaDev-xyz

So once the MMD Converter is done, I want to overhaul the plugin. By this, I mean moving code into better locations and reorganizing the file structure. The plan for the new file structure is listed below.

Avatar-Toolkit/
├── core/                           # Core infrastructure only
│   ├── addon_preferences.py        
│   ├── auto_load.py               
│   ├── common.py                  
│   ├── properties.py             
│   ├── logging_setup.py           
│   ├── armature_validation.py     (logic only, move operators)
│   ├── mmd_bone_mappings.py        
│   ├── dictionaries/               
│   │   ├── bone_names.py
│   │   ├── shapekey_names.py
│   │   ├── material_names.py
│   │   └── standard_bones.py
│   ├── translation/                
│   │   ├── translations.py
│   │   ├── manager.py
│   │   └── service.py
│   ├── importers/                  
│   │   ├── importer.py          
│   │   └── mmd/                   
│   ├── exporters/               
│   │   └── resonite/              
│   └── utilities/                
│       └── packer/
│
├── functions/                      # All operations/features
│   ├── avatar_features/          
│   │   ├── eye_tracking.py       
│   │   ├── visemes.py            
│   │   ├── pose_mode.py          
│   │   └── atlas_materials.py    
│   ├── converters/                
│   │   ├── mmd/
│   │   │   ├── converter.py      
│   │   │   ├── conversion_process.py
│   │   │   ├── helpers.py
│   │   │   └── operator.py       
│   │   └── vrm/
│   │       ├── converter.py      
│   │       └── operator.py       
│   ├── exporters/                 
│   │   └── resonite_exporter.py  
│   ├── armature_tools/            
│   │   ├── merging.py
│   │   ├── standardize.py
│   │   ├── bone_tools.py
│   │   └── validation_operators.py 
│   ├── mesh_tools/                
│   │   ├── attachment.py
│   │   ├── separation.py
│   │   ├── general_tools.py
│   │   └── merge_tools.py
│   ├── optimization/              
│   │   ├── materials_tools.py
│   │   ├── mesh_tools.py
│   │   └── remove_doubles.py
│   └── utilities/                 
│       ├── uv_tools.py
│       ├── collider_removal.py
│       ├── force_apply_modifier.py
│       ├── apply_shapekey_to_basis.py
│       └── additional_tools.py
│
├── ui/                            
├── resources/                    
├── wheels/                        
└── __init__.py         

Once I’ve done this, I’m going to look through the code to determine whether everything is in the right place. If something isn’t, I’ll move it and do a full code refactor if needed just like I did with the UI in the atk-next branch.

This should help a lot with file and code organization. As the plugin got bigger, things became a bit of a mess, and I really don’t like that.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Projects

Status

Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions