@aura3d/animation 3.0.0 → 4.0.0

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 (188) hide show
  1. package/dist/AnimationController.d.ts +8 -0
  2. package/dist/AnimationController.d.ts.map +1 -1
  3. package/dist/AnimationController.js +93 -0
  4. package/dist/AnimationController.js.map +1 -1
  5. package/dist/AnimationMixer.d.ts +4 -1
  6. package/dist/AnimationMixer.d.ts.map +1 -1
  7. package/dist/AnimationMixer.js +47 -29
  8. package/dist/AnimationMixer.js.map +1 -1
  9. package/dist/FootIk.d.ts +50 -0
  10. package/dist/FootIk.d.ts.map +1 -1
  11. package/dist/FootIk.js +224 -8
  12. package/dist/FootIk.js.map +1 -1
  13. package/dist/HumanoidRetargeting.d.ts +6 -2
  14. package/dist/HumanoidRetargeting.d.ts.map +1 -1
  15. package/dist/HumanoidRetargeting.js +18 -8
  16. package/dist/HumanoidRetargeting.js.map +1 -1
  17. package/dist/IK.d.ts +26 -0
  18. package/dist/IK.d.ts.map +1 -1
  19. package/dist/IK.js +515 -0
  20. package/dist/IK.js.map +1 -1
  21. package/dist/Keyframe.d.ts.map +1 -1
  22. package/dist/Keyframe.js +13 -12
  23. package/dist/Keyframe.js.map +1 -1
  24. package/dist/LocomotionEvidence.d.ts +34 -0
  25. package/dist/LocomotionEvidence.d.ts.map +1 -0
  26. package/dist/LocomotionEvidence.js +48 -0
  27. package/dist/LocomotionEvidence.js.map +1 -0
  28. package/dist/RootMotion.d.ts +13 -4
  29. package/dist/RootMotion.d.ts.map +1 -1
  30. package/dist/RootMotion.js +21 -1
  31. package/dist/RootMotion.js.map +1 -1
  32. package/dist/SpringBones.d.ts +80 -0
  33. package/dist/SpringBones.d.ts.map +1 -1
  34. package/dist/SpringBones.js +593 -49
  35. package/dist/SpringBones.js.map +1 -1
  36. package/dist/browser-index.d.ts +1 -1
  37. package/dist/browser-index.d.ts.map +1 -1
  38. package/dist/browser-index.js +1 -1
  39. package/dist/browser-index.js.map +1 -1
  40. package/dist/contracts/index.d.ts +2 -0
  41. package/dist/contracts/index.d.ts.map +1 -0
  42. package/dist/contracts/index.js +7 -0
  43. package/dist/contracts/index.js.map +1 -0
  44. package/dist/contracts/pose.d.ts +25 -0
  45. package/dist/contracts/pose.d.ts.map +1 -0
  46. package/dist/contracts/pose.js +41 -0
  47. package/dist/contracts/pose.js.map +1 -0
  48. package/dist/experimental/CrowdAnimation.d.ts +13 -0
  49. package/dist/experimental/CrowdAnimation.d.ts.map +1 -0
  50. package/dist/experimental/CrowdAnimation.js +14 -0
  51. package/dist/experimental/CrowdAnimation.js.map +1 -0
  52. package/dist/index.d.ts +2 -1
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +2 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/lanes/index.d.ts +17 -0
  57. package/dist/lanes/index.d.ts.map +1 -0
  58. package/dist/lanes/index.js +17 -0
  59. package/dist/lanes/index.js.map +1 -0
  60. package/dist/lanes/prd01.d.ts +6 -0
  61. package/dist/lanes/prd01.d.ts.map +1 -0
  62. package/dist/lanes/prd01.js +6 -0
  63. package/dist/lanes/prd01.js.map +1 -0
  64. package/dist/lanes/prd02.d.ts +6 -0
  65. package/dist/lanes/prd02.d.ts.map +1 -0
  66. package/dist/lanes/prd02.js +6 -0
  67. package/dist/lanes/prd02.js.map +1 -0
  68. package/dist/lanes/prd03.d.ts +6 -0
  69. package/dist/lanes/prd03.d.ts.map +1 -0
  70. package/dist/lanes/prd03.js +6 -0
  71. package/dist/lanes/prd03.js.map +1 -0
  72. package/dist/lanes/prd04.d.ts +6 -0
  73. package/dist/lanes/prd04.d.ts.map +1 -0
  74. package/dist/lanes/prd04.js +6 -0
  75. package/dist/lanes/prd04.js.map +1 -0
  76. package/dist/lanes/prd05.d.ts +6 -0
  77. package/dist/lanes/prd05.d.ts.map +1 -0
  78. package/dist/lanes/prd05.js +6 -0
  79. package/dist/lanes/prd05.js.map +1 -0
  80. package/dist/lanes/prd06.d.ts +37 -0
  81. package/dist/lanes/prd06.d.ts.map +1 -0
  82. package/dist/lanes/prd06.js +26 -0
  83. package/dist/lanes/prd06.js.map +1 -0
  84. package/dist/lanes/prd07.d.ts +6 -0
  85. package/dist/lanes/prd07.d.ts.map +1 -0
  86. package/dist/lanes/prd07.js +6 -0
  87. package/dist/lanes/prd07.js.map +1 -0
  88. package/dist/lanes/prd08.d.ts +6 -0
  89. package/dist/lanes/prd08.d.ts.map +1 -0
  90. package/dist/lanes/prd08.js +6 -0
  91. package/dist/lanes/prd08.js.map +1 -0
  92. package/dist/lanes/prd09.d.ts +6 -0
  93. package/dist/lanes/prd09.d.ts.map +1 -0
  94. package/dist/lanes/prd09.js +6 -0
  95. package/dist/lanes/prd09.js.map +1 -0
  96. package/dist/lanes/prd10.d.ts +6 -0
  97. package/dist/lanes/prd10.d.ts.map +1 -0
  98. package/dist/lanes/prd10.js +6 -0
  99. package/dist/lanes/prd10.js.map +1 -0
  100. package/dist/lanes/prd11.d.ts +6 -0
  101. package/dist/lanes/prd11.d.ts.map +1 -0
  102. package/dist/lanes/prd11.js +6 -0
  103. package/dist/lanes/prd11.js.map +1 -0
  104. package/dist/lanes/prd12.d.ts +6 -0
  105. package/dist/lanes/prd12.d.ts.map +1 -0
  106. package/dist/lanes/prd12.js +6 -0
  107. package/dist/lanes/prd12.js.map +1 -0
  108. package/dist/lanes/prd13.d.ts +6 -0
  109. package/dist/lanes/prd13.d.ts.map +1 -0
  110. package/dist/lanes/prd13.js +6 -0
  111. package/dist/lanes/prd13.js.map +1 -0
  112. package/dist/lanes/prd14.d.ts +6 -0
  113. package/dist/lanes/prd14.d.ts.map +1 -0
  114. package/dist/lanes/prd14.js +6 -0
  115. package/dist/lanes/prd14.js.map +1 -0
  116. package/dist/lanes/prd15.d.ts +6 -0
  117. package/dist/lanes/prd15.d.ts.map +1 -0
  118. package/dist/lanes/prd15.js +6 -0
  119. package/dist/lanes/prd15.js.map +1 -0
  120. package/dist/pose/BoneMask.d.ts +39 -0
  121. package/dist/pose/BoneMask.d.ts.map +1 -0
  122. package/dist/pose/BoneMask.js +160 -0
  123. package/dist/pose/BoneMask.js.map +1 -0
  124. package/dist/pose/CcdIkConstraint.d.ts +38 -0
  125. package/dist/pose/CcdIkConstraint.d.ts.map +1 -0
  126. package/dist/pose/CcdIkConstraint.js +198 -0
  127. package/dist/pose/CcdIkConstraint.js.map +1 -0
  128. package/dist/pose/CompiledClip.d.ts +48 -0
  129. package/dist/pose/CompiledClip.d.ts.map +1 -0
  130. package/dist/pose/CompiledClip.js +209 -0
  131. package/dist/pose/CompiledClip.js.map +1 -0
  132. package/dist/pose/LookAtConstraint.d.ts +48 -0
  133. package/dist/pose/LookAtConstraint.d.ts.map +1 -0
  134. package/dist/pose/LookAtConstraint.js +251 -0
  135. package/dist/pose/LookAtConstraint.js.map +1 -0
  136. package/dist/pose/MotionMetrics.d.ts +136 -0
  137. package/dist/pose/MotionMetrics.d.ts.map +1 -0
  138. package/dist/pose/MotionMetrics.js +253 -0
  139. package/dist/pose/MotionMetrics.js.map +1 -0
  140. package/dist/pose/PoseBuffer.d.ts +23 -0
  141. package/dist/pose/PoseBuffer.d.ts.map +1 -0
  142. package/dist/pose/PoseBuffer.js +48 -0
  143. package/dist/pose/PoseBuffer.js.map +1 -0
  144. package/dist/pose/PoseInertializer.d.ts +38 -0
  145. package/dist/pose/PoseInertializer.d.ts.map +1 -0
  146. package/dist/pose/PoseInertializer.js +208 -0
  147. package/dist/pose/PoseInertializer.js.map +1 -0
  148. package/dist/pose/PoseMixer.d.ts +256 -0
  149. package/dist/pose/PoseMixer.d.ts.map +1 -0
  150. package/dist/pose/PoseMixer.js +848 -0
  151. package/dist/pose/PoseMixer.js.map +1 -0
  152. package/dist/pose/Retarget.d.ts +77 -0
  153. package/dist/pose/Retarget.d.ts.map +1 -0
  154. package/dist/pose/Retarget.js +378 -0
  155. package/dist/pose/Retarget.js.map +1 -0
  156. package/dist/pose/RetargetCache.d.ts +21 -0
  157. package/dist/pose/RetargetCache.d.ts.map +1 -0
  158. package/dist/pose/RetargetCache.js +102 -0
  159. package/dist/pose/RetargetCache.js.map +1 -0
  160. package/dist/pose/RetargetWorker.d.ts +21 -0
  161. package/dist/pose/RetargetWorker.d.ts.map +1 -0
  162. package/dist/pose/RetargetWorker.js +56 -0
  163. package/dist/pose/RetargetWorker.js.map +1 -0
  164. package/dist/pose/SkeletonBinding.d.ts +55 -0
  165. package/dist/pose/SkeletonBinding.d.ts.map +1 -0
  166. package/dist/pose/SkeletonBinding.js +62 -0
  167. package/dist/pose/SkeletonBinding.js.map +1 -0
  168. package/dist/pose/blendKernels.d.ts +32 -0
  169. package/dist/pose/blendKernels.d.ts.map +1 -0
  170. package/dist/pose/blendKernels.js +101 -0
  171. package/dist/pose/blendKernels.js.map +1 -0
  172. package/dist/pose/makeClipAdditive.d.ts +22 -0
  173. package/dist/pose/makeClipAdditive.d.ts.map +1 -0
  174. package/dist/pose/makeClipAdditive.js +101 -0
  175. package/dist/pose/makeClipAdditive.js.map +1 -0
  176. package/dist/pose/poseMixerFlags.d.ts +18 -0
  177. package/dist/pose/poseMixerFlags.d.ts.map +1 -0
  178. package/dist/pose/poseMixerFlags.js +30 -0
  179. package/dist/pose/poseMixerFlags.js.map +1 -0
  180. package/dist/pose/quatFlat.d.ts +16 -0
  181. package/dist/pose/quatFlat.d.ts.map +1 -0
  182. package/dist/pose/quatFlat.js +88 -0
  183. package/dist/pose/quatFlat.js.map +1 -0
  184. package/dist/pose/retarget.worker.d.ts +25 -0
  185. package/dist/pose/retarget.worker.d.ts.map +1 -0
  186. package/dist/pose/retarget.worker.js +22 -0
  187. package/dist/pose/retarget.worker.js.map +1 -0
  188. package/package.json +14 -2
