create-aura3d 1.1.2 → 1.3.0

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 +5 -3
  4. package/dist/index.js.map +1 -1
  5. package/package.json +11 -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,669 @@
1
+ {
2
+ "schema": "aura3d.assets/1.0",
3
+ "assetBasePath": "/aura-assets/",
4
+ "outputDir": "public/aura-assets",
5
+ "typegen": "src/aura-assets.ts",
6
+ "assets": [
7
+ {
8
+ "id": "luma",
9
+ "type": "model",
10
+ "format": "glb",
11
+ "source": "public/aura-assets/luma2.catalog.glb",
12
+ "outputPath": "public/aura-assets/luma2.catalog.glb",
13
+ "url": "/aura-assets/luma2.catalog.glb",
14
+ "hash": "sha256-911c60a074f6d89d0eaeefc1f1eecf4188873880b62aa11b3d02ec2c18a4e036",
15
+ "sizeBytes": 1980724,
16
+ "bounds": [
17
+ 0.99,
18
+ 1.95,
19
+ 0.333
20
+ ],
21
+ "boundsMetadata": {
22
+ "min": [
23
+ -0.495,
24
+ -0.065,
25
+ -0.162
26
+ ],
27
+ "max": [
28
+ 0.495,
29
+ 1.885,
30
+ 0.171
31
+ ],
32
+ "size": [
33
+ 0.99,
34
+ 1.95,
35
+ 0.333
36
+ ],
37
+ "center": [
38
+ 0,
39
+ 0.91,
40
+ 0.004
41
+ ],
42
+ "maxDimension": 1.95,
43
+ "grounded": true
44
+ },
45
+ "materials": [
46
+ "luma_body_mat",
47
+ "luma_dark_mat",
48
+ "luma_glow_mat",
49
+ "luma_skin_mat",
50
+ "luma_accent_mat"
51
+ ],
52
+ "materialMetadata": [
53
+ {
54
+ "name": "luma_body_mat",
55
+ "visible": true,
56
+ "readable": true,
57
+ "opacity": 1,
58
+ "reasons": []
59
+ },
60
+ {
61
+ "name": "luma_dark_mat",
62
+ "visible": true,
63
+ "readable": true,
64
+ "opacity": 1,
65
+ "reasons": []
66
+ },
67
+ {
68
+ "name": "luma_glow_mat",
69
+ "visible": true,
70
+ "readable": true,
71
+ "opacity": 1,
72
+ "reasons": []
73
+ },
74
+ {
75
+ "name": "luma_skin_mat",
76
+ "visible": true,
77
+ "readable": true,
78
+ "opacity": 1,
79
+ "reasons": []
80
+ },
81
+ {
82
+ "name": "luma_accent_mat",
83
+ "visible": true,
84
+ "readable": true,
85
+ "opacity": 1,
86
+ "reasons": []
87
+ }
88
+ ],
89
+ "animations": [
90
+ "Idle",
91
+ "Wave",
92
+ "Walk",
93
+ "Talk"
94
+ ],
95
+ "animationMetadata": {
96
+ "clipCount": 4,
97
+ "clips": [
98
+ {
99
+ "index": 0,
100
+ "name": "Idle",
101
+ "channelCount": 2,
102
+ "samplerCount": 2,
103
+ "targetPaths": [
104
+ "rotation"
105
+ ],
106
+ "targetNodes": [
107
+ "spine",
108
+ "head"
109
+ ]
110
+ },
111
+ {
112
+ "index": 1,
113
+ "name": "Wave",
114
+ "channelCount": 3,
115
+ "samplerCount": 3,
116
+ "targetPaths": [
117
+ "rotation"
118
+ ],
119
+ "targetNodes": [
120
+ "rightUpperArm",
121
+ "spine",
122
+ "rightLowerArm"
123
+ ]
124
+ },
125
+ {
126
+ "index": 2,
127
+ "name": "Walk",
128
+ "channelCount": 5,
129
+ "samplerCount": 5,
130
+ "targetPaths": [
131
+ "rotation",
132
+ "translation"
133
+ ],
134
+ "targetNodes": [
135
+ "leftUpperLeg",
136
+ "rightUpperLeg",
137
+ "leftUpperArm",
138
+ "rightUpperArm",
139
+ "hips"
140
+ ]
141
+ },
142
+ {
143
+ "index": 3,
144
+ "name": "Talk",
145
+ "channelCount": 4,
146
+ "samplerCount": 4,
147
+ "targetPaths": [
148
+ "rotation"
149
+ ],
150
+ "targetNodes": [
151
+ "head",
152
+ "spine",
153
+ "leftLowerArm",
154
+ "rightLowerArm"
155
+ ]
156
+ }
157
+ ],
158
+ "messages": [
159
+ "Detected 4 embedded animation clips."
160
+ ]
161
+ },
162
+ "humanoid": {
163
+ "humanoid": true,
164
+ "status": "humanoid",
165
+ "confidence": "high",
166
+ "skinCount": 1,
167
+ "jointCount": 21,
168
+ "matchedBones": [
169
+ "hips",
170
+ "spine",
171
+ "head",
172
+ "leftArm",
173
+ "rightArm",
174
+ "leftLeg",
175
+ "rightLeg"
176
+ ],
177
+ "missingBones": [],
178
+ "messages": [
179
+ "Humanoid signals detected from skinned joints."
180
+ ]
181
+ },
182
+ "skeleton": {
183
+ "skinCount": 1,
184
+ "jointCount": 21,
185
+ "skins": [
186
+ {
187
+ "index": 0,
188
+ "name": "luma_skin",
189
+ "jointCount": 21,
190
+ "joints": [
191
+ "hips",
192
+ "spine",
193
+ "chest",
194
+ "neck",
195
+ "head",
196
+ "leftShoulder",
197
+ "leftUpperArm",
198
+ "leftLowerArm",
199
+ "leftHand",
200
+ "rightShoulder",
201
+ "rightUpperArm",
202
+ "rightLowerArm",
203
+ "rightHand",
204
+ "leftUpperLeg",
205
+ "leftLowerLeg",
206
+ "leftFoot",
207
+ "leftToes",
208
+ "rightUpperLeg",
209
+ "rightLowerLeg",
210
+ "rightFoot",
211
+ "rightToes"
212
+ ],
213
+ "skeleton": "hips"
214
+ }
215
+ ],
216
+ "messages": [
217
+ "Detected 1 skin with 21 unique joints."
218
+ ]
219
+ },
220
+ "morphTargets": {
221
+ "targetCount": 1,
222
+ "targetNames": [
223
+ "mouthOpen"
224
+ ],
225
+ "meshes": [
226
+ {
227
+ "index": 0,
228
+ "name": "luma_body",
229
+ "targetNames": [
230
+ "mouthOpen"
231
+ ]
232
+ }
233
+ ],
234
+ "messages": [
235
+ "Detected 1 morph target."
236
+ ]
237
+ },
238
+ "textures": [
239
+ "luma_atlas"
240
+ ],
241
+ "dependencies": [],
242
+ "nodeNames": [
243
+ "luma_mesh",
244
+ "hips",
245
+ "spine",
246
+ "chest",
247
+ "neck",
248
+ "head",
249
+ "leftShoulder",
250
+ "leftUpperArm",
251
+ "leftLowerArm",
252
+ "leftHand",
253
+ "rightShoulder",
254
+ "rightUpperArm",
255
+ "rightLowerArm",
256
+ "rightHand",
257
+ "leftUpperLeg",
258
+ "leftLowerLeg",
259
+ "leftFoot",
260
+ "leftToes",
261
+ "rightUpperLeg",
262
+ "rightLowerLeg",
263
+ "rightFoot",
264
+ "rightToes"
265
+ ],
266
+ "provenance": {
267
+ "license": "CC0-1.0",
268
+ "author": "Aura3D",
269
+ "sourceFamily": "Aura3D authored cast (build-characters.ts, CC0 procedural mascot)",
270
+ "sourcePath": "public/aura-assets/luma2.catalog.glb",
271
+ "sourceUrl": "https://aura3d.auraone.ai/aura-assets/luma2.catalog.glb",
272
+ "attribution": "Aura3D-authored procedural rigged mascot \"Luma\" (CC0). Skinned 21-joint rig; embedded clips Idle, Wave, Walk, Talk. Lip-sync is driven by the facial mouth blendshape morph target (mouthOpen).",
273
+ "evidence": [
274
+ "animation-character",
275
+ "rigged",
276
+ "animated",
277
+ "mouth blendshape morph",
278
+ "facial morph target",
279
+ "authored",
280
+ "cc0"
281
+ ],
282
+ "sha256": "sha256-911c60a074f6d89d0eaeefc1f1eecf4188873880b62aa11b3d02ec2c18a4e036",
283
+ "retrievedAt": "2026-06-07"
284
+ },
285
+ "thumbnailUrl": "/aura-assets/luma.thumb.svg",
286
+ "warnings": [
287
+ "orientation metadata missing; facing direction cannot be validated until GLTF extras declare aura3d.orientation.forwardAxis"
288
+ ]
289
+ },
290
+ {
291
+ "id": "miko",
292
+ "type": "model",
293
+ "format": "glb",
294
+ "source": "public/aura-assets/miko.catalog.glb",
295
+ "outputPath": "public/aura-assets/miko.catalog.glb",
296
+ "url": "/aura-assets/miko.catalog.glb",
297
+ "hash": "sha256-fcdc2b7502031e556259dfe942fdfbd7abe41963433f2046ed2522d27bce9d65",
298
+ "sizeBytes": 1997240,
299
+ "bounds": [
300
+ 1.015,
301
+ 1.95,
302
+ 0.369
303
+ ],
304
+ "boundsMetadata": {
305
+ "min": [
306
+ -0.508,
307
+ -0.06,
308
+ -0.175
309
+ ],
310
+ "max": [
311
+ 0.508,
312
+ 1.89,
313
+ 0.194
314
+ ],
315
+ "size": [
316
+ 1.015,
317
+ 1.95,
318
+ 0.369
319
+ ],
320
+ "center": [
321
+ 0,
322
+ 0.915,
323
+ 0.01
324
+ ],
325
+ "maxDimension": 1.95,
326
+ "grounded": true
327
+ },
328
+ "materials": [
329
+ "miko_body_mat",
330
+ "miko_dark_mat",
331
+ "miko_glow_mat",
332
+ "miko_skin_mat",
333
+ "miko_accent_mat"
334
+ ],
335
+ "materialMetadata": [
336
+ {
337
+ "name": "miko_body_mat",
338
+ "visible": true,
339
+ "readable": true,
340
+ "opacity": 1,
341
+ "reasons": []
342
+ },
343
+ {
344
+ "name": "miko_dark_mat",
345
+ "visible": true,
346
+ "readable": true,
347
+ "opacity": 1,
348
+ "reasons": []
349
+ },
350
+ {
351
+ "name": "miko_glow_mat",
352
+ "visible": true,
353
+ "readable": true,
354
+ "opacity": 1,
355
+ "reasons": []
356
+ },
357
+ {
358
+ "name": "miko_skin_mat",
359
+ "visible": true,
360
+ "readable": true,
361
+ "opacity": 1,
362
+ "reasons": []
363
+ },
364
+ {
365
+ "name": "miko_accent_mat",
366
+ "visible": true,
367
+ "readable": true,
368
+ "opacity": 1,
369
+ "reasons": []
370
+ }
371
+ ],
372
+ "animations": [
373
+ "Idle",
374
+ "Wave",
375
+ "Walk",
376
+ "Talk"
377
+ ],
378
+ "animationMetadata": {
379
+ "clipCount": 4,
380
+ "clips": [
381
+ {
382
+ "index": 0,
383
+ "name": "Idle",
384
+ "channelCount": 2,
385
+ "samplerCount": 2,
386
+ "targetPaths": [
387
+ "rotation"
388
+ ],
389
+ "targetNodes": [
390
+ "spine",
391
+ "head"
392
+ ]
393
+ },
394
+ {
395
+ "index": 1,
396
+ "name": "Wave",
397
+ "channelCount": 3,
398
+ "samplerCount": 3,
399
+ "targetPaths": [
400
+ "rotation"
401
+ ],
402
+ "targetNodes": [
403
+ "rightUpperArm",
404
+ "spine",
405
+ "rightLowerArm"
406
+ ]
407
+ },
408
+ {
409
+ "index": 2,
410
+ "name": "Walk",
411
+ "channelCount": 5,
412
+ "samplerCount": 5,
413
+ "targetPaths": [
414
+ "rotation",
415
+ "translation"
416
+ ],
417
+ "targetNodes": [
418
+ "leftUpperLeg",
419
+ "rightUpperLeg",
420
+ "leftUpperArm",
421
+ "rightUpperArm",
422
+ "hips"
423
+ ]
424
+ },
425
+ {
426
+ "index": 3,
427
+ "name": "Talk",
428
+ "channelCount": 4,
429
+ "samplerCount": 4,
430
+ "targetPaths": [
431
+ "rotation"
432
+ ],
433
+ "targetNodes": [
434
+ "head",
435
+ "spine",
436
+ "leftLowerArm",
437
+ "rightLowerArm"
438
+ ]
439
+ }
440
+ ],
441
+ "messages": [
442
+ "Detected 4 embedded animation clips."
443
+ ]
444
+ },
445
+ "humanoid": {
446
+ "humanoid": true,
447
+ "status": "humanoid",
448
+ "confidence": "high",
449
+ "skinCount": 1,
450
+ "jointCount": 21,
451
+ "matchedBones": [
452
+ "hips",
453
+ "spine",
454
+ "head",
455
+ "leftArm",
456
+ "rightArm",
457
+ "leftLeg",
458
+ "rightLeg"
459
+ ],
460
+ "missingBones": [],
461
+ "messages": [
462
+ "Humanoid signals detected from skinned joints."
463
+ ]
464
+ },
465
+ "skeleton": {
466
+ "skinCount": 1,
467
+ "jointCount": 21,
468
+ "skins": [
469
+ {
470
+ "index": 0,
471
+ "name": "miko_skin",
472
+ "jointCount": 21,
473
+ "joints": [
474
+ "hips",
475
+ "spine",
476
+ "chest",
477
+ "neck",
478
+ "head",
479
+ "leftShoulder",
480
+ "leftUpperArm",
481
+ "leftLowerArm",
482
+ "leftHand",
483
+ "rightShoulder",
484
+ "rightUpperArm",
485
+ "rightLowerArm",
486
+ "rightHand",
487
+ "leftUpperLeg",
488
+ "leftLowerLeg",
489
+ "leftFoot",
490
+ "leftToes",
491
+ "rightUpperLeg",
492
+ "rightLowerLeg",
493
+ "rightFoot",
494
+ "rightToes"
495
+ ],
496
+ "skeleton": "hips"
497
+ }
498
+ ],
499
+ "messages": [
500
+ "Detected 1 skin with 21 unique joints."
501
+ ]
502
+ },
503
+ "morphTargets": {
504
+ "targetCount": 1,
505
+ "targetNames": [
506
+ "mouthOpen"
507
+ ],
508
+ "meshes": [
509
+ {
510
+ "index": 0,
511
+ "name": "miko_body",
512
+ "targetNames": [
513
+ "mouthOpen"
514
+ ]
515
+ }
516
+ ],
517
+ "messages": [
518
+ "Detected 1 morph target."
519
+ ]
520
+ },
521
+ "textures": [
522
+ "miko_atlas"
523
+ ],
524
+ "dependencies": [],
525
+ "nodeNames": [
526
+ "miko_mesh",
527
+ "hips",
528
+ "spine",
529
+ "chest",
530
+ "neck",
531
+ "head",
532
+ "leftShoulder",
533
+ "leftUpperArm",
534
+ "leftLowerArm",
535
+ "leftHand",
536
+ "rightShoulder",
537
+ "rightUpperArm",
538
+ "rightLowerArm",
539
+ "rightHand",
540
+ "leftUpperLeg",
541
+ "leftLowerLeg",
542
+ "leftFoot",
543
+ "leftToes",
544
+ "rightUpperLeg",
545
+ "rightLowerLeg",
546
+ "rightFoot",
547
+ "rightToes"
548
+ ],
549
+ "provenance": {
550
+ "license": "CC0-1.0",
551
+ "author": "Aura3D",
552
+ "sourceFamily": "Aura3D authored cast (build-characters.ts, CC0 procedural mascot)",
553
+ "sourcePath": "public/aura-assets/miko.catalog.glb",
554
+ "sourceUrl": "https://aura3d.auraone.ai/aura-assets/miko.catalog.glb",
555
+ "attribution": "Aura3D-authored procedural rigged mascot \"Miko\" (CC0). Skinned 21-joint rig; embedded clips Idle, Wave, Walk, Talk. Lip-sync is driven by the facial mouth blendshape morph target (mouthOpen).",
556
+ "evidence": [
557
+ "animation-character",
558
+ "rigged",
559
+ "animated",
560
+ "mouth blendshape morph",
561
+ "facial morph target",
562
+ "authored",
563
+ "cc0"
564
+ ],
565
+ "sha256": "sha256-fcdc2b7502031e556259dfe942fdfbd7abe41963433f2046ed2522d27bce9d65",
566
+ "retrievedAt": "2026-06-07"
567
+ },
568
+ "thumbnailUrl": "/aura-assets/miko.thumb.svg",
569
+ "warnings": [
570
+ "orientation metadata missing; facing direction cannot be validated until GLTF extras declare aura3d.orientation.forwardAxis"
571
+ ]
572
+ },
573
+ {
574
+ "id": "moonGarden",
575
+ "type": "model",
576
+ "format": "gltf",
577
+ "source": "public/aura-assets/moonGarden.gltf",
578
+ "outputPath": "public/aura-assets/moonGarden.gltf",
579
+ "url": "/aura-assets/moonGarden.gltf",
580
+ "hash": "sha256-b7b50e37cc4319df21fa2a598aab9e055d54eeb3f5511a3b3f0d4f6c5101c456",
581
+ "sizeBytes": 3746,
582
+ "bounds": [
583
+ 3.2,
584
+ 0.6,
585
+ 1.2
586
+ ],
587
+ "boundsMetadata": {
588
+ "min": [
589
+ -1.6,
590
+ 0,
591
+ -0.6
592
+ ],
593
+ "max": [
594
+ 1.6,
595
+ 0.6,
596
+ 0.6
597
+ ],
598
+ "size": [
599
+ 3.2,
600
+ 0.6,
601
+ 1.2
602
+ ],
603
+ "center": [
604
+ 0,
605
+ 0.3,
606
+ 0
607
+ ],
608
+ "maxDimension": 3.2,
609
+ "grounded": true
610
+ },
611
+ "materials": [
612
+ "soft blue moon path",
613
+ "warm glow stone",
614
+ "distant teal skyline"
615
+ ],
616
+ "materialMetadata": [
617
+ {
618
+ "name": "soft blue moon path",
619
+ "visible": true,
620
+ "readable": true,
621
+ "opacity": 1,
622
+ "alphaMode": "OPAQUE",
623
+ "reasons": []
624
+ },
625
+ {
626
+ "name": "warm glow stone",
627
+ "visible": true,
628
+ "readable": true,
629
+ "opacity": 1,
630
+ "alphaMode": "OPAQUE",
631
+ "reasons": []
632
+ },
633
+ {
634
+ "name": "distant teal skyline",
635
+ "visible": true,
636
+ "readable": true,
637
+ "opacity": 1,
638
+ "alphaMode": "OPAQUE",
639
+ "reasons": []
640
+ }
641
+ ],
642
+ "animations": [],
643
+ "textures": [],
644
+ "dependencies": [],
645
+ "nodeNames": [
646
+ "moon garden floor anchor",
647
+ "moon garden glow stone anchor",
648
+ "moon garden skyline anchor"
649
+ ],
650
+ "provenance": {
651
+ "license": "MIT",
652
+ "author": "Aura3D",
653
+ "sourceFamily": "Aura3D curated starter pack",
654
+ "sourcePath": "public/aura-assets/moonGarden.gltf",
655
+ "sourceUrl": "https://aura3d.auraone.ai/aura-assets/moonGarden.gltf",
656
+ "attribution": "Bundled Aura3D Moon Garden starter set for local animation-studio validation.",
657
+ "evidence": [
658
+ "animation-set",
659
+ "moon garden",
660
+ "walkable set",
661
+ "framing ready"
662
+ ],
663
+ "sha256": "sha256-b7b50e37cc4319df21fa2a598aab9e055d54eeb3f5511a3b3f0d4f6c5101c456"
664
+ },
665
+ "thumbnailUrl": "/aura-assets/moonGarden.thumb.svg",
666
+ "warnings": []
667
+ }
668
+ ]
669
+ }