@pixerate/editor 0.108.0 → 0.109.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 (74) hide show
  1. package/dist/animation/index.cjs +5 -5
  2. package/dist/animation/index.cjs.map +1 -1
  3. package/dist/animation/index.js +9 -9
  4. package/dist/animation-editor/index.cjs +59 -59
  5. package/dist/animation-editor/index.cjs.map +1 -1
  6. package/dist/animation-editor/index.d.cts +2 -1
  7. package/dist/animation-editor/index.d.ts +2 -1
  8. package/dist/animation-editor/index.js +29 -29
  9. package/dist/canvas/index.cjs +27 -27
  10. package/dist/canvas/index.cjs.map +1 -1
  11. package/dist/canvas/index.js +11 -11
  12. package/dist/{chunk-2FGRTYJN.cjs → chunk-477UVMNR.cjs} +3 -3
  13. package/dist/{chunk-2FGRTYJN.cjs.map → chunk-477UVMNR.cjs.map} +1 -1
  14. package/dist/{chunk-T3QZ6S47.cjs → chunk-AZTZRLDI.cjs} +40 -2
  15. package/dist/chunk-AZTZRLDI.cjs.map +1 -0
  16. package/dist/{chunk-HUQ7EHVI.js → chunk-BLWCAQCW.js} +723 -1975
  17. package/dist/chunk-BLWCAQCW.js.map +1 -0
  18. package/dist/{chunk-G4BIYE6R.js → chunk-CFMWALBM.js} +39 -1
  19. package/dist/chunk-CFMWALBM.js.map +1 -0
  20. package/dist/{chunk-FRD3FUXI.cjs → chunk-D37BX2ZA.cjs} +2081 -460
  21. package/dist/chunk-D37BX2ZA.cjs.map +1 -0
  22. package/dist/chunk-JLYX4V57.cjs +2001 -0
  23. package/dist/chunk-JLYX4V57.cjs.map +1 -0
  24. package/dist/chunk-KB2YBCVS.js +2001 -0
  25. package/dist/chunk-KB2YBCVS.js.map +1 -0
  26. package/dist/{chunk-SOROZ2BF.js → chunk-RE77QYUF.js} +1938 -317
  27. package/dist/chunk-RE77QYUF.js.map +1 -0
  28. package/dist/{chunk-UTEVPQTS.cjs → chunk-W3GXSUSQ.cjs} +746 -1998
  29. package/dist/chunk-W3GXSUSQ.cjs.map +1 -0
  30. package/dist/{chunk-JK6M6V7G.js → chunk-Z3YWVUWT.js} +4 -4
  31. package/dist/{export-a9bnF7Cl.d.ts → export-BLPLaE6Z.d.ts} +417 -16
  32. package/dist/{export-JGWQEPJn.d.cts → export-DSUc4fQD.d.cts} +417 -16
  33. package/dist/image-editor/index.cjs +1527 -1001
  34. package/dist/image-editor/index.cjs.map +1 -1
  35. package/dist/image-editor/index.d.cts +73 -9
  36. package/dist/image-editor/index.d.ts +73 -9
  37. package/dist/image-editor/index.js +814 -288
  38. package/dist/image-editor/index.js.map +1 -1
  39. package/dist/paint-editor/index.cjs +56 -53
  40. package/dist/paint-editor/index.cjs.map +1 -1
  41. package/dist/paint-editor/index.d.cts +5 -2
  42. package/dist/paint-editor/index.d.ts +5 -2
  43. package/dist/paint-editor/index.js +6 -3
  44. package/dist/paint-editor/index.js.map +1 -1
  45. package/dist/raster/index.cjs +4 -2
  46. package/dist/raster/index.cjs.map +1 -1
  47. package/dist/raster/index.d.cts +3 -129
  48. package/dist/raster/index.d.ts +3 -129
  49. package/dist/raster/index.js +3 -1
  50. package/dist/{compositor-D92URMlm.d.cts → render-C-fO_mes.d.cts} +135 -1
  51. package/dist/{compositor-Kt_M4ruo.d.ts → render-OLIMk_v0.d.ts} +135 -1
  52. package/dist/{svg-SseJTIrA.d.ts → svg-D_cfkhlB.d.cts} +3 -629
  53. package/dist/{svg-ClVIG4T7.d.cts → svg-wIaKLrU0.d.ts} +3 -629
  54. package/dist/types-DtL_qLFz.d.ts +630 -0
  55. package/dist/types-DyQq-WPY.d.cts +630 -0
  56. package/dist/vector/index.cjs +563 -563
  57. package/dist/vector/index.cjs.map +1 -1
  58. package/dist/vector/index.d.cts +4 -2
  59. package/dist/vector/index.d.ts +4 -2
  60. package/dist/vector/index.js +69 -69
  61. package/dist/video-editor/index.cjs +3 -3
  62. package/dist/video-editor/index.js +2 -2
  63. package/package.json +1 -1
  64. package/dist/chunk-DWGZUSES.cjs +0 -694
  65. package/dist/chunk-DWGZUSES.cjs.map +0 -1
  66. package/dist/chunk-FRD3FUXI.cjs.map +0 -1
  67. package/dist/chunk-G4BIYE6R.js.map +0 -1
  68. package/dist/chunk-HUQ7EHVI.js.map +0 -1
  69. package/dist/chunk-KKREERP2.js +0 -694
  70. package/dist/chunk-KKREERP2.js.map +0 -1
  71. package/dist/chunk-SOROZ2BF.js.map +0 -1
  72. package/dist/chunk-T3QZ6S47.cjs.map +0 -1
  73. package/dist/chunk-UTEVPQTS.cjs.map +0 -1
  74. /package/dist/{chunk-JK6M6V7G.js.map → chunk-Z3YWVUWT.js.map} +0 -0
@@ -26,15 +26,13 @@ var _chunkZCNLBRT6cjs = require('../chunk-ZCNLBRT6.cjs');
26
26
 
27
27
 
28
28
 
29
- var _chunk2FGRTYJNcjs = require('../chunk-2FGRTYJN.cjs');
29
+ var _chunk477UVMNRcjs = require('../chunk-477UVMNR.cjs');
30
30
 
31
31
 
32
32
 
33
33
 
34
34
 
35
35
 
36
- var _chunkMR3Z4OQIcjs = require('../chunk-MR3Z4OQI.cjs');
37
- require('../chunk-A6PHCAGX.cjs');
38
36
 
39
37
 
40
38
 
@@ -46,13 +44,15 @@ require('../chunk-A6PHCAGX.cjs');
46
44
 
47
45
 
48
46
 
47
+ var _chunk2FHLHZALcjs = require('../chunk-2FHLHZAL.cjs');
49
48
 
50
49
 
51
50
 
52
51
 
53
52
 
54
53
 
55
- var _chunk2FHLHZALcjs = require('../chunk-2FHLHZAL.cjs');
54
+ var _chunkMR3Z4OQIcjs = require('../chunk-MR3Z4OQI.cjs');
55
+ require('../chunk-A6PHCAGX.cjs');
56
56
 
57
57
 
58
58
 
