@aura3d/engine 1.0.10 → 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 (533) hide show
  1. package/README.md +59 -23
  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 +22 -0
  7. package/dist/animation/AnimationClipRegistry.d.ts.map +1 -1
  8. package/dist/animation/AnimationClipRegistry.js +89 -0
  9. package/dist/animation/AnimationClipRegistry.js.map +1 -1
  10. package/dist/animation/AnimationController.d.ts +14 -0
  11. package/dist/animation/AnimationController.d.ts.map +1 -1
  12. package/dist/animation/AnimationController.js +21 -0
  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 +20 -1
  19. package/dist/animation/AnimationStateGraph.d.ts.map +1 -1
  20. package/dist/animation/AnimationStateGraph.js +73 -1
  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 +57 -0
  43. package/dist/animation/HumanoidRetargeting.d.ts.map +1 -1
  44. package/dist/animation/HumanoidRetargeting.js +184 -6
  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 +6 -0
  63. package/dist/animation/MotionQuality.d.ts.map +1 -1
  64. package/dist/animation/MotionQuality.js +16 -0
  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/AudioBus.d.ts +2 -0
  122. package/dist/audio/AudioBus.d.ts.map +1 -1
  123. package/dist/audio/AudioBus.js +6 -0
  124. package/dist/audio/AudioBus.js.map +1 -1
  125. package/dist/audio/AudioFileManager.d.ts +23 -0
  126. package/dist/audio/AudioFileManager.d.ts.map +1 -1
  127. package/dist/audio/AudioFileManager.js +60 -0
  128. package/dist/audio/AudioFileManager.js.map +1 -1
  129. package/dist/audio/AudioMixer.d.ts +43 -0
  130. package/dist/audio/AudioMixer.d.ts.map +1 -1
  131. package/dist/audio/AudioMixer.js +43 -0
  132. package/dist/audio/AudioMixer.js.map +1 -1
  133. package/dist/audio/AudioTimelineTrack.d.ts +25 -0
  134. package/dist/audio/AudioTimelineTrack.d.ts.map +1 -1
  135. package/dist/audio/AudioTimelineTrack.js +59 -0
  136. package/dist/audio/AudioTimelineTrack.js.map +1 -1
  137. package/dist/audio/AudioWaveform.d.ts +22 -0
  138. package/dist/audio/AudioWaveform.d.ts.map +1 -1
  139. package/dist/audio/AudioWaveform.js +18 -0
  140. package/dist/audio/AudioWaveform.js.map +1 -1
  141. package/dist/audio/index.d.ts +8 -7
  142. package/dist/audio/index.d.ts.map +1 -1
  143. package/dist/audio/index.js +4 -4
  144. package/dist/audio/index.js.map +1 -1
  145. package/dist/aura3d-cli/animation-asset-profiles.d.ts +15 -0
  146. package/dist/aura3d-cli/animation-asset-profiles.d.ts.map +1 -0
  147. package/dist/aura3d-cli/animation-asset-profiles.js +46 -0
  148. package/dist/aura3d-cli/animation-asset-profiles.js.map +1 -0
  149. package/dist/aura3d-cli/animation-asset-validator.d.ts +22 -0
  150. package/dist/aura3d-cli/animation-asset-validator.d.ts.map +1 -0
  151. package/dist/aura3d-cli/animation-asset-validator.js +49 -0
  152. package/dist/aura3d-cli/animation-asset-validator.js.map +1 -0
  153. package/dist/aura3d-cli/cartoon-asset-profiles.d.ts +1 -0
  154. package/dist/aura3d-cli/cartoon-asset-profiles.d.ts.map +1 -1
  155. package/dist/aura3d-cli/cartoon-asset-profiles.js +8 -4
  156. package/dist/aura3d-cli/cartoon-asset-profiles.js.map +1 -1
  157. package/dist/aura3d-cli/cli.js +78 -9
  158. package/dist/aura3d-cli/cli.js.map +1 -1
  159. package/dist/aura3d-cli/game-asset-validator.d.ts +4 -4
  160. package/dist/aura3d-cli/game-asset-validator.d.ts.map +1 -1
  161. package/dist/aura3d-cli/game-asset-validator.js +2 -2
  162. package/dist/aura3d-cli/game-asset-validator.js.map +1 -1
  163. package/dist/aura3d-cli/index.d.ts +69 -8
  164. package/dist/aura3d-cli/index.d.ts.map +1 -1
  165. package/dist/aura3d-cli/index.js +261 -17
  166. package/dist/aura3d-cli/index.js.map +1 -1
  167. package/dist/aura3d-cli/pull-bridge.d.ts +30 -4
  168. package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
  169. package/dist/aura3d-cli/pull-bridge.js +320 -51
  170. package/dist/aura3d-cli/pull-bridge.js.map +1 -1
  171. package/dist/create-aura3d/index.d.ts +1 -1
  172. package/dist/create-aura3d/index.d.ts.map +1 -1
  173. package/dist/create-aura3d/index.js +6 -4
  174. package/dist/create-aura3d/index.js.map +1 -1
  175. package/dist/editor-runtime/AnimationSceneEditor.d.ts +111 -0
  176. package/dist/editor-runtime/AnimationSceneEditor.d.ts.map +1 -0
  177. package/dist/editor-runtime/AnimationSceneEditor.js +285 -0
  178. package/dist/editor-runtime/AnimationSceneEditor.js.map +1 -0
  179. package/dist/editor-runtime/AssetDropZone.d.ts +10 -8
  180. package/dist/editor-runtime/AssetDropZone.d.ts.map +1 -1
  181. package/dist/editor-runtime/AssetDropZone.js +14 -0
  182. package/dist/editor-runtime/AssetDropZone.js.map +1 -1
  183. package/dist/editor-runtime/CameraPathEditor.d.ts +48 -0
  184. package/dist/editor-runtime/CameraPathEditor.d.ts.map +1 -0
  185. package/dist/editor-runtime/CameraPathEditor.js +181 -0
  186. package/dist/editor-runtime/CameraPathEditor.js.map +1 -0
  187. package/dist/editor-runtime/CartoonSceneEditor.d.ts +24 -0
  188. package/dist/editor-runtime/CartoonSceneEditor.d.ts.map +1 -1
  189. package/dist/editor-runtime/CartoonSceneEditor.js +35 -2
  190. package/dist/editor-runtime/CartoonSceneEditor.js.map +1 -1
  191. package/dist/editor-runtime/EpisodeReviewPanel.d.ts +67 -0
  192. package/dist/editor-runtime/EpisodeReviewPanel.d.ts.map +1 -0
  193. package/dist/editor-runtime/EpisodeReviewPanel.js +162 -0
  194. package/dist/editor-runtime/EpisodeReviewPanel.js.map +1 -0
  195. package/dist/editor-runtime/EventTrackEditor.d.ts +54 -0
  196. package/dist/editor-runtime/EventTrackEditor.d.ts.map +1 -0
  197. package/dist/editor-runtime/EventTrackEditor.js +124 -0
  198. package/dist/editor-runtime/EventTrackEditor.js.map +1 -0
  199. package/dist/editor-runtime/MultiUserReviewWorkflow.d.ts +77 -0
  200. package/dist/editor-runtime/MultiUserReviewWorkflow.d.ts.map +1 -0
  201. package/dist/editor-runtime/MultiUserReviewWorkflow.js +162 -0
  202. package/dist/editor-runtime/MultiUserReviewWorkflow.js.map +1 -0
  203. package/dist/editor-runtime/NonlinearAnimationEditor.d.ts +81 -0
  204. package/dist/editor-runtime/NonlinearAnimationEditor.d.ts.map +1 -0
  205. package/dist/editor-runtime/NonlinearAnimationEditor.js +180 -0
  206. package/dist/editor-runtime/NonlinearAnimationEditor.js.map +1 -0
  207. package/dist/editor-runtime/RenderQueuePanel.d.ts +38 -0
  208. package/dist/editor-runtime/RenderQueuePanel.d.ts.map +1 -0
  209. package/dist/editor-runtime/RenderQueuePanel.js +72 -0
  210. package/dist/editor-runtime/RenderQueuePanel.js.map +1 -0
  211. package/dist/editor-runtime/SceneOutliner.d.ts +3 -3
  212. package/dist/editor-runtime/SceneOutliner.d.ts.map +1 -1
  213. package/dist/editor-runtime/SceneOutliner.js.map +1 -1
  214. package/dist/editor-runtime/TimelineEditorController.d.ts +10 -0
  215. package/dist/editor-runtime/TimelineEditorController.d.ts.map +1 -1
  216. package/dist/editor-runtime/TimelineEditorController.js +28 -3
  217. package/dist/editor-runtime/TimelineEditorController.js.map +1 -1
  218. package/dist/editor-runtime/TimelineUI.d.ts.map +1 -1
  219. package/dist/editor-runtime/TimelineUI.js +5 -0
  220. package/dist/editor-runtime/TimelineUI.js.map +1 -1
  221. package/dist/editor-runtime/VisualReviewDashboard.d.ts +43 -0
  222. package/dist/editor-runtime/VisualReviewDashboard.d.ts.map +1 -0
  223. package/dist/editor-runtime/VisualReviewDashboard.js +47 -0
  224. package/dist/editor-runtime/VisualReviewDashboard.js.map +1 -0
  225. package/dist/editor-runtime/index.d.ts +18 -4
  226. package/dist/editor-runtime/index.d.ts.map +1 -1
  227. package/dist/editor-runtime/index.js +8 -1
  228. package/dist/editor-runtime/index.js.map +1 -1
  229. package/dist/engine/agent-api/AnimationAssetManifest.d.ts +50 -0
  230. package/dist/engine/agent-api/AnimationAssetManifest.d.ts.map +1 -0
  231. package/dist/engine/agent-api/AnimationAssetManifest.js +65 -0
  232. package/dist/engine/agent-api/AnimationAssetManifest.js.map +1 -0
  233. package/dist/engine/agent-api/AnimationDirector.d.ts +120 -0
  234. package/dist/engine/agent-api/AnimationDirector.d.ts.map +1 -0
  235. package/dist/engine/agent-api/AnimationDirector.js +432 -0
  236. package/dist/engine/agent-api/AnimationDirector.js.map +1 -0
  237. package/dist/engine/agent-api/AnimationEpisodePackage.d.ts +51 -0
  238. package/dist/engine/agent-api/AnimationEpisodePackage.d.ts.map +1 -0
  239. package/dist/engine/agent-api/AnimationEpisodePackage.js +79 -0
  240. package/dist/engine/agent-api/AnimationEpisodePackage.js.map +1 -0
  241. package/dist/engine/agent-api/AnimationMotionQuality.d.ts +83 -0
  242. package/dist/engine/agent-api/AnimationMotionQuality.d.ts.map +1 -0
  243. package/dist/engine/agent-api/AnimationMotionQuality.js +128 -0
  244. package/dist/engine/agent-api/AnimationMotionQuality.js.map +1 -0
  245. package/dist/engine/agent-api/AnimationPerformance.d.ts +150 -0
  246. package/dist/engine/agent-api/AnimationPerformance.d.ts.map +1 -0
  247. package/dist/engine/agent-api/AnimationPerformance.js +345 -0
  248. package/dist/engine/agent-api/AnimationPerformance.js.map +1 -0
  249. package/dist/engine/agent-api/AnimationRenderQueue.d.ts +143 -0
  250. package/dist/engine/agent-api/AnimationRenderQueue.d.ts.map +1 -0
  251. package/dist/engine/agent-api/AnimationRenderQueue.js +410 -0
  252. package/dist/engine/agent-api/AnimationRenderQueue.js.map +1 -0
  253. package/dist/engine/agent-api/AnimationRouteProof.d.ts +112 -0
  254. package/dist/engine/agent-api/AnimationRouteProof.d.ts.map +1 -0
  255. package/dist/engine/agent-api/AnimationRouteProof.js +127 -0
  256. package/dist/engine/agent-api/AnimationRouteProof.js.map +1 -0
  257. package/dist/engine/agent-api/AssetLibraryBrowser.d.ts +43 -5
  258. package/dist/engine/agent-api/AssetLibraryBrowser.d.ts.map +1 -1
  259. package/dist/engine/agent-api/AssetLibraryBrowser.js +56 -4
  260. package/dist/engine/agent-api/AssetLibraryBrowser.js.map +1 -1
  261. package/dist/engine/agent-api/AudioMuxer.d.ts +4 -0
  262. package/dist/engine/agent-api/AudioMuxer.d.ts.map +1 -1
  263. package/dist/engine/agent-api/AudioMuxer.js +6 -0
  264. package/dist/engine/agent-api/AudioMuxer.js.map +1 -1
  265. package/dist/engine/agent-api/AudioVisemeAnalyzer.d.ts +4 -0
  266. package/dist/engine/agent-api/AudioVisemeAnalyzer.d.ts.map +1 -1
  267. package/dist/engine/agent-api/AudioVisemeAnalyzer.js +3 -0
  268. package/dist/engine/agent-api/AudioVisemeAnalyzer.js.map +1 -1
  269. package/dist/engine/agent-api/AuraVoiceBridge.d.ts +7 -7
  270. package/dist/engine/agent-api/AuraVoiceBridge.d.ts.map +1 -1
  271. package/dist/engine/agent-api/AuraVoiceBridge.js +5 -5
  272. package/dist/engine/agent-api/AuraVoiceBridge.js.map +1 -1
  273. package/dist/engine/agent-api/BatchEpisodeRenderer.d.ts +31 -0
  274. package/dist/engine/agent-api/BatchEpisodeRenderer.d.ts.map +1 -0
  275. package/dist/engine/agent-api/BatchEpisodeRenderer.js +20 -0
  276. package/dist/engine/agent-api/BatchEpisodeRenderer.js.map +1 -0
  277. package/dist/engine/agent-api/BodyLanguageLibrary.d.ts +3 -3
  278. package/dist/engine/agent-api/BodyLanguageLibrary.d.ts.map +1 -1
  279. package/dist/engine/agent-api/BodyLanguageLibrary.js.map +1 -1
  280. package/dist/engine/agent-api/BrowserFrameCaptureAdapter.d.ts +65 -0
  281. package/dist/engine/agent-api/BrowserFrameCaptureAdapter.d.ts.map +1 -0
  282. package/dist/engine/agent-api/BrowserFrameCaptureAdapter.js +42 -0
  283. package/dist/engine/agent-api/BrowserFrameCaptureAdapter.js.map +1 -0
  284. package/dist/engine/agent-api/CameraPresetLibrary.d.ts +1 -1
  285. package/dist/engine/agent-api/CameraPresetLibrary.d.ts.map +1 -1
  286. package/dist/engine/agent-api/CameraPresetLibrary.js +18 -0
  287. package/dist/engine/agent-api/CameraPresetLibrary.js.map +1 -1
  288. package/dist/engine/agent-api/CaptionExporter.d.ts +5 -1
  289. package/dist/engine/agent-api/CaptionExporter.d.ts.map +1 -1
  290. package/dist/engine/agent-api/CaptionExporter.js +18 -3
  291. package/dist/engine/agent-api/CaptionExporter.js.map +1 -1
  292. package/dist/engine/agent-api/CartoonAssetManifest.d.ts +19 -1
  293. package/dist/engine/agent-api/CartoonAssetManifest.d.ts.map +1 -1
  294. package/dist/engine/agent-api/CartoonAssetManifest.js +62 -1
  295. package/dist/engine/agent-api/CartoonAssetManifest.js.map +1 -1
  296. package/dist/engine/agent-api/CartoonDirector.d.ts +26 -1
  297. package/dist/engine/agent-api/CartoonDirector.d.ts.map +1 -1
  298. package/dist/engine/agent-api/CartoonDirector.js +92 -2
  299. package/dist/engine/agent-api/CartoonDirector.js.map +1 -1
  300. package/dist/engine/agent-api/CartoonEpisodePackage.d.ts +51 -0
  301. package/dist/engine/agent-api/CartoonEpisodePackage.d.ts.map +1 -0
  302. package/dist/engine/agent-api/CartoonEpisodePackage.js +79 -0
  303. package/dist/engine/agent-api/CartoonEpisodePackage.js.map +1 -0
  304. package/dist/engine/agent-api/CartoonMotionQuality.d.ts +83 -0
  305. package/dist/engine/agent-api/CartoonMotionQuality.d.ts.map +1 -0
  306. package/dist/engine/agent-api/CartoonMotionQuality.js +128 -0
  307. package/dist/engine/agent-api/CartoonMotionQuality.js.map +1 -0
  308. package/dist/engine/agent-api/CartoonPerformance.d.ts +1 -0
  309. package/dist/engine/agent-api/CartoonPerformance.d.ts.map +1 -1
  310. package/dist/engine/agent-api/CartoonPerformance.js +28 -0
  311. package/dist/engine/agent-api/CartoonPerformance.js.map +1 -1
  312. package/dist/engine/agent-api/CartoonRenderQueue.d.ts +11 -0
  313. package/dist/engine/agent-api/CartoonRenderQueue.d.ts.map +1 -1
  314. package/dist/engine/agent-api/CartoonRenderQueue.js +25 -0
  315. package/dist/engine/agent-api/CartoonRenderQueue.js.map +1 -1
  316. package/dist/engine/agent-api/CartoonRouteProof.d.ts +112 -0
  317. package/dist/engine/agent-api/CartoonRouteProof.d.ts.map +1 -0
  318. package/dist/engine/agent-api/CartoonRouteProof.js +127 -0
  319. package/dist/engine/agent-api/CartoonRouteProof.js.map +1 -0
  320. package/dist/engine/agent-api/CharacterAssembly.d.ts +2 -2
  321. package/dist/engine/agent-api/CharacterAssembly.d.ts.map +1 -1
  322. package/dist/engine/agent-api/CloudRenderAdapter.d.ts +55 -0
  323. package/dist/engine/agent-api/CloudRenderAdapter.d.ts.map +1 -0
  324. package/dist/engine/agent-api/CloudRenderAdapter.js +75 -0
  325. package/dist/engine/agent-api/CloudRenderAdapter.js.map +1 -0
  326. package/dist/engine/agent-api/ExternalPhonemeAnalyzer.d.ts +54 -0
  327. package/dist/engine/agent-api/ExternalPhonemeAnalyzer.d.ts.map +1 -0
  328. package/dist/engine/agent-api/ExternalPhonemeAnalyzer.js +107 -0
  329. package/dist/engine/agent-api/ExternalPhonemeAnalyzer.js.map +1 -0
  330. package/dist/engine/agent-api/FfmpegFrameEncoder.d.ts +129 -0
  331. package/dist/engine/agent-api/FfmpegFrameEncoder.d.ts.map +1 -0
  332. package/dist/engine/agent-api/FfmpegFrameEncoder.js +306 -0
  333. package/dist/engine/agent-api/FfmpegFrameEncoder.js.map +1 -0
  334. package/dist/engine/agent-api/FrameEncoder.d.ts +23 -6
  335. package/dist/engine/agent-api/FrameEncoder.d.ts.map +1 -1
  336. package/dist/engine/agent-api/FrameEncoder.js +14 -0
  337. package/dist/engine/agent-api/FrameEncoder.js.map +1 -1
  338. package/dist/engine/agent-api/GameAssetValidation.d.ts +1 -1
  339. package/dist/engine/agent-api/GameAssetValidation.d.ts.map +1 -1
  340. package/dist/engine/agent-api/MediaRecorderFrameEncoder.d.ts +19 -0
  341. package/dist/engine/agent-api/MediaRecorderFrameEncoder.d.ts.map +1 -0
  342. package/dist/engine/agent-api/MediaRecorderFrameEncoder.js +79 -0
  343. package/dist/engine/agent-api/MediaRecorderFrameEncoder.js.map +1 -0
  344. package/dist/engine/agent-api/PerformanceBlender.d.ts +23 -4
  345. package/dist/engine/agent-api/PerformanceBlender.d.ts.map +1 -1
  346. package/dist/engine/agent-api/PerformanceBlender.js +33 -0
  347. package/dist/engine/agent-api/PerformanceBlender.js.map +1 -1
  348. package/dist/engine/agent-api/PerformanceCaptureSession.d.ts +65 -0
  349. package/dist/engine/agent-api/PerformanceCaptureSession.d.ts.map +1 -0
  350. package/dist/engine/agent-api/PerformanceCaptureSession.js +131 -0
  351. package/dist/engine/agent-api/PerformanceCaptureSession.js.map +1 -0
  352. package/dist/engine/agent-api/PerformancePoseEditor.d.ts +8 -8
  353. package/dist/engine/agent-api/PerformancePoseEditor.d.ts.map +1 -1
  354. package/dist/engine/agent-api/PerformancePoseEditor.js.map +1 -1
  355. package/dist/engine/agent-api/PngSequenceEncoder.d.ts +34 -0
  356. package/dist/engine/agent-api/PngSequenceEncoder.d.ts.map +1 -0
  357. package/dist/engine/agent-api/PngSequenceEncoder.js +75 -0
  358. package/dist/engine/agent-api/PngSequenceEncoder.js.map +1 -0
  359. package/dist/engine/agent-api/PromptAnimationContract.d.ts +27 -2
  360. package/dist/engine/agent-api/PromptAnimationContract.d.ts.map +1 -1
  361. package/dist/engine/agent-api/PromptAnimationContract.js +60 -1
  362. package/dist/engine/agent-api/PromptAnimationContract.js.map +1 -1
  363. package/dist/engine/agent-api/PromptAnimationEvidence.d.ts +2 -2
  364. package/dist/engine/agent-api/PromptAnimationEvidence.d.ts.map +1 -1
  365. package/dist/engine/agent-api/PublishingPipeline.d.ts +8 -3
  366. package/dist/engine/agent-api/PublishingPipeline.d.ts.map +1 -1
  367. package/dist/engine/agent-api/PublishingPipeline.js +17 -3
  368. package/dist/engine/agent-api/PublishingPipeline.js.map +1 -1
  369. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +2 -0
  370. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts.map +1 -1
  371. package/dist/engine/agent-api/RuntimeNodeHandle.js.map +1 -1
  372. package/dist/engine/agent-api/SceneGroundingUtils.d.ts +73 -0
  373. package/dist/engine/agent-api/SceneGroundingUtils.d.ts.map +1 -0
  374. package/dist/engine/agent-api/SceneGroundingUtils.js +74 -0
  375. package/dist/engine/agent-api/SceneGroundingUtils.js.map +1 -0
  376. package/dist/engine/agent-api/SceneSequencer.d.ts +13 -0
  377. package/dist/engine/agent-api/SceneSequencer.d.ts.map +1 -1
  378. package/dist/engine/agent-api/SceneSequencer.js +40 -0
  379. package/dist/engine/agent-api/SceneSequencer.js.map +1 -1
  380. package/dist/engine/agent-api/ShotTimeline.d.ts +3 -3
  381. package/dist/engine/agent-api/ShotTimeline.d.ts.map +1 -1
  382. package/dist/engine/agent-api/ShotTimeline.js.map +1 -1
  383. package/dist/engine/agent-api/ThumbnailGenerator.d.ts +4 -4
  384. package/dist/engine/agent-api/ThumbnailGenerator.d.ts.map +1 -1
  385. package/dist/engine/agent-api/ThumbnailGenerator.js.map +1 -1
  386. package/dist/engine/agent-api/VideoExportPipeline.d.ts +23 -9
  387. package/dist/engine/agent-api/VideoExportPipeline.d.ts.map +1 -1
  388. package/dist/engine/agent-api/VideoExportPipeline.js +32 -1
  389. package/dist/engine/agent-api/VideoExportPipeline.js.map +1 -1
  390. package/dist/engine/agent-api/VisemeController.d.ts +12 -0
  391. package/dist/engine/agent-api/VisemeController.d.ts.map +1 -1
  392. package/dist/engine/agent-api/VisemeController.js +23 -0
  393. package/dist/engine/agent-api/VisemeController.js.map +1 -1
  394. package/dist/engine/agent-api/WebCodecsFrameEncoder.d.ts +21 -0
  395. package/dist/engine/agent-api/WebCodecsFrameEncoder.d.ts.map +1 -0
  396. package/dist/engine/agent-api/WebCodecsFrameEncoder.js +94 -0
  397. package/dist/engine/agent-api/WebCodecsFrameEncoder.js.map +1 -0
  398. package/dist/engine/agent-api/YouTubeMetadataGenerator.d.ts +2 -2
  399. package/dist/engine/agent-api/YouTubeMetadataGenerator.d.ts.map +1 -1
  400. package/dist/engine/agent-api/YouTubeMetadataGenerator.js +1 -1
  401. package/dist/engine/agent-api/YouTubeMetadataGenerator.js.map +1 -1
  402. package/dist/engine/agent-api/YouTubeUploadAdapter.d.ts +48 -0
  403. package/dist/engine/agent-api/YouTubeUploadAdapter.d.ts.map +1 -0
  404. package/dist/engine/agent-api/YouTubeUploadAdapter.js +114 -0
  405. package/dist/engine/agent-api/YouTubeUploadAdapter.js.map +1 -0
  406. package/dist/engine/agent-api/humanoid-walk-runtime.d.ts +1 -1
  407. package/dist/engine/agent-api/index.d.ts +52 -18
  408. package/dist/engine/agent-api/index.d.ts.map +1 -1
  409. package/dist/engine/agent-api/index.js +51 -15
  410. package/dist/engine/agent-api/index.js.map +1 -1
  411. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  412. package/dist/engine/animation-studio/animation-episode-validator.d.ts +24 -0
  413. package/dist/engine/animation-studio/animation-episode-validator.d.ts.map +1 -0
  414. package/dist/engine/animation-studio/animation-episode-validator.js +74 -0
  415. package/dist/engine/animation-studio/animation-episode-validator.js.map +1 -0
  416. package/dist/engine/animation-studio/director-heuristics.d.ts +73 -0
  417. package/dist/engine/animation-studio/director-heuristics.d.ts.map +1 -0
  418. package/dist/engine/animation-studio/director-heuristics.js +149 -0
  419. package/dist/engine/animation-studio/director-heuristics.js.map +1 -0
  420. package/dist/engine/animation-studio/episode-document.d.ts +214 -0
  421. package/dist/engine/animation-studio/episode-document.d.ts.map +1 -0
  422. package/dist/engine/animation-studio/episode-document.js +143 -0
  423. package/dist/engine/animation-studio/episode-document.js.map +1 -0
  424. package/dist/engine/animation-studio/index.d.ts +20 -0
  425. package/dist/engine/animation-studio/index.d.ts.map +1 -0
  426. package/dist/engine/animation-studio/index.js +20 -0
  427. package/dist/engine/animation-studio/index.js.map +1 -0
  428. package/dist/engine/animation-studio/scene-tools.d.ts +34 -0
  429. package/dist/engine/animation-studio/scene-tools.d.ts.map +1 -0
  430. package/dist/engine/animation-studio/scene-tools.js +95 -0
  431. package/dist/engine/animation-studio/scene-tools.js.map +1 -0
  432. package/dist/engine/index.d.ts +2 -1
  433. package/dist/engine/index.d.ts.map +1 -1
  434. package/dist/engine/index.js +1 -1
  435. package/dist/engine/index.js.map +1 -1
  436. package/dist/engine/production-runtime/TypedGLBActor.d.ts +13 -1
  437. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  438. package/dist/engine/production-runtime/TypedGLBActor.js +8 -0
  439. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  440. package/dist/physics/Raycast.d.ts +17 -0
  441. package/dist/physics/Raycast.d.ts.map +1 -1
  442. package/dist/physics/Raycast.js +16 -0
  443. package/dist/physics/Raycast.js.map +1 -1
  444. package/dist/rendering/ForwardPass.js +18 -13
  445. package/dist/rendering/ForwardPass.js.map +1 -1
  446. package/dist/rendering/FrameVisualMetrics.d.ts +19 -0
  447. package/dist/rendering/FrameVisualMetrics.d.ts.map +1 -1
  448. package/dist/rendering/FrameVisualMetrics.js +57 -0
  449. package/dist/rendering/FrameVisualMetrics.js.map +1 -1
  450. package/dist/rendering/MorphTargetPlan.d.ts +42 -0
  451. package/dist/rendering/MorphTargetPlan.d.ts.map +1 -0
  452. package/dist/rendering/MorphTargetPlan.js +129 -0
  453. package/dist/rendering/MorphTargetPlan.js.map +1 -0
  454. package/dist/rendering/MorphUnlitMaterial.d.ts.map +1 -1
  455. package/dist/rendering/MorphUnlitMaterial.js +7 -1
  456. package/dist/rendering/MorphUnlitMaterial.js.map +1 -1
  457. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  458. package/dist/rendering/ShaderLibrary.js +34 -6
  459. package/dist/rendering/ShaderLibrary.js.map +1 -1
  460. package/dist/rendering/WebGPUDevice.d.ts +2 -0
  461. package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
  462. package/dist/rendering/WebGPUDevice.js +69 -12
  463. package/dist/rendering/WebGPUDevice.js.map +1 -1
  464. package/dist/rendering/animation/AnimationMaterialStyle.d.ts +19 -0
  465. package/dist/rendering/animation/AnimationMaterialStyle.d.ts.map +1 -0
  466. package/dist/rendering/animation/AnimationMaterialStyle.js +13 -0
  467. package/dist/rendering/animation/AnimationMaterialStyle.js.map +1 -0
  468. package/dist/rendering/animation/AnimationRenderPreset.d.ts +36 -0
  469. package/dist/rendering/animation/AnimationRenderPreset.d.ts.map +1 -0
  470. package/dist/rendering/animation/AnimationRenderPreset.js +23 -0
  471. package/dist/rendering/animation/AnimationRenderPreset.js.map +1 -0
  472. package/dist/rendering/animation/AnimationToonMaterial.d.ts +130 -0
  473. package/dist/rendering/animation/AnimationToonMaterial.d.ts.map +1 -0
  474. package/dist/rendering/animation/AnimationToonMaterial.js +303 -0
  475. package/dist/rendering/animation/AnimationToonMaterial.js.map +1 -0
  476. package/dist/rendering/animation/AnimationVisualQuality.d.ts +28 -0
  477. package/dist/rendering/animation/AnimationVisualQuality.d.ts.map +1 -0
  478. package/dist/rendering/animation/AnimationVisualQuality.js +39 -0
  479. package/dist/rendering/animation/AnimationVisualQuality.js.map +1 -0
  480. package/dist/rendering/animation/applyAnimationRenderPreset.d.ts +79 -0
  481. package/dist/rendering/animation/applyAnimationRenderPreset.d.ts.map +1 -0
  482. package/dist/rendering/animation/applyAnimationRenderPreset.js +88 -0
  483. package/dist/rendering/animation/applyAnimationRenderPreset.js.map +1 -0
  484. package/dist/rendering/animation/index.d.ts +6 -0
  485. package/dist/rendering/animation/index.d.ts.map +1 -0
  486. package/dist/rendering/animation/index.js +6 -0
  487. package/dist/rendering/animation/index.js.map +1 -0
  488. package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts +19 -0
  489. package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts.map +1 -0
  490. package/dist/rendering/cartoon/CartoonMaterialStyle.js +13 -0
  491. package/dist/rendering/cartoon/CartoonMaterialStyle.js.map +1 -0
  492. package/dist/rendering/cartoon/CartoonRenderPreset.d.ts +36 -0
  493. package/dist/rendering/cartoon/CartoonRenderPreset.d.ts.map +1 -0
  494. package/dist/rendering/cartoon/CartoonRenderPreset.js +23 -0
  495. package/dist/rendering/cartoon/CartoonRenderPreset.js.map +1 -0
  496. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts +130 -0
  497. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts.map +1 -0
  498. package/dist/rendering/cartoon/CartoonToonMaterial.js +303 -0
  499. package/dist/rendering/cartoon/CartoonToonMaterial.js.map +1 -0
  500. package/dist/rendering/cartoon/CartoonVisualQuality.d.ts +28 -0
  501. package/dist/rendering/cartoon/CartoonVisualQuality.d.ts.map +1 -0
  502. package/dist/rendering/cartoon/CartoonVisualQuality.js +39 -0
  503. package/dist/rendering/cartoon/CartoonVisualQuality.js.map +1 -0
  504. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts +79 -0
  505. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts.map +1 -0
  506. package/dist/rendering/cartoon/applyCartoonRenderPreset.js +88 -0
  507. package/dist/rendering/cartoon/applyCartoonRenderPreset.js.map +1 -0
  508. package/dist/rendering/cartoon/index.d.ts +6 -0
  509. package/dist/rendering/cartoon/index.d.ts.map +1 -0
  510. package/dist/rendering/cartoon/index.js +6 -0
  511. package/dist/rendering/cartoon/index.js.map +1 -0
  512. package/dist/rendering/index.d.ts +6 -3
  513. package/dist/rendering/index.d.ts.map +1 -1
  514. package/dist/rendering/index.js +4 -2
  515. package/dist/rendering/index.js.map +1 -1
  516. package/dist/scripting/AnimationNodeCategories.d.ts +3 -0
  517. package/dist/scripting/AnimationNodeCategories.d.ts.map +1 -0
  518. package/dist/scripting/AnimationNodeCategories.js +9 -0
  519. package/dist/scripting/AnimationNodeCategories.js.map +1 -0
  520. package/dist/scripting/AnimationVisualNodes.d.ts +3 -0
  521. package/dist/scripting/AnimationVisualNodes.d.ts.map +1 -0
  522. package/dist/scripting/AnimationVisualNodes.js +41 -0
  523. package/dist/scripting/AnimationVisualNodes.js.map +1 -0
  524. package/dist/scripting/VisualGraphExecutor.js +24 -24
  525. package/dist/scripting/VisualGraphExecutor.js.map +1 -1
  526. package/dist/scripting/VisualNodeCatalog.js +2 -2
  527. package/dist/scripting/VisualNodeCatalog.js.map +1 -1
  528. package/dist/scripting/index.d.ts +3 -3
  529. package/dist/scripting/index.d.ts.map +1 -1
  530. package/dist/scripting/index.js +2 -2
  531. package/dist/scripting/index.js.map +1 -1
  532. package/package.json +162 -120
  533. package/templates/product-viewer/tests/screenshot.spec.ts +8 -16
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,7 +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.
116
+
117
+ ## Animation Studio — prompt → rendered short
118
+
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.
120
+
121
+ ```bash
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
126
+ ```
127
+
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`.
131
+
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.
133
+
134
+ See:
135
+
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
110
143
 
111
144
  ## 30-second product viewer
112
145
 
@@ -124,7 +157,7 @@ createAuraApp("#app", {
124
157
 
125
158
  The safe API uses generated refs such as `assets.robot`. Do not write `model("robot")`, hand-written GLB URLs, or invented asset ids.
126
159
 
127
- ## Aura3D 1.0.10 game runtime example
160
+ ## Aura3D 1.1.0 game runtime example
128
161
 
129
162
  Add typed assets before writing model code:
130
163
 
@@ -249,9 +282,9 @@ const evidence = app.evidence({
249
282
  console.log(touchLayout.controls.length, replayDriver.snapshot(), overlay.sections, evidence.systems);
250
283
  ```
