@pixerate/editor 0.266.0 → 0.266.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/index.cjs +6 -2
- package/dist/agent/index.js +5 -1
- package/dist/animation-editor/index.cjs +59 -59
- package/dist/animation-editor/index.js +3 -3
- package/dist/brushes/index.cjs +56 -56
- package/dist/brushes/index.js +3 -3
- package/dist/brushes/presets.d.cts +3 -3
- package/dist/brushes/presets.d.ts +3 -3
- package/dist/brushes/resolve.d.cts +1 -1
- package/dist/brushes/resolve.d.ts +1 -1
- package/dist/{brushstrokeRender-JQ2XQRUD.cjs → brushstrokeRender-FSUWXUZY.cjs} +15 -15
- package/dist/{brushstrokeRender-4UB6NRJW.js → brushstrokeRender-KD453OBX.js} +3 -3
- package/dist/canvas/index.cjs +13 -13
- package/dist/canvas/index.js +1 -1
- package/dist/{chunk-Q6RVVJW6.js → chunk-3C33YTNN.js} +1 -1
- package/dist/{chunk-NOP4Y5AB.cjs → chunk-3SBLVGOM.cjs} +23 -23
- package/dist/{chunk-ZS7LB2MV.js → chunk-4ODRXQRW.js} +1 -1
- package/dist/{chunk-O53MOGXG.cjs → chunk-AQZQWXEU.cjs} +35 -35
- package/dist/{chunk-J4SGJCPW.js → chunk-CIJBSUM5.js} +1133 -1806
- package/dist/{chunk-XDNWQMHY.js → chunk-DXYHQ2VN.js} +1 -1
- package/dist/{chunk-BLR4KWYQ.js → chunk-EZOJBP4D.js} +1 -1
- package/dist/{chunk-Z2Z2OHRM.js → chunk-LK4SXL3V.js} +1 -1
- package/dist/{chunk-DGXTEPCU.cjs → chunk-MVUQSK5J.cjs} +86 -86
- package/dist/{chunk-ZQI3WUPP.js → chunk-QCLY5SFS.js} +12 -0
- package/dist/{chunk-WY23AUCA.js → chunk-R44Y3EFS.js} +1 -1
- package/dist/{chunk-677777GH.cjs → chunk-RFJZGTHA.cjs} +1137 -1810
- package/dist/{chunk-7PW6VCNW.js → chunk-T2LDTEXK.js} +1 -1
- package/dist/{chunk-7NQOGWLM.cjs → chunk-TOID45I2.cjs} +1 -1
- package/dist/{chunk-DEBIFWY6.cjs → chunk-VRK322ZC.cjs} +2 -2
- package/dist/{chunk-5OE4ZZ6V.cjs → chunk-WLUVZKVD.cjs} +30 -30
- package/dist/{chunk-ZHRVCW3M.cjs → chunk-XRXFVRGY.cjs} +10 -10
- package/dist/{chunk-YBC3RKT2.cjs → chunk-ZGXJ7BTR.cjs} +13 -1
- package/dist/image-editor/index.cjs +786 -786
- package/dist/image-editor/index.js +4 -4
- package/dist/paint-editor/brush-model.d.cts +273 -0
- package/dist/paint-editor/brush-model.d.ts +273 -0
- package/dist/paint-editor/brushes.d.cts +6 -270
- package/dist/paint-editor/brushes.d.ts +6 -270
- package/dist/paint-editor/index.cjs +79 -79
- package/dist/paint-editor/index.js +5 -5
- package/dist/paint-editor/ui.d.cts +1 -1
- package/dist/paint-editor/ui.d.ts +1 -1
- package/dist/tools/conformance.d.cts +8 -0
- package/dist/tools/conformance.d.ts +8 -0
- package/dist/tools/index.cjs +6 -2
- package/dist/tools/index.js +5 -1
- package/dist/vector/index.cjs +988 -988
- package/dist/vector/index.js +4 -4
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@ var _chunkXORJ7UZOcjs = require('../chunk-XORJ7UZO.cjs');
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chunkWLUVZKVDcjs = require('../chunk-WLUVZKVD.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
@@ -19,7 +19,7 @@ var _chunkPE6YJMQTcjs = require('../chunk-PE6YJMQT.cjs');
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _chunkVRK322ZCcjs = require('../chunk-VRK322ZC.cjs');
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
var _chunkCBVNCWJMcjs = require('../chunk-CBVNCWJM.cjs');
|
|
@@ -34,7 +34,7 @@ var _chunk7TD63DZPcjs = require('../chunk-7TD63DZP.cjs');
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
var
|
|
37
|
+
var _chunkMVUQSK5Jcjs = require('../chunk-MVUQSK5J.cjs');
|
|
38
38
|
require('../chunk-3ZRNK3RO.cjs');
|
|
39
39
|
|
|
40
40
|
|
|
@@ -92,7 +92,7 @@ var _chunkJLWLX52Lcjs = require('../chunk-JLWLX52L.cjs');
|
|
|
92
92
|
|
|
93
93
|
|
|
94
94
|
var _chunkK7ENM55Pcjs = require('../chunk-K7ENM55P.cjs');
|
|
95
|
-
require('../chunk-
|
|
95
|
+
require('../chunk-XRXFVRGY.cjs');
|
|
96
96
|
|
|
97
97
|
|
|
98
98
|
|
|
@@ -147,7 +147,7 @@ require('../chunk-ZHRVCW3M.cjs');
|
|
|
147
147
|
|
|
148
148
|
|
|
149
149
|
|
|
150
|
-
var
|
|
150
|
+
var _chunkRFJZGTHAcjs = require('../chunk-RFJZGTHA.cjs');
|
|
151
151
|
|
|
152
152
|
|
|
153
153
|
|
|
@@ -1741,7 +1741,7 @@ function shadowToLight(shadow) {
|
|
|
1741
1741
|
return new (0, _chunk474IQG74cjs.TiledSurface)(1, tiles, 0);
|
|
1742
1742
|
}
|
|
1743
1743
|
function lightTwinBrush(brush) {
|
|
1744
|
-
return
|
|
1744
|
+
return _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0,
|
|
1745
1745
|
{
|
|
1746
1746
|
tip: { ...brush.tip, blend: "normal", pressureOpacity: brush.tip.pressureOpacity || brush.light.pressure },
|
|
1747
1747
|
behavior: { ...brush.behavior, mixing: "rgb" },
|
|
@@ -3005,7 +3005,7 @@ var PaintStrokeSession = (_class12 = class _PaintStrokeSession {
|
|
|
3005
3005
|
} else if (init.thick) {
|
|
3006
3006
|
const rgb = (c) => [c[0] / 255, c[1] / 255, c[2] / 255];
|
|
3007
3007
|
this.thickDriver = new ThickStrokeDriver({ brush, target: this.tileTarget(), channels: init.thick.channels, color: rgb(init.color), load: init.mixerLoad, seed: init.seed, copies: this.copies, paint: _nullishCoalesce(init.paint, () => ( null)), effect });
|
|
3008
|
-
} else if (brush.engine === "mixer" || brush.engine === "blender" || brush.engine === "smudge" ||
|
|
3008
|
+
} else if (brush.engine === "mixer" || brush.engine === "blender" || brush.engine === "smudge" || _chunkRFJZGTHAcjs.usesPaintExchange.call(void 0, brush, Boolean(init.paint))) {
|
|
3009
3009
|
const rgb = (c) => [c[0] / 255, c[1] / 255, c[2] / 255];
|
|
3010
3010
|
this.wet = new PaintDabStroke(brush, {
|
|
3011
3011
|
target: this.tileTarget(),
|
|
@@ -3245,7 +3245,7 @@ function brushLoadForStroke(brush, current, color) {
|
|
|
3245
3245
|
if (brush.engine === "mixer") return mixerLoadForStroke(brush, current, color);
|
|
3246
3246
|
if (brush.engine === "impasto") return { reservoir: [color[0], color[1], color[2]], amount: 1, pickup: brush.behavior.dirty ? current.pickup : null };
|
|
3247
3247
|
if (brush.engine === "wet") return brush.wet.tool === "paint" ? { reservoir: [color[0], color[1], color[2]], amount: 1, pickup: brush.behavior.dirty ? current.pickup : null } : _chunkFQPUF2W2cjs.EMPTY_MIXER_LOAD;
|
|
3248
|
-
if (
|
|
3248
|
+
if (_chunkRFJZGTHAcjs.usesPaintExchange.call(void 0, brush)) return { reservoir: [color[0], color[1], color[2]], amount: 1, pickup: brush.behavior.dirty ? current.pickup : null };
|
|
3249
3249
|
return _chunkFQPUF2W2cjs.EMPTY_MIXER_LOAD;
|
|
3250
3250
|
}
|
|
3251
3251
|
|
|
@@ -3507,15 +3507,15 @@ function readLoad(raw) {
|
|
|
3507
3507
|
function readStrokeBrush(raw) {
|
|
3508
3508
|
if (raw && typeof raw === "object" && "kind" in raw && !("engine" in raw)) {
|
|
3509
3509
|
try {
|
|
3510
|
-
return
|
|
3510
|
+
return _chunkRFJZGTHAcjs.resolveBrush.call(void 0, _chunkRFJZGTHAcjs.normalizeBrushSpec.call(void 0, raw));
|
|
3511
3511
|
} catch (e5) {
|
|
3512
3512
|
}
|
|
3513
3513
|
}
|
|
3514
|
-
return
|
|
3514
|
+
return _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, _nullishCoalesce(raw, () => ( {})));
|
|
3515
3515
|
}
|
|
3516
3516
|
function strokeToJSON(stroke) {
|
|
3517
3517
|
const { brush, ...rest } = stroke;
|
|
3518
|
-
return { ...JSON.parse(JSON.stringify(rest)), brush:
|
|
3518
|
+
return { ...JSON.parse(JSON.stringify(rest)), brush: _chunkRFJZGTHAcjs.migrateBrushV1.call(void 0, brush) };
|
|
3519
3519
|
}
|
|
3520
3520
|
function normalizeBrushStroke(raw) {
|
|
3521
3521
|
if (!raw || typeof raw !== "object") return null;
|
|
@@ -3585,7 +3585,7 @@ function varyStroke(stroke, m, v) {
|
|
|
3585
3585
|
if (ps !== 1) q.pressure = Math.min(1, Math.max(0, (_nullishCoalesce(p.pressure, () => ( 1))) * ps));
|
|
3586
3586
|
return q;
|
|
3587
3587
|
});
|
|
3588
|
-
const brush = s !== 1 ?
|
|
3588
|
+
const brush = s !== 1 ? _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { ...stroke.brush, tip: { ...stroke.brush.tip, size: stroke.brush.tip.size * s } }) : stroke.brush;
|
|
3589
3589
|
const out = { ...stroke, brush, points };
|
|
3590
3590
|
if (_optionalChain([stroke, 'access', _120 => _120.paint, 'optionalAccess', _121 => _121.type]) === "gradient" && s !== 1) out.paint = _chunkFQPUF2W2cjs.scalePaintGradient.call(void 0, stroke.paint, s);
|
|
3591
3591
|
if (_optionalChain([stroke, 'access', _122 => _122.paint, 'optionalAccess', _123 => _123.type]) === "effect" && stroke.paint.map && s !== 1) out.paint = { ...stroke.paint, map: { ...stroke.paint.map, length: Math.min(4096, Math.max(16, Math.round(stroke.paint.map.length * s))) } };
|
|
@@ -3735,11 +3735,11 @@ function header(state, options) {
|
|
|
3735
3735
|
return out;
|
|
3736
3736
|
}
|
|
3737
3737
|
function serializePaintDocument(state, options = {}) {
|
|
3738
|
-
const { layers, assets } =
|
|
3738
|
+
const { layers, assets } = _chunkMVUQSK5Jcjs.serializeLayers.call(void 0, state.layers);
|
|
3739
3739
|
return { ...header(state, options), layers, assets };
|
|
3740
3740
|
}
|
|
3741
3741
|
async function serializePaintDocumentExternal(state, store, options = {}) {
|
|
3742
|
-
const { layers, assets } = await
|
|
3742
|
+
const { layers, assets } = await _chunkMVUQSK5Jcjs.serializeLayersExternal.call(void 0, state.layers, store);
|
|
3743
3743
|
return { ...header(state, options), layers, assets };
|
|
3744
3744
|
}
|
|
3745
3745
|
function paintLayersOnly(layers, problems) {
|
|
@@ -3776,7 +3776,7 @@ function deserializePaintDocument(raw) {
|
|
|
3776
3776
|
const canvas = normalizeCanvas({ width: r.width, height: r.height, dpi: _nullishCoalesce(r.dpi, () => ( void 0)) });
|
|
3777
3777
|
const paper = normalizePaper(_nullishCoalesce(r.paper, () => ( {})));
|
|
3778
3778
|
const assets = r.assets && typeof r.assets === "object" ? r.assets : {};
|
|
3779
|
-
const layers = paintLayersOnly(
|
|
3779
|
+
const layers = paintLayersOnly(_chunkMVUQSK5Jcjs.deserializeLayers.call(void 0, r.layers, { assets, problems }), problems);
|
|
3780
3780
|
const wanted = typeof r.activeLayerId === "string" ? r.activeLayerId : null;
|
|
3781
3781
|
const activeLayerId = wanted && _chunkPVJMTLPJcjs.findLayer.call(void 0, layers, wanted) ? wanted : _nullishCoalesce(_optionalChain([_chunkPVJMTLPJcjs.flattenLayers.call(void 0, layers), 'access', _137 => _137.filter, 'call', _138 => _138((l) => l.type === "pixel"), 'access', _139 => _139.pop, 'call', _140 => _140(), 'optionalAccess', _141 => _141.id]), () => ( null));
|
|
3782
3782
|
const wetEvents = Array.isArray(r.wetEvents) ? r.wetEvents.filter((e) => e && typeof e === "object" && Number.isInteger(e.clock) && typeof e.kind === "string") : [];
|
|
@@ -3792,7 +3792,7 @@ async function deserializePaintDocumentAsync(raw, store) {
|
|
|
3792
3792
|
if (!raw || typeof raw !== "object") throw new Error("Not a paint document: expected a JSON object.");
|
|
3793
3793
|
const r = raw;
|
|
3794
3794
|
const problems = [];
|
|
3795
|
-
const assets = await
|
|
3795
|
+
const assets = await _chunkMVUQSK5Jcjs.resolveExternalAssets.call(void 0, _nullishCoalesce(r.assets, () => ( {})), store, problems);
|
|
3796
3796
|
const loaded = deserializePaintDocument({ ...r, assets });
|
|
3797
3797
|
return { ...loaded, problems: [...problems, ...loaded.problems] };
|
|
3798
3798
|
}
|
|
@@ -4716,7 +4716,7 @@ function renderBrushThumbnail(brush, options) {
|
|
|
4716
4716
|
const width = Math.max(16, Math.min(512, Math.round(_nullishCoalesce(options.width, () => ( 160)))));
|
|
4717
4717
|
const height = Math.max(16, Math.min(512, Math.round(_nullishCoalesce(options.height, () => ( 48)))));
|
|
4718
4718
|
const maxSize = height * 0.42;
|
|
4719
|
-
const b = brush.tip.size > maxSize ?
|
|
4719
|
+
const b = brush.tip.size > maxSize ? _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { tip: { ...brush.tip, size: maxSize } }, brush) : brush;
|
|
4720
4720
|
const rgba = [...hexToRgb8(options.color), 255];
|
|
4721
4721
|
let surface = _chunk474IQG74cjs.emptySurface.call(void 0, 4);
|
|
4722
4722
|
if (b.engine === "eraser") {
|
|
@@ -4731,7 +4731,7 @@ function renderBrushThumbnail(brush, options) {
|
|
|
4731
4731
|
if (b.engine === "wet") surface = paintWetTestStroke(b, options.paper, options.color, width, height);
|
|
4732
4732
|
else ({ surface, light } = paintTestStroke(surface, b, options.paper, options.color, width, height));
|
|
4733
4733
|
const layer = { type: "pixel", id: "thumbnail", name: "thumbnail", visible: true, opacity: 1, blend: "normal", surface, offset: { x: 0, y: 0 } };
|
|
4734
|
-
const paper = light &&
|
|
4734
|
+
const paper = light && _chunkVRK322ZCcjs.brushPreviewsOnDark.call(void 0, b) ? { ...options.paper, color: _chunkVRK322ZCcjs.BRUSH_PREVIEW_DARK_PAPER } : options.paper;
|
|
4735
4735
|
const spill = light ? computeSpill(surface, light, { radius: Math.max(4, height / 6), strength: 1 }) : null;
|
|
4736
4736
|
const layers = [paperNode(paper), layer];
|
|
4737
4737
|
if (spill) layers.push({ type: "pixel", id: "thumbnail-light", name: "light", visible: true, opacity: 1, blend: "linear-dodge", surface: spill, offset: { x: 0, y: 0 } });
|
|
@@ -4999,7 +4999,7 @@ var DEFAULT_SWATCHES = [
|
|
|
4999
4999
|
// src/paint-editor/mixing-pad.ts
|
|
5000
5000
|
var MIXING_PAD_WIDTH = 360;
|
|
5001
5001
|
var MIXING_PAD_HEIGHT = 220;
|
|
5002
|
-
var PAD_PAINT =
|
|
5002
|
+
var PAD_PAINT = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, {
|
|
5003
5003
|
id: "pad-paint",
|
|
5004
5004
|
name: "Pad paint",
|
|
5005
5005
|
category: "mixer",
|
|
@@ -5007,7 +5007,7 @@ var PAD_PAINT = _chunk677777GHcjs.normalizePaintBrush.call(void 0, {
|
|
|
5007
5007
|
tip: { size: 28, hardness: 0.75, spacing: 0.1, opacity: 1, flow: 0.7, pressureSize: false, pressureOpacity: false },
|
|
5008
5008
|
mixer: { wet: 0.45, load: 1, mix: 0.4, loadEachStroke: true, cleanEachStroke: true, mixing: "pigment" }
|
|
5009
5009
|
});
|
|
5010
|
-
var PAD_KNIFE =
|
|
5010
|
+
var PAD_KNIFE = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, {
|
|
5011
5011
|
id: "pad-knife",
|
|
5012
5012
|
name: "Palette knife",
|
|
5013
5013
|
category: "smudge",
|
|
@@ -5017,7 +5017,7 @@ var PAD_KNIFE = _chunk677777GHcjs.normalizePaintBrush.call(void 0, {
|
|
|
5017
5017
|
// A knife drags streaks of paint and folds them into each other, mixing them as pigment.
|
|
5018
5018
|
smudge: { strength: 0.6, length: 0.8, mixing: "pigment" }
|
|
5019
5019
|
});
|
|
5020
|
-
var PAD_BLOB =
|
|
5020
|
+
var PAD_BLOB = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, {
|
|
5021
5021
|
id: "pad-blob",
|
|
5022
5022
|
name: "Pad blob",
|
|
5023
5023
|
category: "custom",
|
|
@@ -5039,7 +5039,7 @@ var MixingPad = (_class16 = class {constructor() { _class16.prototype.__init108.
|
|
|
5039
5039
|
}
|
|
5040
5040
|
}
|
|
5041
5041
|
let brush = options.tool === "knife" ? PAD_KNIFE : PAD_PAINT;
|
|
5042
|
-
if (options.size !== void 0) brush =
|
|
5042
|
+
if (options.size !== void 0) brush = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { tip: { ...brush.tip, size: options.size } }, brush);
|
|
5043
5043
|
return this.run(brush, points, options.color);
|
|
5044
5044
|
}
|
|
5045
5045
|
/** Paints `points` with `brush` in `color` on the pad. */
|
|
@@ -5138,10 +5138,10 @@ var MixingPad = (_class16 = class {constructor() { _class16.prototype.__init108.
|
|
|
5138
5138
|
const off = used.length === 1 ? 0 : 0.45 * R;
|
|
5139
5139
|
const x = Math.min(cx + R - r, Math.max(cx - R + r, cx + Math.cos(a) * off));
|
|
5140
5140
|
const y = Math.min(cy + R - r, Math.max(cy - R + r, cy + Math.sin(a) * off));
|
|
5141
|
-
const blob =
|
|
5141
|
+
const blob = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_BLOB.tip, size: Math.max(2, 2 * r) } }, PAD_BLOB);
|
|
5142
5142
|
this.run(blob, [{ x, y }], p.color.toLowerCase());
|
|
5143
5143
|
});
|
|
5144
|
-
const knife =
|
|
5144
|
+
const knife = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_KNIFE.tip, size: Math.max(12, R * 0.5) } }, PAD_KNIFE);
|
|
5145
5145
|
for (let k = 0; k < passes; k++) {
|
|
5146
5146
|
const stir = [];
|
|
5147
5147
|
const turns = 1.6;
|
|
@@ -5156,7 +5156,7 @@ var MixingPad = (_class16 = class {constructor() { _class16.prototype.__init108.
|
|
|
5156
5156
|
paints2.map((p) => hexToRgb8(p.color).map((v) => v / 255)),
|
|
5157
5157
|
paints2.map((p) => p.parts)
|
|
5158
5158
|
);
|
|
5159
|
-
const core =
|
|
5159
|
+
const core = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_BLOB.tip, size: R * 1.1, hardness: 0.55 } }, PAD_BLOB);
|
|
5160
5160
|
const hex2 = "#" + mixed.map((v) => Math.round(v * 255).toString(16).padStart(2, "0")).join("");
|
|
5161
5161
|
this.run(core, [{ x: cx, y: cy }], hex2);
|
|
5162
5162
|
return { color: this.pick(cx, cy, 2), bounds };
|
|
@@ -5196,21 +5196,21 @@ var MixingPad = (_class16 = class {constructor() { _class16.prototype.__init108.
|
|
|
5196
5196
|
var copyJSON = (v) => JSON.parse(JSON.stringify(v));
|
|
5197
5197
|
var isObject = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
5198
5198
|
function libraryBrush(spec, builtin, resolved) {
|
|
5199
|
-
const brush = resolved ?
|
|
5199
|
+
const brush = resolved ? _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, resolved, resolved) : _chunkRFJZGTHAcjs.resolveBrush.call(void 0, spec);
|
|
5200
5200
|
if (builtin) brush.builtin = true;
|
|
5201
5201
|
else delete brush.builtin;
|
|
5202
5202
|
return { spec, brush, builtin };
|
|
5203
5203
|
}
|
|
5204
5204
|
var builtins = null;
|
|
5205
5205
|
function builtinLibraryBrushes() {
|
|
5206
|
-
return builtins ??=
|
|
5207
|
-
const resolved =
|
|
5206
|
+
return builtins ??= _chunkRFJZGTHAcjs.BRUSH_PRESETS.map((spec) => {
|
|
5207
|
+
const resolved = _chunkRFJZGTHAcjs.BUILTIN_BRUSHES.find((b) => b.id === spec.id);
|
|
5208
5208
|
return libraryBrush(spec, true, resolved);
|
|
5209
5209
|
});
|
|
5210
5210
|
}
|
|
5211
5211
|
function seededStorage(brushes) {
|
|
5212
5212
|
if (!brushes.length) return void 0;
|
|
5213
|
-
let stored = JSON.stringify({ format: "pixerate-brushes", version: 1, brushes: brushes.map(
|
|
5213
|
+
let stored = JSON.stringify({ format: "pixerate-brushes", version: 1, brushes: brushes.map(_chunkRFJZGTHAcjs.brushToJSON) });
|
|
5214
5214
|
return {
|
|
5215
5215
|
get: async () => stored,
|
|
5216
5216
|
set: async (_key, value) => {
|
|
@@ -5223,7 +5223,7 @@ var paints = (b) => {
|
|
|
5223
5223
|
return JSON.stringify(rest);
|
|
5224
5224
|
};
|
|
5225
5225
|
function brushSpecOf(next, from) {
|
|
5226
|
-
const plain =
|
|
5226
|
+
const plain = _chunkRFJZGTHAcjs.migrateBrushV1.call(void 0, next);
|
|
5227
5227
|
const out = copyJSON(plain);
|
|
5228
5228
|
if (from.description) out.description = from.description;
|
|
5229
5229
|
if (_optionalChain([from, 'access', _221 => _221.tags, 'optionalAccess', _222 => _222.length])) out.tags = [...from.tags];
|
|
@@ -5243,8 +5243,8 @@ function brushSpecOf(next, from) {
|
|
|
5243
5243
|
out.motion = { ..._nullishCoalesce(out.motion, () => ( {})), ...from.motion.live !== void 0 ? { live: from.motion.live } : {}, ...from.motion.fps !== void 0 ? { fps: from.motion.fps } : {} };
|
|
5244
5244
|
}
|
|
5245
5245
|
try {
|
|
5246
|
-
const hinted =
|
|
5247
|
-
if (paints(
|
|
5246
|
+
const hinted = _chunkRFJZGTHAcjs.normalizeBrushSpec.call(void 0, out, []);
|
|
5247
|
+
if (paints(_chunkRFJZGTHAcjs.resolveBrush.call(void 0, hinted)) === paints(_chunkRFJZGTHAcjs.resolveBrush.call(void 0, plain))) return hinted;
|
|
5248
5248
|
} catch (e7) {
|
|
5249
5249
|
}
|
|
5250
5250
|
return plain;
|
|
@@ -5901,7 +5901,7 @@ async function libraryCall(call) {
|
|
|
5901
5901
|
try {
|
|
5902
5902
|
return await call();
|
|
5903
5903
|
} catch (e) {
|
|
5904
|
-
throw e instanceof
|
|
5904
|
+
throw e instanceof _chunkRFJZGTHAcjs.BrushLibraryError ? new PaintEditorError(e.message) : e;
|
|
5905
5905
|
}
|
|
5906
5906
|
}
|
|
5907
5907
|
var HEX3 = /^#[0-9a-f]{6}$/i;
|
|
@@ -6031,15 +6031,15 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
6031
6031
|
this.rasterizeSticker = _nullishCoalesce(options.rasterizeSticker, () => ( defaultStickerRasterizer));
|
|
6032
6032
|
if (options.stickers) this.stickers.set(options.stickers);
|
|
6033
6033
|
this.doc = createPaintDocument({ width: options.width, height: options.height, dpi: options.dpi, paper: this.resolvePaper(options.paper) });
|
|
6034
|
-
const seed = (_nullishCoalesce(options.brushes, () => ( []))).map((b) =>
|
|
6035
|
-
this.brushLibrary = _nullishCoalesce(options.brushLibrary, () => (
|
|
6036
|
-
this.brushEntries = [...builtinLibraryBrushes(), ...seed.map((b) => libraryBrush(
|
|
6037
|
-
const wanted = _nullishCoalesce(options.brushId, () => (
|
|
6038
|
-
const start = _nullishCoalesce(this.findEntry(wanted), () => ( this.findEntry(
|
|
6039
|
-
this.brush =
|
|
6034
|
+
const seed = (_nullishCoalesce(options.brushes, () => ( []))).map((b) => _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { ...b, builtin: false }));
|
|
6035
|
+
this.brushLibrary = _nullishCoalesce(options.brushLibrary, () => ( _chunkRFJZGTHAcjs.createBrushLibrary.call(void 0, { storage: seededStorage(seed) })));
|
|
6036
|
+
this.brushEntries = [...builtinLibraryBrushes(), ...seed.map((b) => libraryBrush(_chunkRFJZGTHAcjs.migrateBrushV1.call(void 0, b), false, b))];
|
|
6037
|
+
const wanted = _nullishCoalesce(options.brushId, () => ( _chunkRFJZGTHAcjs.DEFAULT_BRUSH_ID));
|
|
6038
|
+
const start = _nullishCoalesce(this.findEntry(wanted), () => ( this.findEntry(_chunkRFJZGTHAcjs.DEFAULT_BRUSH_ID)));
|
|
6039
|
+
this.brush = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, start.brush);
|
|
6040
6040
|
this.brushSpec = copyJSON(start.spec);
|
|
6041
6041
|
this.unsubscribeLibrary = this.brushLibrary.subscribe(() => void this.refreshBrushes().catch(() => void 0));
|
|
6042
|
-
if (options.brushLibrary && seed.length) void this.brushLibrary.importFile(seed.map(
|
|
6042
|
+
if (options.brushLibrary && seed.length) void this.brushLibrary.importFile(seed.map(_chunkRFJZGTHAcjs.brushToJSON)).catch(() => void 0);
|
|
6043
6043
|
void this.refreshBrushes().catch(() => void 0);
|
|
6044
6044
|
this.pendingBrushId = start.brush.id === wanted ? null : wanted;
|
|
6045
6045
|
this.color = options.color ? parseColor(options.color) : "#1f2937";
|
|
@@ -7269,7 +7269,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7269
7269
|
* its pixels are not rendered.
|
|
7270
7270
|
*/
|
|
7271
7271
|
strokeEffect(init, brush) {
|
|
7272
|
-
if (!
|
|
7272
|
+
if (!_chunkRFJZGTHAcjs.brushTakesPaint.call(void 0, brush)) return null;
|
|
7273
7273
|
let source = null;
|
|
7274
7274
|
if (init.paint !== void 0) {
|
|
7275
7275
|
if (!isPaintEffectPaint(init.paint)) return null;
|
|
@@ -7330,7 +7330,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7330
7330
|
}
|
|
7331
7331
|
requireEntry(id) {
|
|
7332
7332
|
const e = this.findEntry(id);
|
|
7333
|
-
if (!e) throw new PaintEditorError(`Unknown brush "${id}". ${
|
|
7333
|
+
if (!e) throw new PaintEditorError(`Unknown brush "${id}". ${_chunkRFJZGTHAcjs.closest.call(void 0, id, this.brushEntries.map((x) => x.brush.id))}Call list_brush_presets for the ids.`);
|
|
7334
7334
|
return e;
|
|
7335
7335
|
}
|
|
7336
7336
|
requireBrush(id) {
|
|
@@ -7356,7 +7356,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7356
7356
|
/** A library brush by id, as the engine paints it (`undefined` when unknown). */
|
|
7357
7357
|
getBrush(id) {
|
|
7358
7358
|
const b = this.findBrush(id);
|
|
7359
|
-
return b ?
|
|
7359
|
+
return b ? _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, b, b) : void 0;
|
|
7360
7360
|
}
|
|
7361
7361
|
/** A library brush by id as stored (its facets), or without an id the active brush as edited. */
|
|
7362
7362
|
getBrushSpec(id) {
|
|
@@ -7374,7 +7374,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7374
7374
|
const baseSpec = entry ? entry.spec : this.brushSpec;
|
|
7375
7375
|
if (changes.paint !== void 0 && changes.paint !== null) this.readStrokePaint(changes.paint);
|
|
7376
7376
|
const unchanged = !Object.keys(changes).length;
|
|
7377
|
-
const next =
|
|
7377
|
+
const next = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { ...changes, id: base.id }, base);
|
|
7378
7378
|
if (entry) this.takeBrushColour(entry.spec);
|
|
7379
7379
|
this.useBrush(next, unchanged ? baseSpec : brushSpecOf(next, baseSpec), unchanged && base.builtin === true);
|
|
7380
7380
|
return this.brush;
|
|
@@ -7393,7 +7393,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7393
7393
|
for (const k of unset) delete base[k];
|
|
7394
7394
|
const spec = this.readBrushPatch(base, patch, problems);
|
|
7395
7395
|
if (entry || _optionalChain([patch, 'access', _381 => _381.colour, 'optionalAccess', _382 => _382.default]) !== void 0) this.takeBrushColour(spec);
|
|
7396
|
-
this.useBrush(unchanged && entry ? entry.brush :
|
|
7396
|
+
this.useBrush(unchanged && entry ? entry.brush : _chunkRFJZGTHAcjs.resolveBrush.call(void 0, spec), spec, unchanged && _optionalChain([entry, 'optionalAccess', _383 => _383.builtin]) === true);
|
|
7397
7397
|
return { brush: this.brush, spec: copyJSON(this.brushSpec), problems };
|
|
7398
7398
|
}
|
|
7399
7399
|
/**
|
|
@@ -7407,11 +7407,11 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7407
7407
|
if (paint && typeof paint === "object" && "type" in paint && paint.type === "gradient") this.readStrokePaint(paint);
|
|
7408
7408
|
let next;
|
|
7409
7409
|
try {
|
|
7410
|
-
next =
|
|
7410
|
+
next = _chunkRFJZGTHAcjs.normalizeBrushSpec.call(void 0, { ...spec, id: this.brush.id }, problems);
|
|
7411
7411
|
} catch (e) {
|
|
7412
7412
|
throw new PaintEditorError(e.message);
|
|
7413
7413
|
}
|
|
7414
|
-
this.useBrush(
|
|
7414
|
+
this.useBrush(_chunkRFJZGTHAcjs.resolveBrush.call(void 0, next), next, false);
|
|
7415
7415
|
return { brush: this.brush, spec: copyJSON(this.brushSpec), problems };
|
|
7416
7416
|
}
|
|
7417
7417
|
/**
|
|
@@ -7420,22 +7420,22 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7420
7420
|
*/
|
|
7421
7421
|
brushChanges(patch, from) {
|
|
7422
7422
|
const entry = typeof from === "string" ? this.requireEntry(from) : null;
|
|
7423
|
-
const base = entry ? entry.brush : typeof from === "object" ?
|
|
7424
|
-
const spec = entry ? entry.spec : typeof from === "object" ?
|
|
7425
|
-
return engineChanges(base,
|
|
7423
|
+
const base = entry ? entry.brush : typeof from === "object" ? _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, from, from) : this.brush;
|
|
7424
|
+
const spec = entry ? entry.spec : typeof from === "object" ? _chunkRFJZGTHAcjs.migrateBrushV1.call(void 0, base) : this.brushSpec;
|
|
7425
|
+
return engineChanges(base, _chunkRFJZGTHAcjs.resolveBrush.call(void 0, this.readBrushPatch(spec, patch, [])));
|
|
7426
7426
|
}
|
|
7427
7427
|
readBrushPatch(base, patch, problems) {
|
|
7428
7428
|
const { id: _id, name, ...rest } = patch;
|
|
7429
7429
|
const paint = _optionalChain([rest, 'access', _386 => _386.colour, 'optionalAccess', _387 => _387.default]);
|
|
7430
7430
|
if (paint && typeof paint === "object" && "type" in paint && paint.type === "gradient") this.readStrokePaint(paint);
|
|
7431
7431
|
try {
|
|
7432
|
-
return
|
|
7432
|
+
return _chunkRFJZGTHAcjs.normalizeBrushSpec.call(void 0, _chunkWLUVZKVDcjs.mergeBrushPatch.call(void 0, base, { ...rest, ...name !== void 0 ? { name } : {} }), problems);
|
|
7433
7433
|
} catch (e) {
|
|
7434
7434
|
throw new PaintEditorError(e.message);
|
|
7435
7435
|
}
|
|
7436
7436
|
}
|
|
7437
7437
|
useBrush(next, spec, builtin) {
|
|
7438
|
-
next =
|
|
7438
|
+
next = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, next, next);
|
|
7439
7439
|
if (builtin) next.builtin = true;
|
|
7440
7440
|
else delete next.builtin;
|
|
7441
7441
|
this.brush = next;
|
|
@@ -7451,9 +7451,9 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7451
7451
|
* saved brush.
|
|
7452
7452
|
*/
|
|
7453
7453
|
async saveBrush(options) {
|
|
7454
|
-
if (!
|
|
7454
|
+
if (!_chunkRFJZGTHAcjs.BRUSH_ID.test(options.id)) throw new PaintEditorError(`Brush id "${options.id}" is invalid; use lowercase letters, digits and dashes (e.g. "my-pencil").`);
|
|
7455
7455
|
if (this.brushLibrary.isBuiltin(options.id)) throw new PaintEditorError(`"${options.id}" is a built-in brush; save under another id.`);
|
|
7456
|
-
const spec = options.brush ? brushSpecOf(
|
|
7456
|
+
const spec = options.brush ? brushSpecOf(_chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, options.brush, this.brush), this.brushSpec) : this.brushSpec;
|
|
7457
7457
|
const { brush } = await libraryCall(() => this.brushLibrary.save({ ...spec, id: options.id, name: _nullishCoalesce(options.name, () => ( spec.name)) }, { overwrite: true }));
|
|
7458
7458
|
await this.refreshBrushes();
|
|
7459
7459
|
return this.requireBrush(brush.id);
|
|
@@ -7466,7 +7466,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7466
7466
|
}
|
|
7467
7467
|
/** The user's saved brushes, as the engine paints them. */
|
|
7468
7468
|
getUserBrushes() {
|
|
7469
|
-
return this.brushEntries.filter((e) => !e.builtin).map((e) =>
|
|
7469
|
+
return this.brushEntries.filter((e) => !e.builtin).map((e) => _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, e.brush, e.brush));
|
|
7470
7470
|
}
|
|
7471
7471
|
/** A brush library file (version 2) of the given brushes (default: the user's brushes). */
|
|
7472
7472
|
exportBrushes(ids) {
|
|
@@ -7574,7 +7574,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7574
7574
|
* brush's gradient, else the editor's gradient paint. Erasers, blenders and smudges take none.
|
|
7575
7575
|
*/
|
|
7576
7576
|
strokeGradient(init, brush, color) {
|
|
7577
|
-
if (!
|
|
7577
|
+
if (!_chunkRFJZGTHAcjs.brushTakesPaint.call(void 0, brush)) return null;
|
|
7578
7578
|
let g = null;
|
|
7579
7579
|
if (init.paint !== void 0) {
|
|
7580
7580
|
if (isPaintEffectPaint(init.paint)) return null;
|
|
@@ -7651,7 +7651,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7651
7651
|
// --- Strokes -------------------------------------------------------------------
|
|
7652
7652
|
strokeBrush(init) {
|
|
7653
7653
|
let brush = init.brushId !== void 0 ? this.requireBrush(init.brushId) : this.brush;
|
|
7654
|
-
if (init.brush) brush =
|
|
7654
|
+
if (init.brush) brush = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { ...init.brush, id: brush.id }, brush);
|
|
7655
7655
|
return brush;
|
|
7656
7656
|
}
|
|
7657
7657
|
/**
|
|
@@ -7684,7 +7684,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7684
7684
|
return l;
|
|
7685
7685
|
})();
|
|
7686
7686
|
const brush = this.strokeBrush(init);
|
|
7687
|
-
if (this.previewing &&
|
|
7687
|
+
if (this.previewing && _chunkRFJZGTHAcjs.isWetBrush.call(void 0, brush)) throw new PaintEditorError(`Wet paint can't be previewed; the ${brush.name} brush paints wet media. Suggest it with a dry brush.`);
|
|
7688
7688
|
const effect = this.strokeEffect(init, brush);
|
|
7689
7689
|
if (brush.light.amount > 0) {
|
|
7690
7690
|
if (brush.engine === "sticker") throw new PaintEditorError(`The ${brush.name} brush sprays stickers, which don't take light yet; paint light with a dab or particle light brush (glow-gel, neon-marker; list_brush_presets lists them), or set light.amount to 0 (set_brush).`);
|
|
@@ -7707,7 +7707,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7707
7707
|
throw new PaintEditorError(`Layer "${layer.name}" is a sticker layer (its pixels are drawn from its stickers); paint on another layer (add_layer).`);
|
|
7708
7708
|
}
|
|
7709
7709
|
let wet;
|
|
7710
|
-
if (
|
|
7710
|
+
if (_chunkRFJZGTHAcjs.isWetBrush.call(void 0, brush)) {
|
|
7711
7711
|
this.requireWetIdle("painting");
|
|
7712
7712
|
if (layer.offset.x || layer.offset.y) {
|
|
7713
7713
|
const moved = { ...layer, surface: _chunk474IQG74cjs.translateSurface.call(void 0, layer.surface, layer.offset.x, layer.offset.y), offset: { x: 0, y: 0 } };
|
|
@@ -7801,7 +7801,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7801
7801
|
const stroke = {
|
|
7802
7802
|
id: `s${this.strokeCounter++}`,
|
|
7803
7803
|
layerId: session.layerId,
|
|
7804
|
-
brush:
|
|
7804
|
+
brush: _chunkRFJZGTHAcjs.brushToJSON.call(void 0, init.brush),
|
|
7805
7805
|
color: init.colorHex,
|
|
7806
7806
|
points: session.points.map((p) => ({ ...p })),
|
|
7807
7807
|
seed: init.seed
|
|
@@ -8052,7 +8052,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
8052
8052
|
let brush = v.brush;
|
|
8053
8053
|
if (options.brushId !== void 0) {
|
|
8054
8054
|
const b = this.requireBrush(options.brushId);
|
|
8055
|
-
brush =
|
|
8055
|
+
brush = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { tip: { ...b.tip, size: b.tip.size * (v.brush.tip.size / s.brush.tip.size) } }, b);
|
|
8056
8056
|
}
|
|
8057
8057
|
const layerId = _nullishCoalesce(options.layerId, () => ( s.layerId));
|
|
8058
8058
|
if (!_chunkPVJMTLPJcjs.findLayer.call(void 0, doc.layers, layerId)) throw new PaintEditorError(`Stroke "${s.id}" was painted on layer "${layerId}", which no longer exists; pass layerId to replay it elsewhere.`);
|
|
@@ -8830,7 +8830,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
8830
8830
|
return next.type === "group" ? { ...next, children: toStandard(next.children) } : next;
|
|
8831
8831
|
});
|
|
8832
8832
|
const layers = toStandard(dried);
|
|
8833
|
-
const result =
|
|
8833
|
+
const result = _chunkMVUQSK5Jcjs.exportPsd.call(void 0, { width, height, layers: [paperLayer, ...layers], merged, resolution: dpi });
|
|
8834
8834
|
for (const [mode, names] of changed) {
|
|
8835
8835
|
const label = _nullishCoalesce(_optionalChain([_chunk2VX55NFMcjs.BLEND_MODES, 'access', _493 => _493.find, 'call', _494 => _494((m) => m.id === mode), 'optionalAccess', _495 => _495.label]), () => ( mode));
|
|
8836
8836
|
const std = _nullishCoalesce(_optionalChain([_chunk2VX55NFMcjs.BLEND_MODES, 'access', _496 => _496.find, 'call', _497 => _497((m) => m.id === _chunk2VX55NFMcjs.standardBlendMode.call(void 0, mode)), 'optionalAccess', _498 => _498.label]), () => ( _chunk2VX55NFMcjs.standardBlendMode.call(void 0, mode)));
|
|
@@ -9345,15 +9345,15 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
9345
9345
|
let brush = was.brush;
|
|
9346
9346
|
if (update.brushId !== void 0) {
|
|
9347
9347
|
const b = this.requireBrush(update.brushId);
|
|
9348
|
-
brush =
|
|
9348
|
+
brush = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { tip: { ...b.tip, size: was.brush.tip.size } }, b);
|
|
9349
9349
|
}
|
|
9350
9350
|
if (update.brush !== void 0) {
|
|
9351
9351
|
if (!update.brush || typeof update.brush !== "object") throw new PaintEditorError("brush must be an object of brush settings (as set_brush takes).");
|
|
9352
|
-
brush =
|
|
9352
|
+
brush = _chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { ...update.brush, id: brush.id }, brush);
|
|
9353
9353
|
}
|
|
9354
9354
|
const why = liveStrokeRefusal(brush);
|
|
9355
9355
|
if (why) throw new PaintEditorError(why);
|
|
9356
|
-
const next = { ...was, brush:
|
|
9356
|
+
const next = { ...was, brush: _chunkRFJZGTHAcjs.brushToJSON.call(void 0, brush) };
|
|
9357
9357
|
if (update.seed !== void 0) {
|
|
9358
9358
|
if (!Number.isInteger(update.seed) || update.seed < 0) throw new PaintEditorError(`seed ${update.seed} must be a whole number of 0 or more.`);
|
|
9359
9359
|
next.seed = update.seed;
|
|
@@ -11614,7 +11614,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
11614
11614
|
name: "set_brush",
|
|
11615
11615
|
title: "Set the brush",
|
|
11616
11616
|
description: "Chooses the active brush (id, from list_brush_presets) and / or changes it with facets laid over it (objects merge, lists and values replace, marks of another kind replace the marks; the brush library's create_brush fields); unset removes whole facets first (unset colour drops a brush's own gradient). Strokes without a brush use it. Editor state, not an undo step: the changes stay on the active brush until the library's create_brush or update_brush stores a brush. Returns the active brush as facets, the engine it paints with, and problems (values clamped or dropped).",
|
|
11617
|
-
inputSchema: { type: "object", properties: { id: { type: "string", description: "Brush id from list_brush_presets to start from (default the active brush)." }, name: { type: "string", minLength: 1, maxLength: 80, description: "Display name." }, ...
|
|
11617
|
+
inputSchema: { type: "object", properties: { id: { type: "string", description: "Brush id from list_brush_presets to start from (default the active brush)." }, name: { type: "string", minLength: 1, maxLength: 80, description: "Display name." }, ..._chunkWLUVZKVDcjs.BRUSH_PATCH_PROPERTIES, unset: _chunkWLUVZKVDcjs.BRUSH_UNSET_PROPERTY }, additionalProperties: false },
|
|
11618
11618
|
annotations: { title: "Set the brush", ...SET4 },
|
|
11619
11619
|
handler: async ({ id, unset, ...patch }) => {
|
|
11620
11620
|
const stamps = _optionalChain([patch, 'access', _574 => _574.tip, 'optionalAccess', _575 => _575.stamps]);
|
|
@@ -11710,7 +11710,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
11710
11710
|
points: POINTS,
|
|
11711
11711
|
layerId: LAYER_ID4,
|
|
11712
11712
|
brushId: { type: "string", description: "Brush id from list_brush_presets (default the active brush)." },
|
|
11713
|
-
brush: { type: "object", description: "Facets to change for this stroke only, laid over brushId or the active brush (as set_brush takes them).", properties:
|
|
11713
|
+
brush: { type: "object", description: "Facets to change for this stroke only, laid over brushId or the active brush (as set_brush takes them).", properties: _chunkWLUVZKVDcjs.BRUSH_PATCH_PROPERTIES, additionalProperties: false },
|
|
11714
11714
|
color: { ...COLOR3, description: "Paint colour #rrggbb (default the paint colour)." },
|
|
11715
11715
|
paint: { ..._chunkFQPUF2W2cjs.PAINT_SOURCE_JSON_SCHEMA, description: "What this stroke paints with instead of the editor's paint: a colour, or gradient paint that changes colour as the stroke goes (by distance, pressure, tilt, speed, direction, time, across the tip or at random). Wins over the brush's own gradient." },
|
|
11716
11716
|
seed: { type: "integer", minimum: 0, description: "Jitter seed (default a new one); the same seed and points give the same marks." },
|
|
@@ -11726,7 +11726,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
11726
11726
|
const base = a.brushId ? c.getBrush(a.brushId) : c.getState().brush;
|
|
11727
11727
|
const brush = a.brush ? c.brushChanges(a.brush, a.brushId) : void 0;
|
|
11728
11728
|
if (base) {
|
|
11729
|
-
const refs = brushStickerRefs(
|
|
11729
|
+
const refs = brushStickerRefs(_chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { ..._nullishCoalesce(brush, () => ( {})), id: base.id }, base));
|
|
11730
11730
|
if (refs.length) await c.prepareStickers(refs);
|
|
11731
11731
|
}
|
|
11732
11732
|
const stroke = { points: a.points, layerId: a.layerId, brushId: a.brushId, brush, color: a.color, paint: a.paint, seed: a.seed, snapToPerspective: a.snapToPerspective };
|
|
@@ -11746,7 +11746,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
11746
11746
|
pressure: { type: "array", minItems: 1, maxItems: 64, items: { type: "number", minimum: 0, maximum: 1 }, description: "Pen pressure along each subpath, spread evenly from start to end (default full pressure); [0.2, 1, 0.2] tapers both ends." },
|
|
11747
11747
|
layerId: LAYER_ID4,
|
|
11748
11748
|
brushId: { type: "string", description: "Brush id from list_brush_presets (default the active brush)." },
|
|
11749
|
-
brush: { type: "object", description: "Facets to change for this stroke only, laid over brushId or the active brush (as set_brush takes them).", properties:
|
|
11749
|
+
brush: { type: "object", description: "Facets to change for this stroke only, laid over brushId or the active brush (as set_brush takes them).", properties: _chunkWLUVZKVDcjs.BRUSH_PATCH_PROPERTIES, additionalProperties: false },
|
|
11750
11750
|
color: { ...COLOR3, description: "Paint colour #rrggbb (default the paint colour)." },
|
|
11751
11751
|
paint: { ..._chunkFQPUF2W2cjs.PAINT_SOURCE_JSON_SCHEMA, description: "What the strokes paint with instead of the editor's paint: a colour, or gradient paint that changes colour as each stroke goes." },
|
|
11752
11752
|
seed: { type: "integer", minimum: 0, description: "Jitter seed of the first subpath, the next ones take the following seeds (default new ones); the same seed and path give the same marks." }
|
|
@@ -11761,7 +11761,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
11761
11761
|
const base = a.brushId ? c.getBrush(a.brushId) : c.getState().brush;
|
|
11762
11762
|
const brush = a.brush ? c.brushChanges(a.brush, a.brushId) : void 0;
|
|
11763
11763
|
if (base) {
|
|
11764
|
-
const refs = brushStickerRefs(
|
|
11764
|
+
const refs = brushStickerRefs(_chunkRFJZGTHAcjs.normalizePaintBrush.call(void 0, { ..._nullishCoalesce(brush, () => ( {})), id: base.id }, base));
|
|
11765
11765
|
if (refs.length) await c.prepareStickers(refs);
|
|
11766
11766
|
}
|
|
11767
11767
|
const path = options.origin && typeof a.path === "string" && a.path.trim() ? _chunkGF2RBSDMcjs.bezierPathToSvg.call(void 0, a.path, { offset: { x: -options.origin.x, y: -options.origin.y } }) : a.path;
|
|
@@ -11845,7 +11845,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
11845
11845
|
properties: {
|
|
11846
11846
|
id: { type: "string", description: "Stroke id from list_strokes {live: true}." },
|
|
11847
11847
|
brushId: { type: "string", description: "Brush id from list_brush_presets; the stroke keeps its size." },
|
|
11848
|
-
brush: { type: "object", properties:
|
|
11848
|
+
brush: { type: "object", properties: _chunkWLUVZKVDcjs.BRUSH_PATCH_PROPERTIES, additionalProperties: false, description: "Facets to change on top of brushId or the stroke\u2019s brush (as set_brush takes them); missing fields keep their values." },
|
|
11849
11849
|
color: { type: "string", pattern: "^#[0-9a-fA-F]{6}$", description: "New colour #rrggbb (replaces gradient paint)." },
|
|
11850
11850
|
paint: { anyOf: [_chunkFQPUF2W2cjs.PAINT_SOURCE_JSON_SCHEMA, { type: "null", description: "Back to the stroke\u2019s plain colour." }], description: "A colour or gradient paint for the stroke; null drops its gradient." },
|
|
11851
11851
|
seed: { type: "integer", minimum: 0, description: "Another jitter seed: particles, scatter and texture fall differently." }
|
|
@@ -12096,7 +12096,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
12096
12096
|
tools.push(..._chunkYHDHFJUCcjs.createPigmentTools.call(void 0, ));
|
|
12097
12097
|
tools.push(..._chunkPE6YJMQTcjs.createStickerTools.call(void 0, { provider: () => c.stickersProvider }));
|
|
12098
12098
|
tools.push(
|
|
12099
|
-
...
|
|
12099
|
+
..._chunkMVUQSK5Jcjs.createLayerEffectTools.call(void 0,
|
|
12100
12100
|
{
|
|
12101
12101
|
requireLayer: (id) => void c.getLayerEffects(id),
|
|
12102
12102
|
getLayerEffects: (id) => c.getLayerEffects(id),
|
|
@@ -12156,14 +12156,14 @@ function strokeSummary(s, withPoints, live) {
|
|
|
12156
12156
|
// src/paint-editor/brush-library-tools.ts
|
|
12157
12157
|
function paintBrushPreviewRenderer(paper = () => DEFAULT_PAPER) {
|
|
12158
12158
|
const render = (brush, { width, height, color }) => {
|
|
12159
|
-
const t = renderBrushThumbnail(
|
|
12159
|
+
const t = renderBrushThumbnail(_chunkRFJZGTHAcjs.resolveBrush.call(void 0, brush), { paper: paper(), width, height, color: color.toLowerCase() });
|
|
12160
12160
|
return { data: _chunkW5M3J7PVcjs.bytesToBase64.call(void 0, _chunkW5M3J7PVcjs.encodePng.call(void 0, t.width, t.height, t.data)), mimeType: "image/png" };
|
|
12161
12161
|
};
|
|
12162
12162
|
return Object.defineProperty(render, "paper", { get: () => paper().color, enumerable: true });
|
|
12163
12163
|
}
|
|
12164
12164
|
function createPaintBrushLibraryToolProvider(controller, options = {}) {
|
|
12165
|
-
return
|
|
12166
|
-
profile:
|
|
12165
|
+
return _chunkWLUVZKVDcjs.createBrushLibraryToolProvider.call(void 0, controller.brushLibrary, {
|
|
12166
|
+
profile: _chunkRFJZGTHAcjs.PAINT_PROFILE,
|
|
12167
12167
|
stickers: () => controller.stickers.provider,
|
|
12168
12168
|
...options,
|
|
12169
12169
|
renderPreview: paintBrushPreviewRenderer(() => controller.getState().document.paper)
|
|
@@ -12659,7 +12659,7 @@ var DOT_ROTATION_LABELS = { follow: "Follow motion", random: "Random", fixed: "T
|
|
|
12659
12659
|
var STAMP_LABELS = { dot: "Dot", star: "Star", heart: "Heart", leaf: "Leaf", flower: "Flower", confetti: "Confetti", splat: "Splat", sparkle: "Sparkle", ring: "Ring" };
|
|
12660
12660
|
function toggleStickerRef(refs, ref2) {
|
|
12661
12661
|
if (refs.includes(ref2)) return refs.length > 1 ? refs.filter((r) => r !== ref2) : [...refs];
|
|
12662
|
-
return refs.length <
|
|
12662
|
+
return refs.length < _chunkRFJZGTHAcjs.MAX_STICKER_STAMPS ? [...refs, ref2] : [...refs];
|
|
12663
12663
|
}
|
|
12664
12664
|
function stickerRefLabel(ref2) {
|
|
12665
12665
|
const stamp = ref2.startsWith("editor:") ? ref2.slice(7) : null;
|
|
@@ -12672,7 +12672,7 @@ function toggleStamp(stamps, stamp) {
|
|
|
12672
12672
|
}
|
|
12673
12673
|
function toggleDotTexture(textures, stamp) {
|
|
12674
12674
|
if (textures.includes(stamp)) return textures.filter((s) => s !== stamp);
|
|
12675
|
-
return textures.length <
|
|
12675
|
+
return textures.length < _chunkRFJZGTHAcjs.MAX_DOT_TEXTURES ? [...textures, stamp] : [...textures];
|
|
12676
12676
|
}
|
|
12677
12677
|
var PATH_STROKE_TAPERS = [
|
|
12678
12678
|
{ id: "even", label: "Even" },
|
|
@@ -13466,7 +13466,7 @@ function toolList(provider) {
|
|
|
13466
13466
|
function uiTables() {
|
|
13467
13467
|
return {
|
|
13468
13468
|
tools: PAINT_TOOLS,
|
|
13469
|
-
brushOptions:
|
|
13469
|
+
brushOptions: _chunkMVUQSK5Jcjs.BRUSH_OPTION_CONTROLS,
|
|
13470
13470
|
blendMenu: BLEND_MENU_GROUPS,
|
|
13471
13471
|
layerEffects: _chunkPVJMTLPJcjs.LAYER_EFFECT_MENU.map(({ kind, label }) => ({ kind, label, controls: _chunkPVJMTLPJcjs.layerEffectControls.call(void 0, _chunkPVJMTLPJcjs.defaultLayerEffect.call(void 0, kind, kind)) })),
|
|
13472
13472
|
sliders: { paper: PAPER_SLIDERS, wet: WET_PARAM_SLIDERS, wetTilt: WET_TILT_SLIDERS, wetSpeed: WET_SPEED_SLIDER, light: LIGHT_SLIDERS, stroke: STROKE_SLIDERS, sticker: STICKER_SLIDERS },
|
|
@@ -13893,4 +13893,4 @@ function createPaintConformanceHost(setup, options) {
|
|
|
13893
13893
|
|
|
13894
13894
|
|
|
13895
13895
|
|
|
13896
|
-
exports.BACKLIGHT_SPILL = BACKLIGHT_SPILL; exports.BLEND_MENU_GROUPS = BLEND_MENU_GROUPS; exports.BLEND_MODES = _chunk2VX55NFMcjs.BLEND_MODES; exports.BRUSH_ID = _chunk677777GHcjs.BRUSH_ID; exports.BRUSH_ROTATIONS = _chunk677777GHcjs.BRUSH_ROTATIONS; exports.BRUSH_SLIDERS = _chunk5OE4ZZ6Vcjs.BRUSH_SLIDERS; exports.BUILTIN_BRUSHES = _chunk677777GHcjs.BUILTIN_BRUSHES; exports.BristleStroke = BristleStroke; exports.DEFAULT_BACKLIGHT_COLOR = DEFAULT_BACKLIGHT_COLOR; exports.DEFAULT_BEHAVIOR = _chunk677777GHcjs.DEFAULT_BEHAVIOR; exports.DEFAULT_BRISTLE = _chunk677777GHcjs.DEFAULT_BRISTLE; exports.DEFAULT_BRUSH_ID = _chunk677777GHcjs.DEFAULT_BRUSH_ID; exports.DEFAULT_DPI = DEFAULT_DPI; exports.DEFAULT_DYNAMICS = _chunk677777GHcjs.DEFAULT_DYNAMICS; exports.DEFAULT_FLOW = _chunkYHDHFJUCcjs.DEFAULT_FLOW; exports.DEFAULT_IMPASTO = _chunk677777GHcjs.DEFAULT_IMPASTO; exports.DEFAULT_LIGHT = _chunk677777GHcjs.DEFAULT_LIGHT; exports.DEFAULT_LIGHTING = DEFAULT_LIGHTING; exports.DEFAULT_MULTI_COLOR = _chunk677777GHcjs.DEFAULT_MULTI_COLOR; exports.DEFAULT_PAINT_GRADIENT = _chunkFQPUF2W2cjs.DEFAULT_PAINT_GRADIENT; exports.DEFAULT_PAINT_GRADIENT_MAPPING = _chunkFQPUF2W2cjs.DEFAULT_PAINT_GRADIENT_MAPPING; exports.DEFAULT_PAPER = DEFAULT_PAPER; exports.DEFAULT_PARTICLE = _chunk677777GHcjs.DEFAULT_PARTICLE; exports.DEFAULT_SPRAY = _chunk677777GHcjs.DEFAULT_SPRAY; exports.DEFAULT_STICKER = _chunk677777GHcjs.DEFAULT_STICKER; exports.DEFAULT_SWATCHES = DEFAULT_SWATCHES; exports.DEFAULT_VIEW = DEFAULT_VIEW; exports.DEFAULT_WET_BRUSH = _chunk677777GHcjs.DEFAULT_WET_BRUSH; exports.DEFAULT_WET_PARAMS = _chunkYHDHFJUCcjs.DEFAULT_WET_PARAMS; exports.DOT_ROTATIONS = _chunk677777GHcjs.DOT_ROTATIONS; exports.DOT_ROTATION_LABELS = DOT_ROTATION_LABELS; exports.DOT_TEXTURE_ORDERS = _chunk677777GHcjs.DOT_TEXTURE_ORDERS; exports.DOT_TEXTURE_ORDER_LABELS = DOT_TEXTURE_ORDER_LABELS; exports.DryStroke = DryStroke; exports.EFFECT_MAP_REPEATS = EFFECT_MAP_REPEATS; exports.EFFECT_STRIP_HEIGHT = EFFECT_STRIP_HEIGHT; exports.GPU_LEAD = GPU_LEAD; exports.GRAIN_PATTERNS = _chunkPXDIAYB6cjs.GRAIN_PATTERNS; exports.GRAIN_TILE = _chunkPXDIAYB6cjs.GRAIN_TILE; exports.HARMONY_KINDS = _chunkI3Y2Q3PMcjs.HARMONY_KINDS; exports.IDENTITY_AFFINE = IDENTITY_AFFINE; exports.IDENTITY_COPY = IDENTITY_COPY; exports.IMPASTO_TOOLS = _chunk677777GHcjs.IMPASTO_TOOLS; exports.IMPASTO_TOOL_LABELS = IMPASTO_TOOL_LABELS; exports.LIGHT_SLIDERS = LIGHT_SLIDERS; exports.LIVE_STROKE_ENGINES = LIVE_STROKE_ENGINES; exports.LitCache = LitCache; exports.MAX_BRUSH_SIZE = _chunkFQPUF2W2cjs.MAX_BRUSH_SIZE; exports.MAX_CANVAS_SIDE = MAX_CANVAS_SIDE; exports.MAX_COORDINATE = MAX_COORDINATE; exports.MAX_DOT_TEXTURES = _chunk677777GHcjs.MAX_DOT_TEXTURES; exports.MAX_IMAGE_SIDE = MAX_IMAGE_SIDE; exports.MAX_LIVE_EFFECT_SOURCES = MAX_LIVE_EFFECT_SOURCES; exports.MAX_PATH_SAMPLES = MAX_PATH_SAMPLES; exports.MAX_STICKER_STAMPS = _chunk677777GHcjs.MAX_STICKER_STAMPS; exports.MAX_ZOOM = MAX_ZOOM; exports.MIN_CANVAS_SIDE = MIN_CANVAS_SIDE; exports.MIN_ZOOM = MIN_ZOOM; exports.MIXING_PAD_HEIGHT = MIXING_PAD_HEIGHT; exports.MIXING_PAD_WIDTH = MIXING_PAD_WIDTH; exports.MULTI_COLOR_MODES = _chunk677777GHcjs.MULTI_COLOR_MODES; exports.MixingPad = MixingPad; exports.PAD_SAMPLE_SIZES = PAD_SAMPLE_SIZES; exports.PAINTERLY_BLEND_MODES = _chunk2VX55NFMcjs.PAINTERLY_BLEND_MODES; exports.PAINT_BRUSH_CATEGORIES = _chunk677777GHcjs.PAINT_BRUSH_CATEGORIES; exports.PAINT_BRUSH_ENGINES = _chunk677777GHcjs.PAINT_BRUSH_ENGINES; exports.PAINT_COLOR_JSON_SCHEMA = _chunkFQPUF2W2cjs.PAINT_COLOR_JSON_SCHEMA; exports.PAINT_CONTRACT_FORMAT_VERSION = PAINT_CONTRACT_FORMAT_VERSION; exports.PAINT_DOCUMENT_JSON_SCHEMA = PAINT_DOCUMENT_JSON_SCHEMA; exports.PAINT_EFFECT_PLACES = PAINT_EFFECT_PLACES; exports.PAINT_FORMAT = PAINT_FORMAT; exports.PAINT_GRADIENT_FULL_SPEED = _chunkFQPUF2W2cjs.PAINT_GRADIENT_FULL_SPEED; exports.PAINT_GRADIENT_JSON_SCHEMA = _chunkFQPUF2W2cjs.PAINT_GRADIENT_JSON_SCHEMA; exports.PAINT_GRADIENT_KIT = _chunkFQPUF2W2cjs.PAINT_GRADIENT_KIT; exports.PAINT_GRADIENT_MAPPINGS = _chunkFQPUF2W2cjs.PAINT_GRADIENT_MAPPINGS; exports.PAINT_GRADIENT_MAPPING_LABELS = _chunkFQPUF2W2cjs.PAINT_GRADIENT_MAPPING_LABELS; exports.PAINT_GRADIENT_PRESETS = _chunkFQPUF2W2cjs.PAINT_GRADIENT_PRESETS; exports.PAINT_GRADIENT_REPEATS = _chunkFQPUF2W2cjs.PAINT_GRADIENT_REPEATS; exports.PAINT_GRADIENT_REPEAT_LABELS = _chunkFQPUF2W2cjs.PAINT_GRADIENT_REPEAT_LABELS; exports.PAINT_GRADIENT_SPACES = _chunkFQPUF2W2cjs.PAINT_GRADIENT_SPACES; exports.PAINT_GRADIENT_SPACE_LABELS = _chunkFQPUF2W2cjs.PAINT_GRADIENT_SPACE_LABELS; exports.PAINT_SCHEMA_VERSION = PAINT_SCHEMA_VERSION; exports.PAINT_SHORTCUTS = PAINT_SHORTCUTS; exports.PAINT_SOURCE_JSON_SCHEMA = _chunkFQPUF2W2cjs.PAINT_SOURCE_JSON_SCHEMA; exports.PAINT_TARGET = PAINT_TARGET; exports.PAINT_TOOLS = PAINT_TOOLS; exports.PAPER_EFFECT_BLENDS = PAPER_EFFECT_BLENDS; exports.PAPER_EFFECT_NODE_ID = PAPER_EFFECT_NODE_ID; exports.PAPER_FAMILIES = PAPER_FAMILIES; exports.PAPER_LIBRARY = PAPER_LIBRARY; exports.PAPER_NODE_ID = PAPER_NODE_ID; exports.PAPER_SLIDERS = PAPER_SLIDERS; exports.PAPER_TARGET = PAPER_TARGET; exports.PARTICLE_KINDS = _chunk677777GHcjs.PARTICLE_KINDS; exports.PARTICLE_KIND_LABELS = PARTICLE_KIND_LABELS; exports.PARTICLE_RENDERS = _chunk677777GHcjs.PARTICLE_RENDERS; exports.PARTICLE_RENDER_LABELS = PARTICLE_RENDER_LABELS; exports.PATH_STROKE_TAPERS = PATH_STROKE_TAPERS; exports.PaintCanvasPresenter = PaintCanvasPresenter; exports.PaintDabStroke = PaintDabStroke; exports.PaintDirector = PaintDirector; exports.PaintDocumentError = PaintDocumentError; exports.PaintEditorController = PaintEditorController; exports.PaintEditorError = PaintEditorError; exports.PaintEffectsRenderer = PaintEffectsRenderer; exports.PaintGesture = PaintGesture; exports.PaintGradientSampler = _chunkFQPUF2W2cjs.PaintGradientSampler; exports.PaintPresence = PaintPresence; exports.PaintSourceError = _chunkFQPUF2W2cjs.PaintSourceError; exports.PaintStrokeSession = PaintStrokeSession; exports.PaintWetLayers = PaintWetLayers; exports.PaperGrain = _chunkPXDIAYB6cjs.PaperGrain; exports.ParticleStroke = ParticleStroke; exports.PenDabWalker = PenDabWalker; exports.PenSmoother = PenSmoother; exports.PerspectiveSnapper = PerspectiveSnapper; exports.RIBBON_PAIRS = _chunk677777GHcjs.RIBBON_PAIRS; exports.RIBBON_PAIR_LABELS = RIBBON_PAIR_LABELS; exports.SNAP_DECIDE_DISTANCE = SNAP_DECIDE_DISTANCE; exports.STAMP_KINDS = _chunkOTN6VB5Scjs.STAMP_KINDS; exports.STAMP_LABELS = STAMP_LABELS; exports.STENCIL_KINDS = STENCIL_KINDS; exports.STENCIL_SHAPES = STENCIL_SHAPES; exports.STICKER_ART_SIZE = STICKER_ART_SIZE; exports.STICKER_SLIDERS = STICKER_SLIDERS; exports.STROKE_SLIDERS = STROKE_SLIDERS; exports.SYMMETRY_MODES = SYMMETRY_MODES; exports.StencilSnapper = StencilSnapper; exports.StickerArtCache = StickerArtCache; exports.StickerBrowser = _chunkXORJ7UZOcjs.StickerBrowser; exports.StickerSpray = StickerSpray; exports.TRACING_NODE_ID = TRACING_NODE_ID; exports.ThickStrokeDriver = ThickStrokeDriver; exports.TileableNoise = _chunk3K6HWEXZcjs.TileableNoise; exports.WET_FLOW_KINDS = _chunkYHDHFJUCcjs.WET_FLOW_KINDS; exports.WET_GPU_MODES = WET_GPU_MODES; exports.WET_GPU_OPTIONS = WET_GPU_OPTIONS; exports.WET_MEDIA = _chunk677777GHcjs.WET_MEDIA; exports.WET_MEDIUM_LABELS = WET_MEDIUM_LABELS; exports.WET_MEDIUM_PARAMS = WET_MEDIUM_PARAMS; exports.WET_PARAM_KEYS = _chunkYHDHFJUCcjs.WET_PARAM_KEYS; exports.WET_PARAM_SCHEMA = WET_PARAM_SCHEMA; exports.WET_PARAM_SLIDERS = WET_PARAM_SLIDERS; exports.WET_SPEED_SLIDER = WET_SPEED_SLIDER; exports.WET_TILT_SLIDERS = WET_TILT_SLIDERS; exports.WET_TOOLS = _chunk677777GHcjs.WET_TOOLS; exports.WET_TOOL_LABELS = WET_TOOL_LABELS; exports.WetStrokeDriver = WetStrokeDriver; exports.addPaintGradientStop = _chunkFQPUF2W2cjs.addPaintGradientStop; exports.addPolygonArea = addPolygonArea; exports.affineCopy = affineCopy; exports.applyAffine = applyAffine; exports.backlightOf = backlightOf; exports.brushEngineControls = _chunk5OE4ZZ6Vcjs.brushEngineControls; exports.brushLoadColor = brushLoadColor; exports.brushLoadForStroke = brushLoadForStroke; exports.brushTakesPaint = _chunk677777GHcjs.brushTakesPaint; exports.brushToJSON = _chunk677777GHcjs.brushToJSON; exports.buildTimeLapse = buildTimeLapse; exports.checkPaintEffectPlace = checkPaintEffectPlace; exports.clonePaper = clonePaper; exports.colorHarmony = colorHarmony2; exports.composeAffine = composeAffine; exports.contactSheet = contactSheet; exports.createPaintAgentStrokes = createPaintAgentStrokes; exports.createPaintBrushLibraryToolProvider = createPaintBrushLibraryToolProvider; exports.createPaintChangeFeed = createPaintChangeFeed; exports.createPaintCompositor = createPaintCompositor; exports.createPaintConformanceHost = createPaintConformanceHost; exports.createPaintDocument = createPaintDocument; exports.createPaintEditorDocument = createPaintEditorDocument; exports.createPaintEditorToolProvider = createPaintEditorToolProvider; exports.createPaintEffectsToolProvider = createPaintEffectsToolProvider; exports.createPaintLayer = createPaintLayer; exports.createPaintProposalToolProvider = createPaintProposalToolProvider; exports.createPaintProposals = createPaintProposals; exports.createPaintReplayTools = createPaintReplayTools; exports.createPaintStickerTools = createPaintStickerTools; exports.createPaintThickTools = createPaintThickTools; exports.createPaintWetTools = createPaintWetTools; exports.decodeImageBlob = decodeImageBlob; exports.defaultGuides = defaultGuides; exports.defaultImageEncoder = defaultImageEncoder; exports.defaultStickerRasterizer = defaultStickerRasterizer; exports.deserializePaintDocument = deserializePaintDocument; exports.deserializePaintDocumentAsync = deserializePaintDocumentAsync; exports.documentExtensions = documentExtensions; exports.documentToScreen = documentToScreen; exports.downloadBytes = downloadBytes; exports.downsampleRgba = downsampleRgba; exports.drawSticker = drawSticker; exports.drawWaterOverlay = drawWaterOverlay; exports.effectDabField = effectDabField; exports.effectLayersToJSON = effectLayersToJSON; exports.effectPaintKey = effectPaintKey; exports.effectPaintSize = effectPaintSize; exports.emptiedLayers = emptiedLayers; exports.emptyThickChannels = emptyThickChannels; exports.fitZoom = fitZoom; exports.grainCatch = _chunkPXDIAYB6cjs.grainCatch; exports.grainHeights = _chunkPXDIAYB6cjs.grainHeights; exports.guideOverlay = guideOverlay; exports.handlePaintShortcut = handlePaintShortcut; exports.hash2 = _chunk3K6HWEXZcjs.hash2; exports.hexToPaintRgb = _chunkFQPUF2W2cjs.hexToPaintRgb; exports.hexToRgb8 = hexToRgb8; exports.hslToRgb = hslToRgb; exports.hsvToRgb = hsvToRgb; exports.hueToWheel = _chunkI3Y2Q3PMcjs.hueToWheel; exports.invertAffine = invertAffine; exports.isBlendMode = _chunk2VX55NFMcjs.isBlendMode; exports.isGradientPaint = _chunkFQPUF2W2cjs.isGradientPaint; exports.isPaintEffectPaint = isPaintEffectPaint; exports.isPainterlyBlendMode = _chunk2VX55NFMcjs.isPainterlyBlendMode; exports.isPalmTouch = isPalmTouch; exports.isWetBrush = _chunk677777GHcjs.isWetBrush; exports.isWetCapable = _chunk677777GHcjs.isWetCapable; exports.lightTile = lightTile; exports.lightingKey = lightingKey; exports.liveStrokeBounds = liveStrokeBounds; exports.liveStrokeRefusal = liveStrokeRefusal; exports.mapPenPoint = mapPenPoint; exports.mix32 = _chunk3K6HWEXZcjs.mix32; exports.mixPixels = mixPixels; exports.mixerLoadForStroke = mixerLoadForStroke; exports.mixerTip = mixerTip; exports.multiColorForDab = multiColorForDab; exports.multiColorGradient = multiColorGradient; exports.multiColorPalette = multiColorPalette; exports.multiColorSliders = _chunk5OE4ZZ6Vcjs.multiColorSliders; exports.multiColorToPaint = _chunk677777GHcjs.multiColorToPaint; exports.newPaintLayerId = newPaintLayerId; exports.nextPaperEffectVersion = nextPaperEffectVersion; exports.normalizeBehavior = _chunk677777GHcjs.normalizeBehavior; exports.normalizeBristle = _chunk677777GHcjs.normalizeBristle; exports.normalizeBrushStroke = normalizeBrushStroke; exports.normalizeCanvas = normalizeCanvas; exports.normalizeDynamics = _chunk677777GHcjs.normalizeDynamics; exports.normalizeFlow = _chunkYHDHFJUCcjs.normalizeFlow; exports.normalizeHexColor = _chunkFQPUF2W2cjs.normalizeHexColor; exports.normalizeImpasto = _chunk677777GHcjs.normalizeImpasto; exports.normalizeLight = _chunk677777GHcjs.normalizeLight; exports.normalizeLighting = normalizeLighting; exports.normalizeMultiColor = _chunk677777GHcjs.normalizeMultiColor; exports.normalizePaintBrush = _chunk677777GHcjs.normalizePaintBrush; exports.normalizePaper = normalizePaper; exports.normalizeParticle = _chunk677777GHcjs.normalizeParticle; exports.normalizePerspective = normalizePerspective; exports.normalizeRotation = normalizeRotation; exports.normalizeStencil = normalizeStencil; exports.normalizeStickerSettings = _chunk677777GHcjs.normalizeStickerSettings; exports.normalizeStickerUpdate = normalizeStickerUpdate; exports.normalizeSymmetry = normalizeSymmetry; exports.normalizeView = normalizeView; exports.normalizeWetBrush = _chunk677777GHcjs.normalizeWetBrush; exports.normalizeWetParams = _chunkYHDHFJUCcjs.normalizeWetParams; exports.overPixels = overPixels; exports.padSampleRadius = padSampleRadius; exports.paintAgentStrokePoints = paintAgentStrokePoints; exports.paintBrushPreviewRenderer = paintBrushPreviewRenderer; exports.paintContracts = paintContracts; exports.paintGradientMappingFor = _chunkFQPUF2W2cjs.paintGradientMappingFor; exports.paintPlaybackPanel = paintPlaybackPanel; exports.paintProposalGhost = paintProposalGhost; exports.paintShortcutFor = paintShortcutFor; exports.paintSourceColor = _chunkFQPUF2W2cjs.paintSourceColor; exports.paintSourceCss = _chunkFQPUF2W2cjs.paintSourceCss; exports.paintToMultiColor = _chunk677777GHcjs.paintToMultiColor; exports.paperEffectFromJSON = paperEffectFromJSON; exports.paperEffectToJSON = paperEffectToJSON; exports.paperGrain = paperGrain; exports.paperKey = paperKey; exports.paperNode = paperNode; exports.paperPreset = paperPreset; exports.parseBrushLibrary = _chunk677777GHcjs.parseBrushLibrary; exports.parseHexColor = parseHexColor; exports.parsePaintSource = _chunkFQPUF2W2cjs.parsePaintSource; exports.patchBrushValue = _chunk5OE4ZZ6Vcjs.patchBrushValue; exports.patchPath = patchPath; exports.penOrientation = penOrientation; exports.perspectiveDirections = perspectiveDirections; exports.perspectiveGuideLines = perspectiveGuideLines; exports.planPaintToolPlayback = planPaintToolPlayback; exports.pointerToPenPoint = pointerToPenPoint; exports.quickStencil = quickStencil; exports.rand01 = _chunk3K6HWEXZcjs.rand01; exports.randSigned = _chunk3K6HWEXZcjs.randSigned; exports.readEffectStrokeMap = readEffectStrokeMap; exports.readPaintEffectPaint = readPaintEffectPaint; exports.readPaintEffectSource = readPaintEffectSource; exports.readPaintSource = _chunkFQPUF2W2cjs.readPaintSource; exports.readPath = readPath; exports.readSwatch = readSwatch; exports.reliefInfo = reliefInfo; exports.removePaintGradientStop = _chunkFQPUF2W2cjs.removePaintGradientStop; exports.renderBrushThumbnail = renderBrushThumbnail; exports.renderColorWheel = renderColorWheel; exports.renderPaper = renderPaper; exports.renderStickers = renderStickers; exports.replayFrame = replayFrame; exports.replayItems = replayItems; exports.replayPainting = replayPainting; exports.resolvePaintGradient = _chunkFQPUF2W2cjs.resolvePaintGradient; exports.reversePaintGradient = _chunkFQPUF2W2cjs.reversePaintGradient; exports.rgbToHexColor = rgbToHexColor; exports.rgbToHsl = rgbToHsl; exports.rgbToHsv = rgbToHsv; exports.sampleArt = sampleArt; exports.sampleEffectAt = sampleEffectAt; exports.sampleEffectField = sampleEffectField; exports.samplePath = samplePath; exports.samplePressure = samplePressure; exports.scalePaintGradient = _chunkFQPUF2W2cjs.scalePaintGradient; exports.scaleStencil = scaleStencil; exports.screenToDocument = screenToDocument; exports.seedFromString = _chunk3K6HWEXZcjs.seedFromString; exports.serializePaintDocument = serializePaintDocument; exports.serializePaintDocumentExternal = serializePaintDocumentExternal; exports.solidPaint = _chunkFQPUF2W2cjs.solidPaint; exports.stampCoverage = _chunkOTN6VB5Scjs.stampCoverage; exports.standardBlendMode = _chunk2VX55NFMcjs.standardBlendMode; exports.startWetClock = startWetClock; exports.stencilMask = stencilMask; exports.stencilOutline = stencilOutline; exports.stickerAt = stickerAt; exports.stickerRect = stickerRect; exports.stickerRefLabel = stickerRefLabel; exports.stickerStamp = stickerStamp; exports.stickerSurface = stickerSurface; exports.strokeBounds = strokeBounds; exports.strokeDuration = strokeDuration; exports.strokeSchedule = strokeSchedule; exports.strokeToJSON = strokeToJSON; exports.sweepPath = sweepPath; exports.symmetryAxisAngles = symmetryAxisAngles; exports.symmetryAxisSegments = symmetryAxisSegments; exports.symmetryCopies = symmetryCopies; exports.thickFromJSON = thickFromJSON; exports.thickToJSON = thickToJSON; exports.thumbnailStroke = thumbnailStroke; exports.tiltToOrientation = tiltToOrientation; exports.timeLapseVideo = timeLapseVideo; exports.timeLapseZip = timeLapseZip; exports.toStrokePoint = toStrokePoint; exports.toggleDotTexture = toggleDotTexture; exports.toggleStamp = toggleStamp; exports.toggleStickerRef = toggleStickerRef; exports.translateStencil = translateStencil; exports.updatePaintGradientStop = _chunkFQPUF2W2cjs.updatePaintGradientStop; exports.usesPaintExchange = _chunk677777GHcjs.usesPaintExchange; exports.variationAffine = variationAffine; exports.varyStroke = varyStroke; exports.viewCssTransform = viewCssTransform; exports.viewMatrix = viewMatrix; exports.viewPenToDocument = viewPenToDocument; exports.wetEngineSummary = wetEngineSummary; exports.wetPaperInput = wetPaperInput; exports.wetPigmentOf = wetPigmentOf; exports.wetSupport = _chunkYHDHFJUCcjs.wetSupport; exports.wheelAngle = wheelAngle; exports.wheelPick = wheelPick; exports.wheelPoint = wheelPoint; exports.wheelToHue = _chunkI3Y2Q3PMcjs.wheelToHue; exports.withPaintPlayback = withPaintPlayback;
|
|
13896
|
+
exports.BACKLIGHT_SPILL = BACKLIGHT_SPILL; exports.BLEND_MENU_GROUPS = BLEND_MENU_GROUPS; exports.BLEND_MODES = _chunk2VX55NFMcjs.BLEND_MODES; exports.BRUSH_ID = _chunkRFJZGTHAcjs.BRUSH_ID; exports.BRUSH_ROTATIONS = _chunkRFJZGTHAcjs.BRUSH_ROTATIONS; exports.BRUSH_SLIDERS = _chunkWLUVZKVDcjs.BRUSH_SLIDERS; exports.BUILTIN_BRUSHES = _chunkRFJZGTHAcjs.BUILTIN_BRUSHES; exports.BristleStroke = BristleStroke; exports.DEFAULT_BACKLIGHT_COLOR = DEFAULT_BACKLIGHT_COLOR; exports.DEFAULT_BEHAVIOR = _chunkRFJZGTHAcjs.DEFAULT_BEHAVIOR; exports.DEFAULT_BRISTLE = _chunkRFJZGTHAcjs.DEFAULT_BRISTLE; exports.DEFAULT_BRUSH_ID = _chunkRFJZGTHAcjs.DEFAULT_BRUSH_ID; exports.DEFAULT_DPI = DEFAULT_DPI; exports.DEFAULT_DYNAMICS = _chunkRFJZGTHAcjs.DEFAULT_DYNAMICS; exports.DEFAULT_FLOW = _chunkYHDHFJUCcjs.DEFAULT_FLOW; exports.DEFAULT_IMPASTO = _chunkRFJZGTHAcjs.DEFAULT_IMPASTO; exports.DEFAULT_LIGHT = _chunkRFJZGTHAcjs.DEFAULT_LIGHT; exports.DEFAULT_LIGHTING = DEFAULT_LIGHTING; exports.DEFAULT_MULTI_COLOR = _chunkRFJZGTHAcjs.DEFAULT_MULTI_COLOR; exports.DEFAULT_PAINT_GRADIENT = _chunkFQPUF2W2cjs.DEFAULT_PAINT_GRADIENT; exports.DEFAULT_PAINT_GRADIENT_MAPPING = _chunkFQPUF2W2cjs.DEFAULT_PAINT_GRADIENT_MAPPING; exports.DEFAULT_PAPER = DEFAULT_PAPER; exports.DEFAULT_PARTICLE = _chunkRFJZGTHAcjs.DEFAULT_PARTICLE; exports.DEFAULT_SPRAY = _chunkRFJZGTHAcjs.DEFAULT_SPRAY; exports.DEFAULT_STICKER = _chunkRFJZGTHAcjs.DEFAULT_STICKER; exports.DEFAULT_SWATCHES = DEFAULT_SWATCHES; exports.DEFAULT_VIEW = DEFAULT_VIEW; exports.DEFAULT_WET_BRUSH = _chunkRFJZGTHAcjs.DEFAULT_WET_BRUSH; exports.DEFAULT_WET_PARAMS = _chunkYHDHFJUCcjs.DEFAULT_WET_PARAMS; exports.DOT_ROTATIONS = _chunkRFJZGTHAcjs.DOT_ROTATIONS; exports.DOT_ROTATION_LABELS = DOT_ROTATION_LABELS; exports.DOT_TEXTURE_ORDERS = _chunkRFJZGTHAcjs.DOT_TEXTURE_ORDERS; exports.DOT_TEXTURE_ORDER_LABELS = DOT_TEXTURE_ORDER_LABELS; exports.DryStroke = DryStroke; exports.EFFECT_MAP_REPEATS = EFFECT_MAP_REPEATS; exports.EFFECT_STRIP_HEIGHT = EFFECT_STRIP_HEIGHT; exports.GPU_LEAD = GPU_LEAD; exports.GRAIN_PATTERNS = _chunkPXDIAYB6cjs.GRAIN_PATTERNS; exports.GRAIN_TILE = _chunkPXDIAYB6cjs.GRAIN_TILE; exports.HARMONY_KINDS = _chunkI3Y2Q3PMcjs.HARMONY_KINDS; exports.IDENTITY_AFFINE = IDENTITY_AFFINE; exports.IDENTITY_COPY = IDENTITY_COPY; exports.IMPASTO_TOOLS = _chunkRFJZGTHAcjs.IMPASTO_TOOLS; exports.IMPASTO_TOOL_LABELS = IMPASTO_TOOL_LABELS; exports.LIGHT_SLIDERS = LIGHT_SLIDERS; exports.LIVE_STROKE_ENGINES = LIVE_STROKE_ENGINES; exports.LitCache = LitCache; exports.MAX_BRUSH_SIZE = _chunkFQPUF2W2cjs.MAX_BRUSH_SIZE; exports.MAX_CANVAS_SIDE = MAX_CANVAS_SIDE; exports.MAX_COORDINATE = MAX_COORDINATE; exports.MAX_DOT_TEXTURES = _chunkRFJZGTHAcjs.MAX_DOT_TEXTURES; exports.MAX_IMAGE_SIDE = MAX_IMAGE_SIDE; exports.MAX_LIVE_EFFECT_SOURCES = MAX_LIVE_EFFECT_SOURCES; exports.MAX_PATH_SAMPLES = MAX_PATH_SAMPLES; exports.MAX_STICKER_STAMPS = _chunkRFJZGTHAcjs.MAX_STICKER_STAMPS; exports.MAX_ZOOM = MAX_ZOOM; exports.MIN_CANVAS_SIDE = MIN_CANVAS_SIDE; exports.MIN_ZOOM = MIN_ZOOM; exports.MIXING_PAD_HEIGHT = MIXING_PAD_HEIGHT; exports.MIXING_PAD_WIDTH = MIXING_PAD_WIDTH; exports.MULTI_COLOR_MODES = _chunkRFJZGTHAcjs.MULTI_COLOR_MODES; exports.MixingPad = MixingPad; exports.PAD_SAMPLE_SIZES = PAD_SAMPLE_SIZES; exports.PAINTERLY_BLEND_MODES = _chunk2VX55NFMcjs.PAINTERLY_BLEND_MODES; exports.PAINT_BRUSH_CATEGORIES = _chunkRFJZGTHAcjs.PAINT_BRUSH_CATEGORIES; exports.PAINT_BRUSH_ENGINES = _chunkRFJZGTHAcjs.PAINT_BRUSH_ENGINES; exports.PAINT_COLOR_JSON_SCHEMA = _chunkFQPUF2W2cjs.PAINT_COLOR_JSON_SCHEMA; exports.PAINT_CONTRACT_FORMAT_VERSION = PAINT_CONTRACT_FORMAT_VERSION; exports.PAINT_DOCUMENT_JSON_SCHEMA = PAINT_DOCUMENT_JSON_SCHEMA; exports.PAINT_EFFECT_PLACES = PAINT_EFFECT_PLACES; exports.PAINT_FORMAT = PAINT_FORMAT; exports.PAINT_GRADIENT_FULL_SPEED = _chunkFQPUF2W2cjs.PAINT_GRADIENT_FULL_SPEED; exports.PAINT_GRADIENT_JSON_SCHEMA = _chunkFQPUF2W2cjs.PAINT_GRADIENT_JSON_SCHEMA; exports.PAINT_GRADIENT_KIT = _chunkFQPUF2W2cjs.PAINT_GRADIENT_KIT; exports.PAINT_GRADIENT_MAPPINGS = _chunkFQPUF2W2cjs.PAINT_GRADIENT_MAPPINGS; exports.PAINT_GRADIENT_MAPPING_LABELS = _chunkFQPUF2W2cjs.PAINT_GRADIENT_MAPPING_LABELS; exports.PAINT_GRADIENT_PRESETS = _chunkFQPUF2W2cjs.PAINT_GRADIENT_PRESETS; exports.PAINT_GRADIENT_REPEATS = _chunkFQPUF2W2cjs.PAINT_GRADIENT_REPEATS; exports.PAINT_GRADIENT_REPEAT_LABELS = _chunkFQPUF2W2cjs.PAINT_GRADIENT_REPEAT_LABELS; exports.PAINT_GRADIENT_SPACES = _chunkFQPUF2W2cjs.PAINT_GRADIENT_SPACES; exports.PAINT_GRADIENT_SPACE_LABELS = _chunkFQPUF2W2cjs.PAINT_GRADIENT_SPACE_LABELS; exports.PAINT_SCHEMA_VERSION = PAINT_SCHEMA_VERSION; exports.PAINT_SHORTCUTS = PAINT_SHORTCUTS; exports.PAINT_SOURCE_JSON_SCHEMA = _chunkFQPUF2W2cjs.PAINT_SOURCE_JSON_SCHEMA; exports.PAINT_TARGET = PAINT_TARGET; exports.PAINT_TOOLS = PAINT_TOOLS; exports.PAPER_EFFECT_BLENDS = PAPER_EFFECT_BLENDS; exports.PAPER_EFFECT_NODE_ID = PAPER_EFFECT_NODE_ID; exports.PAPER_FAMILIES = PAPER_FAMILIES; exports.PAPER_LIBRARY = PAPER_LIBRARY; exports.PAPER_NODE_ID = PAPER_NODE_ID; exports.PAPER_SLIDERS = PAPER_SLIDERS; exports.PAPER_TARGET = PAPER_TARGET; exports.PARTICLE_KINDS = _chunkRFJZGTHAcjs.PARTICLE_KINDS; exports.PARTICLE_KIND_LABELS = PARTICLE_KIND_LABELS; exports.PARTICLE_RENDERS = _chunkRFJZGTHAcjs.PARTICLE_RENDERS; exports.PARTICLE_RENDER_LABELS = PARTICLE_RENDER_LABELS; exports.PATH_STROKE_TAPERS = PATH_STROKE_TAPERS; exports.PaintCanvasPresenter = PaintCanvasPresenter; exports.PaintDabStroke = PaintDabStroke; exports.PaintDirector = PaintDirector; exports.PaintDocumentError = PaintDocumentError; exports.PaintEditorController = PaintEditorController; exports.PaintEditorError = PaintEditorError; exports.PaintEffectsRenderer = PaintEffectsRenderer; exports.PaintGesture = PaintGesture; exports.PaintGradientSampler = _chunkFQPUF2W2cjs.PaintGradientSampler; exports.PaintPresence = PaintPresence; exports.PaintSourceError = _chunkFQPUF2W2cjs.PaintSourceError; exports.PaintStrokeSession = PaintStrokeSession; exports.PaintWetLayers = PaintWetLayers; exports.PaperGrain = _chunkPXDIAYB6cjs.PaperGrain; exports.ParticleStroke = ParticleStroke; exports.PenDabWalker = PenDabWalker; exports.PenSmoother = PenSmoother; exports.PerspectiveSnapper = PerspectiveSnapper; exports.RIBBON_PAIRS = _chunkRFJZGTHAcjs.RIBBON_PAIRS; exports.RIBBON_PAIR_LABELS = RIBBON_PAIR_LABELS; exports.SNAP_DECIDE_DISTANCE = SNAP_DECIDE_DISTANCE; exports.STAMP_KINDS = _chunkOTN6VB5Scjs.STAMP_KINDS; exports.STAMP_LABELS = STAMP_LABELS; exports.STENCIL_KINDS = STENCIL_KINDS; exports.STENCIL_SHAPES = STENCIL_SHAPES; exports.STICKER_ART_SIZE = STICKER_ART_SIZE; exports.STICKER_SLIDERS = STICKER_SLIDERS; exports.STROKE_SLIDERS = STROKE_SLIDERS; exports.SYMMETRY_MODES = SYMMETRY_MODES; exports.StencilSnapper = StencilSnapper; exports.StickerArtCache = StickerArtCache; exports.StickerBrowser = _chunkXORJ7UZOcjs.StickerBrowser; exports.StickerSpray = StickerSpray; exports.TRACING_NODE_ID = TRACING_NODE_ID; exports.ThickStrokeDriver = ThickStrokeDriver; exports.TileableNoise = _chunk3K6HWEXZcjs.TileableNoise; exports.WET_FLOW_KINDS = _chunkYHDHFJUCcjs.WET_FLOW_KINDS; exports.WET_GPU_MODES = WET_GPU_MODES; exports.WET_GPU_OPTIONS = WET_GPU_OPTIONS; exports.WET_MEDIA = _chunkRFJZGTHAcjs.WET_MEDIA; exports.WET_MEDIUM_LABELS = WET_MEDIUM_LABELS; exports.WET_MEDIUM_PARAMS = WET_MEDIUM_PARAMS; exports.WET_PARAM_KEYS = _chunkYHDHFJUCcjs.WET_PARAM_KEYS; exports.WET_PARAM_SCHEMA = WET_PARAM_SCHEMA; exports.WET_PARAM_SLIDERS = WET_PARAM_SLIDERS; exports.WET_SPEED_SLIDER = WET_SPEED_SLIDER; exports.WET_TILT_SLIDERS = WET_TILT_SLIDERS; exports.WET_TOOLS = _chunkRFJZGTHAcjs.WET_TOOLS; exports.WET_TOOL_LABELS = WET_TOOL_LABELS; exports.WetStrokeDriver = WetStrokeDriver; exports.addPaintGradientStop = _chunkFQPUF2W2cjs.addPaintGradientStop; exports.addPolygonArea = addPolygonArea; exports.affineCopy = affineCopy; exports.applyAffine = applyAffine; exports.backlightOf = backlightOf; exports.brushEngineControls = _chunkWLUVZKVDcjs.brushEngineControls; exports.brushLoadColor = brushLoadColor; exports.brushLoadForStroke = brushLoadForStroke; exports.brushTakesPaint = _chunkRFJZGTHAcjs.brushTakesPaint; exports.brushToJSON = _chunkRFJZGTHAcjs.brushToJSON; exports.buildTimeLapse = buildTimeLapse; exports.checkPaintEffectPlace = checkPaintEffectPlace; exports.clonePaper = clonePaper; exports.colorHarmony = colorHarmony2; exports.composeAffine = composeAffine; exports.contactSheet = contactSheet; exports.createPaintAgentStrokes = createPaintAgentStrokes; exports.createPaintBrushLibraryToolProvider = createPaintBrushLibraryToolProvider; exports.createPaintChangeFeed = createPaintChangeFeed; exports.createPaintCompositor = createPaintCompositor; exports.createPaintConformanceHost = createPaintConformanceHost; exports.createPaintDocument = createPaintDocument; exports.createPaintEditorDocument = createPaintEditorDocument; exports.createPaintEditorToolProvider = createPaintEditorToolProvider; exports.createPaintEffectsToolProvider = createPaintEffectsToolProvider; exports.createPaintLayer = createPaintLayer; exports.createPaintProposalToolProvider = createPaintProposalToolProvider; exports.createPaintProposals = createPaintProposals; exports.createPaintReplayTools = createPaintReplayTools; exports.createPaintStickerTools = createPaintStickerTools; exports.createPaintThickTools = createPaintThickTools; exports.createPaintWetTools = createPaintWetTools; exports.decodeImageBlob = decodeImageBlob; exports.defaultGuides = defaultGuides; exports.defaultImageEncoder = defaultImageEncoder; exports.defaultStickerRasterizer = defaultStickerRasterizer; exports.deserializePaintDocument = deserializePaintDocument; exports.deserializePaintDocumentAsync = deserializePaintDocumentAsync; exports.documentExtensions = documentExtensions; exports.documentToScreen = documentToScreen; exports.downloadBytes = downloadBytes; exports.downsampleRgba = downsampleRgba; exports.drawSticker = drawSticker; exports.drawWaterOverlay = drawWaterOverlay; exports.effectDabField = effectDabField; exports.effectLayersToJSON = effectLayersToJSON; exports.effectPaintKey = effectPaintKey; exports.effectPaintSize = effectPaintSize; exports.emptiedLayers = emptiedLayers; exports.emptyThickChannels = emptyThickChannels; exports.fitZoom = fitZoom; exports.grainCatch = _chunkPXDIAYB6cjs.grainCatch; exports.grainHeights = _chunkPXDIAYB6cjs.grainHeights; exports.guideOverlay = guideOverlay; exports.handlePaintShortcut = handlePaintShortcut; exports.hash2 = _chunk3K6HWEXZcjs.hash2; exports.hexToPaintRgb = _chunkFQPUF2W2cjs.hexToPaintRgb; exports.hexToRgb8 = hexToRgb8; exports.hslToRgb = hslToRgb; exports.hsvToRgb = hsvToRgb; exports.hueToWheel = _chunkI3Y2Q3PMcjs.hueToWheel; exports.invertAffine = invertAffine; exports.isBlendMode = _chunk2VX55NFMcjs.isBlendMode; exports.isGradientPaint = _chunkFQPUF2W2cjs.isGradientPaint; exports.isPaintEffectPaint = isPaintEffectPaint; exports.isPainterlyBlendMode = _chunk2VX55NFMcjs.isPainterlyBlendMode; exports.isPalmTouch = isPalmTouch; exports.isWetBrush = _chunkRFJZGTHAcjs.isWetBrush; exports.isWetCapable = _chunkRFJZGTHAcjs.isWetCapable; exports.lightTile = lightTile; exports.lightingKey = lightingKey; exports.liveStrokeBounds = liveStrokeBounds; exports.liveStrokeRefusal = liveStrokeRefusal; exports.mapPenPoint = mapPenPoint; exports.mix32 = _chunk3K6HWEXZcjs.mix32; exports.mixPixels = mixPixels; exports.mixerLoadForStroke = mixerLoadForStroke; exports.mixerTip = mixerTip; exports.multiColorForDab = multiColorForDab; exports.multiColorGradient = multiColorGradient; exports.multiColorPalette = multiColorPalette; exports.multiColorSliders = _chunkWLUVZKVDcjs.multiColorSliders; exports.multiColorToPaint = _chunkRFJZGTHAcjs.multiColorToPaint; exports.newPaintLayerId = newPaintLayerId; exports.nextPaperEffectVersion = nextPaperEffectVersion; exports.normalizeBehavior = _chunkRFJZGTHAcjs.normalizeBehavior; exports.normalizeBristle = _chunkRFJZGTHAcjs.normalizeBristle; exports.normalizeBrushStroke = normalizeBrushStroke; exports.normalizeCanvas = normalizeCanvas; exports.normalizeDynamics = _chunkRFJZGTHAcjs.normalizeDynamics; exports.normalizeFlow = _chunkYHDHFJUCcjs.normalizeFlow; exports.normalizeHexColor = _chunkFQPUF2W2cjs.normalizeHexColor; exports.normalizeImpasto = _chunkRFJZGTHAcjs.normalizeImpasto; exports.normalizeLight = _chunkRFJZGTHAcjs.normalizeLight; exports.normalizeLighting = normalizeLighting; exports.normalizeMultiColor = _chunkRFJZGTHAcjs.normalizeMultiColor; exports.normalizePaintBrush = _chunkRFJZGTHAcjs.normalizePaintBrush; exports.normalizePaper = normalizePaper; exports.normalizeParticle = _chunkRFJZGTHAcjs.normalizeParticle; exports.normalizePerspective = normalizePerspective; exports.normalizeRotation = normalizeRotation; exports.normalizeStencil = normalizeStencil; exports.normalizeStickerSettings = _chunkRFJZGTHAcjs.normalizeStickerSettings; exports.normalizeStickerUpdate = normalizeStickerUpdate; exports.normalizeSymmetry = normalizeSymmetry; exports.normalizeView = normalizeView; exports.normalizeWetBrush = _chunkRFJZGTHAcjs.normalizeWetBrush; exports.normalizeWetParams = _chunkYHDHFJUCcjs.normalizeWetParams; exports.overPixels = overPixels; exports.padSampleRadius = padSampleRadius; exports.paintAgentStrokePoints = paintAgentStrokePoints; exports.paintBrushPreviewRenderer = paintBrushPreviewRenderer; exports.paintContracts = paintContracts; exports.paintGradientMappingFor = _chunkFQPUF2W2cjs.paintGradientMappingFor; exports.paintPlaybackPanel = paintPlaybackPanel; exports.paintProposalGhost = paintProposalGhost; exports.paintShortcutFor = paintShortcutFor; exports.paintSourceColor = _chunkFQPUF2W2cjs.paintSourceColor; exports.paintSourceCss = _chunkFQPUF2W2cjs.paintSourceCss; exports.paintToMultiColor = _chunkRFJZGTHAcjs.paintToMultiColor; exports.paperEffectFromJSON = paperEffectFromJSON; exports.paperEffectToJSON = paperEffectToJSON; exports.paperGrain = paperGrain; exports.paperKey = paperKey; exports.paperNode = paperNode; exports.paperPreset = paperPreset; exports.parseBrushLibrary = _chunkRFJZGTHAcjs.parseBrushLibrary; exports.parseHexColor = parseHexColor; exports.parsePaintSource = _chunkFQPUF2W2cjs.parsePaintSource; exports.patchBrushValue = _chunkWLUVZKVDcjs.patchBrushValue; exports.patchPath = patchPath; exports.penOrientation = penOrientation; exports.perspectiveDirections = perspectiveDirections; exports.perspectiveGuideLines = perspectiveGuideLines; exports.planPaintToolPlayback = planPaintToolPlayback; exports.pointerToPenPoint = pointerToPenPoint; exports.quickStencil = quickStencil; exports.rand01 = _chunk3K6HWEXZcjs.rand01; exports.randSigned = _chunk3K6HWEXZcjs.randSigned; exports.readEffectStrokeMap = readEffectStrokeMap; exports.readPaintEffectPaint = readPaintEffectPaint; exports.readPaintEffectSource = readPaintEffectSource; exports.readPaintSource = _chunkFQPUF2W2cjs.readPaintSource; exports.readPath = readPath; exports.readSwatch = readSwatch; exports.reliefInfo = reliefInfo; exports.removePaintGradientStop = _chunkFQPUF2W2cjs.removePaintGradientStop; exports.renderBrushThumbnail = renderBrushThumbnail; exports.renderColorWheel = renderColorWheel; exports.renderPaper = renderPaper; exports.renderStickers = renderStickers; exports.replayFrame = replayFrame; exports.replayItems = replayItems; exports.replayPainting = replayPainting; exports.resolvePaintGradient = _chunkFQPUF2W2cjs.resolvePaintGradient; exports.reversePaintGradient = _chunkFQPUF2W2cjs.reversePaintGradient; exports.rgbToHexColor = rgbToHexColor; exports.rgbToHsl = rgbToHsl; exports.rgbToHsv = rgbToHsv; exports.sampleArt = sampleArt; exports.sampleEffectAt = sampleEffectAt; exports.sampleEffectField = sampleEffectField; exports.samplePath = samplePath; exports.samplePressure = samplePressure; exports.scalePaintGradient = _chunkFQPUF2W2cjs.scalePaintGradient; exports.scaleStencil = scaleStencil; exports.screenToDocument = screenToDocument; exports.seedFromString = _chunk3K6HWEXZcjs.seedFromString; exports.serializePaintDocument = serializePaintDocument; exports.serializePaintDocumentExternal = serializePaintDocumentExternal; exports.solidPaint = _chunkFQPUF2W2cjs.solidPaint; exports.stampCoverage = _chunkOTN6VB5Scjs.stampCoverage; exports.standardBlendMode = _chunk2VX55NFMcjs.standardBlendMode; exports.startWetClock = startWetClock; exports.stencilMask = stencilMask; exports.stencilOutline = stencilOutline; exports.stickerAt = stickerAt; exports.stickerRect = stickerRect; exports.stickerRefLabel = stickerRefLabel; exports.stickerStamp = stickerStamp; exports.stickerSurface = stickerSurface; exports.strokeBounds = strokeBounds; exports.strokeDuration = strokeDuration; exports.strokeSchedule = strokeSchedule; exports.strokeToJSON = strokeToJSON; exports.sweepPath = sweepPath; exports.symmetryAxisAngles = symmetryAxisAngles; exports.symmetryAxisSegments = symmetryAxisSegments; exports.symmetryCopies = symmetryCopies; exports.thickFromJSON = thickFromJSON; exports.thickToJSON = thickToJSON; exports.thumbnailStroke = thumbnailStroke; exports.tiltToOrientation = tiltToOrientation; exports.timeLapseVideo = timeLapseVideo; exports.timeLapseZip = timeLapseZip; exports.toStrokePoint = toStrokePoint; exports.toggleDotTexture = toggleDotTexture; exports.toggleStamp = toggleStamp; exports.toggleStickerRef = toggleStickerRef; exports.translateStencil = translateStencil; exports.updatePaintGradientStop = _chunkFQPUF2W2cjs.updatePaintGradientStop; exports.usesPaintExchange = _chunkRFJZGTHAcjs.usesPaintExchange; exports.variationAffine = variationAffine; exports.varyStroke = varyStroke; exports.viewCssTransform = viewCssTransform; exports.viewMatrix = viewMatrix; exports.viewPenToDocument = viewPenToDocument; exports.wetEngineSummary = wetEngineSummary; exports.wetPaperInput = wetPaperInput; exports.wetPigmentOf = wetPigmentOf; exports.wetSupport = _chunkYHDHFJUCcjs.wetSupport; exports.wheelAngle = wheelAngle; exports.wheelPick = wheelPick; exports.wheelPoint = wheelPoint; exports.wheelToHue = _chunkI3Y2Q3PMcjs.wheelToHue; exports.withPaintPlayback = withPaintPlayback;
|