@aura3d/animation 4.0.3 → 4.0.4
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.
- package/dist/AnimationAction.d.ts +55 -1
- package/dist/AnimationAction.d.ts.map +1 -1
- package/dist/AnimationAction.js +156 -27
- package/dist/AnimationAction.js.map +1 -1
- package/dist/AnimationEvents.d.ts +1 -1
- package/dist/AnimationEvents.d.ts.map +1 -1
- package/dist/AnimationEvents.js +33 -14
- package/dist/AnimationEvents.js.map +1 -1
- package/dist/AnimationMixer.d.ts +35 -0
- package/dist/AnimationMixer.d.ts.map +1 -1
- package/dist/AnimationMixer.js +60 -10
- package/dist/AnimationMixer.js.map +1 -1
- package/dist/AnimationObjectGroup.d.ts +28 -0
- package/dist/AnimationObjectGroup.d.ts.map +1 -0
- package/dist/AnimationObjectGroup.js +242 -0
- package/dist/AnimationObjectGroup.js.map +1 -0
- package/dist/AnimationTrack.d.ts +18 -2
- package/dist/AnimationTrack.d.ts.map +1 -1
- package/dist/AnimationTrack.js +62 -0
- package/dist/AnimationTrack.js.map +1 -1
- package/dist/AnimationUtils.d.ts +56 -0
- package/dist/AnimationUtils.d.ts.map +1 -0
- package/dist/AnimationUtils.js +202 -0
- package/dist/AnimationUtils.js.map +1 -0
- package/dist/PropertyBinding.d.ts +93 -0
- package/dist/PropertyBinding.d.ts.map +1 -0
- package/dist/PropertyBinding.js +393 -0
- package/dist/PropertyBinding.js.map +1 -0
- package/dist/SceneAnimationBridge.d.ts +23 -1
- package/dist/SceneAnimationBridge.d.ts.map +1 -1
- package/dist/SceneAnimationBridge.js +152 -14
- package/dist/SceneAnimationBridge.js.map +1 -1
- package/dist/browser-index.d.ts +3 -0
- package/dist/browser-index.d.ts.map +1 -1
- package/dist/browser-index.js +3 -0
- package/dist/browser-index.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/pose/blendKernels.d.ts +1 -1
- package/dist/pose/blendKernels.d.ts.map +1 -1
- package/dist/pose/blendKernels.js +3 -3
- package/dist/pose/blendKernels.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimationTrack.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationTrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,EAA+D,MAAM,eAAe,CAAC;AAgB7M,MAAM,OAAO,cAAc;IAChB,MAAM,CAAS;IACf,SAAS,CAAiB;IAC1B,SAAS,CAAyB;IAClC,QAAQ,CAAS;IAE1B,YAAY,UAAuC;QACjD,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,iBAAiB,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;QAC5H,CAAC;QACD,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACvH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QACxD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAE,CAAC;YACjC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;YACrC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,CAAC,CAAC,aAAa,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpD,OAAO,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtC,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,CAAC,CAAC,aAAa,KAAK,aAAa,EAAE,CAAC;oBACtC,OAAO,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAM,CAAC;gBACtH,CAAC;gBACD,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAM,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;SACzE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,QAAQ,CAA4C,UAAuC;QAChG,OAAO,IAAI,cAAc,CAAC;YACxB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;SACjF,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,sBAAsB,CAC7B,IAAoB,EACpB,CAAiB,EACjB,CAAiB,EACjB,UAAsC,EACtC,SAAqC,EACrC,CAAS,EACT,SAAiB;IAEjB,IAAI,UAAU,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;IACxH,CAAC;IACD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,CAAW,EAAE,CAAW,EAAE,UAAoB,EAAE,SAAmB,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACxG,KAAK,SAAS;YACZ,OAAO;gBACL,WAAW,CAAE,CAA8B,CAAC,CAAC,CAAC,EAAG,CAA8B,CAAC,CAAC,CAAC,EAAG,UAAuC,CAAC,CAAC,CAAC,EAAG,SAAsC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;gBAC1L,WAAW,CAAE,CAA8B,CAAC,CAAC,CAAC,EAAG,CAA8B,CAAC,CAAC,CAAC,EAAG,UAAuC,CAAC,CAAC,CAAC,EAAG,SAAsC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;gBAC1L,WAAW,CAAE,CAA8B,CAAC,CAAC,CAAC,EAAG,CAA8B,CAAC,CAAC,CAAC,EAAG,UAAuC,CAAC,CAAC,CAAC,EAAG,SAAsC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;aAC3L,CAAC;QACJ,KAAK,YAAY;YACf,OAAO,wBAAwB,CAAC,CAAqC,EAAE,CAAqC,EAAE,UAA8C,EAAE,SAA6C,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAC7N,KAAK,cAAc;YACjB,OAAO,gBAAgB,CAAC,CAAsB,EAAE,CAAsB,EAAE,UAA+B,EAAE,SAA8B,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACzJ,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,oBAAoB,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS,EAAE,UAAkB,EAAE,SAAiB,EAAE,CAAS,EAAE,SAAiB;IAC5G,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,OAAO,CACL,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;QACzB,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,UAAU;QAC1C,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;QACtB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,GAAG,SAAS,CAClC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,CAAoB,EACpB,CAAoB,EACpB,UAA6B,EAC7B,SAA4B,EAC5B,CAAS,EACT,SAAiB;IAEjB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QAC7F,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAE,EAAE,UAAU,CAAC,KAAK,CAAE,EAAE,SAAS,CAAC,KAAK,CAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AACrH,CAAC;AAED,SAAS,wBAAwB,CAC/B,CAA4C,EAC5C,CAA4C,EAC5C,UAAqD,EACrD,SAAoD,EACpD,CAAS,EACT,SAAiB;IAEjB,OAAO,SAAS,CACd,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACZ;QACE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;QAClE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;QAClE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;QAClE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;KACnE,EACD,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAoB,EAAE,CAAiB,EAAE,CAAiB,EAAE,CAAS;IACxF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,CAAW,EAAE,CAAW,EAAE,CAAC,CAAC,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC,CAA6B,EAAE,CAA6B,EAAE,CAAC,CAAC,CAAC;QACnF,KAAK,YAAY;YACf,OAAO,SAAS,CAAC,CAAqC,EAAE,CAAqC,EAAE,CAAC,CAAC,CAAC;QACpG,KAAK,cAAc;YACjB,OAAO,sBAAsB,CAAC,CAAsB,EAAE,CAAsB,EAAE,CAAC,CAAC,CAAC;QACnF,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB;YACE,MAAM,IAAI,KAAK,CAAC,iEAAiE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvG,CAAC;AACH,CAAC;AAED,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAC;IAC/D,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,cAAc;IACd,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAAC,CAAoB,EAAE,CAAoB,EAAE,CAAS;IACnF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC"}
|
|
1
|
+
{"version":3,"file":"AnimationTrack.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationTrack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { AnimationClip } from "./AnimationClip.js";
|
|
2
|
+
import { isClipAdditive, makeClipAdditive, type AdditiveReference } from "./pose/makeClipAdditive.js";
|
|
3
|
+
export { isClipAdditive, makeClipAdditive, type AdditiveReference };
|
|
4
|
+
/**
|
|
5
|
+
* SA-06 — three-compatible `AnimationUtils` (`three@0.185.x
|
|
6
|
+
* src/animation/AnimationUtils.js` + `KeyframeTrack.optimize`) adapted to
|
|
7
|
+
* Aura's keyframe-object tracks. All helpers return new immutable clips —
|
|
8
|
+
* tracks are never mutated in place.
|
|
9
|
+
*/
|
|
10
|
+
export declare function arraySlice<T>(array: ArrayLike<T>, from: number, to: number): T[];
|
|
11
|
+
export declare function convertArray<T>(array: ArrayLike<T> | readonly T[]): readonly T[] | ArrayLike<T>;
|
|
12
|
+
export declare function isTypedArray(object: unknown): boolean;
|
|
13
|
+
/** Same order as three's `AnimationUtils.getKeyframeOrder` (stable sort). */
|
|
14
|
+
export declare function getKeyframeOrder(times: readonly number[]): number[];
|
|
15
|
+
/** Reorders `values` (flat, `stride` components per element) by `sortedKeys`. */
|
|
16
|
+
export declare function sortedArray<T extends ArrayLike<number> | readonly number[]>(values: T, stride: number, sortedKeys: readonly number[]): T;
|
|
17
|
+
/**
|
|
18
|
+
* three's `AnimationUtils.subclip`: keeps the keyframes whose clip time falls
|
|
19
|
+
* inside `[startFrame, endFrame)` (converted through `fps`), drops tracks left
|
|
20
|
+
* empty, and shifts every kept keyframe (and clip event) by `-startFrame/fps`
|
|
21
|
+
* so the subclip starts at 0.
|
|
22
|
+
*/
|
|
23
|
+
export declare function subclip(sourceClip: AnimationClip, name: string, startFrame: number, endFrame: number, fps?: number): AnimationClip;
|
|
24
|
+
/**
|
|
25
|
+
* three's `KeyframeTrack.optimize` lifted to whole clips: interior keyframes
|
|
26
|
+
* whose value equals both neighbors are redundant under linear/step
|
|
27
|
+
* interpolation and are removed. `cubicspline` keys are always preserved —
|
|
28
|
+
* removing them would change the curve through their tangents. The first and
|
|
29
|
+
* last keys are always kept. Returns a new clip.
|
|
30
|
+
*/
|
|
31
|
+
export declare function optimize(clip: AnimationClip): AnimationClip;
|
|
32
|
+
/**
|
|
33
|
+
* Sequential clip concatenation: each clip's tracks (and events) are shifted
|
|
34
|
+
* by the accumulated duration of the clips before it. Tracks that share a
|
|
35
|
+
* `target`+`valueType` are joined into one; a later clip's first keyframe that
|
|
36
|
+
* lands exactly on the previous clip's boundary is dropped so the join stays
|
|
37
|
+
* continuous. Distinct targets appear side by side.
|
|
38
|
+
*/
|
|
39
|
+
export declare function merge(clips: readonly AnimationClip[], name?: string): AnimationClip;
|
|
40
|
+
/**
|
|
41
|
+
* Namespace twin of three's `THREE.AnimationUtils`, for callers porting code
|
|
42
|
+
* that references the utility as an object.
|
|
43
|
+
*/
|
|
44
|
+
export declare const AnimationUtils: {
|
|
45
|
+
readonly arraySlice: typeof arraySlice;
|
|
46
|
+
readonly convertArray: typeof convertArray;
|
|
47
|
+
readonly isTypedArray: typeof isTypedArray;
|
|
48
|
+
readonly getKeyframeOrder: typeof getKeyframeOrder;
|
|
49
|
+
readonly sortedArray: typeof sortedArray;
|
|
50
|
+
readonly subclip: typeof subclip;
|
|
51
|
+
readonly optimize: typeof optimize;
|
|
52
|
+
readonly merge: typeof merge;
|
|
53
|
+
readonly makeClipAdditive: typeof makeClipAdditive;
|
|
54
|
+
readonly isClipAdditive: typeof isClipAdditive;
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=AnimationUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimationUtils.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEtG,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,CAAC;AAEpE;;;;;GAKG;AAEH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,CAMhF;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAE/F;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAErD;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAMnE;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,CAUxI;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAK,GAAG,aAAa,CAmC9H;AAiBD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CAgC3D;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,EAAE,IAAI,SAAW,GAAG,aAAa,CAwCrF;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;CAWjB,CAAC"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { AnimationClip } from "./AnimationClip.js";
|
|
2
|
+
import { AnimationTrack } from "./AnimationTrack.js";
|
|
3
|
+
import { cloneAnimationValue } from "./Keyframe.js";
|
|
4
|
+
import { isClipAdditive, makeClipAdditive } from "./pose/makeClipAdditive.js";
|
|
5
|
+
export { isClipAdditive, makeClipAdditive };
|
|
6
|
+
/**
|
|
7
|
+
* SA-06 — three-compatible `AnimationUtils` (`three@0.185.x
|
|
8
|
+
* src/animation/AnimationUtils.js` + `KeyframeTrack.optimize`) adapted to
|
|
9
|
+
* Aura's keyframe-object tracks. All helpers return new immutable clips —
|
|
10
|
+
* tracks are never mutated in place.
|
|
11
|
+
*/
|
|
12
|
+
export function arraySlice(array, from, to) {
|
|
13
|
+
const result = new Array(to - from);
|
|
14
|
+
for (let i = from, j = 0; i !== to; ++i, ++j) {
|
|
15
|
+
result[j] = array[i];
|
|
16
|
+
}
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
export function convertArray(array) {
|
|
20
|
+
return Array.isArray(array) ? array : arraySlice(array, 0, array.length);
|
|
21
|
+
}
|
|
22
|
+
export function isTypedArray(object) {
|
|
23
|
+
return ArrayBuffer.isView(object) && !(object instanceof DataView);
|
|
24
|
+
}
|
|
25
|
+
/** Same order as three's `AnimationUtils.getKeyframeOrder` (stable sort). */
|
|
26
|
+
export function getKeyframeOrder(times) {
|
|
27
|
+
const indexes = new Array(times.length);
|
|
28
|
+
for (let i = 0; i !== indexes.length; ++i) {
|
|
29
|
+
indexes[i] = i;
|
|
30
|
+
}
|
|
31
|
+
return indexes.sort((a, b) => times[a] - times[b]);
|
|
32
|
+
}
|
|
33
|
+
/** Reorders `values` (flat, `stride` components per element) by `sortedKeys`. */
|
|
34
|
+
export function sortedArray(values, stride, sortedKeys) {
|
|
35
|
+
const count = values.length / stride;
|
|
36
|
+
const result = (Array.isArray(values) ? new Array(values.length) : new values.constructor(values.length));
|
|
37
|
+
for (let i = 0; i !== count; ++i) {
|
|
38
|
+
const index = sortedKeys[i] * stride;
|
|
39
|
+
for (let j = 0; j !== stride; ++j) {
|
|
40
|
+
result[i * stride + j] = values[index + j];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* three's `AnimationUtils.subclip`: keeps the keyframes whose clip time falls
|
|
47
|
+
* inside `[startFrame, endFrame)` (converted through `fps`), drops tracks left
|
|
48
|
+
* empty, and shifts every kept keyframe (and clip event) by `-startFrame/fps`
|
|
49
|
+
* so the subclip starts at 0.
|
|
50
|
+
*/
|
|
51
|
+
export function subclip(sourceClip, name, startFrame, endFrame, fps = 30) {
|
|
52
|
+
if (!(sourceClip instanceof AnimationClip)) {
|
|
53
|
+
throw new Error("AnimationUtils.subclip: sourceClip must be an AnimationClip.");
|
|
54
|
+
}
|
|
55
|
+
if (!Number.isFinite(startFrame) || !Number.isFinite(endFrame) || endFrame <= startFrame) {
|
|
56
|
+
throw new Error(`AnimationUtils.subclip: expected endFrame > startFrame >= 0, got [${startFrame}, ${endFrame}].`);
|
|
57
|
+
}
|
|
58
|
+
if (!Number.isFinite(fps) || fps <= 0) {
|
|
59
|
+
throw new Error(`AnimationUtils.subclip: fps must be a positive finite number, got ${fps}.`);
|
|
60
|
+
}
|
|
61
|
+
const clip = AnimationClip.fromJSON(sourceClip.toJSON());
|
|
62
|
+
const startTime = startFrame / fps;
|
|
63
|
+
const endTime = endFrame / fps;
|
|
64
|
+
const tracks = [];
|
|
65
|
+
for (const track of clip.tracks) {
|
|
66
|
+
const keyframes = track.keyframes.filter((keyframe) => {
|
|
67
|
+
const frame = keyframe.time * fps;
|
|
68
|
+
return frame >= startFrame && frame < endFrame;
|
|
69
|
+
});
|
|
70
|
+
if (keyframes.length === 0) {
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
tracks.push(new AnimationTrack({
|
|
74
|
+
target: track.target,
|
|
75
|
+
valueType: track.valueType,
|
|
76
|
+
keyframes: keyframes.map((keyframe) => ({ ...keyframe, time: keyframe.time - startTime }))
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
const events = clip.events
|
|
80
|
+
.filter((event) => event.time >= startTime && event.time < endTime)
|
|
81
|
+
.map((event) => ({ ...event, time: event.time - startTime }));
|
|
82
|
+
return new AnimationClip({ name, tracks, events });
|
|
83
|
+
}
|
|
84
|
+
function valuesEqual(a, b) {
|
|
85
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
86
|
+
if (a.length !== b.length) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
for (let i = 0; i < a.length; i++) {
|
|
90
|
+
if (a[i] !== b[i]) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
return a === b;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* three's `KeyframeTrack.optimize` lifted to whole clips: interior keyframes
|
|
100
|
+
* whose value equals both neighbors are redundant under linear/step
|
|
101
|
+
* interpolation and are removed. `cubicspline` keys are always preserved —
|
|
102
|
+
* removing them would change the curve through their tangents. The first and
|
|
103
|
+
* last keys are always kept. Returns a new clip.
|
|
104
|
+
*/
|
|
105
|
+
export function optimize(clip) {
|
|
106
|
+
if (!(clip instanceof AnimationClip)) {
|
|
107
|
+
throw new Error("AnimationUtils.optimize: clip must be an AnimationClip.");
|
|
108
|
+
}
|
|
109
|
+
const tracks = clip.tracks.map((track) => {
|
|
110
|
+
const keyframes = track.keyframes;
|
|
111
|
+
if (keyframes.length <= 2) {
|
|
112
|
+
return track;
|
|
113
|
+
}
|
|
114
|
+
const kept = [keyframes[0]];
|
|
115
|
+
for (let i = 1; i < keyframes.length - 1; i++) {
|
|
116
|
+
const previous = kept[kept.length - 1];
|
|
117
|
+
const current = keyframes[i];
|
|
118
|
+
const next = keyframes[i + 1];
|
|
119
|
+
if (current.interpolation === "cubicspline" || next.interpolation === "cubicspline") {
|
|
120
|
+
kept.push(current);
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
if (valuesEqual(current.value, previous.value) && valuesEqual(current.value, next.value)) {
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
kept.push(current);
|
|
127
|
+
}
|
|
128
|
+
kept.push(keyframes[keyframes.length - 1]);
|
|
129
|
+
return new AnimationTrack({ target: track.target, valueType: track.valueType, keyframes: kept });
|
|
130
|
+
});
|
|
131
|
+
return new AnimationClip({
|
|
132
|
+
name: clip.name,
|
|
133
|
+
duration: clip.duration,
|
|
134
|
+
tracks,
|
|
135
|
+
events: clip.events.map((event) => ({ ...event }))
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Sequential clip concatenation: each clip's tracks (and events) are shifted
|
|
140
|
+
* by the accumulated duration of the clips before it. Tracks that share a
|
|
141
|
+
* `target`+`valueType` are joined into one; a later clip's first keyframe that
|
|
142
|
+
* lands exactly on the previous clip's boundary is dropped so the join stays
|
|
143
|
+
* continuous. Distinct targets appear side by side.
|
|
144
|
+
*/
|
|
145
|
+
export function merge(clips, name = "merged") {
|
|
146
|
+
if (clips.length === 0) {
|
|
147
|
+
throw new Error("AnimationUtils.merge: at least one clip is required.");
|
|
148
|
+
}
|
|
149
|
+
for (const clip of clips) {
|
|
150
|
+
if (!(clip instanceof AnimationClip)) {
|
|
151
|
+
throw new Error("AnimationUtils.merge: every entry must be an AnimationClip.");
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const mergedTracks = new Map();
|
|
155
|
+
const events = [];
|
|
156
|
+
let offset = 0;
|
|
157
|
+
for (const clip of clips) {
|
|
158
|
+
for (const track of clip.tracks) {
|
|
159
|
+
const key = `${track.target}${track.valueType}`;
|
|
160
|
+
const entry = mergedTracks.get(key) ?? { target: track.target, valueType: track.valueType, keyframes: [] };
|
|
161
|
+
if (!mergedTracks.has(key)) {
|
|
162
|
+
mergedTracks.set(key, entry);
|
|
163
|
+
}
|
|
164
|
+
const boundaryTime = entry.keyframes.length > 0 ? entry.keyframes[entry.keyframes.length - 1].time : -1;
|
|
165
|
+
for (const keyframe of track.keyframes) {
|
|
166
|
+
const shifted = keyframe.time + offset;
|
|
167
|
+
if (shifted === boundaryTime) {
|
|
168
|
+
// Keep the existing boundary value for a continuous join.
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
entry.keyframes.push({ ...keyframe, time: shifted, value: cloneAnimationValue(keyframe.value) });
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
for (const event of clip.events) {
|
|
175
|
+
events.push({ ...event, time: event.time + offset });
|
|
176
|
+
}
|
|
177
|
+
offset += clip.duration;
|
|
178
|
+
}
|
|
179
|
+
const tracks = [...mergedTracks.values()].map((entry) => new AnimationTrack({
|
|
180
|
+
target: entry.target,
|
|
181
|
+
valueType: entry.valueType,
|
|
182
|
+
keyframes: entry.keyframes
|
|
183
|
+
}));
|
|
184
|
+
return new AnimationClip({ name, duration: offset, tracks, events });
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Namespace twin of three's `THREE.AnimationUtils`, for callers porting code
|
|
188
|
+
* that references the utility as an object.
|
|
189
|
+
*/
|
|
190
|
+
export const AnimationUtils = {
|
|
191
|
+
arraySlice,
|
|
192
|
+
convertArray,
|
|
193
|
+
isTypedArray,
|
|
194
|
+
getKeyframeOrder,
|
|
195
|
+
sortedArray,
|
|
196
|
+
subclip,
|
|
197
|
+
optimize,
|
|
198
|
+
merge,
|
|
199
|
+
makeClipAdditive,
|
|
200
|
+
isClipAdditive
|
|
201
|
+
};
|
|
202
|
+
//# sourceMappingURL=AnimationUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimationUtils.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { AnimationValue } from "./Keyframe.js";
|
|
2
|
+
export interface ParsedTrackName {
|
|
3
|
+
/** Directory prefix (`parent/child/` or `scene:name:`) — parsed but unused, matching three. */
|
|
4
|
+
readonly directoryName?: string;
|
|
5
|
+
readonly nodeName?: string;
|
|
6
|
+
readonly objectName?: string;
|
|
7
|
+
readonly objectIndex?: string;
|
|
8
|
+
readonly propertyName: string;
|
|
9
|
+
readonly propertyIndex?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Node shape `PropertyBinding` can bind to — structurally compatible with
|
|
13
|
+
* `SceneAnimationNode`, `SceneNode`, and three-style duck-typed objects.
|
|
14
|
+
*/
|
|
15
|
+
export interface PropertyBindingNode {
|
|
16
|
+
name?: string;
|
|
17
|
+
uuid?: string;
|
|
18
|
+
children?: readonly PropertyBindingNode[];
|
|
19
|
+
skeleton?: {
|
|
20
|
+
bones?: readonly PropertyBindingNode[];
|
|
21
|
+
getBoneByName?: (name: string) => PropertyBindingNode | undefined;
|
|
22
|
+
};
|
|
23
|
+
material?: unknown;
|
|
24
|
+
map?: unknown;
|
|
25
|
+
morphTargetDictionary?: Record<string, number> | (() => Record<string, number>);
|
|
26
|
+
morphTargetInfluences?: number[];
|
|
27
|
+
needsUpdate?: boolean;
|
|
28
|
+
matrixWorldNeedsUpdate?: boolean;
|
|
29
|
+
[key: string]: unknown;
|
|
30
|
+
}
|
|
31
|
+
export interface AnimationObjectGroupLike {
|
|
32
|
+
readonly isAnimationObjectGroup: true;
|
|
33
|
+
readonly nCachedObjects_: number;
|
|
34
|
+
subscribe_: (path: string, parsedPath?: ParsedTrackName) => readonly PropertyBindingLike[];
|
|
35
|
+
}
|
|
36
|
+
export interface PropertyBindingLike {
|
|
37
|
+
bind(): void;
|
|
38
|
+
unbind(): void;
|
|
39
|
+
getValue(): AnimationValue | undefined;
|
|
40
|
+
setValue(value: AnimationValue): void;
|
|
41
|
+
}
|
|
42
|
+
export declare function parseTrackName(trackName: string): ParsedTrackName;
|
|
43
|
+
export declare function sanitizeNodeName(name: string): string;
|
|
44
|
+
export declare function findNode(root: PropertyBindingNode, nodeName: string | number | undefined): PropertyBindingNode | null;
|
|
45
|
+
/**
|
|
46
|
+
* Binds a parsed track path to a concrete property on a node resolved from
|
|
47
|
+
* `rootNode`. `getValue`/`setValue` read and write `AnimationValue`s; on
|
|
48
|
+
* failure to bind they become no-ops (three's unbound state).
|
|
49
|
+
*/
|
|
50
|
+
export declare class PropertyBinding {
|
|
51
|
+
static parseTrackName: typeof parseTrackName;
|
|
52
|
+
static sanitizeNodeName: typeof sanitizeNodeName;
|
|
53
|
+
static findNode: typeof findNode;
|
|
54
|
+
/** three's `PropertyBinding.Composite` (lazy so the class can be declared below). */
|
|
55
|
+
static get Composite(): typeof PropertyBindingComposite;
|
|
56
|
+
readonly path: string;
|
|
57
|
+
readonly parsedPath: ParsedTrackName;
|
|
58
|
+
readonly rootNode: PropertyBindingNode;
|
|
59
|
+
node: PropertyBindingNode | null;
|
|
60
|
+
targetObject: PropertyBindingNode | undefined;
|
|
61
|
+
resolvedProperty: unknown;
|
|
62
|
+
propertyName: string | undefined;
|
|
63
|
+
propertyIndex: string | number | undefined;
|
|
64
|
+
private bound;
|
|
65
|
+
constructor(rootNode: PropertyBindingNode, path: string, parsedPath?: ParsedTrackName);
|
|
66
|
+
/**
|
|
67
|
+
* Factory matching three's `PropertyBinding.create`: a root marked
|
|
68
|
+
* `isAnimationObjectGroup` produces a composite binding shared across the
|
|
69
|
+
* group's objects.
|
|
70
|
+
*/
|
|
71
|
+
static create(root: PropertyBindingNode | AnimationObjectGroupLike, path: string, parsedPath?: ParsedTrackName): PropertyBindingLike;
|
|
72
|
+
bind(): void;
|
|
73
|
+
unbind(): void;
|
|
74
|
+
getValue(): AnimationValue | undefined;
|
|
75
|
+
setValue(value: AnimationValue): void;
|
|
76
|
+
private bindingType;
|
|
77
|
+
private versioning;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* three's `PropertyBinding.Composite`: fans a single track path out over every
|
|
81
|
+
* object in an {@link AnimationObjectGroup}-compatible group. `getValue` reads
|
|
82
|
+
* the first valid object; `setValue` writes all valid objects.
|
|
83
|
+
*/
|
|
84
|
+
export declare class PropertyBindingComposite implements PropertyBindingLike {
|
|
85
|
+
private readonly targetGroup;
|
|
86
|
+
private readonly bindings;
|
|
87
|
+
constructor(targetGroup: AnimationObjectGroupLike, path: string, optionalParsedPath?: ParsedTrackName);
|
|
88
|
+
getValue(): AnimationValue | undefined;
|
|
89
|
+
setValue(value: AnimationValue): void;
|
|
90
|
+
bind(): void;
|
|
91
|
+
unbind(): void;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=PropertyBinding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyBinding.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/PropertyBinding.ts"],"names":[],"mappings":"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"}
|