@aura3d/animation 4.0.2 → 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.
Files changed (48) hide show
  1. package/dist/AnimationAction.d.ts +55 -1
  2. package/dist/AnimationAction.d.ts.map +1 -1
  3. package/dist/AnimationAction.js +156 -27
  4. package/dist/AnimationAction.js.map +1 -1
  5. package/dist/AnimationController.d.ts +8 -0
  6. package/dist/AnimationController.d.ts.map +1 -1
  7. package/dist/AnimationController.js.map +1 -1
  8. package/dist/AnimationEvents.d.ts +1 -1
  9. package/dist/AnimationEvents.d.ts.map +1 -1
  10. package/dist/AnimationEvents.js +33 -14
  11. package/dist/AnimationEvents.js.map +1 -1
  12. package/dist/AnimationMixer.d.ts +35 -0
  13. package/dist/AnimationMixer.d.ts.map +1 -1
  14. package/dist/AnimationMixer.js +60 -10
  15. package/dist/AnimationMixer.js.map +1 -1
  16. package/dist/AnimationObjectGroup.d.ts +28 -0
  17. package/dist/AnimationObjectGroup.d.ts.map +1 -0
  18. package/dist/AnimationObjectGroup.js +242 -0
  19. package/dist/AnimationObjectGroup.js.map +1 -0
  20. package/dist/AnimationTrack.d.ts +18 -2
  21. package/dist/AnimationTrack.d.ts.map +1 -1
  22. package/dist/AnimationTrack.js +62 -0
  23. package/dist/AnimationTrack.js.map +1 -1
  24. package/dist/AnimationUtils.d.ts +56 -0
  25. package/dist/AnimationUtils.d.ts.map +1 -0
  26. package/dist/AnimationUtils.js +202 -0
  27. package/dist/AnimationUtils.js.map +1 -0
  28. package/dist/PropertyBinding.d.ts +93 -0
  29. package/dist/PropertyBinding.d.ts.map +1 -0
  30. package/dist/PropertyBinding.js +393 -0
  31. package/dist/PropertyBinding.js.map +1 -0
  32. package/dist/SceneAnimationBridge.d.ts +23 -1
  33. package/dist/SceneAnimationBridge.d.ts.map +1 -1
  34. package/dist/SceneAnimationBridge.js +152 -14
  35. package/dist/SceneAnimationBridge.js.map +1 -1
  36. package/dist/browser-index.d.ts +3 -0
  37. package/dist/browser-index.d.ts.map +1 -1
  38. package/dist/browser-index.js +3 -0
  39. package/dist/browser-index.js.map +1 -1
  40. package/dist/index.d.ts +3 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +3 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/pose/blendKernels.d.ts +1 -1
  45. package/dist/pose/blendKernels.d.ts.map +1 -1
  46. package/dist/pose/blendKernels.js +3 -3
  47. package/dist/pose/blendKernels.js.map +1 -1
  48. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimationObjectGroup.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationObjectGroup.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
