@aura3d/engine 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/README.md +49 -44
  2. package/dist/animation/AnimationClipEvents.d.ts +55 -0
  3. package/dist/animation/AnimationClipEvents.d.ts.map +1 -1
  4. package/dist/animation/AnimationClipEvents.js +136 -0
  5. package/dist/animation/AnimationClipEvents.js.map +1 -1
  6. package/dist/animation/AnimationClipRegistry.d.ts +9 -3
  7. package/dist/animation/AnimationClipRegistry.d.ts.map +1 -1
  8. package/dist/animation/AnimationClipRegistry.js +52 -5
  9. package/dist/animation/AnimationClipRegistry.js.map +1 -1
  10. package/dist/animation/AnimationController.d.ts +6 -6
  11. package/dist/animation/AnimationController.d.ts.map +1 -1
  12. package/dist/animation/AnimationController.js +3 -3
  13. package/dist/animation/AnimationController.js.map +1 -1
  14. package/dist/animation/AnimationMixer.d.ts +10 -0
  15. package/dist/animation/AnimationMixer.d.ts.map +1 -1
  16. package/dist/animation/AnimationMixer.js +35 -0
  17. package/dist/animation/AnimationMixer.js.map +1 -1
  18. package/dist/animation/AnimationStateGraph.d.ts +14 -5
  19. package/dist/animation/AnimationStateGraph.d.ts.map +1 -1
  20. package/dist/animation/AnimationStateGraph.js +25 -2
  21. package/dist/animation/AnimationStateGraph.js.map +1 -1
  22. package/dist/animation/AnimationStateMachine.d.ts +26 -0
  23. package/dist/animation/AnimationStateMachine.d.ts.map +1 -1
  24. package/dist/animation/AnimationStateMachine.js +32 -0
  25. package/dist/animation/AnimationStateMachine.js.map +1 -1
  26. package/dist/animation/Bone.d.ts +4 -0
  27. package/dist/animation/Bone.d.ts.map +1 -1
  28. package/dist/animation/Bone.js +3 -0
  29. package/dist/animation/Bone.js.map +1 -1
  30. package/dist/animation/FighterAnimationAdapter.d.ts +49 -0
  31. package/dist/animation/FighterAnimationAdapter.d.ts.map +1 -0
  32. package/dist/animation/FighterAnimationAdapter.js +71 -0
  33. package/dist/animation/FighterAnimationAdapter.js.map +1 -0
  34. package/dist/animation/FootIk.d.ts +77 -0
  35. package/dist/animation/FootIk.d.ts.map +1 -0
  36. package/dist/animation/FootIk.js +153 -0
  37. package/dist/animation/FootIk.js.map +1 -0
  38. package/dist/animation/HumanoidBoneInference.d.ts +61 -0
  39. package/dist/animation/HumanoidBoneInference.d.ts.map +1 -0
  40. package/dist/animation/HumanoidBoneInference.js +239 -0
  41. package/dist/animation/HumanoidBoneInference.js.map +1 -0
  42. package/dist/animation/HumanoidRetargeting.d.ts +48 -4
  43. package/dist/animation/HumanoidRetargeting.d.ts.map +1 -1
  44. package/dist/animation/HumanoidRetargeting.js +149 -14
  45. package/dist/animation/HumanoidRetargeting.js.map +1 -1
  46. package/dist/animation/IK.d.ts +5 -0
  47. package/dist/animation/IK.d.ts.map +1 -1
  48. package/dist/animation/IK.js +9 -0
  49. package/dist/animation/IK.js.map +1 -1
  50. package/dist/animation/Inertialization.d.ts +65 -0
  51. package/dist/animation/Inertialization.d.ts.map +1 -0
  52. package/dist/animation/Inertialization.js +211 -0
  53. package/dist/animation/Inertialization.js.map +1 -0
  54. package/dist/animation/LocomotionController.d.ts +5 -0
  55. package/dist/animation/LocomotionController.d.ts.map +1 -1
  56. package/dist/animation/LocomotionController.js +3 -0
  57. package/dist/animation/LocomotionController.js.map +1 -1
  58. package/dist/animation/LocomotionKit.d.ts +52 -0
  59. package/dist/animation/LocomotionKit.d.ts.map +1 -0
  60. package/dist/animation/LocomotionKit.js +38 -0
  61. package/dist/animation/LocomotionKit.js.map +1 -0
  62. package/dist/animation/MotionQuality.d.ts +3 -3
  63. package/dist/animation/MotionQuality.d.ts.map +1 -1
  64. package/dist/animation/MotionQuality.js +2 -2
  65. package/dist/animation/MotionQuality.js.map +1 -1
  66. package/dist/animation/RigQuality.d.ts +31 -0
  67. package/dist/animation/RigQuality.d.ts.map +1 -0
  68. package/dist/animation/RigQuality.js +70 -0
  69. package/dist/animation/RigQuality.js.map +1 -0
  70. package/dist/animation/SecondaryAnimationFixtures.d.ts.map +1 -1
  71. package/dist/animation/SecondaryAnimationFixtures.js +1 -3
  72. package/dist/animation/SecondaryAnimationFixtures.js.map +1 -1
  73. package/dist/animation/Skeleton.d.ts +16 -1
  74. package/dist/animation/Skeleton.d.ts.map +1 -1
  75. package/dist/animation/Skeleton.js +42 -0
  76. package/dist/animation/Skeleton.js.map +1 -1
  77. package/dist/animation/SpringBones.d.ts +60 -0
  78. package/dist/animation/SpringBones.d.ts.map +1 -0
  79. package/dist/animation/SpringBones.js +173 -0
  80. package/dist/animation/SpringBones.js.map +1 -0
  81. package/dist/animation/browser-index.d.ts +12 -3
  82. package/dist/animation/browser-index.d.ts.map +1 -1
  83. package/dist/animation/browser-index.js +11 -2
  84. package/dist/animation/browser-index.js.map +1 -1
  85. package/dist/animation/index.d.ts +11 -3
  86. package/dist/animation/index.d.ts.map +1 -1
  87. package/dist/animation/index.js +10 -2
  88. package/dist/animation/index.js.map +1 -1
  89. package/dist/animation/library/performanceStateGraph.d.ts +42 -0
  90. package/dist/animation/library/performanceStateGraph.d.ts.map +1 -0
  91. package/dist/animation/library/performanceStateGraph.js +101 -0
  92. package/dist/animation/library/performanceStateGraph.js.map +1 -0
  93. package/dist/animation/library/standardHumanoidClips.d.ts +27 -0
  94. package/dist/animation/library/standardHumanoidClips.d.ts.map +1 -0
  95. package/dist/animation/library/standardHumanoidClips.js +357 -0
  96. package/dist/animation/library/standardHumanoidClips.js.map +1 -0
  97. package/dist/assets/GLTFAnimationRuntime.d.ts +85 -0
  98. package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
  99. package/dist/assets/GLTFAnimationRuntime.js +143 -0
  100. package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
  101. package/dist/assets/GLTFAutoFit.d.ts +61 -0
  102. package/dist/assets/GLTFAutoFit.d.ts.map +1 -0
  103. package/dist/assets/GLTFAutoFit.js +77 -0
  104. package/dist/assets/GLTFAutoFit.js.map +1 -0
  105. package/dist/assets/GLTFLoader.d.ts +21 -0
  106. package/dist/assets/GLTFLoader.d.ts.map +1 -1
  107. package/dist/assets/GLTFLoader.js +60 -15
  108. package/dist/assets/GLTFLoader.js.map +1 -1
  109. package/dist/assets/GLTFRenderResources.d.ts +9 -1
  110. package/dist/assets/GLTFRenderResources.d.ts.map +1 -1
  111. package/dist/assets/GLTFRenderResources.js +93 -4
  112. package/dist/assets/GLTFRenderResources.js.map +1 -1
  113. package/dist/assets/browser-index.d.ts +6 -4
  114. package/dist/assets/browser-index.d.ts.map +1 -1
  115. package/dist/assets/browser-index.js +3 -2
  116. package/dist/assets/browser-index.js.map +1 -1
  117. package/dist/assets/index.d.ts +7 -5
  118. package/dist/assets/index.d.ts.map +1 -1
  119. package/dist/assets/index.js +4 -3
  120. package/dist/assets/index.js.map +1 -1
  121. package/dist/audio/AudioMixer.d.ts +3 -3
  122. package/dist/audio/AudioMixer.d.ts.map +1 -1
  123. package/dist/audio/AudioMixer.js +1 -1
  124. package/dist/audio/AudioMixer.js.map +1 -1
  125. package/dist/audio/index.d.ts +2 -2
  126. package/dist/audio/index.d.ts.map +1 -1
  127. package/dist/audio/index.js +1 -1
  128. package/dist/audio/index.js.map +1 -1
  129. package/dist/aura3d-cli/animation-asset-profiles.d.ts +15 -0
  130. package/dist/aura3d-cli/animation-asset-profiles.d.ts.map +1 -0
  131. package/dist/aura3d-cli/animation-asset-profiles.js +46 -0
  132. package/dist/aura3d-cli/animation-asset-profiles.js.map +1 -0
  133. package/dist/aura3d-cli/animation-asset-validator.d.ts +22 -0
  134. package/dist/aura3d-cli/animation-asset-validator.d.ts.map +1 -0
  135. package/dist/aura3d-cli/animation-asset-validator.js +49 -0
  136. package/dist/aura3d-cli/animation-asset-validator.js.map +1 -0
  137. package/dist/aura3d-cli/cli.js +40 -17
  138. package/dist/aura3d-cli/cli.js.map +1 -1
  139. package/dist/aura3d-cli/game-asset-validator.d.ts +4 -4
  140. package/dist/aura3d-cli/game-asset-validator.d.ts.map +1 -1
  141. package/dist/aura3d-cli/game-asset-validator.js +2 -2
  142. package/dist/aura3d-cli/game-asset-validator.js.map +1 -1
  143. package/dist/aura3d-cli/index.d.ts +32 -19
  144. package/dist/aura3d-cli/index.d.ts.map +1 -1
  145. package/dist/aura3d-cli/index.js +101 -68
  146. package/dist/aura3d-cli/index.js.map +1 -1
  147. package/dist/aura3d-cli/pull-bridge.d.ts +30 -4
  148. package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
  149. package/dist/aura3d-cli/pull-bridge.js +320 -51
  150. package/dist/aura3d-cli/pull-bridge.js.map +1 -1
  151. package/dist/create-aura3d/index.d.ts +1 -1
  152. package/dist/create-aura3d/index.d.ts.map +1 -1
  153. package/dist/create-aura3d/index.js +6 -4
  154. package/dist/create-aura3d/index.js.map +1 -1
  155. package/dist/editor-runtime/AnimationSceneEditor.d.ts +111 -0
  156. package/dist/editor-runtime/AnimationSceneEditor.d.ts.map +1 -0
  157. package/dist/editor-runtime/AnimationSceneEditor.js +285 -0
  158. package/dist/editor-runtime/AnimationSceneEditor.js.map +1 -0
  159. package/dist/editor-runtime/AssetDropZone.d.ts +9 -9
  160. package/dist/editor-runtime/AssetDropZone.d.ts.map +1 -1
  161. package/dist/editor-runtime/AssetDropZone.js +4 -4
  162. package/dist/editor-runtime/AssetDropZone.js.map +1 -1
  163. package/dist/editor-runtime/EventTrackEditor.d.ts +54 -0
  164. package/dist/editor-runtime/EventTrackEditor.d.ts.map +1 -0
  165. package/dist/editor-runtime/EventTrackEditor.js +124 -0
  166. package/dist/editor-runtime/EventTrackEditor.js.map +1 -0
  167. package/dist/editor-runtime/SceneOutliner.d.ts +3 -3
  168. package/dist/editor-runtime/SceneOutliner.d.ts.map +1 -1
  169. package/dist/editor-runtime/SceneOutliner.js.map +1 -1
  170. package/dist/editor-runtime/index.d.ts +5 -3
  171. package/dist/editor-runtime/index.d.ts.map +1 -1
  172. package/dist/editor-runtime/index.js +2 -1
  173. package/dist/editor-runtime/index.js.map +1 -1
  174. package/dist/engine/agent-api/AnimationAssetManifest.d.ts +50 -0
  175. package/dist/engine/agent-api/AnimationAssetManifest.d.ts.map +1 -0
  176. package/dist/engine/agent-api/AnimationAssetManifest.js +65 -0
  177. package/dist/engine/agent-api/AnimationAssetManifest.js.map +1 -0
  178. package/dist/engine/agent-api/AnimationDirector.d.ts +120 -0
  179. package/dist/engine/agent-api/AnimationDirector.d.ts.map +1 -0
  180. package/dist/engine/agent-api/AnimationDirector.js +432 -0
  181. package/dist/engine/agent-api/AnimationDirector.js.map +1 -0
  182. package/dist/engine/agent-api/AnimationEpisodePackage.d.ts +51 -0
  183. package/dist/engine/agent-api/AnimationEpisodePackage.d.ts.map +1 -0
  184. package/dist/engine/agent-api/AnimationEpisodePackage.js +79 -0
  185. package/dist/engine/agent-api/AnimationEpisodePackage.js.map +1 -0
  186. package/dist/engine/agent-api/AnimationMotionQuality.d.ts +83 -0
  187. package/dist/engine/agent-api/AnimationMotionQuality.d.ts.map +1 -0
  188. package/dist/engine/agent-api/AnimationMotionQuality.js +128 -0
  189. package/dist/engine/agent-api/AnimationMotionQuality.js.map +1 -0
  190. package/dist/engine/agent-api/AnimationPerformance.d.ts +150 -0
  191. package/dist/engine/agent-api/AnimationPerformance.d.ts.map +1 -0
  192. package/dist/engine/agent-api/AnimationPerformance.js +345 -0
  193. package/dist/engine/agent-api/AnimationPerformance.js.map +1 -0
  194. package/dist/engine/agent-api/AnimationRenderQueue.d.ts +143 -0
  195. package/dist/engine/agent-api/AnimationRenderQueue.d.ts.map +1 -0
  196. package/dist/engine/agent-api/AnimationRenderQueue.js +410 -0
  197. package/dist/engine/agent-api/AnimationRenderQueue.js.map +1 -0
  198. package/dist/engine/agent-api/AnimationRouteProof.d.ts +112 -0
  199. package/dist/engine/agent-api/AnimationRouteProof.d.ts.map +1 -0
  200. package/dist/engine/agent-api/AnimationRouteProof.js +127 -0
  201. package/dist/engine/agent-api/AnimationRouteProof.js.map +1 -0
  202. package/dist/engine/agent-api/AssetLibraryBrowser.d.ts +6 -6
  203. package/dist/engine/agent-api/AssetLibraryBrowser.d.ts.map +1 -1
  204. package/dist/engine/agent-api/AssetLibraryBrowser.js +6 -6
  205. package/dist/engine/agent-api/AssetLibraryBrowser.js.map +1 -1
  206. package/dist/engine/agent-api/AuraVoiceBridge.d.ts +7 -7
  207. package/dist/engine/agent-api/AuraVoiceBridge.d.ts.map +1 -1
  208. package/dist/engine/agent-api/AuraVoiceBridge.js +5 -5
  209. package/dist/engine/agent-api/AuraVoiceBridge.js.map +1 -1
  210. package/dist/engine/agent-api/BatchEpisodeRenderer.d.ts +5 -5
  211. package/dist/engine/agent-api/BatchEpisodeRenderer.d.ts.map +1 -1
  212. package/dist/engine/agent-api/BatchEpisodeRenderer.js.map +1 -1
  213. package/dist/engine/agent-api/BodyLanguageLibrary.d.ts +3 -3
  214. package/dist/engine/agent-api/BodyLanguageLibrary.d.ts.map +1 -1
  215. package/dist/engine/agent-api/BodyLanguageLibrary.js.map +1 -1
  216. package/dist/engine/agent-api/BrowserFrameCaptureAdapter.d.ts +4 -4
  217. package/dist/engine/agent-api/BrowserFrameCaptureAdapter.d.ts.map +1 -1
  218. package/dist/engine/agent-api/BrowserFrameCaptureAdapter.js +2 -2
  219. package/dist/engine/agent-api/BrowserFrameCaptureAdapter.js.map +1 -1
  220. package/dist/engine/agent-api/CharacterAssembly.d.ts +2 -2
  221. package/dist/engine/agent-api/CharacterAssembly.d.ts.map +1 -1
  222. package/dist/engine/agent-api/CloudRenderAdapter.d.ts +4 -4
  223. package/dist/engine/agent-api/CloudRenderAdapter.d.ts.map +1 -1
  224. package/dist/engine/agent-api/FfmpegFrameEncoder.d.ts +129 -0
  225. package/dist/engine/agent-api/FfmpegFrameEncoder.d.ts.map +1 -0
  226. package/dist/engine/agent-api/FfmpegFrameEncoder.js +306 -0
  227. package/dist/engine/agent-api/FfmpegFrameEncoder.js.map +1 -0
  228. package/dist/engine/agent-api/FrameEncoder.d.ts +5 -5
  229. package/dist/engine/agent-api/FrameEncoder.d.ts.map +1 -1
  230. package/dist/engine/agent-api/GameAssetValidation.d.ts +1 -1
  231. package/dist/engine/agent-api/GameAssetValidation.d.ts.map +1 -1
  232. package/dist/engine/agent-api/MediaRecorderFrameEncoder.d.ts.map +1 -1
  233. package/dist/engine/agent-api/MediaRecorderFrameEncoder.js +7 -2
  234. package/dist/engine/agent-api/MediaRecorderFrameEncoder.js.map +1 -1
  235. package/dist/engine/agent-api/PerformanceBlender.d.ts +5 -5
  236. package/dist/engine/agent-api/PerformanceBlender.d.ts.map +1 -1
  237. package/dist/engine/agent-api/PerformanceBlender.js.map +1 -1
  238. package/dist/engine/agent-api/PerformanceCaptureSession.d.ts +5 -5
  239. package/dist/engine/agent-api/PerformanceCaptureSession.d.ts.map +1 -1
  240. package/dist/engine/agent-api/PerformanceCaptureSession.js +2 -2
  241. package/dist/engine/agent-api/PerformanceCaptureSession.js.map +1 -1
  242. package/dist/engine/agent-api/PerformancePoseEditor.d.ts +8 -8
  243. package/dist/engine/agent-api/PerformancePoseEditor.d.ts.map +1 -1
  244. package/dist/engine/agent-api/PerformancePoseEditor.js.map +1 -1
  245. package/dist/engine/agent-api/PngSequenceEncoder.d.ts +4 -4
  246. package/dist/engine/agent-api/PngSequenceEncoder.d.ts.map +1 -1
  247. package/dist/engine/agent-api/PromptAnimationContract.d.ts +2 -2
  248. package/dist/engine/agent-api/PromptAnimationContract.d.ts.map +1 -1
  249. package/dist/engine/agent-api/PromptAnimationEvidence.d.ts +2 -2
  250. package/dist/engine/agent-api/PromptAnimationEvidence.d.ts.map +1 -1
  251. package/dist/engine/agent-api/PublishingPipeline.d.ts +3 -3
  252. package/dist/engine/agent-api/PublishingPipeline.d.ts.map +1 -1
  253. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +2 -0
  254. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts.map +1 -1
  255. package/dist/engine/agent-api/RuntimeNodeHandle.js.map +1 -1
  256. package/dist/engine/agent-api/SceneGroundingUtils.d.ts +73 -0
  257. package/dist/engine/agent-api/SceneGroundingUtils.d.ts.map +1 -0
  258. package/dist/engine/agent-api/SceneGroundingUtils.js +74 -0
  259. package/dist/engine/agent-api/SceneGroundingUtils.js.map +1 -0
  260. package/dist/engine/agent-api/ShotTimeline.d.ts +3 -3
  261. package/dist/engine/agent-api/ShotTimeline.d.ts.map +1 -1
  262. package/dist/engine/agent-api/ShotTimeline.js.map +1 -1
  263. package/dist/engine/agent-api/ThumbnailGenerator.d.ts +4 -4
  264. package/dist/engine/agent-api/ThumbnailGenerator.d.ts.map +1 -1
  265. package/dist/engine/agent-api/ThumbnailGenerator.js.map +1 -1
  266. package/dist/engine/agent-api/VideoExportPipeline.d.ts +9 -9
  267. package/dist/engine/agent-api/VideoExportPipeline.d.ts.map +1 -1
  268. package/dist/engine/agent-api/VideoExportPipeline.js.map +1 -1
  269. package/dist/engine/agent-api/VisemeController.d.ts +12 -0
  270. package/dist/engine/agent-api/VisemeController.d.ts.map +1 -1
  271. package/dist/engine/agent-api/VisemeController.js +23 -0
  272. package/dist/engine/agent-api/VisemeController.js.map +1 -1
  273. package/dist/engine/agent-api/YouTubeMetadataGenerator.d.ts +2 -2
  274. package/dist/engine/agent-api/YouTubeMetadataGenerator.d.ts.map +1 -1
  275. package/dist/engine/agent-api/YouTubeMetadataGenerator.js +1 -1
  276. package/dist/engine/agent-api/YouTubeMetadataGenerator.js.map +1 -1
  277. package/dist/engine/agent-api/humanoid-walk-runtime.d.ts +1 -1
  278. package/dist/engine/agent-api/index.d.ts +43 -38
  279. package/dist/engine/agent-api/index.d.ts.map +1 -1
  280. package/dist/engine/agent-api/index.js +42 -28
  281. package/dist/engine/agent-api/index.js.map +1 -1
  282. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  283. package/dist/engine/animation-studio/animation-episode-validator.d.ts +24 -0
  284. package/dist/engine/animation-studio/animation-episode-validator.d.ts.map +1 -0
  285. package/dist/engine/animation-studio/animation-episode-validator.js +74 -0
  286. package/dist/engine/animation-studio/animation-episode-validator.js.map +1 -0
  287. package/dist/engine/animation-studio/director-heuristics.d.ts +73 -0
  288. package/dist/engine/animation-studio/director-heuristics.d.ts.map +1 -0
  289. package/dist/engine/animation-studio/director-heuristics.js +149 -0
  290. package/dist/engine/animation-studio/director-heuristics.js.map +1 -0
  291. package/dist/engine/animation-studio/episode-document.d.ts +214 -0
  292. package/dist/engine/animation-studio/episode-document.d.ts.map +1 -0
  293. package/dist/engine/animation-studio/episode-document.js +143 -0
  294. package/dist/engine/animation-studio/episode-document.js.map +1 -0
  295. package/dist/engine/animation-studio/index.d.ts +20 -0
  296. package/dist/engine/animation-studio/index.d.ts.map +1 -0
  297. package/dist/engine/animation-studio/index.js +20 -0
  298. package/dist/engine/animation-studio/index.js.map +1 -0
  299. package/dist/engine/animation-studio/scene-tools.d.ts +34 -0
  300. package/dist/engine/animation-studio/scene-tools.d.ts.map +1 -0
  301. package/dist/engine/animation-studio/scene-tools.js +95 -0
  302. package/dist/engine/animation-studio/scene-tools.js.map +1 -0
  303. package/dist/engine/index.d.ts +2 -2
  304. package/dist/engine/index.d.ts.map +1 -1
  305. package/dist/engine/index.js +1 -1
  306. package/dist/engine/index.js.map +1 -1
  307. package/dist/engine/production-runtime/TypedGLBActor.d.ts +13 -1
  308. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  309. package/dist/engine/production-runtime/TypedGLBActor.js +8 -0
  310. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  311. package/dist/physics/Raycast.d.ts +17 -0
  312. package/dist/physics/Raycast.d.ts.map +1 -1
  313. package/dist/physics/Raycast.js +16 -0
  314. package/dist/physics/Raycast.js.map +1 -1
  315. package/dist/rendering/ForwardPass.js +18 -13
  316. package/dist/rendering/ForwardPass.js.map +1 -1
  317. package/dist/rendering/MorphTargetPlan.d.ts +42 -0
  318. package/dist/rendering/MorphTargetPlan.d.ts.map +1 -0
  319. package/dist/rendering/MorphTargetPlan.js +129 -0
  320. package/dist/rendering/MorphTargetPlan.js.map +1 -0
  321. package/dist/rendering/MorphUnlitMaterial.d.ts.map +1 -1
  322. package/dist/rendering/MorphUnlitMaterial.js +7 -1
  323. package/dist/rendering/MorphUnlitMaterial.js.map +1 -1
  324. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  325. package/dist/rendering/ShaderLibrary.js +34 -6
  326. package/dist/rendering/ShaderLibrary.js.map +1 -1
  327. package/dist/rendering/WebGPUDevice.d.ts +2 -0
  328. package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
  329. package/dist/rendering/WebGPUDevice.js +69 -12
  330. package/dist/rendering/WebGPUDevice.js.map +1 -1
  331. package/dist/rendering/animation/AnimationMaterialStyle.d.ts +19 -0
  332. package/dist/rendering/animation/AnimationMaterialStyle.d.ts.map +1 -0
  333. package/dist/rendering/animation/AnimationMaterialStyle.js +13 -0
  334. package/dist/rendering/animation/AnimationMaterialStyle.js.map +1 -0
  335. package/dist/rendering/animation/AnimationRenderPreset.d.ts +36 -0
  336. package/dist/rendering/animation/AnimationRenderPreset.d.ts.map +1 -0
  337. package/dist/rendering/animation/AnimationRenderPreset.js +23 -0
  338. package/dist/rendering/animation/AnimationRenderPreset.js.map +1 -0
  339. package/dist/rendering/animation/AnimationToonMaterial.d.ts +130 -0
  340. package/dist/rendering/animation/AnimationToonMaterial.d.ts.map +1 -0
  341. package/dist/rendering/animation/AnimationToonMaterial.js +303 -0
  342. package/dist/rendering/animation/AnimationToonMaterial.js.map +1 -0
  343. package/dist/rendering/animation/AnimationVisualQuality.d.ts +28 -0
  344. package/dist/rendering/animation/AnimationVisualQuality.d.ts.map +1 -0
  345. package/dist/rendering/animation/AnimationVisualQuality.js +39 -0
  346. package/dist/rendering/animation/AnimationVisualQuality.js.map +1 -0
  347. package/dist/rendering/animation/applyAnimationRenderPreset.d.ts +79 -0
  348. package/dist/rendering/animation/applyAnimationRenderPreset.d.ts.map +1 -0
  349. package/dist/rendering/animation/applyAnimationRenderPreset.js +88 -0
  350. package/dist/rendering/animation/applyAnimationRenderPreset.js.map +1 -0
  351. package/dist/rendering/animation/index.d.ts +6 -0
  352. package/dist/rendering/animation/index.d.ts.map +1 -0
  353. package/dist/rendering/animation/index.js +6 -0
  354. package/dist/rendering/animation/index.js.map +1 -0
  355. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts +130 -0
  356. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts.map +1 -0
  357. package/dist/rendering/cartoon/CartoonToonMaterial.js +303 -0
  358. package/dist/rendering/cartoon/CartoonToonMaterial.js.map +1 -0
  359. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts +79 -0
  360. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts.map +1 -0
  361. package/dist/rendering/cartoon/applyCartoonRenderPreset.js +88 -0
  362. package/dist/rendering/cartoon/applyCartoonRenderPreset.js.map +1 -0
  363. package/dist/rendering/cartoon/index.d.ts +2 -0
  364. package/dist/rendering/cartoon/index.d.ts.map +1 -1
  365. package/dist/rendering/cartoon/index.js +2 -0
  366. package/dist/rendering/cartoon/index.js.map +1 -1
  367. package/dist/rendering/index.d.ts +4 -2
  368. package/dist/rendering/index.d.ts.map +1 -1
  369. package/dist/rendering/index.js +3 -2
  370. package/dist/rendering/index.js.map +1 -1
  371. package/dist/scripting/AnimationNodeCategories.d.ts +3 -0
  372. package/dist/scripting/AnimationNodeCategories.d.ts.map +1 -0
  373. package/dist/scripting/AnimationNodeCategories.js +9 -0
  374. package/dist/scripting/AnimationNodeCategories.js.map +1 -0
  375. package/dist/scripting/AnimationVisualNodes.d.ts +3 -0
  376. package/dist/scripting/AnimationVisualNodes.d.ts.map +1 -0
  377. package/dist/scripting/AnimationVisualNodes.js +41 -0
  378. package/dist/scripting/AnimationVisualNodes.js.map +1 -0
  379. package/dist/scripting/VisualGraphExecutor.js +24 -24
  380. package/dist/scripting/VisualGraphExecutor.js.map +1 -1
  381. package/dist/scripting/VisualNodeCatalog.js +2 -2
  382. package/dist/scripting/VisualNodeCatalog.js.map +1 -1
  383. package/dist/scripting/index.d.ts +3 -3
  384. package/dist/scripting/index.d.ts.map +1 -1
  385. package/dist/scripting/index.js +2 -2
  386. package/dist/scripting/index.js.map +1 -1
  387. package/package.json +150 -126
