create-aura3d 1.1.2 → 1.3.1

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 (215) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +6 -4
  4. package/dist/index.js.map +1 -1
  5. package/package.json +10 -9
  6. package/templates/{cartoon-channel → animation-channel}/README.md +11 -11
  7. package/templates/{cartoon-studio → animation-channel}/index.html +1 -1
  8. package/templates/{cartoon-channel → animation-channel}/package.json +2 -2
  9. package/templates/{cartoon-channel → animation-channel}/src/episode.ts +22 -22
  10. package/templates/{cartoon-channel → animation-channel}/src/experimental/README.md +5 -5
  11. package/templates/{cartoon-channel → animation-channel}/src/experimental/concept-episode-2-5d.css +3 -3
  12. package/templates/{cartoon-channel → animation-channel}/src/experimental/concept-episode-2-5d.ts +7 -7
  13. package/templates/{cartoon-channel → animation-channel}/src/experimental/image-puppet-episode.css +4 -4
  14. package/templates/{cartoon-channel → animation-channel}/src/experimental/image-puppet-episode.ts +6 -6
  15. package/templates/{cartoon-channel → animation-channel}/src/experimental/puppet-episode-2d.css +3 -3
  16. package/templates/{cartoon-channel → animation-channel}/src/experimental/puppet-episode-2d.ts +7 -7
  17. package/templates/{cartoon-channel → animation-channel}/src/main.ts +32 -32
  18. package/templates/{cartoon-channel → animation-channel}/src/render-plan.ts +13 -13
  19. package/templates/{cartoon-channel → animation-channel}/src/sample-episode-visual.css +34 -34
  20. package/templates/{cartoon-channel → animation-channel}/src/sample-episode-visual.ts +20 -20
  21. package/templates/{cartoon-channel → animation-channel}/tests/concept-2-5d-animation.spec.ts +3 -3
  22. package/templates/{cartoon-channel → animation-channel}/tests/concept-2-5d.spec.ts +6 -6
  23. package/templates/{cartoon-channel → animation-channel}/tests/image-puppet-animation.spec.ts +3 -3
  24. package/templates/{cartoon-channel → animation-channel}/tests/image-puppet.spec.ts +5 -5
  25. package/templates/{cartoon-channel → animation-channel}/tests/puppet-2d-animation.spec.ts +3 -3
  26. package/templates/{cartoon-channel → animation-channel}/tests/puppet-2d.spec.ts +4 -4
  27. package/templates/{prompt-cartoon-channel → animation-channel}/tests/route-health.spec.ts +1 -1
  28. package/templates/{cartoon-channel → animation-channel}/tests/sample-episode-visual.spec.ts +5 -5
  29. package/templates/{cartoon-channel → animation-channel}/tests/storyboard-playback.spec.ts +7 -7
  30. package/templates/animation-studio/AGENTS.md +71 -0
  31. package/templates/{cartoon-studio → animation-studio}/ASSET-LICENSES.md +7 -7
  32. package/templates/{cartoon-studio → animation-studio}/README.md +6 -6
  33. package/templates/animation-studio/aura.assets.json +669 -0
  34. package/templates/animation-studio/dist/episodes/scene/episode-3d.webm +0 -0
  35. package/templates/animation-studio/dist/episodes/scene/frames/action.png +0 -0
  36. package/templates/animation-studio/dist/episodes/scene/frames/dialogue.png +0 -0
  37. package/templates/animation-studio/dist/episodes/scene/frames/final.png +0 -0
  38. package/templates/animation-studio/dist/episodes/scene/frames/first.png +0 -0
  39. package/templates/animation-studio/dist/episodes/scene/frames/mouth-closed.png +0 -0
  40. package/templates/animation-studio/dist/episodes/scene/frames/mouth-open.png +0 -0
  41. package/templates/animation-studio/dist/episodes/scene/render-live-summary.json +10284 -0
  42. package/templates/animation-studio/dist/episodes/scene/skeleton-overlays/worker-1.png +0 -0
  43. package/templates/animation-studio/dist/episodes/scene/skeleton-overlays/worker-2.png +0 -0
  44. package/templates/animation-studio/dist/generated/second-scene.document.json +1210 -0
  45. package/templates/animation-studio/dist/generated/studio-edited.document.json +1196 -0
  46. package/templates/animation-studio/dist/scene/inshader-accept.document.json +1 -0
  47. package/templates/animation-studio/dist/scene/inshader-test.document.json +1 -0
  48. package/templates/animation-studio/dist/scene/integ.document.json +1 -0
  49. package/templates/animation-studio/dist/scene/working.document.json +723 -0
  50. package/templates/animation-studio/dist/scene/working.history.json +1 -0
  51. package/templates/{cartoon-studio → animation-studio}/live-route.html +1 -1
  52. package/templates/{cartoon-studio → animation-studio}/package-lock.json +2 -2
  53. package/templates/animation-studio/package.json +32 -0
  54. package/templates/animation-studio/public/aura-assets/cast-a.catalog.glb +0 -0
  55. package/templates/animation-studio/public/aura-assets/cast-b.catalog.glb +0 -0
  56. package/templates/animation-studio/public/aura-assets/luma.catalog.glb +0 -0
  57. package/templates/animation-studio/public/aura-assets/luma2.catalog.glb +0 -0
  58. package/templates/animation-studio/public/aura-assets/miko.catalog.glb +0 -0
  59. package/templates/{cartoon-studio → animation-studio}/public/aura-assets/moonGarden.gltf +1 -1
  60. package/templates/animation-studio/public/aura-assets/mushroom.catalog.glb +0 -0
  61. package/templates/animation-studio/public/aura-assets/rusty.catalog.glb +0 -0
  62. package/templates/animation-studio/public/cast-library/cast-library.json +71 -0
  63. package/templates/animation-studio/public/clip-library/gesture.json +173903 -0
  64. package/templates/animation-studio/public/clip-library/idle.json +23035 -0
  65. package/templates/animation-studio/public/clip-library/manifest.json +154 -0
  66. package/templates/animation-studio/public/clip-library/nod.json +173903 -0
  67. package/templates/animation-studio/public/clip-library/point.json +69879 -0
  68. package/templates/animation-studio/public/clip-library/react.json +66084 -0
  69. package/templates/animation-studio/public/clip-library/run.json +9648 -0
  70. package/templates/animation-studio/public/clip-library/talk.json +69879 -0
  71. package/templates/animation-studio/public/clip-library/walk.json +8283 -0
  72. package/templates/animation-studio/public/hifi-cast/BrainStem.glb +0 -0
  73. package/templates/animation-studio/public/hifi-cast/CesiumMan.glb +0 -0
  74. package/templates/animation-studio/public/hifi-cast/RiggedFigure.glb +0 -0
  75. package/templates/animation-studio/public/hifi-cast/kaykit/Barbarian.glb +0 -0
  76. package/templates/animation-studio/public/hifi-cast/kaykit/Knight.glb +0 -0
  77. package/templates/animation-studio/public/hifi-cast/kaykit/Mage.glb +0 -0
  78. package/templates/animation-studio/public/hifi-cast/kaykit/Rogue.glb +0 -0
  79. package/templates/animation-studio/public/hifi-cast/kaykit/Rogue_Hooded.glb +0 -0
  80. package/templates/animation-studio/public/hifi-cast/khronos-report.json +295 -0
  81. package/templates/animation-studio/public/hifi-cast/quaternius-report.json +449 -0
  82. package/templates/animation-studio/public/hifi-cast/rpm/cesiumman.glb +0 -0
  83. package/templates/animation-studio/public/hifi-cast/rpm/fox.glb +0 -0
  84. package/templates/animation-studio/public/hifi-cast/rpm/riggedfigure.glb +0 -0
  85. package/templates/animation-studio/public/hifi-cast/rpm-report.json +301 -0
  86. package/templates/animation-studio/scripts/anim.ts +103 -0
  87. package/templates/animation-studio/scripts/animation-scene.ts +457 -0
  88. package/templates/animation-studio/scripts/asset-motion-probe.ts +450 -0
  89. package/templates/animation-studio/scripts/asset-render-probe.ts +152 -0
  90. package/templates/animation-studio/scripts/author-office-scene.ts +65 -0
  91. package/templates/animation-studio/scripts/build-cast-library.ts +97 -0
  92. package/templates/animation-studio/scripts/build-characters.ts +1543 -0
  93. package/templates/animation-studio/scripts/build-clip-library.ts +972 -0
  94. package/templates/animation-studio/scripts/clip-decision-cli.ts +51 -0
  95. package/templates/animation-studio/scripts/determinism-check.ts +48 -0
  96. package/templates/animation-studio/scripts/generate-scene.ts +95 -0
  97. package/templates/animation-studio/scripts/hifi-cast-validate.ts +572 -0
  98. package/templates/animation-studio/scripts/motion-evidence-cli.ts +150 -0
  99. package/templates/animation-studio/scripts/motion-evidence.ts +362 -0
  100. package/templates/animation-studio/scripts/preview-server.ts +52 -0
  101. package/templates/animation-studio/scripts/regen-manifest.ts +156 -0
  102. package/templates/animation-studio/scripts/render-core.ts +360 -0
  103. package/templates/animation-studio/scripts/render-live.ts +813 -0
  104. package/templates/animation-studio/scripts/render-parallel.ts +70 -0
  105. package/templates/animation-studio/scripts/render-server.ts +119 -0
  106. package/templates/animation-studio/scripts/resolve-asset.ts +669 -0
  107. package/templates/animation-studio/scripts/skeleton-overlay-cli.ts +82 -0
  108. package/templates/animation-studio/scripts/skeleton-overlay.ts +293 -0
  109. package/templates/animation-studio/scripts/studio-tools-demo.ts +45 -0
  110. package/templates/animation-studio/scripts/texture-bake.ts +297 -0
  111. package/templates/{cartoon-studio → animation-studio}/scripts/validate-characters.ts +0 -0
  112. package/templates/animation-studio/scripts/verify-extracted-overlay-cli.ts +264 -0
  113. package/templates/animation-studio/src/animation-episode-validator.ts +97 -0
  114. package/templates/animation-studio/src/animation-performance.ts +556 -0
  115. package/templates/animation-studio/src/aura-assets.ts +71 -0
  116. package/templates/animation-studio/src/character.ts +40 -0
  117. package/templates/animation-studio/src/director/compile-episode-document.ts +45 -0
  118. package/templates/animation-studio/src/director/director-heuristics.ts +697 -0
  119. package/templates/animation-studio/src/director/prompt-to-scene.ts +369 -0
  120. package/templates/animation-studio/src/empty-document.ts +77 -0
  121. package/templates/animation-studio/src/episode-document.ts +442 -0
  122. package/templates/animation-studio/src/examples/moon-garden.example.ts +183 -0
  123. package/templates/animation-studio/src/fidelity.ts +129 -0
  124. package/templates/animation-studio/src/graph.ts +14 -0
  125. package/templates/animation-studio/src/procedural-hdri.ts +243 -0
  126. package/templates/animation-studio/src/profile.ts +97 -0
  127. package/templates/animation-studio/src/render-live-route.ts +42 -0
  128. package/templates/animation-studio/src/render-modes.ts +137 -0
  129. package/templates/animation-studio/src/scene-player.ts +867 -0
  130. package/templates/animation-studio/src/set-templates.ts +361 -0
  131. package/templates/animation-studio/src/studio/episode-document-store.ts +72 -0
  132. package/templates/animation-studio/src/studio/scene-tool-registry.ts +86 -0
  133. package/templates/animation-studio/src/studio/scene-tools.ts +169 -0
  134. package/templates/animation-studio/tests/reports/animation-studio/hifi-cast-validation.json +938 -0
  135. package/templates/animation-studio/tsconfig.json +26 -0
  136. package/templates/{cartoon-studio → animation-studio}/vite.config.ts +6 -1
  137. package/templates/character-controller/README.md +33 -0
  138. package/templates/character-controller/index.html +19 -0
  139. package/templates/character-controller/package.json +23 -0
  140. package/templates/character-controller/playwright.config.ts +14 -0
  141. package/templates/character-controller/src/controller.ts +44 -0
  142. package/templates/character-controller/src/main.ts +62 -0
  143. package/templates/character-controller/tests/route-health.spec.ts +26 -0
  144. package/templates/character-controller/tests/screenshot.spec.ts +9 -0
  145. package/templates/character-controller/tsconfig.json +15 -0
  146. package/templates/cinematic-scene/package.json +1 -1
  147. package/templates/episode-builder/README.md +4 -4
  148. package/templates/episode-builder/package.json +1 -1
  149. package/templates/episode-builder/src/aura-assets.ts +1 -1
  150. package/templates/episode-builder/src/builder.ts +4 -4
  151. package/templates/episode-builder/src/episode.ts +21 -21
  152. package/templates/episode-builder/src/main.ts +20 -20
  153. package/templates/episode-builder/src/render-plan.ts +13 -13
  154. package/templates/episode-builder/tests/storyboard-playback.spec.ts +7 -7
  155. package/templates/fighting-game/package.json +1 -1
  156. package/templates/mini-game/package.json +1 -1
  157. package/templates/product-viewer/package.json +1 -1
  158. package/templates/{prompt-cartoon-channel → prompt-animation-channel}/README.md +5 -5
  159. package/templates/{cartoon-channel → prompt-animation-channel}/index.html +1 -1
  160. package/templates/{prompt-cartoon-channel → prompt-animation-channel}/package.json +2 -2
  161. package/templates/{prompt-cartoon-channel → prompt-animation-channel}/src/aura-assets.ts +1 -1
  162. package/templates/{prompt-cartoon-channel → prompt-animation-channel}/src/episode.ts +22 -22
  163. package/templates/{prompt-cartoon-channel → prompt-animation-channel}/src/main.ts +28 -28
  164. package/templates/{prompt-cartoon-channel → prompt-animation-channel}/src/render-plan.ts +13 -13
  165. package/templates/{cartoon-channel → prompt-animation-channel}/tests/route-health.spec.ts +1 -1
  166. package/templates/{prompt-cartoon-channel → prompt-animation-channel}/tests/storyboard-playback.spec.ts +8 -8
  167. package/templates/cartoon-studio/aura.assets.json +0 -400
  168. package/templates/cartoon-studio/package.json +0 -33
  169. package/templates/cartoon-studio/public/aura-assets/luma.authored.glb +0 -0
  170. package/templates/cartoon-studio/public/aura-assets/miko.authored.glb +0 -0
  171. package/templates/cartoon-studio/scripts/build-characters.ts +0 -738
  172. package/templates/cartoon-studio/scripts/build-dialogue-audio.ts +0 -262
  173. package/templates/cartoon-studio/scripts/episode.ts +0 -323
  174. package/templates/cartoon-studio/scripts/render-live.ts +0 -873
  175. package/templates/cartoon-studio/src/aura-assets.ts +0 -64
  176. package/templates/cartoon-studio/src/characters.ts +0 -65
  177. package/templates/cartoon-studio/src/episode-renderer.ts +0 -605
  178. package/templates/cartoon-studio/src/episode.ts +0 -306
  179. package/templates/cartoon-studio/src/main.ts +0 -400
  180. package/templates/cartoon-studio/src/render-live-route.ts +0 -913
  181. package/templates/cartoon-studio/src/render-plan.ts +0 -567
  182. package/templates/cartoon-studio/src/review.ts +0 -99
  183. package/templates/cartoon-studio/src/studio.ts +0 -101
  184. package/templates/cartoon-studio/test-results/.last-run.json +0 -4
  185. package/templates/cartoon-studio/tests/episode-render.spec.ts +0 -44
  186. package/templates/cartoon-studio/tests/motion-quality.spec.ts +0 -45
  187. package/templates/cartoon-studio/tests/route-health.spec.ts +0 -7
  188. package/templates/cartoon-studio/tests/storyboard-playback.spec.ts +0 -99
  189. package/templates/cartoon-studio/tests/visual-review.spec.ts +0 -21
  190. package/templates/cartoon-studio/tsconfig.json +0 -14
  191. package/templates/prompt-cartoon-channel/index.html +0 -13
  192. package/templates/prompt-cartoon-channel/src/sets.ts +0 -14
  193. /package/templates/{cartoon-channel → animation-channel}/aura.assets.json +0 -0
  194. /package/templates/{cartoon-channel → animation-channel}/playwright.config.ts +0 -0
  195. /package/templates/{cartoon-channel → animation-channel}/public/aura-assets/luma.047f5e5f.glb +0 -0
  196. /package/templates/{cartoon-channel → animation-channel}/public/aura-assets/luma.thumb.svg +0 -0
  197. /package/templates/{cartoon-channel → animation-channel}/public/aura-assets/miko.047f5e5f.glb +0 -0
  198. /package/templates/{cartoon-channel → animation-channel}/public/aura-assets/miko.thumb.svg +0 -0
  199. /package/templates/{cartoon-channel → animation-channel}/public/aura-assets/moon-garden-feature-frame.png +0 -0
  200. /package/templates/{cartoon-channel → animation-channel}/src/aura-assets.ts +0 -0
  201. /package/templates/{cartoon-channel → animation-channel}/src/characters.ts +0 -0
  202. /package/templates/{cartoon-channel → animation-channel}/src/contract.ts +0 -0
  203. /package/templates/{cartoon-channel → animation-channel}/src/sets.ts +0 -0
  204. /package/templates/{cartoon-channel → animation-channel}/test-results/.last-run.json +0 -0
  205. /package/templates/{cartoon-channel → animation-channel}/tests/reports/prompt-animation/cartoon-sample-episode.png +0 -0
  206. /package/templates/{cartoon-channel → animation-channel}/tsconfig.json +0 -0
  207. /package/templates/{cartoon-studio → animation-studio}/playwright.config.ts +0 -0
  208. /package/templates/{cartoon-studio → animation-studio}/public/aura-assets/luma.thumb.svg +0 -0
  209. /package/templates/{cartoon-studio → animation-studio}/public/aura-assets/miko.thumb.svg +0 -0
  210. /package/templates/{cartoon-studio → animation-studio}/src/contract.ts +0 -0
  211. /package/templates/{prompt-cartoon-channel → prompt-animation-channel}/playwright.config.ts +0 -0
  212. /package/templates/{prompt-cartoon-channel → prompt-animation-channel}/src/characters.ts +0 -0
  213. /package/templates/{prompt-cartoon-channel → prompt-animation-channel}/src/contract.ts +0 -0
  214. /package/templates/{cartoon-studio → prompt-animation-channel}/src/sets.ts +0 -0
  215. /package/templates/{prompt-cartoon-channel → prompt-animation-channel}/tsconfig.json +0 -0
