Pose mode improvements, armature validation improvements.

Pose mode Improvements:

Batch processing for all mesh operations
Numpy-powered vertex array handling
Optimized modifier stack management
Smart shape key processing
Enhanced progress tracking

The armature validation system improvements:

Essential bones (hips, spine, chest, neck, head)
Proper bone hierarchy validation
Symmetry pair verification (e.g., arm.l/arm.r)
This commit is contained in:
Yusarina
2024-12-04 00:54:21 +00:00
parent ff23d23cfc
commit 5dcaba381d
4 changed files with 370 additions and 150 deletions
+31 -12
View File
@@ -12,6 +12,7 @@
"Updater.UpdateToLatestButton.label": "Update to {name}",
"Updater.UpdateToSelectedButton.label": "Update",
"Updater.currentVersion": "Current Version: {name}",
"Updater.selectVersion": "Select Version",
"Updater.CheckForUpdateButton.desc": "Check for available updates",
"UpdateToLatestButton.desc": "Update to the latest version",
"UpdateNotificationPopup.label": "Update Notification",
@@ -36,23 +37,41 @@
"QuickAccess.export": "Export",
"QuickAccess.export_fbx": "Export FBX",
"QuickAccess.export_resonite": "Export to Resonite",
"QuickAccess.start_pose_mode.label": "Start Pose Mode",
"QuickAccess.start_pose_mode.desc": "Enter pose mode for the selected armature",
"QuickAccess.stop_pose_mode.label": "Stop Pose Mode",
"QuickAccess.stop_pose_mode.desc": "Exit pose mode and clear transforms",
"QuickAccess.apply_pose_as_shapekey.label": "Apply Pose as Shape Key",
"QuickAccess.apply_pose_as_shapekey.desc": "Create a new shape key from current pose",
"QuickAccess.apply_pose_as_rest.label": "Apply Pose as Rest",
"QuickAccess.apply_pose_as_rest.desc": "Apply current pose as rest pose",
"QuickAccess.apply_armature_failed": "Failed to apply armature modifications",
"Quick_Access.start_pose_mode.label": "Start Pose Mode",
"Quick_Access.start_pose_mode.desc": "Enter pose mode for the selected armature",
"Quick_Access.stop_pose_mode.label": "Stop Pose Mode",
"Quick_Access.stop_pose_mode.desc": "Exit pose mode and clear transforms",
"Quick_Access.apply_pose_as_shapekey.label": "Apply Pose as Shape Key",
"Quick_Access.apply_pose_as_shapekey.desc": "Create a new shape key from current pose",
"Quick_Access.apply_pose_as_rest.label": "Apply Pose as Rest",
"Quick_Access.apply_pose_as_rest.desc": "Apply current pose as rest pose",
"Quick_Access.apply_armature_failed": "Failed to apply armature modifications",
"Tools.apply_pose_as_rest.success": "Successfully applied pose as rest position",
"PoseMode.error.start": "Failed to start pose mode: {error}",
"PoseMode.error.stop": "Failed to stop pose mode: {error}",
"PoseMode.error.shapekey": "Failed to apply pose as shape key: {error}",
"PoseMode.error.rest_pose": "Failed to apply pose as rest: {error}",
"PoseMode.shapekey.name": "Shape Key Name",
"PoseMode.shapekey.description": "Name for the new shape key",
"PoseMode.shapekey.default": "Pose_Shapekey",
"PoseMode.skipped_meshes": "Some meshes were skipped:\n{message}",
"PoseMode.basis": "Basis",
"Armature.validation.no_armature": "No armature selected",
"Armature.validation.not_armature": "Selected object is not an armature",
"Armature.validation.no_bones": "Armature has no bones",
"Armature.validation.missing_bone": "Missing essential bone: {bone}",
"Armature.validation.basic_check_failed": "Basic armature validation failed",
"Armature.validation.missing_bones": "Missing essential bones: {bones}",
"Armature.validation.invalid_hierarchy": "Invalid bone hierarchy between {parent} and {child}",
"Armature.validation.asymmetric_bones": "Missing symmetric bones for {bone}",
"Armature.validation.asymmetric_hand_wrist": "Missing symmetric bones for hands/wrists",
"Mesh.validation.no_data": "No mesh data",
"Mesh.validation.no_vertex_groups": "No vertex groups found",
"Mesh.validation.no_armature_modifier": "No armature modifier",
"Mesh.validation.valid": "Valid mesh for pose operations",
"Operation.pose_applied": "Pose applied successfully",
"Scene.avatar_toolkit_updater_version_list.name": "Version List",
"Scene.avatar_toolkit_updater_version_list.description": "List of available versions"