package/README.md CHANGED
@@ -15,15 +15,21 @@ Use Aura3D when you are building agent-written browser 3D apps, prompt-authored
15
15
 
16
16
  ## Current release
17
17
 
18
- `@aura3d/engine@1.0.10` is the current public release for browser-native game routes, visible GLB animation runtime evidence, prompt-cartoon playback, AuraVoice timing packages, typed assets, diagnostics, screenshots, and readiness evidence. The root engine runtime remains free of Three.js imports; Three.js migration support lives in the separately installed `@aura3d/three-compat` package.
18
+ `@aura3d/engine@1.3.0` is the prepared release. 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.
19
19
 
20
- Aura3D 1.0.10 is a runtime foundation release, not a mature commercial game engine release. The scoped 1.0.10 gates pass for npm packages, CLI/catalog profile behavior, deployed Aura Clash runtime proof, docs/claims, and performance evidence.
20
+ Animation Engine (in 1.3.0): `@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
21
 
22
- Registry status: npm `latest` points at `@aura3d/engine@1.0.10`, `@aura3d/asset-index@1.0.10`, `@aura3d/cli@1.0.10`, and `create-aura3d@1.0.10`, so the `npx ...@latest` commands below work for external users.
22
+ Believable-Motion (in 1.3.0): `@aura3d/animation` adds **critically-damped, momentum-preserving state transitions** (a drop-in replacement for the linear crossfade across the mixer, state machine, locomotion kit, and Aura Clash move swaps — motion carries through instead of dissolving), runtime two-bone **foot IK with a foot-lock** that grounds feet on uneven terrain and keeps a planted foot from sliding, **spring-bone secondary dynamics** for weighty body/accessory motion, and **animation event tracks** (named lanes of typed markers — hitbox active-frames, footsteps, VFX — with a browser editor authoring lane). `@aura3d/rendering` gains a **texture-backed morph-target path** that lifts the old 4-target/64-vertex GPU cap for real facial blendshape rigs, **morphs normals so lighting follows the deformation**, and a first-class `node.morphInfluence(name, weight)` API with **viseme-driven lip-sync**, plus **WebGPU character skinning at 96-joint parity** with WebGL2. The deployed **Aura Clash** arena now runs these live — critically-damped move transitions, foot-IK foot-lock with footsteps, spring body-sway, and authored clip-event hit/footstep/VFX frames — with deterministic combat replay still stable. Each feature is gate-backed (`pnpm animation-engine:believable-motion`) and documented in `docs/animation/believable-motion.md`.
23
23
 
24
- ## Aura3D 1.0.10 asset catalog
24
+ The **Animation Studio** turns a natural-language prompt into a deterministic, rendered animated short: a generated **EpisodeDocument** (cast/set/dialogue/blocking/camera) played by a generic renderer, directed by your own coding agent through a validated Scene-Tool CLI (no bundled LLM), with a shared retargeted motion library, speech-duration caption timing, a 10-gate quality suite, a web studio app, and silent WebM export (AuraVoice owns the voice). Scaffold it with `npx create-aura3d@latest my-app --template animation-studio`; full docs in [`docs/animation-studio/`](docs/animation-studio/README.md).
25
25
 
26
- Aura3D 1.0.10 includes the catalog-first asset workflow for AI coding agents. When a prompt names a real object, agents should search the hosted Aura3D catalog before writing scene code:
26
+ 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
+
28
+ Registry status: npm `latest` currently serves the 1.1.x line (`@aura3d/engine`, `@aura3d/asset-index`, `@aura3d/cli`, `create-aura3d`). The 1.3.0 work above is prepared in this repo and publish-pending; the `animation-studio` / `character-controller` templates and the new APIs ship to `npx ...@latest` users once the next version is published.
29
+
30
+ ## Aura3D 1.1.0 asset catalog
31
+
32
+ Aura3D 1.1.0 includes the catalog-first asset workflow for AI coding agents. When a prompt names a real object, agents should search the hosted Aura3D catalog before writing scene code:
27
33
 
28
34
  ```bash
