@haiyue/extensions 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +30 -0
  3. package/dist/animation/Animation2DComponent.d.ts +46 -0
  4. package/dist/animation/Animation2DExtensionRegistry.d.ts +27 -0
  5. package/dist/animation/Animation2DRenderSystem.d.ts +89 -0
  6. package/dist/animation/Animation2DRuntime.d.ts +99 -0
  7. package/dist/animation/Animation2DStateMachine.d.ts +13 -0
  8. package/dist/animation/Animation2DStateMachineComponent.d.ts +54 -0
  9. package/dist/animation/Animation2DStateMachineRuntime.d.ts +30 -0
  10. package/dist/animation/Animation2DStateMachineSystem.d.ts +14 -0
  11. package/dist/animation/Animation2DStateMachineVisualRuntime.d.ts +27 -0
  12. package/dist/animation/Animation2DSystem.d.ts +14 -0
  13. package/dist/animation/AnimationAssetLoader.d.ts +9 -0
  14. package/dist/animation/AnimationAudioClip.d.ts +26 -0
  15. package/dist/animation/AnimationPathTessellator.d.ts +52 -0
  16. package/dist/animation/AnimationTextRasterizer.d.ts +21 -0
  17. package/dist/animation/AnimationVisual2D.d.ts +68 -0
  18. package/dist/animation/HyaAnimation2DClipAdapter.d.ts +16 -0
  19. package/dist/animation/Particle2DDescriptorAdapter.d.ts +5 -0
  20. package/dist/animation/runtime/mixer/Action.d.ts +150 -0
  21. package/dist/animation/runtime/mixer/Mixer.d.ts +54 -0
  22. package/dist/animation/runtime/mixer/PoseBuffer.d.ts +23 -0
  23. package/dist/animation/runtime/mixer/Sampler.d.ts +17 -0
  24. package/dist/animation/runtime/mixer/Types.d.ts +101 -0
  25. package/dist/animation/runtime/mixer/index.d.ts +6 -0
  26. package/dist/animation-state-machine/AnimationStateMachine.d.ts +111 -0
  27. package/dist/animation-state-machine/AnimationStateMachineChannels.d.ts +23 -0
  28. package/dist/animation-state-machine/runtime/Animation2DStateMachineMixerAdapter.d.ts +51 -0
  29. package/dist/animation-state-machine/runtime/AnimationStateMachineBlendTreeWeights.d.ts +14 -0
  30. package/dist/animation-state-machine/runtime/AnimationStateMachineCompiler.d.ts +109 -0
  31. package/dist/animation-state-machine/runtime/AnimationStateMachineController.d.ts +103 -0
  32. package/dist/animation-state-machine/runtime/AnimationStateMachineMixerPort.d.ts +35 -0
  33. package/dist/animation-state-machine/runtime/index.d.ts +7 -0
  34. package/dist/animation.d.ts +15 -0
  35. package/dist/animation.js +1171 -0
  36. package/dist/animation3d/Animation3DAction.d.ts +46 -0
  37. package/dist/animation3d/Animation3DBinding.d.ts +85 -0
  38. package/dist/animation3d/Animation3DClip.d.ts +20 -0
  39. package/dist/animation3d/Animation3DError.d.ts +13 -0
  40. package/dist/animation3d/Animation3DMixer.d.ts +27 -0
  41. package/dist/animation3d/Animation3DPose.d.ts +40 -0
  42. package/dist/animation3d/Animation3DPoseBuffer.d.ts +24 -0
  43. package/dist/animation3d/Animation3DResource.d.ts +28 -0
  44. package/dist/animation3d/Animation3DStateMachine.d.ts +95 -0
  45. package/dist/animation3d/Animation3DStateMachineRuntime.d.ts +70 -0
  46. package/dist/animation3d/Animation3DTrack.d.ts +19 -0
  47. package/dist/animation3d/hya/HyaAnimation3DRuntime.d.ts +73 -0
  48. package/dist/animation3d/hya/HyaAnimation3DStateMachineRuntime.d.ts +65 -0
  49. package/dist/animation3d/hya/HyaAnimation3DTypes.d.ts +170 -0
  50. package/dist/animation3d/hya/index.d.ts +4 -0
  51. package/dist/animation3d/index.d.ts +14 -0
  52. package/dist/animation3d/runtime/integration/Animation3DStateMachineMixerAdapter.d.ts +81 -0
  53. package/dist/animation3d/runtime/integration/Animation3DStateMachineMixerIntegration.d.ts +39 -0
  54. package/dist/animation3d/runtime/integration/index.d.ts +2 -0
  55. package/dist/animation3d/runtime/mixer/Action.d.ts +150 -0
  56. package/dist/animation3d/runtime/mixer/Animation3DMixerRuntimeStore.d.ts +6 -0
  57. package/dist/animation3d/runtime/mixer/Mixer.d.ts +59 -0
  58. package/dist/animation3d/runtime/mixer/PoseBuffer.d.ts +1 -0
  59. package/dist/animation3d/runtime/mixer/TrackSampler.d.ts +24 -0
  60. package/dist/animation3d/runtime/mixer/index.d.ts +4 -0
  61. package/dist/animation3d/runtime/state-machine/Animation3DBlendTreeWeights.d.ts +1 -0
  62. package/dist/animation3d/runtime/state-machine/Animation3DStateMachineCompiler.d.ts +1 -0
  63. package/dist/animation3d/runtime/state-machine/Animation3DStateMachineController.d.ts +1 -0
  64. package/dist/animation3d/runtime/state-machine/Animation3DStateMachineMixerPort.d.ts +1 -0
  65. package/dist/animation3d/runtime/state-machine/index.d.ts +6 -0
  66. package/dist/animation3d.d.ts +5 -0
  67. package/dist/animation3d.js +1708 -0
  68. package/dist/benchmark.d.ts +30 -0
  69. package/dist/benchmark.js +119 -0
  70. package/dist/canvas-text/CanvasText2DRenderSystem.d.ts +24 -0
  71. package/dist/canvas-text/CanvasTextComponent.d.ts +18 -0
  72. package/dist/canvas-text.d.ts +4 -0
  73. package/dist/canvas-text.js +276 -0
  74. package/dist/chunks/2d-ui-animation-2d.generated-D4aHzFU2.js +4 -0
  75. package/dist/chunks/2d-ui-canvas-text-2d.generated-C0Eaej2m.js +4 -0
  76. package/dist/chunks/2d-ui-spine2d.generated-CUUi8xjl.js +4 -0
  77. package/dist/chunks/2d-ui-tilemap2d.generated-gebw4mX7.js +4 -0
  78. package/dist/chunks/Animation2DStateMachine-9IonguNa.js +3245 -0
  79. package/dist/chunks/AnimationStateMachineController-BIcAh-sT.js +1438 -0
  80. package/dist/chunks/GltfAnimation3DAdapter-Cu3rQQsW.js +2240 -0
  81. package/dist/chunks/GltfAnimationRuntime-CRHsLycN.js +631 -0
  82. package/dist/chunks/RenderSystem2DBase-DDT61dAu.js +227 -0
  83. package/dist/chunks/Spine2DRuntime-D9M9LAQR.js +3056 -0
  84. package/dist/chunks/SpineAssetParser-BSDmPge1.js +378 -0
  85. package/dist/chunks/gltfLoader-Dm22jLYB.js +2085 -0
  86. package/dist/chunks/pluginUtils-CvwroRMd.js +33 -0
  87. package/dist/experimental-gltf-worker.d.ts +4 -0
  88. package/dist/experimental-gltf-worker.js +138 -0
  89. package/dist/experimental-spine-worker.d.ts +4 -0
  90. package/dist/experimental-spine-worker.js +110 -0
  91. package/dist/gltf/GltfAccessorReader.d.ts +7 -0
  92. package/dist/gltf/GltfAnimation3DAdapter.d.ts +47 -0
  93. package/dist/gltf/GltfAnimationRuntime.d.ts +10 -0
  94. package/dist/gltf/GltfAssetWorkerClient.d.ts +20 -0
  95. package/dist/gltf/GltfCompatibilityReport.d.ts +70 -0
  96. package/dist/gltf/GltfConservativeBounds.d.ts +18 -0
  97. package/dist/gltf/GltfDracoDecoder.d.ts +4 -0
  98. package/dist/gltf/GltfExtensionAdapter.d.ts +54 -0
  99. package/dist/gltf/GltfLoaderContract.d.ts +249 -0
  100. package/dist/gltf/GltfLoaderErrors.d.ts +4 -0
  101. package/dist/gltf/GltfMaterialDescriptor.d.ts +23 -0
  102. package/dist/gltf/GltfMaterialEncoder.d.ts +20 -0
  103. package/dist/gltf/GltfMaterialLoader.d.ts +6 -0
  104. package/dist/gltf/GltfModelComponent.d.ts +72 -0
  105. package/dist/gltf/GltfModelSystem.d.ts +37 -0
  106. package/dist/gltf/GltfPlugin.d.ts +6 -0
  107. package/dist/gltf/GltfSchema.d.ts +225 -0
  108. package/dist/gltf/GltfUvSemanticPlanner.d.ts +33 -0
  109. package/dist/gltf/gltfLoader.d.ts +9 -0
  110. package/dist/gltf-animation3d.d.ts +3 -0
  111. package/dist/gltf-animation3d.js +8 -0
  112. package/dist/gltf-worker-runtime.d.ts +7 -0
  113. package/dist/gltf-worker-runtime.js +6981 -0
  114. package/dist/gltf.d.ts +12 -0
  115. package/dist/gltf.js +517 -0
  116. package/dist/grid/Grid2DComponent.d.ts +25 -0
  117. package/dist/grid.d.ts +2 -0
  118. package/dist/grid.js +56 -0
  119. package/dist/hya-state-machine.d.ts +7 -0
  120. package/dist/hya-state-machine.js +2934 -0
  121. package/dist/index.d.ts +2 -0
  122. package/dist/index.js +7 -0
  123. package/dist/internal/2d-ui-shader-artifact.js +870 -0
  124. package/dist/plugins/pluginUtils.d.ts +20 -0
  125. package/dist/plugins.d.ts +6 -0
  126. package/dist/shaders/generated/2d-ui-artifact.generated.d.ts +658 -0
  127. package/dist/spine/Spine2DComponent.d.ts +116 -0
  128. package/dist/spine/Spine2DGpuRenderer.d.ts +65 -0
  129. package/dist/spine/Spine2DRenderSystem.d.ts +27 -0
  130. package/dist/spine/Spine2DRuntime.d.ts +103 -0
  131. package/dist/spine/SpineAnimationBoneTimelines.d.ts +8 -0
  132. package/dist/spine/SpineAssetParser.d.ts +18 -0
  133. package/dist/spine/SpineAssetWorkerClient.d.ts +19 -0
  134. package/dist/spine/SpineAssetWorkerContract.d.ts +6 -0
  135. package/dist/spine/SpineAtlasParser.d.ts +21 -0
  136. package/dist/spine/SpineFloatBuilder.d.ts +15 -0
  137. package/dist/spine/SpinePathConstraintSolver.d.ts +32 -0
  138. package/dist/spine/SpinePlugin.d.ts +8 -0
  139. package/dist/spine/SpineSkeletonRuntime.d.ts +185 -0
  140. package/dist/spine/SpineSlotAnimation.d.ts +17 -0
  141. package/dist/spine/SpineTimelineRuntime.d.ts +25 -0
  142. package/dist/spine/SpineVertexBuilder.d.ts +61 -0
  143. package/dist/spine.d.ts +7 -0
  144. package/dist/spine.js +578 -0
  145. package/dist/tilemap/Tilemap2DComponent.d.ts +110 -0
  146. package/dist/tilemap/Tilemap2DRenderSystem.d.ts +11 -0
  147. package/dist/tilemap/Tilemap2DRenderer.d.ts +24 -0
  148. package/dist/tilemap/TilemapPlugin.d.ts +8 -0
  149. package/dist/tilemap.d.ts +6 -0
  150. package/dist/tilemap.js +535 -0
  151. package/dist/tween/Tween2DComponent.d.ts +70 -0
  152. package/dist/tween/Tween2DSystem.d.ts +12 -0
  153. package/dist/tween.d.ts +4 -0
  154. package/dist/tween.js +138 -0
  155. package/dist/utils/RenderSystem2DBase.d.ts +42 -0
  156. package/dist/utils/arrayAccess.d.ts +4 -0
  157. package/dist/utils/camera2d.d.ts +12 -0
  158. package/dist/utils/render2dGpu.d.ts +32 -0
  159. package/package.json +124 -0
  160. package/src/animation/Animation2DComponent.ts +135 -0
  161. package/src/animation/Animation2DExtensionRegistry.ts +52 -0
  162. package/src/animation/Animation2DRenderSystem.ts +1026 -0
  163. package/src/animation/Animation2DRuntime.ts +1326 -0
  164. package/src/animation/Animation2DStateMachine.ts +39 -0
  165. package/src/animation/Animation2DStateMachineComponent.ts +228 -0
  166. package/src/animation/Animation2DStateMachineRuntime.ts +141 -0
  167. package/src/animation/Animation2DStateMachineSystem.ts +60 -0
  168. package/src/animation/Animation2DStateMachineVisualRuntime.ts +282 -0
  169. package/src/animation/Animation2DSystem.ts +72 -0
  170. package/src/animation/AnimationAssetLoader.ts +84 -0
  171. package/src/animation/AnimationAudioClip.ts +140 -0
  172. package/src/animation/AnimationPathTessellator.ts +691 -0
  173. package/src/animation/AnimationTextRasterizer.ts +340 -0
  174. package/src/animation/AnimationVisual2D.ts +153 -0
  175. package/src/animation/HyaAnimation2DClipAdapter.ts +845 -0
  176. package/src/animation/Particle2DDescriptorAdapter.ts +35 -0
  177. package/src/animation/runtime/mixer/Action.ts +876 -0
  178. package/src/animation/runtime/mixer/Mixer.ts +505 -0
  179. package/src/animation/runtime/mixer/PoseBuffer.ts +105 -0
  180. package/src/animation/runtime/mixer/Sampler.ts +252 -0
  181. package/src/animation/runtime/mixer/Types.ts +138 -0
  182. package/src/animation/runtime/mixer/index.ts +31 -0
  183. package/src/animation-state-machine/AnimationStateMachine.ts +146 -0
  184. package/src/animation-state-machine/AnimationStateMachineChannels.ts +116 -0
  185. package/src/animation-state-machine/runtime/Animation2DStateMachineMixerAdapter.ts +197 -0
  186. package/src/animation-state-machine/runtime/AnimationStateMachineBlendTreeWeights.ts +503 -0
  187. package/src/animation-state-machine/runtime/AnimationStateMachineCompiler.ts +763 -0
  188. package/src/animation-state-machine/runtime/AnimationStateMachineController.ts +987 -0
  189. package/src/animation-state-machine/runtime/AnimationStateMachineMixerPort.ts +54 -0
  190. package/src/animation-state-machine/runtime/index.ts +47 -0
  191. package/src/animation.ts +33 -0
  192. package/src/animation3d/Animation3DAction.ts +73 -0
  193. package/src/animation3d/Animation3DBinding.ts +116 -0
  194. package/src/animation3d/Animation3DClip.ts +22 -0
  195. package/src/animation3d/Animation3DError.ts +34 -0
  196. package/src/animation3d/Animation3DMixer.ts +82 -0
  197. package/src/animation3d/Animation3DPose.ts +100 -0
  198. package/src/animation3d/Animation3DPoseBuffer.ts +85 -0
  199. package/src/animation3d/Animation3DResource.ts +49 -0
  200. package/src/animation3d/Animation3DStateMachine.ts +126 -0
  201. package/src/animation3d/Animation3DStateMachineRuntime.ts +191 -0
  202. package/src/animation3d/Animation3DTrack.ts +29 -0
  203. package/src/animation3d/hya/HyaAnimation3DRuntime.ts +756 -0
  204. package/src/animation3d/hya/HyaAnimation3DStateMachineRuntime.ts +618 -0
  205. package/src/animation3d/hya/HyaAnimation3DTypes.ts +168 -0
  206. package/src/animation3d/hya/index.ts +10 -0
  207. package/src/animation3d/index.ts +76 -0
  208. package/src/animation3d/runtime/integration/Animation3DStateMachineMixerAdapter.ts +325 -0
  209. package/src/animation3d/runtime/integration/Animation3DStateMachineMixerIntegration.ts +158 -0
  210. package/src/animation3d/runtime/integration/index.ts +9 -0
  211. package/src/animation3d/runtime/mixer/Action.ts +833 -0
  212. package/src/animation3d/runtime/mixer/Animation3DMixerRuntimeStore.ts +26 -0
  213. package/src/animation3d/runtime/mixer/Mixer.ts +562 -0
  214. package/src/animation3d/runtime/mixer/PoseBuffer.ts +1 -0
  215. package/src/animation3d/runtime/mixer/TrackSampler.ts +399 -0
  216. package/src/animation3d/runtime/mixer/index.ts +8 -0
  217. package/src/animation3d/runtime/state-machine/Animation3DBlendTreeWeights.ts +4 -0
  218. package/src/animation3d/runtime/state-machine/Animation3DStateMachineCompiler.ts +1 -0
  219. package/src/animation3d/runtime/state-machine/Animation3DStateMachineController.ts +1 -0
  220. package/src/animation3d/runtime/state-machine/Animation3DStateMachineMixerPort.ts +1 -0
  221. package/src/animation3d/runtime/state-machine/index.ts +45 -0
  222. package/src/animation3d.ts +5 -0
  223. package/src/benchmark.ts +168 -0
  224. package/src/canvas-text/CanvasText2DRenderSystem.ts +292 -0
  225. package/src/canvas-text/CanvasTextComponent.ts +47 -0
  226. package/src/canvas-text.ts +4 -0
  227. package/src/experimental-gltf-worker.ts +18 -0
  228. package/src/experimental-spine-worker.ts +9 -0
  229. package/src/gltf/GltfAccessorReader.ts +271 -0
  230. package/src/gltf/GltfAnimation3DAdapter.ts +680 -0
  231. package/src/gltf/GltfAnimationRuntime.ts +392 -0
  232. package/src/gltf/GltfAssetWorkerClient.ts +136 -0
  233. package/src/gltf/GltfCompatibilityReport.ts +214 -0
  234. package/src/gltf/GltfConservativeBounds.ts +219 -0
  235. package/src/gltf/GltfDracoDecoder.ts +251 -0
  236. package/src/gltf/GltfExtensionAdapter.ts +340 -0
  237. package/src/gltf/GltfLoaderContract.ts +333 -0
  238. package/src/gltf/GltfLoaderErrors.ts +59 -0
  239. package/src/gltf/GltfMaterialDescriptor.ts +134 -0
  240. package/src/gltf/GltfMaterialEncoder.ts +173 -0
  241. package/src/gltf/GltfMaterialLoader.ts +293 -0
  242. package/src/gltf/GltfModelComponent.ts +115 -0
  243. package/src/gltf/GltfModelSystem.ts +208 -0
  244. package/src/gltf/GltfPlugin.ts +84 -0
  245. package/src/gltf/GltfSchema.ts +229 -0
  246. package/src/gltf/GltfUvSemanticPlanner.ts +166 -0
  247. package/src/gltf/gltfLoader.ts +910 -0
  248. package/src/gltf-animation3d.ts +10 -0
  249. package/src/gltf-worker-runtime.ts +10 -0
  250. package/src/gltf.ts +56 -0
  251. package/src/grid/Grid2DComponent.ts +69 -0
  252. package/src/grid.ts +2 -0
  253. package/src/hya-state-machine.ts +19 -0
  254. package/src/index.ts +2 -0
  255. package/src/plugins/pluginUtils.ts +50 -0
  256. package/src/plugins.ts +6 -0
  257. package/src/shaders/generated/2d-ui-animation-2d.generated.wgsl +242 -0
  258. package/src/shaders/generated/2d-ui-artifact.generated.ts +867 -0
  259. package/src/shaders/generated/2d-ui-canvas-text-2d.generated.wgsl +38 -0
  260. package/src/shaders/generated/2d-ui-spine2d.generated.wgsl +41 -0
  261. package/src/shaders/generated/2d-ui-tilemap2d.generated.wgsl +36 -0
  262. package/src/spine/Spine2DComponent.ts +168 -0
  263. package/src/spine/Spine2DGpuRenderer.ts +449 -0
  264. package/src/spine/Spine2DRenderSystem.ts +199 -0
  265. package/src/spine/Spine2DRuntime.ts +1529 -0
  266. package/src/spine/SpineAnimationBoneTimelines.ts +30 -0
  267. package/src/spine/SpineAssetParser.ts +20 -0
  268. package/src/spine/SpineAssetWorkerClient.ts +112 -0
  269. package/src/spine/SpineAssetWorkerContract.ts +4 -0
  270. package/src/spine/SpineAtlasParser.ts +127 -0
  271. package/src/spine/SpineFloatBuilder.ts +66 -0
  272. package/src/spine/SpinePathConstraintSolver.ts +582 -0
  273. package/src/spine/SpinePlugin.ts +76 -0
  274. package/src/spine/SpineSkeletonRuntime.ts +521 -0
  275. package/src/spine/SpineSlotAnimation.ts +195 -0
  276. package/src/spine/SpineTimelineRuntime.ts +453 -0
  277. package/src/spine/SpineVertexBuilder.ts +686 -0
  278. package/src/spine.ts +7 -0
  279. package/src/tilemap/Tilemap2DComponent.ts +232 -0
  280. package/src/tilemap/Tilemap2DRenderSystem.ts +58 -0
  281. package/src/tilemap/Tilemap2DRenderer.ts +289 -0
  282. package/src/tilemap/TilemapPlugin.ts +75 -0
  283. package/src/tilemap.ts +6 -0
  284. package/src/tween/Tween2DComponent.ts +83 -0
  285. package/src/tween/Tween2DSystem.ts +78 -0
  286. package/src/tween.ts +4 -0
  287. package/src/types/earcut.d.ts +7 -0
  288. package/src/types/wgsl.d.ts +4 -0
  289. package/src/utils/RenderSystem2DBase.ts +164 -0
  290. package/src/utils/arrayAccess.ts +17 -0
  291. package/src/utils/camera2d.ts +68 -0
  292. package/src/utils/render2dGpu.ts +132 -0
  293. package/test/fixtures/gltf/animation-characterization.gltf +344 -0
