@aura3d/animation 4.7.18 → 5.0.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 (198) hide show
  1. package/dist/AnimationAction.d.ts +80 -1
  2. package/dist/AnimationAction.d.ts.map +1 -1
  3. package/dist/AnimationAction.js +450 -80
  4. package/dist/AnimationAction.js.map +1 -1
  5. package/dist/AnimationClip.d.ts.map +1 -1
  6. package/dist/AnimationClip.js.map +1 -1
  7. package/dist/AnimationClipEvents.d.ts.map +1 -1
  8. package/dist/AnimationClipEvents.js.map +1 -1
  9. package/dist/AnimationClipRegistry.d.ts.map +1 -1
  10. package/dist/AnimationClipRegistry.js.map +1 -1
  11. package/dist/AnimationController.d.ts.map +1 -1
  12. package/dist/AnimationController.js.map +1 -1
  13. package/dist/AnimationEvents.d.ts +23 -0
  14. package/dist/AnimationEvents.d.ts.map +1 -1
  15. package/dist/AnimationEvents.js +145 -36
  16. package/dist/AnimationEvents.js.map +1 -1
  17. package/dist/AnimationLayer.d.ts.map +1 -1
  18. package/dist/AnimationLayer.js.map +1 -1
  19. package/dist/AnimationMixer.d.ts +58 -3
  20. package/dist/AnimationMixer.d.ts.map +1 -1
  21. package/dist/AnimationMixer.js +366 -12
  22. package/dist/AnimationMixer.js.map +1 -1
  23. package/dist/AnimationObjectGroup.d.ts +36 -12
  24. package/dist/AnimationObjectGroup.d.ts.map +1 -1
  25. package/dist/AnimationObjectGroup.js +219 -208
  26. package/dist/AnimationObjectGroup.js.map +1 -1
  27. package/dist/AnimationStateGraph.d.ts.map +1 -1
  28. package/dist/AnimationStateGraph.js.map +1 -1
  29. package/dist/AnimationStateMachine.d.ts.map +1 -1
  30. package/dist/AnimationStateMachine.js.map +1 -1
  31. package/dist/AnimationTrack.d.ts +7 -1
  32. package/dist/AnimationTrack.d.ts.map +1 -1
  33. package/dist/AnimationTrack.js +87 -10
  34. package/dist/AnimationTrack.js.map +1 -1
  35. package/dist/AnimationUtils.d.ts +16 -14
  36. package/dist/AnimationUtils.d.ts.map +1 -1
  37. package/dist/AnimationUtils.js +148 -109
  38. package/dist/AnimationUtils.js.map +1 -1
  39. package/dist/BlendTree.d.ts.map +1 -1
  40. package/dist/BlendTree.js.map +1 -1
  41. package/dist/Bone.d.ts.map +1 -1
  42. package/dist/Bone.js.map +1 -1
  43. package/dist/ECSAnimationBridge.d.ts.map +1 -1
  44. package/dist/ECSAnimationBridge.js.map +1 -1
  45. package/dist/FighterAnimationAdapter.d.ts.map +1 -1
  46. package/dist/FighterAnimationAdapter.js.map +1 -1
  47. package/dist/FootIk.d.ts.map +1 -1
  48. package/dist/FootIk.js.map +1 -1
  49. package/dist/HumanoidBoneInference.d.ts.map +1 -1
  50. package/dist/HumanoidBoneInference.js.map +1 -1
  51. package/dist/HumanoidRetargeting.d.ts.map +1 -1
  52. package/dist/HumanoidRetargeting.js.map +1 -1
  53. package/dist/IK.d.ts.map +1 -1
  54. package/dist/IK.js.map +1 -1
  55. package/dist/Inertialization.d.ts.map +1 -1
  56. package/dist/Inertialization.js.map +1 -1
  57. package/dist/Keyframe.d.ts +15 -1
  58. package/dist/Keyframe.d.ts.map +1 -1
  59. package/dist/Keyframe.js +34 -1
  60. package/dist/Keyframe.js.map +1 -1
  61. package/dist/LocomotionController.d.ts.map +1 -1
  62. package/dist/LocomotionController.js.map +1 -1
  63. package/dist/LocomotionEvidence.d.ts.map +1 -1
  64. package/dist/LocomotionEvidence.js.map +1 -1
  65. package/dist/LocomotionKit.d.ts.map +1 -1
  66. package/dist/LocomotionKit.js.map +1 -1
  67. package/dist/MotionQuality.d.ts.map +1 -1
  68. package/dist/MotionQuality.js.map +1 -1
  69. package/dist/PropertyBinding.d.ts +42 -22
  70. package/dist/PropertyBinding.d.ts.map +1 -1
  71. package/dist/PropertyBinding.js +390 -293
  72. package/dist/PropertyBinding.js.map +1 -1
  73. package/dist/RigQuality.d.ts.map +1 -1
  74. package/dist/RigQuality.js.map +1 -1
  75. package/dist/RootMotion.d.ts.map +1 -1
  76. package/dist/RootMotion.js.map +1 -1
  77. package/dist/SceneAnimationBridge.d.ts +7 -0
  78. package/dist/SceneAnimationBridge.d.ts.map +1 -1
  79. package/dist/SceneAnimationBridge.js +48 -3
  80. package/dist/SceneAnimationBridge.js.map +1 -1
  81. package/dist/Skeleton.d.ts.map +1 -1
  82. package/dist/Skeleton.js.map +1 -1
  83. package/dist/Skinning.d.ts.map +1 -1
  84. package/dist/Skinning.js.map +1 -1
  85. package/dist/SpringBones.d.ts.map +1 -1
  86. package/dist/SpringBones.js.map +1 -1
  87. package/dist/browser-index.d.ts +1 -1
  88. package/dist/browser-index.d.ts.map +1 -1
  89. package/dist/browser-index.js +1 -1
  90. package/dist/browser-index.js.map +1 -1
  91. package/dist/contracts/index.d.ts.map +1 -1
  92. package/dist/contracts/index.js.map +1 -1
  93. package/dist/contracts/pose.d.ts.map +1 -1
  94. package/dist/contracts/pose.js.map +1 -1
  95. package/dist/experimental/CrowdAnimation.d.ts.map +1 -1
  96. package/dist/experimental/CrowdAnimation.js.map +1 -1
  97. package/dist/index.d.ts +1 -1
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +1 -1
  100. package/dist/index.js.map +1 -1
  101. package/dist/lanes/index.d.ts.map +1 -1
  102. package/dist/lanes/index.js.map +1 -1
  103. package/dist/lanes/prd01.d.ts.map +1 -1
  104. package/dist/lanes/prd01.js.map +1 -1
  105. package/dist/lanes/prd02.d.ts.map +1 -1
  106. package/dist/lanes/prd02.js.map +1 -1
  107. package/dist/lanes/prd03.d.ts.map +1 -1
  108. package/dist/lanes/prd03.js.map +1 -1
  109. package/dist/lanes/prd04.d.ts.map +1 -1
  110. package/dist/lanes/prd04.js.map +1 -1
  111. package/dist/lanes/prd05.d.ts.map +1 -1
  112. package/dist/lanes/prd05.js.map +1 -1
  113. package/dist/lanes/prd06.d.ts.map +1 -1
  114. package/dist/lanes/prd06.js.map +1 -1
  115. package/dist/lanes/prd07.d.ts.map +1 -1
  116. package/dist/lanes/prd07.js.map +1 -1
  117. package/dist/lanes/prd08.d.ts.map +1 -1
  118. package/dist/lanes/prd08.js.map +1 -1
  119. package/dist/lanes/prd09.d.ts.map +1 -1
  120. package/dist/lanes/prd09.js.map +1 -1
  121. package/dist/lanes/prd10.d.ts.map +1 -1
  122. package/dist/lanes/prd10.js.map +1 -1
  123. package/dist/lanes/prd11.d.ts.map +1 -1
  124. package/dist/lanes/prd11.js.map +1 -1
  125. package/dist/lanes/prd12.d.ts.map +1 -1
  126. package/dist/lanes/prd12.js.map +1 -1
  127. package/dist/lanes/prd13.d.ts.map +1 -1
  128. package/dist/lanes/prd13.js.map +1 -1
  129. package/dist/lanes/prd14.d.ts.map +1 -1
  130. package/dist/lanes/prd14.js.map +1 -1
  131. package/dist/lanes/prd15.d.ts.map +1 -1
  132. package/dist/lanes/prd15.js.map +1 -1
  133. package/dist/library/performanceStateGraph.d.ts.map +1 -1
  134. package/dist/library/performanceStateGraph.js.map +1 -1
  135. package/dist/library/standardHumanoidClips.d.ts.map +1 -1
  136. package/dist/library/standardHumanoidClips.js.map +1 -1
  137. package/dist/pose/BoneMask.d.ts.map +1 -1
  138. package/dist/pose/BoneMask.js.map +1 -1
  139. package/dist/pose/CcdIkConstraint.d.ts.map +1 -1
  140. package/dist/pose/CcdIkConstraint.js.map +1 -1
  141. package/dist/pose/CompiledClip.d.ts +15 -8
  142. package/dist/pose/CompiledClip.d.ts.map +1 -1
  143. package/dist/pose/CompiledClip.js +82 -50
  144. package/dist/pose/CompiledClip.js.map +1 -1
  145. package/dist/pose/LookAtConstraint.d.ts.map +1 -1
  146. package/dist/pose/LookAtConstraint.js.map +1 -1
  147. package/dist/pose/MotionMetrics.d.ts.map +1 -1
  148. package/dist/pose/MotionMetrics.js.map +1 -1
  149. package/dist/pose/PoseBuffer.d.ts.map +1 -1
  150. package/dist/pose/PoseBuffer.js.map +1 -1
  151. package/dist/pose/PoseInertializer.d.ts.map +1 -1
  152. package/dist/pose/PoseInertializer.js.map +1 -1
  153. package/dist/pose/PoseMixer.d.ts +196 -19
  154. package/dist/pose/PoseMixer.d.ts.map +1 -1
  155. package/dist/pose/PoseMixer.js +1209 -188
  156. package/dist/pose/PoseMixer.js.map +1 -1
  157. package/dist/pose/Retarget.d.ts +4 -3
  158. package/dist/pose/Retarget.d.ts.map +1 -1
  159. package/dist/pose/Retarget.js +32 -15
  160. package/dist/pose/Retarget.js.map +1 -1
  161. package/dist/pose/RetargetCache.d.ts +12 -6
  162. package/dist/pose/RetargetCache.d.ts.map +1 -1
  163. package/dist/pose/RetargetCache.js +253 -29
  164. package/dist/pose/RetargetCache.js.map +1 -1
  165. package/dist/pose/RetargetWorker.d.ts.map +1 -1
  166. package/dist/pose/RetargetWorker.js +5 -0
  167. package/dist/pose/RetargetWorker.js.map +1 -1
  168. package/dist/pose/SkeletonBinding.d.ts.map +1 -1
  169. package/dist/pose/SkeletonBinding.js.map +1 -1
  170. package/dist/pose/blendKernels.d.ts.map +1 -1
  171. package/dist/pose/blendKernels.js.map +1 -1
  172. package/dist/pose/makeClipAdditive.d.ts +7 -14
  173. package/dist/pose/makeClipAdditive.d.ts.map +1 -1
  174. package/dist/pose/makeClipAdditive.js +53 -85
  175. package/dist/pose/makeClipAdditive.js.map +1 -1
  176. package/dist/pose/poseMixerFlags.d.ts.map +1 -1
  177. package/dist/pose/poseMixerFlags.js.map +1 -1
  178. package/dist/pose/quatFlat.d.ts.map +1 -1
  179. package/dist/pose/quatFlat.js.map +1 -1
  180. package/dist/pose/retarget.worker.d.ts.map +1 -1
  181. package/dist/pose/retarget.worker.js.map +1 -1
  182. package/dist/threejs-compatibility/AnimationAction.d.ts.map +1 -1
  183. package/dist/threejs-compatibility/AnimationAction.js.map +1 -1
  184. package/dist/threejs-compatibility/AnimationClip.d.ts.map +1 -1
  185. package/dist/threejs-compatibility/AnimationClip.js.map +1 -1
  186. package/dist/threejs-compatibility/AnimationDiagnostics.d.ts.map +1 -1
  187. package/dist/threejs-compatibility/AnimationDiagnostics.js.map +1 -1
  188. package/dist/threejs-compatibility/AnimationMixer.d.ts.map +1 -1
  189. package/dist/threejs-compatibility/AnimationMixer.js.map +1 -1
  190. package/dist/threejs-compatibility/MorphTargetMixer.d.ts.map +1 -1
  191. package/dist/threejs-compatibility/MorphTargetMixer.js.map +1 -1
  192. package/dist/threejs-compatibility/Skeleton.d.ts.map +1 -1
  193. package/dist/threejs-compatibility/Skeleton.js.map +1 -1
  194. package/dist/threejs-compatibility/SkinnedMesh.d.ts.map +1 -1
  195. package/dist/threejs-compatibility/SkinnedMesh.js.map +1 -1
  196. package/dist/threejs-compatibility/index.d.ts.map +1 -1
  197. package/dist/threejs-compatibility/index.js.map +1 -1
  198. package/package.json +2 -2