29
35
  npx @aura3d/cli@latest assets search "battle-worn knight helmet"
@@ -41,16 +47,16 @@ npx @aura3d/cli@latest assets validate-game --profile fighting-character --asset
41
47
  ```
42
48
 
43
49
  `--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`.
44
- ## Aura3D 1.0.10 runtime launch track
50
+ ## Aura3D 1.1.0 runtime launch track
45
51
 
46
- Aura3D 1.0.10 is the active runtime and animation evidence foundation for the next public showcase wave:
52
+ Aura3D 1.1.0 is the active runtime and animation evidence foundation for the next public showcase wave:
47
53
 
48
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.
49
55
  - `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(...)`.
50
- - `prompt animation`: `npx create-aura3d@latest my-episode --template prompt-cartoon-channel` scaffolds structured episode plans, storyboards, shot timelines, captions, visemes, render queues, and evidence for prompt-authored cartoon/video workflows. The shorter `cartoon-channel` template name remains supported.
56
+ - `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.
51
57
  - `AuraVoice bridge`: AuraVoice owns script/audio/caption/viseme timing; Aura3D owns typed scene generation, character performance, camera choreography, rendering, screenshots, and visual evidence.
52
58
 
53
- Aura Clash requires Aura3D 1.0.10 runtime and animation evidence before it should be marketed as a polished public game showcase. Until the runtime, screenshot, route, GLB, package-smoke, and visual approval gates pass, Aura Clash remains a development showcase proving the direction of the public API.
59
+ Aura Clash requires Aura3D 1.1.0 runtime and animation evidence before it should be marketed as a polished public game showcase. Until the runtime, screenshot, route, GLB, package-smoke, and visual approval gates pass, Aura Clash remains a development showcase proving the direction of the public API.
54
60
 