@@ -0,0 +1,109 @@
1
+ import type { AnimationStateMachineBindingMask as Animation3DBindingMask, AnimationStateMachineBlendMode as Animation3DBlendMode, AnimationStateMachineDefinition, AnimationStateMachineLoopMode as Animation3DLoopMode, AnimationStateMachineTransitionInterruption as Animation3DTransitionInterruption } from '../AnimationStateMachine.js';
2
+ type LegacyAnimation3DStateMachineDefinition = Omit<AnimationStateMachineDefinition, 'format'> & Readonly<{
3
+ format: 'haiyue-animation3d-state-machine@1';
4
+ }>;
5
+ type SupportedAnimationStateMachineDefinition = AnimationStateMachineDefinition | LegacyAnimation3DStateMachineDefinition;
6
+ export type Animation3DStateMachineValidationCode = 'invalid-value' | 'duplicate-id' | 'missing-reference' | 'parameter-type-mismatch' | 'invalid-operator' | 'empty-blend-tree' | 'invalid-thresholds' | 'recursive-motion';
7
+ export interface Animation3DStateMachineValidationIssue {
8
+ readonly code: Animation3DStateMachineValidationCode;
9
+ readonly path: string;
10
+ readonly message: string;
11
+ }
12
+ export declare class AnimationStateMachineValidationError extends Error {
13
+ readonly issues: readonly Animation3DStateMachineValidationIssue[];
14
+ constructor(issues: readonly Animation3DStateMachineValidationIssue[]);
15
+ }
16
+ export type CompiledAnimation3DParameterType = 'float' | 'integer' | 'boolean' | 'trigger';
17
+ export interface CompiledAnimation3DParameter {
18
+ readonly index: number;
19
+ readonly name: string;
20
+ readonly type: CompiledAnimation3DParameterType;
21
+ /** Triggers and false booleans use 0; true booleans use 1. */
22
+ readonly defaultValue: number;
23
+ }
24
+ export type CompiledAnimation3DConditionOperator = 'greater' | 'greater-or-equal' | 'less' | 'less-or-equal' | 'equal' | 'not-equal' | 'is-true' | 'is-false' | 'triggered';
25
+ export interface CompiledAnimation3DCondition {
26
+ readonly parameterIndex: number;
27
+ readonly operator: CompiledAnimation3DConditionOperator;
28
+ readonly value: number;
29
+ }
30
+ export interface CompiledAnimation3DClipMotion {
31
+ readonly kind: 'clip';
32
+ readonly clipId: string;
33
+ }
34
+ export interface CompiledAnimation3DBlend1DChild {
35
+ readonly threshold: number;
36
+ readonly motion: CompiledAnimation3DMotion;
37
+ }
38
+ export interface CompiledAnimation3DBlend1DMotion {
39
+ readonly kind: 'blend-1d';
40
+ readonly parameterIndex: number;
41
+ readonly children: readonly CompiledAnimation3DBlend1DChild[];
42
+ }
43
+ export interface CompiledAnimation3DBlend2DChild {
44
+ readonly position: readonly [number, number];
45
+ readonly motion: CompiledAnimation3DMotion;
46
+ readonly declarationIndex: number;
47
+ }
48
+ export interface CompiledAnimation3DBlend2DMotion {
49
+ readonly kind: 'blend-2d';
50
+ readonly algorithm: 'cartesian' | 'directional';
51
+ readonly parameterXIndex: number;
52
+ readonly parameterYIndex: number;
53
+ readonly children: readonly CompiledAnimation3DBlend2DChild[];
54
+ }
55
+ export type CompiledAnimation3DMotion = CompiledAnimation3DClipMotion | CompiledAnimation3DBlend1DMotion | CompiledAnimation3DBlend2DMotion;
56
+ export interface CompiledAnimation3DState {
57
+ readonly index: number;
58
+ readonly id: string;
59
+ readonly name: string;
60
+ readonly motion: CompiledAnimation3DMotion;
61
+ readonly speed: number;
62
+ readonly speedParameterIndex: number;
63
+ readonly loop: Animation3DLoopMode;
64
+ }
65
+ export interface CompiledAnimation3DTransition {
66
+ readonly index: number;
67
+ readonly id: string;
68
+ /** -1 denotes any-state. */
69
+ readonly fromStateIndex: number;
70
+ readonly toStateIndex: number;
71
+ readonly conditions: readonly CompiledAnimation3DCondition[];
72
+ readonly triggerParameterIndices: readonly number[];
73
+ readonly duration: number;
74
+ readonly hasExitTime: boolean;
75
+ readonly exitTime: number;
76
+ readonly destinationOffset: number;
77
+ readonly interruption: Animation3DTransitionInterruption;
78
+ }
79
+ export interface CompiledAnimation3DLayer {
80
+ readonly index: number;
81
+ readonly id: string;
82
+ readonly name: string;
83
+ readonly initialStateIndex: number;
84
+ readonly states: readonly CompiledAnimation3DState[];
85
+ /** Preserves declaration order, which is transition priority. */
86
+ readonly transitions: readonly CompiledAnimation3DTransition[];
87
+ readonly blendMode: Animation3DBlendMode;
88
+ readonly weight: number;
89
+ readonly mask: Animation3DBindingMask | null;
90
+ /** Compiler-created lookup; the update path uses numeric indices instead. */
91
+ readonly stateIndexById: ReadonlyMap<string, number>;
92
+ }
93
+ export interface CompiledAnimation3DStateMachine {
94
+ readonly format: 'haiyue-animation-state-machine-compiled@1';
95
+ readonly id: string;
96
+ readonly name: string;
97
+ readonly parameters: readonly CompiledAnimation3DParameter[];
98
+ readonly layers: readonly CompiledAnimation3DLayer[];
99
+ /** Setter/query boundary lookup; the update path uses numeric indices. */
100
+ readonly parameterIndexByName: ReadonlyMap<string, number>;
101
+ readonly layerIndexById: ReadonlyMap<string, number>;
102
+ }
103
+ export declare function validateAnimationStateMachineDefinition(definition: SupportedAnimationStateMachineDefinition): readonly Animation3DStateMachineValidationIssue[];
104
+ export declare function compileAnimationStateMachineDefinition(definition: SupportedAnimationStateMachineDefinition): CompiledAnimation3DStateMachine;
105
+ /** Compatibility aliases for the original 3D-prefixed runtime API. */
106
+ export { AnimationStateMachineValidationError as Animation3DStateMachineValidationError, };
107
+ export declare const validateAnimation3DStateMachineDefinition: typeof validateAnimationStateMachineDefinition;
108
+ export declare const compileAnimation3DStateMachineDefinition: typeof compileAnimationStateMachineDefinition;
109
+ export declare const compileAnimation3DStateMachine: typeof compileAnimationStateMachineDefinition;
@@ -0,0 +1,103 @@
1
+ import type { CompiledAnimation3DStateMachine } from './AnimationStateMachineCompiler.js';
2
+ import type { Animation3DStateMachineActionHandle, Animation3DStateMachineMixerPort } from './AnimationStateMachineMixerPort.js';
3
+ declare const CONTROLLER_UPDATE_TRANSACTION: unique symbol;
4
+ export type Animation3DStateMachineControllerStatus = 'active' | 'destroyed';
5
+ export interface Animation3DStateMachineControllerOptions {
6
+ /**
7
+ * Bounds zero-duration transition cycles and pathological large-delta
8
+ * updates per layer. Remaining time is still advanced after the limit is
9
+ * reached.
10
+ */
11
+ readonly maxTransitionsPerUpdate?: number;
12
+ }
13
+ export interface Animation3DStateMachineLayerSnapshot {
14
+ readonly layerId: string;
15
+ readonly currentStateId: string;
16
+ readonly currentTime: number;
17
+ readonly transitionId: string | null;
18
+ readonly sourceStateId: string | null;
19
+ readonly destinationStateId: string | null;
20
+ readonly transitionProgress: number;
21
+ }
22
+ /**
23
+ * Deterministic, mixer-agnostic runtime controller for a compiled definition.
24
+ * All string resolution happens in the compiler or at setter/query boundaries.
25
+ */
26
+ export declare class Animation3DStateMachineController<TAction extends Animation3DStateMachineActionHandle = Animation3DStateMachineActionHandle> {
27
+ readonly compiled: CompiledAnimation3DStateMachine;
28
+ readonly port: Animation3DStateMachineMixerPort<TAction>;
29
+ readonly maxTransitionsPerUpdate: number;
30
+ lastUpdateTransitionCount: number;
31
+ transitionLimitReached: boolean;
32
+ private readonly _parameterValues;
33
+ private readonly _transactionParameterValues;
34
+ private readonly _layers;
35
+ private readonly _layerTransactionCheckpoints;
36
+ private _transactionLastUpdateTransitionCount;
37
+ private _transactionLimitReached;
38
+ private _transactionActive;
39
+ private _status;
40
+ constructor(compiled: CompiledAnimation3DStateMachine, port: Animation3DStateMachineMixerPort<TAction>, options?: Animation3DStateMachineControllerOptions);
41
+ get status(): Animation3DStateMachineControllerStatus;
42
+ get layerSnapshots(): readonly Animation3DStateMachineLayerSnapshot[];
43
+ getLayerSnapshot(layerId: string): Animation3DStateMachineLayerSnapshot;
44
+ setFloat(name: string, value: number): this;
45
+ setInteger(name: string, value: number): this;
46
+ setBoolean(name: string, value: boolean): this;
47
+ setTrigger(name: string): this;
48
+ resetTrigger(name: string): this;
49
+ getParameter(name: string): number | boolean;
50
+ update(deltaSeconds: number): this;
51
+ /** @internal Keeps controller and transactional mixer ports atomic through final pose evaluation. */
52
+ [CONTROLLER_UPDATE_TRANSACTION](deltaSeconds: number, beforeUpdate?: () => void, complete?: () => unknown): unknown;
53
+ /**
54
+ * Restores defaults and initial states. Repeated reset calls are safe and
55
+ * leave the same observable controller state.
56
+ */
57
+ reset(): this;
58
+ /** Stops and releases all port actions. Idempotent. */
59
+ destroy(): void;
60
+ private _updateLayer;
61
+ private _captureUpdateTransaction;
62
+ private _restoreUpdateTransaction;
63
+ private _findEligibleTransition;
64
+ private _findInterruption;
65
+ private _startTransition;
66
+ private _interruptTransition;
67
+ private _completeTransition;
68
+ private _timeUntilNextExitTransition;
69
+ private _exitTimeReached;
70
+ private _timeUntilExit;
71
+ private _conditionsPass;
72
+ private _consumeTriggers;
73
+ private _createPlayback;
74
+ private _createRuntimeMotion;
75
+ private _advancePlayback;
76
+ private _advanceWithoutTransitions;
77
+ private _synchronizeAllLayers;
78
+ private _synchronizeLayer;
79
+ private _applyPlayback;
80
+ private _applyMotion;
81
+ private _playbackDuration;
82
+ private _motionDuration;
83
+ private _playbackSpeed;
84
+ private _evaluateDirectWeights;
85
+ private _fadePlayback;
86
+ private _fadeMotion;
87
+ private _destroyPlayback;
88
+ private _destroyAllLayers;
89
+ private _forEachAction;
90
+ private _snapshotLayer;
91
+ private _setTypedParameter;
92
+ private _resolveParameter;
93
+ private _restoreParameterDefaults;
94
+ private _requireActive;
95
+ }
96
+ /**
97
+ * @internal Extends one controller update transaction through caller-owned
98
+ * pose evaluation. It is intentionally not re-exported from package entries.
99
+ */
100
+ export declare function runAnimationStateMachineControllerUpdateTransaction<TAction extends Animation3DStateMachineActionHandle, TResult>(controller: Animation3DStateMachineController<TAction>, deltaSeconds: number, beforeUpdate: () => void, complete: () => TResult): TResult;
101
+ /** Factory kept internal to the runtime directory. */
102
+ export declare function createAnimation3DStateMachineController<TAction extends Animation3DStateMachineActionHandle>(compiled: CompiledAnimation3DStateMachine, port: Animation3DStateMachineMixerPort<TAction>, options?: Animation3DStateMachineControllerOptions): Animation3DStateMachineController<TAction>;
103
+ export {};
@@ -0,0 +1,35 @@
1
+ import type { AnimationStateMachineBindingMask, AnimationStateMachineBlendMode, AnimationStateMachineLoopMode } from '../AnimationStateMachine.js';
2
+ /**
3
+ * The only action shape the state-machine runtime needs. Concrete mixer
4
+ * actions are adapted to this interface by the integration layer.
5
+ */
6
+ export interface AnimationStateMachineActionHandle {
7
+ /** Source clip duration in seconds. */
8
+ readonly duration: number;
9
+ }
10
+ export interface AnimationStateMachineActionOptions {
11
+ readonly layerId: string;
12
+ readonly stateId: string;
13
+ readonly loop: AnimationStateMachineLoopMode;
14
+ readonly blendMode: AnimationStateMachineBlendMode;
15
+ readonly mask: AnimationStateMachineBindingMask | null;
16
+ }
17
+ /**
18
+ * Internal boundary between the state-machine controller and an animation
19
+ * mixer. It deliberately has no dependency on Animation3DMixer or
20
+ * Animation3DAction.
21
+ */
22
+ export interface AnimationStateMachineMixerPort<TAction extends AnimationStateMachineActionHandle = AnimationStateMachineActionHandle> {
23
+ createAction(clipId: string, options: AnimationStateMachineActionOptions): TAction;
24
+ play(action: TAction): void;
25
+ stop(action: TAction): void;
26
+ fade(action: TAction, targetWeight: number, durationSeconds: number): void;
27
+ setWeight(action: TAction, weight: number): void;
28
+ setTime(action: TAction, timeSeconds: number): void;
29
+ setTimeScale(action: TAction, timeScale: number): void;
30
+ destroyAction(action: TAction): void;
31
+ }
32
+ /** Compatibility aliases for the original 3D-prefixed runtime boundary. */
33
+ export type Animation3DStateMachineActionHandle = AnimationStateMachineActionHandle;
34
+ export type Animation3DStateMachineActionOptions = AnimationStateMachineActionOptions;
35
+ export type Animation3DStateMachineMixerPort<TAction extends AnimationStateMachineActionHandle = AnimationStateMachineActionHandle> = AnimationStateMachineMixerPort<TAction>;
@@ -0,0 +1,7 @@
1
+ export { evaluateAnimation3DBlend1DWeights as evaluateAnimationBlend1DWeights, evaluateAnimation3DBlend2DWeights as evaluateAnimationBlend2DWeights, } from './AnimationStateMachineBlendTreeWeights.js';
2
+ export { AnimationStateMachineValidationError, compileAnimationStateMachineDefinition as compileAnimationStateMachine, compileAnimationStateMachineDefinition, validateAnimationStateMachineDefinition, } from './AnimationStateMachineCompiler.js';
3
+ export type { Animation3DStateMachineValidationCode as AnimationStateMachineValidationCode, Animation3DStateMachineValidationIssue as AnimationStateMachineValidationIssue, CompiledAnimation3DBlend1DChild as CompiledAnimationBlend1DChild, CompiledAnimation3DBlend1DMotion as CompiledAnimationBlend1DMotion, CompiledAnimation3DBlend2DChild as CompiledAnimationBlend2DChild, CompiledAnimation3DBlend2DMotion as CompiledAnimationBlend2DMotion, CompiledAnimation3DClipMotion as CompiledAnimationClipMotion, CompiledAnimation3DCondition as CompiledAnimationCondition, CompiledAnimation3DConditionOperator as CompiledAnimationConditionOperator, CompiledAnimation3DLayer as CompiledAnimationLayer, CompiledAnimation3DMotion as CompiledAnimationMotion, CompiledAnimation3DParameter as CompiledAnimationParameter, CompiledAnimation3DParameterType as CompiledAnimationParameterType, CompiledAnimation3DState as CompiledAnimationState, CompiledAnimation3DStateMachine as CompiledAnimationStateMachine, CompiledAnimation3DTransition as CompiledAnimationTransition, } from './AnimationStateMachineCompiler.js';
4
+ export { Animation3DStateMachineController as AnimationStateMachineController, createAnimation3DStateMachineController as createAnimationStateMachineController, runAnimationStateMachineControllerUpdateTransaction, } from './AnimationStateMachineController.js';
5
+ export type { Animation3DStateMachineControllerOptions as AnimationStateMachineControllerOptions, Animation3DStateMachineControllerStatus as AnimationStateMachineControllerStatus, Animation3DStateMachineLayerSnapshot as AnimationStateMachineLayerSnapshot, } from './AnimationStateMachineController.js';
6
+ export type { AnimationStateMachineActionHandle, AnimationStateMachineActionOptions, AnimationStateMachineMixerPort, } from './AnimationStateMachineMixerPort.js';
7
+ export { Animation2DStateMachineActionRuntimeHandle, Animation2DStateMachineMixerAdapter, } from './Animation2DStateMachineMixerAdapter.js';
@@ -0,0 +1,15 @@
1
+ export { Animation2DComponent } from './animation/Animation2DComponent';
2
+ export type { Animation2DComponentOptions, Animation2DRuntimeStats } from './animation/Animation2DComponent';
3
+ export { Animation2DSystem } from './animation/Animation2DSystem';
4
+ export type { Animation2DSystemOptions } from './animation/Animation2DSystem';
5
+ export { Animation2DRenderSystem } from './animation/Animation2DRenderSystem';
6
+ export type { Animation2DRenderStats, Animation2DRenderSystemOptions } from './animation/Animation2DRenderSystem';
7
+ export { tessellateAnimationPath } from './animation/AnimationPathTessellator';
8
+ export { createAnimationAssetLoader, HAIYUE_ANIMATION_ASSET_TYPE } from './animation/AnimationAssetLoader';
9
+ export type { AnimationAssetLoaderOptions } from './animation/AnimationAssetLoader';
10
+ export { Animation2DExtensionRegistry } from './animation/Animation2DExtensionRegistry';
11
+ export type { Animation2DExtensionContext, Animation2DExtensionHandler, Animation2DExtensionInstance, } from './animation/Animation2DExtensionRegistry';
12
+ export { createAnimation2DStateMachineController, } from './animation/Animation2DStateMachine';
13
+ export type { AnimationStateMachineDefinition, } from './animation-state-machine/AnimationStateMachine';
14
+ export { AnimationStateMachineController, AnimationStateMachineValidationError, compileAnimationStateMachine, validateAnimationStateMachineDefinition, } from './animation-state-machine/runtime/index';
15
+ export type { AnimationStateMachineControllerOptions, AnimationStateMachineLayerSnapshot, AnimationStateMachineMixerPort, AnimationStateMachineValidationIssue, } from './animation-state-machine/runtime/index';