@aura3d/animation 1.1.0 → 1.3.1

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 (121) hide show
  1. package/dist/AnimationClipEvents.d.ts +55 -0
  2. package/dist/AnimationClipEvents.d.ts.map +1 -1
  3. package/dist/AnimationClipEvents.js +136 -0
  4. package/dist/AnimationClipEvents.js.map +1 -1
  5. package/dist/AnimationClipRegistry.d.ts +9 -3
  6. package/dist/AnimationClipRegistry.d.ts.map +1 -1
  7. package/dist/AnimationClipRegistry.js +52 -5
  8. package/dist/AnimationClipRegistry.js.map +1 -1
  9. package/dist/AnimationController.d.ts +6 -6
  10. package/dist/AnimationController.d.ts.map +1 -1
  11. package/dist/AnimationController.js +3 -3
  12. package/dist/AnimationController.js.map +1 -1
  13. package/dist/AnimationMixer.d.ts +10 -0
  14. package/dist/AnimationMixer.d.ts.map +1 -1
  15. package/dist/AnimationMixer.js +35 -0
  16. package/dist/AnimationMixer.js.map +1 -1
  17. package/dist/AnimationStateGraph.d.ts +14 -5
  18. package/dist/AnimationStateGraph.d.ts.map +1 -1
  19. package/dist/AnimationStateGraph.js +25 -2
  20. package/dist/AnimationStateGraph.js.map +1 -1
  21. package/dist/AnimationStateMachine.d.ts +26 -0
  22. package/dist/AnimationStateMachine.d.ts.map +1 -1
  23. package/dist/AnimationStateMachine.js +32 -0
  24. package/dist/AnimationStateMachine.js.map +1 -1
  25. package/dist/Bone.d.ts +4 -0
  26. package/dist/Bone.d.ts.map +1 -1
  27. package/dist/Bone.js +3 -0
  28. package/dist/Bone.js.map +1 -1
  29. package/dist/FighterAnimationAdapter.d.ts +49 -0
  30. package/dist/FighterAnimationAdapter.d.ts.map +1 -0
  31. package/dist/FighterAnimationAdapter.js +71 -0
  32. package/dist/FighterAnimationAdapter.js.map +1 -0
  33. package/dist/FootIk.d.ts +77 -0
  34. package/dist/FootIk.d.ts.map +1 -0
  35. package/dist/FootIk.js +153 -0
  36. package/dist/FootIk.js.map +1 -0
  37. package/dist/HumanoidBoneInference.d.ts +61 -0
  38. package/dist/HumanoidBoneInference.d.ts.map +1 -0
  39. package/dist/HumanoidBoneInference.js +239 -0
  40. package/dist/HumanoidBoneInference.js.map +1 -0
  41. package/dist/HumanoidRetargeting.d.ts +48 -4
  42. package/dist/HumanoidRetargeting.d.ts.map +1 -1
  43. package/dist/HumanoidRetargeting.js +149 -14
  44. package/dist/HumanoidRetargeting.js.map +1 -1
  45. package/dist/IK.d.ts +5 -0
  46. package/dist/IK.d.ts.map +1 -1
  47. package/dist/IK.js +9 -0
  48. package/dist/IK.js.map +1 -1
  49. package/dist/Inertialization.d.ts +65 -0
  50. package/dist/Inertialization.d.ts.map +1 -0
  51. package/dist/Inertialization.js +211 -0
  52. package/dist/Inertialization.js.map +1 -0
  53. package/dist/LocomotionController.d.ts +5 -0
  54. package/dist/LocomotionController.d.ts.map +1 -1
  55. package/dist/LocomotionController.js +3 -0
  56. package/dist/LocomotionController.js.map +1 -1
  57. package/dist/LocomotionKit.d.ts +52 -0
  58. package/dist/LocomotionKit.d.ts.map +1 -0
  59. package/dist/LocomotionKit.js +38 -0
  60. package/dist/LocomotionKit.js.map +1 -0
  61. package/dist/MotionQuality.d.ts +3 -3
  62. package/dist/MotionQuality.d.ts.map +1 -1
  63. package/dist/MotionQuality.js +2 -2
  64. package/dist/MotionQuality.js.map +1 -1
  65. package/dist/RigQuality.d.ts +31 -0
  66. package/dist/RigQuality.d.ts.map +1 -0
  67. package/dist/RigQuality.js +70 -0
  68. package/dist/RigQuality.js.map +1 -0
  69. package/dist/SecondaryAnimationFixtures.d.ts.map +1 -1
  70. package/dist/SecondaryAnimationFixtures.js +1 -3
  71. package/dist/SecondaryAnimationFixtures.js.map +1 -1
  72. package/dist/Skeleton.d.ts +16 -1
  73. package/dist/Skeleton.d.ts.map +1 -1
  74. package/dist/Skeleton.js +42 -0
  75. package/dist/Skeleton.js.map +1 -1
  76. package/dist/SpringBones.d.ts +60 -0
  77. package/dist/SpringBones.d.ts.map +1 -0
  78. package/dist/SpringBones.js +173 -0
  79. package/dist/SpringBones.js.map +1 -0
  80. package/dist/browser-index.d.ts +12 -3
  81. package/dist/browser-index.d.ts.map +1 -1
  82. package/dist/browser-index.js +11 -2
  83. package/dist/browser-index.js.map +1 -1
  84. package/dist/index.d.ts +11 -3
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +10 -2
  87. package/dist/index.js.map +1 -1
  88. package/dist/library/performanceStateGraph.d.ts +42 -0
  89. package/dist/library/performanceStateGraph.d.ts.map +1 -0
  90. package/dist/library/performanceStateGraph.js +101 -0
  91. package/dist/library/performanceStateGraph.js.map +1 -0
  92. package/dist/library/standardHumanoidClips.d.ts +27 -0
  93. package/dist/library/standardHumanoidClips.d.ts.map +1 -0
  94. package/dist/library/standardHumanoidClips.js +357 -0
  95. package/dist/library/standardHumanoidClips.js.map +1 -0
  96. package/package.json +3 -3
  97. package/src/AnimationClipEvents.ts +181 -0
  98. package/src/AnimationClipRegistry.ts +65 -9
  99. package/src/AnimationController.ts +11 -11
  100. package/src/AnimationMixer.ts +36 -0
  101. package/src/AnimationStateGraph.ts +34 -5
  102. package/src/AnimationStateMachine.ts +48 -0
  103. package/src/Bone.ts +5 -0
  104. package/src/FighterAnimationAdapter.ts +124 -0
  105. package/src/FootIk.ts +251 -0
  106. package/src/HumanoidBoneInference.ts +323 -0
  107. package/src/HumanoidRetargeting.ts +180 -19
  108. package/src/IK.ts +10 -0
  109. package/src/Inertialization.ts +269 -0
  110. package/src/LocomotionController.ts +6 -0
  111. package/src/LocomotionKit.ts +89 -0
  112. package/src/MotionQuality.ts +5 -5
  113. package/src/RigQuality.ts +101 -0
  114. package/src/SecondaryAnimationFixtures.ts +1 -3
  115. package/src/Skeleton.ts +45 -1
  116. package/src/SpringBones.ts +243 -0
  117. package/src/browser-index.ts +13 -4
  118. package/src/index.ts +12 -4
  119. package/src/library/performanceStateGraph.ts +117 -0
  120. package/src/library/standardHumanoidClips.ts +442 -0
  121. package/src/Retargeting.ts +0 -29