55
61
  ## Install
56
62
 
@@ -95,7 +101,7 @@ import { createAuraApp, sceneKits } from "@aura3d/engine";
95
101
 
96
102
  Aura Clash Arena is the active Aura3D game-runtime proof target: a 1v1 browser arena-fighter development showcase built with `@aura3d/engine` public APIs.
97
103
 
98
- The current showcase proves selected runtime mechanics, but it is not yet a flagship-quality game and must not be used as proof that Aura3D is comparable to Unity, Unreal, Babylon.js, or a mature commercial game engine.
104
+ The showcase proves Aura3D's runtime, animation, and combat systems end to end on a live, deterministic route — built with starter-grade fighter assets so it stays focused on the engine rather than the art.
99
105
 
100
106
  The showcase currently targets:
101
107
 
@@ -106,38 +112,34 @@ The showcase currently targets:
106
112
  - arcade movement, hitboxes, guard state, meter, AI pressure, and results;
107
113
  - evidence routes, accessibility settings, poster capture, Playwright contracts, sitemap and robots integration, and marketing homepage placement.
108
114
 
109
- Open the source route at `apps/aura-clash-showcase/`. Treat the current route as a development showcase until the 1.0.10 gameplay, visual, asset, audio, performance, deployment, and docs-claim gates pass.
115
+ Open the source route at `apps/aura-clash-showcase/`. Treat the current route as a development showcase until the 1.1.0 gameplay, visual, asset, audio, performance, deployment, and docs-claim gates pass.
110
116
 