251
284
 
252
- ## Aura3D 1.0.10 prompt-cartoon and AuraVoice example
285
+ ## Aura3D 1.1.0 prompt-animation and AuraVoice example
253
286
 
254
- 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.
255
288
 
256
289
  ```ts
257
290
  import {
@@ -261,7 +294,7 @@ import {
261
294
  createAuraApp,
262
295
  createAuraVoiceBridgePackage,
263
296
  createAuraVoiceVisemeTrack,
264
- createCartoonRenderOutputPackageMetadata,
297
+ createAnimationRenderOutputPackageMetadata,
265
298
  createGlbBlendshapeVisemeCue,
266
299
  createPrimitiveMouthVisemeCues,
267
300
  createShotPlaybackPlan,
@@ -329,7 +362,7 @@ const audioStems = createAudioStemManifest({
329
362
  }))
330
363
  });
331
364
 
332
- const renderOutputPackage = createCartoonRenderOutputPackageMetadata({
365
+ const renderOutputPackage = createAnimationRenderOutputPackageMetadata({
333
366
  episodePlan: plan.episodePlan,
334
367
  shotTimeline: plan.shotTimeline,
335
368
  renderQueue: plan.renderQueue
@@ -385,7 +418,7 @@ const readiness = evaluatePromptAnimationPublishReadiness(evidence);
385
418
  console.log(bridgeIssues, evidence.publishReady, readiness.ready);
386
419
  ```
