@haiyue/extensions 0.1.0 → 0.2.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 (269) hide show
  1. package/README.md +25 -0
  2. package/dist/animation/Animation2DComponent.d.ts +18 -0
  3. package/dist/animation/Animation2DExtensionRegistry.d.ts +7 -0
  4. package/dist/animation/Animation2DRenderSystem.d.ts +6 -0
  5. package/dist/animation/Animation2DRuntime.d.ts +6 -2
  6. package/dist/animation/AnimationTextRasterizer.d.ts +4 -0
  7. package/dist/animation/AnimationVisual2D.d.ts +58 -2
  8. package/dist/animation/interaction/InteractionRuntime.d.ts +83 -0
  9. package/dist/animation/interaction/runtime-types.d.ts +257 -0
  10. package/dist/animation.d.ts +3 -1
  11. package/dist/animation.js +551 -59
  12. package/dist/animation3d.js +1 -1
  13. package/dist/canvas-text.js +1 -1
  14. package/dist/chunks/2d-ui-animation-2d.generated-FpziAeGJ.js +4 -0
  15. package/dist/chunks/2d-ui-indexed-sprite.generated-DmKR0CC3.js +4 -0
  16. package/dist/chunks/Animation2DStateMachine-BHcA6Cu3.js +18212 -0
  17. package/dist/chunks/{AnimationStateMachineController-BIcAh-sT.js → AnimationStateMachineController-4sKaqh9E.js} +2 -2
  18. package/dist/chunks/AnimationVisual2D-8y3qp0_U.js +230 -0
  19. package/dist/chunks/{RenderSystem2DBase-DDT61dAu.js → RenderSystem2DBase-CF2s00vg.js} +2 -2
  20. package/dist/controls/VirtualJoystickControls.d.ts +46 -0
  21. package/dist/controls/contracts.d.ts +91 -0
  22. package/dist/controls.d.ts +2 -0
  23. package/dist/controls.js +358 -0
  24. package/dist/deformable-animation/runtime/DeformableMesh2DRuntimeExtension.d.ts +11 -0
  25. package/dist/deformable-animation/runtime/DeformableMesh2DSampler.d.ts +11 -0
  26. package/dist/deformable-animation.d.ts +5 -0
  27. package/dist/deformable-animation.js +316 -0
  28. package/dist/experimental-indexed-sprite.d.ts +5 -0
  29. package/dist/experimental-indexed-sprite.js +482 -0
  30. package/dist/gltf-worker-runtime.js +9 -9
  31. package/dist/hya-state-machine.js +3 -2
  32. package/dist/index.js +1 -1
  33. package/dist/indexed-sprite/AtlasLayout.d.ts +2 -0
  34. package/dist/indexed-sprite/IndexedSpriteRenderer.d.ts +23 -0
  35. package/dist/indexed-sprite/contracts.d.ts +89 -0
  36. package/dist/internal/2d-ui-shader-artifact.js +232 -23
  37. package/dist/ray-tracing/acceleration/bvh.d.ts +37 -0
  38. package/dist/ray-tracing/acceleration/index.d.ts +6 -0
  39. package/dist/ray-tracing/acceleration/pack.d.ts +152 -0
  40. package/dist/ray-tracing/acceleration/query.d.ts +4 -0
  41. package/dist/ray-tracing/acceleration/runtime.d.ts +30 -0
  42. package/dist/ray-tracing/acceleration/tlas.d.ts +4 -0
  43. package/dist/ray-tracing/acceleration/types.d.ts +165 -0
  44. package/dist/ray-tracing/denoise/index.d.ts +3 -0
  45. package/dist/ray-tracing/denoise/layout.d.ts +9 -0
  46. package/dist/ray-tracing/denoise/runtime.d.ts +23 -0
  47. package/dist/ray-tracing/denoise/types.d.ts +28 -0
  48. package/dist/ray-tracing/hybrid/contract.d.ts +2 -0
  49. package/dist/ray-tracing/hybrid/index.d.ts +5 -0
  50. package/dist/ray-tracing/hybrid/layout.d.ts +17 -0
  51. package/dist/ray-tracing/hybrid/plan.d.ts +2 -0
  52. package/dist/ray-tracing/hybrid/runtime.d.ts +31 -0
  53. package/dist/ray-tracing/hybrid/shaders/hybrid-artifact.generated.d.ts +625 -0
  54. package/dist/ray-tracing/hybrid/types.d.ts +144 -0
  55. package/dist/ray-tracing/lifecycle/device-recovery.d.ts +31 -0
  56. package/dist/ray-tracing/lifecycle/index.d.ts +2 -0
  57. package/dist/ray-tracing/lifecycle/types.d.ts +37 -0
  58. package/dist/ray-tracing/material/index.d.ts +2 -0
  59. package/dist/ray-tracing/material/pack.d.ts +5 -0
  60. package/dist/ray-tracing/material/types.d.ts +63 -0
  61. package/dist/ray-tracing/reference/index.d.ts +122 -0
  62. package/dist/ray-tracing/renderer/index.d.ts +7 -0
  63. package/dist/ray-tracing/renderer/layout.d.ts +20 -0
  64. package/dist/ray-tracing/renderer/plan.d.ts +2 -0
  65. package/dist/ray-tracing/renderer/reference.d.ts +17 -0
  66. package/dist/ray-tracing/renderer/runtime.d.ts +39 -0
  67. package/dist/ray-tracing/renderer/scene.d.ts +4 -0
  68. package/dist/ray-tracing/renderer/types.d.ts +115 -0
  69. package/dist/ray-tracing/sampling/index.d.ts +8 -0
  70. package/dist/ray-tracing/sampling/layout.d.ts +12 -0
  71. package/dist/ray-tracing/sampling/plan.d.ts +5 -0
  72. package/dist/ray-tracing/sampling/revision.d.ts +15 -0
  73. package/dist/ray-tracing/sampling/runtime.d.ts +44 -0
  74. package/dist/ray-tracing/sampling/sequence.d.ts +2 -0
  75. package/dist/ray-tracing/sampling/types.d.ts +96 -0
  76. package/dist/ray-tracing/scene/index.d.ts +41 -0
  77. package/dist/ray-tracing/traversal/index.d.ts +4 -0
  78. package/dist/ray-tracing/traversal/layout.d.ts +16 -0
  79. package/dist/ray-tracing/traversal/plan.d.ts +2 -0
  80. package/dist/ray-tracing/traversal/runtime.d.ts +25 -0
  81. package/dist/ray-tracing/traversal/types.d.ts +79 -0
  82. package/dist/ray-tracing/worker/client.d.ts +25 -0
  83. package/dist/ray-tracing/worker/index.d.ts +5 -0
  84. package/dist/ray-tracing/worker/runtime.d.ts +11 -0
  85. package/dist/ray-tracing/worker/serialization.d.ts +16 -0
  86. package/dist/ray-tracing/worker/source.d.ts +1 -0
  87. package/dist/ray-tracing/worker/types.d.ts +91 -0
  88. package/dist/ray-tracing.d.ts +17 -0
  89. package/dist/ray-tracing.js +7666 -0
  90. package/dist/spine.js +1 -1
  91. package/dist/tilemap.js +1 -1
  92. package/package.json +26 -23
  93. package/dist/animation/Animation2DStateMachineVisualRuntime.d.ts +0 -27
  94. package/dist/animation/Particle2DDescriptorAdapter.d.ts +0 -5
  95. package/dist/animation3d/Animation3DResource.d.ts +0 -28
  96. package/dist/animation3d/hya/HyaAnimation3DStateMachineRuntime.d.ts +0 -65
  97. package/dist/animation3d/hya/index.d.ts +0 -4
  98. package/dist/animation3d/runtime/integration/Animation3DStateMachineMixerAdapter.d.ts +0 -81
  99. package/dist/animation3d/runtime/integration/Animation3DStateMachineMixerIntegration.d.ts +0 -39
  100. package/dist/animation3d/runtime/integration/index.d.ts +0 -2
  101. package/dist/animation3d/runtime/mixer/Action.d.ts +0 -150
  102. package/dist/animation3d/runtime/mixer/Animation3DMixerRuntimeStore.d.ts +0 -6
  103. package/dist/animation3d/runtime/mixer/Mixer.d.ts +0 -59
  104. package/dist/animation3d/runtime/mixer/PoseBuffer.d.ts +0 -1
  105. package/dist/animation3d/runtime/mixer/TrackSampler.d.ts +0 -24
  106. package/dist/animation3d/runtime/mixer/index.d.ts +0 -4
  107. package/dist/animation3d/runtime/state-machine/Animation3DBlendTreeWeights.d.ts +0 -1
  108. package/dist/animation3d/runtime/state-machine/Animation3DStateMachineCompiler.d.ts +0 -1
  109. package/dist/animation3d/runtime/state-machine/Animation3DStateMachineController.d.ts +0 -1
  110. package/dist/animation3d/runtime/state-machine/Animation3DStateMachineMixerPort.d.ts +0 -1
  111. package/dist/animation3d/runtime/state-machine/index.d.ts +0 -6
  112. package/dist/benchmark.d.ts +0 -30
  113. package/dist/chunks/2d-ui-animation-2d.generated-D4aHzFU2.js +0 -4
  114. package/dist/chunks/Animation2DStateMachine-9IonguNa.js +0 -3245
  115. package/dist/gltf/GltfAccessorReader.d.ts +0 -7
  116. package/dist/gltf/GltfDracoDecoder.d.ts +0 -4
  117. package/dist/gltf/GltfLoaderErrors.d.ts +0 -4
  118. package/dist/gltf/GltfMaterialDescriptor.d.ts +0 -23
  119. package/dist/gltf/GltfMaterialLoader.d.ts +0 -6
  120. package/dist/gltf-worker-runtime.d.ts +0 -7
  121. package/dist/plugins/pluginUtils.d.ts +0 -20
  122. package/dist/plugins.d.ts +0 -6
  123. package/dist/shaders/generated/2d-ui-artifact.generated.d.ts +0 -658
  124. package/dist/spine/Spine2DGpuRenderer.d.ts +0 -65
  125. package/dist/spine/Spine2DRuntime.d.ts +0 -103
  126. package/dist/spine/SpineAnimationBoneTimelines.d.ts +0 -8
  127. package/dist/spine/SpineFloatBuilder.d.ts +0 -15
  128. package/dist/spine/SpinePathConstraintSolver.d.ts +0 -32
  129. package/dist/spine/SpineSkeletonRuntime.d.ts +0 -185
  130. package/dist/spine/SpineSlotAnimation.d.ts +0 -17
  131. package/dist/spine/SpineTimelineRuntime.d.ts +0 -25
  132. package/dist/spine/SpineVertexBuilder.d.ts +0 -61
  133. package/dist/tilemap/Tilemap2DRenderer.d.ts +0 -24
  134. package/dist/utils/arrayAccess.d.ts +0 -4
  135. package/dist/utils/camera2d.d.ts +0 -12
  136. package/src/animation/Animation2DComponent.ts +0 -135
  137. package/src/animation/Animation2DExtensionRegistry.ts +0 -52
  138. package/src/animation/Animation2DRenderSystem.ts +0 -1026
  139. package/src/animation/Animation2DRuntime.ts +0 -1326
  140. package/src/animation/Animation2DStateMachine.ts +0 -39
  141. package/src/animation/Animation2DStateMachineComponent.ts +0 -228
  142. package/src/animation/Animation2DStateMachineRuntime.ts +0 -141
  143. package/src/animation/Animation2DStateMachineSystem.ts +0 -60
  144. package/src/animation/Animation2DStateMachineVisualRuntime.ts +0 -282
  145. package/src/animation/Animation2DSystem.ts +0 -72
  146. package/src/animation/AnimationAssetLoader.ts +0 -84
  147. package/src/animation/AnimationAudioClip.ts +0 -140
  148. package/src/animation/AnimationPathTessellator.ts +0 -691
  149. package/src/animation/AnimationTextRasterizer.ts +0 -340
  150. package/src/animation/AnimationVisual2D.ts +0 -153
  151. package/src/animation/HyaAnimation2DClipAdapter.ts +0 -845
  152. package/src/animation/Particle2DDescriptorAdapter.ts +0 -35
  153. package/src/animation/runtime/mixer/Action.ts +0 -876
  154. package/src/animation/runtime/mixer/Mixer.ts +0 -505
  155. package/src/animation/runtime/mixer/PoseBuffer.ts +0 -105
  156. package/src/animation/runtime/mixer/Sampler.ts +0 -252
  157. package/src/animation/runtime/mixer/Types.ts +0 -138
  158. package/src/animation/runtime/mixer/index.ts +0 -31
  159. package/src/animation-state-machine/AnimationStateMachine.ts +0 -146
  160. package/src/animation-state-machine/AnimationStateMachineChannels.ts +0 -116
  161. package/src/animation-state-machine/runtime/Animation2DStateMachineMixerAdapter.ts +0 -197
  162. package/src/animation-state-machine/runtime/AnimationStateMachineBlendTreeWeights.ts +0 -503
  163. package/src/animation-state-machine/runtime/AnimationStateMachineCompiler.ts +0 -763
  164. package/src/animation-state-machine/runtime/AnimationStateMachineController.ts +0 -987
  165. package/src/animation-state-machine/runtime/AnimationStateMachineMixerPort.ts +0 -54
  166. package/src/animation-state-machine/runtime/index.ts +0 -47
  167. package/src/animation.ts +0 -33
  168. package/src/animation3d/Animation3DAction.ts +0 -73
  169. package/src/animation3d/Animation3DBinding.ts +0 -116
  170. package/src/animation3d/Animation3DClip.ts +0 -22
  171. package/src/animation3d/Animation3DError.ts +0 -34
  172. package/src/animation3d/Animation3DMixer.ts +0 -82
  173. package/src/animation3d/Animation3DPose.ts +0 -100
  174. package/src/animation3d/Animation3DPoseBuffer.ts +0 -85
  175. package/src/animation3d/Animation3DResource.ts +0 -49
  176. package/src/animation3d/Animation3DStateMachine.ts +0 -126
  177. package/src/animation3d/Animation3DStateMachineRuntime.ts +0 -191
  178. package/src/animation3d/Animation3DTrack.ts +0 -29
  179. package/src/animation3d/hya/HyaAnimation3DRuntime.ts +0 -756
  180. package/src/animation3d/hya/HyaAnimation3DStateMachineRuntime.ts +0 -618
  181. package/src/animation3d/hya/HyaAnimation3DTypes.ts +0 -168
  182. package/src/animation3d/hya/index.ts +0 -10
  183. package/src/animation3d/index.ts +0 -76
  184. package/src/animation3d/runtime/integration/Animation3DStateMachineMixerAdapter.ts +0 -325
  185. package/src/animation3d/runtime/integration/Animation3DStateMachineMixerIntegration.ts +0 -158
  186. package/src/animation3d/runtime/integration/index.ts +0 -9
  187. package/src/animation3d/runtime/mixer/Action.ts +0 -833
  188. package/src/animation3d/runtime/mixer/Animation3DMixerRuntimeStore.ts +0 -26
  189. package/src/animation3d/runtime/mixer/Mixer.ts +0 -562
  190. package/src/animation3d/runtime/mixer/PoseBuffer.ts +0 -1
  191. package/src/animation3d/runtime/mixer/TrackSampler.ts +0 -399
  192. package/src/animation3d/runtime/mixer/index.ts +0 -8
  193. package/src/animation3d/runtime/state-machine/Animation3DBlendTreeWeights.ts +0 -4
  194. package/src/animation3d/runtime/state-machine/Animation3DStateMachineCompiler.ts +0 -1
  195. package/src/animation3d/runtime/state-machine/Animation3DStateMachineController.ts +0 -1
  196. package/src/animation3d/runtime/state-machine/Animation3DStateMachineMixerPort.ts +0 -1
  197. package/src/animation3d/runtime/state-machine/index.ts +0 -45
  198. package/src/animation3d.ts +0 -5
  199. package/src/benchmark.ts +0 -168
  200. package/src/canvas-text/CanvasText2DRenderSystem.ts +0 -292
  201. package/src/canvas-text/CanvasTextComponent.ts +0 -47
  202. package/src/canvas-text.ts +0 -4
  203. package/src/experimental-gltf-worker.ts +0 -18
  204. package/src/experimental-spine-worker.ts +0 -9
  205. package/src/gltf/GltfAccessorReader.ts +0 -271
  206. package/src/gltf/GltfAnimation3DAdapter.ts +0 -680
  207. package/src/gltf/GltfAnimationRuntime.ts +0 -392
  208. package/src/gltf/GltfAssetWorkerClient.ts +0 -136
  209. package/src/gltf/GltfCompatibilityReport.ts +0 -214
  210. package/src/gltf/GltfConservativeBounds.ts +0 -219
  211. package/src/gltf/GltfDracoDecoder.ts +0 -251
  212. package/src/gltf/GltfExtensionAdapter.ts +0 -340
  213. package/src/gltf/GltfLoaderContract.ts +0 -333
  214. package/src/gltf/GltfLoaderErrors.ts +0 -59
  215. package/src/gltf/GltfMaterialDescriptor.ts +0 -134
  216. package/src/gltf/GltfMaterialEncoder.ts +0 -173
  217. package/src/gltf/GltfMaterialLoader.ts +0 -293
  218. package/src/gltf/GltfModelComponent.ts +0 -115
  219. package/src/gltf/GltfModelSystem.ts +0 -208
  220. package/src/gltf/GltfPlugin.ts +0 -84
  221. package/src/gltf/GltfSchema.ts +0 -229
  222. package/src/gltf/GltfUvSemanticPlanner.ts +0 -166
  223. package/src/gltf/gltfLoader.ts +0 -910
  224. package/src/gltf-animation3d.ts +0 -10
  225. package/src/gltf-worker-runtime.ts +0 -10
  226. package/src/gltf.ts +0 -56
  227. package/src/grid/Grid2DComponent.ts +0 -69
  228. package/src/grid.ts +0 -2
  229. package/src/hya-state-machine.ts +0 -19
  230. package/src/index.ts +0 -2
  231. package/src/plugins/pluginUtils.ts +0 -50
  232. package/src/plugins.ts +0 -6
  233. package/src/shaders/generated/2d-ui-animation-2d.generated.wgsl +0 -242
  234. package/src/shaders/generated/2d-ui-artifact.generated.ts +0 -867
  235. package/src/shaders/generated/2d-ui-canvas-text-2d.generated.wgsl +0 -38
  236. package/src/shaders/generated/2d-ui-spine2d.generated.wgsl +0 -41
  237. package/src/shaders/generated/2d-ui-tilemap2d.generated.wgsl +0 -36
  238. package/src/spine/Spine2DComponent.ts +0 -168
  239. package/src/spine/Spine2DGpuRenderer.ts +0 -449
  240. package/src/spine/Spine2DRenderSystem.ts +0 -199
  241. package/src/spine/Spine2DRuntime.ts +0 -1529
  242. package/src/spine/SpineAnimationBoneTimelines.ts +0 -30
  243. package/src/spine/SpineAssetParser.ts +0 -20
  244. package/src/spine/SpineAssetWorkerClient.ts +0 -112
  245. package/src/spine/SpineAssetWorkerContract.ts +0 -4
  246. package/src/spine/SpineAtlasParser.ts +0 -127
  247. package/src/spine/SpineFloatBuilder.ts +0 -66
  248. package/src/spine/SpinePathConstraintSolver.ts +0 -582
  249. package/src/spine/SpinePlugin.ts +0 -76
  250. package/src/spine/SpineSkeletonRuntime.ts +0 -521
  251. package/src/spine/SpineSlotAnimation.ts +0 -195
  252. package/src/spine/SpineTimelineRuntime.ts +0 -453
  253. package/src/spine/SpineVertexBuilder.ts +0 -686
  254. package/src/spine.ts +0 -7
  255. package/src/tilemap/Tilemap2DComponent.ts +0 -232
  256. package/src/tilemap/Tilemap2DRenderSystem.ts +0 -58
  257. package/src/tilemap/Tilemap2DRenderer.ts +0 -289
  258. package/src/tilemap/TilemapPlugin.ts +0 -75
  259. package/src/tilemap.ts +0 -6
  260. package/src/tween/Tween2DComponent.ts +0 -83
  261. package/src/tween/Tween2DSystem.ts +0 -78
  262. package/src/tween.ts +0 -4
  263. package/src/types/earcut.d.ts +0 -7
  264. package/src/types/wgsl.d.ts +0 -4
  265. package/src/utils/RenderSystem2DBase.ts +0 -164
  266. package/src/utils/arrayAccess.ts +0 -17
  267. package/src/utils/camera2d.ts +0 -68
  268. package/src/utils/render2dGpu.ts +0 -132
  269. package/test/fixtures/gltf/animation-characterization.gltf +0 -344
