@volter/blender-engine 0.1.148 → 0.1.150

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/LICENSE +22 -5
  2. package/README.md +4 -11
  3. package/browser/addons/vrm/LICENSE_(OPTION1)_MIT.txt +22 -0
  4. package/browser/addons/vrm/LICENSE_(OPTION2)_GPL-3_0.txt +674 -0
  5. package/browser/addons/vrm/LICENSE_MAIN.txt +1 -0
  6. package/browser/addons/vrm/README.txt +3 -0
  7. package/browser/addons/vrm/__init__.py +41 -0
  8. package/browser/addons/vrm/blender_manifest.toml +16 -0
  9. package/browser/addons/vrm/common/__init__.py +1 -0
  10. package/browser/addons/vrm/common/animation.py +58 -0
  11. package/browser/addons/vrm/common/blender_manifest.py +82 -0
  12. package/browser/addons/vrm/common/char.py +16 -0
  13. package/browser/addons/vrm/common/convert.py +287 -0
  14. package/browser/addons/vrm/common/convert_any.py +48 -0
  15. package/browser/addons/vrm/common/debug.py +40 -0
  16. package/browser/addons/vrm/common/deep.py +162 -0
  17. package/browser/addons/vrm/common/error_dialog.py +274 -0
  18. package/browser/addons/vrm/common/fs.py +71 -0
  19. package/browser/addons/vrm/common/gl.py +20 -0
  20. package/browser/addons/vrm/common/gltf.py +1149 -0
  21. package/browser/addons/vrm/common/human_bone_mapper/__init__.py +1 -0
  22. package/browser/addons/vrm/common/human_bone_mapper/biped_mapping.py +84 -0
  23. package/browser/addons/vrm/common/human_bone_mapper/cats_blender_plugin_fix_model_mapping.py +63 -0
  24. package/browser/addons/vrm/common/human_bone_mapper/human_bone_mapper.py +203 -0
  25. package/browser/addons/vrm/common/human_bone_mapper/microsoft_rocketbox_mapping.py +69 -0
  26. package/browser/addons/vrm/common/human_bone_mapper/mixamo_mapping.py +62 -0
  27. package/browser/addons/vrm/common/human_bone_mapper/mmd_mapping.py +115 -0
  28. package/browser/addons/vrm/common/human_bone_mapper/mpfb_mapping.py +120 -0
  29. package/browser/addons/vrm/common/human_bone_mapper/ready_player_me_mapping.py +65 -0
  30. package/browser/addons/vrm/common/human_bone_mapper/reallusion_mapping.py +94 -0
  31. package/browser/addons/vrm/common/human_bone_mapper/rigify_meta_rig_mapping.py +65 -0
  32. package/browser/addons/vrm/common/human_bone_mapper/structure_based_mapping.py +891 -0
  33. package/browser/addons/vrm/common/human_bone_mapper/unreal_mapping.py +62 -0
  34. package/browser/addons/vrm/common/human_bone_mapper/vrm_addon_mapping.py +112 -0
  35. package/browser/addons/vrm/common/human_bone_mapper/vroid_mapping.py +89 -0
  36. package/browser/addons/vrm/common/legacy_gltf.py +16 -0
  37. package/browser/addons/vrm/common/logger.py +84 -0
  38. package/browser/addons/vrm/common/mtoon0.blend +0 -0
  39. package/browser/addons/vrm/common/mtoon1.blend +0 -0
  40. package/browser/addons/vrm/common/mtoon1_outline.blend +0 -0
  41. package/browser/addons/vrm/common/mtoon_auto_setup.blend +0 -0
  42. package/browser/addons/vrm/common/mtoon_unversioned.py +62 -0
  43. package/browser/addons/vrm/common/ops/__init__.py +10 -0
  44. package/browser/addons/vrm/common/ops/export_scene.py +67 -0
  45. package/browser/addons/vrm/common/ops/icyp.py +53 -0
  46. package/browser/addons/vrm/common/ops/import_scene.py +57 -0
  47. package/browser/addons/vrm/common/ops/vrm.py +2380 -0
  48. package/browser/addons/vrm/common/ops/wm.py +167 -0
  49. package/browser/addons/vrm/common/preferences.py +362 -0
  50. package/browser/addons/vrm/common/progress.py +87 -0
  51. package/browser/addons/vrm/common/rotation.py +89 -0
  52. package/browser/addons/vrm/common/safe_removal.py +46 -0
  53. package/browser/addons/vrm/common/scene_watcher.py +230 -0
  54. package/browser/addons/vrm/common/shader.py +2243 -0
  55. package/browser/addons/vrm/common/shape_key_mapper/__init__.py +1 -0
  56. package/browser/addons/vrm/common/shape_key_mapper/arkit_mapping.py +168 -0
  57. package/browser/addons/vrm/common/shape_key_mapper/mmd_mapping.py +62 -0
  58. package/browser/addons/vrm/common/shape_key_mapper/ready_player_me_mapping.py +52 -0
  59. package/browser/addons/vrm/common/shape_key_mapper/vrchat_mapping.py +17 -0
  60. package/browser/addons/vrm/common/third_party_user_extension.py +214 -0
  61. package/browser/addons/vrm/common/transparent_z_write.blend +0 -0
  62. package/browser/addons/vrm/common/version.py +161 -0
  63. package/browser/addons/vrm/common/vrm0/__init__.py +1 -0
  64. package/browser/addons/vrm/common/vrm0/human_bone.py +662 -0
  65. package/browser/addons/vrm/common/vrm0/material_property.py +346 -0
  66. package/browser/addons/vrm/common/vrm1/__init__.py +1 -0
  67. package/browser/addons/vrm/common/vrm1/expression_preset.py +207 -0
  68. package/browser/addons/vrm/common/vrm1/human_bone.py +822 -0
  69. package/browser/addons/vrm/common/workspace.py +227 -0
  70. package/browser/addons/vrm/common/writable_context.py +77 -0
  71. package/browser/addons/vrm/documentation/en-us/animation/index.md +63 -0
  72. package/browser/addons/vrm/documentation/en-us/create-humanoid-vrm-from-scratch/index.md +131 -0
  73. package/browser/addons/vrm/documentation/en-us/create-simple-vrm-from-scratch/index.md +30 -0
  74. package/browser/addons/vrm/documentation/en-us/development/index.md +136 -0
  75. package/browser/addons/vrm/documentation/en-us/index.md +41 -0
  76. package/browser/addons/vrm/documentation/en-us/installation/index.md +152 -0
  77. package/browser/addons/vrm/documentation/en-us/material-mtoon/index.md +122 -0
  78. package/browser/addons/vrm/documentation/en-us/material-pbr/index.md +94 -0
  79. package/browser/addons/vrm/documentation/en-us/scripting-api/index.md +391 -0
  80. package/browser/addons/vrm/documentation/en-us/ui/export_scene.vrm/index.md +57 -0
  81. package/browser/addons/vrm/documentation/en-us/ui/export_scene.vrma/index.md +17 -0
  82. package/browser/addons/vrm/documentation/en-us/ui/import_scene.vrm/index.md +61 -0
  83. package/browser/addons/vrm/documentation/en-us/ui/import_scene.vrma/index.md +13 -0
  84. package/browser/addons/vrm/documentation/ja-jp/animation/index.md +57 -0
  85. package/browser/addons/vrm/documentation/ja-jp/create-humanoid-vrm-from-scratch/index.md +129 -0
  86. package/browser/addons/vrm/documentation/ja-jp/create-simple-vrm-from-scratch/index.md +29 -0
  87. package/browser/addons/vrm/documentation/ja-jp/development/index.md +137 -0
  88. package/browser/addons/vrm/documentation/ja-jp/index.md +37 -0
  89. package/browser/addons/vrm/documentation/ja-jp/installation/index.md +150 -0
  90. package/browser/addons/vrm/documentation/ja-jp/material-mtoon/index.md +113 -0
  91. package/browser/addons/vrm/documentation/ja-jp/material-pbr/index.md +90 -0
  92. package/browser/addons/vrm/documentation/ja-jp/scripting-api/index.md +389 -0
  93. package/browser/addons/vrm/documentation/ja-jp/ui/export_scene.vrm/index.md +55 -0
  94. package/browser/addons/vrm/documentation/ja-jp/ui/export_scene.vrma/index.md +19 -0
  95. package/browser/addons/vrm/documentation/ja-jp/ui/import_scene.vrm/index.md +56 -0
  96. package/browser/addons/vrm/documentation/ja-jp/ui/import_scene.vrma/index.md +14 -0
  97. package/browser/addons/vrm/editor/__init__.py +1 -0
  98. package/browser/addons/vrm/editor/extension.py +425 -0
  99. package/browser/addons/vrm/editor/extension_accessor.py +75 -0
  100. package/browser/addons/vrm/editor/handler.py +84 -0
  101. package/browser/addons/vrm/editor/khr_character/__init__.py +1 -0
  102. package/browser/addons/vrm/editor/khr_character/panel.py +69 -0
  103. package/browser/addons/vrm/editor/khr_character/property_group.py +27 -0
  104. package/browser/addons/vrm/editor/khr_xmp_json_ld/__init__.py +1 -0
  105. package/browser/addons/vrm/editor/khr_xmp_json_ld/ops.py +464 -0
  106. package/browser/addons/vrm/editor/khr_xmp_json_ld/panel.py +136 -0
  107. package/browser/addons/vrm/editor/khr_xmp_json_ld/property_group.py +83 -0
  108. package/browser/addons/vrm/editor/khr_xmp_json_ld/ui_list.py +198 -0
  109. package/browser/addons/vrm/editor/make_armature.py +709 -0
  110. package/browser/addons/vrm/editor/menu.py +147 -0
  111. package/browser/addons/vrm/editor/migration.py +297 -0
  112. package/browser/addons/vrm/editor/mtoon1/__init__.py +1 -0
  113. package/browser/addons/vrm/editor/mtoon1/handler.py +20 -0
  114. package/browser/addons/vrm/editor/mtoon1/migration.py +536 -0
  115. package/browser/addons/vrm/editor/mtoon1/ops.py +304 -0
  116. package/browser/addons/vrm/editor/mtoon1/panel.py +442 -0
  117. package/browser/addons/vrm/editor/mtoon1/property_group.py +4977 -0
  118. package/browser/addons/vrm/editor/mtoon1/scene_watcher.py +381 -0
  119. package/browser/addons/vrm/editor/node_constraint1/__init__.py +1 -0
  120. package/browser/addons/vrm/editor/node_constraint1/panel.py +317 -0
  121. package/browser/addons/vrm/editor/node_constraint1/property_group.py +25 -0
  122. package/browser/addons/vrm/editor/ops.py +471 -0
  123. package/browser/addons/vrm/editor/panel.py +315 -0
  124. package/browser/addons/vrm/editor/property_group.py +888 -0
  125. package/browser/addons/vrm/editor/search.py +682 -0
  126. package/browser/addons/vrm/editor/spring_bone1/__init__.py +1 -0
  127. package/browser/addons/vrm/editor/spring_bone1/handler.py +994 -0
  128. package/browser/addons/vrm/editor/spring_bone1/menu.py +246 -0
  129. package/browser/addons/vrm/editor/spring_bone1/migration.py +86 -0
  130. package/browser/addons/vrm/editor/spring_bone1/ops.py +1679 -0
  131. package/browser/addons/vrm/editor/spring_bone1/panel.py +605 -0
  132. package/browser/addons/vrm/editor/spring_bone1/property_group.py +1457 -0
  133. package/browser/addons/vrm/editor/spring_bone1/ui_list.py +408 -0
  134. package/browser/addons/vrm/editor/subscription.py +123 -0
  135. package/browser/addons/vrm/editor/t_pose.py +713 -0
  136. package/browser/addons/vrm/editor/validation.py +1271 -0
  137. package/browser/addons/vrm/editor/vrm0/__init__.py +1 -0
  138. package/browser/addons/vrm/editor/vrm0/gizmo_group.py +63 -0
  139. package/browser/addons/vrm/editor/vrm0/handler.py +23 -0
  140. package/browser/addons/vrm/editor/vrm0/menu.py +145 -0
  141. package/browser/addons/vrm/editor/vrm0/migration.py +761 -0
  142. package/browser/addons/vrm/editor/vrm0/ops.py +2145 -0
  143. package/browser/addons/vrm/editor/vrm0/panel.py +1333 -0
  144. package/browser/addons/vrm/editor/vrm0/property_group.py +1818 -0
  145. package/browser/addons/vrm/editor/vrm0/ui_list.py +688 -0
  146. package/browser/addons/vrm/editor/vrm1/__init__.py +1 -0
  147. package/browser/addons/vrm/editor/vrm1/handler.py +28 -0
  148. package/browser/addons/vrm/editor/vrm1/menu.py +76 -0
  149. package/browser/addons/vrm/editor/vrm1/migration.py +321 -0
  150. package/browser/addons/vrm/editor/vrm1/ops.py +2679 -0
  151. package/browser/addons/vrm/editor/vrm1/panel.py +1243 -0
  152. package/browser/addons/vrm/editor/vrm1/property_group.py +2087 -0
  153. package/browser/addons/vrm/editor/vrm1/scene_watcher.py +90 -0
  154. package/browser/addons/vrm/editor/vrm1/ui_list.py +533 -0
  155. package/browser/addons/vrm/exporter/__init__.py +1 -0
  156. package/browser/addons/vrm/exporter/abstract_base_vrm_exporter.py +628 -0
  157. package/browser/addons/vrm/exporter/export_scene.py +930 -0
  158. package/browser/addons/vrm/exporter/gltf2_export_user_extension.py +45 -0
  159. package/browser/addons/vrm/exporter/khr_character_exporter.py +34 -0
  160. package/browser/addons/vrm/exporter/vrm0_exporter.py +4020 -0
  161. package/browser/addons/vrm/exporter/vrm1_exporter.py +3682 -0
  162. package/browser/addons/vrm/exporter/vrm_animation_exporter.py +1035 -0
  163. package/browser/addons/vrm/external/__init__.py +1 -0
  164. package/browser/addons/vrm/external/auto_rig_pro_support.py +3 -0
  165. package/browser/addons/vrm/external/io_scene_gltf2_support.py +418 -0
  166. package/browser/addons/vrm/external/rigify_support.py +1 -0
  167. package/browser/addons/vrm/importer/__init__.py +1 -0
  168. package/browser/addons/vrm/importer/abstract_base_vrm_importer.py +1548 -0
  169. package/browser/addons/vrm/importer/file_handler.py +34 -0
  170. package/browser/addons/vrm/importer/gltf2_import_user_extension.py +268 -0
  171. package/browser/addons/vrm/importer/import_scene.py +646 -0
  172. package/browser/addons/vrm/importer/license_validation.py +198 -0
  173. package/browser/addons/vrm/importer/vrm0_importer.py +1723 -0
  174. package/browser/addons/vrm/importer/vrm1_importer.py +2014 -0
  175. package/browser/addons/vrm/importer/vrm_animation_importer.py +763 -0
  176. package/browser/addons/vrm/importer/vrm_diff.py +316 -0
  177. package/browser/addons/vrm/locale/__init__.py +1 -0
  178. package/browser/addons/vrm/locale/ja_jp.py +826 -0
  179. package/browser/addons/vrm/locale/ruff.toml +8 -0
  180. package/browser/addons/vrm/locale/translation_dictionary.py +10 -0
  181. package/browser/addons/vrm/locale/zh_hans.py +928 -0
  182. package/browser/addons/vrm/registration.py +670 -0
  183. package/browser/addons/vrm.json +18 -0
  184. package/browser/blender-emscripten-engine.mts +66 -129
  185. package/browser/blender-engine.mts +20 -186
  186. package/browser/blender-wali-engine.mts +37 -81
  187. package/browser/describe-thrown.mts +3 -6
  188. package/browser/document-chunks.mts +4 -16
  189. package/browser/gltf_export.py +3161 -0
  190. package/browser/heap-growth.mts +23 -0
  191. package/browser/index.ts +3 -0
  192. package/browser/protocol.ts +130 -43
  193. package/browser/pull-job.mts +2 -10
  194. package/browser/rna.ts +190 -73
  195. package/browser/runtime.ts +271 -106
  196. package/browser/session-addons.mts +33 -0
  197. package/browser/session-frame.mts +5 -24
  198. package/browser/session.py +1389 -1446
  199. package/browser/three/attach-presenter.ts +11 -39
  200. package/browser/three/blender-base64.ts +1 -36
  201. package/browser/three/blender-corner-normals.ts +1 -23
  202. package/browser/three/blender-display-shaders.json +1 -1
  203. package/browser/three/blender-display-shaders.lut +0 -0
  204. package/browser/three/blender-display-transform.ts +2 -1
  205. package/browser/three/blender-frame-columns.ts +5 -13
  206. package/browser/three/blender-graph-material.ts +18 -3
  207. package/browser/three/blender-node-graph.ts +10 -34
  208. package/browser/three/blender-physical-material.ts +2 -31
  209. package/browser/three/blender-runtime-armature.ts +7 -60
  210. package/browser/three/blender-runtime-frame.ts +9 -23
  211. package/browser/three/blender-runtime-geometry.ts +22 -26
  212. package/browser/three/blender-runtime-lighting.ts +48 -178
  213. package/browser/three/blender-runtime-shadows.ts +187 -1
  214. package/browser/three/blender-runtime-skeleton.ts +53 -1
  215. package/browser/three/blender-runtime-view.ts +492 -306
  216. package/browser/three/blender-runtime-weights.ts +9 -72
  217. package/browser/three/blender-sky.ts +13 -33
  218. package/browser/three/blender-triangulate.ts +7 -35
  219. package/browser/three/blender-viewport-sampling.ts +235 -0
  220. package/browser/three/blender-workbench-material.ts +25 -29
  221. package/browser/three/blender-workbench-outline.ts +199 -0
  222. package/browser/three/blender-world-volume.ts +62 -10
  223. package/browser/three/presenter.ts +10 -26
  224. package/browser/three/release.ts +5 -21
  225. package/browser/three/sky-precompute-worker.ts +1 -18
  226. package/browser/three/sky-worker.ts +5 -23
  227. package/browser/three/world-field-sampler.ts +12 -26
  228. package/browser/volter_three.py +9 -105
  229. package/browser/worker.ts +195 -180
  230. package/package.json +5 -2
  231. package/wasm/BUNDLE.json +17 -17
  232. package/wasm/DEPENDENCY-LICENSES.txt +14 -0
  233. package/wasm/blender_browser.data.br +0 -0
  234. package/wasm/blender_browser.js +1 -1
  235. package/wasm/blender_browser.wasm.br +0 -0
  236. package/browser/frame-transfer.mts +0 -19
  237. package/browser/three/agx-base-srgb.lut +0 -0
  238. package/browser/three/agx-look-medium-high-contrast.lut +0 -0
  239. package/browser/three/agx-look-punchy.lut +0 -0
  240. package/browser/three/blender-agx.ts +0 -235
  241. package/browser/three/blender-display-lut.ts +0 -145
  242. package/browser/three/blender-filmic.ts +0 -49
  243. package/browser/three/blender-standard.ts +0 -68
  244. package/browser/three/blender-world-visibility.ts +0 -278
  245. package/browser/three/filmic-srgb.lut +0 -0
