@aura3d/animation 4.0.3 → 4.0.5

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 (45) 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/AnimationEvents.d.ts +1 -1
  6. package/dist/AnimationEvents.d.ts.map +1 -1
  7. package/dist/AnimationEvents.js +33 -14
  8. package/dist/AnimationEvents.js.map +1 -1
  9. package/dist/AnimationMixer.d.ts +35 -0
  10. package/dist/AnimationMixer.d.ts.map +1 -1
  11. package/dist/AnimationMixer.js +60 -10
  12. package/dist/AnimationMixer.js.map +1 -1
  13. package/dist/AnimationObjectGroup.d.ts +28 -0
  14. package/dist/AnimationObjectGroup.d.ts.map +1 -0
  15. package/dist/AnimationObjectGroup.js +242 -0
  16. package/dist/AnimationObjectGroup.js.map +1 -0
  17. package/dist/AnimationTrack.d.ts +18 -2
  18. package/dist/AnimationTrack.d.ts.map +1 -1
  19. package/dist/AnimationTrack.js +62 -0
  20. package/dist/AnimationTrack.js.map +1 -1
  21. package/dist/AnimationUtils.d.ts +56 -0
  22. package/dist/AnimationUtils.d.ts.map +1 -0
  23. package/dist/AnimationUtils.js +202 -0
  24. package/dist/AnimationUtils.js.map +1 -0
  25. package/dist/PropertyBinding.d.ts +93 -0
  26. package/dist/PropertyBinding.d.ts.map +1 -0
  27. package/dist/PropertyBinding.js +393 -0
  28. package/dist/PropertyBinding.js.map +1 -0
  29. package/dist/SceneAnimationBridge.d.ts +23 -1
  30. package/dist/SceneAnimationBridge.d.ts.map +1 -1
  31. package/dist/SceneAnimationBridge.js +152 -14
  32. package/dist/SceneAnimationBridge.js.map +1 -1
  33. package/dist/browser-index.d.ts +3 -0
  34. package/dist/browser-index.d.ts.map +1 -1
  35. package/dist/browser-index.js +3 -0
  36. package/dist/browser-index.js.map +1 -1
  37. package/dist/index.d.ts +3 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +3 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/pose/blendKernels.d.ts +1 -1
  42. package/dist/pose/blendKernels.d.ts.map +1 -1
  43. package/dist/pose/blendKernels.js +3 -3
  44. package/dist/pose/blendKernels.js.map +1 -1
  45. package/package.json +2 -2
@@ -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":"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"}