package/dist/spine.js CHANGED
@@ -3,7 +3,7 @@ import { requireEngineDevice, getExtensionGPUResourceTracker, alignUp4, beginRen
3
3
  import { EngineError, EngineErrorCode } from '@haiyue/engine';
4
4
  import { ErrorRecovery, ErrorDomain } from '@haiyue/engine/core';
5
5
  import { r as resolveAtlasPageImageUrl } from './chunks/SpineAssetParser-BSDmPge1.js';
6
- import { c as createCamera2DGpu, b as createObject2DLayout, e as createTexture2DGpu, d as destroyCamera2DGpu, a as destroyTexture2DGpu, R as RenderSystem2DBase, w as writeObjectMatrixIfChanged } from './chunks/RenderSystem2DBase-DDT61dAu.js';
6
+ import { c as createCamera2DGpu, b as createObject2DLayout, e as createTexture2DGpu, d as destroyCamera2DGpu, a as destroyTexture2DGpu, R as RenderSystem2DBase, w as writeObjectMatrixIfChanged } from './chunks/RenderSystem2DBase-CF2s00vg.js';
7
7
  import { s as spine2dWgsl } from './chunks/2d-ui-spine2d.generated-CUUi8xjl.js';
8
8
  import { E as EXTENSIONS_PLUGIN_VERSION, i as installEditorRenderSystem, r as removeSystem } from './chunks/pluginUtils-CvwroRMd.js';
9
9
  import '@haiyue/engine/ecs';
package/dist/tilemap.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Component } from '@haiyue/engine';
2
2
  import { UniqueCheckType } from '@haiyue/engine/ecs';