@@ -98,5 +98,5 @@ var _chunk2FHLHZALcjs = require('../chunk-2FHLHZAL.cjs');
98
98
 
99
99
 
100
100
 
101
- exports.ANIMATION_EASING_LABELS = _chunk2FHLHZALcjs.ANIMATION_EASING_LABELS; exports.ANIMATION_EASING_PRESETS = _chunk2FHLHZALcjs.ANIMATION_EASING_PRESETS; exports.ANIMATION_TIME_EPSILON = _chunk2FGRTYJNcjs.ANIMATION_TIME_EPSILON; exports.AnimationPlayer = _chunk2FGRTYJNcjs.AnimationPlayer; exports.CUBIC_BEZIER_PRESETS = _chunk2FHLHZALcjs.CUBIC_BEZIER_PRESETS; exports.MOTION_BEHAVIORS = _chunkZCNLBRT6cjs.MOTION_BEHAVIORS; exports.ManualClock = _chunk2FGRTYJNcjs.ManualClock; exports.PRESENCE_COLORS = _chunkEGFUVXKKcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkEGFUVXKKcjs.PerformanceQueue; exports.PresenceStore = _chunkEGFUVXKKcjs.PresenceStore; exports.SPRING_PRESETS = _chunk2FHLHZALcjs.SPRING_PRESETS; exports.behaviorProgress = _chunkZCNLBRT6cjs.behaviorProgress; exports.createAnimationPlayer = _chunk2FGRTYJNcjs.createAnimationPlayer; exports.createInstantPresenceClock = _chunkEGFUVXKKcjs.createInstantPresenceClock; exports.cubicBezierAt = _chunk2FHLHZALcjs.cubicBezierAt; exports.easingFromInfluence = _chunk2FHLHZALcjs.easingFromInfluence; exports.easingLabel = _chunk2FHLHZALcjs.easingLabel; exports.easingToCss = _chunk2FHLHZALcjs.easingToCss; exports.elasticAt = _chunk2FHLHZALcjs.elasticAt; exports.evaluateEasing = _chunk2FHLHZALcjs.evaluateEasing; exports.evaluateTrack = _chunk2FGRTYJNcjs.evaluateTrack; exports.formatOklab = _chunkMR3Z4OQIcjs.formatOklab; exports.fractalWiggle = _chunkZCNLBRT6cjs.fractalWiggle; exports.interpolateAnimationValue = _chunk2FGRTYJNcjs.interpolateAnimationValue; exports.isAnimationEasing = _chunk2FHLHZALcjs.isAnimationEasing; exports.isAnimationKeyframe = _chunk2FGRTYJNcjs.isAnimationKeyframe; exports.isMotionBehavior = _chunkZCNLBRT6cjs.isMotionBehavior; exports.mixColorsOklab = _chunkMR3Z4OQIcjs.mixColorsOklab; exports.motionSeedFromId = _chunkZCNLBRT6cjs.motionSeedFromId; exports.normalizeKeyframes = _chunk2FGRTYJNcjs.normalizeKeyframes; exports.oklabToRgb = _chunkMR3Z4OQIcjs.oklabToRgb; exports.pageHidden = _chunk2FGRTYJNcjs.pageHidden; exports.parseCssEasing = _chunk2FHLHZALcjs.parseCssEasing; exports.parseOklab = _chunkMR3Z4OQIcjs.parseOklab; exports.quinticFade = _chunkZCNLBRT6cjs.quinticFade; exports.realClock = _chunk2FGRTYJNcjs.realClock; exports.realPresenceClock = _chunkEGFUVXKKcjs.realPresenceClock; exports.resolveEasing = _chunk2FHLHZALcjs.resolveEasing; exports.reverseCubicBezier = _chunk2FHLHZALcjs.reverseCubicBezier; exports.rgbToOklab = _chunkMR3Z4OQIcjs.rgbToOklab; exports.springAt = _chunk2FHLHZALcjs.springAt; exports.springSettleMs = _chunk2FHLHZALcjs.springSettleMs; exports.tweenPresenceCursor = _chunkEGFUVXKKcjs.tweenPresenceCursor; exports.wrapAnimationTime = _chunk2FGRTYJNcjs.wrapAnimationTime;
101
+ exports.ANIMATION_EASING_LABELS = _chunk2FHLHZALcjs.ANIMATION_EASING_LABELS; exports.ANIMATION_EASING_PRESETS = _chunk2FHLHZALcjs.ANIMATION_EASING_PRESETS; exports.ANIMATION_TIME_EPSILON = _chunk477UVMNRcjs.ANIMATION_TIME_EPSILON; exports.AnimationPlayer = _chunk477UVMNRcjs.AnimationPlayer; exports.CUBIC_BEZIER_PRESETS = _chunk2FHLHZALcjs.CUBIC_BEZIER_PRESETS; exports.MOTION_BEHAVIORS = _chunkZCNLBRT6cjs.MOTION_BEHAVIORS; exports.ManualClock = _chunk477UVMNRcjs.ManualClock; exports.PRESENCE_COLORS = _chunkEGFUVXKKcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkEGFUVXKKcjs.PerformanceQueue; exports.PresenceStore = _chunkEGFUVXKKcjs.PresenceStore; exports.SPRING_PRESETS = _chunk2FHLHZALcjs.SPRING_PRESETS; exports.behaviorProgress = _chunkZCNLBRT6cjs.behaviorProgress; exports.createAnimationPlayer = _chunk477UVMNRcjs.createAnimationPlayer; exports.createInstantPresenceClock = _chunkEGFUVXKKcjs.createInstantPresenceClock; exports.cubicBezierAt = _chunk2FHLHZALcjs.cubicBezierAt; exports.easingFromInfluence = _chunk2FHLHZALcjs.easingFromInfluence; exports.easingLabel = _chunk2FHLHZALcjs.easingLabel; exports.easingToCss = _chunk2FHLHZALcjs.easingToCss; exports.elasticAt = _chunk2FHLHZALcjs.elasticAt; exports.evaluateEasing = _chunk2FHLHZALcjs.evaluateEasing; exports.evaluateTrack = _chunk477UVMNRcjs.evaluateTrack; exports.formatOklab = _chunkMR3Z4OQIcjs.formatOklab; exports.fractalWiggle = _chunkZCNLBRT6cjs.fractalWiggle; exports.interpolateAnimationValue = _chunk477UVMNRcjs.interpolateAnimationValue; exports.isAnimationEasing = _chunk2FHLHZALcjs.isAnimationEasing; exports.isAnimationKeyframe = _chunk477UVMNRcjs.isAnimationKeyframe; exports.isMotionBehavior = _chunkZCNLBRT6cjs.isMotionBehavior; exports.mixColorsOklab = _chunkMR3Z4OQIcjs.mixColorsOklab; exports.motionSeedFromId = _chunkZCNLBRT6cjs.motionSeedFromId; exports.normalizeKeyframes = _chunk477UVMNRcjs.normalizeKeyframes; exports.oklabToRgb = _chunkMR3Z4OQIcjs.oklabToRgb; exports.pageHidden = _chunk477UVMNRcjs.pageHidden; exports.parseCssEasing = _chunk2FHLHZALcjs.parseCssEasing; exports.parseOklab = _chunkMR3Z4OQIcjs.parseOklab; exports.quinticFade = _chunkZCNLBRT6cjs.quinticFade; exports.realClock = _chunk477UVMNRcjs.realClock; exports.realPresenceClock = _chunkEGFUVXKKcjs.realPresenceClock; exports.resolveEasing = _chunk2FHLHZALcjs.resolveEasing; exports.reverseCubicBezier = _chunk2FHLHZALcjs.reverseCubicBezier; exports.rgbToOklab = _chunkMR3Z4OQIcjs.rgbToOklab; exports.springAt = _chunk2FHLHZALcjs.springAt; exports.springSettleMs = _chunk2FHLHZALcjs.springSettleMs; exports.tweenPresenceCursor = _chunkEGFUVXKKcjs.tweenPresenceCursor; exports.wrapAnimationTime = _chunk477UVMNRcjs.wrapAnimationTime;
102
102
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/animation/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,ipFAAC","file":"/home/runner/work/editor/editor/packages/core/dist/animation/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/editor/editor/packages/core/dist/animation/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B,iCAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,ipFAAC","file":"/home/runner/work/editor/editor/packages/core/dist/animation/index.cjs"}
@@ -26,15 +26,7 @@ import {
26
26
  pageHidden,
27
27
  realClock,
28
28
  wrapAnimationTime
29
- } from "../chunk-JK6M6V7G.js";
30
- import {
31
- formatOklab,
32
- mixColorsOklab,
33
- oklabToRgb,
34
- parseOklab,
35
- rgbToOklab
36
- } from "../chunk-ZRJMJIQU.js";
37
- import "../chunk-TGD52FEZ.js";
29
+ } from "../chunk-Z3YWVUWT.js";
38
30
  import {
39
31
  ANIMATION_EASING_LABELS,
40
32
  ANIMATION_EASING_PRESETS,
@@ -53,6 +45,14 @@ import {
53
45
  springAt,
54
46
  springSettleMs
55
47
  } from "../chunk-AGR4P4UZ.js";
48
+ import {
49
+ formatOklab,
50
+ mixColorsOklab,
51
+ oklabToRgb,
52
+ parseOklab,
53
+ rgbToOklab
54
+ } from "../chunk-ZRJMJIQU.js";
55
+ import "../chunk-TGD52FEZ.js";
56
56
  export {
57
57
  ANIMATION_EASING_LABELS,
58
58
  ANIMATION_EASING_PRESETS,
@@ -3,6 +3,7 @@
3
3
 
4
4
 
5
5
 
6
+ var _chunkJLYX4V57cjs = require('../chunk-JLYX4V57.cjs');
6
7
 
7
8
 
8
9
 
@@ -10,9 +11,9 @@
10
11
 
11
12
 
12
13
 
14
+ var _chunkWAJQKWQUcjs = require('../chunk-WAJQKWQU.cjs');
13
15
 
14
16
 
15
- var _chunkUTEVPQTScjs = require('../chunk-UTEVPQTS.cjs');
16
17
 
17
18
 
18
19
 
@@ -20,24 +21,23 @@ var _chunkUTEVPQTScjs = require('../chunk-UTEVPQTS.cjs');
20
21
 
21
22
 
22
23
 
23
- var _chunkWAJQKWQUcjs = require('../chunk-WAJQKWQU.cjs');
24
24
 
25
25
 
26
26
 
27
27
 
28
28
 
29
29
 
30
- var _chunkXGD3FSNCcjs = require('../chunk-XGD3FSNC.cjs');
31
30
 
32
31
 
33
32
 
33
+ var _chunkW3GXSUSQcjs = require('../chunk-W3GXSUSQ.cjs');
34
34
 
35
35
 
36
36
 
37
37
 
38
38
 
39
39
 
40
- var _chunkDWGZUSEScjs = require('../chunk-DWGZUSES.cjs');
40
+ var _chunkXGD3FSNCcjs = require('../chunk-XGD3FSNC.cjs');
41
41
 
42
42
 
43
43
  var _chunkEMQWJA3Gcjs = require('../chunk-EMQWJA3G.cjs');
@@ -50,24 +50,24 @@ var _chunkQKLRAA4Tcjs = require('../chunk-QKLRAA4T.cjs');
50
50
  var _chunkZCNLBRT6cjs = require('../chunk-ZCNLBRT6.cjs');
51
51
 
52
52
 
53
- var _chunk2FGRTYJNcjs = require('../chunk-2FGRTYJN.cjs');
53
+ var _chunk477UVMNRcjs = require('../chunk-477UVMNR.cjs');
54
54
 
55
55
 
56
- var _chunkMR3Z4OQIcjs = require('../chunk-MR3Z4OQI.cjs');
57
56
 
58
57
 
59
58
 
60
59
 
61
- var _chunkA6PHCAGXcjs = require('../chunk-A6PHCAGX.cjs');
62
60
 
63
61
 
62
+ var _chunk2FHLHZALcjs = require('../chunk-2FHLHZAL.cjs');
64
63
 
65
64
 
65
+ var _chunkMR3Z4OQIcjs = require('../chunk-MR3Z4OQI.cjs');
66
66
 
67
67
 
68
68
 
69
69
 
70
- var _chunk2FHLHZALcjs = require('../chunk-2FHLHZAL.cjs');
70
+ var _chunkA6PHCAGXcjs = require('../chunk-A6PHCAGX.cjs');
71
71
 
72
72
  // src/animation-editor/types.ts
73
73
  var MOTION_TRIGGERS = ["click", "hover", "press", "scroll"];
@@ -558,7 +558,7 @@ function smoothMotionTimes(points, start, duration, pacing = "even") {
558
558
  function motionTextLayout(nodes, id) {
559
559
  const group = _optionalChain([nodes, 'access', _5 => _5.get, 'call', _6 => _6(id), 'optionalAccess', _7 => _7.node]);
560
560
  if (!group || group.type !== "group") return null;
561
- const letters = _chunkUTEVPQTScjs.collectPathNodes.call(void 0, group).map((p) => ({ id: p.id, b: _optionalChain([nodes, 'access', _8 => _8.get, 'call', _9 => _9(p.id), 'optionalAccess', _10 => _10.bounds]) })).filter((l) => !!l.b && l.b.width + l.b.height > 0);
561
+ const letters = _chunkW3GXSUSQcjs.collectPathNodes.call(void 0, group).map((p) => ({ id: p.id, b: _optionalChain([nodes, 'access', _8 => _8.get, 'call', _9 => _9(p.id), 'optionalAccess', _10 => _10.bounds]) })).filter((l) => !!l.b && l.b.width + l.b.height > 0);
562
562
  if (!letters.length) return null;
563
563
  const lines = [];
564
564
  for (const l of [...letters].sort((a, c) => a.b.y + a.b.height / 2 - (c.b.y + c.b.height / 2))) {
@@ -643,21 +643,21 @@ function indexMotionNodes(nodes) {
643
643
  const out = /* @__PURE__ */ new Map();
644
644
  const walk = (list, parentWorld, ancestors) => {
645
645
  for (const node of list) {
646
- const local = _chunkUTEVPQTScjs.vectorNodeBounds.call(void 0, node);
647
- const bounds = _chunkUTEVPQTScjs.vectorNodeBounds.call(void 0, node, parentWorld);
646
+ const local = _chunkW3GXSUSQcjs.vectorNodeBounds.call(void 0, node);
647
+ const bounds = _chunkW3GXSUSQcjs.vectorNodeBounds.call(void 0, node, parentWorld);
648
648
  const center = local ? { x: local.x + local.width / 2, y: local.y + local.height / 2 } : { x: 0, y: 0 };
649
649
  if (!out.has(node.id)) out.set(node.id, { node, ancestors, parentWorld, center, bounds, box: local });
650
- if (node.type === "group") walk(node.children, _chunkDWGZUSEScjs.multiplyMatrices.call(void 0, _chunkUTEVPQTScjs.nodeMatrix.call(void 0, node), parentWorld), [...ancestors, node.id]);
650
+ if (node.type === "group") walk(node.children, _chunkW3GXSUSQcjs.multiplyMatrices.call(void 0, _chunkW3GXSUSQcjs.nodeMatrix.call(void 0, node), parentWorld), [...ancestors, node.id]);
651
651
  }
652
652
  };
653
- walk(nodes, _chunkDWGZUSEScjs.IDENTITY_MATRIX, []);
653
+ walk(nodes, _chunkW3GXSUSQcjs.IDENTITY_MATRIX, []);
654
654
  indexCache.set(nodes, out);
655
655
  return out;
656
656
  }
657
657
  var solid = (paint) => typeof paint === "string" && paint !== "none" ? paint : void 0;
658
658
  function firstPaint(node, key) {
659
659
  if (node.type === "path") return solid(node[key]);
660
- for (const p of _chunkUTEVPQTScjs.collectPathNodes.call(void 0, node)) {
660
+ for (const p of _chunkW3GXSUSQcjs.collectPathNodes.call(void 0, node)) {
661
661
  const s = solid(p[key]);
662
662
  if (s) return s;
663
663
  }
@@ -665,7 +665,7 @@ function firstPaint(node, key) {
665
665
  }
666
666
  function strokeReach(node) {
667
667
  let reach = 0;
668
- for (const p of node.type === "path" ? [node] : _chunkUTEVPQTScjs.collectPathNodes.call(void 0, node)) {
668
+ for (const p of node.type === "path" ? [node] : _chunkW3GXSUSQcjs.collectPathNodes.call(void 0, node)) {
669
669
  if (p.stroke == null || p.stroke === "none") continue;
670
670
  const width = _nullishCoalesce(p.strokeWidth, () => ( 1));
671
671
  reach = Math.max(reach, p.strokeAlign === "outside" ? width : p.strokeAlign === "inside" ? 0 : width / 2);
@@ -735,7 +735,7 @@ function motionRestValue(entry, property, artwork) {
735
735
  case "stroke":
736
736
  return _nullishCoalesce((node && firstPaint(node, property)), () => ( "transparent"));
737
737
  case "strokeWidth": {
738
- const path = _optionalChain([node, 'optionalAccess', _13 => _13.type]) === "path" ? node : node ? _chunkUTEVPQTScjs.collectPathNodes.call(void 0, node)[0] : void 0;
738
+ const path = _optionalChain([node, 'optionalAccess', _13 => _13.type]) === "path" ? node : node ? _chunkW3GXSUSQcjs.collectPathNodes.call(void 0, node)[0] : void 0;
739
739
  return _nullishCoalesce(_optionalChain([path, 'optionalAccess', _14 => _14.strokeWidth]), () => ( 1));
740
740
  }
741
741
  case "shape":
@@ -846,12 +846,12 @@ function resolveMotionCamera(camera, scene) {
846
846
  const r = camera;
847
847
  return { x: r.x, y: r.y, width: r.width, height: r.height };
848
848
  }
849
- function motionPathLength(node, parentWorld = _chunkDWGZUSEScjs.IDENTITY_MATRIX) {
849
+ function motionPathLength(node, parentWorld = _chunkW3GXSUSQcjs.IDENTITY_MATRIX) {
850
850
  let longest = 0;
851
- const paths = node.type === "path" ? [node] : _chunkUTEVPQTScjs.collectPathNodes.call(void 0, node);
851
+ const paths = node.type === "path" ? [node] : _chunkW3GXSUSQcjs.collectPathNodes.call(void 0, node);
852
852
  for (const p of paths) {
853
853
  try {
854
- longest = Math.max(longest, _chunkXGD3FSNCcjs.bezierPathLength.call(void 0, _chunkUTEVPQTScjs.vectorPathWorldBezier.call(void 0, p, parentWorld, { effects: false })));
854
+ longest = Math.max(longest, _chunkXGD3FSNCcjs.bezierPathLength.call(void 0, _chunkW3GXSUSQcjs.vectorPathWorldBezier.call(void 0, p, parentWorld, { effects: false })));
855
855
  } catch (e2) {
856
856
  }
857
857
  }
@@ -1104,12 +1104,12 @@ function compileMotionScene(scene) {
1104
1104
  const order2 = _nullishCoalesce(o.order, () => ( "together"));
1105
1105
  const pace = _nullishCoalesce(o.pace, () => ( "time"));
1106
1106
  if (order2 === "together" && pace === "time") return null;
1107
- const paths = entry.node.type === "path" ? [entry.node] : _chunkUTEVPQTScjs.collectPathNodes.call(void 0, entry.node);
1107
+ const paths = entry.node.type === "path" ? [entry.node] : _chunkW3GXSUSQcjs.collectPathNodes.call(void 0, entry.node);
1108
1108
  let list = paths.map((p) => {
1109
1109
  const at = nodes.get(p.id);
1110
1110
  let first = { x: 0, y: 0 };
1111
1111
  try {
1112
- const m = _chunkUTEVPQTScjs.vectorPathWorldBezier.call(void 0, p, _nullishCoalesce(_optionalChain([at, 'optionalAccess', _41 => _41.parentWorld]), () => ( _chunkDWGZUSEScjs.IDENTITY_MATRIX)), { effects: false })[0];
1112
+ const m = _chunkW3GXSUSQcjs.vectorPathWorldBezier.call(void 0, p, _nullishCoalesce(_optionalChain([at, 'optionalAccess', _41 => _41.parentWorld]), () => ( _chunkW3GXSUSQcjs.IDENTITY_MATRIX)), { effects: false })[0];
1113
1113
  if (m && m.type === "M") first = { x: m.x, y: m.y };
1114
1114
  } catch (e3) {
1115
1115
  }
@@ -1221,17 +1221,17 @@ function compileMotionScene(scene) {
1221
1221
  let dx = _nullishCoalesce(_optionalChain([command3, 'access', _44 => _44.by, 'optionalAccess', _45 => _45.x]), () => ( 0));
1222
1222
  let dy = _nullishCoalesce(_optionalChain([command3, 'access', _46 => _46.by, 'optionalAccess', _47 => _47.y]), () => ( 0));
1223
1223
  if (command3.to) {
1224
- const inv = _chunkDWGZUSEScjs.invertMatrix.call(void 0, entry.parentWorld);
1225
- const target = _chunkDWGZUSEScjs.applyMatrix.call(void 0, inv, command3.to);
1224
+ const inv = _chunkW3GXSUSQcjs.invertMatrix.call(void 0, entry.parentWorld);
1225
+ const target = _chunkW3GXSUSQcjs.applyMatrix.call(void 0, inv, command3.to);
1226
1226
  dx = target.x - (entry.center.x + num2("x"));
1227
1227
  dy = target.y - (entry.center.y + num2("y"));
1228
1228
  }
1229
1229
  if (_optionalChain([command3, 'access', _48 => _48.via, 'optionalAccess', _49 => _49.length])) {
1230
- const inv = _chunkDWGZUSEScjs.invertMatrix.call(void 0, entry.parentWorld);
1230
+ const inv = _chunkW3GXSUSQcjs.invertMatrix.call(void 0, entry.parentWorld);
1231
1231
  const x0 = num2("x");
1232
1232
  const y0 = num2("y");
1233
1233
  const add = command3.blend === "add";
1234
- const offsets = [{ x: 0, y: 0 }, ...command3.via.map((p) => _chunkDWGZUSEScjs.applyMatrix.call(void 0, inv, p)).map((p) => ({ x: p.x - entry.center.x - x0, y: p.y - entry.center.y - y0 })), { x: dx, y: dy }];
1234
+ const offsets = [{ x: 0, y: 0 }, ...command3.via.map((p) => _chunkW3GXSUSQcjs.applyMatrix.call(void 0, inv, p)).map((p) => ({ x: p.x - entry.center.x - x0, y: p.y - entry.center.y - y0 })), { x: dx, y: dy }];
1235
1235
  const times = smoothMotionTimes(offsets, start, end - start, _nullishCoalesce(command3.pacing, () => ( "even")));
1236
1236
  for (const axis of ["x", "y"]) {
1237
1237
  const base = add ? 0 : axis === "x" ? x0 : y0;
@@ -1373,13 +1373,13 @@ function morphBetween(a, b) {
1373
1373
  let inner = morphCache.get(a);
1374
1374
  if (!inner) morphCache.set(a, inner = /* @__PURE__ */ new WeakMap());
1375
1375
  let morph = inner.get(b);
1376
- if (!morph) inner.set(b, morph = _chunkUTEVPQTScjs.createVectorMorph.call(void 0, a, b, { id: a.id }));
1376
+ if (!morph) inner.set(b, morph = _chunkJLYX4V57cjs.createVectorMorph.call(void 0, a, b, { id: a.id }));
1377
1377
  return morph;
1378
1378
  }
1379
1379
  function shapeIn(entry, shape) {
1380
1380
  if (shape === entry) return entry.node;
1381
- const m = _chunkDWGZUSEScjs.multiplyMatrices.call(void 0, _chunkDWGZUSEScjs.multiplyMatrices.call(void 0, _chunkUTEVPQTScjs.nodeMatrix.call(void 0, shape.node), shape.parentWorld), _chunkDWGZUSEScjs.invertMatrix.call(void 0, entry.parentWorld));
1382
- return { ...shape.node, ..._chunkDWGZUSEScjs.isIdentityMatrix.call(void 0, m) ? { transform: void 0 } : { transform: m } };
1381
+ const m = _chunkW3GXSUSQcjs.multiplyMatrices.call(void 0, _chunkW3GXSUSQcjs.multiplyMatrices.call(void 0, _chunkW3GXSUSQcjs.nodeMatrix.call(void 0, shape.node), shape.parentWorld), _chunkW3GXSUSQcjs.invertMatrix.call(void 0, entry.parentWorld));
1382
+ return { ...shape.node, ..._chunkW3GXSUSQcjs.isIdentityMatrix.call(void 0, m) ? { transform: void 0 } : { transform: m } };
1383
1383
  }
1384
1384
  function shapeAt(entry, timeline, nodes, time) {
1385
1385
  const track = timeline.tracks.get(motionTrackKey(entry.node.id, "shape"));
@@ -1399,7 +1399,7 @@ function shapeAt(entry, timeline, nodes, time) {
1399
1399
  function motionFollowRoute(entry, path) {
1400
1400
  if (!path || path.node.type !== "path") return null;
1401
1401
  try {
1402
- return _chunkXGD3FSNCcjs.transformBezierPath.call(void 0, _chunkUTEVPQTScjs.vectorPathWorldBezier.call(void 0, path.node, path.parentWorld, { effects: false }), _chunkDWGZUSEScjs.invertMatrix.call(void 0, entry.parentWorld));
1402
+ return _chunkXGD3FSNCcjs.transformBezierPath.call(void 0, _chunkW3GXSUSQcjs.vectorPathWorldBezier.call(void 0, path.node, path.parentWorld, { effects: false }), _chunkW3GXSUSQcjs.invertMatrix.call(void 0, entry.parentWorld));
1403
1403
  } catch (e4) {
1404
1404
  return null;
1405
1405
  }
@@ -1433,9 +1433,9 @@ function motionNodeOffset(entry, timeline, time, nodes = indexMotionNodes([entry
1433
1433
  const scaleX = read("scaleX", 1);
1434
1434
  const scaleY = read("scaleY", 1);
1435
1435
  const c = entry.center;
1436
- let matrix = _chunkDWGZUSEScjs.multiplyMatrices.call(void 0, _chunkDWGZUSEScjs.multiplyMatrices.call(void 0, _chunkDWGZUSEScjs.scaleMatrix.call(void 0, scaleX, scaleY, c), _chunkDWGZUSEScjs.rotateMatrix.call(void 0, rotation, c)), _chunkDWGZUSEScjs.translateMatrix.call(void 0, dx, dy));
1436
+ let matrix = _chunkW3GXSUSQcjs.multiplyMatrices.call(void 0, _chunkW3GXSUSQcjs.multiplyMatrices.call(void 0, _chunkW3GXSUSQcjs.scaleMatrix.call(void 0, scaleX, scaleY, c), _chunkW3GXSUSQcjs.rotateMatrix.call(void 0, rotation, c)), _chunkW3GXSUSQcjs.translateMatrix.call(void 0, dx, dy));
1437
1437
  const along = follow ? followAt(entry, timeline, nodes, time) : null;
1438
- if (along) matrix = _chunkDWGZUSEScjs.multiplyMatrices.call(void 0, matrix, _chunkDWGZUSEScjs.multiplyMatrices.call(void 0, _chunkDWGZUSEScjs.multiplyMatrices.call(void 0, _chunkDWGZUSEScjs.translateMatrix.call(void 0, -c.x, -c.y), _chunkDWGZUSEScjs.rotateMatrix.call(void 0, along.angle)), _chunkDWGZUSEScjs.translateMatrix.call(void 0, along.x, along.y)));
1438
+ if (along) matrix = _chunkW3GXSUSQcjs.multiplyMatrices.call(void 0, matrix, _chunkW3GXSUSQcjs.multiplyMatrices.call(void 0, _chunkW3GXSUSQcjs.multiplyMatrices.call(void 0, _chunkW3GXSUSQcjs.translateMatrix.call(void 0, -c.x, -c.y), _chunkW3GXSUSQcjs.rotateMatrix.call(void 0, along.angle)), _chunkW3GXSUSQcjs.translateMatrix.call(void 0, along.x, along.y)));
1439
1439
  return { matrix, dx, dy, rotation, scaleX, scaleY, follow: along };
1440
1440
  }
1441
1441
  function motionNodeClips(id, timeline, time) {
@@ -1502,7 +1502,7 @@ function motionFrameAt(scene, time, options = {}) {
1502
1502
  const start = Math.min(1, Math.max(0, typeof drawStart === "number" ? drawStart : 0));
1503
1503
  const end = Math.min(1, Math.max(0, typeof drawEnd === "number" ? drawEnd : 1));
1504
1504
  if (start > 0 || end < 1) {
1505
- const trim = _chunkUTEVPQTScjs.createVectorEffect.call(void 0, "trim", MOTION_DRAW_EFFECT_ID, { start: tidy(start * 100), end: tidy(end * 100) });
1505
+ const trim = _chunkW3GXSUSQcjs.createVectorEffect.call(void 0, "trim", MOTION_DRAW_EFFECT_ID, { start: tidy(start * 100), end: tidy(end * 100) });
1506
1506
  p = { ...p, effects: [trim, ...(_nullishCoalesce(p.effects, () => ( []))).filter((e) => e.id !== MOTION_DRAW_EFFECT_ID)] };
1507
1507
  }
1508
1508
  }
@@ -1516,8 +1516,8 @@ function motionFrameAt(scene, time, options = {}) {
1516
1516
  if (o >= 1) delete out.opacity;
1517
1517
  }
1518
1518
  const offset = options.offsets === false ? null : motionNodeOffset(entry, timeline, time, nodes);
1519
- if (offset && !_chunkDWGZUSEScjs.isIdentityMatrix.call(void 0, offset.matrix)) {
1520
- const m = _chunkDWGZUSEScjs.multiplyMatrices.call(void 0, _chunkUTEVPQTScjs.nodeMatrix.call(void 0, out), offset.matrix).map(tidy);
1519
+ if (offset && !_chunkW3GXSUSQcjs.isIdentityMatrix.call(void 0, offset.matrix)) {
1520
+ const m = _chunkW3GXSUSQcjs.multiplyMatrices.call(void 0, _chunkW3GXSUSQcjs.nodeMatrix.call(void 0, out), offset.matrix).map(tidy);
1521
1521
  out = { ...out, transform: m };
1522
1522
  }
1523
1523
  return out;
@@ -1537,7 +1537,7 @@ function motionFrameToSvg(scene, time, options = {}) {
1537
1537
  const wrap = { ...options.wrap };
1538
1538
  for (const [id, clips] of Object.entries(frame.clips))
1539
1539
  wrap[id] = [..._nullishCoalesce(wrap[id], () => ( [])), ...clips.map((clip, i) => ({ clip: { id: `${prefix}reveal-${id}-${i}`, shape: clip.shape, attrs: motionClipAttrs(clip) } }))];
1540
- return withViewBox(_chunkUTEVPQTScjs.vectorDocumentToSvg.call(void 0, frame.document, { ...options, wrap }), frame.camera);
1540
+ return withViewBox(_chunkJLYX4V57cjs.vectorDocumentToSvg.call(void 0, frame.document, { ...options, wrap }), frame.camera);
1541
1541
  }
1542
1542
  function withViewBox(svg, box) {
1543
1543
  const f = (n) => String(Math.round(n * 1e3) / 1e3);
@@ -1720,8 +1720,8 @@ function visibleAt(timeline, id, time, node) {
1720
1720
  if (Array.isArray(rect) && (rect[2] <= 1e-4 || rect[3] <= 1e-4)) return false;
1721
1721
  const circle = clip("clipCircle");
1722
1722
  if (Array.isArray(circle) && circle[2] <= 1e-4) return false;
1723
- const hasFill = node.type === "path" ? !!node.fill && node.fill !== "none" : _chunkUTEVPQTScjs.collectPathNodes.call(void 0, node).some((p) => p.fill && p.fill !== "none");
1724
- const drawn = num2("drawEnd", 1) > 0.01 && (node.type === "path" || _chunkUTEVPQTScjs.collectPathNodes.call(void 0, node).length === 0 || _chunkUTEVPQTScjs.collectPathNodes.call(void 0, node).some((p) => {
1723
+ const hasFill = node.type === "path" ? !!node.fill && node.fill !== "none" : _chunkW3GXSUSQcjs.collectPathNodes.call(void 0, node).some((p) => p.fill && p.fill !== "none");
1724
+ const drawn = num2("drawEnd", 1) > 0.01 && (node.type === "path" || _chunkW3GXSUSQcjs.collectPathNodes.call(void 0, node).length === 0 || _chunkW3GXSUSQcjs.collectPathNodes.call(void 0, node).some((p) => {
1725
1725
  const v = trackValue(timeline.tracks.get(motionTrackKey(p.id, "drawEnd")), time);
1726
1726
  return typeof v !== "number" || v > 0.01;
1727
1727
  }));
@@ -1807,7 +1807,7 @@ function checkMotionScene(scene) {
1807
1807
  }
1808
1808
  for (const id of targets) {
1809
1809
  const node = nodes.get(id).node;
1810
- const paths = node.type === "path" ? [node] : _chunkUTEVPQTScjs.collectPathNodes.call(void 0, node);
1810
+ const paths = node.type === "path" ? [node] : _chunkW3GXSUSQcjs.collectPathNodes.call(void 0, node);
1811
1811
  if (paths.some((p) => p[key] !== void 0 && p[key] !== null && typeof p[key] !== "string"))
1812
1812
  issues.push(_chunkWAJQKWQUcjs.motionIssue.call(void 0, "paint-not-color", `"${id}" has a gradient ${key}; it switches to ${color} at the end instead of blending.`, { ...where, ids: [id] }));
1813
1813
  }
@@ -1820,7 +1820,7 @@ function checkMotionScene(scene) {
1820
1820
  else
1821
1821
  for (const id of targets) {
1822
1822
  const node = nodes.get(id).node;
1823
- const paths = node.type === "path" ? [node] : _chunkUTEVPQTScjs.collectPathNodes.call(void 0, node);
1823
+ const paths = node.type === "path" ? [node] : _chunkW3GXSUSQcjs.collectPathNodes.call(void 0, node);
1824
1824
  if (paths.some((p) => typeof p[key] !== "string"))
1825
1825
  issues.push(_chunkWAJQKWQUcjs.motionIssue.call(void 0, "paint-not-color", `"${id}" has a gradient or no ${key}, so a colour pulse cannot tint it; give it a solid ${key} or pulse the ${key === "fill" ? "stroke" : "fill"}.`, { ...where, ids: [id] }));
1826
1826
  }
@@ -2404,7 +2404,7 @@ function toFlairSvgMotion(scene, options = {}) {
2404
2404
  raw: (t) => transformAt(t, true)
2405
2405
  });
2406
2406
  }
2407
- const paths = node.type === "path" ? [node] : _chunkUTEVPQTScjs.collectPathNodes.call(void 0, node);
2407
+ const paths = node.type === "path" ? [node] : _chunkW3GXSUSQcjs.collectPathNodes.call(void 0, node);
2408
2408
  for (const path of paths) {
2409
2409
  if (pathsSeen.has(path.id)) continue;
2410
2410
  pathsSeen.add(path.id);
@@ -2426,7 +2426,7 @@ function toFlairSvgMotion(scene, options = {}) {
2426
2426
  if (shapeSegments.length) {
2427
2427
  if (node.type !== "path") notes.push(`"${id}" is a group: its morph or effect animation is not exported (Flair tweens one path's "d").`);
2428
2428
  else {
2429
- const inverse = _chunkDWGZUSEScjs.invertMatrix.call(void 0, _chunkUTEVPQTScjs.nodeMatrix.call(void 0, node));
2429
+ const inverse = _chunkW3GXSUSQcjs.invertMatrix.call(void 0, _chunkW3GXSUSQcjs.nodeMatrix.call(void 0, node));
2430
2430
  channels.push({
2431
2431
  id,
2432
2432
  kind: "attr",
@@ -2435,9 +2435,9 @@ function toFlairSvgMotion(scene, options = {}) {
2435
2435
  exact: () => false,
2436
2436
  value: (t) => {
2437
2437
  const frame = motionFrameAt(scene, t, { draw: false, offsets: false });
2438
- const now = _chunkUTEVPQTScjs.expandVectorAppearance.call(void 0, _optionalChain([indexMotionNodes, 'call', _108 => _108(frame.document.nodes), 'access', _109 => _109.get, 'call', _110 => _110(id), 'optionalAccess', _111 => _111.node]));
2438
+ const now = _chunkW3GXSUSQcjs.expandVectorAppearance.call(void 0, _optionalChain([indexMotionNodes, 'call', _108 => _108(frame.document.nodes), 'access', _109 => _109.get, 'call', _110 => _110(id), 'optionalAccess', _111 => _111.node]));
2439
2439
  if (!now || now.type !== "path") return "";
2440
- const bezier = _chunkXGD3FSNCcjs.transformBezierPath.call(void 0, _chunkUTEVPQTScjs.vectorPathWorldBezier.call(void 0, now, _chunkDWGZUSEScjs.IDENTITY_MATRIX, { effects: false }), inverse);
2440
+ const bezier = _chunkXGD3FSNCcjs.transformBezierPath.call(void 0, _chunkW3GXSUSQcjs.vectorPathWorldBezier.call(void 0, now, _chunkW3GXSUSQcjs.IDENTITY_MATRIX, { effects: false }), inverse);
2441
2441
  return _chunkXGD3FSNCcjs.bezierPathToSvg.call(void 0, bezier, { precision: Math.min(precision, 2) });
2442
2442
  }
2443
2443
  });
@@ -2544,7 +2544,7 @@ function toFlairSvgMotion(scene, options = {}) {
2544
2544
  }
2545
2545
  if (scene.motionBlur) notes.push("Motion blur is drawn on the stage only; Flair plays the scene sharp.");
2546
2546
  if (trigger && (_nullishCoalesce(scene.loop, () => ( "none"))) !== "none") notes.push(`The scene plays on ${trigger}, so its loop does not apply in Flair.`);
2547
- let svg = _chunkUTEVPQTScjs.vectorDocumentToSvg.call(void 0, { ...scene.artwork, nodes: _chunkUTEVPQTScjs.expandVectorAppearances.call(void 0, scene.artwork.nodes) }, { pretty: false, precision, wrap });
2547
+ let svg = _chunkJLYX4V57cjs.vectorDocumentToSvg.call(void 0, { ...scene.artwork, nodes: _chunkW3GXSUSQcjs.expandVectorAppearances.call(void 0, scene.artwork.nodes) }, { pretty: false, precision, wrap });
2548
2548
  if (routes.length) svg = svg.replace(/^(<svg[^>]*>)/, `$1<defs>${routes.join("")}</defs>`);
2549
2549
  let motion = { svg, animate };
2550
2550
  if (_optionalChain([scene, 'access', _114 => _114.controls, 'optionalAccess', _115 => _115.length])) {
@@ -2628,14 +2628,14 @@ function easingOf(ease, fallback) {
2628
2628
  return fallback;
2629
2629
  }
2630
2630
  function poseOf(value, entry) {
2631
- const t = _chunkUTEVPQTScjs.parseSvgTransform.call(void 0, String(value));
2632
- const o = _chunkDWGZUSEScjs.multiplyMatrices.call(void 0, _nullishCoalesce(_chunkDWGZUSEScjs.invertMatrix.call(void 0, _chunkUTEVPQTScjs.nodeMatrix.call(void 0, entry.node)), () => ( [1, 0, 0, 1, 0, 0])), t);
2631
+ const t = _chunkJLYX4V57cjs.parseSvgTransform.call(void 0, String(value));
2632
+ const o = _chunkW3GXSUSQcjs.multiplyMatrices.call(void 0, _nullishCoalesce(_chunkW3GXSUSQcjs.invertMatrix.call(void 0, _chunkW3GXSUSQcjs.nodeMatrix.call(void 0, entry.node)), () => ( [1, 0, 0, 1, 0, 0])), t);
2633
2633
  const sx = Math.hypot(o[0], o[1]);
2634
2634
  if (!(sx > 1e-9)) return null;
2635
2635
  const sy = (o[0] * o[3] - o[1] * o[2]) / sx;
2636
2636
  if (Math.abs(o[2] + o[1] / sx * sy) > 1e-6 || Math.abs(o[3] - o[0] / sx * sy) > 1e-6) return null;
2637
2637
  const c = entry.center;
2638
- const moved = _chunkDWGZUSEScjs.applyMatrix.call(void 0, o, c);
2638
+ const moved = _chunkW3GXSUSQcjs.applyMatrix.call(void 0, o, c);
2639
2639
  return { dx: moved.x - c.x, dy: moved.y - c.y, rotation: Math.atan2(o[1], o[0]) * 180 / Math.PI, sx, sy };
2640
2640
  }
2641
2641
  var near = (a, b, eps = 1e-6) => Math.abs(a - b) < eps;
@@ -2720,7 +2720,7 @@ function fromFlairSvgMotion(input, options = {}) {
2720
2720
  const notes = [];
2721
2721
  if (!input || typeof input.svg !== "string") throw new Error('Give a Flair SvgMotion: { svg: "<svg \u2026>", animate: [ \u2026 ] }.');
2722
2722
  const { motion, controls } = resolvePlaceholders(input, notes);
2723
- const artwork = _chunkUTEVPQTScjs.parseVectorSvg.call(void 0, motion.svg);
2723
+ const artwork = _chunkJLYX4V57cjs.parseVectorSvg.call(void 0, motion.svg);
2724
2724
  const nodes = indexMotionNodes(artwork.nodes);
2725
2725
  const byStep = /* @__PURE__ */ new Map();
2726
2726
  for (const anim of _nullishCoalesce(motion.animate, () => ( []))) {
@@ -2967,9 +2967,9 @@ function toLottie(scene, options = {}) {
2967
2967
  const items = [];
2968
2968
  const shapeSegments = [...timeline.tracks.entries()].filter(([k]) => k.startsWith(`${path.id}\0`) && (k.endsWith("\0shape") || k.includes("\0effect:"))).flatMap(([, v]) => v);
2969
2969
  const geometryAt = (t) => {
2970
- if (!shapeSegments.length) return _chunkUTEVPQTScjs.vectorPathWorldBezier.call(void 0, path);
2970
+ if (!shapeSegments.length) return _chunkW3GXSUSQcjs.vectorPathWorldBezier.call(void 0, path);
2971
2971
  const now = _optionalChain([indexMotionNodes, 'call', _124 => _124(motionFrameAt(scene, t, { draw: false, offsets: false }).document.nodes), 'access', _125 => _125.get, 'call', _126 => _126(path.id), 'optionalAccess', _127 => _127.node]);
2972
- return now && now.type === "path" ? _chunkUTEVPQTScjs.vectorPathWorldBezier.call(void 0, _chunkUTEVPQTScjs.expandVectorAppearances.call(void 0, [now])[0]) : _chunkUTEVPQTScjs.vectorPathWorldBezier.call(void 0, path);
2972
+ return now && now.type === "path" ? _chunkW3GXSUSQcjs.vectorPathWorldBezier.call(void 0, _chunkW3GXSUSQcjs.expandVectorAppearances.call(void 0, [now])[0]) : _chunkW3GXSUSQcjs.vectorPathWorldBezier.call(void 0, path);
2973
2973
  };
2974
2974
  const rest = lottieContours(_chunkXGD3FSNCcjs.toBezierPath.call(void 0, geometryAt(0)), round2);
2975
2975
  rest.forEach((contour, n) => {
@@ -3043,8 +3043,8 @@ function toLottie(scene, options = {}) {
3043
3043
  if (node.type === "path") inner = [...pathShapes(node)];
3044
3044
  else {
3045
3045
  inner = shown(node.children).reverse().map(nodeGroup);
3046
- const m = _chunkUTEVPQTScjs.nodeMatrix.call(void 0, node);
3047
- if (m !== _chunkDWGZUSEScjs.IDENTITY_MATRIX) {
3046
+ const m = _chunkW3GXSUSQcjs.nodeMatrix.call(void 0, node);
3047
+ if (m !== _chunkW3GXSUSQcjs.IDENTITY_MATRIX) {
3048
3048
  const parts = staticParts(m);
3049
3049
  if (!parts) notes.push(`"${node.id}": its transform skews, which is not exported; it is drawn without the skew.`);
3050
3050
  else {
@@ -3057,7 +3057,7 @@ function toLottie(scene, options = {}) {
3057
3057
  const body = { ty: "gr", nm: `${node.id} (own)`, it: [...inner, innerTr] };
3058
3058
  return { ty: "gr", nm: _nullishCoalesce(node.name, () => ( node.id)), it: [body, poseTransform(entry)] };
3059
3059
  };
3060
- const artwork = { ...scene.artwork, nodes: _chunkUTEVPQTScjs.expandVectorAppearances.call(void 0, scene.artwork.nodes) };
3060
+ const artwork = { ...scene.artwork, nodes: _chunkW3GXSUSQcjs.expandVectorAppearances.call(void 0, scene.artwork.nodes) };
3061
3061
  const content = shown(artwork.nodes).reverse().map(nodeGroup);
3062
3062
  if (artwork.background && rgba(artwork.background))
3063
3063
  content.push({ ty: "gr", nm: "Background", it: [{ ty: "rc", nm: "Background", p: { a: 0, k: [artwork.width / 2, artwork.height / 2] }, s: { a: 0, k: [artwork.width, artwork.height] }, r: { a: 0, k: 0 } }, { ty: "fl", c: { a: 0, k: rgba(artwork.background).map(round2) }, o: { a: 0, k: 100 }, r: 1 }, STATIC_TR()] });
@@ -3156,11 +3156,11 @@ function preset(prst, w, h) {
3156
3156
  const poly = (pts) => [{ closed: true, anchors: pts.map(([x, y]) => ({ x, y })) }];
3157
3157
  switch (prst) {
3158
3158
  case "rect":
3159
- return [_chunkUTEVPQTScjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
3159
+ return [_chunkW3GXSUSQcjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
3160
3160
  case "roundRect":
3161
- return [_chunkUTEVPQTScjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h }, Math.min(w, h) * 0.16667)];
3161
+ return [_chunkW3GXSUSQcjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h }, Math.min(w, h) * 0.16667)];
3162
3162
  case "ellipse":
3163
- return [_chunkUTEVPQTScjs.ellipseSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
3163
+ return [_chunkW3GXSUSQcjs.ellipseSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
3164
3164
  case "triangle":
3165
3165
  return poly([[w / 2, 0], [w, h], [0, h]]);
3166
3166
  case "rtTriangle":
@@ -3268,7 +3268,7 @@ function shapes(ctx, tree, map) {
3268
3268
  let subpaths = cust ? custom(cust, w, h) : prst ? preset(prst, w, h) : null;
3269
3269
  if (!subpaths) {
3270
3270
  if (prst) ctx.notes.push(`"${name}" is a ${prst}, drawn as its bounding rectangle.`);
3271
- subpaths = [_chunkUTEVPQTScjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
3271
+ subpaths = [_chunkW3GXSUSQcjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
3272
3272
  }
3273
3273
  const style = kid(el, "style");
3274
3274
  const fill = kid(spPr, "noFill") ? null : _nullishCoalesce(colour(ctx, kid(spPr, "solidFill")), () => ( (el.localName === "cxnSp" ? null : colour(ctx, kid(style, "fillRef")))));
@@ -3499,7 +3499,7 @@ var AnimationEditorController = (_class = class {
3499
3499
  this.issues = checkMotionScene(this.scene);
3500
3500
  this.readOnly = _nullishCoalesce(options.readOnly, () => ( false));
3501
3501
  this.onChange = options.onChange;
3502
- this.player = new (0, _chunk2FGRTYJNcjs.AnimationPlayer)({ clock: options.clock, duration: () => compileMotionScene(this.scene).duration, loop: _nullishCoalesce(this.scene.loop, () => ( "none")) });
3502
+ this.player = new (0, _chunk477UVMNRcjs.AnimationPlayer)({ clock: options.clock, duration: () => compileMotionScene(this.scene).duration, loop: _nullishCoalesce(this.scene.loop, () => ( "none")) });
3503
3503
  this.state = this.computeState();
3504
3504
  this.connect();
3505
3505
  }
@@ -4253,7 +4253,7 @@ function createAnimationEditorToolProvider(controller, options = {}) {
4253
4253
  handler: ({ svg }) => {
4254
4254
  let artwork;
4255
4255
  try {
4256
- artwork = _chunkUTEVPQTScjs.parseVectorSvg.call(void 0, svg);
4256
+ artwork = _chunkJLYX4V57cjs.parseVectorSvg.call(void 0, svg);
4257
4257
  } catch (error) {
4258
4258
  throw new Error(`The SVG could not be read: ${error.message}. Nothing was changed.`);
4259
4259
  }