111
- ## Aura3D 1.1 Cartoon Studio roadmap
117
+ ## Animation Studio — prompt → rendered short
112
118
 
113
- Aura3D 1.1 is the planned cartoon-production release track. Its goal is to turn the existing prompt-animation, AuraVoice timing, typed-asset, shot-timeline, caption, viseme, render-queue, and evidence contracts into a real browser-native episode pipeline.
114
-
115
- The intended 1.1 workflow is:
119
+ The **Animation Studio** turns a natural-language prompt into a deterministic, rendered animated short. Scene intelligence lives in a generated, validated **EpisodeDocument** (cast, set, dialogue, blocking, camera); a generic player renders it with zero per-scene code. The director is **your own coding agent** (Claude Code / Codex / Cursor) driving a validated **Scene-Tool CLI** — no bundled LLM, no API key.
116
120
 
117
121
  ```bash
118
- npx create-aura3d@latest moon-garden --template cartoon-studio
119
- cd moon-garden
120
- npx @aura3d/cli@latest assets resolve "stylized rigged cartoon child robot" --name miko --profile cartoon-character
121
- npx @aura3d/cli@latest assets resolve "stylized rigged cartoon helper robot" --name luma --profile cartoon-character
122
- npx @aura3d/cli@latest assets resolve "stylized moon garden set" --name moonGarden --profile cartoon-set
123
- npx @aura3d/cli@latest assets validate-cartoon --require-license --no-placeholders
124
- npm run episode:plan
125
- npm run episode:preview
126
- npm run episode:render
127
- npm run episode:package
128
- npm run episode:review
122
+ npx create-aura3d@latest my-studio --template animation-studio
123
+ cd my-studio && pnpm install
124
+ pnpm scene new --prompt "two office workers arguing about a deadline" --full
125
+ AURA_QUALITY=final pnpm episode:render-3d # → a silent 1080p .webm
129
126
  ```