3
3
  import { requireEngineDevice, getExtensionGPUResourceTracker, beginRenderCommandPass } from '@haiyue/engine/extension-authoring';
4
- import { c as createCamera2DGpu, f as writeFloatBuffer, g as createObject2DGpu, w as writeObjectMatrixIfChanged, d as destroyCamera2DGpu, h as destroyObject2DGpu, i as createCamera2DLayout, b as createObject2DLayout, R as RenderSystem2DBase } from './chunks/RenderSystem2DBase-DDT61dAu.js';
4
+ import { c as createCamera2DGpu, f as writeFloatBuffer, g as createObject2DGpu, w as writeObjectMatrixIfChanged, d as destroyCamera2DGpu, h as destroyObject2DGpu, i as createCamera2DLayout, b as createObject2DLayout, R as RenderSystem2DBase } from './chunks/RenderSystem2DBase-CF2s00vg.js';
5
5
  import { t as tilemap2dWgsl } from './chunks/2d-ui-tilemap2d.generated-gebw4mX7.js';
6
6
  import { E as EXTENSIONS_PLUGIN_VERSION, i as installEditorRenderSystem, r as removeSystem } from './chunks/pluginUtils-CvwroRMd.js';
7
7
  import '@haiyue/engine/components';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haiyue/extensions",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "private": false,