@@ -9,6 +9,7 @@ export * from "./Bone.js";
9
9
  export * from "./Skeleton.js";
10
10
  export * from "./Skinning.js";
11
11
  export * from "./BlendTree.js";
12
+ export * from "./Inertialization.js";
12
13
  export * from "./AnimationStateMachine.js";
13
14
  export * from "./RootMotion.js";
14
15
  export * from "./MotionQuality.js";
@@ -16,15 +17,23 @@ export * from "./LocomotionController.js";
16
17
  export * from "./SceneAnimationBridge.js";
17
18
  export * from "./ECSAnimationBridge.js";
18
19
  export * from "./IK.js";
20
+ export * from "./FootIk.js";
21
+ export * from "./SpringBones.js";
19
22
  export * from "./MotionMatchingFixtures.js";
20
23
  export * from "./SecondaryAnimationFixtures.js";
21
24
  export * from "./CrowdAnimation.js";
22
- export * from "./Retargeting.js";
23
25
  export * from "./AnimationClipEvents.js";
24
- export { AnimationClipRegistry, validateCartoonClipMap } from "./AnimationClipRegistry.js";
25
- export type { AnimationClipDefinition, AnimationClipId, AnimationClipManifest, AnimationClipRegistryDiagnostic, AnimationClipRegistryDiagnosticSeverity, AnimationClipRegistryOptions, AnimationClipSampleContext, AnimationClipSampler, AnimationKeyframe, AnimationTrack as AnimationClipTrack, AnimationTrackTarget, CartoonClipMapReadiness, CartoonClipMapReadinessOptions, RegisteredAnimationClip } from "./AnimationClipRegistry.js";
26
+ export { AnimationClipRegistry, createAnimationClipRegistry, validateAnimationClipMap, validateAnimationStudioClipMap } from "./AnimationClipRegistry.js";
27
+ export { createAnimationAnimationStateGraph, createLocomotionAnimationStateGraph, sampleAnimationAnimationStateGraph } from "./AnimationStateGraph.js";
28
+ export * from "./LocomotionKit.js";
29
+ export * from "./FighterAnimationAdapter.js";
30
+ export type { AnimationClipDefinition, AnimationClipId, AnimationClipManifest, AnimationClipRegistryDiagnostic, AnimationClipRegistryDiagnosticSeverity, AnimationClipRegistryOptions, AnimationClipSampleContext, AnimationClipSampler, AnimationKeyframe, AnimationTrack as AnimationClipTrack, AnimationTrackTarget, AnimationClipMapReadiness, AnimationClipMapReadinessOptions, RegisteredAnimationClip } from "./AnimationClipRegistry.js";
26
31
  export * from "./AnimationController.js";