@@ -0,0 +1,295 @@
1
+ {
2
+ "generatedAt": "2026-06-08T09:51:25.329Z",
3
+ "source": "KhronosGroup/glTF-Sample-Assets",
4
+ "models": [
5
+ {
6
+ "name": "CesiumMan",
7
+ "path": "public/hifi-cast/CesiumMan.glb",
8
+ "fileBytes": 438044,
9
+ "binBytes": 409680,
10
+ "skinCount": 1,
11
+ "joints": 19,
12
+ "boneNames": [
13
+ "Skeleton_torso_joint_1",
14
+ "Skeleton_torso_joint_2",
15
+ "torso_joint_3",
16
+ "Skeleton_neck_joint_1",
17
+ "Skeleton_neck_joint_2",
18
+ "Skeleton_arm_joint_L__4_",
19
+ "Skeleton_arm_joint_R",
20
+ "Skeleton_arm_joint_L__3_",
21
+ "Skeleton_arm_joint_R__2_",
22
+ "Skeleton_arm_joint_L__2_",
23
+ "Skeleton_arm_joint_R__3_",
24
+ "leg_joint_L_1",
25
+ "leg_joint_R_1",
26
+ "leg_joint_L_2",
27
+ "leg_joint_R_2",
28
+ "leg_joint_L_3",
29
+ "leg_joint_R_3",
30
+ "leg_joint_L_5",
31
+ "leg_joint_R_5"
32
+ ],
33
+ "mesh": {
34
+ "vertices": 3273,
35
+ "triangles": 4672
36
+ },
37
+ "hasTexture": true,
38
+ "imageCount": 1,
39
+ "textureCount": 1,
40
+ "hasBaseColorTexture": true,
41
+ "animations": [
42
+ "animation_0"
43
+ ],
44
+ "grade": "C",
45
+ "mappedBoneCount": 6,
46
+ "mappedBones": [
47
+ {
48
+ "bone": "neck",
49
+ "node": "Skeleton_neck_joint_1"
50
+ },
51
+ {
52
+ "bone": "leftUpperArm",
53
+ "node": "Skeleton_arm_joint_L__4_"
54
+ },
55
+ {
56
+ "bone": "rightUpperArm",
57
+ "node": "Skeleton_arm_joint_R"
58
+ },
59
+ {
60
+ "bone": "leftLowerLeg",
61
+ "node": "leg_joint_L_1"
62
+ },
63
+ {
64
+ "bone": "rightLowerLeg",
65
+ "node": "leg_joint_R_1"
66
+ },
67
+ {
68
+ "bone": "spine",
69
+ "node": "torso_joint_3"
70
+ }
71
+ ],
72
+ "missingRequired": [
73
+ "hips",
74
+ "head",
75
+ "leftLowerArm",
76
+ "leftHand",
77
+ "rightLowerArm",
78
+ "rightHand",
79
+ "leftUpperLeg",
80
+ "leftFoot",
81
+ "rightUpperLeg",
82
+ "rightFoot"
83
+ ],
84
+ "rigQuality": {
85
+ "grade": "C",
86
+ "hasLegs": true,
87
+ "hasKnees": true,
88
+ "hasAnkles": false,
89
+ "hasFeet": false,
90
+ "mappedBoneCount": 6,
91
+ "reasons": [
92
+ "6 of 22 canonical humanoid bones mapped",
93
+ "mascot/sparse rig: head + torso acting only, no real limb chains (C)",
94
+ "no usable forearm chain on both arms"
95
+ ]
96
+ }
97
+ },
98
+ {
99
+ "name": "RiggedFigure",
100
+ "path": "public/hifi-cast/RiggedFigure.glb",
101
+ "fileBytes": 50116,
102
+ "binBytes": 22184,
103
+ "skinCount": 1,
104
+ "joints": 19,
105
+ "boneNames": [
106
+ "torso_joint_1",
107
+ "torso_joint_2",
108
+ "torso_joint_3",
109
+ "neck_joint_1",
110
+ "neck_joint_2",
111
+ "arm_joint_L_1",
112
+ "arm_joint_R_1",
113
+ "arm_joint_L_2",
114
+ "arm_joint_R_2",
115
+ "arm_joint_L_3",
116
+ "arm_joint_R_3",
117
+ "leg_joint_L_1",
118
+ "leg_joint_R_1",
119
+ "leg_joint_L_2",
120
+ "leg_joint_R_2",
121
+ "leg_joint_L_3",
122
+ "leg_joint_R_3",
123
+ "leg_joint_L_5",
124
+ "leg_joint_R_5"
125
+ ],
126
+ "mesh": {
127
+ "vertices": 370,
128
+ "triangles": 256
129
+ },
130
+ "hasTexture": false,
131
+ "imageCount": 0,
132
+ "textureCount": 0,
133
+ "hasBaseColorTexture": false,
134
+ "animations": [
135
+ "animation_0"
136
+ ],
137
+ "grade": "C",
138
+ "mappedBoneCount": 6,
139
+ "mappedBones": [
140
+ {
141
+ "bone": "neck",
142
+ "node": "neck_joint_1"
143
+ },
144
+ {
145
+ "bone": "leftUpperArm",
146
+ "node": "arm_joint_L_1"
147
+ },
148
+ {
149
+ "bone": "rightUpperArm",
150
+ "node": "arm_joint_R_1"
151
+ },
152
+ {
153
+ "bone": "leftLowerLeg",
154
+ "node": "leg_joint_L_1"
155
+ },
156
+ {
157
+ "bone": "rightLowerLeg",
158
+ "node": "leg_joint_R_1"
159
+ },
160
+ {
161
+ "bone": "spine",
162
+ "node": "torso_joint_1"
163
+ }
164
+ ],
165
+ "missingRequired": [
166
+ "hips",
167
+ "head",
168
+ "leftLowerArm",
169
+ "leftHand",
170
+ "rightLowerArm",
171
+ "rightHand",
172
+ "leftUpperLeg",
173
+ "leftFoot",
174
+ "rightUpperLeg",
175
+ "rightFoot"
176
+ ],
177
+ "rigQuality": {
178
+ "grade": "C",
179
+ "hasLegs": true,
180
+ "hasKnees": true,
181
+ "hasAnkles": false,
182
+ "hasFeet": false,
183
+ "mappedBoneCount": 6,
184
+ "reasons": [
185
+ "6 of 22 canonical humanoid bones mapped",
186
+ "mascot/sparse rig: head + torso acting only, no real limb chains (C)",
187
+ "no usable forearm chain on both arms"
188
+ ]
189
+ }
190
+ },
191
+ {
192
+ "name": "BrainStem",
193
+ "path": "public/hifi-cast/BrainStem.glb",
194
+ "fileBytes": 3194848,
195
+ "binBytes": 3105104,
196
+ "skinCount": 1,
197
+ "joints": 18,
198
+ "boneNames": [
199
+ "node_3",
200
+ "node_12",
201
+ "node_20",
202
+ "node_18",
203
+ "node_19",
204
+ "node_13",
205
+ "node_14",
206
+ "node_17",
207
+ "node_16",
208
+ "node_15",
209
+ "node_8",
210
+ "node_9",
211
+ "node_10",
212
+ "node_11",
213
+ "node_4",
214
+ "node_5",
215
+ "node_6",
216
+ "node_7"
217
+ ],
218
+ "mesh": {
219
+ "vertices": 34159,
220
+ "triangles": 61666
221
+ },
222
+ "hasTexture": false,
223
+ "imageCount": 0,
224
+ "textureCount": 0,
225
+ "hasBaseColorTexture": false,
226
+ "animations": [
227
+ "animation_0"
228
+ ],
229
+ "grade": "D",
230
+ "mappedBoneCount": 0,
231
+ "mappedBones": [],
232
+ "missingRequired": [
233
+ "hips",
234
+ "spine",
235
+ "head",
236
+ "leftUpperArm",
237
+ "leftLowerArm",
238
+ "leftHand",
239
+ "rightUpperArm",
240
+ "rightLowerArm",
241
+ "rightHand",
242
+ "leftUpperLeg",
243
+ "leftLowerLeg",
244
+ "leftFoot",
245
+ "rightUpperLeg",
246
+ "rightLowerLeg",
247
+ "rightFoot"
248
+ ],
249
+ "rigQuality": {
250
+ "grade": "D",
251
+ "hasLegs": false,
252
+ "hasKnees": false,
253
+ "hasAnkles": false,
254
+ "hasFeet": false,
255
+ "mappedBoneCount": 0,
256
+ "reasons": [
257
+ "0 of 22 canonical humanoid bones mapped",
258
+ "not enough body structure to drive body acting (D)",
259
+ "missing spine/head axis",
260
+ "missing a pair of upper arms",
261
+ "missing a usable pair of legs"
262
+ ]
263
+ }
264
+ }
265
+ ],
266
+ "recommendation": {
267
+ "best": "CesiumMan",
268
+ "ranking": [
269
+ {
270
+ "name": "CesiumMan",
271
+ "grade": "C",
272
+ "hasLegs": true,
273
+ "hasTexture": true,
274
+ "mappedBoneCount": 6,
275
+ "joints": 19
276
+ },
277
+ {
278
+ "name": "RiggedFigure",
279
+ "grade": "C",
280
+ "hasLegs": true,
281
+ "hasTexture": false,
282
+ "mappedBoneCount": 6,
283
+ "joints": 19
284
+ },
285
+ {
286
+ "name": "BrainStem",
287
+ "grade": "D",
288
+ "hasLegs": false,
289
+ "hasTexture": false,
290
+ "mappedBoneCount": 0,
291
+ "joints": 18
292
+ }
293
+ ]
294
+ }
295
+ }