@pixerate/editor 0.160.0 → 0.162.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.
- package/dist/agent/index.cjs +36 -35
- package/dist/agent/index.js +7 -6
- package/dist/animation/index.cjs +5 -4
- package/dist/animation/index.js +4 -3
- package/dist/animation-editor/index.cjs +62 -61
- package/dist/animation-editor/index.js +6 -5
- package/dist/canvas/index.cjs +33 -32
- package/dist/canvas/index.js +6 -5
- package/dist/chart/index.cjs +88 -87
- package/dist/chart/index.js +7 -6
- package/dist/{chunk-QMI5HZWA.cjs → chunk-236TKNUR.cjs} +3 -3
- package/dist/{chunk-6UPGM3JB.js → chunk-2TKHLX6H.js} +1 -1
- package/dist/{chunk-3YDQLQH2.cjs → chunk-32MMQYCQ.cjs} +81 -81
- package/dist/{chunk-MHEXLG3M.cjs → chunk-3GJH2MGH.cjs} +37 -37
- package/dist/{chunk-AKDWAWSY.cjs → chunk-3IHNXRUV.cjs} +45 -45
- package/dist/{chunk-VKF3PWKR.cjs → chunk-3OSXHLIT.cjs} +259 -28
- package/dist/{chunk-TVO6W2Q6.cjs → chunk-4NGVHHJB.cjs} +17 -17
- package/dist/chunk-4VU4CP7R.js +769 -0
- package/dist/chunk-6DM3PUQD.cjs +767 -0
- package/dist/{chunk-DBIVICAO.js → chunk-7CKPUUN4.js} +1 -1
- package/dist/{chunk-57JLBGJ5.cjs → chunk-7YBDRJXT.cjs} +8 -8
- package/dist/{chunk-KY3FYKP3.js → chunk-BQWGN5WH.js} +1 -1
- package/dist/{chunk-LEUZ4FRC.cjs → chunk-CIPIESX4.cjs} +3 -3
- package/dist/chunk-CJE5MOIS.js +347 -0
- package/dist/{chunk-5QBRAIVK.js → chunk-CX6JLDFC.js} +3 -3
- package/dist/{chunk-R3QY7PPL.js → chunk-DTSTNRPH.js} +1 -1
- package/dist/{chunk-6LUYFHHN.cjs → chunk-EQ46F75O.cjs} +51 -51
- package/dist/{chunk-UKCJ43YL.cjs → chunk-ES3UEVUT.cjs} +130 -898
- package/dist/{chunk-UM3RPYC5.js → chunk-EVPZ5IKN.js} +1 -1
- package/dist/{chunk-XNQ5EFB4.cjs → chunk-EY22AY6R.cjs} +16 -16
- package/dist/chunk-FKUKJ3XA.cjs +347 -0
- package/dist/{chunk-YABNLNY7.js → chunk-GLMP22FT.js} +3 -3
- package/dist/{chunk-SUF6WRXR.cjs → chunk-GTELFJRE.cjs} +2 -2
- package/dist/{chunk-72BGL3I2.js → chunk-GWV4T5NZ.js} +1 -1
- package/dist/{chunk-AY65VQSU.js → chunk-H3OEM3Q2.js} +1 -1
- package/dist/{chunk-4YWAEV4W.cjs → chunk-HDGBM7EA.cjs} +26 -26
- package/dist/{chunk-H5XX4KHB.js → chunk-HLOKB7WW.js} +5 -3
- package/dist/{chunk-WNAAWLZ5.js → chunk-KGTF55R3.js} +2 -2
- package/dist/{chunk-WPPJH6X4.cjs → chunk-LL3H5XUH.cjs} +6 -4
- package/dist/{chunk-4T44CJ5K.cjs → chunk-NA4UVVJ4.cjs} +15 -15
- package/dist/{chunk-Q6PA362P.js → chunk-NO5QQDHZ.js} +2 -2
- package/dist/{chunk-AA34BA7G.js → chunk-QYZGBVNC.js} +30 -798
- package/dist/chunk-S6X2QRVU.cjs +769 -0
- package/dist/{chunk-SSCL7QQ4.js → chunk-XDCFJEU7.js} +2 -2
- package/dist/{chunk-IQ6KKXOU.js → chunk-YN4AYYBJ.js} +243 -12
- package/dist/chunk-ZGOHKS3X.js +767 -0
- package/dist/color/index.cjs +6 -2
- package/dist/color/index.d.cts +1 -0
- package/dist/color/index.d.ts +1 -0
- package/dist/color/index.js +28 -24
- package/dist/color/suggest.d.cts +12 -0
- package/dist/color/suggest.d.ts +12 -0
- package/dist/effects/index.cjs +44 -771
- package/dist/effects/index.js +34 -761
- package/dist/effects/ui.d.cts +20 -3
- package/dist/effects/ui.d.ts +20 -3
- package/dist/export/index.cjs +6 -5
- package/dist/export/index.js +5 -4
- package/dist/extensions/index.cjs +9 -8
- package/dist/extensions/index.js +8 -7
- package/dist/gradient/index.cjs +28 -26
- package/dist/gradient/index.js +7 -5
- package/dist/image-editor/index.cjs +638 -637
- package/dist/image-editor/index.js +5 -4
- package/dist/index.cjs +15 -14
- package/dist/index.js +9 -8
- package/dist/paint-editor/index.cjs +17 -16
- package/dist/paint-editor/index.js +6 -5
- package/dist/typography/accessibility.d.cts +44 -0
- package/dist/typography/accessibility.d.ts +44 -0
- package/dist/typography/catalog.d.cts +98 -0
- package/dist/typography/catalog.d.ts +98 -0
- package/dist/typography/index.cjs +1099 -0
- package/dist/typography/index.d.cts +16 -0
- package/dist/typography/index.d.ts +16 -0
- package/dist/typography/index.js +1099 -0
- package/dist/typography/metrics.d.cts +31 -0
- package/dist/typography/metrics.d.ts +31 -0
- package/dist/typography/picker.d.cts +132 -0
- package/dist/typography/picker.d.ts +132 -0
- package/dist/typography/registry.d.cts +66 -0
- package/dist/typography/registry.d.ts +66 -0
- package/dist/typography/scale.d.cts +62 -0
- package/dist/typography/scale.d.ts +62 -0
- package/dist/typography/segment.d.cts +26 -0
- package/dist/typography/segment.d.ts +26 -0
- package/dist/typography/stack.d.cts +26 -0
- package/dist/typography/stack.d.ts +26 -0
- package/dist/typography/tools.d.cts +34 -0
- package/dist/typography/tools.d.ts +34 -0
- package/dist/typography/types.d.cts +96 -0
- package/dist/typography/types.d.ts +96 -0
- package/dist/typography/weight.d.cts +13 -0
- package/dist/typography/weight.d.ts +13 -0
- package/dist/vector/index.cjs +950 -949
- package/dist/vector/index.js +5 -4
- package/dist/video-editor/audio.d.cts +9 -0
- package/dist/video-editor/audio.d.ts +9 -0
- package/dist/video-editor/check.d.cts +1 -1
- package/dist/video-editor/check.d.ts +1 -1
- package/dist/video-editor/controller.d.cts +47 -0
- package/dist/video-editor/controller.d.ts +47 -0
- package/dist/video-editor/dialogue-tools.d.cts +19 -0
- package/dist/video-editor/dialogue-tools.d.ts +19 -0
- package/dist/video-editor/effect-authoring.d.cts +54 -0
- package/dist/video-editor/effect-authoring.d.ts +54 -0
- package/dist/video-editor/evaluate.d.cts +11 -0
- package/dist/video-editor/evaluate.d.ts +11 -0
- package/dist/video-editor/export.d.cts +7 -1
- package/dist/video-editor/export.d.ts +7 -1
- package/dist/video-editor/index.cjs +1857 -531
- package/dist/video-editor/index.d.cts +7 -0
- package/dist/video-editor/index.d.ts +7 -0
- package/dist/video-editor/index.js +1516 -190
- package/dist/video-editor/lut.d.cts +12 -2
- package/dist/video-editor/lut.d.ts +12 -2
- package/dist/video-editor/mask.d.cts +48 -0
- package/dist/video-editor/mask.d.ts +48 -0
- package/dist/video-editor/mix.d.cts +107 -0
- package/dist/video-editor/mix.d.ts +107 -0
- package/dist/video-editor/music-tools.d.cts +19 -0
- package/dist/video-editor/music-tools.d.ts +19 -0
- package/dist/video-editor/parse.d.cts +3 -1
- package/dist/video-editor/parse.d.ts +3 -1
- package/dist/video-editor/plan.d.cts +75 -0
- package/dist/video-editor/plan.d.ts +75 -0
- package/dist/video-editor/render.d.cts +1 -1
- package/dist/video-editor/render.d.ts +1 -1
- package/dist/video-editor/timeline.d.cts +2 -0
- package/dist/video-editor/timeline.d.ts +2 -0
- package/dist/video-editor/tools.d.cts +90 -0
- package/dist/video-editor/tools.d.ts +90 -0
- package/dist/video-editor/transcript-controller.d.cts +106 -0
- package/dist/video-editor/transcript-controller.d.ts +106 -0
- package/dist/video-editor/transcript.d.cts +40 -0
- package/dist/video-editor/transcript.d.ts +40 -0
- package/dist/video-editor/types.d.cts +62 -2
- package/dist/video-editor/types.d.ts +62 -2
- package/dist/video-editor/ui.d.cts +21 -1
- package/dist/video-editor/ui.d.ts +21 -1
- package/package.json +11 -1
- package/skills/README.md +3 -0
- package/skills/pixerate-bgm-alignment/SKILL.md +82 -0
- package/skills/pixerate-talking-head-edit/SKILL.md +80 -0
- package/skills/pixerate-typography/SKILL.md +91 -0
- package/skills/pixerate-video-editor/SKILL.md +40 -2
|
@@ -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
|
|
3
|
+
var _chunk3GJH2MGHcjs = require('../chunk-3GJH2MGH.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
@@ -31,7 +31,7 @@ var _chunkEBDZWIOPcjs = require('../chunk-EBDZWIOP.cjs');
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
var
|
|
34
|
+
var _chunk236TKNURcjs = require('../chunk-236TKNUR.cjs');
|
|
35
35
|
require('../chunk-JGKCC5OF.cjs');
|
|
36
36
|
require('../chunk-CVFAAZXE.cjs');
|
|
37
37
|
|
|
@@ -72,7 +72,7 @@ var _chunkFJ2MSI43cjs = require('../chunk-FJ2MSI43.cjs');
|
|
|
72
72
|
var _chunk7B5GTJXBcjs = require('../chunk-7B5GTJXB.cjs');
|
|
73
73
|
|
|
74
74
|
|
|
75
|
-
var
|
|
75
|
+
var _chunkGTELFJREcjs = require('../chunk-GTELFJRE.cjs');
|
|
76
76
|
|
|
77
77
|
|
|
78
78
|
|
|
@@ -84,13 +84,14 @@ var _chunkSUF6WRXRcjs = require('../chunk-SUF6WRXR.cjs');
|
|
|
84
84
|
var _chunkDWJJI6RTcjs = require('../chunk-DWJJI6RT.cjs');
|
|
85
85
|
|
|
86
86
|
|
|
87
|
-
var
|
|
87
|
+
var _chunkCIPIESX4cjs = require('../chunk-CIPIESX4.cjs');
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
var _chunkA6QWKBJPcjs = require('../chunk-A6QWKBJP.cjs');
|
|
93
|
-
require('../chunk-
|
|
93
|
+
require('../chunk-ES3UEVUT.cjs');
|
|
94
|
+
require('../chunk-S6X2QRVU.cjs');
|
|
94
95
|
require('../chunk-IPJ3TEYR.cjs');
|
|
95
96
|
|
|
96
97
|
// src/animation-editor/types.ts
|
|
@@ -595,7 +596,7 @@ function smoothMotionTimes(points, start, duration, pacing = "even") {
|
|
|
595
596
|
function motionTextLayout(nodes, id) {
|
|
596
597
|
const group = _optionalChain([nodes, 'access', _5 => _5.get, 'call', _6 => _6(id), 'optionalAccess', _7 => _7.node]);
|
|
597
598
|
if (!group || group.type !== "group") return null;
|
|
598
|
-
const letters =
|
|
599
|
+
const letters = _chunk236TKNURcjs.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);
|
|
599
600
|
if (!letters.length) return null;
|
|
600
601
|
const lines = [];
|
|
601
602
|
for (const l of [...letters].sort((a, c) => a.b.y + a.b.height / 2 - (c.b.y + c.b.height / 2))) {
|
|
@@ -680,21 +681,21 @@ function indexMotionNodes(nodes) {
|
|
|
680
681
|
const out = /* @__PURE__ */ new Map();
|
|
681
682
|
const walk = (list, parentWorld, ancestors) => {
|
|
682
683
|
for (const node of list) {
|
|
683
|
-
const local =
|
|
684
|
-
const bounds =
|
|
684
|
+
const local = _chunk236TKNURcjs.vectorNodeBounds.call(void 0, node);
|
|
685
|
+
const bounds = _chunk236TKNURcjs.vectorNodeBounds.call(void 0, node, parentWorld);
|
|
685
686
|
const center = local ? { x: local.x + local.width / 2, y: local.y + local.height / 2 } : { x: 0, y: 0 };
|
|
686
687
|
if (!out.has(node.id)) out.set(node.id, { node, ancestors, parentWorld, center, bounds, box: local });
|
|
687
|
-
if (node.type === "group") walk(node.children,
|
|
688
|
+
if (node.type === "group") walk(node.children, _chunk236TKNURcjs.multiplyMatrices.call(void 0, _chunk236TKNURcjs.nodeMatrix.call(void 0, node), parentWorld), [...ancestors, node.id]);
|
|
688
689
|
}
|
|
689
690
|
};
|
|
690
|
-
walk(nodes,
|
|
691
|
+
walk(nodes, _chunk236TKNURcjs.IDENTITY_MATRIX, []);
|
|
691
692
|
indexCache.set(nodes, out);
|
|
692
693
|
return out;
|
|
693
694
|
}
|
|
694
695
|
var solid = (paint) => typeof paint === "string" && paint !== "none" ? paint : void 0;
|
|
695
696
|
function firstPaint(node, key) {
|
|
696
697
|
if (node.type === "path") return solid(node[key]);
|
|
697
|
-
for (const p of
|
|
698
|
+
for (const p of _chunk236TKNURcjs.collectPathNodes.call(void 0, node)) {
|
|
698
699
|
const s = solid(p[key]);
|
|
699
700
|
if (s) return s;
|
|
700
701
|
}
|
|
@@ -702,7 +703,7 @@ function firstPaint(node, key) {
|
|
|
702
703
|
}
|
|
703
704
|
function strokeReach(node) {
|
|
704
705
|
let reach = 0;
|
|
705
|
-
for (const p of node.type === "path" ? [node] :
|
|
706
|
+
for (const p of node.type === "path" ? [node] : _chunk236TKNURcjs.collectPathNodes.call(void 0, node)) {
|
|
706
707
|
if (p.stroke == null || p.stroke === "none") continue;
|
|
707
708
|
const width = _nullishCoalesce(p.strokeWidth, () => ( 1));
|
|
708
709
|
reach = Math.max(reach, p.strokeAlign === "outside" ? width : p.strokeAlign === "inside" ? 0 : width / 2);
|
|
@@ -772,7 +773,7 @@ function motionRestValue(entry, property, artwork) {
|
|
|
772
773
|
case "stroke":
|
|
773
774
|
return _nullishCoalesce((node && firstPaint(node, property)), () => ( "transparent"));
|
|
774
775
|
case "strokeWidth": {
|
|
775
|
-
const path = _optionalChain([node, 'optionalAccess', _13 => _13.type]) === "path" ? node : node ?
|
|
776
|
+
const path = _optionalChain([node, 'optionalAccess', _13 => _13.type]) === "path" ? node : node ? _chunk236TKNURcjs.collectPathNodes.call(void 0, node)[0] : void 0;
|
|
776
777
|
return _nullishCoalesce(_optionalChain([path, 'optionalAccess', _14 => _14.strokeWidth]), () => ( 1));
|
|
777
778
|
}
|
|
778
779
|
case "shape":
|
|
@@ -796,7 +797,7 @@ function interpolateMotionValue(from, to, u) {
|
|
|
796
797
|
if (u <= 0) return from;
|
|
797
798
|
if (u >= 1) return to;
|
|
798
799
|
if (typeof from === "string" && typeof to === "string") {
|
|
799
|
-
const mixed =
|
|
800
|
+
const mixed = _chunkCIPIESX4cjs.mixColorsOklab.call(void 0, from, to, u);
|
|
800
801
|
if (mixed !== null) return mixed;
|
|
801
802
|
}
|
|
802
803
|
return u < 1 ? from : to;
|
|
@@ -883,12 +884,12 @@ function resolveMotionCamera(camera, scene) {
|
|
|
883
884
|
const r = camera;
|
|
884
885
|
return { x: r.x, y: r.y, width: r.width, height: r.height };
|
|
885
886
|
}
|
|
886
|
-
function motionPathLength(node, parentWorld =
|
|
887
|
+
function motionPathLength(node, parentWorld = _chunk236TKNURcjs.IDENTITY_MATRIX) {
|
|
887
888
|
let longest = 0;
|
|
888
|
-
const paths = node.type === "path" ? [node] :
|
|
889
|
+
const paths = node.type === "path" ? [node] : _chunk236TKNURcjs.collectPathNodes.call(void 0, node);
|
|
889
890
|
for (const p of paths) {
|
|
890
891
|
try {
|
|
891
|
-
longest = Math.max(longest, _chunkGF2RBSDMcjs.bezierPathLength.call(void 0,
|
|
892
|
+
longest = Math.max(longest, _chunkGF2RBSDMcjs.bezierPathLength.call(void 0, _chunk236TKNURcjs.vectorPathWorldBezier.call(void 0, p, parentWorld, { effects: false })));
|
|
892
893
|
} catch (e2) {
|
|
893
894
|
}
|
|
894
895
|
}
|
|
@@ -1141,12 +1142,12 @@ function compileMotionScene(scene) {
|
|
|
1141
1142
|
const order2 = _nullishCoalesce(o.order, () => ( "together"));
|
|
1142
1143
|
const pace = _nullishCoalesce(o.pace, () => ( "time"));
|
|
1143
1144
|
if (order2 === "together" && pace === "time") return null;
|
|
1144
|
-
const paths = entry.node.type === "path" ? [entry.node] :
|
|
1145
|
+
const paths = entry.node.type === "path" ? [entry.node] : _chunk236TKNURcjs.collectPathNodes.call(void 0, entry.node);
|
|
1145
1146
|
let list = paths.map((p) => {
|
|
1146
1147
|
const at = nodes.get(p.id);
|
|
1147
1148
|
let first = { x: 0, y: 0 };
|
|
1148
1149
|
try {
|
|
1149
|
-
const m =
|
|
1150
|
+
const m = _chunk236TKNURcjs.vectorPathWorldBezier.call(void 0, p, _nullishCoalesce(_optionalChain([at, 'optionalAccess', _41 => _41.parentWorld]), () => ( _chunk236TKNURcjs.IDENTITY_MATRIX)), { effects: false })[0];
|
|
1150
1151
|
if (m && m.type === "M") first = { x: m.x, y: m.y };
|
|
1151
1152
|
} catch (e3) {
|
|
1152
1153
|
}
|
|
@@ -1258,17 +1259,17 @@ function compileMotionScene(scene) {
|
|
|
1258
1259
|
let dx = _nullishCoalesce(_optionalChain([command3, 'access', _44 => _44.by, 'optionalAccess', _45 => _45.x]), () => ( 0));
|
|
1259
1260
|
let dy = _nullishCoalesce(_optionalChain([command3, 'access', _46 => _46.by, 'optionalAccess', _47 => _47.y]), () => ( 0));
|
|
1260
1261
|
if (command3.to) {
|
|
1261
|
-
const inv =
|
|
1262
|
-
const target =
|
|
1262
|
+
const inv = _chunk236TKNURcjs.invertMatrix.call(void 0, entry.parentWorld);
|
|
1263
|
+
const target = _chunk236TKNURcjs.applyMatrix.call(void 0, inv, command3.to);
|
|
1263
1264
|
dx = target.x - (entry.center.x + num2("x"));
|
|
1264
1265
|
dy = target.y - (entry.center.y + num2("y"));
|
|
1265
1266
|
}
|
|
1266
1267
|
if (_optionalChain([command3, 'access', _48 => _48.via, 'optionalAccess', _49 => _49.length])) {
|
|
1267
|
-
const inv =
|
|
1268
|
+
const inv = _chunk236TKNURcjs.invertMatrix.call(void 0, entry.parentWorld);
|
|
1268
1269
|
const x0 = num2("x");
|
|
1269
1270
|
const y0 = num2("y");
|
|
1270
1271
|
const add = command3.blend === "add";
|
|
1271
|
-
const offsets = [{ x: 0, y: 0 }, ...command3.via.map((p) =>
|
|
1272
|
+
const offsets = [{ x: 0, y: 0 }, ...command3.via.map((p) => _chunk236TKNURcjs.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 }];
|
|
1272
1273
|
const times = _optionalChain([command3, 'access', _50 => _50.times, 'optionalAccess', _51 => _51.length]) === command3.via.length ? [start, ...command3.times.map((f) => start + f * (end - start)), end] : smoothMotionTimes(offsets, start, end - start, _nullishCoalesce(command3.pacing, () => ( "even")));
|
|
1273
1274
|
for (const axis of ["x", "y"]) {
|
|
1274
1275
|
const base = add ? 0 : axis === "x" ? x0 : y0;
|
|
@@ -1411,13 +1412,13 @@ function morphBetween(a, b) {
|
|
|
1411
1412
|
let inner = morphCache.get(a);
|
|
1412
1413
|
if (!inner) morphCache.set(a, inner = /* @__PURE__ */ new WeakMap());
|
|
1413
1414
|
let morph = inner.get(b);
|
|
1414
|
-
if (!morph) inner.set(b, morph =
|
|
1415
|
+
if (!morph) inner.set(b, morph = _chunk3GJH2MGHcjs.createVectorMorph.call(void 0, a, b, { id: a.id }));
|
|
1415
1416
|
return morph;
|
|
1416
1417
|
}
|
|
1417
1418
|
function shapeIn(entry, shape) {
|
|
1418
1419
|
if (shape === entry) return entry.node;
|
|
1419
|
-
const m =
|
|
1420
|
-
return { ...shape.node, ...
|
|
1420
|
+
const m = _chunk236TKNURcjs.multiplyMatrices.call(void 0, _chunk236TKNURcjs.multiplyMatrices.call(void 0, _chunk236TKNURcjs.nodeMatrix.call(void 0, shape.node), shape.parentWorld), _chunk236TKNURcjs.invertMatrix.call(void 0, entry.parentWorld));
|
|
1421
|
+
return { ...shape.node, ..._chunk236TKNURcjs.isIdentityMatrix.call(void 0, m) ? { transform: void 0 } : { transform: m } };
|
|
1421
1422
|
}
|
|
1422
1423
|
function shapeAt(entry, timeline, nodes, time) {
|
|
1423
1424
|
const track = timeline.tracks.get(motionTrackKey(entry.node.id, "shape"));
|
|
@@ -1437,7 +1438,7 @@ function shapeAt(entry, timeline, nodes, time) {
|
|
|
1437
1438
|
function motionFollowRoute(entry, path) {
|
|
1438
1439
|
if (!path || path.node.type !== "path") return null;
|
|
1439
1440
|
try {
|
|
1440
|
-
return _chunkGF2RBSDMcjs.transformBezierPath.call(void 0,
|
|
1441
|
+
return _chunkGF2RBSDMcjs.transformBezierPath.call(void 0, _chunk236TKNURcjs.vectorPathWorldBezier.call(void 0, path.node, path.parentWorld, { effects: false }), _chunk236TKNURcjs.invertMatrix.call(void 0, entry.parentWorld));
|
|
1441
1442
|
} catch (e4) {
|
|
1442
1443
|
return null;
|
|
1443
1444
|
}
|
|
@@ -1471,9 +1472,9 @@ function motionNodeOffset(entry, timeline, time, nodes = indexMotionNodes([entry
|
|
|
1471
1472
|
const scaleX = read("scaleX", 1);
|
|
1472
1473
|
const scaleY = read("scaleY", 1);
|
|
1473
1474
|
const c = entry.center;
|
|
1474
|
-
let matrix =
|
|
1475
|
+
let matrix = _chunk236TKNURcjs.multiplyMatrices.call(void 0, _chunk236TKNURcjs.multiplyMatrices.call(void 0, _chunk236TKNURcjs.scaleMatrix.call(void 0, scaleX, scaleY, c), _chunk236TKNURcjs.rotateMatrix.call(void 0, rotation, c)), _chunk236TKNURcjs.translateMatrix.call(void 0, dx, dy));
|
|
1475
1476
|
const along = follow ? followAt(entry, timeline, nodes, time) : null;
|
|
1476
|
-
if (along) matrix =
|
|
1477
|
+
if (along) matrix = _chunk236TKNURcjs.multiplyMatrices.call(void 0, matrix, _chunk236TKNURcjs.multiplyMatrices.call(void 0, _chunk236TKNURcjs.multiplyMatrices.call(void 0, _chunk236TKNURcjs.translateMatrix.call(void 0, -c.x, -c.y), _chunk236TKNURcjs.rotateMatrix.call(void 0, along.angle)), _chunk236TKNURcjs.translateMatrix.call(void 0, along.x, along.y)));
|
|
1477
1478
|
return { matrix, dx, dy, rotation, scaleX, scaleY, follow: along };
|
|
1478
1479
|
}
|
|
1479
1480
|
function motionNodeClips(id, timeline, time) {
|
|
@@ -1540,7 +1541,7 @@ function motionFrameAt(scene, time, options = {}) {
|
|
|
1540
1541
|
const start = Math.min(1, Math.max(0, typeof drawStart === "number" ? drawStart : 0));
|
|
1541
1542
|
const end = Math.min(1, Math.max(0, typeof drawEnd === "number" ? drawEnd : 1));
|
|
1542
1543
|
if (start > 0 || end < 1) {
|
|
1543
|
-
const trim =
|
|
1544
|
+
const trim = _chunk236TKNURcjs.createVectorEffect.call(void 0, "trim", MOTION_DRAW_EFFECT_ID, { start: tidy(start * 100), end: tidy(end * 100) });
|
|
1544
1545
|
p = { ...p, effects: [trim, ...(_nullishCoalesce(p.effects, () => ( []))).filter((e) => e.id !== MOTION_DRAW_EFFECT_ID)] };
|
|
1545
1546
|
}
|
|
1546
1547
|
}
|
|
@@ -1554,8 +1555,8 @@ function motionFrameAt(scene, time, options = {}) {
|
|
|
1554
1555
|
if (o >= 1) delete out.opacity;
|
|
1555
1556
|
}
|
|
1556
1557
|
const offset = options.offsets === false ? null : motionNodeOffset(entry, timeline, time, nodes);
|
|
1557
|
-
if (offset && !
|
|
1558
|
-
const m =
|
|
1558
|
+
if (offset && !_chunk236TKNURcjs.isIdentityMatrix.call(void 0, offset.matrix)) {
|
|
1559
|
+
const m = _chunk236TKNURcjs.multiplyMatrices.call(void 0, _chunk236TKNURcjs.nodeMatrix.call(void 0, out), offset.matrix).map(tidy);
|
|
1559
1560
|
out = { ...out, transform: m };
|
|
1560
1561
|
}
|
|
1561
1562
|
return out;
|
|
@@ -1575,7 +1576,7 @@ function motionFrameToSvg(scene, time, options = {}) {
|
|
|
1575
1576
|
const wrap = { ...options.wrap };
|
|
1576
1577
|
for (const [id, clips] of Object.entries(frame.clips))
|
|
1577
1578
|
wrap[id] = [..._nullishCoalesce(wrap[id], () => ( [])), ...clips.map((clip, i) => ({ clip: { id: `${prefix}reveal-${id}-${i}`, shape: clip.shape, attrs: motionClipAttrs(clip) } }))];
|
|
1578
|
-
return withViewBox(
|
|
1579
|
+
return withViewBox(_chunk236TKNURcjs.vectorDocumentToSvg.call(void 0, frame.document, { ...options, wrap }), frame.camera);
|
|
1579
1580
|
}
|
|
1580
1581
|
function withViewBox(svg, box) {
|
|
1581
1582
|
const f = (n) => String(Math.round(n * 1e3) / 1e3);
|
|
@@ -1758,8 +1759,8 @@ function visibleAt(timeline, id, time, node) {
|
|
|
1758
1759
|
if (Array.isArray(rect) && (rect[2] <= 1e-4 || rect[3] <= 1e-4)) return false;
|
|
1759
1760
|
const circle = clip("clipCircle");
|
|
1760
1761
|
if (Array.isArray(circle) && circle[2] <= 1e-4) return false;
|
|
1761
|
-
const hasFill = node.type === "path" ? !!node.fill && node.fill !== "none" :
|
|
1762
|
-
const drawn = num2("drawEnd", 1) > 0.01 && (node.type === "path" ||
|
|
1762
|
+
const hasFill = node.type === "path" ? !!node.fill && node.fill !== "none" : _chunk236TKNURcjs.collectPathNodes.call(void 0, node).some((p) => p.fill && p.fill !== "none");
|
|
1763
|
+
const drawn = num2("drawEnd", 1) > 0.01 && (node.type === "path" || _chunk236TKNURcjs.collectPathNodes.call(void 0, node).length === 0 || _chunk236TKNURcjs.collectPathNodes.call(void 0, node).some((p) => {
|
|
1763
1764
|
const v = trackValue(timeline.tracks.get(motionTrackKey(p.id, "drawEnd")), time);
|
|
1764
1765
|
return typeof v !== "number" || v > 0.01;
|
|
1765
1766
|
}));
|
|
@@ -1845,7 +1846,7 @@ function checkMotionScene(scene) {
|
|
|
1845
1846
|
}
|
|
1846
1847
|
for (const id of targets) {
|
|
1847
1848
|
const node = nodes.get(id).node;
|
|
1848
|
-
const paths = node.type === "path" ? [node] :
|
|
1849
|
+
const paths = node.type === "path" ? [node] : _chunk236TKNURcjs.collectPathNodes.call(void 0, node);
|
|
1849
1850
|
if (paths.some((p) => p[key] !== void 0 && p[key] !== null && typeof p[key] !== "string"))
|
|
1850
1851
|
issues.push(_chunkEBDZWIOPcjs.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] }));
|
|
1851
1852
|
}
|
|
@@ -1858,7 +1859,7 @@ function checkMotionScene(scene) {
|
|
|
1858
1859
|
else
|
|
1859
1860
|
for (const id of targets) {
|
|
1860
1861
|
const node = nodes.get(id).node;
|
|
1861
|
-
const paths = node.type === "path" ? [node] :
|
|
1862
|
+
const paths = node.type === "path" ? [node] : _chunk236TKNURcjs.collectPathNodes.call(void 0, node);
|
|
1862
1863
|
if (paths.some((p) => typeof p[key] !== "string"))
|
|
1863
1864
|
issues.push(_chunkEBDZWIOPcjs.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] }));
|
|
1864
1865
|
}
|
|
@@ -2303,7 +2304,7 @@ function motionNodePose(scene, id, time) {
|
|
|
2303
2304
|
if (!entry) throw new Error(`There is no element ${_chunkEBDZWIOPcjs.namedWithSuggestion.call(void 0, id, [...indexMotionNodes(scene.artwork.nodes).keys()])} in the artwork.`);
|
|
2304
2305
|
const timeline = compileMotionScene(scene);
|
|
2305
2306
|
const drawn = indexMotionNodes(motionFrameAt(scene, time).document.nodes).get(id);
|
|
2306
|
-
const centre =
|
|
2307
|
+
const centre = _chunk236TKNURcjs.applyMatrix.call(void 0, entry.parentWorld, { x: entry.center.x + motionPropertyValue(timeline, id, "x", time), y: entry.center.y + motionPropertyValue(timeline, id, "y", time) });
|
|
2307
2308
|
const paint = (property) => _nullishCoalesce(trackValue(timeline.tracks.get(motionTrackKey(id, property)), time), () => ( motionRestValue(entry, property, scene.artwork)));
|
|
2308
2309
|
const fill = paint("fill");
|
|
2309
2310
|
const stroke = paint("stroke");
|
|
@@ -2650,7 +2651,7 @@ function toFlairSvgMotion(scene, options = {}) {
|
|
|
2650
2651
|
raw: (t) => transformAt(t, true)
|
|
2651
2652
|
});
|
|
2652
2653
|
}
|
|
2653
|
-
const paths = node.type === "path" ? [node] :
|
|
2654
|
+
const paths = node.type === "path" ? [node] : _chunk236TKNURcjs.collectPathNodes.call(void 0, node);
|
|
2654
2655
|
for (const path of paths) {
|
|
2655
2656
|
if (pathsSeen.has(path.id)) continue;
|
|
2656
2657
|
pathsSeen.add(path.id);
|
|
@@ -2672,7 +2673,7 @@ function toFlairSvgMotion(scene, options = {}) {
|
|
|
2672
2673
|
if (shapeSegments.length) {
|
|
2673
2674
|
if (node.type !== "path") notes.push(`"${id}" is a group: its morph or effect animation is not exported (Flair tweens one path's "d").`);
|
|
2674
2675
|
else {
|
|
2675
|
-
const inverse =
|
|
2676
|
+
const inverse = _chunk236TKNURcjs.invertMatrix.call(void 0, _chunk236TKNURcjs.nodeMatrix.call(void 0, node));
|
|
2676
2677
|
channels.push({
|
|
2677
2678
|
id,
|
|
2678
2679
|
kind: "attr",
|
|
@@ -2681,9 +2682,9 @@ function toFlairSvgMotion(scene, options = {}) {
|
|
|
2681
2682
|
exact: () => false,
|
|
2682
2683
|
value: (t) => {
|
|
2683
2684
|
const frame = motionFrameAt(scene, t, { draw: false, offsets: false });
|
|
2684
|
-
const now =
|
|
2685
|
+
const now = _chunk236TKNURcjs.expandVectorAppearance.call(void 0, _optionalChain([indexMotionNodes, 'call', _114 => _114(frame.document.nodes), 'access', _115 => _115.get, 'call', _116 => _116(id), 'optionalAccess', _117 => _117.node]));
|
|
2685
2686
|
if (!now || now.type !== "path") return "";
|
|
2686
|
-
const bezier = _chunkGF2RBSDMcjs.transformBezierPath.call(void 0,
|
|
2687
|
+
const bezier = _chunkGF2RBSDMcjs.transformBezierPath.call(void 0, _chunk236TKNURcjs.vectorPathWorldBezier.call(void 0, now, _chunk236TKNURcjs.IDENTITY_MATRIX, { effects: false }), inverse);
|
|
2687
2688
|
return _chunkGF2RBSDMcjs.bezierPathToSvg.call(void 0, bezier, { precision: Math.min(precision, 2) });
|
|
2688
2689
|
}
|
|
2689
2690
|
});
|
|
@@ -2790,7 +2791,7 @@ function toFlairSvgMotion(scene, options = {}) {
|
|
|
2790
2791
|
}
|
|
2791
2792
|
if (scene.motionBlur) notes.push("Motion blur is drawn on the stage only; Flair plays the scene sharp.");
|
|
2792
2793
|
if (trigger && (_nullishCoalesce(scene.loop, () => ( "none"))) !== "none") notes.push(`The scene plays on ${trigger}, so its loop does not apply in Flair.`);
|
|
2793
|
-
let svg =
|
|
2794
|
+
let svg = _chunk236TKNURcjs.vectorDocumentToSvg.call(void 0, { ...scene.artwork, nodes: _chunk236TKNURcjs.expandVectorAppearances.call(void 0, scene.artwork.nodes) }, { pretty: false, precision, wrap });
|
|
2794
2795
|
if (routes.length) svg = svg.replace(/^(<svg[^>]*>)/, `$1<defs>${routes.join("")}</defs>`);
|
|
2795
2796
|
let motion = { svg, animate };
|
|
2796
2797
|
if (_optionalChain([scene, 'access', _120 => _120.controls, 'optionalAccess', _121 => _121.length])) {
|
|
@@ -2874,14 +2875,14 @@ function easingOf(ease, fallback) {
|
|
|
2874
2875
|
return fallback;
|
|
2875
2876
|
}
|
|
2876
2877
|
function poseOf(value, entry) {
|
|
2877
|
-
const t =
|
|
2878
|
-
const o =
|
|
2878
|
+
const t = _chunk236TKNURcjs.parseSvgTransform.call(void 0, String(value));
|
|
2879
|
+
const o = _chunk236TKNURcjs.multiplyMatrices.call(void 0, _nullishCoalesce(_chunk236TKNURcjs.invertMatrix.call(void 0, _chunk236TKNURcjs.nodeMatrix.call(void 0, entry.node)), () => ( [1, 0, 0, 1, 0, 0])), t);
|
|
2879
2880
|
const sx = Math.hypot(o[0], o[1]);
|
|
2880
2881
|
if (!(sx > 1e-9)) return null;
|
|
2881
2882
|
const sy = (o[0] * o[3] - o[1] * o[2]) / sx;
|
|
2882
2883
|
if (Math.abs(o[2] + o[1] / sx * sy) > 1e-6 || Math.abs(o[3] - o[0] / sx * sy) > 1e-6) return null;
|
|
2883
2884
|
const c = entry.center;
|
|
2884
|
-
const moved =
|
|
2885
|
+
const moved = _chunk236TKNURcjs.applyMatrix.call(void 0, o, c);
|
|
2885
2886
|
return { dx: moved.x - c.x, dy: moved.y - c.y, rotation: Math.atan2(o[1], o[0]) * 180 / Math.PI, sx, sy };
|
|
2886
2887
|
}
|
|
2887
2888
|
var near = (a, b, eps = 1e-6) => Math.abs(a - b) < eps;
|
|
@@ -2966,7 +2967,7 @@ function fromFlairSvgMotion(input, options = {}) {
|
|
|
2966
2967
|
const notes = [];
|
|
2967
2968
|
if (!input || typeof input.svg !== "string") throw new Error('Give a Flair SvgMotion: { svg: "<svg \u2026>", animate: [ \u2026 ] }.');
|
|
2968
2969
|
const { motion, controls } = resolvePlaceholders(input, notes);
|
|
2969
|
-
const artwork =
|
|
2970
|
+
const artwork = _chunk236TKNURcjs.parseVectorSvg.call(void 0, motion.svg);
|
|
2970
2971
|
const nodes = indexMotionNodes(artwork.nodes);
|
|
2971
2972
|
const byStep = /* @__PURE__ */ new Map();
|
|
2972
2973
|
for (const anim of _nullishCoalesce(motion.animate, () => ( []))) {
|
|
@@ -3213,9 +3214,9 @@ function toLottie(scene, options = {}) {
|
|
|
3213
3214
|
const items = [];
|
|
3214
3215
|
const shapeSegments = [...timeline.tracks.entries()].filter(([k]) => k.startsWith(`${path.id}\0`) && (k.endsWith("\0shape") || k.includes("\0effect:"))).flatMap(([, v]) => v);
|
|
3215
3216
|
const geometryAt = (t) => {
|
|
3216
|
-
if (!shapeSegments.length) return
|
|
3217
|
+
if (!shapeSegments.length) return _chunk236TKNURcjs.vectorPathWorldBezier.call(void 0, path);
|
|
3217
3218
|
const now = _optionalChain([indexMotionNodes, 'call', _130 => _130(motionFrameAt(scene, t, { draw: false, offsets: false }).document.nodes), 'access', _131 => _131.get, 'call', _132 => _132(path.id), 'optionalAccess', _133 => _133.node]);
|
|
3218
|
-
return now && now.type === "path" ?
|
|
3219
|
+
return now && now.type === "path" ? _chunk236TKNURcjs.vectorPathWorldBezier.call(void 0, _chunk236TKNURcjs.expandVectorAppearances.call(void 0, [now])[0]) : _chunk236TKNURcjs.vectorPathWorldBezier.call(void 0, path);
|
|
3219
3220
|
};
|
|
3220
3221
|
const rest = lottieContours(_chunkGF2RBSDMcjs.toBezierPath.call(void 0, geometryAt(0)), round3);
|
|
3221
3222
|
rest.forEach((contour, n) => {
|
|
@@ -3288,13 +3289,13 @@ function toLottie(scene, options = {}) {
|
|
|
3288
3289
|
const innerTr = STATIC_TR();
|
|
3289
3290
|
if (node.type === "path") inner = [...pathShapes(node)];
|
|
3290
3291
|
else if (node.type === "text" || node.type === "instance") {
|
|
3291
|
-
const drawn =
|
|
3292
|
+
const drawn = _chunk236TKNURcjs.expandVectorAppearance.call(void 0, node);
|
|
3292
3293
|
inner = drawn.type === "path" ? [...pathShapes(drawn)] : drawn.children.filter((c) => c.type === "path").reverse().flatMap((c) => [...pathShapes(c)]);
|
|
3293
|
-
notes.push(`"${node.id}": text is exported as its outlines${
|
|
3294
|
+
notes.push(`"${node.id}": text is exported as its outlines${_chunk236TKNURcjs.vectorTextHasOutlines.call(void 0, ) ? "" : " (glyph boxes: set an outline text shaper for real glyphs)"}.`);
|
|
3294
3295
|
} else {
|
|
3295
3296
|
inner = shown(node.children).reverse().map(nodeGroup);
|
|
3296
|
-
const m =
|
|
3297
|
-
if (m !==
|
|
3297
|
+
const m = _chunk236TKNURcjs.nodeMatrix.call(void 0, node);
|
|
3298
|
+
if (m !== _chunk236TKNURcjs.IDENTITY_MATRIX) {
|
|
3298
3299
|
const parts = staticParts(m);
|
|
3299
3300
|
if (!parts) notes.push(`"${node.id}": its transform skews, which is not exported; it is drawn without the skew.`);
|
|
3300
3301
|
else {
|
|
@@ -3307,7 +3308,7 @@ function toLottie(scene, options = {}) {
|
|
|
3307
3308
|
const body = { ty: "gr", nm: `${node.id} (own)`, it: [...inner, innerTr] };
|
|
3308
3309
|
return { ty: "gr", nm: _nullishCoalesce(node.name, () => ( node.id)), it: [body, poseTransform(entry)] };
|
|
3309
3310
|
};
|
|
3310
|
-
const artwork = { ...scene.artwork, nodes:
|
|
3311
|
+
const artwork = { ...scene.artwork, nodes: _chunk236TKNURcjs.expandVectorAppearances.call(void 0, scene.artwork.nodes) };
|
|
3311
3312
|
const content = shown(artwork.nodes).reverse().map(nodeGroup);
|
|
3312
3313
|
if (artwork.background && rgba(artwork.background))
|
|
3313
3314
|
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(round3) }, o: { a: 0, k: 100 }, r: 1 }, STATIC_TR()] });
|
|
@@ -3406,11 +3407,11 @@ function preset(prst, w, h) {
|
|
|
3406
3407
|
const poly = (pts) => [{ closed: true, anchors: pts.map(([x, y]) => ({ x, y })) }];
|
|
3407
3408
|
switch (prst) {
|
|
3408
3409
|
case "rect":
|
|
3409
|
-
return [
|
|
3410
|
+
return [_chunk236TKNURcjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
|
|
3410
3411
|
case "roundRect":
|
|
3411
|
-
return [
|
|
3412
|
+
return [_chunk236TKNURcjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h }, Math.min(w, h) * 0.16667)];
|
|
3412
3413
|
case "ellipse":
|
|
3413
|
-
return [
|
|
3414
|
+
return [_chunk236TKNURcjs.ellipseSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
|
|
3414
3415
|
case "triangle":
|
|
3415
3416
|
return poly([[w / 2, 0], [w, h], [0, h]]);
|
|
3416
3417
|
case "rtTriangle":
|
|
@@ -3518,7 +3519,7 @@ function shapes(ctx, tree, map) {
|
|
|
3518
3519
|
let subpaths = cust ? custom(cust, w, h) : prst ? preset(prst, w, h) : null;
|
|
3519
3520
|
if (!subpaths) {
|
|
3520
3521
|
if (prst) ctx.notes.push(`"${name}" is a ${prst}, drawn as its bounding rectangle.`);
|
|
3521
|
-
subpaths = [
|
|
3522
|
+
subpaths = [_chunk236TKNURcjs.rectSubpath.call(void 0, { x: 0, y: 0, width: w, height: h })];
|
|
3522
3523
|
}
|
|
3523
3524
|
const style = kid(el, "style");
|
|
3524
3525
|
const fill = kid(spPr, "noFill") ? null : _nullishCoalesce(colour(ctx, kid(spPr, "solidFill")), () => ( (el.localName === "cxnSp" ? null : colour(ctx, kid(style, "fillRef")))));
|
|
@@ -3756,7 +3757,7 @@ function nextMotionEffectInstance(scene) {
|
|
|
3756
3757
|
walk(scene.artwork.nodes);
|
|
3757
3758
|
for (let i = 1; ; i++) if (!used.has(`fx${i}`)) return `fx${i}`;
|
|
3758
3759
|
}
|
|
3759
|
-
var motionArtworkSvg = (artwork) =>
|
|
3760
|
+
var motionArtworkSvg = (artwork) => _chunk236TKNURcjs.vectorDocumentToSvg.call(void 0, artwork);
|
|
3760
3761
|
var tag = (commands, source) => commands.map((c) => c.type === "wait" ? c : { ...c, source });
|
|
3761
3762
|
function motionCommandsFromEffect(artwork, motion, source) {
|
|
3762
3763
|
const imported = fromFlairSvgMotion({ svg: motionArtworkSvg(artwork), animate: [..._nullishCoalesce(motion.animate, () => ( []))] });
|
|
@@ -3845,7 +3846,7 @@ var AnimationEditorController = (_class = class {
|
|
|
3845
3846
|
this.readOnly = _nullishCoalesce(options.readOnly, () => ( false));
|
|
3846
3847
|
this.onChange = options.onChange;
|
|
3847
3848
|
if (options.effects) this.effects.set(options.effects);
|
|
3848
|
-
this.player = new (0,
|
|
3849
|
+
this.player = new (0, _chunkGTELFJREcjs.AnimationPlayer)({ clock: options.clock, duration: () => compileMotionScene(this.scene).duration, loop: _nullishCoalesce(this.scene.loop, () => ( "none")) });
|
|
3849
3850
|
this.state = this.computeState();
|
|
3850
3851
|
this.connect();
|
|
3851
3852
|
}
|
|
@@ -5083,7 +5084,7 @@ function createAnimationEditorToolProvider(controller, options = {}) {
|
|
|
5083
5084
|
handler: ({ svg }) => {
|
|
5084
5085
|
let artwork;
|
|
5085
5086
|
try {
|
|
5086
|
-
artwork =
|
|
5087
|
+
artwork = _chunk236TKNURcjs.parseVectorSvg.call(void 0, svg);
|
|
5087
5088
|
} catch (error) {
|
|
5088
5089
|
throw new Error(`The SVG could not be read: ${error.message}. Nothing was changed.`);
|
|
5089
5090
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createVectorMorph
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-KGTF55R3.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-
|
|
34
|
+
} from "../chunk-2TKHLX6H.js";
|
|
35
35
|
import "../chunk-A5UCR2TO.js";
|
|
36
36
|
import "../chunk-M6DNZNVY.js";
|
|
37
37
|
import {
|
|
@@ -72,7 +72,7 @@ import {
|
|
|
72
72
|
} from "../chunk-DS4WGCLJ.js";
|
|
73
73
|
import {
|
|
74
74
|
AnimationPlayer
|
|
75
|
-
} from "../chunk-
|
|
75
|
+
} from "../chunk-H3OEM3Q2.js";
|
|
76
76
|
import {
|
|
77
77
|
ANIMATION_EASING_LABELS,
|
|
78
78
|
ANIMATION_EASING_PRESETS,
|
|
@@ -84,13 +84,14 @@ import {
|
|
|
84
84
|
} from "../chunk-5UJHB3BW.js";
|
|
85
85
|
import {
|
|
86
86
|
mixColorsOklab
|
|
87
|
-
} from "../chunk-
|
|
87
|
+
} from "../chunk-BQWGN5WH.js";
|
|
88
88
|
import {
|
|
89
89
|
hexToRgba,
|
|
90
90
|
normalizeTokenColor,
|
|
91
91
|
rgbaToHex
|
|
92
92
|
} from "../chunk-2WPNAGHI.js";
|
|
93
|
-
import "../chunk-
|
|
93
|
+
import "../chunk-QYZGBVNC.js";
|
|
94
|
+
import "../chunk-4VU4CP7R.js";
|
|
94
95
|
import "../chunk-6ONMQ6WF.js";
|
|
95
96
|
|
|
96
97
|
// src/animation-editor/types.ts
|