create-aura3d 1.0.9 → 1.1.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 (87) hide show
  1. package/dist/cli.js +0 -0
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +4 -2
  5. package/dist/index.js.map +1 -1
  6. package/package.json +8 -4
  7. package/templates/cartoon-channel/README.md +38 -0
  8. package/templates/cartoon-channel/aura.assets.json +1364 -0
  9. package/templates/cartoon-channel/package.json +3 -2
  10. package/templates/cartoon-channel/public/aura-assets/luma.047f5e5f.glb +0 -0
  11. package/templates/cartoon-channel/public/aura-assets/luma.thumb.svg +1 -0
  12. package/templates/cartoon-channel/public/aura-assets/miko.047f5e5f.glb +0 -0
  13. package/templates/cartoon-channel/public/aura-assets/miko.thumb.svg +1 -0
  14. package/templates/cartoon-channel/public/aura-assets/moon-garden-feature-frame.png +0 -0
  15. package/templates/cartoon-channel/src/aura-assets.ts +5 -11
  16. package/templates/cartoon-channel/src/concept-episode-2-5d.css +159 -0
  17. package/templates/cartoon-channel/src/concept-episode-2-5d.ts +155 -0
  18. package/templates/cartoon-channel/src/image-puppet-episode.css +290 -0
  19. package/templates/cartoon-channel/src/image-puppet-episode.ts +139 -0
  20. package/templates/cartoon-channel/src/main.ts +89 -71
  21. package/templates/cartoon-channel/src/puppet-episode-2d.css +526 -0
  22. package/templates/cartoon-channel/src/puppet-episode-2d.ts +189 -0
  23. package/templates/cartoon-channel/src/render-plan.ts +1 -1
  24. package/templates/cartoon-channel/src/sample-episode-visual.css +457 -0
  25. package/templates/cartoon-channel/src/sample-episode-visual.ts +185 -0
  26. package/templates/cartoon-channel/test-results/.last-run.json +4 -0
  27. package/templates/cartoon-channel/tests/concept-2-5d-animation.spec.ts +18 -0
  28. package/templates/cartoon-channel/tests/concept-2-5d.spec.ts +30 -0
  29. package/templates/cartoon-channel/tests/image-puppet-animation.spec.ts +18 -0
  30. package/templates/cartoon-channel/tests/image-puppet.spec.ts +29 -0
  31. package/templates/cartoon-channel/tests/puppet-2d-animation.spec.ts +18 -0
  32. package/templates/cartoon-channel/tests/puppet-2d.spec.ts +26 -0
  33. package/templates/cartoon-channel/tests/reports/prompt-animation/cartoon-sample-episode.png +0 -0
  34. package/templates/cartoon-channel/tests/sample-episode-visual.spec.ts +45 -0
  35. package/templates/cartoon-channel/tests/storyboard-playback.spec.ts +1 -1
  36. package/templates/cartoon-studio/README.md +82 -0
  37. package/templates/cartoon-studio/aura.assets.json +157 -0
  38. package/templates/cartoon-studio/index.html +13 -0
  39. package/templates/cartoon-studio/package.json +32 -0
  40. package/templates/cartoon-studio/playwright.config.ts +13 -0
  41. package/templates/cartoon-studio/public/aura-assets/luma.047f5e5f.glb +0 -0
  42. package/templates/cartoon-studio/public/aura-assets/luma.humanoid-fixture.glb +0 -0
  43. package/templates/cartoon-studio/public/aura-assets/luma.thumb.svg +1 -0
  44. package/templates/cartoon-studio/public/aura-assets/miko.047f5e5f.glb +0 -0
  45. package/templates/cartoon-studio/public/aura-assets/miko.thumb.svg +1 -0
  46. package/templates/cartoon-studio/public/aura-assets/moonGarden.gltf +183 -0
  47. package/templates/cartoon-studio/scripts/episode.ts +276 -0
  48. package/templates/cartoon-studio/src/aura-assets.ts +61 -0
  49. package/templates/cartoon-studio/src/characters.ts +65 -0
  50. package/templates/cartoon-studio/src/contract.ts +1 -0
  51. package/templates/cartoon-studio/src/episode-renderer.ts +605 -0
  52. package/templates/cartoon-studio/src/episode.ts +306 -0
  53. package/templates/cartoon-studio/src/main.ts +333 -0
  54. package/templates/cartoon-studio/src/render-plan.ts +567 -0
  55. package/templates/cartoon-studio/src/review.ts +99 -0
  56. package/templates/cartoon-studio/src/sets.ts +14 -0
  57. package/templates/cartoon-studio/src/studio.ts +101 -0
  58. package/templates/cartoon-studio/test-results/.last-run.json +4 -0
  59. package/templates/cartoon-studio/tests/episode-render.spec.ts +44 -0
  60. package/templates/cartoon-studio/tests/motion-quality.spec.ts +45 -0
  61. package/templates/cartoon-studio/tests/route-health.spec.ts +7 -0
  62. package/templates/cartoon-studio/tests/storyboard-playback.spec.ts +99 -0
  63. package/templates/cartoon-studio/tests/visual-review.spec.ts +21 -0
  64. package/templates/cartoon-studio/tsconfig.json +12 -0
  65. package/templates/cinematic-scene/package.json +1 -1
  66. package/templates/episode-builder/README.md +46 -0
  67. package/templates/episode-builder/index.html +13 -0
  68. package/templates/episode-builder/package.json +21 -0
  69. package/templates/episode-builder/playwright.config.ts +13 -0
  70. package/templates/episode-builder/src/aura-assets.ts +14 -0
  71. package/templates/episode-builder/src/builder.ts +78 -0
  72. package/templates/episode-builder/src/characters.ts +28 -0
  73. package/templates/episode-builder/src/contract.ts +1 -0
  74. package/templates/episode-builder/src/episode.ts +300 -0
  75. package/templates/episode-builder/src/main.ts +265 -0
  76. package/templates/episode-builder/src/render-plan.ts +405 -0
  77. package/templates/episode-builder/src/sets.ts +14 -0
  78. package/templates/episode-builder/tests/route-health.spec.ts +7 -0
  79. package/templates/episode-builder/tests/storyboard-playback.spec.ts +98 -0
  80. package/templates/episode-builder/tsconfig.json +12 -0
  81. package/templates/fighting-game/package.json +1 -1
  82. package/templates/fighting-game/src/game/stage.ts +18 -4
  83. package/templates/fighting-game/src/main.ts +3 -2
  84. package/templates/mini-game/package.json +1 -1
  85. package/templates/product-viewer/package.json +1 -1
  86. package/templates/product-viewer/tests/screenshot.spec.ts +8 -16
  87. package/templates/prompt-cartoon-channel/package.json +1 -1
