@pixerate/editor 0.114.0 → 0.116.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD_PARTY_NOTICES.md +6 -0
- package/dist/animation-editor/index.cjs +54 -54
- package/dist/animation-editor/index.d.cts +2 -2
- package/dist/animation-editor/index.d.ts +2 -2
- package/dist/animation-editor/index.js +2 -2
- package/dist/{chunk-DFQEX3AM.cjs → chunk-2UT4GXYA.cjs} +133 -8
- package/dist/chunk-2UT4GXYA.cjs.map +1 -0
- package/dist/{chunk-VXR7XWMF.js → chunk-7LNZAWSJ.js} +437 -41
- package/dist/chunk-7LNZAWSJ.js.map +1 -0
- package/dist/{chunk-LKCYANMW.js → chunk-ARQ7PQ6Q.js} +129 -4
- package/dist/chunk-ARQ7PQ6Q.js.map +1 -0
- package/dist/chunk-COAMRKVI.cjs +159 -0
- package/dist/chunk-COAMRKVI.cjs.map +1 -0
- package/dist/{chunk-C6C5PDKU.js → chunk-D53KSJUV.js} +3 -322
- package/dist/chunk-D53KSJUV.js.map +1 -0
- package/dist/chunk-D53VQGEJ.js +3262 -0
- package/dist/chunk-D53VQGEJ.js.map +1 -0
- package/dist/chunk-EJVDBITD.cjs +501 -0
- package/dist/chunk-EJVDBITD.cjs.map +1 -0
- package/dist/{chunk-LPLCWZTM.cjs → chunk-FODKPD44.cjs} +555 -159
- package/dist/chunk-FODKPD44.cjs.map +1 -0
- package/dist/chunk-HOCPSFGA.cjs +3262 -0
- package/dist/chunk-HOCPSFGA.cjs.map +1 -0
- package/dist/chunk-IPFRWILU.js +1908 -0
- package/dist/chunk-IPFRWILU.js.map +1 -0
- package/dist/{chunk-FV5AXTSF.cjs → chunk-JSSBHMMU.cjs} +36 -188
- package/dist/chunk-JSSBHMMU.cjs.map +1 -0
- package/dist/chunk-LF4WOZXZ.js +159 -0
- package/dist/chunk-LF4WOZXZ.js.map +1 -0
- package/dist/{chunk-26PGXHY7.cjs → chunk-M7O4BJRH.cjs} +36 -36
- package/dist/{chunk-26PGXHY7.cjs.map → chunk-M7O4BJRH.cjs.map} +1 -1
- package/dist/chunk-N3467VD6.js +501 -0
- package/dist/chunk-N3467VD6.js.map +1 -0
- package/dist/{chunk-ST7E3NEE.cjs → chunk-PAOWHJ5O.cjs} +18 -337
- package/dist/chunk-PAOWHJ5O.cjs.map +1 -0
- package/dist/{chunk-EUVSQ25B.js → chunk-SEBYNBHW.js} +85 -46
- package/dist/chunk-SEBYNBHW.js.map +1 -0
- package/dist/chunk-SMJGE7HM.cjs +1908 -0
- package/dist/chunk-SMJGE7HM.cjs.map +1 -0
- package/dist/{chunk-MMVHBKMM.js → chunk-T2P5TIZ6.js} +2 -2
- package/dist/{chunk-FGW5OWJ4.js → chunk-VJUML33I.js} +4 -156
- package/dist/chunk-VJUML33I.js.map +1 -0
- package/dist/{chunk-5OVJHMZQ.cjs → chunk-ZYZGEILO.cjs} +332 -293
- package/dist/chunk-ZYZGEILO.cjs.map +1 -0
- package/dist/export/index.cjs +4 -2
- package/dist/export/index.cjs.map +1 -1
- package/dist/export/index.js +5 -3
- package/dist/{export-b6NjCZ5-.d.cts → export-BXxSGBCq.d.cts} +67 -5
- package/dist/{export-_1dUKwpF.d.ts → export-Dm44YUvS.d.ts} +67 -5
- package/dist/export-Dv0-ZVrV.d.cts +501 -0
- package/dist/export-Dv0-ZVrV.d.ts +501 -0
- package/dist/{retouch-Do6tBs2H.d.ts → flow-BMtHAmg4.d.ts} +561 -2
- package/dist/{retouch-Bxkuc0KH.d.cts → flow-COCB42TP.d.cts} +561 -2
- package/dist/image-editor/index.cjs +1227 -934
- package/dist/image-editor/index.cjs.map +1 -1
- package/dist/image-editor/index.d.cts +18 -10
- package/dist/image-editor/index.d.ts +18 -10
- package/dist/image-editor/index.js +324 -31
- package/dist/image-editor/index.js.map +1 -1
- package/dist/index.cjs +4 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/kernel-wasm-WYCGNZR4.js +10 -0
- package/dist/kernel-wasm-WYCGNZR4.js.map +1 -0
- package/dist/kernel-wasm-YPVAEMVN.cjs +10 -0
- package/dist/kernel-wasm-YPVAEMVN.cjs.map +1 -0
- package/dist/paint/index.cjs +165 -3
- package/dist/paint/index.cjs.map +1 -1
- package/dist/paint/index.d.cts +225 -3
- package/dist/paint/index.d.ts +225 -3
- package/dist/paint/index.js +166 -4
- package/dist/paint-editor/index.cjs +4691 -845
- package/dist/paint-editor/index.cjs.map +1 -1
- package/dist/paint-editor/index.d.cts +1525 -277
- package/dist/paint-editor/index.d.ts +1525 -277
- package/dist/paint-editor/index.js +4561 -715
- package/dist/paint-editor/index.js.map +1 -1
- package/dist/raster/index.cjs +4 -3
- package/dist/raster/index.cjs.map +1 -1
- package/dist/raster/index.js +10 -9
- package/dist/{svg-BnRj0q8i.d.cts → svg-CVdFc80-.d.cts} +2 -2
- package/dist/{svg-CmmBFfGT.d.ts → svg-DlEuhwoX.d.ts} +2 -2
- package/dist/{types-1SUQKDAw.d.ts → types-CDLGhAZp.d.ts} +40 -2
- package/dist/{types-yINF17Ta.d.cts → types-Tfly4Aya.d.cts} +40 -2
- package/dist/vector/index.cjs +1897 -975
- package/dist/vector/index.cjs.map +1 -1
- package/dist/vector/index.d.cts +292 -32
- package/dist/vector/index.d.ts +292 -32
- package/dist/vector/index.js +928 -6
- package/dist/vector/index.js.map +1 -1
- package/dist/video-editor/index.cjs +502 -2165
- package/dist/video-editor/index.cjs.map +1 -1
- package/dist/video-editor/index.d.cts +3 -501
- package/dist/video-editor/index.d.ts +3 -501
- package/dist/video-editor/index.js +151 -1814
- package/dist/video-editor/index.js.map +1 -1
- package/package.json +4 -2
- package/skills/pixerate-image-editor/SKILL.md +1 -0
- package/skills/pixerate-image-editor/references/color-management.md +8 -3
- package/skills/pixerate-image-editor/references/photoshop-files.md +15 -9
- package/skills/pixerate-paint-editor/SKILL.md +136 -4
- package/skills/pixerate-vector/SKILL.md +22 -1
- package/dist/chunk-5OVJHMZQ.cjs.map +0 -1
- package/dist/chunk-C6C5PDKU.js.map +0 -1
- package/dist/chunk-DFQEX3AM.cjs.map +0 -1
- package/dist/chunk-EUVSQ25B.js.map +0 -1
- package/dist/chunk-FGW5OWJ4.js.map +0 -1
- package/dist/chunk-FV5AXTSF.cjs.map +0 -1
- package/dist/chunk-GX332W2C.js +0 -181
- package/dist/chunk-GX332W2C.js.map +0 -1
- package/dist/chunk-LKCYANMW.js.map +0 -1
- package/dist/chunk-LPLCWZTM.cjs.map +0 -1
- package/dist/chunk-MUUXNRU4.cjs +0 -181
- package/dist/chunk-MUUXNRU4.cjs.map +0 -1
- package/dist/chunk-ST7E3NEE.cjs.map +0 -1
- package/dist/chunk-TCKIXI46.cjs +0 -1136
- package/dist/chunk-TCKIXI46.cjs.map +0 -1
- package/dist/chunk-UBIXVXPR.js +0 -1136
- package/dist/chunk-UBIXVXPR.js.map +0 -1
- package/dist/chunk-VXR7XWMF.js.map +0 -1
- /package/dist/{chunk-MMVHBKMM.js.map → chunk-T2P5TIZ6.js.map} +0 -0
|
@@ -358,7 +358,7 @@ import {
|
|
|
358
358
|
writePsd,
|
|
359
359
|
xyToTempTint,
|
|
360
360
|
xyToUv
|
|
361
|
-
} from "../chunk-
|
|
361
|
+
} from "../chunk-SEBYNBHW.js";
|
|
362
362
|
import {
|
|
363
363
|
loadDocument
|
|
364
364
|
} from "../chunk-U5HZSFCS.js";
|
|
@@ -377,16 +377,13 @@ import {
|
|
|
377
377
|
PatternPlacement,
|
|
378
378
|
PatternTile,
|
|
379
379
|
TransformTooLargeError,
|
|
380
|
-
base64ToBytes,
|
|
381
380
|
blendTile,
|
|
382
381
|
builtinPattern,
|
|
383
382
|
builtinPatternIds,
|
|
384
|
-
bytesToBase64,
|
|
385
383
|
changedTiles,
|
|
386
384
|
compositeSurfaceOver,
|
|
387
385
|
convertSurfaceDepth,
|
|
388
386
|
curveLut,
|
|
389
|
-
decodePng,
|
|
390
387
|
deepBytes,
|
|
391
388
|
deepTile,
|
|
392
389
|
defaultEffectGradient,
|
|
@@ -397,7 +394,6 @@ import {
|
|
|
397
394
|
effectsFingerprint,
|
|
398
395
|
effectsMargin,
|
|
399
396
|
effectsScale,
|
|
400
|
-
encodePng,
|
|
401
397
|
findLayer,
|
|
402
398
|
flattenLayers,
|
|
403
399
|
gaussianBlur,
|
|
@@ -408,7 +404,6 @@ import {
|
|
|
408
404
|
isInterpolation,
|
|
409
405
|
isLayerEffectKind,
|
|
410
406
|
isLayerLocked,
|
|
411
|
-
isPng,
|
|
412
407
|
keysWeight,
|
|
413
408
|
layerEffectFields,
|
|
414
409
|
layerEffectLabel,
|
|
@@ -416,9 +411,7 @@ import {
|
|
|
416
411
|
mergeLayerEffect,
|
|
417
412
|
newEffectId,
|
|
418
413
|
normalizeLayerEffects,
|
|
419
|
-
parseDataUrl,
|
|
420
414
|
parseEffectColor,
|
|
421
|
-
pngDataUrl,
|
|
422
415
|
proxyOf,
|
|
423
416
|
readDeepRegion,
|
|
424
417
|
reduceSurface,
|
|
@@ -445,16 +438,23 @@ import {
|
|
|
445
438
|
warpSurface,
|
|
446
439
|
workingToSamples,
|
|
447
440
|
writeDeepRegion
|
|
448
|
-
} from "../chunk-
|
|
441
|
+
} from "../chunk-D53KSJUV.js";
|
|
449
442
|
import {
|
|
450
443
|
applyHomography,
|
|
444
|
+
base64ToBytes,
|
|
451
445
|
boxQuad,
|
|
446
|
+
bytesToBase64,
|
|
447
|
+
decodePng,
|
|
448
|
+
encodePng,
|
|
452
449
|
homographyFromAffine,
|
|
453
450
|
homographyFromPoints,
|
|
454
451
|
invertHomography,
|
|
452
|
+
isPng,
|
|
455
453
|
multiplyHomographies,
|
|
454
|
+
parseDataUrl,
|
|
455
|
+
pngDataUrl,
|
|
456
456
|
rectToQuad
|
|
457
|
-
} from "../chunk-
|
|
457
|
+
} from "../chunk-N3467VD6.js";
|
|
458
458
|
import {
|
|
459
459
|
DEFAULT_RETOUCH,
|
|
460
460
|
RETOUCH_SAMPLES,
|
|
@@ -473,6 +473,9 @@ import {
|
|
|
473
473
|
maskBounds,
|
|
474
474
|
membraneFill,
|
|
475
475
|
normalizeRetouch,
|
|
476
|
+
paintPathStroke,
|
|
477
|
+
pathStrokeCoverage,
|
|
478
|
+
pathStrokeDabs,
|
|
476
479
|
perDabStrength,
|
|
477
480
|
readSourceRegion,
|
|
478
481
|
rgbaViewOfGrey,
|
|
@@ -485,47 +488,125 @@ import {
|
|
|
485
488
|
spotHealPixels,
|
|
486
489
|
spotHealWindow,
|
|
487
490
|
toneOf
|
|
488
|
-
} from "../chunk-
|
|
491
|
+
} from "../chunk-ARQ7PQ6Q.js";
|
|
489
492
|
import {
|
|
493
|
+
BODY_SCATTER,
|
|
490
494
|
CoverageMap,
|
|
491
495
|
DEFAULT_BLENDER,
|
|
492
496
|
DEFAULT_BRUSH,
|
|
497
|
+
DEFAULT_FLOW,
|
|
493
498
|
DEFAULT_MIXER,
|
|
494
499
|
DEFAULT_SMUDGE,
|
|
500
|
+
DEFAULT_WET_PAPER,
|
|
501
|
+
DEFAULT_WET_PARAMS,
|
|
502
|
+
DRY_EPS,
|
|
495
503
|
DabWalker,
|
|
496
504
|
EMPTY_MIXER_LOAD,
|
|
505
|
+
EX,
|
|
506
|
+
EY,
|
|
507
|
+
FLAG_ALIVE,
|
|
508
|
+
FLAG_BOTTOM,
|
|
509
|
+
FLAG_LEFT,
|
|
510
|
+
FLAG_RIGHT,
|
|
511
|
+
FLAG_TOP,
|
|
512
|
+
FLAG_WET,
|
|
513
|
+
FLAT,
|
|
514
|
+
FREE_INTERVAL,
|
|
515
|
+
HIDE,
|
|
516
|
+
MAX_BATCH,
|
|
497
517
|
MAX_BRUSH_SIZE,
|
|
518
|
+
MAX_TILT_ACCEL,
|
|
519
|
+
MAX_WET_LANES,
|
|
520
|
+
MAX_WET_SLOTS,
|
|
498
521
|
MIXER_DRAIN,
|
|
499
522
|
MIXER_PICKUP_RATE,
|
|
500
523
|
MIXING_MODELS,
|
|
501
524
|
MixerStroke,
|
|
525
|
+
OPP,
|
|
526
|
+
PAPER_CAPACITY,
|
|
527
|
+
PARAM,
|
|
528
|
+
PARAM_FLOATS,
|
|
529
|
+
PIGMENT_CHANNELS,
|
|
530
|
+
PIGMENT_UNIT,
|
|
531
|
+
PLANE,
|
|
532
|
+
PLANE_BYTES,
|
|
533
|
+
P_D0,
|
|
534
|
+
P_EDGE,
|
|
535
|
+
P_FX,
|
|
536
|
+
P_FY,
|
|
537
|
+
P_H,
|
|
538
|
+
P_P0,
|
|
539
|
+
P_RHO,
|
|
540
|
+
P_SW,
|
|
541
|
+
P_UX,
|
|
542
|
+
P_UY,
|
|
502
543
|
PaintExchange,
|
|
544
|
+
SET_PLANES,
|
|
545
|
+
SLOT_BYTES,
|
|
546
|
+
SLOT_PLANES,
|
|
547
|
+
SLOT_SIDE,
|
|
548
|
+
SRGB_TO_LINEAR,
|
|
549
|
+
STRIP,
|
|
503
550
|
SmudgeTip,
|
|
504
551
|
StrokeCoverage,
|
|
505
552
|
TileMedium,
|
|
553
|
+
U_MAX,
|
|
554
|
+
W9,
|
|
555
|
+
WET_FLOW_KINDS,
|
|
556
|
+
WET_PARAM_KEYS,
|
|
557
|
+
WET_TILE,
|
|
558
|
+
WetMedium,
|
|
559
|
+
WetWorkerPool,
|
|
560
|
+
WetWorld,
|
|
561
|
+
WetWorldError,
|
|
506
562
|
applyStrokeToTile,
|
|
507
563
|
blendRadius,
|
|
508
564
|
blenderDab,
|
|
565
|
+
canShareMemory,
|
|
509
566
|
cleanMixer,
|
|
510
567
|
coverageTileCoord,
|
|
511
568
|
createBlenderScratch,
|
|
512
569
|
createPigmentTools,
|
|
513
570
|
dabCoverage,
|
|
514
571
|
dabRect,
|
|
572
|
+
dexp,
|
|
573
|
+
dlog,
|
|
574
|
+
dpow,
|
|
575
|
+
dsincos,
|
|
576
|
+
edgeBits,
|
|
515
577
|
exchangeRates,
|
|
578
|
+
expNeg,
|
|
579
|
+
filmPixel,
|
|
580
|
+
filmReflectance,
|
|
581
|
+
flowField,
|
|
582
|
+
latticeViscosity,
|
|
583
|
+
linearToSrgb8,
|
|
516
584
|
loadMixer,
|
|
585
|
+
loadWetKernel,
|
|
517
586
|
mixerRates,
|
|
518
587
|
normalizeBlender,
|
|
519
588
|
normalizeBrush,
|
|
589
|
+
normalizeFlow,
|
|
520
590
|
normalizeMixer,
|
|
521
591
|
normalizeSmudge,
|
|
592
|
+
normalizeTilt,
|
|
593
|
+
normalizeWetParams,
|
|
594
|
+
packWetParams,
|
|
595
|
+
pigmentColor,
|
|
596
|
+
pigmentOf,
|
|
597
|
+
pixelPigment,
|
|
522
598
|
rasterizeDab,
|
|
599
|
+
shadeTile,
|
|
523
600
|
smoothPoints,
|
|
601
|
+
srgbByteToLinear,
|
|
602
|
+
stepSlotTs,
|
|
524
603
|
tipFalloff,
|
|
525
604
|
tipReach,
|
|
526
605
|
tipShape,
|
|
527
|
-
walkDabs
|
|
528
|
-
|
|
606
|
+
walkDabs,
|
|
607
|
+
wetSimdSupported,
|
|
608
|
+
wetSupport
|
|
609
|
+
} from "../chunk-D53VQGEJ.js";
|
|
529
610
|
import {
|
|
530
611
|
BLEND_MODES,
|
|
531
612
|
PAINTERLY_BLEND_MODES,
|
|
@@ -642,7 +723,7 @@ import {
|
|
|
642
723
|
warpMeshParamAt,
|
|
643
724
|
warpMeshRows,
|
|
644
725
|
warpPresetMesh
|
|
645
|
-
} from "../chunk-
|
|
726
|
+
} from "../chunk-7LNZAWSJ.js";
|
|
646
727
|
import "../chunk-YCSFS3GK.js";
|
|
647
728
|
import "../chunk-ZRJMJIQU.js";
|
|
648
729
|
import "../chunk-TGD52FEZ.js";
|
|
@@ -2168,7 +2249,7 @@ function checkPixels(p) {
|
|
|
2168
2249
|
if (p.data.length < n * 4) throw new Error("Pixel data is shorter than width \xD7 height \xD7 4");
|
|
2169
2250
|
return n;
|
|
2170
2251
|
}
|
|
2171
|
-
var
|
|
2252
|
+
var SRGB_TO_LINEAR2 = (() => {
|
|
2172
2253
|
const t = new Float32Array(256);
|
|
2173
2254
|
for (let i = 0; i < 256; i++) {
|
|
2174
2255
|
const v = i / 255;
|
|
@@ -2178,9 +2259,9 @@ var SRGB_TO_LINEAR = (() => {
|
|
|
2178
2259
|
})();
|
|
2179
2260
|
var labF = (t) => t > 216 / 24389 ? Math.cbrt(t) : (24389 / 27 * t + 16) / 116;
|
|
2180
2261
|
function srgb8ToLab(r, g, b) {
|
|
2181
|
-
const rl =
|
|
2182
|
-
const gl =
|
|
2183
|
-
const bl =
|
|
2262
|
+
const rl = SRGB_TO_LINEAR2[r & 255];
|
|
2263
|
+
const gl = SRGB_TO_LINEAR2[g & 255];
|
|
2264
|
+
const bl = SRGB_TO_LINEAR2[b & 255];
|
|
2184
2265
|
const x = (0.4124564 * rl + 0.3575761 * gl + 0.1804375 * bl) / 0.95047;
|
|
2185
2266
|
const y = 0.2126729 * rl + 0.7151522 * gl + 0.072175 * bl;
|
|
2186
2267
|
const z = (0.0193339 * rl + 0.119192 * gl + 0.9503041 * bl) / 1.08883;
|
|
@@ -3098,6 +3179,44 @@ var FreeTransformSession = class {
|
|
|
3098
3179
|
|
|
3099
3180
|
// src/image-editor/color-management.ts
|
|
3100
3181
|
var DEFAULT_PROOF = { intent: "relative", bpc: true, simulatePaper: false, gamutWarning: false };
|
|
3182
|
+
function serializeColorMode(m) {
|
|
3183
|
+
return m.mode === "cmyk" ? { mode: "cmyk", profile: serializeColorProfile(m.profile), intent: m.intent } : { mode: "lab" };
|
|
3184
|
+
}
|
|
3185
|
+
function deserializeColorMode(raw, problems) {
|
|
3186
|
+
const r = raw;
|
|
3187
|
+
if (!r || typeof r !== "object") return null;
|
|
3188
|
+
if (r.mode === "lab") return { mode: "lab" };
|
|
3189
|
+
if (r.mode !== "cmyk") return null;
|
|
3190
|
+
const profile = r.profile && deserializeColorProfile(r.profile, problems) || documentProfile("coated-cmyk");
|
|
3191
|
+
const intent = ["perceptual", "relative", "saturation", "absolute"].includes(r.intent) ? r.intent : "relative";
|
|
3192
|
+
return { mode: "cmyk", profile, intent };
|
|
3193
|
+
}
|
|
3194
|
+
function effectiveProof(proof, mode) {
|
|
3195
|
+
if (proof) return proof;
|
|
3196
|
+
if (mode?.mode === "cmyk") return { ...DEFAULT_PROOF, profile: mode.profile, intent: mode.intent };
|
|
3197
|
+
return null;
|
|
3198
|
+
}
|
|
3199
|
+
function colorModePlanes(doc, mode) {
|
|
3200
|
+
const src = resolveProfile(doc);
|
|
3201
|
+
if (mode.mode === "cmyk") {
|
|
3202
|
+
const t2 = Transform.create(src, resolveProfile(mode.profile), { intent: mode.intent, bpc: true });
|
|
3203
|
+
return (rgba, n) => {
|
|
3204
|
+
const ink = new Uint8Array(n * 4);
|
|
3205
|
+
t2.convert8(rgba, 4, ink, 4, false);
|
|
3206
|
+
const planes = [0, 1, 2, 3].map(() => new Uint8Array(n));
|
|
3207
|
+
for (let i = 0; i < n; i++) for (let c = 0; c < 4; c++) planes[c][i] = 255 - ink[i * 4 + c];
|
|
3208
|
+
return planes;
|
|
3209
|
+
};
|
|
3210
|
+
}
|
|
3211
|
+
const t = Transform.create(src, builtinProfile("lab-d50"), { intent: "relative", bpc: false });
|
|
3212
|
+
return (rgba, n) => {
|
|
3213
|
+
const lab = new Uint8Array(n * 4);
|
|
3214
|
+
t.convert8(rgba, 4, lab, 4, false);
|
|
3215
|
+
const planes = [0, 1, 2].map(() => new Uint8Array(n));
|
|
3216
|
+
for (let i = 0; i < n; i++) for (let c = 0; c < 3; c++) planes[c][i] = lab[i * 4 + c];
|
|
3217
|
+
return planes;
|
|
3218
|
+
};
|
|
3219
|
+
}
|
|
3101
3220
|
var resolved = /* @__PURE__ */ new WeakMap();
|
|
3102
3221
|
var fromBytes = /* @__PURE__ */ new Map();
|
|
3103
3222
|
function resolveProfile(doc) {
|
|
@@ -3649,13 +3768,14 @@ var ImageEditorController = class {
|
|
|
3649
3768
|
this.listeners.forEach((l) => l(currentState));
|
|
3650
3769
|
}
|
|
3651
3770
|
displayFor = null;
|
|
3652
|
-
/** Keeps the renderer's display transform in step with the document profile and Proof Setup. */
|
|
3771
|
+
/** Keeps the renderer's display transform in step with the document profile, mode and Proof Setup. */
|
|
3653
3772
|
syncDisplay() {
|
|
3654
3773
|
const s = this.state;
|
|
3655
|
-
|
|
3656
|
-
|
|
3774
|
+
const d = this.displayFor;
|
|
3775
|
+
if (d && d[0] === s.colorProfile && d[1] === s.proofSetup && d[2] === s.colorMode) return;
|
|
3776
|
+
this.displayFor = [s.colorProfile, s.proofSetup, s.colorMode];
|
|
3657
3777
|
try {
|
|
3658
|
-
this.renderer.setDisplayTransform(displayTransform(s.colorProfile, s.proofSetup));
|
|
3778
|
+
this.renderer.setDisplayTransform(displayTransform(s.colorProfile, effectiveProof(s.proofSetup, s.colorMode)));
|
|
3659
3779
|
} catch {
|
|
3660
3780
|
this.renderer.setDisplayTransform(null);
|
|
3661
3781
|
}
|
|
@@ -3698,6 +3818,7 @@ var ImageEditorController = class {
|
|
|
3698
3818
|
if (s.globalLight) entry.globalLight = { ...s.globalLight };
|
|
3699
3819
|
if (s.patterns) entry.patterns = s.patterns;
|
|
3700
3820
|
if (s.colorProfile) entry.colorProfile = s.colorProfile;
|
|
3821
|
+
if (s.colorMode) entry.colorMode = s.colorMode;
|
|
3701
3822
|
if (s.bitDepth && s.bitDepth !== 8) entry.bitDepth = s.bitDepth;
|
|
3702
3823
|
return entry;
|
|
3703
3824
|
}
|
|
@@ -3719,6 +3840,8 @@ var ImageEditorController = class {
|
|
|
3719
3840
|
else delete s.bitDepth;
|
|
3720
3841
|
if (entry.colorProfile) s.colorProfile = entry.colorProfile;
|
|
3721
3842
|
else delete s.colorProfile;
|
|
3843
|
+
if (entry.colorMode) s.colorMode = entry.colorMode;
|
|
3844
|
+
else delete s.colorMode;
|
|
3722
3845
|
s.selection = entry.selection;
|
|
3723
3846
|
if (this.imageElement !== entry.source.element && !this.samplePixelsOverride) this.samplePixels = null;
|
|
3724
3847
|
this.imageElement = entry.source.element;
|
|
@@ -6790,11 +6913,45 @@ var ImageEditorController = class {
|
|
|
6790
6913
|
}
|
|
6791
6914
|
// --- PSD ---
|
|
6792
6915
|
// --- Colour management ---
|
|
6793
|
-
/** The document's colour profile: its name, built-in id (or `null` for an embedded profile) and
|
|
6916
|
+
/** The document's colour profile: its name, built-in id (or `null` for an embedded profile), colour space, and Image › Mode. */
|
|
6794
6917
|
getColorProfile() {
|
|
6795
6918
|
const doc = this.state.colorProfile;
|
|
6796
6919
|
const p = resolveProfile(doc);
|
|
6797
|
-
|
|
6920
|
+
const m = this.state.colorMode;
|
|
6921
|
+
const out = { name: doc?.name ?? p.description, builtin: doc ? doc.builtin ?? null : "srgb", colorSpace: p.colorSpace, srgb: isSrgb(doc), mode: m?.mode ?? "rgb" };
|
|
6922
|
+
if (m?.mode === "cmyk") out.cmykProfile = { name: m.profile.name, builtin: m.profile.builtin ?? null, intent: m.intent };
|
|
6923
|
+
return out;
|
|
6924
|
+
}
|
|
6925
|
+
/**
|
|
6926
|
+
* Image › Mode (one undo step): `rgb`, `cmyk` (with a CMYK `profile`, default the coated
|
|
6927
|
+
* CMYK, and the `intent` RGB is separated with) or `lab`. The pixels stay RGB in the working
|
|
6928
|
+
* space; a CMYK document is soft-proofed through its profile in the viewport, and PSD export
|
|
6929
|
+
* writes CMYK or Lab channels. Returns the profile summary.
|
|
6930
|
+
*/
|
|
6931
|
+
setColorMode(mode, options = {}) {
|
|
6932
|
+
let next;
|
|
6933
|
+
if (mode === "rgb") {
|
|
6934
|
+
if (options.profile !== void 0) throw new LayerOperationError("An RGB document takes no CMYK profile; use assign_profile for its working space.");
|
|
6935
|
+
next = null;
|
|
6936
|
+
} else if (mode === "lab") next = { mode: "lab" };
|
|
6937
|
+
else if (mode === "cmyk") {
|
|
6938
|
+
let doc;
|
|
6939
|
+
try {
|
|
6940
|
+
doc = documentProfile(options.profile ?? "coated-cmyk");
|
|
6941
|
+
} catch (e) {
|
|
6942
|
+
throw new LayerOperationError(e instanceof Error ? e.message : String(e));
|
|
6943
|
+
}
|
|
6944
|
+
const cs = resolveProfile(doc).colorSpace;
|
|
6945
|
+
if (cs !== "cmyk") throw new LayerOperationError(`CMYK mode needs a CMYK profile; "${doc.name}" is ${cs.toUpperCase()}.`);
|
|
6946
|
+
const intent = options.intent ?? "relative";
|
|
6947
|
+
if (!INTENTS.includes(intent)) throw new LayerOperationError(`Unknown rendering intent "${String(intent)}"; use ${INTENTS.join(", ")}.`);
|
|
6948
|
+
next = { mode: "cmyk", profile: doc, intent };
|
|
6949
|
+
} else throw new LayerOperationError(`Unknown colour mode "${String(mode)}"; use rgb, cmyk or lab.`);
|
|
6950
|
+
this.recordHistory();
|
|
6951
|
+
if (next) this.state.colorMode = next;
|
|
6952
|
+
else delete this.state.colorMode;
|
|
6953
|
+
this.notify();
|
|
6954
|
+
return this.getColorProfile();
|
|
6798
6955
|
}
|
|
6799
6956
|
/** Resolves a profile argument (built-in id or alias, or ICC bytes) as an RGB document profile. */
|
|
6800
6957
|
rgbProfileArg(profile, action) {
|
|
@@ -6945,6 +7102,16 @@ var ImageEditorController = class {
|
|
|
6945
7102
|
});
|
|
6946
7103
|
return { bitDepth: depth, changedLayerIds: changed };
|
|
6947
7104
|
}
|
|
7105
|
+
/** How `toPsd` writes colour: RGB with the working space, or CMYK / Lab channels for those modes. */
|
|
7106
|
+
psdColorOptions(warnings) {
|
|
7107
|
+
const m = this.state.colorMode;
|
|
7108
|
+
if (!m) return { iccProfile: profileBytes(this.state.colorProfile) };
|
|
7109
|
+
if (flattenLayers(this.state.layers).some((l) => l.type === "adjustment" && l.visible)) {
|
|
7110
|
+
warnings.push(`Adjustment layers were written with their RGB settings; in a ${m.mode.toUpperCase()} file Photoshop applies them to its own channels, so they may look different there.`);
|
|
7111
|
+
}
|
|
7112
|
+
const planes = colorModePlanes(this.state.colorProfile, m);
|
|
7113
|
+
return m.mode === "cmyk" ? { colorMode: "cmyk", colorPlanes: planes, iccProfile: profileBytes(m.profile) } : { colorMode: "lab", colorPlanes: planes };
|
|
7114
|
+
}
|
|
6948
7115
|
/** Pixels per inch of the last opened PSD (written back by `toPsd`). */
|
|
6949
7116
|
psdResolution;
|
|
6950
7117
|
/**
|
|
@@ -6980,13 +7147,16 @@ var ImageEditorController = class {
|
|
|
6980
7147
|
if (result.bitDepth !== 8) s.bitDepth = result.bitDepth;
|
|
6981
7148
|
else delete s.bitDepth;
|
|
6982
7149
|
delete s.colorProfile;
|
|
6983
|
-
|
|
7150
|
+
delete s.colorMode;
|
|
7151
|
+
if (result.sourceMode?.mode === "cmyk") s.colorMode = { mode: "cmyk", profile: result.sourceMode.profile, intent: "relative" };
|
|
7152
|
+
else if (result.sourceMode?.mode === "lab") s.colorMode = { mode: "lab" };
|
|
7153
|
+
else if (result.iccProfile) {
|
|
6984
7154
|
try {
|
|
6985
7155
|
const doc = documentProfile(result.iccProfile);
|
|
6986
7156
|
const cs = resolveProfile(doc).colorSpace;
|
|
6987
7157
|
if (cs === "rgb") {
|
|
6988
7158
|
if (!isSrgb(doc)) s.colorProfile = doc;
|
|
6989
|
-
} else result.warnings.push(`The file's ${cs.toUpperCase()} profile "${doc.name}" was not used; its colours were
|
|
7159
|
+
} else result.warnings.push(`The file's ${cs.toUpperCase()} profile "${doc.name}" was not used; its colours were read as sRGB.`);
|
|
6990
7160
|
} catch (e) {
|
|
6991
7161
|
result.warnings.push(`The embedded ICC profile could not be read (${e instanceof Error ? e.message : String(e)}); colours are read as sRGB.`);
|
|
6992
7162
|
}
|
|
@@ -7152,9 +7322,11 @@ var ImageEditorController = class {
|
|
|
7152
7322
|
if (s.legacyOutputBlur) warnings.push("The document-level blur of an old document is not written.");
|
|
7153
7323
|
for (const [msg, names] of note) warnings.push(`${msg} (${names.length === 1 ? "layer" : "layers"} ${names.map((n) => `"${n}"`).join(", ")}).`);
|
|
7154
7324
|
const merged = compositor.composite(prepared, canvas, { ...sources, version: `psd:${Date.now()}` });
|
|
7155
|
-
const
|
|
7325
|
+
const color = this.psdColorOptions(warnings);
|
|
7326
|
+
if (color.colorMode && this.bitDepth !== 8) warnings.push(`${color.colorMode.toUpperCase()} files are written at 8 bits per channel; the ${this.bitDepth}-bit samples were rounded.`);
|
|
7327
|
+
const depth = color.colorMode ? 8 : this.bitDepth;
|
|
7156
7328
|
const mergedDeep = depth === 8 ? void 0 : workingToSamples(compositeDeep(prepared, canvas, sources, depth), depth);
|
|
7157
|
-
const result = exportPsd({ width, height, layers: prepared, merged, mergedDeep, resolution: this.psdResolution, patterns: this.state.patterns, globalLight: this.state.globalLight, depth,
|
|
7329
|
+
const result = exportPsd({ width, height, layers: prepared, merged, mergedDeep, resolution: this.psdResolution, patterns: this.state.patterns, globalLight: this.state.globalLight, depth, ...color });
|
|
7158
7330
|
warnings.push(...result.warnings);
|
|
7159
7331
|
return { bytes: result.bytes, warnings, psb: result.psb, width, height };
|
|
7160
7332
|
}
|
|
@@ -7305,6 +7477,9 @@ var ImageEditorController = class {
|
|
|
7305
7477
|
const profile = data.colorProfile ? deserializeColorProfile(data.colorProfile, problems) : null;
|
|
7306
7478
|
if (profile) s.colorProfile = profile;
|
|
7307
7479
|
else delete s.colorProfile;
|
|
7480
|
+
const cmode = data.colorMode ? deserializeColorMode(data.colorMode, problems) : null;
|
|
7481
|
+
if (cmode) s.colorMode = cmode;
|
|
7482
|
+
else delete s.colorMode;
|
|
7308
7483
|
if (!this.imageElement && typeof data.width === "number" && typeof data.height === "number" && data.width > 0 && data.height > 0) {
|
|
7309
7484
|
s.imageDimensions = { width: data.width, height: data.height };
|
|
7310
7485
|
}
|
|
@@ -7322,6 +7497,7 @@ var ImageEditorController = class {
|
|
|
7322
7497
|
delete s.patterns;
|
|
7323
7498
|
delete s.bitDepth;
|
|
7324
7499
|
delete s.colorProfile;
|
|
7500
|
+
delete s.colorMode;
|
|
7325
7501
|
}
|
|
7326
7502
|
s.activeTarget = "pixels";
|
|
7327
7503
|
this.viewKey = [];
|
|
@@ -7331,7 +7507,7 @@ var ImageEditorController = class {
|
|
|
7331
7507
|
serializeState() {
|
|
7332
7508
|
const { width, height } = this.naturalSize;
|
|
7333
7509
|
const view = legacyView(this.stack(), width, height, null);
|
|
7334
|
-
if (view.exact && !this.state.globalLight && !this.state.patterns?.length && this.bitDepth === 8 && !this.state.colorProfile) {
|
|
7510
|
+
if (view.exact && !this.state.globalLight && !this.state.patterns?.length && this.bitDepth === 8 && !this.state.colorProfile && !this.state.colorMode) {
|
|
7335
7511
|
return {
|
|
7336
7512
|
// States without adjustment layers keep schema 1, so they round-trip unchanged.
|
|
7337
7513
|
version: view.adjustments.layers?.length ? 2 : 1,
|
|
@@ -7363,6 +7539,7 @@ var ImageEditorController = class {
|
|
|
7363
7539
|
if (smartContents) out.smartContents = smartContents;
|
|
7364
7540
|
if (this.state.bitDepth === 16 || this.state.bitDepth === 32) out.bitDepth = this.state.bitDepth;
|
|
7365
7541
|
if (this.state.colorProfile) out.colorProfile = serializeColorProfile(this.state.colorProfile);
|
|
7542
|
+
if (this.state.colorMode) out.colorMode = serializeColorMode(this.state.colorMode);
|
|
7366
7543
|
return out;
|
|
7367
7544
|
}
|
|
7368
7545
|
};
|
|
@@ -10104,7 +10281,7 @@ function createImageColorTools(controller) {
|
|
|
10104
10281
|
const getProfile = {
|
|
10105
10282
|
name: "get_color_profile",
|
|
10106
10283
|
title: "Get the colour profile",
|
|
10107
|
-
description: "Reads the document's colour profile (its working space: name, builtin id or null for an embedded profile, colorSpace, srgb true when it means sRGB), the Proof Setup (profile, intent, bpc, simulatePaper, gamutWarning, or null) and the built-in profiles you can assign, convert to or proof with ({id, description, colorSpace}).",
|
|
10284
|
+
description: "Reads the document's colour profile (its working space: name, builtin id or null for an embedded profile, colorSpace, srgb true when it means sRGB, mode rgb / cmyk / lab and, for cmyk, cmykProfile), the Proof Setup (profile, intent, bpc, simulatePaper, gamutWarning, or null) and the built-in profiles you can assign, convert to or proof with ({id, description, colorSpace}).",
|
|
10108
10285
|
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
10109
10286
|
annotations: { title: "Get the colour profile", ...READ5 },
|
|
10110
10287
|
handler: () => {
|
|
@@ -10199,7 +10376,30 @@ function createImageColorTools(controller) {
|
|
|
10199
10376
|
})
|
|
10200
10377
|
})
|
|
10201
10378
|
};
|
|
10202
|
-
|
|
10379
|
+
const setMode = {
|
|
10380
|
+
name: "set_color_mode",
|
|
10381
|
+
title: "Set the colour mode",
|
|
10382
|
+
description: "Image \u203A Mode: rgb, cmyk (for print: give the press `profile`, default coated-cmyk, and the `intent` RGB is separated with) or lab. The document is still edited as RGB in its working space; a CMYK document is soft-proofed through its profile in the viewport (unless set_proof_setup says otherwise), and export_psd writes CMYK or Lab channels with the profile. Changes no pixels. One undo step. Returns the profile summary with mode and cmykProfile.",
|
|
10383
|
+
inputSchema: {
|
|
10384
|
+
type: "object",
|
|
10385
|
+
properties: {
|
|
10386
|
+
mode: { type: "string", enum: ["rgb", "cmyk", "lab"], description: "The colour mode." },
|
|
10387
|
+
profile: { ...PROFILE, description: `CMYK mode only: the CMYK profile (default coated-cmyk). ${PROFILE.description}` },
|
|
10388
|
+
intent: INTENT
|
|
10389
|
+
},
|
|
10390
|
+
required: ["mode"],
|
|
10391
|
+
additionalProperties: false
|
|
10392
|
+
},
|
|
10393
|
+
annotations: { title: "Set the colour mode", readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
10394
|
+
handler: (args) => {
|
|
10395
|
+
if (args.mode !== "cmyk" && (args.profile !== void 0 || args.intent !== void 0)) throw new LayerOperationError("profile and intent apply to CMYK mode only.");
|
|
10396
|
+
return controller.setColorMode(args.mode, {
|
|
10397
|
+
...args.profile !== void 0 ? { profile: profileArg(args.profile) } : {},
|
|
10398
|
+
...args.intent !== void 0 ? { intent: args.intent } : {}
|
|
10399
|
+
});
|
|
10400
|
+
}
|
|
10401
|
+
};
|
|
10402
|
+
return [getProfile, assign, convert, proof, convertColors, setMode];
|
|
10203
10403
|
}
|
|
10204
10404
|
|
|
10205
10405
|
// src/image-editor/retouch-tools.ts
|
|
@@ -13145,12 +13345,19 @@ var INTENT_OPTIONS = [
|
|
|
13145
13345
|
{ id: "saturation", label: "Saturation", title: "Keep colours vivid (graphics)" },
|
|
13146
13346
|
{ id: "absolute", label: "Absolute Colorimetric", title: "Keep the source white too (paper proofs)" }
|
|
13147
13347
|
];
|
|
13348
|
+
var COLOR_MODE_OPTIONS = [
|
|
13349
|
+
{ id: "rgb", label: "RGB", title: "Edit and export RGB in the working space" },
|
|
13350
|
+
{ id: "cmyk", label: "CMYK", title: "For print: proof through the CMYK profile and export CMYK" },
|
|
13351
|
+
{ id: "lab", label: "Lab", title: "Export Lab channels" }
|
|
13352
|
+
];
|
|
13148
13353
|
function colorPanelView(controller) {
|
|
13149
13354
|
const profile = controller.getColorProfile();
|
|
13150
13355
|
const proof = controller.getState().proofSetup ?? null;
|
|
13151
13356
|
return {
|
|
13152
13357
|
profileName: profile.name,
|
|
13153
13358
|
workingSpace: profile.builtin,
|
|
13359
|
+
mode: profile.mode,
|
|
13360
|
+
cmykProfileName: profile.cmykProfile?.name ?? null,
|
|
13154
13361
|
proof: proof ? { id: proof.profile.builtin ?? null, name: proof.profile.name, intent: proof.intent, simulatePaper: proof.simulatePaper, gamutWarning: proof.gamutWarning, bpc: proof.bpc } : null
|
|
13155
13362
|
};
|
|
13156
13363
|
}
|
|
@@ -13771,8 +13978,10 @@ export {
|
|
|
13771
13978
|
BIT_DEPTH_OPTIONS,
|
|
13772
13979
|
BLEND_MODES,
|
|
13773
13980
|
BLUR_FILTER_ID,
|
|
13981
|
+
BODY_SCATTER,
|
|
13774
13982
|
BRUSH_OPTION_CONTROLS,
|
|
13775
13983
|
BUILTIN_PROFILES,
|
|
13984
|
+
COLOR_MODE_OPTIONS,
|
|
13776
13985
|
CoverageMap,
|
|
13777
13986
|
D50,
|
|
13778
13987
|
D65,
|
|
@@ -13781,6 +13990,7 @@ export {
|
|
|
13781
13990
|
DEFAULT_BLENDER,
|
|
13782
13991
|
DEFAULT_BRUSH,
|
|
13783
13992
|
DEFAULT_DEPTH_MASK,
|
|
13993
|
+
DEFAULT_FLOW,
|
|
13784
13994
|
DEFAULT_GLOBAL_LIGHT,
|
|
13785
13995
|
DEFAULT_MITER_LIMIT,
|
|
13786
13996
|
DEFAULT_MIXER,
|
|
@@ -13793,12 +14003,25 @@ export {
|
|
|
13793
14003
|
DEFAULT_TEXT_STYLE,
|
|
13794
14004
|
DEFAULT_TRANSFORM,
|
|
13795
14005
|
DEFAULT_TYPE_TOOL_OPTIONS,
|
|
14006
|
+
DEFAULT_WET_PAPER,
|
|
14007
|
+
DEFAULT_WET_PARAMS,
|
|
13796
14008
|
DEPTH_MASK_CONTROLS,
|
|
13797
14009
|
DEVELOP_FILTER_ID,
|
|
13798
14010
|
DIRECT_GAUSSIAN_MAX_SIGMA,
|
|
14011
|
+
DRY_EPS,
|
|
13799
14012
|
DabWalker,
|
|
13800
14013
|
EMPTY_DISTANCE,
|
|
13801
14014
|
EMPTY_MIXER_LOAD,
|
|
14015
|
+
EX,
|
|
14016
|
+
EY,
|
|
14017
|
+
FLAG_ALIVE,
|
|
14018
|
+
FLAG_BOTTOM,
|
|
14019
|
+
FLAG_LEFT,
|
|
14020
|
+
FLAG_RIGHT,
|
|
14021
|
+
FLAG_TOP,
|
|
14022
|
+
FLAG_WET,
|
|
14023
|
+
FLAT,
|
|
14024
|
+
FREE_INTERVAL,
|
|
13802
14025
|
FREE_TRANSFORM_CONTENTS,
|
|
13803
14026
|
FREE_TRANSFORM_FIELDS,
|
|
13804
14027
|
FREE_TRANSFORM_MODES,
|
|
@@ -13806,6 +14029,7 @@ export {
|
|
|
13806
14029
|
FreeTransformSession,
|
|
13807
14030
|
FreeTransformTool,
|
|
13808
14031
|
GUIDED_FILTER_EPS,
|
|
14032
|
+
HIDE,
|
|
13809
14033
|
HISTOGRAM_BINS,
|
|
13810
14034
|
HUE_RANGE_LABELS,
|
|
13811
14035
|
IDENTITY_MATRIX3,
|
|
@@ -13829,10 +14053,14 @@ export {
|
|
|
13829
14053
|
LayerCompositor,
|
|
13830
14054
|
LayerEffectError,
|
|
13831
14055
|
LayerOperationError,
|
|
14056
|
+
MAX_BATCH,
|
|
13832
14057
|
MAX_BRUSH_SIZE,
|
|
13833
14058
|
MAX_EFFECT_REACH,
|
|
13834
14059
|
MAX_KELVIN,
|
|
14060
|
+
MAX_TILT_ACCEL,
|
|
13835
14061
|
MAX_TRANSFORM_PIXELS,
|
|
14062
|
+
MAX_WET_LANES,
|
|
14063
|
+
MAX_WET_SLOTS,
|
|
13836
14064
|
MIN_KELVIN,
|
|
13837
14065
|
MIRED_PER_TEMPERATURE_UNIT,
|
|
13838
14066
|
MIXER_DRAIN,
|
|
@@ -13841,17 +14069,35 @@ export {
|
|
|
13841
14069
|
MIXER_PICKUP_RATE,
|
|
13842
14070
|
MIXING_MODELS,
|
|
13843
14071
|
MixerStroke,
|
|
14072
|
+
OPP,
|
|
13844
14073
|
PAINTERLY_BLEND_MODES,
|
|
13845
14074
|
PAINT_TOOLS,
|
|
14075
|
+
PAPER_CAPACITY,
|
|
13846
14076
|
PARAGRAPH_STYLE_FIELDS,
|
|
14077
|
+
PARAM,
|
|
14078
|
+
PARAM_FLOATS,
|
|
13847
14079
|
PATTERN_BLOCK_KEYS,
|
|
13848
14080
|
PIGMENT_BANDS,
|
|
14081
|
+
PIGMENT_CHANNELS,
|
|
13849
14082
|
PIGMENT_LAMBDA_MIN,
|
|
13850
14083
|
PIGMENT_LAMBDA_STEP,
|
|
14084
|
+
PIGMENT_UNIT,
|
|
13851
14085
|
PIGMENT_WAVELENGTHS,
|
|
14086
|
+
PLANE,
|
|
14087
|
+
PLANE_BYTES,
|
|
13852
14088
|
PROOF_PROFILE_OPTIONS,
|
|
13853
14089
|
PSD_BLEND_KEYS,
|
|
13854
14090
|
PSD_FILE_ACCEPT,
|
|
14091
|
+
P_D0,
|
|
14092
|
+
P_EDGE,
|
|
14093
|
+
P_FX,
|
|
14094
|
+
P_FY,
|
|
14095
|
+
P_H,
|
|
14096
|
+
P_P0,
|
|
14097
|
+
P_RHO,
|
|
14098
|
+
P_SW,
|
|
14099
|
+
P_UX,
|
|
14100
|
+
P_UY,
|
|
13855
14101
|
PaintExchange,
|
|
13856
14102
|
PaintGesture,
|
|
13857
14103
|
PaintStrokeSession,
|
|
@@ -13870,12 +14116,18 @@ export {
|
|
|
13870
14116
|
SELECTION_MODE_LABELS,
|
|
13871
14117
|
SELECTION_MODIFY_OPS,
|
|
13872
14118
|
SELECTION_TOOLS,
|
|
14119
|
+
SET_PLANES,
|
|
13873
14120
|
SHADOW_AMBIENT,
|
|
13874
14121
|
SHAPE_KIND_LABELS,
|
|
13875
14122
|
SHAPE_OPERATIONS,
|
|
13876
14123
|
SHAPE_RENDER_MARGIN,
|
|
14124
|
+
SLOT_BYTES,
|
|
14125
|
+
SLOT_PLANES,
|
|
14126
|
+
SLOT_SIDE,
|
|
13877
14127
|
SMART_RENDER_MARGIN,
|
|
13878
14128
|
SPOT_HEAL_TYPES,
|
|
14129
|
+
SRGB_TO_LINEAR,
|
|
14130
|
+
STRIP,
|
|
13879
14131
|
SUPPORTED_ADJUSTMENT_KEYS,
|
|
13880
14132
|
SelectionGesture,
|
|
13881
14133
|
ShapeDrawGesture,
|
|
@@ -13898,12 +14150,21 @@ export {
|
|
|
13898
14150
|
TiledSurface,
|
|
13899
14151
|
TransformTooLargeError,
|
|
13900
14152
|
TypeToolGesture,
|
|
14153
|
+
U_MAX,
|
|
13901
14154
|
VIBRANCE_GREY,
|
|
14155
|
+
W9,
|
|
13902
14156
|
WARP_GRID_OPTIONS,
|
|
13903
14157
|
WARP_STYLES,
|
|
13904
14158
|
WARP_STYLE_LABELS,
|
|
13905
14159
|
WARP_STYLE_OPTIONS,
|
|
14160
|
+
WET_FLOW_KINDS,
|
|
14161
|
+
WET_PARAM_KEYS,
|
|
14162
|
+
WET_TILE,
|
|
13906
14163
|
WORKING_SPACE_OPTIONS,
|
|
14164
|
+
WetMedium,
|
|
14165
|
+
WetWorkerPool,
|
|
14166
|
+
WetWorld,
|
|
14167
|
+
WetWorldError,
|
|
13907
14168
|
XYZ_D50_TO_SRGB,
|
|
13908
14169
|
ZlibError,
|
|
13909
14170
|
activeAdjustmentLayers,
|
|
@@ -13968,6 +14229,7 @@ export {
|
|
|
13968
14229
|
builtinPatternIds,
|
|
13969
14230
|
bytesToBase64,
|
|
13970
14231
|
calculateCropDrag,
|
|
14232
|
+
canShareMemory,
|
|
13971
14233
|
canvasCompositeOperation,
|
|
13972
14234
|
canvasToImagePoint,
|
|
13973
14235
|
caretAt,
|
|
@@ -13978,6 +14240,7 @@ export {
|
|
|
13978
14240
|
cloneSourceLabel,
|
|
13979
14241
|
collectTiles,
|
|
13980
14242
|
colorBalanceChannel,
|
|
14243
|
+
colorModePlanes,
|
|
13981
14244
|
colorPanelView,
|
|
13982
14245
|
colorRange,
|
|
13983
14246
|
combineSelections,
|
|
@@ -14057,6 +14320,7 @@ export {
|
|
|
14057
14320
|
describeLayerEffects,
|
|
14058
14321
|
describeSelection,
|
|
14059
14322
|
describeTransform,
|
|
14323
|
+
deserializeColorMode,
|
|
14060
14324
|
deserializeColorProfile,
|
|
14061
14325
|
deserializeEffects,
|
|
14062
14326
|
deserializeLayer,
|
|
@@ -14066,22 +14330,28 @@ export {
|
|
|
14066
14330
|
developFilter,
|
|
14067
14331
|
developFromAdjustments,
|
|
14068
14332
|
developTarget,
|
|
14333
|
+
dexp,
|
|
14069
14334
|
dilateMask,
|
|
14070
14335
|
displayTransform,
|
|
14071
14336
|
distanceTransform,
|
|
14337
|
+
dlog,
|
|
14072
14338
|
documentContents,
|
|
14073
14339
|
documentProfile,
|
|
14074
14340
|
dodgeBurn,
|
|
14075
14341
|
dodgeBurnCurve,
|
|
14076
14342
|
downloadPsd,
|
|
14343
|
+
dpow,
|
|
14077
14344
|
dragWarpMeshPoint,
|
|
14078
14345
|
dropPlacement,
|
|
14079
14346
|
dropZone,
|
|
14347
|
+
dsincos,
|
|
14080
14348
|
duplicateLayer,
|
|
14349
|
+
edgeBits,
|
|
14081
14350
|
edgeWidth,
|
|
14082
14351
|
effectColorHex,
|
|
14083
14352
|
effectControlChange,
|
|
14084
14353
|
effectReach,
|
|
14354
|
+
effectiveProof,
|
|
14085
14355
|
effectsFingerprint,
|
|
14086
14356
|
effectsMargin,
|
|
14087
14357
|
effectsScale,
|
|
@@ -14097,11 +14367,14 @@ export {
|
|
|
14097
14367
|
evalWarpMesh,
|
|
14098
14368
|
evaluateAdjustmentLayers,
|
|
14099
14369
|
exchangeRates,
|
|
14370
|
+
expNeg,
|
|
14100
14371
|
expandCoverage,
|
|
14101
14372
|
exportPsd,
|
|
14102
14373
|
extractNormalizedLayerItems,
|
|
14103
14374
|
featherCoverage,
|
|
14104
14375
|
fillRect,
|
|
14376
|
+
filmPixel,
|
|
14377
|
+
filmReflectance,
|
|
14105
14378
|
filterMaskCoverage,
|
|
14106
14379
|
findAdjustmentControl,
|
|
14107
14380
|
findLayer,
|
|
@@ -14112,6 +14385,7 @@ export {
|
|
|
14112
14385
|
flattenLayers,
|
|
14113
14386
|
flattenPath,
|
|
14114
14387
|
flipCorners,
|
|
14388
|
+
flowField,
|
|
14115
14389
|
fontOf,
|
|
14116
14390
|
formatControlValue,
|
|
14117
14391
|
fullSelection,
|
|
@@ -14191,6 +14465,7 @@ export {
|
|
|
14191
14465
|
isValidWarp,
|
|
14192
14466
|
kelvinToTemperature,
|
|
14193
14467
|
keysWeight,
|
|
14468
|
+
latticeViscosity,
|
|
14194
14469
|
layerBadge,
|
|
14195
14470
|
layerEffectControls,
|
|
14196
14471
|
layerEffectFields,
|
|
@@ -14219,12 +14494,14 @@ export {
|
|
|
14219
14494
|
levelsValue,
|
|
14220
14495
|
linearSrgbToXy,
|
|
14221
14496
|
linearToSrgb,
|
|
14497
|
+
linearToSrgb8,
|
|
14222
14498
|
liveComponent,
|
|
14223
14499
|
liveShapeForDrag,
|
|
14224
14500
|
liveShapeSubpaths,
|
|
14225
14501
|
loadImageEditorDocument,
|
|
14226
14502
|
loadMixer,
|
|
14227
14503
|
loadOpenTypeFont,
|
|
14504
|
+
loadWetKernel,
|
|
14228
14505
|
luma,
|
|
14229
14506
|
magicWand,
|
|
14230
14507
|
mapCropHandle,
|
|
@@ -14261,6 +14538,7 @@ export {
|
|
|
14261
14538
|
normalizeBlender,
|
|
14262
14539
|
normalizeBrush,
|
|
14263
14540
|
normalizeFilter,
|
|
14541
|
+
normalizeFlow,
|
|
14264
14542
|
normalizeLayerEffects,
|
|
14265
14543
|
normalizeLayerMask,
|
|
14266
14544
|
normalizeLiveShape,
|
|
@@ -14277,11 +14555,15 @@ export {
|
|
|
14277
14555
|
normalizeStoredAdjustments,
|
|
14278
14556
|
normalizeSubpaths,
|
|
14279
14557
|
normalizeText,
|
|
14558
|
+
normalizeTilt,
|
|
14559
|
+
normalizeWetParams,
|
|
14280
14560
|
offsetLayer,
|
|
14281
14561
|
offsetShape,
|
|
14282
14562
|
offsetSmartObject,
|
|
14283
14563
|
openPsdFile,
|
|
14284
14564
|
packRgba,
|
|
14565
|
+
packWetParams,
|
|
14566
|
+
paintPathStroke,
|
|
14285
14567
|
paragraphRanges,
|
|
14286
14568
|
parseAdjustmentBlock,
|
|
14287
14569
|
parseBlend,
|
|
@@ -14297,11 +14579,16 @@ export {
|
|
|
14297
14579
|
parseVersionedDescriptor,
|
|
14298
14580
|
patchParagraphStyle,
|
|
14299
14581
|
patchTextStyle,
|
|
14582
|
+
pathStrokeCoverage,
|
|
14583
|
+
pathStrokeDabs,
|
|
14300
14584
|
perDabStrength,
|
|
14301
14585
|
photoFilterMatrix,
|
|
14302
14586
|
pigment8,
|
|
14587
|
+
pigmentColor,
|
|
14588
|
+
pigmentOf,
|
|
14303
14589
|
pixelLayerBounds,
|
|
14304
14590
|
pixelLayers,
|
|
14591
|
+
pixelPigment,
|
|
14305
14592
|
placeContents,
|
|
14306
14593
|
placeLayer,
|
|
14307
14594
|
placementAt,
|
|
@@ -14396,6 +14683,7 @@ export {
|
|
|
14396
14683
|
selectionToCoverage,
|
|
14397
14684
|
selectionToPixels,
|
|
14398
14685
|
selectionValueAt,
|
|
14686
|
+
serializeColorMode,
|
|
14399
14687
|
serializeColorProfile,
|
|
14400
14688
|
serializeContents,
|
|
14401
14689
|
serializeEffects,
|
|
@@ -14415,6 +14703,7 @@ export {
|
|
|
14415
14703
|
setSmartFilterMask,
|
|
14416
14704
|
setSmartFiltersEnabled,
|
|
14417
14705
|
setSmartPlacement,
|
|
14706
|
+
shadeTile,
|
|
14418
14707
|
shapeAsPixelLayer,
|
|
14419
14708
|
shapeFromAnnotation,
|
|
14420
14709
|
shapeGeometryBounds,
|
|
@@ -14436,10 +14725,12 @@ export {
|
|
|
14436
14725
|
spotHealPixels,
|
|
14437
14726
|
spotHealWindow,
|
|
14438
14727
|
srgb8ToLab,
|
|
14728
|
+
srgbByteToLinear,
|
|
14439
14729
|
srgbDecode,
|
|
14440
14730
|
srgbEncode,
|
|
14441
14731
|
srgbToLinear,
|
|
14442
14732
|
standardBlendMode,
|
|
14733
|
+
stepSlotTs,
|
|
14443
14734
|
styleAt,
|
|
14444
14735
|
sumHistograms,
|
|
14445
14736
|
surfaceBytes,
|
|
@@ -14513,6 +14804,8 @@ export {
|
|
|
14513
14804
|
warpPresetMesh,
|
|
14514
14805
|
warpSurface,
|
|
14515
14806
|
wbMatrix,
|
|
14807
|
+
wetSimdSupported,
|
|
14808
|
+
wetSupport,
|
|
14516
14809
|
whiteBalanceFromSample,
|
|
14517
14810
|
whiteBalanceMatrix,
|
|
14518
14811
|
withFilterMaskSurface,
|