5
5
  "description": "Stable optional HaiYue runtimes for 2D/3D animation, glTF, Spine, tilemaps, text, tweening, and grids.",
6
6
  "license": "MIT",
@@ -25,97 +25,100 @@
25
25
  "README.md",
26
26
  "LICENSE",
27
27
  "dist/**/*.js",
28
- "dist/**/*.d.ts",
29
- "test/fixtures/gltf/animation-characterization.gltf",
30
- "src/**/*"
28
+ "dist/**/*.d.ts"
31
29
  ],
32
30
  "exports": {
33
31
  ".": {
34
- "source": "./src/index.ts",
35
32
  "types": "./dist/index.d.ts",
36
33
  "import": "./dist/index.js"
37
34
  },
38
35
  "./gltf": {
39
- "source": "./src/gltf.ts",
40
36
  "types": "./dist/gltf.d.ts",
41
37
  "import": "./dist/gltf.js"
42
38
  },
43
39
  "./experimental/gltf-worker": {
44
- "source": "./src/experimental-gltf-worker.ts",
45
40
  "types": "./dist/experimental-gltf-worker.d.ts",
46
41
  "import": "./dist/experimental-gltf-worker.js"
47
42
  },
48
43
  "./experimental/spine-worker": {
49
- "source": "./src/experimental-spine-worker.ts",
50
44
  "types": "./dist/experimental-spine-worker.d.ts",
51
45
  "import": "./dist/experimental-spine-worker.js"
52
46
  },
47
+ "./experimental/indexed-sprite": {
48
+ "types": "./dist/experimental-indexed-sprite.d.ts",
49
+ "import": "./dist/experimental-indexed-sprite.js"
50
+ },
51
+ "./ray-tracing": {
52
+ "types": "./dist/ray-tracing.d.ts",
53
+ "import": "./dist/ray-tracing.js"
54
+ },
53
55
  "./spine": {
54
- "source": "./src/spine.ts",
55
56
  "types": "./dist/spine.d.ts",
56
57
  "import": "./dist/spine.js"
57
58
  },
58
59
  "./tilemap": {
59
- "source": "./src/tilemap.ts",
60
60
  "types": "./dist/tilemap.d.ts",
61
61
  "import": "./dist/tilemap.js"
62
62
  },
63
63
  "./canvas-text": {
64
- "source": "./src/canvas-text.ts",
65
64
  "types": "./dist/canvas-text.d.ts",
66
65
  "import": "./dist/canvas-text.js"
67
66
  },
68
67
  "./tween": {
69
- "source": "./src/tween.ts",
70
68
  "types": "./dist/tween.d.ts",
71
69
  "import": "./dist/tween.js"
72
70
  },
73
71
  "./grid": {
74
- "source": "./src/grid.ts",
75
72
  "types": "./dist/grid.d.ts",
76
73
  "import": "./dist/grid.js"
77
74
  },
78
75
  "./animation": {
79
- "source": "./src/animation.ts",
80
76
  "types": "./dist/animation.d.ts",
81
77
  "import": "./dist/animation.js"
82
78
  },
79
+ "./deformable-animation": {
80
+ "types": "./dist/deformable-animation.d.ts",
81
+ "import": "./dist/deformable-animation.js"
82
+ },
83
83
  "./hya-state-machine": {
84
- "source": "./src/hya-state-machine.ts",
85
84
  "types": "./dist/hya-state-machine.d.ts",
86
85
  "import": "./dist/hya-state-machine.js"
87
86
  },
88
87
  "./animation3d": {
89
- "source": "./src/animation3d.ts",
90
88
  "types": "./dist/animation3d.d.ts",
91
89
  "import": "./dist/animation3d.js"
92
90
  },
93
91
  "./gltf-animation3d": {
94
- "source": "./src/gltf-animation3d.ts",
95
92
  "types": "./dist/gltf-animation3d.d.ts",
96
93
  "import": "./dist/gltf-animation3d.js"
94
+ },
95
+ "./controls": {
96
+ "types": "./dist/controls.d.ts",
97
+ "import": "./dist/controls.js"
97
98
  }
98
99
  },