130
127
 
131
- The 1.1 target output is a package folder with a playable video file, thumbnail, captions, metadata, route proof, typed asset provenance, render manifest, visual acceptance report, and human review package. The planned flagship example is a short Moon Garden Helpers episode with two typed characters and one typed set.
128
+ A prompt drives the whole document: cast (parsed from the prompt, bound to curated A-grade humanoid rigs), set (keyword-routed interiors/outdoors — **never a moon-garden default**), dialogue (agent-authored or synthesized, timed by speech duration), camera, and blocking with velocity-gated locomotion (legs cycle only while actually moving). A web studio (`apps/animation-studio-web`) gives the agent a 3-pane NLE shell + live previews and runs real validated Scene-Tool commands.
129
+
130
+ Audio boundary (firm): Aura3D renders **silent video by design** and never does TTS — it emits the timed dialogue/caption/viseme track, and **AuraVoice** owns the script, narration, TTS, and voice mux. The commercial wedge is **repeatable family-safe short episodes from a cast + set library**; see `docs/project/go-to-market-strategy.md`.
132
131
 
133
- This is not a promise of Pixar-quality automatic animation, full Blender/Maya/Unity/Unreal studio parity, or magic image-to-video. A generated still image with CSS wobble, pan, zoom, shake, subtitles, or fake parallax is not Aura3D cartoon proof. The 1.1 release gate must reject still-image puppet output unless it is used as a negative regression fixture.
132
+ Built for fast, repeatable, agent-directed shorts — a proven, deterministic pipeline with prompt-specific scenes, a clean stylized look out of the box, and the upgrade path to photoreal characters via your own rigged GLB (`cast add --file`). Integrity is built in: a still image with CSS wobble/pan/subtitles is not Aura3D animation, and the quality suite rejects stiff or lip-only output.
134
133
 
135
134
  See:
136
135
 
137
- - `docs/project/aura3d-1.1-cartoon-studio-prd.md`
138
- - `docs/examples/cartoon-studio.md`
139
- - `docs/workflows/cartoon-episode-production.md`
140
- - `docs/rendering/cartoon-render-preset.md`
136
+ - [`docs/animation-studio/quickstart.md`](docs/animation-studio/quickstart.md) — 5-minute prompt → render → edit
137
+ - [`docs/animation-studio/README.md`](docs/animation-studio/README.md) — overview + architecture
138
+ - [`docs/animation-studio/guide.md`](docs/animation-studio/guide.md) — CLI, EpisodeDocument, motion, dialogue, rendering
139
+ - [`docs/animation-studio/studio-app.md`](docs/animation-studio/studio-app.md) — the web studio app
140
+ - [`docs/animation-studio/quality-and-limitations.md`](docs/animation-studio/quality-and-limitations.md) — quality gates + the honest ceiling
141
+ - [`docs/api/auravoice-bridge.md`](docs/api/auravoice-bridge.md) — the voice/timing handoff
142
+ - `docs/project/go-to-market-strategy.md` — use cases + monetization
141
143
 
142
144
  ## 30-second product viewer
143
145
 