- import { type AnimationValue, type Keyframe, type SerializedKeyframe } from "./Keyframe.js";
2
- export type TrackValueType = "scalar" | "vector3" | "quaternion" | "number-array" | "boolean" | "string";
1
+ import { type AnimationValue, type InterpolationMode, type Keyframe, type Quat, type SerializedKeyframe, type Vec3 } from "./Keyframe.js";
2
+ /**
3
+ * SM-03: `color` is a first-class track channel (three's `ColorKeyframeTrack`),
4
+ * sampled as an `[r, g, b]` tuple and interpolated like `vector3`.
5
+ */
6
+ export type TrackValueType = "scalar" | "vector3" | "quaternion" | "color" | "number-array" | "boolean" | "string";
3
7
  export type AnimationTrackDescriptor<T extends AnimationValue = AnimationValue> = {
4
8
  readonly target: string;
5
9
  readonly valueType: TrackValueType;
@@ -20,4 +24,16 @@ export declare class AnimationTrack<T extends AnimationValue = AnimationValue> {
20
24
  toJSON(): SerializedAnimationTrack<T>;
21
25
  static fromJSON<T extends AnimationValue = AnimationValue>(serialized: SerializedAnimationTrack<T>): AnimationTrack<T>;
22
26
  }
27
+ /**
28
+ * SM-03 typed track factories matching three's `*KeyframeTrack` constructors:
29
+ * `(name, times, values, interpolation?)`, with `values` accepted either flat
30
+ * (component-major, `stride` numbers per key) or as per-key tuples.
31
+ */
32
+ export declare function NumberKeyframeTrack(target: string, times: readonly number[], values: readonly number[], interpolation?: InterpolationMode): AnimationTrack<number>;
33
+ export declare function ScalarKeyframeTrack(target: string, times: readonly number[], values: readonly number[], interpolation?: InterpolationMode): AnimationTrack<number>;
34
+ export declare function VectorKeyframeTrack(target: string, times: readonly number[], values: readonly number[] | readonly Vec3[], interpolation?: InterpolationMode): AnimationTrack<Vec3>;
35
+ export declare function QuaternionKeyframeTrack(target: string, times: readonly number[], values: readonly number[] | readonly Quat[], interpolation?: InterpolationMode): AnimationTrack<Quat>;
36
+ export declare function ColorKeyframeTrack(target: string, times: readonly number[], values: readonly number[] | readonly Vec3[], interpolation?: InterpolationMode): AnimationTrack<Vec3>;
37
+ export declare function BooleanKeyframeTrack(target: string, times: readonly number[], values: readonly boolean[]): AnimationTrack<boolean>;
38
+ export declare function StringKeyframeTrack(target: string, times: readonly number[], values: readonly string[]): AnimationTrack<string>;
23
39
  //# sourceMappingURL=AnimationTrack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationTrack.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationTrack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmH,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE7M,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzG,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;CACtD,CAAC;AAEF,qBAAa,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAcnD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC;IA4BvB,MAAM,IAAI,wBAAwB,CAAC,CAAC,CAAC;IAQrC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;CAOvH"}
1
+ {"version":3,"file":"AnimationTrack.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationTrack.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,7 @@ function interpolateCubicSpline(type, a, b, outTangent, inTangent, t, deltaTime)
67
67
  case "scalar":
68
68
  return cubicScalar(a, b, outTangent, inTangent, t, deltaTime);
69
69
  case "vector3":
70
+ case "color":
70
71
  return [
71
72
  cubicScalar(a[0], b[0], outTangent[0], inTangent[0], t, deltaTime),
72
73
  cubicScalar(a[1], b[1], outTangent[1], inTangent[1], t, deltaTime),
@@ -108,6 +109,7 @@ function interpolate(type, a, b, t) {
108
109
  case "scalar":
109
110
  return lerpNumber(a, b, t);
110
111
  case "vector3":
112
+ case "color":
111
113
  return lerpVec3(a, b, t);
112
114
  case "quaternion":
113
115
  return slerpQuat(a, b, t);
@@ -124,6 +126,7 @@ const ANIMATION_TRACK_VALUE_TYPES = new Set([
124
126
  "scalar",
125
127
  "vector3",
126
128
  "quaternion",
129
+ "color",
127
130
  "number-array",
128
131
  "boolean",
129
132
  "string"
@@ -134,4 +137,63 @@ function interpolateNumberArray(a, b, t) {
134
137
  }
135
138
  return a.map((value, index) => lerpNumber(value, b[index], t));
136
139
  }
140
+ function assertFiniteTimes(api, times) {
141
+ if (times.length === 0) {
142
+ throw new Error(`${api}: times must contain at least one entry.`);
143
+ }
144
+ for (const time of times) {
145
+ if (!Number.isFinite(time)) {
146
+ throw new Error(`${api}: times must be finite, got ${time}.`);
147
+ }
148
+ }
149
+ }
150
+ function tupleKeyframes(api, target, times, values, stride, interpolation) {
151
+ assertFiniteTimes(api, times);
152
+ const isTupleList = values.length > 0 && Array.isArray(values[0]);
153
+ const count = isTupleList ? values.length : values.length / stride;
154
+ if (count !== times.length || !Number.isInteger(count)) {
155
+ throw new Error(`${api}: expected ${times.length} value${times.length === 1 ? "" : "s"} (${stride} component${stride === 1 ? "" : "s"} each) for target "${target}", got ${isTupleList ? count : values.length} number${values.length === 1 ? "" : "s"}.`);
156
+ }
157
+ const keyframes = [];
158
+ for (let index = 0; index < times.length; index += 1) {
159
+ const value = isTupleList
160
+ ? values[index]
161
+ : (stride === 1 ? values[index] : values.slice(index * stride, index * stride + stride));
162
+ keyframes.push({ time: times[index], value, ...(interpolation ? { interpolation } : {}) });
163
+ }
164
+ return keyframes;
165
+ }
166
+ function discreteKeyframes(api, target, times, values) {
167
+ assertFiniteTimes(api, times);
168
+ if (values.length !== times.length) {
169
+ throw new Error(`${api}: expected ${times.length} values for target "${target}", got ${values.length}.`);
170
+ }
171
+ return times.map((time, index) => ({ time, value: values[index], interpolation: "step" }));
172
+ }
173
+ /**
174
+ * SM-03 typed track factories matching three's `*KeyframeTrack` constructors:
175
+ * `(name, times, values, interpolation?)`, with `values` accepted either flat
176
+ * (component-major, `stride` numbers per key) or as per-key tuples.
177
+ */
178
+ export function NumberKeyframeTrack(target, times, values, interpolation = "linear") {
179
+ return new AnimationTrack({ target, valueType: "scalar", keyframes: tupleKeyframes("NumberKeyframeTrack", target, times, values, 1, interpolation) });
180
+ }
181
+ export function ScalarKeyframeTrack(target, times, values, interpolation = "linear") {
182
+ return NumberKeyframeTrack(target, times, values, interpolation);
183
+ }
184
+ export function VectorKeyframeTrack(target, times, values, interpolation = "linear") {
185
+ return new AnimationTrack({ target, valueType: "vector3", keyframes: tupleKeyframes("VectorKeyframeTrack", target, times, values, 3, interpolation) });
186
+ }
187
+ export function QuaternionKeyframeTrack(target, times, values, interpolation = "linear") {
188
+ return new AnimationTrack({ target, valueType: "quaternion", keyframes: tupleKeyframes("QuaternionKeyframeTrack", target, times, values, 4, interpolation) });
189
+ }
190
+ export function ColorKeyframeTrack(target, times, values, interpolation = "linear") {
191
+ return new AnimationTrack({ target, valueType: "color", keyframes: tupleKeyframes("ColorKeyframeTrack", target, times, values, 3, interpolation) });
192
+ }
193
+ export function BooleanKeyframeTrack(target, times, values) {
194
+ return new AnimationTrack({ target, valueType: "boolean", keyframes: discreteKeyframes("BooleanKeyframeTrack", target, times, values) });
195
+ }
196
+ export function StringKeyframeTrack(target, times, values) {
197
+ return new AnimationTrack({ target, valueType: "string", keyframes: discreteKeyframes("StringKeyframeTrack", target, times, values) });
198
+ }
137
199
  //# sourceMappingURL=AnimationTrack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationTrack.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationTrack.ts"],"names":[],"mappings":"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"}
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":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAuCpD,MAAM,WAAW,eAAe;IAC9B,+FAA+F;IAC/F,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1C,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;QACvC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,mBAAmB,GAAG,SAAS,CAAC;KACnE,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChF,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,sBAAsB,EAAE,IAAI,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,KAAK,SAAS,mBAAmB,EAAE,CAAC;CAC5F;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,IAAI,IAAI,CAAC;IACf,QAAQ,IAAI,cAAc,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAsCjE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,mBAAmB,GAAG,IAAI,CA4BrH;AA8BD;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,MAAM,CAAC,cAAc,wBAAkB;IACvC,MAAM,CAAC,gBAAgB,0BAAoB;IAC3C,MAAM,CAAC,QAAQ,kBAAY;IAC3B,qFAAqF;IACrF,MAAM,KAAK,SAAS,IAAI,OAAO,wBAAwB,CAEtD;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC9C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,KAAK,CAAS;gBAEV,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe;IAOrF;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,mBAAmB;IAOpI,IAAI,IAAI,IAAI;IA+IZ,MAAM,IAAI,IAAI;IAKd,QAAQ,IAAI,cAAc,GAAG,SAAS;IAsBtC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAiCrC,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,UAAU,CAA+B;CAClD;AAOD;;;;GAIG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAClE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;gBAE9C,WAAW,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,eAAe;IAMrG,QAAQ,IAAI,cAAc,GAAG,SAAS;IAOtC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAOrC,IAAI,IAAI,IAAI;IAOZ,MAAM,IAAI,IAAI;CAMf"}