99
100
  "scripts": {
100
- "build": "node ../scripts/build-rollup-once.mjs && node ../scripts/build-rollup-once.mjs rollup.worker.config.js",
101
+ "build": "node ../scripts/build-rollup-once.mjs && node ../scripts/build-rollup-once.mjs rollup.worker.config.js && node ../scripts/prune-package-declarations.mjs extensions",
101
102
  "build:animation-runtime-tests": "node -e \"require('node:fs').rmSync('dist-test', { recursive: true, force: true })\" && tsc -p tsconfig.animation-runtime-tests.json",
102
103
  "test": "npm run build && npm run build:animation-runtime-tests && node --test --test-concurrency=1 \"test/**/*.test.mjs\"",
103
- "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.animation3d-type-tests.json && tsc -p tsconfig.animation-runtime-tests.json --noEmit"
104
+ "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.animation3d-type-tests.json && tsc -p tsconfig.indexed-sprite-type-tests.json && tsc -p tsconfig.animation-runtime-tests.json --noEmit && tsc -p tsconfig.controls-type-tests.json"
104
105
  },
105
106
  "dependencies": {
106
107
  "draco3dgltf": "^1.5.7",
107
108
  "earcut": "^3.0.2",
109
+ "opentype.js": "^1.3.4",
108
110
  "wgpu-matrix": "^3.0.0"
109
111
  },
110
112
  "peerDependencies": {
111
- "@haiyue/animation-spec": ">=0.1.0 <0.2.0",
112
- "@haiyue/engine": ">=0.1.0 <0.2.0"
113
+ "@haiyue/animation-spec": ">=0.2.0 <0.3.0",
114
+ "@haiyue/engine": ">=0.2.0 <0.3.0"
113
115
  },
