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
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const CREATE_AURA3D_TEMPLATES: readonly ["product-viewer", "cinematic-scene", "mini-game", "fighting-game", "cartoon-channel", "prompt-cartoon-channel", "cartoon-studio", "episode-builder"];
1
+ export declare const CREATE_AURA3D_TEMPLATES: readonly ["product-viewer", "cinematic-scene", "mini-game", "fighting-game", "animation-channel", "prompt-animation-channel", "animation-studio", "episode-builder", "animation-studio", "character-controller"];
2
2
  export type CreateA3DTemplate = (typeof CREATE_AURA3D_TEMPLATES)[number];
3
3
  export interface CreateA3DProjectOptions {
4
4
  readonly targetDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,gKAS1B,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CA6BzF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAGvF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,kNAW1B,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CA6BzF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAGvF"}
package/dist/index.js CHANGED
@@ -6,10 +6,12 @@ export const CREATE_AURA3D_TEMPLATES = [
6
6
  "cinematic-scene",
7
7
  "mini-game",
8
8
  "fighting-game",
9
- "cartoon-channel",
10
- "prompt-cartoon-channel",
11
- "cartoon-studio",
9
+ "animation-channel",
10
+ "prompt-animation-channel",
11
+ "animation-studio",
12
12
  "episode-builder",
13
+ "animation-studio",
14
+ "character-controller",
13
15
  ];
14
16
  export function createA3DProject(options) {
15
17
  const template = options.template ?? "product-viewer";
@@ -30,7 +32,7 @@ export function createA3DProject(options) {
30
32
  const packageJson = JSON.parse(readFileSync(packagePath, "utf8"));
31
33
  packageJson.dependencies = {
32
34
  ...(packageJson.dependencies ?? {}),
33
- "@aura3d/engine": options.packageVersion ?? "1.0.10"
35
+ "@aura3d/engine": options.packageVersion ?? packageJson.dependencies?.["@aura3d/engine"] ?? "1.3.1"
34
36
  };
35
37
  writeFileSync(packagePath, `${JSON.stringify(packageJson, null, 2)}\n`);
36
38
  return {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/create-aura3d/src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-aura3d",
3
- "version": "1.1.2",
3
+ "version": "1.3.1",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "create-aura3d": "dist/cli.js"
@@ -11,10 +11,11 @@
11
11
  "templates/cinematic-scene",
12
12
  "templates/mini-game",
13
13
  "templates/fighting-game",
14
- "templates/cartoon-channel",
15
- "templates/prompt-cartoon-channel",
16
- "templates/cartoon-studio",
17
- "templates/episode-builder"
14
+ "templates/animation-channel",
15
+ "templates/prompt-animation-channel",
16
+ "templates/animation-studio",
17
+ "templates/episode-builder",
18
+ "templates/character-controller"
18
19
  ],
19
20
  "publishConfig": {
20
21
  "access": "public"
@@ -27,7 +28,7 @@
27
28
  },
28
29
  "main": "./dist/index.js",
29
30
  "types": "./dist/index.d.ts",
30
- "description": "Scaffold Aura3D browser 3D apps for product viewers, cinematic scenes, mini-games, fighting-game runtimes, prompt-driven cartoon channels, cartoon studios, and episode builders.",
31
+ "description": "Scaffold Aura3D browser 3D apps for product viewers, cinematic scenes, mini-games, fighting-game runtimes, prompt-driven animation channels, animation studios, and episode builders.",
31
32
  "keywords": [
32
33
  "create-aura3d",
33
34
  "vite",
@@ -35,10 +36,10 @@
35
36
  "browser-3d",
36
37
  "product-viewer",
37
38
  "fighting-game",
38
- "prompt-cartoon-channel",
39
- "cartoon-studio",
39
+ "prompt-animation-channel",
40
+ "animation-studio",
40
41
  "episode-builder",
41
- "cartoon-animation",
42
+ "animation-animation",
42
43
  "prompt-to-video",
43
44
  "game-runtime",
44
45
  "gltf",
@@ -1,7 +1,7 @@
1
- # Aura3D Cartoon Channel Template
1
+ # Aura3D Animation Channel Template
2
2
 
3
- > **Status: example / experimental.** The flagship cartoon pipeline is the
4
- > [`cartoon-studio`](../cartoon-studio) template. This `cartoon-channel`
3
+ > **Status: example / experimental.** The flagship animation pipeline is the
4
+ > [`animation-studio`](../animation-studio) template. This `animation-channel`
5
5
  > template is a contract/example demonstrating the AuraVoice-to-Aura3D handoff.
6
6
  > Its release-facing route is `src/sample-episode-visual.ts`. The rejected
7
7
  > `notTrue3D` puppet/parallax experiments are quarantined under
@@ -22,14 +22,14 @@ It uses:
22
22
  - Primitive-mouth and typed-GLB viseme examples.
23
23
  - Phoneme/viseme/dub source proof metadata for stable shot, storyboard, caption, line, and word timing ids.
24
24
  - A deterministic sample episode visual layer at `/?sampleTime=24` so reviewers
25
- can see a clean cartoon frame sourced from the same shot/caption contract.
26
- - An Aura3D-rendered cartoon scene graph for visual review: moon garden,
25
+ can see a clean animation frame sourced from the same shot/caption contract.
26
+ - An Aura3D-rendered animation scene graph for visual review: moon garden,
27
27
  stylized robot characters, props, lights, camera, captions, and typed GLB
28
28
  character asset evidence through `src/aura-assets.ts`.
29
29
  - A release-facing route that deliberately ignores the rejected
30
30
  `concept-2-5d`, `puppet-2d`, and `image-puppet` query views. Those earlier
31
31
  experiments remain only as negative evidence: still-image parallax, flat
32
- cutout motion, and `notTrue3D` proof are not accepted as Aura3D 1.1 cartoon
32
+ cutout motion, and `notTrue3D` proof are not accepted as Aura3D 1.1 animation
33
33
  animation readiness.
34
34
 
35
35
  Replace primitive characters with typed GLB assets by running:
@@ -37,7 +37,7 @@ Replace primitive characters with typed GLB assets by running:
37
37
  ```bash
38
38
  npx @aura3d/cli@latest assets add ./assets/miko.glb --name miko
39
39
  npx @aura3d/cli@latest assets add ./assets/luma.glb --name luma
40
- npx @aura3d/cli@latest assets validate-cartoon
40
+ npx @aura3d/cli@latest assets validate-animation
41
41
  ```
42
42
 
43
43
  Then import `assets.miko` and `assets.luma` from `src/aura-assets.ts` and pass them to `model(assets.miko)` and `model(assets.luma)`.
@@ -62,7 +62,7 @@ npm test
62
62
  The visual test captures a review frame at:
63
63
 
64
64
  ```text
65
- tests/reports/prompt-animation/cartoon-sample-episode.png
65
+ tests/reports/prompt-animation/animation-sample-episode.png
66
66
  ```
67
67
 
68
68
  Run the failed-puppet negative gate:
@@ -77,14 +77,14 @@ route and do not expose release-facing puppet/parallax proof objects. The
77
77
  rejected experiment modules themselves live under `src/experimental/` (see
78
78
  `src/experimental/README.md`) and are never imported by the app.
79
79
 
80
- Do not use `tests/reports/prompt-animation/cartoon-image-puppet-animation.webm`
81
- or the old 2.5D/cutout routes as product evidence. Aura3D's accepted cartoon
80
+ Do not use `tests/reports/prompt-animation/animation-image-puppet-animation.webm`
81
+ or the old 2.5D/cutout routes as product evidence. Aura3D's accepted animation
82
82
  animation proof must come from typed assets or explicitly segmented rigs with
83
83
  independent body-region motion, caption timing, visible mouth movement, and
84
84
  render/package evidence.
85
85
 
86
86
  This scaffold intentionally does not claim publish readiness from source alone.
87
87
  Before closing build, route, asset, screenshot, render, or visual-quality gates,
88
- archive the matching `npm run build`, `assets validate-cartoon`, browser
88
+ archive the matching `npm run build`, `assets validate-animation`, browser
89
89
  evidence, screenshot hashes, render outputs, and human or automated review
90
90
  artifacts.
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>Aura3D Cartoon Studio</title>
6
+ <title>Aura3D Animation Channel</title>
7
7
  </head>
8
8
  <body>
9
9
  <div id="app"></div>
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "aura3d-cartoon-channel",
2
+ "name": "aura3d-animation-channel",
3
3
  "version": "0.1.0",
4
4
  "private": true,
5
5
  "type": "module",
@@ -12,7 +12,7 @@
12
12
  "test:negative-failed-puppets": "playwright test tests/concept-2-5d.spec.ts tests/puppet-2d.spec.ts tests/image-puppet.spec.ts tests/concept-2-5d-animation.spec.ts tests/puppet-2d-animation.spec.ts tests/image-puppet-animation.spec.ts --workers=1"
13
13
  },
14
14
  "dependencies": {
15
- "@aura3d/engine": "1.1.0"
15
+ "@aura3d/engine": "1.3.1"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@playwright/test": "^1.52.0",
@@ -4,37 +4,37 @@ import { AURAVOICE_AURA3D_PROMPT_ANIMATION_CONTRACT_ID } from "./contract";
4
4
 
5
5
  export const episodeContractId = AURAVOICE_AURA3D_PROMPT_ANIMATION_CONTRACT_ID;
6
6
 
7
- export type CartoonAssetKey = "miko" | "luma" | "glowBroom" | "glowStones" | "moonLilies";
7
+ export type AnimationAssetKey = "miko" | "luma" | "glowBroom" | "glowStones" | "moonLilies";
8
8
 
9
- type TypedCartoonAssets = Partial<Record<CartoonAssetKey, AuraAssetRef<"model">>>;
9
+ type TypedAnimationAssets = Partial<Record<AnimationAssetKey, AuraAssetRef<"model">>>;
10
10
 
11
- const typedCartoonAssets = assets as TypedCartoonAssets;
11
+ const typedAnimationAssets = assets as TypedAnimationAssets;
12
12
 
13
- export const requiredCartoonCharacterAssets = ["miko", "luma"] as const;
14
- export const optionalCartoonPropAssets = ["glowBroom", "glowStones", "moonLilies"] as const;
15
- export const publicCartoonAssetInstructions = [
13
+ export const requiredAnimationCharacterAssets = ["miko", "luma"] as const;
14
+ export const optionalAnimationPropAssets = ["glowBroom", "glowStones", "moonLilies"] as const;
15
+ export const publicAnimationAssetInstructions = [
16
16
  "npx @aura3d/cli@latest assets add ./assets/miko.glb --name miko",
17
17
  "npx @aura3d/cli@latest assets add ./assets/luma.glb --name luma",
18
- "npx @aura3d/cli@latest assets validate-cartoon"
18
+ "npx @aura3d/cli@latest assets validate-animation"
19
19
  ] as const;
20
20
 
21
- export const missingCartoonCharacterAssets = requiredCartoonCharacterAssets.filter((key) => !typedCartoonAssets[key]);
22
- export const typedCartoonAssetSummary = {
23
- requiredCharacterAssets: requiredCartoonCharacterAssets,
24
- optionalPropAssets: optionalCartoonPropAssets,
25
- typedCharacterAssetCount: requiredCartoonCharacterAssets.length - missingCartoonCharacterAssets.length,
26
- missingCharacterAssets: missingCartoonCharacterAssets
21
+ export const missingAnimationCharacterAssets = requiredAnimationCharacterAssets.filter((key) => !typedAnimationAssets[key]);
22
+ export const typedAnimationAssetSummary = {
23
+ requiredCharacterAssets: requiredAnimationCharacterAssets,
24
+ optionalPropAssets: optionalAnimationPropAssets,
25
+ typedCharacterAssetCount: requiredAnimationCharacterAssets.length - missingAnimationCharacterAssets.length,
26
+ missingCharacterAssets: missingAnimationCharacterAssets
27
27
  } as const;
28
28
 
29
- function typedAsset(key: CartoonAssetKey): AuraAssetRef<"model"> | undefined {
30
- return typedCartoonAssets[key];
29
+ function typedAsset(key: AnimationAssetKey): AuraAssetRef<"model"> | undefined {
30
+ return typedAnimationAssets[key];
31
31
  }
32
32
 
33
33
  export const youtubeDraftMetadata = {
34
34
  contractId: episodeContractId,
35
- title: "Moon Garden Cleanup | Aura3D Cartoon Channel",
35
+ title: "Moon Garden Cleanup | Aura3D Animation Channel",
36
36
  description: "Two tiny robots clean a glowing moon garden with soft captions and reduced-flash visuals.",
37
- tags: ["Aura3D", "kids cartoon", "moon garden", "robots"],
37
+ tags: ["Aura3D", "kids animation", "moon garden", "robots"],
38
38
  madeForKids: true,
39
39
  thumbnailCaptureTime: 10,
40
40
  defaultLanguage: "en",
@@ -77,15 +77,15 @@ export const episodeSampleDescription = {
77
77
  shotCount: 3,
78
78
  speakingCharacters: ["miko", "luma"],
79
79
  captionSource: "captions are derived one-to-one from the AuraVoice dialogue track",
80
- performanceSource: "body, facial, gesture, blocking, and gaze cues are generated from the cartoon director",
80
+ performanceSource: "body, facial, gesture, blocking, and gaze cues are generated from the animation director",
81
81
  musicAmbience: ["music:moon-garden-lullaby", "ambience:moon-garden-night"],
82
82
  sfxCue: "sfx:glow-stone-chime",
83
83
  thumbnailCaptureTime: youtubeDraftMetadata.thumbnailCaptureTime,
84
84
  thumbnailSource: "same Aura3D scene state and AuraVoice timestamp as the render queue capture",
85
85
  typedAssetSource: "./src/aura-assets",
86
- requiredTypedAssets: requiredCartoonCharacterAssets,
87
- missingTypedAssets: missingCartoonCharacterAssets,
88
- assetCommands: publicCartoonAssetInstructions,
86
+ requiredTypedAssets: requiredAnimationCharacterAssets,
87
+ missingTypedAssets: missingAnimationCharacterAssets,
88
+ assetCommands: publicAnimationAssetInstructions,
89
89
  reviewPackageRequiredPaths: ["video", "captions", "thumbnail", "timeline", "audio-stems", "evidence-json", "youtube-draft-metadata"],
90
90
  accessibilityProof: ["captions", "reduced motion", "high contrast"]
91
91
  } as const;
@@ -167,7 +167,7 @@ export const episode = compilePromptEpisodePlan({
167
167
  }
168
168
  ],
169
169
  styleGuide: {
170
- visualStyle: "rounded bedtime sci-fi cartoon with toy-like robot silhouettes",
170
+ visualStyle: "rounded bedtime sci-fi animation with toy-like robot silhouettes",
171
171
  palette: ["#081b2a", "#7de2ff", "#ffe18e", "#40ffbf", "#f8fff2"],
172
172
  shapeLanguage: "circles, capsules, crescent props, and chunky moon-garden forms",
173
173
  lighting: "soft blue night key, warm prop glows, no hard flashes",
@@ -1,18 +1,18 @@
1
1
  # Quarantined experiments (negative-regression fixtures only)
2
2
 
3
- These three modules are **rejected** Aura3D 1.0.10 cartoon experiments. They are
3
+ These three modules are **rejected** Aura3D 1.0.10 animation experiments. They are
4
4
  kept here as historical / negative evidence only. They are **NOT** imported by
5
5
  `src/main.ts`, `index.html`, or any release-facing route, and they are **NOT**
6
6
  referenced by any release-facing npm script.
7
7
 
8
8
  | File | Rejected approach | Why it was rejected |
9
9
  |---|---|---|
10
- | `concept-episode-2-5d.ts` | 2.5D still-image parallax | `notTrue3D: true` — parallax over a flat image is not real 3D cartoon animation |
11
- | `puppet-episode-2d.ts` | Flat 2D cutout puppet motion | `notTrue3D: true` — flat cutout motion is not real 3D cartoon animation |
10
+ | `concept-episode-2-5d.ts` | 2.5D still-image parallax | `notTrue3D: true` — parallax over a flat image is not real 3D animation animation |
11
+ | `puppet-episode-2d.ts` | Flat 2D cutout puppet motion | `notTrue3D: true` — flat cutout motion is not real 3D animation animation |
12
12
  | `image-puppet-episode.ts` | Image-derived cutout puppet | `notTrue3D: true` — still-image cutout proof is not accepted readiness |
13
13
 
14
- The flagship/production cartoon pipeline is the **`cartoon-studio`** template.
15
- This `cartoon-channel` template is an example; its release-facing route is
14
+ The flagship/production animation pipeline is the **`animation-studio`** template.
15
+ This `animation-channel` template is an example; its release-facing route is
16
16
  `src/sample-episode-visual.ts`.
17
17
 
18
18
  The negative-regression Playwright specs
@@ -1,14 +1,14 @@
1
- body[data-cartoon-view="concept-2-5d"] {
1
+ body[data-animation-view="concept-2-5d"] {
2
2
  background:
3
3
  radial-gradient(circle at 50% 22%, rgba(169, 255, 225, 0.16), transparent 34%),
4
4
  linear-gradient(180deg, #081118 0%, #11241f 56%, #081216 100%);
5
5
  }
6
6
 
7
- body[data-cartoon-view="concept-2-5d"] #caption-overlay {
7
+ body[data-animation-view="concept-2-5d"] #caption-overlay {
8
8
  display: none !important;
9
9
  }
10
10
 
11
- body[data-cartoon-view="concept-2-5d"] #app {
11
+ body[data-animation-view="concept-2-5d"] #app {
12
12
  opacity: 0;
13
13
  }
14
14
 
@@ -1,9 +1,9 @@
1
1
  import { episode, episodeSampleDescription, youtubeDraftMetadata } from "../episode";
2
- import type { CartoonRouteSampleForVisual } from "../sample-episode-visual";
2
+ import type { AnimationRouteSampleForVisual } from "../sample-episode-visual";
3
3
  import "./concept-episode-2-5d.css";
4
4
 
5
5
  export interface ConceptEpisode2_5DOptions {
6
- readonly sampleAt: (time: number) => CartoonRouteSampleForVisual;
6
+ readonly sampleAt: (time: number) => AnimationRouteSampleForVisual;
7
7
  readonly duration: number;
8
8
  readonly fixedTime?: number;
9
9
  }
@@ -17,7 +17,7 @@ export interface ConceptEpisode2_5DProof {
17
17
  readonly sourceImage: string;
18
18
  readonly notTrue3D: true;
19
19
  readonly screenshotTarget: "#concept-episode-2-5d";
20
- readonly sample: CartoonRouteSampleForVisual;
20
+ readonly sample: AnimationRouteSampleForVisual;
21
21
  readonly parallax: number;
22
22
  readonly layers: readonly {
23
23
  readonly id: string;
@@ -38,11 +38,11 @@ const layers = [
38
38
  ] as const;
39
39
 
40
40
  export function installConceptEpisode2_5D(options: ConceptEpisode2_5DOptions) {
41
- document.body.dataset.cartoonView = "concept-2-5d";
41
+ document.body.dataset.animationView = "concept-2-5d";
42
42
  const root = document.createElement("section");
43
43
  root.id = "concept-episode-2-5d";
44
44
  root.className = "concept-2-5d";
45
- root.setAttribute("aria-label", "Aura3D 2.5D cartoon concept episode preview");
45
+ root.setAttribute("aria-label", "Aura3D 2.5D animation concept episode preview");
46
46
  root.innerHTML = `
47
47
  <div class="concept-2-5d__frame">
48
48
  <div class="concept-2-5d__layer concept-2-5d__layer--far" data-layer-id="far-background" aria-hidden="true"></div>
@@ -101,7 +101,7 @@ export function installConceptEpisode2_5D(options: ConceptEpisode2_5DOptions) {
101
101
  progress.style.setProperty("--progress", `${progressPercent}%`);
102
102
  }
103
103
 
104
- window.__AURA3D_CARTOON_2_5D_PROOF__ = {
104
+ window.__AURA3D_ANIMATION_2_5D_PROOF__ = {
105
105
  contractId: episodeSampleDescription.contractId,
106
106
  episodeId: episode.episodePlan.episodeId,
107
107
  title: episode.episodePlan.title,
@@ -145,7 +145,7 @@ export function installConceptEpisode2_5D(options: ConceptEpisode2_5DOptions) {
145
145
 
146
146
  declare global {
147
147
  interface Window {
148
- __AURA3D_CARTOON_2_5D_PROOF__?: ConceptEpisode2_5DProof;
148
+ __AURA3D_ANIMATION_2_5D_PROOF__?: ConceptEpisode2_5DProof;
149
149
  }
150
150
  }
151
151
 
@@ -1,15 +1,15 @@
1
- body[data-cartoon-view="image-puppet"] {
1
+ body[data-animation-view="image-puppet"] {
2
2
  background:
3
3
  radial-gradient(circle at 50% 20%, rgba(115, 225, 255, 0.12), transparent 34%),
4
4
  linear-gradient(180deg, #06101d 0%, #102820 58%, #07100f 100%);
5
5
  }
6
6
 
7
- body[data-cartoon-view="image-puppet"] #caption-overlay,
8
- body[data-cartoon-view="image-puppet"] .aura-diagnostics-overlay {
7
+ body[data-animation-view="image-puppet"] #caption-overlay,
8
+ body[data-animation-view="image-puppet"] .aura-diagnostics-overlay {
9
9
  display: none !important;
10
10
  }
11
11
 
12
- body[data-cartoon-view="image-puppet"] #app {
12
+ body[data-animation-view="image-puppet"] #app {
13
13
  opacity: 0;
14
14
  }
15
15
 
@@ -1,9 +1,9 @@
1
1
  import { episode, episodeSampleDescription } from "../episode";
2
- import type { CartoonRouteSampleForVisual } from "../sample-episode-visual";
2
+ import type { AnimationRouteSampleForVisual } from "../sample-episode-visual";
3
3
  import "./image-puppet-episode.css";
4
4
 
5
5
  export interface ImagePuppetEpisodeOptions {
6
- readonly sampleAt: (time: number) => CartoonRouteSampleForVisual;
6
+ readonly sampleAt: (time: number) => AnimationRouteSampleForVisual;
7
7
  readonly duration: number;
8
8
  readonly fixedTime?: number;
9
9
  }
@@ -18,7 +18,7 @@ export interface ImagePuppetEpisodeProof {
18
18
  readonly sourcePixelsAnimated: true;
19
19
  readonly notTrue3D: true;
20
20
  readonly screenshotTarget: "#image-puppet-episode";
21
- readonly sample: CartoonRouteSampleForVisual;
21
+ readonly sample: AnimationRouteSampleForVisual;
22
22
  readonly movingCutouts: readonly string[];
23
23
  readonly limitations: readonly string[];
24
24
  }
@@ -35,7 +35,7 @@ const movingCutouts = [
35
35
  ] as const;
36
36
 
37
37
  export function installImagePuppetEpisode(options: ImagePuppetEpisodeOptions) {
38
- document.body.dataset.cartoonView = "image-puppet";
38
+ document.body.dataset.animationView = "image-puppet";
39
39
  const root = document.createElement("section");
40
40
  root.id = "image-puppet-episode";
41
41
  root.className = "image-puppet";
@@ -96,7 +96,7 @@ export function installImagePuppetEpisode(options: ImagePuppetEpisodeOptions) {
96
96
  progress.style.setProperty("--progress", `${progressPercent}%`);
97
97
  }
98
98
 
99
- window.__AURA3D_CARTOON_IMAGE_PUPPET_PROOF__ = {
99
+ window.__AURA3D_ANIMATION_IMAGE_PUPPET_PROOF__ = {
100
100
  contractId: episodeSampleDescription.contractId,
101
101
  episodeId: episode.episodePlan.episodeId,
102
102
  title: episode.episodePlan.title,
@@ -129,7 +129,7 @@ export function installImagePuppetEpisode(options: ImagePuppetEpisodeOptions) {
129
129
 
130
130
  declare global {
131
131
  interface Window {
132
- __AURA3D_CARTOON_IMAGE_PUPPET_PROOF__?: ImagePuppetEpisodeProof;
132
+ __AURA3D_ANIMATION_IMAGE_PUPPET_PROOF__?: ImagePuppetEpisodeProof;
133
133
  }
134
134
  }
135
135
 
@@ -1,14 +1,14 @@
1
- body[data-cartoon-view="puppet-2d"] {
1
+ body[data-animation-view="puppet-2d"] {
2
2
  background:
3
3
  radial-gradient(circle at 50% 20%, rgba(115, 225, 255, 0.14), transparent 34%),
4
4
  linear-gradient(180deg, #06101d 0%, #102820 58%, #07100f 100%);
5
5
  }
6
6
 
7
- body[data-cartoon-view="puppet-2d"] #caption-overlay {
7
+ body[data-animation-view="puppet-2d"] #caption-overlay {
8
8
  display: none !important;
9
9
  }
10
10
 
11
- body[data-cartoon-view="puppet-2d"] #app {
11
+ body[data-animation-view="puppet-2d"] #app {
12
12
  opacity: 0;
13
13
  }
14
14
 
@@ -1,9 +1,9 @@
1
1
  import { episode, episodeSampleDescription, youtubeDraftMetadata } from "../episode";
2
- import type { CartoonRouteSampleForVisual } from "../sample-episode-visual";
2
+ import type { AnimationRouteSampleForVisual } from "../sample-episode-visual";
3
3
  import "./puppet-episode-2d.css";
4
4
 
5
5
  export interface PuppetEpisode2DOptions {
6
- readonly sampleAt: (time: number) => CartoonRouteSampleForVisual;
6
+ readonly sampleAt: (time: number) => AnimationRouteSampleForVisual;
7
7
  readonly duration: number;
8
8
  readonly fixedTime?: number;
9
9
  }
@@ -17,7 +17,7 @@ export interface PuppetEpisode2DProof {
17
17
  readonly sourceImage: string;
18
18
  readonly notTrue3D: true;
19
19
  readonly screenshotTarget: "#puppet-episode-2d";
20
- readonly sample: CartoonRouteSampleForVisual;
20
+ readonly sample: AnimationRouteSampleForVisual;
21
21
  readonly animatedParts: readonly string[];
22
22
  readonly aura3dRole: readonly string[];
23
23
  readonly limitations: readonly string[];
@@ -39,11 +39,11 @@ const animatedParts = [
39
39
  ] as const;
40
40
 
41
41
  export function installPuppetEpisode2D(options: PuppetEpisode2DOptions) {
42
- document.body.dataset.cartoonView = "puppet-2d";
42
+ document.body.dataset.animationView = "puppet-2d";
43
43
  const root = document.createElement("section");
44
44
  root.id = "puppet-episode-2d";
45
45
  root.className = "puppet-episode";
46
- root.setAttribute("aria-label", "Aura3D 2D puppet cartoon animation over moon garden concept art");
46
+ root.setAttribute("aria-label", "Aura3D 2D puppet animation animation over moon garden concept art");
47
47
  root.innerHTML = `
48
48
  <div class="puppet-episode__frame">
49
49
  <div class="puppet-episode__backdrop" aria-hidden="true"></div>
@@ -135,7 +135,7 @@ export function installPuppetEpisode2D(options: PuppetEpisode2DOptions) {
135
135
  progress.style.setProperty("--progress", `${progressPercent}%`);
136
136
  }
137
137
 
138
- window.__AURA3D_CARTOON_2D_PUPPET_PROOF__ = {
138
+ window.__AURA3D_ANIMATION_2D_PUPPET_PROOF__ = {
139
139
  contractId: episodeSampleDescription.contractId,
140
140
  episodeId: episode.episodePlan.episodeId,
141
141
  title: episode.episodePlan.title,
@@ -179,7 +179,7 @@ export function installPuppetEpisode2D(options: PuppetEpisode2DOptions) {
179
179
 
180
180
  declare global {
181
181
  interface Window {
182
- __AURA3D_CARTOON_2D_PUPPET_PROOF__?: PuppetEpisode2DProof;
182
+ __AURA3D_ANIMATION_2D_PUPPET_PROOF__?: PuppetEpisode2DProof;
183
183
  }
184
184
  }
185
185