@@ -155,7 +157,7 @@ createAuraApp("#app", {
155
157
 
156
158
  The safe API uses generated refs such as `assets.robot`. Do not write `model("robot")`, hand-written GLB URLs, or invented asset ids.
157
159
 
158
- ## Aura3D 1.0.10 game runtime example
160
+ ## Aura3D 1.1.0 game runtime example
159
161
 
160
162
  Add typed assets before writing model code:
161
163
 
@@ -280,9 +282,9 @@ const evidence = app.evidence({
280
282
  console.log(touchLayout.controls.length, replayDriver.snapshot(), overlay.sections, evidence.systems);
281
283
  ```
282
284
 
283
- ## Aura3D 1.0.10 prompt-cartoon and AuraVoice example
285
+ ## Aura3D 1.1.0 prompt-animation and AuraVoice example
284
286
 
285
- Prompt-cartoon routes use typed assets, contract artifacts, shot playback, captions, visemes, and AuraVoice timing packages.
287
+ Prompt-animation routes use typed assets, contract artifacts, shot playback, captions, visemes, and AuraVoice timing packages.
286
288
 
287
289
  ```ts
288
290
  import {
@@ -292,7 +294,7 @@ import {
292
294
  createAuraApp,
293
295
  createAuraVoiceBridgePackage,
294
296
  createAuraVoiceVisemeTrack,
295
- createCartoonRenderOutputPackageMetadata,
297
+ createAnimationRenderOutputPackageMetadata,
296
298
  createGlbBlendshapeVisemeCue,
297
299
  createPrimitiveMouthVisemeCues,
298
300
  createShotPlaybackPlan,
@@ -360,7 +362,7 @@ const audioStems = createAudioStemManifest({
360
362
  }))
361
363
  });
362
364
 
363
- const renderOutputPackage = createCartoonRenderOutputPackageMetadata({
365
+ const renderOutputPackage = createAnimationRenderOutputPackageMetadata({
364
366
  episodePlan: plan.episodePlan,
365
367
  shotTimeline: plan.shotTimeline,
366
368
  renderQueue: plan.renderQueue
@@ -416,7 +418,7 @@ const readiness = evaluatePromptAnimationPublishReadiness(evidence);
416
418
  console.log(bridgeIssues, evidence.publishReady, readiness.ready);
417
419
  ```
418
420
 
419
- Do not publish placeholder screenshot hashes. Deterministic render output must replace the placeholder before a prompt-cartoon or AuraVoice route is called publish-ready.
421
+ Do not publish placeholder screenshot hashes. Deterministic render output must replace the placeholder before a prompt-animation or AuraVoice route is called publish-ready.
420
422
 
421
423
  ## Prompt-to-3D scene kits
422
424
 
@@ -453,14 +455,17 @@ Maintained scene-kit families include physics playgrounds, particle fountains, s
453
455
 
454
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.
455
457
 
456
- Aura3D combines scene kits, GLB/glTF asset typing, product viewers, browser-game runtime helpers, physics scenes, particles, material labs, data worlds, route diagnostics, screenshot workflows, and static deployment into one agent-ready SDK. It does not currently claim Unity, Unreal, Babylon.js, or full commercial game-engine parity.
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.
457
459
 
458
460
  ## Documentation
459
461
 
462
+ - **Build a browser game (end-to-end guide):** [docs/guides/build-a-browser-game.md](docs/guides/build-a-browser-game.md) — ties together scaffolding, typed assets, runtime nodes, input, movement, combat, the full 1.3 animation stack, camera/effects/HUD/audio/a11y, evidence, and deploy in one walkthrough.
460
463
  - Agent manual: [docs/agents/README.md](docs/agents/README.md)
461
464
  - Agent quickstart: [docs/agents/agent-quickstart.md](docs/agents/agent-quickstart.md)
462
465
  - Prompt-to-3D workflow: [docs/agents/prompt-to-3d-workflow.md](docs/agents/prompt-to-3d-workflow.md)
463
466
  - Asset workflow: [docs/agents/asset-workflow.md](docs/agents/asset-workflow.md)
467
+ - Game runtime API reference: [docs/api/game-runtime.md](docs/api/game-runtime.md)
468
+ - Believable-motion (1.3) animation runtimes: [docs/animation/believable-motion.md](docs/animation/believable-motion.md)
464
469
  - Prompt recipes: [docs/agents/benchmark-recipes.md](docs/agents/benchmark-recipes.md)
465
470
  - Public API: [docs/api/public-api.md](docs/api/public-api.md)
466
471
 
@@ -472,11 +477,11 @@ pnpm run check:release
472
477
 
473
478
  Use release checks to confirm package integrity, generated assets, examples, and static deployment output before shipping.
474
479
 
475
- Aura3D 1.0.10 route-specific readiness commands:
480
+ Aura3D 1.1.0 route-specific readiness commands:
476
481
 
477
482
  ```bash
478
483
  npx @aura3d/cli@latest assets validate-game
479
- npx @aura3d/cli@latest assets validate-cartoon
484
+ npx @aura3d/cli@latest assets validate-animation
480
485
  npx @aura3d/cli@latest check-deploy --dist dist
481
486
  pnpm game-runtime:docs
482
487
  pnpm game-runtime:template
@@ -488,15 +493,15 @@ pnpm prompt-animation:package
488
493
  pnpm prompt-animation:release
489
494
  ```
490
495
 
491
- Do not mark a game, prompt-cartoon, or AuraVoice route launch-ready from source evidence alone. Asset readiness, package smoke, browser route health, deterministic screenshots, visual review, accessibility proof, and deployment checks must also pass.
496
+ Do not mark a game, prompt-animation, or AuraVoice route launch-ready from source evidence alone. Asset readiness, package smoke, browser route health, deterministic screenshots, visual review, accessibility proof, and deployment checks must also pass.
492
497
 
493
- Aura3D 1.0.10 game-engine/showcase readiness is stricter:
498
+ Aura3D 1.1.0 game-engine/showcase readiness is stricter:
494
499
 
495
500
  ```bash
496
501
  pnpm aura3d110:readiness
497
502
  ```
498
503
 
499
- Expected current state: the scoped 1.0.10 release gates pass. The remaining mature-engine and flagship-game work stays tracked as future scope in `docs/project/aura3d-110-release-gates.md`.
504
+ Expected current state — The scoped 1.3.0 gates pass.
500
505
 
501
506
  ## Contributing
502
507
 
@@ -54,4 +54,59 @@ export declare function animationClipEventKey(clipId: string, event: AnimationCl
54
54
  export declare function sampleClipEvents<TEvent extends AnimationClipEvent, TClipId extends string = string>(source: AnimationClipEventSource<TEvent> & {
55
55
  readonly id: TClipId;
56
56
  }, options: AnimationClipEventSamplingOptions): AnimationClipEventInvocation<TEvent, TClipId>[];
57
+ export interface AnimationEventTrack<TEvent extends AnimationClipEvent = AnimationClipEvent> {
58
+ readonly name: string;
59
+ readonly type: AnimationClipEventType;
60
+ readonly markers: readonly TEvent[];
61
+ }
62
+ export interface SerializedAnimationEventTracks<TEvent extends AnimationClipEvent = AnimationClipEvent> {
63
+ readonly schema: "animation-event-tracks/v1";
64
+ readonly clipId: string;
65
+ readonly duration: number;
66
+ readonly tracks: readonly AnimationEventTrack<TEvent>[];
67
+ }
68
+ export interface ActiveWindow {
69
+ readonly start: number;
70
+ readonly end: number;
71
+ }
72
+ export interface AddMarkerOptions<TPayload = unknown> {
73
+ readonly id?: string;
74
+ readonly type?: AnimationClipEventType;
75
+ /** Window length (seconds). >0 makes this an active-frame marker (e.g. hitbox on/off). */
76
+ readonly duration?: number;
77
+ readonly payload?: TPayload;
78
+ readonly once?: boolean;
79
+ readonly tags?: readonly string[];
80
+ }
81
+ /**
82
+ * Authoring container for clip event tracks: add/move/delete typed markers on named lanes, query
83
+ * active-frame windows, flatten to the existing `AnimationClipEventSource`, and serialize. Pure and
84
+ * deterministic — marker ids are assigned from a monotonic counter (no `Date.now`/`Math.random`).
85
+ */
86
+ export declare class AnimationEventTrackContainer {
87
+ readonly clipId: string;
88
+ duration: number;
89
+ private readonly trackOrder;
90
+ private readonly trackMap;
91
+ private idCounter;
92
+ constructor(clipId: string, duration: number);
93
+ addTrack(name: string, type?: AnimationClipEventType): this;
94
+ removeTrack(name: string): this;
95
+ /** Add a marker to a track (auto-creates the track). Returns the marker id. */
96
+ addMarker(trackName: string, time: number, options?: AddMarkerOptions): string;
97
+ moveMarker(trackName: string, markerId: string, time: number): this;
98
+ removeMarker(trackName: string, markerId: string): this;
99
+ track(name: string): AnimationEventTrack | undefined;
100
+ tracks(): readonly AnimationEventTrack[];
101
+ markerCount(): number;
102
+ /** Flatten every track's markers into the source shape `sampleClipEvents` consumes. */
103
+ toEventSource(): AnimationClipEventSource;
104
+ /** Active-frame windows for a track: [time, time+duration] for each marker with a duration. */
105
+ activeWindows(trackName: string): readonly ActiveWindow[];
106
+ /** Whether any active-frame window on a track is open at `time` (hitbox live). */
107
+ isActive(trackName: string, time: number): boolean;
108
+ serialize(): SerializedAnimationEventTracks;
109
+ }
110
+ export declare function createAnimationEventTracks(clipId: string, duration: number): AnimationEventTrackContainer;
111
+ export declare function deserializeAnimationEventTracks(data: SerializedAnimationEventTracks): AnimationEventTrackContainer;
57
112
  //# sourceMappingURL=AnimationClipEvents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationClipEvents.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationClipEvents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnimationClipEvents.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationClipEvents.ts"],"names":[],"mappings":"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"}
@@ -168,4 +168,140 @@ function positiveModulo(value, divisor) {
168
168
  function clamp(value, min, max) {
169
169
  return Math.min(max, Math.max(min, value));
170
170
  }
171
+ /**
172
+ * Authoring container for clip event tracks: add/move/delete typed markers on named lanes, query
173
+ * active-frame windows, flatten to the existing `AnimationClipEventSource`, and serialize. Pure and
174
+ * deterministic — marker ids are assigned from a monotonic counter (no `Date.now`/`Math.random`).
175
+ */
176
+ export class AnimationEventTrackContainer {
177
+ clipId;
178
+ duration;
179
+ trackOrder = [];
180
+ trackMap = new Map();
181
+ idCounter = 0;
182
+ constructor(clipId, duration) {
183
+ if (!Number.isFinite(duration) || duration < 0) {
184
+ throw new Error("Event-track clip duration must be a finite, non-negative number.");
185
+ }
186
+ this.clipId = clipId;
187
+ this.duration = duration;
188
+ }
189
+ addTrack(name, type = "marker") {
190
+ if (!this.trackMap.has(name)) {
191
+ this.trackMap.set(name, { type, markers: [] });
192
+ this.trackOrder.push(name);
193
+ }
194
+ return this;
195
+ }
196
+ removeTrack(name) {
197
+ if (this.trackMap.delete(name)) {
198
+ this.trackOrder.splice(this.trackOrder.indexOf(name), 1);
199
+ }
200
+ return this;
201
+ }
202
+ /** Add a marker to a track (auto-creates the track). Returns the marker id. */
203
+ addMarker(trackName, time, options = {}) {
204
+ if (!Number.isFinite(time) || time < 0) {
205
+ throw new Error("Event marker time must be a finite, non-negative number.");
206
+ }
207
+ this.addTrack(trackName, options.type);
208
+ const track = this.trackMap.get(trackName);
209
+ const id = options.id ?? `${trackName}#${this.idCounter++}`;
210
+ const marker = {
211
+ id,
212
+ name: trackName,
213
+ type: options.type ?? track.type,
214
+ time,
215
+ ...(options.duration !== undefined ? { duration: options.duration } : {}),
216
+ ...(options.payload !== undefined ? { payload: options.payload } : {}),
217
+ ...(options.once !== undefined ? { once: options.once } : {}),
218
+ ...(options.tags !== undefined ? { tags: options.tags } : {})
219
+ };
220
+ track.markers.push(marker);
221
+ track.markers.sort((a, b) => a.time - b.time);
222
+ return id;
223
+ }
224
+ moveMarker(trackName, markerId, time) {
225
+ if (!Number.isFinite(time) || time < 0) {
226
+ throw new Error("Event marker time must be a finite, non-negative number.");
227
+ }
228
+ const track = this.trackMap.get(trackName);
229
+ const index = track?.markers.findIndex((m) => m.id === markerId) ?? -1;
230
+ if (!track || index < 0)
231
+ throw new Error(`Marker ${markerId} not found on track ${trackName}.`);
232
+ track.markers[index] = { ...track.markers[index], time };
233
+ track.markers.sort((a, b) => a.time - b.time);
234
+ return this;
235
+ }
236
+ removeMarker(trackName, markerId) {
237
+ const track = this.trackMap.get(trackName);
238
+ if (!track)
239
+ return this;
240
+ const index = track.markers.findIndex((m) => m.id === markerId);
241
+ if (index >= 0)
242
+ track.markers.splice(index, 1);
243
+ return this;
244
+ }
245
+ track(name) {
246
+ const track = this.trackMap.get(name);
247
+ return track ? { name, type: track.type, markers: [...track.markers] } : undefined;
248
+ }
249
+ tracks() {
250
+ return this.trackOrder.map((name) => this.track(name));
251
+ }
252
+ markerCount() {
253
+ let count = 0;
254
+ for (const track of this.trackMap.values())
255
+ count += track.markers.length;
256
+ return count;
257
+ }
258
+ /** Flatten every track's markers into the source shape `sampleClipEvents` consumes. */
259
+ toEventSource() {
260
+ const events = [];
261
+ for (const name of this.trackOrder)
262
+ events.push(...this.trackMap.get(name).markers);
263
+ return { id: this.clipId, duration: this.duration, events: normalizeClipEvents(events) };
264
+ }
265
+ /** Active-frame windows for a track: [time, time+duration] for each marker with a duration. */
266
+ activeWindows(trackName) {
267
+ const track = this.trackMap.get(trackName);
268
+ if (!track)
269
+ return [];
270
+ return track.markers
271
+ .filter((m) => (m.duration ?? 0) > 0)
272
+ .map((m) => ({ start: m.time, end: m.time + (m.duration ?? 0) }));
273
+ }
274
+ /** Whether any active-frame window on a track is open at `time` (hitbox live). */
275
+ isActive(trackName, time) {
276
+ return this.activeWindows(trackName).some((w) => time >= w.start && time < w.end);
277
+ }
278
+ serialize() {
279
+ return {
280
+ schema: "animation-event-tracks/v1",
281
+ clipId: this.clipId,
282
+ duration: this.duration,
283
+ tracks: this.tracks()
284
+ };
285
+ }
286
+ }
287
+ export function createAnimationEventTracks(clipId, duration) {
288
+ return new AnimationEventTrackContainer(clipId, duration);
289
+ }
290
+ export function deserializeAnimationEventTracks(data) {
291
+ const container = new AnimationEventTrackContainer(data.clipId, data.duration);
292
+ for (const track of data.tracks) {
293
+ container.addTrack(track.name, track.type);
294
+ for (const marker of track.markers) {
295
+ container.addMarker(track.name, marker.time, {
296
+ id: marker.id,
297
+ type: marker.type,
298
+ ...(marker.duration !== undefined ? { duration: marker.duration } : {}),
299
+ ...(marker.payload !== undefined ? { payload: marker.payload } : {}),
300
+ ...(marker.once !== undefined ? { once: marker.once } : {}),
301
+ ...(marker.tags !== undefined ? { tags: marker.tags } : {})
302
+ });
303
+ }
304
+ }
305
+ return container;
306
+ }
171
307
  //# sourceMappingURL=AnimationClipEvents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationClipEvents.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationClipEvents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnimationClipEvents.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationClipEvents.ts"],"names":[],"mappings":"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"}
@@ -51,13 +51,13 @@ export interface AnimationClipRegistryDiagnostic<TClipId extends string = string
51
51
  readonly message: string;
52
52
  readonly clipId?: TClipId;
53
53
  }
54
- export interface CartoonClipMapReadinessOptions<TClipId extends string = string> {
54
+ export interface AnimationClipMapReadinessOptions<TClipId extends string = string> {
55
55
  readonly requiredActions?: readonly string[] | undefined;
56
56
  readonly clipMap: Readonly<Record<string, TClipId | readonly TClipId[] | undefined>>;
57
57
  readonly aliases?: Readonly<Record<string, string>> | undefined;
58
58
  readonly segmentedFallbackDeclared?: boolean | undefined;
59
59
  }
60
- export interface CartoonClipMapReadiness<TClipId extends string = string> {
60
+ export interface AnimationClipMapReadiness<TClipId extends string = string> {
61
61
  readonly ok: boolean;
62
62
  readonly segmentedFallbackDeclared: boolean;
63
63
  readonly requiredActions: readonly string[];
@@ -88,5 +88,11 @@ export declare class AnimationClipRegistry<TClipId extends string = string, TEve
88
88
  diagnose(): readonly AnimationClipRegistryDiagnostic<TClipId>[];
89
89
  }
90
90
  export declare function createAnimationClipRegistry<TClipId extends string = string, TEvent extends AnimationClipEvent = AnimationClipEvent, TPose = unknown>(clips?: readonly AnimationClipDefinition<TClipId, TEvent, TPose>[], options?: AnimationClipRegistryOptions): AnimationClipRegistry<TClipId, TEvent, TPose>;
91
- export declare function validateCartoonClipMap<TClipId extends string = string, TEvent extends AnimationClipEvent = AnimationClipEvent, TPose = unknown>(registry: AnimationClipRegistry<TClipId, TEvent, TPose>, options: CartoonClipMapReadinessOptions<TClipId>): CartoonClipMapReadiness<TClipId>;
91
+ export declare function validateAnimationClipMap<TClipId extends string = string, TEvent extends AnimationClipEvent = AnimationClipEvent, TPose = unknown>(registry: AnimationClipRegistry<TClipId, TEvent, TPose>, options: AnimationClipMapReadinessOptions<TClipId>): AnimationClipMapReadiness<TClipId>;
92
+ /**
93
+ * Generic (non-animation) clip-map readiness validator for locomotion / fighter / Animation Studio
94
+ * clip sets. Same readiness shape as {@link validateAnimationClipMap} but with neutral diagnostic
95
+ * codes and a configurable required-action set (defaults to a locomotion set).
96
+ */
97
+ export declare function validateAnimationStudioClipMap<TClipId extends string = string, TEvent extends AnimationClipEvent = AnimationClipEvent, TPose = unknown>(registry: AnimationClipRegistry<TClipId, TEvent, TPose>, options: AnimationClipMapReadinessOptions<TClipId>): AnimationClipMapReadiness<TClipId>;
92
98
  //# sourceMappingURL=AnimationClipRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationClipRegistry.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationClipRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnimationClipRegistry.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationClipRegistry.ts"],"names":[],"mappings":"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"}