@@ -1,15 +1,23 @@
1
1
  import { type AnimationObjectGroupLike, type ParsedTrackName, type PropertyBindingLike, type PropertyBindingNode } from "./PropertyBinding.js";
2
+ /**
3
+ * Shares animation paths across a set of objects. Removed objects stay cached
4
+ * until re-added or explicitly uncached. A cached object receives no writes.
5
+ *
6
+ * A subscription owns one binding per member. Composite bindings hold its
7
+ * ordered array, so membership changes rebuild the contents in place with the
8
+ * cached members first and active members after `nCachedObjects_`.
9
+ */
2
10
  export declare class AnimationObjectGroup implements AnimationObjectGroupLike {
3
11
  readonly isAnimationObjectGroup: true;
4
12
  readonly uuid: string;
5
- /** Threshold between cached and active objects; read by the composite binding. */
13
+ /** Number of leading cached entries in every subscribed binding array. */
6
14
  nCachedObjects_: number;
7
- private readonly _objects;
8
- private readonly _indicesByUUID;
9
- private readonly _paths;
10
- private readonly _parsedPaths;
11
- private readonly _bindings;
12
- private readonly _bindingsIndicesByPath;
15
+ private readonly members;
16
+ private readonly membersByObject;
17
+ private readonly membersByUuid;
18
+ private readonly subscriptions;
19
+ private disposed;
20
+ private preparingBindings;
13
21
  readonly stats: {
14
22
  readonly objects: {
15
23
  readonly total: number;
@@ -17,12 +25,28 @@ export declare class AnimationObjectGroup implements AnimationObjectGroupLike {
17
25
  };
18
26
  readonly bindingsPerObject: number;
19
27
  };
20
- constructor(...args: PropertyBindingNode[]);
21
- add(...args: PropertyBindingNode[]): void;
22
- remove(...args: PropertyBindingNode[]): void;
23
- uncache(...args: PropertyBindingNode[]): void;
24
- /** Internal interface used by `PropertyBindingComposite`. */
28
+ constructor(...objects: PropertyBindingNode[]);
29
+ /** Add new objects or reactivate cached objects. Repeated additions are safe. */
30
+ add(...objects: PropertyBindingNode[]): void;
31
+ /** Deactivate objects while retaining their bindings for later reactivation. */
32
+ remove(...objects: PropertyBindingNode[]): void;
33
+ /** Release all group-owned bindings for the supplied objects. */
34
+ uncache(...objects: PropertyBindingNode[]): void;
35
+ /** Internal interface used by composite bindings. */
25
36
  subscribe_(path: string, parsedPath?: ParsedTrackName): PropertyBindingLike[];
37
+ private createSubscription;
38
+ /** Internal constant-time membership check for a composite dispatch snapshot. */
39
+ isBindingActive_(path: string, binding: PropertyBindingLike): boolean;
40
+ /** Unsubscribe only this path; previously returned arrays become inert. */
26
41
  unsubscribe_(path: string): void;
42
+ /** Release all members and subscriptions. A disposed group cannot be reused. */
43
+ dispose(): void;
44
+ private refreshBindings;
45
+ private orderedMembers;
46
+ private releaseSubscription;
47
+ private assertAlive;
48
+ /** Binding construction can invoke user getters; reject nested mutations. */
49
+ private prepare;
50
+ private assertNotPreparing;
27
51
  }
28
52
  //# sourceMappingURL=AnimationObjectGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationObjectGroup.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationObjectGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,wBAAwB,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AA+BhK,qBAAa,oBAAqB,YAAW,wBAAwB;IACnE,QAAQ,CAAC,sBAAsB,EAAG,IAAI,CAAU;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,kFAAkF;IAClF,eAAe,SAAK;IAEpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0C;IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA0C;IAEjF,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACrE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;KACpC,CAAC;gBAEU,GAAG,IAAI,EAAE,mBAAmB,EAAE;IAsB1C,GAAG,CAAC,GAAG,IAAI,EAAE,mBAAmB,EAAE,GAAG,IAAI;IA8DzC,MAAM,CAAC,GAAG,IAAI,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAqC5C,OAAO,CAAC,GAAG,IAAI,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAiE7C,6DAA6D;IAC7D,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,mBAAmB,EAAE;IA+B7E,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAwBjC"}
1
+ {"version":3,"file":"AnimationObjectGroup.d.ts","sourceRoot":"","sources":["../src/AnimationObjectGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AA2B9B;;;;;;;GAOG;AACH,qBAAa,oBAAqB,YAAW,wBAAwB;IACnE,QAAQ,CAAC,sBAAsB,EAAG,IAAI,CAAU;IAChD,QAAQ,CAAC,IAAI,SAAmG;IAEhH,0EAA0E;IAC1E,eAAe,SAAK;IAEpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+C;IAC/E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmC;IACjE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,iBAAiB,CAAS;IAElC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACrE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;KACpC,CAAC;gBAEU,GAAG,OAAO,EAAE,mBAAmB,EAAE;IAY7C,iFAAiF;IACjF,GAAG,CAAC,GAAG,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI;IA2D5C,gFAAgF;IAChF,MAAM,CAAC,GAAG,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAa/C,iEAAiE;IACjE,OAAO,CAAC,GAAG,OAAO,EAAE,mBAAmB,EAAE,GAAG,IAAI;IAsBhD,qDAAqD;IACrD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,mBAAmB,EAAE;IAK7E,OAAO,CAAC,kBAAkB;IA+B1B,iFAAiF;IACjF,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAIrE,2EAA2E;IAC3E,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQhC,gFAAgF;IAChF,OAAO,IAAI,IAAI;IAYf,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,WAAW;IAInB,6EAA6E;IAC7E,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,kBAAkB;CAK3B"}
@@ -1,241 +1,252 @@
1
1
  import { PropertyBinding } from "./PropertyBinding.js";
2
+ function samePath(a, b) {
3
+ return (a.directoryName ?? "") === (b.directoryName ?? "")
4
+ && (a.nodeName ?? "") === (b.nodeName ?? "")
5
+ && a.objectName === b.objectName && a.objectIndex === b.objectIndex
6
+ && a.propertyName === b.propertyName && a.propertyIndex === b.propertyIndex;
7
+ }
8
+ let nextGroupId = 0;
2
9
  /**
3
- * SA-02 — three-compatible `AnimationObjectGroup` (`three@0.185.x
4
- * src/animation/AnimationObjectGroup.js`). A group of objects that receives a
5
- * shared animation state: add the objects you would otherwise pass as the
6
- * mixer root, then pass this group instead. `PropertyBinding.create` detects
7
- * `isAnimationObjectGroup` and produces a composite binding that fans each
8
- * track path out over all active objects.
10
+ * Shares animation paths across a set of objects. Removed objects stay cached
11
+ * until re-added or explicitly uncached. A cached object receives no writes.
9
12
  *
10
- * Objects keep the cached/active bookkeeping of the original implementation:
11
- * `remove()` moves objects into a cached region (bindings preserved), `add()`
12
- * reactivates them, and `uncache()` frees them entirely. Objects without a
13
- * `uuid` get a stable generated one so plain `{ name }` nodes can join groups.
13
+ * A subscription owns one binding per member. Composite bindings hold its
14
+ * ordered array, so membership changes rebuild the contents in place with the
15
+ * cached members first and active members after `nCachedObjects_`.
14
16
  */
15
- let objectGroupUuidCounter = 0;
16
- const generatedUuids = new WeakMap();
17
- function objectUuid(object) {
18
- if (typeof object.uuid === "string" && object.uuid.length > 0) {
19
- return object.uuid;
20
- }
21
- let uuid = generatedUuids.get(object);
22
- if (!uuid) {
23
- uuid = `animation-object-group-${(objectGroupUuidCounter++).toString(16)}-${Math.random().toString(36).slice(2, 10)}`;
24
- generatedUuids.set(object, uuid);
25
- }
26
- return uuid;
27
- }
28
17
  export class AnimationObjectGroup {
29
18
  isAnimationObjectGroup = true;
30
- uuid;
31
- /** Threshold between cached and active objects; read by the composite binding. */
19
+ uuid = `animation-object-group-${(nextGroupId++).toString(36)}-${Math.random().toString(36).slice(2)}`;
20
+ /** Number of leading cached entries in every subscribed binding array. */
32
21
  nCachedObjects_ = 0;
33
- _objects;
34
- _indicesByUUID = {};
35
- _paths = [];
36
- _parsedPaths = [];
37
- _bindings = [];
38
- _bindingsIndicesByPath = {};
22
+ members = [];
23
+ membersByObject = new Map();
24
+ membersByUuid = new Map();
25
+ subscriptions = new Map();
26
+ disposed = false;
27
+ preparingBindings = false;
39
28
  stats;
40
- constructor(...args) {
41
- this.uuid = `animation-object-group-${(objectGroupUuidCounter++).toString(16)}-${Math.random().toString(36).slice(2, 10)}`;
42
- this._objects = args.slice();
43
- for (let i = 0, n = args.length; i !== n; ++i) {
44
- this._indicesByUUID[objectUuid(args[i])] = i;
45
- }
46
- const scope = this;
29
+ constructor(...objects) {
30
+ const group = this;
47
31
  this.stats = {
48
32
  objects: {
49
- get total() {
50
- return scope._objects.length;
51
- },
52
- get inUse() {
53
- return scope._objects.length - scope.nCachedObjects_;
54
- }
33
+ get total() { return group.members.length; },
34
+ get inUse() { return group.members.length - group.nCachedObjects_; }
55
35
  },
56
- get bindingsPerObject() {
57
- return scope._bindings.length;
58
- }
36
+ get bindingsPerObject() { return group.subscriptions.size; }
59
37
  };
38
+ this.add(...objects);
60
39
  }
61
- add(...args) {
62
- const objects = this._objects;
63
- const indicesByUUID = this._indicesByUUID;
64
- const paths = this._paths;
65
- const parsedPaths = this._parsedPaths;
66
- const bindings = this._bindings;
67
- const nBindings = bindings.length;
68
- let knownObject;
69
- let nObjects = objects.length;
70
- let nCachedObjects = this.nCachedObjects_;
71
- for (let i = 0, n = args.length; i !== n; ++i) {
72
- const object = args[i];
73
- const uuid = objectUuid(object);
74
- let index = indicesByUUID[uuid];
75
- if (index === undefined) {
76
- // unknown object -> add it to the ACTIVE region
77
- index = nObjects++;
78
- indicesByUUID[uuid] = index;
79
- objects.push(object);
80
- // accounting is done, now do the same for all bindings
81
- for (let j = 0, m = nBindings; j !== m; ++j) {
82
- bindings[j].push(new PropertyBinding(object, paths[j], parsedPaths[j]));
40
+ /** Add new objects or reactivate cached objects. Repeated additions are safe. */
41
+ add(...objects) {
42
+ this.assertAlive();
43
+ const staged = this.prepare(() => {
44
+ const additions = [];
45
+ const additionsByObject = new Map();
46
+ const additionsByUuid = new Map();
47
+ const reactivations = new Set();
48
+ for (const object of objects) {
49
+ const known = this.membersByObject.get(object) ?? additionsByObject.get(object);
50
+ if (known) {
51
+ if (!known.active)
52
+ reactivations.add(known);
53
+ continue;
54
+ }
55
+ // Read admission identity once: accessors may throw or return changing values.
56
+ const candidateUuid = object.uuid;
57
+ const uuid = typeof candidateUuid === "string" && candidateUuid.length > 0 ? candidateUuid : undefined;
58
+ if (uuid !== undefined && (this.membersByUuid.has(uuid) || additionsByUuid.has(uuid))) {
59
+ // A different object cannot inherit the bindings owned by this UUID.
60
+ console.error(`AnimationObjectGroup: Different objects share UUID "${uuid}".`);
61
+ continue;
83
62
  }
63
+ const member = { object, uuid, active: true };
64
+ additions.push(member);
65
+ additionsByObject.set(object, member);
66
+ if (uuid !== undefined)
67
+ additionsByUuid.set(uuid, member);
84
68
  }
85
- else if (index < nCachedObjects) {
86
- knownObject = objects[index];
87
- // move existing object to the ACTIVE region
88
- const firstActiveIndex = --nCachedObjects;
89
- const lastCachedObject = objects[firstActiveIndex];
90
- indicesByUUID[objectUuid(lastCachedObject)] = index;
91
- objects[index] = lastCachedObject;
92
- indicesByUUID[uuid] = firstActiveIndex;
93
- objects[firstActiveIndex] = object;
94
- for (let j = 0, m = nBindings; j !== m; ++j) {
95
- const bindingsForPath = bindings[j];
96
- const lastCached = bindingsForPath[firstActiveIndex];
97
- let binding = bindingsForPath[index];
98
- bindingsForPath[index] = lastCached;
99
- if (binding === undefined) {
100
- // since we do not bother to create new bindings for objects that
101
- // are cached, the binding may or may not exist
102
- binding = new PropertyBinding(object, paths[j], parsedPaths[j]);
103
- }
104
- bindingsForPath[firstActiveIndex] = binding;
69
+ // Construct every new path before publishing membership. A failing node
70
+ // accessor or path lookup must not leave a half-added member or empty a
71
+ // composite binding's live array.
72
+ const bindings = new Map();
73
+ for (const subscription of this.subscriptions.values()) {
74
+ const created = new Map();
75
+ for (const member of additions) {
76
+ created.set(member, new PropertyBinding(member.object, subscription.path, subscription.parsedPath));
105
77
  }
78
+ bindings.set(subscription, created);
106
79
  }
107
- else if (objects[index] !== knownObject) {
108
- console.error("AnimationObjectGroup: Different objects with the same UUID detected. " +
109
- "Clean the caches or recreate your infrastructure when reloading scenes.");
110
- } // else the object is already where we want it to be
80
+ return { additions, reactivations, bindings };
81
+ });
82
+ if (staged.additions.length === 0 && staged.reactivations.size === 0)
83
+ return;
84
+ for (const member of staged.reactivations)
85
+ member.active = true;
86
+ for (const member of staged.additions) {
87
+ this.members.push(member);
88
+ this.membersByObject.set(member.object, member);
89
+ if (member.uuid !== undefined)
90
+ this.membersByUuid.set(member.uuid, member);
111
91
  }
112
- this.nCachedObjects_ = nCachedObjects;
92
+ for (const [subscription, bindings] of staged.bindings) {
93
+ for (const [member, binding] of bindings) {
94
+ subscription.byMember.set(member, binding);
95
+ subscription.byBinding.set(binding, member);
96
+ }
97
+ }
98
+ this.refreshBindings();
113
99
  }
114
- remove(...args) {
115
- const objects = this._objects;
116
- const indicesByUUID = this._indicesByUUID;
117
- const bindings = this._bindings;
118
- const nBindings = bindings.length;
119
- let nCachedObjects = this.nCachedObjects_;
120
- for (let i = 0, n = args.length; i !== n; ++i) {
121
- const object = args[i];
122
- const uuid = objectUuid(object);
123
- const index = indicesByUUID[uuid];
124
- if (index !== undefined && index >= nCachedObjects) {
125
- // move existing object into the CACHED region
126
- const lastCachedIndex = nCachedObjects++;
127
- const firstActiveObject = objects[lastCachedIndex];
128
- indicesByUUID[objectUuid(firstActiveObject)] = index;
129
- objects[index] = firstActiveObject;
130
- indicesByUUID[uuid] = lastCachedIndex;
131
- objects[lastCachedIndex] = object;
132
- for (let j = 0, m = nBindings; j !== m; ++j) {
133
- const bindingsForPath = bindings[j];
134
- const firstActive = bindingsForPath[lastCachedIndex];
135
- const binding = bindingsForPath[index];
136
- bindingsForPath[index] = firstActive;
137
- bindingsForPath[lastCachedIndex] = binding;
138
- }
100
+ /** Deactivate objects while retaining their bindings for later reactivation. */
101
+ remove(...objects) {
102
+ this.assertNotPreparing();
103
+ let changed = false;
104
+ for (const object of objects) {
105
+ const member = this.membersByObject.get(object);
106
+ if (member?.active) {
107
+ member.active = false;
108
+ changed = true;
139
109
  }
140
110
  }
141
- this.nCachedObjects_ = nCachedObjects;
111
+ if (changed)
112
+ this.refreshBindings();
142
113
  }
143
- uncache(...args) {
144
- const objects = this._objects;
145
- const indicesByUUID = this._indicesByUUID;
146
- const bindings = this._bindings;
147
- const nBindings = bindings.length;
148
- let nCachedObjects = this.nCachedObjects_;
149
- let nObjects = objects.length;
150
- for (let i = 0, n = args.length; i !== n; ++i) {
151
- const object = args[i];
152
- const uuid = objectUuid(object);
153
- const index = indicesByUUID[uuid];
154
- if (index !== undefined) {
155
- delete indicesByUUID[uuid];
156
- if (index < nCachedObjects) {
157
- // object is cached, shrink the CACHED region
158
- const firstActiveIndex = --nCachedObjects;
159
- const lastCachedObject = objects[firstActiveIndex];
160
- const lastIndex = --nObjects;
161
- const lastObject = objects[lastIndex];
162
- // last cached object takes this object's place
163
- indicesByUUID[objectUuid(lastCachedObject)] = index;
164
- objects[index] = lastCachedObject;
165
- // last object goes to the activated slot and pop
166
- indicesByUUID[objectUuid(lastObject)] = firstActiveIndex;
167
- objects[firstActiveIndex] = lastObject;
168
- objects.pop();
169
- for (let j = 0, m = nBindings; j !== m; ++j) {
170
- const bindingsForPath = bindings[j];
171
- const lastCached = bindingsForPath[firstActiveIndex];
172
- const last = bindingsForPath[lastIndex];
173
- bindingsForPath[index] = lastCached;
174
- bindingsForPath[firstActiveIndex] = last;
175
- bindingsForPath.pop();
176
- }
177
- }
178
- else {
179
- // object is active, just swap with the last and pop
180
- const lastIndex = --nObjects;
181
- const lastObject = objects[lastIndex];
182
- if (lastIndex > 0) {
183
- indicesByUUID[objectUuid(lastObject)] = index;
184
- }
185
- objects[index] = lastObject;
186
- objects.pop();
187
- for (let j = 0, m = nBindings; j !== m; ++j) {
188
- const bindingsForPath = bindings[j];
189
- bindingsForPath[index] = bindingsForPath[lastIndex];
190
- bindingsForPath.pop();
191
- }
192
- }
114
+ /** Release all group-owned bindings for the supplied objects. */
115
+ uncache(...objects) {
116
+ this.assertNotPreparing();
117
+ let changed = false;
118
+ for (const object of objects) {
119
+ const member = this.membersByObject.get(object);
120
+ if (!member)
121
+ continue;
122
+ this.membersByObject.delete(object);
123
+ if (member.uuid !== undefined)
124
+ this.membersByUuid.delete(member.uuid);
125
+ const index = this.members.indexOf(member);
126
+ if (index !== -1)
127
+ this.members.splice(index, 1);
128
+ for (const subscription of this.subscriptions.values()) {
129
+ const binding = subscription.byMember.get(member);
130
+ binding?.unbind();
131
+ if (binding)
132
+ subscription.byBinding.delete(binding);
133
+ subscription.byMember.delete(member);
193
134
  }
135
+ changed = true;
194
136
  }
195
- this.nCachedObjects_ = nCachedObjects;
137
+ if (changed)
138
+ this.refreshBindings();
196
139
  }
197
- /** Internal interface used by `PropertyBindingComposite`. */
140
+ /** Internal interface used by composite bindings. */
198
141
  subscribe_(path, parsedPath) {
199
- const indicesByPath = this._bindingsIndicesByPath;
200
- let index = indicesByPath[path];
201
- const bindings = this._bindings;
202
- if (index !== undefined) {
203
- return bindings[index];
142
+ this.assertAlive();
143
+ return this.prepare(() => this.createSubscription(path, parsedPath));
144
+ }
145
+ createSubscription(path, parsedPath) {
146
+ // Validate supplied descriptors even when there are no members, and take
147
+ // a private copy so a caller cannot later redirect a subscription.
148
+ const normalized = new PropertyBinding({}, path, parsedPath).parsedPath;
149
+ const existing = this.subscriptions.get(path);
150
+ if (existing) {
151
+ if (!samePath(existing.parsedPath, normalized)) {
152
+ throw new Error(`AnimationObjectGroup: Conflicting parsed path for subscription "${path}".`);
153
+ }
154
+ return existing.orderedBindings;
204
155
  }
205
- const paths = this._paths;
206
- const parsedPaths = this._parsedPaths;
207
- const objects = this._objects;
208
- const nObjects = objects.length;
209
- const nCachedObjects = this.nCachedObjects_;
210
- const bindingsForPath = new Array(nObjects);
211
- index = bindings.length;
212
- indicesByPath[path] = index;
213
- paths.push(path);
214
- parsedPaths.push(parsedPath);
215
- bindings.push(bindingsForPath);
216
- for (let i = nCachedObjects, n = objects.length; i !== n; ++i) {
217
- const object = objects[i];
218
- bindingsForPath[i] = new PropertyBinding(object, path, parsedPath);
156
+ const subscription = {
157
+ path,
158
+ parsedPath: normalized,
159
+ orderedBindings: [],
160
+ byMember: new Map(),
161
+ byBinding: new Map()
162
+ };
163
+ // Build before publishing the subscription, so an invalid binding cannot
164
+ // leave a partially registered path or disturb an existing subscription.
165
+ for (const member of this.orderedMembers()) {
166
+ const binding = new PropertyBinding(member.object, path, subscription.parsedPath);
167
+ subscription.byMember.set(member, binding);
168
+ subscription.byBinding.set(binding, member);
169
+ subscription.orderedBindings.push(binding);
219
170
  }
220
- return bindingsForPath;
171
+ this.subscriptions.set(path, subscription);
172
+ return subscription.orderedBindings;
173
+ }
174
+ /** Internal constant-time membership check for a composite dispatch snapshot. */
175
+ isBindingActive_(path, binding) {
176
+ return this.subscriptions.get(path)?.byBinding.get(binding)?.active === true;
221
177
  }
178
+ /** Unsubscribe only this path; previously returned arrays become inert. */
222
179
  unsubscribe_(path) {
223
- const indicesByPath = this._bindingsIndicesByPath;
224
- const index = indicesByPath[path];
225
- if (index !== undefined) {
226
- const paths = this._paths;
227
- const parsedPaths = this._parsedPaths;
228
- const bindings = this._bindings;
229
- const lastBindingsIndex = bindings.length - 1;
230
- const lastBindings = bindings[lastBindingsIndex];
231
- const lastBindingsPath = paths[lastBindingsIndex];
232
- indicesByPath[lastBindingsPath] = index;
233
- bindings[index] = lastBindings;
234
- bindings.pop();
235
- parsedPaths[index] = parsedPaths[lastBindingsIndex];
236
- parsedPaths.pop();
237
- paths[index] = paths[lastBindingsIndex];
238
- paths.pop();
180
+ this.assertNotPreparing();
181
+ const subscription = this.subscriptions.get(path);
182
+ if (!subscription)
183
+ return;
184
+ this.subscriptions.delete(path);
185
+ this.releaseSubscription(subscription);
186
+ }
187
+ /** Release all members and subscriptions. A disposed group cannot be reused. */
188
+ dispose() {
189
+ this.assertNotPreparing();
190
+ if (this.disposed)
191
+ return;
192
+ this.disposed = true;
193
+ for (const subscription of this.subscriptions.values())
194
+ this.releaseSubscription(subscription);
195
+ this.subscriptions.clear();
196
+ this.members.length = 0;
197
+ this.membersByObject.clear();
198
+ this.membersByUuid.clear();
199
+ this.nCachedObjects_ = 0;
200
+ }
201
+ refreshBindings() {
202
+ const ordered = this.orderedMembers();
203
+ this.nCachedObjects_ = ordered.filter((member) => !member.active).length;
204
+ for (const subscription of this.subscriptions.values()) {
205
+ const bindings = subscription.orderedBindings;
206
+ bindings.length = 0;
207
+ for (const member of ordered) {
208
+ let binding = subscription.byMember.get(member);
209
+ if (!binding) {
210
+ binding = new PropertyBinding(member.object, subscription.path, subscription.parsedPath);
211
+ subscription.byMember.set(member, binding);
212
+ subscription.byBinding.set(binding, member);
213
+ }
214
+ bindings.push(binding);
215
+ }
216
+ }
217
+ }
218
+ orderedMembers() {
219
+ const cached = [];
220
+ const active = [];
221
+ for (const member of this.members)
222
+ (member.active ? active : cached).push(member);
223
+ return cached.concat(active);
224
+ }
225
+ releaseSubscription(subscription) {
226
+ for (const binding of subscription.byMember.values())
227
+ binding.unbind();
228
+ subscription.byMember.clear();
229
+ subscription.byBinding.clear();
230
+ subscription.orderedBindings.length = 0;
231
+ }
232
+ assertAlive() {
233
+ if (this.disposed)
234
+ throw new Error("AnimationObjectGroup is disposed.");
235
+ }
236
+ /** Binding construction can invoke user getters; reject nested mutations. */
237
+ prepare(create) {
238
+ this.assertNotPreparing();
239
+ this.preparingBindings = true;
240
+ try {
241
+ return create();
242
+ }
243
+ finally {
244
+ this.preparingBindings = false;
245
+ }
246
+ }
247
+ assertNotPreparing() {
248
+ if (this.preparingBindings) {
249
+ throw new Error("AnimationObjectGroup cannot be mutated while preparing bindings.");
239
250
  }
240
251
  }
241
252
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationObjectGroup.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationObjectGroup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnimationObjectGroup.js","sourceRoot":"","sources":["../src/AnimationObjectGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAKhB,MAAM,sBAAsB,CAAC;AAkB9B,SAAS,QAAQ,CAAC,CAAkB,EAAE,CAAkB;IACtD,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC;WACrD,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;WACzC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;WAChE,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa,CAAC;AAChF,CAAC;AAED,IAAI,WAAW,GAAG,CAAC,CAAC;AAEpB;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAoB;IACtB,sBAAsB,GAAG,IAAa,CAAC;IACvC,IAAI,GAAG,0BAA0B,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhH,0EAA0E;IAC1E,eAAe,GAAG,CAAC,CAAC;IAEH,OAAO,GAAkB,EAAE,CAAC;IAC5B,eAAe,GAAG,IAAI,GAAG,EAAoC,CAAC;IAC9D,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;IACzD,QAAQ,GAAG,KAAK,CAAC;IACjB,iBAAiB,GAAG,KAAK,CAAC;IAEzB,KAAK,CAGZ;IAEF,YAAY,GAAG,OAA8B;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE;gBACP,IAAI,KAAK,KAAK,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5C,IAAI,KAAK,KAAK,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;aACrE;YACD,IAAI,iBAAiB,KAAK,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7D,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,iFAAiF;IACjF,GAAG,CAAC,GAAG,OAA8B;QACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAC/B,MAAM,SAAS,GAAkB,EAAE,CAAC;YACpC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoC,CAAC;YACtE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuB,CAAC;YACvD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAe,CAAC;YAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAChF,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,KAAK,CAAC,MAAM;wBAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC5C,SAAS;gBACX,CAAC;gBAED,+EAA+E;gBAC/E,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;gBAClC,MAAM,IAAI,GAAG,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvG,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACtF,qEAAqE;oBACrE,OAAO,CAAC,KAAK,CAAC,uDAAuD,IAAI,IAAI,CAAC,CAAC;oBAC/E,SAAS;gBACX,CAAC;gBAED,MAAM,MAAM,GAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC3D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACtC,IAAI,IAAI,KAAK,SAAS;oBAAE,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC;YAED,wEAAwE;YACxE,wEAAwE;YACxE,kCAAkC;YAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmD,CAAC;YAC5E,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;gBACxD,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;gBACtG,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAC7E,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,aAAa;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QAChE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7E,CAAC;QACD,KAAK,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvD,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC3C,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,GAAG,OAA8B;QACtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;gBACtB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,OAAO;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC;IAED,iEAAiE;IACjE,OAAO,CAAC,GAAG,OAA8B;QACvC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;gBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClD,OAAO,EAAE,MAAM,EAAE,CAAC;gBAClB,IAAI,OAAO;oBAAE,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACpD,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,OAAO;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC;IAED,qDAAqD;IACrD,UAAU,CAAC,IAAY,EAAE,UAA4B;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACvE,CAAC;IAEO,kBAAkB,CAAC,IAAY,EAAE,UAA4B;QACnE,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,UAAU,CAAC;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,mEAAmE,IAAI,IAAI,CAAC,CAAC;YAC/F,CAAC;YACD,OAAO,QAAQ,CAAC,eAAe,CAAC;QAClC,CAAC;QAED,MAAM,YAAY,GAAiB;YACjC,IAAI;YACJ,UAAU,EAAE,UAAU;YACtB,eAAe,EAAE,EAAE;YACnB,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,SAAS,EAAE,IAAI,GAAG,EAAE;SACrB,CAAC;QACF,yEAAyE;QACzE,yEAAyE;QACzE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;YAClF,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC3C,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5C,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC3C,OAAO,YAAY,CAAC,eAAe,CAAC;IACtC,CAAC;IAED,iFAAiF;IACjF,gBAAgB,CAAC,IAAY,EAAE,OAA4B;QACzD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/E,CAAC;IAED,2EAA2E;IAC3E,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,gFAAgF;IAChF,OAAO;QACL,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC/F,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAC3B,CAAC;IAEO,eAAe;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAEzE,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC;YAC9C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;oBACzF,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC3C,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC9C,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;YAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAEO,mBAAmB,CAAC,YAA0B;QACpD,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACvE,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9B,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,YAAY,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1C,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC1E,CAAC;IAED,6EAA6E;IACrE,OAAO,CAAI,MAAe;QAChC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC;QAClB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationStateGraph.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationStateGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,IAAI,mBAAmB,EAC5C,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,kCAAkC,EACvC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EACzC,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,qBAAqB,EAAuB,MAAM,4BAA4B,CAAC;AAExF,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,kCAAkC,CAAC,OAAO,GAAE,mCAAwC,GAAG,qBAAqB,CAoB3H;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,EACtE,KAAK,SAAS,GACb,SAAS,kCAAkC,EAAE,CAK/C;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,GAAE,oCAAyC,GAAG,qBAAqB,CAiB7H"}
1
+ {"version":3,"file":"AnimationStateGraph.d.ts","sourceRoot":"","sources":["../src/AnimationStateGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,IAAI,mBAAmB,EAC5C,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,kCAAkC,EACvC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EACzC,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,qBAAqB,EAAuB,MAAM,4BAA4B,CAAC;AAExF,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,kCAAkC,CAAC,OAAO,GAAE,mCAAwC,GAAG,qBAAqB,CAoB3H;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,EACtE,KAAK,SAAS,GACb,SAAS,kCAAkC,EAAE,CAK/C;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,GAAE,oCAAyC,GAAG,qBAAqB,CAiB7H"}