@thednp/tween 0.0.2 → 0.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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @thednp/tween v0.0.2 (https://github.com/thednp/tween)
2
+ * @thednp/tween v0.0.4 (https://github.com/thednp/tween)
3
3
  * Copyright 2026 © thednp
4
4
  * Licensed under MIT (https://github.com/thednp/tween/blob/master/LICENSE)
5
5
  */
@@ -167,11 +167,11 @@ declare class Tween<T extends TweenProps = TweenProps> {
167
167
  /**
168
168
  * Sets a number of seconds to delay the animation
169
169
  * after each repeat.
170
- * @param amount - How many seconds to delay
170
+ * @param seconds - How many seconds to delay
171
171
  * @default 0 seconds
172
172
  * @returns this
173
173
  */
174
- repeatDelay(amount?: number): this;
174
+ repeatDelay(seconds?: number): this;
175
175
  /**
176
176
  * Sets to tween from end to start values.
177
177
  * The easing is also goes backwards.
@@ -652,7 +652,7 @@ declare const isServer: boolean;
652
652
  * - allow free-form configuration for signal based frameworks
653
653
  */
654
654
  declare const dummyInstance: Record<string, typeof dummyMethod>;
655
- declare const dummyMethod: () => Record<string, () => Record<string, /*elided*/any>>;
655
+ declare function dummyMethod(this: typeof dummyInstance): Record<string, typeof dummyMethod>;
656
656
  /**
657
657
  * Utility to round numbers to a specified number of decimals.
658
658
  * @param n Input number value
@@ -665,17 +665,18 @@ declare const objectHasProp: <T extends object>(obj: T, prop: keyof T) => boolea
665
665
  * A small utility to deep assign up to one level deep nested objects.
666
666
  * This is to prevent breaking reactivity of miniStore.
667
667
  *
668
- * **NOTE** - This doesn't perform ANY check and expects objects to
669
- * be validated beforehand.
668
+ * **NOTE** - This doesn't perform ANY check and expects objects values
669
+ * to be validated beforehand.
670
670
  * @param target The target to assign values to
671
671
  * @param source The source object to assign values from
672
672
  */
673
673
  declare function deepAssign<T extends TweenProps>(target: T, source: T): void;
674
674
  /**
675
- * Creates a clone of a target object / array without its
676
- * proxy elements / properties, only their values.
675
+ * Creates a new object with the same structure of a target object / array
676
+ * without its proxy elements / properties, only their values.
677
677
  *
678
678
  * **NOTE** - The utility is useful to create deep clones as well.
679
+ *
679
680
  * @param value An object / array with proxy elements
680
681
  * @returns the object / array value without proxy elements
681
682
  */
@@ -696,7 +697,8 @@ declare function validateValues<T extends TweenProps>(this: Timeline | Tween, ta
696
697
  * Interpolates two `Array<number>` values.
697
698
  *
698
699
  * **NOTE**: Values my be validated first!
699
- * @param target The target `Array<number>` value
700
+ *
701
+ * @param target The target `Array<number>` value of the state object
700
702
  * @param start The start `Array<number>` value
701
703
  * @param end The end `Array<number>` value
702
704
  * @param t The progress value
@@ -704,16 +706,18 @@ declare function validateValues<T extends TweenProps>(this: Timeline | Tween, ta
704
706
  */
705
707
  declare const interpolateArray: InterpolatorFunction<number[]>;
706
708
  /**
707
- * Check if a value is a valid array for interpolation
709
+ * Check if a value is a valid `Array<number>` for interpolation.
708
710
  * @param target The array to check
709
711
  * @returns `true` is value is array and all elements are numbers
710
712
  */
711
713
  declare const isValidArray: <T extends number[]>(target: unknown) => target is T;
712
714
  /**
713
- * Check if an array of numbers is compatible with a reference
715
+ * Check if an `Array<number>` is valid and compatible with a reference.
716
+ *
714
717
  * @param target The incoming value `from()` / `to()`
715
718
  * @param ref The state reference value
716
- * @returns [boolean, reason] tuple when arrays are compatible or
719
+ * @returns [boolean, reason] tuple with validation state as boolean and,
720
+ * if not valid, a reason why it's not valid
717
721
  */
718
722
  declare const validateArray: <T extends number[]>(propName: string, target: unknown, ref?: T) => ValidationResultEntry;
719
723
  /**
@@ -726,16 +730,18 @@ declare const arrayConfig: {
726
730
  //#endregion
727
731
  //#region src/extend/path.d.ts
728
732
  /**
729
- * Iterates a `PathArray` and concatenates the values into a string to return it.
733
+ * Iterates a `PathArray` value and concatenates the values into a string to return it.
734
+ *
730
735
  * **NOTE**: Segment values are rounded to 4 decimals by default.
731
736
  * @param path A source PathArray
732
737
  * @param round An optional parameter to round segment values to a number of decimals
733
- * @returns A path string
738
+ * @returns A valid HTML `description` (d) path string value
734
739
  */
735
740
  declare function pathToString(path: MorphPathArray, round?: number): string;
736
741
  /**
737
- * Interpolate PathArray values.
738
- * **NOTE**: these values must be validated first! Check validatePath for more info.
742
+ * Interpolate `PathArray` values.
743
+ *
744
+ * **NOTE**: these values must be validated first!
739
745
  * @param target - The target PathArray value
740
746
  * @param start - A starting PathArray value
741
747
  * @param end - An ending PathArray value
@@ -756,10 +762,10 @@ declare const isPathLike: (value: unknown) => value is PathLike;
756
762
  */
757
763
  declare const isValidPath: (value: unknown) => value is MorphPathArray;
758
764
  /**
759
- * Validate a PathArray and check if it's compatible with a reference.
765
+ * Validate a `PathArray` and check if it's compatible with a reference.
760
766
  *
761
767
  * **NOTE**: Path interpolation only works when both paths have:
762
- * - Identical segments structure (same number and order of M/L/C/Z)
768
+ * - Identical segments structure (same number and order of M/L/C/Z path commands)
763
769
  * - Corresponding coordinates to interpolate
764
770
  * Complex morphs require preprocessing (e.g. KUTE.js, Flubber)
765
771
  *
@@ -788,7 +794,8 @@ declare const isValidPath: (value: unknown) => value is MorphPathArray;
788
794
  *
789
795
  * @param target The incoming value `from()` / `to()`
790
796
  * @param ref The state reference value
791
- * @returns `true` when arrays are compatible or a reason why not
797
+ * @returns a tuple with validation result as a `boolean` and,
798
+ * if not valid, a reason why value isn't
792
799
  */
793
800
  declare const validatePath: <T extends MorphPathArray>(propName: string, target: unknown, ref?: T) => ValidationResultEntry;
794
801
  /**
@@ -801,12 +808,19 @@ declare const pathArrayConfig: {
801
808
  //#endregion
802
809
  //#region src/extend/object.d.ts
803
810
  /**
804
- * Single-level object interpolator
805
- * **Note**: values must be validated first!
811
+ * Single-level `Record<string, number>` object interpolate function.
812
+ *
813
+ * **NOTE**: values must be validated first!
814
+ *
815
+ * Input: single-level nested object
806
816
  *
807
- * Input: { scale: { x: 1, y: 1 } }
808
817
  * Output: interpolated flat object with same structure
809
- * @param target The target value of the object
818
+ *
819
+ * @example
820
+ * const initialValues = { translate : { x: 0, y: 0 } };
821
+ * // we will need to validate the value of `translate`
822
+ *
823
+ * @param target The target value of the state object
810
824
  * @param start The start value of the object
811
825
  * @param end The end value of the object
812
826
  * @param t The progress value
@@ -814,7 +828,8 @@ declare const pathArrayConfig: {
814
828
  */
815
829
  declare const interpolateObject: InterpolatorFunction<BaseTweenProps>;
816
830
  /**
817
- * Validate a simple plain object and compare its compatibility with a reference object.
831
+ * Validate a plain `Record<string, number>` object and compare its compatibility
832
+ * with a reference object.
818
833
  * @param propName The property name to which this object belongs to
819
834
  * @param target The target object itself
820
835
  * @param ref A reference object to compare our target to
@@ -850,8 +865,10 @@ declare const transformToString: (steps: TransformStep[], toMatrix?: boolean) =>
850
865
  */
851
866
  declare const eulerToAxisAngle: (x: number, y: number, z: number) => [number, number, number, number];
852
867
  /**
853
- * Interpolator: takes start/end arrays of `TransformStep`s → returns interpolated `TransformStep`s.
854
- * **Note** - Like `PathArray`, these values are required to have same length and structure.
868
+ * Interpolates arrays of `TransformStep`s → returns interpolated `TransformStep`s.
869
+ *
870
+ * **NOTE** - Like `PathArray`, these values are required to have same length,
871
+ * structure and must be validated beforehand.
855
872
  * @example
856
873
  * const a1: TransformArray = [
857
874
  * ["translate", 0, 0], // [translateX, translateY]
@@ -872,7 +889,7 @@ declare const eulerToAxisAngle: (x: number, y: number, z: number) => [number, nu
872
889
  * ["perspective", 400],
873
890
  * ];
874
891
  *
875
- * @param target The target `TransformArray`
892
+ * @param target The target `TransformArray` of the state object
876
893
  * @param start The start `TransformArray`
877
894
  * @param end The end `TransformArray`
878
895
  * @param t The progress value
@@ -880,20 +897,22 @@ declare const eulerToAxisAngle: (x: number, y: number, z: number) => [number, nu
880
897
  */
881
898
  declare const interpolateTransform: InterpolatorFunction<TransformStep[]>;
882
899
  /**
883
- * Check if an array of arrays is potentially a TransformArray
900
+ * Check if a value is potentially a `TransformArray`.
884
901
  * @param target The incoming value `constructor()` `from()` / `to()`
885
902
  * @returns `true` when array is potentially a PathArray
886
903
  */
887
904
  declare const isTransformLike: (value: unknown) => value is TransformLike;
888
905
  /**
889
- * Check if an array of arrays is a valid TransformArray for interpolation
906
+ * Check if a value is a valid `TransformArray` for interpolation.
890
907
  * @param target The incoming value `from()` / `to()`
891
- * @returns `true` when array is valid
908
+ * @returns a tuple with validation result as a `boolean` and,
909
+ * if not valid, a reason why value isn't
892
910
  */
893
911
  declare const isValidTransformArray: (value: unknown) => value is TransformArray;
894
912
  /**
895
- * Validator for TransformArray
896
- * Checks structure + number types + optional param counts
913
+ * Validator for `TransformArray` that checks
914
+ * structure + parameter counts, and if provided,
915
+ * the compatibility with a reference value.
897
916
  */
898
917
  declare const validateTransform: (propName: string, target: unknown, ref?: TransformArray) => ValidationResultEntry;
899
918
  /**
@@ -913,7 +932,7 @@ declare function setNow(nowFunction: typeof _nowFunc): void;
913
932
  /**
914
933
  * The runtime queue
915
934
  */
916
- declare const Queue: (AnimationItem | null)[];
935
+ declare const Queue: AnimationItem[];
917
936
  /**
918
937
  * The hot update loop updates all items in the queue,
919
938
  * and stops automatically when there are no items left.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":["Tween","Timeline","AnimationItem","T","TweenProps","TimelineCallback","state","progress","TweenUpdateCallback","obj","elapsed","TweenCallback","EasingFunction","amount","EasingFunctionGroup","In","Out","InOut","Position","InterpolatorFunction","I","target","start","end","t","ValidationResultEntry","ValidationFunction","Record","propName","ref","PropConfig","validate","interpolate","TimelineEntryConfig","duration","easing","TimelineEntry","Partial","DeepPartial","to","from","startTime","isActive","runtime","propValue","property","interpolator","startVal","endVal","TweenRuntime","targetObject","DeepObject","P","ArrayVal","BaseTweenProps","CubicValues","LineValues","QuadValues","Vec3","MorphPathSegment","PC","MorphPathArray","PathLike","RotateAxisAngle","originX","originY","originZ","angle","RotateZ","rotateZ","Rotate","rotateX","rotateY","Translate","translateX","translateY","translateZ","Scale","scaleX","scaleY","scaleZ","TransformStepInternal","TransformStep","length","TransformArray","TransformLike","name","version","description","homepage","author","license","type","sideEffects","browser","types","files","exports","bugs","url","publishConfig","access","registry","scripts","test","format","lint","build_","build","prepublishOnly","clean","repository","type_1","url_1","keywords","devDependencies_","tsdown","typescript","vitest","devDependencies","dependencies","preact","react","svelte","vue","packageManager","engines","node","pnpm","__json_default_export","default"],"sources":["../../src/Tween.ts","../../src/Timeline.ts","../../src/types.d.ts","../../src/Easing.ts","../../src/Util.ts","../../src/extend/array.ts","../../src/extend/path.ts","../../src/extend/object.ts","../../src/extend/transform.ts","../../src/Now.ts","../../src/Runtime.ts","../../package.json.d.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":["Tween","Timeline","AnimationItem","T","TweenProps","TimelineCallback","state","progress","TweenUpdateCallback","obj","elapsed","TweenCallback","EasingFunction","amount","EasingFunctionGroup","In","Out","InOut","Position","InterpolatorFunction","I","target","start","end","t","ValidationResultEntry","ValidationFunction","Record","propName","ref","PropConfig","validate","interpolate","TimelineEntryConfig","duration","easing","TimelineEntry","Partial","DeepPartial","to","from","startTime","isActive","runtime","propValue","property","interpolator","startVal","endVal","TweenRuntime","targetObject","DeepObject","P","ArrayVal","BaseTweenProps","CubicValues","LineValues","QuadValues","Vec3","MorphPathSegment","PC","MorphPathArray","PathLike","RotateAxisAngle","originX","originY","originZ","angle","RotateZ","rotateZ","Rotate","rotateX","rotateY","Translate","translateX","translateY","translateZ","Scale","scaleX","scaleY","scaleZ","TransformStepInternal","TransformStep","length","TransformArray","TransformLike","name","version","description","homepage","author","license","type","sideEffects","browser","types","files","exports","bugs","url","publishConfig","access","registry","scripts","test","format","lint","build_","build","prepublishOnly","clean","repository","type_1","url_1","keywords","devDependencies","tsdown","typescript","vitest","dependencies","preact","react","svelte","vue","packageManager","engines","node","pnpm","__json_default_export","default"],"sources":["../../src/Tween.ts","../../src/Timeline.ts","../../src/types.d.ts","../../src/Easing.ts","../../src/Util.ts","../../src/extend/array.ts","../../src/extend/path.ts","../../src/extend/object.ts","../../src/extend/transform.ts","../../src/Now.ts","../../src/Runtime.ts","../../package.json.d.ts"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @thednp/tween v0.0.2 (https://github.com/thednp/tween)
2
+ * @thednp/tween v0.0.4 (https://github.com/thednp/tween)
3
3
  * Copyright 2026 © thednp
4
4
  * Licensed under MIT (https://github.com/thednp/tween/blob/master/LICENSE)
5
5
  */
@@ -219,7 +219,9 @@ const instanceMethods = [
219
219
  * - allow free-form configuration for signal based frameworks
220
220
  */
221
221
  const dummyInstance = {};
222
- const dummyMethod = () => dummyInstance;
222
+ function dummyMethod() {
223
+ return this;
224
+ }
223
225
  for (let i = 0; i < instanceMethods.length; i++) dummyInstance[instanceMethods[i]] = dummyMethod;
224
226
  /**
225
227
  * Utility to round numbers to a specified number of decimals.
@@ -232,12 +234,13 @@ const roundTo = (n, round) => {
232
234
  return round > 0 ? Math.round(n * pow) / pow : Math.round(n);
233
235
  };
234
236
  const objectHasProp = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
237
+ const isUnsafeKey = (key) => key === "__proto__" || key === "constructor" || key === "prototype";
235
238
  /**
236
239
  * A small utility to deep assign up to one level deep nested objects.
237
240
  * This is to prevent breaking reactivity of miniStore.
238
241
  *
239
- * **NOTE** - This doesn't perform ANY check and expects objects to
240
- * be validated beforehand.
242
+ * **NOTE** - This doesn't perform ANY check and expects objects values
243
+ * to be validated beforehand.
241
244
  * @param target The target to assign values to
242
245
  * @param source The source object to assign values from
243
246
  */
@@ -247,7 +250,7 @@ function deepAssign(target, source) {
247
250
  const len = keys.length;
248
251
  while (i < len) {
249
252
  const key = keys[i++];
250
- if (key === "__proto__" || key === "constructor" || !objectHasProp(source, key)) continue;
253
+ if (isUnsafeKey(key) || !objectHasProp(source, key)) continue;
251
254
  const targetVal = target[key];
252
255
  const sourceVal = source[key];
253
256
  if (isArray(sourceVal)) {
@@ -272,10 +275,11 @@ function deepAssign(target, source) {
272
275
  }
273
276
  }
274
277
  /**
275
- * Creates a clone of a target object / array without its
276
- * proxy elements / properties, only their values.
278
+ * Creates a new object with the same structure of a target object / array
279
+ * without its proxy elements / properties, only their values.
277
280
  *
278
281
  * **NOTE** - The utility is useful to create deep clones as well.
282
+ *
279
283
  * @param value An object / array with proxy elements
280
284
  * @returns the object / array value without proxy elements
281
285
  */
@@ -283,7 +287,7 @@ const deproxy = (value) => {
283
287
  if (isArray(value)) return value.map(deproxy);
284
288
  if (isPlainObject(value)) {
285
289
  const result = {};
286
- for (const key in value) if (Object.prototype.hasOwnProperty.call(value, key)) result[key] = deproxy(value[key]);
290
+ for (const key in value) if (objectHasProp(value, key)) result[key] = deproxy(value[key]);
287
291
  return result;
288
292
  }
289
293
  return value;
@@ -341,7 +345,8 @@ function validateValues(target, reference) {
341
345
  * Interpolates two `Array<number>` values.
342
346
  *
343
347
  * **NOTE**: Values my be validated first!
344
- * @param target The target `Array<number>` value
348
+ *
349
+ * @param target The target `Array<number>` value of the state object
345
350
  * @param start The start `Array<number>` value
346
351
  * @param end The end `Array<number>` value
347
352
  * @param t The progress value
@@ -357,16 +362,18 @@ const interpolateArray = (target, start, end, t) => {
357
362
  return target;
358
363
  };
359
364
  /**
360
- * Check if a value is a valid array for interpolation
365
+ * Check if a value is a valid `Array<number>` for interpolation.
361
366
  * @param target The array to check
362
367
  * @returns `true` is value is array and all elements are numbers
363
368
  */
364
369
  const isValidArray = (target) => isArray(target) && target.every(isNumber);
365
370
  /**
366
- * Check if an array of numbers is compatible with a reference
371
+ * Check if an `Array<number>` is valid and compatible with a reference.
372
+ *
367
373
  * @param target The incoming value `from()` / `to()`
368
374
  * @param ref The state reference value
369
- * @returns [boolean, reason] tuple when arrays are compatible or
375
+ * @returns [boolean, reason] tuple with validation state as boolean and,
376
+ * if not valid, a reason why it's not valid
370
377
  */
371
378
  const validateArray = (propName, target, ref) => {
372
379
  if (!isArray(target)) return [false, `Property "${String(propName)}" is not Array.`];
@@ -385,11 +392,12 @@ const arrayConfig = {
385
392
  //#endregion
386
393
  //#region src/extend/path.ts
387
394
  /**
388
- * Iterates a `PathArray` and concatenates the values into a string to return it.
395
+ * Iterates a `PathArray` value and concatenates the values into a string to return it.
396
+ *
389
397
  * **NOTE**: Segment values are rounded to 4 decimals by default.
390
398
  * @param path A source PathArray
391
399
  * @param round An optional parameter to round segment values to a number of decimals
392
- * @returns A path string
400
+ * @returns A valid HTML `description` (d) path string value
393
401
  */
394
402
  function pathToString(path, round = 4) {
395
403
  const pathLen = path.length;
@@ -410,8 +418,9 @@ function pathToString(path, round = 4) {
410
418
  return result;
411
419
  }
412
420
  /**
413
- * Interpolate PathArray values.
414
- * **NOTE**: these values must be validated first! Check validatePath for more info.
421
+ * Interpolate `PathArray` values.
422
+ *
423
+ * **NOTE**: these values must be validated first!
415
424
  * @param target - The target PathArray value
416
425
  * @param start - A starting PathArray value
417
426
  * @param end - An ending PathArray value
@@ -462,10 +471,10 @@ const isPathLike = (value) => isArray(value) && value.some((seg) => isArray(seg)
462
471
  */
463
472
  const isValidPath = (value) => isPathLike(value) && value.length > 1 && value.every(isArray) && value.every(([cmd, ...values]) => supportedPathCommands.includes(cmd) && (["M", "L"].includes(cmd) && values.length === 2 && values.every(isNumber) || "C" === cmd && values.length === 6 && values.every(isNumber) || "Z" === cmd && values.length === 0));
464
473
  /**
465
- * Validate a PathArray and check if it's compatible with a reference.
474
+ * Validate a `PathArray` and check if it's compatible with a reference.
466
475
  *
467
476
  * **NOTE**: Path interpolation only works when both paths have:
468
- * - Identical segments structure (same number and order of M/L/C/Z)
477
+ * - Identical segments structure (same number and order of M/L/C/Z path commands)
469
478
  * - Corresponding coordinates to interpolate
470
479
  * Complex morphs require preprocessing (e.g. KUTE.js, Flubber)
471
480
  *
@@ -494,7 +503,8 @@ const isValidPath = (value) => isPathLike(value) && value.length > 1 && value.ev
494
503
  *
495
504
  * @param target The incoming value `from()` / `to()`
496
505
  * @param ref The state reference value
497
- * @returns `true` when arrays are compatible or a reason why not
506
+ * @returns a tuple with validation result as a `boolean` and,
507
+ * if not valid, a reason why value isn't
498
508
  */
499
509
  const validatePath = (propName, target, ref) => {
500
510
  if (!isValidPath(target)) return [false, `Property "${propName}" is not a valid PathArray.`];
@@ -526,12 +536,19 @@ const pathArrayConfig = {
526
536
  //#endregion
527
537
  //#region src/extend/object.ts
528
538
  /**
529
- * Single-level object interpolator
530
- * **Note**: values must be validated first!
539
+ * Single-level `Record<string, number>` object interpolate function.
540
+ *
541
+ * **NOTE**: values must be validated first!
542
+ *
543
+ * Input: single-level nested object
531
544
  *
532
- * Input: { scale: { x: 1, y: 1 } }
533
545
  * Output: interpolated flat object with same structure
534
- * @param target The target value of the object
546
+ *
547
+ * @example
548
+ * const initialValues = { translate : { x: 0, y: 0 } };
549
+ * // we will need to validate the value of `translate`
550
+ *
551
+ * @param target The target value of the state object
535
552
  * @param start The start value of the object
536
553
  * @param end The end value of the object
537
554
  * @param t The progress value
@@ -549,7 +566,8 @@ const interpolateObject = (target, start, end, t) => {
549
566
  return target;
550
567
  };
551
568
  /**
552
- * Validate a simple plain object and compare its compatibility with a reference object.
569
+ * Validate a plain `Record<string, number>` object and compare its compatibility
570
+ * with a reference object.
553
571
  * @param propName The property name to which this object belongs to
554
572
  * @param target The target object itself
555
573
  * @param ref A reference object to compare our target to
@@ -721,8 +739,10 @@ const quaternionToAxisAngle = (q) => {
721
739
  ];
722
740
  };
723
741
  /**
724
- * Interpolator: takes start/end arrays of `TransformStep`s → returns interpolated `TransformStep`s.
725
- * **Note** - Like `PathArray`, these values are required to have same length and structure.
742
+ * Interpolates arrays of `TransformStep`s → returns interpolated `TransformStep`s.
743
+ *
744
+ * **NOTE** - Like `PathArray`, these values are required to have same length,
745
+ * structure and must be validated beforehand.
726
746
  * @example
727
747
  * const a1: TransformArray = [
728
748
  * ["translate", 0, 0], // [translateX, translateY]
@@ -743,7 +763,7 @@ const quaternionToAxisAngle = (q) => {
743
763
  * ["perspective", 400],
744
764
  * ];
745
765
  *
746
- * @param target The target `TransformArray`
766
+ * @param target The target `TransformArray` of the state object
747
767
  * @param start The start `TransformArray`
748
768
  * @param end The end `TransformArray`
749
769
  * @param t The progress value
@@ -786,15 +806,16 @@ const supportedTransform = [
786
806
  "skewY"
787
807
  ];
788
808
  /**
789
- * Check if an array of arrays is potentially a TransformArray
809
+ * Check if a value is potentially a `TransformArray`.
790
810
  * @param target The incoming value `constructor()` `from()` / `to()`
791
811
  * @returns `true` when array is potentially a PathArray
792
812
  */
793
813
  const isTransformLike = (value) => isArray(value) && value.some((step) => isArray(step) && supportedTransform.includes(step[0]));
794
814
  /**
795
- * Check if an array of arrays is a valid TransformArray for interpolation
815
+ * Check if a value is a valid `TransformArray` for interpolation.
796
816
  * @param target The incoming value `from()` / `to()`
797
- * @returns `true` when array is valid
817
+ * @returns a tuple with validation result as a `boolean` and,
818
+ * if not valid, a reason why value isn't
798
819
  */
799
820
  const isValidTransformArray = (value) => isTransformLike(value) && value.every(([fn, ...values]) => supportedTransform.includes(fn) && ([
800
821
  "translate",
@@ -806,8 +827,9 @@ const isValidTransformArray = (value) => isTransformLike(value) && value.every((
806
827
  "perspective"
807
828
  ].includes(fn) && values.length === 1 && isNumber(values[0])));
808
829
  /**
809
- * Validator for TransformArray
810
- * Checks structure + number types + optional param counts
830
+ * Validator for `TransformArray` that checks
831
+ * structure + parameter counts, and if provided,
832
+ * the compatibility with a reference value.
811
833
  */
812
834
  const validateTransform = (propName, target, ref) => {
813
835
  if (!isValidTransformArray(target)) return [false, `Property "${propName}" must be an array of TransformStep.`];
@@ -851,7 +873,7 @@ function setNow(nowFunction) {
851
873
  /**
852
874
  * The runtime queue
853
875
  */
854
- const Queue = new Array(1e4).fill(null);
876
+ const Queue = new Array(0);
855
877
  let rafID = 0;
856
878
  let queueLength = 0;
857
879
  /**
@@ -861,12 +883,11 @@ let queueLength = 0;
861
883
  */
862
884
  function Runtime(t = now()) {
863
885
  let i = 0;
864
- let writeIdx = 0;
865
- while (i < queueLength) {
866
- const item = Queue[i++];
867
- if (item && item.update(t)) Queue[writeIdx++] = item;
886
+ while (i < queueLength) if (Queue[i]?.update(t)) i += 1;
887
+ else {
888
+ Queue.splice(i, 1);
889
+ queueLength--;
868
890
  }
869
- queueLength = writeIdx;
870
891
  if (queueLength === 0) {
871
892
  cancelAnimationFrame(rafID);
872
893
  rafID = 0;
@@ -878,8 +899,8 @@ function Runtime(t = now()) {
878
899
  * @param newItem Tween / Timeline
879
900
  */
880
901
  function addToQueue(newItem) {
881
- const item = newItem;
882
- Queue[queueLength++] = item;
902
+ if (Queue.includes(newItem)) return;
903
+ Queue[queueLength++] = newItem;
883
904
  if (!rafID) Runtime();
884
905
  }
885
906
  /**
@@ -888,7 +909,7 @@ function addToQueue(newItem) {
888
909
  */
889
910
  function removeFromQueue(removedItem) {
890
911
  const idx = Queue.indexOf(removedItem);
891
- if (idx !== -1) Queue[idx] = null;
912
+ if (idx > -1) Queue.splice(idx, 1);
892
913
  }
893
914
 
894
915
  //#endregion
@@ -1155,12 +1176,12 @@ var Tween = class {
1155
1176
  /**
1156
1177
  * Sets a number of seconds to delay the animation
1157
1178
  * after each repeat.
1158
- * @param amount - How many seconds to delay
1179
+ * @param seconds - How many seconds to delay
1159
1180
  * @default 0 seconds
1160
1181
  * @returns this
1161
1182
  */
1162
- repeatDelay(amount = 0) {
1163
- this._repeatDelay = amount * 1e3;
1183
+ repeatDelay(seconds = 0) {
1184
+ this._repeatDelay = seconds * 1e3;
1164
1185
  return this;
1165
1186
  }
1166
1187
  /**
@@ -1922,7 +1943,7 @@ var Timeline = class {
1922
1943
 
1923
1944
  //#endregion
1924
1945
  //#region package.json
1925
- var version = "0.0.2";
1946
+ var version = "0.0.4";
1926
1947
 
1927
1948
  //#endregion
1928
1949
  export { Easing, Queue, Runtime, Timeline, Tween, addToQueue, arrayConfig, deepAssign, deproxy, dummyInstance, eulerToAxisAngle, interpolateArray, interpolateObject, interpolatePath, interpolateTransform, isArray, isDeepObject, isFunction, isNumber, isObject, isPathLike, isPlainObject, isServer, isString, isTransformLike, isValidArray, isValidPath, isValidTransformArray, now, objectConfig, objectHasProp, pathArrayConfig, pathToString, removeFromQueue, roundTo, setNow, transformConfig, transformToString, validateArray, validateObject, validatePath, validateTransform, validateValues, version };