@aura3d/engine 1.3.3 → 1.4.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 (229) hide show
  1. package/README.md +122 -15
  2. package/dist/assets/GLTFLoader.js +1 -0
  3. package/dist/assets/GLTFLoader.js.map +1 -1
  4. package/dist/assets/GLTFRenderResources.d.ts.map +1 -1
  5. package/dist/assets/GLTFRenderResources.js +1 -0
  6. package/dist/assets/GLTFRenderResources.js.map +1 -1
  7. package/dist/aura3d-cli/asset-constants.d.ts +5 -0
  8. package/dist/aura3d-cli/asset-constants.d.ts.map +1 -0
  9. package/dist/aura3d-cli/asset-constants.js +5 -0
  10. package/dist/aura3d-cli/asset-constants.js.map +1 -0
  11. package/dist/aura3d-cli/asset-core-types.d.ts +206 -0
  12. package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -0
  13. package/dist/aura3d-cli/asset-core-types.js +2 -0
  14. package/dist/aura3d-cli/asset-core-types.js.map +1 -0
  15. package/dist/aura3d-cli/asset-inspection-types.d.ts +131 -0
  16. package/dist/aura3d-cli/asset-inspection-types.d.ts.map +1 -0
  17. package/dist/aura3d-cli/asset-inspection-types.js +2 -0
  18. package/dist/aura3d-cli/asset-inspection-types.js.map +1 -0
  19. package/dist/aura3d-cli/asset-manifest.d.ts +8 -0
  20. package/dist/aura3d-cli/asset-manifest.d.ts.map +1 -0
  21. package/dist/aura3d-cli/asset-manifest.js +116 -0
  22. package/dist/aura3d-cli/asset-manifest.js.map +1 -0
  23. package/dist/aura3d-cli/asset-readiness-types.d.ts +164 -0
  24. package/dist/aura3d-cli/asset-readiness-types.d.ts.map +1 -0
  25. package/dist/aura3d-cli/asset-readiness-types.js +2 -0
  26. package/dist/aura3d-cli/asset-readiness-types.js.map +1 -0
  27. package/dist/aura3d-cli/asset-source-ast.d.ts +8 -0
  28. package/dist/aura3d-cli/asset-source-ast.d.ts.map +1 -0
  29. package/dist/aura3d-cli/asset-source-ast.js +241 -0
  30. package/dist/aura3d-cli/asset-source-ast.js.map +1 -0
  31. package/dist/aura3d-cli/asset-source-roles.d.ts +4 -0
  32. package/dist/aura3d-cli/asset-source-roles.d.ts.map +1 -0
  33. package/dist/aura3d-cli/asset-source-roles.js +79 -0
  34. package/dist/aura3d-cli/asset-source-roles.js.map +1 -0
  35. package/dist/aura3d-cli/asset-source-validation.d.ts +4 -0
  36. package/dist/aura3d-cli/asset-source-validation.d.ts.map +1 -0
  37. package/dist/aura3d-cli/asset-source-validation.js +200 -0
  38. package/dist/aura3d-cli/asset-source-validation.js.map +1 -0
  39. package/dist/aura3d-cli/character-assembly-types.d.ts +39 -0
  40. package/dist/aura3d-cli/character-assembly-types.d.ts.map +1 -0
  41. package/dist/aura3d-cli/character-assembly-types.js +2 -0
  42. package/dist/aura3d-cli/character-assembly-types.js.map +1 -0
  43. package/dist/aura3d-cli/cli-help.d.ts +4 -0
  44. package/dist/aura3d-cli/cli-help.d.ts.map +1 -0
  45. package/dist/aura3d-cli/cli-help.js +48 -0
  46. package/dist/aura3d-cli/cli-help.js.map +1 -0
  47. package/dist/aura3d-cli/cli-options.d.ts +66 -0
  48. package/dist/aura3d-cli/cli-options.d.ts.map +1 -0
  49. package/dist/aura3d-cli/cli-options.js +234 -0
  50. package/dist/aura3d-cli/cli-options.js.map +1 -0
  51. package/dist/aura3d-cli/cli.js +20 -177
  52. package/dist/aura3d-cli/cli.js.map +1 -1
  53. package/dist/aura3d-cli/index.d.ts +12 -402
  54. package/dist/aura3d-cli/index.d.ts.map +1 -1
  55. package/dist/aura3d-cli/index.js +948 -90
  56. package/dist/aura3d-cli/index.js.map +1 -1
  57. package/dist/aura3d-cli/pull-bridge/adapters.d.ts +4 -0
  58. package/dist/aura3d-cli/pull-bridge/adapters.d.ts.map +1 -0
  59. package/dist/aura3d-cli/pull-bridge/adapters.js +38 -0
  60. package/dist/aura3d-cli/pull-bridge/adapters.js.map +1 -0
  61. package/dist/aura3d-cli/pull-bridge/download.d.ts +6 -0
  62. package/dist/aura3d-cli/pull-bridge/download.d.ts.map +1 -0
  63. package/dist/aura3d-cli/pull-bridge/download.js +208 -0
  64. package/dist/aura3d-cli/pull-bridge/download.js.map +1 -0
  65. package/dist/aura3d-cli/pull-bridge/profiles.d.ts +14 -0
  66. package/dist/aura3d-cli/pull-bridge/profiles.d.ts.map +1 -0
  67. package/dist/aura3d-cli/pull-bridge/profiles.js +63 -0
  68. package/dist/aura3d-cli/pull-bridge/profiles.js.map +1 -0
  69. package/dist/aura3d-cli/pull-bridge/provenance.d.ts +9 -0
  70. package/dist/aura3d-cli/pull-bridge/provenance.d.ts.map +1 -0
  71. package/dist/aura3d-cli/pull-bridge/provenance.js +99 -0
  72. package/dist/aura3d-cli/pull-bridge/provenance.js.map +1 -0
  73. package/dist/aura3d-cli/pull-bridge/pullable.d.ts +14 -0
  74. package/dist/aura3d-cli/pull-bridge/pullable.d.ts.map +1 -0
  75. package/dist/aura3d-cli/pull-bridge/pullable.js +58 -0
  76. package/dist/aura3d-cli/pull-bridge/pullable.js.map +1 -0
  77. package/dist/aura3d-cli/pull-bridge/scoring.d.ts +21 -0
  78. package/dist/aura3d-cli/pull-bridge/scoring.d.ts.map +1 -0
  79. package/dist/aura3d-cli/pull-bridge/scoring.js +177 -0
  80. package/dist/aura3d-cli/pull-bridge/scoring.js.map +1 -0
  81. package/dist/aura3d-cli/pull-bridge/search.d.ts +39 -0
  82. package/dist/aura3d-cli/pull-bridge/search.d.ts.map +1 -0
  83. package/dist/aura3d-cli/pull-bridge/search.js +114 -0
  84. package/dist/aura3d-cli/pull-bridge/search.js.map +1 -0
  85. package/dist/aura3d-cli/pull-bridge/types.d.ts +9 -0
  86. package/dist/aura3d-cli/pull-bridge/types.d.ts.map +1 -0
  87. package/dist/aura3d-cli/pull-bridge/types.js +2 -0
  88. package/dist/aura3d-cli/pull-bridge/types.js.map +1 -0
  89. package/dist/aura3d-cli/pull-bridge/vector3.d.ts +2 -0
  90. package/dist/aura3d-cli/pull-bridge/vector3.d.ts.map +1 -0
  91. package/dist/aura3d-cli/pull-bridge/vector3.js +4 -0
  92. package/dist/aura3d-cli/pull-bridge/vector3.js.map +1 -0
  93. package/dist/aura3d-cli/pull-bridge.d.ts +18 -100
  94. package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
  95. package/dist/aura3d-cli/pull-bridge.js +59 -526
  96. package/dist/aura3d-cli/pull-bridge.js.map +1 -1
  97. package/dist/create-aura3d/cli.js +10 -0
  98. package/dist/create-aura3d/cli.js.map +1 -1
  99. package/dist/create-aura3d/index.d.ts +1 -1
  100. package/dist/create-aura3d/index.d.ts.map +1 -1
  101. package/dist/create-aura3d/index.js +2 -0
  102. package/dist/create-aura3d/index.js.map +1 -1
  103. package/dist/create-aura3d/showcase-spec-artifacts.d.ts +104 -0
  104. package/dist/create-aura3d/showcase-spec-artifacts.d.ts.map +1 -0
  105. package/dist/create-aura3d/showcase-spec-artifacts.js +142 -0
  106. package/dist/create-aura3d/showcase-spec-artifacts.js.map +1 -0
  107. package/dist/create-aura3d/showcase-spec-category-plan.d.ts +15 -0
  108. package/dist/create-aura3d/showcase-spec-category-plan.d.ts.map +1 -0
  109. package/dist/create-aura3d/showcase-spec-category-plan.js +45 -0
  110. package/dist/create-aura3d/showcase-spec-category-plan.js.map +1 -0
  111. package/dist/create-aura3d/showcase-spec-compiler.d.ts +5 -0
  112. package/dist/create-aura3d/showcase-spec-compiler.d.ts.map +1 -0
  113. package/dist/create-aura3d/showcase-spec-compiler.js +240 -0
  114. package/dist/create-aura3d/showcase-spec-compiler.js.map +1 -0
  115. package/dist/create-aura3d/showcase-spec-evidence.d.ts +7 -0
  116. package/dist/create-aura3d/showcase-spec-evidence.d.ts.map +1 -0
  117. package/dist/create-aura3d/showcase-spec-evidence.js +815 -0
  118. package/dist/create-aura3d/showcase-spec-evidence.js.map +1 -0
  119. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts +21 -0
  120. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -0
  121. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +725 -0
  122. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -0
  123. package/dist/create-aura3d/showcase-spec-game-replacement-evidence.d.ts +14 -0
  124. package/dist/create-aura3d/showcase-spec-game-replacement-evidence.d.ts.map +1 -0
  125. package/dist/create-aura3d/showcase-spec-game-replacement-evidence.js +219 -0
  126. package/dist/create-aura3d/showcase-spec-game-replacement-evidence.js.map +1 -0
  127. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts +72 -0
  128. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts.map +1 -0
  129. package/dist/create-aura3d/showcase-spec-game-template-evidence.js +435 -0
  130. package/dist/create-aura3d/showcase-spec-game-template-evidence.js.map +1 -0
  131. package/dist/create-aura3d/showcase-spec-gameplay-evidence.d.ts +3 -0
  132. package/dist/create-aura3d/showcase-spec-gameplay-evidence.d.ts.map +1 -0
  133. package/dist/create-aura3d/showcase-spec-gameplay-evidence.js +108 -0
  134. package/dist/create-aura3d/showcase-spec-gameplay-evidence.js.map +1 -0
  135. package/dist/create-aura3d/showcase-spec-parser.d.ts +3 -0
  136. package/dist/create-aura3d/showcase-spec-parser.d.ts.map +1 -0
  137. package/dist/create-aura3d/showcase-spec-parser.js +662 -0
  138. package/dist/create-aura3d/showcase-spec-parser.js.map +1 -0
  139. package/dist/create-aura3d/showcase-spec-platformer-artifacts.d.ts +3 -0
  140. package/dist/create-aura3d/showcase-spec-platformer-artifacts.d.ts.map +1 -0
  141. package/dist/create-aura3d/showcase-spec-platformer-artifacts.js +276 -0
  142. package/dist/create-aura3d/showcase-spec-platformer-artifacts.js.map +1 -0
  143. package/dist/create-aura3d/showcase-spec-racing-artifacts.d.ts +3 -0
  144. package/dist/create-aura3d/showcase-spec-racing-artifacts.d.ts.map +1 -0
  145. package/dist/create-aura3d/showcase-spec-racing-artifacts.js +273 -0
  146. package/dist/create-aura3d/showcase-spec-racing-artifacts.js.map +1 -0
  147. package/dist/create-aura3d/showcase-spec-replacement-apply.d.ts +10 -0
  148. package/dist/create-aura3d/showcase-spec-replacement-apply.d.ts.map +1 -0
  149. package/dist/create-aura3d/showcase-spec-replacement-apply.js +166 -0
  150. package/dist/create-aura3d/showcase-spec-replacement-apply.js.map +1 -0
  151. package/dist/create-aura3d/showcase-spec-replacement-candidates.d.ts +16 -0
  152. package/dist/create-aura3d/showcase-spec-replacement-candidates.d.ts.map +1 -0
  153. package/dist/create-aura3d/showcase-spec-replacement-candidates.js +244 -0
  154. package/dist/create-aura3d/showcase-spec-replacement-candidates.js.map +1 -0
  155. package/dist/create-aura3d/showcase-spec-replacement-game-geometry.d.ts +4 -0
  156. package/dist/create-aura3d/showcase-spec-replacement-game-geometry.d.ts.map +1 -0
  157. package/dist/create-aura3d/showcase-spec-replacement-game-geometry.js +175 -0
  158. package/dist/create-aura3d/showcase-spec-replacement-game-geometry.js.map +1 -0
  159. package/dist/create-aura3d/showcase-spec-replacement-manifest.d.ts +41 -0
  160. package/dist/create-aura3d/showcase-spec-replacement-manifest.d.ts.map +1 -0
  161. package/dist/create-aura3d/showcase-spec-replacement-manifest.js +62 -0
  162. package/dist/create-aura3d/showcase-spec-replacement-manifest.js.map +1 -0
  163. package/dist/create-aura3d/showcase-spec-replacement-values.d.ts +9 -0
  164. package/dist/create-aura3d/showcase-spec-replacement-values.d.ts.map +1 -0
  165. package/dist/create-aura3d/showcase-spec-replacement-values.js +41 -0
  166. package/dist/create-aura3d/showcase-spec-replacement-values.js.map +1 -0
  167. package/dist/create-aura3d/showcase-spec-replacement.d.ts +13 -0
  168. package/dist/create-aura3d/showcase-spec-replacement.d.ts.map +1 -0
  169. package/dist/create-aura3d/showcase-spec-replacement.js +144 -0
  170. package/dist/create-aura3d/showcase-spec-replacement.js.map +1 -0
  171. package/dist/create-aura3d/showcase-spec-types.d.ts +304 -0
  172. package/dist/create-aura3d/showcase-spec-types.d.ts.map +1 -0
  173. package/dist/create-aura3d/showcase-spec-types.js +2 -0
  174. package/dist/create-aura3d/showcase-spec-types.js.map +1 -0
  175. package/dist/engine/agent-api/GameAssetValidation.d.ts +5 -0
  176. package/dist/engine/agent-api/GameAssetValidation.d.ts.map +1 -1
  177. package/dist/engine/agent-api/GameAssetValidation.js +103 -0
  178. package/dist/engine/agent-api/GameAssetValidation.js.map +1 -1
  179. package/dist/engine/agent-api/GameEvidence.d.ts +14 -1
  180. package/dist/engine/agent-api/GameEvidence.d.ts.map +1 -1
  181. package/dist/engine/agent-api/GameEvidence.js +77 -6
  182. package/dist/engine/agent-api/GameEvidence.js.map +1 -1
  183. package/dist/engine/agent-api/GameGenreKits.d.ts +473 -0
  184. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -0
  185. package/dist/engine/agent-api/GameGenreKits.js +1269 -0
  186. package/dist/engine/agent-api/GameGenreKits.js.map +1 -0
  187. package/dist/engine/agent-api/GameRuntime.d.ts +190 -3
  188. package/dist/engine/agent-api/GameRuntime.d.ts.map +1 -1
  189. package/dist/engine/agent-api/GameRuntime.js +431 -2
  190. package/dist/engine/agent-api/GameRuntime.js.map +1 -1
  191. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +181 -0
  192. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -0
  193. package/dist/engine/agent-api/GameSceneGeometryBindings.js +488 -0
  194. package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -0
  195. package/dist/engine/agent-api/GameSceneGeometryMath.d.ts +39 -0
  196. package/dist/engine/agent-api/GameSceneGeometryMath.d.ts.map +1 -0
  197. package/dist/engine/agent-api/GameSceneGeometryMath.js +89 -0
  198. package/dist/engine/agent-api/GameSceneGeometryMath.js.map +1 -0
  199. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +4 -0
  200. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts.map +1 -1
  201. package/dist/engine/agent-api/RuntimeNodeHandle.js +2 -0
  202. package/dist/engine/agent-api/RuntimeNodeHandle.js.map +1 -1
  203. package/dist/engine/agent-api/SceneGroundingUtils.d.ts +86 -0
  204. package/dist/engine/agent-api/SceneGroundingUtils.d.ts.map +1 -1
  205. package/dist/engine/agent-api/SceneGroundingUtils.js +116 -0
  206. package/dist/engine/agent-api/SceneGroundingUtils.js.map +1 -1
  207. package/dist/engine/agent-api/index.d.ts +149 -5
  208. package/dist/engine/agent-api/index.d.ts.map +1 -1
  209. package/dist/engine/agent-api/index.js +1893 -113
  210. package/dist/engine/agent-api/index.js.map +1 -1
  211. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  212. package/dist/engine/production-runtime/TypedGLBActor.d.ts +14 -2
  213. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  214. package/dist/engine/production-runtime/TypedGLBActor.js +95 -4
  215. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  216. package/dist/rendering/ForwardPass.js +7 -1
  217. package/dist/rendering/ForwardPass.js.map +1 -1
  218. package/dist/rendering/MorphTarget.d.ts +1 -0
  219. package/dist/rendering/MorphTarget.d.ts.map +1 -1
  220. package/dist/rendering/MorphTarget.js.map +1 -1
  221. package/dist/rendering/Renderer.js +7 -1
  222. package/dist/rendering/Renderer.js.map +1 -1
  223. package/package.json +22 -22
  224. package/templates/mini-game/README.md +13 -0
  225. package/templates/mini-game/index.html +1 -1
  226. package/templates/mini-game/package.json +1 -1
  227. package/templates/mini-game/src/main.ts +251 -21
  228. package/templates/mini-game/tests/playable.spec.ts +49 -0
  229. package/templates/mini-game/tests/screenshot.spec.ts +37 -32