387
420
 
388
- 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.
389
422
 
390
423
  ## Prompt-to-3D scene kits
391
424
 
@@ -422,14 +455,17 @@ Maintained scene-kit families include physics playgrounds, particle fountains, s
422
455
 
423
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.
424
457
 
425
- 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.
426
459
 
427
460
  ## Documentation
428
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.
429
463
  - Agent manual: [docs/agents/README.md](docs/agents/README.md)
430
464
  - Agent quickstart: [docs/agents/agent-quickstart.md](docs/agents/agent-quickstart.md)
431
465
  - Prompt-to-3D workflow: [docs/agents/prompt-to-3d-workflow.md](docs/agents/prompt-to-3d-workflow.md)
432
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)
433
469
  - Prompt recipes: [docs/agents/benchmark-recipes.md](docs/agents/benchmark-recipes.md)
434
470
  - Public API: [docs/api/public-api.md](docs/api/public-api.md)
435
471
 
@@ -441,11 +477,11 @@ pnpm run check:release
441
477
 
442
478
  Use release checks to confirm package integrity, generated assets, examples, and static deployment output before shipping.
443
479
 
444
- Aura3D 1.0.10 route-specific readiness commands:
480
+ Aura3D 1.1.0 route-specific readiness commands:
445
481
 
446
482
  ```bash
447
483
  npx @aura3d/cli@latest assets validate-game
448
- npx @aura3d/cli@latest assets validate-cartoon
484
+ npx @aura3d/cli@latest assets validate-animation
449
485
  npx @aura3d/cli@latest check-deploy --dist dist
450
486
  pnpm game-runtime:docs
451
487
  pnpm game-runtime:template
@@ -457,15 +493,15 @@ pnpm prompt-animation:package
457
493
  pnpm prompt-animation:release
458
494
  ```