@@ -0,0 +1,1364 @@
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": "../../../engine/src/agent-api/assets/player-fixture.glb",
12
+ "outputPath": "public/aura-assets/luma.047f5e5f.glb",
13
+ "url": "/aura-assets/luma.047f5e5f.glb",
14
+ "hash": "sha256-047f5e5fb3bb6d378bd1df16ca6137f2a596c99b3a1b5690b4020c05aaf6f319",
15
+ "sizeBytes": 463988,
16
+ "bounds": [
17
+ 0.066,
18
+ 0.026,
19
+ 0.017
20
+ ],
21
+ "boundsMetadata": {
22
+ "min": [
23
+ -0.033,
24
+ -0.013,
25
+ -0.009
26
+ ],
27
+ "max": [
28
+ 0.033,
29
+ 0.013,
30
+ 0.008
31
+ ],
32
+ "size": [
33
+ 0.066,
34
+ 0.026,
35
+ 0.017
36
+ ],
37
+ "center": [
38
+ 0,
39
+ 0,
40
+ 0
41
+ ],
42
+ "maxDimension": 0.066,
43
+ "grounded": true
44
+ },
45
+ "materials": [
46
+ "Grey",
47
+ "Main",
48
+ "Black"
49
+ ],
50
+ "materialMetadata": [
51
+ {
52
+ "name": "Grey",
53
+ "visible": true,
54
+ "readable": true,
55
+ "opacity": 1,
56
+ "alphaMode": "OPAQUE",
57
+ "reasons": []
58
+ },
59
+ {
60
+ "name": "Main",
61
+ "visible": true,
62
+ "readable": true,
63
+ "opacity": 1,
64
+ "alphaMode": "OPAQUE",
65
+ "reasons": []
66
+ },
67
+ {
68
+ "name": "Black",
69
+ "visible": true,
70
+ "readable": true,
71
+ "opacity": 1,
72
+ "alphaMode": "OPAQUE",
73
+ "reasons": []
74
+ }
75
+ ],
76
+ "animations": [
77
+ "Dance",
78
+ "Death",
79
+ "Idle",
80
+ "Jump",
81
+ "No",
82
+ "Punch",
83
+ "Running",
84
+ "Sitting",
85
+ "Standing",
86
+ "ThumbsUp",
87
+ "Walking",
88
+ "WalkJump",
89
+ "Wave",
90
+ "Yes"
91
+ ],
92
+ "animationMetadata": {
93
+ "clipCount": 14,
94
+ "clips": [
95
+ {
96
+ "index": 0,
97
+ "name": "Dance",
98
+ "channelCount": 12,
99
+ "samplerCount": 12,
100
+ "targetPaths": [
101
+ "weights",
102
+ "translation",
103
+ "rotation"
104
+ ],
105
+ "targetNodes": [
106
+ "Head",
107
+ "Body",
108
+ "UpperArm.L",
109
+ "LowerArm.L",
110
+ "UpperArm.R",
111
+ "LowerArm.R",
112
+ "UpperLeg.L",
113
+ "LowerLeg.L",
114
+ "UpperLeg.R",
115
+ "LowerLeg.R"
116
+ ]
117
+ },
118
+ {
119
+ "index": 1,
120
+ "name": "Death",
121
+ "channelCount": 18,
122
+ "samplerCount": 18,
123
+ "targetPaths": [
124
+ "weights",
125
+ "translation",
126
+ "rotation"
127
+ ],
128
+ "targetNodes": [
129
+ "Head",
130
+ "Foot.L",
131
+ "Body",
132
+ "Shoulder.L",
133
+ "LowerArm.L",
134
+ "Shoulder.R",
135
+ "LowerArm.R",
136
+ "UpperLeg.L",
137
+ "LowerLeg.L",
138
+ "UpperLeg.R",
139
+ "LowerLeg.R",
140
+ "Foot.R"
141
+ ]
142
+ },
143
+ {
144
+ "index": 2,
145
+ "name": "Idle",
146
+ "channelCount": 7,
147
+ "samplerCount": 7,
148
+ "targetPaths": [
149
+ "weights",
150
+ "translation",
151
+ "rotation"
152
+ ],
153
+ "targetNodes": [
154
+ "Head",
155
+ "Body",
156
+ "UpperLeg.L",
157
+ "LowerLeg.L",
158
+ "UpperLeg.R",
159
+ "LowerLeg.R"
160
+ ]
161
+ },
162
+ {
163
+ "index": 3,
164
+ "name": "Jump",
165
+ "channelCount": 18,
166
+ "samplerCount": 18,
167
+ "targetPaths": [
168
+ "weights",
169
+ "translation",
170
+ "rotation"
171
+ ],
172
+ "targetNodes": [
173
+ "Head",
174
+ "Foot.L",
175
+ "Body",
176
+ "Neck",
177
+ "UpperArm.L",
178
+ "LowerArm.L",
179
+ "UpperArm.R",
180
+ "LowerArm.R",
181
+ "UpperLeg.L",
182
+ "LowerLeg.L",
183
+ "UpperLeg.R",
184
+ "LowerLeg.R",
185
+ "Foot.R"
186
+ ]
187
+ },
188
+ {
189
+ "index": 4,
190
+ "name": "No",
191
+ "channelCount": 7,
192
+ "samplerCount": 7,
193
+ "targetPaths": [
194
+ "weights",
195
+ "translation",
196
+ "rotation"
197
+ ],
198
+ "targetNodes": [
199
+ "Head",
200
+ "Body",
201
+ "UpperLeg.L",
202
+ "LowerLeg.L",
203
+ "UpperLeg.R",
204
+ "LowerLeg.R"
205
+ ]
206
+ },
207
+ {
208
+ "index": 5,
209
+ "name": "Punch",
210
+ "channelCount": 15,
211
+ "samplerCount": 15,
212
+ "targetPaths": [
213
+ "weights",
214
+ "translation",
215
+ "rotation"
216
+ ],
217
+ "targetNodes": [
218
+ "Head",
219
+ "Body",
220
+ "UpperArm.L",
221
+ "LowerArm.L",
222
+ "Shoulder.R",
223
+ "UpperArm.R",
224
+ "LowerArm.R",
225
+ "UpperLeg.L",
226
+ "LowerLeg.L",
227
+ "UpperLeg.R",
228
+ "LowerLeg.R",
229
+ "Foot.R"
230
+ ]
231
+ },
232
+ {
233
+ "index": 6,
234
+ "name": "Running",
235
+ "channelCount": 18,
236
+ "samplerCount": 18,
237
+ "targetPaths": [
238
+ "weights",
239
+ "translation",
240
+ "rotation"
241
+ ],
242
+ "targetNodes": [
243
+ "Head",
244
+ "Foot.L",
245
+ "Body",
246
+ "Neck",
247
+ "UpperArm.L",
248
+ "LowerArm.L",
249
+ "Shoulder.R",
250
+ "UpperArm.R",
251
+ "LowerArm.R",
252
+ "UpperLeg.L",
253
+ "LowerLeg.L",
254
+ "UpperLeg.R",
255
+ "LowerLeg.R",
256
+ "Foot.R"
257
+ ]
258
+ },
259
+ {
260
+ "index": 7,
261
+ "name": "Sitting",
262
+ "channelCount": 10,
263
+ "samplerCount": 10,
264
+ "targetPaths": [
265
+ "weights",
266
+ "translation",
267
+ "rotation"
268
+ ],
269
+ "targetNodes": [
270
+ "Head",
271
+ "Body",
272
+ "LowerArm.L",
273
+ "LowerArm.R",
274
+ "UpperLeg.L",
275
+ "LowerLeg.L",
276
+ "UpperLeg.R",
277
+ "LowerLeg.R"
278
+ ]
279
+ },
280
+ {
281
+ "index": 8,
282
+ "name": "Standing",
283
+ "channelCount": 10,
284
+ "samplerCount": 10,
285
+ "targetPaths": [
286
+ "weights",
287
+ "translation",
288
+ "rotation"
289
+ ],
290
+ "targetNodes": [
291
+ "Head",
292
+ "Body",
293
+ "LowerArm.L",
294
+ "LowerArm.R",
295
+ "UpperLeg.L",
296
+ "LowerLeg.L",
297
+ "UpperLeg.R",
298
+ "LowerLeg.R"
299
+ ]
300
+ },
301
+ {
302
+ "index": 9,
303
+ "name": "ThumbsUp",
304
+ "channelCount": 15,
305
+ "samplerCount": 15,
306
+ "targetPaths": [
307
+ "weights",
308
+ "translation",
309
+ "rotation"
310
+ ],
311
+ "targetNodes": [
312
+ "Head",
313
+ "Body",
314
+ "LowerArm.L",
315
+ "UpperArm.R",
316
+ "LowerArm.R",
317
+ "Middle1.R",
318
+ "Thumb.R",
319
+ "Thumb2.R",
320
+ "Index.R",
321
+ "Ring1.R",
322
+ "UpperLeg.L",
323
+ "LowerLeg.L",
324
+ "UpperLeg.R",
325
+ "LowerLeg.R"
326
+ ]
327
+ },
328
+ {
329
+ "index": 10,
330
+ "name": "Walking",
331
+ "channelCount": 20,
332
+ "samplerCount": 20,
333
+ "targetPaths": [
334
+ "weights",
335
+ "translation",
336
+ "rotation"
337
+ ],
338
+ "targetNodes": [
339
+ "Head",
340
+ "Foot.L",
341
+ "Body",
342
+ "Neck",
343
+ "UpperArm.L",
344
+ "LowerArm.L",
345
+ "Shoulder.R",
346
+ "UpperArm.R",
347
+ "LowerArm.R",
348
+ "UpperLeg.L",
349
+ "LowerLeg.L",
350
+ "UpperLeg.R",
351
+ "LowerLeg.R",
352
+ "PoleTarget.L",
353
+ "Foot.R",
354
+ "PoleTarget.R"
355
+ ]
356
+ },
357
+ {
358
+ "index": 11,
359
+ "name": "WalkJump",
360
+ "channelCount": 18,
361
+ "samplerCount": 18,
362
+ "targetPaths": [
363
+ "weights",
364
+ "translation",
365
+ "rotation"
366
+ ],
367
+ "targetNodes": [
368
+ "Head",
369
+ "Foot.L",
370
+ "Body",
371
+ "Neck",
372
+ "UpperArm.L",
373
+ "LowerArm.L",
374
+ "Shoulder.R",
375
+ "UpperArm.R",
376
+ "LowerArm.R",
377
+ "UpperLeg.L",
378
+ "LowerLeg.L",
379
+ "UpperLeg.R",
380
+ "LowerLeg.R",
381
+ "Foot.R"
382
+ ]
383
+ },
384
+ {
385
+ "index": 12,
386
+ "name": "Wave",
387
+ "channelCount": 18,
388
+ "samplerCount": 18,
389
+ "targetPaths": [
390
+ "weights",
391
+ "translation",
392
+ "rotation"
393
+ ],
394
+ "targetNodes": [
395
+ "Head",
396
+ "Body",
397
+ "Shoulder.R",
398
+ "UpperArm.R",
399
+ "LowerArm.R",
400
+ "Middle1.R",
401
+ "Middle2.R",
402
+ "Thumb.R",
403
+ "Thumb2.R",
404
+ "Index.R",
405
+ "Index2.R",
406
+ "Ring1.R",
407
+ "Ring2.R",
408
+ "UpperLeg.L",
409
+ "LowerLeg.L",
410
+ "UpperLeg.R",
411
+ "LowerLeg.R"
412
+ ]
413
+ },
414
+ {
415
+ "index": 13,
416
+ "name": "Yes",
417
+ "channelCount": 7,
418
+ "samplerCount": 7,
419
+ "targetPaths": [
420
+ "weights",
421
+ "translation",
422
+ "rotation"
423
+ ],
424
+ "targetNodes": [
425
+ "Head",
426
+ "Body",
427
+ "UpperLeg.L",
428
+ "LowerLeg.L",
429
+ "UpperLeg.R",
430
+ "LowerLeg.R"
431
+ ]
432
+ }
433
+ ],
434
+ "messages": [
435
+ "Detected 14 embedded animation clips."
436
+ ]
437
+ },
438
+ "humanoid": {
439
+ "humanoid": true,
440
+ "status": "humanoid",
441
+ "confidence": "high",
442
+ "skinCount": 2,
443
+ "jointCount": 43,
444
+ "matchedBones": [
445
+ "hips",
446
+ "spine",
447
+ "head",
448
+ "leftArm",
449
+ "rightArm",
450
+ "leftLeg",
451
+ "rightLeg"
452
+ ],
453
+ "missingBones": [],
454
+ "messages": [
455
+ "Humanoid signals detected from skinned joints."
456
+ ]
457
+ },
458
+ "skeleton": {
459
+ "skinCount": 2,
460
+ "jointCount": 43,
461
+ "skins": [
462
+ {
463
+ "index": 0,
464
+ "name": "skin-0",
465
+ "jointCount": 43,
466
+ "joints": [
467
+ "Bone",
468
+ "Foot.L",
469
+ "Body",
470
+ "Hips",
471
+ "Abdomen",
472
+ "Torso",
473
+ "Neck",
474
+ "Head",
475
+ "Shoulder.L",
476
+ "UpperArm.L",
477
+ "LowerArm.L",
478
+ "Palm2.L",
479
+ "Middle1.L",
480
+ "Middle2.L",
481
+ "Thumb.L",
482
+ "Thumb2.L",
483
+ "Palm1.L",
484
+ "Index.L",
485
+ "Index2.L",
486
+ "Palm3.L",
487
+ "Ring1.L",
488
+ "Ring2.L",
489
+ "Shoulder.R",
490
+ "UpperArm.R",
491
+ "LowerArm.R",
492
+ "Palm2.R",
493
+ "Middle1.R",
494
+ "Middle2.R",
495
+ "Thumb.R",
496
+ "Thumb2.R",
497
+ "Palm1.R",
498
+ "Index.R",
499
+ "Index2.R",
500
+ "Palm3.R",
501
+ "Ring1.R",
502
+ "Ring2.R",
503
+ "UpperLeg.L",
504
+ "LowerLeg.L",
505
+ "UpperLeg.R",
506
+ "LowerLeg.R",
507
+ "PoleTarget.L",
508
+ "Foot.R",
509
+ "PoleTarget.R"
510
+ ],
511
+ "skeleton": "Bone"
512
+ },
513
+ {
514
+ "index": 1,
515
+ "name": "skin-1",
516
+ "jointCount": 43,
517
+ "joints": [
518
+ "Bone",
519
+ "Foot.L",
520
+ "Body",
521
+ "Hips",
522
+ "Abdomen",
523
+ "Torso",
524
+ "Neck",
525
+ "Head",
526
+ "Shoulder.L",
527
+ "UpperArm.L",
528
+ "LowerArm.L",
529
+ "Palm2.L",
530
+ "Middle1.L",
531
+ "Middle2.L",
532
+ "Thumb.L",
533
+ "Thumb2.L",
534
+ "Palm1.L",
535
+ "Index.L",
536
+ "Index2.L",
537
+ "Palm3.L",
538
+ "Ring1.L",
539
+ "Ring2.L",
540
+ "Shoulder.R",
541
+ "UpperArm.R",
542
+ "LowerArm.R",
543
+ "Palm2.R",
544
+ "Middle1.R",
545
+ "Middle2.R",
546
+ "Thumb.R",
547
+ "Thumb2.R",
548
+ "Palm1.R",
549
+ "Index.R",
550
+ "Index2.R",
551
+ "Palm3.R",
552
+ "Ring1.R",
553
+ "Ring2.R",
554
+ "UpperLeg.L",
555
+ "LowerLeg.L",
556
+ "UpperLeg.R",
557
+ "LowerLeg.R",
558
+ "PoleTarget.L",
559
+ "Foot.R",
560
+ "PoleTarget.R"
561
+ ],
562
+ "skeleton": "Bone"
563
+ }
564
+ ],
565
+ "messages": [
566
+ "Detected 2 skins with 43 unique joints."
567
+ ]
568
+ },
569
+ "morphTargets": {
570
+ "targetCount": 3,
571
+ "targetNames": [
572
+ "Angry",
573
+ "Surprised",
574
+ "Sad"
575
+ ],
576
+ "meshes": [
577
+ {
578
+ "index": 2,
579
+ "name": "Head",
580
+ "targetNames": [
581
+ "Angry",
582
+ "Surprised",
583
+ "Sad"
584
+ ]
585
+ }
586
+ ],
587
+ "messages": [
588
+ "Detected 3 morph targets."
589
+ ]
590
+ },
591
+ "provenance": {
592
+ "sourcePath": "../../../engine/src/agent-api/assets/player-fixture.glb",
593
+ "checkedAt": "2026-06-06T23:36:54.694Z"
594
+ },
595
+ "textures": [],
596
+ "dependencies": [],
597
+ "orientation": {
598
+ "source": "unknown",
599
+ "messages": [
600
+ "No orientation metadata detected; facing direction cannot be proven."
601
+ ]
602
+ },
603
+ "nodeNames": [
604
+ "RootNode",
605
+ "RobotArmature",
606
+ "Bone",
607
+ "Foot.L",
608
+ "Foot.L",
609
+ "Foot.L_end",
610
+ "Body",
611
+ "Torso",
612
+ "Hips",
613
+ "Abdomen",
614
+ "Torso",
615
+ "Neck",
616
+ "Head",
617
+ "Head",
618
+ "Head_end",
619
+ "Shoulder.L",
620
+ "Shoulder.L",
621
+ "UpperArm.L",
622
+ "Arm.L",
623
+ "LowerArm.L",
624
+ "Palm2.L",
625
+ "Middle1.L",
626
+ "Middle2.L",
627
+ "Middle2.L_end",
628
+ "Thumb.L",
629
+ "Thumb2.L",
630
+ "Thumb2.L_end",
631
+ "Palm1.L",
632
+ "Index.L",
633
+ "Index2.L",
634
+ "Index2.L_end",
635
+ "Palm3.L",
636
+ "Ring1.L",
637
+ "Ring2.L",
638
+ "Ring2.L_end",
639
+ "Shoulder.R",
640
+ "Shoulder.R",
641
+ "UpperArm.R",
642
+ "Arm.R",
643
+ "LowerArm.R",
644
+ "Palm2.R",
645
+ "Middle1.R",
646
+ "Middle2.R",
647
+ "Middle2.R_end",
648
+ "Thumb.R",
649
+ "Thumb2.R",
650
+ "Thumb2.R_end",
651
+ "Palm1.R",
652
+ "Index.R",
653
+ "Index2.R",
654
+ "Index2.R_end",
655
+ "Palm3.R",
656
+ "Ring1.R",
657
+ "Ring2.R",
658
+ "Ring2.R_end",
659
+ "UpperLeg.L",
660
+ "Leg.L",
661
+ "LowerLeg.L",
662
+ "LowerLeg.L",
663
+ "LowerLeg.L_end",
664
+ "UpperLeg.R",
665
+ "Leg.R",
666
+ "LowerLeg.R",
667
+ "LowerLeg.R",
668
+ "LowerLeg.R_end",
669
+ "PoleTarget.L",
670
+ "PoleTarget.L_end",
671
+ "Foot.R",
672
+ "Foot.R",
673
+ "Foot.R_end",
674
+ "PoleTarget.R",
675
+ "PoleTarget.R_end",
676
+ "Hand.R",
677
+ "Hand.L"
678
+ ],
679
+ "thumbnailUrl": "/aura-assets/luma.thumb.svg",
680
+ "warnings": [
681
+ "no texture references detected",
682
+ "orientation metadata missing; facing direction cannot be validated until GLTF extras declare aura3d.orientation.forwardAxis"
683
+ ]
684
+ },
685
+ {
686
+ "id": "miko",
687
+ "type": "model",
688
+ "format": "glb",
689
+ "source": "../../../../fixtures/threejs-parity/assets/character/robot-expressive.glb",
690
+ "outputPath": "public/aura-assets/miko.047f5e5f.glb",
691
+ "url": "/aura-assets/miko.047f5e5f.glb",
692
+ "hash": "sha256-047f5e5fb3bb6d378bd1df16ca6137f2a596c99b3a1b5690b4020c05aaf6f319",
693
+ "sizeBytes": 463988,
694
+ "bounds": [
695
+ 0.066,
696
+ 0.026,
697
+ 0.017
698
+ ],
699
+ "boundsMetadata": {
700
+ "min": [
701
+ -0.033,
702
+ -0.013,
703
+ -0.009
704
+ ],
705
+ "max": [
706
+ 0.033,
707
+ 0.013,
708
+ 0.008
709
+ ],
710
+ "size": [
711
+ 0.066,
712
+ 0.026,
713
+ 0.017
714
+ ],
715
+ "center": [
716
+ 0,
717
+ 0,
718
+ 0
719
+ ],
720
+ "maxDimension": 0.066,
721
+ "grounded": true
722
+ },
723
+ "materials": [
724
+ "Grey",
725
+ "Main",
726
+ "Black"
727
+ ],
728
+ "materialMetadata": [
729
+ {
730
+ "name": "Grey",
731
+ "visible": true,
732
+ "readable": true,
733
+ "opacity": 1,
734
+ "alphaMode": "OPAQUE",
735
+ "reasons": []
736
+ },
737
+ {
738
+ "name": "Main",
739
+ "visible": true,
740
+ "readable": true,
741
+ "opacity": 1,
742
+ "alphaMode": "OPAQUE",
743
+ "reasons": []
744
+ },
745
+ {
746
+ "name": "Black",
747
+ "visible": true,
748
+ "readable": true,
749
+ "opacity": 1,
750
+ "alphaMode": "OPAQUE",
751
+ "reasons": []
752
+ }
753
+ ],
754
+ "animations": [
755
+ "Dance",
756
+ "Death",
757
+ "Idle",
758
+ "Jump",
759
+ "No",
760
+ "Punch",
761
+ "Running",
762
+ "Sitting",
763
+ "Standing",
764
+ "ThumbsUp",
765
+ "Walking",
766
+ "WalkJump",
767
+ "Wave",
768
+ "Yes"
769
+ ],
770
+ "animationMetadata": {
771
+ "clipCount": 14,
772
+ "clips": [
773
+ {
774
+ "index": 0,
775
+ "name": "Dance",
776
+ "channelCount": 12,
777
+ "samplerCount": 12,
778
+ "targetPaths": [
779
+ "weights",
780
+ "translation",
781
+ "rotation"
782
+ ],
783
+ "targetNodes": [
784
+ "Head",
785
+ "Body",
786
+ "UpperArm.L",
787
+ "LowerArm.L",
788
+ "UpperArm.R",
789
+ "LowerArm.R",
790
+ "UpperLeg.L",
791
+ "LowerLeg.L",
792
+ "UpperLeg.R",
793
+ "LowerLeg.R"
794
+ ]
795
+ },
796
+ {
797
+ "index": 1,
798
+ "name": "Death",
799
+ "channelCount": 18,
800
+ "samplerCount": 18,
801
+ "targetPaths": [
802
+ "weights",
803
+ "translation",
804
+ "rotation"
805
+ ],
806
+ "targetNodes": [
807
+ "Head",
808
+ "Foot.L",
809
+ "Body",
810
+ "Shoulder.L",
811
+ "LowerArm.L",
812
+ "Shoulder.R",
813
+ "LowerArm.R",
814
+ "UpperLeg.L",
815
+ "LowerLeg.L",
816
+ "UpperLeg.R",
817
+ "LowerLeg.R",
818
+ "Foot.R"
819
+ ]
820
+ },
821
+ {
822
+ "index": 2,
823
+ "name": "Idle",
824
+ "channelCount": 7,
825
+ "samplerCount": 7,
826
+ "targetPaths": [
827
+ "weights",
828
+ "translation",
829
+ "rotation"
830
+ ],
831
+ "targetNodes": [
832
+ "Head",
833
+ "Body",
834
+ "UpperLeg.L",
835
+ "LowerLeg.L",
836
+ "UpperLeg.R",
837
+ "LowerLeg.R"
838
+ ]
839
+ },
840
+ {
841
+ "index": 3,
842
+ "name": "Jump",
843
+ "channelCount": 18,
844
+ "samplerCount": 18,
845
+ "targetPaths": [
846
+ "weights",
847
+ "translation",
848
+ "rotation"
849
+ ],
850
+ "targetNodes": [
851
+ "Head",
852
+ "Foot.L",
853
+ "Body",
854
+ "Neck",
855
+ "UpperArm.L",
856
+ "LowerArm.L",
857
+ "UpperArm.R",
858
+ "LowerArm.R",
859
+ "UpperLeg.L",
860
+ "LowerLeg.L",
861
+ "UpperLeg.R",
862
+ "LowerLeg.R",
863
+ "Foot.R"
864
+ ]
865
+ },
866
+ {
867
+ "index": 4,
868
+ "name": "No",
869
+ "channelCount": 7,
870
+ "samplerCount": 7,
871
+ "targetPaths": [
872
+ "weights",
873
+ "translation",
874
+ "rotation"
875
+ ],
876
+ "targetNodes": [
877
+ "Head",
878
+ "Body",
879
+ "UpperLeg.L",
880
+ "LowerLeg.L",
881
+ "UpperLeg.R",
882
+ "LowerLeg.R"
883
+ ]
884
+ },
885
+ {
886
+ "index": 5,
887
+ "name": "Punch",
888
+ "channelCount": 15,
889
+ "samplerCount": 15,
890
+ "targetPaths": [
891
+ "weights",
892
+ "translation",
893
+ "rotation"
894
+ ],
895
+ "targetNodes": [
896
+ "Head",
897
+ "Body",
898
+ "UpperArm.L",
899
+ "LowerArm.L",
900
+ "Shoulder.R",
901
+ "UpperArm.R",
902
+ "LowerArm.R",
903
+ "UpperLeg.L",
904
+ "LowerLeg.L",
905
+ "UpperLeg.R",
906
+ "LowerLeg.R",
907
+ "Foot.R"
908
+ ]
909
+ },
910
+ {
911
+ "index": 6,
912
+ "name": "Running",
913
+ "channelCount": 18,
914
+ "samplerCount": 18,
915
+ "targetPaths": [
916
+ "weights",
917
+ "translation",
918
+ "rotation"
919
+ ],
920
+ "targetNodes": [
921
+ "Head",
922
+ "Foot.L",
923
+ "Body",
924
+ "Neck",
925
+ "UpperArm.L",
926
+ "LowerArm.L",
927
+ "Shoulder.R",
928
+ "UpperArm.R",
929
+ "LowerArm.R",
930
+ "UpperLeg.L",
931
+ "LowerLeg.L",
932
+ "UpperLeg.R",
933
+ "LowerLeg.R",
934
+ "Foot.R"
935
+ ]
936
+ },
937
+ {
938
+ "index": 7,
939
+ "name": "Sitting",
940
+ "channelCount": 10,
941
+ "samplerCount": 10,
942
+ "targetPaths": [
943
+ "weights",
944
+ "translation",
945
+ "rotation"
946
+ ],
947
+ "targetNodes": [
948
+ "Head",
949
+ "Body",
950
+ "LowerArm.L",
951
+ "LowerArm.R",
952
+ "UpperLeg.L",
953
+ "LowerLeg.L",
954
+ "UpperLeg.R",
955
+ "LowerLeg.R"
956
+ ]
957
+ },
958
+ {
959
+ "index": 8,
960
+ "name": "Standing",
961
+ "channelCount": 10,
962
+ "samplerCount": 10,
963
+ "targetPaths": [
964
+ "weights",
965
+ "translation",
966
+ "rotation"
967
+ ],
968
+ "targetNodes": [
969
+ "Head",
970
+ "Body",
971
+ "LowerArm.L",
972
+ "LowerArm.R",
973
+ "UpperLeg.L",
974
+ "LowerLeg.L",
975
+ "UpperLeg.R",
976
+ "LowerLeg.R"
977
+ ]
978
+ },
979
+ {
980
+ "index": 9,
981
+ "name": "ThumbsUp",
982
+ "channelCount": 15,
983
+ "samplerCount": 15,
984
+ "targetPaths": [
985
+ "weights",
986
+ "translation",
987
+ "rotation"
988
+ ],
989
+ "targetNodes": [
990
+ "Head",
991
+ "Body",
992
+ "LowerArm.L",
993
+ "UpperArm.R",
994
+ "LowerArm.R",
995
+ "Middle1.R",
996
+ "Thumb.R",
997
+ "Thumb2.R",
998
+ "Index.R",
999
+ "Ring1.R",
1000
+ "UpperLeg.L",
1001
+ "LowerLeg.L",
1002
+ "UpperLeg.R",
1003
+ "LowerLeg.R"
1004
+ ]
1005
+ },
1006
+ {
1007
+ "index": 10,
1008
+ "name": "Walking",
1009
+ "channelCount": 20,
1010
+ "samplerCount": 20,
1011
+ "targetPaths": [
1012
+ "weights",
1013
+ "translation",
1014
+ "rotation"
1015
+ ],
1016
+ "targetNodes": [
1017
+ "Head",
1018
+ "Foot.L",
1019
+ "Body",
1020
+ "Neck",
1021
+ "UpperArm.L",
1022
+ "LowerArm.L",
1023
+ "Shoulder.R",
1024
+ "UpperArm.R",
1025
+ "LowerArm.R",
1026
+ "UpperLeg.L",
1027
+ "LowerLeg.L",
1028
+ "UpperLeg.R",
1029
+ "LowerLeg.R",
1030
+ "PoleTarget.L",
1031
+ "Foot.R",
1032
+ "PoleTarget.R"
1033
+ ]
1034
+ },
1035
+ {
1036
+ "index": 11,
1037
+ "name": "WalkJump",
1038
+ "channelCount": 18,
1039
+ "samplerCount": 18,
1040
+ "targetPaths": [
1041
+ "weights",
1042
+ "translation",
1043
+ "rotation"
1044
+ ],
1045
+ "targetNodes": [
1046
+ "Head",
1047
+ "Foot.L",
1048
+ "Body",
1049
+ "Neck",
1050
+ "UpperArm.L",
1051
+ "LowerArm.L",
1052
+ "Shoulder.R",
1053
+ "UpperArm.R",
1054
+ "LowerArm.R",
1055
+ "UpperLeg.L",
1056
+ "LowerLeg.L",
1057
+ "UpperLeg.R",
1058
+ "LowerLeg.R",
1059
+ "Foot.R"
1060
+ ]
1061
+ },
1062
+ {
1063
+ "index": 12,
1064
+ "name": "Wave",
1065
+ "channelCount": 18,
1066
+ "samplerCount": 18,
1067
+ "targetPaths": [
1068
+ "weights",
1069
+ "translation",
1070
+ "rotation"
1071
+ ],
1072
+ "targetNodes": [
1073
+ "Head",
1074
+ "Body",
1075
+ "Shoulder.R",
1076
+ "UpperArm.R",
1077
+ "LowerArm.R",
1078
+ "Middle1.R",
1079
+ "Middle2.R",
1080
+ "Thumb.R",
1081
+ "Thumb2.R",
1082
+ "Index.R",
1083
+ "Index2.R",
1084
+ "Ring1.R",
1085
+ "Ring2.R",
1086
+ "UpperLeg.L",
1087
+ "LowerLeg.L",
1088
+ "UpperLeg.R",
1089
+ "LowerLeg.R"
1090
+ ]
1091
+ },
1092
+ {
1093
+ "index": 13,
1094
+ "name": "Yes",
1095
+ "channelCount": 7,
1096
+ "samplerCount": 7,
1097
+ "targetPaths": [
1098
+ "weights",
1099
+ "translation",
1100
+ "rotation"
1101
+ ],
1102
+ "targetNodes": [
1103
+ "Head",
1104
+ "Body",
1105
+ "UpperLeg.L",
1106
+ "LowerLeg.L",
1107
+ "UpperLeg.R",
1108
+ "LowerLeg.R"
1109
+ ]
1110
+ }
1111
+ ],
1112
+ "messages": [
1113
+ "Detected 14 embedded animation clips."
1114
+ ]
1115
+ },
1116
+ "humanoid": {
1117
+ "humanoid": true,
1118
+ "status": "humanoid",
1119
+ "confidence": "high",
1120
+ "skinCount": 2,
1121
+ "jointCount": 43,
1122
+ "matchedBones": [
1123
+ "hips",
1124
+ "spine",
1125
+ "head",
1126
+ "leftArm",
1127
+ "rightArm",
1128
+ "leftLeg",
1129
+ "rightLeg"
1130
+ ],
1131
+ "missingBones": [],
1132
+ "messages": [
1133
+ "Humanoid signals detected from skinned joints."
1134
+ ]
1135
+ },
1136
+ "skeleton": {
1137
+ "skinCount": 2,
1138
+ "jointCount": 43,
1139
+ "skins": [
1140
+ {
1141
+ "index": 0,
1142
+ "name": "skin-0",
1143
+ "jointCount": 43,
1144
+ "joints": [
1145
+ "Bone",
1146
+ "Foot.L",
1147
+ "Body",
1148
+ "Hips",
1149
+ "Abdomen",
1150
+ "Torso",
1151
+ "Neck",
1152
+ "Head",
1153
+ "Shoulder.L",
1154
+ "UpperArm.L",
1155
+ "LowerArm.L",
1156
+ "Palm2.L",
1157
+ "Middle1.L",
1158
+ "Middle2.L",
1159
+ "Thumb.L",
1160
+ "Thumb2.L",
1161
+ "Palm1.L",
1162
+ "Index.L",
1163
+ "Index2.L",
1164
+ "Palm3.L",
1165
+ "Ring1.L",
1166
+ "Ring2.L",
1167
+ "Shoulder.R",
1168
+ "UpperArm.R",
1169
+ "LowerArm.R",
1170
+ "Palm2.R",
1171
+ "Middle1.R",
1172
+ "Middle2.R",
1173
+ "Thumb.R",
1174
+ "Thumb2.R",
1175
+ "Palm1.R",
1176
+ "Index.R",
1177
+ "Index2.R",
1178
+ "Palm3.R",
1179
+ "Ring1.R",
1180
+ "Ring2.R",
1181
+ "UpperLeg.L",
1182
+ "LowerLeg.L",
1183
+ "UpperLeg.R",
1184
+ "LowerLeg.R",
1185
+ "PoleTarget.L",
1186
+ "Foot.R",
1187
+ "PoleTarget.R"
1188
+ ],
1189
+ "skeleton": "Bone"
1190
+ },
1191
+ {
1192
+ "index": 1,
1193
+ "name": "skin-1",
1194
+ "jointCount": 43,
1195
+ "joints": [
1196
+ "Bone",
1197
+ "Foot.L",
1198
+ "Body",
1199
+ "Hips",
1200
+ "Abdomen",
1201
+ "Torso",
1202
+ "Neck",
1203
+ "Head",
1204
+ "Shoulder.L",
1205
+ "UpperArm.L",
1206
+ "LowerArm.L",
1207
+ "Palm2.L",
1208
+ "Middle1.L",
1209
+ "Middle2.L",
1210
+ "Thumb.L",
1211
+ "Thumb2.L",
1212
+ "Palm1.L",
1213
+ "Index.L",
1214
+ "Index2.L",
1215
+ "Palm3.L",
1216
+ "Ring1.L",
1217
+ "Ring2.L",
1218
+ "Shoulder.R",
1219
+ "UpperArm.R",
1220
+ "LowerArm.R",
1221
+ "Palm2.R",
1222
+ "Middle1.R",
1223
+ "Middle2.R",
1224
+ "Thumb.R",
1225
+ "Thumb2.R",
1226
+ "Palm1.R",
1227
+ "Index.R",
1228
+ "Index2.R",
1229
+ "Palm3.R",
1230
+ "Ring1.R",
1231
+ "Ring2.R",
1232
+ "UpperLeg.L",
1233
+ "LowerLeg.L",
1234
+ "UpperLeg.R",
1235
+ "LowerLeg.R",
1236
+ "PoleTarget.L",
1237
+ "Foot.R",
1238
+ "PoleTarget.R"
1239
+ ],
1240
+ "skeleton": "Bone"
1241
+ }
1242
+ ],
1243
+ "messages": [
1244
+ "Detected 2 skins with 43 unique joints."
1245
+ ]
1246
+ },
1247
+ "morphTargets": {
1248
+ "targetCount": 3,
1249
+ "targetNames": [
1250
+ "Angry",
1251
+ "Surprised",
1252
+ "Sad"
1253
+ ],
1254
+ "meshes": [
1255
+ {
1256
+ "index": 2,
1257
+ "name": "Head",
1258
+ "targetNames": [
1259
+ "Angry",
1260
+ "Surprised",
1261
+ "Sad"
1262
+ ]
1263
+ }
1264
+ ],
1265
+ "messages": [
1266
+ "Detected 3 morph targets."
1267
+ ]
1268
+ },
1269
+ "provenance": {
1270
+ "sourcePath": "../../../../fixtures/threejs-parity/assets/character/robot-expressive.glb",
1271
+ "checkedAt": "2026-06-06T23:22:20.212Z"
1272
+ },
1273
+ "textures": [],
1274
+ "dependencies": [],
1275
+ "orientation": {
1276
+ "source": "unknown",
1277
+ "messages": [
1278
+ "No orientation metadata detected; facing direction cannot be proven."
1279
+ ]
1280
+ },
1281
+ "nodeNames": [
1282
+ "RootNode",
1283
+ "RobotArmature",
1284
+ "Bone",
1285
+ "Foot.L",
1286
+ "Foot.L",
1287
+ "Foot.L_end",
1288
+ "Body",
1289
+ "Torso",
1290
+ "Hips",
1291
+ "Abdomen",
1292
+ "Torso",
1293
+ "Neck",
1294
+ "Head",
1295
+ "Head",
1296
+ "Head_end",
1297
+ "Shoulder.L",
1298
+ "Shoulder.L",
1299
+ "UpperArm.L",
1300
+ "Arm.L",
1301
+ "LowerArm.L",
1302
+ "Palm2.L",
1303
+ "Middle1.L",
1304
+ "Middle2.L",
1305
+ "Middle2.L_end",
1306
+ "Thumb.L",
1307
+ "Thumb2.L",
1308
+ "Thumb2.L_end",
1309
+ "Palm1.L",
1310
+ "Index.L",
1311
+ "Index2.L",
1312
+ "Index2.L_end",
1313
+ "Palm3.L",
1314
+ "Ring1.L",
1315
+ "Ring2.L",
1316
+ "Ring2.L_end",
1317
+ "Shoulder.R",
1318
+ "Shoulder.R",
1319
+ "UpperArm.R",
1320
+ "Arm.R",
1321
+ "LowerArm.R",
1322
+ "Palm2.R",
1323
+ "Middle1.R",
1324
+ "Middle2.R",
1325
+ "Middle2.R_end",
1326
+ "Thumb.R",
1327
+ "Thumb2.R",
1328
+ "Thumb2.R_end",
1329
+ "Palm1.R",
1330
+ "Index.R",
1331
+ "Index2.R",
1332
+ "Index2.R_end",
1333
+ "Palm3.R",
1334
+ "Ring1.R",
1335
+ "Ring2.R",
1336
+ "Ring2.R_end",
1337
+ "UpperLeg.L",
1338
+ "Leg.L",
1339
+ "LowerLeg.L",
1340
+ "LowerLeg.L",
1341
+ "LowerLeg.L_end",
1342
+ "UpperLeg.R",
1343
+ "Leg.R",
1344
+ "LowerLeg.R",
1345
+ "LowerLeg.R",
1346
+ "LowerLeg.R_end",
1347
+ "PoleTarget.L",
1348
+ "PoleTarget.L_end",
1349
+ "Foot.R",
1350
+ "Foot.R",
1351
+ "Foot.R_end",
1352
+ "PoleTarget.R",
1353
+ "PoleTarget.R_end",
1354
+ "Hand.R",
1355
+ "Hand.L"
1356
+ ],
1357
+ "thumbnailUrl": "/aura-assets/miko.thumb.svg",
1358
+ "warnings": [
1359
+ "no texture references detected",
1360
+ "orientation metadata missing; facing direction cannot be validated until GLTF extras declare aura3d.orientation.forwardAxis"
1361
+ ]
1362
+ }
1363
+ ]
1364
+ }