@pixerate/editor 0.267.0 → 0.268.1
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/animation-editor/index.cjs +62 -62
- package/dist/animation-editor/index.js +6 -6
- package/dist/brushes/index.cjs +198 -72
- package/dist/brushes/index.d.cts +4 -3
- package/dist/brushes/index.d.ts +4 -3
- package/dist/brushes/index.js +136 -10
- package/dist/brushes/library.d.cts +27 -1
- package/dist/brushes/library.d.ts +27 -1
- package/dist/brushes/profiles.d.cts +4 -0
- package/dist/brushes/profiles.d.ts +4 -0
- package/dist/brushes/schema.d.cts +4 -0
- package/dist/brushes/schema.d.ts +4 -0
- package/dist/brushes/sources.d.cts +114 -0
- package/dist/brushes/sources.d.ts +114 -0
- package/dist/brushes/types.d.cts +37 -5
- package/dist/brushes/types.d.ts +37 -5
- package/dist/brushes/ui.d.cts +40 -4
- package/dist/brushes/ui.d.ts +40 -4
- package/dist/{brushstrokeRender-NLFPEBGI.js → brushstrokeRender-A727TTNQ.js} +6 -6
- package/dist/{brushstrokeRender-L7JYRR2R.cjs → brushstrokeRender-WR2N5HHY.cjs} +22 -22
- package/dist/canvas/index.cjs +13 -13
- package/dist/canvas/index.js +1 -1
- package/dist/{chunk-J2TNIZ55.cjs → chunk-2WOGXEDX.cjs} +1 -1
- package/dist/{chunk-JGWVZPT6.js → chunk-3XDSNIGF.js} +72 -5
- package/dist/{chunk-EXB2EGBE.cjs → chunk-62MFUHSI.cjs} +16 -16
- package/dist/{chunk-GCVFEPJG.js → chunk-ACTHSQOI.js} +182 -0
- package/dist/{chunk-EF7LZAXQ.js → chunk-BAZMCFVL.js} +1 -1
- package/dist/{chunk-HIO6E7LC.cjs → chunk-BPJSI4NT.cjs} +2 -2
- package/dist/{chunk-XVOP3CGQ.cjs → chunk-EU2ZZA6L.cjs} +393 -62
- package/dist/{chunk-YIC6MAJ2.js → chunk-HFY5LG5J.js} +1 -1
- package/dist/{chunk-7UKFXXWL.js → chunk-HVO6XCI4.js} +1 -1
- package/dist/{chunk-LHPEG5AU.cjs → chunk-J4GXP53R.cjs} +140 -91
- package/dist/{chunk-OKHKA43L.cjs → chunk-JBB3GDBB.cjs} +330 -216
- package/dist/{chunk-AGNUD5BI.js → chunk-KZI3YWKW.js} +351 -20
- package/dist/{chunk-FGJHJIMN.js → chunk-LDOD7VCT.js} +59 -10
- package/dist/{chunk-EYSHTYLG.js → chunk-LETF75CA.js} +1 -1
- package/dist/{chunk-FQPUF2W2.cjs → chunk-NIBFKXMD.cjs} +217 -35
- package/dist/{chunk-G7NHE2VD.cjs → chunk-NPWWSCWT.cjs} +35 -35
- package/dist/{chunk-OSEXT7JL.js → chunk-QNY7BDFP.js} +1 -1
- package/dist/{chunk-PXDIAYB6.cjs → chunk-STLTOISW.cjs} +34 -214
- package/dist/{chunk-4IDUYB45.js → chunk-UVTO3D4E.js} +130 -16
- package/dist/{chunk-TXFWZ5ZJ.js → chunk-W6JDUXP3.js} +4 -184
- package/dist/{chunk-LA5Y4ETA.cjs → chunk-YOVXQHA3.cjs} +23 -23
- package/dist/{chunk-DT4YQUGT.cjs → chunk-YXP6X3SY.cjs} +101 -34
- package/dist/image-editor/adjustment-layers.d.cts +8 -0
- package/dist/image-editor/adjustment-layers.d.ts +8 -0
- package/dist/image-editor/index.cjs +857 -853
- package/dist/image-editor/index.js +30 -26
- package/dist/paint/index.cjs +5 -5
- package/dist/paint/index.js +11 -11
- package/dist/paint-editor/brush-library-tools.d.cts +12 -2
- package/dist/paint-editor/brush-library-tools.d.ts +12 -2
- package/dist/paint-editor/brush-model.d.cts +29 -1
- package/dist/paint-editor/brush-model.d.ts +29 -1
- package/dist/paint-editor/brush-source-art.d.cts +32 -0
- package/dist/paint-editor/brush-source-art.d.ts +32 -0
- package/dist/paint-editor/controller.d.cts +6 -1
- package/dist/paint-editor/controller.d.ts +6 -1
- package/dist/paint-editor/dab-stroke.d.cts +2 -0
- package/dist/paint-editor/dab-stroke.d.ts +2 -0
- package/dist/paint-editor/engine.d.cts +11 -2
- package/dist/paint-editor/engine.d.ts +11 -2
- package/dist/paint-editor/index.cjs +576 -481
- package/dist/paint-editor/index.d.cts +3 -1
- package/dist/paint-editor/index.d.ts +3 -1
- package/dist/paint-editor/index.js +127 -32
- package/dist/paint-editor/stamp-tip.d.cts +8 -5
- package/dist/paint-editor/stamp-tip.d.ts +8 -5
- package/dist/paint-editor/thumbnails.d.cts +6 -0
- package/dist/paint-editor/thumbnails.d.ts +6 -0
- package/dist/paint-editor/tip-grain.d.cts +34 -0
- package/dist/paint-editor/tip-grain.d.ts +34 -0
- package/dist/raster/index.cjs +2 -2
- package/dist/raster/index.js +9 -9
- package/dist/vector/index.cjs +1002 -1002
- package/dist/vector/index.js +7 -7
- package/package.json +110 -1
- package/skills/pixerate-brushes/SKILL.md +35 -8
- package/skills/pixerate-brushes-design/SKILL.md +8 -1
- package/skills/pixerate-image-editor/SKILL.md +1 -1
- package/skills/pixerate-paint-editor/SKILL.md +6 -0
- package/skills/pixerate-paint-editor/references/brush-facets.md +3 -1
- package/skills/pixerate-paint-sketch-to-finish/SKILL.md +1 -0
|
@@ -115,7 +115,7 @@ var _chunkBROJYMWUcjs = require('./chunk-BROJYMWU.cjs');
|
|
|
115
115
|
|
|
116
116
|
|
|
117
117
|
|
|
118
|
-
var
|
|
118
|
+
var _chunkJBB3GDBBcjs = require('./chunk-JBB3GDBB.cjs');
|
|
119
119
|
|
|
120
120
|
|
|
121
121
|
|
|
@@ -129,7 +129,7 @@ var _chunkGF2RBSDMcjs = require('./chunk-GF2RBSDM.cjs');
|
|
|
129
129
|
var _chunkJBZRVLXVcjs = require('./chunk-JBZRVLXV.cjs');
|
|
130
130
|
|
|
131
131
|
|
|
132
|
-
var
|
|
132
|
+
var _chunkNIBFKXMDcjs = require('./chunk-NIBFKXMD.cjs');
|
|
133
133
|
|
|
134
134
|
|
|
135
135
|
|
|
@@ -137,11 +137,11 @@ var _chunkFQPUF2W2cjs = require('./chunk-FQPUF2W2.cjs');
|
|
|
137
137
|
|
|
138
138
|
|
|
139
139
|
|
|
140
|
-
var _chunkW5M3J7PVcjs = require('./chunk-W5M3J7PV.cjs');
|
|
141
140
|
|
|
142
141
|
|
|
143
142
|
|
|
144
143
|
|
|
144
|
+
var _chunk2VX55NFMcjs = require('./chunk-2VX55NFM.cjs');
|
|
145
145
|
|
|
146
146
|
|
|
147
147
|
|
|
@@ -149,7 +149,7 @@ var _chunkW5M3J7PVcjs = require('./chunk-W5M3J7PV.cjs');
|
|
|
149
149
|
|
|
150
150
|
|
|
151
151
|
|
|
152
|
-
var
|
|
152
|
+
var _chunkW5M3J7PVcjs = require('./chunk-W5M3J7PV.cjs');
|
|
153
153
|
|
|
154
154
|
|
|
155
155
|
|
|
@@ -1038,6 +1038,54 @@ function normParams(kind, raw) {
|
|
|
1038
1038
|
return {};
|
|
1039
1039
|
}
|
|
1040
1040
|
}
|
|
1041
|
+
function describeParamShape(template) {
|
|
1042
|
+
if (Array.isArray(template)) return `[${describeParamShape(template[0])}]`;
|
|
1043
|
+
if (template && typeof template === "object") {
|
|
1044
|
+
const fields = Object.entries(template).map(([k, v]) => v && typeof v === "object" ? `${k}: ${describeParamShape(v)}` : k);
|
|
1045
|
+
return `{${fields.join(", ")}}`;
|
|
1046
|
+
}
|
|
1047
|
+
return typeof template === "number" ? "number" : "value";
|
|
1048
|
+
}
|
|
1049
|
+
function checkParamShape(value, template, path, unknown, invalid) {
|
|
1050
|
+
if (Array.isArray(template)) {
|
|
1051
|
+
if (!Array.isArray(value)) invalid.push(`${path} must be an array`);
|
|
1052
|
+
else value.forEach((item, i) => item !== null && checkParamShape(item, template[0], `${path}.${i}`, unknown, invalid));
|
|
1053
|
+
} else if (template && typeof template === "object") {
|
|
1054
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
1055
|
+
if (path) invalid.push(`${path} must be an object`);
|
|
1056
|
+
return;
|
|
1057
|
+
}
|
|
1058
|
+
for (const [key, item] of Object.entries(value)) {
|
|
1059
|
+
const at = path ? `${path}.${key}` : key;
|
|
1060
|
+
if (Object.hasOwn(template, key)) checkParamShape(item, template[key], at, unknown, invalid);
|
|
1061
|
+
else unknown.push(at);
|
|
1062
|
+
}
|
|
1063
|
+
} else if (typeof template === "string" || template === null) {
|
|
1064
|
+
if (!(template === null && value === null) && !(typeof value === "string" && HEX.test(value))) {
|
|
1065
|
+
invalid.push(`${path} must be a #rrggbb colour${template === null ? " or null" : ""}`);
|
|
1066
|
+
}
|
|
1067
|
+
} else if (typeof value !== typeof template || typeof value === "number" && !Number.isFinite(value)) {
|
|
1068
|
+
invalid.push(`${path} must be a ${typeof template}`);
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1071
|
+
function assertAdjustmentParams(kind, params) {
|
|
1072
|
+
if (params === void 0) return;
|
|
1073
|
+
const template = defaultAdjustmentParams(kind);
|
|
1074
|
+
const unknown = [];
|
|
1075
|
+
const invalid = [];
|
|
1076
|
+
if (!params || typeof params !== "object" || Array.isArray(params)) invalid.push("params must be an object");
|
|
1077
|
+
else checkParamShape(params, template, "", unknown, invalid);
|
|
1078
|
+
if (!unknown.length && !invalid.length) return;
|
|
1079
|
+
const problems = [];
|
|
1080
|
+
if (unknown.length) problems.push(`Unknown params key(s) for a ${kind} layer: ${unknown.join(", ")}.`);
|
|
1081
|
+
if (invalid.length) problems.push(`Invalid params for a ${kind} layer: ${invalid.join("; ")}.`);
|
|
1082
|
+
if (unknown.some((key) => key.includes("."))) {
|
|
1083
|
+
problems.push('Nest parameters as objects and arrays: dotted control ids only work in set_adjustments ("layers.<layerId>.<controlId>").');
|
|
1084
|
+
}
|
|
1085
|
+
const accepted = describeParamShape(template);
|
|
1086
|
+
problems.push(accepted === "{}" ? `This ${kind} layer takes no params.` : `Accepted: ${accepted}.`);
|
|
1087
|
+
throw new Error(problems.join(" "));
|
|
1088
|
+
}
|
|
1041
1089
|
function normalizeAdjustmentLayer(raw) {
|
|
1042
1090
|
if (!raw || typeof raw !== "object") return null;
|
|
1043
1091
|
const r = raw;
|
|
@@ -2010,7 +2058,7 @@ function mapAnchor(a, f) {
|
|
|
2010
2058
|
return out;
|
|
2011
2059
|
}
|
|
2012
2060
|
function mapSubpaths(subpaths, f) {
|
|
2013
|
-
return
|
|
2061
|
+
return _chunkJBB3GDBBcjs.expandVectorCorners.call(void 0, subpaths).map((sp) => ({ closed: sp.closed, anchors: sp.anchors.map((a) => mapAnchor(a, f)) }));
|
|
2014
2062
|
}
|
|
2015
2063
|
function liveShapeSubpaths(live) {
|
|
2016
2064
|
let out;
|
|
@@ -2018,19 +2066,19 @@ function liveShapeSubpaths(live) {
|
|
|
2018
2066
|
case "rect": {
|
|
2019
2067
|
const x = Math.min(live.x, live.x + live.width);
|
|
2020
2068
|
const y = Math.min(live.y, live.y + live.height);
|
|
2021
|
-
const sp =
|
|
2069
|
+
const sp = _chunkJBB3GDBBcjs.rectSubpath.call(void 0, { x, y, width: Math.abs(live.width), height: Math.abs(live.height) });
|
|
2022
2070
|
const r = _nullishCoalesce(live.radii, () => ( [0, 0, 0, 0]));
|
|
2023
|
-
out = [{ closed: true, anchors: sp.anchors.map((a, i) => r[i] > 0 ?
|
|
2071
|
+
out = [{ closed: true, anchors: sp.anchors.map((a, i) => r[i] > 0 ? _chunkJBB3GDBBcjs.setAnchorCorner.call(void 0, a, r[i]) : a) }];
|
|
2024
2072
|
break;
|
|
2025
2073
|
}
|
|
2026
2074
|
case "ellipse":
|
|
2027
|
-
out = [
|
|
2075
|
+
out = [_chunkJBB3GDBBcjs.ellipseSubpath.call(void 0, normBox(live))];
|
|
2028
2076
|
break;
|
|
2029
2077
|
case "polygon":
|
|
2030
|
-
out = [
|
|
2078
|
+
out = [_chunkJBB3GDBBcjs.polygonSubpath.call(void 0, normBox(live), live.sides)];
|
|
2031
2079
|
break;
|
|
2032
2080
|
case "star":
|
|
2033
|
-
out = [
|
|
2081
|
+
out = [_chunkJBB3GDBBcjs.starSubpath.call(void 0, normBox(live), live.points, Math.max(0, Math.min(1, live.innerRatio)))];
|
|
2034
2082
|
break;
|
|
2035
2083
|
case "line": {
|
|
2036
2084
|
const a = { x: live.x1, y: live.y1 };
|
|
@@ -2053,7 +2101,7 @@ function liveShapeSubpaths(live) {
|
|
|
2053
2101
|
}
|
|
2054
2102
|
}
|
|
2055
2103
|
const m = live.transform;
|
|
2056
|
-
return m && !
|
|
2104
|
+
return m && !_chunkJBB3GDBBcjs.isIdentityMatrix.call(void 0, m) ? mapSubpaths(out, (p) => _chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, p)) : out;
|
|
2057
2105
|
}
|
|
2058
2106
|
function normBox(b) {
|
|
2059
2107
|
return { x: Math.min(b.x, b.x + b.width), y: Math.min(b.y, b.y + b.height), width: Math.abs(b.width), height: Math.abs(b.height) };
|
|
@@ -2065,7 +2113,7 @@ var pathCache = /* @__PURE__ */ new WeakMap();
|
|
|
2065
2113
|
function componentPath(c) {
|
|
2066
2114
|
let p = pathCache.get(c.subpaths);
|
|
2067
2115
|
if (!p) {
|
|
2068
|
-
p =
|
|
2116
|
+
p = _chunkJBB3GDBBcjs.subpathsToBezier.call(void 0, c.subpaths);
|
|
2069
2117
|
pathCache.set(c.subpaths, p);
|
|
2070
2118
|
}
|
|
2071
2119
|
return p;
|
|
@@ -2392,7 +2440,7 @@ function matrixArg(v, path) {
|
|
|
2392
2440
|
if (!Array.isArray(v) || v.length !== 6 || !v.every(isNum)) fail(`${path} must be six numbers [a, b, c, d, e, f].`);
|
|
2393
2441
|
const m = v;
|
|
2394
2442
|
if (Math.abs(m[0] * m[3] - m[1] * m[2]) < 1e-12) fail(`${path} is singular.`);
|
|
2395
|
-
return
|
|
2443
|
+
return _chunkJBB3GDBBcjs.isIdentityMatrix.call(void 0, m) ? void 0 : [...m];
|
|
2396
2444
|
}
|
|
2397
2445
|
function normalizeLiveShape(v, path = "shape") {
|
|
2398
2446
|
if (!v || typeof v !== "object") return fail(`${path} must be an object with kind ${LIVE_SHAPE_KINDS.join(", ")}.`);
|
|
@@ -2453,7 +2501,7 @@ function normalizeSubpaths(v, path = "subpaths") {
|
|
|
2453
2501
|
if (typeof v === "string") {
|
|
2454
2502
|
let subs;
|
|
2455
2503
|
try {
|
|
2456
|
-
subs =
|
|
2504
|
+
subs = _chunkJBB3GDBBcjs.bezierToSubpaths.call(void 0, v);
|
|
2457
2505
|
} catch (e5) {
|
|
2458
2506
|
return fail(`${path}: could not read the SVG path data.`);
|
|
2459
2507
|
}
|
|
@@ -2539,15 +2587,15 @@ function updateShapeLayer(layers, id, change, env, action = "edit it") {
|
|
|
2539
2587
|
function transformShapeComponents(components, f, affine) {
|
|
2540
2588
|
return components.map((c) => {
|
|
2541
2589
|
if (affine && c.live) {
|
|
2542
|
-
const live = { ...c.live, transform:
|
|
2543
|
-
if (
|
|
2590
|
+
const live = { ...c.live, transform: _chunkJBB3GDBBcjs.multiplyMatrices.call(void 0, _nullishCoalesce(c.live.transform, () => ( _chunkJBB3GDBBcjs.IDENTITY_MATRIX)), affine) };
|
|
2591
|
+
if (_chunkJBB3GDBBcjs.isIdentityMatrix.call(void 0, live.transform)) delete live.transform;
|
|
2544
2592
|
return { op: c.op, subpaths: liveShapeSubpaths(live), live };
|
|
2545
2593
|
}
|
|
2546
2594
|
return { op: c.op, subpaths: mapSubpaths(c.subpaths, f) };
|
|
2547
2595
|
});
|
|
2548
2596
|
}
|
|
2549
2597
|
function offsetShape(layer, dx, dy, env) {
|
|
2550
|
-
const m =
|
|
2598
|
+
const m = _chunkJBB3GDBBcjs.translateMatrix.call(void 0, dx, dy);
|
|
2551
2599
|
const next = { ...layer, components: transformShapeComponents(layer.components, (p) => ({ x: p.x + dx, y: p.y + dy }), m) };
|
|
2552
2600
|
delete next.annotation;
|
|
2553
2601
|
return rerenderShape(next, env);
|
|
@@ -2555,7 +2603,7 @@ function offsetShape(layer, dx, dy, env) {
|
|
|
2555
2603
|
function mergeShapeComponents(components, fillRule = "nonzero") {
|
|
2556
2604
|
if (components.length < 2) return [...components];
|
|
2557
2605
|
const path = shapeOutline(components, fillRule);
|
|
2558
|
-
const subpaths =
|
|
2606
|
+
const subpaths = _chunkJBB3GDBBcjs.bezierToSubpaths.call(void 0, path);
|
|
2559
2607
|
if (!subpaths.length) fail("The components combine to nothing (the operations remove every area), so there is nothing to merge into.");
|
|
2560
2608
|
return [{ op: "combine", subpaths }];
|
|
2561
2609
|
}
|
|
@@ -2572,7 +2620,7 @@ function annotationPaint(color, opacity) {
|
|
|
2572
2620
|
function shapeFromAnnotation(a) {
|
|
2573
2621
|
const opacity = _nullishCoalesce(a.opacity, () => ( 1));
|
|
2574
2622
|
const lineWidth = "strokeWidth" in a && a.strokeWidth > 0 ? a.strokeWidth : 1;
|
|
2575
|
-
const rotation = a.rotation ?
|
|
2623
|
+
const rotation = a.rotation ? _chunkJBB3GDBBcjs.rotateMatrix.call(void 0, a.rotation, { x: a.x, y: a.y }) : void 0;
|
|
2576
2624
|
const t = rotation ? { transform: rotation } : {};
|
|
2577
2625
|
const live = (l) => liveComponent(l);
|
|
2578
2626
|
switch (a.type) {
|
|
@@ -2615,7 +2663,7 @@ function shapeFromAnnotation(a) {
|
|
|
2615
2663
|
case "pen": {
|
|
2616
2664
|
const paint = annotationPaint(a.strokeColor, opacity);
|
|
2617
2665
|
if (!paint) return null;
|
|
2618
|
-
const pts = rotation ? a.points.map((p) =>
|
|
2666
|
+
const pts = rotation ? a.points.map((p) => _chunkJBB3GDBBcjs.applyMatrix.call(void 0, rotation, p)) : a.points;
|
|
2619
2667
|
const subpaths = pts.length > 1 ? [{ closed: false, anchors: pts.map((p) => ({ x: p.x, y: p.y })) }] : [];
|
|
2620
2668
|
return {
|
|
2621
2669
|
components: [{ op: "combine", subpaths }],
|
|
@@ -2648,7 +2696,7 @@ var JOIN_SIGMA = 2;
|
|
|
2648
2696
|
function vectorMaskSegments(components) {
|
|
2649
2697
|
const out = [];
|
|
2650
2698
|
components.forEach((c, ci) => c.subpaths.forEach((sp, si) => {
|
|
2651
|
-
for (let k = 0; k <
|
|
2699
|
+
for (let k = 0; k < _chunkJBB3GDBBcjs.subpathSegmentCount.call(void 0, sp); k++) out.push({ component: ci, subpath: si, segment: k });
|
|
2652
2700
|
}));
|
|
2653
2701
|
return out;
|
|
2654
2702
|
}
|
|
@@ -2656,7 +2704,7 @@ function validVectorMaskEdges(edges, components) {
|
|
|
2656
2704
|
if (!_optionalChain([edges, 'optionalAccess', _34 => _34.length])) return [];
|
|
2657
2705
|
return edges.filter((e) => {
|
|
2658
2706
|
const sp = _optionalChain([components, 'access', _35 => _35[e.component], 'optionalAccess', _36 => _36.subpaths, 'access', _37 => _37[e.subpath]]);
|
|
2659
|
-
return Boolean(sp) && e.segment >= 0 && e.segment <
|
|
2707
|
+
return Boolean(sp) && e.segment >= 0 && e.segment < _chunkJBB3GDBBcjs.subpathSegmentCount.call(void 0, sp);
|
|
2660
2708
|
});
|
|
2661
2709
|
}
|
|
2662
2710
|
function reach(e) {
|
|
@@ -2679,8 +2727,8 @@ function hybridVectorMaskCoverage(vm, hard, width, height, guide) {
|
|
|
2679
2727
|
const seedClass = [];
|
|
2680
2728
|
vm.components.forEach(
|
|
2681
2729
|
(c, ci) => c.subpaths.forEach((sp, si) => {
|
|
2682
|
-
for (let k = 0; k <
|
|
2683
|
-
const seg =
|
|
2730
|
+
for (let k = 0; k < _chunkJBB3GDBBcjs.subpathSegmentCount.call(void 0, sp); k++) {
|
|
2731
|
+
const seg = _chunkJBB3GDBBcjs.subpathSegment.call(void 0, sp, k);
|
|
2684
2732
|
let len = 0;
|
|
2685
2733
|
for (let i = 1; i < seg.length; i++) len += Math.hypot(seg[i][0] - seg[i - 1][0], seg[i][1] - seg[i - 1][1]);
|
|
2686
2734
|
const steps = Math.max(2, Math.ceil(len * 2));
|
|
@@ -3580,7 +3628,7 @@ var fail3 = (message) => {
|
|
|
3580
3628
|
};
|
|
3581
3629
|
var TEXT_RENDER_MARGIN = _chunkPVJMTLPJcjs.MAX_EFFECT_REACH;
|
|
3582
3630
|
function textMatrix(layer) {
|
|
3583
|
-
return _nullishCoalesce(layer.transform, () => (
|
|
3631
|
+
return _nullishCoalesce(layer.transform, () => ( _chunkJBB3GDBBcjs.IDENTITY_MATRIX));
|
|
3584
3632
|
}
|
|
3585
3633
|
function rectCorners(r) {
|
|
3586
3634
|
return [
|
|
@@ -3591,7 +3639,7 @@ function rectCorners(r) {
|
|
|
3591
3639
|
];
|
|
3592
3640
|
}
|
|
3593
3641
|
function docRect(r, m) {
|
|
3594
|
-
const pts = rectCorners(r).map((p) =>
|
|
3642
|
+
const pts = rectCorners(r).map((p) => _chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, p));
|
|
3595
3643
|
const x0 = Math.floor(Math.min(...pts.map((p) => p.x)));
|
|
3596
3644
|
const y0 = Math.floor(Math.min(...pts.map((p) => p.y)));
|
|
3597
3645
|
const x1 = Math.ceil(Math.max(...pts.map((p) => p.x)));
|
|
@@ -3611,7 +3659,7 @@ function inkBounds(layout) {
|
|
|
3611
3659
|
for (const f of l.fragments) {
|
|
3612
3660
|
const pad = f.style.fontSize * (l.matrix ? 1 : 0.5);
|
|
3613
3661
|
const w = f.carets[f.carets.length - 1];
|
|
3614
|
-
const r =
|
|
3662
|
+
const r = _chunkJBB3GDBBcjs.transformTextRect.call(void 0, l.matrix, { x: f.x - pad, y: l.baseline - l.ascent - pad + Math.min(0, f.y - l.baseline), width: w + 2 * pad, height: l.ascent + l.descent + 2 * pad + Math.abs(f.y - l.baseline) });
|
|
3615
3663
|
if (!b) b = r;
|
|
3616
3664
|
else {
|
|
3617
3665
|
const x0 = Math.min(b.x, r.x);
|
|
@@ -3624,14 +3672,14 @@ function inkBounds(layout) {
|
|
|
3624
3672
|
}
|
|
3625
3673
|
function textOutlines(layer, shaper) {
|
|
3626
3674
|
if (!shaper.outline) fail3(`The text shaper "${shaper.id}" cannot give glyph outlines; plug in an outline shaper (createOutlineTextShaper) to convert text to shapes.`);
|
|
3627
|
-
const layout =
|
|
3675
|
+
const layout = _chunkJBB3GDBBcjs.layoutText.call(void 0, layer, shaper);
|
|
3628
3676
|
const m = textMatrix(layer);
|
|
3629
3677
|
const out = [];
|
|
3630
3678
|
for (const l of layout.lines) {
|
|
3631
3679
|
for (const f of l.fragments) {
|
|
3632
|
-
let path =
|
|
3633
|
-
for (const r of
|
|
3634
|
-
out.push({ fragment: f, path:
|
|
3680
|
+
let path = _chunkJBB3GDBBcjs.textFragmentOutline.call(void 0, shaper, layer.text, f);
|
|
3681
|
+
for (const r of _chunkJBB3GDBBcjs.textDecorations.call(void 0, f, l)) path = [...path, ..._chunkJBB3GDBBcjs.textRectPath.call(void 0, r)];
|
|
3682
|
+
out.push({ fragment: f, path: _chunkJBB3GDBBcjs.isIdentityMatrix.call(void 0, m) ? path : _chunkGF2RBSDMcjs.transformBezierPath.call(void 0, path, m) });
|
|
3635
3683
|
}
|
|
3636
3684
|
}
|
|
3637
3685
|
return out;
|
|
@@ -3687,7 +3735,7 @@ function renderOnCanvas(layer, shaper, region, env) {
|
|
|
3687
3735
|
const canvas = env.createCanvas(region.width, region.height);
|
|
3688
3736
|
const ctx = canvas.getContext("2d");
|
|
3689
3737
|
if (!ctx || typeof ctx.getImageData !== "function") return null;
|
|
3690
|
-
const layout =
|
|
3738
|
+
const layout = _chunkJBB3GDBBcjs.layoutText.call(void 0, layer, shaper);
|
|
3691
3739
|
const m = textMatrix(layer);
|
|
3692
3740
|
ctx.setTransform(1, 0, 0, 1, 0, 0);
|
|
3693
3741
|
ctx.clearRect(0, 0, region.width, region.height);
|
|
@@ -3697,8 +3745,8 @@ function renderOnCanvas(layer, shaper, region, env) {
|
|
|
3697
3745
|
const [r, g, b] = rgbOf(f.style.color);
|
|
3698
3746
|
ctx.fillStyle = `rgb(${r}, ${g}, ${b})`;
|
|
3699
3747
|
ctx.globalAlpha = _nullishCoalesce(f.style.opacity, () => ( 1));
|
|
3700
|
-
|
|
3701
|
-
for (const d of
|
|
3748
|
+
_chunkJBB3GDBBcjs.drawTextFragment.call(void 0, ctx, shaper, layer.text, f);
|
|
3749
|
+
for (const d of _chunkJBB3GDBBcjs.textDecorations.call(void 0, f, l)) ctx.fillRect(d.x, d.y, d.width, d.height);
|
|
3702
3750
|
}
|
|
3703
3751
|
}
|
|
3704
3752
|
ctx.globalAlpha = 1;
|
|
@@ -3709,7 +3757,7 @@ function renderOnCanvas(layer, shaper, region, env) {
|
|
|
3709
3757
|
function renderText(layer, env) {
|
|
3710
3758
|
const shaper = env.shaper;
|
|
3711
3759
|
if (!shaper || !shaper.outline && !shaper.draw) return null;
|
|
3712
|
-
const layout =
|
|
3760
|
+
const layout = _chunkJBB3GDBBcjs.layoutText.call(void 0, layer, shaper);
|
|
3713
3761
|
const ink = inkBounds(layout);
|
|
3714
3762
|
const clip = { x: -TEXT_RENDER_MARGIN, y: -TEXT_RENDER_MARGIN, width: env.width + 2 * TEXT_RENDER_MARGIN, height: env.height + 2 * TEXT_RENDER_MARGIN };
|
|
3715
3763
|
const region = ink ? intersect2(docRect(ink, textMatrix(layer)), clip) : null;
|
|
@@ -3810,7 +3858,7 @@ function patchParagraphStyle(base, patch, path = "paragraph") {
|
|
|
3810
3858
|
continue;
|
|
3811
3859
|
}
|
|
3812
3860
|
const value = k === "autoLeading" ? num(v, `${path}.${k}`, 0.1, 10) : num(v, `${path}.${k}`, -1e4, 1e4);
|
|
3813
|
-
if (k === "autoLeading" && value ===
|
|
3861
|
+
if (k === "autoLeading" && value === _chunkJBB3GDBBcjs.DEFAULT_AUTO_LEADING || k !== "autoLeading" && value === 0) delete o[k];
|
|
3814
3862
|
else o[k] = value;
|
|
3815
3863
|
} else fail3(`${path}.${k} is not a paragraph style field; use ${PARAGRAPH_STYLE_FIELDS.join(", ")}.`);
|
|
3816
3864
|
}
|
|
@@ -3851,15 +3899,15 @@ function createTypeLayer(init, env, id = newLayerId(), lenient = false) {
|
|
|
3851
3899
|
opacity: 1,
|
|
3852
3900
|
blend: "normal",
|
|
3853
3901
|
text: text3,
|
|
3854
|
-
runs:
|
|
3855
|
-
paragraphs:
|
|
3902
|
+
runs: _chunkJBB3GDBBcjs.fitRuns.call(void 0, init.runs, text3.length, _chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE),
|
|
3903
|
+
paragraphs: _chunkJBB3GDBBcjs.fitParagraphRuns.call(void 0, _nullishCoalesce(init.paragraphs, () => ( [{ length: text3.length, style: {} }])), text3),
|
|
3856
3904
|
frame: init.frame,
|
|
3857
3905
|
...init.orientation === "vertical" ? { orientation: "vertical" } : {},
|
|
3858
3906
|
surface: _chunk474IQG74cjs.emptySurface.call(void 0, 4),
|
|
3859
3907
|
offset: { x: 0, y: 0 }
|
|
3860
3908
|
};
|
|
3861
|
-
if (!layer.runs.length) layer.runs = [{ length: 0, style: _nullishCoalesce(_optionalChain([init, 'access', _79 => _79.runs, 'access', _80 => _80[0], 'optionalAccess', _81 => _81.style]), () => (
|
|
3862
|
-
if (init.transform && !
|
|
3909
|
+
if (!layer.runs.length) layer.runs = [{ length: 0, style: _nullishCoalesce(_optionalChain([init, 'access', _79 => _79.runs, 'access', _80 => _80[0], 'optionalAccess', _81 => _81.style]), () => ( _chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE)) }];
|
|
3910
|
+
if (init.transform && !_chunkJBB3GDBBcjs.isIdentityMatrix.call(void 0, init.transform)) layer.transform = init.transform;
|
|
3863
3911
|
if (lenient && !renderText(layer, env)) return { ...layer, rendering: "stored" };
|
|
3864
3912
|
return rerenderText(layer, env);
|
|
3865
3913
|
}
|
|
@@ -3870,24 +3918,24 @@ function updateTypeLayer(layers, id, change, env, action = "edit it") {
|
|
|
3870
3918
|
const next = { ...current, ...patch };
|
|
3871
3919
|
if (!("annotation" in patch)) delete next.annotation;
|
|
3872
3920
|
if (next.orientation !== "vertical") delete next.orientation;
|
|
3873
|
-
if ("text" in patch || "runs" in patch) next.runs =
|
|
3874
|
-
if (!next.runs.length) next.runs = [{ length: 0, style:
|
|
3875
|
-
if ("text" in patch || "paragraphs" in patch) next.paragraphs =
|
|
3921
|
+
if ("text" in patch || "runs" in patch) next.runs = _chunkJBB3GDBBcjs.fitRuns.call(void 0, next.runs, next.text.length, _nullishCoalesce(_optionalChain([current, 'access', _82 => _82.runs, 'access', _83 => _83[0], 'optionalAccess', _84 => _84.style]), () => ( _chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE)));
|
|
3922
|
+
if (!next.runs.length) next.runs = [{ length: 0, style: _chunkJBB3GDBBcjs.styleAt.call(void 0, current.runs, 0, _chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE) }];
|
|
3923
|
+
if ("text" in patch || "paragraphs" in patch) next.paragraphs = _chunkJBB3GDBBcjs.fitParagraphRuns.call(void 0, next.paragraphs, next.text);
|
|
3876
3924
|
const rendered = rerenderText(next, env);
|
|
3877
3925
|
return { layers: _chunkPVJMTLPJcjs.mapLayer.call(void 0, layers, id, () => rendered), layer: rendered };
|
|
3878
3926
|
}
|
|
3879
3927
|
function replaceTextRange(layer, start, end, insert) {
|
|
3880
3928
|
const text3 = layer.text.slice(0, start) + insert + layer.text.slice(end);
|
|
3881
|
-
const style =
|
|
3882
|
-
const runs =
|
|
3883
|
-
const pstyle =
|
|
3884
|
-
const paragraphs =
|
|
3885
|
-
return { text: text3, runs, paragraphs:
|
|
3929
|
+
const style = _chunkJBB3GDBBcjs.styleAt.call(void 0, layer.runs, start > 0 && start === layer.text.length ? start - 1 : start, _chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE);
|
|
3930
|
+
const runs = _chunkJBB3GDBBcjs.spliceRuns.call(void 0, layer.runs, start, end, insert.length, style);
|
|
3931
|
+
const pstyle = _chunkJBB3GDBBcjs.styleAt.call(void 0, layer.paragraphs, start, {});
|
|
3932
|
+
const paragraphs = _chunkJBB3GDBBcjs.spliceRuns.call(void 0, layer.paragraphs, start, end, insert.length, pstyle);
|
|
3933
|
+
return { text: text3, runs, paragraphs: _chunkJBB3GDBBcjs.fitParagraphRuns.call(void 0, paragraphs, text3) };
|
|
3886
3934
|
}
|
|
3887
3935
|
function transformTypeLayer(layer, m) {
|
|
3888
|
-
const t =
|
|
3936
|
+
const t = _chunkJBB3GDBBcjs.multiplyMatrices.call(void 0, textMatrix(layer), m);
|
|
3889
3937
|
const next = { ...layer };
|
|
3890
|
-
if (
|
|
3938
|
+
if (_chunkJBB3GDBBcjs.isIdentityMatrix.call(void 0, t)) delete next.transform;
|
|
3891
3939
|
else next.transform = t;
|
|
3892
3940
|
delete next.annotation;
|
|
3893
3941
|
return next;
|
|
@@ -3895,7 +3943,7 @@ function transformTypeLayer(layer, m) {
|
|
|
3895
3943
|
function typeFrame(layer, shaper) {
|
|
3896
3944
|
if (layer.frame.kind === "box") return { x: 0, y: 0, width: layer.frame.width, height: layer.frame.height };
|
|
3897
3945
|
if (!shaper) return fail3("Type layers need a text shaper to be measured; none is set here.");
|
|
3898
|
-
const b =
|
|
3946
|
+
const b = _chunkJBB3GDBBcjs.layoutText.call(void 0, layer, shaper).bounds;
|
|
3899
3947
|
return { x: b.x, y: b.y, width: Math.max(b.width, 1), height: Math.max(b.height, 1) };
|
|
3900
3948
|
}
|
|
3901
3949
|
function typeAsPixelLayer(layer) {
|
|
@@ -3903,7 +3951,7 @@ function typeAsPixelLayer(layer) {
|
|
|
3903
3951
|
return { ...rest, type: "pixel", surface: layer.surface, offset: { x: 0, y: 0 } };
|
|
3904
3952
|
}
|
|
3905
3953
|
function toTextSpace(layer, p) {
|
|
3906
|
-
return
|
|
3954
|
+
return _chunkJBB3GDBBcjs.applyMatrix.call(void 0, _chunkJBB3GDBBcjs.invertMatrix.call(void 0, textMatrix(layer)), p);
|
|
3907
3955
|
}
|
|
3908
3956
|
function typeFromAnnotation(a) {
|
|
3909
3957
|
if (a.type !== "text") return null;
|
|
@@ -3917,7 +3965,7 @@ function typeFromAnnotation(a) {
|
|
|
3917
3965
|
if (op !== 1) style.opacity = op;
|
|
3918
3966
|
const text3 = t.text.replace(/\r?\n|\r/g, " ");
|
|
3919
3967
|
const translate = [1, 0, 0, 1, t.x, t.y];
|
|
3920
|
-
const transform = t.rotation ?
|
|
3968
|
+
const transform = t.rotation ? _chunkJBB3GDBBcjs.multiplyMatrices.call(void 0, translate, _chunkJBB3GDBBcjs.rotateMatrix.call(void 0, t.rotation, { x: t.x, y: t.y })) : translate;
|
|
3921
3969
|
return { text: text3, runs: [{ length: text3.length, style }], frame: { kind: "point", origin: "top" }, transform };
|
|
3922
3970
|
}
|
|
3923
3971
|
function annotationOfType(layer) {
|
|
@@ -4557,7 +4605,7 @@ function identityTransform(box2) {
|
|
|
4557
4605
|
}
|
|
4558
4606
|
function cornersFromMatrix(box2, m) {
|
|
4559
4607
|
const q2 = _chunkQT26RHKKcjs.boxQuad.call(void 0, box2);
|
|
4560
|
-
return [
|
|
4608
|
+
return [_chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, q2[0]), _chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, q2[1]), _chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, q2[2]), _chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, q2[3])];
|
|
4561
4609
|
}
|
|
4562
4610
|
function matrixFromCorners(box2, corners, eps = 1e-6) {
|
|
4563
4611
|
const [tl, tr, br, bl] = corners;
|
|
@@ -4574,7 +4622,7 @@ function transformHomography(geometry) {
|
|
|
4574
4622
|
function hasWarp(geometry) {
|
|
4575
4623
|
const w = geometry.warp;
|
|
4576
4624
|
if (!w) return false;
|
|
4577
|
-
const id =
|
|
4625
|
+
const id = _chunkJBB3GDBBcjs.identityWarpMesh.call(void 0, geometry.box, w.us.length - 1, w.vs.length - 1);
|
|
4578
4626
|
if (id.points.length !== w.points.length || id.us.some((u, i) => Math.abs(u - w.us[i]) > 1e-12) || id.vs.some((v, i) => Math.abs(v - w.vs[i]) > 1e-12)) return true;
|
|
4579
4627
|
return w.points.some((p, i) => Math.abs(p.x - id.points[i].x) > 1e-6 || Math.abs(p.y - id.points[i].y) > 1e-6);
|
|
4580
4628
|
}
|
|
@@ -4589,7 +4637,7 @@ function transformMap(geometry) {
|
|
|
4589
4637
|
const { box: box2 } = geometry;
|
|
4590
4638
|
const warp = hasWarp(geometry) ? geometry.warp : null;
|
|
4591
4639
|
if (!warp) return (p) => _chunkQT26RHKKcjs.applyHomography.call(void 0, h, p);
|
|
4592
|
-
return (p) => _chunkQT26RHKKcjs.applyHomography.call(void 0, h,
|
|
4640
|
+
return (p) => _chunkQT26RHKKcjs.applyHomography.call(void 0, h, _chunkJBB3GDBBcjs.evalWarpMesh.call(void 0, warp, (p.x - box2.x) / box2.width, (p.y - box2.y) / box2.height));
|
|
4593
4641
|
}
|
|
4594
4642
|
function transformedPoint(geometry, fx, fy) {
|
|
4595
4643
|
const f = transformMap(geometry);
|
|
@@ -4633,8 +4681,8 @@ function matrixFromParams(box2, params) {
|
|
|
4633
4681
|
const tx = Math.tan((_nullishCoalesce(params.skewX, () => ( 0))) * Math.PI / 180);
|
|
4634
4682
|
const ty = Math.tan((_nullishCoalesce(params.skewY, () => ( 0))) * Math.PI / 180);
|
|
4635
4683
|
const ref = referencePoint(box2, params.reference);
|
|
4636
|
-
const linear =
|
|
4637
|
-
return
|
|
4684
|
+
const linear = _chunkJBB3GDBBcjs.multiplyMatrices.call(void 0, _chunkJBB3GDBBcjs.multiplyMatrices.call(void 0, [1, ty, tx, 1, 0, 0], [sx, 0, 0, sy, 0, 0]), _chunkJBB3GDBBcjs.rotateMatrix.call(void 0, _nullishCoalesce(params.rotate, () => ( 0))));
|
|
4685
|
+
return _chunkJBB3GDBBcjs.multiplyMatrices.call(void 0, _chunkJBB3GDBBcjs.matrixAbout.call(void 0, linear, ref), _chunkJBB3GDBBcjs.translateMatrix.call(void 0, _nullishCoalesce(params.dx, () => ( 0)), _nullishCoalesce(params.dy, () => ( 0))));
|
|
4638
4686
|
}
|
|
4639
4687
|
function describeTransform(geometry, reference = "center") {
|
|
4640
4688
|
const m = hasWarp(geometry) ? null : matrixFromCorners(geometry.box, geometry.corners);
|
|
@@ -4651,7 +4699,7 @@ function describeTransform(geometry, reference = "center") {
|
|
|
4651
4699
|
const shear = sxAbs ? (a * c + b * d) / sxAbs : 0;
|
|
4652
4700
|
const sy = sxAbs ? (a * d - b * c) / sxAbs : 0;
|
|
4653
4701
|
const skew = sxAbs ? Math.atan(shear / sxAbs) * 180 / Math.PI : 0;
|
|
4654
|
-
const at =
|
|
4702
|
+
const at = _chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, ref);
|
|
4655
4703
|
const clean = (v) => Math.abs(v) < 1e-9 ? 0 : v;
|
|
4656
4704
|
return {
|
|
4657
4705
|
affine: true,
|
|
@@ -4669,24 +4717,24 @@ function applyParams(geometry, params) {
|
|
|
4669
4717
|
const ref = params.reference && typeof params.reference === "object" ? params.reference : anchorPoint(geometry, _nullishCoalesce(params.reference, () => ( "center")));
|
|
4670
4718
|
const m = matrixFromParams({ x: ref.x, y: ref.y, width: 0, height: 0 }, { ...params, reference: ref });
|
|
4671
4719
|
const c = geometry.corners;
|
|
4672
|
-
return [
|
|
4720
|
+
return [_chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, c[0]), _chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, c[1]), _chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, c[2]), _chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, c[3])];
|
|
4673
4721
|
}
|
|
4674
4722
|
function flipCorners(geometry, axis) {
|
|
4675
4723
|
const c = anchorPoint(geometry, "center");
|
|
4676
4724
|
const m = axis === "horizontal" ? [-1, 0, 0, 1, 2 * c.x, 0] : [1, 0, 0, -1, 0, 2 * c.y];
|
|
4677
4725
|
const q2 = geometry.corners;
|
|
4678
|
-
return [
|
|
4726
|
+
return [_chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, q2[0]), _chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, q2[1]), _chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, q2[2]), _chunkJBB3GDBBcjs.applyMatrix.call(void 0, m, q2[3])];
|
|
4679
4727
|
}
|
|
4680
4728
|
function boxPointOf(geometry, p) {
|
|
4681
4729
|
const m = matrixFromCorners(geometry.box, geometry.corners);
|
|
4682
|
-
if (m) return
|
|
4730
|
+
if (m) return _chunkJBB3GDBBcjs.applyMatrix.call(void 0, _chunkJBB3GDBBcjs.invertMatrix.call(void 0, m), p);
|
|
4683
4731
|
return null;
|
|
4684
4732
|
}
|
|
4685
4733
|
function presetWarp(box2, preset) {
|
|
4686
|
-
return
|
|
4734
|
+
return _chunkJBB3GDBBcjs.warpPresetMesh.call(void 0, preset, box2);
|
|
4687
4735
|
}
|
|
4688
4736
|
function isValidWarp(mesh) {
|
|
4689
|
-
return
|
|
4737
|
+
return _chunkJBB3GDBBcjs.isValidWarpMesh.call(void 0, mesh);
|
|
4690
4738
|
}
|
|
4691
4739
|
function geometryHomography(geometry) {
|
|
4692
4740
|
const m = matrixFromCorners(geometry.box, geometry.corners);
|
|
@@ -4965,7 +5013,7 @@ function normalizePlacement(raw, contents) {
|
|
|
4965
5013
|
}
|
|
4966
5014
|
const out = { corners: c.map((p) => ({ x: p.x, y: p.y })) };
|
|
4967
5015
|
if (raw.warp) {
|
|
4968
|
-
if (!
|
|
5016
|
+
if (!_chunkJBB3GDBBcjs.isValidWarpMesh.call(void 0, raw.warp)) fail4("warp must be a mesh with us and vs (knots from 0 to 1, increasing) and (3\xB7columns + 1) \xD7 (3\xB7rows + 1) finite points in contents pixels.");
|
|
4969
5017
|
out.warp = { us: [...raw.warp.us], vs: [...raw.warp.vs], points: raw.warp.points.map((p) => ({ x: p.x, y: p.y })) };
|
|
4970
5018
|
}
|
|
4971
5019
|
if (raw.interpolation !== void 0) {
|
|
@@ -5069,7 +5117,7 @@ function translateLayer(layer, dx, dy) {
|
|
|
5069
5117
|
case "shape": {
|
|
5070
5118
|
const next = {
|
|
5071
5119
|
...layer,
|
|
5072
|
-
components: transformShapeComponents(layer.components, (p) => ({ x: p.x + dx, y: p.y + dy }),
|
|
5120
|
+
components: transformShapeComponents(layer.components, (p) => ({ x: p.x + dx, y: p.y + dy }), _chunkJBB3GDBBcjs.translateMatrix.call(void 0, dx, dy)),
|
|
5073
5121
|
surface: _chunk474IQG74cjs.translateSurface.call(void 0, layer.surface, dx, dy),
|
|
5074
5122
|
mask: moveMask(layer.mask)
|
|
5075
5123
|
};
|
|
@@ -5078,7 +5126,7 @@ function translateLayer(layer, dx, dy) {
|
|
|
5078
5126
|
return next;
|
|
5079
5127
|
}
|
|
5080
5128
|
case "type": {
|
|
5081
|
-
const next = { ...transformTypeLayer(layer,
|
|
5129
|
+
const next = { ...transformTypeLayer(layer, _chunkJBB3GDBBcjs.translateMatrix.call(void 0, dx, dy)), surface: _chunk474IQG74cjs.translateSurface.call(void 0, layer.surface, dx, dy), mask: moveMask(layer.mask) };
|
|
5082
5130
|
if (!next.mask) delete next.mask;
|
|
5083
5131
|
return next;
|
|
5084
5132
|
}
|
|
@@ -5264,7 +5312,7 @@ function refitPlacement(layer, contents) {
|
|
|
5264
5312
|
});
|
|
5265
5313
|
const out = { corners: pts };
|
|
5266
5314
|
if (layer.placement.interpolation) out.interpolation = layer.placement.interpolation;
|
|
5267
|
-
if (layer.placement.warp) out.warp =
|
|
5315
|
+
if (layer.placement.warp) out.warp = _chunkJBB3GDBBcjs.mapWarpMeshPoints.call(void 0, layer.placement.warp, (p) => ({ x: p.x * W1 / W0, y: p.y * H1 / H0 }));
|
|
5268
5316
|
return out;
|
|
5269
5317
|
}
|
|
5270
5318
|
function normalizeSmartFilter(raw, id = newLayerId("flt")) {
|
|
@@ -5641,7 +5689,7 @@ function readType(r, base, ctx) {
|
|
|
5641
5689
|
const text3 = normalizeText(_nullishCoalesce(r.text, () => ( "")));
|
|
5642
5690
|
const runs = (Array.isArray(r.runs) ? r.runs : []).map((run, i) => ({
|
|
5643
5691
|
length: Math.max(0, Math.floor(num2(_optionalChain([run, 'optionalAccess', _166 => _166.length]), 0, 1e9, 0))),
|
|
5644
|
-
style: patchTextStyle(
|
|
5692
|
+
style: patchTextStyle(_chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE, _optionalChain([run, 'optionalAccess', _167 => _167.style]) && typeof run.style === "object" ? run.style : {}, `runs[${i}].style`)
|
|
5645
5693
|
}));
|
|
5646
5694
|
const paragraphs = (Array.isArray(r.paragraphs) ? r.paragraphs : []).map((p, i) => ({
|
|
5647
5695
|
length: Math.max(0, Math.floor(num2(_optionalChain([p, 'optionalAccess', _168 => _168.length]), 0, 1e9, 0))),
|
|
@@ -5654,13 +5702,13 @@ function readType(r, base, ctx) {
|
|
|
5654
5702
|
...base,
|
|
5655
5703
|
type: "type",
|
|
5656
5704
|
text: text3,
|
|
5657
|
-
runs:
|
|
5658
|
-
paragraphs:
|
|
5705
|
+
runs: _chunkJBB3GDBBcjs.fitRuns.call(void 0, runs, text3.length, _chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE),
|
|
5706
|
+
paragraphs: _chunkJBB3GDBBcjs.fitParagraphRuns.call(void 0, paragraphs.length ? paragraphs : [{ length: text3.length, style: {} }], text3),
|
|
5659
5707
|
frame,
|
|
5660
5708
|
surface: _chunk474IQG74cjs.emptySurface.call(void 0, 4),
|
|
5661
5709
|
offset: { x: 0, y: 0 }
|
|
5662
5710
|
};
|
|
5663
|
-
if (!layer.runs.length) layer.runs = [{ length: 0, style: _nullishCoalesce(_optionalChain([runs, 'access', _172 => _172[0], 'optionalAccess', _173 => _173.style]), () => (
|
|
5711
|
+
if (!layer.runs.length) layer.runs = [{ length: 0, style: _nullishCoalesce(_optionalChain([runs, 'access', _172 => _172[0], 'optionalAccess', _173 => _173.style]), () => ( _chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE)) }];
|
|
5664
5712
|
if (m) layer.transform = m;
|
|
5665
5713
|
if (r.orientation === "vertical") layer.orientation = "vertical";
|
|
5666
5714
|
if (r.antiAlias === false) layer.antiAlias = false;
|
|
@@ -6130,7 +6178,7 @@ function readSmartObject(r, base, ctx) {
|
|
|
6130
6178
|
let placement;
|
|
6131
6179
|
try {
|
|
6132
6180
|
const raw = { corners: p.corners };
|
|
6133
|
-
if (p.warp &&
|
|
6181
|
+
if (p.warp && _chunkJBB3GDBBcjs.isValidWarpMesh.call(void 0, p.warp)) raw.warp = p.warp;
|
|
6134
6182
|
if (_chunkPVJMTLPJcjs.isInterpolation.call(void 0, p.interpolation)) raw.interpolation = p.interpolation;
|
|
6135
6183
|
placement = normalizePlacement(raw, contents);
|
|
6136
6184
|
} catch (e) {
|
|
@@ -7301,7 +7349,7 @@ function vectorBlockForComponents(components, inverted, width, height, flags = 0
|
|
|
7301
7349
|
const fr = (p) => ({ x: p.x / w, y: p.y / h });
|
|
7302
7350
|
const subpaths = [];
|
|
7303
7351
|
components.forEach((c, ci) => {
|
|
7304
|
-
|
|
7352
|
+
_chunkJBB3GDBBcjs.expandVectorCorners.call(void 0, c.subpaths).forEach((sp, si) => {
|
|
7305
7353
|
if (!sp.anchors.length) return;
|
|
7306
7354
|
subpaths.push({
|
|
7307
7355
|
closed: sp.closed,
|
|
@@ -8127,7 +8175,7 @@ function merged(levels) {
|
|
|
8127
8175
|
function charStyle(d, fonts, notes, vertical = false) {
|
|
8128
8176
|
const n = (k) => eNum(eGet(d, k));
|
|
8129
8177
|
const flag = (k) => eBool(eGet(d, k));
|
|
8130
|
-
const s = { ...
|
|
8178
|
+
const s = { ..._chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE };
|
|
8131
8179
|
const fi = n("Font");
|
|
8132
8180
|
const ps = fi !== void 0 ? fonts[fi] : void 0;
|
|
8133
8181
|
if (ps) {
|
|
@@ -8212,7 +8260,7 @@ function typeFromTySh(data, notes) {
|
|
|
8212
8260
|
}
|
|
8213
8261
|
const edText = _nullishCoalesce(eStr(ePath(_nullishCoalesce(engine, () => ( void 0)), ["EngineDict", "Editor", "Text"])), () => ( ""));
|
|
8214
8262
|
const text3 = (_nullishCoalesce(txt, () => ( edText.replace(/\r$/, "")))).replace(/\r\n?/g, "\n");
|
|
8215
|
-
let runs = [{ length: text3.length, style: { ...
|
|
8263
|
+
let runs = [{ length: text3.length, style: { ..._chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE } }];
|
|
8216
8264
|
let paragraphs = [{ length: text3.length, style: {} }];
|
|
8217
8265
|
let frame = { kind: "point" };
|
|
8218
8266
|
let transform = t.transform;
|
|
@@ -8268,14 +8316,14 @@ function typeFromTySh(data, notes) {
|
|
|
8268
8316
|
const b = eArray(ePath(shape, ["Cookie", "Photoshop", "BoxBounds"])).map((v) => _nullishCoalesce(eNum(v), () => ( 0)));
|
|
8269
8317
|
if (b.length === 4 && b[2] > b[0] && b[3] > b[1]) {
|
|
8270
8318
|
frame = { kind: "box", width: b[2] - b[0], height: b[3] - b[1] };
|
|
8271
|
-
transform =
|
|
8319
|
+
transform = _chunkJBB3GDBBcjs.multiplyMatrices.call(void 0, [1, 0, 0, 1, b[0], b[1]], t.transform);
|
|
8272
8320
|
}
|
|
8273
8321
|
}
|
|
8274
8322
|
}
|
|
8275
8323
|
return {
|
|
8276
8324
|
text: text3,
|
|
8277
|
-
runs:
|
|
8278
|
-
paragraphs:
|
|
8325
|
+
runs: _chunkJBB3GDBBcjs.fitRuns.call(void 0, runs, text3.length, _chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE),
|
|
8326
|
+
paragraphs: _chunkJBB3GDBBcjs.fitParagraphRuns.call(void 0, paragraphs, text3),
|
|
8279
8327
|
frame,
|
|
8280
8328
|
orientation: vertical ? "vertical" : "horizontal",
|
|
8281
8329
|
transform,
|
|
@@ -8351,7 +8399,7 @@ function buildEngineData(layer, template) {
|
|
|
8351
8399
|
fonts.push(ps);
|
|
8352
8400
|
return fonts.length - 1;
|
|
8353
8401
|
};
|
|
8354
|
-
const runs =
|
|
8402
|
+
const runs = _chunkJBB3GDBBcjs.fitRuns.call(void 0, layer.runs, layer.text.length, _chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE);
|
|
8355
8403
|
const vertical = layer.orientation === "vertical";
|
|
8356
8404
|
const sruns = [];
|
|
8357
8405
|
const slens = [];
|
|
@@ -8360,10 +8408,10 @@ function buildEngineData(layer, template) {
|
|
|
8360
8408
|
slens.push(E.int(r.length + (i === runs.length - 1 ? 1 : 0)));
|
|
8361
8409
|
});
|
|
8362
8410
|
if (!runs.length) {
|
|
8363
|
-
sruns.push(E.dict([["StyleSheet", E.dict([["StyleSheetData", styleSheetData(
|
|
8411
|
+
sruns.push(E.dict([["StyleSheet", E.dict([["StyleSheetData", styleSheetData(_chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE, fontIndex(postScriptFor(_chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE)))]])]]));
|
|
8364
8412
|
slens.push(E.int(1));
|
|
8365
8413
|
}
|
|
8366
|
-
const paras =
|
|
8414
|
+
const paras = _chunkJBB3GDBBcjs.fitParagraphRuns.call(void 0, layer.paragraphs, layer.text);
|
|
8367
8415
|
const pruns = [];
|
|
8368
8416
|
const plens = [];
|
|
8369
8417
|
paras.forEach((p, i) => {
|
|
@@ -8419,7 +8467,7 @@ function buildEngineData(layer, template) {
|
|
|
8419
8467
|
eSet(e, key, rd);
|
|
8420
8468
|
}
|
|
8421
8469
|
eSet(rd, "FontSet", fontSet);
|
|
8422
|
-
if (!eGet(rd, "StyleSheetSet")) eSet(rd, "StyleSheetSet", E.array([E.dict([["Name", E.str("Normal RGB")], ["StyleSheetData", styleSheetData(_nullishCoalesce(_optionalChain([runs, 'access', _248 => _248[0], 'optionalAccess', _249 => _249.style]), () => (
|
|
8470
|
+
if (!eGet(rd, "StyleSheetSet")) eSet(rd, "StyleSheetSet", E.array([E.dict([["Name", E.str("Normal RGB")], ["StyleSheetData", styleSheetData(_nullishCoalesce(_optionalChain([runs, 'access', _248 => _248[0], 'optionalAccess', _249 => _249.style]), () => ( _chunkJBB3GDBBcjs.DEFAULT_TEXT_STYLE)), 0)]])]));
|
|
8423
8471
|
if (!eGet(rd, "ParagraphSheetSet")) eSet(rd, "ParagraphSheetSet", E.array([E.dict([["Name", E.str("Normal RGB")], ["DefaultStyleSheet", E.int(0)], ["Properties", paragraphProperties({})]])]));
|
|
8424
8472
|
if (!eGet(rd, "TheNormalStyleSheet")) eSet(rd, "TheNormalStyleSheet", E.int(0));
|
|
8425
8473
|
if (!eGet(rd, "TheNormalParagraphSheet")) eSet(rd, "TheNormalParagraphSheet", E.int(0));
|
|
@@ -8430,13 +8478,13 @@ function inkBounds2(layer) {
|
|
|
8430
8478
|
if (layer.frame.kind === "box") return [0, 0, layer.frame.width, layer.frame.height];
|
|
8431
8479
|
const b = _chunk474IQG74cjs.contentBounds.call(void 0, layer.surface);
|
|
8432
8480
|
if (!b) return [0, 0, 0, 0];
|
|
8433
|
-
const inv =
|
|
8481
|
+
const inv = _chunkJBB3GDBBcjs.invertMatrix.call(void 0, textMatrix(layer));
|
|
8434
8482
|
const pts = [
|
|
8435
8483
|
{ x: b.x, y: b.y },
|
|
8436
8484
|
{ x: b.x + b.width, y: b.y },
|
|
8437
8485
|
{ x: b.x + b.width, y: b.y + b.height },
|
|
8438
8486
|
{ x: b.x, y: b.y + b.height }
|
|
8439
|
-
].map((p) =>
|
|
8487
|
+
].map((p) => _chunkJBB3GDBBcjs.applyMatrix.call(void 0, inv, p));
|
|
8440
8488
|
return [Math.min(...pts.map((p) => p.x)), Math.min(...pts.map((p) => p.y)), Math.max(...pts.map((p) => p.x)), Math.max(...pts.map((p) => p.y))];
|
|
8441
8489
|
}
|
|
8442
8490
|
function tyShForLayer(layer) {
|
|
@@ -8717,7 +8765,7 @@ function filterMaskItem(placed, mask, area) {
|
|
|
8717
8765
|
var warpStyleOf = (name) => {
|
|
8718
8766
|
if (!name.startsWith("warp")) return null;
|
|
8719
8767
|
const s = _optionalChain([name, 'access', _263 => _263[4], 'optionalAccess', _264 => _264.toLowerCase, 'call', _265 => _265()]) + name.slice(5);
|
|
8720
|
-
return
|
|
8768
|
+
return _chunkJBB3GDBBcjs.WARP_STYLES.includes(s) ? s : null;
|
|
8721
8769
|
};
|
|
8722
8770
|
function warpFromDescriptor(w, contents) {
|
|
8723
8771
|
const full = { x: 0, y: 0, width: contents.width, height: contents.height };
|
|
@@ -8747,7 +8795,7 @@ function warpFromDescriptor(w, contents) {
|
|
|
8747
8795
|
} else {
|
|
8748
8796
|
const style = warpStyleOf(styleName);
|
|
8749
8797
|
if (!style) return void 0;
|
|
8750
|
-
mesh =
|
|
8798
|
+
mesh = _chunkJBB3GDBBcjs.warpPresetMesh.call(void 0,
|
|
8751
8799
|
{
|
|
8752
8800
|
style,
|
|
8753
8801
|
bend: _nullishCoalesce(descNumber(w, "warpValue"), () => ( 0)),
|
|
@@ -8762,7 +8810,7 @@ function warpFromDescriptor(w, contents) {
|
|
|
8762
8810
|
const same = Math.abs(bounds.x) < 1e-6 && Math.abs(bounds.y) < 1e-6 && Math.abs(bounds.width - contents.width) < 1e-6 && Math.abs(bounds.height - contents.height) < 1e-6;
|
|
8763
8811
|
if (!same) {
|
|
8764
8812
|
const m = mesh;
|
|
8765
|
-
mesh =
|
|
8813
|
+
mesh = _chunkJBB3GDBBcjs.fitWarpMesh.call(void 0, (s, t) => _chunkJBB3GDBBcjs.evalWarpMesh.call(void 0, m, (s * contents.width - bounds.x) / bounds.width, (t * contents.height - bounds.y) / bounds.height), [0, 1], [0, 1]);
|
|
8766
8814
|
}
|
|
8767
8815
|
return { mesh, frame };
|
|
8768
8816
|
}
|
|
@@ -10354,7 +10402,7 @@ function importSmart(ctx, rec, name, notes, props) {
|
|
|
10354
10402
|
if (placement && (size.width !== contents.width || size.height !== contents.height)) {
|
|
10355
10403
|
const kx = contents.width / size.width;
|
|
10356
10404
|
const ky = contents.height / size.height;
|
|
10357
|
-
if (placement.warp) placement = { ...placement, warp:
|
|
10405
|
+
if (placement.warp) placement = { ...placement, warp: _chunkJBB3GDBBcjs.mapWarpMeshPoints.call(void 0, placement.warp, (p) => ({ x: p.x * kx, y: p.y * ky })) };
|
|
10358
10406
|
}
|
|
10359
10407
|
}
|
|
10360
10408
|
if (!contents || !placement) {
|
|
@@ -12796,7 +12844,7 @@ function handlePaintShortcut(controller, e) {
|
|
|
12796
12844
|
}
|
|
12797
12845
|
if (key === "]" || key === "}") {
|
|
12798
12846
|
if (e.shiftKey || key === "}") set({ hardness: Math.min(1, Math.round((brush.hardness + 0.25) * 4) / 4) });
|
|
12799
|
-
else set({ size: Math.min(
|
|
12847
|
+
else set({ size: Math.min(_chunkNIBFKXMDcjs.MAX_BRUSH_SIZE, brush.size + sizeStep(brush.size)) });
|
|
12800
12848
|
return true;
|
|
12801
12849
|
}
|
|
12802
12850
|
if (/^[0-9]$/.test(key) && isPaintTool(controller.getState().activeTool)) {
|
|
@@ -13287,4 +13335,5 @@ var PaintGesture = (_class6 = class {
|
|
|
13287
13335
|
|
|
13288
13336
|
|
|
13289
13337
|
|
|
13290
|
-
exports.LEGACY_PROCESS_VERSION = LEGACY_PROCESS_VERSION; exports.LATEST_PROCESS_VERSION = LATEST_PROCESS_VERSION; exports.normalizeProcessVersion = normalizeProcessVersion; exports.srgbToLinear = srgbToLinear; exports.linearToSrgb = linearToSrgb; exports.LUMA_709 = LUMA_709; exports.IDENTITY_MATRIX3 = IDENTITY_MATRIX3; exports.mulMatrix3 = mulMatrix3; exports.applyMatrix3 = applyMatrix3; exports.invertMatrix3 = invertMatrix3; exports.D65 = D65; exports.bradfordAdaptation = bradfordAdaptation; exports.wbMatrix = wbMatrix; exports.linearSrgbToXy = linearSrgbToXy; exports.TINT_SCALE = TINT_SCALE; exports.MIN_KELVIN = MIN_KELVIN; exports.MAX_KELVIN = MAX_KELVIN; exports.xyToUv = xyToUv; exports.uvToXy = uvToXy; exports.tempTintToXy = tempTintToXy; exports.xyToTempTint = xyToTempTint; exports.AS_SHOT_KELVIN = AS_SHOT_KELVIN; exports.MIRED_PER_TEMPERATURE_UNIT = MIRED_PER_TEMPERATURE_UNIT; exports.temperatureToKelvin = temperatureToKelvin; exports.kelvinToTemperature = kelvinToTemperature; exports.whiteBalanceMatrix = whiteBalanceMatrix; exports.whiteBalanceFromSample = whiteBalanceFromSample; exports.TONE_LUT_SIZE = TONE_LUT_SIZE; exports.toneCurve = toneCurve; exports.buildToneLut = buildToneLut; exports.sampleToneLut = sampleToneLut; exports.normalizeAngle = normalizeAngle; exports.isQuarterTurnSwapped = isQuarterTurnSwapped; exports.getRotatedSize = getRotatedSize; exports.projectImagePoint = projectImagePoint; exports.unprojectCanvasPoint = unprojectCanvasPoint; exports.applyImageProjectionToContext = applyImageProjectionToContext; exports.projectImageRect = projectImageRect; exports.clampCropToImage = clampCropToImage; exports.MARGIN_FIT_MIN_GUTTER = MARGIN_FIT_MIN_GUTTER; exports.getViewportProjection = getViewportProjection; exports.getViewportMetrics = getViewportMetrics; exports.canvasToImagePoint = canvasToImagePoint; exports.imageToCanvasPoint = imageToCanvasPoint; exports.mapCropHandle = mapCropHandle; exports.hitTestCrop = hitTestCrop; exports.getCropCursor = getCropCursor; exports.calculateCropDrag = calculateCropDrag; exports.getAnnotationBounds = getAnnotationBounds; exports.hitTestAnnotation = hitTestAnnotation; exports.layerMaskSelection = layerMaskSelection; exports.normalizeLayerMask = normalizeLayerMask; exports.layerMaskFromSelection = layerMaskFromSelection; exports.updateLayerMaskProps = updateLayerMaskProps; exports.decodeLayerMask = decodeLayerMask; exports.layerMaskKey = layerMaskKey; exports.layerMaskCoverage = layerMaskCoverage; exports.projectMaskCoverage = projectMaskCoverage; exports.buildLayerMaskPlanes = buildLayerMaskPlanes; exports.ADJUSTMENT_LUT_SIZE = ADJUSTMENT_LUT_SIZE; exports.sampleLut = sampleLut; exports.ADJUSTMENT_KINDS = ADJUSTMENT_KINDS; exports.isAdjustmentKind = isAdjustmentKind; exports.adjustmentKindLabel = adjustmentKindLabel; exports.HUE_RANGE_LABELS = HUE_RANGE_LABELS; exports.neutralHueRange = neutralHueRange; exports.identityCurve = identityCurve; exports.identityLevels = identityLevels; exports.defaultAdjustmentParams = defaultAdjustmentParams; exports.createAdjustmentLayer = createAdjustmentLayer; exports.normalizeAdjustmentLayer = normalizeAdjustmentLayer; exports.normalizeAdjustmentLayers = normalizeAdjustmentLayers; exports.curveLutFromLevels = curveLutFromLevels; exports.levelsValue = levelsValue; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.hueRangeWeight = hueRangeWeight; exports.hueRangeTables = hueRangeTables; exports.hueSaturation = hueSaturation; exports.rangeLightness = rangeLightness; exports.VIBRANCE_GREY = VIBRANCE_GREY; exports.vibranceLinear = vibranceLinear; exports.vibrancePixel = vibrancePixel; exports.colorBalanceChannel = colorBalanceChannel; exports.blackWhiteGray = blackWhiteGray; exports.D50 = D50; exports.XYZ_D50_TO_SRGB = XYZ_D50_TO_SRGB; exports.photoFilterMatrix = photoFilterMatrix; exports.posterizeValue = posterizeValue; exports.rgbToGray = rgbToGray; exports.hexToRgb = hexToRgb; exports.toneLuts = toneLuts; exports.compileAdjustmentLayer = compileAdjustmentLayer; exports.activeAdjustmentLayers = activeAdjustmentLayers; exports.evaluateAdjustmentLayers = evaluateAdjustmentLayers; exports.applyAdjustmentLayers = applyAdjustmentLayers; exports.applyAdjustmentLayersFloat = applyAdjustmentLayersFloat; exports.adjustmentLayersKey = adjustmentLayersKey; exports.applyAdjustments = applyAdjustments; exports.applyLegacyAdjustments = applyLegacyAdjustments; exports.applyLegacyFloat = applyLegacyFloat; exports.applyProcess2Adjustments = applyProcess2Adjustments; exports.applyProcess2Float = applyProcess2Float; exports.applyBoxBlurFloat = applyBoxBlurFloat; exports.applyBoxBlur = applyBoxBlur; exports.applyDepthMask = applyDepthMask; exports.removeAlpha = removeAlpha; exports.TEXT_ORIENTATIONS = TEXT_ORIENTATIONS; exports.TEXT_ALIGNS = TEXT_ALIGNS; exports.MAX_EFFECT_ANIMATION_MS = MAX_EFFECT_ANIMATION_MS; exports.SHAPE_OPERATIONS = SHAPE_OPERATIONS; exports.LIVE_SHAPE_KINDS = LIVE_SHAPE_KINDS; exports.newLayerId = newLayerId; exports.pixelLayers = pixelLayers; exports.developFilter = developFilter; exports.blurFilter = blurFilter; exports.isActiveFilter = isActiveFilter; exports.isSpatialFilter = isSpatialFilter; exports.pixelLayerBounds = pixelLayerBounds; exports.layerTypeLabel = layerTypeLabel; exports.hasSurface = hasSurface; exports.isRenderedLayer = isRenderedLayer; exports.shapeLayers = shapeLayers; exports.smartObjectLayers = smartObjectLayers; exports.LayerOperationError = LayerOperationError; exports.userErrorMessage = userErrorMessage; exports.isPaintableLayer = isPaintableLayer; exports.defaultActiveLayerId = defaultActiveLayerId; exports.activeLayerAfterRemoval = activeLayerAfterRemoval; exports.requireLayer = requireLayer; exports.requireUnlocked = requireUnlocked; exports.placeLayer = placeLayer; exports.removeLayer = removeLayer; exports.moveLayer = moveLayer; exports.withNewIds = withNewIds; exports.duplicateLayer = duplicateLayer; exports.setLayerProperties = setLayerProperties; exports.groupLayers = groupLayers; exports.ungroupLayer = ungroupLayer; exports.offsetLayer = offsetLayer; exports.setLayerMask = setLayerMask; exports.normalizeFilter = normalizeFilter; exports.addLayerFilter = addLayerFilter; exports.updateLayerFilter = updateLayerFilter; exports.removeLayerFilter = removeLayerFilter; exports.layerEffectsOf = layerEffectsOf; exports.setLayerEffects = setLayerEffects; exports.addLayerEffect = addLayerEffect; exports.updateLayerEffect = updateLayerEffect; exports.removeLayerEffect = removeLayerEffect; exports.setLayerEffectsEnabled = setLayerEffectsEnabled; exports.parseBlend = parseBlend; exports.unionRect = unionRect; exports.SHAPE_RENDER_MARGIN = SHAPE_RENDER_MARGIN; exports.DEFAULT_MITER_LIMIT = DEFAULT_MITER_LIMIT; exports.mapSubpaths = mapSubpaths; exports.liveShapeSubpaths = liveShapeSubpaths; exports.liveComponent = liveComponent; exports.componentPath = componentPath; exports.shapeOutline = shapeOutline; exports.shapeGeometryBounds = shapeGeometryBounds; exports.componentsCoverage = componentsCoverage; exports.shapeRenderClip = shapeRenderClip; exports.renderShapeRect = renderShapeRect; exports.renderShape = renderShape; exports.rerenderShape = rerenderShape; exports.normalizeShapePaint = normalizeShapePaint; exports.normalizeShapeStroke = normalizeShapeStroke; exports.normalizeLiveShape = normalizeLiveShape; exports.normalizeSubpaths = normalizeSubpaths; exports.requireOperation = requireOperation; exports.requireShapeLayer = requireShapeLayer; exports.createShapeLayer = createShapeLayer; exports.defaultShapeName = defaultShapeName; exports.updateShapeLayer = updateShapeLayer; exports.transformShapeComponents = transformShapeComponents; exports.offsetShape = offsetShape; exports.mergeShapeComponents = mergeShapeComponents; exports.shapeAsPixelLayer = shapeAsPixelLayer; exports.shapeFromAnnotation = shapeFromAnnotation; exports.annotationBlend = annotationBlend; exports.annotationOfShape = annotationOfShape; exports.VECTOR_MASK_EDGE_DEFAULTS = VECTOR_MASK_EDGE_DEFAULTS; exports.vectorMaskSegments = vectorMaskSegments; exports.validVectorMaskEdges = validVectorMaskEdges; exports.hybridVectorMaskCoverage = hybridVectorMaskCoverage; exports.isActiveVectorMask = isActiveVectorMask; exports.vectorMaskCoverage = vectorMaskCoverage; exports.layerGuide = layerGuide; exports.effectiveLayerMask = effectiveLayerMask; exports.resolveVectorMasks = resolveVectorMasks; exports.offsetVectorMask = offsetVectorMask; exports.transformVectorMask = transformVectorMask; exports.followLayerMove = followLayerMove; exports.vectorMaskBounds = vectorMaskBounds; exports.vectorMaskThumbnail = vectorMaskThumbnail; exports.EDGE_COLOR_RADIUS = EDGE_COLOR_RADIUS; exports.hasEdgeUnmix = hasEdgeUnmix; exports.maskCoverageOverCanvas = maskCoverageOverCanvas; exports.hasSoftBand = hasSoftBand; exports.despillEdge = despillEdge; exports.applyEdgeUnmix = applyEdgeUnmix; exports.adjustmentNodeAsLayer = adjustmentNodeAsLayer; exports.depthMaskAlpha = depthMaskAlpha; exports.runLayerFilters = runLayerFilters; exports.runLayerFiltersFloat = runLayerFiltersFloat; exports.LayerCompositor = LayerCompositor; exports.compositeDeep = compositeDeep; exports.DEFAULT_ADJUSTMENTS_VALUES = DEFAULT_ADJUSTMENTS_VALUES; exports.DEFAULT_TRANSFORM_VALUES = DEFAULT_TRANSFORM_VALUES; exports.DEFAULT_DEPTH_MASK_VALUES = DEFAULT_DEPTH_MASK_VALUES; exports.TEXT_RENDER_MARGIN = TEXT_RENDER_MARGIN; exports.textMatrix = textMatrix; exports.textOutlines = textOutlines; exports.renderText = renderText; exports.rerenderText = rerenderText; exports.TEXT_STYLE_FIELDS = TEXT_STYLE_FIELDS; exports.patchTextStyle = patchTextStyle; exports.PARAGRAPH_STYLE_FIELDS = PARAGRAPH_STYLE_FIELDS; exports.patchParagraphStyle = patchParagraphStyle; exports.textRange = textRange; exports.requireTypeLayer = requireTypeLayer; exports.normalizeText = normalizeText; exports.typeLayerName = typeLayerName; exports.textOrientation = textOrientation; exports.createTypeLayer = createTypeLayer; exports.updateTypeLayer = updateTypeLayer; exports.replaceTextRange = replaceTextRange; exports.transformTypeLayer = transformTypeLayer; exports.typeFrame = typeFrame; exports.typeAsPixelLayer = typeAsPixelLayer; exports.toTextSpace = toTextSpace; exports.typeFromAnnotation = typeFromAnnotation; exports.annotationOfType = annotationOfType; exports.BACKGROUND_LAYER_ID = BACKGROUND_LAYER_ID; exports.BACKGROUND_LAYER_NAME = BACKGROUND_LAYER_NAME; exports.DEVELOP_FILTER_ID = DEVELOP_FILTER_ID; exports.BLUR_FILTER_ID = BLUR_FILTER_ID; exports.rasterMaskFromLegacy = rasterMaskFromLegacy; exports.hasResampledLegacyMask = hasResampledLegacyMask; exports.legacyMaskOf = legacyMaskOf; exports.isDefaultDepthMask = isDefaultDepthMask; exports.developFromAdjustments = developFromAdjustments; exports.annotationLayerName = annotationLayerName; exports.annotationLayerFor = annotationLayerFor; exports.annotationOfLayer = annotationOfLayer; exports.adjustmentNodeFromLegacy = adjustmentNodeFromLegacy; exports.backgroundLayer = backgroundLayer; exports.depthRasterMask = depthRasterMask; exports.layersFromLegacy = layersFromLegacy; exports.legacyAdjustmentLayer = legacyAdjustmentLayer; exports.developTarget = developTarget; exports.legacyView = legacyView; exports.isLegacyShape = isLegacyShape; exports.EdgeMap = EdgeMap; exports.snapToEdge = snapToEdge; exports.liveWire = liveWire; exports.simplifyPixelPath = simplifyPixelPath; exports.snapPolygonToEdges = snapPolygonToEdges; exports.magneticAnchorSpacing = magneticAnchorSpacing; exports.FREE_TRANSFORM_MODES = FREE_TRANSFORM_MODES; exports.TRANSFORM_ANCHORS = TRANSFORM_ANCHORS; exports.ANCHOR_FRACTION = ANCHOR_FRACTION; exports.isTransformAnchor = isTransformAnchor; exports.identityTransform = identityTransform; exports.cornersFromMatrix = cornersFromMatrix; exports.matrixFromCorners = matrixFromCorners; exports.transformHomography = transformHomography; exports.hasWarp = hasWarp; exports.isIdentityTransform = isIdentityTransform; exports.transformMap = transformMap; exports.transformedPoint = transformedPoint; exports.anchorPoint = anchorPoint; exports.transformedBox = transformedBox; exports.referencePoint = referencePoint; exports.matrixFromParams = matrixFromParams; exports.describeTransform = describeTransform; exports.applyParams = applyParams; exports.flipCorners = flipCorners; exports.boxPointOf = boxPointOf; exports.presetWarp = presetWarp; exports.isValidWarp = isValidWarp; exports.geometryHomography = geometryHomography; exports.SMART_RENDER_MARGIN = SMART_RENDER_MARGIN; exports.isSmartSurfaceIncomplete = isSmartSurfaceIncomplete; exports.newContentsId = newContentsId; exports.contentsBox = contentsBox; exports.placementGeometry = placementGeometry; exports.placementAt = placementAt; exports.isContentsDecoded = isContentsDecoded; exports.requireSmartObject = requireSmartObject; exports.contentsSurface = contentsSurface; exports.rasterContents = rasterContents; exports.documentContents = documentContents; exports.placeContents = placeContents; exports.activeSmartFilters = activeSmartFilters; exports.activeEffectSmartFilters = activeEffectSmartFilters; exports.filterMaskCoverage = filterMaskCoverage; exports.applySmartFilters = applySmartFilters; exports.renderSmartObject = renderSmartObject; exports.rerender = rerender; exports.normalizePlacement = normalizePlacement; exports.setSmartPlacement = setSmartPlacement; exports.offsetSmartObject = offsetSmartObject; exports.translateLayer = translateLayer; exports.convertToSmartObject = convertToSmartObject; exports.rasterizeSmartObject = rasterizeSmartObject; exports.copySmartObject = copySmartObject; exports.instancesOf = instancesOf; exports.replaceContents = replaceContents; exports.normalizeSmartFilter = normalizeSmartFilter; exports.addSmartFilter = addSmartFilter; exports.updateSmartFilter = updateSmartFilter; exports.removeSmartFilter = removeSmartFilter; exports.moveSmartFilter = moveSmartFilter; exports.setSmartFiltersEnabled = setSmartFiltersEnabled; exports.setSmartFilterMask = setSmartFilterMask; exports.withFilterMaskSurface = withFilterMaskSurface; exports.placementBounds = placementBounds; exports.LAYERED_SCHEMA_VERSION = LAYERED_SCHEMA_VERSION; exports.serializePatterns = serializePatterns; exports.deserializePatterns = deserializePatterns; exports.encodeSurface = encodeSurface; exports.encodeDeepSurface = encodeDeepSurface; exports.decodeDeepSurface = decodeDeepSurface; exports.readEdgeColor = readEdgeColor; exports.serializeEffects = serializeEffects; exports.deserializeEffects = deserializeEffects; exports.readShapeComponents = readShapeComponents; exports.serializeLayer = serializeLayer; exports.serializeContents = serializeContents; exports.serializeLayers = serializeLayers; exports.serializeLayersExternal = serializeLayersExternal; exports.resolveExternalAssets = resolveExternalAssets; exports.decodePngDataUrl = decodePngDataUrl; exports.deserializeLayer = deserializeLayer; exports.deserializeLayers = deserializeLayers; exports.PsdError = PsdError; exports.decodePlanes = decodePlanes; exports.encodeRle = encodeRle; exports.parseVersionedDescriptor = parseVersionedDescriptor; exports.versionedDescriptorBytes = versionedDescriptorBytes; exports.ADJUSTMENT_KEYS = ADJUSTMENT_KEYS; exports.SUPPORTED_ADJUSTMENT_KEYS = SUPPORTED_ADJUSTMENT_KEYS; exports.parseAdjustmentBlock = parseAdjustmentBlock; exports.writeAdjustmentBlock = writeAdjustmentBlock; exports.parseLfx2 = parseLfx2; exports.writeLfx2 = writeLfx2; exports.parseLrfx = parseLrfx; exports.BROWSER_IMAGE_TYPES = BROWSER_IMAGE_TYPES; exports.readPsd = readPsd; exports.layerName = layerName; exports.layerTree = layerTree; exports.decodeLayerChannel = decodeLayerChannel; exports.decodeMergedImage = decodeMergedImage; exports.writePsd = writePsd; exports.PATTERN_BLOCK_KEYS = PATTERN_BLOCK_KEYS; exports.parsePatternBlock = parsePatternBlock; exports.psdPatternToEffectPattern = psdPatternToEffectPattern; exports.writePatternBlock = writePatternBlock; exports.PSD_BLEND_KEYS = PSD_BLEND_KEYS; exports.psdToLayers = psdToLayers; exports.importPsd = importPsd; exports.smartContentsFile = smartContentsFile; exports.exportPsd = exportPsd; exports.SELECTION_TOOLS = SELECTION_TOOLS; exports.COLOR_RANGE_PRESET_LABELS = COLOR_RANGE_PRESET_LABELS; exports.SELECTION_MODE_LABELS = SELECTION_MODE_LABELS; exports.DEFAULT_SELECTION_TOOL_OPTIONS = DEFAULT_SELECTION_TOOL_OPTIONS; exports.selectionModeFromModifiers = selectionModeFromModifiers; exports.REFINE_EDGE_CONTROLS = REFINE_EDGE_CONTROLS; exports.REFINE_OUTPUTS = REFINE_OUTPUTS; exports.describeSelection = describeSelection; exports.describeLayerEffects = describeLayerEffects; exports.createImageEffectTools = createImageEffectTools; exports.createLayerEffectTools = createLayerEffectTools; exports.snapTo45 = snapTo45; exports.SelectionGesture = SelectionGesture; exports.handleSelectionShortcut = handleSelectionShortcut; exports.handleMaskViewKey = handleMaskViewKey; exports.handleQuickMaskKey = handleQuickMaskKey; exports.BRUSH_OPTION_CONTROLS = BRUSH_OPTION_CONTROLS; exports.MIXER_OPTION_CONTROLS = MIXER_OPTION_CONTROLS; exports.MIXER_MIXING_OPTIONS = MIXER_MIXING_OPTIONS; exports.PAINT_TOOLS = PAINT_TOOLS; exports.isPaintTool = isPaintTool; exports.isRetouchPaintTool = isRetouchPaintTool; exports.RETOUCH_OPTION_CONTROLS = RETOUCH_OPTION_CONTROLS; exports.CLONE_TRANSFORM_CONTROLS = CLONE_TRANSFORM_CONTROLS; exports.cloneTransformView = cloneTransformView; exports.setCloneTransformValue = setCloneTransformValue; exports.RETOUCH_CHOICES = RETOUCH_CHOICES; exports.RETOUCH_TOGGLES = RETOUCH_TOGGLES; exports.setRetouchChoice = setRetouchChoice; exports.cloneSourceLabel = cloneSourceLabel; exports.rgbUnitToHex = rgbUnitToHex; exports.handlePaintShortcut = handlePaintShortcut; exports.PaintGesture = PaintGesture;
|
|
13338
|
+
|
|
13339
|
+
exports.LEGACY_PROCESS_VERSION = LEGACY_PROCESS_VERSION; exports.LATEST_PROCESS_VERSION = LATEST_PROCESS_VERSION; exports.normalizeProcessVersion = normalizeProcessVersion; exports.srgbToLinear = srgbToLinear; exports.linearToSrgb = linearToSrgb; exports.LUMA_709 = LUMA_709; exports.IDENTITY_MATRIX3 = IDENTITY_MATRIX3; exports.mulMatrix3 = mulMatrix3; exports.applyMatrix3 = applyMatrix3; exports.invertMatrix3 = invertMatrix3; exports.D65 = D65; exports.bradfordAdaptation = bradfordAdaptation; exports.wbMatrix = wbMatrix; exports.linearSrgbToXy = linearSrgbToXy; exports.TINT_SCALE = TINT_SCALE; exports.MIN_KELVIN = MIN_KELVIN; exports.MAX_KELVIN = MAX_KELVIN; exports.xyToUv = xyToUv; exports.uvToXy = uvToXy; exports.tempTintToXy = tempTintToXy; exports.xyToTempTint = xyToTempTint; exports.AS_SHOT_KELVIN = AS_SHOT_KELVIN; exports.MIRED_PER_TEMPERATURE_UNIT = MIRED_PER_TEMPERATURE_UNIT; exports.temperatureToKelvin = temperatureToKelvin; exports.kelvinToTemperature = kelvinToTemperature; exports.whiteBalanceMatrix = whiteBalanceMatrix; exports.whiteBalanceFromSample = whiteBalanceFromSample; exports.TONE_LUT_SIZE = TONE_LUT_SIZE; exports.toneCurve = toneCurve; exports.buildToneLut = buildToneLut; exports.sampleToneLut = sampleToneLut; exports.normalizeAngle = normalizeAngle; exports.isQuarterTurnSwapped = isQuarterTurnSwapped; exports.getRotatedSize = getRotatedSize; exports.projectImagePoint = projectImagePoint; exports.unprojectCanvasPoint = unprojectCanvasPoint; exports.applyImageProjectionToContext = applyImageProjectionToContext; exports.projectImageRect = projectImageRect; exports.clampCropToImage = clampCropToImage; exports.MARGIN_FIT_MIN_GUTTER = MARGIN_FIT_MIN_GUTTER; exports.getViewportProjection = getViewportProjection; exports.getViewportMetrics = getViewportMetrics; exports.canvasToImagePoint = canvasToImagePoint; exports.imageToCanvasPoint = imageToCanvasPoint; exports.mapCropHandle = mapCropHandle; exports.hitTestCrop = hitTestCrop; exports.getCropCursor = getCropCursor; exports.calculateCropDrag = calculateCropDrag; exports.getAnnotationBounds = getAnnotationBounds; exports.hitTestAnnotation = hitTestAnnotation; exports.layerMaskSelection = layerMaskSelection; exports.normalizeLayerMask = normalizeLayerMask; exports.layerMaskFromSelection = layerMaskFromSelection; exports.updateLayerMaskProps = updateLayerMaskProps; exports.decodeLayerMask = decodeLayerMask; exports.layerMaskKey = layerMaskKey; exports.layerMaskCoverage = layerMaskCoverage; exports.projectMaskCoverage = projectMaskCoverage; exports.buildLayerMaskPlanes = buildLayerMaskPlanes; exports.ADJUSTMENT_LUT_SIZE = ADJUSTMENT_LUT_SIZE; exports.sampleLut = sampleLut; exports.ADJUSTMENT_KINDS = ADJUSTMENT_KINDS; exports.isAdjustmentKind = isAdjustmentKind; exports.adjustmentKindLabel = adjustmentKindLabel; exports.HUE_RANGE_LABELS = HUE_RANGE_LABELS; exports.neutralHueRange = neutralHueRange; exports.identityCurve = identityCurve; exports.identityLevels = identityLevels; exports.defaultAdjustmentParams = defaultAdjustmentParams; exports.createAdjustmentLayer = createAdjustmentLayer; exports.assertAdjustmentParams = assertAdjustmentParams; exports.normalizeAdjustmentLayer = normalizeAdjustmentLayer; exports.normalizeAdjustmentLayers = normalizeAdjustmentLayers; exports.curveLutFromLevels = curveLutFromLevels; exports.levelsValue = levelsValue; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.hueRangeWeight = hueRangeWeight; exports.hueRangeTables = hueRangeTables; exports.hueSaturation = hueSaturation; exports.rangeLightness = rangeLightness; exports.VIBRANCE_GREY = VIBRANCE_GREY; exports.vibranceLinear = vibranceLinear; exports.vibrancePixel = vibrancePixel; exports.colorBalanceChannel = colorBalanceChannel; exports.blackWhiteGray = blackWhiteGray; exports.D50 = D50; exports.XYZ_D50_TO_SRGB = XYZ_D50_TO_SRGB; exports.photoFilterMatrix = photoFilterMatrix; exports.posterizeValue = posterizeValue; exports.rgbToGray = rgbToGray; exports.hexToRgb = hexToRgb; exports.toneLuts = toneLuts; exports.compileAdjustmentLayer = compileAdjustmentLayer; exports.activeAdjustmentLayers = activeAdjustmentLayers; exports.evaluateAdjustmentLayers = evaluateAdjustmentLayers; exports.applyAdjustmentLayers = applyAdjustmentLayers; exports.applyAdjustmentLayersFloat = applyAdjustmentLayersFloat; exports.adjustmentLayersKey = adjustmentLayersKey; exports.applyAdjustments = applyAdjustments; exports.applyLegacyAdjustments = applyLegacyAdjustments; exports.applyLegacyFloat = applyLegacyFloat; exports.applyProcess2Adjustments = applyProcess2Adjustments; exports.applyProcess2Float = applyProcess2Float; exports.applyBoxBlurFloat = applyBoxBlurFloat; exports.applyBoxBlur = applyBoxBlur; exports.applyDepthMask = applyDepthMask; exports.removeAlpha = removeAlpha; exports.TEXT_ORIENTATIONS = TEXT_ORIENTATIONS; exports.TEXT_ALIGNS = TEXT_ALIGNS; exports.MAX_EFFECT_ANIMATION_MS = MAX_EFFECT_ANIMATION_MS; exports.SHAPE_OPERATIONS = SHAPE_OPERATIONS; exports.LIVE_SHAPE_KINDS = LIVE_SHAPE_KINDS; exports.newLayerId = newLayerId; exports.pixelLayers = pixelLayers; exports.developFilter = developFilter; exports.blurFilter = blurFilter; exports.isActiveFilter = isActiveFilter; exports.isSpatialFilter = isSpatialFilter; exports.pixelLayerBounds = pixelLayerBounds; exports.layerTypeLabel = layerTypeLabel; exports.hasSurface = hasSurface; exports.isRenderedLayer = isRenderedLayer; exports.shapeLayers = shapeLayers; exports.smartObjectLayers = smartObjectLayers; exports.LayerOperationError = LayerOperationError; exports.userErrorMessage = userErrorMessage; exports.isPaintableLayer = isPaintableLayer; exports.defaultActiveLayerId = defaultActiveLayerId; exports.activeLayerAfterRemoval = activeLayerAfterRemoval; exports.requireLayer = requireLayer; exports.requireUnlocked = requireUnlocked; exports.placeLayer = placeLayer; exports.removeLayer = removeLayer; exports.moveLayer = moveLayer; exports.withNewIds = withNewIds; exports.duplicateLayer = duplicateLayer; exports.setLayerProperties = setLayerProperties; exports.groupLayers = groupLayers; exports.ungroupLayer = ungroupLayer; exports.offsetLayer = offsetLayer; exports.setLayerMask = setLayerMask; exports.normalizeFilter = normalizeFilter; exports.addLayerFilter = addLayerFilter; exports.updateLayerFilter = updateLayerFilter; exports.removeLayerFilter = removeLayerFilter; exports.layerEffectsOf = layerEffectsOf; exports.setLayerEffects = setLayerEffects; exports.addLayerEffect = addLayerEffect; exports.updateLayerEffect = updateLayerEffect; exports.removeLayerEffect = removeLayerEffect; exports.setLayerEffectsEnabled = setLayerEffectsEnabled; exports.parseBlend = parseBlend; exports.unionRect = unionRect; exports.SHAPE_RENDER_MARGIN = SHAPE_RENDER_MARGIN; exports.DEFAULT_MITER_LIMIT = DEFAULT_MITER_LIMIT; exports.mapSubpaths = mapSubpaths; exports.liveShapeSubpaths = liveShapeSubpaths; exports.liveComponent = liveComponent; exports.componentPath = componentPath; exports.shapeOutline = shapeOutline; exports.shapeGeometryBounds = shapeGeometryBounds; exports.componentsCoverage = componentsCoverage; exports.shapeRenderClip = shapeRenderClip; exports.renderShapeRect = renderShapeRect; exports.renderShape = renderShape; exports.rerenderShape = rerenderShape; exports.normalizeShapePaint = normalizeShapePaint; exports.normalizeShapeStroke = normalizeShapeStroke; exports.normalizeLiveShape = normalizeLiveShape; exports.normalizeSubpaths = normalizeSubpaths; exports.requireOperation = requireOperation; exports.requireShapeLayer = requireShapeLayer; exports.createShapeLayer = createShapeLayer; exports.defaultShapeName = defaultShapeName; exports.updateShapeLayer = updateShapeLayer; exports.transformShapeComponents = transformShapeComponents; exports.offsetShape = offsetShape; exports.mergeShapeComponents = mergeShapeComponents; exports.shapeAsPixelLayer = shapeAsPixelLayer; exports.shapeFromAnnotation = shapeFromAnnotation; exports.annotationBlend = annotationBlend; exports.annotationOfShape = annotationOfShape; exports.VECTOR_MASK_EDGE_DEFAULTS = VECTOR_MASK_EDGE_DEFAULTS; exports.vectorMaskSegments = vectorMaskSegments; exports.validVectorMaskEdges = validVectorMaskEdges; exports.hybridVectorMaskCoverage = hybridVectorMaskCoverage; exports.isActiveVectorMask = isActiveVectorMask; exports.vectorMaskCoverage = vectorMaskCoverage; exports.layerGuide = layerGuide; exports.effectiveLayerMask = effectiveLayerMask; exports.resolveVectorMasks = resolveVectorMasks; exports.offsetVectorMask = offsetVectorMask; exports.transformVectorMask = transformVectorMask; exports.followLayerMove = followLayerMove; exports.vectorMaskBounds = vectorMaskBounds; exports.vectorMaskThumbnail = vectorMaskThumbnail; exports.EDGE_COLOR_RADIUS = EDGE_COLOR_RADIUS; exports.hasEdgeUnmix = hasEdgeUnmix; exports.maskCoverageOverCanvas = maskCoverageOverCanvas; exports.hasSoftBand = hasSoftBand; exports.despillEdge = despillEdge; exports.applyEdgeUnmix = applyEdgeUnmix; exports.adjustmentNodeAsLayer = adjustmentNodeAsLayer; exports.depthMaskAlpha = depthMaskAlpha; exports.runLayerFilters = runLayerFilters; exports.runLayerFiltersFloat = runLayerFiltersFloat; exports.LayerCompositor = LayerCompositor; exports.compositeDeep = compositeDeep; exports.DEFAULT_ADJUSTMENTS_VALUES = DEFAULT_ADJUSTMENTS_VALUES; exports.DEFAULT_TRANSFORM_VALUES = DEFAULT_TRANSFORM_VALUES; exports.DEFAULT_DEPTH_MASK_VALUES = DEFAULT_DEPTH_MASK_VALUES; exports.TEXT_RENDER_MARGIN = TEXT_RENDER_MARGIN; exports.textMatrix = textMatrix; exports.textOutlines = textOutlines; exports.renderText = renderText; exports.rerenderText = rerenderText; exports.TEXT_STYLE_FIELDS = TEXT_STYLE_FIELDS; exports.patchTextStyle = patchTextStyle; exports.PARAGRAPH_STYLE_FIELDS = PARAGRAPH_STYLE_FIELDS; exports.patchParagraphStyle = patchParagraphStyle; exports.textRange = textRange; exports.requireTypeLayer = requireTypeLayer; exports.normalizeText = normalizeText; exports.typeLayerName = typeLayerName; exports.textOrientation = textOrientation; exports.createTypeLayer = createTypeLayer; exports.updateTypeLayer = updateTypeLayer; exports.replaceTextRange = replaceTextRange; exports.transformTypeLayer = transformTypeLayer; exports.typeFrame = typeFrame; exports.typeAsPixelLayer = typeAsPixelLayer; exports.toTextSpace = toTextSpace; exports.typeFromAnnotation = typeFromAnnotation; exports.annotationOfType = annotationOfType; exports.BACKGROUND_LAYER_ID = BACKGROUND_LAYER_ID; exports.BACKGROUND_LAYER_NAME = BACKGROUND_LAYER_NAME; exports.DEVELOP_FILTER_ID = DEVELOP_FILTER_ID; exports.BLUR_FILTER_ID = BLUR_FILTER_ID; exports.rasterMaskFromLegacy = rasterMaskFromLegacy; exports.hasResampledLegacyMask = hasResampledLegacyMask; exports.legacyMaskOf = legacyMaskOf; exports.isDefaultDepthMask = isDefaultDepthMask; exports.developFromAdjustments = developFromAdjustments; exports.annotationLayerName = annotationLayerName; exports.annotationLayerFor = annotationLayerFor; exports.annotationOfLayer = annotationOfLayer; exports.adjustmentNodeFromLegacy = adjustmentNodeFromLegacy; exports.backgroundLayer = backgroundLayer; exports.depthRasterMask = depthRasterMask; exports.layersFromLegacy = layersFromLegacy; exports.legacyAdjustmentLayer = legacyAdjustmentLayer; exports.developTarget = developTarget; exports.legacyView = legacyView; exports.isLegacyShape = isLegacyShape; exports.EdgeMap = EdgeMap; exports.snapToEdge = snapToEdge; exports.liveWire = liveWire; exports.simplifyPixelPath = simplifyPixelPath; exports.snapPolygonToEdges = snapPolygonToEdges; exports.magneticAnchorSpacing = magneticAnchorSpacing; exports.FREE_TRANSFORM_MODES = FREE_TRANSFORM_MODES; exports.TRANSFORM_ANCHORS = TRANSFORM_ANCHORS; exports.ANCHOR_FRACTION = ANCHOR_FRACTION; exports.isTransformAnchor = isTransformAnchor; exports.identityTransform = identityTransform; exports.cornersFromMatrix = cornersFromMatrix; exports.matrixFromCorners = matrixFromCorners; exports.transformHomography = transformHomography; exports.hasWarp = hasWarp; exports.isIdentityTransform = isIdentityTransform; exports.transformMap = transformMap; exports.transformedPoint = transformedPoint; exports.anchorPoint = anchorPoint; exports.transformedBox = transformedBox; exports.referencePoint = referencePoint; exports.matrixFromParams = matrixFromParams; exports.describeTransform = describeTransform; exports.applyParams = applyParams; exports.flipCorners = flipCorners; exports.boxPointOf = boxPointOf; exports.presetWarp = presetWarp; exports.isValidWarp = isValidWarp; exports.geometryHomography = geometryHomography; exports.SMART_RENDER_MARGIN = SMART_RENDER_MARGIN; exports.isSmartSurfaceIncomplete = isSmartSurfaceIncomplete; exports.newContentsId = newContentsId; exports.contentsBox = contentsBox; exports.placementGeometry = placementGeometry; exports.placementAt = placementAt; exports.isContentsDecoded = isContentsDecoded; exports.requireSmartObject = requireSmartObject; exports.contentsSurface = contentsSurface; exports.rasterContents = rasterContents; exports.documentContents = documentContents; exports.placeContents = placeContents; exports.activeSmartFilters = activeSmartFilters; exports.activeEffectSmartFilters = activeEffectSmartFilters; exports.filterMaskCoverage = filterMaskCoverage; exports.applySmartFilters = applySmartFilters; exports.renderSmartObject = renderSmartObject; exports.rerender = rerender; exports.normalizePlacement = normalizePlacement; exports.setSmartPlacement = setSmartPlacement; exports.offsetSmartObject = offsetSmartObject; exports.translateLayer = translateLayer; exports.convertToSmartObject = convertToSmartObject; exports.rasterizeSmartObject = rasterizeSmartObject; exports.copySmartObject = copySmartObject; exports.instancesOf = instancesOf; exports.replaceContents = replaceContents; exports.normalizeSmartFilter = normalizeSmartFilter; exports.addSmartFilter = addSmartFilter; exports.updateSmartFilter = updateSmartFilter; exports.removeSmartFilter = removeSmartFilter; exports.moveSmartFilter = moveSmartFilter; exports.setSmartFiltersEnabled = setSmartFiltersEnabled; exports.setSmartFilterMask = setSmartFilterMask; exports.withFilterMaskSurface = withFilterMaskSurface; exports.placementBounds = placementBounds; exports.LAYERED_SCHEMA_VERSION = LAYERED_SCHEMA_VERSION; exports.serializePatterns = serializePatterns; exports.deserializePatterns = deserializePatterns; exports.encodeSurface = encodeSurface; exports.encodeDeepSurface = encodeDeepSurface; exports.decodeDeepSurface = decodeDeepSurface; exports.readEdgeColor = readEdgeColor; exports.serializeEffects = serializeEffects; exports.deserializeEffects = deserializeEffects; exports.readShapeComponents = readShapeComponents; exports.serializeLayer = serializeLayer; exports.serializeContents = serializeContents; exports.serializeLayers = serializeLayers; exports.serializeLayersExternal = serializeLayersExternal; exports.resolveExternalAssets = resolveExternalAssets; exports.decodePngDataUrl = decodePngDataUrl; exports.deserializeLayer = deserializeLayer; exports.deserializeLayers = deserializeLayers; exports.PsdError = PsdError; exports.decodePlanes = decodePlanes; exports.encodeRle = encodeRle; exports.parseVersionedDescriptor = parseVersionedDescriptor; exports.versionedDescriptorBytes = versionedDescriptorBytes; exports.ADJUSTMENT_KEYS = ADJUSTMENT_KEYS; exports.SUPPORTED_ADJUSTMENT_KEYS = SUPPORTED_ADJUSTMENT_KEYS; exports.parseAdjustmentBlock = parseAdjustmentBlock; exports.writeAdjustmentBlock = writeAdjustmentBlock; exports.parseLfx2 = parseLfx2; exports.writeLfx2 = writeLfx2; exports.parseLrfx = parseLrfx; exports.BROWSER_IMAGE_TYPES = BROWSER_IMAGE_TYPES; exports.readPsd = readPsd; exports.layerName = layerName; exports.layerTree = layerTree; exports.decodeLayerChannel = decodeLayerChannel; exports.decodeMergedImage = decodeMergedImage; exports.writePsd = writePsd; exports.PATTERN_BLOCK_KEYS = PATTERN_BLOCK_KEYS; exports.parsePatternBlock = parsePatternBlock; exports.psdPatternToEffectPattern = psdPatternToEffectPattern; exports.writePatternBlock = writePatternBlock; exports.PSD_BLEND_KEYS = PSD_BLEND_KEYS; exports.psdToLayers = psdToLayers; exports.importPsd = importPsd; exports.smartContentsFile = smartContentsFile; exports.exportPsd = exportPsd; exports.SELECTION_TOOLS = SELECTION_TOOLS; exports.COLOR_RANGE_PRESET_LABELS = COLOR_RANGE_PRESET_LABELS; exports.SELECTION_MODE_LABELS = SELECTION_MODE_LABELS; exports.DEFAULT_SELECTION_TOOL_OPTIONS = DEFAULT_SELECTION_TOOL_OPTIONS; exports.selectionModeFromModifiers = selectionModeFromModifiers; exports.REFINE_EDGE_CONTROLS = REFINE_EDGE_CONTROLS; exports.REFINE_OUTPUTS = REFINE_OUTPUTS; exports.describeSelection = describeSelection; exports.describeLayerEffects = describeLayerEffects; exports.createImageEffectTools = createImageEffectTools; exports.createLayerEffectTools = createLayerEffectTools; exports.snapTo45 = snapTo45; exports.SelectionGesture = SelectionGesture; exports.handleSelectionShortcut = handleSelectionShortcut; exports.handleMaskViewKey = handleMaskViewKey; exports.handleQuickMaskKey = handleQuickMaskKey; exports.BRUSH_OPTION_CONTROLS = BRUSH_OPTION_CONTROLS; exports.MIXER_OPTION_CONTROLS = MIXER_OPTION_CONTROLS; exports.MIXER_MIXING_OPTIONS = MIXER_MIXING_OPTIONS; exports.PAINT_TOOLS = PAINT_TOOLS; exports.isPaintTool = isPaintTool; exports.isRetouchPaintTool = isRetouchPaintTool; exports.RETOUCH_OPTION_CONTROLS = RETOUCH_OPTION_CONTROLS; exports.CLONE_TRANSFORM_CONTROLS = CLONE_TRANSFORM_CONTROLS; exports.cloneTransformView = cloneTransformView; exports.setCloneTransformValue = setCloneTransformValue; exports.RETOUCH_CHOICES = RETOUCH_CHOICES; exports.RETOUCH_TOGGLES = RETOUCH_TOGGLES; exports.setRetouchChoice = setRetouchChoice; exports.cloneSourceLabel = cloneSourceLabel; exports.rgbUnitToHex = rgbUnitToHex; exports.handlePaintShortcut = handlePaintShortcut; exports.PaintGesture = PaintGesture;
|