@pixerate/editor 0.98.0 → 0.99.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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6; var _class7; var _class8; var _class9; var _class10;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6; var _class7; var _class8; var _class9; var _class10; var _class11;
|
|
2
2
|
|
|
3
3
|
var _chunkD6FH2YAXcjs = require('../chunk-D6FH2YAX.cjs');
|
|
4
4
|
|
|
@@ -3193,6 +3193,44 @@ var ImageEditorRenderer = (_class2 = class {constructor() { _class2.prototype.__
|
|
|
3193
3193
|
}
|
|
3194
3194
|
ctx.restore();
|
|
3195
3195
|
}
|
|
3196
|
+
if (options.freeTransform) {
|
|
3197
|
+
const t = options.freeTransform;
|
|
3198
|
+
ctx.save();
|
|
3199
|
+
try {
|
|
3200
|
+
const scr = (p) => projectImagePoint(p, projection);
|
|
3201
|
+
const outline = t.outline.map(scr);
|
|
3202
|
+
ctx.beginPath();
|
|
3203
|
+
outline.forEach((p, i) => i ? ctx.lineTo(p.x, p.y) : ctx.moveTo(p.x, p.y));
|
|
3204
|
+
ctx.closePath();
|
|
3205
|
+
ctx.lineWidth = 3;
|
|
3206
|
+
ctx.strokeStyle = "rgba(0,0,0,0.5)";
|
|
3207
|
+
ctx.stroke();
|
|
3208
|
+
ctx.lineWidth = 1;
|
|
3209
|
+
ctx.strokeStyle = "#ffffff";
|
|
3210
|
+
ctx.stroke();
|
|
3211
|
+
for (const h of t.handles.map(scr)) {
|
|
3212
|
+
ctx.fillStyle = "#ffffff";
|
|
3213
|
+
ctx.strokeStyle = "#1e293b";
|
|
3214
|
+
ctx.fillRect(h.x - 4, h.y - 4, 8, 8);
|
|
3215
|
+
ctx.strokeRect(h.x - 4, h.y - 4, 8, 8);
|
|
3216
|
+
}
|
|
3217
|
+
const r = scr(t.reference);
|
|
3218
|
+
ctx.beginPath();
|
|
3219
|
+
ctx.arc(r.x, r.y, 5, 0, Math.PI * 2);
|
|
3220
|
+
ctx.moveTo(r.x - 8, r.y);
|
|
3221
|
+
ctx.lineTo(r.x + 8, r.y);
|
|
3222
|
+
ctx.moveTo(r.x, r.y - 8);
|
|
3223
|
+
ctx.lineTo(r.x, r.y + 8);
|
|
3224
|
+
ctx.lineWidth = 3;
|
|
3225
|
+
ctx.strokeStyle = "rgba(0,0,0,0.5)";
|
|
3226
|
+
ctx.stroke();
|
|
3227
|
+
ctx.lineWidth = 1;
|
|
3228
|
+
ctx.strokeStyle = "#ffffff";
|
|
3229
|
+
ctx.stroke();
|
|
3230
|
+
} catch (e6) {
|
|
3231
|
+
}
|
|
3232
|
+
ctx.restore();
|
|
3233
|
+
}
|
|
3196
3234
|
if (isActivelyCropping) {
|
|
3197
3235
|
const activeCrop = options.draftCrop !== void 0 && options.draftCrop !== null ? options.draftCrop : _nullishCoalesce(crop, () => ( { x: 0, y: 0, width: naturalWidth, height: naturalHeight }));
|
|
3198
3236
|
this.drawCropOverlay(ctx, getViewportMetrics(geoState, vpWidth, vpHeight, true, activeCrop));
|
|
@@ -3257,7 +3295,7 @@ var ImageEditorRenderer = (_class2 = class {constructor() { _class2.prototype.__
|
|
|
3257
3295
|
applyDepthMask(imageData, maskData, depthMask);
|
|
3258
3296
|
}
|
|
3259
3297
|
}
|
|
3260
|
-
} catch (
|
|
3298
|
+
} catch (e7) {
|
|
3261
3299
|
}
|
|
3262
3300
|
}
|
|
3263
3301
|
_optionalChain([onPixels, 'optionalCall', _46 => _46(imageData)]);
|
|
@@ -3319,14 +3357,14 @@ var ImageEditorRenderer = (_class2 = class {constructor() { _class2.prototype.__
|
|
|
3319
3357
|
this.depthMaps.set(key, { width, height, data: data.data });
|
|
3320
3358
|
this.assetVersion++;
|
|
3321
3359
|
}
|
|
3322
|
-
} catch (
|
|
3360
|
+
} catch (e8) {
|
|
3323
3361
|
}
|
|
3324
3362
|
}
|
|
3325
3363
|
if (l.type === "annotation" && l.annotation.type === "image" && !this.imageCache.peek(l.annotation.src)) {
|
|
3326
3364
|
try {
|
|
3327
3365
|
await this.imageCache.get(l.annotation.src);
|
|
3328
3366
|
this.assetVersion++;
|
|
3329
|
-
} catch (
|
|
3367
|
+
} catch (e9) {
|
|
3330
3368
|
}
|
|
3331
3369
|
}
|
|
3332
3370
|
}
|
|
@@ -3354,7 +3392,7 @@ var ImageEditorRenderer = (_class2 = class {constructor() { _class2.prototype.__
|
|
|
3354
3392
|
this.drawAnnotationShape(ctx, annotation, img);
|
|
3355
3393
|
ctx.setTransform(1, 0, 0, 1, 0, 0);
|
|
3356
3394
|
return new Uint8ClampedArray(ctx.getImageData(0, 0, rect.width, rect.height).data);
|
|
3357
|
-
} catch (
|
|
3395
|
+
} catch (e10) {
|
|
3358
3396
|
return null;
|
|
3359
3397
|
}
|
|
3360
3398
|
}
|
|
@@ -3553,7 +3591,7 @@ var ImageEditorRenderer = (_class2 = class {constructor() { _class2.prototype.__
|
|
|
3553
3591
|
_chunkCRMAXIUVcjs.blendImageData.call(void 0, backdrop, source, _chunkCRMAXIUVcjs.normalizeBlendMode.call(void 0, ann.blend));
|
|
3554
3592
|
lctx.setTransform(1, 0, 0, 1, 0, 0);
|
|
3555
3593
|
lctx.putImageData(backdrop, 0, 0);
|
|
3556
|
-
} catch (
|
|
3594
|
+
} catch (e11) {
|
|
3557
3595
|
return false;
|
|
3558
3596
|
}
|
|
3559
3597
|
ctx.save();
|
|
@@ -3569,7 +3607,7 @@ var ImageEditorRenderer = (_class2 = class {constructor() { _class2.prototype.__
|
|
|
3569
3607
|
if (ann.type === "image") {
|
|
3570
3608
|
try {
|
|
3571
3609
|
img = await this.imageCache.get(ann.src);
|
|
3572
|
-
} catch (
|
|
3610
|
+
} catch (e12) {
|
|
3573
3611
|
}
|
|
3574
3612
|
}
|
|
3575
3613
|
this.drawAnnotationShape(ctx, ann, img);
|
|
@@ -4001,7 +4039,7 @@ function removeAnnotationLayers(layers) {
|
|
|
4001
4039
|
function polygonCoverage(points, width, height, antiAlias = true) {
|
|
4002
4040
|
const m = new Float32Array(width * height);
|
|
4003
4041
|
if (points.length < 3 || width <= 0 || height <= 0) return m;
|
|
4004
|
-
const
|
|
4042
|
+
const sub2 = antiAlias ? 4 : 1;
|
|
4005
4043
|
const edges = [];
|
|
4006
4044
|
for (let i = 0; i < points.length; i++) {
|
|
4007
4045
|
const a = points[i];
|
|
@@ -4016,8 +4054,8 @@ function polygonCoverage(points, width, height, antiAlias = true) {
|
|
|
4016
4054
|
const xs = [];
|
|
4017
4055
|
for (let py = 0; py < height; py++) {
|
|
4018
4056
|
const row = py * width;
|
|
4019
|
-
for (let s = 0; s <
|
|
4020
|
-
const y = py + (s + 0.5) /
|
|
4057
|
+
for (let s = 0; s < sub2; s++) {
|
|
4058
|
+
const y = py + (s + 0.5) / sub2;
|
|
4021
4059
|
while (next < edges.length && edges[next].top <= y) active.push(edges[next++]);
|
|
4022
4060
|
if (active.length) active = active.filter((e) => e.bottom > y);
|
|
4023
4061
|
if (!active.length) continue;
|
|
@@ -4039,7 +4077,7 @@ function polygonCoverage(points, width, height, antiAlias = true) {
|
|
|
4039
4077
|
const c = cx + 0.5;
|
|
4040
4078
|
cov = c >= x0 && c < x1 ? 1 : 0;
|
|
4041
4079
|
}
|
|
4042
|
-
if (cov > 0) m[row + cx] += cov /
|
|
4080
|
+
if (cov > 0) m[row + cx] += cov / sub2;
|
|
4043
4081
|
}
|
|
4044
4082
|
}
|
|
4045
4083
|
}
|
|
@@ -4606,7 +4644,7 @@ function deserializeEffects(raw) {
|
|
|
4606
4644
|
if (p && typeof p.key === "string" && typeof p.data === "string") {
|
|
4607
4645
|
try {
|
|
4608
4646
|
psd = { key: p.key, data: _chunkWT6ZAWJPcjs.base64ToBytes.call(void 0, p.data) };
|
|
4609
|
-
} catch (
|
|
4647
|
+
} catch (e13) {
|
|
4610
4648
|
psd = void 0;
|
|
4611
4649
|
}
|
|
4612
4650
|
}
|
|
@@ -5413,7 +5451,7 @@ var PsdWriter = (_class4 = class {constructor() { _class4.prototype.__init24.cal
|
|
|
5413
5451
|
function decodeLegacyName(b) {
|
|
5414
5452
|
try {
|
|
5415
5453
|
return new TextDecoder("utf-8", { fatal: true }).decode(b);
|
|
5416
|
-
} catch (
|
|
5454
|
+
} catch (e14) {
|
|
5417
5455
|
return String.fromCharCode(...b);
|
|
5418
5456
|
}
|
|
5419
5457
|
}
|
|
@@ -5915,7 +5953,7 @@ function parseAdjustmentBlock(key, data) {
|
|
|
5915
5953
|
default:
|
|
5916
5954
|
return null;
|
|
5917
5955
|
}
|
|
5918
|
-
} catch (
|
|
5956
|
+
} catch (e15) {
|
|
5919
5957
|
return null;
|
|
5920
5958
|
}
|
|
5921
5959
|
}
|
|
@@ -6333,7 +6371,7 @@ function parseMask(d) {
|
|
|
6333
6371
|
}
|
|
6334
6372
|
if (!realFirst) m.real = readReal();
|
|
6335
6373
|
return m;
|
|
6336
|
-
} catch (
|
|
6374
|
+
} catch (e16) {
|
|
6337
6375
|
return void 0;
|
|
6338
6376
|
}
|
|
6339
6377
|
}
|
|
@@ -6414,7 +6452,7 @@ function layerName(rec) {
|
|
|
6414
6452
|
if (luni) {
|
|
6415
6453
|
try {
|
|
6416
6454
|
return new PsdReader(luni).unicode();
|
|
6417
|
-
} catch (
|
|
6455
|
+
} catch (e17) {
|
|
6418
6456
|
}
|
|
6419
6457
|
}
|
|
6420
6458
|
return rec.legacyName;
|
|
@@ -7165,7 +7203,7 @@ function parseLfx2(data) {
|
|
|
7165
7203
|
let d;
|
|
7166
7204
|
try {
|
|
7167
7205
|
d = parseVersionedDescriptor(data.subarray(4));
|
|
7168
|
-
} catch (
|
|
7206
|
+
} catch (e18) {
|
|
7169
7207
|
return null;
|
|
7170
7208
|
}
|
|
7171
7209
|
const notes = /* @__PURE__ */ new Set();
|
|
@@ -7386,7 +7424,7 @@ function parseLrfx(data) {
|
|
|
7386
7424
|
} else if (key === "bevl") notes.add("legacy bevels are not read");
|
|
7387
7425
|
}
|
|
7388
7426
|
return { effects: { enabled: true, items }, notes: [...notes] };
|
|
7389
|
-
} catch (
|
|
7427
|
+
} catch (e19) {
|
|
7390
7428
|
return null;
|
|
7391
7429
|
}
|
|
7392
7430
|
}
|
|
@@ -8919,7 +8957,7 @@ var ImageEditorController = (_class8 = class {
|
|
|
8919
8957
|
if (_optionalChain([options, 'access', _173 => _173.initialState, 'optionalAccess', _174 => _174.selection])) {
|
|
8920
8958
|
try {
|
|
8921
8959
|
this.state.selection = normalizeSelection(deserializeSelection(options.initialState.selection));
|
|
8922
|
-
} catch (
|
|
8960
|
+
} catch (e20) {
|
|
8923
8961
|
}
|
|
8924
8962
|
}
|
|
8925
8963
|
this.initialSnapshot = this.captureHistoryEntry();
|
|
@@ -8960,7 +8998,7 @@ var ImageEditorController = (_class8 = class {
|
|
|
8960
8998
|
height: img.naturalHeight || img.height || 600
|
|
8961
8999
|
}
|
|
8962
9000
|
};
|
|
8963
|
-
} catch (
|
|
9001
|
+
} catch (e21) {
|
|
8964
9002
|
return { sourceUrl: src, element: null, dimensions: { ...this.state.imageDimensions } };
|
|
8965
9003
|
}
|
|
8966
9004
|
}
|
|
@@ -9361,7 +9399,7 @@ var ImageEditorController = (_class8 = class {
|
|
|
9361
9399
|
const data = ctx.getImageData(0, 0, width, height);
|
|
9362
9400
|
if (!_optionalChain([data, 'optionalAccess', _183 => _183.data]) || data.data.length < width * height * 4) return null;
|
|
9363
9401
|
return { width, height, data: data.data };
|
|
9364
|
-
} catch (
|
|
9402
|
+
} catch (e22) {
|
|
9365
9403
|
return null;
|
|
9366
9404
|
}
|
|
9367
9405
|
}
|
|
@@ -9439,7 +9477,7 @@ var ImageEditorController = (_class8 = class {
|
|
|
9439
9477
|
try {
|
|
9440
9478
|
const bytes = _chunkWT6ZAWJPcjs.base64ToBytes.call(void 0, trimmed);
|
|
9441
9479
|
if (_chunkWT6ZAWJPcjs.isPng.call(void 0, bytes)) png = bytes;
|
|
9442
|
-
} catch (
|
|
9480
|
+
} catch (e23) {
|
|
9443
9481
|
png = null;
|
|
9444
9482
|
}
|
|
9445
9483
|
}
|
|
@@ -9447,14 +9485,14 @@ var ImageEditorController = (_class8 = class {
|
|
|
9447
9485
|
try {
|
|
9448
9486
|
const d = _chunkWT6ZAWJPcjs.decodePng.call(void 0, png);
|
|
9449
9487
|
return { width: d.width, height: d.height, data: d.data };
|
|
9450
|
-
} catch (
|
|
9488
|
+
} catch (e24) {
|
|
9451
9489
|
}
|
|
9452
9490
|
}
|
|
9453
9491
|
const src = png ? `data:image/png;base64,${_chunkWT6ZAWJPcjs.bytesToBase64.call(void 0, png)}` : trimmed;
|
|
9454
9492
|
let img;
|
|
9455
9493
|
try {
|
|
9456
9494
|
img = await this.renderer.imageCache.get(src);
|
|
9457
|
-
} catch (
|
|
9495
|
+
} catch (e25) {
|
|
9458
9496
|
throw new LayerOperationError("The image could not be decoded here. Pass a PNG (data URL or base64), or run in a browser for other formats and URLs.");
|
|
9459
9497
|
}
|
|
9460
9498
|
const w = img.naturalWidth || img.width;
|
|
@@ -10602,7 +10640,7 @@ var ImageEditorController = (_class8 = class {
|
|
|
10602
10640
|
this.samplePixels = base;
|
|
10603
10641
|
this.samplePixelsOverride = false;
|
|
10604
10642
|
}
|
|
10605
|
-
} catch (
|
|
10643
|
+
} catch (e26) {
|
|
10606
10644
|
base = null;
|
|
10607
10645
|
}
|
|
10608
10646
|
}
|
|
@@ -10912,7 +10950,7 @@ var ImageEditorController = (_class8 = class {
|
|
|
10912
10950
|
dirty: dirty === "all" ? void 0 : dirty,
|
|
10913
10951
|
checkpointLayerId: this.state.activeLayerId
|
|
10914
10952
|
});
|
|
10915
|
-
} catch (
|
|
10953
|
+
} catch (e27) {
|
|
10916
10954
|
}
|
|
10917
10955
|
}
|
|
10918
10956
|
async renderExport(options) {
|
|
@@ -11180,7 +11218,7 @@ var ImageEditorController = (_class8 = class {
|
|
|
11180
11218
|
const canvas = { x: 0, y: 0, width, height };
|
|
11181
11219
|
const warnings = [];
|
|
11182
11220
|
const note = /* @__PURE__ */ new Map();
|
|
11183
|
-
const
|
|
11221
|
+
const add2 = (msg, name) => note.set(msg, [..._nullishCoalesce(note.get(msg), () => ( [])), name]);
|
|
11184
11222
|
const canRasterize = this.renderer.canRasterize();
|
|
11185
11223
|
await this.renderer.prepareLayerAssets(this.state.layers, width, height);
|
|
11186
11224
|
const sources = this.renderer.compositorSources(width, height);
|
|
@@ -11188,7 +11226,7 @@ var ImageEditorController = (_class8 = class {
|
|
|
11188
11226
|
const bakeMask = (layer) => {
|
|
11189
11227
|
const mask = layer.mask;
|
|
11190
11228
|
if (!_optionalChain([mask, 'optionalAccess', _250 => _250.source])) return mask;
|
|
11191
|
-
|
|
11229
|
+
add2("Parametric (depth) masks were baked into pixel masks", layer.name);
|
|
11192
11230
|
const plain3 = { ...layer, mask: { ...mask, density: 1, feather: 0, enabled: true } };
|
|
11193
11231
|
const ox = layer.type === "pixel" ? layer.offset.x : 0;
|
|
11194
11232
|
const oy = layer.type === "pixel" ? layer.offset.y : 0;
|
|
@@ -11204,7 +11242,7 @@ var ImageEditorController = (_class8 = class {
|
|
|
11204
11242
|
};
|
|
11205
11243
|
const prepare = async (layer) => {
|
|
11206
11244
|
const p = await prepareLayer(layer);
|
|
11207
|
-
if (_optionalChain([p, 'optionalAccess', _251 => _251.blend]) === "pigment")
|
|
11245
|
+
if (_optionalChain([p, 'optionalAccess', _251 => _251.blend]) === "pigment") add2("The Pigment blend mode has no PSD equivalent and was written as Normal", layer.name);
|
|
11208
11246
|
return p;
|
|
11209
11247
|
};
|
|
11210
11248
|
const prepareLayer = async (layer) => {
|
|
@@ -11219,10 +11257,10 @@ var ImageEditorController = (_class8 = class {
|
|
|
11219
11257
|
if (layer.type === "adjustment") return { ...layer, mask: bakeMask(layer) };
|
|
11220
11258
|
if (layer.type === "annotation") {
|
|
11221
11259
|
if (!canRasterize) {
|
|
11222
|
-
|
|
11260
|
+
add2("Annotation layers need a canvas (a browser) to rasterize and were left out", layer.name);
|
|
11223
11261
|
return null;
|
|
11224
11262
|
}
|
|
11225
|
-
|
|
11263
|
+
add2("Annotation layers were written as pixel layers", layer.name);
|
|
11226
11264
|
const blend = layer.blend === "normal" && layer.annotation.blend ? layer.annotation.blend : layer.blend;
|
|
11227
11265
|
const content = { ...layer, visible: true, opacity: 1, blend: "normal", annotation: { ...layer.annotation, blend: void 0 } };
|
|
11228
11266
|
delete content.mask;
|
|
@@ -11253,7 +11291,7 @@ var ImageEditorController = (_class8 = class {
|
|
|
11253
11291
|
}
|
|
11254
11292
|
const active = _nullishCoalesce(_optionalChain([layer, 'access', _252 => _252.filters, 'optionalAccess', _253 => _253.filter, 'call', _254 => _254(isActiveFilter)]), () => ( []));
|
|
11255
11293
|
if (active.length) {
|
|
11256
|
-
|
|
11294
|
+
add2("Layer filters (develop, blur) were baked into the pixels", layer.name);
|
|
11257
11295
|
const content = { ...out, visible: true, opacity: 1, blend: "normal" };
|
|
11258
11296
|
delete content.mask;
|
|
11259
11297
|
delete content.clipped;
|
|
@@ -11262,7 +11300,7 @@ var ImageEditorController = (_class8 = class {
|
|
|
11262
11300
|
const data = compositor.composite([content], canvas, sources);
|
|
11263
11301
|
out = { ...out, surface: _chunkCRMAXIUVcjs.surfaceFromPixels.call(void 0, { width, height, data }, 4, -layer.offset.x, -layer.offset.y) };
|
|
11264
11302
|
}
|
|
11265
|
-
if (_optionalChain([layer, 'access', _255 => _255.filters, 'optionalAccess', _256 => _256.some, 'call', _257 => _257((f) => !f.enabled)]))
|
|
11303
|
+
if (_optionalChain([layer, 'access', _255 => _255.filters, 'optionalAccess', _256 => _256.some, 'call', _257 => _257((f) => !f.enabled)])) add2("Disabled layer filters were left out", layer.name);
|
|
11266
11304
|
delete out.filters;
|
|
11267
11305
|
const mask = bakeMask(layer);
|
|
11268
11306
|
if (mask) out.mask = mask;
|
|
@@ -11359,7 +11397,7 @@ var ImageEditorController = (_class8 = class {
|
|
|
11359
11397
|
if (data.selection) {
|
|
11360
11398
|
try {
|
|
11361
11399
|
selection = normalizeSelection(deserializeSelection(data.selection));
|
|
11362
|
-
} catch (
|
|
11400
|
+
} catch (e28) {
|
|
11363
11401
|
selection = null;
|
|
11364
11402
|
}
|
|
11365
11403
|
}
|
|
@@ -11746,7 +11784,7 @@ function loadImageEditorDocument(input) {
|
|
|
11746
11784
|
if (typeof input === "string") {
|
|
11747
11785
|
try {
|
|
11748
11786
|
parsed = JSON.parse(input);
|
|
11749
|
-
} catch (
|
|
11787
|
+
} catch (e29) {
|
|
11750
11788
|
parsed = input;
|
|
11751
11789
|
}
|
|
11752
11790
|
}
|
|
@@ -13416,7 +13454,7 @@ function createImageEffectTools(controller) {
|
|
|
13416
13454
|
annotations: { title: "List layer effects", ...READ3 },
|
|
13417
13455
|
handler: ({ layerId }) => result(layerArg(layerId), { globalLight: controller.getGlobalLight(), patterns: patternList(controller), kinds: [..._chunkWT6ZAWJPcjs.LAYER_EFFECT_KINDS] })
|
|
13418
13456
|
};
|
|
13419
|
-
const
|
|
13457
|
+
const add2 = {
|
|
13420
13458
|
name: "add_layer_effect",
|
|
13421
13459
|
title: "Add a layer effect",
|
|
13422
13460
|
description: "Adds a live effect to a pixel, annotation or group layer with Photoshop's defaults, changed by settings: drop-shadow, inner-shadow, outer-glow, inner-glow, bevel-emboss, satin, color-overlay, gradient-overlay, pattern-overlay or stroke. Several of one kind are allowed (the first listed is on top). One undo step. Returns the new effect's id and the layer's effects.",
|
|
@@ -13514,7 +13552,7 @@ function createImageEffectTools(controller) {
|
|
|
13514
13552
|
return { globalLight: controller.setGlobalLight(next) };
|
|
13515
13553
|
}
|
|
13516
13554
|
};
|
|
13517
|
-
return [list2,
|
|
13555
|
+
return [list2, add2, update, remove, setEnabled, light];
|
|
13518
13556
|
}
|
|
13519
13557
|
|
|
13520
13558
|
// src/image-editor/layers/paint-ui.ts
|
|
@@ -14779,13 +14817,14 @@ function layerMenu(controller) {
|
|
|
14779
14817
|
{ action: "apply-mask", label: "Apply Layer Mask", enabled: isPixel && Boolean(_optionalChain([active, 'optionalAccess', _307 => _307.mask])) },
|
|
14780
14818
|
{ action: "delete-mask", label: "Delete Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _308 => _308.mask])) },
|
|
14781
14819
|
{ action: "toggle-mask", label: _optionalChain([active, 'optionalAccess', _309 => _309.mask, 'optionalAccess', _310 => _310.enabled]) === false ? "Enable Layer Mask" : "Disable Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _311 => _311.mask])) },
|
|
14782
|
-
{ action: "
|
|
14783
|
-
{ action: "
|
|
14820
|
+
{ action: "toggle-mask-link", label: _optionalChain([active, 'optionalAccess', _312 => _312.mask, 'optionalAccess', _313 => _313.linked]) === false ? "Link Layer Mask" : "Unlink Layer Mask", enabled: Boolean(_optionalChain([active, 'optionalAccess', _314 => _314.mask]) && !active.mask.source) },
|
|
14821
|
+
{ action: "rasterize", label: "Rasterize Layer", enabled: _optionalChain([active, 'optionalAccess', _315 => _315.type]) === "annotation" || isPixel && Boolean(_optionalChain([active, 'optionalAccess', _316 => _316.type]) === "pixel" && _optionalChain([active, 'access', _317 => _317.filters, 'optionalAccess', _318 => _318.length])) },
|
|
14822
|
+
{ action: "toggle-clip", label: _optionalChain([active, 'optionalAccess', _319 => _319.clipped]) ? "Release Clipping Mask" : "Create Clipping Mask", enabled: Boolean(loc && loc.index > 0) }
|
|
14784
14823
|
];
|
|
14785
14824
|
}
|
|
14786
14825
|
async function runLayerMenuAction(controller, action) {
|
|
14787
14826
|
const active = controller.getActiveLayer();
|
|
14788
|
-
const id = _optionalChain([active, 'optionalAccess',
|
|
14827
|
+
const id = _optionalChain([active, 'optionalAccess', _320 => _320.id]);
|
|
14789
14828
|
try {
|
|
14790
14829
|
switch (action) {
|
|
14791
14830
|
case "new-layer":
|
|
@@ -14832,13 +14871,16 @@ async function runLayerMenuAction(controller, action) {
|
|
|
14832
14871
|
if (id) controller.removeLayerMask(id);
|
|
14833
14872
|
break;
|
|
14834
14873
|
case "toggle-mask":
|
|
14835
|
-
if (id && _optionalChain([active, 'optionalAccess',
|
|
14874
|
+
if (id && _optionalChain([active, 'optionalAccess', _321 => _321.mask])) controller.setLayerMaskProps(id, { enabled: active.mask.enabled === false });
|
|
14875
|
+
break;
|
|
14876
|
+
case "toggle-mask-link":
|
|
14877
|
+
if (id && _optionalChain([active, 'optionalAccess', _322 => _322.mask])) controller.setLayerMaskProps(id, { linked: active.mask.linked === false });
|
|
14836
14878
|
break;
|
|
14837
14879
|
case "rasterize":
|
|
14838
14880
|
if (id) await controller.rasterizeLayer(id);
|
|
14839
14881
|
break;
|
|
14840
14882
|
case "toggle-clip":
|
|
14841
|
-
if (id) controller.setLayerProperties(id, { clipped: !_optionalChain([active, 'optionalAccess',
|
|
14883
|
+
if (id) controller.setLayerProperties(id, { clipped: !_optionalChain([active, 'optionalAccess', _323 => _323.clipped]) });
|
|
14842
14884
|
break;
|
|
14843
14885
|
}
|
|
14844
14886
|
return null;
|
|
@@ -14853,18 +14895,18 @@ function layerEffectsPanel(layer) {
|
|
|
14853
14895
|
if (!layer) return { ...empty, available: false, reason: "Select a layer to add effects." };
|
|
14854
14896
|
if (layer.type === "adjustment") return { ...empty, available: false, reason: "Adjustment layers cannot have effects." };
|
|
14855
14897
|
const fx = layer.effects;
|
|
14856
|
-
const readOnly = Boolean(_optionalChain([layer, 'access',
|
|
14898
|
+
const readOnly = Boolean(_optionalChain([layer, 'access', _324 => _324.locks, 'optionalAccess', _325 => _325.all]));
|
|
14857
14899
|
return {
|
|
14858
14900
|
available: true,
|
|
14859
14901
|
readOnly,
|
|
14860
14902
|
reason: readOnly ? "The layer is locked; unlock it to change its effects." : void 0,
|
|
14861
|
-
enabled: _nullishCoalesce(_optionalChain([fx, 'optionalAccess',
|
|
14862
|
-
scale: _nullishCoalesce(_optionalChain([fx, 'optionalAccess',
|
|
14863
|
-
rows: (_nullishCoalesce(_optionalChain([fx, 'optionalAccess',
|
|
14903
|
+
enabled: _nullishCoalesce(_optionalChain([fx, 'optionalAccess', _326 => _326.enabled]), () => ( true)),
|
|
14904
|
+
scale: _nullishCoalesce(_optionalChain([fx, 'optionalAccess', _327 => _327.scale]), () => ( 1)),
|
|
14905
|
+
rows: (_nullishCoalesce(_optionalChain([fx, 'optionalAccess', _328 => _328.items]), () => ( []))).map((e) => ({ id: e.id, kind: e.kind, label: _chunkWT6ZAWJPcjs.layerEffectLabel.call(void 0, e.kind), enabled: e.enabled }))
|
|
14864
14906
|
};
|
|
14865
14907
|
}
|
|
14866
14908
|
function layerEffectsBadge(layer) {
|
|
14867
|
-
if (!_optionalChain([layer, 'access',
|
|
14909
|
+
if (!_optionalChain([layer, 'access', _329 => _329.effects, 'optionalAccess', _330 => _330.items, 'access', _331 => _331.length])) return null;
|
|
14868
14910
|
return _chunkWT6ZAWJPcjs.hasActiveEffects.call(void 0, layer.effects) ? "on" : "off";
|
|
14869
14911
|
}
|
|
14870
14912
|
var LAYER_EFFECT_MENU = _chunkWT6ZAWJPcjs.LAYER_EFFECT_KINDS.map((kind) => ({ kind, label: _chunkWT6ZAWJPcjs.layerEffectLabel.call(void 0, kind) }));
|
|
@@ -14909,8 +14951,8 @@ function fillControls(f, allowPattern, patterns) {
|
|
|
14909
14951
|
}
|
|
14910
14952
|
function gradientControls(prefix, g) {
|
|
14911
14953
|
return [
|
|
14912
|
-
{ key: `${prefix}.stops.0.color`, label: "Start colour", type: "color", value: _nullishCoalesce(_optionalChain([g, 'access',
|
|
14913
|
-
{ key: `${prefix}.stops.last.color`, label: "End colour", type: "color", value: _nullishCoalesce(_optionalChain([g, 'access',
|
|
14954
|
+
{ key: `${prefix}.stops.0.color`, label: "Start colour", type: "color", value: _nullishCoalesce(_optionalChain([g, 'access', _332 => _332.stops, 'access', _333 => _333[0], 'optionalAccess', _334 => _334.color]), () => ( "#000000")) },
|
|
14955
|
+
{ key: `${prefix}.stops.last.color`, label: "End colour", type: "color", value: _nullishCoalesce(_optionalChain([g, 'access', _335 => _335.stops, 'access', _336 => _336[g.stops.length - 1], 'optionalAccess', _337 => _337.color]), () => ( "#ffffff")) },
|
|
14914
14956
|
{ key: `${prefix}.style`, label: "Style", type: "select", value: g.style, options: opt(["linear", "Linear"], ["radial", "Radial"], ["angle", "Angle"], ["reflected", "Reflected"], ["diamond", "Diamond"]) },
|
|
14915
14957
|
{ key: `${prefix}.angle`, label: "Angle", type: "range", min: -180, max: 180, step: 1, value: g.angle, unit: "\xB0" },
|
|
14916
14958
|
{ key: `${prefix}.scale`, label: "Scale", type: "range", min: 0.1, max: 1.5, step: 0.01, value: g.scale, percent: true, unit: "%" },
|
|
@@ -15002,19 +15044,19 @@ function layerEffectControls(e, patterns = []) {
|
|
|
15002
15044
|
}
|
|
15003
15045
|
function fillOfType(current, type, patterns) {
|
|
15004
15046
|
if (type === "gradient") return { type: "gradient", gradient: _chunkWT6ZAWJPcjs.defaultEffectGradient.call(void 0, ) };
|
|
15005
|
-
if (type === "pattern") return { type: "pattern", patternId: _nullishCoalesce(_optionalChain([patterns, 'access',
|
|
15047
|
+
if (type === "pattern") return { type: "pattern", patternId: _nullishCoalesce(_optionalChain([patterns, 'access', _338 => _338[0], 'optionalAccess', _339 => _339.id]), () => ( "checker")), scale: 1 };
|
|
15006
15048
|
return { type: "color", color: current.type === "color" ? current.color : "#000000" };
|
|
15007
15049
|
}
|
|
15008
15050
|
function effectControlChange(effect, key, value, patterns = []) {
|
|
15009
15051
|
const [top, ...rest] = key.split(".");
|
|
15010
15052
|
if (top === "fill" && rest[0] === "type") return { fill: fillOfType(effect.fill, String(value), patterns) };
|
|
15011
15053
|
if (top === "patternId" && !rest.length) {
|
|
15012
|
-
const name = _optionalChain([patternOptions, 'call',
|
|
15054
|
+
const name = _optionalChain([patternOptions, 'call', _340 => _340(patterns), 'access', _341 => _341.find, 'call', _342 => _342((o) => o.value === value), 'optionalAccess', _343 => _343.label]);
|
|
15013
15055
|
return name ? { patternId: value, name } : { patternId: value };
|
|
15014
15056
|
}
|
|
15015
15057
|
if (!rest.length) return { [top]: value };
|
|
15016
15058
|
if (top === "fill" && rest[0] === "patternId") {
|
|
15017
|
-
const name = _optionalChain([patternOptions, 'call',
|
|
15059
|
+
const name = _optionalChain([patternOptions, 'call', _344 => _344(patterns), 'access', _345 => _345.find, 'call', _346 => _346((o) => o.value === value), 'optionalAccess', _347 => _347.label]);
|
|
15018
15060
|
return { fill: { ...effect.fill, patternId: value, ...name ? { name } : {} } };
|
|
15019
15061
|
}
|
|
15020
15062
|
return { [top]: setPath(getPath(effect, top), rest, value) };
|
|
@@ -15053,6 +15095,448 @@ async function downloadPsd(controller, name = "image") {
|
|
|
15053
15095
|
return { fileName, warnings: res.warnings };
|
|
15054
15096
|
}
|
|
15055
15097
|
|
|
15098
|
+
// src/image-editor/layers/transform-ui.ts
|
|
15099
|
+
var CORNERS = ["nw", "ne", "se", "sw"];
|
|
15100
|
+
var SIDES = ["n", "e", "s", "w"];
|
|
15101
|
+
var CORNER_INDEX = { nw: 0, ne: 1, se: 2, sw: 3 };
|
|
15102
|
+
var SIDE_CORNERS = { n: [0, 1], e: [1, 2], s: [2, 3], w: [3, 0] };
|
|
15103
|
+
var HANDLE_FRACTION = { nw: [0, 0], n: [0.5, 0], ne: [1, 0], e: [1, 0.5], se: [1, 1], s: [0.5, 1], sw: [0, 1], w: [0, 0.5] };
|
|
15104
|
+
var ANCHOR_FRACTION2 = {
|
|
15105
|
+
"top-left": [0, 0],
|
|
15106
|
+
top: [0.5, 0],
|
|
15107
|
+
"top-right": [1, 0],
|
|
15108
|
+
left: [0, 0.5],
|
|
15109
|
+
center: [0.5, 0.5],
|
|
15110
|
+
right: [1, 0.5],
|
|
15111
|
+
"bottom-left": [0, 1],
|
|
15112
|
+
bottom: [0.5, 1],
|
|
15113
|
+
"bottom-right": [1, 1]
|
|
15114
|
+
};
|
|
15115
|
+
var FREE_TRANSFORM_MODE_OPTIONS = [
|
|
15116
|
+
{ id: "scale", label: "Free", title: "Free Transform: corners scale, outside rotates, Ctrl/Cmd distorts" },
|
|
15117
|
+
{ id: "rotate", label: "Rotate", title: "Every handle rotates about the reference point" },
|
|
15118
|
+
{ id: "skew", label: "Skew", title: "Sides slide along themselves" },
|
|
15119
|
+
{ id: "distort", label: "Distort", title: "Each corner moves freely" },
|
|
15120
|
+
{ id: "perspective", label: "Perspective", title: "A corner and its partner move symmetrically" }
|
|
15121
|
+
];
|
|
15122
|
+
var FREE_TRANSFORM_FIELDS = [
|
|
15123
|
+
{ id: "x", label: "X", unit: "px", title: "Reference point X (document pixels)" },
|
|
15124
|
+
{ id: "y", label: "Y", unit: "px", title: "Reference point Y (document pixels)" },
|
|
15125
|
+
{ id: "scaleX", label: "W", unit: "%", title: "Width in percent of the original" },
|
|
15126
|
+
{ id: "scaleY", label: "H", unit: "%", title: "Height in percent of the original" },
|
|
15127
|
+
{ id: "rotate", label: "\u2220", unit: "\xB0", title: "Rotation in degrees, clockwise" },
|
|
15128
|
+
{ id: "skewX", label: "H skew", unit: "\xB0", title: "Horizontal skew in degrees" },
|
|
15129
|
+
{ id: "skewY", label: "V skew", unit: "\xB0", title: "Vertical skew in degrees" }
|
|
15130
|
+
];
|
|
15131
|
+
var CURSOR = {
|
|
15132
|
+
nw: "nwse-resize",
|
|
15133
|
+
se: "nwse-resize",
|
|
15134
|
+
ne: "nesw-resize",
|
|
15135
|
+
sw: "nesw-resize",
|
|
15136
|
+
n: "ns-resize",
|
|
15137
|
+
s: "ns-resize",
|
|
15138
|
+
e: "ew-resize",
|
|
15139
|
+
w: "ew-resize",
|
|
15140
|
+
reference: "move",
|
|
15141
|
+
inside: "move",
|
|
15142
|
+
outside: "alias"
|
|
15143
|
+
};
|
|
15144
|
+
var mod = (m) => Boolean(m.ctrlKey || m.metaKey);
|
|
15145
|
+
var add = (a, b) => ({ x: a.x + b.x, y: a.y + b.y });
|
|
15146
|
+
var sub = (a, b) => ({ x: a.x - b.x, y: a.y - b.y });
|
|
15147
|
+
function rotateAbout(p, c, rad) {
|
|
15148
|
+
const cos = Math.cos(rad);
|
|
15149
|
+
const sin = Math.sin(rad);
|
|
15150
|
+
const d = sub(p, c);
|
|
15151
|
+
return { x: c.x + d.x * cos - d.y * sin, y: c.y + d.x * sin + d.y * cos };
|
|
15152
|
+
}
|
|
15153
|
+
function insideQuad(q2, p) {
|
|
15154
|
+
let sign = 0;
|
|
15155
|
+
for (let i = 0; i < 4; i++) {
|
|
15156
|
+
const a = q2[i];
|
|
15157
|
+
const b = q2[(i + 1) % 4];
|
|
15158
|
+
const c = (b.x - a.x) * (p.y - a.y) - (b.y - a.y) * (p.x - a.x);
|
|
15159
|
+
if (Math.abs(c) < 1e-12) continue;
|
|
15160
|
+
const s = Math.sign(c);
|
|
15161
|
+
if (sign && s !== sign) return false;
|
|
15162
|
+
sign = s;
|
|
15163
|
+
}
|
|
15164
|
+
return true;
|
|
15165
|
+
}
|
|
15166
|
+
var FreeTransformTool = (_class11 = class {
|
|
15167
|
+
constructor(controller, options = {}) {;_class11.prototype.__init65.call(this);_class11.prototype.__init66.call(this);_class11.prototype.__init67.call(this);_class11.prototype.__init68.call(this);_class11.prototype.__init69.call(this);_class11.prototype.__init70.call(this);_class11.prototype.__init71.call(this);_class11.prototype.__init72.call(this);_class11.prototype.__init73.call(this);_class11.prototype.__init74.call(this);_class11.prototype.__init75.call(this);_class11.prototype.__init76.call(this);
|
|
15168
|
+
this.controller = controller;
|
|
15169
|
+
this.options = options;
|
|
15170
|
+
}
|
|
15171
|
+
|
|
15172
|
+
|
|
15173
|
+
__init65() {this.sessionRef = null}
|
|
15174
|
+
__init66() {this.modeValue = "scale"}
|
|
15175
|
+
/** The reference point in the untransformed frame's space (follows the transform). */
|
|
15176
|
+
__init67() {this.refBox = { x: 0, y: 0 }}
|
|
15177
|
+
__init68() {this.corners = null}
|
|
15178
|
+
__init69() {this.drag = null}
|
|
15179
|
+
__init70() {this.pending = false}
|
|
15180
|
+
__init71() {this.viewScale = 1}
|
|
15181
|
+
|
|
15182
|
+
/** Values typed into the options bar since the last drag (V skew is not recovered from the shape). */
|
|
15183
|
+
__init72() {this.typed = {}}
|
|
15184
|
+
/** Width and height scale together when typed (the chain icon). */
|
|
15185
|
+
__init73() {this.proportional = true}
|
|
15186
|
+
__init74() {this.error = null}
|
|
15187
|
+
__init75() {this.lastResult = null}
|
|
15188
|
+
get active() {
|
|
15189
|
+
return Boolean(_optionalChain([this, 'access', _348 => _348.sessionRef, 'optionalAccess', _349 => _349.isOpen]));
|
|
15190
|
+
}
|
|
15191
|
+
get session() {
|
|
15192
|
+
return this.active ? this.sessionRef : null;
|
|
15193
|
+
}
|
|
15194
|
+
get mode() {
|
|
15195
|
+
return this.modeValue;
|
|
15196
|
+
}
|
|
15197
|
+
get interpolation() {
|
|
15198
|
+
return _nullishCoalesce(_optionalChain([this, 'access', _350 => _350.sessionRef, 'optionalAccess', _351 => _351.interpolation]), () => ( "bicubic"));
|
|
15199
|
+
}
|
|
15200
|
+
__init76() {this.listeners = /* @__PURE__ */ new Set()}
|
|
15201
|
+
/** Calls `listener` whenever the overlay, readout, mode or error changes. Returns the unsubscribe. */
|
|
15202
|
+
subscribe(listener) {
|
|
15203
|
+
this.listeners.add(listener);
|
|
15204
|
+
return () => {
|
|
15205
|
+
this.listeners.delete(listener);
|
|
15206
|
+
};
|
|
15207
|
+
}
|
|
15208
|
+
changed() {
|
|
15209
|
+
_optionalChain([this, 'access', _352 => _352.options, 'access', _353 => _353.onChange, 'optionalCall', _354 => _354()]);
|
|
15210
|
+
for (const l of this.listeners) l();
|
|
15211
|
+
}
|
|
15212
|
+
/** Opens a Free Transform (default: the selected pixels of the active layer, or the whole layer). Returns an error message or `null`. */
|
|
15213
|
+
begin(init = {}) {
|
|
15214
|
+
if (this.active) return null;
|
|
15215
|
+
try {
|
|
15216
|
+
if (!init.layerId && init.content !== "selection-outline" && !this.controller.getState().activeLayerId) {
|
|
15217
|
+
const top = [..._chunkWT6ZAWJPcjs.flattenLayers.call(void 0, this.controller.getState().layers)].reverse().find((l) => l.type === "pixel" && l.visible);
|
|
15218
|
+
if (top) this.controller.setActiveLayer(top.id);
|
|
15219
|
+
}
|
|
15220
|
+
const s = this.controller.beginFreeTransform(init);
|
|
15221
|
+
this.sessionRef = s;
|
|
15222
|
+
this.corners = s.geometry.corners;
|
|
15223
|
+
this.refBox = { x: s.box.x + s.box.width / 2, y: s.box.y + s.box.height / 2 };
|
|
15224
|
+
this.modeValue = "scale";
|
|
15225
|
+
this.typed = {};
|
|
15226
|
+
this.error = null;
|
|
15227
|
+
} catch (e) {
|
|
15228
|
+
this.error = e instanceof Error ? e.message : String(e);
|
|
15229
|
+
}
|
|
15230
|
+
this.changed();
|
|
15231
|
+
return this.error;
|
|
15232
|
+
}
|
|
15233
|
+
setMode(mode) {
|
|
15234
|
+
this.modeValue = mode;
|
|
15235
|
+
this.changed();
|
|
15236
|
+
}
|
|
15237
|
+
/** Sets the reference point to an anchor of the frame (the options bar's locator). */
|
|
15238
|
+
setReference(anchor) {
|
|
15239
|
+
const s = this.session;
|
|
15240
|
+
if (!s) return;
|
|
15241
|
+
const [fx, fy] = ANCHOR_FRACTION2[anchor];
|
|
15242
|
+
this.refBox = { x: s.box.x + fx * s.box.width, y: s.box.y + fy * s.box.height };
|
|
15243
|
+
this.changed();
|
|
15244
|
+
}
|
|
15245
|
+
setInterpolation(interpolation) {
|
|
15246
|
+
const s = this.session;
|
|
15247
|
+
if (!s) return;
|
|
15248
|
+
this.run(() => s.update({ interpolation }, false));
|
|
15249
|
+
}
|
|
15250
|
+
/** Screen pixels per document pixel and the visible document area, for previews. */
|
|
15251
|
+
setView(scale, clip) {
|
|
15252
|
+
this.viewScale = scale > 0 ? scale : 1;
|
|
15253
|
+
this.viewClip = clip;
|
|
15254
|
+
}
|
|
15255
|
+
homography() {
|
|
15256
|
+
const s = this.session;
|
|
15257
|
+
return s && this.corners ? _chunkMUUXNRU4cjs.rectToQuad.call(void 0, s.box, this.corners) : null;
|
|
15258
|
+
}
|
|
15259
|
+
/** The reference point in document pixels. */
|
|
15260
|
+
referencePoint() {
|
|
15261
|
+
const h = this.homography();
|
|
15262
|
+
return h ? _chunkMUUXNRU4cjs.applyHomography.call(void 0, h, this.refBox) : null;
|
|
15263
|
+
}
|
|
15264
|
+
/** The outline, handles and reference point to draw, or `null` when no transform is open. */
|
|
15265
|
+
overlay() {
|
|
15266
|
+
const s = this.session;
|
|
15267
|
+
const h = this.homography();
|
|
15268
|
+
if (!s || !h || !this.corners) return null;
|
|
15269
|
+
const handles = [...CORNERS, ...SIDES].map((id) => {
|
|
15270
|
+
const [fx, fy] = HANDLE_FRACTION[id];
|
|
15271
|
+
const p = _nullishCoalesce(_chunkMUUXNRU4cjs.applyHomography.call(void 0, h, { x: s.box.x + fx * s.box.width, y: s.box.y + fy * s.box.height }), () => ( { x: 0, y: 0 }));
|
|
15272
|
+
return { id, x: p.x, y: p.y };
|
|
15273
|
+
});
|
|
15274
|
+
return { outline: this.corners.map((p) => ({ x: p.x, y: p.y })), handles, reference: _nullishCoalesce(this.referencePoint(), () => ( { x: 0, y: 0 })) };
|
|
15275
|
+
}
|
|
15276
|
+
/** What a document point is over (`tolerance` in document pixels: a few screen pixels / scale). */
|
|
15277
|
+
hit(p, tolerance) {
|
|
15278
|
+
const o = this.overlay();
|
|
15279
|
+
if (!o) return null;
|
|
15280
|
+
let best = null;
|
|
15281
|
+
let bestD = tolerance;
|
|
15282
|
+
for (const h of o.handles) {
|
|
15283
|
+
const d = Math.hypot(h.x - p.x, h.y - p.y);
|
|
15284
|
+
if (d <= bestD) {
|
|
15285
|
+
best = h.id;
|
|
15286
|
+
bestD = d;
|
|
15287
|
+
}
|
|
15288
|
+
}
|
|
15289
|
+
if (Math.hypot(o.reference.x - p.x, o.reference.y - p.y) < bestD) best = "reference";
|
|
15290
|
+
if (best) return best;
|
|
15291
|
+
return insideQuad(o.outline, p) ? "inside" : "outside";
|
|
15292
|
+
}
|
|
15293
|
+
/** The CSS cursor for a handle. */
|
|
15294
|
+
cursor(handle) {
|
|
15295
|
+
if (!handle) return "default";
|
|
15296
|
+
if (this.modeValue === "rotate" && handle !== "inside" && handle !== "reference") return CURSOR.outside;
|
|
15297
|
+
return CURSOR[handle];
|
|
15298
|
+
}
|
|
15299
|
+
/** Starts a drag on what `p` is over. */
|
|
15300
|
+
down(p, tolerance) {
|
|
15301
|
+
if (!this.session || !this.corners) return null;
|
|
15302
|
+
const handle = this.hit(p, tolerance);
|
|
15303
|
+
if (!handle) return null;
|
|
15304
|
+
this.drag = { handle, start: { x: p.x, y: p.y }, corners: this.corners, refBox: { ...this.refBox }, ref: _nullishCoalesce(this.referencePoint(), () => ( p)) };
|
|
15305
|
+
return handle;
|
|
15306
|
+
}
|
|
15307
|
+
/** Continues the drag to `p` with the modifiers held now. */
|
|
15308
|
+
move(p, m = {}) {
|
|
15309
|
+
const d = this.drag;
|
|
15310
|
+
const s = this.session;
|
|
15311
|
+
if (!d || !s) return;
|
|
15312
|
+
if (d.handle === "reference") {
|
|
15313
|
+
const h = _chunkMUUXNRU4cjs.rectToQuad.call(void 0, s.box, d.corners);
|
|
15314
|
+
const inv = h && _chunkMUUXNRU4cjs.invertHomography.call(void 0, h);
|
|
15315
|
+
const q2 = inv && _chunkMUUXNRU4cjs.applyHomography.call(void 0, inv, p);
|
|
15316
|
+
if (q2) this.refBox = q2;
|
|
15317
|
+
this.changed();
|
|
15318
|
+
return;
|
|
15319
|
+
}
|
|
15320
|
+
const corners = this.dragCorners(d, p, m);
|
|
15321
|
+
if (corners) this.setCorners(corners);
|
|
15322
|
+
}
|
|
15323
|
+
/** Ends the drag (the transform stays open). */
|
|
15324
|
+
up() {
|
|
15325
|
+
this.drag = null;
|
|
15326
|
+
}
|
|
15327
|
+
dragCorners(d, p, m) {
|
|
15328
|
+
const s = this.session;
|
|
15329
|
+
const c0 = d.corners;
|
|
15330
|
+
let delta = sub(p, d.start);
|
|
15331
|
+
const map = (f) => c0.map(f);
|
|
15332
|
+
const handle = d.handle;
|
|
15333
|
+
const isCorner = handle in CORNER_INDEX;
|
|
15334
|
+
const isSide = handle in SIDE_CORNERS;
|
|
15335
|
+
const rotating = handle === "outside" || this.modeValue === "rotate" && (isCorner || isSide);
|
|
15336
|
+
if (handle === "inside") {
|
|
15337
|
+
if (m.shiftKey) delta = Math.abs(delta.x) >= Math.abs(delta.y) ? { x: delta.x, y: 0 } : { x: 0, y: delta.y };
|
|
15338
|
+
return map((q3) => add(q3, delta));
|
|
15339
|
+
}
|
|
15340
|
+
if (rotating) {
|
|
15341
|
+
const r = d.ref;
|
|
15342
|
+
let a = Math.atan2(p.y - r.y, p.x - r.x) - Math.atan2(d.start.y - r.y, d.start.x - r.x);
|
|
15343
|
+
if (m.shiftKey) a = Math.round(a / (Math.PI / 12)) * (Math.PI / 12);
|
|
15344
|
+
return map((q3) => rotateAbout(q3, r, a));
|
|
15345
|
+
}
|
|
15346
|
+
const perspective = this.modeValue === "perspective" || mod(m) && m.altKey && m.shiftKey;
|
|
15347
|
+
const distort = this.modeValue === "distort" || mod(m) && !perspective;
|
|
15348
|
+
const skew = this.modeValue === "skew" || mod(m) && isSide;
|
|
15349
|
+
if (isSide && (skew || perspective)) {
|
|
15350
|
+
const [i, j] = SIDE_CORNERS[handle];
|
|
15351
|
+
const dir = sub(c0[j], c0[i]);
|
|
15352
|
+
const len = Math.hypot(dir.x, dir.y) || 1;
|
|
15353
|
+
const t = (delta.x * dir.x + delta.y * dir.y) / len;
|
|
15354
|
+
const v = { x: dir.x / len * t, y: dir.y / len * t };
|
|
15355
|
+
const [oi, oj] = SIDE_CORNERS[{ n: "s", s: "n", e: "w", w: "e" }[handle]];
|
|
15356
|
+
return map((q3, k) => k === i || k === j ? add(q3, v) : m.altKey && (k === oi || k === oj) ? sub(q3, v) : q3);
|
|
15357
|
+
}
|
|
15358
|
+
if (isCorner && perspective) {
|
|
15359
|
+
const k = CORNER_INDEX[handle];
|
|
15360
|
+
if (Math.abs(delta.x) >= Math.abs(delta.y)) {
|
|
15361
|
+
const partner2 = [1, 0, 3, 2][k];
|
|
15362
|
+
return map((q3, i) => i === k ? { x: q3.x + delta.x, y: q3.y } : i === partner2 ? { x: q3.x - delta.x, y: q3.y } : q3);
|
|
15363
|
+
}
|
|
15364
|
+
const partner = [3, 2, 1, 0][k];
|
|
15365
|
+
return map((q3, i) => i === k ? { x: q3.x, y: q3.y + delta.y } : i === partner ? { x: q3.x, y: q3.y - delta.y } : q3);
|
|
15366
|
+
}
|
|
15367
|
+
if (distort || isCorner && this.modeValue === "skew") {
|
|
15368
|
+
if (isCorner) return map((q3, i2) => i2 === CORNER_INDEX[handle] ? add(q3, delta) : q3);
|
|
15369
|
+
const [i, j] = SIDE_CORNERS[handle];
|
|
15370
|
+
return map((q3, k) => k === i || k === j ? add(q3, delta) : q3);
|
|
15371
|
+
}
|
|
15372
|
+
const h = _chunkMUUXNRU4cjs.rectToQuad.call(void 0, s.box, c0);
|
|
15373
|
+
const inv = h && _chunkMUUXNRU4cjs.invertHomography.call(void 0, h);
|
|
15374
|
+
if (!h || !inv) return null;
|
|
15375
|
+
const q2 = _chunkMUUXNRU4cjs.applyHomography.call(void 0, inv, p);
|
|
15376
|
+
const q0 = _chunkMUUXNRU4cjs.applyHomography.call(void 0, inv, d.start);
|
|
15377
|
+
if (!q2 || !q0) return null;
|
|
15378
|
+
const b = s.box;
|
|
15379
|
+
const [fx, fy] = HANDLE_FRACTION[handle];
|
|
15380
|
+
const grab = { x: b.x + fx * b.width, y: b.y + fy * b.height };
|
|
15381
|
+
const anchor = m.altKey ? d.refBox : { x: b.x + (1 - fx) * b.width, y: b.y + (1 - fy) * b.height };
|
|
15382
|
+
const target = add(grab, sub(q2, q0));
|
|
15383
|
+
const ax = grab.x - anchor.x;
|
|
15384
|
+
const ay = grab.y - anchor.y;
|
|
15385
|
+
let sx = isCorner || handle === "e" || handle === "w" ? Math.abs(ax) > 1e-9 ? (target.x - anchor.x) / ax : 1 : 1;
|
|
15386
|
+
let sy = isCorner || handle === "n" || handle === "s" ? Math.abs(ay) > 1e-9 ? (target.y - anchor.y) / ay : 1 : 1;
|
|
15387
|
+
if (isCorner && !m.shiftKey) {
|
|
15388
|
+
const k = Math.abs(sx) >= Math.abs(sy) ? sx : sy;
|
|
15389
|
+
sx = k;
|
|
15390
|
+
sy = k;
|
|
15391
|
+
}
|
|
15392
|
+
const scaled = [
|
|
15393
|
+
{ x: b.x, y: b.y },
|
|
15394
|
+
{ x: b.x + b.width, y: b.y },
|
|
15395
|
+
{ x: b.x + b.width, y: b.y + b.height },
|
|
15396
|
+
{ x: b.x, y: b.y + b.height }
|
|
15397
|
+
].map((c) => _chunkMUUXNRU4cjs.applyHomography.call(void 0, h, { x: anchor.x + (c.x - anchor.x) * sx, y: anchor.y + (c.y - anchor.y) * sy }));
|
|
15398
|
+
return scaled.every(Boolean) ? scaled : null;
|
|
15399
|
+
}
|
|
15400
|
+
/** Sets new corners and refreshes the preview (scheduled). Invalid shapes keep the last good one. */
|
|
15401
|
+
setCorners(corners) {
|
|
15402
|
+
const s = this.session;
|
|
15403
|
+
if (!s) return;
|
|
15404
|
+
const h = _chunkMUUXNRU4cjs.rectToQuad.call(void 0, s.box, corners);
|
|
15405
|
+
if (!h) return;
|
|
15406
|
+
this.corners = corners;
|
|
15407
|
+
this.typed = {};
|
|
15408
|
+
this.changed();
|
|
15409
|
+
this.preview();
|
|
15410
|
+
}
|
|
15411
|
+
preview() {
|
|
15412
|
+
if (this.pending) return;
|
|
15413
|
+
this.pending = true;
|
|
15414
|
+
const run = () => {
|
|
15415
|
+
this.pending = false;
|
|
15416
|
+
const s = this.session;
|
|
15417
|
+
if (!s || !this.corners) return;
|
|
15418
|
+
this.run(() => s.update({ corners: this.corners }, { scale: this.viewScale, clip: this.viewClip }));
|
|
15419
|
+
};
|
|
15420
|
+
if (this.options.schedule) this.options.schedule(run);
|
|
15421
|
+
else run();
|
|
15422
|
+
}
|
|
15423
|
+
run(fn) {
|
|
15424
|
+
try {
|
|
15425
|
+
fn();
|
|
15426
|
+
this.error = null;
|
|
15427
|
+
} catch (e) {
|
|
15428
|
+
this.error = e instanceof Error ? e.message : String(e);
|
|
15429
|
+
if (this.sessionRef && !this.sessionRef.isOpen) this.sessionRef = null;
|
|
15430
|
+
}
|
|
15431
|
+
this.changed();
|
|
15432
|
+
}
|
|
15433
|
+
/** The options bar's numbers for the current shape. */
|
|
15434
|
+
bar() {
|
|
15435
|
+
const s = this.session;
|
|
15436
|
+
if (!s || !this.corners) return null;
|
|
15437
|
+
const read = describeTransform({ box: s.box, corners: this.corners }, this.refBox);
|
|
15438
|
+
return {
|
|
15439
|
+
affine: read.affine,
|
|
15440
|
+
x: _nullishCoalesce(this.typed.x, () => ( read.x)),
|
|
15441
|
+
y: _nullishCoalesce(this.typed.y, () => ( read.y)),
|
|
15442
|
+
scaleX: _nullishCoalesce(this.typed.scaleX, () => ( read.scaleX)),
|
|
15443
|
+
scaleY: _nullishCoalesce(this.typed.scaleY, () => ( read.scaleY)),
|
|
15444
|
+
rotate: _nullishCoalesce(this.typed.rotate, () => ( read.rotate)),
|
|
15445
|
+
skewX: _nullishCoalesce(this.typed.skewX, () => ( read.skewX)),
|
|
15446
|
+
skewY: _nullishCoalesce(this.typed.skewY, () => ( 0))
|
|
15447
|
+
};
|
|
15448
|
+
}
|
|
15449
|
+
/** Applies a typed options-bar value (W and H together while `proportional`). */
|
|
15450
|
+
setField(field, value) {
|
|
15451
|
+
const s = this.session;
|
|
15452
|
+
const cur = this.bar();
|
|
15453
|
+
if (!s || !cur || !Number.isFinite(value)) return;
|
|
15454
|
+
const next = { ...cur, [field]: value };
|
|
15455
|
+
if (this.proportional && field === "scaleX") next.scaleY = cur.scaleY === 0 ? value : value / cur.scaleX * cur.scaleY;
|
|
15456
|
+
if (this.proportional && field === "scaleY") next.scaleX = cur.scaleX === 0 ? value : value / cur.scaleY * cur.scaleX;
|
|
15457
|
+
if (!next.scaleX || !next.scaleY) {
|
|
15458
|
+
this.error = "Width and height must not be 0 %.";
|
|
15459
|
+
this.changed();
|
|
15460
|
+
return;
|
|
15461
|
+
}
|
|
15462
|
+
const m = matrixFromParams(s.box, {
|
|
15463
|
+
scaleX: next.scaleX,
|
|
15464
|
+
scaleY: next.scaleY,
|
|
15465
|
+
rotate: next.rotate,
|
|
15466
|
+
skewX: next.skewX,
|
|
15467
|
+
skewY: next.skewY,
|
|
15468
|
+
reference: this.refBox,
|
|
15469
|
+
dx: next.x - this.refBox.x,
|
|
15470
|
+
dy: next.y - this.refBox.y
|
|
15471
|
+
});
|
|
15472
|
+
this.setCorners(cornersFromMatrix(s.box, m));
|
|
15473
|
+
this.typed = { scaleX: next.scaleX, scaleY: next.scaleY, rotate: next.rotate, skewX: next.skewX, skewY: next.skewY, x: next.x, y: next.y };
|
|
15474
|
+
this.changed();
|
|
15475
|
+
}
|
|
15476
|
+
/** Finishes with full-quality resampling (one undo step). */
|
|
15477
|
+
commit() {
|
|
15478
|
+
const s = this.session;
|
|
15479
|
+
if (!s) return null;
|
|
15480
|
+
let res = null;
|
|
15481
|
+
this.pending = false;
|
|
15482
|
+
this.run(() => {
|
|
15483
|
+
if (this.corners) s.update({ corners: this.corners }, false);
|
|
15484
|
+
res = s.commit();
|
|
15485
|
+
});
|
|
15486
|
+
this.lastResult = res;
|
|
15487
|
+
this.sessionRef = null;
|
|
15488
|
+
this.corners = null;
|
|
15489
|
+
this.drag = null;
|
|
15490
|
+
this.changed();
|
|
15491
|
+
return res;
|
|
15492
|
+
}
|
|
15493
|
+
/** Abandons the transform and restores everything. */
|
|
15494
|
+
cancel() {
|
|
15495
|
+
_optionalChain([this, 'access', _355 => _355.sessionRef, 'optionalAccess', _356 => _356.cancel, 'call', _357 => _357()]);
|
|
15496
|
+
this.sessionRef = null;
|
|
15497
|
+
this.corners = null;
|
|
15498
|
+
this.drag = null;
|
|
15499
|
+
this.pending = false;
|
|
15500
|
+
this.error = null;
|
|
15501
|
+
this.changed();
|
|
15502
|
+
}
|
|
15503
|
+
/**
|
|
15504
|
+
* Keyboard: Enter commits, Escape cancels, arrows nudge by 1 px (Shift: 10). Ctrl/Cmd+T opens a
|
|
15505
|
+
* Free Transform when none is open. Returns true when the key was used (prevent its default).
|
|
15506
|
+
*/
|
|
15507
|
+
key(e) {
|
|
15508
|
+
const t = e.target;
|
|
15509
|
+
const typing = Boolean(t && (t.isContentEditable || t.tagName === "INPUT" || t.tagName === "TEXTAREA" || t.tagName === "SELECT"));
|
|
15510
|
+
if (!this.active) {
|
|
15511
|
+
if ((e.ctrlKey || e.metaKey) && !e.altKey && e.key.toLowerCase() === "t" && !typing) {
|
|
15512
|
+
this.begin();
|
|
15513
|
+
return true;
|
|
15514
|
+
}
|
|
15515
|
+
return false;
|
|
15516
|
+
}
|
|
15517
|
+
if (e.key === "Enter") {
|
|
15518
|
+
this.commit();
|
|
15519
|
+
return true;
|
|
15520
|
+
}
|
|
15521
|
+
if (e.key === "Escape") {
|
|
15522
|
+
this.cancel();
|
|
15523
|
+
return true;
|
|
15524
|
+
}
|
|
15525
|
+
if (typing) return false;
|
|
15526
|
+
const step = e.shiftKey ? 10 : 1;
|
|
15527
|
+
const nudge = { ArrowLeft: { x: -step, y: 0 }, ArrowRight: { x: step, y: 0 }, ArrowUp: { x: 0, y: -step }, ArrowDown: { x: 0, y: step } };
|
|
15528
|
+
const v = nudge[e.key];
|
|
15529
|
+
if (v && this.corners) {
|
|
15530
|
+
this.setCorners(this.corners.map((q2) => add(q2, v)));
|
|
15531
|
+
return true;
|
|
15532
|
+
}
|
|
15533
|
+
return false;
|
|
15534
|
+
}
|
|
15535
|
+
}, _class11);
|
|
15536
|
+
|
|
15537
|
+
|
|
15538
|
+
|
|
15539
|
+
|
|
15056
15540
|
|
|
15057
15541
|
|
|
15058
15542
|
|
|
@@ -15581,5 +16065,5 @@ async function downloadPsd(controller, name = "image") {
|
|
|
15581
16065
|
|
|
15582
16066
|
|
|
15583
16067
|
|
|
15584
|
-
exports.ADJUSTMENT_KEYS = ADJUSTMENT_KEYS; exports.ADJUSTMENT_KINDS = ADJUSTMENT_KINDS; exports.ADJUSTMENT_LAYER_CONTROLS = ADJUSTMENT_LAYER_CONTROLS; exports.ADJUSTMENT_LAYER_OPACITY_CONTROL = ADJUSTMENT_LAYER_OPACITY_CONTROL; exports.ADJUSTMENT_LUT_SIZE = ADJUSTMENT_LUT_SIZE; exports.AS_SHOT_KELVIN = AS_SHOT_KELVIN; exports.BACKGROUND_LAYER_ID = BACKGROUND_LAYER_ID; exports.BACKGROUND_LAYER_NAME = BACKGROUND_LAYER_NAME; exports.BLEND_MODES = _chunkCRMAXIUVcjs.BLEND_MODES; exports.BLUR_FILTER_ID = BLUR_FILTER_ID; exports.BRUSH_OPTION_CONTROLS = BRUSH_OPTION_CONTROLS; exports.CoverageMap = _chunkZZOTHJ4Kcjs.CoverageMap; exports.D50 = D50; exports.D65 = D65; exports.DEFAULT_ADJUSTMENTS = DEFAULT_ADJUSTMENTS; exports.DEFAULT_BRUSH = _chunkZZOTHJ4Kcjs.DEFAULT_BRUSH; exports.DEFAULT_DEPTH_MASK = DEFAULT_DEPTH_MASK; exports.DEFAULT_GLOBAL_LIGHT = _chunkWT6ZAWJPcjs.DEFAULT_GLOBAL_LIGHT; exports.DEFAULT_MIXER = _chunkZZOTHJ4Kcjs.DEFAULT_MIXER; exports.DEFAULT_REFINE_EDGE_PARAMS = DEFAULT_REFINE_EDGE_PARAMS; exports.DEFAULT_SELECTION_TOOL_OPTIONS = DEFAULT_SELECTION_TOOL_OPTIONS; exports.DEFAULT_TRANSFORM = DEFAULT_TRANSFORM; exports.DEVELOP_FILTER_ID = DEVELOP_FILTER_ID; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkWT6ZAWJPcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.DabWalker = _chunkZZOTHJ4Kcjs.DabWalker; exports.EMPTY_DISTANCE = EMPTY_DISTANCE; exports.EMPTY_MIXER_LOAD = _chunkZZOTHJ4Kcjs.EMPTY_MIXER_LOAD; exports.FREE_TRANSFORM_CONTENTS = FREE_TRANSFORM_CONTENTS; exports.FREE_TRANSFORM_MODES = FREE_TRANSFORM_MODES; exports.FreeTransformSession = FreeTransformSession; exports.GUIDED_FILTER_EPS = GUIDED_FILTER_EPS; exports.HISTOGRAM_BINS = HISTOGRAM_BINS; exports.HUE_RANGE_LABELS = HUE_RANGE_LABELS; exports.IDENTITY_MATRIX3 = IDENTITY_MATRIX3; exports.IMAGE_ADJUSTMENT_CONTROLS = IMAGE_ADJUSTMENT_CONTROLS; exports.IMAGE_EDITOR_SCHEMA_VERSION = IMAGE_EDITOR_SCHEMA_VERSION; exports.IMAGE_EDITOR_STATE_VERSION = IMAGE_EDITOR_STATE_VERSION; exports.INTERPOLATIONS = _chunkWT6ZAWJPcjs.INTERPOLATIONS; exports.ImageEditorController = ImageEditorController; exports.ImageEditorRenderer = ImageEditorRenderer; exports.LATEST_PROCESS_VERSION = LATEST_PROCESS_VERSION; exports.LAYERED_SCHEMA_VERSION = LAYERED_SCHEMA_VERSION; exports.LAYER_EFFECT_KINDS = _chunkWT6ZAWJPcjs.LAYER_EFFECT_KINDS; exports.LAYER_EFFECT_MENU = LAYER_EFFECT_MENU; exports.LEGACY_PROCESS_VERSION = LEGACY_PROCESS_VERSION; exports.LUMA_709 = LUMA_709; exports.LayerCompositor = LayerCompositor; exports.LayerEffectError = _chunkWT6ZAWJPcjs.LayerEffectError; exports.LayerOperationError = LayerOperationError; exports.MAX_BRUSH_SIZE = _chunkZZOTHJ4Kcjs.MAX_BRUSH_SIZE; exports.MAX_EFFECT_REACH = _chunkWT6ZAWJPcjs.MAX_EFFECT_REACH; exports.MAX_KELVIN = MAX_KELVIN; exports.MAX_TRANSFORM_PIXELS = _chunkWT6ZAWJPcjs.MAX_TRANSFORM_PIXELS; exports.MIN_KELVIN = MIN_KELVIN; exports.MIRED_PER_TEMPERATURE_UNIT = MIRED_PER_TEMPERATURE_UNIT; exports.MIXER_DRAIN = _chunkZZOTHJ4Kcjs.MIXER_DRAIN; exports.MIXER_MIXING_OPTIONS = MIXER_MIXING_OPTIONS; exports.MIXER_OPTION_CONTROLS = MIXER_OPTION_CONTROLS; exports.MIXER_PICKUP_RATE = _chunkZZOTHJ4Kcjs.MIXER_PICKUP_RATE; exports.MIXING_MODELS = _chunkZZOTHJ4Kcjs.MIXING_MODELS; exports.MixerStroke = _chunkZZOTHJ4Kcjs.MixerStroke; exports.PAINT_TOOLS = PAINT_TOOLS; exports.PATTERN_BLOCK_KEYS = PATTERN_BLOCK_KEYS; exports.PIGMENT_BANDS = _chunkCRMAXIUVcjs.PIGMENT_BANDS; exports.PIGMENT_LAMBDA_MIN = _chunkCRMAXIUVcjs.PIGMENT_LAMBDA_MIN; exports.PIGMENT_LAMBDA_STEP = _chunkCRMAXIUVcjs.PIGMENT_LAMBDA_STEP; exports.PIGMENT_WAVELENGTHS = _chunkCRMAXIUVcjs.PIGMENT_WAVELENGTHS; exports.PSD_BLEND_KEYS = PSD_BLEND_KEYS; exports.PSD_FILE_ACCEPT = PSD_FILE_ACCEPT; exports.PaintGesture = PaintGesture; exports.PaintStrokeSession = PaintStrokeSession; exports.PatternPlacement = _chunkWT6ZAWJPcjs.PatternPlacement; exports.PatternTile = _chunkWT6ZAWJPcjs.PatternTile; exports.PsdError = PsdError; exports.REFINE_EDGE_CONTROLS = REFINE_EDGE_CONTROLS; exports.SELECTION_MODES = SELECTION_MODES; exports.SELECTION_MODE_LABELS = SELECTION_MODE_LABELS; exports.SELECTION_MODIFY_OPS = SELECTION_MODIFY_OPS; exports.SELECTION_TOOLS = SELECTION_TOOLS; exports.SUPPORTED_ADJUSTMENT_KEYS = SUPPORTED_ADJUSTMENT_KEYS; exports.SelectionGesture = SelectionGesture; exports.StrokeCoverage = _chunkZZOTHJ4Kcjs.StrokeCoverage; exports.SurfaceDraft = _chunkCRMAXIUVcjs.SurfaceDraft; exports.TILE = _chunkCRMAXIUVcjs.TILE; exports.TILE_SHIFT = _chunkCRMAXIUVcjs.TILE_SHIFT; exports.TINT_SCALE = TINT_SCALE; exports.TONE_LUT_SIZE = TONE_LUT_SIZE; exports.TONE_RANGE_PRESETS = TONE_RANGE_PRESETS; exports.TRANSFORM_ANCHORS = TRANSFORM_ANCHORS; exports.TiledSurface = _chunkCRMAXIUVcjs.TiledSurface; exports.TransformTooLargeError = _chunkWT6ZAWJPcjs.TransformTooLargeError; exports.VIBRANCE_GREY = VIBRANCE_GREY; exports.WARP_STYLES = _chunkDWGZUSEScjs.WARP_STYLES; exports.WARP_STYLE_LABELS = _chunkDWGZUSEScjs.WARP_STYLE_LABELS; exports.XYZ_D50_TO_SRGB = XYZ_D50_TO_SRGB; exports.ZlibError = _chunkWT6ZAWJPcjs.ZlibError; exports.activeAdjustmentLayers = activeAdjustmentLayers; exports.addLayerEffect = addLayerEffect; exports.addLayerFilter = addLayerFilter; exports.addToHistogram = addToHistogram; exports.adjustmentKindLabel = adjustmentKindLabel; exports.adjustmentLayersKey = adjustmentLayersKey; exports.adjustmentNodeAsLayer = adjustmentNodeAsLayer; exports.adjustmentNodeFromLegacy = adjustmentNodeFromLegacy; exports.adler32 = _chunkWT6ZAWJPcjs.adler32; exports.anchorPoint = anchorPoint; exports.annotationLayerFor = annotationLayerFor; exports.annotationLayerName = annotationLayerName; exports.applyAdjustmentLayers = applyAdjustmentLayers; exports.applyAdjustments = applyAdjustments; exports.applyBoxBlur = applyBoxBlur; exports.applyDepthMask = applyDepthMask; exports.applyHomography = _chunkMUUXNRU4cjs.applyHomography; exports.applyImageProjectionToContext = applyImageProjectionToContext; exports.applyLegacyAdjustments = applyLegacyAdjustments; exports.applyMatrix3 = applyMatrix3; exports.applyOutputStage = applyOutputStage; exports.applyParams = applyParams; exports.applyProcess2Adjustments = applyProcess2Adjustments; exports.applyRegionBlur = applyRegionBlur; exports.applyRegionMosaic = applyRegionMosaic; exports.applyStrokeToTile = _chunkZZOTHJ4Kcjs.applyStrokeToTile; exports.backgroundLayer = backgroundLayer; exports.base64ToBytes = _chunkWT6ZAWJPcjs.base64ToBytes; exports.baseProjection = baseProjection; exports.blackWhiteGray = blackWhiteGray; exports.blendChannel = _chunkCRMAXIUVcjs.blendChannel; exports.blendImageData = _chunkCRMAXIUVcjs.blendImageData; exports.blendLum = _chunkCRMAXIUVcjs.blendLum; exports.blendPixel = _chunkCRMAXIUVcjs.blendPixel; exports.blendRgb = _chunkCRMAXIUVcjs.blendRgb; exports.blendTile = _chunkWT6ZAWJPcjs.blendTile; exports.blurFilter = blurFilter; exports.borderCoverage = borderCoverage; exports.boxMean = boxMean; exports.boxPointOf = boxPointOf; exports.boxQuad = _chunkMUUXNRU4cjs.boxQuad; exports.boxToCurvePoint = boxToCurvePoint; exports.bradfordAdaptation = bradfordAdaptation; exports.buildLayerMaskPlanes = buildLayerMaskPlanes; exports.buildToneLut = buildToneLut; exports.builtinPattern = _chunkWT6ZAWJPcjs.builtinPattern; exports.builtinPatternIds = _chunkWT6ZAWJPcjs.builtinPatternIds; exports.bytesToBase64 = _chunkWT6ZAWJPcjs.bytesToBase64; exports.calculateCropDrag = calculateCropDrag; exports.canvasCompositeOperation = _chunkCRMAXIUVcjs.canvasCompositeOperation; exports.canvasToImagePoint = canvasToImagePoint; exports.changedTiles = _chunkWT6ZAWJPcjs.changedTiles; exports.clampControlValue = clampControlValue; exports.clampCropToImage = clampCropToImage; exports.cleanMixer = _chunkZZOTHJ4Kcjs.cleanMixer; exports.collectTiles = _chunkCRMAXIUVcjs.collectTiles; exports.colorBalanceChannel = colorBalanceChannel; exports.colorRange = colorRange; exports.combineSelections = combineSelections; exports.compileAdjustmentLayer = compileAdjustmentLayer; exports.compositeSurfaceOver = _chunkWT6ZAWJPcjs.compositeSurfaceOver; exports.computeHistogram = computeHistogram; exports.computeSelectionBounds = computeSelectionBounds; exports.contentBounds = _chunkCRMAXIUVcjs.contentBounds; exports.contractCoverage = contractCoverage; exports.controlPosition = controlPosition; exports.controlTrackBackground = controlTrackBackground; exports.cornersFromMatrix = cornersFromMatrix; exports.coverageTileCoord = _chunkZZOTHJ4Kcjs.coverageTileCoord; exports.coverageToByte = coverageToByte; exports.coveringRect = coveringRect; exports.createAdjustmentLayer = createAdjustmentLayer; exports.createImageCaptureSurface = createImageCaptureSurface; exports.createImageEditTools = createImageEditTools; exports.createImageEditorToolProvider = createImageEditorToolProvider; exports.createImageEffectTools = createImageEffectTools; exports.createImageLayerTools = createImageLayerTools; exports.createImagePaintTools = createImagePaintTools; exports.createImagePsdTools = createImagePsdTools; exports.createImageSelectionTools = createImageSelectionTools; exports.createImageTransformTools = createImageTransformTools; exports.createPigment = _chunkCRMAXIUVcjs.createPigment; exports.createPigmentTools = _chunkZZOTHJ4Kcjs.createPigmentTools; exports.createSelectionMask = createSelectionMask; exports.curveLut = _chunkWT6ZAWJPcjs.curveLut; exports.curveLutFromLevels = curveLutFromLevels; exports.curvePointToBox = curvePointToBox; exports.curveSvgPath = curveSvgPath; exports.dabCoverage = _chunkZZOTHJ4Kcjs.dabCoverage; exports.dabRect = _chunkZZOTHJ4Kcjs.dabRect; exports.decodeLayerChannel = decodeLayerChannel; exports.decodeLayerMask = decodeLayerMask; exports.decodeMergedImage = decodeMergedImage; exports.decodePlanes = decodePlanes; exports.decodePng = _chunkWT6ZAWJPcjs.decodePng; exports.decodePngDataUrl = decodePngDataUrl; exports.decodeSelectionRle = decodeSelectionRle; exports.defaultAdjustmentParams = defaultAdjustmentParams; exports.defaultEffectGradient = _chunkWT6ZAWJPcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkWT6ZAWJPcjs.defaultLayerEffect; exports.deflate = _chunkWT6ZAWJPcjs.deflate; exports.deflateRaw = _chunkWT6ZAWJPcjs.deflateRaw; exports.depthMaskAlpha = depthMaskAlpha; exports.depthRasterMask = depthRasterMask; exports.describeLayer = describeLayer; exports.describeLayerEffects = describeLayerEffects; exports.describeSelection = describeSelection; exports.describeTransform = describeTransform; exports.deserializeEffects = deserializeEffects; exports.deserializeLayer = deserializeLayer; exports.deserializeLayers = deserializeLayers; exports.deserializePatterns = deserializePatterns; exports.deserializeSelection = deserializeSelection; exports.developFilter = developFilter; exports.developFromAdjustments = developFromAdjustments; exports.developTarget = developTarget; exports.distanceTransform = distanceTransform; exports.downloadPsd = downloadPsd; exports.dragWarpMeshPoint = _chunkDWGZUSEScjs.dragWarpMeshPoint; exports.dropPlacement = dropPlacement; exports.dropZone = dropZone; exports.duplicateLayer = duplicateLayer; exports.edgeWidth = edgeWidth; exports.effectColorHex = _chunkWT6ZAWJPcjs.effectColorHex; exports.effectControlChange = effectControlChange; exports.effectReach = _chunkWT6ZAWJPcjs.effectReach; exports.effectsFingerprint = _chunkWT6ZAWJPcjs.effectsFingerprint; exports.effectsMargin = _chunkWT6ZAWJPcjs.effectsMargin; exports.effectsScale = _chunkWT6ZAWJPcjs.effectsScale; exports.ellipsePoints = ellipsePoints; exports.ellipseSelection = ellipseSelection; exports.emptyHistogram = emptyHistogram; exports.emptySurface = _chunkCRMAXIUVcjs.emptySurface; exports.encodePng = _chunkWT6ZAWJPcjs.encodePng; exports.encodeRle = encodeRle; exports.encodeSelectionRle = encodeSelectionRle; exports.encodeSurface = encodeSurface; exports.evalWarpMesh = _chunkDWGZUSEScjs.evalWarpMesh; exports.evaluateAdjustmentLayers = evaluateAdjustmentLayers; exports.expandCoverage = expandCoverage; exports.exportPsd = exportPsd; exports.featherCoverage = featherCoverage; exports.fillRect = _chunkCRMAXIUVcjs.fillRect; exports.findAdjustmentControl = findAdjustmentControl; exports.findLayer = _chunkWT6ZAWJPcjs.findLayer; exports.findLayerControl = findLayerControl; exports.finishTile = _chunkCRMAXIUVcjs.finishTile; exports.flattenLayers = _chunkWT6ZAWJPcjs.flattenLayers; exports.flipCorners = flipCorners; exports.formatControlValue = formatControlValue; exports.fullSelection = fullSelection; exports.gaussianBlur = _chunkWT6ZAWJPcjs.gaussianBlur; exports.geometryHomography = geometryHomography; exports.getAnnotationBounds = getAnnotationBounds; exports.getControlPath = getControlPath; exports.getCropCursor = getCropCursor; exports.getRotatedSize = getRotatedSize; exports.getViewportMetrics = getViewportMetrics; exports.getViewportProjection = getViewportProjection; exports.globalImageCache = globalImageCache; exports.greyMorphology = greyMorphology; exports.groupLayers = groupLayers; exports.guidePlanes = guidePlanes; exports.guidedFilterColor = guidedFilterColor; exports.handlePaintShortcut = handlePaintShortcut; exports.hasActiveEffects = _chunkWT6ZAWJPcjs.hasActiveEffects; exports.hasResampledLegacyMask = hasResampledLegacyMask; exports.hasWarp = hasWarp; exports.hashMaskContent = hashMaskContent; exports.hashNoise = _chunkWT6ZAWJPcjs.hashNoise; exports.hexToRgb = hexToRgb; exports.histogramPath = histogramPath; exports.hitTestAnnotation = hitTestAnnotation; exports.hitTestCrop = hitTestCrop; exports.hitTestCurvePoint = hitTestCurvePoint; exports.homographyFromAffine = _chunkMUUXNRU4cjs.homographyFromAffine; exports.homographyFromPoints = _chunkMUUXNRU4cjs.homographyFromPoints; exports.hslToRgb = hslToRgb; exports.hueRange = hueRange; exports.hueRangeTables = hueRangeTables; exports.hueRangeWeight = hueRangeWeight; exports.hueSaturation = hueSaturation; exports.identityCurve = identityCurve; exports.identityLevels = identityLevels; exports.identityTransform = identityTransform; exports.identityWarpMesh = _chunkDWGZUSEScjs.identityWarpMesh; exports.imageEditorStateMigrations = imageEditorStateMigrations; exports.imageToCanvasPoint = imageToCanvasPoint; exports.importPsd = importPsd; exports.inflate = _chunkWT6ZAWJPcjs.inflate; exports.inflateRaw = _chunkWT6ZAWJPcjs.inflateRaw; exports.insertCurvePoint = insertCurvePoint; exports.insertLayer = _chunkWT6ZAWJPcjs.insertLayer; exports.invertHomography = _chunkMUUXNRU4cjs.invertHomography; exports.invertMatrix3 = invertMatrix3; exports.invertSelection = invertSelection; exports.isActiveFilter = isActiveFilter; exports.isAdjustmentKind = isAdjustmentKind; exports.isBlendMode = _chunkCRMAXIUVcjs.isBlendMode; exports.isDefaultDepthMask = isDefaultDepthMask; exports.isIdentityTransform = isIdentityTransform; exports.isInterpolation = _chunkWT6ZAWJPcjs.isInterpolation; exports.isLayerEffectKind = _chunkWT6ZAWJPcjs.isLayerEffectKind; exports.isLayerLocked = _chunkWT6ZAWJPcjs.isLayerLocked; exports.isLegacyShape = isLegacyShape; exports.isPaintTool = isPaintTool; exports.isPng = _chunkWT6ZAWJPcjs.isPng; exports.isQuarterTurn = isQuarterTurn; exports.isQuarterTurnSwapped = isQuarterTurnSwapped; exports.isSelectionEmpty = isSelectionEmpty; exports.isSelectionMode = isSelectionMode; exports.isSeparableBlendMode = _chunkCRMAXIUVcjs.isSeparableBlendMode; exports.isSpatialFilter = isSpatialFilter; exports.isTransformAnchor = isTransformAnchor; exports.isValidWarp = isValidWarp; exports.kelvinToTemperature = kelvinToTemperature; exports.keysWeight = _chunkWT6ZAWJPcjs.keysWeight; exports.layerBadge = layerBadge; exports.layerEffectControls = layerEffectControls; exports.layerEffectFields = _chunkWT6ZAWJPcjs.layerEffectFields; exports.layerEffectLabel = _chunkWT6ZAWJPcjs.layerEffectLabel; exports.layerEffectsBadge = layerEffectsBadge; exports.layerEffectsOf = layerEffectsOf; exports.layerEffectsPanel = layerEffectsPanel; exports.layerLabel = layerLabel; exports.layerMaskCoverage = layerMaskCoverage; exports.layerMaskFromSelection = layerMaskFromSelection; exports.layerMaskKey = layerMaskKey; exports.layerMenu = layerMenu; exports.layerName = layerName; exports.layerPanelRows = layerPanelRows; exports.layerTree = layerTree; exports.layerTypeLabel = layerTypeLabel; exports.layersFromLegacy = layersFromLegacy; exports.legacyAdjustmentLayer = legacyAdjustmentLayer; exports.legacyMaskOf = legacyMaskOf; exports.legacyView = legacyView; exports.lerpPigment = _chunkCRMAXIUVcjs.lerpPigment; exports.lerpPigmentInto = _chunkCRMAXIUVcjs.lerpPigmentInto; exports.levelsValue = levelsValue; exports.linearSrgbToXy = linearSrgbToXy; exports.linearToSrgb = linearToSrgb; exports.loadImageEditorDocument = loadImageEditorDocument; exports.loadMixer = _chunkZZOTHJ4Kcjs.loadMixer; exports.magicWand = magicWand; exports.mapCropHandle = mapCropHandle; exports.mapLayer = _chunkWT6ZAWJPcjs.mapLayer; exports.maskSummary = maskSummary; exports.matrixFromCorners = matrixFromCorners; exports.matrixFromParams = matrixFromParams; exports.mergeLayerEffect = _chunkWT6ZAWJPcjs.mergeLayerEffect; exports.migrateSerializedImageEditorState = migrateSerializedImageEditorState; exports.migrateToLayeredState = migrateToLayeredState; exports.mixPigment8 = _chunkCRMAXIUVcjs.mixPigment8; exports.mixPigmentRgb = _chunkCRMAXIUVcjs.mixPigmentRgb; exports.mixPigments = _chunkCRMAXIUVcjs.mixPigments; exports.mixerLoadResult = mixerLoadResult; exports.modifySelection = modifySelection; exports.moveCurvePoint = moveCurvePoint; exports.moveLayer = moveLayer; exports.mulMatrix3 = mulMatrix3; exports.needsLegacyBase = needsLegacyBase; exports.neutralHueRange = neutralHueRange; exports.newEffectId = _chunkWT6ZAWJPcjs.newEffectId; exports.newLayerId = newLayerId; exports.normalizeAdjustmentLayer = normalizeAdjustmentLayer; exports.normalizeAdjustmentLayers = normalizeAdjustmentLayers; exports.normalizeAngle = normalizeAngle; exports.normalizeBlendMode = _chunkCRMAXIUVcjs.normalizeBlendMode; exports.normalizeBrush = _chunkZZOTHJ4Kcjs.normalizeBrush; exports.normalizeFilter = normalizeFilter; exports.normalizeLayerEffects = _chunkWT6ZAWJPcjs.normalizeLayerEffects; exports.normalizeLayerMask = normalizeLayerMask; exports.normalizeMixer = _chunkZZOTHJ4Kcjs.normalizeMixer; exports.normalizeProcessVersion = normalizeProcessVersion; exports.normalizeRect = normalizeRect; exports.normalizeRefineEdgeParams = normalizeRefineEdgeParams; exports.normalizeStoredAdjustments = normalizeStoredAdjustments; exports.offsetLayer = offsetLayer; exports.openPsdFile = openPsdFile; exports.packRgba = _chunkCRMAXIUVcjs.packRgba; exports.parseAdjustmentBlock = parseAdjustmentBlock; exports.parseBlend = parseBlend; exports.parseColor = parseColor; exports.parseDataUrl = _chunkWT6ZAWJPcjs.parseDataUrl; exports.parseEffectColor = _chunkWT6ZAWJPcjs.parseEffectColor; exports.parseLfx2 = parseLfx2; exports.parseLrfx = parseLrfx; exports.parsePatternBlock = parsePatternBlock; exports.parseSelectionMode = parseSelectionMode; exports.parseVersionedDescriptor = parseVersionedDescriptor; exports.photoFilterMatrix = photoFilterMatrix; exports.pixelLayerBounds = pixelLayerBounds; exports.pixelLayers = pixelLayers; exports.placeLayer = placeLayer; exports.pngDataUrl = _chunkWT6ZAWJPcjs.pngDataUrl; exports.pointerPressure = pointerPressure; exports.polygonCoverage = polygonCoverage; exports.polygonSelection = polygonSelection; exports.posterizeValue = posterizeValue; exports.presetWarp = presetWarp; exports.previewStep = previewStep; exports.projectImagePoint = projectImagePoint; exports.projectImageRect = projectImageRect; exports.projectMaskCoverage = projectMaskCoverage; exports.projectQuarterTurn = projectQuarterTurn; exports.psdBytesFromBase64 = psdBytesFromBase64; exports.psdFileName = psdFileName; exports.psdPatternToEffectPattern = psdPatternToEffectPattern; exports.psdToLayers = psdToLayers; exports.pullWarpMesh = _chunkDWGZUSEScjs.pullWarpMesh; exports.quickMaskPixels = quickMaskPixels; exports.rangeLightness = rangeLightness; exports.rasterMaskFromLegacy = rasterMaskFromLegacy; exports.rasterizeDab = _chunkZZOTHJ4Kcjs.rasterizeDab; exports.readAdjustmentControls = readAdjustmentControls; exports.readPixel = _chunkCRMAXIUVcjs.readPixel; exports.readPsd = readPsd; exports.readRegion = _chunkCRMAXIUVcjs.readRegion; exports.rectSelection = rectSelection; exports.rectToQuad = _chunkMUUXNRU4cjs.rectToQuad; exports.reduceSurface = _chunkWT6ZAWJPcjs.reduceSurface; exports.referencePoint = referencePoint; exports.refineCoverage = refineCoverage; exports.refineEdgeHalo = refineEdgeHalo; exports.refineSelection = refineSelection; exports.reflectanceToRgb = _chunkCRMAXIUVcjs.reflectanceToRgb; exports.removeAlpha = removeAlpha; exports.removeCurvePoint = removeCurvePoint; exports.removeLayer = removeLayer; exports.removeLayerEffect = removeLayerEffect; exports.removeLayerFilter = removeLayerFilter; exports.renderLayerEffects = _chunkWT6ZAWJPcjs.renderLayerEffects; exports.renderLayeredBase = renderLayeredBase; exports.requireLayer = requireLayer; exports.requireUnlocked = requireUnlocked; exports.resizePixels = resizePixels; exports.resizeSelection = resizeSelection; exports.resizeWarpMesh = _chunkDWGZUSEScjs.resizeWarpMesh; exports.resolveExternalAssets = resolveExternalAssets; exports.resolveMosaicRegionBounds = resolveMosaicRegionBounds; exports.rgbToGray = rgbToGray; exports.rgbToHsl = rgbToHsl; exports.rgbToReflectance = _chunkCRMAXIUVcjs.rgbToReflectance; exports.rgbUnitToHex = rgbUnitToHex; exports.runLayerMenuAction = runLayerMenuAction; exports.sampleLut = sampleLut; exports.sampleToneLut = sampleToneLut; exports.scaleLayerEffect = _chunkWT6ZAWJPcjs.scaleLayerEffect; exports.selectionArea = selectionArea; exports.selectionFromCoverage = selectionFromCoverage; exports.selectionFromPixels = selectionFromPixels; exports.selectionModeFromModifiers = selectionModeFromModifiers; exports.selectionOutline = selectionOutline; exports.selectionToCoverage = selectionToCoverage; exports.selectionToPixels = selectionToPixels; exports.selectionValueAt = selectionValueAt; exports.serializeEffects = serializeEffects; exports.serializeLayer = serializeLayer; exports.serializeLayers = serializeLayers; exports.serializeLayersExternal = serializeLayersExternal; exports.serializePatterns = serializePatterns; exports.serializeSelection = serializeSelection; exports.setControlPath = setControlPath; exports.setLayerEffects = setLayerEffects; exports.setLayerEffectsEnabled = setLayerEffectsEnabled; exports.setLayerMask = setLayerMask; exports.setLayerProperties = setLayerProperties; exports.setLum = _chunkCRMAXIUVcjs.setLum; exports.setPigmentColor = _chunkCRMAXIUVcjs.setPigmentColor; exports.shiftCoverage = shiftCoverage; exports.smoothCoverage = smoothCoverage; exports.smoothPoints = _chunkZZOTHJ4Kcjs.smoothPoints; exports.solidSurface = _chunkCRMAXIUVcjs.solidSurface; exports.splitOverlayAnnotations = splitOverlayAnnotations; exports.srgb8ToLab = srgb8ToLab; exports.srgbToLinear = srgbToLinear; exports.sumHistograms = sumHistograms; exports.surfaceBytes = _chunkCRMAXIUVcjs.surfaceBytes; exports.surfaceFromPixels = _chunkCRMAXIUVcjs.surfaceFromPixels; exports.surfacesEqual = _chunkCRMAXIUVcjs.surfacesEqual; exports.tempTintToXy = tempTintToXy; exports.temperatureToKelvin = temperatureToKelvin; exports.tileCoord = _chunkCRMAXIUVcjs.tileCoord; exports.tileKey = _chunkCRMAXIUVcjs.tileKey; exports.tileRect = _chunkCRMAXIUVcjs.tileRect; exports.tilesInRect = _chunkCRMAXIUVcjs.tilesInRect; exports.tipFalloff = _chunkZZOTHJ4Kcjs.tipFalloff; exports.tipReach = _chunkZZOTHJ4Kcjs.tipReach; exports.tipShape = _chunkZZOTHJ4Kcjs.tipShape; exports.toHex = toHex2; exports.toneCurve = toneCurve; exports.toneLuts = toneLuts; exports.toneRange = toneRange; exports.transformHomography = transformHomography; exports.transformMap = transformMap; exports.transformSurface = _chunkWT6ZAWJPcjs.transformSurface; exports.transformedBounds = _chunkWT6ZAWJPcjs.transformedBounds; exports.transformedBox = transformedBox; exports.transformedPoint = transformedPoint; exports.translateSurface = _chunkCRMAXIUVcjs.translateSurface; exports.ungroupLayer = ungroupLayer; exports.uniformTile = _chunkCRMAXIUVcjs.uniformTile; exports.unionRect = unionRect; exports.unprojectCanvasPoint = unprojectCanvasPoint; exports.updateLayerEffect = updateLayerEffect; exports.updateLayerFilter = updateLayerFilter; exports.updateLayerMaskProps = updateLayerMaskProps; exports.uvToXy = uvToXy; exports.validateEffectGradient = _chunkWT6ZAWJPcjs.validateEffectGradient; exports.validateLayerEffect = _chunkWT6ZAWJPcjs.validateLayerEffect; exports.validateLayerEffects = _chunkWT6ZAWJPcjs.validateLayerEffects; exports.versionedDescriptorBytes = versionedDescriptorBytes; exports.vibranceLinear = vibranceLinear; exports.vibrancePixel = vibrancePixel; exports.walkDabs = _chunkZZOTHJ4Kcjs.walkDabs; exports.warpMeshEditPoints = _chunkDWGZUSEScjs.warpMeshEditPoints; exports.warpMeshGridCurves = _chunkDWGZUSEScjs.warpMeshGridCurves; exports.warpMeshParamAt = _chunkDWGZUSEScjs.warpMeshParamAt; exports.warpPresetMesh = _chunkDWGZUSEScjs.warpPresetMesh; exports.warpSurface = _chunkWT6ZAWJPcjs.warpSurface; exports.wbMatrix = wbMatrix; exports.whiteBalanceFromSample = whiteBalanceFromSample; exports.whiteBalanceMatrix = whiteBalanceMatrix; exports.withNewIds = withNewIds; exports.writeAdjustmentBlock = writeAdjustmentBlock; exports.writeLfx2 = writeLfx2; exports.writePatternBlock = writePatternBlock; exports.writePsd = writePsd; exports.writeRegion = _chunkCRMAXIUVcjs.writeRegion; exports.xyToTempTint = xyToTempTint; exports.xyToUv = xyToUv;
|
|
16068
|
+
exports.ADJUSTMENT_KEYS = ADJUSTMENT_KEYS; exports.ADJUSTMENT_KINDS = ADJUSTMENT_KINDS; exports.ADJUSTMENT_LAYER_CONTROLS = ADJUSTMENT_LAYER_CONTROLS; exports.ADJUSTMENT_LAYER_OPACITY_CONTROL = ADJUSTMENT_LAYER_OPACITY_CONTROL; exports.ADJUSTMENT_LUT_SIZE = ADJUSTMENT_LUT_SIZE; exports.AS_SHOT_KELVIN = AS_SHOT_KELVIN; exports.BACKGROUND_LAYER_ID = BACKGROUND_LAYER_ID; exports.BACKGROUND_LAYER_NAME = BACKGROUND_LAYER_NAME; exports.BLEND_MODES = _chunkCRMAXIUVcjs.BLEND_MODES; exports.BLUR_FILTER_ID = BLUR_FILTER_ID; exports.BRUSH_OPTION_CONTROLS = BRUSH_OPTION_CONTROLS; exports.CoverageMap = _chunkZZOTHJ4Kcjs.CoverageMap; exports.D50 = D50; exports.D65 = D65; exports.DEFAULT_ADJUSTMENTS = DEFAULT_ADJUSTMENTS; exports.DEFAULT_BRUSH = _chunkZZOTHJ4Kcjs.DEFAULT_BRUSH; exports.DEFAULT_DEPTH_MASK = DEFAULT_DEPTH_MASK; exports.DEFAULT_GLOBAL_LIGHT = _chunkWT6ZAWJPcjs.DEFAULT_GLOBAL_LIGHT; exports.DEFAULT_MIXER = _chunkZZOTHJ4Kcjs.DEFAULT_MIXER; exports.DEFAULT_REFINE_EDGE_PARAMS = DEFAULT_REFINE_EDGE_PARAMS; exports.DEFAULT_SELECTION_TOOL_OPTIONS = DEFAULT_SELECTION_TOOL_OPTIONS; exports.DEFAULT_TRANSFORM = DEFAULT_TRANSFORM; exports.DEVELOP_FILTER_ID = DEVELOP_FILTER_ID; exports.DIRECT_GAUSSIAN_MAX_SIGMA = _chunkWT6ZAWJPcjs.DIRECT_GAUSSIAN_MAX_SIGMA; exports.DabWalker = _chunkZZOTHJ4Kcjs.DabWalker; exports.EMPTY_DISTANCE = EMPTY_DISTANCE; exports.EMPTY_MIXER_LOAD = _chunkZZOTHJ4Kcjs.EMPTY_MIXER_LOAD; exports.FREE_TRANSFORM_CONTENTS = FREE_TRANSFORM_CONTENTS; exports.FREE_TRANSFORM_FIELDS = FREE_TRANSFORM_FIELDS; exports.FREE_TRANSFORM_MODES = FREE_TRANSFORM_MODES; exports.FREE_TRANSFORM_MODE_OPTIONS = FREE_TRANSFORM_MODE_OPTIONS; exports.FreeTransformSession = FreeTransformSession; exports.FreeTransformTool = FreeTransformTool; exports.GUIDED_FILTER_EPS = GUIDED_FILTER_EPS; exports.HISTOGRAM_BINS = HISTOGRAM_BINS; exports.HUE_RANGE_LABELS = HUE_RANGE_LABELS; exports.IDENTITY_MATRIX3 = IDENTITY_MATRIX3; exports.IMAGE_ADJUSTMENT_CONTROLS = IMAGE_ADJUSTMENT_CONTROLS; exports.IMAGE_EDITOR_SCHEMA_VERSION = IMAGE_EDITOR_SCHEMA_VERSION; exports.IMAGE_EDITOR_STATE_VERSION = IMAGE_EDITOR_STATE_VERSION; exports.INTERPOLATIONS = _chunkWT6ZAWJPcjs.INTERPOLATIONS; exports.ImageEditorController = ImageEditorController; exports.ImageEditorRenderer = ImageEditorRenderer; exports.LATEST_PROCESS_VERSION = LATEST_PROCESS_VERSION; exports.LAYERED_SCHEMA_VERSION = LAYERED_SCHEMA_VERSION; exports.LAYER_EFFECT_KINDS = _chunkWT6ZAWJPcjs.LAYER_EFFECT_KINDS; exports.LAYER_EFFECT_MENU = LAYER_EFFECT_MENU; exports.LEGACY_PROCESS_VERSION = LEGACY_PROCESS_VERSION; exports.LUMA_709 = LUMA_709; exports.LayerCompositor = LayerCompositor; exports.LayerEffectError = _chunkWT6ZAWJPcjs.LayerEffectError; exports.LayerOperationError = LayerOperationError; exports.MAX_BRUSH_SIZE = _chunkZZOTHJ4Kcjs.MAX_BRUSH_SIZE; exports.MAX_EFFECT_REACH = _chunkWT6ZAWJPcjs.MAX_EFFECT_REACH; exports.MAX_KELVIN = MAX_KELVIN; exports.MAX_TRANSFORM_PIXELS = _chunkWT6ZAWJPcjs.MAX_TRANSFORM_PIXELS; exports.MIN_KELVIN = MIN_KELVIN; exports.MIRED_PER_TEMPERATURE_UNIT = MIRED_PER_TEMPERATURE_UNIT; exports.MIXER_DRAIN = _chunkZZOTHJ4Kcjs.MIXER_DRAIN; exports.MIXER_MIXING_OPTIONS = MIXER_MIXING_OPTIONS; exports.MIXER_OPTION_CONTROLS = MIXER_OPTION_CONTROLS; exports.MIXER_PICKUP_RATE = _chunkZZOTHJ4Kcjs.MIXER_PICKUP_RATE; exports.MIXING_MODELS = _chunkZZOTHJ4Kcjs.MIXING_MODELS; exports.MixerStroke = _chunkZZOTHJ4Kcjs.MixerStroke; exports.PAINT_TOOLS = PAINT_TOOLS; exports.PATTERN_BLOCK_KEYS = PATTERN_BLOCK_KEYS; exports.PIGMENT_BANDS = _chunkCRMAXIUVcjs.PIGMENT_BANDS; exports.PIGMENT_LAMBDA_MIN = _chunkCRMAXIUVcjs.PIGMENT_LAMBDA_MIN; exports.PIGMENT_LAMBDA_STEP = _chunkCRMAXIUVcjs.PIGMENT_LAMBDA_STEP; exports.PIGMENT_WAVELENGTHS = _chunkCRMAXIUVcjs.PIGMENT_WAVELENGTHS; exports.PSD_BLEND_KEYS = PSD_BLEND_KEYS; exports.PSD_FILE_ACCEPT = PSD_FILE_ACCEPT; exports.PaintGesture = PaintGesture; exports.PaintStrokeSession = PaintStrokeSession; exports.PatternPlacement = _chunkWT6ZAWJPcjs.PatternPlacement; exports.PatternTile = _chunkWT6ZAWJPcjs.PatternTile; exports.PsdError = PsdError; exports.REFINE_EDGE_CONTROLS = REFINE_EDGE_CONTROLS; exports.SELECTION_MODES = SELECTION_MODES; exports.SELECTION_MODE_LABELS = SELECTION_MODE_LABELS; exports.SELECTION_MODIFY_OPS = SELECTION_MODIFY_OPS; exports.SELECTION_TOOLS = SELECTION_TOOLS; exports.SUPPORTED_ADJUSTMENT_KEYS = SUPPORTED_ADJUSTMENT_KEYS; exports.SelectionGesture = SelectionGesture; exports.StrokeCoverage = _chunkZZOTHJ4Kcjs.StrokeCoverage; exports.SurfaceDraft = _chunkCRMAXIUVcjs.SurfaceDraft; exports.TILE = _chunkCRMAXIUVcjs.TILE; exports.TILE_SHIFT = _chunkCRMAXIUVcjs.TILE_SHIFT; exports.TINT_SCALE = TINT_SCALE; exports.TONE_LUT_SIZE = TONE_LUT_SIZE; exports.TONE_RANGE_PRESETS = TONE_RANGE_PRESETS; exports.TRANSFORM_ANCHORS = TRANSFORM_ANCHORS; exports.TiledSurface = _chunkCRMAXIUVcjs.TiledSurface; exports.TransformTooLargeError = _chunkWT6ZAWJPcjs.TransformTooLargeError; exports.VIBRANCE_GREY = VIBRANCE_GREY; exports.WARP_STYLES = _chunkDWGZUSEScjs.WARP_STYLES; exports.WARP_STYLE_LABELS = _chunkDWGZUSEScjs.WARP_STYLE_LABELS; exports.XYZ_D50_TO_SRGB = XYZ_D50_TO_SRGB; exports.ZlibError = _chunkWT6ZAWJPcjs.ZlibError; exports.activeAdjustmentLayers = activeAdjustmentLayers; exports.addLayerEffect = addLayerEffect; exports.addLayerFilter = addLayerFilter; exports.addToHistogram = addToHistogram; exports.adjustmentKindLabel = adjustmentKindLabel; exports.adjustmentLayersKey = adjustmentLayersKey; exports.adjustmentNodeAsLayer = adjustmentNodeAsLayer; exports.adjustmentNodeFromLegacy = adjustmentNodeFromLegacy; exports.adler32 = _chunkWT6ZAWJPcjs.adler32; exports.anchorPoint = anchorPoint; exports.annotationLayerFor = annotationLayerFor; exports.annotationLayerName = annotationLayerName; exports.applyAdjustmentLayers = applyAdjustmentLayers; exports.applyAdjustments = applyAdjustments; exports.applyBoxBlur = applyBoxBlur; exports.applyDepthMask = applyDepthMask; exports.applyHomography = _chunkMUUXNRU4cjs.applyHomography; exports.applyImageProjectionToContext = applyImageProjectionToContext; exports.applyLegacyAdjustments = applyLegacyAdjustments; exports.applyMatrix3 = applyMatrix3; exports.applyOutputStage = applyOutputStage; exports.applyParams = applyParams; exports.applyProcess2Adjustments = applyProcess2Adjustments; exports.applyRegionBlur = applyRegionBlur; exports.applyRegionMosaic = applyRegionMosaic; exports.applyStrokeToTile = _chunkZZOTHJ4Kcjs.applyStrokeToTile; exports.backgroundLayer = backgroundLayer; exports.base64ToBytes = _chunkWT6ZAWJPcjs.base64ToBytes; exports.baseProjection = baseProjection; exports.blackWhiteGray = blackWhiteGray; exports.blendChannel = _chunkCRMAXIUVcjs.blendChannel; exports.blendImageData = _chunkCRMAXIUVcjs.blendImageData; exports.blendLum = _chunkCRMAXIUVcjs.blendLum; exports.blendPixel = _chunkCRMAXIUVcjs.blendPixel; exports.blendRgb = _chunkCRMAXIUVcjs.blendRgb; exports.blendTile = _chunkWT6ZAWJPcjs.blendTile; exports.blurFilter = blurFilter; exports.borderCoverage = borderCoverage; exports.boxMean = boxMean; exports.boxPointOf = boxPointOf; exports.boxQuad = _chunkMUUXNRU4cjs.boxQuad; exports.boxToCurvePoint = boxToCurvePoint; exports.bradfordAdaptation = bradfordAdaptation; exports.buildLayerMaskPlanes = buildLayerMaskPlanes; exports.buildToneLut = buildToneLut; exports.builtinPattern = _chunkWT6ZAWJPcjs.builtinPattern; exports.builtinPatternIds = _chunkWT6ZAWJPcjs.builtinPatternIds; exports.bytesToBase64 = _chunkWT6ZAWJPcjs.bytesToBase64; exports.calculateCropDrag = calculateCropDrag; exports.canvasCompositeOperation = _chunkCRMAXIUVcjs.canvasCompositeOperation; exports.canvasToImagePoint = canvasToImagePoint; exports.changedTiles = _chunkWT6ZAWJPcjs.changedTiles; exports.clampControlValue = clampControlValue; exports.clampCropToImage = clampCropToImage; exports.cleanMixer = _chunkZZOTHJ4Kcjs.cleanMixer; exports.collectTiles = _chunkCRMAXIUVcjs.collectTiles; exports.colorBalanceChannel = colorBalanceChannel; exports.colorRange = colorRange; exports.combineSelections = combineSelections; exports.compileAdjustmentLayer = compileAdjustmentLayer; exports.compositeSurfaceOver = _chunkWT6ZAWJPcjs.compositeSurfaceOver; exports.computeHistogram = computeHistogram; exports.computeSelectionBounds = computeSelectionBounds; exports.contentBounds = _chunkCRMAXIUVcjs.contentBounds; exports.contractCoverage = contractCoverage; exports.controlPosition = controlPosition; exports.controlTrackBackground = controlTrackBackground; exports.cornersFromMatrix = cornersFromMatrix; exports.coverageTileCoord = _chunkZZOTHJ4Kcjs.coverageTileCoord; exports.coverageToByte = coverageToByte; exports.coveringRect = coveringRect; exports.createAdjustmentLayer = createAdjustmentLayer; exports.createImageCaptureSurface = createImageCaptureSurface; exports.createImageEditTools = createImageEditTools; exports.createImageEditorToolProvider = createImageEditorToolProvider; exports.createImageEffectTools = createImageEffectTools; exports.createImageLayerTools = createImageLayerTools; exports.createImagePaintTools = createImagePaintTools; exports.createImagePsdTools = createImagePsdTools; exports.createImageSelectionTools = createImageSelectionTools; exports.createImageTransformTools = createImageTransformTools; exports.createPigment = _chunkCRMAXIUVcjs.createPigment; exports.createPigmentTools = _chunkZZOTHJ4Kcjs.createPigmentTools; exports.createSelectionMask = createSelectionMask; exports.curveLut = _chunkWT6ZAWJPcjs.curveLut; exports.curveLutFromLevels = curveLutFromLevels; exports.curvePointToBox = curvePointToBox; exports.curveSvgPath = curveSvgPath; exports.dabCoverage = _chunkZZOTHJ4Kcjs.dabCoverage; exports.dabRect = _chunkZZOTHJ4Kcjs.dabRect; exports.decodeLayerChannel = decodeLayerChannel; exports.decodeLayerMask = decodeLayerMask; exports.decodeMergedImage = decodeMergedImage; exports.decodePlanes = decodePlanes; exports.decodePng = _chunkWT6ZAWJPcjs.decodePng; exports.decodePngDataUrl = decodePngDataUrl; exports.decodeSelectionRle = decodeSelectionRle; exports.defaultAdjustmentParams = defaultAdjustmentParams; exports.defaultEffectGradient = _chunkWT6ZAWJPcjs.defaultEffectGradient; exports.defaultLayerEffect = _chunkWT6ZAWJPcjs.defaultLayerEffect; exports.deflate = _chunkWT6ZAWJPcjs.deflate; exports.deflateRaw = _chunkWT6ZAWJPcjs.deflateRaw; exports.depthMaskAlpha = depthMaskAlpha; exports.depthRasterMask = depthRasterMask; exports.describeLayer = describeLayer; exports.describeLayerEffects = describeLayerEffects; exports.describeSelection = describeSelection; exports.describeTransform = describeTransform; exports.deserializeEffects = deserializeEffects; exports.deserializeLayer = deserializeLayer; exports.deserializeLayers = deserializeLayers; exports.deserializePatterns = deserializePatterns; exports.deserializeSelection = deserializeSelection; exports.developFilter = developFilter; exports.developFromAdjustments = developFromAdjustments; exports.developTarget = developTarget; exports.distanceTransform = distanceTransform; exports.downloadPsd = downloadPsd; exports.dragWarpMeshPoint = _chunkDWGZUSEScjs.dragWarpMeshPoint; exports.dropPlacement = dropPlacement; exports.dropZone = dropZone; exports.duplicateLayer = duplicateLayer; exports.edgeWidth = edgeWidth; exports.effectColorHex = _chunkWT6ZAWJPcjs.effectColorHex; exports.effectControlChange = effectControlChange; exports.effectReach = _chunkWT6ZAWJPcjs.effectReach; exports.effectsFingerprint = _chunkWT6ZAWJPcjs.effectsFingerprint; exports.effectsMargin = _chunkWT6ZAWJPcjs.effectsMargin; exports.effectsScale = _chunkWT6ZAWJPcjs.effectsScale; exports.ellipsePoints = ellipsePoints; exports.ellipseSelection = ellipseSelection; exports.emptyHistogram = emptyHistogram; exports.emptySurface = _chunkCRMAXIUVcjs.emptySurface; exports.encodePng = _chunkWT6ZAWJPcjs.encodePng; exports.encodeRle = encodeRle; exports.encodeSelectionRle = encodeSelectionRle; exports.encodeSurface = encodeSurface; exports.evalWarpMesh = _chunkDWGZUSEScjs.evalWarpMesh; exports.evaluateAdjustmentLayers = evaluateAdjustmentLayers; exports.expandCoverage = expandCoverage; exports.exportPsd = exportPsd; exports.featherCoverage = featherCoverage; exports.fillRect = _chunkCRMAXIUVcjs.fillRect; exports.findAdjustmentControl = findAdjustmentControl; exports.findLayer = _chunkWT6ZAWJPcjs.findLayer; exports.findLayerControl = findLayerControl; exports.finishTile = _chunkCRMAXIUVcjs.finishTile; exports.flattenLayers = _chunkWT6ZAWJPcjs.flattenLayers; exports.flipCorners = flipCorners; exports.formatControlValue = formatControlValue; exports.fullSelection = fullSelection; exports.gaussianBlur = _chunkWT6ZAWJPcjs.gaussianBlur; exports.geometryHomography = geometryHomography; exports.getAnnotationBounds = getAnnotationBounds; exports.getControlPath = getControlPath; exports.getCropCursor = getCropCursor; exports.getRotatedSize = getRotatedSize; exports.getViewportMetrics = getViewportMetrics; exports.getViewportProjection = getViewportProjection; exports.globalImageCache = globalImageCache; exports.greyMorphology = greyMorphology; exports.groupLayers = groupLayers; exports.guidePlanes = guidePlanes; exports.guidedFilterColor = guidedFilterColor; exports.handlePaintShortcut = handlePaintShortcut; exports.hasActiveEffects = _chunkWT6ZAWJPcjs.hasActiveEffects; exports.hasResampledLegacyMask = hasResampledLegacyMask; exports.hasWarp = hasWarp; exports.hashMaskContent = hashMaskContent; exports.hashNoise = _chunkWT6ZAWJPcjs.hashNoise; exports.hexToRgb = hexToRgb; exports.histogramPath = histogramPath; exports.hitTestAnnotation = hitTestAnnotation; exports.hitTestCrop = hitTestCrop; exports.hitTestCurvePoint = hitTestCurvePoint; exports.homographyFromAffine = _chunkMUUXNRU4cjs.homographyFromAffine; exports.homographyFromPoints = _chunkMUUXNRU4cjs.homographyFromPoints; exports.hslToRgb = hslToRgb; exports.hueRange = hueRange; exports.hueRangeTables = hueRangeTables; exports.hueRangeWeight = hueRangeWeight; exports.hueSaturation = hueSaturation; exports.identityCurve = identityCurve; exports.identityLevels = identityLevels; exports.identityTransform = identityTransform; exports.identityWarpMesh = _chunkDWGZUSEScjs.identityWarpMesh; exports.imageEditorStateMigrations = imageEditorStateMigrations; exports.imageToCanvasPoint = imageToCanvasPoint; exports.importPsd = importPsd; exports.inflate = _chunkWT6ZAWJPcjs.inflate; exports.inflateRaw = _chunkWT6ZAWJPcjs.inflateRaw; exports.insertCurvePoint = insertCurvePoint; exports.insertLayer = _chunkWT6ZAWJPcjs.insertLayer; exports.invertHomography = _chunkMUUXNRU4cjs.invertHomography; exports.invertMatrix3 = invertMatrix3; exports.invertSelection = invertSelection; exports.isActiveFilter = isActiveFilter; exports.isAdjustmentKind = isAdjustmentKind; exports.isBlendMode = _chunkCRMAXIUVcjs.isBlendMode; exports.isDefaultDepthMask = isDefaultDepthMask; exports.isIdentityTransform = isIdentityTransform; exports.isInterpolation = _chunkWT6ZAWJPcjs.isInterpolation; exports.isLayerEffectKind = _chunkWT6ZAWJPcjs.isLayerEffectKind; exports.isLayerLocked = _chunkWT6ZAWJPcjs.isLayerLocked; exports.isLegacyShape = isLegacyShape; exports.isPaintTool = isPaintTool; exports.isPng = _chunkWT6ZAWJPcjs.isPng; exports.isQuarterTurn = isQuarterTurn; exports.isQuarterTurnSwapped = isQuarterTurnSwapped; exports.isSelectionEmpty = isSelectionEmpty; exports.isSelectionMode = isSelectionMode; exports.isSeparableBlendMode = _chunkCRMAXIUVcjs.isSeparableBlendMode; exports.isSpatialFilter = isSpatialFilter; exports.isTransformAnchor = isTransformAnchor; exports.isValidWarp = isValidWarp; exports.kelvinToTemperature = kelvinToTemperature; exports.keysWeight = _chunkWT6ZAWJPcjs.keysWeight; exports.layerBadge = layerBadge; exports.layerEffectControls = layerEffectControls; exports.layerEffectFields = _chunkWT6ZAWJPcjs.layerEffectFields; exports.layerEffectLabel = _chunkWT6ZAWJPcjs.layerEffectLabel; exports.layerEffectsBadge = layerEffectsBadge; exports.layerEffectsOf = layerEffectsOf; exports.layerEffectsPanel = layerEffectsPanel; exports.layerLabel = layerLabel; exports.layerMaskCoverage = layerMaskCoverage; exports.layerMaskFromSelection = layerMaskFromSelection; exports.layerMaskKey = layerMaskKey; exports.layerMenu = layerMenu; exports.layerName = layerName; exports.layerPanelRows = layerPanelRows; exports.layerTree = layerTree; exports.layerTypeLabel = layerTypeLabel; exports.layersFromLegacy = layersFromLegacy; exports.legacyAdjustmentLayer = legacyAdjustmentLayer; exports.legacyMaskOf = legacyMaskOf; exports.legacyView = legacyView; exports.lerpPigment = _chunkCRMAXIUVcjs.lerpPigment; exports.lerpPigmentInto = _chunkCRMAXIUVcjs.lerpPigmentInto; exports.levelsValue = levelsValue; exports.linearSrgbToXy = linearSrgbToXy; exports.linearToSrgb = linearToSrgb; exports.loadImageEditorDocument = loadImageEditorDocument; exports.loadMixer = _chunkZZOTHJ4Kcjs.loadMixer; exports.magicWand = magicWand; exports.mapCropHandle = mapCropHandle; exports.mapLayer = _chunkWT6ZAWJPcjs.mapLayer; exports.maskSummary = maskSummary; exports.matrixFromCorners = matrixFromCorners; exports.matrixFromParams = matrixFromParams; exports.mergeLayerEffect = _chunkWT6ZAWJPcjs.mergeLayerEffect; exports.migrateSerializedImageEditorState = migrateSerializedImageEditorState; exports.migrateToLayeredState = migrateToLayeredState; exports.mixPigment8 = _chunkCRMAXIUVcjs.mixPigment8; exports.mixPigmentRgb = _chunkCRMAXIUVcjs.mixPigmentRgb; exports.mixPigments = _chunkCRMAXIUVcjs.mixPigments; exports.mixerLoadResult = mixerLoadResult; exports.modifySelection = modifySelection; exports.moveCurvePoint = moveCurvePoint; exports.moveLayer = moveLayer; exports.mulMatrix3 = mulMatrix3; exports.needsLegacyBase = needsLegacyBase; exports.neutralHueRange = neutralHueRange; exports.newEffectId = _chunkWT6ZAWJPcjs.newEffectId; exports.newLayerId = newLayerId; exports.normalizeAdjustmentLayer = normalizeAdjustmentLayer; exports.normalizeAdjustmentLayers = normalizeAdjustmentLayers; exports.normalizeAngle = normalizeAngle; exports.normalizeBlendMode = _chunkCRMAXIUVcjs.normalizeBlendMode; exports.normalizeBrush = _chunkZZOTHJ4Kcjs.normalizeBrush; exports.normalizeFilter = normalizeFilter; exports.normalizeLayerEffects = _chunkWT6ZAWJPcjs.normalizeLayerEffects; exports.normalizeLayerMask = normalizeLayerMask; exports.normalizeMixer = _chunkZZOTHJ4Kcjs.normalizeMixer; exports.normalizeProcessVersion = normalizeProcessVersion; exports.normalizeRect = normalizeRect; exports.normalizeRefineEdgeParams = normalizeRefineEdgeParams; exports.normalizeStoredAdjustments = normalizeStoredAdjustments; exports.offsetLayer = offsetLayer; exports.openPsdFile = openPsdFile; exports.packRgba = _chunkCRMAXIUVcjs.packRgba; exports.parseAdjustmentBlock = parseAdjustmentBlock; exports.parseBlend = parseBlend; exports.parseColor = parseColor; exports.parseDataUrl = _chunkWT6ZAWJPcjs.parseDataUrl; exports.parseEffectColor = _chunkWT6ZAWJPcjs.parseEffectColor; exports.parseLfx2 = parseLfx2; exports.parseLrfx = parseLrfx; exports.parsePatternBlock = parsePatternBlock; exports.parseSelectionMode = parseSelectionMode; exports.parseVersionedDescriptor = parseVersionedDescriptor; exports.photoFilterMatrix = photoFilterMatrix; exports.pixelLayerBounds = pixelLayerBounds; exports.pixelLayers = pixelLayers; exports.placeLayer = placeLayer; exports.pngDataUrl = _chunkWT6ZAWJPcjs.pngDataUrl; exports.pointerPressure = pointerPressure; exports.polygonCoverage = polygonCoverage; exports.polygonSelection = polygonSelection; exports.posterizeValue = posterizeValue; exports.presetWarp = presetWarp; exports.previewStep = previewStep; exports.projectImagePoint = projectImagePoint; exports.projectImageRect = projectImageRect; exports.projectMaskCoverage = projectMaskCoverage; exports.projectQuarterTurn = projectQuarterTurn; exports.psdBytesFromBase64 = psdBytesFromBase64; exports.psdFileName = psdFileName; exports.psdPatternToEffectPattern = psdPatternToEffectPattern; exports.psdToLayers = psdToLayers; exports.pullWarpMesh = _chunkDWGZUSEScjs.pullWarpMesh; exports.quickMaskPixels = quickMaskPixels; exports.rangeLightness = rangeLightness; exports.rasterMaskFromLegacy = rasterMaskFromLegacy; exports.rasterizeDab = _chunkZZOTHJ4Kcjs.rasterizeDab; exports.readAdjustmentControls = readAdjustmentControls; exports.readPixel = _chunkCRMAXIUVcjs.readPixel; exports.readPsd = readPsd; exports.readRegion = _chunkCRMAXIUVcjs.readRegion; exports.rectSelection = rectSelection; exports.rectToQuad = _chunkMUUXNRU4cjs.rectToQuad; exports.reduceSurface = _chunkWT6ZAWJPcjs.reduceSurface; exports.referencePoint = referencePoint; exports.refineCoverage = refineCoverage; exports.refineEdgeHalo = refineEdgeHalo; exports.refineSelection = refineSelection; exports.reflectanceToRgb = _chunkCRMAXIUVcjs.reflectanceToRgb; exports.removeAlpha = removeAlpha; exports.removeCurvePoint = removeCurvePoint; exports.removeLayer = removeLayer; exports.removeLayerEffect = removeLayerEffect; exports.removeLayerFilter = removeLayerFilter; exports.renderLayerEffects = _chunkWT6ZAWJPcjs.renderLayerEffects; exports.renderLayeredBase = renderLayeredBase; exports.requireLayer = requireLayer; exports.requireUnlocked = requireUnlocked; exports.resizePixels = resizePixels; exports.resizeSelection = resizeSelection; exports.resizeWarpMesh = _chunkDWGZUSEScjs.resizeWarpMesh; exports.resolveExternalAssets = resolveExternalAssets; exports.resolveMosaicRegionBounds = resolveMosaicRegionBounds; exports.rgbToGray = rgbToGray; exports.rgbToHsl = rgbToHsl; exports.rgbToReflectance = _chunkCRMAXIUVcjs.rgbToReflectance; exports.rgbUnitToHex = rgbUnitToHex; exports.runLayerMenuAction = runLayerMenuAction; exports.sampleLut = sampleLut; exports.sampleToneLut = sampleToneLut; exports.scaleLayerEffect = _chunkWT6ZAWJPcjs.scaleLayerEffect; exports.selectionArea = selectionArea; exports.selectionFromCoverage = selectionFromCoverage; exports.selectionFromPixels = selectionFromPixels; exports.selectionModeFromModifiers = selectionModeFromModifiers; exports.selectionOutline = selectionOutline; exports.selectionToCoverage = selectionToCoverage; exports.selectionToPixels = selectionToPixels; exports.selectionValueAt = selectionValueAt; exports.serializeEffects = serializeEffects; exports.serializeLayer = serializeLayer; exports.serializeLayers = serializeLayers; exports.serializeLayersExternal = serializeLayersExternal; exports.serializePatterns = serializePatterns; exports.serializeSelection = serializeSelection; exports.setControlPath = setControlPath; exports.setLayerEffects = setLayerEffects; exports.setLayerEffectsEnabled = setLayerEffectsEnabled; exports.setLayerMask = setLayerMask; exports.setLayerProperties = setLayerProperties; exports.setLum = _chunkCRMAXIUVcjs.setLum; exports.setPigmentColor = _chunkCRMAXIUVcjs.setPigmentColor; exports.shiftCoverage = shiftCoverage; exports.smoothCoverage = smoothCoverage; exports.smoothPoints = _chunkZZOTHJ4Kcjs.smoothPoints; exports.solidSurface = _chunkCRMAXIUVcjs.solidSurface; exports.splitOverlayAnnotations = splitOverlayAnnotations; exports.srgb8ToLab = srgb8ToLab; exports.srgbToLinear = srgbToLinear; exports.sumHistograms = sumHistograms; exports.surfaceBytes = _chunkCRMAXIUVcjs.surfaceBytes; exports.surfaceFromPixels = _chunkCRMAXIUVcjs.surfaceFromPixels; exports.surfacesEqual = _chunkCRMAXIUVcjs.surfacesEqual; exports.tempTintToXy = tempTintToXy; exports.temperatureToKelvin = temperatureToKelvin; exports.tileCoord = _chunkCRMAXIUVcjs.tileCoord; exports.tileKey = _chunkCRMAXIUVcjs.tileKey; exports.tileRect = _chunkCRMAXIUVcjs.tileRect; exports.tilesInRect = _chunkCRMAXIUVcjs.tilesInRect; exports.tipFalloff = _chunkZZOTHJ4Kcjs.tipFalloff; exports.tipReach = _chunkZZOTHJ4Kcjs.tipReach; exports.tipShape = _chunkZZOTHJ4Kcjs.tipShape; exports.toHex = toHex2; exports.toneCurve = toneCurve; exports.toneLuts = toneLuts; exports.toneRange = toneRange; exports.transformHomography = transformHomography; exports.transformMap = transformMap; exports.transformSurface = _chunkWT6ZAWJPcjs.transformSurface; exports.transformedBounds = _chunkWT6ZAWJPcjs.transformedBounds; exports.transformedBox = transformedBox; exports.transformedPoint = transformedPoint; exports.translateSurface = _chunkCRMAXIUVcjs.translateSurface; exports.ungroupLayer = ungroupLayer; exports.uniformTile = _chunkCRMAXIUVcjs.uniformTile; exports.unionRect = unionRect; exports.unprojectCanvasPoint = unprojectCanvasPoint; exports.updateLayerEffect = updateLayerEffect; exports.updateLayerFilter = updateLayerFilter; exports.updateLayerMaskProps = updateLayerMaskProps; exports.uvToXy = uvToXy; exports.validateEffectGradient = _chunkWT6ZAWJPcjs.validateEffectGradient; exports.validateLayerEffect = _chunkWT6ZAWJPcjs.validateLayerEffect; exports.validateLayerEffects = _chunkWT6ZAWJPcjs.validateLayerEffects; exports.versionedDescriptorBytes = versionedDescriptorBytes; exports.vibranceLinear = vibranceLinear; exports.vibrancePixel = vibrancePixel; exports.walkDabs = _chunkZZOTHJ4Kcjs.walkDabs; exports.warpMeshEditPoints = _chunkDWGZUSEScjs.warpMeshEditPoints; exports.warpMeshGridCurves = _chunkDWGZUSEScjs.warpMeshGridCurves; exports.warpMeshParamAt = _chunkDWGZUSEScjs.warpMeshParamAt; exports.warpPresetMesh = _chunkDWGZUSEScjs.warpPresetMesh; exports.warpSurface = _chunkWT6ZAWJPcjs.warpSurface; exports.wbMatrix = wbMatrix; exports.whiteBalanceFromSample = whiteBalanceFromSample; exports.whiteBalanceMatrix = whiteBalanceMatrix; exports.withNewIds = withNewIds; exports.writeAdjustmentBlock = writeAdjustmentBlock; exports.writeLfx2 = writeLfx2; exports.writePatternBlock = writePatternBlock; exports.writePsd = writePsd; exports.writeRegion = _chunkCRMAXIUVcjs.writeRegion; exports.xyToTempTint = xyToTempTint; exports.xyToUv = xyToUv;
|
|
15585
16069
|
//# sourceMappingURL=index.cjs.map
|