@pixerate/editor 0.218.1 → 0.219.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/{chunk-YF3YZZ6G.cjs → chunk-2ONK3ERD.cjs} +8 -8
- package/dist/{chunk-ZGJGSCUW.js → chunk-4P6H35HU.js} +1 -1
- package/dist/{chunk-MQDIP4CF.cjs → chunk-BB6TR422.cjs} +5 -1
- package/dist/{chunk-UC3PWFM3.cjs → chunk-KALCIDWH.cjs} +15 -11
- package/dist/{chunk-XI2NV5U7.js → chunk-VWEWY4FY.js} +4 -0
- package/dist/{chunk-U7C655AM.js → chunk-YFFLSP2C.js} +6 -2
- package/dist/image-editor/controller.d.cts +31 -0
- package/dist/image-editor/controller.d.ts +31 -0
- package/dist/image-editor/index.cjs +329 -261
- package/dist/image-editor/index.js +71 -3
- package/dist/image-editor/selection-worker.cjs +4 -4
- package/dist/image-editor/selection-worker.js +2 -2
- package/dist/paint/heal.d.cts +2 -0
- package/dist/paint/heal.d.ts +2 -0
- package/dist/paint/index.cjs +3 -3
- package/dist/paint/index.js +2 -2
- package/package.json +1 -1
- package/skills/pixerate-image-editor/SKILL.md +2 -3
- package/skills/pixerate-image-selection-masking/SKILL.md +5 -5
|
@@ -43,7 +43,7 @@ var _chunkLCCMOWR7cjs = require('../chunk-LCCMOWR7.cjs');
|
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
|
|
46
|
-
var
|
|
46
|
+
var _chunkKALCIDWHcjs = require('../chunk-KALCIDWH.cjs');
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
@@ -552,7 +552,7 @@ var _chunkK6PXS6DOcjs = require('../chunk-K6PXS6DO.cjs');
|
|
|
552
552
|
|
|
553
553
|
|
|
554
554
|
|
|
555
|
-
var
|
|
555
|
+
var _chunk2ONK3ERDcjs = require('../chunk-2ONK3ERD.cjs');
|
|
556
556
|
|
|
557
557
|
|
|
558
558
|
|
|
@@ -561,7 +561,7 @@ var _chunkYF3YZZ6Gcjs = require('../chunk-YF3YZZ6G.cjs');
|
|
|
561
561
|
|
|
562
562
|
|
|
563
563
|
|
|
564
|
-
var
|
|
564
|
+
var _chunkBB6TR422cjs = require('../chunk-BB6TR422.cjs');
|
|
565
565
|
|
|
566
566
|
|
|
567
567
|
|
|
@@ -4497,7 +4497,7 @@ function segmentationOutlines(result) {
|
|
|
4497
4497
|
function segmentToSelection(width, height, result) {
|
|
4498
4498
|
let out = null;
|
|
4499
4499
|
for (const ring of segmentationOutlines(result)) {
|
|
4500
|
-
out = _chunkSS53NNZOcjs.combineSelections.call(void 0, out,
|
|
4500
|
+
out = _chunkSS53NNZOcjs.combineSelections.call(void 0, out, _chunkKALCIDWHcjs.polygonSelection.call(void 0, width, height, ring), "add");
|
|
4501
4501
|
}
|
|
4502
4502
|
if (result.mask && result.mask.width > 0 && result.mask.height > 0) {
|
|
4503
4503
|
const raw = _chunkSS53NNZOcjs.selectionFromPixels.call(void 0, result.mask, { channel: "luminance" });
|
|
@@ -5555,7 +5555,7 @@ var PaintStrokeSession = (_class11 = class {
|
|
|
5555
5555
|
this.stroke = null;
|
|
5556
5556
|
this.retouch = stroke;
|
|
5557
5557
|
if (this.base.channels === 1) {
|
|
5558
|
-
const view =
|
|
5558
|
+
const view = _chunk2ONK3ERDcjs.rgbaViewOfGrey.call(void 0, this.mixerPixels());
|
|
5559
5559
|
this.mixer = stroke.create(view.target);
|
|
5560
5560
|
this.flushView = view.flush;
|
|
5561
5561
|
} else this.mixer = stroke.create(this.mixerPixels());
|
|
@@ -5602,7 +5602,7 @@ var PaintStrokeSession = (_class11 = class {
|
|
|
5602
5602
|
retouchDeepTile(key2, tx, ty, paint, options) {
|
|
5603
5603
|
const r = this.retouch;
|
|
5604
5604
|
const read = this.readWork(key2);
|
|
5605
|
-
const out =
|
|
5605
|
+
const out = _chunk2ONK3ERDcjs.applyRetouchToTile.call(void 0, this.stroke.coverage, _nullishCoalesce(read, () => ( new Float32Array(_chunk474IQG74cjs.TILE * _chunk474IQG74cjs.TILE * 4))), 4, tx, ty, paint, r.apply, options);
|
|
5606
5606
|
this.work.set(key2, out);
|
|
5607
5607
|
const d = deepOfWorkTile(out, this.deep, read, this.base.tiles.get(key2));
|
|
5608
5608
|
this.liveDeep.set(key2, d);
|
|
@@ -5612,7 +5612,7 @@ var PaintStrokeSession = (_class11 = class {
|
|
|
5612
5612
|
/** The new tile of a coverage stroke over the pre-stroke tile `src`. */
|
|
5613
5613
|
compositeTile(src, tx, ty, options = {}, paint) {
|
|
5614
5614
|
const r = this.retouch;
|
|
5615
|
-
if (r && r.kind === "coverage") return
|
|
5615
|
+
if (r && r.kind === "coverage") return _chunk2ONK3ERDcjs.applyRetouchToTile.call(void 0, this.stroke.coverage, src, this.base.channels, tx, ty, _nullishCoalesce(paint, () => ( r.paint())), r.apply, options);
|
|
5616
5616
|
return _chunkPQ3H2AANcjs.applyStrokeToTile.call(void 0, this.stroke.coverage, src, this.base.channels, tx, ty, this.apply, options);
|
|
5617
5617
|
}
|
|
5618
5618
|
/** The live pixels a mixer stroke reads and writes; base tiles are copied on first write. */
|
|
@@ -5710,7 +5710,7 @@ var PaintStrokeSession = (_class11 = class {
|
|
|
5710
5710
|
const prev2 = this.touched.has(key2) ? this.liveDeep.get(key2) : void 0;
|
|
5711
5711
|
this.touched.add(key2);
|
|
5712
5712
|
const opts = prev2 ? { into: prev2, region: r, channels: ch } : { channels: ch };
|
|
5713
|
-
const d = _optionalChain([rt, 'optionalAccess', _134 => _134.kind]) === "coverage" && _optionalChain([paint, 'optionalAccess', _135 => _135.kind]) === "tone" ?
|
|
5713
|
+
const d = _optionalChain([rt, 'optionalAccess', _134 => _134.kind]) === "coverage" && _optionalChain([paint, 'optionalAccess', _135 => _135.kind]) === "tone" ? _chunk2ONK3ERDcjs.applyToneToDeepTile.call(void 0, stroke.coverage, src2, tx, ty, paint.tone, rt.apply, opts) : _chunkPQ3H2AANcjs.applyStrokeToDeepTile.call(void 0, stroke.coverage, src2, tx, ty, this.apply, opts);
|
|
5714
5714
|
this.liveDeep.set(key2, d);
|
|
5715
5715
|
this.live.set(key2, { data: _chunkOLNIPTB3cjs.proxyOf.call(void 0, d, ch), uniform: null, deep: d });
|
|
5716
5716
|
continue;
|
|
@@ -5962,7 +5962,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
5962
5962
|
this.effectsEngine.subscribe(() => this.queueEffectRefresh("incomplete"));
|
|
5963
5963
|
if (options.effects) this.effects.set(options.effects);
|
|
5964
5964
|
if (options.segmentation) this.segmentation = options.segmentation;
|
|
5965
|
-
if (options.selectionWorker) this.selectionWorker = new (0,
|
|
5965
|
+
if (options.selectionWorker) this.selectionWorker = new (0, _chunkKALCIDWHcjs.SelectionWorkerClient)(options.selectionWorker);
|
|
5966
5966
|
if (options.openDocument) this.documentOpener = options.openDocument;
|
|
5967
5967
|
this.maxHistoryDepth = _nullishCoalesce(options.maxHistoryDepth, () => ( 50));
|
|
5968
5968
|
if (options.textShaper !== void 0) this.textShaperValue = options.textShaper;
|
|
@@ -5998,7 +5998,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
5998
5998
|
activeLayerId: null,
|
|
5999
5999
|
activeTarget: "pixels",
|
|
6000
6000
|
outputOpacity: 1,
|
|
6001
|
-
paint: { brush: { ..._chunkPQ3H2AANcjs.DEFAULT_BRUSH }, foreground: "#000000", background: "#ffffff", paint: { type: "color", color: "#000000" }, mixer: { ..._chunkPQ3H2AANcjs.DEFAULT_MIXER }, mixerLoad: _chunkPQ3H2AANcjs.EMPTY_MIXER_LOAD, retouch: { ...
|
|
6001
|
+
paint: { brush: { ..._chunkPQ3H2AANcjs.DEFAULT_BRUSH }, foreground: "#000000", background: "#ffffff", paint: { type: "color", color: "#000000" }, mixer: { ..._chunkPQ3H2AANcjs.DEFAULT_MIXER }, mixerLoad: _chunkPQ3H2AANcjs.EMPTY_MIXER_LOAD, retouch: { ..._chunk2ONK3ERDcjs.DEFAULT_RETOUCH }, cloneSource: null, cloneTransform: { ..._chunk2ONK3ERDcjs.IDENTITY_CLONE_TRANSFORM } },
|
|
6002
6002
|
fit: _nullishCoalesce(options.fit, () => ( "margin"))
|
|
6003
6003
|
};
|
|
6004
6004
|
if (options.image instanceof Object && "width" in options.image) {
|
|
@@ -6163,7 +6163,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
6163
6163
|
*/
|
|
6164
6164
|
setSelectionWorker(factory) {
|
|
6165
6165
|
_optionalChain([this, 'access', _172 => _172.selectionWorker, 'optionalAccess', _173 => _173.terminate, 'call', _174 => _174()]);
|
|
6166
|
-
this.selectionWorker = factory ? new (0,
|
|
6166
|
+
this.selectionWorker = factory ? new (0, _chunkKALCIDWHcjs.SelectionWorkerClient)(factory) : null;
|
|
6167
6167
|
}
|
|
6168
6168
|
/** Sets (or with `null` removes) how new documents are opened (see `DocumentOpener`). Not an edit. */
|
|
6169
6169
|
setDocumentOpener(opener) {
|
|
@@ -6241,7 +6241,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
6241
6241
|
async runSelectionJob(job, pixels, options = {}) {
|
|
6242
6242
|
_optionalChain([options, 'access', _176 => _176.signal, 'optionalAccess', _177 => _177.throwIfAborted, 'call', _178 => _178()]);
|
|
6243
6243
|
if (this.selectionWorker) return this.selectionWorker.run(job, pixels, options);
|
|
6244
|
-
const result =
|
|
6244
|
+
const result = _chunkKALCIDWHcjs.runSelectionJob.call(void 0, job, pixels, options.onProgress);
|
|
6245
6245
|
_optionalChain([options, 'access', _179 => _179.signal, 'optionalAccess', _180 => _180.throwIfAborted, 'call', _181 => _181()]);
|
|
6246
6246
|
return result;
|
|
6247
6247
|
}
|
|
@@ -8603,7 +8603,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
8603
8603
|
/** Brush settings, colours and tool options of the paint tools (view state, no undo). */
|
|
8604
8604
|
setPaintOptions(options) {
|
|
8605
8605
|
const cur = this.state.paint;
|
|
8606
|
-
const retouch = options.retouch ?
|
|
8606
|
+
const retouch = options.retouch ? _chunk2ONK3ERDcjs.normalizeRetouch.call(void 0, options.retouch, cur.retouch) : cur.retouch;
|
|
8607
8607
|
const cloneSource = cur.cloneSource && retouch.aligned !== cur.retouch.aligned ? { ...cur.cloneSource, offset: null } : cur.cloneSource;
|
|
8608
8608
|
let source = cur.paint;
|
|
8609
8609
|
let foreground = options.foreground !== void 0 ? toHex(parseColor(options.foreground)) : cur.foreground;
|
|
@@ -8670,7 +8670,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
8670
8670
|
*/
|
|
8671
8671
|
setCloneTransform(t) {
|
|
8672
8672
|
const cur = this.state.paint.cloneTransform;
|
|
8673
|
-
const next = t ? { ...cur, ...t } : { ...
|
|
8673
|
+
const next = t ? { ...cur, ...t } : { ..._chunk2ONK3ERDcjs.IDENTITY_CLONE_TRANSFORM };
|
|
8674
8674
|
for (const k of ["scaleX", "scaleY"]) {
|
|
8675
8675
|
const v = next[k];
|
|
8676
8676
|
if (!Number.isFinite(v) || Math.abs(v) < 0.01 || Math.abs(v) > 10) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`${k} must be a scale factor between 0.01 and 10 in size (negative flips), not ${String(v)}.`);
|
|
@@ -8778,11 +8778,11 @@ var ImageEditorController = (_class12 = class {
|
|
|
8778
8778
|
}
|
|
8779
8779
|
/** A retouching stroke's start: its settings, what it samples and how it composites. */
|
|
8780
8780
|
retouchStroke(tool, init, brush, target, apply) {
|
|
8781
|
-
const settings =
|
|
8781
|
+
const settings = _chunk2ONK3ERDcjs.normalizeRetouch.call(void 0, _nullishCoalesce(init.retouch, () => ( {})), this.state.paint.retouch);
|
|
8782
8782
|
const mask = target.channel !== "pixels";
|
|
8783
8783
|
if (tool === "sponge" && mask) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("The Sponge changes saturation, and a mask has none; target pixels (channel pixels), or use dodge or burn on the mask.");
|
|
8784
|
-
if (tool === "smudge") return { kind: "dabs", create: (pixels) => new (0,
|
|
8785
|
-
if (tool === "sponge") return { kind: "dabs", create: (pixels) => new (0,
|
|
8784
|
+
if (tool === "smudge") return { kind: "dabs", create: (pixels) => new (0, _chunk2ONK3ERDcjs.RetouchDabStroke)(brush, pixels, _chunk2ONK3ERDcjs.smudgeEffect.call(void 0, brush, settings.strength)) };
|
|
8785
|
+
if (tool === "sponge") return { kind: "dabs", create: (pixels) => new (0, _chunk2ONK3ERDcjs.RetouchDabStroke)(brush, pixels, _chunk2ONK3ERDcjs.spongeEffect.call(void 0, brush, settings.spongeMode === "saturate", settings.vibrance)) };
|
|
8786
8786
|
const retouchApply = {
|
|
8787
8787
|
opacity: tool === "clone" || tool === "heal" || tool === "history" ? brush.opacity : tool === "blur" || tool === "sharpen" ? brush.opacity * settings.strength : 1,
|
|
8788
8788
|
blend: tool === "clone" && !mask ? brush.blend : "normal",
|
|
@@ -8792,7 +8792,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
8792
8792
|
};
|
|
8793
8793
|
const coverage = new (0, _chunkPQ3H2AANcjs.StrokeCoverage)(brush);
|
|
8794
8794
|
if (tool === "dodge" || tool === "burn") {
|
|
8795
|
-
const paint2 = { kind: "tone", tone:
|
|
8795
|
+
const paint2 = { kind: "tone", tone: _chunk2ONK3ERDcjs.toneOf.call(void 0, tool, settings) };
|
|
8796
8796
|
return { kind: "coverage", coverage, apply: retouchApply, start: () => {
|
|
8797
8797
|
}, paint: () => paint2 };
|
|
8798
8798
|
}
|
|
@@ -8800,11 +8800,11 @@ var ImageEditorController = (_class12 = class {
|
|
|
8800
8800
|
const n = target.surface.channels;
|
|
8801
8801
|
const depth = !mask && this.bitDepth !== 8 ? this.bitDepth : null;
|
|
8802
8802
|
const m = 6;
|
|
8803
|
-
const filtered = new (0,
|
|
8803
|
+
const filtered = new (0, _chunk2ONK3ERDcjs.TilePixelSource)(
|
|
8804
8804
|
(tx, ty) => {
|
|
8805
8805
|
const r = { x: tx * _chunk474IQG74cjs.TILE - m, y: ty * _chunk474IQG74cjs.TILE - m, width: _chunk474IQG74cjs.TILE + 2 * m, height: _chunk474IQG74cjs.TILE + 2 * m };
|
|
8806
8806
|
const d = workRegionOf(target.surface, r, depth);
|
|
8807
|
-
|
|
8807
|
+
_chunk2ONK3ERDcjs.retouchFilter.call(void 0, d, r.width, r.height, n, tool, 2, 1.2);
|
|
8808
8808
|
const out = new Float32Array(_chunk474IQG74cjs.TILE * _chunk474IQG74cjs.TILE * n);
|
|
8809
8809
|
for (let y = 0; y < _chunk474IQG74cjs.TILE; y++) out.set(d.subarray(((y + m) * r.width + m) * n, ((y + m) * r.width + m + _chunk474IQG74cjs.TILE) * n), y * _chunk474IQG74cjs.TILE * n);
|
|
8810
8810
|
return out;
|
|
@@ -8826,14 +8826,14 @@ var ImageEditorController = (_class12 = class {
|
|
|
8826
8826
|
if (!surface) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`Layer "${target.id}" had no ${target.channel === "mask" ? "mask" : "pixels"} in that state.`);
|
|
8827
8827
|
const offset2 = then.type === "pixel" ? then.offset : { x: 0, y: 0 };
|
|
8828
8828
|
const depth = !mask && this.bitDepth !== 8 ? this.bitDepth : null;
|
|
8829
|
-
const source2 = depth ? new (0,
|
|
8829
|
+
const source2 = depth ? new (0, _chunk2ONK3ERDcjs.TilePixelSource)((tx, ty) => workTileOf(surface.tiles.get(_chunk474IQG74cjs.tileKey.call(void 0, tx, ty))), 4, offset2) : this.surfaceSource(surface, offset2);
|
|
8830
8830
|
const paint2 = { kind: "source", source: source2, dx: 0, dy: 0 };
|
|
8831
8831
|
return { kind: "coverage", coverage, apply: retouchApply, start: () => {
|
|
8832
8832
|
}, paint: () => paint2 };
|
|
8833
8833
|
}
|
|
8834
8834
|
const sample = mask ? "current" : settings.sample;
|
|
8835
8835
|
const deep = !mask && this.bitDepth !== 8 ? this.bitDepth : null;
|
|
8836
|
-
const own = deep ? new (0,
|
|
8836
|
+
const own = deep ? new (0, _chunk2ONK3ERDcjs.TilePixelSource)((tx, ty) => workTileOf(target.surface.tiles.get(_chunk474IQG74cjs.tileKey.call(void 0, tx, ty))), 4, target.offset) : this.surfaceSource(target.surface, target.offset);
|
|
8837
8837
|
const source = sample === "current" ? own : this.compositeSource(sample === "all" ? null : target.id, deep);
|
|
8838
8838
|
const pad = (r, m) => ({ x: r.x - m, y: r.y - m, width: r.width + 2 * m, height: r.height + 2 * m });
|
|
8839
8839
|
const covered = (cov, r) => {
|
|
@@ -8854,14 +8854,14 @@ var ImageEditorController = (_class12 = class {
|
|
|
8854
8854
|
paint: () => trail,
|
|
8855
8855
|
finalPaint: (cov) => {
|
|
8856
8856
|
if (!cov.bounds) return null;
|
|
8857
|
-
const win =
|
|
8857
|
+
const win = _chunk2ONK3ERDcjs.spotHealWindow.call(void 0, cov.bounds, { width, height });
|
|
8858
8858
|
if (win.width <= 0 || win.height <= 0) return null;
|
|
8859
|
-
const img =
|
|
8859
|
+
const img = _chunk2ONK3ERDcjs.readSourceRegion.call(void 0, source, win);
|
|
8860
8860
|
const hole = covered(cov, win);
|
|
8861
|
-
const healed =
|
|
8861
|
+
const healed = _chunk2ONK3ERDcjs.spotHealPixels.call(void 0, win.width, win.height, img, hole, brush.size, settings.spotType, (off) => {
|
|
8862
8862
|
patch = off ? { x: off[0], y: off[1] } : null;
|
|
8863
8863
|
});
|
|
8864
|
-
return { kind: "source", source: new (0,
|
|
8864
|
+
return { kind: "source", source: new (0, _chunk2ONK3ERDcjs.RegionPixelSource)(win, healed), dx: 0, dy: 0 };
|
|
8865
8865
|
},
|
|
8866
8866
|
result: () => ({ spotHeal: { offset: patch } })
|
|
8867
8867
|
};
|
|
@@ -8872,7 +8872,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
8872
8872
|
let offset = { x: 0, y: 0 };
|
|
8873
8873
|
let first = { x: 0, y: 0 };
|
|
8874
8874
|
const xf = this.state.paint.cloneTransform;
|
|
8875
|
-
const transformed =
|
|
8875
|
+
const transformed = _chunk2ONK3ERDcjs.isIdentityCloneTransform.call(void 0, xf) ? null : new (0, _chunk2ONK3ERDcjs.TransformedPixelSource)(source, (x, y) => _chunk2ONK3ERDcjs.cloneSamplePoint.call(void 0, xf, cs, { x: cs.x - offset.x, y: cs.y - offset.y }, x, y));
|
|
8876
8876
|
const paint = () => transformed ? { kind: "source", source: transformed, dx: 0, dy: 0 } : { kind: "source", source, dx: offset.x, dy: offset.y };
|
|
8877
8877
|
return {
|
|
8878
8878
|
kind: "coverage",
|
|
@@ -8887,16 +8887,16 @@ var ImageEditorController = (_class12 = class {
|
|
|
8887
8887
|
finalPaint: tool === "heal" ? (cov) => {
|
|
8888
8888
|
if (!cov.bounds) return null;
|
|
8889
8889
|
const g = pad(cov.bounds, 2);
|
|
8890
|
-
const src = transformed ?
|
|
8891
|
-
const dst =
|
|
8892
|
-
return { kind: "source", source: new (0,
|
|
8890
|
+
const src = transformed ? _chunk2ONK3ERDcjs.readSourceRegion.call(void 0, transformed, g) : _chunk2ONK3ERDcjs.readSourceRegion.call(void 0, source, g, offset.x, offset.y);
|
|
8891
|
+
const dst = _chunk2ONK3ERDcjs.readSourceRegion.call(void 0, source, g);
|
|
8892
|
+
return { kind: "source", source: new (0, _chunk2ONK3ERDcjs.RegionPixelSource)(g, _chunk2ONK3ERDcjs.healPixels.call(void 0, g.width, g.height, src, dst, covered(cov, g))), dx: 0, dy: 0 };
|
|
8893
8893
|
} : void 0,
|
|
8894
8894
|
result: () => ({ clone: { offset: { ...offset }, source: { x: first.x + offset.x, y: first.y + offset.y }, aligned: settings.aligned } })
|
|
8895
8895
|
};
|
|
8896
8896
|
}
|
|
8897
8897
|
/** A pixel source over a surface (layer pixels or a mask) in layer space at `offset`. */
|
|
8898
8898
|
surfaceSource(surface, offset) {
|
|
8899
|
-
return new (0,
|
|
8899
|
+
return new (0, _chunk2ONK3ERDcjs.TilePixelSource)((tx, ty) => _nullishCoalesce(_optionalChain([surface, 'access', _323 => _323.tiles, 'access', _324 => _324.get, 'call', _325 => _325(_chunk474IQG74cjs.tileKey.call(void 0, tx, ty)), 'optionalAccess', _326 => _326.data]), () => ( (surface.defaultValue ? defaultTile(surface) : null))), surface.channels, offset);
|
|
8900
8900
|
}
|
|
8901
8901
|
/** A pixel source over the composite of the current layers (through `throughId` and below, or all of them), as it is now. */
|
|
8902
8902
|
compositeSource(throughId, depth = null) {
|
|
@@ -8904,7 +8904,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
8904
8904
|
const layers = throughId ? layersThrough(stack, throughId) : stack;
|
|
8905
8905
|
const sources = this.compositorSources();
|
|
8906
8906
|
if (depth) {
|
|
8907
|
-
return new (0,
|
|
8907
|
+
return new (0, _chunk2ONK3ERDcjs.TilePixelSource)((tx, ty) => {
|
|
8908
8908
|
const w = _chunkS55JFWDAcjs.compositeDeep.call(void 0, layers, { x: tx * _chunk474IQG74cjs.TILE, y: ty * _chunk474IQG74cjs.TILE, width: _chunk474IQG74cjs.TILE, height: _chunk474IQG74cjs.TILE }, sources, depth);
|
|
8909
8909
|
for (let i = 0; i < w.length; i += 4) {
|
|
8910
8910
|
if (depth === 32) for (let c = 0; c < 3; c++) w[i + c] = _chunkOLNIPTB3cjs.srgbEncode.call(void 0, w[i + c]);
|
|
@@ -8914,7 +8914,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
8914
8914
|
}, 4);
|
|
8915
8915
|
}
|
|
8916
8916
|
const compositor = new (0, _chunkS55JFWDAcjs.LayerCompositor)();
|
|
8917
|
-
return new (0,
|
|
8917
|
+
return new (0, _chunk2ONK3ERDcjs.TilePixelSource)((tx, ty) => compositor.tile(layers, tx, ty, sources), 4);
|
|
8918
8918
|
}
|
|
8919
8919
|
/** A Mixer Brush stroke's start: the settings, and the load (refilled when asked or set to). */
|
|
8920
8920
|
mixerStroke(init, brush) {
|
|
@@ -9033,7 +9033,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9033
9033
|
*/
|
|
9034
9034
|
contentAwareFill(options = {}) {
|
|
9035
9035
|
const plan = this.prepareContentAwareFill(options);
|
|
9036
|
-
const filled =
|
|
9036
|
+
const filled = _chunkBB6TR422cjs.contentAwareFill.call(void 0, plan.window.width, plan.window.height, 4, plan.before, plan.hole, { seed: _nullishCoalesce(options.seed, () => ( 0)), exclude: plan.exclude });
|
|
9037
9037
|
return this.applyContentAwareFill(plan, Uint8ClampedArray.from(filled), _nullishCoalesce(options.output, () => ( "current")));
|
|
9038
9038
|
}
|
|
9039
9039
|
/**
|
|
@@ -9045,6 +9045,50 @@ var ImageEditorController = (_class12 = class {
|
|
|
9045
9045
|
const filled = await this.synthesiseFill(plan, _nullishCoalesce(options.seed, () => ( 0)), options);
|
|
9046
9046
|
return this.applyContentAwareFill(plan, filled, _nullishCoalesce(options.output, () => ( "current")));
|
|
9047
9047
|
}
|
|
9048
|
+
/**
|
|
9049
|
+
* Separate Subject: splits the selected subject from its background in one undo step. The
|
|
9050
|
+
* subject goes to a copy of the layer masked by the selection (on top, made active); a second
|
|
9051
|
+
* copy becomes the background plate with the subject's area, grown by `dilate` px (default 8),
|
|
9052
|
+
* Content-Aware Filled (`fill: 'none'` leaves it transparent); an alpha channel marks the filled
|
|
9053
|
+
* area so a bad patch can be selected and filled again; the source layer is hidden. The fill is
|
|
9054
|
+
* computed first, so `signal` cancels it with nothing changed. 8-bit pixel layers only. Returns
|
|
9055
|
+
* the new layers, the channel and the filled bounds.
|
|
9056
|
+
*/
|
|
9057
|
+
async separateSubject(options = {}) {
|
|
9058
|
+
const subject = this.state.selection;
|
|
9059
|
+
if (!_optionalChain([subject, 'optionalAccess', _331 => _331.bounds])) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("Nothing is selected: select the subject first (select_subject, select_object or quick_select), then separate it.");
|
|
9060
|
+
const fill = _nullishCoalesce(options.fill, () => ( "content-aware"));
|
|
9061
|
+
if (fill !== "content-aware" && fill !== "none") throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`fill must be content-aware or none, got "${String(fill)}".`);
|
|
9062
|
+
const dilate = _nullishCoalesce(options.dilate, () => ( 8));
|
|
9063
|
+
if (!(typeof dilate === "number" && Number.isFinite(dilate) && dilate >= 0 && dilate <= 200)) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`dilate must be 0 to 200 px, got ${String(options.dilate)}.`);
|
|
9064
|
+
const source = this.paintTarget(options.layerId, "pixels", "separate the subject from");
|
|
9065
|
+
const name = source.layer.name || "Layer";
|
|
9066
|
+
const hole = dilate > 0 ? _chunkSS53NNZOcjs.modifySelection.call(void 0, subject, "expand", dilate) : subject;
|
|
9067
|
+
let plan;
|
|
9068
|
+
this.state.selection = hole;
|
|
9069
|
+
try {
|
|
9070
|
+
plan = this.prepareContentAwareFill({ layerId: source.id, seed: options.seed });
|
|
9071
|
+
} finally {
|
|
9072
|
+
this.state.selection = subject;
|
|
9073
|
+
}
|
|
9074
|
+
const filled = fill === "content-aware" ? await this.synthesiseFill(plan, _nullishCoalesce(options.seed, () => ( 0)), options) : new Uint8ClampedArray(plan.before.length);
|
|
9075
|
+
_optionalChain([options, 'access', _332 => _332.signal, 'optionalAccess', _333 => _333.throwIfAborted, 'call', _334 => _334()]);
|
|
9076
|
+
const plateRect = { x: plan.window.x - source.offset.x, y: plan.window.y - source.offset.y, width: plan.window.width, height: plan.window.height };
|
|
9077
|
+
const plateSurface = _chunk474IQG74cjs.writeRegion.call(void 0, source.surface, plateRect, this.blendFill(plan, filled, "current"));
|
|
9078
|
+
return this.asOneStep(() => {
|
|
9079
|
+
const plateLayerId = this.duplicateLayer(source.id, `${name} plate`);
|
|
9080
|
+
this.commitLayers(_chunkB46UQUDCcjs.mapLayer.call(void 0, this.state.layers, plateLayerId, (l) => this.withSurface(l, "pixels", plateSurface)));
|
|
9081
|
+
const foregroundLayerId = this.duplicateLayer(source.id, `${name} subject`);
|
|
9082
|
+
this.moveLayer(foregroundLayerId, { aboveId: plateLayerId });
|
|
9083
|
+
this.addLayerMask(foregroundLayerId, "selection");
|
|
9084
|
+
this.setSelection(hole);
|
|
9085
|
+
const channel = this.saveSelection({ name: `${name} fill area` });
|
|
9086
|
+
this.setSelection(subject);
|
|
9087
|
+
this.setLayerProperties(source.id, { visible: false });
|
|
9088
|
+
this.setActiveLayer(foregroundLayerId);
|
|
9089
|
+
return { foregroundLayerId, plateLayerId, sourceLayerId: source.id, fillChannelId: channel.id, filledBounds: { ...hole.bounds }, dilate, fill };
|
|
9090
|
+
});
|
|
9091
|
+
}
|
|
9048
9092
|
/**
|
|
9049
9093
|
* The fill without changing anything: the window, its pixels before and after (RGBA, the fill
|
|
9050
9094
|
* blended by the selection's coverage) and the sampling area used, for a preview.
|
|
@@ -9069,7 +9113,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9069
9113
|
*/
|
|
9070
9114
|
prepareContentAwareFill(options = {}) {
|
|
9071
9115
|
const sel = this.state.selection;
|
|
9072
|
-
if (!_optionalChain([sel, 'optionalAccess',
|
|
9116
|
+
if (!_optionalChain([sel, 'optionalAccess', _335 => _335.bounds])) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("Nothing is selected; select what to remove, then fill it.");
|
|
9073
9117
|
if (this.bitDepth !== 8) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("Content-Aware Fill works on 8-bit documents for now; set_bit_depth 8 first, or use spot_heal.");
|
|
9074
9118
|
const output = _nullishCoalesce(options.output, () => ( "current"));
|
|
9075
9119
|
if (output !== "current" && output !== "new-layer" && output !== "duplicate-layer") {
|
|
@@ -9080,12 +9124,12 @@ var ImageEditorController = (_class12 = class {
|
|
|
9080
9124
|
const b = sel.bounds;
|
|
9081
9125
|
let area = _nullishCoalesce(options.samplingArea, () => ( null));
|
|
9082
9126
|
if (!area && options.samplingChannelId) area = this.requireChannel(options.samplingChannelId).mask;
|
|
9083
|
-
if (!area && _optionalChain([options, 'access',
|
|
9084
|
-
for (const r of options.sampleRects) area = _chunkSS53NNZOcjs.combineSelections.call(void 0, area,
|
|
9127
|
+
if (!area && _optionalChain([options, 'access', _336 => _336.sampleRects, 'optionalAccess', _337 => _337.length])) {
|
|
9128
|
+
for (const r of options.sampleRects) area = _chunkSS53NNZOcjs.combineSelections.call(void 0, area, _chunkKALCIDWHcjs.rectSelection.call(void 0, width, height, r, { antiAlias: false }), "add");
|
|
9085
9129
|
}
|
|
9086
9130
|
if (area && !area.bounds) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("The sampling area is empty; paint or give an area to sample from.");
|
|
9087
9131
|
let win;
|
|
9088
|
-
if (_optionalChain([area, 'optionalAccess',
|
|
9132
|
+
if (_optionalChain([area, 'optionalAccess', _338 => _338.bounds])) {
|
|
9089
9133
|
const a = area.bounds;
|
|
9090
9134
|
const x0 = Math.max(0, Math.min(b.x - 8, a.x));
|
|
9091
9135
|
const y0 = Math.max(0, Math.min(b.y - 8, a.y));
|
|
@@ -9110,7 +9154,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9110
9154
|
}
|
|
9111
9155
|
}
|
|
9112
9156
|
let exclude = null;
|
|
9113
|
-
if (area || _optionalChain([options, 'access',
|
|
9157
|
+
if (area || _optionalChain([options, 'access', _339 => _339.excludeRects, 'optionalAccess', _340 => _340.length])) {
|
|
9114
9158
|
exclude = new Uint8Array(n);
|
|
9115
9159
|
if (area) {
|
|
9116
9160
|
const ad = area.data;
|
|
@@ -9181,8 +9225,8 @@ var ImageEditorController = (_class12 = class {
|
|
|
9181
9225
|
*/
|
|
9182
9226
|
copyPixels(options = {}) {
|
|
9183
9227
|
const { width, height } = this.naturalSize;
|
|
9184
|
-
const sel = _optionalChain([this, 'access',
|
|
9185
|
-
const rect2 = _nullishCoalesce(_optionalChain([sel, 'optionalAccess',
|
|
9228
|
+
const sel = _optionalChain([this, 'access', _341 => _341.state, 'access', _342 => _342.selection, 'optionalAccess', _343 => _343.bounds]) ? this.state.selection : null;
|
|
9229
|
+
const rect2 = _nullishCoalesce(_optionalChain([sel, 'optionalAccess', _344 => _344.bounds]), () => ( { x: 0, y: 0, width, height }));
|
|
9186
9230
|
let data;
|
|
9187
9231
|
if (options.merged) {
|
|
9188
9232
|
data = new Uint8ClampedArray(this.compositePixels(rect2).data);
|
|
@@ -9222,7 +9266,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9222
9266
|
pastePixels(mode = "new-layer", image = this.clipboard) {
|
|
9223
9267
|
if (!image) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("The clipboard is empty; copy_pixels first.");
|
|
9224
9268
|
if (!PASTE_MODES.includes(mode)) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`Unknown paste mode "${String(mode)}"; use ${PASTE_MODES.join(", ")}.`);
|
|
9225
|
-
const sel = _optionalChain([this, 'access',
|
|
9269
|
+
const sel = _optionalChain([this, 'access', _345 => _345.state, 'access', _346 => _346.selection, 'optionalAccess', _347 => _347.bounds]) ? this.state.selection : null;
|
|
9226
9270
|
if ((mode === "into" || mode === "outside") && !sel) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`Paste ${mode === "into" ? "Into" : "Outside"} needs a selection; select where it goes first.`);
|
|
9227
9271
|
const { width, height } = this.naturalSize;
|
|
9228
9272
|
let x;
|
|
@@ -9231,7 +9275,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9231
9275
|
x = image.x;
|
|
9232
9276
|
y = image.y;
|
|
9233
9277
|
} else {
|
|
9234
|
-
const frame = _nullishCoalesce(_optionalChain([sel, 'optionalAccess',
|
|
9278
|
+
const frame = _nullishCoalesce(_optionalChain([sel, 'optionalAccess', _348 => _348.bounds]), () => ( { x: 0, y: 0, width, height }));
|
|
9235
9279
|
x = Math.round(frame.x + (frame.width - image.width) / 2);
|
|
9236
9280
|
y = Math.round(frame.y + (frame.height - image.height) / 2);
|
|
9237
9281
|
}
|
|
@@ -9248,8 +9292,8 @@ var ImageEditorController = (_class12 = class {
|
|
|
9248
9292
|
if (!(opacity >= 0 && opacity <= 1)) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("opacity must be from 0 to 1.");
|
|
9249
9293
|
const blend = _nullishCoalesce(_chunkS55JFWDAcjs.parseBlend.call(void 0, options.blend), () => ( "normal"));
|
|
9250
9294
|
const quickMask = target.channel === "quick-mask";
|
|
9251
|
-
const sel = _nullishCoalesce(coverageMask, () => ( (!quickMask && options.useSelection !== false && _optionalChain([this, 'access',
|
|
9252
|
-
const region = _nullishCoalesce(_optionalChain([sel, 'optionalAccess',
|
|
9295
|
+
const sel = _nullishCoalesce(coverageMask, () => ( (!quickMask && options.useSelection !== false && _optionalChain([this, 'access', _349 => _349.state, 'access', _350 => _350.selection, 'optionalAccess', _351 => _351.bounds]) ? this.state.selection : null)));
|
|
9296
|
+
const region = _nullishCoalesce(_optionalChain([sel, 'optionalAccess', _352 => _352.bounds]), () => ( { x: 0, y: 0, width, height }));
|
|
9253
9297
|
const coverage = new (0, _chunkPQ3H2AANcjs.CoverageMap)();
|
|
9254
9298
|
const ones = new Float32Array(region.width * region.height);
|
|
9255
9299
|
if (sel) {
|
|
@@ -9374,7 +9418,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9374
9418
|
placeLayer(layers, node, where) {
|
|
9375
9419
|
if (where.aboveId) {
|
|
9376
9420
|
const loc = _chunkB46UQUDCcjs.findLayer.call(void 0, layers, where.aboveId);
|
|
9377
|
-
if (loc) return _chunkB46UQUDCcjs.insertLayer.call(void 0, layers, node, _nullishCoalesce(_optionalChain([loc, 'access',
|
|
9421
|
+
if (loc) return _chunkB46UQUDCcjs.insertLayer.call(void 0, layers, node, _nullishCoalesce(_optionalChain([loc, 'access', _353 => _353.parent, 'optionalAccess', _354 => _354.id]), () => ( null)), loc.index + 1);
|
|
9378
9422
|
}
|
|
9379
9423
|
if (where.parentId) {
|
|
9380
9424
|
const loc = _chunkB46UQUDCcjs.findLayer.call(void 0, layers, where.parentId);
|
|
@@ -9385,11 +9429,11 @@ var ImageEditorController = (_class12 = class {
|
|
|
9385
9429
|
const at = Math.max(0, Math.min(nodes.length, Math.round(where.adjustmentIndex)));
|
|
9386
9430
|
if (at < nodes.length) {
|
|
9387
9431
|
const loc = _chunkB46UQUDCcjs.findLayer.call(void 0, layers, nodes[at].id);
|
|
9388
|
-
return _chunkB46UQUDCcjs.insertLayer.call(void 0, layers, node, _nullishCoalesce(_optionalChain([loc, 'access',
|
|
9432
|
+
return _chunkB46UQUDCcjs.insertLayer.call(void 0, layers, node, _nullishCoalesce(_optionalChain([loc, 'access', _355 => _355.parent, 'optionalAccess', _356 => _356.id]), () => ( null)), loc.index);
|
|
9389
9433
|
}
|
|
9390
9434
|
if (nodes.length) {
|
|
9391
9435
|
const loc = _chunkB46UQUDCcjs.findLayer.call(void 0, layers, nodes[nodes.length - 1].id);
|
|
9392
|
-
return _chunkB46UQUDCcjs.insertLayer.call(void 0, layers, node, _nullishCoalesce(_optionalChain([loc, 'access',
|
|
9436
|
+
return _chunkB46UQUDCcjs.insertLayer.call(void 0, layers, node, _nullishCoalesce(_optionalChain([loc, 'access', _357 => _357.parent, 'optionalAccess', _358 => _358.id]), () => ( null)), loc.index + 1);
|
|
9393
9437
|
}
|
|
9394
9438
|
}
|
|
9395
9439
|
return _chunkB46UQUDCcjs.insertLayer.call(void 0, layers, node, null, this.defaultInsertIndex(layers));
|
|
@@ -9428,7 +9472,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9428
9472
|
enabled: spec.enabled,
|
|
9429
9473
|
opacity: spec.opacity,
|
|
9430
9474
|
blend: spec.blend,
|
|
9431
|
-
mask: _nullishCoalesce(spec.mask, () => ( (spec.useSelection && _optionalChain([this, 'access',
|
|
9475
|
+
mask: _nullishCoalesce(spec.mask, () => ( (spec.useSelection && _optionalChain([this, 'access', _359 => _359.state, 'access', _360 => _360.selection, 'optionalAccess', _361 => _361.bounds]) ? _chunkS55JFWDAcjs.layerMaskFromSelection.call(void 0, this.state.selection) : void 0)))
|
|
9432
9476
|
});
|
|
9433
9477
|
while (ids.has(layer.id)) layer.id = _chunkS55JFWDAcjs.newLayerId.call(void 0, "adj");
|
|
9434
9478
|
const { width, height } = this.naturalSize;
|
|
@@ -9505,7 +9549,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9505
9549
|
const anchor = nodes[to];
|
|
9506
9550
|
const without = _chunkB46UQUDCcjs.mapLayer.call(void 0, layers, id, () => null);
|
|
9507
9551
|
const loc = _chunkB46UQUDCcjs.findLayer.call(void 0, without, anchor.id);
|
|
9508
|
-
return _chunkB46UQUDCcjs.insertLayer.call(void 0, without, node, _nullishCoalesce(_optionalChain([loc, 'access',
|
|
9552
|
+
return _chunkB46UQUDCcjs.insertLayer.call(void 0, without, node, _nullishCoalesce(_optionalChain([loc, 'access', _362 => _362.parent, 'optionalAccess', _363 => _363.id]), () => ( null)), to > from ? loc.index + 1 : loc.index);
|
|
9509
9553
|
}
|
|
9510
9554
|
/** Moves a layer to `toIndex` among the adjustment layers (0 = bottom) as one undo step. Returns false if nothing moved. */
|
|
9511
9555
|
moveAdjustmentLayer(id, toIndex) {
|
|
@@ -9546,7 +9590,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9546
9590
|
return _nullishCoalesce(this.state.selection, () => ( null));
|
|
9547
9591
|
}
|
|
9548
9592
|
get hasSelection() {
|
|
9549
|
-
return Boolean(_optionalChain([this, 'access',
|
|
9593
|
+
return Boolean(_optionalChain([this, 'access', _364 => _364.state, 'access', _365 => _365.selection, 'optionalAccess', _366 => _366.bounds]));
|
|
9550
9594
|
}
|
|
9551
9595
|
/** Returns the current canvas (composition) dimensions. */
|
|
9552
9596
|
getCanvasSize() {
|
|
@@ -9638,7 +9682,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9638
9682
|
const prev = normalizeSelection(_nullishCoalesce(this.state.selection, () => ( null)));
|
|
9639
9683
|
if (prev === next || prev && next && sameSelection(prev, next)) return false;
|
|
9640
9684
|
this.recordHistory();
|
|
9641
|
-
if (!next && _optionalChain([prev, 'optionalAccess',
|
|
9685
|
+
if (!next && _optionalChain([prev, 'optionalAccess', _367 => _367.bounds])) this.lastSelection = prev;
|
|
9642
9686
|
this.state.selection = next;
|
|
9643
9687
|
this.notify();
|
|
9644
9688
|
return true;
|
|
@@ -9687,19 +9731,19 @@ var ImageEditorController = (_class12 = class {
|
|
|
9687
9731
|
throw new RangeError(`${orientation === "row" ? "y" : "x"} ${position} is outside the image (0..${max - 1}).`);
|
|
9688
9732
|
}
|
|
9689
9733
|
const rect2 = orientation === "row" ? { x: 0, y: at, width, height: 1 } : { x: at, y: 0, width: 1, height };
|
|
9690
|
-
return this.shapeCommand(
|
|
9734
|
+
return this.shapeCommand(_chunkKALCIDWHcjs.rectSelection.call(void 0, width, height, rect2, { antiAlias: false }), options);
|
|
9691
9735
|
}
|
|
9692
9736
|
/** Select › Grow: adds connected pixels within `tolerance` of a selected colour (one undo step). */
|
|
9693
9737
|
async growSelection(options = {}) {
|
|
9694
9738
|
const sel = this.state.selection;
|
|
9695
|
-
if (!_optionalChain([sel, 'optionalAccess',
|
|
9739
|
+
if (!_optionalChain([sel, 'optionalAccess', _368 => _368.bounds])) return false;
|
|
9696
9740
|
const pixels = await this.requirePixels(options);
|
|
9697
9741
|
return this.setSelection(growSelection(pixels, sel, options));
|
|
9698
9742
|
}
|
|
9699
9743
|
/** Select › Similar: adds every pixel within `tolerance` of a selected colour (one undo step). */
|
|
9700
9744
|
async selectSimilar(options = {}) {
|
|
9701
9745
|
const sel = this.state.selection;
|
|
9702
|
-
if (!_optionalChain([sel, 'optionalAccess',
|
|
9746
|
+
if (!_optionalChain([sel, 'optionalAccess', _369 => _369.bounds])) return false;
|
|
9703
9747
|
const pixels = await this.requirePixels(options);
|
|
9704
9748
|
return this.setSelection(selectSimilar(pixels, sel, options));
|
|
9705
9749
|
}
|
|
@@ -9745,17 +9789,17 @@ var ImageEditorController = (_class12 = class {
|
|
|
9745
9789
|
/** Rectangular marquee in natural image pixels. */
|
|
9746
9790
|
selectRect(rect2, options = {}) {
|
|
9747
9791
|
const { width, height } = this.naturalSize;
|
|
9748
|
-
return this.shapeCommand(
|
|
9792
|
+
return this.shapeCommand(_chunkKALCIDWHcjs.rectSelection.call(void 0, width, height, rect2, options), options);
|
|
9749
9793
|
}
|
|
9750
9794
|
/** Elliptical marquee inscribed in `rect`. */
|
|
9751
9795
|
selectEllipse(rect2, options = {}) {
|
|
9752
9796
|
const { width, height } = this.naturalSize;
|
|
9753
|
-
return this.shapeCommand(
|
|
9797
|
+
return this.shapeCommand(_chunkKALCIDWHcjs.ellipseSelection.call(void 0, width, height, rect2, options), options);
|
|
9754
9798
|
}
|
|
9755
9799
|
/** Lasso / polygonal lasso. */
|
|
9756
9800
|
selectPolygon(points, options = {}) {
|
|
9757
9801
|
const { width, height } = this.naturalSize;
|
|
9758
|
-
return this.shapeCommand(
|
|
9802
|
+
return this.shapeCommand(_chunkKALCIDWHcjs.polygonSelection.call(void 0, width, height, points, options), options);
|
|
9759
9803
|
}
|
|
9760
9804
|
/**
|
|
9761
9805
|
* Magnetic Lasso for a given outline: each point snaps to the strongest edge within `width` px
|
|
@@ -9791,7 +9835,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9791
9835
|
size: options.size,
|
|
9792
9836
|
grow: m === "add",
|
|
9793
9837
|
enhanceEdge: options.enhanceEdge,
|
|
9794
|
-
selection: m === "add" && _optionalChain([sel, 'optionalAccess',
|
|
9838
|
+
selection: m === "add" && _optionalChain([sel, 'optionalAccess', _370 => _370.bounds]) ? _chunkKALCIDWHcjs.serializeMask.call(void 0, sel) : null
|
|
9795
9839
|
};
|
|
9796
9840
|
const { mask } = await this.runSelectionJob(job, pixels, {
|
|
9797
9841
|
signal: options.signal,
|
|
@@ -9811,7 +9855,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9811
9855
|
const { width, height } = this.naturalSize;
|
|
9812
9856
|
const image = await this.toDataURL({ format: "image/png" });
|
|
9813
9857
|
const results = await provider.segment({ ...request, image, width, height });
|
|
9814
|
-
_optionalChain([request, 'access',
|
|
9858
|
+
_optionalChain([request, 'access', _371 => _371.signal, 'optionalAccess', _372 => _372.throwIfAborted, 'call', _373 => _373()]);
|
|
9815
9859
|
const decoded = [];
|
|
9816
9860
|
for (const r of _nullishCoalesce(results, () => ( []))) decoded.push({ ...r, mask: r.mask !== void 0 ? await this.decodeMaskImage(r.mask) : void 0 });
|
|
9817
9861
|
return decoded;
|
|
@@ -9828,11 +9872,11 @@ var ImageEditorController = (_class12 = class {
|
|
|
9828
9872
|
let union = null;
|
|
9829
9873
|
for (const r of decoded) {
|
|
9830
9874
|
const one = segmentsToSelection(width, height, [r]);
|
|
9831
|
-
if (!_optionalChain([one, 'optionalAccess',
|
|
9875
|
+
if (!_optionalChain([one, 'optionalAccess', _374 => _374.bounds])) continue;
|
|
9832
9876
|
if ("rect" in target) {
|
|
9833
9877
|
const r0 = target.rect;
|
|
9834
9878
|
const grow = 0.1 * Math.max(r0.width, r0.height);
|
|
9835
|
-
const box =
|
|
9879
|
+
const box = _chunkKALCIDWHcjs.rectSelection.call(void 0, width, height, { x: r0.x - grow, y: r0.y - grow, width: r0.width + 2 * grow, height: r0.height + 2 * grow }, { antiAlias: false });
|
|
9836
9880
|
const inside = _chunkSS53NNZOcjs.combineSelections.call(void 0, one, box, "intersect");
|
|
9837
9881
|
if (!inside || _chunkSS53NNZOcjs.selectionArea.call(void 0, inside) < _chunkSS53NNZOcjs.selectionArea.call(void 0, one) * 0.5) continue;
|
|
9838
9882
|
union = _chunkSS53NNZOcjs.combineSelections.call(void 0, union, inside, "add");
|
|
@@ -9896,7 +9940,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9896
9940
|
if (this.segmentation && options.useModel !== false) {
|
|
9897
9941
|
const { width, height } = this.naturalSize;
|
|
9898
9942
|
const sky = segmentsToSelection(width, height, await this.modelSegments({ target: "the sky", signal: options.signal }));
|
|
9899
|
-
if (!_optionalChain([sky, 'optionalAccess',
|
|
9943
|
+
if (!_optionalChain([sky, 'optionalAccess', _375 => _375.bounds])) return { selection: _nullishCoalesce(this.state.selection, () => ( null)), method: "model", note: "The segmentation model found no sky." };
|
|
9900
9944
|
this.setSelection(sky, _nullishCoalesce(options.mode, () => ( "replace")));
|
|
9901
9945
|
return { selection: _nullishCoalesce(this.state.selection, () => ( null)), method: "model" };
|
|
9902
9946
|
}
|
|
@@ -9927,7 +9971,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
9927
9971
|
try {
|
|
9928
9972
|
const canvas = await this.renderSource();
|
|
9929
9973
|
const ctx = canvas.getContext("2d");
|
|
9930
|
-
const data2 = _optionalChain([ctx, 'optionalAccess',
|
|
9974
|
+
const data2 = _optionalChain([ctx, 'optionalAccess', _376 => _376.getImageData, 'optionalCall', _377 => _377(0, 0, width, height)]);
|
|
9931
9975
|
if (data2 && data2.data && data2.data.length >= width * height * 4) {
|
|
9932
9976
|
base = { width, height, data: data2.data };
|
|
9933
9977
|
this.samplePixels = base;
|
|
@@ -10002,7 +10046,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10002
10046
|
/** Select › Modify: grow, shrink, feather, border or smooth by `radius` pixels (one undo step). */
|
|
10003
10047
|
modifySelection(op, radius) {
|
|
10004
10048
|
const sel = this.state.selection;
|
|
10005
|
-
if (!_optionalChain([sel, 'optionalAccess',
|
|
10049
|
+
if (!_optionalChain([sel, 'optionalAccess', _378 => _378.bounds])) return false;
|
|
10006
10050
|
return this.setSelection(_chunkSS53NNZOcjs.modifySelection.call(void 0, sel, op, radius));
|
|
10007
10051
|
}
|
|
10008
10052
|
/**
|
|
@@ -10011,7 +10055,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10011
10055
|
*/
|
|
10012
10056
|
async refineSelection(params, options = {}) {
|
|
10013
10057
|
const sel = this.state.selection;
|
|
10014
|
-
if (!_optionalChain([sel, 'optionalAccess',
|
|
10058
|
+
if (!_optionalChain([sel, 'optionalAccess', _379 => _379.bounds])) return false;
|
|
10015
10059
|
const pixels = (_nullishCoalesce(params.radius, () => ( 0))) > 0 ? await this.requirePixels(options) : null;
|
|
10016
10060
|
return this.setSelection(_chunkSS53NNZOcjs.refineSelection.call(void 0, pixels, sel, params));
|
|
10017
10061
|
}
|
|
@@ -10034,7 +10078,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10034
10078
|
const edits = _nullishCoalesce(options.edits, () => ( []));
|
|
10035
10079
|
const regions2 = this.checkRegions(options.regions);
|
|
10036
10080
|
const refineMode = _nullishCoalesce(options.refineMode, () => ( "color"));
|
|
10037
|
-
if (!_optionalChain([this, 'access',
|
|
10081
|
+
if (!_optionalChain([this, 'access', _380 => _380.state, 'access', _381 => _381.selection, 'optionalAccess', _382 => _382.bounds]) && !edits.length) throw new Error("Nothing is selected; select first, or pass edits that paint a selection.");
|
|
10038
10082
|
if (refineMode === "object" && !this.segmentation) {
|
|
10039
10083
|
throw new Error("Object aware refinement needs a segmentation model (setSegmentationProvider); use refineMode color.");
|
|
10040
10084
|
}
|
|
@@ -10055,16 +10099,16 @@ var ImageEditorController = (_class12 = class {
|
|
|
10055
10099
|
const needsPixels = (_nullishCoalesce(params.radius, () => ( 0))) > 0 || edits.some((e) => e.kind !== "brush");
|
|
10056
10100
|
const pixels = needsPixels ? await this.requirePixels(options) : null;
|
|
10057
10101
|
const { width, height } = this.naturalSize;
|
|
10058
|
-
const edited =
|
|
10102
|
+
const edited = _chunkKALCIDWHcjs.applyRefineEdits.call(void 0, pixels, _nullishCoalesce(this.state.selection, () => ( null)), edits, width, height);
|
|
10059
10103
|
let sel = edited.selection;
|
|
10060
|
-
if (!_optionalChain([sel, 'optionalAccess',
|
|
10104
|
+
if (!_optionalChain([sel, 'optionalAccess', _383 => _383.bounds])) throw new Error("The edits leave nothing selected; paint with mode add first.");
|
|
10061
10105
|
if (refineMode === "object") {
|
|
10062
10106
|
const b = sel.bounds;
|
|
10063
10107
|
const found = await this.modelObject({ rect: b }, options.signal);
|
|
10064
10108
|
if (!found) throw new Error("The segmentation model found no object in the selection; use refineMode color.");
|
|
10065
10109
|
const near = _chunkSS53NNZOcjs.modifySelection.call(void 0, sel, "expand", Math.max(4, _nullishCoalesce(params.radius, () => ( 8))));
|
|
10066
10110
|
const clipped = _chunkSS53NNZOcjs.combineSelections.call(void 0, found, near, "intersect");
|
|
10067
|
-
if (!_optionalChain([clipped, 'optionalAccess',
|
|
10111
|
+
if (!_optionalChain([clipped, 'optionalAccess', _384 => _384.bounds])) throw new Error("The segmentation model found no object in the selection; use refineMode color.");
|
|
10068
10112
|
sel = clipped;
|
|
10069
10113
|
}
|
|
10070
10114
|
let refined = _chunkSS53NNZOcjs.refineSelection.call(void 0, pixels, sel, params, edited.refineBrush);
|
|
@@ -10166,7 +10210,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10166
10210
|
let mask;
|
|
10167
10211
|
if (source === "selection") {
|
|
10168
10212
|
const sel = this.state.selection;
|
|
10169
|
-
if (!_optionalChain([sel, 'optionalAccess',
|
|
10213
|
+
if (!_optionalChain([sel, 'optionalAccess', _385 => _385.bounds])) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("Nothing is selected; select first, or export a channel or a layer mask.");
|
|
10170
10214
|
mask = sel;
|
|
10171
10215
|
} else if ("channelId" in source) {
|
|
10172
10216
|
mask = this.requireChannel(source.channelId).mask;
|
|
@@ -10190,7 +10234,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10190
10234
|
const canvas = this.renderer.createCanvas(w, h);
|
|
10191
10235
|
const ctx = canvas.getContext("2d");
|
|
10192
10236
|
if (ctx) ctx.drawImage(img, 0, 0, w, h);
|
|
10193
|
-
const data = _optionalChain([ctx, 'optionalAccess',
|
|
10237
|
+
const data = _optionalChain([ctx, 'optionalAccess', _386 => _386.getImageData, 'optionalCall', _387 => _387(0, 0, w, h)]);
|
|
10194
10238
|
if (!data) throw new Error("The mask image pixels are not available (no canvas access); pass pixels.");
|
|
10195
10239
|
return { width: w, height: h, data: data.data };
|
|
10196
10240
|
}
|
|
@@ -10206,7 +10250,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10206
10250
|
const provider = this.segmentation;
|
|
10207
10251
|
if (!provider) {
|
|
10208
10252
|
const pixels = await this.requirePixels({});
|
|
10209
|
-
_optionalChain([options, 'access',
|
|
10253
|
+
_optionalChain([options, 'access', _388 => _388.signal, 'optionalAccess', _389 => _389.throwIfAborted, 'call', _390 => _390()]);
|
|
10210
10254
|
const { mask: selection, reason } = await this.runSelectionJob({ op: "subject", enhanceEdge: options.enhanceEdge }, pixels, options);
|
|
10211
10255
|
if (selection.bounds) this.shapeCommand(selection, options);
|
|
10212
10256
|
const unused = target.trim() ? ` "${target.trim()}" was not used to choose it.` : "";
|
|
@@ -10222,17 +10266,17 @@ var ImageEditorController = (_class12 = class {
|
|
|
10222
10266
|
const decoded = await this.modelSegments({ target: description, maxSegments: options.maxSegments, signal: options.signal });
|
|
10223
10267
|
const segments = decoded.map((r) => {
|
|
10224
10268
|
const one = segmentsToSelection(width, height, [r]);
|
|
10225
|
-
return { label: r.label || description, bounds: _nullishCoalesce(_optionalChain([one, 'optionalAccess',
|
|
10269
|
+
return { label: r.label || description, bounds: _nullishCoalesce(_optionalChain([one, 'optionalAccess', _391 => _391.bounds]), () => ( null)), ...r.score !== void 0 ? { score: r.score } : {} };
|
|
10226
10270
|
});
|
|
10227
10271
|
const mask = segmentsToSelection(width, height, decoded);
|
|
10228
10272
|
if (mask && options.beforeApply) {
|
|
10229
10273
|
const outlines = decoded.flatMap((r, i) => {
|
|
10230
10274
|
const rings = segmentationOutlines(r);
|
|
10231
|
-
const b = _optionalChain([segments, 'access',
|
|
10275
|
+
const b = _optionalChain([segments, 'access', _392 => _392[i], 'optionalAccess', _393 => _393.bounds]);
|
|
10232
10276
|
return rings.length ? rings : b ? [[{ x: b.x, y: b.y }, { x: b.x + b.width, y: b.y }, { x: b.x + b.width, y: b.y + b.height }, { x: b.x, y: b.y + b.height }]] : [];
|
|
10233
10277
|
});
|
|
10234
10278
|
await options.beforeApply(outlines);
|
|
10235
|
-
_optionalChain([options, 'access',
|
|
10279
|
+
_optionalChain([options, 'access', _394 => _394.signal, 'optionalAccess', _395 => _395.throwIfAborted, 'call', _396 => _396()]);
|
|
10236
10280
|
}
|
|
10237
10281
|
if (mask) this.shapeCommand(mask, options);
|
|
10238
10282
|
return { segments: segments.filter((s) => s.bounds), method: "model" };
|
|
@@ -10265,7 +10309,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10265
10309
|
const view = this.state.maskView;
|
|
10266
10310
|
if (!view) return null;
|
|
10267
10311
|
const layer = this.getLayer(view.layerId);
|
|
10268
|
-
return _optionalChain([layer, 'optionalAccess',
|
|
10312
|
+
return _optionalChain([layer, 'optionalAccess', _397 => _397.mask]) && !layer.mask.source ? view : null;
|
|
10269
10313
|
}
|
|
10270
10314
|
/**
|
|
10271
10315
|
* Shows a layer's mask on the canvas: `gray` alone in grey (Alt-click the mask thumbnail),
|
|
@@ -10288,7 +10332,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10288
10332
|
if (!layer.mask) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`Layer "${layer.name || id}" has no mask to show; add one with add_layer_mask.`);
|
|
10289
10333
|
if (layer.mask.source) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`Layer "${layer.name || id}" has a depth mask, which is computed, not painted, so it has no mask view.`);
|
|
10290
10334
|
const cur = this.state.maskView;
|
|
10291
|
-
if (_optionalChain([cur, 'optionalAccess',
|
|
10335
|
+
if (_optionalChain([cur, 'optionalAccess', _398 => _398.layerId]) !== id || cur.mode !== mode) {
|
|
10292
10336
|
this.state.maskView = { layerId: id, mode };
|
|
10293
10337
|
this.notify();
|
|
10294
10338
|
}
|
|
@@ -10300,7 +10344,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10300
10344
|
return _nullishCoalesce(this.state.channels, () => ( []));
|
|
10301
10345
|
}
|
|
10302
10346
|
getChannel(id) {
|
|
10303
|
-
return _nullishCoalesce(_optionalChain([this, 'access',
|
|
10347
|
+
return _nullishCoalesce(_optionalChain([this, 'access', _399 => _399.state, 'access', _400 => _400.channels, 'optionalAccess', _401 => _401.find, 'call', _402 => _402((c) => c.id === id)]), () => ( null));
|
|
10304
10348
|
}
|
|
10305
10349
|
requireChannel(id) {
|
|
10306
10350
|
const channel = this.getChannel(id);
|
|
@@ -10329,14 +10373,14 @@ var ImageEditorController = (_class12 = class {
|
|
|
10329
10373
|
*/
|
|
10330
10374
|
saveSelection(options = {}) {
|
|
10331
10375
|
const sel = this.state.selection;
|
|
10332
|
-
if (!_optionalChain([sel, 'optionalAccess',
|
|
10376
|
+
if (!_optionalChain([sel, 'optionalAccess', _403 => _403.bounds])) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("Nothing is selected; select first, then save the selection to a channel.");
|
|
10333
10377
|
const { width, height } = this.naturalSize;
|
|
10334
10378
|
const sized = sel.width === width && sel.height === height ? sel : _chunkSS53NNZOcjs.resizeSelection.call(void 0, sel, width, height);
|
|
10335
10379
|
const channels = [...this.getChannels()];
|
|
10336
10380
|
if (options.channelId !== void 0) {
|
|
10337
10381
|
const existing = this.requireChannel(options.channelId);
|
|
10338
10382
|
const mask = _nullishCoalesce(_chunkSS53NNZOcjs.combineSelections.call(void 0, existing.mask.bounds ? existing.mask : null, sized, _nullishCoalesce(options.mode, () => ( "replace"))), () => ( _chunkSS53NNZOcjs.createSelectionMask.call(void 0, width, height)));
|
|
10339
|
-
const next = { ...existing, mask, ..._optionalChain([options, 'access',
|
|
10383
|
+
const next = { ...existing, mask, ..._optionalChain([options, 'access', _404 => _404.name, 'optionalAccess', _405 => _405.trim, 'call', _406 => _406()]) ? { name: options.name.trim() } : {} };
|
|
10340
10384
|
this.setChannels(channels.map((c) => c.id === existing.id ? next : c));
|
|
10341
10385
|
return next;
|
|
10342
10386
|
}
|
|
@@ -10347,7 +10391,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10347
10391
|
const channels = this.getChannels();
|
|
10348
10392
|
const channel = {
|
|
10349
10393
|
id: this.newChannelId(),
|
|
10350
|
-
name: _optionalChain([name, 'optionalAccess',
|
|
10394
|
+
name: _optionalChain([name, 'optionalAccess', _407 => _407.trim, 'call', _408 => _408()]) || `Alpha ${channels.length + 1}`,
|
|
10351
10395
|
mask,
|
|
10352
10396
|
color: DEFAULT_CHANNEL_COLOR,
|
|
10353
10397
|
opacity: 0.5,
|
|
@@ -10392,7 +10436,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10392
10436
|
/** Duplicates an alpha channel just after it (one undo step). Returns the copy. */
|
|
10393
10437
|
duplicateChannel(id, name) {
|
|
10394
10438
|
const channel = this.requireChannel(id);
|
|
10395
|
-
const copy = { ...channel, id: this.newChannelId(), name: _optionalChain([name, 'optionalAccess',
|
|
10439
|
+
const copy = { ...channel, id: this.newChannelId(), name: _optionalChain([name, 'optionalAccess', _409 => _409.trim, 'call', _410 => _410()]) || `${channel.name} copy` };
|
|
10396
10440
|
const channels = [...this.getChannels()];
|
|
10397
10441
|
channels.splice(channels.findIndex((c) => c.id === id) + 1, 0, copy);
|
|
10398
10442
|
this.setChannels(channels);
|
|
@@ -10423,7 +10467,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10423
10467
|
quickMaskSurface() {
|
|
10424
10468
|
const { width, height } = this.naturalSize;
|
|
10425
10469
|
const sel = this.state.selection;
|
|
10426
|
-
if (!_optionalChain([sel, 'optionalAccess',
|
|
10470
|
+
if (!_optionalChain([sel, 'optionalAccess', _411 => _411.bounds])) return _chunk474IQG74cjs.emptySurface.call(void 0, 1, 0);
|
|
10427
10471
|
return (sel.width === width && sel.height === height ? sel : _chunkSS53NNZOcjs.resizeSelection.call(void 0, sel, width, height)).surface;
|
|
10428
10472
|
}
|
|
10429
10473
|
/** The selection a painted Quick Mask surface stands for (it shares the surface's tiles). */
|
|
@@ -10444,7 +10488,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10444
10488
|
*/
|
|
10445
10489
|
applySelectionAsLayerMask(layerId, props = {}) {
|
|
10446
10490
|
const sel = this.state.selection;
|
|
10447
|
-
if (!_optionalChain([sel, 'optionalAccess',
|
|
10491
|
+
if (!_optionalChain([sel, 'optionalAccess', _412 => _412.bounds]) || !this.getAdjustmentLayer(layerId)) return false;
|
|
10448
10492
|
return this.setLayerMask(layerId, this.maskFromSelection(sel, props));
|
|
10449
10493
|
}
|
|
10450
10494
|
setLayerMask(layerId, mask, commitToHistory = true) {
|
|
@@ -10493,7 +10537,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10493
10537
|
let layer;
|
|
10494
10538
|
if (target === "selection") {
|
|
10495
10539
|
mask = this.getSelection();
|
|
10496
|
-
if (!_optionalChain([mask, 'optionalAccess',
|
|
10540
|
+
if (!_optionalChain([mask, 'optionalAccess', _413 => _413.bounds])) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("Nothing is selected: make a selection first, or inspect a layer-mask or vector-mask with layerId.");
|
|
10497
10541
|
} else if (target === "layer-mask" || target === "vector-mask") {
|
|
10498
10542
|
if (!options.layerId) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`A ${target} needs layerId (see list_layers).`);
|
|
10499
10543
|
layer = this.getLayer(options.layerId);
|
|
@@ -10514,7 +10558,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10514
10558
|
const x = Math.max(0, b.x - 8);
|
|
10515
10559
|
const y = Math.max(0, b.y - 8);
|
|
10516
10560
|
const region = { x, y, width: Math.min(width, b.x + b.width + 8) - x, height: Math.min(height, b.y + b.height + 8) - y };
|
|
10517
|
-
const own = _optionalChain([layer, 'optionalAccess',
|
|
10561
|
+
const own = _optionalChain([layer, 'optionalAccess', _414 => _414.type]) === "pixel" ? this.getLayerPixels(layer.id) : null;
|
|
10518
10562
|
const image = _nullishCoalesce(own, () => ( { ...this.compositePixels(region), x: region.x, y: region.y }));
|
|
10519
10563
|
const report = inspectMaskEdge(mask, image, options);
|
|
10520
10564
|
return { target, ...layer ? { layerId: layer.id } : {}, ...report };
|
|
@@ -10525,10 +10569,10 @@ var ImageEditorController = (_class12 = class {
|
|
|
10525
10569
|
const { width, height } = this.naturalSize;
|
|
10526
10570
|
if (!Array.isArray(regions2) || !regions2.length) throw new Error("regions must be a non-empty list of { x, y, width, height } (e.g. the uncertainRegions bounds); leave it out to refine everywhere.");
|
|
10527
10571
|
return regions2.map((r, i) => {
|
|
10528
|
-
const x = Math.max(0, Math.floor(_optionalChain([r, 'optionalAccess',
|
|
10529
|
-
const y = Math.max(0, Math.floor(_optionalChain([r, 'optionalAccess',
|
|
10530
|
-
const x1 = Math.min(width, Math.ceil(_optionalChain([r, 'optionalAccess',
|
|
10531
|
-
const y1 = Math.min(height, Math.ceil(_optionalChain([r, 'optionalAccess',
|
|
10572
|
+
const x = Math.max(0, Math.floor(_optionalChain([r, 'optionalAccess', _415 => _415.x])));
|
|
10573
|
+
const y = Math.max(0, Math.floor(_optionalChain([r, 'optionalAccess', _416 => _416.y])));
|
|
10574
|
+
const x1 = Math.min(width, Math.ceil(_optionalChain([r, 'optionalAccess', _417 => _417.x]) + _optionalChain([r, 'optionalAccess', _418 => _418.width])));
|
|
10575
|
+
const y1 = Math.min(height, Math.ceil(_optionalChain([r, 'optionalAccess', _419 => _419.y]) + _optionalChain([r, 'optionalAccess', _420 => _420.height])));
|
|
10532
10576
|
if (![x, y, x1, y1].every(Number.isFinite) || x1 <= x || y1 <= y) throw new Error(`regions[${i}] must overlap the image (0..${width} \xD7 0..${height}), got ${JSON.stringify(r)}.`);
|
|
10533
10577
|
return { x, y, width: x1 - x, height: y1 - y };
|
|
10534
10578
|
});
|
|
@@ -10542,7 +10586,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10542
10586
|
selectionUncertainty(options = {}) {
|
|
10543
10587
|
const { width, height } = this.naturalSize;
|
|
10544
10588
|
const sel = this.getSelection();
|
|
10545
|
-
if (!_optionalChain([sel, 'optionalAccess',
|
|
10589
|
+
if (!_optionalChain([sel, 'optionalAccess', _421 => _421.bounds])) return selectionUncertainty(_chunkSS53NNZOcjs.createSelectionMask.call(void 0, width, height), { x: 0, y: 0, width: 0, height: 0, data: new Uint8ClampedArray(0) }, options);
|
|
10546
10590
|
const b = sel.bounds;
|
|
10547
10591
|
const m = Math.max(8, Math.ceil(_nullishCoalesce(options.band, () => ( Math.max(2, Math.min(width, height) / 200)))) + 4);
|
|
10548
10592
|
const x = Math.max(0, b.x - m);
|
|
@@ -10556,7 +10600,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10556
10600
|
*/
|
|
10557
10601
|
selectionFrom(source) {
|
|
10558
10602
|
const { width, height } = this.naturalSize;
|
|
10559
|
-
switch (_optionalChain([source, 'optionalAccess',
|
|
10603
|
+
switch (_optionalChain([source, 'optionalAccess', _422 => _422.kind])) {
|
|
10560
10604
|
case "selection":
|
|
10561
10605
|
return this.getSelection();
|
|
10562
10606
|
case "history": {
|
|
@@ -10612,7 +10656,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10612
10656
|
/** A layer's painted mask over the canvas as a selection mask; null without one (or for a depth mask). */
|
|
10613
10657
|
layerMaskCoverage(layerId) {
|
|
10614
10658
|
const layer = this.getLayer(layerId);
|
|
10615
|
-
if (!_optionalChain([layer, 'optionalAccess',
|
|
10659
|
+
if (!_optionalChain([layer, 'optionalAccess', _423 => _423.mask]) || layer.mask.source) return null;
|
|
10616
10660
|
const { width, height } = this.naturalSize;
|
|
10617
10661
|
const ox = layer.type === "pixel" ? layer.offset.x : 0;
|
|
10618
10662
|
const oy = layer.type === "pixel" ? layer.offset.y : 0;
|
|
@@ -10647,7 +10691,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10647
10691
|
this.state.layers = _chunkB46UQUDCcjs.mapLayer.call(void 0, this.state.layers, target.id, (l) => {
|
|
10648
10692
|
const next = { ...l };
|
|
10649
10693
|
if (_chunkS55JFWDAcjs.isDefaultDepthMask.call(void 0, merged)) {
|
|
10650
|
-
if (_optionalChain([next, 'access',
|
|
10694
|
+
if (_optionalChain([next, 'access', _424 => _424.mask, 'optionalAccess', _425 => _425.source])) delete next.mask;
|
|
10651
10695
|
} else next.mask = _chunkS55JFWDAcjs.depthRasterMask.call(void 0, merged);
|
|
10652
10696
|
return next;
|
|
10653
10697
|
});
|
|
@@ -10657,7 +10701,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10657
10701
|
resetDepthMask() {
|
|
10658
10702
|
this.recordHistory();
|
|
10659
10703
|
const target = this.developLayer();
|
|
10660
|
-
if (_optionalChain([target, 'optionalAccess',
|
|
10704
|
+
if (_optionalChain([target, 'optionalAccess', _426 => _426.mask, 'optionalAccess', _427 => _427.source])) {
|
|
10661
10705
|
this.state.layers = _chunkB46UQUDCcjs.mapLayer.call(void 0, this.state.layers, target.id, (l) => {
|
|
10662
10706
|
const next = { ...l };
|
|
10663
10707
|
delete next.mask;
|
|
@@ -10669,7 +10713,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10669
10713
|
// --- Annotations & Layers ---
|
|
10670
10714
|
/** The layer showing annotation `id`: an annotation layer, or a shape layer migrated from it. */
|
|
10671
10715
|
annotationLayer(id) {
|
|
10672
|
-
return _chunkB46UQUDCcjs.flattenLayers.call(void 0, this.state.layers).find((l) => (l.type === "annotation" || l.type === "shape" || l.type === "type") && _optionalChain([_chunkS55JFWDAcjs.annotationOfLayer.call(void 0, l), 'optionalAccess',
|
|
10716
|
+
return _chunkB46UQUDCcjs.flattenLayers.call(void 0, this.state.layers).find((l) => (l.type === "annotation" || l.type === "shape" || l.type === "type") && _optionalChain([_chunkS55JFWDAcjs.annotationOfLayer.call(void 0, l), 'optionalAccess', _428 => _428.id]) === id);
|
|
10673
10717
|
}
|
|
10674
10718
|
/** What migrating an annotation needs: the canvas size, patterns and the text shaper. */
|
|
10675
10719
|
annotationEnv() {
|
|
@@ -10687,7 +10731,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10687
10731
|
const fullAnnotation = { ...annotation, id };
|
|
10688
10732
|
const layer = _chunkS55JFWDAcjs.annotationLayerFor.call(void 0, fullAnnotation, this.annotationEnv());
|
|
10689
10733
|
const loc = placement.aboveId ? _chunkB46UQUDCcjs.findLayer.call(void 0, this.state.layers, placement.aboveId) : null;
|
|
10690
|
-
this.state.layers = loc ? _chunkB46UQUDCcjs.insertLayer.call(void 0, this.state.layers, layer, _nullishCoalesce(_optionalChain([loc, 'access',
|
|
10734
|
+
this.state.layers = loc ? _chunkB46UQUDCcjs.insertLayer.call(void 0, this.state.layers, layer, _nullishCoalesce(_optionalChain([loc, 'access', _429 => _429.parent, 'optionalAccess', _430 => _430.id]), () => ( null)), loc.index + 1) : _chunkB46UQUDCcjs.insertLayer.call(void 0, this.state.layers, layer, null);
|
|
10691
10735
|
this.state.selectedAnnotationId = id;
|
|
10692
10736
|
this.notify();
|
|
10693
10737
|
return id;
|
|
@@ -10795,7 +10839,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10795
10839
|
const cs = s.paint.cloneSource;
|
|
10796
10840
|
if (!cs) return null;
|
|
10797
10841
|
if (cursor && cs.offset && s.paint.retouch.aligned) {
|
|
10798
|
-
const [x, y] =
|
|
10842
|
+
const [x, y] = _chunk2ONK3ERDcjs.cloneSamplePoint.call(void 0, s.paint.cloneTransform, cs, { x: cs.x - cs.offset.x, y: cs.y - cs.offset.y }, cursor.x, cursor.y);
|
|
10799
10843
|
return { x, y };
|
|
10800
10844
|
}
|
|
10801
10845
|
return { x: cs.x, y: cs.y };
|
|
@@ -10810,7 +10854,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10810
10854
|
await this.renderer.renderToCanvas(targetCanvas, source, this.state, {
|
|
10811
10855
|
...options,
|
|
10812
10856
|
// The clone source follows the brush cursor (both editors pass it).
|
|
10813
|
-
cloneSourceMarker: _optionalChain([options, 'optionalAccess',
|
|
10857
|
+
cloneSourceMarker: _optionalChain([options, 'optionalAccess', _431 => _431.cloneSourceMarker]) !== void 0 ? options.cloneSourceMarker : _optionalChain([options, 'optionalAccess', _432 => _432.brushCursor]) ? this.cloneSourceMarker(options.brushCursor) : null,
|
|
10814
10858
|
dirty: dirty === "all" ? void 0 : dirty,
|
|
10815
10859
|
checkpointLayerId: this.state.activeLayerId
|
|
10816
10860
|
});
|
|
@@ -10823,7 +10867,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10823
10867
|
return this.renderer.createCanvas(1, 1);
|
|
10824
10868
|
}
|
|
10825
10869
|
this.syncViews();
|
|
10826
|
-
if (_optionalChain([options, 'optionalAccess',
|
|
10870
|
+
if (_optionalChain([options, 'optionalAccess', _433 => _433.layerIds])) {
|
|
10827
10871
|
const keep = new Set(options.layerIds);
|
|
10828
10872
|
const layers = _chunkB46UQUDCcjs.flattenLayers.call(void 0, this.state.layers).filter((l) => keep.has(l.id));
|
|
10829
10873
|
return this.renderer.renderExport(source, { ...this.state, layers }, options);
|
|
@@ -10977,7 +11021,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
10977
11021
|
let px2 = await this.decodeImage(newDataUrl);
|
|
10978
11022
|
if (px2.width !== width || px2.height !== height) px2 = resizePixels(px2, width, height);
|
|
10979
11023
|
const data = new Uint8ClampedArray(px2.data);
|
|
10980
|
-
const sel = _optionalChain([this, 'access',
|
|
11024
|
+
const sel = _optionalChain([this, 'access', _434 => _434.state, 'access', _435 => _435.selection, 'optionalAccess', _436 => _436.bounds]) ? this.state.selection : null;
|
|
10981
11025
|
if (sel) for (let p = 0, i = 3; p < width * height; p++, i += 4) data[i] = Math.round(data[i] * sel.data[p] / 255);
|
|
10982
11026
|
return this.addPixelLayer({ name: "Inpaint", pixels: { width, height, data } });
|
|
10983
11027
|
}
|
|
@@ -11024,7 +11068,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
11024
11068
|
}
|
|
11025
11069
|
/** Font families the shaper offers (generic families at least). */
|
|
11026
11070
|
listFonts() {
|
|
11027
|
-
return _nullishCoalesce(_optionalChain([this, 'access',
|
|
11071
|
+
return _nullishCoalesce(_optionalChain([this, 'access', _437 => _437.getTextShaper, 'call', _438 => _438(), 'optionalAccess', _439 => _439.families, 'optionalCall', _440 => _440()]), () => ( ["sans-serif", "serif", "monospace"]));
|
|
11028
11072
|
}
|
|
11029
11073
|
typeInfo(id) {
|
|
11030
11074
|
const layer = _chunkS55JFWDAcjs.requireTypeLayer.call(void 0, this.state.layers, id);
|
|
@@ -11098,8 +11142,8 @@ var ImageEditorController = (_class12 = class {
|
|
|
11098
11142
|
const layer = this.layoutTypeLayer({ ...init, text, orientation: vertical ? "vertical" : "horizontal" });
|
|
11099
11143
|
const { width, height } = this.naturalSize;
|
|
11100
11144
|
const b = _chunk474IQG74cjs.contentBounds.call(void 0, layer.surface);
|
|
11101
|
-
const x0 = Math.max(0, _nullishCoalesce(_optionalChain([b, 'optionalAccess',
|
|
11102
|
-
const y0 = Math.max(0, _nullishCoalesce(_optionalChain([b, 'optionalAccess',
|
|
11145
|
+
const x0 = Math.max(0, _nullishCoalesce(_optionalChain([b, 'optionalAccess', _441 => _441.x]), () => ( 0)));
|
|
11146
|
+
const y0 = Math.max(0, _nullishCoalesce(_optionalChain([b, 'optionalAccess', _442 => _442.y]), () => ( 0)));
|
|
11103
11147
|
const x1 = Math.min(width, b ? b.x + b.width : 0);
|
|
11104
11148
|
const y1 = Math.min(height, b ? b.y + b.height : 0);
|
|
11105
11149
|
let mask;
|
|
@@ -11276,7 +11320,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
11276
11320
|
if (colors.size > 1) warnings.push("The text had several colours; the shape takes the first one.");
|
|
11277
11321
|
const missing = _chunkQAUIZPYIcjs.layoutText.call(void 0, layer, shaper).missingFonts;
|
|
11278
11322
|
if (missing.length) warnings.push(`Missing fonts were drawn with a fallback: ${missing.join(", ")}.`);
|
|
11279
|
-
const first = _nullishCoalesce(_optionalChain([layer, 'access',
|
|
11323
|
+
const first = _nullishCoalesce(_optionalChain([layer, 'access', _443 => _443.runs, 'access', _444 => _444.find, 'call', _445 => _445((r) => r.length > 0), 'optionalAccess', _446 => _446.style]), () => ( _chunkQAUIZPYIcjs.DEFAULT_TEXT_STYLE));
|
|
11280
11324
|
const fill = first.opacity !== void 0 && first.opacity !== 1 ? { type: "color", color: first.color, opacity: first.opacity } : { type: "color", color: first.color };
|
|
11281
11325
|
const shape = _chunkS55JFWDAcjs.createShapeLayer.call(void 0, { components: [{ op: "combine", subpaths }], fill, stroke: null, name: layer.name }, this.shapeEnv(), layer.id);
|
|
11282
11326
|
const keep = { visible: layer.visible, opacity: layer.opacity, blend: layer.blend };
|
|
@@ -11309,7 +11353,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
11309
11353
|
// --- Shape layers ---
|
|
11310
11354
|
/** What shape rendering needs: the canvas size and the document's patterns. */
|
|
11311
11355
|
shapeEnv() {
|
|
11312
|
-
return { ...this.naturalSize, pattern: (id) => _nullishCoalesce(_optionalChain([this, 'access',
|
|
11356
|
+
return { ...this.naturalSize, pattern: (id) => _nullishCoalesce(_optionalChain([this, 'access', _447 => _447.state, 'access', _448 => _448.patterns, 'optionalAccess', _449 => _449.find, 'call', _450 => _450((p) => p.id === id)]), () => ( null)) };
|
|
11313
11357
|
}
|
|
11314
11358
|
/** One component from tool or UI input (validated). */
|
|
11315
11359
|
componentFrom(spec, path) {
|
|
@@ -11352,9 +11396,9 @@ var ImageEditorController = (_class12 = class {
|
|
|
11352
11396
|
* open path) and stroked with `stroke`. Goes above the active layer unless placed. Returns its id.
|
|
11353
11397
|
*/
|
|
11354
11398
|
addShapeLayer(init) {
|
|
11355
|
-
const specs = _optionalChain([init, 'access',
|
|
11356
|
-
if (_optionalChain([init, 'access',
|
|
11357
|
-
const components = specs.map((c, i) => this.componentFrom(c, _optionalChain([init, 'access',
|
|
11399
|
+
const specs = _optionalChain([init, 'access', _451 => _451.components, 'optionalAccess', _452 => _452.length]) ? init.components : [init];
|
|
11400
|
+
if (_optionalChain([init, 'access', _453 => _453.components, 'optionalAccess', _454 => _454.length]) && (init.shape !== void 0 || init.subpaths !== void 0)) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)("Give components, or shape / subpaths, not both.");
|
|
11401
|
+
const components = specs.map((c, i) => this.componentFrom(c, _optionalChain([init, 'access', _455 => _455.components, 'optionalAccess', _456 => _456.length]) ? `components[${i}].` : ""));
|
|
11358
11402
|
const stroke = init.stroke ? _chunkS55JFWDAcjs.normalizeShapeStroke.call(void 0, init.stroke, "stroke") : null;
|
|
11359
11403
|
const openOnly = components.every((c) => !c.live && c.subpaths.every((sp) => !sp.closed));
|
|
11360
11404
|
const fill = init.fill === void 0 ? stroke && openOnly ? null : _chunkS55JFWDAcjs.normalizeShapePaint.call(void 0, this.state.paint.foreground, "fill") : init.fill === null ? null : _chunkS55JFWDAcjs.normalizeShapePaint.call(void 0, init.fill, "fill");
|
|
@@ -11465,7 +11509,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
11465
11509
|
if (layer.locks) next.locks = layer.locks;
|
|
11466
11510
|
if (this.state.selectedAnnotationId === layer.annotation.id) this.state.selectedAnnotationId = null;
|
|
11467
11511
|
} else if (layer.type === "pixel") {
|
|
11468
|
-
if (!_optionalChain([layer, 'access',
|
|
11512
|
+
if (!_optionalChain([layer, 'access', _457 => _457.filters, 'optionalAccess', _458 => _458.length])) throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`Layer "${layer.name || id}" is already pixels with no filters to bake.`);
|
|
11469
11513
|
_chunkS55JFWDAcjs.requireUnlocked.call(void 0, layer, "pixels", "rasterize it");
|
|
11470
11514
|
const spatial = layer.filters.some((f) => f.enabled && f.kind === "blur");
|
|
11471
11515
|
const content = { ...layer, visible: true, opacity: 1, blend: "normal" };
|
|
@@ -11484,7 +11528,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
11484
11528
|
return this.rasterizeSmartObject(id);
|
|
11485
11529
|
} else if (layer.type === "shape" || layer.type === "type") {
|
|
11486
11530
|
next = layer.type === "shape" ? _chunkS55JFWDAcjs.shapeAsPixelLayer.call(void 0, layer) : _chunkS55JFWDAcjs.typeAsPixelLayer.call(void 0, layer);
|
|
11487
|
-
if (this.state.selectedAnnotationId && this.state.selectedAnnotationId === _optionalChain([layer, 'access',
|
|
11531
|
+
if (this.state.selectedAnnotationId && this.state.selectedAnnotationId === _optionalChain([layer, 'access', _459 => _459.annotation, 'optionalAccess', _460 => _460.id])) this.state.selectedAnnotationId = null;
|
|
11488
11532
|
} else {
|
|
11489
11533
|
throw new (0, _chunkS55JFWDAcjs.LayerOperationError)(`Only shape, type and annotation layers, smart objects and pixel layers with filters rasterize; "${layer.name || id}" is a ${layer.type} layer. Merge it down or flatten instead.`);
|
|
11490
11534
|
}
|
|
@@ -11498,8 +11542,8 @@ var ImageEditorController = (_class12 = class {
|
|
|
11498
11542
|
const doc = this.state.colorProfile;
|
|
11499
11543
|
const p = resolveProfile(doc);
|
|
11500
11544
|
const m = this.state.colorMode;
|
|
11501
|
-
const out = { name: _nullishCoalesce(_optionalChain([doc, 'optionalAccess',
|
|
11502
|
-
if (_optionalChain([m, 'optionalAccess',
|
|
11545
|
+
const out = { name: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _461 => _461.name]), () => ( p.description)), builtin: doc ? _nullishCoalesce(doc.builtin, () => ( null)) : "srgb", colorSpace: p.colorSpace, srgb: isSrgb(doc), mode: _nullishCoalesce(_optionalChain([m, 'optionalAccess', _462 => _462.mode]), () => ( "rgb")) };
|
|
11546
|
+
if (_optionalChain([m, 'optionalAccess', _463 => _463.mode]) === "cmyk") out.cmykProfile = { name: m.profile.name, builtin: _nullishCoalesce(m.profile.builtin, () => ( null)), intent: m.intent };
|
|
11503
11547
|
return out;
|
|
11504
11548
|
}
|
|
11505
11549
|
/**
|
|
@@ -11589,7 +11633,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
11589
11633
|
const textEnv = this.textEnv();
|
|
11590
11634
|
const walk = (layers) => layers.map((l) => {
|
|
11591
11635
|
let next2 = l;
|
|
11592
|
-
if (_optionalChain([l, 'access',
|
|
11636
|
+
if (_optionalChain([l, 'access', _464 => _464.effects, 'optionalAccess', _465 => _465.items, 'access', _466 => _466.length])) next2 = { ...next2, effects: convertColorFields(l.effects, hex) };
|
|
11593
11637
|
if (l.type === "group") {
|
|
11594
11638
|
if (next2 !== l) converted.push(l.id);
|
|
11595
11639
|
return { ...next2, children: walk(l.children) };
|
|
@@ -11777,8 +11821,8 @@ var ImageEditorController = (_class12 = class {
|
|
|
11777
11821
|
else delete s.bitDepth;
|
|
11778
11822
|
delete s.colorProfile;
|
|
11779
11823
|
delete s.colorMode;
|
|
11780
|
-
if (_optionalChain([result, 'access',
|
|
11781
|
-
else if (_optionalChain([result, 'access',
|
|
11824
|
+
if (_optionalChain([result, 'access', _467 => _467.sourceMode, 'optionalAccess', _468 => _468.mode]) === "cmyk") s.colorMode = { mode: "cmyk", profile: result.sourceMode.profile, intent: "relative" };
|
|
11825
|
+
else if (_optionalChain([result, 'access', _469 => _469.sourceMode, 'optionalAccess', _470 => _470.mode]) === "lab") s.colorMode = { mode: "lab" };
|
|
11782
11826
|
else if (result.iccProfile) {
|
|
11783
11827
|
try {
|
|
11784
11828
|
const doc = documentProfile(result.iccProfile);
|
|
@@ -11842,7 +11886,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
11842
11886
|
const compositor = new (0, _chunkS55JFWDAcjs.LayerCompositor)();
|
|
11843
11887
|
const bakeMask = (layer) => {
|
|
11844
11888
|
const mask = layer.mask;
|
|
11845
|
-
if (!_optionalChain([mask, 'optionalAccess',
|
|
11889
|
+
if (!_optionalChain([mask, 'optionalAccess', _471 => _471.source])) return mask;
|
|
11846
11890
|
add2("Parametric (depth) masks were baked into pixel masks", layer.name);
|
|
11847
11891
|
const plain3 = { ...layer, mask: { ...mask, density: 1, feather: 0, enabled: true } };
|
|
11848
11892
|
const ox = layer.type === "pixel" ? layer.offset.x : 0;
|
|
@@ -11858,10 +11902,10 @@ var ImageEditorController = (_class12 = class {
|
|
|
11858
11902
|
return baked;
|
|
11859
11903
|
};
|
|
11860
11904
|
const prepare = async (layer) => {
|
|
11861
|
-
if (_optionalChain([layer, 'access',
|
|
11905
|
+
if (_optionalChain([layer, 'access', _472 => _472.edge, 'optionalAccess', _473 => _473.ambient])) add2("The live edge cast (set_edge_ambient) has no PSD equivalent and was left out", layer.name);
|
|
11862
11906
|
const p = await prepareLayer(layer);
|
|
11863
|
-
if (_optionalChain([p, 'optionalAccess',
|
|
11864
|
-
if (_optionalChain([p, 'optionalAccess',
|
|
11907
|
+
if (_optionalChain([p, 'optionalAccess', _474 => _474.edge])) delete p.edge;
|
|
11908
|
+
if (_optionalChain([p, 'optionalAccess', _475 => _475.blend]) === "pigment") add2("The Pigment blend mode has no PSD equivalent and was written as Normal", layer.name);
|
|
11865
11909
|
return p;
|
|
11866
11910
|
};
|
|
11867
11911
|
const prepareLayer = async (layer) => {
|
|
@@ -11904,7 +11948,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
11904
11948
|
return out2;
|
|
11905
11949
|
}
|
|
11906
11950
|
if (layer.type === "shape" || layer.type === "type") {
|
|
11907
|
-
if (layer.type === "type" && _optionalChain([layer, 'access',
|
|
11951
|
+
if (layer.type === "type" && _optionalChain([layer, 'access', _476 => _476.missingFonts, 'optionalAccess', _477 => _477.length])) add2(`Type layers drawn with a fallback for missing fonts (${layer.missingFonts.join(", ")}) keep the font names, so Photoshop may draw them differently`, layer.name);
|
|
11908
11952
|
const out2 = { ...layer };
|
|
11909
11953
|
const mask2 = bakeMask(layer);
|
|
11910
11954
|
if (mask2) out2.mask = mask2;
|
|
@@ -11923,7 +11967,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
11923
11967
|
out.surface = this.surfaceOf(layer);
|
|
11924
11968
|
delete out.source;
|
|
11925
11969
|
}
|
|
11926
|
-
const active = _nullishCoalesce(_optionalChain([layer, 'access',
|
|
11970
|
+
const active = _nullishCoalesce(_optionalChain([layer, 'access', _478 => _478.filters, 'optionalAccess', _479 => _479.filter, 'call', _480 => _480(_chunkS55JFWDAcjs.isActiveFilter)]), () => ( []));
|
|
11927
11971
|
if (active.length) {
|
|
11928
11972
|
add2("Layer filters (develop, blur) were baked into the pixels", layer.name);
|
|
11929
11973
|
const content = { ...out, visible: true, opacity: 1, blend: "normal" };
|
|
@@ -11934,7 +11978,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
11934
11978
|
const data = compositor.composite([content], canvas, sources);
|
|
11935
11979
|
out = { ...out, surface: _chunk474IQG74cjs.surfaceFromPixels.call(void 0, { width, height, data }, 4, -layer.offset.x, -layer.offset.y) };
|
|
11936
11980
|
}
|
|
11937
|
-
if (_optionalChain([layer, 'access',
|
|
11981
|
+
if (_optionalChain([layer, 'access', _481 => _481.filters, 'optionalAccess', _482 => _482.some, 'call', _483 => _483((f) => !f.enabled)])) add2("Disabled layer filters were left out", layer.name);
|
|
11938
11982
|
delete out.filters;
|
|
11939
11983
|
const unmixMask = _chunkS55JFWDAcjs.hasEdgeUnmix.call(void 0, layer.edge) ? _chunkS55JFWDAcjs.effectiveLayerMask.call(void 0, layer, width, height) : void 0;
|
|
11940
11984
|
if (unmixMask && !unmixMask.source && unmixMask.enabled !== false) {
|
|
@@ -12006,7 +12050,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
12006
12050
|
);
|
|
12007
12051
|
}
|
|
12008
12052
|
layers = resizeLegacyMasks(layers, prev, next.dimensions);
|
|
12009
|
-
const env = { ...next.dimensions, pattern: (pid) => _nullishCoalesce(_optionalChain([this, 'access',
|
|
12053
|
+
const env = { ...next.dimensions, pattern: (pid) => _nullishCoalesce(_optionalChain([this, 'access', _484 => _484.state, 'access', _485 => _485.patterns, 'optionalAccess', _486 => _486.find, 'call', _487 => _487((p) => p.id === pid)]), () => ( null)) };
|
|
12010
12054
|
for (const l of _chunkB46UQUDCcjs.flattenLayers.call(void 0, layers)) {
|
|
12011
12055
|
if (l.type === "annotation") {
|
|
12012
12056
|
layers = _chunkB46UQUDCcjs.mapLayer.call(void 0, layers, l.id, () => ({ ...l, annotation: scaleAnnotation(l.annotation, sx, sy) }));
|
|
@@ -12015,7 +12059,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
12015
12059
|
const scaled = a ? scaleAnnotation(a, sx, sy) : null;
|
|
12016
12060
|
const fromAnnotation = scaled ? _chunkS55JFWDAcjs.shapeFromAnnotation.call(void 0, scaled) : null;
|
|
12017
12061
|
const m = [sx, 0, 0, sy, 0, 0];
|
|
12018
|
-
const components = _nullishCoalesce(_optionalChain([fromAnnotation, 'optionalAccess',
|
|
12062
|
+
const components = _nullishCoalesce(_optionalChain([fromAnnotation, 'optionalAccess', _488 => _488.components]), () => ( _chunkS55JFWDAcjs.transformShapeComponents.call(void 0, l.components, (p) => ({ x: p.x * sx, y: p.y * sy }), m)));
|
|
12019
12063
|
const moved = { ...l, components, ...fromAnnotation ? { fill: fromAnnotation.fill, stroke: fromAnnotation.stroke } : {} };
|
|
12020
12064
|
if (scaled && fromAnnotation) moved.annotation = scaled;
|
|
12021
12065
|
else delete moved.annotation;
|
|
@@ -12033,7 +12077,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
12033
12077
|
this.notify();
|
|
12034
12078
|
}
|
|
12035
12079
|
toJSON(options) {
|
|
12036
|
-
const root = _optionalChain([this, 'access',
|
|
12080
|
+
const root = _optionalChain([this, 'access', _489 => _489.contentsStack, 'access', _490 => _490[0], 'optionalAccess', _491 => _491.saved]);
|
|
12037
12081
|
const current = this.state;
|
|
12038
12082
|
const element = this.imageElement;
|
|
12039
12083
|
if (root) {
|
|
@@ -12044,9 +12088,9 @@ var ImageEditorController = (_class12 = class {
|
|
|
12044
12088
|
let out;
|
|
12045
12089
|
try {
|
|
12046
12090
|
out = this.serializeState();
|
|
12047
|
-
if (_optionalChain([this, 'access',
|
|
12048
|
-
if (_optionalChain([this, 'access',
|
|
12049
|
-
if (_optionalChain([this, 'access',
|
|
12091
|
+
if (_optionalChain([this, 'access', _492 => _492.state, 'access', _493 => _493.selection, 'optionalAccess', _494 => _494.bounds])) out.selection = _chunkSS53NNZOcjs.serializeSelection.call(void 0, this.state.selection);
|
|
12092
|
+
if (_optionalChain([this, 'access', _495 => _495.state, 'access', _496 => _496.channels, 'optionalAccess', _497 => _497.length])) out.channels = serializeChannels(this.state.channels);
|
|
12093
|
+
if (_optionalChain([this, 'access', _498 => _498.state, 'access', _499 => _499.paths, 'optionalAccess', _500 => _500.length])) out.paths = serializePaths(this.state.paths);
|
|
12050
12094
|
} finally {
|
|
12051
12095
|
if (root) {
|
|
12052
12096
|
this.state = current;
|
|
@@ -12164,10 +12208,10 @@ var ImageEditorController = (_class12 = class {
|
|
|
12164
12208
|
serializeState() {
|
|
12165
12209
|
const { width, height } = this.naturalSize;
|
|
12166
12210
|
const view = _chunkS55JFWDAcjs.legacyView.call(void 0, this.stack(), width, height, null);
|
|
12167
|
-
if (view.exact && !this.state.globalLight && !_optionalChain([this, 'access',
|
|
12211
|
+
if (view.exact && !this.state.globalLight && !_optionalChain([this, 'access', _501 => _501.state, 'access', _502 => _502.patterns, 'optionalAccess', _503 => _503.length]) && this.bitDepth === 8 && !this.state.colorProfile && !this.state.colorMode) {
|
|
12168
12212
|
return {
|
|
12169
12213
|
// States without adjustment layers keep schema 1, so they round-trip unchanged.
|
|
12170
|
-
version: _optionalChain([view, 'access',
|
|
12214
|
+
version: _optionalChain([view, 'access', _504 => _504.adjustments, 'access', _505 => _505.layers, 'optionalAccess', _506 => _506.length]) ? 2 : 1,
|
|
12171
12215
|
crop: this.state.crop ? { ...this.state.crop } : null,
|
|
12172
12216
|
transform: { ...this.state.transform },
|
|
12173
12217
|
adjustments: serializeAdjustments(view.adjustments),
|
|
@@ -12192,7 +12236,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
12192
12236
|
};
|
|
12193
12237
|
if (this.state.legacyOutputBlur !== void 0) out.legacyOutputBlur = this.state.legacyOutputBlur;
|
|
12194
12238
|
if (this.state.globalLight) out.globalLight = { ...this.state.globalLight };
|
|
12195
|
-
if (_optionalChain([this, 'access',
|
|
12239
|
+
if (_optionalChain([this, 'access', _507 => _507.state, 'access', _508 => _508.patterns, 'optionalAccess', _509 => _509.length])) out.patterns = _chunkS55JFWDAcjs.serializePatterns.call(void 0, this.state.patterns);
|
|
12196
12240
|
if (smartContents) out.smartContents = smartContents;
|
|
12197
12241
|
if (this.state.bitDepth === 16 || this.state.bitDepth === 32) out.bitDepth = this.state.bitDepth;
|
|
12198
12242
|
if (this.state.colorProfile) out.colorProfile = serializeColorProfile(this.state.colorProfile);
|
|
@@ -12202,7 +12246,7 @@ var ImageEditorController = (_class12 = class {
|
|
|
12202
12246
|
}, _class12);
|
|
12203
12247
|
function serializeAdjustments(adjustments) {
|
|
12204
12248
|
const out = { ...adjustments };
|
|
12205
|
-
if (_optionalChain([out, 'access',
|
|
12249
|
+
if (_optionalChain([out, 'access', _510 => _510.layers, 'optionalAccess', _511 => _511.length])) out.layers = JSON.parse(JSON.stringify(out.layers));
|
|
12206
12250
|
else delete out.layers;
|
|
12207
12251
|
if (_chunkS55JFWDAcjs.normalizeProcessVersion.call(void 0, out.process) === _chunkS55JFWDAcjs.LEGACY_PROCESS_VERSION) {
|
|
12208
12252
|
delete out.process;
|
|
@@ -12238,11 +12282,11 @@ function withDevelop(layer, partial) {
|
|
|
12238
12282
|
return { ...layer, filters };
|
|
12239
12283
|
}
|
|
12240
12284
|
function withBlur(layer, radius) {
|
|
12241
|
-
const existing = _optionalChain([layer, 'access',
|
|
12285
|
+
const existing = _optionalChain([layer, 'access', _512 => _512.filters, 'optionalAccess', _513 => _513.find, 'call', _514 => _514((f) => f.kind === "blur")]);
|
|
12242
12286
|
const filters = (_nullishCoalesce(layer.filters, () => ( []))).filter((f) => f.kind !== "blur");
|
|
12243
12287
|
if (radius > 0) {
|
|
12244
12288
|
filters.push({
|
|
12245
|
-
id: _nullishCoalesce(_optionalChain([existing, 'optionalAccess',
|
|
12289
|
+
id: _nullishCoalesce(_optionalChain([existing, 'optionalAccess', _515 => _515.id]), () => ( (layer.source === "document" ? _chunkS55JFWDAcjs.BLUR_FILTER_ID : _chunkS55JFWDAcjs.newLayerId.call(void 0, "flt")))),
|
|
12246
12290
|
kind: "blur",
|
|
12247
12291
|
enabled: true,
|
|
12248
12292
|
radius
|
|
@@ -12338,7 +12382,7 @@ function collectStateTiles(layers, into) {
|
|
|
12338
12382
|
if (l.type === "shape" || l.type === "type") _chunk474IQG74cjs.collectTiles.call(void 0, l.surface, into);
|
|
12339
12383
|
if (l.type === "smart") {
|
|
12340
12384
|
_chunk474IQG74cjs.collectTiles.call(void 0, l.surface, into);
|
|
12341
|
-
if (_optionalChain([l, 'access',
|
|
12385
|
+
if (_optionalChain([l, 'access', _516 => _516.smartFilters, 'optionalAccess', _517 => _517.mask])) _chunk474IQG74cjs.collectTiles.call(void 0, l.smartFilters.mask.surface, into);
|
|
12342
12386
|
if (l.contents.raster) _chunk474IQG74cjs.collectTiles.call(void 0, l.contents.raster, into);
|
|
12343
12387
|
if (l.contents.document) collectStateTiles(l.contents.document.layers, into);
|
|
12344
12388
|
}
|
|
@@ -12370,7 +12414,7 @@ function pixelsOnly(layers) {
|
|
|
12370
12414
|
for (const l of layers) {
|
|
12371
12415
|
if (l.type === "adjustment") continue;
|
|
12372
12416
|
if (l.type === "group") out.push({ ...l, children: pixelsOnly(l.children) });
|
|
12373
|
-
else if (l.type === "pixel" && _optionalChain([l, 'access',
|
|
12417
|
+
else if (l.type === "pixel" && _optionalChain([l, 'access', _518 => _518.filters, 'optionalAccess', _519 => _519.length])) {
|
|
12374
12418
|
const p = { ...l };
|
|
12375
12419
|
delete p.filters;
|
|
12376
12420
|
out.push(p);
|
|
@@ -12436,7 +12480,7 @@ function toHex(c) {
|
|
|
12436
12480
|
return "#" + [c[0], c[1], c[2]].map((v) => Math.round(v).toString(16).padStart(2, "0")).join("");
|
|
12437
12481
|
}
|
|
12438
12482
|
function normalizeSelection(mask) {
|
|
12439
|
-
return _optionalChain([mask, 'optionalAccess',
|
|
12483
|
+
return _optionalChain([mask, 'optionalAccess', _520 => _520.bounds]) ? mask : null;
|
|
12440
12484
|
}
|
|
12441
12485
|
function sameSelection(a, b) {
|
|
12442
12486
|
if (a.width !== b.width || a.height !== b.height) return false;
|
|
@@ -12646,7 +12690,7 @@ function loadImageEditorDocument(input) {
|
|
|
12646
12690
|
}
|
|
12647
12691
|
const state = { version: 1, ...result.value };
|
|
12648
12692
|
if (isV2) {
|
|
12649
|
-
if (_optionalChain([state, 'access',
|
|
12693
|
+
if (_optionalChain([state, 'access', _521 => _521.adjustments, 'access', _522 => _522.layers, 'optionalAccess', _523 => _523.length])) state.version = 2;
|
|
12650
12694
|
result.report.version = 2;
|
|
12651
12695
|
}
|
|
12652
12696
|
if (state.selection === void 0) delete state.selection;
|
|
@@ -12854,7 +12898,7 @@ function findAdjustmentControl(id) {
|
|
|
12854
12898
|
}
|
|
12855
12899
|
function findLayerControl(kind, id) {
|
|
12856
12900
|
if (id === "opacity") return ADJUSTMENT_LAYER_OPACITY_CONTROL;
|
|
12857
|
-
return _optionalChain([ADJUSTMENT_LAYER_CONTROLS, 'access',
|
|
12901
|
+
return _optionalChain([ADJUSTMENT_LAYER_CONTROLS, 'access', _524 => _524[kind], 'optionalAccess', _525 => _525.find, 'call', _526 => _526((c) => c.id === id)]);
|
|
12858
12902
|
}
|
|
12859
12903
|
function clampControlValue(spec, v) {
|
|
12860
12904
|
if (typeof v !== "number" || !Number.isFinite(v)) return spec.default;
|
|
@@ -13331,7 +13375,7 @@ function summary(controller) {
|
|
|
13331
13375
|
const area = _chunkSS53NNZOcjs.selectionArea.call(void 0, sel);
|
|
13332
13376
|
return {
|
|
13333
13377
|
empty: !sel,
|
|
13334
|
-
bounds: _nullishCoalesce(_optionalChain([sel, 'optionalAccess',
|
|
13378
|
+
bounds: _nullishCoalesce(_optionalChain([sel, 'optionalAccess', _527 => _527.bounds]), () => ( null)),
|
|
13335
13379
|
/** Σ coverage in pixels. */
|
|
13336
13380
|
area: Math.round(area),
|
|
13337
13381
|
percent: Math.round(area / Math.max(1, width * height) * 1e4) / 100,
|
|
@@ -13486,7 +13530,7 @@ function createImageSelectionTools(controller) {
|
|
|
13486
13530
|
break;
|
|
13487
13531
|
}
|
|
13488
13532
|
case "polygon": {
|
|
13489
|
-
const list = Array.isArray(points) ? points.map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess',
|
|
13533
|
+
const list = Array.isArray(points) ? points.map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess', _528 => _528.x]), NaN), y: num2(_optionalChain([p, 'optionalAccess', _529 => _529.y]), NaN) })) : [];
|
|
13490
13534
|
if (list.length < 3 || !list.every((p) => Number.isFinite(p.x) && Number.isFinite(p.y))) {
|
|
13491
13535
|
throw new Error("polygon needs points: at least 3 { x, y } vertices.");
|
|
13492
13536
|
}
|
|
@@ -13621,7 +13665,7 @@ function createImageSelectionTools(controller) {
|
|
|
13621
13665
|
},
|
|
13622
13666
|
annotations: writeAnnotations("Refine the selection edge"),
|
|
13623
13667
|
handler: async (params) => {
|
|
13624
|
-
const edits = Array.isArray(params.edits) ? params.edits.map((e) => e.kind === "object" ? { ...e } : { ...e, points: (_nullishCoalesce(e.points, () => ( []))).map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess',
|
|
13668
|
+
const edits = Array.isArray(params.edits) ? params.edits.map((e) => e.kind === "object" ? { ...e } : { ...e, points: (_nullishCoalesce(e.points, () => ( []))).map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess', _530 => _530.x]), NaN), y: num2(_optionalChain([p, 'optionalAccess', _531 => _531.y]), NaN) })) }) : [];
|
|
13625
13669
|
for (const e of edits) {
|
|
13626
13670
|
if (e.kind === "object") {
|
|
13627
13671
|
if (!e.rect === !e.point) throw new Error("An object edit takes rect (a box around the object) or point (on it).");
|
|
@@ -13786,7 +13830,7 @@ function createImageSelectionTools(controller) {
|
|
|
13786
13830
|
},
|
|
13787
13831
|
annotations: writeAnnotations("Select a polygon (lasso)", true),
|
|
13788
13832
|
handler: async (args) => {
|
|
13789
|
-
const list = Array.isArray(args.points) ? args.points.map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess',
|
|
13833
|
+
const list = Array.isArray(args.points) ? args.points.map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess', _532 => _532.x]), NaN), y: num2(_optionalChain([p, 'optionalAccess', _533 => _533.y]), NaN) })) : [];
|
|
13790
13834
|
if (list.length < 3 || !list.every((p) => Number.isFinite(p.x) && Number.isFinite(p.y))) {
|
|
13791
13835
|
throw new Error("points needs at least 3 { x, y } vertices in natural image pixels.");
|
|
13792
13836
|
}
|
|
@@ -13823,7 +13867,7 @@ function createImageSelectionTools(controller) {
|
|
|
13823
13867
|
},
|
|
13824
13868
|
annotations: writeAnnotations("Quick Selection"),
|
|
13825
13869
|
handler: async (args, context) => {
|
|
13826
|
-
const strokes = Array.isArray(args.strokes) ? args.strokes.map((s) => Array.isArray(s) ? s.map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess',
|
|
13870
|
+
const strokes = Array.isArray(args.strokes) ? args.strokes.map((s) => Array.isArray(s) ? s.map((p) => ({ x: num2(_optionalChain([p, 'optionalAccess', _534 => _534.x]), NaN), y: num2(_optionalChain([p, 'optionalAccess', _535 => _535.y]), NaN) })) : []) : [];
|
|
13827
13871
|
if (!strokes.length || strokes.some((s) => !s.length || !s.every((p) => Number.isFinite(p.x) && Number.isFinite(p.y)))) {
|
|
13828
13872
|
throw new Error("strokes needs at least one stroke of { x, y } points in natural image pixels.");
|
|
13829
13873
|
}
|
|
@@ -13832,7 +13876,7 @@ function createImageSelectionTools(controller) {
|
|
|
13832
13876
|
mode: _chunkSS53NNZOcjs.parseSelectionMode.call(void 0, args.mode),
|
|
13833
13877
|
sampleAllLayers: args.sampleAllLayers,
|
|
13834
13878
|
enhanceEdge: args.enhanceEdge,
|
|
13835
|
-
signal: _optionalChain([context, 'optionalAccess',
|
|
13879
|
+
signal: _optionalChain([context, 'optionalAccess', _536 => _536.signal])
|
|
13836
13880
|
});
|
|
13837
13881
|
return { ...summary(controller), ...uncertainty(controller) };
|
|
13838
13882
|
}
|
|
@@ -13870,7 +13914,7 @@ function createImageSelectionTools(controller) {
|
|
|
13870
13914
|
sampleAllLayers: args.sampleAllLayers,
|
|
13871
13915
|
enhanceEdge: args.enhanceEdge,
|
|
13872
13916
|
useModel: args.useModel,
|
|
13873
|
-
signal: _optionalChain([context, 'optionalAccess',
|
|
13917
|
+
signal: _optionalChain([context, 'optionalAccess', _537 => _537.signal])
|
|
13874
13918
|
};
|
|
13875
13919
|
const { method } = rect2 ? await controller.selectObject({ rect: { x: num2(rect2.x, NaN), y: num2(rect2.y, NaN), width: num2(rect2.width, NaN), height: num2(rect2.height, NaN) } }, options) : await controller.selectObject({ point: { x: num2(point.x, NaN), y: num2(point.y, NaN) } }, options);
|
|
13876
13920
|
return { ...summary(controller), method, ...uncertainty(controller) };
|
|
@@ -13899,7 +13943,7 @@ function createImageSelectionTools(controller) {
|
|
|
13899
13943
|
softness: args.softness === void 0 ? void 0 : num2(args.softness, 4),
|
|
13900
13944
|
mode: _chunkSS53NNZOcjs.parseSelectionMode.call(void 0, args.mode),
|
|
13901
13945
|
sampleAllLayers: args.sampleAllLayers,
|
|
13902
|
-
signal: _optionalChain([context, 'optionalAccess',
|
|
13946
|
+
signal: _optionalChain([context, 'optionalAccess', _538 => _538.signal])
|
|
13903
13947
|
});
|
|
13904
13948
|
return { ...summary(controller), noiseLevel };
|
|
13905
13949
|
}
|
|
@@ -13927,7 +13971,7 @@ function createImageSelectionTools(controller) {
|
|
|
13927
13971
|
mode: _chunkSS53NNZOcjs.parseSelectionMode.call(void 0, args.mode),
|
|
13928
13972
|
sampleAllLayers: args.sampleAllLayers,
|
|
13929
13973
|
useModel: args.useModel,
|
|
13930
|
-
signal: _optionalChain([context, 'optionalAccess',
|
|
13974
|
+
signal: _optionalChain([context, 'optionalAccess', _539 => _539.signal])
|
|
13931
13975
|
});
|
|
13932
13976
|
return { ...summary(controller), method, ...note ? { note } : {}, ...uncertainty(controller) };
|
|
13933
13977
|
}
|
|
@@ -14025,7 +14069,7 @@ function createImageSelectionTools(controller) {
|
|
|
14025
14069
|
await controller.selectColorRangePreset(args.preset, { ...common, falloff: num2(args.fuzziness, 20) });
|
|
14026
14070
|
} else {
|
|
14027
14071
|
const samples = args.samples.map((s, i) => {
|
|
14028
|
-
if (typeof _optionalChain([s, 'optionalAccess',
|
|
14072
|
+
if (typeof _optionalChain([s, 'optionalAccess', _540 => _540.color]) !== "string" || !/^#?[0-9a-f]{6}$/i.test(s.color.trim())) throw new Error(`samples[${i}].color must be #rrggbb.`);
|
|
14029
14073
|
const at = typeof s.x === "number" && typeof s.y === "number" ? { x: s.x, y: s.y } : void 0;
|
|
14030
14074
|
return at ? { color: s.color, at } : { color: s.color };
|
|
14031
14075
|
});
|
|
@@ -14267,7 +14311,7 @@ function createImageSelectionTools(controller) {
|
|
|
14267
14311
|
annotations: writeAnnotations("Content-Aware Fill"),
|
|
14268
14312
|
handler: async (args, context) => {
|
|
14269
14313
|
if (!controller.getSelection()) throw new Error("Nothing is selected; select what to remove first.");
|
|
14270
|
-
const rects = (v) => Array.isArray(v) ? v.map((r) => ({ x: num2(_optionalChain([r, 'optionalAccess',
|
|
14314
|
+
const rects = (v) => Array.isArray(v) ? v.map((r) => ({ x: num2(_optionalChain([r, 'optionalAccess', _541 => _541.x]), NaN), y: num2(_optionalChain([r, 'optionalAccess', _542 => _542.y]), NaN), width: num2(_optionalChain([r, 'optionalAccess', _543 => _543.width]), NaN), height: num2(_optionalChain([r, 'optionalAccess', _544 => _544.height]), NaN) })) : void 0;
|
|
14271
14315
|
return controller.contentAwareFillAsync({
|
|
14272
14316
|
output: args.output,
|
|
14273
14317
|
sampleRadius: args.sampleRadius,
|
|
@@ -14276,10 +14320,33 @@ function createImageSelectionTools(controller) {
|
|
|
14276
14320
|
sampleRects: rects(args.sampleRects),
|
|
14277
14321
|
excludeRects: rects(args.excludeRects),
|
|
14278
14322
|
samplingChannelId: typeof args.samplingChannelId === "string" ? args.samplingChannelId : void 0,
|
|
14279
|
-
signal: _optionalChain([context, 'optionalAccess',
|
|
14323
|
+
signal: _optionalChain([context, 'optionalAccess', _545 => _545.signal])
|
|
14280
14324
|
});
|
|
14281
14325
|
}
|
|
14282
14326
|
};
|
|
14327
|
+
const separateTool = {
|
|
14328
|
+
name: "separate_subject",
|
|
14329
|
+
title: "Separate the subject from its background",
|
|
14330
|
+
description: "Separate Subject: splits the selected subject (select it first: select_subject, select_object, quick_select) from its background in one undo step. The subject goes to a copy of the layer masked by the selection, on top and made active; a second copy becomes the background plate, with the subject's area grown by dilate px and Content-Aware Filled (fill none leaves it transparent); an alpha channel marks the filled area, so a bad patch can be loaded (load_selection_from_channel), trimmed and filled again (content_aware_fill); the source layer is hidden. Use it to move, scale or relight a subject over its own rebuilt background. 8-bit pixel layers. Can be cancelled. Returns foregroundLayerId, plateLayerId, sourceLayerId, fillChannelId, filledBounds, dilate and fill.",
|
|
14331
|
+
inputSchema: {
|
|
14332
|
+
type: "object",
|
|
14333
|
+
properties: {
|
|
14334
|
+
layerId: layerIdSchema,
|
|
14335
|
+
dilate: { type: "number", minimum: 0, maximum: 200, description: "Grow the hole past the subject by this many px before filling, so no fringe of it stays in the plate (default 8)." },
|
|
14336
|
+
fill: { type: "string", enum: ["content-aware", "none"], description: "content-aware (default) rebuilds the background in the hole; none leaves it transparent." },
|
|
14337
|
+
seed: { type: "integer", minimum: 0, description: "Random seed for the fill; the same seed gives the same plate (default 0)." }
|
|
14338
|
+
},
|
|
14339
|
+
additionalProperties: false
|
|
14340
|
+
},
|
|
14341
|
+
annotations: writeAnnotations("Separate the subject from its background"),
|
|
14342
|
+
handler: async (args, context) => controller.separateSubject({
|
|
14343
|
+
layerId: requireLayerId(args.layerId),
|
|
14344
|
+
dilate: args.dilate,
|
|
14345
|
+
fill: args.fill,
|
|
14346
|
+
seed: args.seed,
|
|
14347
|
+
signal: _optionalChain([context, 'optionalAccess', _546 => _546.signal])
|
|
14348
|
+
})
|
|
14349
|
+
};
|
|
14283
14350
|
const copyTool = {
|
|
14284
14351
|
name: "copy_pixels",
|
|
14285
14352
|
title: "Copy pixels",
|
|
@@ -14517,6 +14584,7 @@ function createImageSelectionTools(controller) {
|
|
|
14517
14584
|
strokeTool,
|
|
14518
14585
|
cropTool,
|
|
14519
14586
|
fillTool,
|
|
14587
|
+
separateTool,
|
|
14520
14588
|
copyTool,
|
|
14521
14589
|
cutTool,
|
|
14522
14590
|
pasteTool,
|
|
@@ -14556,13 +14624,13 @@ function createImageSubjectSelectionTool(controller) {
|
|
|
14556
14624
|
handler: async ({ target, maxSegments, mode, feather, enhanceEdge }, context) => {
|
|
14557
14625
|
if (target !== void 0 && typeof target !== "string") throw new Error("target must be a description in words.");
|
|
14558
14626
|
if (controller.segmentationProvider && !String(_nullishCoalesce(target, () => ( ""))).trim()) throw new Error("target must describe what to select (a model is set, and it selects by description).");
|
|
14559
|
-
const perform = _optionalChain([context, 'optionalAccess',
|
|
14627
|
+
const perform = _optionalChain([context, 'optionalAccess', _547 => _547.perform]);
|
|
14560
14628
|
const { segments, method, note } = await controller.selectSubject(String(_nullishCoalesce(target, () => ( ""))), {
|
|
14561
14629
|
mode: _chunkSS53NNZOcjs.parseSelectionMode.call(void 0, mode),
|
|
14562
14630
|
feather: num2(feather, 0),
|
|
14563
14631
|
maxSegments: typeof maxSegments === "number" ? Math.max(1, Math.round(maxSegments)) : void 0,
|
|
14564
14632
|
enhanceEdge: enhanceEdge === true,
|
|
14565
|
-
signal: _optionalChain([context, 'optionalAccess',
|
|
14633
|
+
signal: _optionalChain([context, 'optionalAccess', _548 => _548.signal]),
|
|
14566
14634
|
// Under playback the cursor traces what the model found, as a lasso, before it is selected.
|
|
14567
14635
|
beforeApply: perform ? (outlines) => perform(planOutlineTrace(outlines)) : void 0
|
|
14568
14636
|
});
|
|
@@ -14640,7 +14708,7 @@ async function renderImageRegion(controller, request) {
|
|
|
14640
14708
|
const maskView = maskViewCanvas(controller, document);
|
|
14641
14709
|
if (maskView) context.drawImage(maskView, rect2.x, rect2.y, rect2.width, rect2.height, 0, 0, out.width, out.height);
|
|
14642
14710
|
const selection = state.selection;
|
|
14643
|
-
if (_optionalChain([selection, 'optionalAccess',
|
|
14711
|
+
if (_optionalChain([selection, 'optionalAccess', _549 => _549.bounds]) && selection.width === state.imageDimensions.width && selection.height === state.imageDimensions.height) {
|
|
14644
14712
|
const shade = selectionShade(selection, document);
|
|
14645
14713
|
if (shade) context.drawImage(shade, rect2.x, rect2.y, rect2.width, rect2.height, 0, 0, out.width, out.height);
|
|
14646
14714
|
}
|
|
@@ -14665,7 +14733,7 @@ function createImageCaptureSurface(controller) {
|
|
|
14665
14733
|
return {
|
|
14666
14734
|
units: "image pixels",
|
|
14667
14735
|
content: whole,
|
|
14668
|
-
selection: () => ({ rect: _nullishCoalesce(_optionalChain([controller, 'access',
|
|
14736
|
+
selection: () => ({ rect: _nullishCoalesce(_optionalChain([controller, 'access', _550 => _550.getState, 'call', _551 => _551(), 'access', _552 => _552.selection, 'optionalAccess', _553 => _553.bounds]), () => ( null)) }),
|
|
14669
14737
|
overlays: "a shade over unselected pixels, the crop box outline and a layer mask view (set_mask_view)",
|
|
14670
14738
|
maxScale: 8,
|
|
14671
14739
|
render: (request) => renderImageRegion(controller, request)
|
|
@@ -14999,7 +15067,7 @@ function describeLayer(layer, activeId, boundsOf) {
|
|
|
14999
15067
|
out.bounds = boundsOf(layer);
|
|
15000
15068
|
out.fillOpacity = round3(_nullishCoalesce(layer.fillOpacity, () => ( 1)));
|
|
15001
15069
|
out.shape = {
|
|
15002
|
-
components: layer.components.map((c) => ({ op: c.op, kind: _nullishCoalesce(_optionalChain([c, 'access',
|
|
15070
|
+
components: layer.components.map((c) => ({ op: c.op, kind: _nullishCoalesce(_optionalChain([c, 'access', _554 => _554.live, 'optionalAccess', _555 => _555.kind]), () => ( "path")) })),
|
|
15003
15071
|
fill: layer.fill ? layer.fill.type : null,
|
|
15004
15072
|
stroke: layer.stroke ? { width: layer.stroke.width, paint: layer.stroke.paint.type } : null
|
|
15005
15073
|
};
|
|
@@ -15022,8 +15090,8 @@ function describeLayer(layer, activeId, boundsOf) {
|
|
|
15022
15090
|
out.bounds = boundsOf(layer);
|
|
15023
15091
|
out.fillOpacity = round3(_nullishCoalesce(layer.fillOpacity, () => ( 1)));
|
|
15024
15092
|
out.contents = { id: layer.contents.id, name: layer.contents.name, kind: layer.contents.kind, width: layer.contents.width, height: layer.contents.height };
|
|
15025
|
-
out.smartFilters = (_nullishCoalesce(_optionalChain([layer, 'access',
|
|
15026
|
-
out.filterMask = maskSummary(_optionalChain([layer, 'access',
|
|
15093
|
+
out.smartFilters = (_nullishCoalesce(_optionalChain([layer, 'access', _556 => _556.smartFilters, 'optionalAccess', _557 => _557.filters]), () => ( []))).map((f) => ({ id: f.id, kind: f.kind, enabled: f.enabled }));
|
|
15094
|
+
out.filterMask = maskSummary(_optionalChain([layer, 'access', _558 => _558.smartFilters, 'optionalAccess', _559 => _559.mask]));
|
|
15027
15095
|
break;
|
|
15028
15096
|
}
|
|
15029
15097
|
return out;
|
|
@@ -15051,7 +15119,7 @@ function createImageLayerTools(controller) {
|
|
|
15051
15119
|
if (!loc) return null;
|
|
15052
15120
|
return {
|
|
15053
15121
|
...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)),
|
|
15054
|
-
parentId: _nullishCoalesce(_optionalChain([loc, 'access',
|
|
15122
|
+
parentId: _nullishCoalesce(_optionalChain([loc, 'access', _560 => _560.parent, 'optionalAccess', _561 => _561.id]), () => ( null)),
|
|
15055
15123
|
index: loc.index
|
|
15056
15124
|
};
|
|
15057
15125
|
};
|
|
@@ -15374,7 +15442,7 @@ function createImageLayerTools(controller) {
|
|
|
15374
15442
|
if (view !== "gray" && view !== "overlay" && view !== "off") throw new Error(`Unknown view "${String(view)}". Use gray, overlay or off.`);
|
|
15375
15443
|
const id = view === "off" || layerId === void 0 ? void 0 : exists(layerId);
|
|
15376
15444
|
const shown = controller.setMaskView(view, id);
|
|
15377
|
-
return { view: _nullishCoalesce(_optionalChain([shown, 'optionalAccess',
|
|
15445
|
+
return { view: _nullishCoalesce(_optionalChain([shown, 'optionalAccess', _562 => _562.mode]), () => ( "off")), layerId: _nullishCoalesce(_optionalChain([shown, 'optionalAccess', _563 => _563.layerId]), () => ( null)) };
|
|
15378
15446
|
}
|
|
15379
15447
|
};
|
|
15380
15448
|
const AMOUNT = (what) => ({ type: "number", minimum: 0, maximum: 100, description: `${what}, in percent 0-100; 0 turns it off.` });
|
|
@@ -15973,7 +16041,7 @@ var SelectionGesture = (_class13 = class {
|
|
|
15973
16041
|
size: _nullishCoalesce(options.quickSize, () => ( 30)),
|
|
15974
16042
|
grow: q.mode === "add",
|
|
15975
16043
|
enhanceEdge: _nullishCoalesce(options.quickEnhance, () => ( false)),
|
|
15976
|
-
selection: q.mode === "add" && _optionalChain([q, 'access',
|
|
16044
|
+
selection: q.mode === "add" && _optionalChain([q, 'access', _564 => _564.base, 'optionalAccess', _565 => _565.bounds]) ? _chunkKALCIDWHcjs.serializeMask.call(void 0, q.base) : null
|
|
15977
16045
|
},
|
|
15978
16046
|
pixels
|
|
15979
16047
|
);
|
|
@@ -15998,14 +16066,14 @@ var SelectionGesture = (_class13 = class {
|
|
|
15998
16066
|
const { tool } = this.getOptions();
|
|
15999
16067
|
if (tool === "quick") return null;
|
|
16000
16068
|
if (tool === "lasso") return this.points.length > 1 ? this.points.slice() : null;
|
|
16001
|
-
const rect2 =
|
|
16069
|
+
const rect2 = _chunkKALCIDWHcjs.normalizeRect.call(void 0, {
|
|
16002
16070
|
x: this.start.x,
|
|
16003
16071
|
y: this.start.y,
|
|
16004
16072
|
width: this.current.x - this.start.x,
|
|
16005
16073
|
height: this.current.y - this.start.y
|
|
16006
16074
|
});
|
|
16007
16075
|
if (rect2.width < 1 && rect2.height < 1) return null;
|
|
16008
|
-
if (tool === "ellipse") return
|
|
16076
|
+
if (tool === "ellipse") return _chunkKALCIDWHcjs.ellipsePoints.call(void 0, rect2);
|
|
16009
16077
|
return [
|
|
16010
16078
|
{ x: rect2.x, y: rect2.y },
|
|
16011
16079
|
{ x: rect2.x + rect2.width, y: rect2.y },
|
|
@@ -16166,7 +16234,7 @@ var SelectionGesture = (_class13 = class {
|
|
|
16166
16234
|
const options = this.getOptions();
|
|
16167
16235
|
const mode = selectionModeFromModifiers(_nullishCoalesce(modifiers, () => ( this.modifiers)), options.mode);
|
|
16168
16236
|
if (options.tool === "object") {
|
|
16169
|
-
const rect3 =
|
|
16237
|
+
const rect3 = _chunkKALCIDWHcjs.normalizeRect.call(void 0, { x: this.start.x, y: this.start.y, width: this.current.x - this.start.x, height: this.current.y - this.start.y });
|
|
16170
16238
|
this.start = null;
|
|
16171
16239
|
this.current = null;
|
|
16172
16240
|
this.points = [];
|
|
@@ -16184,7 +16252,7 @@ var SelectionGesture = (_class13 = class {
|
|
|
16184
16252
|
this.start = null;
|
|
16185
16253
|
this.current = null;
|
|
16186
16254
|
this.points = [];
|
|
16187
|
-
const strokeMode = _nullishCoalesce(_optionalChain([this, 'access',
|
|
16255
|
+
const strokeMode = _nullishCoalesce(_optionalChain([this, 'access', _566 => _566.quick, 'optionalAccess', _567 => _567.mode]), () => ( (mode === "replace" && this.controller.getSelection() ? "add" : mode)));
|
|
16188
16256
|
this.quick = null;
|
|
16189
16257
|
this.pending = this.controller.quickSelect([stroke], {
|
|
16190
16258
|
size: _nullishCoalesce(options.quickSize, () => ( 30)),
|
|
@@ -16200,7 +16268,7 @@ var SelectionGesture = (_class13 = class {
|
|
|
16200
16268
|
return false;
|
|
16201
16269
|
}
|
|
16202
16270
|
const path = this.draftPath;
|
|
16203
|
-
const rect2 =
|
|
16271
|
+
const rect2 = _chunkKALCIDWHcjs.normalizeRect.call(void 0, {
|
|
16204
16272
|
x: this.start.x,
|
|
16205
16273
|
y: this.start.y,
|
|
16206
16274
|
width: this.current.x - this.start.x,
|
|
@@ -16345,7 +16413,7 @@ function handleSelectionShortcut(controller, e, onError) {
|
|
|
16345
16413
|
try {
|
|
16346
16414
|
fn();
|
|
16347
16415
|
} catch (err) {
|
|
16348
|
-
_optionalChain([onError, 'optionalCall',
|
|
16416
|
+
_optionalChain([onError, 'optionalCall', _568 => _568(err instanceof Error ? err.message : String(err))]);
|
|
16349
16417
|
}
|
|
16350
16418
|
return true;
|
|
16351
16419
|
};
|
|
@@ -16360,9 +16428,9 @@ function handleMaskViewKey(controller, e) {
|
|
|
16360
16428
|
if (e.ctrlKey || e.metaKey || e.altKey || e.key !== "\\") return false;
|
|
16361
16429
|
const id = controller.getState().activeLayerId;
|
|
16362
16430
|
const layer = id ? controller.getLayer(id) : null;
|
|
16363
|
-
if (!_optionalChain([layer, 'optionalAccess',
|
|
16431
|
+
if (!_optionalChain([layer, 'optionalAccess', _569 => _569.mask]) || layer.mask.source) return false;
|
|
16364
16432
|
const view = controller.getMaskView();
|
|
16365
|
-
controller.setMaskView(_optionalChain([view, 'optionalAccess',
|
|
16433
|
+
controller.setMaskView(_optionalChain([view, 'optionalAccess', _570 => _570.layerId]) === layer.id && view.mode === "overlay" ? "off" : "overlay", layer.id);
|
|
16366
16434
|
return true;
|
|
16367
16435
|
}
|
|
16368
16436
|
function handleQuickMaskKey(controller, e) {
|
|
@@ -16576,7 +16644,7 @@ var PaintGesture = (_class14 = class {
|
|
|
16576
16644
|
const layer = this.controller.getActiveLayer();
|
|
16577
16645
|
if (!layer) throw new Error("Select a layer to move in the Layers panel.");
|
|
16578
16646
|
if (layer.type !== "pixel" && layer.type !== "shape" && layer.type !== "smart") throw new Error(`Only pixel, shape and smart object layers move; "${layer.name}" is a ${layer.type} layer.`);
|
|
16579
|
-
if (_optionalChain([layer, 'access',
|
|
16647
|
+
if (_optionalChain([layer, 'access', _571 => _571.locks, 'optionalAccess', _572 => _572.all]) || _optionalChain([layer, 'access', _573 => _573.locks, 'optionalAccess', _574 => _574.position])) throw new Error(`Layer "${layer.name}" has its position locked.`);
|
|
16580
16648
|
const origin = layer.type === "pixel" ? { ...layer.offset } : layer.type === "smart" ? { ...layer.placement.corners[0] } : (() => {
|
|
16581
16649
|
const b = _chunkS55JFWDAcjs.shapeGeometryBounds.call(void 0, layer);
|
|
16582
16650
|
return b ? { x: b.x, y: b.y } : { x: 0, y: 0 };
|
|
@@ -16633,7 +16701,7 @@ var PaintGesture = (_class14 = class {
|
|
|
16633
16701
|
this.move = null;
|
|
16634
16702
|
}
|
|
16635
16703
|
cancel() {
|
|
16636
|
-
_optionalChain([this, 'access',
|
|
16704
|
+
_optionalChain([this, 'access', _575 => _575.stroke, 'optionalAccess', _576 => _576.cancel, 'call', _577 => _577()]);
|
|
16637
16705
|
this.stroke = null;
|
|
16638
16706
|
this.move = null;
|
|
16639
16707
|
}
|
|
@@ -17043,7 +17111,7 @@ var TARGET2 = {
|
|
|
17043
17111
|
};
|
|
17044
17112
|
var SAMPLE = {
|
|
17045
17113
|
type: "string",
|
|
17046
|
-
enum: [...
|
|
17114
|
+
enum: [..._chunk2ONK3ERDcjs.RETOUCH_SAMPLES],
|
|
17047
17115
|
description: "What is sampled: current (default: the target layer), current-below (the composite of this layer and everything under it), or all (the composite of every layer). Sample current-below or all to retouch onto an empty layer above the image."
|
|
17048
17116
|
};
|
|
17049
17117
|
function readTarget2(args) {
|
|
@@ -17122,7 +17190,7 @@ function createImageRetouchTools(controller) {
|
|
|
17122
17190
|
type: "object",
|
|
17123
17191
|
properties: {
|
|
17124
17192
|
points: POINTS,
|
|
17125
|
-
type: { type: "string", enum: [...
|
|
17193
|
+
type: { type: "string", enum: [..._chunk2ONK3ERDcjs.SPOT_HEAL_TYPES], description: "proximity-match (default the current option), content-aware or smooth." },
|
|
17126
17194
|
sample: SAMPLE,
|
|
17127
17195
|
brush: BRUSH2,
|
|
17128
17196
|
...TARGET2
|
|
@@ -17155,7 +17223,7 @@ function createImageRetouchTools(controller) {
|
|
|
17155
17223
|
type: "object",
|
|
17156
17224
|
properties: {
|
|
17157
17225
|
points: POINTS,
|
|
17158
|
-
range: { type: "string", enum: [...
|
|
17226
|
+
range: { type: "string", enum: [..._chunk2ONK3ERDcjs.TONE_RANGES], description: `Which tones to ${verb} most: shadows, midtones (default the current option, midtones) or highlights.` },
|
|
17159
17227
|
exposure: { type: "number", minimum: 0, maximum: 1, description: "Strength 0..1 (default the current option, 0.5). Overlapping dabs in one stroke never go past it; another stroke builds on it." },
|
|
17160
17228
|
protectTones: { type: "boolean", description: "Change luma only, keeping hue and saturation (default true)." },
|
|
17161
17229
|
brush: BRUSH2,
|
|
@@ -17264,8 +17332,8 @@ function createImageRetouchTools(controller) {
|
|
|
17264
17332
|
properties: {
|
|
17265
17333
|
aligned: { type: "boolean", description: "Clone / heal: keep the offset from stroke to stroke (default true)." },
|
|
17266
17334
|
sample: SAMPLE,
|
|
17267
|
-
spotType: { type: "string", enum: [...
|
|
17268
|
-
range: { type: "string", enum: [...
|
|
17335
|
+
spotType: { type: "string", enum: [..._chunk2ONK3ERDcjs.SPOT_HEAL_TYPES], description: "Spot heal: proximity-match (default), content-aware or smooth." },
|
|
17336
|
+
range: { type: "string", enum: [..._chunk2ONK3ERDcjs.TONE_RANGES], description: "Dodge / burn: shadows, midtones (default) or highlights." },
|
|
17269
17337
|
exposure: { type: "number", minimum: 0, maximum: 1, description: "Dodge / burn strength 0..1 (default 0.5)." },
|
|
17270
17338
|
protectTones: { type: "boolean", description: "Dodge / burn: keep hue and saturation (default true)." },
|
|
17271
17339
|
spongeMode: { type: "string", enum: ["desaturate", "saturate"], description: "Sponge: desaturate (default) or saturate." },
|
|
@@ -17714,7 +17782,7 @@ function createImageSmartObjectTools(controller) {
|
|
|
17714
17782
|
const layerSummary = (id) => {
|
|
17715
17783
|
const s = controller.getState();
|
|
17716
17784
|
const loc = _chunkB46UQUDCcjs.findLayer.call(void 0, s.layers, id);
|
|
17717
|
-
return loc ? { ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)), parentId: _nullishCoalesce(_optionalChain([loc, 'access',
|
|
17785
|
+
return loc ? { ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)), parentId: _nullishCoalesce(_optionalChain([loc, 'access', _578 => _578.parent, 'optionalAccess', _579 => _579.id]), () => ( null)), index: loc.index } : null;
|
|
17718
17786
|
};
|
|
17719
17787
|
const getSmart = {
|
|
17720
17788
|
name: "get_smart_object",
|
|
@@ -18271,7 +18339,7 @@ function createImageShapeTools(controller) {
|
|
|
18271
18339
|
const layerSummary = (id) => {
|
|
18272
18340
|
const s = controller.getState();
|
|
18273
18341
|
const loc = _chunkB46UQUDCcjs.findLayer.call(void 0, s.layers, id);
|
|
18274
|
-
return loc ? { ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)), parentId: _nullishCoalesce(_optionalChain([loc, 'access',
|
|
18342
|
+
return loc ? { ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)), parentId: _nullishCoalesce(_optionalChain([loc, 'access', _580 => _580.parent, 'optionalAccess', _581 => _581.id]), () => ( null)), index: loc.index } : null;
|
|
18275
18343
|
};
|
|
18276
18344
|
const get = {
|
|
18277
18345
|
name: "get_shape_layer",
|
|
@@ -18502,7 +18570,7 @@ function createImageShapeTools(controller) {
|
|
|
18502
18570
|
const mode = args.mode;
|
|
18503
18571
|
controller.pathToSelection(_nullishCoalesce(fromPathId(args), () => ( pathSpec(args))), { feather: args.feather, antiAlias: args.antiAlias, mode });
|
|
18504
18572
|
const sel = controller.getSelection();
|
|
18505
|
-
return { empty: !sel, bounds: _nullishCoalesce(_optionalChain([sel, 'optionalAccess',
|
|
18573
|
+
return { empty: !sel, bounds: _nullishCoalesce(_optionalChain([sel, 'optionalAccess', _582 => _582.bounds]), () => ( null)), area: Math.round(sel ? _chunkSS53NNZOcjs.selectionArea.call(void 0, sel) : 0) };
|
|
18506
18574
|
}
|
|
18507
18575
|
};
|
|
18508
18576
|
const getVectorMask = {
|
|
@@ -18534,7 +18602,7 @@ function createImageShapeTools(controller) {
|
|
|
18534
18602
|
handler: (args) => {
|
|
18535
18603
|
const id = layerArg(args.layerId);
|
|
18536
18604
|
const spec = _nullishCoalesce(fromPathId(args), () => ( pathSpec(args)));
|
|
18537
|
-
const hasPath = _optionalChain([spec, 'access',
|
|
18605
|
+
const hasPath = _optionalChain([spec, 'access', _583 => _583.components, 'optionalAccess', _584 => _584.length]) || spec.shape !== void 0 || spec.subpaths !== void 0;
|
|
18538
18606
|
const from = _nullishCoalesce(args.from, () => ( (hasPath ? "path" : "reveal-all")));
|
|
18539
18607
|
if (from !== "selection" && TRACE_KEYS.some((k) => args[k] !== void 0)) throw new Error("tolerance, cornerRoundness and minArea apply only to from selection.");
|
|
18540
18608
|
controller.addVectorMask(id, from, spec, traceOptions(args));
|
|
@@ -18642,7 +18710,7 @@ function createImageShapeTools(controller) {
|
|
|
18642
18710
|
annotations: { title: "Add a document path", ...WRITE8 },
|
|
18643
18711
|
handler: (args) => {
|
|
18644
18712
|
const spec = pathSpec(args);
|
|
18645
|
-
if (!_optionalChain([spec, 'access',
|
|
18713
|
+
if (!_optionalChain([spec, 'access', _585 => _585.components, 'optionalAccess', _586 => _586.length]) && spec.shape === void 0 && spec.subpaths === void 0) throw new Error("Give the path as shape, subpaths or components.");
|
|
18646
18714
|
return { path: pathSummary(controller.addPath({ ...spec, name: args.name }).id) };
|
|
18647
18715
|
}
|
|
18648
18716
|
};
|
|
@@ -18786,7 +18854,7 @@ function createImageTypeTools(controller) {
|
|
|
18786
18854
|
const layerSummary = (id) => {
|
|
18787
18855
|
const s = controller.getState();
|
|
18788
18856
|
const loc = _chunkB46UQUDCcjs.findLayer.call(void 0, s.layers, id);
|
|
18789
|
-
return loc ? { ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)), parentId: _nullishCoalesce(_optionalChain([loc, 'access',
|
|
18857
|
+
return loc ? { ...describeLayer(loc.layer, s.activeLayerId, (x) => controller.getLayerBounds(x.id)), parentId: _nullishCoalesce(_optionalChain([loc, 'access', _587 => _587.parent, 'optionalAccess', _588 => _588.id]), () => ( null)), index: loc.index } : null;
|
|
18790
18858
|
};
|
|
18791
18859
|
const range = (args) => ({ start: args.start, end: args.end });
|
|
18792
18860
|
const listFonts = {
|
|
@@ -18795,7 +18863,7 @@ function createImageTypeTools(controller) {
|
|
|
18795
18863
|
description: "Returns the font families type layers can use here (generic families such as sans-serif always work). Changes nothing.",
|
|
18796
18864
|
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
18797
18865
|
annotations: { title: "List fonts", ...READ11 },
|
|
18798
|
-
handler: () => ({ families: controller.listFonts(), shaper: _nullishCoalesce(_optionalChain([controller, 'access',
|
|
18866
|
+
handler: () => ({ families: controller.listFonts(), shaper: _nullishCoalesce(_optionalChain([controller, 'access', _589 => _589.getTextShaper, 'call', _590 => _590(), 'optionalAccess', _591 => _591.id]), () => ( null)) })
|
|
18799
18867
|
};
|
|
18800
18868
|
const get = {
|
|
18801
18869
|
name: "get_text_layer",
|
|
@@ -18951,7 +19019,7 @@ function createImageTypeTools(controller) {
|
|
|
18951
19019
|
const init = pick2(args, ["text", "x", "y", "orientation", "box", "style", "paragraph", "rotation", "mode", "feather", "antiAlias"]);
|
|
18952
19020
|
controller.selectTextShape(init);
|
|
18953
19021
|
const sel = controller.getSelection();
|
|
18954
|
-
return { empty: !sel, bounds: _nullishCoalesce(_optionalChain([sel, 'optionalAccess',
|
|
19022
|
+
return { empty: !sel, bounds: _nullishCoalesce(_optionalChain([sel, 'optionalAccess', _592 => _592.bounds]), () => ( null)), area: Math.round(sel ? _chunkSS53NNZOcjs.selectionArea.call(void 0, sel) : 0) };
|
|
18955
19023
|
}
|
|
18956
19024
|
};
|
|
18957
19025
|
return [listFonts, get, add2, setText, setStyle, setParagraph, setFrame, setOrientation, toShape, typeMask];
|
|
@@ -19130,7 +19198,7 @@ function createImageEditorToolProvider(controller, options = {}) {
|
|
|
19130
19198
|
for (const ref of [aboveId, parentId]) {
|
|
19131
19199
|
if (ref !== void 0 && !controller.getLayer(ref)) throw new Error(`Unknown layer "${ref}". Call list_layers for ids.`);
|
|
19132
19200
|
}
|
|
19133
|
-
if (parentId !== void 0 && _optionalChain([controller, 'access',
|
|
19201
|
+
if (parentId !== void 0 && _optionalChain([controller, 'access', _593 => _593.getLayer, 'call', _594 => _594(parentId), 'optionalAccess', _595 => _595.type]) !== "group") throw new Error(`Layer "${parentId}" is not a group.`);
|
|
19134
19202
|
const id = controller.addAdjustmentLayer({ kind, params, opacity, blend, name, aboveId, parentId, useSelection: useSelection !== false });
|
|
19135
19203
|
const layer = controller.getAdjustmentLayer(id);
|
|
19136
19204
|
return { layer: JSON.parse(JSON.stringify(layer)), index: controller.getAdjustmentLayers().findIndex((l) => l.id === id), masked: Boolean(layer.mask) };
|
|
@@ -19465,7 +19533,7 @@ var SelectAndMaskSession = (_class15 = class {
|
|
|
19465
19533
|
const h = Math.max(1, Math.round(px2.height * s));
|
|
19466
19534
|
this.previewPixels = scalePixels(px2, w, h);
|
|
19467
19535
|
this.belowPreview = this.below ? scalePixels(this.below, w, h) : null;
|
|
19468
|
-
this.baseMask = _optionalChain([this, 'access',
|
|
19536
|
+
this.baseMask = _optionalChain([this, 'access', _596 => _596.base, 'optionalAccess', _597 => _597.bounds]) ? s === 1 ? this.base : _chunkSS53NNZOcjs.resizeSelection.call(void 0, this.base, w, h) : null;
|
|
19469
19537
|
}
|
|
19470
19538
|
/**
|
|
19471
19539
|
* Recomputes the preview mask from the base selection, the strokes and the settings: at once on
|
|
@@ -19482,8 +19550,8 @@ var SelectAndMaskSession = (_class15 = class {
|
|
|
19482
19550
|
const { scale } = this.previewSize;
|
|
19483
19551
|
const edits = [...this.editsList, ...this.live ? [this.live] : []].map((e) => scaleEdit(e, scale));
|
|
19484
19552
|
try {
|
|
19485
|
-
const { selection, refineBrush } =
|
|
19486
|
-
this.previewMask = _optionalChain([selection, 'optionalAccess',
|
|
19553
|
+
const { selection, refineBrush } = _chunkKALCIDWHcjs.applyRefineEdits.call(void 0, px2, this.baseMask, edits, px2.width, px2.height);
|
|
19554
|
+
this.previewMask = _optionalChain([selection, 'optionalAccess', _598 => _598.bounds]) ? _chunkSS53NNZOcjs.refineSelection.call(void 0, px2, selection, scaleParams(this.settingsValue.params, scale), refineBrush) : null;
|
|
19487
19555
|
this.error = null;
|
|
19488
19556
|
} catch (err) {
|
|
19489
19557
|
this.previewMask = null;
|
|
@@ -19504,7 +19572,7 @@ var SelectAndMaskSession = (_class15 = class {
|
|
|
19504
19572
|
const edits = [...this.editsList, ...this.live ? [this.live] : []].map((e) => scaleEdit(e, scale));
|
|
19505
19573
|
try {
|
|
19506
19574
|
const { mask } = await this.controller.runSelectionJob(
|
|
19507
|
-
{ op: "refine-preview", base: this.baseMask ?
|
|
19575
|
+
{ op: "refine-preview", base: this.baseMask ? _chunkKALCIDWHcjs.serializeMask.call(void 0, this.baseMask) : null, edits, params: scaleParams(this.settingsValue.params, scale) },
|
|
19508
19576
|
px2
|
|
19509
19577
|
);
|
|
19510
19578
|
this.previewMask = mask.bounds ? mask : null;
|
|
@@ -19589,7 +19657,7 @@ var SelectAndMaskSession = (_class15 = class {
|
|
|
19589
19657
|
break;
|
|
19590
19658
|
}
|
|
19591
19659
|
case "on-layers": {
|
|
19592
|
-
const under = _optionalChain([this, 'access',
|
|
19660
|
+
const under = _optionalChain([this, 'access', _599 => _599.belowPreview, 'optionalAccess', _600 => _600.data]);
|
|
19593
19661
|
let ur = checker;
|
|
19594
19662
|
let ug = checker;
|
|
19595
19663
|
let ub = checker;
|
|
@@ -19885,7 +19953,7 @@ function maskThumbnailClick(controller, layer, e) {
|
|
|
19885
19953
|
} else if (e.altKey && !layer.mask.source) {
|
|
19886
19954
|
const mode = e.shiftKey ? "overlay" : "gray";
|
|
19887
19955
|
const view = controller.getMaskView();
|
|
19888
|
-
controller.setMaskView(_optionalChain([view, 'optionalAccess',
|
|
19956
|
+
controller.setMaskView(_optionalChain([view, 'optionalAccess', _601 => _601.layerId]) === layer.id && view.mode === mode ? "off" : mode, layer.id);
|
|
19889
19957
|
} else if (e.shiftKey) {
|
|
19890
19958
|
controller.setLayerMaskProps(layer.id, { enabled: layer.mask.enabled === false });
|
|
19891
19959
|
} else {
|
|
@@ -19949,7 +20017,7 @@ function layerHasThumbnail(layer) {
|
|
|
19949
20017
|
return layer.type === "pixel" || layer.type === "shape" || layer.type === "type";
|
|
19950
20018
|
}
|
|
19951
20019
|
function layerWarning(layer) {
|
|
19952
|
-
if (layer.type === "type" && _optionalChain([layer, 'access',
|
|
20020
|
+
if (layer.type === "type" && _optionalChain([layer, 'access', _602 => _602.missingFonts, 'optionalAccess', _603 => _603.length])) {
|
|
19953
20021
|
return `Missing ${layer.missingFonts.length === 1 ? "font" : "fonts"}: ${layer.missingFonts.join(", ")}. ${layer.rendering === "stored" ? "Showing the saved pixels until the text is edited." : "Drawn with a fallback font."}`;
|
|
19954
20022
|
}
|
|
19955
20023
|
return null;
|
|
@@ -19972,16 +20040,16 @@ function layerMenu(controller) {
|
|
|
19972
20040
|
const siblings = loc ? loc.parent ? loc.parent.children : s.layers : [];
|
|
19973
20041
|
const below = loc ? siblings[loc.index - 1] : void 0;
|
|
19974
20042
|
const hasSel = controller.hasSelection;
|
|
19975
|
-
const isPixel = _optionalChain([active, 'optionalAccess',
|
|
19976
|
-
const hasOwnPixels = _optionalChain([active, 'optionalAccess',
|
|
20043
|
+
const isPixel = _optionalChain([active, 'optionalAccess', _604 => _604.type]) === "pixel";
|
|
20044
|
+
const hasOwnPixels = _optionalChain([active, 'optionalAccess', _605 => _605.type]) === "pixel" || _optionalChain([active, 'optionalAccess', _606 => _606.type]) === "shape" || _optionalChain([active, 'optionalAccess', _607 => _607.type]) === "type" || _optionalChain([active, 'optionalAccess', _608 => _608.type]) === "smart";
|
|
19977
20045
|
return [
|
|
19978
20046
|
{ action: "new-layer", label: "New Layer", enabled: true },
|
|
19979
20047
|
{ action: "new-group", label: "New Group", enabled: true },
|
|
19980
20048
|
{ action: "duplicate", label: "Duplicate Layer", enabled: Boolean(active) },
|
|
19981
20049
|
{ action: "delete", label: "Delete Layer", enabled: Boolean(active) },
|
|
19982
20050
|
{ action: "group-selected", label: "Group Layer", enabled: Boolean(active) },
|
|
19983
|
-
{ action: "ungroup", label: "Ungroup", enabled: _optionalChain([active, 'optionalAccess',
|
|
19984
|
-
{ action: "merge-down", label: "Merge Down", enabled: Boolean(_optionalChain([active, 'optionalAccess',
|
|
20051
|
+
{ action: "ungroup", label: "Ungroup", enabled: _optionalChain([active, 'optionalAccess', _609 => _609.type]) === "group" },
|
|
20052
|
+
{ action: "merge-down", label: "Merge Down", enabled: Boolean(_optionalChain([active, 'optionalAccess', _610 => _610.visible]) && _optionalChain([below, 'optionalAccess', _611 => _611.type]) === "pixel") },
|
|
19985
20053
|
{ action: "merge-visible", label: "Merge Visible", enabled: s.layers.some((l) => l.visible) },
|
|
19986
20054
|
{ action: "flatten", label: "Flatten Image", enabled: s.layers.length > 0 },
|
|
19987
20055
|
{ action: "via-copy", label: "Layer via Copy", enabled: isPixel && hasSel },
|
|
@@ -19991,27 +20059,27 @@ function layerMenu(controller) {
|
|
|
19991
20059
|
{ action: "add-mask-hide-selection", label: "Add Mask Hiding Selection", enabled: Boolean(active) && hasSel },
|
|
19992
20060
|
{ action: "add-mask-transparency", label: "Add Mask from Transparency", enabled: hasOwnPixels },
|
|
19993
20061
|
{ action: "select-transparency", label: "Select Layer Pixels", enabled: hasOwnPixels },
|
|
19994
|
-
{ action: "apply-mask", label: "Apply Layer Mask", enabled: isPixel && Boolean(_optionalChain([active, 'optionalAccess',
|
|
19995
|
-
{ action: "delete-mask", label: "Delete Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess',
|
|
19996
|
-
{ action: "toggle-mask", label: _optionalChain([active, 'optionalAccess',
|
|
19997
|
-
{ action: "toggle-mask-link", label: _optionalChain([active, 'optionalAccess',
|
|
19998
|
-
{ action: "add-vector-mask", label: "Add Vector Mask (Reveal All)", enabled: Boolean(active && active.type !== "shape" && !_optionalChain([active, 'access',
|
|
19999
|
-
{ action: "add-vector-mask-hide", label: "Add Vector Mask (Hide All)", enabled: Boolean(active && active.type !== "shape" && !_optionalChain([active, 'access',
|
|
20000
|
-
{ action: "add-vector-mask-selection", label: "Add Vector Mask from Selection", enabled: Boolean(active && active.type !== "shape" && !_optionalChain([active, 'access',
|
|
20001
|
-
{ action: "delete-vector-mask", label: "Delete Vector Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess',
|
|
20002
|
-
{ action: "toggle-vector-mask", label: _optionalChain([active, 'optionalAccess',
|
|
20003
|
-
{ action: "rasterize-vector-mask", label: "Rasterize Vector Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess',
|
|
20004
|
-
{ action: "rasterize", label: "Rasterize Layer", enabled: _optionalChain([active, 'optionalAccess',
|
|
20062
|
+
{ action: "apply-mask", label: "Apply Layer Mask", enabled: isPixel && Boolean(_optionalChain([active, 'optionalAccess', _612 => _612.mask])) },
|
|
20063
|
+
{ action: "delete-mask", label: "Delete Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _613 => _613.mask])) },
|
|
20064
|
+
{ action: "toggle-mask", label: _optionalChain([active, 'optionalAccess', _614 => _614.mask, 'optionalAccess', _615 => _615.enabled]) === false ? "Enable Layer Mask" : "Disable Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _616 => _616.mask])) },
|
|
20065
|
+
{ action: "toggle-mask-link", label: _optionalChain([active, 'optionalAccess', _617 => _617.mask, 'optionalAccess', _618 => _618.linked]) === false ? "Link Layer Mask" : "Unlink Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _619 => _619.mask]) && !active.mask.source) },
|
|
20066
|
+
{ action: "add-vector-mask", label: "Add Vector Mask (Reveal All)", enabled: Boolean(active && active.type !== "shape" && !_optionalChain([active, 'access', _620 => _620.mask, 'optionalAccess', _621 => _621.source])) },
|
|
20067
|
+
{ action: "add-vector-mask-hide", label: "Add Vector Mask (Hide All)", enabled: Boolean(active && active.type !== "shape" && !_optionalChain([active, 'access', _622 => _622.mask, 'optionalAccess', _623 => _623.source])) },
|
|
20068
|
+
{ action: "add-vector-mask-selection", label: "Add Vector Mask from Selection", enabled: Boolean(active && active.type !== "shape" && !_optionalChain([active, 'access', _624 => _624.mask, 'optionalAccess', _625 => _625.source])) && hasSel },
|
|
20069
|
+
{ action: "delete-vector-mask", label: "Delete Vector Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _626 => _626.vectorMask])) },
|
|
20070
|
+
{ action: "toggle-vector-mask", label: _optionalChain([active, 'optionalAccess', _627 => _627.vectorMask, 'optionalAccess', _628 => _628.enabled]) === false ? "Enable Vector Mask" : "Disable Vector Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _629 => _629.vectorMask])) },
|
|
20071
|
+
{ action: "rasterize-vector-mask", label: "Rasterize Vector Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _630 => _630.vectorMask])) },
|
|
20072
|
+
{ action: "rasterize", label: "Rasterize Layer", enabled: _optionalChain([active, 'optionalAccess', _631 => _631.type]) === "annotation" || _optionalChain([active, 'optionalAccess', _632 => _632.type]) === "smart" || _optionalChain([active, 'optionalAccess', _633 => _633.type]) === "shape" || _optionalChain([active, 'optionalAccess', _634 => _634.type]) === "type" || isPixel && Boolean(_optionalChain([active, 'optionalAccess', _635 => _635.type]) === "pixel" && _optionalChain([active, 'access', _636 => _636.filters, 'optionalAccess', _637 => _637.length])) },
|
|
20005
20073
|
{ action: "convert-smart", label: "Convert to Smart Object", enabled: Boolean(active && active.type !== "annotation") },
|
|
20006
|
-
{ action: "edit-contents", label: "Edit Contents", enabled: _optionalChain([active, 'optionalAccess',
|
|
20007
|
-
{ action: "smart-via-copy", label: "New Smart Object via Copy", enabled: _optionalChain([active, 'optionalAccess',
|
|
20008
|
-
{ action: "add-filter-mask", label: "Add Smart Filter Mask", enabled: _optionalChain([active, 'optionalAccess',
|
|
20009
|
-
{ action: "toggle-clip", label: _optionalChain([active, 'optionalAccess',
|
|
20074
|
+
{ action: "edit-contents", label: "Edit Contents", enabled: _optionalChain([active, 'optionalAccess', _638 => _638.type]) === "smart" },
|
|
20075
|
+
{ action: "smart-via-copy", label: "New Smart Object via Copy", enabled: _optionalChain([active, 'optionalAccess', _639 => _639.type]) === "smart" },
|
|
20076
|
+
{ action: "add-filter-mask", label: "Add Smart Filter Mask", enabled: _optionalChain([active, 'optionalAccess', _640 => _640.type]) === "smart" && !_optionalChain([active, 'access', _641 => _641.smartFilters, 'optionalAccess', _642 => _642.mask]) },
|
|
20077
|
+
{ action: "toggle-clip", label: _optionalChain([active, 'optionalAccess', _643 => _643.clipped]) ? "Release Clipping Mask" : "Create Clipping Mask", enabled: Boolean(loc && loc.index > 0) }
|
|
20010
20078
|
];
|
|
20011
20079
|
}
|
|
20012
20080
|
async function runLayerMenuAction(controller, action) {
|
|
20013
20081
|
const active = controller.getActiveLayer();
|
|
20014
|
-
const id = _optionalChain([active, 'optionalAccess',
|
|
20082
|
+
const id = _optionalChain([active, 'optionalAccess', _644 => _644.id]);
|
|
20015
20083
|
try {
|
|
20016
20084
|
switch (action) {
|
|
20017
20085
|
case "new-layer":
|
|
@@ -20067,10 +20135,10 @@ async function runLayerMenuAction(controller, action) {
|
|
|
20067
20135
|
if (id) controller.removeLayerMask(id);
|
|
20068
20136
|
break;
|
|
20069
20137
|
case "toggle-mask":
|
|
20070
|
-
if (id && _optionalChain([active, 'optionalAccess',
|
|
20138
|
+
if (id && _optionalChain([active, 'optionalAccess', _645 => _645.mask])) controller.setLayerMaskProps(id, { enabled: active.mask.enabled === false });
|
|
20071
20139
|
break;
|
|
20072
20140
|
case "toggle-mask-link":
|
|
20073
|
-
if (id && _optionalChain([active, 'optionalAccess',
|
|
20141
|
+
if (id && _optionalChain([active, 'optionalAccess', _646 => _646.mask])) controller.setLayerMaskProps(id, { linked: active.mask.linked === false });
|
|
20074
20142
|
break;
|
|
20075
20143
|
case "add-vector-mask":
|
|
20076
20144
|
case "add-vector-mask-hide":
|
|
@@ -20083,7 +20151,7 @@ async function runLayerMenuAction(controller, action) {
|
|
|
20083
20151
|
if (id) controller.removeVectorMask(id);
|
|
20084
20152
|
break;
|
|
20085
20153
|
case "toggle-vector-mask":
|
|
20086
|
-
if (id && _optionalChain([active, 'optionalAccess',
|
|
20154
|
+
if (id && _optionalChain([active, 'optionalAccess', _647 => _647.vectorMask])) controller.setVectorMaskProps(id, { enabled: active.vectorMask.enabled === false });
|
|
20087
20155
|
break;
|
|
20088
20156
|
case "rasterize-vector-mask":
|
|
20089
20157
|
if (id) controller.rasterizeVectorMask(id);
|
|
@@ -20104,7 +20172,7 @@ async function runLayerMenuAction(controller, action) {
|
|
|
20104
20172
|
if (id) controller.setSmartFilterMask(id, "reveal-all");
|
|
20105
20173
|
break;
|
|
20106
20174
|
case "toggle-clip":
|
|
20107
|
-
if (id) controller.setLayerProperties(id, { clipped: !_optionalChain([active, 'optionalAccess',
|
|
20175
|
+
if (id) controller.setLayerProperties(id, { clipped: !_optionalChain([active, 'optionalAccess', _648 => _648.clipped]) });
|
|
20108
20176
|
break;
|
|
20109
20177
|
}
|
|
20110
20178
|
return null;
|
|
@@ -20114,7 +20182,7 @@ async function runLayerMenuAction(controller, action) {
|
|
|
20114
20182
|
}
|
|
20115
20183
|
function smartFilterRows(layer) {
|
|
20116
20184
|
if (layer.type !== "smart") return [];
|
|
20117
|
-
const list = _nullishCoalesce(_optionalChain([layer, 'access',
|
|
20185
|
+
const list = _nullishCoalesce(_optionalChain([layer, 'access', _649 => _649.smartFilters, 'optionalAccess', _650 => _650.filters]), () => ( []));
|
|
20118
20186
|
const rows = list.map((f, index) => ({
|
|
20119
20187
|
filter: f,
|
|
20120
20188
|
index,
|
|
@@ -20140,8 +20208,8 @@ function extractNormalizedLayerItems(controller, fallbackImageUrl = "") {
|
|
|
20140
20208
|
};
|
|
20141
20209
|
collectSerialized(_nullishCoalesce(serialized.layers, () => ( [])));
|
|
20142
20210
|
const sLayerMap = new Map(allSerializedLayers.map((sl) => [sl.id, sl]));
|
|
20143
|
-
const imgW = _optionalChain([state, 'access',
|
|
20144
|
-
const imgH = _optionalChain([state, 'access',
|
|
20211
|
+
const imgW = _optionalChain([state, 'access', _651 => _651.imageDimensions, 'optionalAccess', _652 => _652.width]) || 1;
|
|
20212
|
+
const imgH = _optionalChain([state, 'access', _653 => _653.imageDimensions, 'optionalAccess', _654 => _654.height]) || 1;
|
|
20145
20213
|
return ctrlLayers.map((l) => {
|
|
20146
20214
|
const bounds = controller.getLayerBounds(l.id) || {
|
|
20147
20215
|
x: 0,
|
|
@@ -20150,8 +20218,8 @@ function extractNormalizedLayerItems(controller, fallbackImageUrl = "") {
|
|
|
20150
20218
|
height: imgH
|
|
20151
20219
|
};
|
|
20152
20220
|
const sLayer = sLayerMap.get(l.id);
|
|
20153
|
-
const assetKey = _optionalChain([sLayer, 'optionalAccess',
|
|
20154
|
-
const layerDataUrl = assetKey && assets[assetKey] || assets[l.id] || (_optionalChain([sLayer, 'optionalAccess',
|
|
20221
|
+
const assetKey = _optionalChain([sLayer, 'optionalAccess', _655 => _655.asset]);
|
|
20222
|
+
const layerDataUrl = assetKey && assets[assetKey] || assets[l.id] || (_optionalChain([sLayer, 'optionalAccess', _656 => _656.source]) === "document" ? fallbackImageUrl : "");
|
|
20155
20223
|
return {
|
|
20156
20224
|
id: l.id,
|
|
20157
20225
|
name: l.name || "Untitled Layer",
|
|
@@ -20205,9 +20273,9 @@ async function addLayerOfKind(controller, id, init) {
|
|
|
20205
20273
|
const cx = Math.round(canvas.width / 2);
|
|
20206
20274
|
const cy = Math.round(canvas.height / 2);
|
|
20207
20275
|
return controller.addTextLayer({
|
|
20208
|
-
text: _optionalChain([init, 'optionalAccess',
|
|
20209
|
-
x: typeof _optionalChain([init, 'optionalAccess',
|
|
20210
|
-
y: typeof _optionalChain([init, 'optionalAccess',
|
|
20276
|
+
text: _optionalChain([init, 'optionalAccess', _657 => _657.text]) || "New Text",
|
|
20277
|
+
x: typeof _optionalChain([init, 'optionalAccess', _658 => _658.x]) === "number" ? init.x : cx - 100,
|
|
20278
|
+
y: typeof _optionalChain([init, 'optionalAccess', _659 => _659.y]) === "number" ? init.y : cy,
|
|
20211
20279
|
...init
|
|
20212
20280
|
});
|
|
20213
20281
|
}
|
|
@@ -20220,10 +20288,10 @@ async function addLayerOfKind(controller, id, init) {
|
|
|
20220
20288
|
return controller.addShapeLayer({
|
|
20221
20289
|
shape: {
|
|
20222
20290
|
kind: "rect",
|
|
20223
|
-
x: typeof _optionalChain([init, 'optionalAccess',
|
|
20224
|
-
y: typeof _optionalChain([init, 'optionalAccess',
|
|
20225
|
-
width: typeof _optionalChain([init, 'optionalAccess',
|
|
20226
|
-
height: typeof _optionalChain([init, 'optionalAccess',
|
|
20291
|
+
x: typeof _optionalChain([init, 'optionalAccess', _660 => _660.x]) === "number" ? init.x : cx - Math.round(w / 2),
|
|
20292
|
+
y: typeof _optionalChain([init, 'optionalAccess', _661 => _661.y]) === "number" ? init.y : cy - Math.round(h / 2),
|
|
20293
|
+
width: typeof _optionalChain([init, 'optionalAccess', _662 => _662.width]) === "number" ? init.width : w,
|
|
20294
|
+
height: typeof _optionalChain([init, 'optionalAccess', _663 => _663.height]) === "number" ? init.height : h
|
|
20227
20295
|
},
|
|
20228
20296
|
name: "Rectangle",
|
|
20229
20297
|
...init
|
|
@@ -20238,10 +20306,10 @@ async function addLayerOfKind(controller, id, init) {
|
|
|
20238
20306
|
return controller.addShapeLayer({
|
|
20239
20307
|
shape: {
|
|
20240
20308
|
kind: "ellipse",
|
|
20241
|
-
x: typeof _optionalChain([init, 'optionalAccess',
|
|
20242
|
-
y: typeof _optionalChain([init, 'optionalAccess',
|
|
20243
|
-
width: typeof _optionalChain([init, 'optionalAccess',
|
|
20244
|
-
height: typeof _optionalChain([init, 'optionalAccess',
|
|
20309
|
+
x: typeof _optionalChain([init, 'optionalAccess', _664 => _664.x]) === "number" ? init.x : cx - Math.round(w / 2),
|
|
20310
|
+
y: typeof _optionalChain([init, 'optionalAccess', _665 => _665.y]) === "number" ? init.y : cy - Math.round(h / 2),
|
|
20311
|
+
width: typeof _optionalChain([init, 'optionalAccess', _666 => _666.width]) === "number" ? init.width : w,
|
|
20312
|
+
height: typeof _optionalChain([init, 'optionalAccess', _667 => _667.height]) === "number" ? init.height : h
|
|
20245
20313
|
},
|
|
20246
20314
|
name: "Ellipse",
|
|
20247
20315
|
...init
|
|
@@ -20302,18 +20370,18 @@ function layerEffectsPanel(layer) {
|
|
|
20302
20370
|
if (!layer) return { ...empty, available: false, reason: "Select a layer to add a layer style." };
|
|
20303
20371
|
if (layer.type === "adjustment") return { ...empty, available: false, reason: "Adjustment layers cannot have a layer style." };
|
|
20304
20372
|
const fx = layer.effects;
|
|
20305
|
-
const readOnly = Boolean(_optionalChain([layer, 'access',
|
|
20373
|
+
const readOnly = Boolean(_optionalChain([layer, 'access', _668 => _668.locks, 'optionalAccess', _669 => _669.all]));
|
|
20306
20374
|
return {
|
|
20307
20375
|
available: true,
|
|
20308
20376
|
readOnly,
|
|
20309
20377
|
reason: readOnly ? "The layer is locked; unlock it to change its layer style." : void 0,
|
|
20310
|
-
enabled: _nullishCoalesce(_optionalChain([fx, 'optionalAccess',
|
|
20311
|
-
scale: _nullishCoalesce(_optionalChain([fx, 'optionalAccess',
|
|
20312
|
-
rows: (_nullishCoalesce(_optionalChain([fx, 'optionalAccess',
|
|
20378
|
+
enabled: _nullishCoalesce(_optionalChain([fx, 'optionalAccess', _670 => _670.enabled]), () => ( true)),
|
|
20379
|
+
scale: _nullishCoalesce(_optionalChain([fx, 'optionalAccess', _671 => _671.scale]), () => ( 1)),
|
|
20380
|
+
rows: (_nullishCoalesce(_optionalChain([fx, 'optionalAccess', _672 => _672.items]), () => ( []))).map((e) => ({ id: e.id, kind: e.kind, label: _chunkB46UQUDCcjs.layerEffectLabel.call(void 0, e.kind), enabled: e.enabled }))
|
|
20313
20381
|
};
|
|
20314
20382
|
}
|
|
20315
20383
|
function layerEffectsBadge(layer) {
|
|
20316
|
-
if (!_optionalChain([layer, 'access',
|
|
20384
|
+
if (!_optionalChain([layer, 'access', _673 => _673.effects, 'optionalAccess', _674 => _674.items, 'access', _675 => _675.length])) return null;
|
|
20317
20385
|
return _chunkB46UQUDCcjs.hasActiveEffects.call(void 0, layer.effects) ? "on" : "off";
|
|
20318
20386
|
}
|
|
20319
20387
|
var LAYER_EFFECT_MENU = _chunkB46UQUDCcjs.LAYER_EFFECT_KINDS.map((kind) => ({ kind, label: _chunkB46UQUDCcjs.layerEffectLabel.call(void 0, kind) }));
|
|
@@ -20358,8 +20426,8 @@ function fillControls(f, allowPattern, patterns) {
|
|
|
20358
20426
|
}
|
|
20359
20427
|
function gradientControls(prefix, g) {
|
|
20360
20428
|
return [
|
|
20361
|
-
{ key: `${prefix}.stops.0.color`, label: "Start colour", type: "color", value: _nullishCoalesce(_optionalChain([g, 'access',
|
|
20362
|
-
{ key: `${prefix}.stops.last.color`, label: "End colour", type: "color", value: _nullishCoalesce(_optionalChain([g, 'access',
|
|
20429
|
+
{ key: `${prefix}.stops.0.color`, label: "Start colour", type: "color", value: _nullishCoalesce(_optionalChain([g, 'access', _676 => _676.stops, 'access', _677 => _677[0], 'optionalAccess', _678 => _678.color]), () => ( "#000000")) },
|
|
20430
|
+
{ key: `${prefix}.stops.last.color`, label: "End colour", type: "color", value: _nullishCoalesce(_optionalChain([g, 'access', _679 => _679.stops, 'access', _680 => _680[g.stops.length - 1], 'optionalAccess', _681 => _681.color]), () => ( "#ffffff")) },
|
|
20363
20431
|
{ key: `${prefix}.style`, label: "Style", type: "select", value: g.style, options: opt(["linear", "Linear"], ["radial", "Radial"], ["angle", "Angle"], ["reflected", "Reflected"], ["diamond", "Diamond"]) },
|
|
20364
20432
|
{ key: `${prefix}.angle`, label: "Angle", type: "range", min: -180, max: 180, step: 1, value: g.angle, unit: "\xB0" },
|
|
20365
20433
|
{ key: `${prefix}.scale`, label: "Scale", type: "range", min: 0.1, max: 1.5, step: 0.01, value: g.scale, percent: true, unit: "%" },
|
|
@@ -20451,19 +20519,19 @@ function layerEffectControls(e, patterns = []) {
|
|
|
20451
20519
|
}
|
|
20452
20520
|
function fillOfType(current, type, patterns) {
|
|
20453
20521
|
if (type === "gradient") return { type: "gradient", gradient: _chunkB46UQUDCcjs.defaultEffectGradient.call(void 0, ) };
|
|
20454
|
-
if (type === "pattern") return { type: "pattern", patternId: _nullishCoalesce(_optionalChain([patterns, 'access',
|
|
20522
|
+
if (type === "pattern") return { type: "pattern", patternId: _nullishCoalesce(_optionalChain([patterns, 'access', _682 => _682[0], 'optionalAccess', _683 => _683.id]), () => ( "checker")), scale: 1 };
|
|
20455
20523
|
return { type: "color", color: current.type === "color" ? current.color : "#000000" };
|
|
20456
20524
|
}
|
|
20457
20525
|
function effectControlChange(effect, key2, value, patterns = []) {
|
|
20458
20526
|
const [top, ...rest] = key2.split(".");
|
|
20459
20527
|
if (top === "fill" && rest[0] === "type") return { fill: fillOfType(effect.fill, String(value), patterns) };
|
|
20460
20528
|
if (top === "patternId" && !rest.length) {
|
|
20461
|
-
const name = _optionalChain([patternOptions, 'call',
|
|
20529
|
+
const name = _optionalChain([patternOptions, 'call', _684 => _684(patterns), 'access', _685 => _685.find, 'call', _686 => _686((o) => o.value === value), 'optionalAccess', _687 => _687.label]);
|
|
20462
20530
|
return name ? { patternId: value, name } : { patternId: value };
|
|
20463
20531
|
}
|
|
20464
20532
|
if (!rest.length) return { [top]: value };
|
|
20465
20533
|
if (top === "fill" && rest[0] === "patternId") {
|
|
20466
|
-
const name = _optionalChain([patternOptions, 'call',
|
|
20534
|
+
const name = _optionalChain([patternOptions, 'call', _688 => _688(patterns), 'access', _689 => _689.find, 'call', _690 => _690((o) => o.value === value), 'optionalAccess', _691 => _691.label]);
|
|
20467
20535
|
return { fill: { ...effect.fill, patternId: value, ...name ? { name } : {} } };
|
|
20468
20536
|
}
|
|
20469
20537
|
return { [top]: setPath(getPath(effect, top), rest, value) };
|
|
@@ -20490,7 +20558,7 @@ function colorPanelView(controller) {
|
|
|
20490
20558
|
profileName: profile.name,
|
|
20491
20559
|
workingSpace: profile.builtin,
|
|
20492
20560
|
mode: profile.mode,
|
|
20493
|
-
cmykProfileName: _nullishCoalesce(_optionalChain([profile, 'access',
|
|
20561
|
+
cmykProfileName: _nullishCoalesce(_optionalChain([profile, 'access', _692 => _692.cmykProfile, 'optionalAccess', _693 => _693.name]), () => ( null)),
|
|
20494
20562
|
proof: proof ? { id: _nullishCoalesce(proof.profile.builtin, () => ( null)), name: proof.profile.name, intent: proof.intent, simulatePaper: proof.simulatePaper, gamutWarning: proof.gamutWarning, bpc: proof.bpc } : null
|
|
20495
20563
|
};
|
|
20496
20564
|
}
|
|
@@ -20698,7 +20766,7 @@ var FreeTransformTool = (_class16 = class {
|
|
|
20698
20766
|
__init147() {this.error = null}
|
|
20699
20767
|
__init148() {this.lastResult = null}
|
|
20700
20768
|
get active() {
|
|
20701
|
-
return Boolean(_optionalChain([this, 'access',
|
|
20769
|
+
return Boolean(_optionalChain([this, 'access', _694 => _694.sessionRef, 'optionalAccess', _695 => _695.isOpen]));
|
|
20702
20770
|
}
|
|
20703
20771
|
get session() {
|
|
20704
20772
|
return this.active ? this.sessionRef : null;
|
|
@@ -20707,7 +20775,7 @@ var FreeTransformTool = (_class16 = class {
|
|
|
20707
20775
|
return this.modeValue;
|
|
20708
20776
|
}
|
|
20709
20777
|
get interpolation() {
|
|
20710
|
-
return _nullishCoalesce(_optionalChain([this, 'access',
|
|
20778
|
+
return _nullishCoalesce(_optionalChain([this, 'access', _696 => _696.sessionRef, 'optionalAccess', _697 => _697.interpolation]), () => ( "bicubic"));
|
|
20711
20779
|
}
|
|
20712
20780
|
/** Whether the open transform has changed anything yet (a commit would add an undo step). */
|
|
20713
20781
|
get modified() {
|
|
@@ -20726,7 +20794,7 @@ var FreeTransformTool = (_class16 = class {
|
|
|
20726
20794
|
};
|
|
20727
20795
|
}
|
|
20728
20796
|
changed() {
|
|
20729
|
-
_optionalChain([this, 'access',
|
|
20797
|
+
_optionalChain([this, 'access', _698 => _698.options, 'access', _699 => _699.onChange, 'optionalCall', _700 => _700()]);
|
|
20730
20798
|
for (const l of this.listeners) l();
|
|
20731
20799
|
}
|
|
20732
20800
|
/** Opens a Free Transform (default: the selected pixels of the active layer, or the whole layer). Returns an error message or `null`. */
|
|
@@ -21119,7 +21187,7 @@ var FreeTransformTool = (_class16 = class {
|
|
|
21119
21187
|
}
|
|
21120
21188
|
/** Abandons the transform and restores everything. */
|
|
21121
21189
|
cancel() {
|
|
21122
|
-
_optionalChain([this, 'access',
|
|
21190
|
+
_optionalChain([this, 'access', _701 => _701.sessionRef, 'optionalAccess', _702 => _702.cancel, 'call', _703 => _703()]);
|
|
21123
21191
|
this.sessionRef = null;
|
|
21124
21192
|
this.corners = null;
|
|
21125
21193
|
this.mesh = null;
|
|
@@ -21175,7 +21243,7 @@ function imageLayerAppliedEffects(layer) {
|
|
|
21175
21243
|
const ref = (r) => ({ effect: r.effect, ...r.name ? { name: r.name } : {}, ...r.provider ? { provider: r.provider } : {} });
|
|
21176
21244
|
if (layer.type === "pixel" && layer.generator) out.push({ id: "generator", ...ref(layer.generator), role: "effect layer", enabled: true, values: layer.generator.values, ...layer.generator.time ? { time: layer.generator.time } : {}, ...layer.generator.animate ? { animate: layer.generator.animate } : {} });
|
|
21177
21245
|
if (layer.type === "smart")
|
|
21178
|
-
(_nullishCoalesce(_optionalChain([layer, 'access',
|
|
21246
|
+
(_nullishCoalesce(_optionalChain([layer, 'access', _704 => _704.smartFilters, 'optionalAccess', _705 => _705.filters]), () => ( []))).forEach((f, index) => {
|
|
21179
21247
|
if (f.kind === "effect") out.push({ id: f.id, ...ref(f), role: "smart filter", enabled: f.enabled && layer.smartFilters.enabled, opacity: f.opacity, blend: f.blend, values: f.values, index });
|
|
21180
21248
|
});
|
|
21181
21249
|
return out;
|
|
@@ -21332,7 +21400,7 @@ var OTHER_TOOL_LABELS = {
|
|
|
21332
21400
|
watermark: "Watermark"
|
|
21333
21401
|
};
|
|
21334
21402
|
function imageToolLabel(tool) {
|
|
21335
|
-
return _nullishCoalesce(_nullishCoalesce(_optionalChain([PAINT_TOOLS, 'access',
|
|
21403
|
+
return _nullishCoalesce(_nullishCoalesce(_optionalChain([PAINT_TOOLS, 'access', _706 => _706.find, 'call', _707 => _707((t) => t.id === tool), 'optionalAccess', _708 => _708.label]), () => ( OTHER_TOOL_LABELS[tool])), () => ( tool));
|
|
21336
21404
|
}
|
|
21337
21405
|
var IMAGE_TOOL_SHORTCUTS = {
|
|
21338
21406
|
...Object.fromEntries(PAINT_TOOLS.filter((t) => t.shortcut).map((t) => [t.id, t.shortcut])),
|
|
@@ -21464,10 +21532,10 @@ var PathEditGesture = (_class17 = class {
|
|
|
21464
21532
|
}
|
|
21465
21533
|
for (const k of [...this.selected]) {
|
|
21466
21534
|
const r = parseKey(k);
|
|
21467
|
-
if (!_optionalChain([cs, 'access',
|
|
21535
|
+
if (!_optionalChain([cs, 'access', _709 => _709[r.component], 'optionalAccess', _710 => _710.subpaths, 'access', _711 => _711[r.subpath], 'optionalAccess', _712 => _712.anchors, 'access', _713 => _713[r.anchor]])) this.selected.delete(k);
|
|
21468
21536
|
}
|
|
21469
21537
|
const d = this.drawing;
|
|
21470
|
-
if (d && (!_optionalChain([cs, 'access',
|
|
21538
|
+
if (d && (!_optionalChain([cs, 'access', _714 => _714[d.component], 'optionalAccess', _715 => _715.subpaths, 'access', _716 => _716[d.subpath]]) || cs[d.component].subpaths[d.subpath].closed)) this.drawing = null;
|
|
21471
21539
|
return cs;
|
|
21472
21540
|
}
|
|
21473
21541
|
anchorAt(cs, p) {
|
|
@@ -21802,11 +21870,11 @@ var PathEditGesture = (_class17 = class {
|
|
|
21802
21870
|
let preview = null;
|
|
21803
21871
|
const d = this.drawing;
|
|
21804
21872
|
if (tool === "path-pen" && d && this.pointer && !this.drag) {
|
|
21805
|
-
const sp = _optionalChain([cs, 'access',
|
|
21806
|
-
const last = _optionalChain([sp, 'optionalAccess',
|
|
21873
|
+
const sp = _optionalChain([cs, 'access', _717 => _717[d.component], 'optionalAccess', _718 => _718.subpaths, 'access', _719 => _719[d.subpath]]);
|
|
21874
|
+
const last = _optionalChain([sp, 'optionalAccess', _720 => _720.anchors, 'access', _721 => _721[sp.anchors.length - 1]]);
|
|
21807
21875
|
if (last) preview = last.out ? [pt(last), pt(last.out), this.pointer, this.pointer] : [pt(last), this.pointer];
|
|
21808
21876
|
}
|
|
21809
|
-
const marquee = _optionalChain([this, 'access',
|
|
21877
|
+
const marquee = _optionalChain([this, 'access', _722 => _722.drag, 'optionalAccess', _723 => _723.kind]) === "marquee" ? rect(this.drag.start, this.drag.end) : null;
|
|
21810
21878
|
return { curves, anchors, handles, marquee, preview };
|
|
21811
21879
|
}
|
|
21812
21880
|
}, _class17);
|
|
@@ -21888,8 +21956,8 @@ var ContentAwareFillSession = (_class18 = class _ContentAwareFillSession {
|
|
|
21888
21956
|
async open() {
|
|
21889
21957
|
try {
|
|
21890
21958
|
const { width, height } = this.controller.getState().imageDimensions;
|
|
21891
|
-
const b = _optionalChain([this, 'access',
|
|
21892
|
-
this.margin = width * height <= _ContentAwareFillSession.WHOLE_IMAGE_PIXELS ? Math.max(width, height) : Math.max(256, 2 * Math.max(_nullishCoalesce(_optionalChain([b, 'optionalAccess',
|
|
21959
|
+
const b = _optionalChain([this, 'access', _724 => _724.controller, 'access', _725 => _725.getSelection, 'call', _726 => _726(), 'optionalAccess', _727 => _727.bounds]);
|
|
21960
|
+
this.margin = width * height <= _ContentAwareFillSession.WHOLE_IMAGE_PIXELS ? Math.max(width, height) : Math.max(256, 2 * Math.max(_nullishCoalesce(_optionalChain([b, 'optionalAccess', _728 => _728.width]), () => ( 0)), _nullishCoalesce(_optionalChain([b, 'optionalAccess', _729 => _729.height]), () => ( 0))));
|
|
21893
21961
|
this.plan = this.controller.prepareContentAwareFill({ sampleRadius: this.margin });
|
|
21894
21962
|
} catch (err) {
|
|
21895
21963
|
this.error = err instanceof Error ? err.message : String(err);
|
|
@@ -22047,7 +22115,7 @@ var ContentAwareFillSession = (_class18 = class _ContentAwareFillSession {
|
|
|
22047
22115
|
this.dirty = false;
|
|
22048
22116
|
try {
|
|
22049
22117
|
const area = this.samplingMask();
|
|
22050
|
-
if (!_optionalChain([area, 'optionalAccess',
|
|
22118
|
+
if (!_optionalChain([area, 'optionalAccess', _730 => _730.bounds])) throw new Error("The sampling area is empty; paint where the fill may copy from.");
|
|
22051
22119
|
const { plan, after } = await this.controller.previewContentAwareFill({ layerId: this.plan.layerId, samplingArea: area, seed: this.settingsValue.seed });
|
|
22052
22120
|
const win = this.win;
|
|
22053
22121
|
const out = Uint8ClampedArray.from(this.before);
|
|
@@ -22126,7 +22194,7 @@ var ContentAwareFillSession = (_class18 = class _ContentAwareFillSession {
|
|
|
22126
22194
|
/** OK: fills with this sampling area, seed and output as one undo step. */
|
|
22127
22195
|
async commit(options = {}) {
|
|
22128
22196
|
const area = this.samplingMask();
|
|
22129
|
-
if (!this.plan || !_optionalChain([area, 'optionalAccess',
|
|
22197
|
+
if (!this.plan || !_optionalChain([area, 'optionalAccess', _731 => _731.bounds])) throw new Error(_nullishCoalesce(this.error, () => ( "The sampling area is empty; paint where the fill may copy from.")));
|
|
22130
22198
|
return this.controller.contentAwareFillAsync({ layerId: this.plan.layerId, samplingArea: area, seed: this.settingsValue.seed, output: this.settingsValue.output, signal: options.signal });
|
|
22131
22199
|
}
|
|
22132
22200
|
}, _class18.__initStatic(), _class18);
|
|
@@ -23246,4 +23314,4 @@ var ContentAwareFillSession = (_class18 = class _ContentAwareFillSession {
|
|
|
23246
23314
|
|
|
23247
23315
|
|
|
23248
23316
|
|
|
23249
|
-
exports.ADJUSTMENT_KEYS = _chunkS55JFWDAcjs.ADJUSTMENT_KEYS; exports.ADJUSTMENT_KINDS = _chunkS55JFWDAcjs.ADJUSTMENT_KINDS; exports.ADJUSTMENT_LAYER_CONTROLS = ADJUSTMENT_LAYER_CONTROLS; exports.ADJUSTMENT_LAYER_OPACITY_CONTROL = ADJUSTMENT_LAYER_OPACITY_CONTROL; exports.ADJUSTMENT_LUT_SIZE = _chunkS55JFWDAcjs.ADJUSTMENT_LUT_SIZE; exports.ANCHOR_FRACTION = _chunkS55JFWDAcjs.ANCHOR_FRACTION; exports.AS_SHOT_KELVIN = _chunkS55JFWDAcjs.AS_SHOT_KELVIN; exports.BACKGROUND_LAYER_ID = _chunkS55JFWDAcjs.BACKGROUND_LAYER_ID; exports.BACKGROUND_LAYER_NAME = _chunkS55JFWDAcjs.BACKGROUND_LAYER_NAME; exports.BIT_DEPTHS = _chunkOLNIPTB3cjs.BIT_DEPTHS; exports.BIT_DEPTH_OPTIONS = BIT_DEPTH_OPTIONS; exports.BLEND_MODES = _chunkOLNIPTB3cjs.BLEND_MODES; exports.BLUR_FILTER_ID = _chunkS55JFWDAcjs.BLUR_FILTER_ID; exports.BODY_SCATTER = _chunkXFYLA3ZOcjs.BODY_SCATTER; exports.BRUSHSTROKE_MAX_SCALE = _chunkYQGCPL5Xcjs.BRUSHSTROKE_MAX_SCALE; exports.BRUSHSTROKE_MIN_SCALE = _chunkYQGCPL5Xcjs.BRUSHSTROKE_MIN_SCALE; exports.BRUSH_OPTION_CONTROLS = BRUSH_OPTION_CONTROLS; exports.BUILTIN_PROFILES = _chunkBROJYMWUcjs.BUILTIN_PROFILES; exports.BrushstrokeCache = _chunkPQ3H2AANcjs.BrushstrokeCache; exports.CANVAS_SIZE_PRESETS = CANVAS_SIZE_PRESETS; exports.CLONE_TRANSFORM_CONTROLS = CLONE_TRANSFORM_CONTROLS; exports.COLOR_MODE_OPTIONS = COLOR_MODE_OPTIONS; exports.COLOR_RANGE_PRESETS = COLOR_RANGE_PRESETS; exports.COLOR_RANGE_PRESET_LABELS = COLOR_RANGE_PRESET_LABELS; exports.CONTENT_AWARE_FILL_SAMPLING = CONTENT_AWARE_FILL_SAMPLING; exports.CONTENT_AWARE_FILL_TOOLS = CONTENT_AWARE_FILL_TOOLS; exports.ColorGmm = _chunkUC3PWFM3cjs.ColorGmm; exports.ContentAwareFillSession = ContentAwareFillSession; exports.CoverageMap = _chunkPQ3H2AANcjs.CoverageMap; exports.D50 = _chunkS55JFWDAcjs.D50; exports.D65 = _chunkS55JFWDAcjs.D65; exports.DEFAULT_ADJUSTMENTS = DEFAULT_ADJUSTMENTS; exports.DEFAULT_AUTO_LEADING = _chunkQAUIZPYIcjs.DEFAULT_AUTO_LEADING; exports.DEFAULT_BLENDER = _chunkPQ3H2AANcjs.DEFAULT_BLENDER; exports.DEFAULT_BRUSH = _chunkPQ3H2AANcjs.DEFAULT_BRUSH; exports.DEFAULT_CANVAS_VIEWPORT = DEFAULT_CANVAS_VIEWPORT; exports.DEFAULT_CHANNEL_COLOR = DEFAULT_CHANNEL_COLOR; exports.DEFAULT_CONTENT_AWARE_FILL_SETTINGS = DEFAULT_CONTENT_AWARE_FILL_SETTINGS; exports.DEFAULT_DEPTH_MASK = DEFAULT_DEPTH_MASK; exports.DEFAULT_FLOW = _chunkXFYLA3ZOcjs.DEFAULT_FLOW; exports.DEFAULT_GLOBAL_LIGHT = _chunkB46UQUDCcjs.DEFAULT_GLOBAL_LIGHT; exports.DEFAULT_MITER_LIMIT = _chunkS55JFWDAcjs.DEFAULT_MITER_LIMIT; exports.DEFAULT_MIXER = _chunkPQ3H2AANcjs.DEFAULT_MIXER; exports.DEFAULT_PAINT_GRADIENT = _chunkPQ3H2AANcjs.DEFAULT_PAINT_GRADIENT; exports.DEFAULT_PAINT_GRADIENT_MAPPING = _chunkPQ3H2AANcjs.DEFAULT_PAINT_GRADIENT_MAPPING; exports.DEFAULT_PROOF = DEFAULT_PROOF; exports.DEFAULT_REFINE_EDGE_PARAMS = _chunkSS53NNZOcjs.DEFAULT_REFINE_EDGE_PARAMS; exports.DEFAULT_RETOUCH = _chunkYF3YZZ6Gcjs.DEFAULT_RETOUCH; exports.DEFAULT_SELECTION_TOOL_OPTIONS = DEFAULT_SELECTION_TOOL_OPTIONS; exports.DEFAULT_SELECT_AND_MASK_SETTINGS = DEFAULT_SELECT_AND_MASK_SETTINGS; exports.DEFAULT_SHAPE_TOOL_OPTIONS = DEFAULT_SHAPE_TOOL_OPTIONS; exports.DEFAULT_SMUDGE = _chunkPQ3H2AANcjs.DEFAULT_SMUDGE; exports.DEFAULT_TEXT_STYLE = _chunkQAUIZPYIcjs.DEFAULT_TEXT_STYLE; exports.DEFAULT_TRANSFORM = DEFAULT_TRANSFORM; exports.DEFAULT_TYPE_TOOL_OPTIONS = DEFAULT_TYPE_TOOL_OPTIONS; exports.DEFAULT_WET_PAPER = _chunkXFYLA3ZOcjs.DEFAULT_WET_PAPER; exports.DEFAULT_WET_PARAMS = _chunkXFYLA3ZOcjs.DEFAULT_WET_PARAMS; exports.DEPTH_MASK_CONTROLS = DEPTH_MASK_CONTROLS; exports.DEVELOP_FILTER_ID = _chunkS55JFWDAcjs.DEVELOP_FILTER_ID; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkK6PXS6DOcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.DRY_EPS = _chunkXFYLA3ZOcjs.DRY_EPS; exports.DabWalker = _chunkPQ3H2AANcjs.DabWalker; exports.EDGE_COLOR_RADIUS = _chunkS55JFWDAcjs.EDGE_COLOR_RADIUS; exports.EFFECT_LAYER_USES = EFFECT_LAYER_USES; exports.EMPTY_DISTANCE = _chunkSS53NNZOcjs.EMPTY_DISTANCE; exports.EMPTY_MIXER_LOAD = _chunkPQ3H2AANcjs.EMPTY_MIXER_LOAD; exports.EX = _chunkXFYLA3ZOcjs.EX; exports.EY = _chunkXFYLA3ZOcjs.EY; exports.EdgeMap = EdgeMap; exports.FLAG_ALIVE = _chunkXFYLA3ZOcjs.FLAG_ALIVE; exports.FLAG_BOTTOM = _chunkXFYLA3ZOcjs.FLAG_BOTTOM; exports.FLAG_LEFT = _chunkXFYLA3ZOcjs.FLAG_LEFT; exports.FLAG_RIGHT = _chunkXFYLA3ZOcjs.FLAG_RIGHT; exports.FLAG_TOP = _chunkXFYLA3ZOcjs.FLAG_TOP; exports.FLAG_WET = _chunkXFYLA3ZOcjs.FLAG_WET; exports.FLAT = _chunkXFYLA3ZOcjs.FLAT; exports.FREE_INTERVAL = _chunkXFYLA3ZOcjs.FREE_INTERVAL; exports.FREE_TRANSFORM_CONTENTS = FREE_TRANSFORM_CONTENTS; exports.FREE_TRANSFORM_FIELDS = FREE_TRANSFORM_FIELDS; exports.FREE_TRANSFORM_MODES = _chunkS55JFWDAcjs.FREE_TRANSFORM_MODES; exports.FREE_TRANSFORM_MODE_OPTIONS = FREE_TRANSFORM_MODE_OPTIONS; exports.FreeTransformSession = FreeTransformSession; exports.FreeTransformTool = FreeTransformTool; exports.GAMMA = _chunkUC3PWFM3cjs.GAMMA; exports.GRAIN_PATTERNS = _chunkPQ3H2AANcjs.GRAIN_PATTERNS; exports.GRAIN_TILE = _chunkPQ3H2AANcjs.GRAIN_TILE; exports.GUIDED_FILTER_EPS = _chunkSS53NNZOcjs.GUIDED_FILTER_EPS; exports.GridGraph = _chunkUC3PWFM3cjs.GridGraph; exports.HIDE = _chunkXFYLA3ZOcjs.HIDE; exports.HISTOGRAM_BINS = HISTOGRAM_BINS; exports.HUE_RANGE_LABELS = _chunkS55JFWDAcjs.HUE_RANGE_LABELS; exports.HUE_RANGE_PRESETS = HUE_RANGE_PRESETS; exports.IDENTITY_CLONE_TRANSFORM = _chunkYF3YZZ6Gcjs.IDENTITY_CLONE_TRANSFORM; exports.IDENTITY_MATRIX3 = _chunkS55JFWDAcjs.IDENTITY_MATRIX3; exports.IMAGE_ADJUSTMENT_CONTROLS = IMAGE_ADJUSTMENT_CONTROLS; exports.IMAGE_CROP_PRESETS = IMAGE_CROP_PRESETS; exports.IMAGE_EDITOR_SCHEMA_VERSION = IMAGE_EDITOR_SCHEMA_VERSION; exports.IMAGE_EDITOR_STATE_VERSION = IMAGE_EDITOR_STATE_VERSION; exports.IMAGE_EFFECT_PLACES = IMAGE_EFFECT_PLACES; exports.IMAGE_FILTER_PRESETS = IMAGE_FILTER_PRESETS; exports.IMAGE_PLAYBACK_KIND = IMAGE_PLAYBACK_KIND; exports.IMAGE_TOOL_GROUPS = IMAGE_TOOL_GROUPS; exports.IMAGE_TOOL_SHORTCUTS = IMAGE_TOOL_SHORTCUTS; exports.INTENTS = _chunkBROJYMWUcjs.INTENTS; exports.INTENT_OPTIONS = INTENT_OPTIONS; exports.INTERPOLATIONS = _chunkB46UQUDCcjs.INTERPOLATIONS; exports.ImageEditorController = ImageEditorController; exports.ImageEditorRenderer = ImageEditorRenderer; exports.ImageEffectsEngine = ImageEffectsEngine; exports.LATEST_PROCESS_VERSION = _chunkS55JFWDAcjs.LATEST_PROCESS_VERSION; exports.LAYERED_SCHEMA_VERSION = _chunkS55JFWDAcjs.LAYERED_SCHEMA_VERSION; exports.LAYER_EFFECT_KINDS = _chunkB46UQUDCcjs.LAYER_EFFECT_KINDS; exports.LAYER_EFFECT_MENU = LAYER_EFFECT_MENU; exports.LEGACY_PROCESS_VERSION = _chunkS55JFWDAcjs.LEGACY_PROCESS_VERSION; exports.LIVE_SHAPE_KINDS = _chunkS55JFWDAcjs.LIVE_SHAPE_KINDS; exports.LUMA_709 = _chunkS55JFWDAcjs.LUMA_709; exports.LayerCompositor = _chunkS55JFWDAcjs.LayerCompositor; exports.LayerEffectError = _chunkB46UQUDCcjs.LayerEffectError; exports.LayerOperationError = _chunkS55JFWDAcjs.LayerOperationError; exports.MARCHING_ANTS_STEP_MS = MARCHING_ANTS_STEP_MS; exports.MASK_EDGE_THRESHOLDS = MASK_EDGE_THRESHOLDS; exports.MASK_FILE_ACCEPT = MASK_FILE_ACCEPT; exports.MAX_BATCH = _chunkXFYLA3ZOcjs.MAX_BATCH; exports.MAX_BRUSH_SIZE = _chunkPQ3H2AANcjs.MAX_BRUSH_SIZE; exports.MAX_CANVAS_BACKING_SIDE = MAX_CANVAS_BACKING_SIDE; exports.MAX_EFFECT_ANIMATION_MS = _chunkS55JFWDAcjs.MAX_EFFECT_ANIMATION_MS; exports.MAX_EFFECT_REACH = _chunkB46UQUDCcjs.MAX_EFFECT_REACH; exports.MAX_KELVIN = _chunkS55JFWDAcjs.MAX_KELVIN; exports.MAX_TILT_ACCEL = _chunkXFYLA3ZOcjs.MAX_TILT_ACCEL; exports.MAX_TRANSFORM_PIXELS = _chunkB46UQUDCcjs.MAX_TRANSFORM_PIXELS; exports.MAX_WET_LANES = _chunkXFYLA3ZOcjs.MAX_WET_LANES; exports.MAX_WET_SLOTS = _chunkXFYLA3ZOcjs.MAX_WET_SLOTS; exports.MIN_KELVIN = _chunkS55JFWDAcjs.MIN_KELVIN; exports.MIRED_PER_TEMPERATURE_UNIT = _chunkS55JFWDAcjs.MIRED_PER_TEMPERATURE_UNIT; exports.MIXER_DRAIN = _chunkPQ3H2AANcjs.MIXER_DRAIN; exports.MIXER_MIXING_OPTIONS = MIXER_MIXING_OPTIONS; exports.MIXER_OPTION_CONTROLS = MIXER_OPTION_CONTROLS; exports.MIXER_PICKUP_RATE = _chunkPQ3H2AANcjs.MIXER_PICKUP_RATE; exports.MIXING_MODELS = _chunkPQ3H2AANcjs.MIXING_MODELS; exports.MixerStroke = _chunkPQ3H2AANcjs.MixerStroke; exports.OPP = _chunkXFYLA3ZOcjs.OPP; exports.PAINTERLY_BLEND_MODES = _chunkOLNIPTB3cjs.PAINTERLY_BLEND_MODES; exports.PAINT_COLOR_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_COLOR_JSON_SCHEMA; exports.PAINT_GRADIENT_FULL_SPEED = _chunkPQ3H2AANcjs.PAINT_GRADIENT_FULL_SPEED; exports.PAINT_GRADIENT_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_GRADIENT_JSON_SCHEMA; exports.PAINT_GRADIENT_KIT = _chunkPQ3H2AANcjs.PAINT_GRADIENT_KIT; exports.PAINT_GRADIENT_MAPPINGS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_MAPPINGS; exports.PAINT_GRADIENT_MAPPING_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_MAPPING_LABELS; exports.PAINT_GRADIENT_PRESETS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_PRESETS; exports.PAINT_GRADIENT_REPEATS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_REPEATS; exports.PAINT_GRADIENT_REPEAT_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_REPEAT_LABELS; exports.PAINT_GRADIENT_SPACES = _chunkPQ3H2AANcjs.PAINT_GRADIENT_SPACES; exports.PAINT_GRADIENT_SPACE_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_SPACE_LABELS; exports.PAINT_SOURCE_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_SOURCE_JSON_SCHEMA; exports.PAINT_TOOLS = PAINT_TOOLS; exports.PAPER_CAPACITY = _chunkXFYLA3ZOcjs.PAPER_CAPACITY; exports.PARAGRAPH_STYLE_FIELDS = _chunkS55JFWDAcjs.PARAGRAPH_STYLE_FIELDS; exports.PARAM = _chunkXFYLA3ZOcjs.PARAM; exports.PARAM_FLOATS = _chunkXFYLA3ZOcjs.PARAM_FLOATS; exports.PASTE_MODES = PASTE_MODES; exports.PATH_EDIT_TOOLS = PATH_EDIT_TOOLS; exports.PATTERN_BLOCK_KEYS = _chunkS55JFWDAcjs.PATTERN_BLOCK_KEYS; exports.PIGMENT_BANDS = _chunkOLNIPTB3cjs.PIGMENT_BANDS; exports.PIGMENT_CHANNELS = _chunkXFYLA3ZOcjs.PIGMENT_CHANNELS; exports.PIGMENT_LAMBDA_MIN = _chunkOLNIPTB3cjs.PIGMENT_LAMBDA_MIN; exports.PIGMENT_LAMBDA_STEP = _chunkOLNIPTB3cjs.PIGMENT_LAMBDA_STEP; exports.PIGMENT_UNIT = _chunkXFYLA3ZOcjs.PIGMENT_UNIT; exports.PIGMENT_WAVELENGTHS = _chunkOLNIPTB3cjs.PIGMENT_WAVELENGTHS; exports.PLANE = _chunkXFYLA3ZOcjs.PLANE; exports.PLANE_BYTES = _chunkXFYLA3ZOcjs.PLANE_BYTES; exports.PREVIEW_SIZE = PREVIEW_SIZE; exports.PROOF_PROFILE_OPTIONS = PROOF_PROFILE_OPTIONS; exports.PSD_BLEND_KEYS = _chunkS55JFWDAcjs.PSD_BLEND_KEYS; exports.PSD_FILE_ACCEPT = PSD_FILE_ACCEPT; exports.P_D0 = _chunkXFYLA3ZOcjs.P_D0; exports.P_EDGE = _chunkXFYLA3ZOcjs.P_EDGE; exports.P_FX = _chunkXFYLA3ZOcjs.P_FX; exports.P_FY = _chunkXFYLA3ZOcjs.P_FY; exports.P_H = _chunkXFYLA3ZOcjs.P_H; exports.P_P0 = _chunkXFYLA3ZOcjs.P_P0; exports.P_RHO = _chunkXFYLA3ZOcjs.P_RHO; exports.P_SW = _chunkXFYLA3ZOcjs.P_SW; exports.P_UX = _chunkXFYLA3ZOcjs.P_UX; exports.P_UY = _chunkXFYLA3ZOcjs.P_UY; exports.PaintExchange = _chunkPQ3H2AANcjs.PaintExchange; exports.PaintGesture = PaintGesture; exports.PaintGradientSampler = _chunkPQ3H2AANcjs.PaintGradientSampler; exports.PaintSourceError = _chunkPQ3H2AANcjs.PaintSourceError; exports.PaintStrokeSession = PaintStrokeSession; exports.PaperGrain = _chunkPQ3H2AANcjs.PaperGrain; exports.PathEditGesture = PathEditGesture; exports.PatternPlacement = _chunkB46UQUDCcjs.PatternPlacement; exports.PatternTile = _chunkB46UQUDCcjs.PatternTile; exports.PsdError = _chunkS55JFWDAcjs.PsdError; exports.QUICK_MASK_TARGET = QUICK_MASK_TARGET; exports.REFINE_EDGE_CONTROLS = REFINE_EDGE_CONTROLS; exports.REFINE_EDIT_KINDS = _chunkUC3PWFM3cjs.REFINE_EDIT_KINDS; exports.REFINE_OUTPUTS = REFINE_OUTPUTS; exports.RETOUCH_CHOICES = RETOUCH_CHOICES; exports.RETOUCH_OPTION_CONTROLS = RETOUCH_OPTION_CONTROLS; exports.RETOUCH_SAMPLES = _chunkYF3YZZ6Gcjs.RETOUCH_SAMPLES; exports.RETOUCH_TOGGLES = RETOUCH_TOGGLES; exports.RETOUCH_TOOLS = RETOUCH_TOOLS; exports.RegionPixelSource = _chunkYF3YZZ6Gcjs.RegionPixelSource; exports.RetouchDabStroke = _chunkYF3YZZ6Gcjs.RetouchDabStroke; exports.SELECTION_MODES = _chunkSS53NNZOcjs.SELECTION_MODES; exports.SELECTION_MODE_LABELS = SELECTION_MODE_LABELS; exports.SELECTION_MODIFY_OPS = _chunkSS53NNZOcjs.SELECTION_MODIFY_OPS; exports.SELECTION_TOOLS = SELECTION_TOOLS; exports.SELECT_AND_MASK_TOOLS = SELECT_AND_MASK_TOOLS; exports.SELECT_AND_MASK_VIEWS = SELECT_AND_MASK_VIEWS; exports.SET_PLANES = _chunkXFYLA3ZOcjs.SET_PLANES; exports.SHADOW_AMBIENT = _chunkOLNIPTB3cjs.SHADOW_AMBIENT; exports.SHAPE_KIND_LABELS = SHAPE_KIND_LABELS; exports.SHAPE_OPERATIONS = _chunkS55JFWDAcjs.SHAPE_OPERATIONS; exports.SHAPE_RENDER_MARGIN = _chunkS55JFWDAcjs.SHAPE_RENDER_MARGIN; exports.SLOT_BYTES = _chunkXFYLA3ZOcjs.SLOT_BYTES; exports.SLOT_PLANES = _chunkXFYLA3ZOcjs.SLOT_PLANES; exports.SLOT_SIDE = _chunkXFYLA3ZOcjs.SLOT_SIDE; exports.SMART_RENDER_MARGIN = _chunkS55JFWDAcjs.SMART_RENDER_MARGIN; exports.SPOT_HEAL_TYPES = _chunkYF3YZZ6Gcjs.SPOT_HEAL_TYPES; exports.SRGB_TO_LINEAR = _chunkXFYLA3ZOcjs.SRGB_TO_LINEAR; exports.STRIP = _chunkXFYLA3ZOcjs.STRIP; exports.SUPPORTED_ADJUSTMENT_KEYS = _chunkS55JFWDAcjs.SUPPORTED_ADJUSTMENT_KEYS; exports.SelectAndMaskSession = SelectAndMaskSession; exports.SelectionGesture = SelectionGesture; exports.SelectionWorkerClient = _chunkUC3PWFM3cjs.SelectionWorkerClient; exports.ShapeDrawGesture = ShapeDrawGesture; exports.SmudgeTip = _chunkPQ3H2AANcjs.SmudgeTip; exports.StrokeCoverage = _chunkPQ3H2AANcjs.StrokeCoverage; exports.SurfaceDraft = _chunk474IQG74cjs.SurfaceDraft; exports.TEXT_ALIGNS = _chunkS55JFWDAcjs.TEXT_ALIGNS; exports.TEXT_ORIENTATIONS = _chunkS55JFWDAcjs.TEXT_ORIENTATIONS; exports.TEXT_RENDER_MARGIN = _chunkS55JFWDAcjs.TEXT_RENDER_MARGIN; exports.TEXT_STYLE_FIELDS = _chunkS55JFWDAcjs.TEXT_STYLE_FIELDS; exports.TILE = _chunk474IQG74cjs.TILE; exports.TILE_SHIFT = _chunk474IQG74cjs.TILE_SHIFT; exports.TINT_SCALE = _chunkS55JFWDAcjs.TINT_SCALE; exports.TIP_GRADIENT_STEPS = _chunkPQ3H2AANcjs.TIP_GRADIENT_STEPS; exports.TONE_LUT_SIZE = _chunkS55JFWDAcjs.TONE_LUT_SIZE; exports.TONE_RANGES = _chunkYF3YZZ6Gcjs.TONE_RANGES; exports.TONE_RANGE_PRESETS = TONE_RANGE_PRESETS; exports.TRANSFORM_ANCHORS = _chunkS55JFWDAcjs.TRANSFORM_ANCHORS; exports.TRANSFORM_ROTATE_HANDLE_OFFSET = TRANSFORM_ROTATE_HANDLE_OFFSET; exports.TextEditSession = TextEditSession; exports.TileMedium = _chunkPQ3H2AANcjs.TileMedium; exports.TilePixelSource = _chunkYF3YZZ6Gcjs.TilePixelSource; exports.TileableNoise = _chunkPQ3H2AANcjs.TileableNoise; exports.TiledSurface = _chunk474IQG74cjs.TiledSurface; exports.TransformTooLargeError = _chunkB46UQUDCcjs.TransformTooLargeError; exports.TransformedPixelSource = _chunkYF3YZZ6Gcjs.TransformedPixelSource; exports.TypeToolGesture = TypeToolGesture; exports.UNITS = _chunkUC3PWFM3cjs.UNITS; exports.U_MAX = _chunkXFYLA3ZOcjs.U_MAX; exports.VIBRANCE_GREY = _chunkS55JFWDAcjs.VIBRANCE_GREY; exports.W9 = _chunkXFYLA3ZOcjs.W9; exports.WARP_GRID_OPTIONS = WARP_GRID_OPTIONS; exports.WARP_STYLES = _chunkQAUIZPYIcjs.WARP_STYLES; exports.WARP_STYLE_LABELS = _chunkQAUIZPYIcjs.WARP_STYLE_LABELS; exports.WARP_STYLE_OPTIONS = WARP_STYLE_OPTIONS; exports.WET_FLOW_KINDS = _chunkXFYLA3ZOcjs.WET_FLOW_KINDS; exports.WET_PARAM_KEYS = _chunkXFYLA3ZOcjs.WET_PARAM_KEYS; exports.WET_TILE = _chunkXFYLA3ZOcjs.WET_TILE; exports.WGSL_HALO = _chunkXFYLA3ZOcjs.WGSL_HALO; exports.WGSL_SHADE = _chunkXFYLA3ZOcjs.WGSL_SHADE; exports.WGSL_STEP = _chunkXFYLA3ZOcjs.WGSL_STEP; exports.WORKING_SPACE_OPTIONS = WORKING_SPACE_OPTIONS; exports.WORK_PATH_NAME = WORK_PATH_NAME; exports.WORK_SIZE = _chunkUC3PWFM3cjs.WORK_SIZE; exports.WetGpuEngine = _chunkXFYLA3ZOcjs.WetGpuEngine; exports.WetMedium = _chunkXFYLA3ZOcjs.WetMedium; exports.WetWorkerPool = _chunkXFYLA3ZOcjs.WetWorkerPool; exports.WetWorld = _chunkXFYLA3ZOcjs.WetWorld; exports.WetWorldError = _chunkXFYLA3ZOcjs.WetWorldError; exports.XYZ_D50_TO_SRGB = _chunkS55JFWDAcjs.XYZ_D50_TO_SRGB; exports.ZlibError = _chunkXFM3OCHUcjs.ZlibError; exports.activeAdjustmentLayers = _chunkS55JFWDAcjs.activeAdjustmentLayers; exports.activeEffectSmartFilters = _chunkS55JFWDAcjs.activeEffectSmartFilters; exports.activeLayerAfterRemoval = _chunkS55JFWDAcjs.activeLayerAfterRemoval; exports.activeSmartFilters = _chunkS55JFWDAcjs.activeSmartFilters; exports.addLayerEffect = _chunkS55JFWDAcjs.addLayerEffect; exports.addLayerFilter = _chunkS55JFWDAcjs.addLayerFilter; exports.addLayerOfKind = addLayerOfKind; exports.addPaintGradientStop = _chunkPQ3H2AANcjs.addPaintGradientStop; exports.addSmartFilter = _chunkS55JFWDAcjs.addSmartFilter; exports.addToHistogram = addToHistogram; exports.adjustmentKindLabel = _chunkS55JFWDAcjs.adjustmentKindLabel; exports.adjustmentLayersKey = _chunkS55JFWDAcjs.adjustmentLayersKey; exports.adjustmentNodeAsLayer = _chunkS55JFWDAcjs.adjustmentNodeAsLayer; exports.adjustmentNodeFromLegacy = _chunkS55JFWDAcjs.adjustmentNodeFromLegacy; exports.adler32 = _chunkXFM3OCHUcjs.adler32; exports.agentDragDraft = agentDragDraft; exports.anchorPoint = _chunkS55JFWDAcjs.anchorPoint; exports.annotationBlend = _chunkS55JFWDAcjs.annotationBlend; exports.annotationLayerFor = _chunkS55JFWDAcjs.annotationLayerFor; exports.annotationLayerName = _chunkS55JFWDAcjs.annotationLayerName; exports.annotationOfLayer = _chunkS55JFWDAcjs.annotationOfLayer; exports.annotationOfShape = _chunkS55JFWDAcjs.annotationOfShape; exports.annotationOfType = _chunkS55JFWDAcjs.annotationOfType; exports.applyAdjustmentLayers = _chunkS55JFWDAcjs.applyAdjustmentLayers; exports.applyAdjustmentLayersFloat = _chunkS55JFWDAcjs.applyAdjustmentLayersFloat; exports.applyAdjustments = _chunkS55JFWDAcjs.applyAdjustments; exports.applyBoxBlur = _chunkS55JFWDAcjs.applyBoxBlur; exports.applyBoxBlurFloat = _chunkS55JFWDAcjs.applyBoxBlurFloat; exports.applyDepthMask = _chunkS55JFWDAcjs.applyDepthMask; exports.applyEdgeUnmix = _chunkS55JFWDAcjs.applyEdgeUnmix; exports.applyHomography = _chunkQT26RHKKcjs.applyHomography; exports.applyImageProjectionToContext = _chunkS55JFWDAcjs.applyImageProjectionToContext; exports.applyLegacyAdjustments = _chunkS55JFWDAcjs.applyLegacyAdjustments; exports.applyLegacyFloat = _chunkS55JFWDAcjs.applyLegacyFloat; exports.applyMatrix3 = _chunkS55JFWDAcjs.applyMatrix3; exports.applyOutputStage = applyOutputStage; exports.applyParams = _chunkS55JFWDAcjs.applyParams; exports.applyProcess2Adjustments = _chunkS55JFWDAcjs.applyProcess2Adjustments; exports.applyProcess2Float = _chunkS55JFWDAcjs.applyProcess2Float; exports.applyRefineEdits = _chunkUC3PWFM3cjs.applyRefineEdits; exports.applyRegionBlur = applyRegionBlur; exports.applyRegionMosaic = applyRegionMosaic; exports.applyRetouchToTile = _chunkYF3YZZ6Gcjs.applyRetouchToTile; exports.applyShapeOptions = applyShapeOptions; exports.applySmartFilters = _chunkS55JFWDAcjs.applySmartFilters; exports.applyStrokeToDeepTile = _chunkPQ3H2AANcjs.applyStrokeToDeepTile; exports.applyStrokeToTile = _chunkPQ3H2AANcjs.applyStrokeToTile; exports.applyToneToDeepTile = _chunkYF3YZZ6Gcjs.applyToneToDeepTile; exports.backgroundLayer = _chunkS55JFWDAcjs.backgroundLayer; exports.base64ToBytes = _chunkOLNIPTB3cjs.base64ToBytes; exports.baseProjection = baseProjection; exports.bestOffset = _chunkMQDIP4CFcjs.bestOffset; exports.blackWhiteGray = _chunkS55JFWDAcjs.blackWhiteGray; exports.blendChannel = _chunkOLNIPTB3cjs.blendChannel; exports.blendImageData = _chunkOLNIPTB3cjs.blendImageData; exports.blendLum = _chunkOLNIPTB3cjs.blendLum; exports.blendPixel = _chunkOLNIPTB3cjs.blendPixel; exports.blendRadius = _chunkPQ3H2AANcjs.blendRadius; exports.blendRgb = _chunkOLNIPTB3cjs.blendRgb; exports.blendTile = _chunkB46UQUDCcjs.blendTile; exports.blenderDab = _chunkPQ3H2AANcjs.blenderDab; exports.blurFilter = _chunkS55JFWDAcjs.blurFilter; exports.borderCoverage = _chunkSS53NNZOcjs.borderCoverage; exports.boxBlur = _chunkUC3PWFM3cjs.boxBlur; exports.boxBlurPixels = _chunkYF3YZZ6Gcjs.boxBlurPixels; exports.boxFrameHit = boxFrameHit; exports.boxFrameOverlay = boxFrameOverlay; exports.boxMean = _chunkSS53NNZOcjs.boxMean; exports.boxPointOf = _chunkS55JFWDAcjs.boxPointOf; exports.boxQuad = _chunkQT26RHKKcjs.boxQuad; exports.boxToCurvePoint = boxToCurvePoint; exports.bradfordAdaptation = _chunkS55JFWDAcjs.bradfordAdaptation; exports.brushStrokeMask = _chunkUC3PWFM3cjs.brushStrokeMask; exports.brushstrokeDataUrl = _chunkPQ3H2AANcjs.brushstrokeDataUrl; exports.brushstrokeKey = _chunkPQ3H2AANcjs.brushstrokeKey; exports.brushstrokeSamples = _chunkPQ3H2AANcjs.brushstrokeSamples; exports.brushstrokeScaleBucket = _chunkYQGCPL5Xcjs.brushstrokeScaleBucket; exports.brushstrokeStrokeOptions = _chunkPQ3H2AANcjs.brushstrokeStrokeOptions; exports.brushstrokeToCanvas = _chunkPQ3H2AANcjs.brushstrokeToCanvas; exports.buildLayerMaskPlanes = _chunkS55JFWDAcjs.buildLayerMaskPlanes; exports.buildToneLut = _chunkS55JFWDAcjs.buildToneLut; exports.builtinPattern = _chunkB46UQUDCcjs.builtinPattern; exports.builtinPatternIds = _chunkB46UQUDCcjs.builtinPatternIds; exports.bytesToBase64 = _chunkOLNIPTB3cjs.bytesToBase64; exports.calculateCropDrag = _chunkS55JFWDAcjs.calculateCropDrag; exports.canShareMemory = _chunkXFYLA3ZOcjs.canShareMemory; exports.canvasCompositeOperation = _chunkOLNIPTB3cjs.canvasCompositeOperation; exports.canvasToImagePoint = _chunkS55JFWDAcjs.canvasToImagePoint; exports.caretAt = _chunkQAUIZPYIcjs.caretAt; exports.changedTiles = _chunkB46UQUDCcjs.changedTiles; exports.channelThumbnail = channelThumbnail; exports.checkEffectAnimation = checkEffectAnimation; exports.checkEffectTime = checkEffectTime; exports.checkImageEffectPlace = checkImageEffectPlace; exports.clampControlValue = clampControlValue; exports.clampCropToImage = _chunkS55JFWDAcjs.clampCropToImage; exports.cleanMixer = _chunkPQ3H2AANcjs.cleanMixer; exports.cloneSamplePoint = _chunkYF3YZZ6Gcjs.cloneSamplePoint; exports.cloneSourceLabel = cloneSourceLabel; exports.cloneTransformView = cloneTransformView; exports.collectTiles = _chunk474IQG74cjs.collectTiles; exports.colorBalanceChannel = _chunkS55JFWDAcjs.colorBalanceChannel; exports.colorModePlanes = colorModePlanes; exports.colorModePlanes16 = colorModePlanes16; exports.colorPanelView = colorPanelView; exports.colorRange = colorRange; exports.colorRangePreset = colorRangePreset; exports.combineSelections = _chunkSS53NNZOcjs.combineSelections; exports.compareSelectionMasks = compareSelectionMasks; exports.compileAdjustmentLayer = _chunkS55JFWDAcjs.compileAdjustmentLayer; exports.componentPath = _chunkS55JFWDAcjs.componentPath; exports.componentsCoverage = _chunkS55JFWDAcjs.componentsCoverage; exports.compositeDeep = _chunkS55JFWDAcjs.compositeDeep; exports.compositeSurfaceOver = _chunkB46UQUDCcjs.compositeSurfaceOver; exports.computeHistogram = computeHistogram; exports.computeSelectionBounds = _chunkSS53NNZOcjs.computeSelectionBounds; exports.contentAwareFill = _chunkMQDIP4CFcjs.contentAwareFill; exports.contentBounds = _chunk474IQG74cjs.contentBounds; exports.contentsBox = _chunkS55JFWDAcjs.contentsBox; exports.contentsSurface = _chunkS55JFWDAcjs.contentsSurface; exports.contractCoverage = _chunkSS53NNZOcjs.contractCoverage; exports.controlPosition = controlPosition; exports.controlTrackBackground = controlTrackBackground; exports.convertColorFields = convertColorFields; exports.convertHex = convertHex; exports.convertSurfaceColors = convertSurfaceColors; exports.convertSurfaceDepth = _chunkOLNIPTB3cjs.convertSurfaceDepth; exports.convertToSmartObject = _chunkS55JFWDAcjs.convertToSmartObject; exports.copySmartObject = _chunkS55JFWDAcjs.copySmartObject; exports.cornersFromMatrix = _chunkS55JFWDAcjs.cornersFromMatrix; exports.coverageTileCoord = _chunkPQ3H2AANcjs.coverageTileCoord; exports.coverageToByte = _chunkSS53NNZOcjs.coverageToByte; exports.coveringRect = coveringRect; exports.createAdjustmentLayer = _chunkS55JFWDAcjs.createAdjustmentLayer; exports.createBlenderScratch = _chunkPQ3H2AANcjs.createBlenderScratch; exports.createCanvasTextShaper = _chunkQAUIZPYIcjs.createCanvasTextShaper; exports.createGradientSampler = createGradientSampler; exports.createImageCaptureSurface = createImageCaptureSurface; exports.createImageColorTools = createImageColorTools; exports.createImageEditTools = createImageEditTools; exports.createImageEditorDocument = createImageEditorDocument; exports.createImageEditorToolProvider = createImageEditorToolProvider; exports.createImageEffectTools = createImageEffectTools; exports.createImageEffectsToolProvider = createImageEffectsToolProvider; exports.createImageLayerTools = createImageLayerTools; exports.createImagePaintTools = createImagePaintTools; exports.createImagePlaybackLocator = createImagePlaybackLocator; exports.createImagePsdTools = createImagePsdTools; exports.createImageRetouchTools = createImageRetouchTools; exports.createImageSegmentationToolProvider = createImageSegmentationToolProvider; exports.createImageSelectionTools = createImageSelectionTools; exports.createImageShapeTools = createImageShapeTools; exports.createImageSmartObjectTools = createImageSmartObjectTools; exports.createImageSubjectSelectionTool = createImageSubjectSelectionTool; exports.createImageTransformTools = createImageTransformTools; exports.createImageTypeTools = createImageTypeTools; exports.createMetricTextShaper = _chunkQAUIZPYIcjs.createMetricTextShaper; exports.createOutlineTextShaper = _chunkQAUIZPYIcjs.createOutlineTextShaper; exports.createPigment = _chunkOLNIPTB3cjs.createPigment; exports.createPigmentTools = _chunkXFYLA3ZOcjs.createPigmentTools; exports.createSelectionMask = _chunkSS53NNZOcjs.createSelectionMask; exports.createShapeLayer = _chunkS55JFWDAcjs.createShapeLayer; exports.createTypeLayer = _chunkS55JFWDAcjs.createTypeLayer; exports.createWetGpuEngine = _chunkXFYLA3ZOcjs.createWetGpuEngine; exports.cssFont = _chunkQAUIZPYIcjs.cssFont; exports.cssFontFamily = _chunkQAUIZPYIcjs.cssFontFamily; exports.curveLut = _chunkB46UQUDCcjs.curveLut; exports.curveLutFromLevels = _chunkS55JFWDAcjs.curveLutFromLevels; exports.curvePointToBox = curvePointToBox; exports.curveSvgPath = curveSvgPath; exports.dabCoverage = _chunkPQ3H2AANcjs.dabCoverage; exports.dabRect = _chunkPQ3H2AANcjs.dabRect; exports.decodeDeepSurface = _chunkS55JFWDAcjs.decodeDeepSurface; exports.decodeLayerChannel = _chunkS55JFWDAcjs.decodeLayerChannel; exports.decodeLayerMask = _chunkS55JFWDAcjs.decodeLayerMask; exports.decodeMergedImage = _chunkS55JFWDAcjs.decodeMergedImage; exports.decodePlanes = _chunkS55JFWDAcjs.decodePlanes; exports.decodePng = _chunkOLNIPTB3cjs.decodePng; exports.decodePngDataUrl = _chunkS55JFWDAcjs.decodePngDataUrl; exports.decodeSelectionRle = _chunkSS53NNZOcjs.decodeSelectionRle; exports.decontaminateColors = _chunkSS53NNZOcjs.decontaminateColors; exports.deepBytes = _chunkOLNIPTB3cjs.deepBytes; exports.deepTile = _chunkOLNIPTB3cjs.deepTile; exports.defaultActiveLayerId = _chunkS55JFWDAcjs.defaultActiveLayerId; exports.defaultAdjustmentParams = _chunkS55JFWDAcjs.defaultAdjustmentParams; exports.defaultEffectGradient = _chunkB46UQUDCcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkB46UQUDCcjs.defaultLayerEffect; exports.defaultShapeName = _chunkS55JFWDAcjs.defaultShapeName; exports.deflate = _chunkXFM3OCHUcjs.deflate; exports.deflateRaw = _chunkXFM3OCHUcjs.deflateRaw; exports.depthMaskAlpha = _chunkS55JFWDAcjs.depthMaskAlpha; exports.depthOf = _chunkOLNIPTB3cjs.depthOf; exports.depthRasterMask = _chunkS55JFWDAcjs.depthRasterMask; exports.describeChannel = describeChannel; exports.describeLayer = describeLayer; exports.describeLayerEffects = describeLayerEffects; exports.describeSelection = describeSelection; exports.describeTransform = _chunkS55JFWDAcjs.describeTransform; exports.deserializeChannels = deserializeChannels; exports.deserializeColorMode = deserializeColorMode; exports.deserializeColorProfile = deserializeColorProfile; exports.deserializeEffects = _chunkS55JFWDAcjs.deserializeEffects; exports.deserializeLayer = _chunkS55JFWDAcjs.deserializeLayer; exports.deserializeLayers = _chunkS55JFWDAcjs.deserializeLayers; exports.deserializeMask = _chunkUC3PWFM3cjs.deserializeMask; exports.deserializePatterns = _chunkS55JFWDAcjs.deserializePatterns; exports.deserializeSelection = _chunkSS53NNZOcjs.deserializeSelection; exports.despillEdge = _chunkS55JFWDAcjs.despillEdge; exports.developFilter = _chunkS55JFWDAcjs.developFilter; exports.developFromAdjustments = _chunkS55JFWDAcjs.developFromAdjustments; exports.developTarget = _chunkS55JFWDAcjs.developTarget; exports.dexp = _chunkXFYLA3ZOcjs.dexp; exports.dilateMask = _chunkMQDIP4CFcjs.dilateMask; exports.displayTransform = displayTransform; exports.distanceTransform = _chunkSS53NNZOcjs.distanceTransform; exports.dlog = _chunkXFYLA3ZOcjs.dlog; exports.documentContents = _chunkS55JFWDAcjs.documentContents; exports.documentProfile = documentProfile; exports.dodgeBurn = _chunkYF3YZZ6Gcjs.dodgeBurn; exports.dodgeBurnCurve = _chunkYF3YZZ6Gcjs.dodgeBurnCurve; exports.downloadMaskImage = downloadMaskImage; exports.downloadPsd = downloadPsd; exports.dpow = _chunkXFYLA3ZOcjs.dpow; exports.dragWarpMeshPoint = _chunkQAUIZPYIcjs.dragWarpMeshPoint; exports.dropPlacement = dropPlacement; exports.dropZone = dropZone; exports.dsincos = _chunkXFYLA3ZOcjs.dsincos; exports.duplicateLayer = _chunkS55JFWDAcjs.duplicateLayer; exports.edgeBits = _chunkXFYLA3ZOcjs.edgeBits; exports.edgeWidth = _chunkSS53NNZOcjs.edgeWidth; exports.effectColorHex = _chunkB46UQUDCcjs.effectColorHex; exports.effectControlChange = effectControlChange; exports.effectLayerTiming = effectLayerTiming; exports.effectPixelsToSurface = effectPixelsToSurface; exports.effectReach = _chunkB46UQUDCcjs.effectReach; exports.effectiveLayerMask = _chunkS55JFWDAcjs.effectiveLayerMask; exports.effectiveProof = effectiveProof; exports.effectsFingerprint = _chunkB46UQUDCcjs.effectsFingerprint; exports.effectsMargin = _chunkB46UQUDCcjs.effectsMargin; exports.effectsScale = _chunkB46UQUDCcjs.effectsScale; exports.ellipsePoints = _chunkUC3PWFM3cjs.ellipsePoints; exports.ellipseSelection = _chunkUC3PWFM3cjs.ellipseSelection; exports.emptyHistogram = emptyHistogram; exports.emptySurface = _chunk474IQG74cjs.emptySurface; exports.encodeDeepSurface = _chunkS55JFWDAcjs.encodeDeepSurface; exports.encodePng = _chunkOLNIPTB3cjs.encodePng; exports.encodeRle = _chunkS55JFWDAcjs.encodeRle; exports.encodeSelectionRle = _chunkSS53NNZOcjs.encodeSelectionRle; exports.encodeSurface = _chunkS55JFWDAcjs.encodeSurface; exports.evalWarpMesh = _chunkQAUIZPYIcjs.evalWarpMesh; exports.evaluateAdjustmentLayers = _chunkS55JFWDAcjs.evaluateAdjustmentLayers; exports.exchangeRates = _chunkPQ3H2AANcjs.exchangeRates; exports.expNeg = _chunkXFYLA3ZOcjs.expNeg; exports.expandCoverage = _chunkSS53NNZOcjs.expandCoverage; exports.exportPsd = _chunkS55JFWDAcjs.exportPsd; exports.extractNormalizedLayerItems = extractNormalizedLayerItems; exports.featherCoverage = _chunkSS53NNZOcjs.featherCoverage; exports.fillRect = _chunk474IQG74cjs.fillRect; exports.filmPixel = _chunkXFYLA3ZOcjs.filmPixel; exports.filmReflectance = _chunkXFYLA3ZOcjs.filmReflectance; exports.filterMaskCoverage = _chunkS55JFWDAcjs.filterMaskCoverage; exports.findAdjustmentControl = findAdjustmentControl; exports.findLayer = _chunkB46UQUDCcjs.findLayer; exports.findLayerControl = findLayerControl; exports.findSky = _chunkUC3PWFM3cjs.findSky; exports.findSubject = _chunkUC3PWFM3cjs.findSubject; exports.findWebGpu = _chunkXFYLA3ZOcjs.findWebGpu; exports.finishTile = _chunk474IQG74cjs.finishTile; exports.fitParagraphRuns = _chunkQAUIZPYIcjs.fitParagraphRuns; exports.fitRuns = _chunkQAUIZPYIcjs.fitRuns; exports.flattenLayers = _chunkB46UQUDCcjs.flattenLayers; exports.flattenPath = _chunkS55JFWDAcjs.flattenPath; exports.flipCorners = _chunkS55JFWDAcjs.flipCorners; exports.flowField = _chunkXFYLA3ZOcjs.flowField; exports.focusArea = _chunkUC3PWFM3cjs.focusArea; exports.followLayerMove = _chunkS55JFWDAcjs.followLayerMove; exports.fontOf = _chunkQAUIZPYIcjs.fontOf; exports.forgetSelectAndMaskSettings = forgetSelectAndMaskSettings; exports.formatControlValue = formatControlValue; exports.fullSelection = _chunkSS53NNZOcjs.fullSelection; exports.gaussianBlur = _chunkK6PXS6DOcjs.gaussianBlur; exports.geometryHomography = _chunkS55JFWDAcjs.geometryHomography; exports.getAnnotationBounds = _chunkS55JFWDAcjs.getAnnotationBounds; exports.getControlPath = getControlPath; exports.getCropCursor = _chunkS55JFWDAcjs.getCropCursor; exports.getRotatedSize = _chunkS55JFWDAcjs.getRotatedSize; exports.getViewportMetrics = _chunkS55JFWDAcjs.getViewportMetrics; exports.getViewportProjection = _chunkS55JFWDAcjs.getViewportProjection; exports.globalImageCache = globalImageCache; exports.grabCutLabels = _chunkUC3PWFM3cjs.grabCutLabels; exports.gradientDabColor = _chunkPQ3H2AANcjs.gradientDabColor; exports.grainCatch = _chunkPQ3H2AANcjs.grainCatch; exports.grainHeights = _chunkPQ3H2AANcjs.grainHeights; exports.greyMorphology = _chunkSS53NNZOcjs.greyMorphology; exports.groupLayers = _chunkS55JFWDAcjs.groupLayers; exports.growSelection = growSelection; exports.guidePlanes = _chunkSS53NNZOcjs.guidePlanes; exports.guidedFilterColor = _chunkSS53NNZOcjs.guidedFilterColor; exports.handleMaskViewKey = handleMaskViewKey; exports.handlePaintShortcut = handlePaintShortcut; exports.handleQuickMaskKey = handleQuickMaskKey; exports.handleSelectionShortcut = handleSelectionShortcut; exports.hasActiveEffects = _chunkB46UQUDCcjs.hasActiveEffects; exports.hasEdgeUnmix = _chunkS55JFWDAcjs.hasEdgeUnmix; exports.hasLayersBelow = hasLayersBelow; exports.hasResampledLegacyMask = _chunkS55JFWDAcjs.hasResampledLegacyMask; exports.hasSoftBand = _chunkS55JFWDAcjs.hasSoftBand; exports.hasSurface = _chunkS55JFWDAcjs.hasSurface; exports.hasWarp = _chunkS55JFWDAcjs.hasWarp; exports.hash2 = _chunkPQ3H2AANcjs.hash2; exports.hashMaskContent = _chunkSS53NNZOcjs.hashMaskContent; exports.hashNoise = _chunkB46UQUDCcjs.hashNoise; exports.healPixels = _chunkYF3YZZ6Gcjs.healPixels; exports.hexToPaintRgb = _chunkPQ3H2AANcjs.hexToPaintRgb; exports.hexToRgb = _chunkS55JFWDAcjs.hexToRgb; exports.histogramPath = histogramPath; exports.hitTestAnnotation = _chunkS55JFWDAcjs.hitTestAnnotation; exports.hitTestCrop = _chunkS55JFWDAcjs.hitTestCrop; exports.hitTestCurvePoint = hitTestCurvePoint; exports.homographyFromAffine = _chunkQT26RHKKcjs.homographyFromAffine; exports.homographyFromPoints = _chunkQT26RHKKcjs.homographyFromPoints; exports.hslToRgb = _chunkS55JFWDAcjs.hslToRgb; exports.hueRange = hueRange; exports.hueRangeTables = _chunkS55JFWDAcjs.hueRangeTables; exports.hueRangeWeight = _chunkS55JFWDAcjs.hueRangeWeight; exports.hueSaturation = _chunkS55JFWDAcjs.hueSaturation; exports.identityCurve = _chunkS55JFWDAcjs.identityCurve; exports.identityLevels = _chunkS55JFWDAcjs.identityLevels; exports.identityTransform = _chunkS55JFWDAcjs.identityTransform; exports.identityWarpMesh = _chunkQAUIZPYIcjs.identityWarpMesh; exports.imageEditorStateMigrations = imageEditorStateMigrations; exports.imageLayerAppliedEffects = imageLayerAppliedEffects; exports.imagePanelTool = imagePanelTool; exports.imagePlaybackPanel = imagePlaybackPanel; exports.imageToCanvasPoint = _chunkS55JFWDAcjs.imageToCanvasPoint; exports.imageToolCanvasMode = imageToolCanvasMode; exports.imageToolForShortcut = imageToolForShortcut; exports.imageToolGroup = imageToolGroup; exports.imageToolLabel = imageToolLabel; exports.imageToolPanel = imageToolPanel; exports.importPsd = _chunkS55JFWDAcjs.importPsd; exports.inflate = _chunkXFM3OCHUcjs.inflate; exports.inflateRaw = _chunkXFM3OCHUcjs.inflateRaw; exports.insertCurvePoint = insertCurvePoint; exports.insertLayer = _chunkB46UQUDCcjs.insertLayer; exports.inspectMaskEdge = inspectMaskEdge; exports.instancesOf = _chunkS55JFWDAcjs.instancesOf; exports.invertHomography = _chunkQT26RHKKcjs.invertHomography; exports.invertMatrix3 = _chunkS55JFWDAcjs.invertMatrix3; exports.invertSelection = _chunkSS53NNZOcjs.invertSelection; exports.isActiveFilter = _chunkS55JFWDAcjs.isActiveFilter; exports.isActiveVectorMask = _chunkS55JFWDAcjs.isActiveVectorMask; exports.isAdjustmentKind = _chunkS55JFWDAcjs.isAdjustmentKind; exports.isBitDepth = _chunkOLNIPTB3cjs.isBitDepth; exports.isBlendMode = _chunkOLNIPTB3cjs.isBlendMode; exports.isBrushstrokeBrush = _chunkPQ3H2AANcjs.isBrushstrokeBrush; exports.isColorRangePreset = isColorRangePreset; exports.isContentsDecoded = _chunkS55JFWDAcjs.isContentsDecoded; exports.isDefaultDepthMask = _chunkS55JFWDAcjs.isDefaultDepthMask; exports.isGradientPaint = _chunkPQ3H2AANcjs.isGradientPaint; exports.isIdentityCloneTransform = _chunkYF3YZZ6Gcjs.isIdentityCloneTransform; exports.isIdentityTransform = _chunkS55JFWDAcjs.isIdentityTransform; exports.isInterpolation = _chunkB46UQUDCcjs.isInterpolation; exports.isLayerEffectKind = _chunkB46UQUDCcjs.isLayerEffectKind; exports.isLayerLocked = _chunkB46UQUDCcjs.isLayerLocked; exports.isLegacyShape = _chunkS55JFWDAcjs.isLegacyShape; exports.isPaintTool = isPaintTool; exports.isPaintableLayer = _chunkS55JFWDAcjs.isPaintableLayer; exports.isPainterlyBlendMode = _chunkOLNIPTB3cjs.isPainterlyBlendMode; exports.isPathEditTool = isPathEditTool; exports.isPng = _chunkOLNIPTB3cjs.isPng; exports.isQuarterTurn = isQuarterTurn; exports.isQuarterTurnSwapped = _chunkS55JFWDAcjs.isQuarterTurnSwapped; exports.isRenderedLayer = _chunkS55JFWDAcjs.isRenderedLayer; exports.isRetouchPaintTool = isRetouchPaintTool; exports.isRetouchTool = isRetouchTool; exports.isSelectionEmpty = _chunkSS53NNZOcjs.isSelectionEmpty; exports.isSelectionMode = _chunkSS53NNZOcjs.isSelectionMode; exports.isSeparableBlendMode = _chunkOLNIPTB3cjs.isSeparableBlendMode; exports.isSmartSurfaceIncomplete = _chunkS55JFWDAcjs.isSmartSurfaceIncomplete; exports.isSpatialFilter = _chunkS55JFWDAcjs.isSpatialFilter; exports.isSrgb = isSrgb; exports.isTransformAnchor = _chunkS55JFWDAcjs.isTransformAnchor; exports.isValidWarp = _chunkS55JFWDAcjs.isValidWarp; exports.keepDeepSamples = _chunkOLNIPTB3cjs.keepDeepSamples; exports.keepMainPieces = _chunkUC3PWFM3cjs.keepMainPieces; exports.kelvinToTemperature = _chunkS55JFWDAcjs.kelvinToTemperature; exports.keysWeight = _chunkB46UQUDCcjs.keysWeight; exports.latticeViscosity = _chunkXFYLA3ZOcjs.latticeViscosity; exports.layerBadge = layerBadge; exports.layerEffectControls = layerEffectControls; exports.layerEffectFields = _chunkB46UQUDCcjs.layerEffectFields; exports.layerEffectLabel = _chunkB46UQUDCcjs.layerEffectLabel; exports.layerEffectsBadge = layerEffectsBadge; exports.layerEffectsOf = _chunkS55JFWDAcjs.layerEffectsOf; exports.layerEffectsPanel = layerEffectsPanel; exports.layerHasThumbnail = layerHasThumbnail; exports.layerLabel = layerLabel; exports.layerMaskCoverage = _chunkS55JFWDAcjs.layerMaskCoverage; exports.layerMaskFromSelection = _chunkS55JFWDAcjs.layerMaskFromSelection; exports.layerMaskKey = _chunkS55JFWDAcjs.layerMaskKey; exports.layerMaskSelection = _chunkS55JFWDAcjs.layerMaskSelection; exports.layerMenu = layerMenu; exports.layerName = _chunkS55JFWDAcjs.layerName; exports.layerPanelRows = layerPanelRows; exports.layerPanels = layerPanels; exports.layerThumbnailClick = layerThumbnailClick; exports.layerTree = _chunkS55JFWDAcjs.layerTree; exports.layerTypeLabel = _chunkS55JFWDAcjs.layerTypeLabel; exports.layerWarning = layerWarning; exports.layersFromLegacy = _chunkS55JFWDAcjs.layersFromLegacy; exports.layoutText = _chunkQAUIZPYIcjs.layoutText; exports.legacyAdjustmentLayer = _chunkS55JFWDAcjs.legacyAdjustmentLayer; exports.legacyMaskOf = _chunkS55JFWDAcjs.legacyMaskOf; exports.legacyView = _chunkS55JFWDAcjs.legacyView; exports.lerpPigment = _chunkOLNIPTB3cjs.lerpPigment; exports.lerpPigmentInto = _chunkOLNIPTB3cjs.lerpPigmentInto; exports.levelsValue = _chunkS55JFWDAcjs.levelsValue; exports.linearSrgbToXy = _chunkS55JFWDAcjs.linearSrgbToXy; exports.linearToSrgb = _chunkS55JFWDAcjs.linearToSrgb; exports.linearToSrgb8 = _chunkXFYLA3ZOcjs.linearToSrgb8; exports.liveComponent = _chunkS55JFWDAcjs.liveComponent; exports.liveShapeForDrag = liveShapeForDrag; exports.liveShapeSubpaths = _chunkS55JFWDAcjs.liveShapeSubpaths; exports.liveWire = liveWire; exports.loadImageEditorDocument = loadImageEditorDocument; exports.loadMixer = _chunkPQ3H2AANcjs.loadMixer; exports.loadOpenTypeFont = _chunkLCCMOWR7cjs.loadOpenTypeFont; exports.loadWetKernel = _chunkXFYLA3ZOcjs.loadWetKernel; exports.luma = _chunkYF3YZZ6Gcjs.luma; exports.magicWand = magicWand; exports.magneticAnchorSpacing = magneticAnchorSpacing; exports.mapCropHandle = _chunkS55JFWDAcjs.mapCropHandle; exports.mapLayer = _chunkB46UQUDCcjs.mapLayer; exports.mapSubpaths = _chunkS55JFWDAcjs.mapSubpaths; exports.maskBounds = _chunkMQDIP4CFcjs.maskBounds; exports.maskCoverageOverCanvas = _chunkS55JFWDAcjs.maskCoverageOverCanvas; exports.maskFileName = maskFileName; exports.maskNameFromFile = maskNameFromFile; exports.maskSummary = maskSummary; exports.maskThumbnailClick = maskThumbnailClick; exports.matrixFromCorners = _chunkS55JFWDAcjs.matrixFromCorners; exports.matrixFromParams = _chunkS55JFWDAcjs.matrixFromParams; exports.measureCanvasViewport = measureCanvasViewport; exports.membraneFill = _chunkMQDIP4CFcjs.membraneFill; exports.mergeLayerEffect = _chunkB46UQUDCcjs.mergeLayerEffect; exports.mergeShapeComponents = _chunkS55JFWDAcjs.mergeShapeComponents; exports.migrateSerializedImageEditorState = migrateSerializedImageEditorState; exports.migrateToLayeredState = migrateToLayeredState; exports.mix32 = _chunkPQ3H2AANcjs.mix32; exports.mixPigment8 = _chunkOLNIPTB3cjs.mixPigment8; exports.mixPigmentRgb = _chunkOLNIPTB3cjs.mixPigmentRgb; exports.mixPigments = _chunkOLNIPTB3cjs.mixPigments; exports.mixerLoadResult = mixerLoadResult; exports.mixerRates = _chunkPQ3H2AANcjs.mixerRates; exports.modifySelection = _chunkSS53NNZOcjs.modifySelection; exports.moveCurvePoint = moveCurvePoint; exports.moveLayer = _chunkS55JFWDAcjs.moveLayer; exports.moveSmartFilter = _chunkS55JFWDAcjs.moveSmartFilter; exports.moveWetSnapshot = _chunkXFYLA3ZOcjs.moveWetSnapshot; exports.mulMatrix3 = _chunkS55JFWDAcjs.mulMatrix3; exports.needsLegacyBase = needsLegacyBase; exports.neutralHueRange = _chunkS55JFWDAcjs.neutralHueRange; exports.newContentsId = _chunkS55JFWDAcjs.newContentsId; exports.newEffectId = _chunkB46UQUDCcjs.newEffectId; exports.newLayerId = _chunkS55JFWDAcjs.newLayerId; exports.newLayerOptions = newLayerOptions; exports.newPathId = newPathId; exports.normalizeAdjustmentLayer = _chunkS55JFWDAcjs.normalizeAdjustmentLayer; exports.normalizeAdjustmentLayers = _chunkS55JFWDAcjs.normalizeAdjustmentLayers; exports.normalizeAngle = _chunkS55JFWDAcjs.normalizeAngle; exports.normalizeBlendMode = _chunkOLNIPTB3cjs.normalizeBlendMode; exports.normalizeBlender = _chunkPQ3H2AANcjs.normalizeBlender; exports.normalizeBrush = _chunkPQ3H2AANcjs.normalizeBrush; exports.normalizeFilter = _chunkS55JFWDAcjs.normalizeFilter; exports.normalizeFlow = _chunkXFYLA3ZOcjs.normalizeFlow; exports.normalizeHexColor = _chunkPQ3H2AANcjs.normalizeHexColor; exports.normalizeLayerEffects = _chunkB46UQUDCcjs.normalizeLayerEffects; exports.normalizeLayerMask = _chunkS55JFWDAcjs.normalizeLayerMask; exports.normalizeLiveShape = _chunkS55JFWDAcjs.normalizeLiveShape; exports.normalizeMixer = _chunkPQ3H2AANcjs.normalizeMixer; exports.normalizePlacement = _chunkS55JFWDAcjs.normalizePlacement; exports.normalizeProcessVersion = _chunkS55JFWDAcjs.normalizeProcessVersion; exports.normalizeRect = _chunkUC3PWFM3cjs.normalizeRect; exports.normalizeRefineEdgeParams = _chunkSS53NNZOcjs.normalizeRefineEdgeParams; exports.normalizeRetouch = _chunkYF3YZZ6Gcjs.normalizeRetouch; exports.normalizeShapePaint = _chunkS55JFWDAcjs.normalizeShapePaint; exports.normalizeShapeStroke = _chunkS55JFWDAcjs.normalizeShapeStroke; exports.normalizeSmartFilter = _chunkS55JFWDAcjs.normalizeSmartFilter; exports.normalizeSmudge = _chunkPQ3H2AANcjs.normalizeSmudge; exports.normalizeStoredAdjustments = normalizeStoredAdjustments; exports.normalizeSubpaths = _chunkS55JFWDAcjs.normalizeSubpaths; exports.normalizeText = _chunkS55JFWDAcjs.normalizeText; exports.normalizeTilt = _chunkXFYLA3ZOcjs.normalizeTilt; exports.normalizeWetParams = _chunkXFYLA3ZOcjs.normalizeWetParams; exports.offsetLayer = _chunkS55JFWDAcjs.offsetLayer; exports.offsetShape = _chunkS55JFWDAcjs.offsetShape; exports.offsetSmartObject = _chunkS55JFWDAcjs.offsetSmartObject; exports.offsetVectorMask = _chunkS55JFWDAcjs.offsetVectorMask; exports.openMaskFile = openMaskFile; exports.openPsdFile = openPsdFile; exports.otsuThreshold = _chunkUC3PWFM3cjs.otsuThreshold; exports.packRgba = _chunk474IQG74cjs.packRgba; exports.packWetParams = _chunkXFYLA3ZOcjs.packWetParams; exports.paintGradientMappingFor = _chunkPQ3H2AANcjs.paintGradientMappingFor; exports.paintPathStroke = _chunkPQ3H2AANcjs.paintPathStroke; exports.paintSourceColor = _chunkPQ3H2AANcjs.paintSourceColor; exports.paintSourceCss = _chunkPQ3H2AANcjs.paintSourceCss; exports.paragraphRanges = _chunkQAUIZPYIcjs.paragraphRanges; exports.parseAdjustmentBlock = _chunkS55JFWDAcjs.parseAdjustmentBlock; exports.parseBlend = _chunkS55JFWDAcjs.parseBlend; exports.parseColor = parseColor; exports.parseCssColor = _chunkA2IS7EHEcjs.parseCssColor; exports.parseDataUrl = _chunkOLNIPTB3cjs.parseDataUrl; exports.parseEffectColor = _chunkB46UQUDCcjs.parseEffectColor; exports.parseLfx2 = _chunkS55JFWDAcjs.parseLfx2; exports.parseLrfx = _chunkS55JFWDAcjs.parseLrfx; exports.parseOpenTypeFont = _chunkLCCMOWR7cjs.parseOpenTypeFont; exports.parsePaintSource = _chunkPQ3H2AANcjs.parsePaintSource; exports.parsePatternBlock = _chunkS55JFWDAcjs.parsePatternBlock; exports.parseSelectionMode = _chunkSS53NNZOcjs.parseSelectionMode; exports.parseVersionedDescriptor = _chunkS55JFWDAcjs.parseVersionedDescriptor; exports.patchParagraphStyle = _chunkS55JFWDAcjs.patchParagraphStyle; exports.patchTextStyle = _chunkS55JFWDAcjs.patchTextStyle; exports.pathAnchorCount = pathAnchorCount; exports.pathBounds = pathBounds; exports.pathStrokeCoverage = _chunkPQ3H2AANcjs.pathStrokeCoverage; exports.pathStrokeDabs = _chunkPQ3H2AANcjs.pathStrokeDabs; exports.pathSvgData = pathSvgData; exports.pathToSelection = pathToSelection; exports.perDabStrength = _chunkYF3YZZ6Gcjs.perDabStrength; exports.photoFilterMatrix = _chunkS55JFWDAcjs.photoFilterMatrix; exports.pigment8 = _chunkOLNIPTB3cjs.pigment8; exports.pigmentColor = _chunkXFYLA3ZOcjs.pigmentColor; exports.pigmentOf = _chunkXFYLA3ZOcjs.pigmentOf; exports.pixelLayerBounds = _chunkS55JFWDAcjs.pixelLayerBounds; exports.pixelLayers = _chunkS55JFWDAcjs.pixelLayers; exports.pixelPigment = _chunkXFYLA3ZOcjs.pixelPigment; exports.placeContents = _chunkS55JFWDAcjs.placeContents; exports.placeLayer = _chunkS55JFWDAcjs.placeLayer; exports.placementAt = _chunkS55JFWDAcjs.placementAt; exports.placementBounds = _chunkS55JFWDAcjs.placementBounds; exports.placementGeometry = _chunkS55JFWDAcjs.placementGeometry; exports.planImageToolPlayback = planImageToolPlayback; exports.planOutlineTrace = planOutlineTrace; exports.pngDataUrl = _chunkOLNIPTB3cjs.pngDataUrl; exports.pointerPressure = _chunkXFYLA3ZOcjs.pointerPressure; exports.pointerStrokeSample = _chunkXFYLA3ZOcjs.pointerStrokeSample; exports.pointerStrokeSamples = _chunkXFYLA3ZOcjs.pointerStrokeSamples; exports.polygonCoverage = _chunkUC3PWFM3cjs.polygonCoverage; exports.polygonCoverageBox = _chunkUC3PWFM3cjs.polygonCoverageBox; exports.polygonSelection = _chunkUC3PWFM3cjs.polygonSelection; exports.posterizeValue = _chunkS55JFWDAcjs.posterizeValue; exports.presetWarp = _chunkS55JFWDAcjs.presetWarp; exports.previewStep = previewStep; exports.profileBytes = profileBytes; exports.projectImagePoint = _chunkS55JFWDAcjs.projectImagePoint; exports.projectImageRect = _chunkS55JFWDAcjs.projectImageRect; exports.projectMaskCoverage = _chunkS55JFWDAcjs.projectMaskCoverage; exports.projectQuarterTurn = projectQuarterTurn; exports.proxyOf = _chunkOLNIPTB3cjs.proxyOf; exports.psdBytesFromBase64 = psdBytesFromBase64; exports.psdFileName = psdFileName; exports.psdPatternToEffectPattern = _chunkS55JFWDAcjs.psdPatternToEffectPattern; exports.psdToLayers = _chunkS55JFWDAcjs.psdToLayers; exports.pullWarpMesh = _chunkQAUIZPYIcjs.pullWarpMesh; exports.put255 = _chunkPQ3H2AANcjs.put255; exports.quadFrameOverlay = quadFrameOverlay; exports.quickMaskPixels = quickMaskPixels; exports.quickSelectStroke = _chunkUC3PWFM3cjs.quickSelectStroke; exports.rand01 = _chunkPQ3H2AANcjs.rand01; exports.randSigned = _chunkPQ3H2AANcjs.randSigned; exports.rangeLightness = _chunkS55JFWDAcjs.rangeLightness; exports.rasterContents = _chunkS55JFWDAcjs.rasterContents; exports.rasterMaskFromLegacy = _chunkS55JFWDAcjs.rasterMaskFromLegacy; exports.rasterizeCoverage = _chunkS55JFWDAcjs.rasterizeCoverage; exports.rasterizeDab = _chunkPQ3H2AANcjs.rasterizeDab; exports.rasterizeSmartObject = _chunkS55JFWDAcjs.rasterizeSmartObject; exports.readAdjustmentControls = readAdjustmentControls; exports.readDeepRegion = _chunkOLNIPTB3cjs.readDeepRegion; exports.readEdgeColor = _chunkS55JFWDAcjs.readEdgeColor; exports.readPaintSource = _chunkPQ3H2AANcjs.readPaintSource; exports.readPaths = readPaths; exports.readPixel = _chunk474IQG74cjs.readPixel; exports.readPsd = _chunkS55JFWDAcjs.readPsd; exports.readRegion = _chunk474IQG74cjs.readRegion; exports.readShapeComponents = _chunkS55JFWDAcjs.readShapeComponents; exports.readSourceRegion = _chunkYF3YZZ6Gcjs.readSourceRegion; exports.rectSelection = _chunkUC3PWFM3cjs.rectSelection; exports.rectToQuad = _chunkQT26RHKKcjs.rectToQuad; exports.reduceSurface = _chunkB46UQUDCcjs.reduceSurface; exports.referencePoint = _chunkS55JFWDAcjs.referencePoint; exports.refineCoverage = _chunkSS53NNZOcjs.refineCoverage; exports.refineEdgeHalo = _chunkSS53NNZOcjs.refineEdgeHalo; exports.refineSelection = _chunkSS53NNZOcjs.refineSelection; exports.reflectanceToRgb = _chunkOLNIPTB3cjs.reflectanceToRgb; exports.removeAlpha = _chunkS55JFWDAcjs.removeAlpha; exports.removeCurvePoint = removeCurvePoint; exports.removeLayer = _chunkS55JFWDAcjs.removeLayer; exports.removeLayerEffect = _chunkS55JFWDAcjs.removeLayerEffect; exports.removeLayerFilter = _chunkS55JFWDAcjs.removeLayerFilter; exports.removePaintGradientStop = _chunkPQ3H2AANcjs.removePaintGradientStop; exports.removeSmartFilter = _chunkS55JFWDAcjs.removeSmartFilter; exports.renderBrushstroke = _chunkPQ3H2AANcjs.renderBrushstroke; exports.renderLayerEffects = _chunkB46UQUDCcjs.renderLayerEffects; exports.renderLayeredBase = renderLayeredBase; exports.renderShape = _chunkS55JFWDAcjs.renderShape; exports.renderShapeRect = _chunkS55JFWDAcjs.renderShapeRect; exports.renderSmartObject = _chunkS55JFWDAcjs.renderSmartObject; exports.renderText = _chunkS55JFWDAcjs.renderText; exports.replaceContents = _chunkS55JFWDAcjs.replaceContents; exports.replaceTextRange = _chunkS55JFWDAcjs.replaceTextRange; exports.requireLayer = _chunkS55JFWDAcjs.requireLayer; exports.requireOperation = _chunkS55JFWDAcjs.requireOperation; exports.requireShapeLayer = _chunkS55JFWDAcjs.requireShapeLayer; exports.requireSmartObject = _chunkS55JFWDAcjs.requireSmartObject; exports.requireTypeLayer = _chunkS55JFWDAcjs.requireTypeLayer; exports.requireUnlocked = _chunkS55JFWDAcjs.requireUnlocked; exports.rerender = _chunkS55JFWDAcjs.rerender; exports.rerenderShape = _chunkS55JFWDAcjs.rerenderShape; exports.rerenderText = _chunkS55JFWDAcjs.rerenderText; exports.resizePixels = resizePixels; exports.resizeSelection = _chunkSS53NNZOcjs.resizeSelection; exports.resizeWarpMesh = _chunkQAUIZPYIcjs.resizeWarpMesh; exports.resolveExternalAssets = _chunkS55JFWDAcjs.resolveExternalAssets; exports.resolveMosaicRegionBounds = resolveMosaicRegionBounds; exports.resolvePaintGradient = _chunkPQ3H2AANcjs.resolvePaintGradient; exports.resolveProfile = resolveProfile; exports.resolveVectorMasks = _chunkS55JFWDAcjs.resolveVectorMasks; exports.restyleRange = _chunkQAUIZPYIcjs.restyleRange; exports.retouchFilter = _chunkYF3YZZ6Gcjs.retouchFilter; exports.reversePaintGradient = _chunkPQ3H2AANcjs.reversePaintGradient; exports.rgbToGray = _chunkS55JFWDAcjs.rgbToGray; exports.rgbToHsl = _chunkS55JFWDAcjs.rgbToHsl; exports.rgbToReflectance = _chunkOLNIPTB3cjs.rgbToReflectance; exports.rgbUnitToHex = rgbUnitToHex; exports.rgbaViewOfGrey = _chunkYF3YZZ6Gcjs.rgbaViewOfGrey; exports.runLayerFilters = _chunkS55JFWDAcjs.runLayerFilters; exports.runLayerFiltersFloat = _chunkS55JFWDAcjs.runLayerFiltersFloat; exports.runLayerMenuAction = runLayerMenuAction; exports.runSelectionJob = _chunkUC3PWFM3cjs.runSelectionJob; exports.sameCanvasViewport = sameCanvasViewport; exports.sampleLut = _chunkS55JFWDAcjs.sampleLut; exports.sampleToneLut = _chunkS55JFWDAcjs.sampleToneLut; exports.saturationOf = _chunkYF3YZZ6Gcjs.saturationOf; exports.scaleLayerEffect = _chunkB46UQUDCcjs.scaleLayerEffect; exports.scalePaintGradient = _chunkPQ3H2AANcjs.scalePaintGradient; exports.seamlessClone = _chunkMQDIP4CFcjs.seamlessClone; exports.seedFromString = _chunkPQ3H2AANcjs.seedFromString; exports.segmentToSelection = segmentToSelection; exports.segmentationOutlines = segmentationOutlines; exports.segmentsToSelection = segmentsToSelection; exports.selectObjectIn = _chunkUC3PWFM3cjs.selectObjectIn; exports.selectSimilar = selectSimilar; exports.selectionArea = _chunkSS53NNZOcjs.selectionArea; exports.selectionDiffPixels = selectionDiffPixels; exports.selectionFromCoverage = _chunkSS53NNZOcjs.selectionFromCoverage; exports.selectionFromPixels = _chunkSS53NNZOcjs.selectionFromPixels; exports.selectionFromRegion = _chunkSS53NNZOcjs.selectionFromRegion; exports.selectionFromTiles = _chunkSS53NNZOcjs.selectionFromTiles; exports.selectionModeFromModifiers = selectionModeFromModifiers; exports.selectionOutline = selectionOutline; exports.selectionOutlinePaths = selectionOutlinePaths; exports.selectionRing = selectionRing; exports.selectionToCoverage = _chunkSS53NNZOcjs.selectionToCoverage; exports.selectionToPixels = _chunkSS53NNZOcjs.selectionToPixels; exports.selectionToSubpaths = selectionToSubpaths; exports.selectionUncertainty = selectionUncertainty; exports.selectionValueAt = _chunkSS53NNZOcjs.selectionValueAt; exports.serializeChannels = serializeChannels; exports.serializeColorMode = serializeColorMode; exports.serializeColorProfile = serializeColorProfile; exports.serializeContents = _chunkS55JFWDAcjs.serializeContents; exports.serializeEffects = _chunkS55JFWDAcjs.serializeEffects; exports.serializeLayer = _chunkS55JFWDAcjs.serializeLayer; exports.serializeLayers = _chunkS55JFWDAcjs.serializeLayers; exports.serializeLayersExternal = _chunkS55JFWDAcjs.serializeLayersExternal; exports.serializeMask = _chunkUC3PWFM3cjs.serializeMask; exports.serializePaths = serializePaths; exports.serializePatterns = _chunkS55JFWDAcjs.serializePatterns; exports.serializeSelection = _chunkSS53NNZOcjs.serializeSelection; exports.setCloneTransformValue = setCloneTransformValue; exports.setControlPath = setControlPath; exports.setLayerEffects = _chunkS55JFWDAcjs.setLayerEffects; exports.setLayerEffectsEnabled = _chunkS55JFWDAcjs.setLayerEffectsEnabled; exports.setLayerMask = _chunkS55JFWDAcjs.setLayerMask; exports.setLayerProperties = _chunkS55JFWDAcjs.setLayerProperties; exports.setLum = _chunkOLNIPTB3cjs.setLum; exports.setPigmentColor = _chunkOLNIPTB3cjs.setPigmentColor; exports.setRetouchChoice = setRetouchChoice; exports.setSmartFilterMask = _chunkS55JFWDAcjs.setSmartFilterMask; exports.setSmartFiltersEnabled = _chunkS55JFWDAcjs.setSmartFiltersEnabled; exports.setSmartPlacement = _chunkS55JFWDAcjs.setSmartPlacement; exports.shadeTile = _chunkXFYLA3ZOcjs.shadeTile; exports.shapeAsPixelLayer = _chunkS55JFWDAcjs.shapeAsPixelLayer; exports.shapeFromAnnotation = _chunkS55JFWDAcjs.shapeFromAnnotation; exports.shapeGeometryBounds = _chunkS55JFWDAcjs.shapeGeometryBounds; exports.shapeLayers = _chunkS55JFWDAcjs.shapeLayers; exports.shapeOutline = _chunkS55JFWDAcjs.shapeOutline; exports.shapeRenderClip = _chunkS55JFWDAcjs.shapeRenderClip; exports.shiftCoverage = _chunkSS53NNZOcjs.shiftCoverage; exports.simplifyPixelPath = simplifyPixelPath; exports.skinToneRange = skinToneRange; exports.slicSuperpixels = _chunkUC3PWFM3cjs.slicSuperpixels; exports.smartFilterRows = smartFilterRows; exports.smartObjectLayers = _chunkS55JFWDAcjs.smartObjectLayers; exports.smoothCoverage = _chunkSS53NNZOcjs.smoothCoverage; exports.smoothPoints = _chunkPQ3H2AANcjs.smoothPoints; exports.smoothnessWeights = _chunkUC3PWFM3cjs.smoothnessWeights; exports.smudgeEffect = _chunkYF3YZZ6Gcjs.smudgeEffect; exports.snapPolygonToEdges = snapPolygonToEdges; exports.snapTo45 = snapTo45; exports.snapToEdge = snapToEdge; exports.softMaskToSelection = _chunkUC3PWFM3cjs.softMaskToSelection; exports.solidPaint = _chunkPQ3H2AANcjs.solidPaint; exports.solidSurface = _chunk474IQG74cjs.solidSurface; exports.solveMembrane = _chunkMQDIP4CFcjs.solveMembrane; exports.spliceRuns = _chunkQAUIZPYIcjs.spliceRuns; exports.splitOverlayAnnotations = splitOverlayAnnotations; exports.sponge = _chunkYF3YZZ6Gcjs.sponge; exports.spongeEffect = _chunkYF3YZZ6Gcjs.spongeEffect; exports.spotHealPixels = _chunkYF3YZZ6Gcjs.spotHealPixels; exports.spotHealWindow = _chunkYF3YZZ6Gcjs.spotHealWindow; exports.srgb8ToLab = srgb8ToLab; exports.srgbByteToLinear = _chunkXFYLA3ZOcjs.srgbByteToLinear; exports.srgbDecode = _chunkOLNIPTB3cjs.srgbDecode; exports.srgbEncode = _chunkOLNIPTB3cjs.srgbEncode; exports.srgbToLinear = _chunkS55JFWDAcjs.srgbToLinear; exports.standardBlendMode = _chunkOLNIPTB3cjs.standardBlendMode; exports.startMarchingAnts = startMarchingAnts; exports.startSelectionWorker = _chunkUC3PWFM3cjs.startSelectionWorker; exports.stepSlotTs = _chunkXFYLA3ZOcjs.stepSlotTs; exports.strokeGrainCatch = _chunkPQ3H2AANcjs.strokeGrainCatch; exports.styleAt = _chunkQAUIZPYIcjs.styleAt; exports.subpathsToSvgPath = subpathsToSvgPath; exports.sumHistograms = sumHistograms; exports.superpixelSaliency = _chunkUC3PWFM3cjs.superpixelSaliency; exports.surfaceBytes = _chunk474IQG74cjs.surfaceBytes; exports.surfaceDepth = _chunkOLNIPTB3cjs.surfaceDepth; exports.surfaceFromDeepPixels = _chunkOLNIPTB3cjs.surfaceFromDeepPixels; exports.surfaceFromPixels = _chunk474IQG74cjs.surfaceFromPixels; exports.surfacesEqual = _chunk474IQG74cjs.surfacesEqual; exports.tempTintToXy = _chunkS55JFWDAcjs.tempTintToXy; exports.temperatureToKelvin = _chunkS55JFWDAcjs.temperatureToKelvin; exports.textIndexAt = _chunkQAUIZPYIcjs.textIndexAt; exports.textMatrix = _chunkS55JFWDAcjs.textMatrix; exports.textOrientation = _chunkS55JFWDAcjs.textOrientation; exports.textOutlines = _chunkS55JFWDAcjs.textOutlines; exports.textRange = _chunkS55JFWDAcjs.textRange; exports.tileCoord = _chunk474IQG74cjs.tileCoord; exports.tileKey = _chunk474IQG74cjs.tileKey; exports.tileRect = _chunk474IQG74cjs.tileRect; exports.tileSamples = _chunkOLNIPTB3cjs.tileSamples; exports.tileSamples16 = _chunkOLNIPTB3cjs.tileSamples16; exports.tileSamples32 = _chunkOLNIPTB3cjs.tileSamples32; exports.tilesInRect = _chunk474IQG74cjs.tilesInRect; exports.tipFalloff = _chunkPQ3H2AANcjs.tipFalloff; exports.tipReach = _chunkPQ3H2AANcjs.tipReach; exports.tipShape = _chunkPQ3H2AANcjs.tipShape; exports.to16From32 = _chunkOLNIPTB3cjs.to16From32; exports.to16From8 = _chunkOLNIPTB3cjs.to16From8; exports.to32From16 = _chunkOLNIPTB3cjs.to32From16; exports.to32From8 = _chunkOLNIPTB3cjs.to32From8; exports.to8From16 = _chunkOLNIPTB3cjs.to8From16; exports.to8From32 = _chunkOLNIPTB3cjs.to8From32; exports.toHex = toHex; exports.toTextSpace = _chunkS55JFWDAcjs.toTextSpace; exports.toneCurve = _chunkS55JFWDAcjs.toneCurve; exports.toneLuts = _chunkS55JFWDAcjs.toneLuts; exports.toneOf = _chunkYF3YZZ6Gcjs.toneOf; exports.toneRange = toneRange; exports.transformHomography = _chunkS55JFWDAcjs.transformHomography; exports.transformMap = _chunkS55JFWDAcjs.transformMap; exports.transformShapeComponents = _chunkS55JFWDAcjs.transformShapeComponents; exports.transformSurface = _chunkB46UQUDCcjs.transformSurface; exports.transformTypeLayer = _chunkS55JFWDAcjs.transformTypeLayer; exports.transformVectorMask = _chunkS55JFWDAcjs.transformVectorMask; exports.transformedBounds = _chunkB46UQUDCcjs.transformedBounds; exports.transformedBox = _chunkS55JFWDAcjs.transformedBox; exports.transformedPoint = _chunkS55JFWDAcjs.transformedPoint; exports.translateLayer = _chunkS55JFWDAcjs.translateLayer; exports.translateSurface = _chunk474IQG74cjs.translateSurface; exports.typeAsPixelLayer = _chunkS55JFWDAcjs.typeAsPixelLayer; exports.typeFrame = _chunkS55JFWDAcjs.typeFrame; exports.typeFromAnnotation = _chunkS55JFWDAcjs.typeFromAnnotation; exports.typeLayerAt = typeLayerAt; exports.typeLayerName = _chunkS55JFWDAcjs.typeLayerName; exports.ungroupLayer = _chunkS55JFWDAcjs.ungroupLayer; exports.uniformTile = _chunk474IQG74cjs.uniformTile; exports.unionRect = _chunkS55JFWDAcjs.unionRect; exports.unprojectCanvasPoint = _chunkS55JFWDAcjs.unprojectCanvasPoint; exports.updateLayerEffect = _chunkS55JFWDAcjs.updateLayerEffect; exports.updateLayerFilter = _chunkS55JFWDAcjs.updateLayerFilter; exports.updateLayerMaskProps = _chunkS55JFWDAcjs.updateLayerMaskProps; exports.updatePaintGradientStop = _chunkPQ3H2AANcjs.updatePaintGradientStop; exports.updateShapeLayer = _chunkS55JFWDAcjs.updateShapeLayer; exports.updateSmartFilter = _chunkS55JFWDAcjs.updateSmartFilter; exports.updateTypeLayer = _chunkS55JFWDAcjs.updateTypeLayer; exports.upscaleRegion = _chunkUC3PWFM3cjs.upscaleRegion; exports.userErrorMessage = _chunkS55JFWDAcjs.userErrorMessage; exports.uvToXy = _chunkS55JFWDAcjs.uvToXy; exports.validateEffectGradient = _chunkB46UQUDCcjs.validateEffectGradient; exports.validateLayerEffect = _chunkB46UQUDCcjs.validateLayerEffect; exports.validateLayerEffects = _chunkB46UQUDCcjs.validateLayerEffects; exports.vectorMaskBounds = _chunkS55JFWDAcjs.vectorMaskBounds; exports.vectorMaskCoverage = _chunkS55JFWDAcjs.vectorMaskCoverage; exports.vectorMaskThumbnail = _chunkS55JFWDAcjs.vectorMaskThumbnail; exports.vectorMaskThumbnailClick = vectorMaskThumbnailClick; exports.versionedDescriptorBytes = _chunkS55JFWDAcjs.versionedDescriptorBytes; exports.vibranceLinear = _chunkS55JFWDAcjs.vibranceLinear; exports.vibrancePixel = _chunkS55JFWDAcjs.vibrancePixel; exports.walkDabs = _chunkPQ3H2AANcjs.walkDabs; exports.warpMeshEditPoints = _chunkQAUIZPYIcjs.warpMeshEditPoints; exports.warpMeshGridCurves = _chunkQAUIZPYIcjs.warpMeshGridCurves; exports.warpMeshParamAt = _chunkQAUIZPYIcjs.warpMeshParamAt; exports.warpPresetMesh = _chunkQAUIZPYIcjs.warpPresetMesh; exports.warpSurface = _chunkB46UQUDCcjs.warpSurface; exports.watchCanvasViewport = watchCanvasViewport; exports.wbMatrix = _chunkS55JFWDAcjs.wbMatrix; exports.wetGpuSupport = _chunkXFYLA3ZOcjs.wetGpuSupport; exports.wetSimdSupported = _chunkXFYLA3ZOcjs.wetSimdSupported; exports.wetSupport = _chunkXFYLA3ZOcjs.wetSupport; exports.whiteBalanceFromSample = _chunkS55JFWDAcjs.whiteBalanceFromSample; exports.whiteBalanceMatrix = _chunkS55JFWDAcjs.whiteBalanceMatrix; exports.withBackgroundOpacity = withBackgroundOpacity; exports.withFilterMaskSurface = _chunkS55JFWDAcjs.withFilterMaskSurface; exports.withImagePlayback = withImagePlayback; exports.withNewIds = _chunkS55JFWDAcjs.withNewIds; exports.workImage = _chunkUC3PWFM3cjs.workImage; exports.workLuma = _chunkUC3PWFM3cjs.workLuma; exports.workPlanes = _chunkUC3PWFM3cjs.workPlanes; exports.writeAdjustmentBlock = _chunkS55JFWDAcjs.writeAdjustmentBlock; exports.writeDeepRegion = _chunkOLNIPTB3cjs.writeDeepRegion; exports.writeLfx2 = _chunkS55JFWDAcjs.writeLfx2; exports.writePatternBlock = _chunkS55JFWDAcjs.writePatternBlock; exports.writePsd = _chunkS55JFWDAcjs.writePsd; exports.writeRegion = _chunk474IQG74cjs.writeRegion; exports.xyToTempTint = _chunkS55JFWDAcjs.xyToTempTint; exports.xyToUv = _chunkS55JFWDAcjs.xyToUv;
|
|
23317
|
+
exports.ADJUSTMENT_KEYS = _chunkS55JFWDAcjs.ADJUSTMENT_KEYS; exports.ADJUSTMENT_KINDS = _chunkS55JFWDAcjs.ADJUSTMENT_KINDS; exports.ADJUSTMENT_LAYER_CONTROLS = ADJUSTMENT_LAYER_CONTROLS; exports.ADJUSTMENT_LAYER_OPACITY_CONTROL = ADJUSTMENT_LAYER_OPACITY_CONTROL; exports.ADJUSTMENT_LUT_SIZE = _chunkS55JFWDAcjs.ADJUSTMENT_LUT_SIZE; exports.ANCHOR_FRACTION = _chunkS55JFWDAcjs.ANCHOR_FRACTION; exports.AS_SHOT_KELVIN = _chunkS55JFWDAcjs.AS_SHOT_KELVIN; exports.BACKGROUND_LAYER_ID = _chunkS55JFWDAcjs.BACKGROUND_LAYER_ID; exports.BACKGROUND_LAYER_NAME = _chunkS55JFWDAcjs.BACKGROUND_LAYER_NAME; exports.BIT_DEPTHS = _chunkOLNIPTB3cjs.BIT_DEPTHS; exports.BIT_DEPTH_OPTIONS = BIT_DEPTH_OPTIONS; exports.BLEND_MODES = _chunkOLNIPTB3cjs.BLEND_MODES; exports.BLUR_FILTER_ID = _chunkS55JFWDAcjs.BLUR_FILTER_ID; exports.BODY_SCATTER = _chunkXFYLA3ZOcjs.BODY_SCATTER; exports.BRUSHSTROKE_MAX_SCALE = _chunkYQGCPL5Xcjs.BRUSHSTROKE_MAX_SCALE; exports.BRUSHSTROKE_MIN_SCALE = _chunkYQGCPL5Xcjs.BRUSHSTROKE_MIN_SCALE; exports.BRUSH_OPTION_CONTROLS = BRUSH_OPTION_CONTROLS; exports.BUILTIN_PROFILES = _chunkBROJYMWUcjs.BUILTIN_PROFILES; exports.BrushstrokeCache = _chunkPQ3H2AANcjs.BrushstrokeCache; exports.CANVAS_SIZE_PRESETS = CANVAS_SIZE_PRESETS; exports.CLONE_TRANSFORM_CONTROLS = CLONE_TRANSFORM_CONTROLS; exports.COLOR_MODE_OPTIONS = COLOR_MODE_OPTIONS; exports.COLOR_RANGE_PRESETS = COLOR_RANGE_PRESETS; exports.COLOR_RANGE_PRESET_LABELS = COLOR_RANGE_PRESET_LABELS; exports.CONTENT_AWARE_FILL_SAMPLING = CONTENT_AWARE_FILL_SAMPLING; exports.CONTENT_AWARE_FILL_TOOLS = CONTENT_AWARE_FILL_TOOLS; exports.ColorGmm = _chunkKALCIDWHcjs.ColorGmm; exports.ContentAwareFillSession = ContentAwareFillSession; exports.CoverageMap = _chunkPQ3H2AANcjs.CoverageMap; exports.D50 = _chunkS55JFWDAcjs.D50; exports.D65 = _chunkS55JFWDAcjs.D65; exports.DEFAULT_ADJUSTMENTS = DEFAULT_ADJUSTMENTS; exports.DEFAULT_AUTO_LEADING = _chunkQAUIZPYIcjs.DEFAULT_AUTO_LEADING; exports.DEFAULT_BLENDER = _chunkPQ3H2AANcjs.DEFAULT_BLENDER; exports.DEFAULT_BRUSH = _chunkPQ3H2AANcjs.DEFAULT_BRUSH; exports.DEFAULT_CANVAS_VIEWPORT = DEFAULT_CANVAS_VIEWPORT; exports.DEFAULT_CHANNEL_COLOR = DEFAULT_CHANNEL_COLOR; exports.DEFAULT_CONTENT_AWARE_FILL_SETTINGS = DEFAULT_CONTENT_AWARE_FILL_SETTINGS; exports.DEFAULT_DEPTH_MASK = DEFAULT_DEPTH_MASK; exports.DEFAULT_FLOW = _chunkXFYLA3ZOcjs.DEFAULT_FLOW; exports.DEFAULT_GLOBAL_LIGHT = _chunkB46UQUDCcjs.DEFAULT_GLOBAL_LIGHT; exports.DEFAULT_MITER_LIMIT = _chunkS55JFWDAcjs.DEFAULT_MITER_LIMIT; exports.DEFAULT_MIXER = _chunkPQ3H2AANcjs.DEFAULT_MIXER; exports.DEFAULT_PAINT_GRADIENT = _chunkPQ3H2AANcjs.DEFAULT_PAINT_GRADIENT; exports.DEFAULT_PAINT_GRADIENT_MAPPING = _chunkPQ3H2AANcjs.DEFAULT_PAINT_GRADIENT_MAPPING; exports.DEFAULT_PROOF = DEFAULT_PROOF; exports.DEFAULT_REFINE_EDGE_PARAMS = _chunkSS53NNZOcjs.DEFAULT_REFINE_EDGE_PARAMS; exports.DEFAULT_RETOUCH = _chunk2ONK3ERDcjs.DEFAULT_RETOUCH; exports.DEFAULT_SELECTION_TOOL_OPTIONS = DEFAULT_SELECTION_TOOL_OPTIONS; exports.DEFAULT_SELECT_AND_MASK_SETTINGS = DEFAULT_SELECT_AND_MASK_SETTINGS; exports.DEFAULT_SHAPE_TOOL_OPTIONS = DEFAULT_SHAPE_TOOL_OPTIONS; exports.DEFAULT_SMUDGE = _chunkPQ3H2AANcjs.DEFAULT_SMUDGE; exports.DEFAULT_TEXT_STYLE = _chunkQAUIZPYIcjs.DEFAULT_TEXT_STYLE; exports.DEFAULT_TRANSFORM = DEFAULT_TRANSFORM; exports.DEFAULT_TYPE_TOOL_OPTIONS = DEFAULT_TYPE_TOOL_OPTIONS; exports.DEFAULT_WET_PAPER = _chunkXFYLA3ZOcjs.DEFAULT_WET_PAPER; exports.DEFAULT_WET_PARAMS = _chunkXFYLA3ZOcjs.DEFAULT_WET_PARAMS; exports.DEPTH_MASK_CONTROLS = DEPTH_MASK_CONTROLS; exports.DEVELOP_FILTER_ID = _chunkS55JFWDAcjs.DEVELOP_FILTER_ID; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkK6PXS6DOcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.DRY_EPS = _chunkXFYLA3ZOcjs.DRY_EPS; exports.DabWalker = _chunkPQ3H2AANcjs.DabWalker; exports.EDGE_COLOR_RADIUS = _chunkS55JFWDAcjs.EDGE_COLOR_RADIUS; exports.EFFECT_LAYER_USES = EFFECT_LAYER_USES; exports.EMPTY_DISTANCE = _chunkSS53NNZOcjs.EMPTY_DISTANCE; exports.EMPTY_MIXER_LOAD = _chunkPQ3H2AANcjs.EMPTY_MIXER_LOAD; exports.EX = _chunkXFYLA3ZOcjs.EX; exports.EY = _chunkXFYLA3ZOcjs.EY; exports.EdgeMap = EdgeMap; exports.FLAG_ALIVE = _chunkXFYLA3ZOcjs.FLAG_ALIVE; exports.FLAG_BOTTOM = _chunkXFYLA3ZOcjs.FLAG_BOTTOM; exports.FLAG_LEFT = _chunkXFYLA3ZOcjs.FLAG_LEFT; exports.FLAG_RIGHT = _chunkXFYLA3ZOcjs.FLAG_RIGHT; exports.FLAG_TOP = _chunkXFYLA3ZOcjs.FLAG_TOP; exports.FLAG_WET = _chunkXFYLA3ZOcjs.FLAG_WET; exports.FLAT = _chunkXFYLA3ZOcjs.FLAT; exports.FREE_INTERVAL = _chunkXFYLA3ZOcjs.FREE_INTERVAL; exports.FREE_TRANSFORM_CONTENTS = FREE_TRANSFORM_CONTENTS; exports.FREE_TRANSFORM_FIELDS = FREE_TRANSFORM_FIELDS; exports.FREE_TRANSFORM_MODES = _chunkS55JFWDAcjs.FREE_TRANSFORM_MODES; exports.FREE_TRANSFORM_MODE_OPTIONS = FREE_TRANSFORM_MODE_OPTIONS; exports.FreeTransformSession = FreeTransformSession; exports.FreeTransformTool = FreeTransformTool; exports.GAMMA = _chunkKALCIDWHcjs.GAMMA; exports.GRAIN_PATTERNS = _chunkPQ3H2AANcjs.GRAIN_PATTERNS; exports.GRAIN_TILE = _chunkPQ3H2AANcjs.GRAIN_TILE; exports.GUIDED_FILTER_EPS = _chunkSS53NNZOcjs.GUIDED_FILTER_EPS; exports.GridGraph = _chunkKALCIDWHcjs.GridGraph; exports.HIDE = _chunkXFYLA3ZOcjs.HIDE; exports.HISTOGRAM_BINS = HISTOGRAM_BINS; exports.HUE_RANGE_LABELS = _chunkS55JFWDAcjs.HUE_RANGE_LABELS; exports.HUE_RANGE_PRESETS = HUE_RANGE_PRESETS; exports.IDENTITY_CLONE_TRANSFORM = _chunk2ONK3ERDcjs.IDENTITY_CLONE_TRANSFORM; exports.IDENTITY_MATRIX3 = _chunkS55JFWDAcjs.IDENTITY_MATRIX3; exports.IMAGE_ADJUSTMENT_CONTROLS = IMAGE_ADJUSTMENT_CONTROLS; exports.IMAGE_CROP_PRESETS = IMAGE_CROP_PRESETS; exports.IMAGE_EDITOR_SCHEMA_VERSION = IMAGE_EDITOR_SCHEMA_VERSION; exports.IMAGE_EDITOR_STATE_VERSION = IMAGE_EDITOR_STATE_VERSION; exports.IMAGE_EFFECT_PLACES = IMAGE_EFFECT_PLACES; exports.IMAGE_FILTER_PRESETS = IMAGE_FILTER_PRESETS; exports.IMAGE_PLAYBACK_KIND = IMAGE_PLAYBACK_KIND; exports.IMAGE_TOOL_GROUPS = IMAGE_TOOL_GROUPS; exports.IMAGE_TOOL_SHORTCUTS = IMAGE_TOOL_SHORTCUTS; exports.INTENTS = _chunkBROJYMWUcjs.INTENTS; exports.INTENT_OPTIONS = INTENT_OPTIONS; exports.INTERPOLATIONS = _chunkB46UQUDCcjs.INTERPOLATIONS; exports.ImageEditorController = ImageEditorController; exports.ImageEditorRenderer = ImageEditorRenderer; exports.ImageEffectsEngine = ImageEffectsEngine; exports.LATEST_PROCESS_VERSION = _chunkS55JFWDAcjs.LATEST_PROCESS_VERSION; exports.LAYERED_SCHEMA_VERSION = _chunkS55JFWDAcjs.LAYERED_SCHEMA_VERSION; exports.LAYER_EFFECT_KINDS = _chunkB46UQUDCcjs.LAYER_EFFECT_KINDS; exports.LAYER_EFFECT_MENU = LAYER_EFFECT_MENU; exports.LEGACY_PROCESS_VERSION = _chunkS55JFWDAcjs.LEGACY_PROCESS_VERSION; exports.LIVE_SHAPE_KINDS = _chunkS55JFWDAcjs.LIVE_SHAPE_KINDS; exports.LUMA_709 = _chunkS55JFWDAcjs.LUMA_709; exports.LayerCompositor = _chunkS55JFWDAcjs.LayerCompositor; exports.LayerEffectError = _chunkB46UQUDCcjs.LayerEffectError; exports.LayerOperationError = _chunkS55JFWDAcjs.LayerOperationError; exports.MARCHING_ANTS_STEP_MS = MARCHING_ANTS_STEP_MS; exports.MASK_EDGE_THRESHOLDS = MASK_EDGE_THRESHOLDS; exports.MASK_FILE_ACCEPT = MASK_FILE_ACCEPT; exports.MAX_BATCH = _chunkXFYLA3ZOcjs.MAX_BATCH; exports.MAX_BRUSH_SIZE = _chunkPQ3H2AANcjs.MAX_BRUSH_SIZE; exports.MAX_CANVAS_BACKING_SIDE = MAX_CANVAS_BACKING_SIDE; exports.MAX_EFFECT_ANIMATION_MS = _chunkS55JFWDAcjs.MAX_EFFECT_ANIMATION_MS; exports.MAX_EFFECT_REACH = _chunkB46UQUDCcjs.MAX_EFFECT_REACH; exports.MAX_KELVIN = _chunkS55JFWDAcjs.MAX_KELVIN; exports.MAX_TILT_ACCEL = _chunkXFYLA3ZOcjs.MAX_TILT_ACCEL; exports.MAX_TRANSFORM_PIXELS = _chunkB46UQUDCcjs.MAX_TRANSFORM_PIXELS; exports.MAX_WET_LANES = _chunkXFYLA3ZOcjs.MAX_WET_LANES; exports.MAX_WET_SLOTS = _chunkXFYLA3ZOcjs.MAX_WET_SLOTS; exports.MIN_KELVIN = _chunkS55JFWDAcjs.MIN_KELVIN; exports.MIRED_PER_TEMPERATURE_UNIT = _chunkS55JFWDAcjs.MIRED_PER_TEMPERATURE_UNIT; exports.MIXER_DRAIN = _chunkPQ3H2AANcjs.MIXER_DRAIN; exports.MIXER_MIXING_OPTIONS = MIXER_MIXING_OPTIONS; exports.MIXER_OPTION_CONTROLS = MIXER_OPTION_CONTROLS; exports.MIXER_PICKUP_RATE = _chunkPQ3H2AANcjs.MIXER_PICKUP_RATE; exports.MIXING_MODELS = _chunkPQ3H2AANcjs.MIXING_MODELS; exports.MixerStroke = _chunkPQ3H2AANcjs.MixerStroke; exports.OPP = _chunkXFYLA3ZOcjs.OPP; exports.PAINTERLY_BLEND_MODES = _chunkOLNIPTB3cjs.PAINTERLY_BLEND_MODES; exports.PAINT_COLOR_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_COLOR_JSON_SCHEMA; exports.PAINT_GRADIENT_FULL_SPEED = _chunkPQ3H2AANcjs.PAINT_GRADIENT_FULL_SPEED; exports.PAINT_GRADIENT_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_GRADIENT_JSON_SCHEMA; exports.PAINT_GRADIENT_KIT = _chunkPQ3H2AANcjs.PAINT_GRADIENT_KIT; exports.PAINT_GRADIENT_MAPPINGS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_MAPPINGS; exports.PAINT_GRADIENT_MAPPING_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_MAPPING_LABELS; exports.PAINT_GRADIENT_PRESETS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_PRESETS; exports.PAINT_GRADIENT_REPEATS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_REPEATS; exports.PAINT_GRADIENT_REPEAT_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_REPEAT_LABELS; exports.PAINT_GRADIENT_SPACES = _chunkPQ3H2AANcjs.PAINT_GRADIENT_SPACES; exports.PAINT_GRADIENT_SPACE_LABELS = _chunkPQ3H2AANcjs.PAINT_GRADIENT_SPACE_LABELS; exports.PAINT_SOURCE_JSON_SCHEMA = _chunkPQ3H2AANcjs.PAINT_SOURCE_JSON_SCHEMA; exports.PAINT_TOOLS = PAINT_TOOLS; exports.PAPER_CAPACITY = _chunkXFYLA3ZOcjs.PAPER_CAPACITY; exports.PARAGRAPH_STYLE_FIELDS = _chunkS55JFWDAcjs.PARAGRAPH_STYLE_FIELDS; exports.PARAM = _chunkXFYLA3ZOcjs.PARAM; exports.PARAM_FLOATS = _chunkXFYLA3ZOcjs.PARAM_FLOATS; exports.PASTE_MODES = PASTE_MODES; exports.PATH_EDIT_TOOLS = PATH_EDIT_TOOLS; exports.PATTERN_BLOCK_KEYS = _chunkS55JFWDAcjs.PATTERN_BLOCK_KEYS; exports.PIGMENT_BANDS = _chunkOLNIPTB3cjs.PIGMENT_BANDS; exports.PIGMENT_CHANNELS = _chunkXFYLA3ZOcjs.PIGMENT_CHANNELS; exports.PIGMENT_LAMBDA_MIN = _chunkOLNIPTB3cjs.PIGMENT_LAMBDA_MIN; exports.PIGMENT_LAMBDA_STEP = _chunkOLNIPTB3cjs.PIGMENT_LAMBDA_STEP; exports.PIGMENT_UNIT = _chunkXFYLA3ZOcjs.PIGMENT_UNIT; exports.PIGMENT_WAVELENGTHS = _chunkOLNIPTB3cjs.PIGMENT_WAVELENGTHS; exports.PLANE = _chunkXFYLA3ZOcjs.PLANE; exports.PLANE_BYTES = _chunkXFYLA3ZOcjs.PLANE_BYTES; exports.PREVIEW_SIZE = PREVIEW_SIZE; exports.PROOF_PROFILE_OPTIONS = PROOF_PROFILE_OPTIONS; exports.PSD_BLEND_KEYS = _chunkS55JFWDAcjs.PSD_BLEND_KEYS; exports.PSD_FILE_ACCEPT = PSD_FILE_ACCEPT; exports.P_D0 = _chunkXFYLA3ZOcjs.P_D0; exports.P_EDGE = _chunkXFYLA3ZOcjs.P_EDGE; exports.P_FX = _chunkXFYLA3ZOcjs.P_FX; exports.P_FY = _chunkXFYLA3ZOcjs.P_FY; exports.P_H = _chunkXFYLA3ZOcjs.P_H; exports.P_P0 = _chunkXFYLA3ZOcjs.P_P0; exports.P_RHO = _chunkXFYLA3ZOcjs.P_RHO; exports.P_SW = _chunkXFYLA3ZOcjs.P_SW; exports.P_UX = _chunkXFYLA3ZOcjs.P_UX; exports.P_UY = _chunkXFYLA3ZOcjs.P_UY; exports.PaintExchange = _chunkPQ3H2AANcjs.PaintExchange; exports.PaintGesture = PaintGesture; exports.PaintGradientSampler = _chunkPQ3H2AANcjs.PaintGradientSampler; exports.PaintSourceError = _chunkPQ3H2AANcjs.PaintSourceError; exports.PaintStrokeSession = PaintStrokeSession; exports.PaperGrain = _chunkPQ3H2AANcjs.PaperGrain; exports.PathEditGesture = PathEditGesture; exports.PatternPlacement = _chunkB46UQUDCcjs.PatternPlacement; exports.PatternTile = _chunkB46UQUDCcjs.PatternTile; exports.PsdError = _chunkS55JFWDAcjs.PsdError; exports.QUICK_MASK_TARGET = QUICK_MASK_TARGET; exports.REFINE_EDGE_CONTROLS = REFINE_EDGE_CONTROLS; exports.REFINE_EDIT_KINDS = _chunkKALCIDWHcjs.REFINE_EDIT_KINDS; exports.REFINE_OUTPUTS = REFINE_OUTPUTS; exports.RETOUCH_CHOICES = RETOUCH_CHOICES; exports.RETOUCH_OPTION_CONTROLS = RETOUCH_OPTION_CONTROLS; exports.RETOUCH_SAMPLES = _chunk2ONK3ERDcjs.RETOUCH_SAMPLES; exports.RETOUCH_TOGGLES = RETOUCH_TOGGLES; exports.RETOUCH_TOOLS = RETOUCH_TOOLS; exports.RegionPixelSource = _chunk2ONK3ERDcjs.RegionPixelSource; exports.RetouchDabStroke = _chunk2ONK3ERDcjs.RetouchDabStroke; exports.SELECTION_MODES = _chunkSS53NNZOcjs.SELECTION_MODES; exports.SELECTION_MODE_LABELS = SELECTION_MODE_LABELS; exports.SELECTION_MODIFY_OPS = _chunkSS53NNZOcjs.SELECTION_MODIFY_OPS; exports.SELECTION_TOOLS = SELECTION_TOOLS; exports.SELECT_AND_MASK_TOOLS = SELECT_AND_MASK_TOOLS; exports.SELECT_AND_MASK_VIEWS = SELECT_AND_MASK_VIEWS; exports.SET_PLANES = _chunkXFYLA3ZOcjs.SET_PLANES; exports.SHADOW_AMBIENT = _chunkOLNIPTB3cjs.SHADOW_AMBIENT; exports.SHAPE_KIND_LABELS = SHAPE_KIND_LABELS; exports.SHAPE_OPERATIONS = _chunkS55JFWDAcjs.SHAPE_OPERATIONS; exports.SHAPE_RENDER_MARGIN = _chunkS55JFWDAcjs.SHAPE_RENDER_MARGIN; exports.SLOT_BYTES = _chunkXFYLA3ZOcjs.SLOT_BYTES; exports.SLOT_PLANES = _chunkXFYLA3ZOcjs.SLOT_PLANES; exports.SLOT_SIDE = _chunkXFYLA3ZOcjs.SLOT_SIDE; exports.SMART_RENDER_MARGIN = _chunkS55JFWDAcjs.SMART_RENDER_MARGIN; exports.SPOT_HEAL_TYPES = _chunk2ONK3ERDcjs.SPOT_HEAL_TYPES; exports.SRGB_TO_LINEAR = _chunkXFYLA3ZOcjs.SRGB_TO_LINEAR; exports.STRIP = _chunkXFYLA3ZOcjs.STRIP; exports.SUPPORTED_ADJUSTMENT_KEYS = _chunkS55JFWDAcjs.SUPPORTED_ADJUSTMENT_KEYS; exports.SelectAndMaskSession = SelectAndMaskSession; exports.SelectionGesture = SelectionGesture; exports.SelectionWorkerClient = _chunkKALCIDWHcjs.SelectionWorkerClient; exports.ShapeDrawGesture = ShapeDrawGesture; exports.SmudgeTip = _chunkPQ3H2AANcjs.SmudgeTip; exports.StrokeCoverage = _chunkPQ3H2AANcjs.StrokeCoverage; exports.SurfaceDraft = _chunk474IQG74cjs.SurfaceDraft; exports.TEXT_ALIGNS = _chunkS55JFWDAcjs.TEXT_ALIGNS; exports.TEXT_ORIENTATIONS = _chunkS55JFWDAcjs.TEXT_ORIENTATIONS; exports.TEXT_RENDER_MARGIN = _chunkS55JFWDAcjs.TEXT_RENDER_MARGIN; exports.TEXT_STYLE_FIELDS = _chunkS55JFWDAcjs.TEXT_STYLE_FIELDS; exports.TILE = _chunk474IQG74cjs.TILE; exports.TILE_SHIFT = _chunk474IQG74cjs.TILE_SHIFT; exports.TINT_SCALE = _chunkS55JFWDAcjs.TINT_SCALE; exports.TIP_GRADIENT_STEPS = _chunkPQ3H2AANcjs.TIP_GRADIENT_STEPS; exports.TONE_LUT_SIZE = _chunkS55JFWDAcjs.TONE_LUT_SIZE; exports.TONE_RANGES = _chunk2ONK3ERDcjs.TONE_RANGES; exports.TONE_RANGE_PRESETS = TONE_RANGE_PRESETS; exports.TRANSFORM_ANCHORS = _chunkS55JFWDAcjs.TRANSFORM_ANCHORS; exports.TRANSFORM_ROTATE_HANDLE_OFFSET = TRANSFORM_ROTATE_HANDLE_OFFSET; exports.TextEditSession = TextEditSession; exports.TileMedium = _chunkPQ3H2AANcjs.TileMedium; exports.TilePixelSource = _chunk2ONK3ERDcjs.TilePixelSource; exports.TileableNoise = _chunkPQ3H2AANcjs.TileableNoise; exports.TiledSurface = _chunk474IQG74cjs.TiledSurface; exports.TransformTooLargeError = _chunkB46UQUDCcjs.TransformTooLargeError; exports.TransformedPixelSource = _chunk2ONK3ERDcjs.TransformedPixelSource; exports.TypeToolGesture = TypeToolGesture; exports.UNITS = _chunkKALCIDWHcjs.UNITS; exports.U_MAX = _chunkXFYLA3ZOcjs.U_MAX; exports.VIBRANCE_GREY = _chunkS55JFWDAcjs.VIBRANCE_GREY; exports.W9 = _chunkXFYLA3ZOcjs.W9; exports.WARP_GRID_OPTIONS = WARP_GRID_OPTIONS; exports.WARP_STYLES = _chunkQAUIZPYIcjs.WARP_STYLES; exports.WARP_STYLE_LABELS = _chunkQAUIZPYIcjs.WARP_STYLE_LABELS; exports.WARP_STYLE_OPTIONS = WARP_STYLE_OPTIONS; exports.WET_FLOW_KINDS = _chunkXFYLA3ZOcjs.WET_FLOW_KINDS; exports.WET_PARAM_KEYS = _chunkXFYLA3ZOcjs.WET_PARAM_KEYS; exports.WET_TILE = _chunkXFYLA3ZOcjs.WET_TILE; exports.WGSL_HALO = _chunkXFYLA3ZOcjs.WGSL_HALO; exports.WGSL_SHADE = _chunkXFYLA3ZOcjs.WGSL_SHADE; exports.WGSL_STEP = _chunkXFYLA3ZOcjs.WGSL_STEP; exports.WORKING_SPACE_OPTIONS = WORKING_SPACE_OPTIONS; exports.WORK_PATH_NAME = WORK_PATH_NAME; exports.WORK_SIZE = _chunkKALCIDWHcjs.WORK_SIZE; exports.WetGpuEngine = _chunkXFYLA3ZOcjs.WetGpuEngine; exports.WetMedium = _chunkXFYLA3ZOcjs.WetMedium; exports.WetWorkerPool = _chunkXFYLA3ZOcjs.WetWorkerPool; exports.WetWorld = _chunkXFYLA3ZOcjs.WetWorld; exports.WetWorldError = _chunkXFYLA3ZOcjs.WetWorldError; exports.XYZ_D50_TO_SRGB = _chunkS55JFWDAcjs.XYZ_D50_TO_SRGB; exports.ZlibError = _chunkXFM3OCHUcjs.ZlibError; exports.activeAdjustmentLayers = _chunkS55JFWDAcjs.activeAdjustmentLayers; exports.activeEffectSmartFilters = _chunkS55JFWDAcjs.activeEffectSmartFilters; exports.activeLayerAfterRemoval = _chunkS55JFWDAcjs.activeLayerAfterRemoval; exports.activeSmartFilters = _chunkS55JFWDAcjs.activeSmartFilters; exports.addLayerEffect = _chunkS55JFWDAcjs.addLayerEffect; exports.addLayerFilter = _chunkS55JFWDAcjs.addLayerFilter; exports.addLayerOfKind = addLayerOfKind; exports.addPaintGradientStop = _chunkPQ3H2AANcjs.addPaintGradientStop; exports.addSmartFilter = _chunkS55JFWDAcjs.addSmartFilter; exports.addToHistogram = addToHistogram; exports.adjustmentKindLabel = _chunkS55JFWDAcjs.adjustmentKindLabel; exports.adjustmentLayersKey = _chunkS55JFWDAcjs.adjustmentLayersKey; exports.adjustmentNodeAsLayer = _chunkS55JFWDAcjs.adjustmentNodeAsLayer; exports.adjustmentNodeFromLegacy = _chunkS55JFWDAcjs.adjustmentNodeFromLegacy; exports.adler32 = _chunkXFM3OCHUcjs.adler32; exports.agentDragDraft = agentDragDraft; exports.anchorPoint = _chunkS55JFWDAcjs.anchorPoint; exports.annotationBlend = _chunkS55JFWDAcjs.annotationBlend; exports.annotationLayerFor = _chunkS55JFWDAcjs.annotationLayerFor; exports.annotationLayerName = _chunkS55JFWDAcjs.annotationLayerName; exports.annotationOfLayer = _chunkS55JFWDAcjs.annotationOfLayer; exports.annotationOfShape = _chunkS55JFWDAcjs.annotationOfShape; exports.annotationOfType = _chunkS55JFWDAcjs.annotationOfType; exports.applyAdjustmentLayers = _chunkS55JFWDAcjs.applyAdjustmentLayers; exports.applyAdjustmentLayersFloat = _chunkS55JFWDAcjs.applyAdjustmentLayersFloat; exports.applyAdjustments = _chunkS55JFWDAcjs.applyAdjustments; exports.applyBoxBlur = _chunkS55JFWDAcjs.applyBoxBlur; exports.applyBoxBlurFloat = _chunkS55JFWDAcjs.applyBoxBlurFloat; exports.applyDepthMask = _chunkS55JFWDAcjs.applyDepthMask; exports.applyEdgeUnmix = _chunkS55JFWDAcjs.applyEdgeUnmix; exports.applyHomography = _chunkQT26RHKKcjs.applyHomography; exports.applyImageProjectionToContext = _chunkS55JFWDAcjs.applyImageProjectionToContext; exports.applyLegacyAdjustments = _chunkS55JFWDAcjs.applyLegacyAdjustments; exports.applyLegacyFloat = _chunkS55JFWDAcjs.applyLegacyFloat; exports.applyMatrix3 = _chunkS55JFWDAcjs.applyMatrix3; exports.applyOutputStage = applyOutputStage; exports.applyParams = _chunkS55JFWDAcjs.applyParams; exports.applyProcess2Adjustments = _chunkS55JFWDAcjs.applyProcess2Adjustments; exports.applyProcess2Float = _chunkS55JFWDAcjs.applyProcess2Float; exports.applyRefineEdits = _chunkKALCIDWHcjs.applyRefineEdits; exports.applyRegionBlur = applyRegionBlur; exports.applyRegionMosaic = applyRegionMosaic; exports.applyRetouchToTile = _chunk2ONK3ERDcjs.applyRetouchToTile; exports.applyShapeOptions = applyShapeOptions; exports.applySmartFilters = _chunkS55JFWDAcjs.applySmartFilters; exports.applyStrokeToDeepTile = _chunkPQ3H2AANcjs.applyStrokeToDeepTile; exports.applyStrokeToTile = _chunkPQ3H2AANcjs.applyStrokeToTile; exports.applyToneToDeepTile = _chunk2ONK3ERDcjs.applyToneToDeepTile; exports.backgroundLayer = _chunkS55JFWDAcjs.backgroundLayer; exports.base64ToBytes = _chunkOLNIPTB3cjs.base64ToBytes; exports.baseProjection = baseProjection; exports.bestOffset = _chunkBB6TR422cjs.bestOffset; exports.blackWhiteGray = _chunkS55JFWDAcjs.blackWhiteGray; exports.blendChannel = _chunkOLNIPTB3cjs.blendChannel; exports.blendImageData = _chunkOLNIPTB3cjs.blendImageData; exports.blendLum = _chunkOLNIPTB3cjs.blendLum; exports.blendPixel = _chunkOLNIPTB3cjs.blendPixel; exports.blendRadius = _chunkPQ3H2AANcjs.blendRadius; exports.blendRgb = _chunkOLNIPTB3cjs.blendRgb; exports.blendTile = _chunkB46UQUDCcjs.blendTile; exports.blenderDab = _chunkPQ3H2AANcjs.blenderDab; exports.blurFilter = _chunkS55JFWDAcjs.blurFilter; exports.borderCoverage = _chunkSS53NNZOcjs.borderCoverage; exports.boxBlur = _chunkKALCIDWHcjs.boxBlur; exports.boxBlurPixels = _chunk2ONK3ERDcjs.boxBlurPixels; exports.boxFrameHit = boxFrameHit; exports.boxFrameOverlay = boxFrameOverlay; exports.boxMean = _chunkSS53NNZOcjs.boxMean; exports.boxPointOf = _chunkS55JFWDAcjs.boxPointOf; exports.boxQuad = _chunkQT26RHKKcjs.boxQuad; exports.boxToCurvePoint = boxToCurvePoint; exports.bradfordAdaptation = _chunkS55JFWDAcjs.bradfordAdaptation; exports.brushStrokeMask = _chunkKALCIDWHcjs.brushStrokeMask; exports.brushstrokeDataUrl = _chunkPQ3H2AANcjs.brushstrokeDataUrl; exports.brushstrokeKey = _chunkPQ3H2AANcjs.brushstrokeKey; exports.brushstrokeSamples = _chunkPQ3H2AANcjs.brushstrokeSamples; exports.brushstrokeScaleBucket = _chunkYQGCPL5Xcjs.brushstrokeScaleBucket; exports.brushstrokeStrokeOptions = _chunkPQ3H2AANcjs.brushstrokeStrokeOptions; exports.brushstrokeToCanvas = _chunkPQ3H2AANcjs.brushstrokeToCanvas; exports.buildLayerMaskPlanes = _chunkS55JFWDAcjs.buildLayerMaskPlanes; exports.buildToneLut = _chunkS55JFWDAcjs.buildToneLut; exports.builtinPattern = _chunkB46UQUDCcjs.builtinPattern; exports.builtinPatternIds = _chunkB46UQUDCcjs.builtinPatternIds; exports.bytesToBase64 = _chunkOLNIPTB3cjs.bytesToBase64; exports.calculateCropDrag = _chunkS55JFWDAcjs.calculateCropDrag; exports.canShareMemory = _chunkXFYLA3ZOcjs.canShareMemory; exports.canvasCompositeOperation = _chunkOLNIPTB3cjs.canvasCompositeOperation; exports.canvasToImagePoint = _chunkS55JFWDAcjs.canvasToImagePoint; exports.caretAt = _chunkQAUIZPYIcjs.caretAt; exports.changedTiles = _chunkB46UQUDCcjs.changedTiles; exports.channelThumbnail = channelThumbnail; exports.checkEffectAnimation = checkEffectAnimation; exports.checkEffectTime = checkEffectTime; exports.checkImageEffectPlace = checkImageEffectPlace; exports.clampControlValue = clampControlValue; exports.clampCropToImage = _chunkS55JFWDAcjs.clampCropToImage; exports.cleanMixer = _chunkPQ3H2AANcjs.cleanMixer; exports.cloneSamplePoint = _chunk2ONK3ERDcjs.cloneSamplePoint; exports.cloneSourceLabel = cloneSourceLabel; exports.cloneTransformView = cloneTransformView; exports.collectTiles = _chunk474IQG74cjs.collectTiles; exports.colorBalanceChannel = _chunkS55JFWDAcjs.colorBalanceChannel; exports.colorModePlanes = colorModePlanes; exports.colorModePlanes16 = colorModePlanes16; exports.colorPanelView = colorPanelView; exports.colorRange = colorRange; exports.colorRangePreset = colorRangePreset; exports.combineSelections = _chunkSS53NNZOcjs.combineSelections; exports.compareSelectionMasks = compareSelectionMasks; exports.compileAdjustmentLayer = _chunkS55JFWDAcjs.compileAdjustmentLayer; exports.componentPath = _chunkS55JFWDAcjs.componentPath; exports.componentsCoverage = _chunkS55JFWDAcjs.componentsCoverage; exports.compositeDeep = _chunkS55JFWDAcjs.compositeDeep; exports.compositeSurfaceOver = _chunkB46UQUDCcjs.compositeSurfaceOver; exports.computeHistogram = computeHistogram; exports.computeSelectionBounds = _chunkSS53NNZOcjs.computeSelectionBounds; exports.contentAwareFill = _chunkBB6TR422cjs.contentAwareFill; exports.contentBounds = _chunk474IQG74cjs.contentBounds; exports.contentsBox = _chunkS55JFWDAcjs.contentsBox; exports.contentsSurface = _chunkS55JFWDAcjs.contentsSurface; exports.contractCoverage = _chunkSS53NNZOcjs.contractCoverage; exports.controlPosition = controlPosition; exports.controlTrackBackground = controlTrackBackground; exports.convertColorFields = convertColorFields; exports.convertHex = convertHex; exports.convertSurfaceColors = convertSurfaceColors; exports.convertSurfaceDepth = _chunkOLNIPTB3cjs.convertSurfaceDepth; exports.convertToSmartObject = _chunkS55JFWDAcjs.convertToSmartObject; exports.copySmartObject = _chunkS55JFWDAcjs.copySmartObject; exports.cornersFromMatrix = _chunkS55JFWDAcjs.cornersFromMatrix; exports.coverageTileCoord = _chunkPQ3H2AANcjs.coverageTileCoord; exports.coverageToByte = _chunkSS53NNZOcjs.coverageToByte; exports.coveringRect = coveringRect; exports.createAdjustmentLayer = _chunkS55JFWDAcjs.createAdjustmentLayer; exports.createBlenderScratch = _chunkPQ3H2AANcjs.createBlenderScratch; exports.createCanvasTextShaper = _chunkQAUIZPYIcjs.createCanvasTextShaper; exports.createGradientSampler = createGradientSampler; exports.createImageCaptureSurface = createImageCaptureSurface; exports.createImageColorTools = createImageColorTools; exports.createImageEditTools = createImageEditTools; exports.createImageEditorDocument = createImageEditorDocument; exports.createImageEditorToolProvider = createImageEditorToolProvider; exports.createImageEffectTools = createImageEffectTools; exports.createImageEffectsToolProvider = createImageEffectsToolProvider; exports.createImageLayerTools = createImageLayerTools; exports.createImagePaintTools = createImagePaintTools; exports.createImagePlaybackLocator = createImagePlaybackLocator; exports.createImagePsdTools = createImagePsdTools; exports.createImageRetouchTools = createImageRetouchTools; exports.createImageSegmentationToolProvider = createImageSegmentationToolProvider; exports.createImageSelectionTools = createImageSelectionTools; exports.createImageShapeTools = createImageShapeTools; exports.createImageSmartObjectTools = createImageSmartObjectTools; exports.createImageSubjectSelectionTool = createImageSubjectSelectionTool; exports.createImageTransformTools = createImageTransformTools; exports.createImageTypeTools = createImageTypeTools; exports.createMetricTextShaper = _chunkQAUIZPYIcjs.createMetricTextShaper; exports.createOutlineTextShaper = _chunkQAUIZPYIcjs.createOutlineTextShaper; exports.createPigment = _chunkOLNIPTB3cjs.createPigment; exports.createPigmentTools = _chunkXFYLA3ZOcjs.createPigmentTools; exports.createSelectionMask = _chunkSS53NNZOcjs.createSelectionMask; exports.createShapeLayer = _chunkS55JFWDAcjs.createShapeLayer; exports.createTypeLayer = _chunkS55JFWDAcjs.createTypeLayer; exports.createWetGpuEngine = _chunkXFYLA3ZOcjs.createWetGpuEngine; exports.cssFont = _chunkQAUIZPYIcjs.cssFont; exports.cssFontFamily = _chunkQAUIZPYIcjs.cssFontFamily; exports.curveLut = _chunkB46UQUDCcjs.curveLut; exports.curveLutFromLevels = _chunkS55JFWDAcjs.curveLutFromLevels; exports.curvePointToBox = curvePointToBox; exports.curveSvgPath = curveSvgPath; exports.dabCoverage = _chunkPQ3H2AANcjs.dabCoverage; exports.dabRect = _chunkPQ3H2AANcjs.dabRect; exports.decodeDeepSurface = _chunkS55JFWDAcjs.decodeDeepSurface; exports.decodeLayerChannel = _chunkS55JFWDAcjs.decodeLayerChannel; exports.decodeLayerMask = _chunkS55JFWDAcjs.decodeLayerMask; exports.decodeMergedImage = _chunkS55JFWDAcjs.decodeMergedImage; exports.decodePlanes = _chunkS55JFWDAcjs.decodePlanes; exports.decodePng = _chunkOLNIPTB3cjs.decodePng; exports.decodePngDataUrl = _chunkS55JFWDAcjs.decodePngDataUrl; exports.decodeSelectionRle = _chunkSS53NNZOcjs.decodeSelectionRle; exports.decontaminateColors = _chunkSS53NNZOcjs.decontaminateColors; exports.deepBytes = _chunkOLNIPTB3cjs.deepBytes; exports.deepTile = _chunkOLNIPTB3cjs.deepTile; exports.defaultActiveLayerId = _chunkS55JFWDAcjs.defaultActiveLayerId; exports.defaultAdjustmentParams = _chunkS55JFWDAcjs.defaultAdjustmentParams; exports.defaultEffectGradient = _chunkB46UQUDCcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkB46UQUDCcjs.defaultLayerEffect; exports.defaultShapeName = _chunkS55JFWDAcjs.defaultShapeName; exports.deflate = _chunkXFM3OCHUcjs.deflate; exports.deflateRaw = _chunkXFM3OCHUcjs.deflateRaw; exports.depthMaskAlpha = _chunkS55JFWDAcjs.depthMaskAlpha; exports.depthOf = _chunkOLNIPTB3cjs.depthOf; exports.depthRasterMask = _chunkS55JFWDAcjs.depthRasterMask; exports.describeChannel = describeChannel; exports.describeLayer = describeLayer; exports.describeLayerEffects = describeLayerEffects; exports.describeSelection = describeSelection; exports.describeTransform = _chunkS55JFWDAcjs.describeTransform; exports.deserializeChannels = deserializeChannels; exports.deserializeColorMode = deserializeColorMode; exports.deserializeColorProfile = deserializeColorProfile; exports.deserializeEffects = _chunkS55JFWDAcjs.deserializeEffects; exports.deserializeLayer = _chunkS55JFWDAcjs.deserializeLayer; exports.deserializeLayers = _chunkS55JFWDAcjs.deserializeLayers; exports.deserializeMask = _chunkKALCIDWHcjs.deserializeMask; exports.deserializePatterns = _chunkS55JFWDAcjs.deserializePatterns; exports.deserializeSelection = _chunkSS53NNZOcjs.deserializeSelection; exports.despillEdge = _chunkS55JFWDAcjs.despillEdge; exports.developFilter = _chunkS55JFWDAcjs.developFilter; exports.developFromAdjustments = _chunkS55JFWDAcjs.developFromAdjustments; exports.developTarget = _chunkS55JFWDAcjs.developTarget; exports.dexp = _chunkXFYLA3ZOcjs.dexp; exports.dilateMask = _chunkBB6TR422cjs.dilateMask; exports.displayTransform = displayTransform; exports.distanceTransform = _chunkSS53NNZOcjs.distanceTransform; exports.dlog = _chunkXFYLA3ZOcjs.dlog; exports.documentContents = _chunkS55JFWDAcjs.documentContents; exports.documentProfile = documentProfile; exports.dodgeBurn = _chunk2ONK3ERDcjs.dodgeBurn; exports.dodgeBurnCurve = _chunk2ONK3ERDcjs.dodgeBurnCurve; exports.downloadMaskImage = downloadMaskImage; exports.downloadPsd = downloadPsd; exports.dpow = _chunkXFYLA3ZOcjs.dpow; exports.dragWarpMeshPoint = _chunkQAUIZPYIcjs.dragWarpMeshPoint; exports.dropPlacement = dropPlacement; exports.dropZone = dropZone; exports.dsincos = _chunkXFYLA3ZOcjs.dsincos; exports.duplicateLayer = _chunkS55JFWDAcjs.duplicateLayer; exports.edgeBits = _chunkXFYLA3ZOcjs.edgeBits; exports.edgeWidth = _chunkSS53NNZOcjs.edgeWidth; exports.effectColorHex = _chunkB46UQUDCcjs.effectColorHex; exports.effectControlChange = effectControlChange; exports.effectLayerTiming = effectLayerTiming; exports.effectPixelsToSurface = effectPixelsToSurface; exports.effectReach = _chunkB46UQUDCcjs.effectReach; exports.effectiveLayerMask = _chunkS55JFWDAcjs.effectiveLayerMask; exports.effectiveProof = effectiveProof; exports.effectsFingerprint = _chunkB46UQUDCcjs.effectsFingerprint; exports.effectsMargin = _chunkB46UQUDCcjs.effectsMargin; exports.effectsScale = _chunkB46UQUDCcjs.effectsScale; exports.ellipsePoints = _chunkKALCIDWHcjs.ellipsePoints; exports.ellipseSelection = _chunkKALCIDWHcjs.ellipseSelection; exports.emptyHistogram = emptyHistogram; exports.emptySurface = _chunk474IQG74cjs.emptySurface; exports.encodeDeepSurface = _chunkS55JFWDAcjs.encodeDeepSurface; exports.encodePng = _chunkOLNIPTB3cjs.encodePng; exports.encodeRle = _chunkS55JFWDAcjs.encodeRle; exports.encodeSelectionRle = _chunkSS53NNZOcjs.encodeSelectionRle; exports.encodeSurface = _chunkS55JFWDAcjs.encodeSurface; exports.evalWarpMesh = _chunkQAUIZPYIcjs.evalWarpMesh; exports.evaluateAdjustmentLayers = _chunkS55JFWDAcjs.evaluateAdjustmentLayers; exports.exchangeRates = _chunkPQ3H2AANcjs.exchangeRates; exports.expNeg = _chunkXFYLA3ZOcjs.expNeg; exports.expandCoverage = _chunkSS53NNZOcjs.expandCoverage; exports.exportPsd = _chunkS55JFWDAcjs.exportPsd; exports.extractNormalizedLayerItems = extractNormalizedLayerItems; exports.featherCoverage = _chunkSS53NNZOcjs.featherCoverage; exports.fillRect = _chunk474IQG74cjs.fillRect; exports.filmPixel = _chunkXFYLA3ZOcjs.filmPixel; exports.filmReflectance = _chunkXFYLA3ZOcjs.filmReflectance; exports.filterMaskCoverage = _chunkS55JFWDAcjs.filterMaskCoverage; exports.findAdjustmentControl = findAdjustmentControl; exports.findLayer = _chunkB46UQUDCcjs.findLayer; exports.findLayerControl = findLayerControl; exports.findSky = _chunkKALCIDWHcjs.findSky; exports.findSubject = _chunkKALCIDWHcjs.findSubject; exports.findWebGpu = _chunkXFYLA3ZOcjs.findWebGpu; exports.finishTile = _chunk474IQG74cjs.finishTile; exports.fitParagraphRuns = _chunkQAUIZPYIcjs.fitParagraphRuns; exports.fitRuns = _chunkQAUIZPYIcjs.fitRuns; exports.flattenLayers = _chunkB46UQUDCcjs.flattenLayers; exports.flattenPath = _chunkS55JFWDAcjs.flattenPath; exports.flipCorners = _chunkS55JFWDAcjs.flipCorners; exports.flowField = _chunkXFYLA3ZOcjs.flowField; exports.focusArea = _chunkKALCIDWHcjs.focusArea; exports.followLayerMove = _chunkS55JFWDAcjs.followLayerMove; exports.fontOf = _chunkQAUIZPYIcjs.fontOf; exports.forgetSelectAndMaskSettings = forgetSelectAndMaskSettings; exports.formatControlValue = formatControlValue; exports.fullSelection = _chunkSS53NNZOcjs.fullSelection; exports.gaussianBlur = _chunkK6PXS6DOcjs.gaussianBlur; exports.geometryHomography = _chunkS55JFWDAcjs.geometryHomography; exports.getAnnotationBounds = _chunkS55JFWDAcjs.getAnnotationBounds; exports.getControlPath = getControlPath; exports.getCropCursor = _chunkS55JFWDAcjs.getCropCursor; exports.getRotatedSize = _chunkS55JFWDAcjs.getRotatedSize; exports.getViewportMetrics = _chunkS55JFWDAcjs.getViewportMetrics; exports.getViewportProjection = _chunkS55JFWDAcjs.getViewportProjection; exports.globalImageCache = globalImageCache; exports.grabCutLabels = _chunkKALCIDWHcjs.grabCutLabels; exports.gradientDabColor = _chunkPQ3H2AANcjs.gradientDabColor; exports.grainCatch = _chunkPQ3H2AANcjs.grainCatch; exports.grainHeights = _chunkPQ3H2AANcjs.grainHeights; exports.greyMorphology = _chunkSS53NNZOcjs.greyMorphology; exports.groupLayers = _chunkS55JFWDAcjs.groupLayers; exports.growSelection = growSelection; exports.guidePlanes = _chunkSS53NNZOcjs.guidePlanes; exports.guidedFilterColor = _chunkSS53NNZOcjs.guidedFilterColor; exports.handleMaskViewKey = handleMaskViewKey; exports.handlePaintShortcut = handlePaintShortcut; exports.handleQuickMaskKey = handleQuickMaskKey; exports.handleSelectionShortcut = handleSelectionShortcut; exports.hasActiveEffects = _chunkB46UQUDCcjs.hasActiveEffects; exports.hasEdgeUnmix = _chunkS55JFWDAcjs.hasEdgeUnmix; exports.hasLayersBelow = hasLayersBelow; exports.hasResampledLegacyMask = _chunkS55JFWDAcjs.hasResampledLegacyMask; exports.hasSoftBand = _chunkS55JFWDAcjs.hasSoftBand; exports.hasSurface = _chunkS55JFWDAcjs.hasSurface; exports.hasWarp = _chunkS55JFWDAcjs.hasWarp; exports.hash2 = _chunkPQ3H2AANcjs.hash2; exports.hashMaskContent = _chunkSS53NNZOcjs.hashMaskContent; exports.hashNoise = _chunkB46UQUDCcjs.hashNoise; exports.healPixels = _chunk2ONK3ERDcjs.healPixels; exports.hexToPaintRgb = _chunkPQ3H2AANcjs.hexToPaintRgb; exports.hexToRgb = _chunkS55JFWDAcjs.hexToRgb; exports.histogramPath = histogramPath; exports.hitTestAnnotation = _chunkS55JFWDAcjs.hitTestAnnotation; exports.hitTestCrop = _chunkS55JFWDAcjs.hitTestCrop; exports.hitTestCurvePoint = hitTestCurvePoint; exports.homographyFromAffine = _chunkQT26RHKKcjs.homographyFromAffine; exports.homographyFromPoints = _chunkQT26RHKKcjs.homographyFromPoints; exports.hslToRgb = _chunkS55JFWDAcjs.hslToRgb; exports.hueRange = hueRange; exports.hueRangeTables = _chunkS55JFWDAcjs.hueRangeTables; exports.hueRangeWeight = _chunkS55JFWDAcjs.hueRangeWeight; exports.hueSaturation = _chunkS55JFWDAcjs.hueSaturation; exports.identityCurve = _chunkS55JFWDAcjs.identityCurve; exports.identityLevels = _chunkS55JFWDAcjs.identityLevels; exports.identityTransform = _chunkS55JFWDAcjs.identityTransform; exports.identityWarpMesh = _chunkQAUIZPYIcjs.identityWarpMesh; exports.imageEditorStateMigrations = imageEditorStateMigrations; exports.imageLayerAppliedEffects = imageLayerAppliedEffects; exports.imagePanelTool = imagePanelTool; exports.imagePlaybackPanel = imagePlaybackPanel; exports.imageToCanvasPoint = _chunkS55JFWDAcjs.imageToCanvasPoint; exports.imageToolCanvasMode = imageToolCanvasMode; exports.imageToolForShortcut = imageToolForShortcut; exports.imageToolGroup = imageToolGroup; exports.imageToolLabel = imageToolLabel; exports.imageToolPanel = imageToolPanel; exports.importPsd = _chunkS55JFWDAcjs.importPsd; exports.inflate = _chunkXFM3OCHUcjs.inflate; exports.inflateRaw = _chunkXFM3OCHUcjs.inflateRaw; exports.insertCurvePoint = insertCurvePoint; exports.insertLayer = _chunkB46UQUDCcjs.insertLayer; exports.inspectMaskEdge = inspectMaskEdge; exports.instancesOf = _chunkS55JFWDAcjs.instancesOf; exports.invertHomography = _chunkQT26RHKKcjs.invertHomography; exports.invertMatrix3 = _chunkS55JFWDAcjs.invertMatrix3; exports.invertSelection = _chunkSS53NNZOcjs.invertSelection; exports.isActiveFilter = _chunkS55JFWDAcjs.isActiveFilter; exports.isActiveVectorMask = _chunkS55JFWDAcjs.isActiveVectorMask; exports.isAdjustmentKind = _chunkS55JFWDAcjs.isAdjustmentKind; exports.isBitDepth = _chunkOLNIPTB3cjs.isBitDepth; exports.isBlendMode = _chunkOLNIPTB3cjs.isBlendMode; exports.isBrushstrokeBrush = _chunkPQ3H2AANcjs.isBrushstrokeBrush; exports.isColorRangePreset = isColorRangePreset; exports.isContentsDecoded = _chunkS55JFWDAcjs.isContentsDecoded; exports.isDefaultDepthMask = _chunkS55JFWDAcjs.isDefaultDepthMask; exports.isGradientPaint = _chunkPQ3H2AANcjs.isGradientPaint; exports.isIdentityCloneTransform = _chunk2ONK3ERDcjs.isIdentityCloneTransform; exports.isIdentityTransform = _chunkS55JFWDAcjs.isIdentityTransform; exports.isInterpolation = _chunkB46UQUDCcjs.isInterpolation; exports.isLayerEffectKind = _chunkB46UQUDCcjs.isLayerEffectKind; exports.isLayerLocked = _chunkB46UQUDCcjs.isLayerLocked; exports.isLegacyShape = _chunkS55JFWDAcjs.isLegacyShape; exports.isPaintTool = isPaintTool; exports.isPaintableLayer = _chunkS55JFWDAcjs.isPaintableLayer; exports.isPainterlyBlendMode = _chunkOLNIPTB3cjs.isPainterlyBlendMode; exports.isPathEditTool = isPathEditTool; exports.isPng = _chunkOLNIPTB3cjs.isPng; exports.isQuarterTurn = isQuarterTurn; exports.isQuarterTurnSwapped = _chunkS55JFWDAcjs.isQuarterTurnSwapped; exports.isRenderedLayer = _chunkS55JFWDAcjs.isRenderedLayer; exports.isRetouchPaintTool = isRetouchPaintTool; exports.isRetouchTool = isRetouchTool; exports.isSelectionEmpty = _chunkSS53NNZOcjs.isSelectionEmpty; exports.isSelectionMode = _chunkSS53NNZOcjs.isSelectionMode; exports.isSeparableBlendMode = _chunkOLNIPTB3cjs.isSeparableBlendMode; exports.isSmartSurfaceIncomplete = _chunkS55JFWDAcjs.isSmartSurfaceIncomplete; exports.isSpatialFilter = _chunkS55JFWDAcjs.isSpatialFilter; exports.isSrgb = isSrgb; exports.isTransformAnchor = _chunkS55JFWDAcjs.isTransformAnchor; exports.isValidWarp = _chunkS55JFWDAcjs.isValidWarp; exports.keepDeepSamples = _chunkOLNIPTB3cjs.keepDeepSamples; exports.keepMainPieces = _chunkKALCIDWHcjs.keepMainPieces; exports.kelvinToTemperature = _chunkS55JFWDAcjs.kelvinToTemperature; exports.keysWeight = _chunkB46UQUDCcjs.keysWeight; exports.latticeViscosity = _chunkXFYLA3ZOcjs.latticeViscosity; exports.layerBadge = layerBadge; exports.layerEffectControls = layerEffectControls; exports.layerEffectFields = _chunkB46UQUDCcjs.layerEffectFields; exports.layerEffectLabel = _chunkB46UQUDCcjs.layerEffectLabel; exports.layerEffectsBadge = layerEffectsBadge; exports.layerEffectsOf = _chunkS55JFWDAcjs.layerEffectsOf; exports.layerEffectsPanel = layerEffectsPanel; exports.layerHasThumbnail = layerHasThumbnail; exports.layerLabel = layerLabel; exports.layerMaskCoverage = _chunkS55JFWDAcjs.layerMaskCoverage; exports.layerMaskFromSelection = _chunkS55JFWDAcjs.layerMaskFromSelection; exports.layerMaskKey = _chunkS55JFWDAcjs.layerMaskKey; exports.layerMaskSelection = _chunkS55JFWDAcjs.layerMaskSelection; exports.layerMenu = layerMenu; exports.layerName = _chunkS55JFWDAcjs.layerName; exports.layerPanelRows = layerPanelRows; exports.layerPanels = layerPanels; exports.layerThumbnailClick = layerThumbnailClick; exports.layerTree = _chunkS55JFWDAcjs.layerTree; exports.layerTypeLabel = _chunkS55JFWDAcjs.layerTypeLabel; exports.layerWarning = layerWarning; exports.layersFromLegacy = _chunkS55JFWDAcjs.layersFromLegacy; exports.layoutText = _chunkQAUIZPYIcjs.layoutText; exports.legacyAdjustmentLayer = _chunkS55JFWDAcjs.legacyAdjustmentLayer; exports.legacyMaskOf = _chunkS55JFWDAcjs.legacyMaskOf; exports.legacyView = _chunkS55JFWDAcjs.legacyView; exports.lerpPigment = _chunkOLNIPTB3cjs.lerpPigment; exports.lerpPigmentInto = _chunkOLNIPTB3cjs.lerpPigmentInto; exports.levelsValue = _chunkS55JFWDAcjs.levelsValue; exports.linearSrgbToXy = _chunkS55JFWDAcjs.linearSrgbToXy; exports.linearToSrgb = _chunkS55JFWDAcjs.linearToSrgb; exports.linearToSrgb8 = _chunkXFYLA3ZOcjs.linearToSrgb8; exports.liveComponent = _chunkS55JFWDAcjs.liveComponent; exports.liveShapeForDrag = liveShapeForDrag; exports.liveShapeSubpaths = _chunkS55JFWDAcjs.liveShapeSubpaths; exports.liveWire = liveWire; exports.loadImageEditorDocument = loadImageEditorDocument; exports.loadMixer = _chunkPQ3H2AANcjs.loadMixer; exports.loadOpenTypeFont = _chunkLCCMOWR7cjs.loadOpenTypeFont; exports.loadWetKernel = _chunkXFYLA3ZOcjs.loadWetKernel; exports.luma = _chunk2ONK3ERDcjs.luma; exports.magicWand = magicWand; exports.magneticAnchorSpacing = magneticAnchorSpacing; exports.mapCropHandle = _chunkS55JFWDAcjs.mapCropHandle; exports.mapLayer = _chunkB46UQUDCcjs.mapLayer; exports.mapSubpaths = _chunkS55JFWDAcjs.mapSubpaths; exports.maskBounds = _chunkBB6TR422cjs.maskBounds; exports.maskCoverageOverCanvas = _chunkS55JFWDAcjs.maskCoverageOverCanvas; exports.maskFileName = maskFileName; exports.maskNameFromFile = maskNameFromFile; exports.maskSummary = maskSummary; exports.maskThumbnailClick = maskThumbnailClick; exports.matrixFromCorners = _chunkS55JFWDAcjs.matrixFromCorners; exports.matrixFromParams = _chunkS55JFWDAcjs.matrixFromParams; exports.measureCanvasViewport = measureCanvasViewport; exports.membraneFill = _chunkBB6TR422cjs.membraneFill; exports.mergeLayerEffect = _chunkB46UQUDCcjs.mergeLayerEffect; exports.mergeShapeComponents = _chunkS55JFWDAcjs.mergeShapeComponents; exports.migrateSerializedImageEditorState = migrateSerializedImageEditorState; exports.migrateToLayeredState = migrateToLayeredState; exports.mix32 = _chunkPQ3H2AANcjs.mix32; exports.mixPigment8 = _chunkOLNIPTB3cjs.mixPigment8; exports.mixPigmentRgb = _chunkOLNIPTB3cjs.mixPigmentRgb; exports.mixPigments = _chunkOLNIPTB3cjs.mixPigments; exports.mixerLoadResult = mixerLoadResult; exports.mixerRates = _chunkPQ3H2AANcjs.mixerRates; exports.modifySelection = _chunkSS53NNZOcjs.modifySelection; exports.moveCurvePoint = moveCurvePoint; exports.moveLayer = _chunkS55JFWDAcjs.moveLayer; exports.moveSmartFilter = _chunkS55JFWDAcjs.moveSmartFilter; exports.moveWetSnapshot = _chunkXFYLA3ZOcjs.moveWetSnapshot; exports.mulMatrix3 = _chunkS55JFWDAcjs.mulMatrix3; exports.needsLegacyBase = needsLegacyBase; exports.neutralHueRange = _chunkS55JFWDAcjs.neutralHueRange; exports.newContentsId = _chunkS55JFWDAcjs.newContentsId; exports.newEffectId = _chunkB46UQUDCcjs.newEffectId; exports.newLayerId = _chunkS55JFWDAcjs.newLayerId; exports.newLayerOptions = newLayerOptions; exports.newPathId = newPathId; exports.normalizeAdjustmentLayer = _chunkS55JFWDAcjs.normalizeAdjustmentLayer; exports.normalizeAdjustmentLayers = _chunkS55JFWDAcjs.normalizeAdjustmentLayers; exports.normalizeAngle = _chunkS55JFWDAcjs.normalizeAngle; exports.normalizeBlendMode = _chunkOLNIPTB3cjs.normalizeBlendMode; exports.normalizeBlender = _chunkPQ3H2AANcjs.normalizeBlender; exports.normalizeBrush = _chunkPQ3H2AANcjs.normalizeBrush; exports.normalizeFilter = _chunkS55JFWDAcjs.normalizeFilter; exports.normalizeFlow = _chunkXFYLA3ZOcjs.normalizeFlow; exports.normalizeHexColor = _chunkPQ3H2AANcjs.normalizeHexColor; exports.normalizeLayerEffects = _chunkB46UQUDCcjs.normalizeLayerEffects; exports.normalizeLayerMask = _chunkS55JFWDAcjs.normalizeLayerMask; exports.normalizeLiveShape = _chunkS55JFWDAcjs.normalizeLiveShape; exports.normalizeMixer = _chunkPQ3H2AANcjs.normalizeMixer; exports.normalizePlacement = _chunkS55JFWDAcjs.normalizePlacement; exports.normalizeProcessVersion = _chunkS55JFWDAcjs.normalizeProcessVersion; exports.normalizeRect = _chunkKALCIDWHcjs.normalizeRect; exports.normalizeRefineEdgeParams = _chunkSS53NNZOcjs.normalizeRefineEdgeParams; exports.normalizeRetouch = _chunk2ONK3ERDcjs.normalizeRetouch; exports.normalizeShapePaint = _chunkS55JFWDAcjs.normalizeShapePaint; exports.normalizeShapeStroke = _chunkS55JFWDAcjs.normalizeShapeStroke; exports.normalizeSmartFilter = _chunkS55JFWDAcjs.normalizeSmartFilter; exports.normalizeSmudge = _chunkPQ3H2AANcjs.normalizeSmudge; exports.normalizeStoredAdjustments = normalizeStoredAdjustments; exports.normalizeSubpaths = _chunkS55JFWDAcjs.normalizeSubpaths; exports.normalizeText = _chunkS55JFWDAcjs.normalizeText; exports.normalizeTilt = _chunkXFYLA3ZOcjs.normalizeTilt; exports.normalizeWetParams = _chunkXFYLA3ZOcjs.normalizeWetParams; exports.offsetLayer = _chunkS55JFWDAcjs.offsetLayer; exports.offsetShape = _chunkS55JFWDAcjs.offsetShape; exports.offsetSmartObject = _chunkS55JFWDAcjs.offsetSmartObject; exports.offsetVectorMask = _chunkS55JFWDAcjs.offsetVectorMask; exports.openMaskFile = openMaskFile; exports.openPsdFile = openPsdFile; exports.otsuThreshold = _chunkKALCIDWHcjs.otsuThreshold; exports.packRgba = _chunk474IQG74cjs.packRgba; exports.packWetParams = _chunkXFYLA3ZOcjs.packWetParams; exports.paintGradientMappingFor = _chunkPQ3H2AANcjs.paintGradientMappingFor; exports.paintPathStroke = _chunkPQ3H2AANcjs.paintPathStroke; exports.paintSourceColor = _chunkPQ3H2AANcjs.paintSourceColor; exports.paintSourceCss = _chunkPQ3H2AANcjs.paintSourceCss; exports.paragraphRanges = _chunkQAUIZPYIcjs.paragraphRanges; exports.parseAdjustmentBlock = _chunkS55JFWDAcjs.parseAdjustmentBlock; exports.parseBlend = _chunkS55JFWDAcjs.parseBlend; exports.parseColor = parseColor; exports.parseCssColor = _chunkA2IS7EHEcjs.parseCssColor; exports.parseDataUrl = _chunkOLNIPTB3cjs.parseDataUrl; exports.parseEffectColor = _chunkB46UQUDCcjs.parseEffectColor; exports.parseLfx2 = _chunkS55JFWDAcjs.parseLfx2; exports.parseLrfx = _chunkS55JFWDAcjs.parseLrfx; exports.parseOpenTypeFont = _chunkLCCMOWR7cjs.parseOpenTypeFont; exports.parsePaintSource = _chunkPQ3H2AANcjs.parsePaintSource; exports.parsePatternBlock = _chunkS55JFWDAcjs.parsePatternBlock; exports.parseSelectionMode = _chunkSS53NNZOcjs.parseSelectionMode; exports.parseVersionedDescriptor = _chunkS55JFWDAcjs.parseVersionedDescriptor; exports.patchParagraphStyle = _chunkS55JFWDAcjs.patchParagraphStyle; exports.patchTextStyle = _chunkS55JFWDAcjs.patchTextStyle; exports.pathAnchorCount = pathAnchorCount; exports.pathBounds = pathBounds; exports.pathStrokeCoverage = _chunkPQ3H2AANcjs.pathStrokeCoverage; exports.pathStrokeDabs = _chunkPQ3H2AANcjs.pathStrokeDabs; exports.pathSvgData = pathSvgData; exports.pathToSelection = pathToSelection; exports.perDabStrength = _chunk2ONK3ERDcjs.perDabStrength; exports.photoFilterMatrix = _chunkS55JFWDAcjs.photoFilterMatrix; exports.pigment8 = _chunkOLNIPTB3cjs.pigment8; exports.pigmentColor = _chunkXFYLA3ZOcjs.pigmentColor; exports.pigmentOf = _chunkXFYLA3ZOcjs.pigmentOf; exports.pixelLayerBounds = _chunkS55JFWDAcjs.pixelLayerBounds; exports.pixelLayers = _chunkS55JFWDAcjs.pixelLayers; exports.pixelPigment = _chunkXFYLA3ZOcjs.pixelPigment; exports.placeContents = _chunkS55JFWDAcjs.placeContents; exports.placeLayer = _chunkS55JFWDAcjs.placeLayer; exports.placementAt = _chunkS55JFWDAcjs.placementAt; exports.placementBounds = _chunkS55JFWDAcjs.placementBounds; exports.placementGeometry = _chunkS55JFWDAcjs.placementGeometry; exports.planImageToolPlayback = planImageToolPlayback; exports.planOutlineTrace = planOutlineTrace; exports.pngDataUrl = _chunkOLNIPTB3cjs.pngDataUrl; exports.pointerPressure = _chunkXFYLA3ZOcjs.pointerPressure; exports.pointerStrokeSample = _chunkXFYLA3ZOcjs.pointerStrokeSample; exports.pointerStrokeSamples = _chunkXFYLA3ZOcjs.pointerStrokeSamples; exports.polygonCoverage = _chunkKALCIDWHcjs.polygonCoverage; exports.polygonCoverageBox = _chunkKALCIDWHcjs.polygonCoverageBox; exports.polygonSelection = _chunkKALCIDWHcjs.polygonSelection; exports.posterizeValue = _chunkS55JFWDAcjs.posterizeValue; exports.presetWarp = _chunkS55JFWDAcjs.presetWarp; exports.previewStep = previewStep; exports.profileBytes = profileBytes; exports.projectImagePoint = _chunkS55JFWDAcjs.projectImagePoint; exports.projectImageRect = _chunkS55JFWDAcjs.projectImageRect; exports.projectMaskCoverage = _chunkS55JFWDAcjs.projectMaskCoverage; exports.projectQuarterTurn = projectQuarterTurn; exports.proxyOf = _chunkOLNIPTB3cjs.proxyOf; exports.psdBytesFromBase64 = psdBytesFromBase64; exports.psdFileName = psdFileName; exports.psdPatternToEffectPattern = _chunkS55JFWDAcjs.psdPatternToEffectPattern; exports.psdToLayers = _chunkS55JFWDAcjs.psdToLayers; exports.pullWarpMesh = _chunkQAUIZPYIcjs.pullWarpMesh; exports.put255 = _chunkPQ3H2AANcjs.put255; exports.quadFrameOverlay = quadFrameOverlay; exports.quickMaskPixels = quickMaskPixels; exports.quickSelectStroke = _chunkKALCIDWHcjs.quickSelectStroke; exports.rand01 = _chunkPQ3H2AANcjs.rand01; exports.randSigned = _chunkPQ3H2AANcjs.randSigned; exports.rangeLightness = _chunkS55JFWDAcjs.rangeLightness; exports.rasterContents = _chunkS55JFWDAcjs.rasterContents; exports.rasterMaskFromLegacy = _chunkS55JFWDAcjs.rasterMaskFromLegacy; exports.rasterizeCoverage = _chunkS55JFWDAcjs.rasterizeCoverage; exports.rasterizeDab = _chunkPQ3H2AANcjs.rasterizeDab; exports.rasterizeSmartObject = _chunkS55JFWDAcjs.rasterizeSmartObject; exports.readAdjustmentControls = readAdjustmentControls; exports.readDeepRegion = _chunkOLNIPTB3cjs.readDeepRegion; exports.readEdgeColor = _chunkS55JFWDAcjs.readEdgeColor; exports.readPaintSource = _chunkPQ3H2AANcjs.readPaintSource; exports.readPaths = readPaths; exports.readPixel = _chunk474IQG74cjs.readPixel; exports.readPsd = _chunkS55JFWDAcjs.readPsd; exports.readRegion = _chunk474IQG74cjs.readRegion; exports.readShapeComponents = _chunkS55JFWDAcjs.readShapeComponents; exports.readSourceRegion = _chunk2ONK3ERDcjs.readSourceRegion; exports.rectSelection = _chunkKALCIDWHcjs.rectSelection; exports.rectToQuad = _chunkQT26RHKKcjs.rectToQuad; exports.reduceSurface = _chunkB46UQUDCcjs.reduceSurface; exports.referencePoint = _chunkS55JFWDAcjs.referencePoint; exports.refineCoverage = _chunkSS53NNZOcjs.refineCoverage; exports.refineEdgeHalo = _chunkSS53NNZOcjs.refineEdgeHalo; exports.refineSelection = _chunkSS53NNZOcjs.refineSelection; exports.reflectanceToRgb = _chunkOLNIPTB3cjs.reflectanceToRgb; exports.removeAlpha = _chunkS55JFWDAcjs.removeAlpha; exports.removeCurvePoint = removeCurvePoint; exports.removeLayer = _chunkS55JFWDAcjs.removeLayer; exports.removeLayerEffect = _chunkS55JFWDAcjs.removeLayerEffect; exports.removeLayerFilter = _chunkS55JFWDAcjs.removeLayerFilter; exports.removePaintGradientStop = _chunkPQ3H2AANcjs.removePaintGradientStop; exports.removeSmartFilter = _chunkS55JFWDAcjs.removeSmartFilter; exports.renderBrushstroke = _chunkPQ3H2AANcjs.renderBrushstroke; exports.renderLayerEffects = _chunkB46UQUDCcjs.renderLayerEffects; exports.renderLayeredBase = renderLayeredBase; exports.renderShape = _chunkS55JFWDAcjs.renderShape; exports.renderShapeRect = _chunkS55JFWDAcjs.renderShapeRect; exports.renderSmartObject = _chunkS55JFWDAcjs.renderSmartObject; exports.renderText = _chunkS55JFWDAcjs.renderText; exports.replaceContents = _chunkS55JFWDAcjs.replaceContents; exports.replaceTextRange = _chunkS55JFWDAcjs.replaceTextRange; exports.requireLayer = _chunkS55JFWDAcjs.requireLayer; exports.requireOperation = _chunkS55JFWDAcjs.requireOperation; exports.requireShapeLayer = _chunkS55JFWDAcjs.requireShapeLayer; exports.requireSmartObject = _chunkS55JFWDAcjs.requireSmartObject; exports.requireTypeLayer = _chunkS55JFWDAcjs.requireTypeLayer; exports.requireUnlocked = _chunkS55JFWDAcjs.requireUnlocked; exports.rerender = _chunkS55JFWDAcjs.rerender; exports.rerenderShape = _chunkS55JFWDAcjs.rerenderShape; exports.rerenderText = _chunkS55JFWDAcjs.rerenderText; exports.resizePixels = resizePixels; exports.resizeSelection = _chunkSS53NNZOcjs.resizeSelection; exports.resizeWarpMesh = _chunkQAUIZPYIcjs.resizeWarpMesh; exports.resolveExternalAssets = _chunkS55JFWDAcjs.resolveExternalAssets; exports.resolveMosaicRegionBounds = resolveMosaicRegionBounds; exports.resolvePaintGradient = _chunkPQ3H2AANcjs.resolvePaintGradient; exports.resolveProfile = resolveProfile; exports.resolveVectorMasks = _chunkS55JFWDAcjs.resolveVectorMasks; exports.restyleRange = _chunkQAUIZPYIcjs.restyleRange; exports.retouchFilter = _chunk2ONK3ERDcjs.retouchFilter; exports.reversePaintGradient = _chunkPQ3H2AANcjs.reversePaintGradient; exports.rgbToGray = _chunkS55JFWDAcjs.rgbToGray; exports.rgbToHsl = _chunkS55JFWDAcjs.rgbToHsl; exports.rgbToReflectance = _chunkOLNIPTB3cjs.rgbToReflectance; exports.rgbUnitToHex = rgbUnitToHex; exports.rgbaViewOfGrey = _chunk2ONK3ERDcjs.rgbaViewOfGrey; exports.runLayerFilters = _chunkS55JFWDAcjs.runLayerFilters; exports.runLayerFiltersFloat = _chunkS55JFWDAcjs.runLayerFiltersFloat; exports.runLayerMenuAction = runLayerMenuAction; exports.runSelectionJob = _chunkKALCIDWHcjs.runSelectionJob; exports.sameCanvasViewport = sameCanvasViewport; exports.sampleLut = _chunkS55JFWDAcjs.sampleLut; exports.sampleToneLut = _chunkS55JFWDAcjs.sampleToneLut; exports.saturationOf = _chunk2ONK3ERDcjs.saturationOf; exports.scaleLayerEffect = _chunkB46UQUDCcjs.scaleLayerEffect; exports.scalePaintGradient = _chunkPQ3H2AANcjs.scalePaintGradient; exports.seamlessClone = _chunkBB6TR422cjs.seamlessClone; exports.seedFromString = _chunkPQ3H2AANcjs.seedFromString; exports.segmentToSelection = segmentToSelection; exports.segmentationOutlines = segmentationOutlines; exports.segmentsToSelection = segmentsToSelection; exports.selectObjectIn = _chunkKALCIDWHcjs.selectObjectIn; exports.selectSimilar = selectSimilar; exports.selectionArea = _chunkSS53NNZOcjs.selectionArea; exports.selectionDiffPixels = selectionDiffPixels; exports.selectionFromCoverage = _chunkSS53NNZOcjs.selectionFromCoverage; exports.selectionFromPixels = _chunkSS53NNZOcjs.selectionFromPixels; exports.selectionFromRegion = _chunkSS53NNZOcjs.selectionFromRegion; exports.selectionFromTiles = _chunkSS53NNZOcjs.selectionFromTiles; exports.selectionModeFromModifiers = selectionModeFromModifiers; exports.selectionOutline = selectionOutline; exports.selectionOutlinePaths = selectionOutlinePaths; exports.selectionRing = selectionRing; exports.selectionToCoverage = _chunkSS53NNZOcjs.selectionToCoverage; exports.selectionToPixels = _chunkSS53NNZOcjs.selectionToPixels; exports.selectionToSubpaths = selectionToSubpaths; exports.selectionUncertainty = selectionUncertainty; exports.selectionValueAt = _chunkSS53NNZOcjs.selectionValueAt; exports.serializeChannels = serializeChannels; exports.serializeColorMode = serializeColorMode; exports.serializeColorProfile = serializeColorProfile; exports.serializeContents = _chunkS55JFWDAcjs.serializeContents; exports.serializeEffects = _chunkS55JFWDAcjs.serializeEffects; exports.serializeLayer = _chunkS55JFWDAcjs.serializeLayer; exports.serializeLayers = _chunkS55JFWDAcjs.serializeLayers; exports.serializeLayersExternal = _chunkS55JFWDAcjs.serializeLayersExternal; exports.serializeMask = _chunkKALCIDWHcjs.serializeMask; exports.serializePaths = serializePaths; exports.serializePatterns = _chunkS55JFWDAcjs.serializePatterns; exports.serializeSelection = _chunkSS53NNZOcjs.serializeSelection; exports.setCloneTransformValue = setCloneTransformValue; exports.setControlPath = setControlPath; exports.setLayerEffects = _chunkS55JFWDAcjs.setLayerEffects; exports.setLayerEffectsEnabled = _chunkS55JFWDAcjs.setLayerEffectsEnabled; exports.setLayerMask = _chunkS55JFWDAcjs.setLayerMask; exports.setLayerProperties = _chunkS55JFWDAcjs.setLayerProperties; exports.setLum = _chunkOLNIPTB3cjs.setLum; exports.setPigmentColor = _chunkOLNIPTB3cjs.setPigmentColor; exports.setRetouchChoice = setRetouchChoice; exports.setSmartFilterMask = _chunkS55JFWDAcjs.setSmartFilterMask; exports.setSmartFiltersEnabled = _chunkS55JFWDAcjs.setSmartFiltersEnabled; exports.setSmartPlacement = _chunkS55JFWDAcjs.setSmartPlacement; exports.shadeTile = _chunkXFYLA3ZOcjs.shadeTile; exports.shapeAsPixelLayer = _chunkS55JFWDAcjs.shapeAsPixelLayer; exports.shapeFromAnnotation = _chunkS55JFWDAcjs.shapeFromAnnotation; exports.shapeGeometryBounds = _chunkS55JFWDAcjs.shapeGeometryBounds; exports.shapeLayers = _chunkS55JFWDAcjs.shapeLayers; exports.shapeOutline = _chunkS55JFWDAcjs.shapeOutline; exports.shapeRenderClip = _chunkS55JFWDAcjs.shapeRenderClip; exports.shiftCoverage = _chunkSS53NNZOcjs.shiftCoverage; exports.simplifyPixelPath = simplifyPixelPath; exports.skinToneRange = skinToneRange; exports.slicSuperpixels = _chunkKALCIDWHcjs.slicSuperpixels; exports.smartFilterRows = smartFilterRows; exports.smartObjectLayers = _chunkS55JFWDAcjs.smartObjectLayers; exports.smoothCoverage = _chunkSS53NNZOcjs.smoothCoverage; exports.smoothPoints = _chunkPQ3H2AANcjs.smoothPoints; exports.smoothnessWeights = _chunkKALCIDWHcjs.smoothnessWeights; exports.smudgeEffect = _chunk2ONK3ERDcjs.smudgeEffect; exports.snapPolygonToEdges = snapPolygonToEdges; exports.snapTo45 = snapTo45; exports.snapToEdge = snapToEdge; exports.softMaskToSelection = _chunkKALCIDWHcjs.softMaskToSelection; exports.solidPaint = _chunkPQ3H2AANcjs.solidPaint; exports.solidSurface = _chunk474IQG74cjs.solidSurface; exports.solveMembrane = _chunkBB6TR422cjs.solveMembrane; exports.spliceRuns = _chunkQAUIZPYIcjs.spliceRuns; exports.splitOverlayAnnotations = splitOverlayAnnotations; exports.sponge = _chunk2ONK3ERDcjs.sponge; exports.spongeEffect = _chunk2ONK3ERDcjs.spongeEffect; exports.spotHealPixels = _chunk2ONK3ERDcjs.spotHealPixels; exports.spotHealWindow = _chunk2ONK3ERDcjs.spotHealWindow; exports.srgb8ToLab = srgb8ToLab; exports.srgbByteToLinear = _chunkXFYLA3ZOcjs.srgbByteToLinear; exports.srgbDecode = _chunkOLNIPTB3cjs.srgbDecode; exports.srgbEncode = _chunkOLNIPTB3cjs.srgbEncode; exports.srgbToLinear = _chunkS55JFWDAcjs.srgbToLinear; exports.standardBlendMode = _chunkOLNIPTB3cjs.standardBlendMode; exports.startMarchingAnts = startMarchingAnts; exports.startSelectionWorker = _chunkKALCIDWHcjs.startSelectionWorker; exports.stepSlotTs = _chunkXFYLA3ZOcjs.stepSlotTs; exports.strokeGrainCatch = _chunkPQ3H2AANcjs.strokeGrainCatch; exports.styleAt = _chunkQAUIZPYIcjs.styleAt; exports.subpathsToSvgPath = subpathsToSvgPath; exports.sumHistograms = sumHistograms; exports.superpixelSaliency = _chunkKALCIDWHcjs.superpixelSaliency; exports.surfaceBytes = _chunk474IQG74cjs.surfaceBytes; exports.surfaceDepth = _chunkOLNIPTB3cjs.surfaceDepth; exports.surfaceFromDeepPixels = _chunkOLNIPTB3cjs.surfaceFromDeepPixels; exports.surfaceFromPixels = _chunk474IQG74cjs.surfaceFromPixels; exports.surfacesEqual = _chunk474IQG74cjs.surfacesEqual; exports.tempTintToXy = _chunkS55JFWDAcjs.tempTintToXy; exports.temperatureToKelvin = _chunkS55JFWDAcjs.temperatureToKelvin; exports.textIndexAt = _chunkQAUIZPYIcjs.textIndexAt; exports.textMatrix = _chunkS55JFWDAcjs.textMatrix; exports.textOrientation = _chunkS55JFWDAcjs.textOrientation; exports.textOutlines = _chunkS55JFWDAcjs.textOutlines; exports.textRange = _chunkS55JFWDAcjs.textRange; exports.tileCoord = _chunk474IQG74cjs.tileCoord; exports.tileKey = _chunk474IQG74cjs.tileKey; exports.tileRect = _chunk474IQG74cjs.tileRect; exports.tileSamples = _chunkOLNIPTB3cjs.tileSamples; exports.tileSamples16 = _chunkOLNIPTB3cjs.tileSamples16; exports.tileSamples32 = _chunkOLNIPTB3cjs.tileSamples32; exports.tilesInRect = _chunk474IQG74cjs.tilesInRect; exports.tipFalloff = _chunkPQ3H2AANcjs.tipFalloff; exports.tipReach = _chunkPQ3H2AANcjs.tipReach; exports.tipShape = _chunkPQ3H2AANcjs.tipShape; exports.to16From32 = _chunkOLNIPTB3cjs.to16From32; exports.to16From8 = _chunkOLNIPTB3cjs.to16From8; exports.to32From16 = _chunkOLNIPTB3cjs.to32From16; exports.to32From8 = _chunkOLNIPTB3cjs.to32From8; exports.to8From16 = _chunkOLNIPTB3cjs.to8From16; exports.to8From32 = _chunkOLNIPTB3cjs.to8From32; exports.toHex = toHex; exports.toTextSpace = _chunkS55JFWDAcjs.toTextSpace; exports.toneCurve = _chunkS55JFWDAcjs.toneCurve; exports.toneLuts = _chunkS55JFWDAcjs.toneLuts; exports.toneOf = _chunk2ONK3ERDcjs.toneOf; exports.toneRange = toneRange; exports.transformHomography = _chunkS55JFWDAcjs.transformHomography; exports.transformMap = _chunkS55JFWDAcjs.transformMap; exports.transformShapeComponents = _chunkS55JFWDAcjs.transformShapeComponents; exports.transformSurface = _chunkB46UQUDCcjs.transformSurface; exports.transformTypeLayer = _chunkS55JFWDAcjs.transformTypeLayer; exports.transformVectorMask = _chunkS55JFWDAcjs.transformVectorMask; exports.transformedBounds = _chunkB46UQUDCcjs.transformedBounds; exports.transformedBox = _chunkS55JFWDAcjs.transformedBox; exports.transformedPoint = _chunkS55JFWDAcjs.transformedPoint; exports.translateLayer = _chunkS55JFWDAcjs.translateLayer; exports.translateSurface = _chunk474IQG74cjs.translateSurface; exports.typeAsPixelLayer = _chunkS55JFWDAcjs.typeAsPixelLayer; exports.typeFrame = _chunkS55JFWDAcjs.typeFrame; exports.typeFromAnnotation = _chunkS55JFWDAcjs.typeFromAnnotation; exports.typeLayerAt = typeLayerAt; exports.typeLayerName = _chunkS55JFWDAcjs.typeLayerName; exports.ungroupLayer = _chunkS55JFWDAcjs.ungroupLayer; exports.uniformTile = _chunk474IQG74cjs.uniformTile; exports.unionRect = _chunkS55JFWDAcjs.unionRect; exports.unprojectCanvasPoint = _chunkS55JFWDAcjs.unprojectCanvasPoint; exports.updateLayerEffect = _chunkS55JFWDAcjs.updateLayerEffect; exports.updateLayerFilter = _chunkS55JFWDAcjs.updateLayerFilter; exports.updateLayerMaskProps = _chunkS55JFWDAcjs.updateLayerMaskProps; exports.updatePaintGradientStop = _chunkPQ3H2AANcjs.updatePaintGradientStop; exports.updateShapeLayer = _chunkS55JFWDAcjs.updateShapeLayer; exports.updateSmartFilter = _chunkS55JFWDAcjs.updateSmartFilter; exports.updateTypeLayer = _chunkS55JFWDAcjs.updateTypeLayer; exports.upscaleRegion = _chunkKALCIDWHcjs.upscaleRegion; exports.userErrorMessage = _chunkS55JFWDAcjs.userErrorMessage; exports.uvToXy = _chunkS55JFWDAcjs.uvToXy; exports.validateEffectGradient = _chunkB46UQUDCcjs.validateEffectGradient; exports.validateLayerEffect = _chunkB46UQUDCcjs.validateLayerEffect; exports.validateLayerEffects = _chunkB46UQUDCcjs.validateLayerEffects; exports.vectorMaskBounds = _chunkS55JFWDAcjs.vectorMaskBounds; exports.vectorMaskCoverage = _chunkS55JFWDAcjs.vectorMaskCoverage; exports.vectorMaskThumbnail = _chunkS55JFWDAcjs.vectorMaskThumbnail; exports.vectorMaskThumbnailClick = vectorMaskThumbnailClick; exports.versionedDescriptorBytes = _chunkS55JFWDAcjs.versionedDescriptorBytes; exports.vibranceLinear = _chunkS55JFWDAcjs.vibranceLinear; exports.vibrancePixel = _chunkS55JFWDAcjs.vibrancePixel; exports.walkDabs = _chunkPQ3H2AANcjs.walkDabs; exports.warpMeshEditPoints = _chunkQAUIZPYIcjs.warpMeshEditPoints; exports.warpMeshGridCurves = _chunkQAUIZPYIcjs.warpMeshGridCurves; exports.warpMeshParamAt = _chunkQAUIZPYIcjs.warpMeshParamAt; exports.warpPresetMesh = _chunkQAUIZPYIcjs.warpPresetMesh; exports.warpSurface = _chunkB46UQUDCcjs.warpSurface; exports.watchCanvasViewport = watchCanvasViewport; exports.wbMatrix = _chunkS55JFWDAcjs.wbMatrix; exports.wetGpuSupport = _chunkXFYLA3ZOcjs.wetGpuSupport; exports.wetSimdSupported = _chunkXFYLA3ZOcjs.wetSimdSupported; exports.wetSupport = _chunkXFYLA3ZOcjs.wetSupport; exports.whiteBalanceFromSample = _chunkS55JFWDAcjs.whiteBalanceFromSample; exports.whiteBalanceMatrix = _chunkS55JFWDAcjs.whiteBalanceMatrix; exports.withBackgroundOpacity = withBackgroundOpacity; exports.withFilterMaskSurface = _chunkS55JFWDAcjs.withFilterMaskSurface; exports.withImagePlayback = withImagePlayback; exports.withNewIds = _chunkS55JFWDAcjs.withNewIds; exports.workImage = _chunkKALCIDWHcjs.workImage; exports.workLuma = _chunkKALCIDWHcjs.workLuma; exports.workPlanes = _chunkKALCIDWHcjs.workPlanes; exports.writeAdjustmentBlock = _chunkS55JFWDAcjs.writeAdjustmentBlock; exports.writeDeepRegion = _chunkOLNIPTB3cjs.writeDeepRegion; exports.writeLfx2 = _chunkS55JFWDAcjs.writeLfx2; exports.writePatternBlock = _chunkS55JFWDAcjs.writePatternBlock; exports.writePsd = _chunkS55JFWDAcjs.writePsd; exports.writeRegion = _chunk474IQG74cjs.writeRegion; exports.xyToTempTint = _chunkS55JFWDAcjs.xyToTempTint; exports.xyToUv = _chunkS55JFWDAcjs.xyToUv;
|