tensum 0.1.0 → 0.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"additive-spring-value.js","sourceRoot":"","sources":["../../src/support/additive-spring-value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"additive-spring-value.js","sourceRoot":"","sources":["../../src/support/additive-spring-value.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spring-value.d.ts","sourceRoot":"","sources":["../../src/support/spring-value.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAGjB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,GAAG,IAAI,MAAM,CAAC;IACd,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACxD;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,iBAAiB,GACjB,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;AAEpF,MAAM,WAAW,WAAW;IAC1B,GAAG,IAAI,MAAM,CAAC;IACd,WAAW,IAAI,MAAM,CAAC;IACtB,SAAS,IAAI,MAAM,CAAC;IACpB,aAAa,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC5C,WAAW,IAAI,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC7C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACtE,aAAa,CACX,UAAU,EAAE,gBAAgB,EAC5B,OAAO,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,eAAe,CAAC,GAC1D,IAAI,CAAC;IACR,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,IAAI,CAAC;IACb,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB,GAAG,MAAM,IAAI,CAAC;IACvE,OAAO,IAAI,IAAI,CAAC;CACjB;AAyBD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,kBAAuB,GAC/B,WAAW,CAsTb"}
1
+ {"version":3,"file":"spring-value.d.ts","sourceRoot":"","sources":["../../src/support/spring-value.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAGjB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,GAAG,IAAI,MAAM,CAAC;IACd,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACxD;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,iBAAiB,GACjB,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;AAEpF,MAAM,WAAW,WAAW;IAC1B,GAAG,IAAI,MAAM,CAAC;IACd,WAAW,IAAI,MAAM,CAAC;IACtB,SAAS,IAAI,MAAM,CAAC;IACpB,aAAa,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC5C,WAAW,IAAI,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC7C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACtE,aAAa,CACX,UAAU,EAAE,gBAAgB,EAC5B,OAAO,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,eAAe,CAAC,GAC1D,IAAI,CAAC;IACR,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,IAAI,CAAC;IACb,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB,GAAG,MAAM,IAAI,CAAC;IACvE,OAAO,IAAI,IAAI,CAAC;CACjB;AAyBD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,kBAAuB,GAC/B,WAAW,CAmTb"}
@@ -81,8 +81,7 @@ export function createSpringValue(initialValue, parameters, driver, options = {}
81
81
  write(solution.initialState.target, 0);
82
82
  if (revision !== sampledRevision)
83
83
  return;
84
- if (!sampled.logicalComplete &&
85
- elapsed >= sampled.logicalDuration) {
84
+ if (!sampled.logicalComplete) {
86
85
  sampled.logicalComplete = true;
87
86
  emit('logicalComplete');
88
87
  if (revision !== sampledRevision)
@@ -1 +1 @@
1
- {"version":3,"file":"spring-value.js","sourceRoot":"","sources":["../../src/support/spring-value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spring-value.js","sourceRoot":"","sources":["../../src/support/spring-value.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tensum",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Analytical spring physics for JavaScript and GSAP",
5
5
  "license": "MIT",
6
6
  "author": "Motion Core",
@@ -36,7 +36,7 @@
36
36
  }
37
37
  },
38
38
  "engines": {
39
- "node": "^20.19.0 || >=22.12.0"
39
+ "node": "^20.19.0 || ^22.12.0 || ^24.0.0"
40
40
  },
41
41
  "publishConfig": {
42
42
  "access": "public",
package/src/css-linear.ts CHANGED
@@ -1,10 +1,16 @@
1
+ import { createAnalyticalSolver } from './solver.js';
1
2
  import type { SpringSolution } from './types.js';
2
3
 
3
4
  export interface CSSLinearSpringOptions {
5
+ /** Export duration in seconds. Its terminal move to progress 1 must fit maxError. */
4
6
  duration?: number;
7
+ /** Hard approximation bound in normalized progress units. */
5
8
  maxError?: number;
9
+ /** Maximum adaptive subdivision depth; exhaustion throws a RangeError. */
6
10
  maxDepth?: number;
11
+ /** Maximum serialized samples; exhaustion throws a RangeError. */
7
12
  maxSamples?: number;
13
+ /** Decimal precision for both progress values and percentage stops. */
8
14
  precision?: number;
9
15
  }
10
16
 
@@ -16,7 +22,9 @@ export interface CSSLinearSample {
16
22
  export interface CSSLinearSpring {
17
23
  easing: string;
18
24
  duration: number;
25
+ /** Certified bound for the serialized easing in normalized progress units. */
19
26
  maxError: number;
27
+ /** Rounded samples exactly represented by the serialized easing. */
20
28
  samples: readonly Readonly<CSSLinearSample>[];
21
29
  }
22
30
 
@@ -33,10 +41,26 @@ function assertPositiveInteger(name: string, value: number): void {
33
41
  }
34
42
 
35
43
  function rounded(value: number, precision: number): string {
36
- const result = Number(value.toFixed(precision));
44
+ const result = roundedNumber(value, precision);
37
45
  return Object.is(result, -0) ? '0' : String(result);
38
46
  }
39
47
 
48
+ function roundedNumber(value: number, precision: number): number {
49
+ const result = Number(value.toFixed(precision));
50
+ return Object.is(result, -0) ? 0 : result;
51
+ }
52
+
53
+ function logAdd(first: number, second: number): number {
54
+ if (first === Number.NEGATIVE_INFINITY) return second;
55
+ if (second === Number.NEGATIVE_INFINITY) return first;
56
+ const maximum = Math.max(first, second);
57
+ return maximum + Math.log(Math.exp(first - maximum) + Math.exp(second - maximum));
58
+ }
59
+
60
+ function logMagnitude(value: number): number {
61
+ return value === 0 ? Number.NEGATIVE_INFINITY : Math.log(Math.abs(value));
62
+ }
63
+
40
64
  export function springToCSSLinear(
41
65
  spring: SpringSolution,
42
66
  options: CSSLinearSpringOptions = {},
@@ -67,7 +91,6 @@ export function springToCSSLinear(
67
91
  }
68
92
 
69
93
  const progressAt = (time: number): number => {
70
- if (spring.timing.settled && time >= duration) return 1;
71
94
  const progress =
72
95
  (spring.positionAt(time) - spring.initialState.position) / distance;
73
96
  if (!Number.isFinite(progress)) {
@@ -75,9 +98,82 @@ export function springToCSSLinear(
75
98
  }
76
99
  return progress;
77
100
  };
78
- const samples: CSSLinearSample[] = [
79
- { time: 0, progress: progressAt(0) },
80
- ];
101
+ const solver = createAnalyticalSolver(
102
+ spring.parameters,
103
+ spring.initialState,
104
+ );
105
+ const terminalSnapError = Math.abs(progressAt(duration) - 1);
106
+ if (terminalSnapError >= maxError) {
107
+ throw new RangeError(
108
+ `CSS linear export duration requires a terminal snap error (${terminalSnapError}) that cannot satisfy maxError (${maxError})`,
109
+ );
110
+ }
111
+
112
+ const accelerationErrorBound = (start: number, end: number): number => {
113
+ const bounds = solver.tailBoundsAt(start);
114
+ let logPositionBound = logMagnitude(bounds.position);
115
+ let logVelocityBound = logMagnitude(bounds.velocity);
116
+ if (start < solver.tailBoundsMonotonicAfter) {
117
+ const peakBounds = solver.tailBoundsAt(
118
+ solver.tailBoundsMonotonicAfter,
119
+ );
120
+ // Critical springs contain t*exp(-omega*t) terms. Adding the bounds at
121
+ // the interval start and their monotonic boundary conservatively covers
122
+ // the separate constant and polynomial maxima before that boundary.
123
+ logPositionBound = logAdd(
124
+ logPositionBound,
125
+ logMagnitude(peakBounds.position),
126
+ );
127
+ logVelocityBound = logAdd(
128
+ logVelocityBound,
129
+ logMagnitude(peakBounds.velocity),
130
+ );
131
+ }
132
+
133
+ const logDistance = Math.log(Math.abs(distance));
134
+ const logStiffnessAcceleration =
135
+ 2 * Math.log(spring.angularFrequency) +
136
+ logPositionBound -
137
+ logDistance;
138
+ const logDampingAcceleration =
139
+ spring.parameters.damping === 0 ||
140
+ logVelocityBound === Number.NEGATIVE_INFINITY
141
+ ? Number.NEGATIVE_INFINITY
142
+ : Math.log(spring.parameters.damping) -
143
+ Math.log(spring.parameters.mass) +
144
+ logVelocityBound -
145
+ logDistance;
146
+ const logAcceleration = logAdd(
147
+ logStiffnessAcceleration,
148
+ logDampingAcceleration,
149
+ );
150
+ const span = end - start;
151
+ if (span === 0 || logAcceleration === Number.NEGATIVE_INFINITY) return 0;
152
+ const logError = logAcceleration + 2 * Math.log(span) - Math.log(8);
153
+ return logError > Math.log(Number.MAX_VALUE)
154
+ ? Number.POSITIVE_INFINITY
155
+ : Math.exp(logError);
156
+ };
157
+
158
+ const serializedTime = (time: number): number => {
159
+ if (time <= 0) return 0;
160
+ if (time >= duration) return duration;
161
+ const percentage = roundedNumber((time / duration) * 100, precision);
162
+ return (percentage / 100) * duration;
163
+ };
164
+
165
+ const serializedSample = (
166
+ time: number,
167
+ terminal = false,
168
+ ): CSSLinearSample => {
169
+ const serialized = serializedTime(time);
170
+ return {
171
+ time: serialized,
172
+ progress: terminal ? 1 : roundedNumber(progressAt(serialized), precision),
173
+ };
174
+ };
175
+
176
+ const samples: CSSLinearSample[] = [serializedSample(0)];
81
177
 
82
178
  const append = (sample: CSSLinearSample): void => {
83
179
  if (samples.length >= maxSamples) {
@@ -91,45 +187,40 @@ export function springToCSSLinear(
91
187
  end: CSSLinearSample,
92
188
  depth: number,
93
189
  ): void => {
94
- const span = end.time - start.time;
95
- const checkpoints = [0.25, 0.5, 0.75].map((fraction) => {
96
- const time = start.time + span * fraction;
97
- const progress = progressAt(time);
98
- const linear = start.progress + (end.progress - start.progress) * fraction;
99
- return { deviation: Math.abs(progress - linear), time, progress };
100
- });
101
- const needsRefinement = checkpoints.some(
102
- ({ deviation }) => deviation > maxError,
190
+ const endpointError = Math.max(
191
+ Math.abs(progressAt(start.time) - start.progress),
192
+ Math.abs(progressAt(end.time) - end.progress),
103
193
  );
104
-
105
- if (needsRefinement && depth < maxDepth) {
106
- const midpoint = checkpoints[1]!;
107
- if (midpoint.time === start.time || midpoint.time === end.time) {
108
- append(end);
109
- return;
110
- }
111
- const middle = { time: midpoint.time, progress: midpoint.progress };
112
- refine(start, middle, depth + 1);
113
- refine(middle, end, depth + 1);
194
+ const certifiedError =
195
+ endpointError + accelerationErrorBound(start.time, end.time);
196
+ if (certifiedError <= maxError) {
197
+ append(end);
114
198
  return;
115
199
  }
116
- append(end);
200
+
201
+ if (depth >= maxDepth) {
202
+ throw new RangeError(
203
+ `CSS linear export cannot guarantee maxError (${maxError}) within maxDepth (${maxDepth})`,
204
+ );
205
+ }
206
+
207
+ const midpointTime = serializedTime(
208
+ start.time + (end.time - start.time) / 2,
209
+ );
210
+ if (midpointTime === start.time || midpointTime === end.time) {
211
+ throw new RangeError(
212
+ `CSS linear export precision (${precision}) is insufficient to guarantee maxError (${maxError})`,
213
+ );
214
+ }
215
+ const middle = serializedSample(midpointTime);
216
+ refine(start, middle, depth + 1);
217
+ refine(middle, end, depth + 1);
117
218
  };
118
219
 
119
- // Quarter-period seeds prevent a high-frequency oscillation from aliasing to
120
- // deceptively straight midpoint samples before adaptive refinement begins.
121
- const seedCount = Math.max(
122
- 1,
123
- Math.ceil((duration * spring.angularFrequency) / (Math.PI / 2)),
124
- );
125
- if (seedCount + 1 > maxSamples) {
126
- throw new RangeError(`CSS linear export requires more than maxSamples (${maxSamples})`);
127
- }
128
- for (let index = 0; index < seedCount; index += 1) {
129
- const start = samples.at(-1)!;
130
- const time = ((index + 1) / seedCount) * duration;
131
- refine(start, { time, progress: progressAt(time) }, 0);
132
- }
220
+ // A linear interpolation error is bounded by h^2/8 times the maximum
221
+ // normalized acceleration. Analytical tail envelopes provide that maximum
222
+ // without relying on checkpoints that can alias an oscillation.
223
+ refine(samples[0]!, serializedSample(duration, true), 0);
133
224
 
134
225
  const frozenSamples = Object.freeze(
135
226
  samples.map((sample) => Object.freeze({ ...sample })),
@@ -203,7 +203,7 @@ function normalizeTargets(
203
203
  }
204
204
 
205
205
  function normalizeProperties(value: unknown): MotionSpringVars['properties'] {
206
- const record = normalizeOptionalRecord(value, 'motionSpring properties');
206
+ const record = normalizeOptionalRecord(value, 'spring properties');
207
207
  if (!record) return undefined;
208
208
  const properties = Object.create(null) as Record<
209
209
  string,
@@ -243,7 +243,7 @@ function normalizeProperties(value: unknown): MotionSpringVars['properties'] {
243
243
  }
244
244
 
245
245
  function normalizeAdapters(value: unknown): MotionSpringVars['adapters'] {
246
- const record = normalizeOptionalRecord(value, 'motionSpring adapters');
246
+ const record = normalizeOptionalRecord(value, 'spring adapters');
247
247
  if (!record) return undefined;
248
248
  const adapters = Object.create(null) as Record<string, SpringPropertyAdapter>;
249
249
  for (const [property, adapter] of Object.entries(record)) {
@@ -268,7 +268,7 @@ function normalizeAdapters(value: unknown): MotionSpringVars['adapters'] {
268
268
  }
269
269
 
270
270
  function normalizeUnits(value: unknown): MotionSpringVars['units'] {
271
- const record = normalizeOptionalRecord(value, 'motionSpring units');
271
+ const record = normalizeOptionalRecord(value, 'spring units');
272
272
  if (!record) return undefined;
273
273
  const units = Object.create(null) as Record<string, string>;
274
274
  for (const [property, unit] of Object.entries(record)) {
@@ -285,11 +285,11 @@ function normalizeVelocity(value: unknown): MotionSpringVars['velocity'] {
285
285
  if (value === undefined) return undefined;
286
286
  if (typeof value === 'number') {
287
287
  if (!Number.isFinite(value)) {
288
- throw new TypeError('motionSpring velocity must be a finite number');
288
+ throw new TypeError('spring velocity must be a finite number');
289
289
  }
290
290
  return value;
291
291
  }
292
- const record = normalizeOptionalRecord(value, 'motionSpring velocity')!;
292
+ const record = normalizeOptionalRecord(value, 'spring velocity')!;
293
293
  const velocities = Object.create(null) as Record<string, number>;
294
294
  for (const [property, velocity] of Object.entries(record)) {
295
295
  validateMapProperty(property);
@@ -303,7 +303,7 @@ function normalizeVelocity(value: unknown): MotionSpringVars['velocity'] {
303
303
 
304
304
  function normalizeMotionSpringVars(
305
305
  value: unknown,
306
- context = 'motionSpring',
306
+ context = 'spring',
307
307
  ): MotionSpringVars {
308
308
  if (!isRecord(value)) {
309
309
  throw new TypeError(`${context} requires a configuration object`);
@@ -387,9 +387,7 @@ function preflightTarget(
387
387
  ): PreparedTarget {
388
388
  const requested = pluginTargetsFrom(vars);
389
389
  if (Object.keys(requested).length === 0) {
390
- throw new TypeError(
391
- 'motionSpring requires at least one numeric target property',
392
- );
390
+ throw new TypeError('spring requires at least one numeric target property');
393
391
  }
394
392
 
395
393
  const config = trackConfigFrom(vars);
@@ -448,7 +446,7 @@ function preflightTarget(
448
446
 
449
447
  /**
450
448
  * Creates a preflighted GSAP tween whose duration is final before it is added
451
- * to a timeline. Prefer the registered `timeline.motionSpring()` effect for
449
+ * to a timeline. Prefer the registered `timeline.spring()` effect for
452
450
  * sequential, staggered, or nested composition. Calling `invalidate()` reuses
453
451
  * the prepared snapshot; create a new effect tween to preflight changed
454
452
  * starting values, destinations, or parameters.
@@ -459,22 +457,22 @@ export function createMotionSpringTween(
459
457
  instance: typeof gsap = gsap,
460
458
  ): gsap.core.Tween {
461
459
  if (!isRecord(rawVars)) {
462
- throw new TypeError('motionSpring effect requires a configuration object');
460
+ throw new TypeError('spring effect requires a configuration object');
463
461
  }
464
462
  const resolvedTargets = instance.utils.toArray<object>(targets);
465
463
  if (resolvedTargets.length === 0) {
466
- throw new TypeError('motionSpring effect requires at least one target');
464
+ throw new TypeError('spring effect requires at least one target');
467
465
  }
468
466
 
469
467
  const ownVars = { ...rawVars } as Record<string, unknown>;
470
- const from = normalizeTargets(ownVars['from'], 'motionSpring effect from');
468
+ const from = normalizeTargets(ownVars['from'], 'spring effect from');
471
469
  const tweenOptions = normalizeOptionalRecord(
472
470
  ownVars['tween'],
473
- 'motionSpring effect tween',
471
+ 'spring effect tween',
474
472
  ) as MotionSpringEffectTweenVars | undefined;
475
473
  delete ownVars['from'];
476
474
  delete ownVars['tween'];
477
- const pluginVars = normalizeMotionSpringVars(ownVars, 'motionSpring effect');
475
+ const pluginVars = normalizeMotionSpringVars(ownVars, 'spring effect');
478
476
  const preparedTargets = new WeakMap<object, PreparedTarget>();
479
477
  let finiteDuration = 0;
480
478
  let hasUnsettled = false;
@@ -489,11 +487,11 @@ export function createMotionSpringTween(
489
487
 
490
488
  const policy = validateUnsettledPolicy(
491
489
  pluginVars.unsettled ?? 'stop',
492
- 'motionSpring unsettled',
490
+ 'spring unsettled',
493
491
  );
494
492
  if (policy === 'error' && hasUnsettled) {
495
493
  throw new RangeError(
496
- 'motionSpring cannot start an unsettled spring in error mode',
494
+ 'spring cannot start an unsettled spring in error mode',
497
495
  );
498
496
  }
499
497
  const infinite = policy === 'continue' && hasUnsettled;
@@ -635,9 +633,9 @@ function renderAt(scope: MotionSpringDriverScope, time: number): void {
635
633
  }
636
634
  }
637
635
 
638
- function registerMotionSpringEffect(instance: typeof gsap): void {
636
+ function registerSpringEffect(instance: typeof gsap): void {
639
637
  instance.registerEffect({
640
- name: 'motionSpring',
638
+ name: 'spring',
641
639
  extendTimeline: true,
642
640
  effect(targets: object[], vars: MotionSpringEffectVars): gsap.core.Tween {
643
641
  return createMotionSpringTween(targets, vars, instance);
@@ -646,12 +644,12 @@ function registerMotionSpringEffect(instance: typeof gsap): void {
646
644
  }
647
645
 
648
646
  const pluginDefinition = {
649
- version: '0.1.0',
647
+ version: '0.2.0',
650
648
  name: INTERNAL_DRIVER_PROPERTY,
651
649
  headless: true,
652
650
  rawVars: 1,
653
651
  register(instance: typeof gsap): void {
654
- registerMotionSpringEffect(instance);
652
+ registerSpringEffect(instance);
655
653
  },
656
654
  init(
657
655
  this: MotionSpringDriverScope,
@@ -665,14 +663,14 @@ const pluginDefinition = {
665
663
  : undefined;
666
664
  if (!prepared) {
667
665
  throw new TypeError(
668
- 'The Tensum GSAP driver is internal; use timeline.motionSpring() or createMotionSpringTween()',
666
+ 'The Tensum GSAP driver is internal; use timeline.spring() or createMotionSpringTween()',
669
667
  );
670
668
  }
671
669
  const value = rawValue;
672
670
  const requested = pluginTargetsFrom(value);
673
671
  if (Object.keys(requested).length === 0) {
674
672
  throw new TypeError(
675
- 'motionSpring requires at least one numeric target property',
673
+ 'spring requires at least one numeric target property',
676
674
  );
677
675
  }
678
676
  const coordinator = beginPluginTweenInit(tween, target, {
@@ -682,7 +680,7 @@ const pluginDefinition = {
682
680
  const preparedTarget = prepared.targets.get(target);
683
681
  if (!preparedTarget) {
684
682
  throw new TypeError(
685
- 'The preflighted motionSpring target is unavailable; create a new effect tween',
683
+ 'The preflighted spring target is unavailable; create a new effect tween',
686
684
  );
687
685
  }
688
686
  if (
@@ -693,7 +691,7 @@ const pluginDefinition = {
693
691
  )
694
692
  ) {
695
693
  throw new TypeError(
696
- 'A preflighted motionSpring configuration cannot change before init; create a new effect tween instead',
694
+ 'A preflighted spring configuration cannot change before init; create a new effect tween instead',
697
695
  );
698
696
  }
699
697
  const tracks: PluginTrack[] = [];
@@ -705,7 +703,7 @@ const pluginDefinition = {
705
703
  destination.unit !== preparedTrack.unit)
706
704
  ) {
707
705
  throw new TypeError(
708
- 'A preflighted motionSpring configuration cannot change before init; create a new effect tween instead',
706
+ 'A preflighted spring configuration cannot change before init; create a new effect tween instead',
709
707
  );
710
708
  }
711
709
  tracks.push({
@@ -725,12 +723,12 @@ const pluginDefinition = {
725
723
 
726
724
  const policy = validateUnsettledPolicy(
727
725
  value.unsettled ?? 'stop',
728
- 'motionSpring unsettled',
726
+ 'spring unsettled',
729
727
  );
730
728
  const timing = timingFor(tracks, policy);
731
729
  if (policy === 'error' && timing.hasUnsettled) {
732
730
  throw new RangeError(
733
- 'motionSpring cannot start an unsettled spring in error mode',
731
+ 'spring cannot start an unsettled spring in error mode',
734
732
  );
735
733
  }
736
734
  const infinite = policy === 'continue' && timing.hasUnsettled;
@@ -832,25 +830,21 @@ const pluginDefinition = {
832
830
  },
833
831
  };
834
832
 
835
- const motionSpringDriverPlugin = pluginDefinition as unknown as gsap.Plugin;
836
-
837
- /** Registers the preflighted `motionSpring` effect and timeline extension. */
838
- export function registerSpringPlugin(instance: typeof gsap = gsap): void {
839
- instance.registerPlugin(motionSpringDriverPlugin);
840
- }
833
+ /**
834
+ * Tensum's GSAP plugin. Register it with `gsap.registerPlugin(TensumPlugin)`
835
+ * before using the preflighted `timeline.spring()` effect.
836
+ */
837
+ export const TensumPlugin = pluginDefinition as unknown as gsap.Plugin;
841
838
 
842
839
  declare global {
843
840
  namespace gsap {
844
841
  interface EffectsMap {
845
- motionSpring(
846
- targets: TweenTarget,
847
- vars: MotionSpringEffectVars,
848
- ): core.Tween;
842
+ spring(targets: TweenTarget, vars: MotionSpringEffectVars): core.Tween;
849
843
  }
850
844
 
851
845
  namespace core {
852
846
  interface Timeline {
853
- motionSpring(
847
+ spring(
854
848
  targets: TweenTarget,
855
849
  vars: MotionSpringEffectVars,
856
850
  position?: Position,
@@ -63,6 +63,7 @@ export interface SpringTrackConfig {
63
63
  velocity?: number | SpringVelocities;
64
64
  properties?: Readonly<Partial<Record<SpringProperty, SpringPropertyOptions>>>;
65
65
  adapters?: Readonly<Partial<Record<SpringProperty, SpringPropertyAdapter>>>;
66
+ /** Explicit units per property. An empty string disables a DOM default. */
66
67
  units?: Readonly<Partial<Record<SpringProperty, string>>>;
67
68
  }
68
69
 
@@ -337,6 +338,7 @@ function resolvedUnit(
337
338
  requested: RequestedTarget,
338
339
  readUnit: string | undefined,
339
340
  vars: SpringTrackConfig,
341
+ defaultUnit: string | undefined,
340
342
  ): string | undefined {
341
343
  const adapterUnit = vars.adapters?.[property]?.unit;
342
344
  const hasConfiguredUnit = Object.hasOwn(vars.units ?? {}, property);
@@ -347,7 +349,7 @@ function resolvedUnit(
347
349
  requested.unit ??
348
350
  adapterUnit ??
349
351
  configuredUnit ??
350
- (hasConfiguredUnit ? undefined : defaultUnitFor(property)) ??
352
+ (hasConfiguredUnit ? undefined : defaultUnit) ??
351
353
  readUnit;
352
354
 
353
355
  for (const candidate of [
@@ -391,7 +393,7 @@ export function accessFor(
391
393
  `Adapter for ${property} returned a non-finite value`,
392
394
  );
393
395
  }
394
- const unit = resolvedUnit(property, requested, undefined, vars);
396
+ const unit = resolvedUnit(property, requested, undefined, vars, undefined);
395
397
  return {
396
398
  from,
397
399
  ...(unit === undefined ? {} : { unit }),
@@ -405,7 +407,13 @@ export function accessFor(
405
407
  gsap.getProperty(target, property, 'native'),
406
408
  property,
407
409
  );
408
- const unit = resolvedUnit(property, requested, raw.unit, vars);
410
+ const unit = resolvedUnit(
411
+ property,
412
+ requested,
413
+ raw.unit,
414
+ vars,
415
+ isElementTarget(target) ? defaultUnitFor(property) : undefined,
416
+ );
409
417
  const setters =
410
418
  property === 'scale' && isElementTarget(target)
411
419
  ? [
package/src/index.ts CHANGED
@@ -60,10 +60,7 @@ export type {
60
60
  VectorSpringSolution,
61
61
  VectorSpringState,
62
62
  } from './vector.js';
63
- export {
64
- createMotionSpringTween,
65
- registerSpringPlugin,
66
- } from './gsap/plugin.js';
63
+ export { TensumPlugin, createMotionSpringTween } from './gsap/plugin.js';
67
64
  export type {
68
65
  MotionSpringEffectTweenVars,
69
66
  MotionSpringEffectVars,