27
32
  export * from "./HumanoidRetargeting.js";
33
+ export * from "./HumanoidBoneInference.js";
34
+ export * from "./RigQuality.js";
35
+ export * from "./library/standardHumanoidClips.js";
36
+ export * from "./library/performanceStateGraph.js";
28
37
  export { AnimationClipThreeCompat } from "./threejs-compatibility/AnimationClip.js";
29
38
  export type { ThreeCompatKeyframeTrack, ThreeCompatLoopMode } from "./threejs-compatibility/AnimationClip.js";
30
39
  export { AnimationActionThreeCompat } from "./threejs-compatibility/AnimationAction.js";
@@ -1 +1 @@
1
- {"version":3,"file":"browser-index.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/browser-index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,+BAA+B,EAC/B,uCAAuC,EACvC,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,IAAI,kBAAkB,EACpC,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC9G,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,YAAY,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,YAAY,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,iDAAiD,CAAC;AACzD,YAAY,EAAE,kCAAkC,EAAE,MAAM,iDAAiD,CAAC"}
1
+ {"version":3,"file":"browser-index.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/browser-index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC1J,OAAO,EAAE,kCAAkC,EAAE,mCAAmC,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AACvJ,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,+BAA+B,EAC/B,uCAAuC,EACvC,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,IAAI,kBAAkB,EACpC,oBAAoB,EACpB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC9G,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,YAAY,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,YAAY,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,iDAAiD,CAAC;AACzD,YAAY,EAAE,kCAAkC,EAAE,MAAM,iDAAiD,CAAC"}
@@ -9,6 +9,7 @@ export * from "./Bone.js";
9
9
  export * from "./Skeleton.js";
10
10
  export * from "./Skinning.js";
11
11
  export * from "./BlendTree.js";