package/README.md CHANGED
@@ -5,17 +5,124 @@
5
5
  [![license: MIT](https://img.shields.io/badge/license-MIT-green.svg)](./LICENSE)
6
6
  [![TypeScript](https://img.shields.io/badge/TypeScript-browser%203D-3178c6.svg)](https://www.typescriptlang.org/)
7
7
 
8
- Aura3D is an AI-native TypeScript 3D SDK for browser 3D apps, prompt-to-code scenes, GLB/glTF product viewers, browser-native game routes, Vite templates, typed asset workflows, diagnostics, screenshots, and static deployment checks.
8
+ Aura3D is an AI-native TypeScript 3D SDK for browser 3D apps, prompt-to-code scenes, GLB/glTF product viewers, browser-native game prototypes, Vite templates, typed asset workflows, diagnostics, screenshots, and static deployment checks.
9
9
 
10
10
  Describe the scene. Keep the TypeScript. Ship the browser app.
11
11
 
12
- Aura3D is built for developers and AI coding agents that need real 3D software, not a blank canvas and renderer glue. It gives agents maintained scene kits, typed GLB/glTF assets, product-viewer workflows, browser-game workflows, route-health diagnostics, screenshot evidence, and deployment checks through a public TypeScript API.
13
-
14
- Use Aura3D when you are building agent-written browser 3D apps, prompt-authored scenes, product configurators, GLB viewers, browser-native game-route proofs, static-deployed interactive websites, or AI-generated 3D scene tooling.
15
-
16
- ## Current release
17
-
18
- `@aura3d/engine@1.3.3` is the published release, live on npm `latest`. It carries everything from 1.1.0 — browser-native game routes, visible GLB animation runtime evidence, prompt-animation playback, AuraVoice timing packages, typed assets, diagnostics, screenshots, and readiness evidence — and adds the **Animation Engine**, the **Believable-Motion** track, and the **Animation Studio** (all below). It runs on Aura's own WebGL2 + WebGPU renderer; migrating an existing project is covered by the separately installed `@aura3d/three-compat` package.
12
+ Aura3D is built for developers and AI coding agents that need real 3D software, not a blank canvas and renderer glue. It gives agents maintained scene kits, typed GLB/glTF assets, product-viewer workflows, source-level game prototype workflows, route-health diagnostics, screenshot evidence, and deployment checks through a public TypeScript API.
13
+
14
+ Use Aura3D when you are building agent-written browser 3D apps, prompt-authored scenes, product configurators, GLB viewers, browser-native game-route prototypes, static-deployed interactive websites, or AI-generated 3D scene tooling.
15
+
16
+ ## Public claim boundary
17
+
18
+ Aura3D has multiple capability paths. Public claims must name the path they are
19
+ proving:
20
+
21
+ - root safe API: `@aura3d/engine` through `createAuraApp`;
22
+ - production runtime: `@aura3d/engine/production-runtime`;
23
+ - rendering internals: `@aura3d/rendering` and explicit renderer packages;
24
+ - CLI asset pipeline: `@aura3d/cli` typed asset acquisition and validation;
25
+ - templates and showcase routes.
26
+
27
+ The root `createAuraApp` path is the API that AI coding agents should use for
28
+ browser examples. A feature is not public-route proof just because a lower-level
29
+ package exports it. For release-facing docs, screenshots, or marketing pages,
30
+ claim only what the mounted route proves with typed assets, browser evidence,
31
+ and route-health output. Unsupported capabilities must be labeled as
32
+ `production-runtime`, `internal`, `prototype`, or `planned`.
33
+
34
+ Do not use primitives as the primary subject for named real-world objects,
35
+ characters, vehicles, worlds, products, or game environments. Resolve real
36
+ GLB/glTF assets through the Aura3D CLI, import generated `assets` from
37
+ `src/aura-assets.ts`, and render with `model(assets.x)`. Do not use raw string
38
+ asset ids, invented URLs, `GLTFLoader`, direct `three` imports, CSS particles,
39
+ DOM scene effects, or route-local hacks to make a public example appear more
40
+ capable than the Aura3D API path actually is.
41
+
42
+ ## Showcase integrity
43
+
44
+ The showcase routes must use Aura3D for scene content. CSS and DOM are allowed
45
+ for layout, HUDs, buttons, panels, responsive sizing, and accessibility text
46
+ only. They must not be used as a substitute for 3D content, particles, motion,
47
+ track scenery, city scenery, data visuals, robots, vehicles, beams, scanlines,
48
+ vignettes, or other effects that are claimed as part of the 3D scene.
49
+
50
+ The current release-candidate showcase classification is:
51
+
52
+ - Public release candidates: `apps/showcase-product-configurator/`,
53
+ `apps/showcase-material-asset-inspector/`,
54
+ `apps/showcase-smart-city-control/`,
55
+ `apps/showcase-cinematic-architecture/`,
56
+ `apps/showcase-digital-twin-ops/`, and
57
+ `apps/showcase-blockfall-reactor/`.
58
+ - Internal diagnostics retained for evidence only:
59
+ `apps/showcase-data-galaxy/` and
60
+ `apps/showcase-webgpu-particle-lab/`.
61
+ - Prototype-blocked game diagnostics, intentionally removed from public
62
+ examples: `apps/showcase-turbo-drift-circuit/` and
63
+ `apps/showcase-skyline-runner/`.
64
+
65
+ `node tools/showcase-library/build-and-check.mjs` is the release gate for this
66
+ classification. The current public release status is 6/6 public candidates
67
+ passing, with two internal diagnostics and two prototype-blocked game routes
68
+ retained outside the public showcase path.
69
+
70
+ For those routes, the implementation boundary is:
71
+
72
+ - Use public `@aura3d/engine` APIs such as `createAuraApp`,
73
+ `createGameApp`, `scene`, `sceneKits`, `model`, `camera`, `lights`,
74
+ `material`, `primitives`, `effects`, `particles`, `labels`, `charts`,
75
+ `game`, `interactions`, and `timeline`.
76
+ - Use typed assets from `src/aura-assets.ts` with `model(assets.x)`.
77
+ Do not write string asset ids such as `model("asset")`, invented URLs, raw
78
+ GLB URLs, or direct loader code.
79
+ - Use Aura3D particles through `effects.particles(...)`,
80
+ `particles.fountain(...)`, or the explicit WebGPU rendering path when it is
81
+ actually supported. Do not create particle clouds with DOM nodes, CSS
82
+ animations, pseudo-elements, or background gradients.
83
+ - Use Aura3D runtime movement through `app.onFrame(...)`,
84
+ `.runtime(game.runtimeNode("id"))`, and runtime node mutation. Do not fake
85
+ scene motion with CSS keyframes or DOM transforms.
86
+ - Use CSS only for UI chrome and layout. A screenshot should still show the
87
+ 3D scene, particles, motion targets, and typed assets when CSS decorative
88
+ backgrounds are removed.
89
+ - Keep claims honest: native WebGPU, typed asset usage, game runtime,
90
+ animation, particles, screenshots, and deployment readiness must each map to
91
+ a named API, route evidence global, test, screenshot, or report.
92
+
93
+ Current renderer boundary: the `createAuraApp` WebGL2 agent runtime used by the
94
+ showcase routes renders typed GLB meshes, glTF base-color textures, non-skinned
95
+ glTF node animation clips, Aura primitives, Aura particle effects,
96
+ runtime-node transforms, and basic scene effects. It is still not the full
97
+ production renderer path: it does not yet render skinned GLB animation mixer
98
+ playback, full PBR material stacks, image-based lighting, shadow maps, or
99
+ postprocess passes in pixels on that route. Do not claim visible skinned
100
+ character animation or Three.js-grade production material parity from a
101
+ `createAuraApp` screenshot until the agent renderer adapter is wired to the
102
+ production animation/skinning and material runtime; publish unsupported
103
+ capabilities as metadata only.
104
+
105
+ Release-facing showcase PRs must pass `assets validate --source --release`,
106
+ route-health collection, browser screenshots, visual review, and game input
107
+ tests where applicable. If any route uses primitive-only primary subjects, fake
108
+ CSS/DOM particles, unsupported WebGPU/PBR/skinning claims, or screenshots where
109
+ the primary subject is hidden, tiny, clipped, or unreadable, the route must be
110
+ classified as prototype, internal diagnostic, or blocked instead of public.
111
+
112
+ ## Current Release And Release Candidate
113
+
114
+ `@aura3d/engine@1.3.3` is the published release, live on npm `latest`. It carries everything from 1.1.0 -- browser-native game-route foundations, GLB animation/runtime evidence where renderer-backed, prompt-animation playback, AuraVoice timing packages, typed assets, diagnostics, screenshots, and readiness evidence -- and adds the **Animation Engine**, the **Believable-Motion** track, and the **Animation Studio** (all below). Public examples still need to distinguish root `createAuraApp` proof from production-runtime or rendering-internal capability. Migrating an existing project is covered by the separately installed `@aura3d/three-compat` package.
115
+
116
+ The next release candidate is being prepared from the current repository state.
117
+ Its release-facing scope is the corrected showcase and asset-evidence pipeline:
118
+ role-aware release asset validation, rendered-probe rejection for fake/stale
119
+ proof, AST source validation, package/dist parity checks, resolver-backed
120
+ showcase-spec repair, route-primary probes, gameplay proof where appropriate,
121
+ and visual review as a hard public-release gate. The public showcase path now
122
+ contains six bounded, visually accepted release candidates. Data Galaxy and
123
+ WebGPU Particle Lab stay internal diagnostics. Turbo Drift Circuit and Skyline
124
+ Runner stay prototype-blocked until the game layer has certified racing
125
+ topology and platformer playable-surface support.
19
126
 
20
127
  Animation Engine (in 1.3.3): `@aura3d/animation` gains a locomotion state-graph + kit (`createLocomotionAnimationStateGraph`, `createLocomotionKit`), a generic `validateAnimationClipMap`, a shared fighter-animation adapter, and per-clip bone-mask blending in `applyClips` (layered playback). New CLI: `aura3d assets validate-animation`. New starter templates: `animation-studio` (typed character → plan/preview/profile/package/verify + kit-driven skinned preview render) and `character-controller` (input → locomotion kit), plus a browser visual editor wired to the headless editor-runtime controllers. The deployed **Aura Clash** arena gained a real motion upgrade — crossfaded state transitions, hit reactions that vary by attack weight and grounded/airborne state, and attacks layered on an upper-body bone mask over a walking lower body — all browser-verified with deterministic combat replay stable.
21
128
 
@@ -25,7 +132,7 @@ The **Animation Studio** turns a natural-language prompt into a deterministic, r
25
132
 
26
133
  Aura3D ships a real animation engine: critically-damped, momentum-preserving transitions, two-bone foot IK with a foot-lock, spring-bone secondary dynamics, animation event tracks, texture-backed facial morph targets with viseme lip-sync, and 96-joint character skinning on both WebGL2 and WebGPU — each gate-backed and running live in Aura Clash. Aura Clash uses starter-grade fighter assets with **no new fighter art this release** (the rigs carry no facial blendshapes, so the morph/viseme work is showcased in Animation Studio and the morph proofs), so it stays a development showcase of the engine rather than a finished commercial game.
27
134
 
28
- Registry status: npm `latest` serves `1.3.3` across all 26 packages (`@aura3d/engine`, `@aura3d/asset-index`, `@aura3d/cli`, `create-aura3d`, …). The `animation-studio` / `character-controller` templates and the new APIs above are live for `npx ...@latest` users, and the showcase is deployed at https://aura3d.auraone.ai.
135
+ Registry status: npm `latest` still serves `1.3.3` across all 26 packages (`@aura3d/engine`, `@aura3d/asset-index`, `@aura3d/cli`, `create-aura3d`, …) until the next package publication completes. The `animation-studio` / `character-controller` templates and the 1.3.3 APIs above are live for `npx ...@latest` users, and the showcase is deployed at https://aura3d.auraone.ai.
29
136
 
30
137
  ## Aura3D 1.1.0 asset catalog
31
138
 
@@ -49,9 +156,9 @@ npx @aura3d/cli@latest assets validate-game --profile fighting-character --asset
49
156
  `--profile fighting-character` requires animated GLB candidates from verified CC0/CC-BY sources, applies a browser-sized triangle budget, and writes source URL, license, author/attribution, and source family into `aura.assets.json` during `assets resolve`.
50
157
  ## Aura3D 1.1.0 runtime launch track
51
158
 
52
- Aura3D 1.1.0 introduced the runtime and animation evidence foundation; 1.3.3 is the current active release that carries it forward:
159
+ Aura3D 1.1.0 introduced the runtime and animation evidence foundation; 1.3.3 is the current published release that carries it forward:
53
160
 
54
- - `game runtime`: mutable runtime nodes, app-owned frame loops, input, kinematic bodies, hitboxes, combat events, camera direction, effects, and evidence for browser-native game routes.
161
+ - `game runtime`: mutable runtime nodes, app-owned frame loops, input, kinematic bodies, hitboxes, combat events, camera direction, effects, and evidence for browser-native game prototypes.
55
162
  - `fighting-game template`: `npx create-aura3d@latest my-fighter --template fighting-game` scaffolds a public-API playable starter using typed assets, `app.input(...)`, `app.onFrame(...)`, `game.kinematicBody(...)`, `game.combatWorld(...)`, and `app.evidence(...)`.
56
163
  - `prompt animation`: `npx create-aura3d@latest my-episode --template prompt-animation-channel` scaffolds structured episode plans, storyboards, shot timelines, captions, visemes, render queues, and evidence for prompt-authored animation/video workflows. The shorter `animation-channel` template name remains supported.
57
164
  - `AuraVoice bridge`: AuraVoice owns script/audio/caption/viseme timing; Aura3D owns typed scene generation, character performance, camera choreography, rendering, screenshots, and visual evidence.
@@ -91,7 +198,7 @@ import { createAuraApp, sceneKits } from "@aura3d/engine";
91
198
  - AI-generated 3D scenes that remain editable TypeScript.
92
199
  - Browser 3D apps built with a stable SDK instead of improvised renderer glue.
93
200
  - Typed GLB/glTF product viewers, product configurators, and model showcases.
94
- - Browser-native games with playable routes, HUDs, input, evidence, tests, and deploy-ready output.
201
+ - Browser-native game prototypes with playable routes, HUDs, input, evidence, tests, and deploy-ready output. Public racing/platformer examples require the certified game-geometry layer described in `docs/project/aura3d-game-layer-rebuild-plan.md`.
95
202
  - Prompt-to-3D workflows for AI coding agents, Cursor, Claude, Codex, and other assistants.
96
203
  - WebGL/WebGPU-ready examples with maintained scene kits and diagnostics.
97
204
  - Vite 3D starter apps with route health, screenshot tests, and deploy checks.
@@ -453,9 +560,9 @@ Maintained scene-kit families include physics playgrounds, particle fountains, s
453
560
 
454
561
  ## Production browser 3D workflow
455
562
 
456
- Aura3D is built for the AI-assisted browser 3D era. It gives teams a source-code-first TypeScript workflow where agents generate maintainable scenes, game routes, product viewers, and deployable interactive websites.
563
+ Aura3D is built for the AI-assisted browser 3D era. It gives teams a source-code-first TypeScript workflow where agents generate maintainable scenes, game prototypes, product viewers, and deployable interactive websites.
457
564
 
458
- Aura3D combines scene kits, GLB/glTF asset typing, product viewers, browser-game runtime helpers, a believable-motion animation engine, physics scenes, particles, material labs, data worlds, route diagnostics, screenshot workflows, and static deployment into one agent-ready SDK.
565
+ Aura3D combines scene kits, GLB/glTF asset typing, product viewers, browser-game runtime helpers, a believable-motion animation engine, physics scenes, particles, material labs, data worlds, route diagnostics, screenshot workflows, and static deployment into one agent-ready SDK. Route-level game proofs are not public-quality game examples until visual review and game-geometry evidence pass.
459
566
 
460
567
  ## Documentation
461
568
 
@@ -501,7 +608,7 @@ Aura3D 1.1.0 game-engine/showcase readiness is stricter:
501
608
  pnpm aura3d110:readiness
502
609
  ```
503
610
 
504
- Expected current state — The scoped 1.3.3 gates pass.
611
+ Expected current state — The scoped package gates pass for the published 1.3.3 baseline, and the release-candidate showcase gate passes for six public examples while retaining two internal diagnostics and two prototype-blocked game routes outside the public path.
505
612
 
506
613
  ## Contributing
507
614
 
@@ -2742,6 +2742,7 @@ function serializeGLTFAsset(url, loaderDiagnostics, images, textures, materials,
2742
2742
  joints: mesh.joints.map((joint) => [...joint]),
2743
2743
  weights: mesh.weights.map((weight) => [...weight]),
2744
2744
  morphTargets: mesh.morphTargets.map((target) => ({
2745
+ ...(target.name ? { name: target.name } : {}),
2745
2746
  positions: target.positions.map((position) => [...position]),
2746
2747
  normals: target.normals.map((normal) => [...normal]),
2747
2748
  tangents: target.tangents.map((tangent) => [...tangent])