114
116
  "devDependencies": {
115
- "@haiyue/animation-spec": "0.1.0",
116
- "@haiyue/engine": "0.1.0",
117
+ "@haiyue/animation-spec": "0.2.0",
118
+ "@haiyue/engine": "0.2.0",
117
119
  "@rollup/plugin-node-resolve": "^15.0.0",
118
120
  "@rollup/plugin-typescript": "^11.0.0",
121
+ "@types/opentype.js": "^1.3.8",
119
122
  "@webgpu/types": "^0.1.40",
120
123
  "rollup": "^4.0.0",
121
124
  "tslib": "^2.6.0",
@@ -1,27 +0,0 @@
1
- import type { Entity } from '@haiyue/engine';
2
- import type { AssetManager } from '@haiyue/engine/assets';
3
- import type { ParsedAnimation } from '@haiyue/animation-spec';
4
- import type { Animation2DExtensionRegistry } from './Animation2DExtensionRegistry.js';
5
- import { Animation2DRuntime } from './Animation2DRuntime.js';
6
- import type { Animation2DPose } from './runtime/mixer/index.js';
7
- import { type AnimationStateMachineChannelDiagnostic } from '../animation-state-machine/AnimationStateMachineChannels.js';
8
- /** State-machine-only pose writer kept out of the ordinary Animation2D bundle. */
9
- export declare class Animation2DStateMachineVisualRuntime extends Animation2DRuntime {
10
- private readonly _particleOwners;
11
- private readonly _audioOwners;
12
- private readonly _effectPayloads;
13
- private readonly _diagnostics;
14
- private readonly _reportedAudioRejections;
15
- constructor(owner: Entity, animation: ParsedAnimation, runtimeExtensions?: Animation2DExtensionRegistry, assetManager?: AssetManager);
16
- get diagnostics(): readonly AnimationStateMachineChannelDiagnostic[];
17
- get sideEffectOwnerCount(): number;
18
- resetSideEffects(): void;
19
- applyPose(pose: Animation2DPose, playing?: boolean, speed?: number): void;
20
- setPlaying(playing: boolean): void;
21
- destroy(): void;
22
- private _applyVisualOpacity;
23
- private _applyEffect;
24
- private _particleTarget;
25
- private _audioTarget;
26
- private _reportAudioRejection;
27
- }
@@ -1,5 +0,0 @@
1
- import type { AnimationParticle2DComponent } from '@haiyue/animation-spec';
2
- import { ParticleEmitter2D, type ParticleEmitter2DOptions } from '@haiyue/engine/components';
3
- /** Single runtime mapping from screen-y-down HYA data to the engine's y-up emitter. */
4
- export declare function particle2DDescriptorToEmitterOptions(component: Readonly<AnimationParticle2DComponent>): ParticleEmitter2DOptions;
5
- export declare function createParticle2DEmitter(component: Readonly<AnimationParticle2DComponent>): ParticleEmitter2D;
@@ -1,28 +0,0 @@
1
- import type { AssetHandle, AssetJobPriority, AssetOwnerScope } from '@haiyue/engine/assets';
2
- import type { Animation3DClip } from './Animation3DClip';
3
- import type { Animation3DStateMachineDefinition } from './Animation3DStateMachine';
4
- export type Animation3DClipHandle = AssetHandle<Animation3DClip>;
5
- export type Animation3DStateMachineHandle = AssetHandle<Animation3DStateMachineDefinition>;
6
- export type Animation3DResourceSource = Readonly<{
7
- kind: 'url';
8
- url: string;
9
- cacheKey?: string;
10
- }> | Readonly<{
11
- kind: 'buffer';
12
- data: ArrayBuffer;
13
- /** Required because ArrayBuffer identity is not a persistent cache key. */
14
- cacheKey: string;
15
- }>;
16
- export interface Animation3DResourceLoadOptions {
17
- readonly signal?: AbortSignal;
18
- readonly owner?: AssetOwnerScope;
19
- readonly priority?: AssetJobPriority | number;
20
- }
21
- /**
22
- * Contract for an AssetManager-backed loader. Implementations must return a
23
- * distinct handle per acquisition and make handle.release() idempotent.
24
- */
25
- export interface Animation3DResourceLoader {
26
- loadClip(source: Animation3DResourceSource, options?: Animation3DResourceLoadOptions): Promise<Animation3DClipHandle>;
27
- loadStateMachine(source: Animation3DResourceSource, options?: Animation3DResourceLoadOptions): Promise<Animation3DStateMachineHandle>;
28
- }
@@ -1,65 +0,0 @@
1
- import { ParticleEmitter3D } from '@haiyue/engine/components';
2
- import type { AnimationStateMachineDefinition } from '../../animation-state-machine/AnimationStateMachine.js';
3
- import { AnimationStateMachineController, type AnimationStateMachineActionOptions } from '../../animation-state-machine/runtime/index.js';
4
- import type { Animation3DClip } from '../Animation3DClip.js';
5
- import type { Animation3DPose } from '../Animation3DPose.js';
6
- import { Animation3DPoseBuffer } from '../Animation3DPoseBuffer.js';
7
- import type { Animation3DStateMachineDefinition } from '../Animation3DStateMachine.js';
8
- import { type Animation3DStateMachineActionRuntimeHandle } from '../runtime/integration/Animation3DStateMachineMixerAdapter.js';
9
- import { Animation3DMixerRuntime } from '../runtime/mixer/Mixer.js';
10
- export interface HyaAnimation3DStateMachinePartition {
11
- readonly id: string;
12
- readonly mixer: Animation3DMixerRuntime;
13
- readonly clips: ReadonlyMap<string, Animation3DClip>;
14
- /** Maps authored HYA binding ids to a model runtime's source binding ids. */
15
- readonly bindingIds?: ReadonlyMap<string, string>;
16
- readonly pose?: Animation3DPoseBuffer;
17
- readonly apply: (pose: Animation3DPose) => void;
18
- }
19
- export interface HyaAnimation3DParticleCue {
20
- readonly key: string;
21
- readonly emitter: ParticleEmitter3D;
22
- readonly start: number;
23
- readonly end: number;
24
- }
25
- export interface HyaAnimation3DStateMachineRuntimeOptions {
26
- readonly definition: AnimationStateMachineDefinition | Animation3DStateMachineDefinition;
27
- readonly clips: readonly Animation3DClip[];
28
- readonly partitions: readonly HyaAnimation3DStateMachinePartition[];
29
- readonly particleCues?: ReadonlyMap<string, readonly HyaAnimation3DParticleCue[]>;
30
- }
31
- export declare class HyaAnimation3DStateMachineActionHandle {
32
- readonly id: string;
33
- readonly clipId: string;
34
- readonly duration: number;
35
- readonly loop: AnimationStateMachineActionOptions['loop'];
36
- readonly children: readonly Animation3DStateMachineActionRuntimeHandle[];
37
- readonly activeCueKeys: Set<string>;
38
- targetTime: number;
39
- traversal: number;
40
- playing: boolean;
41
- destroyed: boolean;
42
- pendingDestroy: boolean;
43
- constructor(id: string, clipId: string, duration: number, loop: AnimationStateMachineActionOptions['loop'], children: readonly Animation3DStateMachineActionRuntimeHandle[]);
44
- }
45
- /** Coordinates native scene, glTF model and Particle3D channels with one controller transaction. */
46
- export declare class HyaAnimation3DStateMachineRuntime {
47
- readonly controller: AnimationStateMachineController<HyaAnimation3DStateMachineActionHandle>;
48
- private readonly _partitions;
49
- private readonly _port;
50
- private _time;
51
- private _destroyed;
52
- constructor(options: HyaAnimation3DStateMachineRuntimeOptions);
53
- get time(): number;
54
- get liveActionCount(): number;
55
- get liveBindingCount(): number;
56
- get sideEffectOwnerCount(): number;
57
- update(deltaSeconds: number): void;
58
- evaluate(): void;
59
- reset(): void;
60
- destroy(): void;
61
- private _runFrame;
62
- private _openFrames;
63
- private _cancelFrames;
64
- private _requireActive;
65
- }
@@ -1,4 +0,0 @@
1
- export { HyaAnimation3DRuntime, createHyaAnimation3DRuntime } from './HyaAnimation3DRuntime';
2
- export { HyaAnimation3DStateMachineRuntime, } from './HyaAnimation3DStateMachineRuntime';
3
- export type { HyaAnimation3DParticleCue, HyaAnimation3DStateMachinePartition, HyaAnimation3DStateMachineRuntimeOptions, } from './HyaAnimation3DStateMachineRuntime';
4
- export type * from './HyaAnimation3DTypes';
@@ -1,81 +0,0 @@
1
- import type { Animation3DClip } from '../../Animation3DClip.js';
2
- import type { Animation3DMutablePose } from '../../Animation3DPose.js';
3
- import type { AnimationStateMachineActionOptions, AnimationStateMachineMixerPort } from '../../../animation-state-machine/runtime/AnimationStateMachineMixerPort.js';
4
- import { Animation3DActionRuntime } from '../mixer/Action.js';
5
- import { Animation3DMixerRuntime } from '../mixer/Mixer.js';
6
- /**
7
- * Resolves the serializable clip ids stored in state-machine definitions.
8
- * Returned clips remain resolver/caller-owned.
9
- */
10
- export interface Animation3DStateMachineClipResolver {
11
- resolve(clipId: string): Animation3DClip | null;
12
- }
13
- export declare class Animation3DStateMachineActionRuntimeHandle {
14
- readonly duration: number;
15
- readonly clipId: string;
16
- readonly layerId: string;
17
- readonly stateId: string;
18
- readonly action: Animation3DActionRuntime;
19
- targetTime: number;
20
- appliedTime: number;
21
- playing: boolean;
22
- destroyed: boolean;
23
- pendingDestroy: boolean;
24
- private readonly _actionCheckpoint;
25
- private _checkpointTargetTime;
26
- private _checkpointAppliedTime;
27
- private _checkpointPlaying;
28
- constructor(clipId: string, options: AnimationStateMachineActionOptions, action: Animation3DActionRuntime);
29
- captureTransactionState(): void;
30
- restoreTransactionState(): void;
31
- }
32
- /**
33
- * Adapts the dimension-neutral state-machine port to the real 3D mixer.
34
- *
35
- * The controller owns every action playhead. The adapter applies its absolute
36
- * times to actions while a synchronized mixer frame is open; it never calls
37
- * mixer.update(), so the mixer clock cannot advance the same actions again.
38
- */
39
- export declare class Animation3DStateMachineMixerAdapter implements AnimationStateMachineMixerPort<Animation3DStateMachineActionRuntimeHandle> {
40
- readonly mixer: Animation3DMixerRuntime;
41
- readonly clipResolver: Animation3DStateMachineClipResolver;
42
- private readonly _handles;
43
- private readonly _transactionHandles;
44
- private readonly _transactionCreated;
45
- private readonly _transactionPendingDestroy;
46
- private readonly _actionIdPrefix;
47
- private _nextActionId;
48
- private _transactionNextActionId;
49
- private _frameOut;
50
- private _controllerTransactionActive;
51
- private _destroyed;
52
- constructor(mixer: Animation3DMixerRuntime, clipResolver: Animation3DStateMachineClipResolver);
53
- get liveActionCount(): number;
54
- createAction(clipId: string, options: AnimationStateMachineActionOptions): Animation3DStateMachineActionRuntimeHandle;
55
- play(action: Animation3DStateMachineActionRuntimeHandle): void;
56
- stop(action: Animation3DStateMachineActionRuntimeHandle): void;
57
- fade(action: Animation3DStateMachineActionRuntimeHandle, _targetWeight: number, _durationSeconds: number): void;
58
- setWeight(action: Animation3DStateMachineActionRuntimeHandle, weight: number): void;
59
- setTime(action: Animation3DStateMachineActionRuntimeHandle, timeSeconds: number): void;
60
- setTimeScale(action: Animation3DStateMachineActionRuntimeHandle, timeScale: number): void;
61
- destroyAction(action: Animation3DStateMachineActionRuntimeHandle): void;
62
- /** @internal Called by the shared controller transaction boundary. */
63
- beginControllerTransaction(): void;
64
- /** @internal Makes deferred action destruction observable atomically. */
65
- commitControllerTransaction(): void;
66
- /** @internal Removes new actions and restores exact event/playhead state. */
67
- rollbackControllerTransaction(): void;
68
- beginFrame(out: Animation3DMutablePose): void;
69
- endFrame(out: Animation3DMutablePose): void;
70
- cancelFrame(out: Animation3DMutablePose): void;
71
- /**
72
- * Releases adapter-created actions only. The mixer, clips, and clip resolver
73
- * are externally owned and are never destroyed by this adapter.
74
- */
75
- destroy(): void;
76
- private _applyTime;
77
- private _destroyHandleNow;
78
- private _clearControllerTransaction;
79
- private _requireActive;
80
- private _requireHandle;
81
- }
@@ -1,39 +0,0 @@
1
- import type { Animation3DMutablePose, Animation3DPose } from '../../Animation3DPose.js';
2
- import { Animation3DStateMachineController, type Animation3DStateMachineControllerOptions } from '../state-machine/Animation3DStateMachineController.js';
3
- import type { CompiledAnimation3DStateMachine } from '../state-machine/Animation3DStateMachineCompiler.js';
4
- import { Animation3DMixerRuntime } from '../mixer/Mixer.js';
5
- import { Animation3DStateMachineMixerAdapter, type Animation3DStateMachineActionRuntimeHandle, type Animation3DStateMachineClipResolver } from './Animation3DStateMachineMixerAdapter.js';
6
- export type Animation3DStateMachineMixerIntegrationState = 'active' | 'destroyed';
7
- /**
8
- * Closed-loop runtime for a compiled state machine and the real 3D mixer.
9
- *
10
- * The state-machine controller is the unique playback-clock owner. A frame
11
- * advances the controller once, synchronizes absolute action playheads, then
12
- * asks the mixer to evaluate without advancing any action time.
13
- */
14
- export declare class Animation3DStateMachineMixerIntegration {
15
- readonly mixer: Animation3DMixerRuntime;
16
- readonly adapter: Animation3DStateMachineMixerAdapter;
17
- readonly controller: Animation3DStateMachineController<Animation3DStateMachineActionRuntimeHandle>;
18
- private _state;
19
- private _time;
20
- private _transactionOut;
21
- private readonly _beginControllerUpdate;
22
- private readonly _completeControllerUpdate;
23
- constructor(compiled: CompiledAnimation3DStateMachine, mixer: Animation3DMixerRuntime, clipResolver: Animation3DStateMachineClipResolver, controllerOptions?: Animation3DStateMachineControllerOptions);
24
- get state(): Animation3DStateMachineMixerIntegrationState;
25
- get time(): number;
26
- update(deltaSeconds: number, out: Animation3DMutablePose): Animation3DPose;
27
- /**
28
- * Re-evaluates the current controller-owned time without advancing it.
29
- */
30
- evaluate(out: Animation3DMutablePose): Animation3DPose;
31
- reset(out: Animation3DMutablePose): Animation3DPose;
32
- /**
33
- * Stops and removes every controller action. External mixer/clip resources
34
- * remain caller-owned. Repeated calls are safe.
35
- */
36
- destroy(): void;
37
- private _requireActive;
38
- private _requireTransactionOut;
39
- }
@@ -1,2 +0,0 @@
1
- export { Animation3DStateMachineActionRuntimeHandle, Animation3DStateMachineMixerAdapter, type Animation3DStateMachineClipResolver, } from './Animation3DStateMachineMixerAdapter.js';
2
- export { Animation3DStateMachineMixerIntegration, type Animation3DStateMachineMixerIntegrationState, } from './Animation3DStateMachineMixerIntegration.js';
@@ -1,150 +0,0 @@
1
- import type { Animation3DBinding, Animation3DBindingMask } from '../../Animation3DBinding.js';
2
- import type { Animation3DAction, Animation3DActionOptions, Animation3DActionStatus, Animation3DBlendMode, Animation3DLoopMode } from '../../Animation3DAction.js';
3
- import type { Animation3DClip } from '../../Animation3DClip.js';
4
- import type { Animation3DMutablePose } from '../../Animation3DPose.js';
5
- import type { Animation3DTrack } from '../../Animation3DTrack.js';
6
- import { Animation3DTrackSampler } from './TrackSampler.js';
7
- export interface Animation3DActionOwner {
8
- readonly time: number;
9
- assertActive(): void;
10
- }
11
- export interface Animation3DActionTrackRuntime {
12
- readonly track: Animation3DTrack;
13
- readonly sampler: Animation3DTrackSampler;
14
- readonly reference: Float32Array;
15
- }
16
- /** @internal Reusable exact state used by controller-owned frame transactions. */
17
- export interface Animation3DActionSynchronizedState {
18
- status: Animation3DActionStatus;
19
- enabled: boolean;
20
- paused: boolean;
21
- time: number;
22
- rawTime: number;
23
- timeScale: number;
24
- weight: number;
25
- loop: Animation3DLoopMode;
26
- repetitions: number;
27
- clampWhenFinished: boolean;
28
- blendMode: Animation3DBlendMode;
29
- mask: Animation3DBindingMask | null;
30
- startTime: number | null;
31
- eventsStarted: boolean;
32
- fadeActive: boolean;
33
- fadeStart: number;
34
- fadeEnd: number;
35
- fadeFrom: number;
36
- fadeTo: number;
37
- fadeValue: number;
38
- warpActive: boolean;
39
- warpStart: number;
40
- warpEnd: number;
41
- warpFrom: number;
42
- warpTo: number;
43
- warpValue: number;
44
- }
45
- /**
46
- * Mutable mixer-owned playback state for one immutable clip.
47
- */
48
- export declare class Animation3DActionRuntime implements Animation3DAction {
49
- readonly id: string;
50
- readonly clip: Animation3DClip;
51
- readonly runtimeTracks: readonly Animation3DActionTrackRuntime[];
52
- private readonly _owner;
53
- private readonly _runtimeEvents;
54
- private _valid;
55
- private _status;
56
- private _enabled;
57
- private _paused;
58
- private _time;
59
- private _rawTime;
60
- private _timeScale;
61
- private _weight;
62
- private _loop;
63
- private _repetitions;
64
- private _clampWhenFinished;
65
- private _blendMode;
66
- private _mask;
67
- private _startTime;
68
- private _eventsStarted;
69
- private _fadeActive;
70
- private _fadeStart;
71
- private _fadeEnd;
72
- private _fadeFrom;
73
- private _fadeTo;
74
- private _fadeValue;
75
- private _warpActive;
76
- private _warpStart;
77
- private _warpEnd;
78
- private _warpFrom;
79
- private _warpTo;
80
- private _warpValue;
81
- constructor(owner: Animation3DActionOwner, clip: Animation3DClip, id: string, options?: Animation3DActionOptions);
82
- get status(): Animation3DActionStatus;
83
- get enabled(): boolean;
84
- set enabled(value: boolean);
85
- get paused(): boolean;
86
- set paused(value: boolean);
87
- get time(): number;
88
- set time(value: number);
89
- get timeScale(): number;
90
- set timeScale(value: number);
91
- get weight(): number;
92
- set weight(value: number);
93
- get loop(): Animation3DLoopMode;
94
- set loop(value: Animation3DLoopMode);
95
- get repetitions(): number;
96
- set repetitions(value: number);
97
- get clampWhenFinished(): boolean;
98
- set clampWhenFinished(value: boolean);
99
- get blendMode(): Animation3DBlendMode;
100
- set blendMode(value: Animation3DBlendMode);
101
- get mask(): Animation3DBindingMask | null;
102
- set mask(value: Animation3DBindingMask | null);
103
- get effectiveTimeScale(): number;
104
- get effectiveWeight(): number;
105
- play(): this;
106
- stop(): this;
107
- reset(): this;
108
- startAt(mixerTimeSeconds: number): this;
109
- fadeIn(durationSeconds: number): this;
110
- fadeOut(durationSeconds: number): this;
111
- crossFadeFrom(source: Animation3DAction, durationSeconds: number, warp?: boolean): this;
112
- crossFadeTo(destination: Animation3DAction, durationSeconds: number, warp?: boolean): this;
113
- stopFading(): this;
114
- acceptsBinding(binding: Animation3DBinding): boolean;
115
- canContribute(): boolean;
116
- /** @internal Allocated once by an integration handle and reused every frame. */
117
- createSynchronizedState(): Animation3DActionSynchronizedState;
118
- /** @internal Captures every field changed by controller synchronization. */
119
- captureSynchronizedState(out: Animation3DActionSynchronizedState): void;
120
- /** @internal Restores event cursors as well as the sampled playhead. */
121
- restoreSynchronizedState(state: Animation3DActionSynchronizedState): void;
122
- /**
123
- * Sets an unwrapped controller-owned playhead without emitting events.
124
- * Integration adapters use this for initial destination offsets before play.
125
- */
126
- seekSynchronizedTime(timeSeconds: number): void;
127
- /**
128
- * Moves to an absolute controller-owned playhead and emits every crossed
129
- * clip event exactly once. This does not advance the mixer clock.
130
- */
131
- synchronizeTime(timeSeconds: number, out: Animation3DMutablePose): void;
132
- advance(mixerDelta: number, previousMixerTime: number, currentMixerTime: number, out: Animation3DMutablePose): void;
133
- invalidate(): void;
134
- private _clampSynchronizedTime;
135
- private _setSampleTime;
136
- private _emitCrossedEvents;
137
- private _emitStartingEvents;
138
- private _emitOnceEvents;
139
- private _emitRepeatEvents;
140
- private _emitPingPongEvents;
141
- private _emitPingPongTraversal;
142
- private _scheduleFade;
143
- private _scheduleWarp;
144
- private _fadeFactor;
145
- private _warpFactor;
146
- private _finishTransitions;
147
- private _requireSibling;
148
- private _resetSamplerCursors;
149
- private _assertValid;
150
- }
@@ -1,6 +0,0 @@
1
- import type { Animation3DMixer } from '../../Animation3DMixer.js';
2
- import type { Animation3DMixerRuntime } from './Mixer.js';
3
- /** @internal Connects the public facade to controller-only runtime operations. */
4
- export declare function registerAnimation3DMixerRuntime(mixer: Animation3DMixer, runtime: Animation3DMixerRuntime): void;
5
- /** @internal Used only by the state-machine facade integration. */
6
- export declare function animation3DMixerRuntime(mixer: Animation3DMixer): Animation3DMixerRuntime;
@@ -1,59 +0,0 @@
1
- import type { Animation3DBindingResolver } from '../../Animation3DBinding.js';
2
- import type { Animation3DAction, Animation3DActionOptions } from '../../Animation3DAction.js';
3
- import type { Animation3DClip } from '../../Animation3DClip.js';
4
- import type { Animation3DMixerState } from '../../Animation3DMixer.js';
5
- import type { Animation3DMutablePose, Animation3DPose } from '../../Animation3DPose.js';
6
- import { type Animation3DActionOwner } from './Action.js';
7
- /**
8
- * Contract-compatible Animation3D mixer runtime.
9
- *
10
- * Clips remain caller-owned immutable values. The mixer caches only samplers,
11
- * blend accumulators, and resolver results; it never retains AssetHandles.
12
- */
13
- export declare class Animation3DMixerRuntime implements Animation3DActionOwner {
14
- readonly resolver: Animation3DBindingResolver;
15
- private readonly _actions;
16
- private readonly _actionsById;
17
- private readonly _accumulators;
18
- private readonly _accumulatorList;
19
- private readonly _resolvedBindings;
20
- private _resolverRevision;
21
- private _state;
22
- private _time;
23
- private _timeScale;
24
- private _nextActionId;
25
- private _synchronizedFrameOut;
26
- private _synchronizedPreviousTime;
27
- constructor(resolver: Animation3DBindingResolver);
28
- get state(): Animation3DMixerState;
29
- get actions(): readonly Animation3DAction[];
30
- get liveBindingCount(): number;
31
- get time(): number;
32
- get timeScale(): number;
33
- set timeScale(value: number);
34
- createAction(clip: Animation3DClip, options?: Animation3DActionOptions): Animation3DAction;
35
- getAction(actionId: string): Animation3DAction | null;
36
- removeAction(action: Animation3DAction | string): boolean;
37
- stopAllActions(): this;
38
- update(deltaSeconds: number, out: Animation3DMutablePose): Animation3DPose;
39
- evaluate(out: Animation3DMutablePose): Animation3DPose;
40
- setTime(timeSeconds: number, out: Animation3DMutablePose): Animation3DPose;
41
- /**
42
- * Opens an externally-clocked evaluation frame. Ordinary update/evaluate/
43
- * setTime calls are rejected until the synchronized frame is closed.
44
- */
45
- beginSynchronizedFrame(timeSeconds: number, out: Animation3DMutablePose): void;
46
- endSynchronizedFrame(out: Animation3DMutablePose): Animation3DPose;
47
- cancelSynchronizedFrame(out: Animation3DMutablePose): void;
48
- /** @internal Restores a completed frame when a sibling mixer in one controller transaction fails. */
49
- rollbackCompletedSynchronizedFrame(timeSeconds: number): void;
50
- destroy(): void;
51
- assertActive(): void;
52
- private _requireIndependentClock;
53
- private _advanceActions;
54
- private _evaluateInto;
55
- private _retainBinding;
56
- private _releaseBinding;
57
- private _invalidateResolvedBindingsIfNeeded;
58
- private _readBase;
59
- }
@@ -1 +0,0 @@
1
- export { Animation3DPoseBuffer } from '../../Animation3DPoseBuffer.js';