@pixerate/editor 0.133.0 → 0.134.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 (61) hide show
  1. package/dist/animation-editor/index.cjs +55 -55
  2. package/dist/animation-editor/index.d.cts +4 -4
  3. package/dist/animation-editor/index.d.ts +4 -4
  4. package/dist/animation-editor/index.js +2 -2
  5. package/dist/{bezier-DL2wPsFf.d.cts → bezier-J8i4uqSH.d.cts} +1 -1
  6. package/dist/{bezier-BAGdL89w.d.ts → bezier-lNEOp0Jx.d.ts} +1 -1
  7. package/dist/canvas/index.d.cts +7 -7
  8. package/dist/canvas/index.d.ts +7 -7
  9. package/dist/{chunk-VGZSIXX3.js → chunk-7RJ6P7MI.js} +2 -2
  10. package/dist/{chunk-AOCFL7L7.js → chunk-ESIWZMMK.js} +2 -2
  11. package/dist/{chunk-FOBB6AIO.js → chunk-HHTCDFZC.js} +97 -5
  12. package/dist/chunk-HHTCDFZC.js.map +1 -0
  13. package/dist/{chunk-2QKUD3E2.cjs → chunk-T6TV6HY6.cjs} +36 -36
  14. package/dist/{chunk-2QKUD3E2.cjs.map → chunk-T6TV6HY6.cjs.map} +1 -1
  15. package/dist/{chunk-65GNHOD4.cjs → chunk-YAFS2QFZ.cjs} +82 -82
  16. package/dist/{chunk-65GNHOD4.cjs.map → chunk-YAFS2QFZ.cjs.map} +1 -1
  17. package/dist/{chunk-F7GGEAO2.cjs → chunk-Z2H7KECK.cjs} +151 -59
  18. package/dist/chunk-Z2H7KECK.cjs.map +1 -0
  19. package/dist/effects/index.d.cts +4 -4
  20. package/dist/effects/index.d.ts +4 -4
  21. package/dist/{export-BICOEM9d.d.cts → export-BGdT02aL.d.cts} +3 -3
  22. package/dist/{export-zB4HITwP.d.ts → export-DMeG6E06.d.ts} +1 -1
  23. package/dist/{export-XnuX8FZ2.d.ts → export-Dng22YB8.d.ts} +3 -3
  24. package/dist/{export-CeFplzAW.d.cts → export-KzubBKo7.d.cts} +1 -1
  25. package/dist/{helpers-cssRNUzH.d.ts → helpers-Coa4e2j_.d.ts} +12 -0
  26. package/dist/{helpers-BuKdqUlM.d.cts → helpers-DHl28yLO.d.cts} +12 -0
  27. package/dist/image-editor/index.cjs +610 -610
  28. package/dist/image-editor/index.d.cts +8 -8
  29. package/dist/image-editor/index.d.ts +8 -8
  30. package/dist/image-editor/index.js +2 -2
  31. package/dist/{opentype-C3iyIFRx.d.cts → opentype-BWR7Qv8W.d.cts} +1 -1
  32. package/dist/{opentype-DG5Lkwul.d.ts → opentype-Dfcx6wFx.d.ts} +1 -1
  33. package/dist/paint-editor/index.cjs +7 -7
  34. package/dist/paint-editor/index.d.cts +5 -5
  35. package/dist/paint-editor/index.d.ts +5 -5
  36. package/dist/paint-editor/index.js +2 -2
  37. package/dist/{pathfinder-DKLt4UDG.d.ts → pathfinder-Celbi3e6.d.ts} +1 -1
  38. package/dist/{pathfinder-8vXik95z.d.cts → pathfinder-D8KQ6blQ.d.cts} +1 -1
  39. package/dist/{pool-C69pkWRz.d.ts → pool-8JZGWHvR.d.ts} +1 -1
  40. package/dist/{pool-VAWcYUbs.d.cts → pool-BfuxBKTd.d.cts} +1 -1
  41. package/dist/{svg-CEYpvsgH.d.ts → svg-CxxqG3_W.d.ts} +2 -2
  42. package/dist/{svg-BThlZmja.d.cts → svg-pwXWq6s2.d.cts} +2 -2
  43. package/dist/{tools-CRnZJXXr.d.cts → tools-3EBjR91b.d.cts} +1 -1
  44. package/dist/{tools-CVGqEpO8.d.ts → tools-y1M6O3UT.d.ts} +1 -1
  45. package/dist/vector/index.cjs +1292 -1035
  46. package/dist/vector/index.cjs.map +1 -1
  47. package/dist/vector/index.d.cts +183 -91
  48. package/dist/vector/index.d.ts +183 -91
  49. package/dist/vector/index.js +267 -10
  50. package/dist/vector/index.js.map +1 -1
  51. package/dist/video-editor/index.d.cts +4 -4
  52. package/dist/video-editor/index.d.ts +4 -4
  53. package/dist/{warp-mKylbLiF.d.ts → warp-C1gwu2G_.d.ts} +1 -1
  54. package/dist/{warp-ChcFDdlT.d.cts → warp-Ceqdz7kj.d.cts} +1 -1
  55. package/package.json +1 -1
  56. package/skills/pixerate-vector/SKILL.md +12 -53
  57. package/skills/pixerate-vector/references/pitfalls.md +62 -0
  58. package/dist/chunk-F7GGEAO2.cjs.map +0 -1
  59. package/dist/chunk-FOBB6AIO.js.map +0 -1
  60. /package/dist/{chunk-VGZSIXX3.js.map → chunk-7RJ6P7MI.js.map} +0 -0
  61. /package/dist/{chunk-AOCFL7L7.js.map → chunk-ESIWZMMK.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;
2
2
 
3
- var _chunk2QKUD3E2cjs = require('../chunk-2QKUD3E2.cjs');
3
+ var _chunkT6TV6HY6cjs = require('../chunk-T6TV6HY6.cjs');
4
4
 
5
5
 
6
6
 
@@ -31,7 +31,7 @@ var _chunkWAJQKWQUcjs = require('../chunk-WAJQKWQU.cjs');
31
31
 
32
32
 
33
33
 
34
- var _chunkF7GGEAO2cjs = require('../chunk-F7GGEAO2.cjs');
34
+ var _chunkZ2H7KECKcjs = require('../chunk-Z2H7KECK.cjs');
35
35
 
36
36
 
37
37
 
@@ -573,7 +573,7 @@ function smoothMotionTimes(points, start, duration, pacing = "even") {
573
573
  function motionTextLayout(nodes, id) {
574
574
  const group = _optionalChain([nodes, 'access', _5 => _5.get, 'call', _6 => _6(id), 'optionalAccess', _7 => _7.node]);
575
575
  if (!group || group.type !== "group") return null;
576
- const letters = _chunkF7GGEAO2cjs.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);
576
+ const letters = _chunkZ2H7KECKcjs.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);
577
577
  if (!letters.length) return null;
578
578
  const lines = [];
579
579
  for (const l of [...letters].sort((a, c) => a.b.y + a.b.height / 2 - (c.b.y + c.b.height / 2))) {
@@ -658,21 +658,21 @@ function indexMotionNodes(nodes) {
658
658
  const out = /* @__PURE__ */ new Map();
659
659
  const walk = (list, parentWorld, ancestors) => {
660
660
  for (const node of list) {
661
- const local = _chunkF7GGEAO2cjs.vectorNodeBounds.call(void 0, node);
662
- const bounds = _chunkF7GGEAO2cjs.vectorNodeBounds.call(void 0, node, parentWorld);
661
+ const local = _chunkZ2H7KECKcjs.vectorNodeBounds.call(void 0, node);
662
+ const bounds = _chunkZ2H7KECKcjs.vectorNodeBounds.call(void 0, node, parentWorld);
663
663
  const center = local ? { x: local.x + local.width / 2, y: local.y + local.height / 2 } : { x: 0, y: 0 };
664
664
  if (!out.has(node.id)) out.set(node.id, { node, ancestors, parentWorld, center, bounds, box: local });
665
- if (node.type === "group") walk(node.children, _chunkF7GGEAO2cjs.multiplyMatrices.call(void 0, _chunkF7GGEAO2cjs.nodeMatrix.call(void 0, node), parentWorld), [...ancestors, node.id]);
665
+ if (node.type === "group") walk(node.children, _chunkZ2H7KECKcjs.multiplyMatrices.call(void 0, _chunkZ2H7KECKcjs.nodeMatrix.call(void 0, node), parentWorld), [...ancestors, node.id]);
666
666
  }
667
667
  };
668
- walk(nodes, _chunkF7GGEAO2cjs.IDENTITY_MATRIX, []);
668
+ walk(nodes, _chunkZ2H7KECKcjs.IDENTITY_MATRIX, []);
669
669
  indexCache.set(nodes, out);
670
670
  return out;
671
671
  }
672
672
  var solid = (paint) => typeof paint === "string" && paint !== "none" ? paint : void 0;
673
673
  function firstPaint(node, key) {
674
674
  if (node.type === "path") return solid(node[key]);
675
- for (const p of _chunkF7GGEAO2cjs.collectPathNodes.call(void 0, node)) {
675
+ for (const p of _chunkZ2H7KECKcjs.collectPathNodes.call(void 0, node)) {
676
676
  const s = solid(p[key]);
677
677
  if (s) return s;
678
678
  }
@@ -680,7 +680,7 @@ function firstPaint(node, key) {
680
680
  }
681
681
  function strokeReach(node) {
682
682
  let reach = 0;
683
- for (const p of node.type === "path" ? [node] : _chunkF7GGEAO2cjs.collectPathNodes.call(void 0, node)) {
683
+ for (const p of node.type === "path" ? [node] : _chunkZ2H7KECKcjs.collectPathNodes.call(void 0, node)) {
684
684
  if (p.stroke == null || p.stroke === "none") continue;
685
685
  const width = _nullishCoalesce(p.strokeWidth, () => ( 1));
686
686
  reach = Math.max(reach, p.strokeAlign === "outside" ? width : p.strokeAlign === "inside" ? 0 : width / 2);
@@ -750,7 +750,7 @@ function motionRestValue(entry, property, artwork) {
750
750
  case "stroke":
751
751
  return _nullishCoalesce((node && firstPaint(node, property)), () => ( "transparent"));
752
752
  case "strokeWidth": {
753
- const path = _optionalChain([node, 'optionalAccess', _13 => _13.type]) === "path" ? node : node ? _chunkF7GGEAO2cjs.collectPathNodes.call(void 0, node)[0] : void 0;
753
+ const path = _optionalChain([node, 'optionalAccess', _13 => _13.type]) === "path" ? node : node ? _chunkZ2H7KECKcjs.collectPathNodes.call(void 0, node)[0] : void 0;
754
754
  return _nullishCoalesce(_optionalChain([path, 'optionalAccess', _14 => _14.strokeWidth]), () => ( 1));
755
755
  }
756
756
  case "shape":
@@ -861,12 +861,12 @@ function resolveMotionCamera(camera, scene) {
861
861
  const r = camera;
862
862
  return { x: r.x, y: r.y, width: r.width, height: r.height };
863
863
  }
864
- function motionPathLength(node, parentWorld = _chunkF7GGEAO2cjs.IDENTITY_MATRIX) {
864
+ function motionPathLength(node, parentWorld = _chunkZ2H7KECKcjs.IDENTITY_MATRIX) {
865
865
  let longest = 0;
866
- const paths = node.type === "path" ? [node] : _chunkF7GGEAO2cjs.collectPathNodes.call(void 0, node);
866
+ const paths = node.type === "path" ? [node] : _chunkZ2H7KECKcjs.collectPathNodes.call(void 0, node);
867
867
  for (const p of paths) {
868
868
  try {
869
- longest = Math.max(longest, _chunkBJTCSLF6cjs.bezierPathLength.call(void 0, _chunkF7GGEAO2cjs.vectorPathWorldBezier.call(void 0, p, parentWorld, { effects: false })));
869
+ longest = Math.max(longest, _chunkBJTCSLF6cjs.bezierPathLength.call(void 0, _chunkZ2H7KECKcjs.vectorPathWorldBezier.call(void 0, p, parentWorld, { effects: false })));
870
870
  } catch (e2) {
871
871
  }
872
872
  }
@@ -1119,12 +1119,12 @@ function compileMotionScene(scene) {
1119
1119
  const order2 = _nullishCoalesce(o.order, () => ( "together"));
1120
1120
  const pace = _nullishCoalesce(o.pace, () => ( "time"));
1121
1121
  if (order2 === "together" && pace === "time") return null;
1122
- const paths = entry.node.type === "path" ? [entry.node] : _chunkF7GGEAO2cjs.collectPathNodes.call(void 0, entry.node);
1122
+ const paths = entry.node.type === "path" ? [entry.node] : _chunkZ2H7KECKcjs.collectPathNodes.call(void 0, entry.node);
1123
1123
  let list = paths.map((p) => {
1124
1124
  const at = nodes.get(p.id);
1125
1125
  let first = { x: 0, y: 0 };
1126
1126
  try {
1127
- const m = _chunkF7GGEAO2cjs.vectorPathWorldBezier.call(void 0, p, _nullishCoalesce(_optionalChain([at, 'optionalAccess', _41 => _41.parentWorld]), () => ( _chunkF7GGEAO2cjs.IDENTITY_MATRIX)), { effects: false })[0];
1127
+ const m = _chunkZ2H7KECKcjs.vectorPathWorldBezier.call(void 0, p, _nullishCoalesce(_optionalChain([at, 'optionalAccess', _41 => _41.parentWorld]), () => ( _chunkZ2H7KECKcjs.IDENTITY_MATRIX)), { effects: false })[0];
1128
1128
  if (m && m.type === "M") first = { x: m.x, y: m.y };
1129
1129
  } catch (e3) {
1130
1130
  }
@@ -1236,17 +1236,17 @@ function compileMotionScene(scene) {
1236
1236
  let dx = _nullishCoalesce(_optionalChain([command3, 'access', _44 => _44.by, 'optionalAccess', _45 => _45.x]), () => ( 0));
1237
1237
  let dy = _nullishCoalesce(_optionalChain([command3, 'access', _46 => _46.by, 'optionalAccess', _47 => _47.y]), () => ( 0));
1238
1238
  if (command3.to) {
1239
- const inv = _chunkF7GGEAO2cjs.invertMatrix.call(void 0, entry.parentWorld);
1240
- const target = _chunkF7GGEAO2cjs.applyMatrix.call(void 0, inv, command3.to);
1239
+ const inv = _chunkZ2H7KECKcjs.invertMatrix.call(void 0, entry.parentWorld);
1240
+ const target = _chunkZ2H7KECKcjs.applyMatrix.call(void 0, inv, command3.to);
1241
1241
  dx = target.x - (entry.center.x + num2("x"));
1242
1242
  dy = target.y - (entry.center.y + num2("y"));
1243
1243
  }
1244
1244
  if (_optionalChain([command3, 'access', _48 => _48.via, 'optionalAccess', _49 => _49.length])) {
1245
- const inv = _chunkF7GGEAO2cjs.invertMatrix.call(void 0, entry.parentWorld);
1245
+ const inv = _chunkZ2H7KECKcjs.invertMatrix.call(void 0, entry.parentWorld);
1246
1246
  const x0 = num2("x");
1247
1247
  const y0 = num2("y");
1248
1248
  const add = command3.blend === "add";
1249
- const offsets = [{ x: 0, y: 0 }, ...command3.via.map((p) => _chunkF7GGEAO2cjs.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 }];
1249
+ const offsets = [{ x: 0, y: 0 }, ...command3.via.map((p) => _chunkZ2H7KECKcjs.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 }];
1250
1250
  const times = smoothMotionTimes(offsets, start, end - start, _nullishCoalesce(command3.pacing, () => ( "even")));
1251
1251
  for (const axis of ["x", "y"]) {
1252
1252
  const base = add ? 0 : axis === "x" ? x0 : y0;
@@ -1389,13 +1389,13 @@ function morphBetween(a, b) {
1389
1389
  let inner = morphCache.get(a);
1390
1390
  if (!inner) morphCache.set(a, inner = /* @__PURE__ */ new WeakMap());
1391
1391
  let morph = inner.get(b);
1392
- if (!morph) inner.set(b, morph = _chunk2QKUD3E2cjs.createVectorMorph.call(void 0, a, b, { id: a.id }));
1392
+ if (!morph) inner.set(b, morph = _chunkT6TV6HY6cjs.createVectorMorph.call(void 0, a, b, { id: a.id }));
1393
1393
  return morph;
1394
1394
  }
1395
1395
  function shapeIn(entry, shape) {
1396
1396
  if (shape === entry) return entry.node;
1397
- const m = _chunkF7GGEAO2cjs.multiplyMatrices.call(void 0, _chunkF7GGEAO2cjs.multiplyMatrices.call(void 0, _chunkF7GGEAO2cjs.nodeMatrix.call(void 0, shape.node), shape.parentWorld), _chunkF7GGEAO2cjs.invertMatrix.call(void 0, entry.parentWorld));
1398
- return { ...shape.node, ..._chunkF7GGEAO2cjs.isIdentityMatrix.call(void 0, m) ? { transform: void 0 } : { transform: m } };
1397
+ const m = _chunkZ2H7KECKcjs.multiplyMatrices.call(void 0, _chunkZ2H7KECKcjs.multiplyMatrices.call(void 0, _chunkZ2H7KECKcjs.nodeMatrix.call(void 0, shape.node), shape.parentWorld), _chunkZ2H7KECKcjs.invertMatrix.call(void 0, entry.parentWorld));
1398
+ return { ...shape.node, ..._chunkZ2H7KECKcjs.isIdentityMatrix.call(void 0, m) ? { transform: void 0 } : { transform: m } };
1399
1399
  }
1400
1400
  function shapeAt(entry, timeline, nodes, time) {
1401
1401
  const track = timeline.tracks.get(motionTrackKey(entry.node.id, "shape"));
@@ -1415,7 +1415,7 @@ function shapeAt(entry, timeline, nodes, time) {
1415
1415
  function motionFollowRoute(entry, path) {
1416
1416
  if (!path || path.node.type !== "path") return null;
1417
1417
  try {
1418
- return _chunkBJTCSLF6cjs.transformBezierPath.call(void 0, _chunkF7GGEAO2cjs.vectorPathWorldBezier.call(void 0, path.node, path.parentWorld, { effects: false }), _chunkF7GGEAO2cjs.invertMatrix.call(void 0, entry.parentWorld));
1418
+ return _chunkBJTCSLF6cjs.transformBezierPath.call(void 0, _chunkZ2H7KECKcjs.vectorPathWorldBezier.call(void 0, path.node, path.parentWorld, { effects: false }), _chunkZ2H7KECKcjs.invertMatrix.call(void 0, entry.parentWorld));
1419
1419
  } catch (e4) {
1420
1420
  return null;
1421
1421
  }
@@ -1449,9 +1449,9 @@ function motionNodeOffset(entry, timeline, time, nodes = indexMotionNodes([entry
1449
1449
  const scaleX = read("scaleX", 1);
1450
1450
  const scaleY = read("scaleY", 1);
1451
1451
  const c = entry.center;
1452
- let matrix = _chunkF7GGEAO2cjs.multiplyMatrices.call(void 0, _chunkF7GGEAO2cjs.multiplyMatrices.call(void 0, _chunkF7GGEAO2cjs.scaleMatrix.call(void 0, scaleX, scaleY, c), _chunkF7GGEAO2cjs.rotateMatrix.call(void 0, rotation, c)), _chunkF7GGEAO2cjs.translateMatrix.call(void 0, dx, dy));
1452
+ let matrix = _chunkZ2H7KECKcjs.multiplyMatrices.call(void 0, _chunkZ2H7KECKcjs.multiplyMatrices.call(void 0, _chunkZ2H7KECKcjs.scaleMatrix.call(void 0, scaleX, scaleY, c), _chunkZ2H7KECKcjs.rotateMatrix.call(void 0, rotation, c)), _chunkZ2H7KECKcjs.translateMatrix.call(void 0, dx, dy));
1453
1453
  const along = follow ? followAt(entry, timeline, nodes, time) : null;
1454
- if (along) matrix = _chunkF7GGEAO2cjs.multiplyMatrices.call(void 0, matrix, _chunkF7GGEAO2cjs.multiplyMatrices.call(void 0, _chunkF7GGEAO2cjs.multiplyMatrices.call(void 0, _chunkF7GGEAO2cjs.translateMatrix.call(void 0, -c.x, -c.y), _chunkF7GGEAO2cjs.rotateMatrix.call(void 0, along.angle)), _chunkF7GGEAO2cjs.translateMatrix.call(void 0, along.x, along.y)));
1454
+ if (along) matrix = _chunkZ2H7KECKcjs.multiplyMatrices.call(void 0, matrix, _chunkZ2H7KECKcjs.multiplyMatrices.call(void 0, _chunkZ2H7KECKcjs.multiplyMatrices.call(void 0, _chunkZ2H7KECKcjs.translateMatrix.call(void 0, -c.x, -c.y), _chunkZ2H7KECKcjs.rotateMatrix.call(void 0, along.angle)), _chunkZ2H7KECKcjs.translateMatrix.call(void 0, along.x, along.y)));
1455
1455
  return { matrix, dx, dy, rotation, scaleX, scaleY, follow: along };
1456
1456
  }
1457
1457
  function motionNodeClips(id, timeline, time) {
@@ -1518,7 +1518,7 @@ function motionFrameAt(scene, time, options = {}) {
1518
1518
  const start = Math.min(1, Math.max(0, typeof drawStart === "number" ? drawStart : 0));
1519
1519
  const end = Math.min(1, Math.max(0, typeof drawEnd === "number" ? drawEnd : 1));
1520
1520
  if (start > 0 || end < 1) {
1521
- const trim = _chunkF7GGEAO2cjs.createVectorEffect.call(void 0, "trim", MOTION_DRAW_EFFECT_ID, { start: tidy(start * 100), end: tidy(end * 100) });
1521
+ const trim = _chunkZ2H7KECKcjs.createVectorEffect.call(void 0, "trim", MOTION_DRAW_EFFECT_ID, { start: tidy(start * 100), end: tidy(end * 100) });
1522
1522
  p = { ...p, effects: [trim, ...(_nullishCoalesce(p.effects, () => ( []))).filter((e) => e.id !== MOTION_DRAW_EFFECT_ID)] };
1523
1523
  }
1524
1524
  }
@@ -1532,8 +1532,8 @@ function motionFrameAt(scene, time, options = {}) {
1532
1532
  if (o >= 1) delete out.opacity;
1533
1533
  }
1534
1534
  const offset = options.offsets === false ? null : motionNodeOffset(entry, timeline, time, nodes);
1535
- if (offset && !_chunkF7GGEAO2cjs.isIdentityMatrix.call(void 0, offset.matrix)) {
1536
- const m = _chunkF7GGEAO2cjs.multiplyMatrices.call(void 0, _chunkF7GGEAO2cjs.nodeMatrix.call(void 0, out), offset.matrix).map(tidy);
1535
+ if (offset && !_chunkZ2H7KECKcjs.isIdentityMatrix.call(void 0, offset.matrix)) {
1536
+ const m = _chunkZ2H7KECKcjs.multiplyMatrices.call(void 0, _chunkZ2H7KECKcjs.nodeMatrix.call(void 0, out), offset.matrix).map(tidy);
1537
1537
  out = { ...out, transform: m };
1538
1538
  }
1539
1539
  return out;
@@ -1553,7 +1553,7 @@ function motionFrameToSvg(scene, time, options = {}) {
1553
1553
  const wrap = { ...options.wrap };
1554
1554
  for (const [id, clips] of Object.entries(frame.clips))
1555
1555
  wrap[id] = [..._nullishCoalesce(wrap[id], () => ( [])), ...clips.map((clip, i) => ({ clip: { id: `${prefix}reveal-${id}-${i}`, shape: clip.shape, attrs: motionClipAttrs(clip) } }))];
1556
- return withViewBox(_chunkF7GGEAO2cjs.vectorDocumentToSvg.call(void 0, frame.document, { ...options, wrap }), frame.camera);
1556
+ return withViewBox(_chunkZ2H7KECKcjs.vectorDocumentToSvg.call(void 0, frame.document, { ...options, wrap }), frame.camera);
1557
1557
  }
1558
1558
  function withViewBox(svg, box) {
1559
1559
  const f = (n) => String(Math.round(n * 1e3) / 1e3);
@@ -1736,8 +1736,8 @@ function visibleAt(timeline, id, time, node) {
1736
1736
  if (Array.isArray(rect) && (rect[2] <= 1e-4 || rect[3] <= 1e-4)) return false;
1737
1737
  const circle = clip("clipCircle");
1738
1738
  if (Array.isArray(circle) && circle[2] <= 1e-4) return false;
1739
- const hasFill = node.type === "path" ? !!node.fill && node.fill !== "none" : _chunkF7GGEAO2cjs.collectPathNodes.call(void 0, node).some((p) => p.fill && p.fill !== "none");
1740
- const drawn = num2("drawEnd", 1) > 0.01 && (node.type === "path" || _chunkF7GGEAO2cjs.collectPathNodes.call(void 0, node).length === 0 || _chunkF7GGEAO2cjs.collectPathNodes.call(void 0, node).some((p) => {
1739
+ const hasFill = node.type === "path" ? !!node.fill && node.fill !== "none" : _chunkZ2H7KECKcjs.collectPathNodes.call(void 0, node).some((p) => p.fill && p.fill !== "none");
1740
+ const drawn = num2("drawEnd", 1) > 0.01 && (node.type === "path" || _chunkZ2H7KECKcjs.collectPathNodes.call(void 0, node).length === 0 || _chunkZ2H7KECKcjs.collectPathNodes.call(void 0, node).some((p) => {
1741
1741
  const v = trackValue(timeline.tracks.get(motionTrackKey(p.id, "drawEnd")), time);
1742
1742
  return typeof v !== "number" || v > 0.01;
1743
1743
  }));
@@ -1823,7 +1823,7 @@ function checkMotionScene(scene) {
1823
1823
  }
1824
1824
  for (const id of targets) {
1825
1825
  const node = nodes.get(id).node;
1826
- const paths = node.type === "path" ? [node] : _chunkF7GGEAO2cjs.collectPathNodes.call(void 0, node);
1826
+ const paths = node.type === "path" ? [node] : _chunkZ2H7KECKcjs.collectPathNodes.call(void 0, node);
1827
1827
  if (paths.some((p) => p[key] !== void 0 && p[key] !== null && typeof p[key] !== "string"))
1828
1828
  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] }));
1829
1829
  }
@@ -1836,7 +1836,7 @@ function checkMotionScene(scene) {
1836
1836
  else
1837
1837
  for (const id of targets) {
1838
1838
  const node = nodes.get(id).node;
1839
- const paths = node.type === "path" ? [node] : _chunkF7GGEAO2cjs.collectPathNodes.call(void 0, node);
1839
+ const paths = node.type === "path" ? [node] : _chunkZ2H7KECKcjs.collectPathNodes.call(void 0, node);
1840
1840
  if (paths.some((p) => typeof p[key] !== "string"))
1841
1841
  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] }));
1842
1842
  }
@@ -2420,7 +2420,7 @@ function toFlairSvgMotion(scene, options = {}) {
2420
2420
  raw: (t) => transformAt(t, true)
2421
2421
  });
2422
2422
  }
2423
- const paths = node.type === "path" ? [node] : _chunkF7GGEAO2cjs.collectPathNodes.call(void 0, node);
2423
+ const paths = node.type === "path" ? [node] : _chunkZ2H7KECKcjs.collectPathNodes.call(void 0, node);
2424
2424
  for (const path of paths) {
2425
2425
  if (pathsSeen.has(path.id)) continue;
2426
2426
  pathsSeen.add(path.id);
@@ -2442,7 +2442,7 @@ function toFlairSvgMotion(scene, options = {}) {
2442
2442
  if (shapeSegments.length) {
2443
2443
  if (node.type !== "path") notes.push(`"${id}" is a group: its morph or effect animation is not exported (Flair tweens one path's "d").`);
2444
2444
  else {
2445
- const inverse = _chunkF7GGEAO2cjs.invertMatrix.call(void 0, _chunkF7GGEAO2cjs.nodeMatrix.call(void 0, node));
2445
+ const inverse = _chunkZ2H7KECKcjs.invertMatrix.call(void 0, _chunkZ2H7KECKcjs.nodeMatrix.call(void 0, node));
2446
2446
  channels.push({
2447
2447
  id,
2448
2448
  kind: "attr",
@@ -2451,9 +2451,9 @@ function toFlairSvgMotion(scene, options = {}) {
2451
2451
  exact: () => false,
2452
2452
  value: (t) => {
2453
2453
  const frame = motionFrameAt(scene, t, { draw: false, offsets: false });
2454
- const now = _chunkF7GGEAO2cjs.expandVectorAppearance.call(void 0, _optionalChain([indexMotionNodes, 'call', _108 => _108(frame.document.nodes), 'access', _109 => _109.get, 'call', _110 => _110(id), 'optionalAccess', _111 => _111.node]));
2454
+ const now = _chunkZ2H7KECKcjs.expandVectorAppearance.call(void 0, _optionalChain([indexMotionNodes, 'call', _108 => _108(frame.document.nodes), 'access', _109 => _109.get, 'call', _110 => _110(id), 'optionalAccess', _111 => _111.node]));
2455
2455
  if (!now || now.type !== "path") return "";
2456
- const bezier = _chunkBJTCSLF6cjs.transformBezierPath.call(void 0, _chunkF7GGEAO2cjs.vectorPathWorldBezier.call(void 0, now, _chunkF7GGEAO2cjs.IDENTITY_MATRIX, { effects: false }), inverse);
2456
+ const bezier = _chunkBJTCSLF6cjs.transformBezierPath.call(void 0, _chunkZ2H7KECKcjs.vectorPathWorldBezier.call(void 0, now, _chunkZ2H7KECKcjs.IDENTITY_MATRIX, { effects: false }), inverse);
2457
2457
  return _chunkBJTCSLF6cjs.bezierPathToSvg.call(void 0, bezier, { precision: Math.min(precision, 2) });
2458
2458
  }
2459
2459
  });
@@ -2560,7 +2560,7 @@ function toFlairSvgMotion(scene, options = {}) {
2560
2560
  }
2561
2561
  if (scene.motionBlur) notes.push("Motion blur is drawn on the stage only; Flair plays the scene sharp.");
2562
2562
  if (trigger && (_nullishCoalesce(scene.loop, () => ( "none"))) !== "none") notes.push(`The scene plays on ${trigger}, so its loop does not apply in Flair.`);
2563
- let svg = _chunkF7GGEAO2cjs.vectorDocumentToSvg.call(void 0, { ...scene.artwork, nodes: _chunkF7GGEAO2cjs.expandVectorAppearances.call(void 0, scene.artwork.nodes) }, { pretty: false, precision, wrap });
2563
+ let svg = _chunkZ2H7KECKcjs.vectorDocumentToSvg.call(void 0, { ...scene.artwork, nodes: _chunkZ2H7KECKcjs.expandVectorAppearances.call(void 0, scene.artwork.nodes) }, { pretty: false, precision, wrap });
2564
2564
  if (routes.length) svg = svg.replace(/^(<svg[^>]*>)/, `$1<defs>${routes.join("")}</defs>`);
2565
2565
  let motion = { svg, animate };
2566
2566
  if (_optionalChain([scene, 'access', _114 => _114.controls, 'optionalAccess', _115 => _115.length])) {
@@ -2644,14 +2644,14 @@ function easingOf(ease, fallback) {
2644
2644
  return fallback;
2645
2645
  }
2646
2646
  function poseOf(value, entry) {
2647
- const t = _chunkF7GGEAO2cjs.parseSvgTransform.call(void 0, String(value));
2648
- const o = _chunkF7GGEAO2cjs.multiplyMatrices.call(void 0, _nullishCoalesce(_chunkF7GGEAO2cjs.invertMatrix.call(void 0, _chunkF7GGEAO2cjs.nodeMatrix.call(void 0, entry.node)), () => ( [1, 0, 0, 1, 0, 0])), t);
2647
+ const t = _chunkZ2H7KECKcjs.parseSvgTransform.call(void 0, String(value));
2648
+ const o = _chunkZ2H7KECKcjs.multiplyMatrices.call(void 0, _nullishCoalesce(_chunkZ2H7KECKcjs.invertMatrix.call(void 0, _chunkZ2H7KECKcjs.nodeMatrix.call(void 0, entry.node)), () => ( [1, 0, 0, 1, 0, 0])), t);
2649
2649
  const sx = Math.hypot(o[0], o[1]);
2650
2650
  if (!(sx > 1e-9)) return null;
2651
2651
  const sy = (o[0] * o[3] - o[1] * o[2]) / sx;
2652
2652
  if (Math.abs(o[2] + o[1] / sx * sy) > 1e-6 || Math.abs(o[3] - o[0] / sx * sy) > 1e-6) return null;
2653
2653
  const c = entry.center;
2654
- const moved = _chunkF7GGEAO2cjs.applyMatrix.call(void 0, o, c);
2654
+ const moved = _chunkZ2H7KECKcjs.applyMatrix.call(void 0, o, c);
2655
2655
  return { dx: moved.x - c.x, dy: moved.y - c.y, rotation: Math.atan2(o[1], o[0]) * 180 / Math.PI, sx, sy };
2656
2656
  }
2657
2657
  var near = (a, b, eps = 1e-6) => Math.abs(a - b) < eps;
@@ -2736,7 +2736,7 @@ function fromFlairSvgMotion(input, options = {}) {
2736
2736
  const notes = [];
2737
2737
  if (!input || typeof input.svg !== "string") throw new Error('Give a Flair SvgMotion: { svg: "<svg \u2026>", animate: [ \u2026 ] }.');
2738
2738
  const { motion, controls } = resolvePlaceholders(input, notes);
2739
- const artwork = _chunkF7GGEAO2cjs.parseVectorSvg.call(void 0, motion.svg);
2739
+ const artwork = _chunkZ2H7KECKcjs.parseVectorSvg.call(void 0, motion.svg);
2740
2740
  const nodes = indexMotionNodes(artwork.nodes);
2741
2741
  const byStep = /* @__PURE__ */ new Map();
2742
2742
  for (const anim of _nullishCoalesce(motion.animate, () => ( []))) {
@@ -2983,9 +2983,9 @@ function toLottie(scene, options = {}) {
2983
2983
  const items = [];
2984
2984
  const shapeSegments = [...timeline.tracks.entries()].filter(([k]) => k.startsWith(`${path.id}\0`) && (k.endsWith("\0shape") || k.includes("\0effect:"))).flatMap(([, v]) => v);
2985
2985
  const geometryAt = (t) => {
2986
- if (!shapeSegments.length) return _chunkF7GGEAO2cjs.vectorPathWorldBezier.call(void 0, path);
2986
+ if (!shapeSegments.length) return _chunkZ2H7KECKcjs.vectorPathWorldBezier.call(void 0, path);
2987
2987
  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]);
2988
- return now && now.type === "path" ? _chunkF7GGEAO2cjs.vectorPathWorldBezier.call(void 0, _chunkF7GGEAO2cjs.expandVectorAppearances.call(void 0, [now])[0]) : _chunkF7GGEAO2cjs.vectorPathWorldBezier.call(void 0, path);
2988
+ return now && now.type === "path" ? _chunkZ2H7KECKcjs.vectorPathWorldBezier.call(void 0, _chunkZ2H7KECKcjs.expandVectorAppearances.call(void 0, [now])[0]) : _chunkZ2H7KECKcjs.vectorPathWorldBezier.call(void 0, path);
2989
2989
  };
2990
2990
  const rest = lottieContours(_chunkBJTCSLF6cjs.toBezierPath.call(void 0, geometryAt(0)), round2);
2991
2991
  rest.forEach((contour, n) => {
@@ -3058,13 +3058,13 @@ function toLottie(scene, options = {}) {
3058
3058
  const innerTr = STATIC_TR();
3059
3059
  if (node.type === "path") inner = [...pathShapes(node)];
3060
3060
  else if (node.type === "text" || node.type === "instance") {
3061
- const drawn = _chunkF7GGEAO2cjs.expandVectorAppearance.call(void 0, node);
3061
+ const drawn = _chunkZ2H7KECKcjs.expandVectorAppearance.call(void 0, node);
3062
3062
  inner = drawn.type === "path" ? [...pathShapes(drawn)] : drawn.children.filter((c) => c.type === "path").reverse().flatMap((c) => [...pathShapes(c)]);
3063
- notes.push(`"${node.id}": text is exported as its outlines${_chunkF7GGEAO2cjs.vectorTextHasOutlines.call(void 0, ) ? "" : " (glyph boxes: set an outline text shaper for real glyphs)"}.`);
3063
+ notes.push(`"${node.id}": text is exported as its outlines${_chunkZ2H7KECKcjs.vectorTextHasOutlines.call(void 0, ) ? "" : " (glyph boxes: set an outline text shaper for real glyphs)"}.`);
3064
3064
  } else {
3065
3065
  inner = shown(node.children).reverse().map(nodeGroup);
3066
- const m = _chunkF7GGEAO2cjs.nodeMatrix.call(void 0, node);
3067
- if (m !== _chunkF7GGEAO2cjs.IDENTITY_MATRIX) {
3066
+ const m = _chunkZ2H7KECKcjs.nodeMatrix.call(void 0, node);
3067
+ if (m !== _chunkZ2H7KECKcjs.IDENTITY_MATRIX) {
3068
3068
  const parts = staticParts(m);
3069
3069
  if (!parts) notes.push(`"${node.id}": its transform skews, which is not exported; it is drawn without the skew.`);
3070
3070
  else {
@@ -3077,7 +3077,7 @@ function toLottie(scene, options = {}) {
3077
3077
  const body = { ty: "gr", nm: `${node.id} (own)`, it: [...inner, innerTr] };
3078
3078
  return { ty: "gr", nm: _nullishCoalesce(node.name, () => ( node.id)), it: [body, poseTransform(entry)] };
3079
3079
  };
3080
- const artwork = { ...scene.artwork, nodes: _chunkF7GGEAO2cjs.expandVectorAppearances.call(void 0, scene.artwork.nodes) };
3080
+ const artwork = { ...scene.artwork, nodes: _chunkZ2H7KECKcjs.expandVectorAppearances.call(void 0, scene.artwork.nodes) };
3081
3081
  const content = shown(artwork.nodes).reverse().map(nodeGroup);
3082
3082
  if (artwork.background && rgba(artwork.background))
3083
3083
  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()] });
@@ -3176,11 +3176,11 @@ function preset(prst, w, h) {
3176
3176
  const poly = (pts) => [{ closed: true, anchors: pts.map(([x, y]) => ({ x, y })) }];
3177
3177
  switch (prst) {
3178
3178
  case "rect":
3179
- return [_chunkF7GGEAO2cjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
3179
+ return [_chunkZ2H7KECKcjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
3180
3180
  case "roundRect":
3181
- return [_chunkF7GGEAO2cjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h }, Math.min(w, h) * 0.16667)];
3181
+ return [_chunkZ2H7KECKcjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h }, Math.min(w, h) * 0.16667)];
3182
3182
  case "ellipse":
3183
- return [_chunkF7GGEAO2cjs.ellipseSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
3183
+ return [_chunkZ2H7KECKcjs.ellipseSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
3184
3184
  case "triangle":
3185
3185
  return poly([[w / 2, 0], [w, h], [0, h]]);
3186
3186
  case "rtTriangle":
@@ -3288,7 +3288,7 @@ function shapes(ctx, tree, map) {
3288
3288
  let subpaths = cust ? custom(cust, w, h) : prst ? preset(prst, w, h) : null;
3289
3289
  if (!subpaths) {
3290
3290
  if (prst) ctx.notes.push(`"${name}" is a ${prst}, drawn as its bounding rectangle.`);
3291
- subpaths = [_chunkF7GGEAO2cjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
3291
+ subpaths = [_chunkZ2H7KECKcjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
3292
3292
  }
3293
3293
  const style = kid(el, "style");
3294
3294
  const fill = kid(spPr, "noFill") ? null : _nullishCoalesce(colour(ctx, kid(spPr, "solidFill")), () => ( (el.localName === "cxnSp" ? null : colour(ctx, kid(style, "fillRef")))));
@@ -3526,7 +3526,7 @@ function nextMotionEffectInstance(scene) {
3526
3526
  walk(scene.artwork.nodes);
3527
3527
  for (let i = 1; ; i++) if (!used.has(`fx${i}`)) return `fx${i}`;
3528
3528
  }
3529
- var motionArtworkSvg = (artwork) => _chunkF7GGEAO2cjs.vectorDocumentToSvg.call(void 0, artwork);
3529
+ var motionArtworkSvg = (artwork) => _chunkZ2H7KECKcjs.vectorDocumentToSvg.call(void 0, artwork);
3530
3530
  var tag = (commands, source) => commands.map((c) => c.type === "wait" ? c : { ...c, source });
3531
3531
  function motionCommandsFromEffect(artwork, motion, source) {
3532
3532
  const imported = fromFlairSvgMotion({ svg: motionArtworkSvg(artwork), animate: [..._nullishCoalesce(motion.animate, () => ( []))] });
@@ -4511,7 +4511,7 @@ function createAnimationEditorToolProvider(controller, options = {}) {
4511
4511
  handler: ({ svg }) => {
4512
4512
  let artwork;
4513
4513
  try {
4514
- artwork = _chunkF7GGEAO2cjs.parseVectorSvg.call(void 0, svg);
4514
+ artwork = _chunkZ2H7KECKcjs.parseVectorSvg.call(void 0, svg);
4515
4515
  } catch (error) {
4516
4516
  throw new Error(`The SVG could not be read: ${error.message}. Nothing was changed.`);
4517
4517
  }
@@ -1,9 +1,9 @@
1
- import { a6 as MotionCommand, a7 as MotionShot, a8 as MotionScene, L as VectorNode, O as VectorBounds, a9 as MotionDirection, aa as MotionIrisShape, ab as MotionSplitOrientation, ac as MotionDriver, ad as MotionDrivenProperty, ae as MotionRect, af as MotionBeatGrid, ag as MotionCue, ah as MotionCamera, ai as MotionTextUnit, aj as MotionCascade, a4 as VectorDocument, ak as MotionBlur, al as MotionControl, am as MotionPreset, an as MotionClip, ao as FlairSvgMotion, ap as FlairVectorEffect, e as EffectValue, t as EffectVectorMotion, aq as MotionEffectSource, N as VectorGroupNode, v as EffectsSlot, E as EffectProvider, ar as FlairExportOptions, as as FlairMotionExport, at as FlairEffectOptions, au as FlairEffectDocument, av as MotionEnterStyle, aw as MotionExitStyle, ax as MotionCommandType, ay as MotionNarration } from '../helpers-BuKdqUlM.cjs';
2
- export { az as FLAIR_EASES, aA as FLAIR_EXPORT_VERSION, aB as FlairEase, aC as FlairEaseName, aD as FlairSpringEase, aE as FlairSvgAnimation, aF as MOTION_BLENDS, aG as MOTION_CAMERA_MS, aH as MOTION_CASCADES, aI as MOTION_CLIP_TARGET, aJ as MOTION_COMMAND_TYPES, aK as MOTION_DEFAULT_DURATIONS, aL as MOTION_DEFAULT_HOLD, aM as MOTION_DIRECTIONS, aN as MOTION_DRAW_MS_PER_UNIT, aO as MOTION_DRAW_RANGE, aP as MOTION_DRIVEN_PROPERTIES, aQ as MOTION_ENTER_STYLES, aR as MOTION_EXIT_STYLES, aS as MOTION_IRIS_SHAPES, aT as MOTION_REPEAT_MODES, aU as MOTION_SPLIT_ORIENTATIONS, aV as MOTION_TEXT_UNITS, aW as MOTION_TRIGGERS, aX as MotionColorPulseCommand, aY as MotionCommandBase, aZ as MotionDrawCommand, a_ as MotionDrawOrder, a$ as MotionEffectCommand, b0 as MotionEnterCommand, b1 as MotionExitCommand, b2 as MotionFadeCommand, b3 as MotionFollowCommand, b4 as MotionMatchCommand, b5 as MotionMorphCommand, b6 as MotionMoveCommand, b7 as MotionPlayCommand, b8 as MotionPulseCommand, b9 as MotionRotateCommand, ba as MotionScaleCommand, bb as MotionShakeCommand, bc as MotionStyleCommand, bd as MotionTeeterCommand, be as MotionTrigger, bf as MotionWaitCommand, bg as MotionWaveCommand, bh as MotionWiggleCommand, bi as flairAtLeast, bj as flairCurveFor, bk as flairEaseFor, bl as motionFlairPrimitive, bm as toFlairEffectDocument, bn as toFlairSvgMotion, bo as toFlairVectorEffect } from '../helpers-BuKdqUlM.cjs';
1
+ import { a6 as MotionCommand, a7 as MotionShot, a8 as MotionScene, L as VectorNode, O as VectorBounds, a9 as MotionDirection, aa as MotionIrisShape, ab as MotionSplitOrientation, ac as MotionDriver, ad as MotionDrivenProperty, ae as MotionRect, af as MotionBeatGrid, ag as MotionCue, ah as MotionCamera, ai as MotionTextUnit, aj as MotionCascade, a4 as VectorDocument, ak as MotionBlur, al as MotionControl, am as MotionPreset, an as MotionClip, ao as FlairSvgMotion, ap as FlairVectorEffect, e as EffectValue, t as EffectVectorMotion, aq as MotionEffectSource, N as VectorGroupNode, v as EffectsSlot, E as EffectProvider, ar as FlairExportOptions, as as FlairMotionExport, at as FlairEffectOptions, au as FlairEffectDocument, av as MotionEnterStyle, aw as MotionExitStyle, ax as MotionCommandType, ay as MotionNarration } from '../helpers-DHl28yLO.cjs';
2
+ export { az as FLAIR_EASES, aA as FLAIR_EXPORT_VERSION, aB as FlairEase, aC as FlairEaseName, aD as FlairSpringEase, aE as FlairSvgAnimation, aF as MOTION_BLENDS, aG as MOTION_CAMERA_MS, aH as MOTION_CASCADES, aI as MOTION_CLIP_TARGET, aJ as MOTION_COMMAND_TYPES, aK as MOTION_DEFAULT_DURATIONS, aL as MOTION_DEFAULT_HOLD, aM as MOTION_DIRECTIONS, aN as MOTION_DRAW_MS_PER_UNIT, aO as MOTION_DRAW_RANGE, aP as MOTION_DRIVEN_PROPERTIES, aQ as MOTION_ENTER_STYLES, aR as MOTION_EXIT_STYLES, aS as MOTION_IRIS_SHAPES, aT as MOTION_REPEAT_MODES, aU as MOTION_SPLIT_ORIENTATIONS, aV as MOTION_TEXT_UNITS, aW as MOTION_TRIGGERS, aX as MotionColorPulseCommand, aY as MotionCommandBase, aZ as MotionDrawCommand, a_ as MotionDrawOrder, a$ as MotionEffectCommand, b0 as MotionEnterCommand, b1 as MotionExitCommand, b2 as MotionFadeCommand, b3 as MotionFollowCommand, b4 as MotionMatchCommand, b5 as MotionMorphCommand, b6 as MotionMoveCommand, b7 as MotionPlayCommand, b8 as MotionPulseCommand, b9 as MotionRotateCommand, ba as MotionScaleCommand, bb as MotionShakeCommand, bc as MotionStyleCommand, bd as MotionTeeterCommand, be as MotionTrigger, bf as MotionWaitCommand, bg as MotionWaveCommand, bh as MotionWiggleCommand, bi as flairAtLeast, bj as flairCurveFor, bk as flairEaseFor, bl as motionFlairPrimitive, bm as toFlairEffectDocument, bn as toFlairSvgMotion, bo as toFlairVectorEffect } from '../helpers-DHl28yLO.cjs';
3
3
  import { f as MotionBehavior, b as AnimationLoopMode } from '../evaluate-BsxYieLN.cjs';
4
4
  import { b as AnimationEasing } from '../easing-lM0Xo9Ni.cjs';
5
- import { A as AffineMatrix, B as BezierPath } from '../bezier-DL2wPsFf.cjs';
6
- import { V as VectorSvgExportOptions } from '../svg-BThlZmja.cjs';
5
+ import { A as AffineMatrix, B as BezierPath } from '../bezier-J8i4uqSH.cjs';
6
+ import { V as VectorSvgExportOptions } from '../svg-pwXWq6s2.cjs';
7
7
  import { Z as ZipReadOptions } from '../zip-4nG0YAH7.cjs';
8
8
  import { A as AnimationPlayer, C as Clock } from '../player-CmbY3218.cjs';
9
9
  import { H as HistoryManager } from '../HistoryManager-DeQQMBCj.cjs';
@@ -1,9 +1,9 @@
1
- import { a6 as MotionCommand, a7 as MotionShot, a8 as MotionScene, L as VectorNode, O as VectorBounds, a9 as MotionDirection, aa as MotionIrisShape, ab as MotionSplitOrientation, ac as MotionDriver, ad as MotionDrivenProperty, ae as MotionRect, af as MotionBeatGrid, ag as MotionCue, ah as MotionCamera, ai as MotionTextUnit, aj as MotionCascade, a4 as VectorDocument, ak as MotionBlur, al as MotionControl, am as MotionPreset, an as MotionClip, ao as FlairSvgMotion, ap as FlairVectorEffect, e as EffectValue, t as EffectVectorMotion, aq as MotionEffectSource, N as VectorGroupNode, v as EffectsSlot, E as EffectProvider, ar as FlairExportOptions, as as FlairMotionExport, at as FlairEffectOptions, au as FlairEffectDocument, av as MotionEnterStyle, aw as MotionExitStyle, ax as MotionCommandType, ay as MotionNarration } from '../helpers-cssRNUzH.js';
2
- export { az as FLAIR_EASES, aA as FLAIR_EXPORT_VERSION, aB as FlairEase, aC as FlairEaseName, aD as FlairSpringEase, aE as FlairSvgAnimation, aF as MOTION_BLENDS, aG as MOTION_CAMERA_MS, aH as MOTION_CASCADES, aI as MOTION_CLIP_TARGET, aJ as MOTION_COMMAND_TYPES, aK as MOTION_DEFAULT_DURATIONS, aL as MOTION_DEFAULT_HOLD, aM as MOTION_DIRECTIONS, aN as MOTION_DRAW_MS_PER_UNIT, aO as MOTION_DRAW_RANGE, aP as MOTION_DRIVEN_PROPERTIES, aQ as MOTION_ENTER_STYLES, aR as MOTION_EXIT_STYLES, aS as MOTION_IRIS_SHAPES, aT as MOTION_REPEAT_MODES, aU as MOTION_SPLIT_ORIENTATIONS, aV as MOTION_TEXT_UNITS, aW as MOTION_TRIGGERS, aX as MotionColorPulseCommand, aY as MotionCommandBase, aZ as MotionDrawCommand, a_ as MotionDrawOrder, a$ as MotionEffectCommand, b0 as MotionEnterCommand, b1 as MotionExitCommand, b2 as MotionFadeCommand, b3 as MotionFollowCommand, b4 as MotionMatchCommand, b5 as MotionMorphCommand, b6 as MotionMoveCommand, b7 as MotionPlayCommand, b8 as MotionPulseCommand, b9 as MotionRotateCommand, ba as MotionScaleCommand, bb as MotionShakeCommand, bc as MotionStyleCommand, bd as MotionTeeterCommand, be as MotionTrigger, bf as MotionWaitCommand, bg as MotionWaveCommand, bh as MotionWiggleCommand, bi as flairAtLeast, bj as flairCurveFor, bk as flairEaseFor, bl as motionFlairPrimitive, bm as toFlairEffectDocument, bn as toFlairSvgMotion, bo as toFlairVectorEffect } from '../helpers-cssRNUzH.js';
1
+ import { a6 as MotionCommand, a7 as MotionShot, a8 as MotionScene, L as VectorNode, O as VectorBounds, a9 as MotionDirection, aa as MotionIrisShape, ab as MotionSplitOrientation, ac as MotionDriver, ad as MotionDrivenProperty, ae as MotionRect, af as MotionBeatGrid, ag as MotionCue, ah as MotionCamera, ai as MotionTextUnit, aj as MotionCascade, a4 as VectorDocument, ak as MotionBlur, al as MotionControl, am as MotionPreset, an as MotionClip, ao as FlairSvgMotion, ap as FlairVectorEffect, e as EffectValue, t as EffectVectorMotion, aq as MotionEffectSource, N as VectorGroupNode, v as EffectsSlot, E as EffectProvider, ar as FlairExportOptions, as as FlairMotionExport, at as FlairEffectOptions, au as FlairEffectDocument, av as MotionEnterStyle, aw as MotionExitStyle, ax as MotionCommandType, ay as MotionNarration } from '../helpers-Coa4e2j_.js';
2
+ export { az as FLAIR_EASES, aA as FLAIR_EXPORT_VERSION, aB as FlairEase, aC as FlairEaseName, aD as FlairSpringEase, aE as FlairSvgAnimation, aF as MOTION_BLENDS, aG as MOTION_CAMERA_MS, aH as MOTION_CASCADES, aI as MOTION_CLIP_TARGET, aJ as MOTION_COMMAND_TYPES, aK as MOTION_DEFAULT_DURATIONS, aL as MOTION_DEFAULT_HOLD, aM as MOTION_DIRECTIONS, aN as MOTION_DRAW_MS_PER_UNIT, aO as MOTION_DRAW_RANGE, aP as MOTION_DRIVEN_PROPERTIES, aQ as MOTION_ENTER_STYLES, aR as MOTION_EXIT_STYLES, aS as MOTION_IRIS_SHAPES, aT as MOTION_REPEAT_MODES, aU as MOTION_SPLIT_ORIENTATIONS, aV as MOTION_TEXT_UNITS, aW as MOTION_TRIGGERS, aX as MotionColorPulseCommand, aY as MotionCommandBase, aZ as MotionDrawCommand, a_ as MotionDrawOrder, a$ as MotionEffectCommand, b0 as MotionEnterCommand, b1 as MotionExitCommand, b2 as MotionFadeCommand, b3 as MotionFollowCommand, b4 as MotionMatchCommand, b5 as MotionMorphCommand, b6 as MotionMoveCommand, b7 as MotionPlayCommand, b8 as MotionPulseCommand, b9 as MotionRotateCommand, ba as MotionScaleCommand, bb as MotionShakeCommand, bc as MotionStyleCommand, bd as MotionTeeterCommand, be as MotionTrigger, bf as MotionWaitCommand, bg as MotionWaveCommand, bh as MotionWiggleCommand, bi as flairAtLeast, bj as flairCurveFor, bk as flairEaseFor, bl as motionFlairPrimitive, bm as toFlairEffectDocument, bn as toFlairSvgMotion, bo as toFlairVectorEffect } from '../helpers-Coa4e2j_.js';
3
3
  import { f as MotionBehavior, b as AnimationLoopMode } from '../evaluate-BbCeF6pt.js';
4
4
  import { b as AnimationEasing } from '../easing-lM0Xo9Ni.js';
5
- import { A as AffineMatrix, B as BezierPath } from '../bezier-BAGdL89w.js';
6
- import { V as VectorSvgExportOptions } from '../svg-CEYpvsgH.js';
5
+ import { A as AffineMatrix, B as BezierPath } from '../bezier-lNEOp0Jx.js';
6
+ import { V as VectorSvgExportOptions } from '../svg-CxxqG3_W.js';
7
7
  import { Z as ZipReadOptions } from '../zip-4nG0YAH7.js';
8
8
  import { A as AnimationPlayer, C as Clock } from '../player-BK2kKbfd.js';
9
9
  import { H as HistoryManager } from '../HistoryManager-DWSLd6Tf.js';
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createVectorMorph
3
- } from "../chunk-VGZSIXX3.js";
3
+ } from "../chunk-7RJ6P7MI.js";
4
4
  import {
5
5
  MOTION_ISSUE_CODES,
6
6
  motionIssue,
@@ -31,7 +31,7 @@ import {
31
31
  vectorNodeBounds,
32
32
  vectorPathWorldBezier,
33
33
  vectorTextHasOutlines
34
- } from "../chunk-FOBB6AIO.js";
34
+ } from "../chunk-HHTCDFZC.js";
35
35
  import {
36
36
  bezierPathLength,
37
37
  bezierPathPointAtLength,
@@ -1,5 +1,5 @@
1
1
  import { P as Point, e as CanvasBrushstroke } from './brushTypes-C7N3EBK7.cjs';
2
- import { C as CanvasGradientDef, S as SvgGradientDef } from './helpers-BuKdqUlM.cjs';
2
+ import { C as CanvasGradientDef, S as SvgGradientDef } from './helpers-DHl28yLO.cjs';
3
3
 
4
4
  /**
5
5
  * Polygon boolean operations (union, intersection, difference, xor and divide) on
@@ -1,5 +1,5 @@
1
1
  import { P as Point, e as CanvasBrushstroke } from './brushTypes-C7N3EBK7.js';
2
- import { C as CanvasGradientDef, S as SvgGradientDef } from './helpers-cssRNUzH.js';
2
+ import { C as CanvasGradientDef, S as SvgGradientDef } from './helpers-Coa4e2j_.js';
3
3
 
4
4
  /**
5
5
  * Polygon boolean operations (union, intersection, difference, xor and divide) on
@@ -5,23 +5,23 @@ export { a as AnimationPlayerOptions, M as ManualClock, c as createAnimationPlay
5
5
  import { b as CanvasNodeUpdate, N as NodeRectOptions, A as AlignEdge, c as AlignNodesOptions, D as DistributeAxis, a as DistributeMode, d as DistributeNodesOptions, S as SizeDimension, M as MatchSizeOptions, Z as ZOrderOperation, C as CanvasArrangeAction } from '../arrange-CKXK_hf7.cjs';
6
6
  export { e as ArrangeShortcutBinding, f as DEFAULT_ARRANGE_SHORTCUTS, L as LOCKED_DATA_KEY, g as LOCKED_PREVIOUS_FLAGS_KEY, h as alignNodes, i as applyNodeUpdates, j as createNodeLookup, k as distributeNodes, l as getAbsolutePosition, m as getNodeRect, n as getNodeSize, o as invertNodeUpdates, p as isLocked, q as lockNodes, r as matchArrangeShortcut, s as matchSize, t as readStyleSize, u as reorderNodes, v as toggleLockNodes, w as unlockNodes, x as withStyleSize } from '../arrange-CKXK_hf7.cjs';
7
7
  import { C as Command, M as MergedExecutionOptions } from '../types-DsiXGmjo.cjs';
8
- import { S as ShapeDescription, B as BezierPath, b as PolygonFillRule, e as PolygonRing, f as ShapeSize, a as BezierPathInput, g as PathShape, C as CanvasShapeEffect } from '../bezier-DL2wPsFf.cjs';
9
- export { A as AffineMatrix, h as BezierCommand, d as BezierContour, i as BezierPathToSvgOptions, c as BezierSegment, E as EllipseShape, F as FlattenOptions, G as GetShapeRenderDataOptions, M as MultiPolygon, j as PathCommand, k as PathPointAtLength, P as PolygonBooleanOperation, l as PolygonBooleanOptions, m as PolygonInput, n as PolygonOperand, o as PolygonPiece, p as PolygonToPathOptions, q as PolygonWithHoles, R as RectShape, r as RegularPolygonShape, s as SHAPE_KINDS, t as ShapeKind, u as ShapePaint, v as ShapeRenderData, w as StarShape, x as arcToCubics, y as bezierPathBounds, z as bezierPathLength, D as bezierPathPointAtLength, H as bezierPathSignedArea, I as bezierPathToSvg, J as closeContour, K as contourSignedArea, L as contoursToPath, N as countPathSegments, O as distanceToBezierPath, Q as dividePolygons, T as flattenSvgPath, U as formatNumber, V as getShapeRenderData, W as getShapeSvg, X as intersectPolygons, Y as isShapeDescription, Z as multiPolygonArea, _ as multiPolygonBounds, $ as parseSvgPath, a0 as pathToContours, a1 as pointInBezierPath, a2 as pointInMultiPolygon, a3 as pointInRings, a4 as polygonArea, a5 as polygonBoolean, a6 as polygonToSvgPath, a7 as ringSignedArea, a8 as segmentBounds, a9 as segmentCurvature, aa as segmentDerivative, ab as segmentExtrema, ac as segmentLength, ad as segmentNearest, ae as segmentParamAtLength, af as segmentPoint, ag as segmentTangent, ah as shapeToPolygon, ai as simplifyRing, aj as splitSegment, ak as subSegment, al as subtractPolygons, am as toBezierPath, an as transformBezierPath, ao as trimSegments, ap as unionPolygons, aq as windingNumber, ar as xorPolygons } from '../bezier-DL2wPsFf.cjs';
10
- import { S as StrokeJoin, a as StrokeCap } from '../pathfinder-8vXik95z.cjs';
11
- export { D as DashedPath, d as DividePathsResult, O as OffsetPathOptions, e as OutlineStrokeOptions, f as PATHFINDER_OPERATIONS, g as PathBooleanOperation, h as PathBooleanResult, i as PathOperand, j as PathOperandInput, k as PathOpsError, l as PathOpsOptions, m as PathOpsReport, n as PathPiece, o as PathSelectResult, b as PathfinderOperation, p as PathfinderPiece, q as PathfinderResult, c as PathfinderShape, r as PlanarChain, s as PlanarFace, t as PlanarInput, P as PlanarMap, u as PlanarMapOptions, v as PlanarSplitEdge, w as PlanarSplitResult, x as SegmentIntersection, y as bezierPathArea, z as contourEnclosesArea, A as cutOutPiece, B as dashContours, C as dividePaths, E as excludePaths, F as interiorPoint, G as intersectPaths, H as normalizeBezierPath, I as offsetPath, J as outlineStroke, K as pathBoolean, L as pathBooleanSelect, M as pathfinder, N as planarSplit, Q as segmentIntersections, R as strokeOutlineRings, T as subtractPaths, U as unitePaths } from '../pathfinder-8vXik95z.cjs';
8
+ import { S as ShapeDescription, B as BezierPath, b as PolygonFillRule, e as PolygonRing, f as ShapeSize, a as BezierPathInput, g as PathShape, C as CanvasShapeEffect } from '../bezier-J8i4uqSH.cjs';
9
+ export { A as AffineMatrix, h as BezierCommand, d as BezierContour, i as BezierPathToSvgOptions, c as BezierSegment, E as EllipseShape, F as FlattenOptions, G as GetShapeRenderDataOptions, M as MultiPolygon, j as PathCommand, k as PathPointAtLength, P as PolygonBooleanOperation, l as PolygonBooleanOptions, m as PolygonInput, n as PolygonOperand, o as PolygonPiece, p as PolygonToPathOptions, q as PolygonWithHoles, R as RectShape, r as RegularPolygonShape, s as SHAPE_KINDS, t as ShapeKind, u as ShapePaint, v as ShapeRenderData, w as StarShape, x as arcToCubics, y as bezierPathBounds, z as bezierPathLength, D as bezierPathPointAtLength, H as bezierPathSignedArea, I as bezierPathToSvg, J as closeContour, K as contourSignedArea, L as contoursToPath, N as countPathSegments, O as distanceToBezierPath, Q as dividePolygons, T as flattenSvgPath, U as formatNumber, V as getShapeRenderData, W as getShapeSvg, X as intersectPolygons, Y as isShapeDescription, Z as multiPolygonArea, _ as multiPolygonBounds, $ as parseSvgPath, a0 as pathToContours, a1 as pointInBezierPath, a2 as pointInMultiPolygon, a3 as pointInRings, a4 as polygonArea, a5 as polygonBoolean, a6 as polygonToSvgPath, a7 as ringSignedArea, a8 as segmentBounds, a9 as segmentCurvature, aa as segmentDerivative, ab as segmentExtrema, ac as segmentLength, ad as segmentNearest, ae as segmentParamAtLength, af as segmentPoint, ag as segmentTangent, ah as shapeToPolygon, ai as simplifyRing, aj as splitSegment, ak as subSegment, al as subtractPolygons, am as toBezierPath, an as transformBezierPath, ao as trimSegments, ap as unionPolygons, aq as windingNumber, ar as xorPolygons } from '../bezier-J8i4uqSH.cjs';
10
+ import { S as StrokeJoin, a as StrokeCap } from '../pathfinder-D8KQ6blQ.cjs';
11
+ export { D as DashedPath, d as DividePathsResult, O as OffsetPathOptions, e as OutlineStrokeOptions, f as PATHFINDER_OPERATIONS, g as PathBooleanOperation, h as PathBooleanResult, i as PathOperand, j as PathOperandInput, k as PathOpsError, l as PathOpsOptions, m as PathOpsReport, n as PathPiece, o as PathSelectResult, b as PathfinderOperation, p as PathfinderPiece, q as PathfinderResult, c as PathfinderShape, r as PlanarChain, s as PlanarFace, t as PlanarInput, P as PlanarMap, u as PlanarMapOptions, v as PlanarSplitEdge, w as PlanarSplitResult, x as SegmentIntersection, y as bezierPathArea, z as contourEnclosesArea, A as cutOutPiece, B as dashContours, C as dividePaths, E as excludePaths, F as interiorPoint, G as intersectPaths, H as normalizeBezierPath, I as offsetPath, J as outlineStroke, K as pathBoolean, L as pathBooleanSelect, M as pathfinder, N as planarSplit, Q as segmentIntersections, R as strokeOutlineRings, T as subtractPaths, U as unitePaths } from '../pathfinder-D8KQ6blQ.cjs';
12
12
  import { d as TokenModeContext, r as TokenType, o as TokenScope, f as TokenLiteral, c as TokenVariable, e as TokenResolution, T as TokenState } from '../model-C1zApQM8.cjs';
13
13
  import { b as AnimationEasing } from '../easing-lM0Xo9Ni.cjs';
14
14
  export { A as ANIMATION_EASING_LABELS, a as ANIMATION_EASING_PRESETS, c as AnimationEasingPreset, C as CUBIC_BEZIER_PRESETS, d as CubicBezierEasing, E as ElasticEasing, S as SPRING_PRESETS, e as SpringEasing, f as cubicBezierAt, g as easingFromInfluence, h as easingLabel, i as easingToCss, j as elasticAt, k as evaluateEasing, l as isAnimationEasing, p as parseCssEasing, r as resolveEasing, m as reverseCubicBezier, s as springAt, n as springSettleMs } from '../easing-lM0Xo9Ni.cjs';
15
15
  export { O as OklabColor, f as formatOklab, m as mixColorsOklab, o as oklabToRgb, p as parseOklab, r as rgbToOklab } from '../color-E9pwm--w.cjs';
16
16
  import { e as AnimationValueType, d as AnimationValue, c as AnimationTrack, b as AnimationLoopMode } from '../evaluate-BsxYieLN.cjs';
17
17
  export { A as ANIMATION_TIME_EPSILON, a as AnimationKeyframe, h as evaluateTrack, j as interpolateAnimationValue, k as isAnimationKeyframe, n as normalizeKeyframes, w as wrapAnimationTime } from '../evaluate-BsxYieLN.cjs';
18
- import { C as CanvasGradientDef, E as EffectProvider, v as EffectsSlot, e as EffectValue, b as EffectPixels } from '../helpers-BuKdqUlM.cjs';
19
- export { cS as CANVAS_GRADIENT_PRESETS, cT as CanvasLinearGradient, cU as CanvasRadialGradient, cV as GradientStop, cW as PIXERATE_BRAND_GRADIENT, S as SvgGradientDef, cX as SvgGradientStop, cY as angleToSvgLinearCoords, cZ as gradientToSvgDef, c_ as isCanvasGradient, c$ as parseCssGradient, d0 as resolveCanvasGradient } from '../helpers-BuKdqUlM.cjs';
18
+ import { C as CanvasGradientDef, E as EffectProvider, v as EffectsSlot, e as EffectValue, b as EffectPixels } from '../helpers-DHl28yLO.cjs';
19
+ export { cS as CANVAS_GRADIENT_PRESETS, cT as CanvasLinearGradient, cU as CanvasRadialGradient, cV as GradientStop, cW as PIXERATE_BRAND_GRADIENT, S as SvgGradientDef, cX as SvgGradientStop, cY as angleToSvgLinearCoords, cZ as gradientToSvgDef, c_ as isCanvasGradient, c$ as parseCssGradient, d0 as resolveCanvasGradient } from '../helpers-DHl28yLO.cjs';
20
20
  import { P as Point$1, G as GraphNode, D as DiagramFamily, a as DiagramGraph, b as DiagramMeta, c as GraphGroup, d as GraphEdge, E as EdgePattern, A as ArrowHead, M as MermaidDocument, e as EditOp } from '../types-DYkjhzdz.cjs';
21
21
  import { a as CapturedImage, g as CaptureToolProviderOptions, b as CaptureSurface } from '../capture-DFEMFmVt.cjs';
22
22
  import { R as RasterizeElementOptions } from '../dom-capture-GyYuE-zq.cjs';
23
23
  import { a as AgentToolProvider } from '../registry-BqA1AZt0.cjs';
24
- import { E as EffectRendererPool } from '../pool-VAWcYUbs.cjs';
24
+ import { E as EffectRendererPool } from '../pool-BfuxBKTd.cjs';
25
25
  export { b as brushstrokeScaleBucket } from '../brushstroke-scale-B6XAdPSY.cjs';
26
26
  import { n as ChartSpec } from '../types-BRp-6zkY.cjs';
27
27
  import '../schema-Di0CS6Pe.cjs';
@@ -5,23 +5,23 @@ export { a as AnimationPlayerOptions, M as ManualClock, c as createAnimationPlay
5
5
  import { b as CanvasNodeUpdate, N as NodeRectOptions, A as AlignEdge, c as AlignNodesOptions, D as DistributeAxis, a as DistributeMode, d as DistributeNodesOptions, S as SizeDimension, M as MatchSizeOptions, Z as ZOrderOperation, C as CanvasArrangeAction } from '../arrange-BUREmgD9.js';
6
6
  export { e as ArrangeShortcutBinding, f as DEFAULT_ARRANGE_SHORTCUTS, L as LOCKED_DATA_KEY, g as LOCKED_PREVIOUS_FLAGS_KEY, h as alignNodes, i as applyNodeUpdates, j as createNodeLookup, k as distributeNodes, l as getAbsolutePosition, m as getNodeRect, n as getNodeSize, o as invertNodeUpdates, p as isLocked, q as lockNodes, r as matchArrangeShortcut, s as matchSize, t as readStyleSize, u as reorderNodes, v as toggleLockNodes, w as unlockNodes, x as withStyleSize } from '../arrange-BUREmgD9.js';
7
7
  import { C as Command, M as MergedExecutionOptions } from '../types-DsiXGmjo.js';
8
- import { S as ShapeDescription, B as BezierPath, b as PolygonFillRule, e as PolygonRing, f as ShapeSize, a as BezierPathInput, g as PathShape, C as CanvasShapeEffect } from '../bezier-BAGdL89w.js';
9
- export { A as AffineMatrix, h as BezierCommand, d as BezierContour, i as BezierPathToSvgOptions, c as BezierSegment, E as EllipseShape, F as FlattenOptions, G as GetShapeRenderDataOptions, M as MultiPolygon, j as PathCommand, k as PathPointAtLength, P as PolygonBooleanOperation, l as PolygonBooleanOptions, m as PolygonInput, n as PolygonOperand, o as PolygonPiece, p as PolygonToPathOptions, q as PolygonWithHoles, R as RectShape, r as RegularPolygonShape, s as SHAPE_KINDS, t as ShapeKind, u as ShapePaint, v as ShapeRenderData, w as StarShape, x as arcToCubics, y as bezierPathBounds, z as bezierPathLength, D as bezierPathPointAtLength, H as bezierPathSignedArea, I as bezierPathToSvg, J as closeContour, K as contourSignedArea, L as contoursToPath, N as countPathSegments, O as distanceToBezierPath, Q as dividePolygons, T as flattenSvgPath, U as formatNumber, V as getShapeRenderData, W as getShapeSvg, X as intersectPolygons, Y as isShapeDescription, Z as multiPolygonArea, _ as multiPolygonBounds, $ as parseSvgPath, a0 as pathToContours, a1 as pointInBezierPath, a2 as pointInMultiPolygon, a3 as pointInRings, a4 as polygonArea, a5 as polygonBoolean, a6 as polygonToSvgPath, a7 as ringSignedArea, a8 as segmentBounds, a9 as segmentCurvature, aa as segmentDerivative, ab as segmentExtrema, ac as segmentLength, ad as segmentNearest, ae as segmentParamAtLength, af as segmentPoint, ag as segmentTangent, ah as shapeToPolygon, ai as simplifyRing, aj as splitSegment, ak as subSegment, al as subtractPolygons, am as toBezierPath, an as transformBezierPath, ao as trimSegments, ap as unionPolygons, aq as windingNumber, ar as xorPolygons } from '../bezier-BAGdL89w.js';
10
- import { S as StrokeJoin, a as StrokeCap } from '../pathfinder-DKLt4UDG.js';
11
- export { D as DashedPath, d as DividePathsResult, O as OffsetPathOptions, e as OutlineStrokeOptions, f as PATHFINDER_OPERATIONS, g as PathBooleanOperation, h as PathBooleanResult, i as PathOperand, j as PathOperandInput, k as PathOpsError, l as PathOpsOptions, m as PathOpsReport, n as PathPiece, o as PathSelectResult, b as PathfinderOperation, p as PathfinderPiece, q as PathfinderResult, c as PathfinderShape, r as PlanarChain, s as PlanarFace, t as PlanarInput, P as PlanarMap, u as PlanarMapOptions, v as PlanarSplitEdge, w as PlanarSplitResult, x as SegmentIntersection, y as bezierPathArea, z as contourEnclosesArea, A as cutOutPiece, B as dashContours, C as dividePaths, E as excludePaths, F as interiorPoint, G as intersectPaths, H as normalizeBezierPath, I as offsetPath, J as outlineStroke, K as pathBoolean, L as pathBooleanSelect, M as pathfinder, N as planarSplit, Q as segmentIntersections, R as strokeOutlineRings, T as subtractPaths, U as unitePaths } from '../pathfinder-DKLt4UDG.js';
8
+ import { S as ShapeDescription, B as BezierPath, b as PolygonFillRule, e as PolygonRing, f as ShapeSize, a as BezierPathInput, g as PathShape, C as CanvasShapeEffect } from '../bezier-lNEOp0Jx.js';
9
+ export { A as AffineMatrix, h as BezierCommand, d as BezierContour, i as BezierPathToSvgOptions, c as BezierSegment, E as EllipseShape, F as FlattenOptions, G as GetShapeRenderDataOptions, M as MultiPolygon, j as PathCommand, k as PathPointAtLength, P as PolygonBooleanOperation, l as PolygonBooleanOptions, m as PolygonInput, n as PolygonOperand, o as PolygonPiece, p as PolygonToPathOptions, q as PolygonWithHoles, R as RectShape, r as RegularPolygonShape, s as SHAPE_KINDS, t as ShapeKind, u as ShapePaint, v as ShapeRenderData, w as StarShape, x as arcToCubics, y as bezierPathBounds, z as bezierPathLength, D as bezierPathPointAtLength, H as bezierPathSignedArea, I as bezierPathToSvg, J as closeContour, K as contourSignedArea, L as contoursToPath, N as countPathSegments, O as distanceToBezierPath, Q as dividePolygons, T as flattenSvgPath, U as formatNumber, V as getShapeRenderData, W as getShapeSvg, X as intersectPolygons, Y as isShapeDescription, Z as multiPolygonArea, _ as multiPolygonBounds, $ as parseSvgPath, a0 as pathToContours, a1 as pointInBezierPath, a2 as pointInMultiPolygon, a3 as pointInRings, a4 as polygonArea, a5 as polygonBoolean, a6 as polygonToSvgPath, a7 as ringSignedArea, a8 as segmentBounds, a9 as segmentCurvature, aa as segmentDerivative, ab as segmentExtrema, ac as segmentLength, ad as segmentNearest, ae as segmentParamAtLength, af as segmentPoint, ag as segmentTangent, ah as shapeToPolygon, ai as simplifyRing, aj as splitSegment, ak as subSegment, al as subtractPolygons, am as toBezierPath, an as transformBezierPath, ao as trimSegments, ap as unionPolygons, aq as windingNumber, ar as xorPolygons } from '../bezier-lNEOp0Jx.js';
10
+ import { S as StrokeJoin, a as StrokeCap } from '../pathfinder-Celbi3e6.js';
11
+ export { D as DashedPath, d as DividePathsResult, O as OffsetPathOptions, e as OutlineStrokeOptions, f as PATHFINDER_OPERATIONS, g as PathBooleanOperation, h as PathBooleanResult, i as PathOperand, j as PathOperandInput, k as PathOpsError, l as PathOpsOptions, m as PathOpsReport, n as PathPiece, o as PathSelectResult, b as PathfinderOperation, p as PathfinderPiece, q as PathfinderResult, c as PathfinderShape, r as PlanarChain, s as PlanarFace, t as PlanarInput, P as PlanarMap, u as PlanarMapOptions, v as PlanarSplitEdge, w as PlanarSplitResult, x as SegmentIntersection, y as bezierPathArea, z as contourEnclosesArea, A as cutOutPiece, B as dashContours, C as dividePaths, E as excludePaths, F as interiorPoint, G as intersectPaths, H as normalizeBezierPath, I as offsetPath, J as outlineStroke, K as pathBoolean, L as pathBooleanSelect, M as pathfinder, N as planarSplit, Q as segmentIntersections, R as strokeOutlineRings, T as subtractPaths, U as unitePaths } from '../pathfinder-Celbi3e6.js';
12
12
  import { d as TokenModeContext, r as TokenType, o as TokenScope, f as TokenLiteral, c as TokenVariable, e as TokenResolution, T as TokenState } from '../model-C1zApQM8.js';
13
13
  import { b as AnimationEasing } from '../easing-lM0Xo9Ni.js';
14
14
  export { A as ANIMATION_EASING_LABELS, a as ANIMATION_EASING_PRESETS, c as AnimationEasingPreset, C as CUBIC_BEZIER_PRESETS, d as CubicBezierEasing, E as ElasticEasing, S as SPRING_PRESETS, e as SpringEasing, f as cubicBezierAt, g as easingFromInfluence, h as easingLabel, i as easingToCss, j as elasticAt, k as evaluateEasing, l as isAnimationEasing, p as parseCssEasing, r as resolveEasing, m as reverseCubicBezier, s as springAt, n as springSettleMs } from '../easing-lM0Xo9Ni.js';
15
15
  export { O as OklabColor, f as formatOklab, m as mixColorsOklab, o as oklabToRgb, p as parseOklab, r as rgbToOklab } from '../color-E9pwm--w.js';
16
16
  import { e as AnimationValueType, d as AnimationValue, c as AnimationTrack, b as AnimationLoopMode } from '../evaluate-BbCeF6pt.js';
17
17
  export { A as ANIMATION_TIME_EPSILON, a as AnimationKeyframe, h as evaluateTrack, j as interpolateAnimationValue, k as isAnimationKeyframe, n as normalizeKeyframes, w as wrapAnimationTime } from '../evaluate-BbCeF6pt.js';
18
- import { C as CanvasGradientDef, E as EffectProvider, v as EffectsSlot, e as EffectValue, b as EffectPixels } from '../helpers-cssRNUzH.js';
19
- export { cS as CANVAS_GRADIENT_PRESETS, cT as CanvasLinearGradient, cU as CanvasRadialGradient, cV as GradientStop, cW as PIXERATE_BRAND_GRADIENT, S as SvgGradientDef, cX as SvgGradientStop, cY as angleToSvgLinearCoords, cZ as gradientToSvgDef, c_ as isCanvasGradient, c$ as parseCssGradient, d0 as resolveCanvasGradient } from '../helpers-cssRNUzH.js';
18
+ import { C as CanvasGradientDef, E as EffectProvider, v as EffectsSlot, e as EffectValue, b as EffectPixels } from '../helpers-Coa4e2j_.js';
19
+ export { cS as CANVAS_GRADIENT_PRESETS, cT as CanvasLinearGradient, cU as CanvasRadialGradient, cV as GradientStop, cW as PIXERATE_BRAND_GRADIENT, S as SvgGradientDef, cX as SvgGradientStop, cY as angleToSvgLinearCoords, cZ as gradientToSvgDef, c_ as isCanvasGradient, c$ as parseCssGradient, d0 as resolveCanvasGradient } from '../helpers-Coa4e2j_.js';
20
20
  import { P as Point$1, G as GraphNode, D as DiagramFamily, a as DiagramGraph, b as DiagramMeta, c as GraphGroup, d as GraphEdge, E as EdgePattern, A as ArrowHead, M as MermaidDocument, e as EditOp } from '../types-DYkjhzdz.js';
21
21
  import { a as CapturedImage, g as CaptureToolProviderOptions, b as CaptureSurface } from '../capture-wwNGaW05.js';
22
22
  import { R as RasterizeElementOptions } from '../dom-capture-7Wvf6Tyg.js';
23
23
  import { a as AgentToolProvider } from '../registry-D-4fit9C.js';
24
- import { E as EffectRendererPool } from '../pool-C69pkWRz.js';
24
+ import { E as EffectRendererPool } from '../pool-8JZGWHvR.js';
25
25
  export { b as brushstrokeScaleBucket } from '../brushstroke-scale-B6XAdPSY.js';
26
26
  import { n as ChartSpec } from '../types-BRp-6zkY.js';
27
27
  import '../schema-Di0CS6Pe.js';
@@ -18,7 +18,7 @@ import {
18
18
  unionBounds,
19
19
  vectorGradientPoints,
20
20
  widthProfileAt
21
- } from "./chunk-FOBB6AIO.js";
21
+ } from "./chunk-HHTCDFZC.js";
22
22
  import {
23
23
  segmentLength,
24
24
  segmentParamAtLength,
@@ -750,4 +750,4 @@ export {
750
750
  interpolateVectorPaths,
751
751
  evaluateVectorPathKeyframes
752
752
  };
753
- //# sourceMappingURL=chunk-VGZSIXX3.js.map
753
+ //# sourceMappingURL=chunk-7RJ6P7MI.js.map
@@ -123,7 +123,7 @@ import {
123
123
  textRectPath,
124
124
  translateMatrix,
125
125
  warpPresetMesh
126
- } from "./chunk-FOBB6AIO.js";
126
+ } from "./chunk-HHTCDFZC.js";
127
127
  import {
128
128
  bezierPathBounds,
129
129
  outlineStroke,
@@ -11805,4 +11805,4 @@ export {
11805
11805
  smartContentsFile,
11806
11806
  exportPsd
11807
11807
  };
11808
- //# sourceMappingURL=chunk-AOCFL7L7.js.map
11808
+ //# sourceMappingURL=chunk-ESIWZMMK.js.map