@pixerate/editor 0.117.0 → 0.119.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 +3 -0
- package/dist/animation-editor/index.cjs +54 -54
- package/dist/animation-editor/index.d.cts +3 -3
- package/dist/animation-editor/index.d.ts +3 -3
- package/dist/animation-editor/index.js +2 -2
- package/dist/{chunk-2J3LS7JZ.cjs → chunk-4S2AXNQF.cjs} +221 -186
- package/dist/chunk-4S2AXNQF.cjs.map +1 -0
- package/dist/{chunk-7LNZAWSJ.js → chunk-CSHEI3YT.js} +625 -451
- package/dist/chunk-CSHEI3YT.js.map +1 -0
- package/dist/{chunk-M7O4BJRH.cjs → chunk-KGNUFO4T.cjs} +36 -36
- package/dist/{chunk-M7O4BJRH.cjs.map → chunk-KGNUFO4T.cjs.map} +1 -1
- package/dist/{chunk-R2JE6SA7.js → chunk-KZLQY4CD.js} +42 -7
- package/dist/chunk-KZLQY4CD.js.map +1 -0
- package/dist/{chunk-L2T6EJ5S.cjs → chunk-L3PXFMOF.cjs} +38 -25
- package/dist/chunk-L3PXFMOF.cjs.map +1 -0
- package/dist/{chunk-FODKPD44.cjs → chunk-LI3KTY7K.cjs} +724 -550
- package/dist/chunk-LI3KTY7K.cjs.map +1 -0
- package/dist/{chunk-IVSNUXW7.js → chunk-T7IZDNSL.js} +37 -24
- package/dist/chunk-T7IZDNSL.js.map +1 -0
- package/dist/{chunk-T2P5TIZ6.js → chunk-TDQDMBUR.js} +2 -2
- package/dist/{chunk-BYAWOAST.cjs → chunk-TS5IEUW6.cjs} +26 -25
- package/dist/chunk-TS5IEUW6.cjs.map +1 -0
- package/dist/{chunk-VD2UDVF7.js → chunk-UMVW2Q66.js} +21 -5
- package/dist/chunk-UMVW2Q66.js.map +1 -0
- package/dist/{chunk-EBSYZRSW.cjs → chunk-WMRIG4XQ.cjs} +21 -5
- package/dist/chunk-WMRIG4XQ.cjs.map +1 -0
- package/dist/{chunk-JHXMNOMF.js → chunk-YHW26LS2.js} +14 -13
- package/dist/chunk-YHW26LS2.js.map +1 -0
- package/dist/{export-DMOuzgZZ.d.cts → export-B_jO2PrH.d.cts} +18 -4
- package/dist/{export-Dul1SbPv.d.ts → export-Ds8Ccw0K.d.ts} +18 -4
- package/dist/{flow-4-OC-UkQ.d.cts → flow-A2Dj-69w.d.cts} +21 -9
- package/dist/{flow-Cb7lkPm8.d.ts → flow-C95atNoQ.d.ts} +21 -9
- package/dist/image-editor/index.cjs +1104 -979
- package/dist/image-editor/index.cjs.map +1 -1
- package/dist/image-editor/index.d.cts +5 -5
- package/dist/image-editor/index.d.ts +5 -5
- package/dist/image-editor/index.js +157 -32
- package/dist/image-editor/index.js.map +1 -1
- package/dist/paint/index.cjs +5 -3
- package/dist/paint/index.cjs.map +1 -1
- package/dist/paint/index.d.cts +2 -2
- package/dist/paint/index.d.ts +2 -2
- package/dist/paint/index.js +4 -2
- package/dist/paint-editor/index.cjs +147 -147
- package/dist/paint-editor/index.d.cts +4 -4
- package/dist/paint-editor/index.d.ts +4 -4
- package/dist/paint-editor/index.js +4 -4
- package/dist/raster/index.cjs +2 -2
- package/dist/raster/index.js +1 -1
- package/dist/{svg-DlEuhwoX.d.ts → svg-CTxrB5xO.d.ts} +5 -1
- package/dist/{svg-CVdFc80-.d.cts → svg-hK0WQc7-.d.cts} +5 -1
- package/dist/{types-Tfly4Aya.d.cts → types-Dq-8qgoo.d.cts} +45 -3
- package/dist/{types-CDLGhAZp.d.ts → types-TrSSh_RB.d.ts} +45 -3
- package/dist/vector/index.cjs +1535 -1164
- package/dist/vector/index.cjs.map +1 -1
- package/dist/vector/index.d.cts +127 -9
- package/dist/vector/index.d.ts +127 -9
- package/dist/vector/index.js +386 -15
- package/dist/vector/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/pixerate-image-editor/references/photoshop-files.md +9 -7
- package/skills/pixerate-vector/SKILL.md +13 -1
- package/skills/pixerate-vector/references/commands.md +1 -0
- package/dist/chunk-2J3LS7JZ.cjs.map +0 -1
- package/dist/chunk-7LNZAWSJ.js.map +0 -1
- package/dist/chunk-BYAWOAST.cjs.map +0 -1
- package/dist/chunk-EBSYZRSW.cjs.map +0 -1
- package/dist/chunk-FODKPD44.cjs.map +0 -1
- package/dist/chunk-IVSNUXW7.js.map +0 -1
- package/dist/chunk-JHXMNOMF.js.map +0 -1
- package/dist/chunk-L2T6EJ5S.cjs.map +0 -1
- package/dist/chunk-R2JE6SA7.js.map +0 -1
- package/dist/chunk-VD2UDVF7.js.map +0 -1
- /package/dist/{chunk-T2P5TIZ6.js.map → chunk-TDQDMBUR.js.map} +0 -0
|
@@ -418,6 +418,7 @@ function applyStrokeToTile(coverage, tileData, channels, tx, ty, s, options = {}
|
|
|
418
418
|
function applyStrokeToDeepTile(coverage, samples, tx, ty, s, options = {}) {
|
|
419
419
|
const linear = samples instanceof Float32Array;
|
|
420
420
|
const scale = linear ? 1 : 65535;
|
|
421
|
+
const n = _nullishCoalesce(options.channels, () => ( 4));
|
|
421
422
|
const out = (_nullishCoalesce(options.into, () => ( samples))).slice();
|
|
422
423
|
const ox = tx * _chunk7ISPWEJAcjs.TILE + s.offset.x;
|
|
423
424
|
const oy = ty * _chunk7ISPWEJAcjs.TILE + s.offset.y;
|
|
@@ -432,8 +433,9 @@ function applyStrokeToDeepTile(coverage, samples, tx, ty, s, options = {}) {
|
|
|
432
433
|
x1 = Math.min(_chunk7ISPWEJAcjs.TILE, Math.ceil(r.x + r.width) - ox);
|
|
433
434
|
y1 = Math.min(_chunk7ISPWEJAcjs.TILE, Math.ceil(r.y + r.height) - oy);
|
|
434
435
|
if (x1 <= x0 || y1 <= y0) return out;
|
|
435
|
-
if (options.into) for (let y = y0; y < y1; y++) out.set(samples.subarray((y * _chunk7ISPWEJAcjs.TILE + x0) *
|
|
436
|
+
if (options.into) for (let y = y0; y < y1; y++) out.set(samples.subarray((y * _chunk7ISPWEJAcjs.TILE + x0) * n, (y * _chunk7ISPWEJAcjs.TILE + x1) * n), (y * _chunk7ISPWEJAcjs.TILE + x0) * n);
|
|
436
437
|
}
|
|
438
|
+
const grey = (s.mode === "erase" ? s.background[0] : s.color[0]) / 255 * scale;
|
|
437
439
|
const colour = (c) => {
|
|
438
440
|
const v = [c[0] / 255, c[1] / 255, c[2] / 255, c[3] / 255];
|
|
439
441
|
if (linear) for (let k = 0; k < 3; k++) v[k] = _chunk7ISPWEJAcjs.srgbDecode.call(void 0, v[k]);
|
|
@@ -461,6 +463,12 @@ function applyStrokeToDeepTile(coverage, samples, tx, ty, s, options = {}) {
|
|
|
461
463
|
}
|
|
462
464
|
if (k > 1) k = 1;
|
|
463
465
|
if (k <= 0) continue;
|
|
466
|
+
if (n === 1) {
|
|
467
|
+
const p = y * _chunk7ISPWEJAcjs.TILE + x;
|
|
468
|
+
const v = out[p] + (grey - out[p]) * k;
|
|
469
|
+
out[p] = linear ? v : Math.round(v);
|
|
470
|
+
continue;
|
|
471
|
+
}
|
|
464
472
|
const i = (y * _chunk7ISPWEJAcjs.TILE + x) * 4;
|
|
465
473
|
if (s.mode === "erase" && !s.lockTransparency) {
|
|
466
474
|
put(i + 3, out[i + 3] / scale * (1 - k));
|
|
@@ -597,6 +605,10 @@ var PaintExchange = (_class4 = class {
|
|
|
597
605
|
this.amount *= 1 - this.rates.drain;
|
|
598
606
|
}
|
|
599
607
|
}, _class4);
|
|
608
|
+
function put255(px, i, v) {
|
|
609
|
+
if (px instanceof Float32Array) px[i] = v > 0 ? v * 255 : 0;
|
|
610
|
+
else px[i] = Math.round(v * 255);
|
|
611
|
+
}
|
|
600
612
|
var TileMedium = (_class5 = class {
|
|
601
613
|
constructor(target, options = {}) {;_class5.prototype.__init12.call(this);_class5.prototype.__init13.call(this);_class5.prototype.__init14.call(this);_class5.prototype.__init15.call(this);_class5.prototype.__init16.call(this);_class5.prototype.__init17.call(this);_class5.prototype.__init18.call(this);_class5.prototype.__init19.call(this);_class5.prototype.__init20.call(this);_class5.prototype.__init21.call(this);
|
|
602
614
|
this.target = target;
|
|
@@ -716,10 +728,10 @@ var TileMedium = (_class5 = class {
|
|
|
716
728
|
src[1] = pg;
|
|
717
729
|
src[2] = pb;
|
|
718
730
|
const r = _chunk7ISPWEJAcjs.blendPixel.call(void 0, blend, cb, src, k);
|
|
719
|
-
px
|
|
720
|
-
px
|
|
721
|
-
px
|
|
722
|
-
if (!t.lockTransparency) px
|
|
731
|
+
put255(px, i, r[0]);
|
|
732
|
+
put255(px, i + 1, r[1]);
|
|
733
|
+
put255(px, i + 2, r[2]);
|
|
734
|
+
if (!t.lockTransparency) put255(px, i + 3, r[3]);
|
|
723
735
|
continue;
|
|
724
736
|
}
|
|
725
737
|
const a = px[i + 3] / 255;
|
|
@@ -730,10 +742,10 @@ var TileMedium = (_class5 = class {
|
|
|
730
742
|
o[1] = pg;
|
|
731
743
|
o[2] = pb;
|
|
732
744
|
} else if (pigment && field) {
|
|
733
|
-
_chunk7ISPWEJAcjs.mixPigment8.call(void 0, px[i], px[i + 1], px[i + 2], Math.round(pr * 255), Math.round(pg * 255), Math.round(pb * 255), share, o);
|
|
745
|
+
_chunk7ISPWEJAcjs.mixPigment8.call(void 0, Math.round(px[i]), Math.round(px[i + 1]), Math.round(px[i + 2]), Math.round(pr * 255), Math.round(pg * 255), Math.round(pb * 255), share, o);
|
|
734
746
|
} else if (pigment) {
|
|
735
|
-
const key = px[i] << 16 | px[i + 1] << 8 | px[i + 2];
|
|
736
|
-
if (key !== lastKey) {
|
|
747
|
+
const key = px instanceof Float32Array ? -2 : px[i] << 16 | px[i + 1] << 8 | px[i + 2];
|
|
748
|
+
if (key !== lastKey || key === -2) {
|
|
737
749
|
_chunk7ISPWEJAcjs.setPigmentColor.call(void 0, this.canvasPig, px[i] / 255, px[i + 1] / 255, px[i + 2] / 255);
|
|
738
750
|
lastKey = key;
|
|
739
751
|
}
|
|
@@ -752,10 +764,10 @@ var TileMedium = (_class5 = class {
|
|
|
752
764
|
o[1] = px[i + 1] / 255 + (pg - px[i + 1] / 255) * share;
|
|
753
765
|
o[2] = px[i + 2] / 255 + (pb - px[i + 2] / 255) * share;
|
|
754
766
|
}
|
|
755
|
-
px
|
|
756
|
-
px
|
|
757
|
-
px
|
|
758
|
-
px
|
|
767
|
+
put255(px, i, o[0]);
|
|
768
|
+
put255(px, i + 1, o[1]);
|
|
769
|
+
put255(px, i + 2, o[2]);
|
|
770
|
+
put255(px, i + 3, na);
|
|
759
771
|
}
|
|
760
772
|
}
|
|
761
773
|
}
|
|
@@ -904,7 +916,7 @@ function blenderDab(medium, rect, cov, opacity, radius, settings, scratch2) {
|
|
|
904
916
|
const a = px[i + 3] / 255;
|
|
905
917
|
if (a > 0) {
|
|
906
918
|
if (pigment) {
|
|
907
|
-
const p = _chunk7ISPWEJAcjs.pigment8.call(void 0, px[i], px[i + 1], px[i + 2]);
|
|
919
|
+
const p = _chunk7ISPWEJAcjs.pigment8.call(void 0, Math.round(px[i]), Math.round(px[i + 1]), Math.round(px[i + 2]));
|
|
908
920
|
const sa = p.scatter * p.strength * a;
|
|
909
921
|
for (let k = 0; k < N; k++) row[k] += sa * p.ks[k];
|
|
910
922
|
row[N] += sa;
|
|
@@ -952,7 +964,7 @@ function blenderDab(medium, rect, cov, opacity, radius, settings, scratch2) {
|
|
|
952
964
|
if (asum <= 1e-9) {
|
|
953
965
|
if (lock || a <= 0) continue;
|
|
954
966
|
const i2 = medium.locate(dx, dy, true);
|
|
955
|
-
medium.pixels
|
|
967
|
+
put255(medium.pixels, i2 + 3, na);
|
|
956
968
|
continue;
|
|
957
969
|
}
|
|
958
970
|
const share = lock ? t : na > 0 ? t * avgA / na : 1;
|
|
@@ -963,17 +975,17 @@ function blenderDab(medium, rect, cov, opacity, radius, settings, scratch2) {
|
|
|
963
975
|
for (let c = 0; c < N; c++) mixPig.ks[c] = sum(c, x1, y1, x2, y2) / sa;
|
|
964
976
|
mixPig.scatter = sa / asum;
|
|
965
977
|
if (a <= 0 || share >= 1) _chunk7ISPWEJAcjs.lerpPigmentInto.call(void 0, mixPig, mixPig, 0, out, 0);
|
|
966
|
-
else _chunk7ISPWEJAcjs.lerpPigmentInto.call(void 0, _chunk7ISPWEJAcjs.pigment8.call(void 0, px[i], px[i + 1], px[i + 2]), mixPig, share, out, 0);
|
|
978
|
+
else _chunk7ISPWEJAcjs.lerpPigmentInto.call(void 0, _chunk7ISPWEJAcjs.pigment8.call(void 0, Math.round(px[i]), Math.round(px[i + 1]), Math.round(px[i + 2])), mixPig, share, out, 0);
|
|
967
979
|
} else {
|
|
968
980
|
for (let c = 0; c < 3; c++) {
|
|
969
981
|
const m = sum(c, x1, y1, x2, y2) / asum;
|
|
970
982
|
out[c] = a <= 0 || share >= 1 ? m : px[i + c] / 255 + (m - px[i + c] / 255) * share;
|
|
971
983
|
}
|
|
972
984
|
}
|
|
973
|
-
px
|
|
974
|
-
px
|
|
975
|
-
px
|
|
976
|
-
if (!lock) px
|
|
985
|
+
put255(px, i, out[0]);
|
|
986
|
+
put255(px, i + 1, out[1]);
|
|
987
|
+
put255(px, i + 2, out[2]);
|
|
988
|
+
if (!lock) put255(px, i + 3, na);
|
|
977
989
|
}
|
|
978
990
|
}
|
|
979
991
|
}
|
|
@@ -1078,10 +1090,10 @@ var SmudgeTip = (_class7 = class {
|
|
|
1078
1090
|
}
|
|
1079
1091
|
const i = medium.locate(dx, dy, true);
|
|
1080
1092
|
const out = medium.pixels;
|
|
1081
|
-
out
|
|
1082
|
-
out
|
|
1083
|
-
out
|
|
1084
|
-
out
|
|
1093
|
+
put255(out, i, r);
|
|
1094
|
+
put255(out, i + 1, g);
|
|
1095
|
+
put255(out, i + 2, b);
|
|
1096
|
+
put255(out, i + 3, na);
|
|
1085
1097
|
}
|
|
1086
1098
|
const pick = (1 - length) * Math.min(1, cv * d.opacity);
|
|
1087
1099
|
if (pick > 0) {
|
|
@@ -3335,5 +3347,6 @@ var WetMedium = (_class9 = class {
|
|
|
3335
3347
|
|
|
3336
3348
|
|
|
3337
3349
|
|
|
3338
|
-
|
|
3339
|
-
|
|
3350
|
+
|
|
3351
|
+
exports.DEFAULT_BRUSH = DEFAULT_BRUSH; exports.MAX_BRUSH_SIZE = MAX_BRUSH_SIZE; exports.normalizeBrush = normalizeBrush; exports.tipShape = tipShape; exports.tipFalloff = tipFalloff; exports.tipReach = tipReach; exports.dabCoverage = dabCoverage; exports.smoothPoints = smoothPoints; exports.DabWalker = DabWalker; exports.walkDabs = walkDabs; exports.dabRect = dabRect; exports.rasterizeDab = rasterizeDab; exports.CoverageMap = CoverageMap; exports.StrokeCoverage = StrokeCoverage; exports.applyStrokeToTile = applyStrokeToTile; exports.applyStrokeToDeepTile = applyStrokeToDeepTile; exports.coverageTileCoord = coverageTileCoord; exports.MIXING_MODELS = MIXING_MODELS; exports.EMPTY_MIXER_LOAD = EMPTY_MIXER_LOAD; exports.MIXER_PICKUP_RATE = MIXER_PICKUP_RATE; exports.MIXER_DRAIN = MIXER_DRAIN; exports.exchangeRates = exchangeRates; exports.PaintExchange = PaintExchange; exports.put255 = put255; exports.TileMedium = TileMedium; exports.DEFAULT_MIXER = DEFAULT_MIXER; exports.normalizeMixer = normalizeMixer; exports.mixerRates = mixerRates; exports.loadMixer = loadMixer; exports.cleanMixer = cleanMixer; exports.MixerStroke = MixerStroke; exports.DEFAULT_BLENDER = DEFAULT_BLENDER; exports.DEFAULT_SMUDGE = DEFAULT_SMUDGE; exports.normalizeBlender = normalizeBlender; exports.normalizeSmudge = normalizeSmudge; exports.blendRadius = blendRadius; exports.createBlenderScratch = createBlenderScratch; exports.blenderDab = blenderDab; exports.SmudgeTip = SmudgeTip; exports.createPigmentTools = createPigmentTools; exports.WET_TILE = WET_TILE; exports.SLOT_SIDE = SLOT_SIDE; exports.PLANE = PLANE; exports.PLANE_BYTES = PLANE_BYTES; exports.SET_PLANES = SET_PLANES; exports.P_RHO = P_RHO; exports.P_UX = P_UX; exports.P_UY = P_UY; exports.P_SW = P_SW; exports.P_P0 = P_P0; exports.P_EDGE = P_EDGE; exports.P_D0 = P_D0; exports.P_H = P_H; exports.P_FX = P_FX; exports.P_FY = P_FY; exports.SLOT_PLANES = SLOT_PLANES; exports.SLOT_BYTES = SLOT_BYTES; exports.PIGMENT_CHANNELS = PIGMENT_CHANNELS; exports.EX = EX; exports.EY = EY; exports.OPP = OPP; exports.W9 = W9; exports.DRY_EPS = DRY_EPS; exports.U_MAX = U_MAX; exports.STRIP = STRIP; exports.MAX_BATCH = MAX_BATCH; exports.FREE_INTERVAL = FREE_INTERVAL; exports.FLAG_ALIVE = FLAG_ALIVE; exports.FLAG_LEFT = FLAG_LEFT; exports.FLAG_RIGHT = FLAG_RIGHT; exports.FLAG_TOP = FLAG_TOP; exports.FLAG_BOTTOM = FLAG_BOTTOM; exports.FLAG_WET = FLAG_WET; exports.PARAM_FLOATS = PARAM_FLOATS; exports.PARAM = PARAM; exports.DEFAULT_WET_PARAMS = DEFAULT_WET_PARAMS; exports.WET_PARAM_KEYS = WET_PARAM_KEYS; exports.DEFAULT_WET_PAPER = DEFAULT_WET_PAPER; exports.FLAT = FLAT; exports.normalizeWetParams = normalizeWetParams; exports.normalizeTilt = normalizeTilt; exports.latticeViscosity = latticeViscosity; exports.PAPER_CAPACITY = PAPER_CAPACITY; exports.MAX_TILT_ACCEL = MAX_TILT_ACCEL; exports.packWetParams = packWetParams; exports.edgeBits = edgeBits; exports.PIGMENT_UNIT = PIGMENT_UNIT; exports.HIDE = HIDE; exports.BODY_SCATTER = BODY_SCATTER; exports.dexp = dexp; exports.dlog = dlog; exports.dpow = dpow; exports.SRGB_TO_LINEAR = SRGB_TO_LINEAR; exports.srgbByteToLinear = srgbByteToLinear; exports.linearToSrgb8 = linearToSrgb8; exports.pigmentOf = pigmentOf; exports.expNeg = expNeg; exports.filmReflectance = filmReflectance; exports.pigmentColor = pigmentColor; exports.filmPixel = filmPixel; exports.pixelPigment = pixelPigment; exports.shadeTile = shadeTile; exports.stepSlotTs = stepSlotTs; exports.loadWetKernel = loadWetKernel; exports.canShareMemory = canShareMemory; exports.wetSimdSupported = wetSimdSupported; exports.wetSupport = wetSupport; exports.WetWorkerPool = WetWorkerPool; exports.MAX_WET_LANES = MAX_WET_LANES; exports.MAX_WET_SLOTS = MAX_WET_SLOTS; exports.WetWorldError = WetWorldError; exports.WetWorld = WetWorld; exports.WET_FLOW_KINDS = WET_FLOW_KINDS; exports.DEFAULT_FLOW = DEFAULT_FLOW; exports.dsincos = dsincos; exports.normalizeFlow = normalizeFlow; exports.flowField = flowField; exports.WetMedium = WetMedium;
|
|
3352
|
+
//# sourceMappingURL=chunk-L3PXFMOF.cjs.map
|