@@ -0,0 +1,120 @@
1
+ # SPDX-License-Identifier: MIT OR GPL-3.0-or-later
2
+ from collections.abc import Mapping
3
+ from typing import Final
4
+
5
+ from ..vrm1.human_bone import HumanBoneSpecification, HumanBoneSpecifications
6
+
7
+ DEFAULT_MAPPING: Final[Mapping[str, HumanBoneSpecification]] = {
8
+ "eye.R": HumanBoneSpecifications.RIGHT_EYE,
9
+ "eye.L": HumanBoneSpecifications.LEFT_EYE,
10
+ "jaw": HumanBoneSpecifications.JAW,
11
+ "head": HumanBoneSpecifications.HEAD,
12
+ "neck01": HumanBoneSpecifications.NECK,
13
+ "spine02": HumanBoneSpecifications.UPPER_CHEST,
14
+ "spine03": HumanBoneSpecifications.CHEST,
15
+ "spine04": HumanBoneSpecifications.SPINE,
16
+ "root": HumanBoneSpecifications.HIPS,
17
+ "shoulder01.R": HumanBoneSpecifications.RIGHT_SHOULDER,
18
+ "upperarm01.R": HumanBoneSpecifications.RIGHT_UPPER_ARM,
19
+ "lowerarm01.R": HumanBoneSpecifications.RIGHT_LOWER_ARM,
20
+ "wrist.R": HumanBoneSpecifications.RIGHT_HAND,
21
+ "shoulder01.L": HumanBoneSpecifications.LEFT_SHOULDER,
22
+ "upperarm01.L": HumanBoneSpecifications.LEFT_UPPER_ARM,
23
+ "lowerarm01.L": HumanBoneSpecifications.LEFT_LOWER_ARM,
24
+ "wrist.L": HumanBoneSpecifications.LEFT_HAND,
25
+ "upperleg01.R": HumanBoneSpecifications.RIGHT_UPPER_LEG,
26
+ "lowerleg01.R": HumanBoneSpecifications.RIGHT_LOWER_LEG,
27
+ "foot.R": HumanBoneSpecifications.RIGHT_FOOT,
28
+ "upperleg01.L": HumanBoneSpecifications.LEFT_UPPER_LEG,
29
+ "lowerleg01.L": HumanBoneSpecifications.LEFT_LOWER_LEG,
30
+ "foot.L": HumanBoneSpecifications.LEFT_FOOT,
31
+ "finger1-1.R": HumanBoneSpecifications.RIGHT_THUMB_METACARPAL,
32
+ "finger1-2.R": HumanBoneSpecifications.RIGHT_THUMB_PROXIMAL,
33
+ "finger1-3.R": HumanBoneSpecifications.RIGHT_THUMB_DISTAL,
34
+ "finger2-1.R": HumanBoneSpecifications.RIGHT_INDEX_PROXIMAL,
35
+ "finger2-2.R": HumanBoneSpecifications.RIGHT_INDEX_INTERMEDIATE,
36
+ "finger2-3.R": HumanBoneSpecifications.RIGHT_INDEX_DISTAL,
37
+ "finger3-1.R": HumanBoneSpecifications.RIGHT_MIDDLE_PROXIMAL,
38
+ "finger3-2.R": HumanBoneSpecifications.RIGHT_MIDDLE_INTERMEDIATE,
39
+ "finger3-3.R": HumanBoneSpecifications.RIGHT_MIDDLE_DISTAL,
40
+ "finger4-1.R": HumanBoneSpecifications.RIGHT_RING_PROXIMAL,
41
+ "finger4-2.R": HumanBoneSpecifications.RIGHT_RING_INTERMEDIATE,
42
+ "finger4-3.R": HumanBoneSpecifications.RIGHT_RING_DISTAL,
43
+ "finger5-1.R": HumanBoneSpecifications.RIGHT_LITTLE_PROXIMAL,
44
+ "finger5-2.R": HumanBoneSpecifications.RIGHT_LITTLE_INTERMEDIATE,
45
+ "finger5-3.R": HumanBoneSpecifications.RIGHT_LITTLE_DISTAL,
46
+ "finger1-1.L": HumanBoneSpecifications.LEFT_THUMB_METACARPAL,
47
+ "finger1-2.L": HumanBoneSpecifications.LEFT_THUMB_PROXIMAL,
48
+ "finger1-3.L": HumanBoneSpecifications.LEFT_THUMB_DISTAL,
49
+ "finger2-1.L": HumanBoneSpecifications.LEFT_INDEX_PROXIMAL,
50
+ "finger2-2.L": HumanBoneSpecifications.LEFT_INDEX_INTERMEDIATE,
51
+ "finger2-3.L": HumanBoneSpecifications.LEFT_INDEX_DISTAL,
52
+ "finger3-1.L": HumanBoneSpecifications.LEFT_MIDDLE_PROXIMAL,
53
+ "finger3-2.L": HumanBoneSpecifications.LEFT_MIDDLE_INTERMEDIATE,
54
+ "finger3-3.L": HumanBoneSpecifications.LEFT_MIDDLE_DISTAL,
55
+ "finger4-1.L": HumanBoneSpecifications.LEFT_RING_PROXIMAL,
56
+ "finger4-2.L": HumanBoneSpecifications.LEFT_RING_INTERMEDIATE,
57
+ "finger4-3.L": HumanBoneSpecifications.LEFT_RING_DISTAL,
58
+ "finger5-1.L": HumanBoneSpecifications.LEFT_LITTLE_PROXIMAL,
59
+ "finger5-2.L": HumanBoneSpecifications.LEFT_LITTLE_INTERMEDIATE,
60
+ "finger5-3.L": HumanBoneSpecifications.LEFT_LITTLE_DISTAL,
61
+ }
62
+
63
+ GAME_ENGINE_MAPPING: Final[Mapping[str, HumanBoneSpecification]] = {
64
+ "head": HumanBoneSpecifications.HEAD,
65
+ "neck_01": HumanBoneSpecifications.NECK,
66
+ "spine_03": HumanBoneSpecifications.UPPER_CHEST,
67
+ "spine_02": HumanBoneSpecifications.CHEST,
68
+ "spine_01": HumanBoneSpecifications.SPINE,
69
+ "pelvis": HumanBoneSpecifications.HIPS,
70
+ "clavicle_r": HumanBoneSpecifications.RIGHT_SHOULDER,
71
+ "upperarm_r": HumanBoneSpecifications.RIGHT_UPPER_ARM,
72
+ "lowerarm_r": HumanBoneSpecifications.RIGHT_LOWER_ARM,
73
+ "hand_r": HumanBoneSpecifications.RIGHT_HAND,
74
+ "clavicle_l": HumanBoneSpecifications.LEFT_SHOULDER,
75
+ "upperarm_l": HumanBoneSpecifications.LEFT_UPPER_ARM,
76
+ "lowerarm_l": HumanBoneSpecifications.LEFT_LOWER_ARM,
77
+ "hand_l": HumanBoneSpecifications.LEFT_HAND,
78
+ "thigh_r": HumanBoneSpecifications.RIGHT_UPPER_LEG,
79
+ "calf_r": HumanBoneSpecifications.RIGHT_LOWER_LEG,
80
+ "foot_r": HumanBoneSpecifications.RIGHT_FOOT,
81
+ "ball_r": HumanBoneSpecifications.RIGHT_TOES,
82
+ "thigh_l": HumanBoneSpecifications.LEFT_UPPER_LEG,
83
+ "calf_l": HumanBoneSpecifications.LEFT_LOWER_LEG,
84
+ "foot_l": HumanBoneSpecifications.LEFT_FOOT,
85
+ "ball_l": HumanBoneSpecifications.LEFT_TOES,
86
+ "thumb_01_l": HumanBoneSpecifications.LEFT_THUMB_METACARPAL,
87
+ "thumb_02_l": HumanBoneSpecifications.LEFT_THUMB_PROXIMAL,
88
+ "thumb_03_l": HumanBoneSpecifications.LEFT_THUMB_DISTAL,
89
+ "index_01_l": HumanBoneSpecifications.LEFT_INDEX_PROXIMAL,
90
+ "index_02_l": HumanBoneSpecifications.LEFT_INDEX_INTERMEDIATE,
91
+ "index_03_l": HumanBoneSpecifications.LEFT_INDEX_DISTAL,
92
+ "middle_01_l": HumanBoneSpecifications.LEFT_MIDDLE_PROXIMAL,
93
+ "middle_02_l": HumanBoneSpecifications.LEFT_MIDDLE_INTERMEDIATE,
94
+ "middle_03_l": HumanBoneSpecifications.LEFT_MIDDLE_DISTAL,
95
+ "ring_01_l": HumanBoneSpecifications.LEFT_RING_PROXIMAL,
96
+ "ring_02_l": HumanBoneSpecifications.LEFT_RING_INTERMEDIATE,
97
+ "ring_03_l": HumanBoneSpecifications.LEFT_RING_DISTAL,
98
+ "pinky_01_l": HumanBoneSpecifications.LEFT_LITTLE_PROXIMAL,
99
+ "pinky_02_l": HumanBoneSpecifications.LEFT_LITTLE_INTERMEDIATE,
100
+ "pinky_03_l": HumanBoneSpecifications.LEFT_LITTLE_DISTAL,
101
+ "thumb_01_r": HumanBoneSpecifications.RIGHT_THUMB_METACARPAL,
102
+ "thumb_02_r": HumanBoneSpecifications.RIGHT_THUMB_PROXIMAL,
103
+ "thumb_03_r": HumanBoneSpecifications.RIGHT_THUMB_DISTAL,
104
+ "index_01_r": HumanBoneSpecifications.RIGHT_INDEX_PROXIMAL,
105
+ "index_02_r": HumanBoneSpecifications.RIGHT_INDEX_INTERMEDIATE,
106
+ "index_03_r": HumanBoneSpecifications.RIGHT_INDEX_DISTAL,
107
+ "middle_01_r": HumanBoneSpecifications.RIGHT_MIDDLE_PROXIMAL,
108
+ "middle_02_r": HumanBoneSpecifications.RIGHT_MIDDLE_INTERMEDIATE,
109
+ "middle_03_r": HumanBoneSpecifications.RIGHT_MIDDLE_DISTAL,
110
+ "ring_01_r": HumanBoneSpecifications.RIGHT_RING_PROXIMAL,
111
+ "ring_02_r": HumanBoneSpecifications.RIGHT_RING_INTERMEDIATE,
112
+ "ring_03_r": HumanBoneSpecifications.RIGHT_RING_DISTAL,
113
+ "pinky_01_r": HumanBoneSpecifications.RIGHT_LITTLE_PROXIMAL,
114
+ "pinky_02_r": HumanBoneSpecifications.RIGHT_LITTLE_INTERMEDIATE,
115
+ "pinky_03_r": HumanBoneSpecifications.RIGHT_LITTLE_DISTAL,
116
+ }
117
+
118
+
119
+ CONFIG_DEFAULT: Final = ("MPFB2 (Default)", DEFAULT_MAPPING)
120
+ CONFIG_GAME_ENGINE: Final = ("MPFB2 (Game engine)", GAME_ENGINE_MAPPING)
@@ -0,0 +1,65 @@
1
+ # SPDX-License-Identifier: MIT OR GPL-3.0-or-later
2
+ from collections.abc import Mapping
3
+ from typing import Final
4
+
5
+ from ..vrm1.human_bone import HumanBoneSpecification, HumanBoneSpecifications
6
+
7
+ MAPPING: Final[Mapping[str, HumanBoneSpecification]] = {
8
+ "Head": HumanBoneSpecifications.HEAD,
9
+ "RightEye": HumanBoneSpecifications.RIGHT_EYE,
10
+ "LeftEye": HumanBoneSpecifications.LEFT_EYE,
11
+ "Neck": HumanBoneSpecifications.NECK,
12
+ "Spine2": HumanBoneSpecifications.UPPER_CHEST,
13
+ "Spine1": HumanBoneSpecifications.CHEST,
14
+ "Spine": HumanBoneSpecifications.SPINE,
15
+ "Hips": HumanBoneSpecifications.HIPS,
16
+ "RightShoulder": HumanBoneSpecifications.RIGHT_SHOULDER,
17
+ "RightArm": HumanBoneSpecifications.RIGHT_UPPER_ARM,
18
+ "RightForeArm": HumanBoneSpecifications.RIGHT_LOWER_ARM,
19
+ "RightHand": HumanBoneSpecifications.RIGHT_HAND,
20
+ "LeftShoulder": HumanBoneSpecifications.LEFT_SHOULDER,
21
+ "LeftArm": HumanBoneSpecifications.LEFT_UPPER_ARM,
22
+ "LeftForeArm": HumanBoneSpecifications.LEFT_LOWER_ARM,
23
+ "LeftHand": HumanBoneSpecifications.LEFT_HAND,
24
+ "RightUpLeg": HumanBoneSpecifications.RIGHT_UPPER_LEG,
25
+ "RightLeg": HumanBoneSpecifications.RIGHT_LOWER_LEG,
26
+ "RightFoot": HumanBoneSpecifications.RIGHT_FOOT,
27
+ "RightToeBase": HumanBoneSpecifications.RIGHT_TOES,
28
+ "LeftUpLeg": HumanBoneSpecifications.LEFT_UPPER_LEG,
29
+ "LeftLeg": HumanBoneSpecifications.LEFT_LOWER_LEG,
30
+ "LeftFoot": HumanBoneSpecifications.LEFT_FOOT,
31
+ "LeftToeBase": HumanBoneSpecifications.LEFT_TOES,
32
+ "RightHandThumb1": HumanBoneSpecifications.RIGHT_THUMB_METACARPAL,
33
+ "RightHandThumb2": HumanBoneSpecifications.RIGHT_THUMB_PROXIMAL,
34
+ "RightHandThumb3": HumanBoneSpecifications.RIGHT_THUMB_DISTAL,
35
+ "RightHandIndex1": HumanBoneSpecifications.RIGHT_INDEX_PROXIMAL,
36
+ "RightHandIndex2": HumanBoneSpecifications.RIGHT_INDEX_INTERMEDIATE,
37
+ "RightHandIndex3": HumanBoneSpecifications.RIGHT_INDEX_DISTAL,
38
+ "RightHandMiddle1": HumanBoneSpecifications.RIGHT_MIDDLE_PROXIMAL,
39
+ "RightHandMiddle2": HumanBoneSpecifications.RIGHT_MIDDLE_INTERMEDIATE,
40
+ "RightHandMiddle3": HumanBoneSpecifications.RIGHT_MIDDLE_DISTAL,
41
+ "RightHandRing1": HumanBoneSpecifications.RIGHT_RING_PROXIMAL,
42
+ "RightHandRing2": HumanBoneSpecifications.RIGHT_RING_INTERMEDIATE,
43
+ "RightHandRing3": HumanBoneSpecifications.RIGHT_RING_DISTAL,
44
+ "RightHandPinky1": HumanBoneSpecifications.RIGHT_LITTLE_PROXIMAL,
45
+ "RightHandPinky2": HumanBoneSpecifications.RIGHT_LITTLE_INTERMEDIATE,
46
+ "RightHandPinky3": HumanBoneSpecifications.RIGHT_LITTLE_DISTAL,
47
+ "LeftHandThumb1": HumanBoneSpecifications.LEFT_THUMB_METACARPAL,
48
+ "LeftHandThumb2": HumanBoneSpecifications.LEFT_THUMB_PROXIMAL,
49
+ "LeftHandThumb3": HumanBoneSpecifications.LEFT_THUMB_DISTAL,
50
+ "LeftHandIndex1": HumanBoneSpecifications.LEFT_INDEX_PROXIMAL,
51
+ "LeftHandIndex2": HumanBoneSpecifications.LEFT_INDEX_INTERMEDIATE,
52
+ "LeftHandIndex3": HumanBoneSpecifications.LEFT_INDEX_DISTAL,
53
+ "LeftHandMiddle1": HumanBoneSpecifications.LEFT_MIDDLE_PROXIMAL,
54
+ "LeftHandMiddle2": HumanBoneSpecifications.LEFT_MIDDLE_INTERMEDIATE,
55
+ "LeftHandMiddle3": HumanBoneSpecifications.LEFT_MIDDLE_DISTAL,
56
+ "LeftHandRing1": HumanBoneSpecifications.LEFT_RING_PROXIMAL,
57
+ "LeftHandRing2": HumanBoneSpecifications.LEFT_RING_INTERMEDIATE,
58
+ "LeftHandRing3": HumanBoneSpecifications.LEFT_RING_DISTAL,
59
+ "LeftHandPinky1": HumanBoneSpecifications.LEFT_LITTLE_PROXIMAL,
60
+ "LeftHandPinky2": HumanBoneSpecifications.LEFT_LITTLE_INTERMEDIATE,
61
+ "LeftHandPinky3": HumanBoneSpecifications.LEFT_LITTLE_DISTAL,
62
+ }
63
+
64
+
65
+ CONFIG: Final = ("Ready Player Me", MAPPING)
@@ -0,0 +1,94 @@
1
+ # SPDX-License-Identifier: MIT OR GPL-3.0-or-later
2
+ from collections.abc import Mapping
3
+ from typing import Final
4
+
5
+ from ..vrm1.human_bone import HumanBoneSpecification, HumanBoneSpecifications
6
+
7
+ MAPPING: Final[Mapping[str, HumanBoneSpecification]] = {
8
+ "CC_Base_Head": HumanBoneSpecifications.HEAD,
9
+ "CC_Base_Waist": HumanBoneSpecifications.SPINE,
10
+ "CC_Base_Hip": HumanBoneSpecifications.HIPS,
11
+ "CC_Base_R_Upperarm": HumanBoneSpecifications.RIGHT_UPPER_ARM,
12
+ "CC_Base_R_Forearm": HumanBoneSpecifications.RIGHT_LOWER_ARM,
13
+ "CC_Base_R_Hand": HumanBoneSpecifications.RIGHT_HAND,
14
+ "CC_Base_L_Upperarm": HumanBoneSpecifications.LEFT_UPPER_ARM,
15
+ "CC_Base_L_Forearm": HumanBoneSpecifications.LEFT_LOWER_ARM,
16
+ "CC_Base_L_Hand": HumanBoneSpecifications.LEFT_HAND,
17
+ "CC_Base_R_Thigh": HumanBoneSpecifications.RIGHT_UPPER_LEG,
18
+ "CC_Base_R_Calf": HumanBoneSpecifications.RIGHT_LOWER_LEG,
19
+ "CC_Base_R_Foot": HumanBoneSpecifications.RIGHT_FOOT,
20
+ "CC_Base_L_Thigh": HumanBoneSpecifications.LEFT_UPPER_LEG,
21
+ "CC_Base_L_Calf": HumanBoneSpecifications.LEFT_LOWER_LEG,
22
+ "CC_Base_L_Foot": HumanBoneSpecifications.LEFT_FOOT,
23
+ "CC_Base_R_Eye": HumanBoneSpecifications.RIGHT_EYE,
24
+ "CC_Base_L_Eye": HumanBoneSpecifications.LEFT_EYE,
25
+ "CC_Base_NeckTwist01": HumanBoneSpecifications.NECK,
26
+ "CC_Base_L_Clavicle": HumanBoneSpecifications.LEFT_SHOULDER,
27
+ "CC_Base_R_Clavicle": HumanBoneSpecifications.RIGHT_SHOULDER,
28
+ "CC_Base_Spine02": HumanBoneSpecifications.UPPER_CHEST,
29
+ "CC_Base_Spine01": HumanBoneSpecifications.CHEST,
30
+ "CC_Base_R_ToeBase": HumanBoneSpecifications.RIGHT_TOES,
31
+ "CC_Base_L_ToeBase": HumanBoneSpecifications.LEFT_TOES,
32
+ "CC_Base_L_Thumb1": HumanBoneSpecifications.LEFT_THUMB_METACARPAL,
33
+ "CC_Base_L_Finger00": HumanBoneSpecifications.LEFT_THUMB_METACARPAL,
34
+ "CC_Base_L_Thumb2": HumanBoneSpecifications.LEFT_THUMB_PROXIMAL,
35
+ "CC_Base_L_Finger01": HumanBoneSpecifications.LEFT_THUMB_PROXIMAL,
36
+ "CC_Base_L_Thumb3": HumanBoneSpecifications.LEFT_THUMB_DISTAL,
37
+ "CC_Base_L_Finger02": HumanBoneSpecifications.LEFT_THUMB_DISTAL,
38
+ "CC_Base_L_Index1": HumanBoneSpecifications.LEFT_INDEX_PROXIMAL,
39
+ "CC_Base_L_Finger10": HumanBoneSpecifications.LEFT_INDEX_PROXIMAL,
40
+ "CC_Base_L_Index2": HumanBoneSpecifications.LEFT_INDEX_INTERMEDIATE,
41
+ "CC_Base_L_Finger11": HumanBoneSpecifications.LEFT_INDEX_INTERMEDIATE,
42
+ "CC_Base_L_Index3": HumanBoneSpecifications.LEFT_INDEX_DISTAL,
43
+ "CC_Base_L_Finger12": HumanBoneSpecifications.LEFT_INDEX_DISTAL,
44
+ "CC_Base_L_Mid1": HumanBoneSpecifications.LEFT_MIDDLE_PROXIMAL,
45
+ "CC_Base_L_Finger20": HumanBoneSpecifications.LEFT_MIDDLE_PROXIMAL,
46
+ "CC_Base_L_Mid2": HumanBoneSpecifications.LEFT_MIDDLE_INTERMEDIATE,
47
+ "CC_Base_L_Finger21": HumanBoneSpecifications.LEFT_MIDDLE_INTERMEDIATE,
48
+ "CC_Base_L_Mid3": HumanBoneSpecifications.LEFT_MIDDLE_DISTAL,
49
+ "CC_Base_L_Finger22": HumanBoneSpecifications.LEFT_MIDDLE_DISTAL,
50
+ "CC_Base_L_Ring1": HumanBoneSpecifications.LEFT_RING_PROXIMAL,
51
+ "CC_Base_L_Finger30": HumanBoneSpecifications.LEFT_RING_PROXIMAL,
52
+ "CC_Base_L_Ring2": HumanBoneSpecifications.LEFT_RING_INTERMEDIATE,
53
+ "CC_Base_L_Finger31": HumanBoneSpecifications.LEFT_RING_INTERMEDIATE,
54
+ "CC_Base_L_Ring3": HumanBoneSpecifications.LEFT_RING_DISTAL,
55
+ "CC_Base_L_Finger32": HumanBoneSpecifications.LEFT_RING_DISTAL,
56
+ "CC_Base_L_Pinky1": HumanBoneSpecifications.LEFT_LITTLE_PROXIMAL,
57
+ "CC_Base_L_Finger40": HumanBoneSpecifications.LEFT_LITTLE_PROXIMAL,
58
+ "CC_Base_L_Pinky2": HumanBoneSpecifications.LEFT_LITTLE_INTERMEDIATE,
59
+ "CC_Base_L_Finger41": HumanBoneSpecifications.LEFT_LITTLE_INTERMEDIATE,
60
+ "CC_Base_L_Pinky3": HumanBoneSpecifications.LEFT_LITTLE_DISTAL,
61
+ "CC_Base_L_Finger42": HumanBoneSpecifications.LEFT_LITTLE_DISTAL,
62
+ "CC_Base_R_Thumb1": HumanBoneSpecifications.RIGHT_THUMB_METACARPAL,
63
+ "CC_Base_R_Finger00": HumanBoneSpecifications.RIGHT_THUMB_METACARPAL,
64
+ "CC_Base_R_Thumb2": HumanBoneSpecifications.RIGHT_THUMB_PROXIMAL,
65
+ "CC_Base_R_Finger01": HumanBoneSpecifications.RIGHT_THUMB_PROXIMAL,
66
+ "CC_Base_R_Thumb3": HumanBoneSpecifications.RIGHT_THUMB_DISTAL,
67
+ "CC_Base_R_Finger02": HumanBoneSpecifications.RIGHT_THUMB_DISTAL,
68
+ "CC_Base_R_Index1": HumanBoneSpecifications.RIGHT_INDEX_PROXIMAL,
69
+ "CC_Base_R_Finger10": HumanBoneSpecifications.RIGHT_INDEX_PROXIMAL,
70
+ "CC_Base_R_Index2": HumanBoneSpecifications.RIGHT_INDEX_INTERMEDIATE,
71
+ "CC_Base_R_Finger11": HumanBoneSpecifications.RIGHT_INDEX_INTERMEDIATE,
72
+ "CC_Base_R_Index3": HumanBoneSpecifications.RIGHT_INDEX_DISTAL,
73
+ "CC_Base_R_Finger12": HumanBoneSpecifications.RIGHT_INDEX_DISTAL,
74
+ "CC_Base_R_Mid1": HumanBoneSpecifications.RIGHT_MIDDLE_PROXIMAL,
75
+ "CC_Base_R_Finger20": HumanBoneSpecifications.RIGHT_MIDDLE_PROXIMAL,
76
+ "CC_Base_R_Mid2": HumanBoneSpecifications.RIGHT_MIDDLE_INTERMEDIATE,
77
+ "CC_Base_R_Finger21": HumanBoneSpecifications.RIGHT_MIDDLE_INTERMEDIATE,
78
+ "CC_Base_R_Mid3": HumanBoneSpecifications.RIGHT_MIDDLE_DISTAL,
79
+ "CC_Base_R_Finger22": HumanBoneSpecifications.RIGHT_MIDDLE_DISTAL,
80
+ "CC_Base_R_Ring1": HumanBoneSpecifications.RIGHT_RING_PROXIMAL,
81
+ "CC_Base_R_Finger30": HumanBoneSpecifications.RIGHT_RING_PROXIMAL,
82
+ "CC_Base_R_Ring2": HumanBoneSpecifications.RIGHT_RING_INTERMEDIATE,
83
+ "CC_Base_R_Finger31": HumanBoneSpecifications.RIGHT_RING_INTERMEDIATE,
84
+ "CC_Base_R_Ring3": HumanBoneSpecifications.RIGHT_RING_DISTAL,
85
+ "CC_Base_R_Finger32": HumanBoneSpecifications.RIGHT_RING_DISTAL,
86
+ "CC_Base_R_Pinky1": HumanBoneSpecifications.RIGHT_LITTLE_PROXIMAL,
87
+ "CC_Base_R_Finger40": HumanBoneSpecifications.RIGHT_LITTLE_PROXIMAL,
88
+ "CC_Base_R_Pinky2": HumanBoneSpecifications.RIGHT_LITTLE_INTERMEDIATE,
89
+ "CC_Base_R_Finger41": HumanBoneSpecifications.RIGHT_LITTLE_INTERMEDIATE,
90
+ "CC_Base_R_Pinky3": HumanBoneSpecifications.RIGHT_LITTLE_DISTAL,
91
+ "CC_Base_R_Finger42": HumanBoneSpecifications.RIGHT_LITTLE_DISTAL,
92
+ }
93
+
94
+ CONFIG: Final = ("Character Creator / AccuRIG", MAPPING)
@@ -0,0 +1,65 @@
1
+ # SPDX-License-Identifier: MIT OR GPL-3.0-or-later
2
+ from collections.abc import Mapping
3
+ from typing import Final
4
+
5
+ from ..vrm1.human_bone import HumanBoneSpecification, HumanBoneSpecifications
6
+
7
+ MAPPING: Final[Mapping[str, HumanBoneSpecification]] = {
8
+ "spine.006": HumanBoneSpecifications.HEAD,
9
+ "spine.001": HumanBoneSpecifications.SPINE,
10
+ "spine": HumanBoneSpecifications.HIPS,
11
+ "upper_arm.R": HumanBoneSpecifications.RIGHT_UPPER_ARM,
12
+ "forearm.R": HumanBoneSpecifications.RIGHT_LOWER_ARM,
13
+ "hand.R": HumanBoneSpecifications.RIGHT_HAND,
14
+ "upper_arm.L": HumanBoneSpecifications.LEFT_UPPER_ARM,
15
+ "forearm.L": HumanBoneSpecifications.LEFT_LOWER_ARM,
16
+ "hand.L": HumanBoneSpecifications.LEFT_HAND,
17
+ "thigh.R": HumanBoneSpecifications.RIGHT_UPPER_LEG,
18
+ "shin.R": HumanBoneSpecifications.RIGHT_LOWER_LEG,
19
+ "foot.R": HumanBoneSpecifications.RIGHT_FOOT,
20
+ "thigh.L": HumanBoneSpecifications.LEFT_UPPER_LEG,
21
+ "shin.L": HumanBoneSpecifications.LEFT_LOWER_LEG,
22
+ "foot.L": HumanBoneSpecifications.LEFT_FOOT,
23
+ "eye.R": HumanBoneSpecifications.RIGHT_EYE,
24
+ "eye.L": HumanBoneSpecifications.LEFT_EYE,
25
+ "jaw": HumanBoneSpecifications.JAW,
26
+ "spine.004": HumanBoneSpecifications.NECK,
27
+ "shoulder.L": HumanBoneSpecifications.LEFT_SHOULDER,
28
+ "shoulder.R": HumanBoneSpecifications.RIGHT_SHOULDER,
29
+ "spine.003": HumanBoneSpecifications.UPPER_CHEST,
30
+ "spine.002": HumanBoneSpecifications.CHEST,
31
+ "toe.R": HumanBoneSpecifications.RIGHT_TOES,
32
+ "toe.L": HumanBoneSpecifications.LEFT_TOES,
33
+ "thumb.01.L": HumanBoneSpecifications.LEFT_THUMB_METACARPAL,
34
+ "thumb.02.L": HumanBoneSpecifications.LEFT_THUMB_PROXIMAL,
35
+ "thumb.03.L": HumanBoneSpecifications.LEFT_THUMB_DISTAL,
36
+ "f_index.01.L": HumanBoneSpecifications.LEFT_INDEX_PROXIMAL,
37
+ "f_index.02.L": HumanBoneSpecifications.LEFT_INDEX_INTERMEDIATE,
38
+ "f_index.03.L": HumanBoneSpecifications.LEFT_INDEX_DISTAL,
39
+ "f_middle.01.L": HumanBoneSpecifications.LEFT_MIDDLE_PROXIMAL,
40
+ "f_middle.02.L": HumanBoneSpecifications.LEFT_MIDDLE_INTERMEDIATE,
41
+ "f_middle.03.L": HumanBoneSpecifications.LEFT_MIDDLE_DISTAL,
42
+ "f_ring.01.L": HumanBoneSpecifications.LEFT_RING_PROXIMAL,
43
+ "f_ring.02.L": HumanBoneSpecifications.LEFT_RING_INTERMEDIATE,
44
+ "f_ring.03.L": HumanBoneSpecifications.LEFT_RING_DISTAL,
45
+ "f_pinky.01.L": HumanBoneSpecifications.LEFT_LITTLE_PROXIMAL,
46
+ "f_pinky.02.L": HumanBoneSpecifications.LEFT_LITTLE_INTERMEDIATE,
47
+ "f_pinky.03.L": HumanBoneSpecifications.LEFT_LITTLE_DISTAL,
48
+ "thumb.01.R": HumanBoneSpecifications.RIGHT_THUMB_METACARPAL,
49
+ "thumb.02.R": HumanBoneSpecifications.RIGHT_THUMB_PROXIMAL,
50
+ "thumb.03.R": HumanBoneSpecifications.RIGHT_THUMB_DISTAL,
51
+ "f_index.01.R": HumanBoneSpecifications.RIGHT_INDEX_PROXIMAL,
52
+ "f_index.02.R": HumanBoneSpecifications.RIGHT_INDEX_INTERMEDIATE,
53
+ "f_index.03.R": HumanBoneSpecifications.RIGHT_INDEX_DISTAL,
54
+ "f_middle.01.R": HumanBoneSpecifications.RIGHT_MIDDLE_PROXIMAL,
55
+ "f_middle.02.R": HumanBoneSpecifications.RIGHT_MIDDLE_INTERMEDIATE,
56
+ "f_middle.03.R": HumanBoneSpecifications.RIGHT_MIDDLE_DISTAL,
57
+ "f_ring.01.R": HumanBoneSpecifications.RIGHT_RING_PROXIMAL,
58
+ "f_ring.02.R": HumanBoneSpecifications.RIGHT_RING_INTERMEDIATE,
59
+ "f_ring.03.R": HumanBoneSpecifications.RIGHT_RING_DISTAL,
60
+ "f_pinky.01.R": HumanBoneSpecifications.RIGHT_LITTLE_PROXIMAL,
61
+ "f_pinky.02.R": HumanBoneSpecifications.RIGHT_LITTLE_INTERMEDIATE,
62
+ "f_pinky.03.R": HumanBoneSpecifications.RIGHT_LITTLE_DISTAL,
63
+ }
64
+
65
+ CONFIG: Final = ("Rigify Meta-Rig", MAPPING)