459
495
 
460
- 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.
461
497
 
462
- Aura3D 1.0.10 game-engine/showcase readiness is stricter:
498
+ Aura3D 1.1.0 game-engine/showcase readiness is stricter:
463
499
 
464
500
  ```bash
465
501
  pnpm aura3d110:readiness
466
502
  ```
467
503
 
468
- 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.
469
505
 
470
506
  ## Contributing
471
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,6 +51,21 @@ export interface AnimationClipRegistryDiagnostic<TClipId extends string = string
51
51
  readonly message: string;
52
52
  readonly clipId?: TClipId;
53
53
  }
54
+ export interface AnimationClipMapReadinessOptions<TClipId extends string = string> {
55
+ readonly requiredActions?: readonly string[] | undefined;
56
+ readonly clipMap: Readonly<Record<string, TClipId | readonly TClipId[] | undefined>>;
57
+ readonly aliases?: Readonly<Record<string, string>> | undefined;
58
+ readonly segmentedFallbackDeclared?: boolean | undefined;
59
+ }
60
+ export interface AnimationClipMapReadiness<TClipId extends string = string> {
61
+ readonly ok: boolean;
62
+ readonly segmentedFallbackDeclared: boolean;
63
+ readonly requiredActions: readonly string[];
64
+ readonly missingActions: readonly string[];
65
+ readonly missingClipIds: readonly TClipId[];
66
+ readonly aliasActions: readonly string[];
67
+ readonly diagnostics: readonly AnimationClipRegistryDiagnostic<TClipId>[];
68
+ }
54
69
  export interface AnimationClipManifest<TClipId extends string = string, TEvent extends AnimationClipEvent = AnimationClipEvent, TPose = unknown> {
55
70
  readonly clips: readonly AnimationClipDefinition<TClipId, TEvent, TPose>[];
56
71
  }