12
+ export * from "./Inertialization.js";
12
13
  export * from "./AnimationStateMachine.js";
13
14
  export * from "./RootMotion.js";
14
15
  export * from "./MotionQuality.js";
@@ -16,14 +17,22 @@ export * from "./LocomotionController.js";
16
17
  export * from "./SceneAnimationBridge.js";
17
18
  export * from "./ECSAnimationBridge.js";
18
19
  export * from "./IK.js";
20
+ export * from "./FootIk.js";
21
+ export * from "./SpringBones.js";
19
22
  export * from "./MotionMatchingFixtures.js";
20
23
  export * from "./SecondaryAnimationFixtures.js";
21
24
  export * from "./CrowdAnimation.js";
22
- export * from "./Retargeting.js";
23
25
  export * from "./AnimationClipEvents.js";
24
- export { AnimationClipRegistry, validateCartoonClipMap } from "./AnimationClipRegistry.js";
26
+ export { AnimationClipRegistry, createAnimationClipRegistry, validateAnimationClipMap, validateAnimationStudioClipMap } from "./AnimationClipRegistry.js";
27
+ export { createAnimationAnimationStateGraph, createLocomotionAnimationStateGraph, sampleAnimationAnimationStateGraph } from "./AnimationStateGraph.js";
28
+ export * from "./LocomotionKit.js";
29
+ export * from "./FighterAnimationAdapter.js";
25
30
  export * from "./AnimationController.js";
26
31
  export * from "./HumanoidRetargeting.js";
32
+ export * from "./HumanoidBoneInference.js";
33
+ export * from "./RigQuality.js";
34
+ export * from "./library/standardHumanoidClips.js";
35
+ export * from "./library/performanceStateGraph.js";
27
36
  export { AnimationClipThreeCompat } from "./threejs-compatibility/AnimationClip.js";
28
37
  export { AnimationActionThreeCompat } from "./threejs-compatibility/AnimationAction.js";
29
38
  export { AnimationMixerThreeCompat } from "./threejs-compatibility/AnimationMixer.js";