@@ -0,0 +1,256 @@
1
+ import type { AnimationClip } from "../AnimationClip.js";
2
+ import { type AnimationClipEvent, type AnimationClipEventInvocation } from "../AnimationClipEvents.js";
3
+ import { type CompiledClip, type CompiledTrackCursor } from "./CompiledClip.js";
4
+ import type { PoseBuffer } from "./PoseBuffer.js";
5
+ import type { SkeletonBinding } from "./SkeletonBinding.js";
6
+ import type { PoseInertializer } from "./PoseInertializer.js";
7
+ /**
8
+ * PRD-06 T1.3 — one pose authority implementing §6.4 blend semantics with
9
+ * three.js r185 `AnimationMixer`/`PropertyMixer` parity (within 1e-4):
10
+ *
11
+ * - Base layer accumulates in action-activation order:
12
+ * `acc = mix(acc, vᵢ, wᵢ/(w₀+…+wᵢ))` — quats via `slerpFlat`, others lerp —
13
+ * then `out = lerp(acc, rest, 1 − min(1, Σw))` when Σw < 1.
14
+ * - Override layers: `out[b] = slerp(out[b], layer[b], weight·mask[b])`.
15
+ * - Additive layers: rotations `out = slerp(out, out·delta, w)`; translations
16
+ * and scales `out += delta·w` (matches `makeClipAdditive`/`_lerpAdditive`).
17
+ * - Fades and crossfade warp use linear interpolants on mixer time (r185
18
+ * `_scheduleFading`/`warp`); `crossFadeTo` maps to `crossFadeFrom`.
19
+ * - `syncGroup` is the Aura extension: members share normalised phase
20
+ * (leader-driven) — three r185 has no equivalent.
21
+ * - `transition: "inertialize"` captures offsets via `PoseInertializer` and
22
+ * decays them instead of weight-fading (cost ≈ 1 clip evaluation).
23
+ *
24
+ * Events are emitted through `AnimationClipEvents.ts` `sampleClipEvents`.
25
+ */
26
+ export type PoseChannel = "position" | "rotation" | "scale";
27
+ export type PoseLoopMode = "repeat" | "once" | "pingpong";
28
+ export type PoseBlendMode = "normal" | "additive";
29
+ export type PoseTransition = "crossfade" | "inertialize";
30
+ type TrackBinding = {
31
+ readonly trackIndex: number;
32
+ readonly boneIndex: number;
33
+ readonly channel: PoseChannel;
34
+ };
35
+ export type PoseActionOptions = {
36
+ readonly weight?: number;
37
+ readonly timeScale?: number;
38
+ readonly loopMode?: PoseLoopMode;
39
+ readonly repetitions?: number;
40
+ readonly clampWhenFinished?: boolean;
41
+ readonly additive?: boolean;
42
+ readonly syncGroup?: string;
43
+ };
44
+ export type PoseCrossFadeOptions = {
45
+ readonly warp?: boolean;
46
+ readonly transition?: PoseTransition;
47
+ readonly halfLife?: number;
48
+ readonly syncGroup?: string;
49
+ /** Forwarded to the fade-in action (C-19 `animation.weight`/`blendMode: "additive"`). */
50
+ readonly weight?: number;
51
+ readonly additive?: boolean;
52
+ };
53
+ export type PoseLayerOptions = PoseActionOptions & {
54
+ readonly mask?: Float32Array;
55
+ };
56
+ export declare class PoseAction {
57
+ readonly mixer: PoseMixer;
58
+ readonly clipName: string;
59
+ readonly clip: CompiledClip;
60
+ readonly bindings: readonly TrackBinding[];
61
+ readonly cursors: CompiledTrackCursor;
62
+ readonly additive: boolean;
63
+ weight: number;
64
+ timeScale: number;
65
+ time: number;
66
+ playing: boolean;
67
+ paused: boolean;
68
+ enabled: boolean;
69
+ loopMode: PoseLoopMode;
70
+ repetitions: number;
71
+ clampWhenFinished: boolean;
72
+ syncGroupName: string | null;
73
+ private pingPongForward;
74
+ private loopCount;
75
+ private fade;
76
+ private warpState;
77
+ private restoreTimeScale;
78
+ effectiveWeight: number;
79
+ effectiveTimeScale: number;
80
+ constructor(mixer: PoseMixer, clipName: string, clip: CompiledClip, options?: PoseActionOptions);
81
+ play(): this;
82
+ stop(): this;
83
+ pause(): this;
84
+ setEffectiveWeight(weight: number): this;
85
+ setEffectiveTimeScale(timeScale: number): this;
86
+ setLoop(mode: PoseLoopMode, repetitions?: number): this;
87
+ /** three r185 syncWith: copy time + timeScale and stop any warping. */
88
+ syncWith(other: PoseAction): this;
89
+ fadeIn(duration: number): this;
90
+ fadeOut(duration: number): this;
91
+ fadeTo(weight: number, duration: number): this;
92
+ /** three r185 warp: multiplicative timescale interpolant over mixer time (values = start/base → end/base). */
93
+ warp(startTimeScale: number, endTimeScale: number, duration: number): this;
94
+ stopWarping(): this;
95
+ stopFading(): this;
96
+ /** three r185 crossFadeFrom(this=fadeIn, fadeOut, duration, warp). */
97
+ crossFadeFrom(fadeOutAction: PoseAction, duration: number, warp?: boolean): this;
98
+ crossFadeTo(fadeInAction: PoseAction, duration: number, warp?: boolean): PoseAction;
99
+ get normalizedPhase(): number;
100
+ private scheduleFade;
101
+ /** Effective weight at mixer.time, per r185 `_updateWeight`. */
102
+ updateWeight(now: number): number;
103
+ /** Effective timescale at mixer.time, per r185 `_updateTimeScale`. */
104
+ updateTimeScale(now: number): number;
105
+ /** Advance clip time per r185 `_updateTime`; returns {wrapped, finished}. */
106
+ updateTime(deltaTime: number): {
107
+ wrapped: boolean;
108
+ finished: boolean;
109
+ previous: number;
110
+ };
111
+ }
112
+ export type PoseLayer = {
113
+ readonly name: string;
114
+ readonly blendMode: "override" | "additive";
115
+ readonly mask: Float32Array | null;
116
+ weight: number;
117
+ readonly actions: PoseAction[];
118
+ };
119
+ /**
120
+ * Stateless blend spec for `evaluateSamples`: a clip sampled at an explicit
121
+ * time with a weight, optional additive flag and optional per-bone weight
122
+ * mask (aligned with `skeleton.jointNames`). No PoseAction is created or
123
+ * mutated — this is the per-runtime "one-shot blend" mode T1.7 builds
124
+ * `applyClips` on.
125
+ */
126
+ export type PoseSampleSpec = {
127
+ readonly clipName: string;
128
+ readonly time: number;
129
+ readonly weight?: number;
130
+ readonly additive?: boolean;
131
+ readonly mask?: Float32Array | null;
132
+ };
133
+ export declare class PoseMixer {
134
+ readonly skeleton: SkeletonBinding;
135
+ readonly inertializer: PoseInertializer | null;
136
+ time: number;
137
+ private timeScale;
138
+ private readonly clips;
139
+ private readonly actions;
140
+ private readonly layers;
141
+ private readonly layerByName;
142
+ private readonly eventListeners;
143
+ private latestPose;
144
+ private previousPose;
145
+ private inertializerElapsed;
146
+ private inertializerHalfLife;
147
+ private scratchClip;
148
+ private readonly accWeight;
149
+ private readonly addWeight;
150
+ private readonly addQuat;
151
+ private readonly addVec;
152
+ private readonly accTouched;
153
+ private readonly addTouched;
154
+ private accTouchedCount;
155
+ private addTouchedCount;
156
+ constructor(options: {
157
+ skeleton: SkeletonBinding;
158
+ inertializer?: PoseInertializer;
159
+ });
160
+ private resetAccumulators;
161
+ setEffectiveTimeScale(timeScale: number): this;
162
+ get effectiveTimeScale(): number;
163
+ /** Register a clip under a name (compiles it for flat sampling). */
164
+ addClip(name: string, clip: AnimationClip): this;
165
+ /** Register a pre-compiled clip (returns undefined if unknown). */
166
+ addCompiledClip(name: string, compiled: CompiledClip, source: AnimationClip): this;
167
+ sourceClip(name: string): AnimationClip | undefined;
168
+ clipAction(name: string, options?: PoseActionOptions): PoseAction;
169
+ /** three r185 play: activate + begin (starts faded-in when `crossFade`). */
170
+ play(name: string, options?: PoseActionOptions): PoseAction;
171
+ /**
172
+ * Every currently-playing, enabled action across the base layer and named
173
+ * layers — the set `update`/`evaluate` will contribute this frame (T1.9
174
+ * uses it to sample non-pose tracks at each action's own clock/weight and
175
+ * to compute covered-bone sets for `restPoseReset: false`).
176
+ */
177
+ activeActions(): readonly PoseAction[];
178
+ /** The active base (non-additive, base-layer) action, or null when none plays. */
179
+ baseAction(): PoseAction | null;
180
+ /**
181
+ * Same active set as {@link activeActions} annotated with the owning layer
182
+ * name — `""` for the base layer — for `animationState()` snapshots (C-37).
183
+ */
184
+ activeActionEntries(): readonly {
185
+ readonly action: PoseAction;
186
+ readonly layer: string;
187
+ }[];
188
+ /**
189
+ * `crossFadeTo(clip, seconds, options)` — mirrors `node.play` semantics:
190
+ * the current active base action fades out over `seconds` (default driven by
191
+ * caller), the new one fades in; `warp` warps timescales by the duration
192
+ * ratio; `transition: "inertialize"` captures pose offsets instead.
193
+ */
194
+ crossFadeTo(name: string, seconds: number, options?: PoseCrossFadeOptions): PoseAction;
195
+ private activeBaseAction;
196
+ /** Layer API (C-19 playLayer/stopLayer groundwork). */
197
+ playLayer(layerName: string, clipName: string, options?: PoseLayerOptions & {
198
+ blendMode?: "override" | "additive";
199
+ weight?: number;
200
+ }): PoseAction;
201
+ stopLayer(layerName: string, fadeSeconds?: number): void;
202
+ onEvent(listener: (invocation: AnimationClipEventInvocation<AnimationClipEvent, string>) => void): () => void;
203
+ activate(action: PoseAction): void;
204
+ deactivate(action: PoseAction): void;
205
+ /** Resolve `CompiledClip` node-path targets to skeleton bone indices. */
206
+ resolveBindings(clip: CompiledClip): TrackBinding[];
207
+ private readonly statelessBindings;
208
+ private readonly statelessCursors;
209
+ private statelessBindingsFor;
210
+ private statelessCursorsFor;
211
+ private lastDt;
212
+ /**
213
+ * Advance mixer time by `dt` (× mixer timescale), update all actions'
214
+ * times/weights, and emit clip events between old and new action times.
215
+ */
216
+ update(dt: number): AnimationClipEventInvocation<AnimationClipEvent, string>[];
217
+ /**
218
+ * Evaluate the final pose into `out` (PoseBuffer with skeleton.boneCount
219
+ * bones). Starts from `skeleton.restPose`, applies the base layer
220
+ * (incremental-weighted, rest fills below Σw=1), then each layer in order.
221
+ */
222
+ evaluate(out: PoseBuffer): void;
223
+ /**
224
+ * Stateless one-shot blend (T1.7): evaluate the given clips at explicit
225
+ * times with explicit weights and write the result into `out`. No
226
+ * PoseAction is created or mutated; action/layer/inertializer state is
227
+ * untouched. Same accumulate + rest-fill + additive pipeline as
228
+ * `evaluate`, so the two paths stay within the 1e-4 parity bar.
229
+ */
230
+ evaluateSamples(samples: readonly PoseSampleSpec[], out: PoseBuffer): void;
231
+ private applyBase;
232
+ private applyLayer;
233
+ private accuKey;
234
+ /** Base-layer incremental accumulate: `acc = mix(acc, v, w/(Σ+w))`, then rest. */
235
+ private accumulate;
236
+ /** r185 `accumulateAdditive`: quats chain-multiply `add = slerp(add, add·delta, w)`; vecs `add += delta·w`. */
237
+ private accumulateAdditiveAccu;
238
+ /** r185 `apply` additive stage: `accu = slerp(accu, accu·add, 1)` / `accu += add`. */
239
+ private applyAdditiveAccumulators;
240
+ /** After base accumulate: fill below-1 remainder from rest pose. Call once per channel per evaluate. */
241
+ private applyRestFill;
242
+ private writeSample;
243
+ private mixInPlace;
244
+ /**
245
+ * Override layer: `out[b] = slerp(out[b], layer[b], w)` — applied to whatever
246
+ * the base produced (which may itself be rest-blended).
247
+ */
248
+ private applyOverride;
249
+ /**
250
+ * Additive: quats `out = slerp(out, out·delta, w)`; positions and scales
251
+ * `out += delta·w` (r185 `_slerpAdditive`/`_lerpAdditive`).
252
+ */
253
+ private accumulateAdditive;
254
+ }
255
+ export {};
256
+ //# sourceMappingURL=PoseMixer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoseMixer.d.ts","sourceRoot":"","sources":["../../../../../packages/animation/src/pose/PoseMixer.ts"],"names":[],"mappings":"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"}