@@ -73,4 +88,11 @@ export declare class AnimationClipRegistry<TClipId extends string = string, TEve
73
88
  diagnose(): readonly AnimationClipRegistryDiagnostic<TClipId>[];
74
89
  }
75
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 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>;
76
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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"}
@@ -114,6 +114,95 @@ export class AnimationClipRegistry {
114
114
  export function createAnimationClipRegistry(clips = [], options = {}) {
115
115
  return new AnimationClipRegistry(clips, options);
116
116
  }
117
+ export function validateAnimationClipMap(registry, options) {
118
+ const requiredActions = options.requiredActions ?? ["speak", "listen", "gesture", "walk", "action"];
119
+ const missingActions = [];
120
+ const missingClipIds = [];
121
+ const aliasActions = [];
122
+ const diagnostics = [];
123
+ for (const action of requiredActions) {
124
+ const mapped = options.clipMap[action] ?? options.clipMap[options.aliases?.[action] ?? ""];
125
+ if (options.aliases?.[action])
126
+ aliasActions.push(action);
127
+ const clipIds = Array.isArray(mapped) ? mapped : mapped ? [mapped] : [];
128
+ if (clipIds.length === 0) {
129
+ missingActions.push(action);
130
+ diagnostics.push({
131
+ severity: options.segmentedFallbackDeclared ? "warning" : "error",
132
+ code: "ANIMATION_CLIP_ACTION_MISSING",
133
+ message: `Animation action "${action}" is missing a clip map entry.`
134
+ });
135
+ continue;
136
+ }
137
+ for (const clipId of clipIds) {
138
+ if (!registry.has(clipId)) {
139
+ missingClipIds.push(clipId);
140
+ diagnostics.push({
141
+ severity: options.segmentedFallbackDeclared ? "warning" : "error",
142
+ code: "ANIMATION_CLIP_ID_MISSING",
143
+ message: `Animation action "${action}" references missing clip "${clipId}".`,
144
+ clipId
145
+ });
146
+ }
147
+ }
148
+ }
149
+ return {
150
+ ok: options.segmentedFallbackDeclared ? missingActions.length === 0 : diagnostics.every((diagnostic) => diagnostic.severity !== "error"),
151
+ segmentedFallbackDeclared: options.segmentedFallbackDeclared === true,
152
+ requiredActions,
153
+ missingActions,
154
+ missingClipIds,
155
+ aliasActions,
156
+ diagnostics
157
+ };
158
+ }
159
+ /**
160
+ * Generic (non-animation) clip-map readiness validator for locomotion / fighter / Animation Studio
161
+ * clip sets. Same readiness shape as {@link validateAnimationClipMap} but with neutral diagnostic
162
+ * codes and a configurable required-action set (defaults to a locomotion set).
163
+ */
164
+ export function validateAnimationStudioClipMap(registry, options) {
165
+ const requiredActions = options.requiredActions ?? ["idle", "walk", "run"];
166
+ const missingActions = [];
167
+ const missingClipIds = [];
168
+ const aliasActions = [];
169
+ const diagnostics = [];
170
+ for (const action of requiredActions) {
171
+ const mapped = options.clipMap[action] ?? options.clipMap[options.aliases?.[action] ?? ""];
172
+ if (options.aliases?.[action])
173
+ aliasActions.push(action);
174
+ const clipIds = Array.isArray(mapped) ? mapped : mapped ? [mapped] : [];
175
+ if (clipIds.length === 0) {
176
+ missingActions.push(action);
177
+ diagnostics.push({
178
+ severity: options.segmentedFallbackDeclared ? "warning" : "error",
179
+ code: "ANIMATION_CLIP_ACTION_MISSING",
180
+ message: `Required action "${action}" is missing a clip map entry.`
181
+ });
182
+ continue;
183
+ }
184
+ for (const clipId of clipIds) {
185
+ if (!registry.has(clipId)) {
186
+ missingClipIds.push(clipId);
187
+ diagnostics.push({
188
+ severity: options.segmentedFallbackDeclared ? "warning" : "error",
189
+ code: "ANIMATION_CLIP_ID_MISSING",
190
+ message: `Required action "${action}" references missing clip "${clipId}".`,
191
+ clipId
192
+ });
193
+ }
194
+ }
195
+ }
196
+ return {
197
+ ok: options.segmentedFallbackDeclared ? missingActions.length === 0 : diagnostics.every((diagnostic) => diagnostic.severity !== "error"),
198
+ segmentedFallbackDeclared: options.segmentedFallbackDeclared === true,
199
+ requiredActions,
200
+ missingActions,
201
+ missingClipIds,
202
+ aliasActions,
203
+ diagnostics
204
+ };
205
+ }
117
206
  function validateClipDefinition(definition) {
118
207
  if (!definition.id) {
119
208
  throw new Error("Animation clips must have a stable id.");