@@ -1 +1 @@
1
- {"version":3,"file":"browser-index.js","sourceRoot":"","sources":["../../../../packages/animation/src/browser-index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAiB3F,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,iDAAiD,CAAC"}
1
+ {"version":3,"file":"browser-index.js","sourceRoot":"","sources":["../../../../packages/animation/src/browser-index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC1J,OAAO,EAAE,kCAAkC,EAAE,mCAAmC,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AACvJ,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAiB7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,iDAAiD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,23 +9,31 @@ export * from "./Bone.js";
9
9
  export * from "./Skeleton.js";
10
10
  export * from "./Skinning.js";
11
11
  export * from "./BlendTree.js";
12
+ export * from "./Inertialization.js";
12
13
  export * from "./AnimationStateMachine.js";
13
14
  export * from "./AnimationStateGraph.js";
15
+ export * from "./LocomotionKit.js";
16
+ export * from "./FighterAnimationAdapter.js";
14
17
  export * from "./RootMotion.js";
15
18
  export * from "./MotionQuality.js";
16
19
  export * from "./LocomotionController.js";
17
20
  export * from "./SceneAnimationBridge.js";
18
21
  export * from "./ECSAnimationBridge.js";
19
22
  export * from "./IK.js";
23
+ export * from "./FootIk.js";
24
+ export * from "./SpringBones.js";
20
25
  export * from "./MotionMatchingFixtures.js";
21
26
  export * from "./SecondaryAnimationFixtures.js";
22
27
  export * from "./CrowdAnimation.js";
23
- export * from "./Retargeting.js";
24
28
  export * from "./AnimationClipEvents.js";
25
- export { AnimationClipRegistry, validateCartoonClipMap } from "./AnimationClipRegistry.js";
26
- export type { AnimationClipDefinition, AnimationClipId, AnimationClipManifest, AnimationClipRegistryDiagnostic, AnimationClipRegistryDiagnosticSeverity, AnimationClipRegistryOptions, AnimationClipSampleContext, AnimationClipSampler, AnimationKeyframe, AnimationTrack as AnimationClipTrack, AnimationTrackTarget, CartoonClipMapReadiness, CartoonClipMapReadinessOptions, RegisteredAnimationClip } from "./AnimationClipRegistry.js";
29
+ export { AnimationClipRegistry, createAnimationClipRegistry, validateAnimationClipMap, validateAnimationStudioClipMap } from "./AnimationClipRegistry.js";
30
+ export type { AnimationClipDefinition, AnimationClipId, AnimationClipManifest, AnimationClipRegistryDiagnostic, AnimationClipRegistryDiagnosticSeverity, AnimationClipRegistryOptions, AnimationClipSampleContext, AnimationClipSampler, AnimationKeyframe, AnimationTrack as AnimationClipTrack, AnimationTrackTarget, AnimationClipMapReadiness, AnimationClipMapReadinessOptions, RegisteredAnimationClip } from "./AnimationClipRegistry.js";
27
31
  export * from "./AnimationController.js";
28
32
  export * from "./HumanoidRetargeting.js";
33
+ export * from "./HumanoidBoneInference.js";
34
+ export * from "./RigQuality.js";
35
+ export * from "./library/standardHumanoidClips.js";
36
+ export * from "./library/performanceStateGraph.js";
29
37
  export { AnimationClipThreeCompat } from "./threejs-compatibility/AnimationClip.js";
30
38
  export type { ThreeCompatKeyframeTrack, ThreeCompatLoopMode } from "./threejs-compatibility/AnimationClip.js";
31
39
  export { AnimationActionThreeCompat } from "./threejs-compatibility/AnimationAction.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,+BAA+B,EAC/B,uCAAuC,EACvC,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,IAAI,kBAAkB,EACpC,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC9G,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,YAAY,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,YAAY,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,iDAAiD,CAAC;AACzD,YAAY,EAAE,kCAAkC,EAAE,MAAM,iDAAiD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC1J,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,+BAA+B,EAC/B,uCAAuC,EACvC,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,IAAI,kBAAkB,EACpC,oBAAoB,EACpB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC9G,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,YAAY,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,YAAY,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,iDAAiD,CAAC;AACzD,YAAY,EAAE,kCAAkC,EAAE,MAAM,iDAAiD,CAAC"}
package/dist/index.js CHANGED
@@ -9,22 +9,30 @@ export * from "./Bone.js";
9
9
  export * from "./Skeleton.js";
10
10
  export * from "./Skinning.js";
11
11
  export * from "./BlendTree.js";
12
+ export * from "./Inertialization.js";
12
13
  export * from "./AnimationStateMachine.js";
13
14
  export * from "./AnimationStateGraph.js";
15
+ export * from "./LocomotionKit.js";
16
+ export * from "./FighterAnimationAdapter.js";
14
17
  export * from "./RootMotion.js";
15
18
  export * from "./MotionQuality.js";
16
19
  export * from "./LocomotionController.js";
17
20
  export * from "./SceneAnimationBridge.js";
18
21
  export * from "./ECSAnimationBridge.js";
19
22
  export * from "./IK.js";
23
+ export * from "./FootIk.js";
24
+ export * from "./SpringBones.js";
20
25
  export * from "./MotionMatchingFixtures.js";
21
26
  export * from "./SecondaryAnimationFixtures.js";
22
27
  export * from "./CrowdAnimation.js";
23
- export * from "./Retargeting.js";
24
28
  export * from "./AnimationClipEvents.js";
25
- export { AnimationClipRegistry, validateCartoonClipMap } from "./AnimationClipRegistry.js";
29
+ export { AnimationClipRegistry, createAnimationClipRegistry, validateAnimationClipMap, validateAnimationStudioClipMap } from "./AnimationClipRegistry.js";
26
30
  export * from "./AnimationController.js";
27
31
  export * from "./HumanoidRetargeting.js";
32
+ export * from "./HumanoidBoneInference.js";
33
+ export * from "./RigQuality.js";
34
+ export * from "./library/standardHumanoidClips.js";
35
+ export * from "./library/performanceStateGraph.js";
28
36
  export { AnimationClipThreeCompat } from "./threejs-compatibility/AnimationClip.js";
29
37
  export { AnimationActionThreeCompat } from "./threejs-compatibility/AnimationAction.js";
30
38
  export { AnimationMixerThreeCompat } from "./threejs-compatibility/AnimationMixer.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/animation/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAiB3F,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,iDAAiD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/animation/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAiB1J,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,iDAAiD,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { AnimationStateMachine } from "../AnimationStateMachine.js";
2
+ import { type StandardClipId } from "./standardHumanoidClips.js";
3
+ export interface PerformanceStateGraphOptions {
4
+ /** Default / resting state (must be one of the standard clip ids). Defaults to `"idle"`. */
5
+ readonly idleState?: StandardClipId;
6
+ /** Duration (seconds) of the one-shot performance states before they auto-return to idle. */
7
+ readonly oneShotDuration?: number;
8
+ }
9
+ /**
10
+ * Boolean/number state-machine parameters the studio sets per beat to drive the performance graph.
11
+ * The looping conversational states (talk) are held while their flag is truthy; the one-shot states
12
+ * (gesture/point/nod/react) are triggered by a truthy pulse that is consumed on entry and auto-return
13
+ * to idle. Locomotion (walk/run) is driven by `isMoving` / `isRunning`, mirroring
14
+ * {@link createLocomotionAnimationStateGraph} so the same parameters work for both.
15
+ */
16
+ export declare const PERFORMANCE_GRAPH_PARAMETERS: {
17
+ readonly talk: "isSpeaking";
18
+ readonly gesture: "gesture";
19
+ readonly point: "point";
20
+ readonly nod: "nod";
21
+ readonly react: "react";
22
+ readonly walk: "isMoving";
23
+ readonly run: "isRunning";
24
+ };
25
+ /**
26
+ * State graph over the 8 standard performance clip ids ({@link STANDARD_CLIP_IDS}) with `idle` as the
27
+ * default state. The studio requests a state per beat and the machine crossfades via the inertialized
28
+ * {@link AnimationStateMachine.stateBlend}.
29
+ *
30
+ * Topology:
31
+ * - `idle` (default) can go to `talk`, `gesture`, `point`, `nod`, `react`, `walk`, `run`.
32
+ * - `talk` is a held loop (while `isSpeaking`) that returns to idle when the flag clears; from talk
33
+ * you can still fire one-shots and start moving.
34
+ * - `gesture` / `point` / `nod` / `react` are one-shots that auto-return to idle on completion.
35
+ * - `walk` <-> `run` <-> `idle` form the locomotion blend (`isMoving` / `isRunning`).
36
+ *
37
+ * Priorities: locomotion-stop/one-shots take precedence so a requested beat wins over the held loop.
38
+ */
39
+ export declare function createPerformanceStateGraph(options?: PerformanceStateGraphOptions): AnimationStateMachine;
40
+ /** The full set of state names the performance graph exposes (equals the standard clip vocabulary). */
41
+ export declare const PERFORMANCE_GRAPH_STATES: readonly StandardClipId[];
42
+ //# sourceMappingURL=performanceStateGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performanceStateGraph.d.ts","sourceRoot":"","sources":["../../../../../packages/animation/src/library/performanceStateGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAA6C,MAAM,6BAA6B,CAAC;AAC/G,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEpF,MAAM,WAAW,4BAA4B;IAC3C,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,6FAA6F;IAC7F,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;CAQmB,CAAC;AA6B7D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,4BAAiC,GAAG,qBAAqB,CA6C7G;AAED,uGAAuG;AACvG,eAAO,MAAM,wBAAwB,EAAE,SAAS,cAAc,EAAsB,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { AnimationStateMachine } from "../AnimationStateMachine.js";
2
+ import { STANDARD_CLIP_IDS } from "./standardHumanoidClips.js";
3
+ /**
4
+ * Boolean/number state-machine parameters the studio sets per beat to drive the performance graph.
5
+ * The looping conversational states (talk) are held while their flag is truthy; the one-shot states
6
+ * (gesture/point/nod/react) are triggered by a truthy pulse that is consumed on entry and auto-return
7
+ * to idle. Locomotion (walk/run) is driven by `isMoving` / `isRunning`, mirroring
8
+ * {@link createLocomotionAnimationStateGraph} so the same parameters work for both.
9
+ */
10
+ export const PERFORMANCE_GRAPH_PARAMETERS = {
11
+ talk: "isSpeaking",
12
+ gesture: "gesture",
13
+ point: "point",
14
+ nod: "nod",
15
+ react: "react",
16
+ walk: "isMoving",
17
+ run: "isRunning"
18
+ };
19
+ function trigger(to, parameter, priority, consume = false, expected = true) {
20
+ return {
21
+ to,
22
+ priority,
23
+ label: `${parameter}->${to}`,
24
+ ...(consume ? { consumeParameters: [parameter] } : {}),
25
+ condition: (parameters) => {
26
+ const value = parameters[parameter];
27
+ if (expected !== true)
28
+ return value !== true && !truthy(value);
29
+ return truthy(value);
30
+ }
31
+ };
32
+ }
33
+ function truthy(value) {
34
+ if (typeof value === "boolean")
35
+ return value;
36
+ if (typeof value === "number")
37
+ return value > 0;
38
+ if (typeof value === "string")
39
+ return value.trim().length > 0;
40
+ return false;
41
+ }
42
+ /**
43
+ * State graph over the 8 standard performance clip ids ({@link STANDARD_CLIP_IDS}) with `idle` as the
44
+ * default state. The studio requests a state per beat and the machine crossfades via the inertialized
45
+ * {@link AnimationStateMachine.stateBlend}.
46
+ *
47
+ * Topology:
48
+ * - `idle` (default) can go to `talk`, `gesture`, `point`, `nod`, `react`, `walk`, `run`.
49
+ * - `talk` is a held loop (while `isSpeaking`) that returns to idle when the flag clears; from talk
50
+ * you can still fire one-shots and start moving.
51
+ * - `gesture` / `point` / `nod` / `react` are one-shots that auto-return to idle on completion.
52
+ * - `walk` <-> `run` <-> `idle` form the locomotion blend (`isMoving` / `isRunning`).
53
+ *
54
+ * Priorities: locomotion-stop/one-shots take precedence so a requested beat wins over the held loop.
55
+ */
56
+ export function createPerformanceStateGraph(options = {}) {
57
+ const idle = options.idleState ?? "idle";
58
+ const oneShot = options.oneShotDuration ?? 0.6;
59
+ const P = PERFORMANCE_GRAPH_PARAMETERS;
60
+ const toTalk = trigger("talk", P.talk, 30);
61
+ const toWalk = trigger("walk", P.walk, 40);
62
+ const toRun = trigger("run", P.run, 60);
63
+ const toGesture = trigger("gesture", P.gesture, 80, true);
64
+ const toPoint = trigger("point", P.point, 80, true);
65
+ const toNod = trigger("nod", P.nod, 80, true);
66
+ const toReact = trigger("react", P.react, 90, true);
67
+ const states = [
68
+ {
69
+ name: idle,
70
+ transitions: [toReact, toGesture, toPoint, toNod, toRun, toWalk, toTalk]
71
+ },
72
+ {
73
+ name: "talk",
74
+ transitions: [
75
+ toReact,
76
+ toGesture,
77
+ toPoint,
78
+ toNod,
79
+ toRun,
80
+ toWalk,
81
+ trigger(idle, P.talk, 0, false, false)
82
+ ]
83
+ },
84
+ { name: "gesture", duration: oneShot, oneShot: true, onComplete: idle },
85
+ { name: "point", duration: oneShot, oneShot: true, onComplete: idle },
86
+ { name: "nod", duration: oneShot, oneShot: true, onComplete: idle },
87
+ { name: "react", duration: oneShot, oneShot: true, onComplete: idle },
88
+ {
89
+ name: "walk",
90
+ transitions: [toRun, trigger(idle, P.walk, 0, false, false)]
91
+ },
92
+ {
93
+ name: "run",
94
+ transitions: [trigger("walk", P.run, 0, false, false), trigger(idle, P.walk, 0, false, false)]
95
+ }
96
+ ];
97
+ return new AnimationStateMachine(states, idle);
98
+ }
99
+ /** The full set of state names the performance graph exposes (equals the standard clip vocabulary). */
100
+ export const PERFORMANCE_GRAPH_STATES = STANDARD_CLIP_IDS;
101
+ //# sourceMappingURL=performanceStateGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performanceStateGraph.js","sourceRoot":"","sources":["../../../../../packages/animation/src/library/performanceStateGraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { AnimationClipRegistry, type AnimationClipDefinition } from "../AnimationClipRegistry.js";
2
+ import { type HumanoidRigDefinition } from "../HumanoidRetargeting.js";
3
+ /**
4
+ * The STANDARD performance vocabulary (Phase 2.4). These 8 ids are the contract the Animation
5
+ * Studio drives — every shared library, retarget target, and state graph speaks exactly these.
6
+ */
7
+ export declare const STANDARD_CLIP_IDS: readonly ["idle", "talk", "gesture", "point", "nod", "walk", "run", "react"];
8
+ export type StandardClipId = typeof STANDARD_CLIP_IDS[number];
9
+ /** Locomotion subset of the vocabulary (used by the locomotion blend / studio clip-map check). */
10
+ export declare const STANDARD_LOCOMOTION_CLIP_IDS: readonly ["idle", "walk", "run"];
11
+ /**
12
+ * The rig-neutral humanoid these clips are authored against. Bone names are the canonical
13
+ * {@link HUMANOID_BONES} (identity bindings), so an identity retarget map is a no-op and the clips
14
+ * can be retargeted onto any inferred character rig via {@link createHumanoidRetargetingMap}.
15
+ */
16
+ export declare const STANDARD_LIBRARY_RIG: HumanoidRigDefinition;
17
+ /** Ordered list of all standard library clip definitions (idle first). */
18
+ export declare function createStandardHumanoidClipDefinitions(): readonly AnimationClipDefinition<StandardClipId>[];
19
+ /**
20
+ * Shared, rig-neutral {@link AnimationClipRegistry} populated with the 8 standard performance clips
21
+ * authored on {@link STANDARD_LIBRARY_RIG} (canonical {@link HUMANOID_BONES}). The clips are COMPACT
22
+ * procedural keyframe loops/one-shots — real, samplable {@link AnimationTrack} data, not mocap and
23
+ * not placeholders. They give the studio a guaranteed, retargetable performance vocabulary even when
24
+ * a source GLB ships only one (or zero) usable clips.
25
+ */
26
+ export declare function createStandardHumanoidClipRegistry(): AnimationClipRegistry<StandardClipId>;
27
+ //# sourceMappingURL=standardHumanoidClips.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standardHumanoidClips.d.ts","sourceRoot":"","sources":["../../../../../packages/animation/src/library/standardHumanoidClips.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EAErB,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAyC,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAE9G;;;GAGG;AACH,eAAO,MAAM,iBAAiB,8EAA+E,CAAC;AAC9G,MAAM,MAAM,cAAc,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAE9D,kGAAkG;AAClG,eAAO,MAAM,4BAA4B,kCAAmC,CAAC;AAO7E;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,qBAalC,CAAC;AAyXF,0EAA0E;AAC1E,wBAAgB,qCAAqC,IAAI,SAAS,uBAAuB,CAAC,cAAc,CAAC,EAAE,CAW1G;AAED;;;;;;GAMG;AACH,wBAAgB,kCAAkC,IAAI,qBAAqB,CAAC,cAAc,CAAC,CAE1F"}