@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.
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
@@ -13,6 +13,7 @@ export class AnimationMixer {
13
13
  values = new Map();
14
14
  applyErrors = [];
15
15
  eventListeners = new Set();
16
+ playbackListeners = new Map();
16
17
  disposed = false;
17
18
  warnedEmptyUpdate = false;
18
19
  inertialTransition;
@@ -52,8 +53,8 @@ export class AnimationMixer {
52
53
  }
53
54
  setTimeScale(timeScale) {
54
55
  this.assertAlive();
55
- if (!Number.isFinite(timeScale) || timeScale < 0) {
56
- throw new Error("AnimationMixer.setTimeScale: timeScale must be finite and non-negative.");
56
+ if (!Number.isFinite(timeScale)) {
57
+ throw new Error("AnimationMixer.setTimeScale: timeScale must be finite.");
57
58
  }
58
59
  this.timeScale = timeScale;
59
60
  }
@@ -104,11 +105,11 @@ export class AnimationMixer {
104
105
  }
105
106
  update(delta) {
106
107
  this.assertAlive();
107
- if (!Number.isFinite(delta) || delta < 0) {
108
- throw new Error("AnimationMixer.update: delta must be finite and non-negative.");
108
+ if (!Number.isFinite(delta)) {
109
+ throw new Error("AnimationMixer.update: delta must be finite.");
109
110
  }
110
- if (!Number.isFinite(this.timeScale) || this.timeScale < 0) {
111
- throw new Error("AnimationMixer.update: timeScale must be finite and non-negative; call AnimationMixer.setTimeScale with a valid value.");
111
+ if (!Number.isFinite(this.timeScale)) {
112
+ throw new Error("AnimationMixer.update: timeScale must be finite; call AnimationMixer.setTimeScale with a valid value.");
112
113
  }
113
114
  for (const layer of this.layers) {
114
115
  if (!Number.isFinite(layer.weight) || layer.weight < 0) {
@@ -134,6 +135,13 @@ export class AnimationMixer {
134
135
  if (actionEvents.length > 0) {
135
136
  events.push(...actionEvents);
136
137
  }
138
+ const signals = action.consumePlaybackSignals();
139
+ if (signals.loopDelta !== 0) {
140
+ this.dispatchPlaybackEvent({ type: "loop", action, loopDelta: signals.loopDelta });
141
+ }
142
+ if (signals.finishedDirection !== 0) {
143
+ this.dispatchPlaybackEvent({ type: "finished", action, direction: signals.finishedDirection });
144
+ }
137
145
  if (!action.playing && action.weight <= 0) {
138
146
  continue;
139
147
  }
@@ -212,6 +220,47 @@ export class AnimationMixer {
212
220
  this.eventListeners.add(listener);
213
221
  return () => this.eventListeners.delete(listener);
214
222
  }
223
+ /**
224
+ * three's `mixer.addEventListener("finished" | "loop", listener)` — fires when
225
+ * any registered action crosses its final repetition ("finished", once per
226
+ * finish) or wraps a loop boundary ("loop", with the signed `loopDelta`).
227
+ * Returns an unsubscribe callback.
228
+ */
229
+ addEventListener(type, listener) {
230
+ this.assertAlive();
231
+ if (type !== "finished" && type !== "loop") {
232
+ throw new Error(`AnimationMixer.addEventListener: unknown event type "${String(type)}"; expected "finished" or "loop".`);
233
+ }
234
+ if (typeof listener !== "function") {
235
+ throw new Error(`AnimationMixer.addEventListener: listener for "${type}" must be a function.`);
236
+ }
237
+ let listeners = this.playbackListeners.get(type);
238
+ if (!listeners) {
239
+ listeners = new Set();
240
+ this.playbackListeners.set(type, listeners);
241
+ }
242
+ listeners.add(listener);
243
+ return () => this.removeEventListener(type, listener);
244
+ }
245
+ removeEventListener(type, listener) {
246
+ const listeners = this.playbackListeners.get(type);
247
+ if (!listeners) {
248
+ return;
249
+ }
250
+ listeners.delete(listener);
251
+ if (listeners.size === 0) {
252
+ this.playbackListeners.delete(type);
253
+ }
254
+ }
255
+ dispatchPlaybackEvent(event) {
256
+ const listeners = this.playbackListeners.get(event.type);
257
+ if (!listeners) {
258
+ return;
259
+ }
260
+ for (const listener of Array.from(listeners)) {
261
+ listener(event);
262
+ }
263
+ }
215
264
  snapshot() {
216
265
  const values = {};
217
266
  for (const [target, value] of this.values) {
@@ -232,6 +281,7 @@ export class AnimationMixer {
232
281
  this.values.clear();
233
282
  this.applyErrors = [];
234
283
  this.eventListeners.clear();
284
+ this.playbackListeners.clear();
235
285
  this.inertialTransition = undefined;
236
286
  this.disposed = true;
237
287
  }
@@ -325,7 +375,7 @@ function blendBase(current, type, value, weight) {
325
375
  if (type === "scalar") {
326
376
  current.value = current.value + (value - current.value) * t;
327
377
  }
328
- else if (type === "vector3") {
378
+ else if (type === "vector3" || type === "color") {
329
379
  const a = current.value;
330
380
  const b = value;
331
381
  current.value = [a[0] + (b[0] - a[0]) * t, a[1] + (b[1] - a[1]) * t, a[2] + (b[2] - a[2]) * t];
@@ -373,7 +423,7 @@ function additiveContribution(type, value, weight) {
373
423
  if (type === "scalar") {
374
424
  return value * weight;
375
425
  }
376
- if (type === "vector3") {
426
+ if (type === "vector3" || type === "color") {
377
427
  const vector = value;
378
428
  return [vector[0] * weight, vector[1] * weight, vector[2] * weight];
379
429
  }
@@ -392,7 +442,7 @@ function applyAdditive(type, base, delta) {
392
442
  if (type === "scalar") {
393
443
  return base + delta;
394
444
  }
395
- if (type === "vector3") {
445
+ if (type === "vector3" || type === "color") {
396
446
  const a = base;
397
447
  const b = delta;
398
448
  return [a[0] + b[0], a[1] + b[1], a[2] + b[2]];
@@ -414,7 +464,7 @@ function additiveNeutral(type, value) {
414
464
  if (type === "scalar") {
415
465
  return 0;
416
466
  }
417
- if (type === "vector3") {
467
+ if (type === "vector3" || type === "color") {
418
468
  return [0, 0, 0];
419
469
  }
420
470
  if (type === "number-array") {
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationMixer.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationMixer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnimationMixer.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationMixer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type AnimationObjectGroupLike, type ParsedTrackName, type PropertyBindingLike, type PropertyBindingNode } from "./PropertyBinding.js";
2
+ export declare class AnimationObjectGroup implements AnimationObjectGroupLike {
3
+ readonly isAnimationObjectGroup: true;
4
+ readonly uuid: string;
5
+ /** Threshold between cached and active objects; read by the composite binding. */
6
+ 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;
13
+ readonly stats: {
14
+ readonly objects: {
15
+ readonly total: number;
16
+ readonly inUse: number;
17
+ };
18
+ readonly bindingsPerObject: number;
19
+ };
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`. */
25
+ subscribe_(path: string, parsedPath?: ParsedTrackName): PropertyBindingLike[];
26
+ unsubscribe_(path: string): void;
27
+ }
28
+ //# sourceMappingURL=AnimationObjectGroup.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,242 @@
1
+ import { PropertyBinding } from "./PropertyBinding.js";
2
+ /**
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.
9
+ *
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.
14
+ */
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
+ export class AnimationObjectGroup {
29
+ isAnimationObjectGroup = true;
30
+ uuid;
31
+ /** Threshold between cached and active objects; read by the composite binding. */
32
+ nCachedObjects_ = 0;
33
+ _objects;
34
+ _indicesByUUID = {};
35
+ _paths = [];
36
+ _parsedPaths = [];
37
+ _bindings = [];
38
+ _bindingsIndicesByPath = {};
39
+ 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;
47
+ this.stats = {
48
+ objects: {
49
+ get total() {
50
+ return scope._objects.length;
51
+ },
52
+ get inUse() {
53
+ return scope._objects.length - scope.nCachedObjects_;
54
+ }
55
+ },
56
+ get bindingsPerObject() {
57
+ return scope._bindings.length;
58
+ }
59
+ };
60
+ }
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]));
83
+ }
84
+ }
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;
105
+ }
106
+ }
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
111
+ }
112
+ this.nCachedObjects_ = nCachedObjects;
113
+ }
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
+ }
139
+ }
140
+ }
141
+ this.nCachedObjects_ = nCachedObjects;
142
+ }
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
+ }
193
+ }
194
+ }
195
+ this.nCachedObjects_ = nCachedObjects;
196
+ }
197
+ /** Internal interface used by `PropertyBindingComposite`. */
198
+ 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];
204
+ }
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);
219
+ }
220
+ return bindingsForPath;
221
+ }
222
+ 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();
239
+ }
240
+ }
241
+ }
242
+ //# sourceMappingURL=AnimationObjectGroup.js.map
@@ -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