@pixerate/editor 0.263.0 → 0.264.1
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/animation-editor/index.cjs +59 -59
- package/dist/animation-editor/index.js +3 -3
- package/dist/brushes/index.cjs +155 -68
- package/dist/brushes/index.d.cts +3 -3
- package/dist/brushes/index.d.ts +3 -3
- package/dist/brushes/index.js +111 -24
- package/dist/brushes/library.d.cts +2 -0
- package/dist/brushes/library.d.ts +2 -0
- package/dist/brushes/profiles.d.cts +21 -2
- package/dist/brushes/profiles.d.ts +21 -2
- package/dist/brushes/ui.d.cts +57 -4
- package/dist/brushes/ui.d.ts +57 -4
- package/dist/{brushstrokeRender-S5DABANG.js → brushstrokeRender-3MOI7PH4.js} +2 -2
- package/dist/{brushstrokeRender-2GBME4XD.cjs → brushstrokeRender-SMMPIJF2.cjs} +12 -12
- package/dist/canvas/index.cjs +13 -13
- package/dist/canvas/index.js +1 -1
- package/dist/{chunk-CNLO6E2K.js → chunk-4OJC4MCD.js} +8 -7
- package/dist/{chunk-ZBACQHW3.cjs → chunk-BY5EBP26.cjs} +27 -6
- package/dist/{chunk-JGI4PZWO.js → chunk-CECCP2V7.js} +1 -1
- package/dist/{chunk-P5343XZO.js → chunk-EE7SAYBF.js} +23 -2
- package/dist/{chunk-TILEUVRO.cjs → chunk-F3KKR6DD.cjs} +35 -34
- package/dist/{chunk-TIHW7CUY.cjs → chunk-FQC5TDB6.cjs} +35 -35
- package/dist/{chunk-4E6BGHWN.cjs → chunk-G5ADO47G.cjs} +1 -1
- package/dist/{chunk-QW7LKWKE.js → chunk-HAUDEVMC.js} +1 -1
- package/dist/{chunk-LG6MEEV7.js → chunk-JEML4FSA.js} +1 -1
- package/dist/{chunk-XQW6R7VW.cjs → chunk-KXNZNOEF.cjs} +86 -86
- package/dist/{chunk-6XX7E7O2.js → chunk-ROBSFJ6F.js} +1 -1
- package/dist/{chunk-LWHUU6A6.cjs → chunk-USJX5SW4.cjs} +10 -10
- package/dist/{chunk-73QFSPDG.cjs → chunk-V7MJ4HIN.cjs} +23 -23
- package/dist/{chunk-34HIZXFX.js → chunk-WWI6FLH2.js} +1 -1
- package/dist/image-editor/controller.d.cts +3 -0
- package/dist/image-editor/controller.d.ts +3 -0
- package/dist/image-editor/index.cjs +789 -786
- package/dist/image-editor/index.js +7 -4
- package/dist/image-editor/types.d.cts +7 -0
- package/dist/image-editor/types.d.ts +7 -0
- package/dist/paint-editor/brush-library-tools.d.cts +8 -1
- package/dist/paint-editor/brush-library-tools.d.ts +8 -1
- package/dist/paint-editor/controller.d.cts +1 -1
- package/dist/paint-editor/controller.d.ts +1 -1
- package/dist/paint-editor/index.cjs +88 -83
- package/dist/paint-editor/index.d.cts +1 -1
- package/dist/paint-editor/index.d.ts +1 -1
- package/dist/paint-editor/index.js +16 -11
- package/dist/vector/controller.d.cts +13 -0
- package/dist/vector/controller.d.ts +13 -0
- package/dist/vector/index.cjs +1215 -1205
- package/dist/vector/index.js +16 -6
- package/package.json +1 -1
- package/skills/pixerate-brushes/SKILL.md +11 -3
- package/skills/pixerate-brushes-design/SKILL.md +1 -0
- package/skills/pixerate-vector/SKILL.md +1 -1
|
@@ -11,7 +11,7 @@ var _chunkXORJ7UZOcjs = require('../chunk-XORJ7UZO.cjs');
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chunkF3KKR6DDcjs = require('../chunk-F3KKR6DD.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
@@ -30,7 +30,7 @@ var _chunk7TD63DZPcjs = require('../chunk-7TD63DZP.cjs');
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
var
|
|
33
|
+
var _chunkKXNZNOEFcjs = require('../chunk-KXNZNOEF.cjs');
|
|
34
34
|
require('../chunk-3ZRNK3RO.cjs');
|
|
35
35
|
|
|
36
36
|
|
|
@@ -88,7 +88,7 @@ var _chunkJLWLX52Lcjs = require('../chunk-JLWLX52L.cjs');
|
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
var _chunkK7ENM55Pcjs = require('../chunk-K7ENM55P.cjs');
|
|
91
|
-
require('../chunk-
|
|
91
|
+
require('../chunk-USJX5SW4.cjs');
|
|
92
92
|
|
|
93
93
|
|
|
94
94
|
|
|
@@ -143,7 +143,7 @@ require('../chunk-LWHUU6A6.cjs');
|
|
|
143
143
|
|
|
144
144
|
|
|
145
145
|
|
|
146
|
-
var
|
|
146
|
+
var _chunkBY5EBP26cjs = require('../chunk-BY5EBP26.cjs');
|
|
147
147
|
|
|
148
148
|
|
|
149
149
|
|
|
@@ -1738,7 +1738,7 @@ function shadowToLight(shadow) {
|
|
|
1738
1738
|
return new (0, _chunk474IQG74cjs.TiledSurface)(1, tiles, 0);
|
|
1739
1739
|
}
|
|
1740
1740
|
function lightTwinBrush(brush) {
|
|
1741
|
-
return
|
|
1741
|
+
return _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0,
|
|
1742
1742
|
{
|
|
1743
1743
|
tip: { ...brush.tip, blend: "normal", pressureOpacity: brush.tip.pressureOpacity || brush.light.pressure },
|
|
1744
1744
|
behavior: { ...brush.behavior, mixing: "rgb" },
|
|
@@ -3002,7 +3002,7 @@ var PaintStrokeSession = (_class12 = class _PaintStrokeSession {
|
|
|
3002
3002
|
} else if (init.thick) {
|
|
3003
3003
|
const rgb = (c) => [c[0] / 255, c[1] / 255, c[2] / 255];
|
|
3004
3004
|
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 });
|
|
3005
|
-
} else if (brush.engine === "mixer" || brush.engine === "blender" || brush.engine === "smudge" ||
|
|
3005
|
+
} else if (brush.engine === "mixer" || brush.engine === "blender" || brush.engine === "smudge" || _chunkBY5EBP26cjs.usesPaintExchange.call(void 0, brush, Boolean(init.paint))) {
|
|
3006
3006
|
const rgb = (c) => [c[0] / 255, c[1] / 255, c[2] / 255];
|
|
3007
3007
|
this.wet = new PaintDabStroke(brush, {
|
|
3008
3008
|
target: this.tileTarget(),
|
|
@@ -3242,7 +3242,7 @@ function brushLoadForStroke(brush, current, color) {
|
|
|
3242
3242
|
if (brush.engine === "mixer") return mixerLoadForStroke(brush, current, color);
|
|
3243
3243
|
if (brush.engine === "impasto") return { reservoir: [color[0], color[1], color[2]], amount: 1, pickup: brush.behavior.dirty ? current.pickup : null };
|
|
3244
3244
|
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;
|
|
3245
|
-
if (
|
|
3245
|
+
if (_chunkBY5EBP26cjs.usesPaintExchange.call(void 0, brush)) return { reservoir: [color[0], color[1], color[2]], amount: 1, pickup: brush.behavior.dirty ? current.pickup : null };
|
|
3246
3246
|
return _chunkFQPUF2W2cjs.EMPTY_MIXER_LOAD;
|
|
3247
3247
|
}
|
|
3248
3248
|
|
|
@@ -3504,15 +3504,15 @@ function readLoad(raw) {
|
|
|
3504
3504
|
function readStrokeBrush(raw) {
|
|
3505
3505
|
if (raw && typeof raw === "object" && "kind" in raw && !("engine" in raw)) {
|
|
3506
3506
|
try {
|
|
3507
|
-
return
|
|
3507
|
+
return _chunkBY5EBP26cjs.resolveBrush.call(void 0, _chunkBY5EBP26cjs.normalizeBrushSpec.call(void 0, raw));
|
|
3508
3508
|
} catch (e5) {
|
|
3509
3509
|
}
|
|
3510
3510
|
}
|
|
3511
|
-
return
|
|
3511
|
+
return _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, _nullishCoalesce(raw, () => ( {})));
|
|
3512
3512
|
}
|
|
3513
3513
|
function strokeToJSON(stroke) {
|
|
3514
3514
|
const { brush, ...rest } = stroke;
|
|
3515
|
-
return { ...JSON.parse(JSON.stringify(rest)), brush:
|
|
3515
|
+
return { ...JSON.parse(JSON.stringify(rest)), brush: _chunkBY5EBP26cjs.migrateBrushV1.call(void 0, brush) };
|
|
3516
3516
|
}
|
|
3517
3517
|
function normalizeBrushStroke(raw) {
|
|
3518
3518
|
if (!raw || typeof raw !== "object") return null;
|
|
@@ -3582,7 +3582,7 @@ function varyStroke(stroke, m, v) {
|
|
|
3582
3582
|
if (ps !== 1) q.pressure = Math.min(1, Math.max(0, (_nullishCoalesce(p.pressure, () => ( 1))) * ps));
|
|
3583
3583
|
return q;
|
|
3584
3584
|
});
|
|
3585
|
-
const brush = s !== 1 ?
|
|
3585
|
+
const brush = s !== 1 ? _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { ...stroke.brush, tip: { ...stroke.brush.tip, size: stroke.brush.tip.size * s } }) : stroke.brush;
|
|
3586
3586
|
const out = { ...stroke, brush, points };
|
|
3587
3587
|
if (_optionalChain([stroke, 'access', _120 => _120.paint, 'optionalAccess', _121 => _121.type]) === "gradient" && s !== 1) out.paint = _chunkFQPUF2W2cjs.scalePaintGradient.call(void 0, stroke.paint, s);
|
|
3588
3588
|
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))) } };
|
|
@@ -3732,11 +3732,11 @@ function header(state, options) {
|
|
|
3732
3732
|
return out;
|
|
3733
3733
|
}
|
|
3734
3734
|
function serializePaintDocument(state, options = {}) {
|
|
3735
|
-
const { layers, assets } =
|
|
3735
|
+
const { layers, assets } = _chunkKXNZNOEFcjs.serializeLayers.call(void 0, state.layers);
|
|
3736
3736
|
return { ...header(state, options), layers, assets };
|
|
3737
3737
|
}
|
|
3738
3738
|
async function serializePaintDocumentExternal(state, store, options = {}) {
|
|
3739
|
-
const { layers, assets } = await
|
|
3739
|
+
const { layers, assets } = await _chunkKXNZNOEFcjs.serializeLayersExternal.call(void 0, state.layers, store);
|
|
3740
3740
|
return { ...header(state, options), layers, assets };
|
|
3741
3741
|
}
|
|
3742
3742
|
function paintLayersOnly(layers, problems) {
|
|
@@ -3773,7 +3773,7 @@ function deserializePaintDocument(raw) {
|
|
|
3773
3773
|
const canvas = normalizeCanvas({ width: r.width, height: r.height, dpi: _nullishCoalesce(r.dpi, () => ( void 0)) });
|
|
3774
3774
|
const paper = normalizePaper(_nullishCoalesce(r.paper, () => ( {})));
|
|
3775
3775
|
const assets = r.assets && typeof r.assets === "object" ? r.assets : {};
|
|
3776
|
-
const layers = paintLayersOnly(
|
|
3776
|
+
const layers = paintLayersOnly(_chunkKXNZNOEFcjs.deserializeLayers.call(void 0, r.layers, { assets, problems }), problems);
|
|
3777
3777
|
const wanted = typeof r.activeLayerId === "string" ? r.activeLayerId : null;
|
|
3778
3778
|
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));
|
|
3779
3779
|
const wetEvents = Array.isArray(r.wetEvents) ? r.wetEvents.filter((e) => e && typeof e === "object" && Number.isInteger(e.clock) && typeof e.kind === "string") : [];
|
|
@@ -3789,7 +3789,7 @@ async function deserializePaintDocumentAsync(raw, store) {
|
|
|
3789
3789
|
if (!raw || typeof raw !== "object") throw new Error("Not a paint document: expected a JSON object.");
|
|
3790
3790
|
const r = raw;
|
|
3791
3791
|
const problems = [];
|
|
3792
|
-
const assets = await
|
|
3792
|
+
const assets = await _chunkKXNZNOEFcjs.resolveExternalAssets.call(void 0, _nullishCoalesce(r.assets, () => ( {})), store, problems);
|
|
3793
3793
|
const loaded = deserializePaintDocument({ ...r, assets });
|
|
3794
3794
|
return { ...loaded, problems: [...problems, ...loaded.problems] };
|
|
3795
3795
|
}
|
|
@@ -4713,7 +4713,7 @@ function renderBrushThumbnail(brush, options) {
|
|
|
4713
4713
|
const width = Math.max(16, Math.min(512, Math.round(_nullishCoalesce(options.width, () => ( 160)))));
|
|
4714
4714
|
const height = Math.max(16, Math.min(512, Math.round(_nullishCoalesce(options.height, () => ( 48)))));
|
|
4715
4715
|
const maxSize = height * 0.42;
|
|
4716
|
-
const b = brush.tip.size > maxSize ?
|
|
4716
|
+
const b = brush.tip.size > maxSize ? _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { tip: { ...brush.tip, size: maxSize } }, brush) : brush;
|
|
4717
4717
|
const rgba = [...hexToRgb8(options.color), 255];
|
|
4718
4718
|
let surface = _chunk474IQG74cjs.emptySurface.call(void 0, 4);
|
|
4719
4719
|
if (b.engine === "eraser") {
|
|
@@ -4996,7 +4996,7 @@ var DEFAULT_SWATCHES = [
|
|
|
4996
4996
|
// src/paint-editor/mixing-pad.ts
|
|
4997
4997
|
var MIXING_PAD_WIDTH = 360;
|
|
4998
4998
|
var MIXING_PAD_HEIGHT = 220;
|
|
4999
|
-
var PAD_PAINT =
|
|
4999
|
+
var PAD_PAINT = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, {
|
|
5000
5000
|
id: "pad-paint",
|
|
5001
5001
|
name: "Pad paint",
|
|
5002
5002
|
category: "mixer",
|
|
@@ -5004,7 +5004,7 @@ var PAD_PAINT = _chunkZBACQHW3cjs.normalizePaintBrush.call(void 0, {
|
|
|
5004
5004
|
tip: { size: 28, hardness: 0.75, spacing: 0.1, opacity: 1, flow: 0.7, pressureSize: false, pressureOpacity: false },
|
|
5005
5005
|
mixer: { wet: 0.45, load: 1, mix: 0.4, loadEachStroke: true, cleanEachStroke: true, mixing: "pigment" }
|
|
5006
5006
|
});
|
|
5007
|
-
var PAD_KNIFE =
|
|
5007
|
+
var PAD_KNIFE = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, {
|
|
5008
5008
|
id: "pad-knife",
|
|
5009
5009
|
name: "Palette knife",
|
|
5010
5010
|
category: "smudge",
|
|
@@ -5014,7 +5014,7 @@ var PAD_KNIFE = _chunkZBACQHW3cjs.normalizePaintBrush.call(void 0, {
|
|
|
5014
5014
|
// A knife drags streaks of paint and folds them into each other, mixing them as pigment.
|
|
5015
5015
|
smudge: { strength: 0.6, length: 0.8, mixing: "pigment" }
|
|
5016
5016
|
});
|
|
5017
|
-
var PAD_BLOB =
|
|
5017
|
+
var PAD_BLOB = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, {
|
|
5018
5018
|
id: "pad-blob",
|
|
5019
5019
|
name: "Pad blob",
|
|
5020
5020
|
category: "custom",
|
|
@@ -5036,7 +5036,7 @@ var MixingPad = (_class16 = class {constructor() { _class16.prototype.__init108.
|
|
|
5036
5036
|
}
|
|
5037
5037
|
}
|
|
5038
5038
|
let brush = options.tool === "knife" ? PAD_KNIFE : PAD_PAINT;
|
|
5039
|
-
if (options.size !== void 0) brush =
|
|
5039
|
+
if (options.size !== void 0) brush = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { tip: { ...brush.tip, size: options.size } }, brush);
|
|
5040
5040
|
return this.run(brush, points, options.color);
|
|
5041
5041
|
}
|
|
5042
5042
|
/** Paints `points` with `brush` in `color` on the pad. */
|
|
@@ -5135,10 +5135,10 @@ var MixingPad = (_class16 = class {constructor() { _class16.prototype.__init108.
|
|
|
5135
5135
|
const off = used.length === 1 ? 0 : 0.45 * R;
|
|
5136
5136
|
const x = Math.min(cx + R - r, Math.max(cx - R + r, cx + Math.cos(a) * off));
|
|
5137
5137
|
const y = Math.min(cy + R - r, Math.max(cy - R + r, cy + Math.sin(a) * off));
|
|
5138
|
-
const blob =
|
|
5138
|
+
const blob = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_BLOB.tip, size: Math.max(2, 2 * r) } }, PAD_BLOB);
|
|
5139
5139
|
this.run(blob, [{ x, y }], p.color.toLowerCase());
|
|
5140
5140
|
});
|
|
5141
|
-
const knife =
|
|
5141
|
+
const knife = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_KNIFE.tip, size: Math.max(12, R * 0.5) } }, PAD_KNIFE);
|
|
5142
5142
|
for (let k = 0; k < passes; k++) {
|
|
5143
5143
|
const stir = [];
|
|
5144
5144
|
const turns = 1.6;
|
|
@@ -5153,7 +5153,7 @@ var MixingPad = (_class16 = class {constructor() { _class16.prototype.__init108.
|
|
|
5153
5153
|
paints2.map((p) => hexToRgb8(p.color).map((v) => v / 255)),
|
|
5154
5154
|
paints2.map((p) => p.parts)
|
|
5155
5155
|
);
|
|
5156
|
-
const core =
|
|
5156
|
+
const core = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_BLOB.tip, size: R * 1.1, hardness: 0.55 } }, PAD_BLOB);
|
|
5157
5157
|
const hex2 = "#" + mixed.map((v) => Math.round(v * 255).toString(16).padStart(2, "0")).join("");
|
|
5158
5158
|
this.run(core, [{ x: cx, y: cy }], hex2);
|
|
5159
5159
|
return { color: this.pick(cx, cy, 2), bounds };
|
|
@@ -5193,21 +5193,21 @@ var MixingPad = (_class16 = class {constructor() { _class16.prototype.__init108.
|
|
|
5193
5193
|
var copyJSON = (v) => JSON.parse(JSON.stringify(v));
|
|
5194
5194
|
var isObject = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
5195
5195
|
function libraryBrush(spec, builtin, resolved) {
|
|
5196
|
-
const brush = resolved ?
|
|
5196
|
+
const brush = resolved ? _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, resolved, resolved) : _chunkBY5EBP26cjs.resolveBrush.call(void 0, spec);
|
|
5197
5197
|
if (builtin) brush.builtin = true;
|
|
5198
5198
|
else delete brush.builtin;
|
|
5199
5199
|
return { spec, brush, builtin };
|
|
5200
5200
|
}
|
|
5201
5201
|
var builtins = null;
|
|
5202
5202
|
function builtinLibraryBrushes() {
|
|
5203
|
-
return builtins ??=
|
|
5204
|
-
const resolved =
|
|
5203
|
+
return builtins ??= _chunkBY5EBP26cjs.BRUSH_PRESETS.map((spec) => {
|
|
5204
|
+
const resolved = _chunkBY5EBP26cjs.BUILTIN_BRUSHES.find((b) => b.id === spec.id);
|
|
5205
5205
|
return libraryBrush(spec, true, resolved);
|
|
5206
5206
|
});
|
|
5207
5207
|
}
|
|
5208
5208
|
function seededStorage(brushes) {
|
|
5209
5209
|
if (!brushes.length) return void 0;
|
|
5210
|
-
let stored = JSON.stringify({ format: "pixerate-brushes", version: 1, brushes: brushes.map(
|
|
5210
|
+
let stored = JSON.stringify({ format: "pixerate-brushes", version: 1, brushes: brushes.map(_chunkBY5EBP26cjs.brushToJSON) });
|
|
5211
5211
|
return {
|
|
5212
5212
|
get: async () => stored,
|
|
5213
5213
|
set: async (_key, value) => {
|
|
@@ -5220,7 +5220,7 @@ var paints = (b) => {
|
|
|
5220
5220
|
return JSON.stringify(rest);
|
|
5221
5221
|
};
|
|
5222
5222
|
function brushSpecOf(next, from) {
|
|
5223
|
-
const plain =
|
|
5223
|
+
const plain = _chunkBY5EBP26cjs.migrateBrushV1.call(void 0, next);
|
|
5224
5224
|
const out = copyJSON(plain);
|
|
5225
5225
|
if (from.description) out.description = from.description;
|
|
5226
5226
|
if (_optionalChain([from, 'access', _221 => _221.tags, 'optionalAccess', _222 => _222.length])) out.tags = [...from.tags];
|
|
@@ -5240,8 +5240,8 @@ function brushSpecOf(next, from) {
|
|
|
5240
5240
|
out.motion = { ..._nullishCoalesce(out.motion, () => ( {})), ...from.motion.live !== void 0 ? { live: from.motion.live } : {}, ...from.motion.fps !== void 0 ? { fps: from.motion.fps } : {} };
|
|
5241
5241
|
}
|
|
5242
5242
|
try {
|
|
5243
|
-
const hinted =
|
|
5244
|
-
if (paints(
|
|
5243
|
+
const hinted = _chunkBY5EBP26cjs.normalizeBrushSpec.call(void 0, out, []);
|
|
5244
|
+
if (paints(_chunkBY5EBP26cjs.resolveBrush.call(void 0, hinted)) === paints(_chunkBY5EBP26cjs.resolveBrush.call(void 0, plain))) return hinted;
|
|
5245
5245
|
} catch (e7) {
|
|
5246
5246
|
}
|
|
5247
5247
|
return plain;
|
|
@@ -5579,7 +5579,8 @@ async function replayPainting(source, target, options = {}) {
|
|
|
5579
5579
|
const maxStrokes = _nullishCoalesce(options.strokes, () => ( source.strokes.length));
|
|
5580
5580
|
const chunk = Math.max(1, _nullishCoalesce(options.wetChunk, () => ( 0))) || Infinity;
|
|
5581
5581
|
let strokes = 0;
|
|
5582
|
-
|
|
5582
|
+
const scaled = source.strokes.slice(0, maxStrokes).map((st) => s === 1 ? st : varyStroke(st, scaleM, { scale: s }));
|
|
5583
|
+
await target.prepareEffectPaints(scaled.flatMap((st) => _optionalChain([st, 'access', _247 => _247.paint, 'optionalAccess', _248 => _248.type]) === "effect" ? [st.paint] : []));
|
|
5583
5584
|
const advanceTo = async (clock) => {
|
|
5584
5585
|
const now = target.getState().wet.clock;
|
|
5585
5586
|
let left = clock - now;
|
|
@@ -5897,7 +5898,7 @@ async function libraryCall(call) {
|
|
|
5897
5898
|
try {
|
|
5898
5899
|
return await call();
|
|
5899
5900
|
} catch (e) {
|
|
5900
|
-
throw e instanceof
|
|
5901
|
+
throw e instanceof _chunkBY5EBP26cjs.BrushLibraryError ? new PaintEditorError(e.message) : e;
|
|
5901
5902
|
}
|
|
5902
5903
|
}
|
|
5903
5904
|
var HEX3 = /^#[0-9a-f]{6}$/i;
|
|
@@ -6027,15 +6028,15 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
6027
6028
|
this.rasterizeSticker = _nullishCoalesce(options.rasterizeSticker, () => ( defaultStickerRasterizer));
|
|
6028
6029
|
if (options.stickers) this.stickers.set(options.stickers);
|
|
6029
6030
|
this.doc = createPaintDocument({ width: options.width, height: options.height, dpi: options.dpi, paper: this.resolvePaper(options.paper) });
|
|
6030
|
-
const seed = (_nullishCoalesce(options.brushes, () => ( []))).map((b) =>
|
|
6031
|
-
this.brushLibrary = _nullishCoalesce(options.brushLibrary, () => (
|
|
6032
|
-
this.brushEntries = [...builtinLibraryBrushes(), ...seed.map((b) => libraryBrush(
|
|
6033
|
-
const wanted = _nullishCoalesce(options.brushId, () => (
|
|
6034
|
-
const start = _nullishCoalesce(this.findEntry(wanted), () => ( this.findEntry(
|
|
6035
|
-
this.brush =
|
|
6031
|
+
const seed = (_nullishCoalesce(options.brushes, () => ( []))).map((b) => _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { ...b, builtin: false }));
|
|
6032
|
+
this.brushLibrary = _nullishCoalesce(options.brushLibrary, () => ( _chunkBY5EBP26cjs.createBrushLibrary.call(void 0, { storage: seededStorage(seed) })));
|
|
6033
|
+
this.brushEntries = [...builtinLibraryBrushes(), ...seed.map((b) => libraryBrush(_chunkBY5EBP26cjs.migrateBrushV1.call(void 0, b), false, b))];
|
|
6034
|
+
const wanted = _nullishCoalesce(options.brushId, () => ( _chunkBY5EBP26cjs.DEFAULT_BRUSH_ID));
|
|
6035
|
+
const start = _nullishCoalesce(this.findEntry(wanted), () => ( this.findEntry(_chunkBY5EBP26cjs.DEFAULT_BRUSH_ID)));
|
|
6036
|
+
this.brush = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, start.brush);
|
|
6036
6037
|
this.brushSpec = copyJSON(start.spec);
|
|
6037
6038
|
this.unsubscribeLibrary = this.brushLibrary.subscribe(() => void this.refreshBrushes().catch(() => void 0));
|
|
6038
|
-
if (options.brushLibrary && seed.length) void this.brushLibrary.importFile(seed.map(
|
|
6039
|
+
if (options.brushLibrary && seed.length) void this.brushLibrary.importFile(seed.map(_chunkBY5EBP26cjs.brushToJSON)).catch(() => void 0);
|
|
6039
6040
|
void this.refreshBrushes().catch(() => void 0);
|
|
6040
6041
|
this.pendingBrushId = start.brush.id === wanted ? null : wanted;
|
|
6041
6042
|
this.color = options.color ? parseColor(options.color) : "#1f2937";
|
|
@@ -7265,7 +7266,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7265
7266
|
* its pixels are not rendered.
|
|
7266
7267
|
*/
|
|
7267
7268
|
strokeEffect(init, brush) {
|
|
7268
|
-
if (!
|
|
7269
|
+
if (!_chunkBY5EBP26cjs.brushTakesPaint.call(void 0, brush)) return null;
|
|
7269
7270
|
let source = null;
|
|
7270
7271
|
if (init.paint !== void 0) {
|
|
7271
7272
|
if (!isPaintEffectPaint(init.paint)) return null;
|
|
@@ -7326,7 +7327,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7326
7327
|
}
|
|
7327
7328
|
requireEntry(id) {
|
|
7328
7329
|
const e = this.findEntry(id);
|
|
7329
|
-
if (!e) throw new PaintEditorError(`Unknown brush "${id}". ${
|
|
7330
|
+
if (!e) throw new PaintEditorError(`Unknown brush "${id}". ${_chunkBY5EBP26cjs.closest.call(void 0, id, this.brushEntries.map((x) => x.brush.id))}Call list_brush_presets for the ids.`);
|
|
7330
7331
|
return e;
|
|
7331
7332
|
}
|
|
7332
7333
|
requireBrush(id) {
|
|
@@ -7352,7 +7353,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7352
7353
|
/** A library brush by id, as the engine paints it (`undefined` when unknown). */
|
|
7353
7354
|
getBrush(id) {
|
|
7354
7355
|
const b = this.findBrush(id);
|
|
7355
|
-
return b ?
|
|
7356
|
+
return b ? _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, b, b) : void 0;
|
|
7356
7357
|
}
|
|
7357
7358
|
/** A library brush by id as stored (its facets), or without an id the active brush as edited. */
|
|
7358
7359
|
getBrushSpec(id) {
|
|
@@ -7370,7 +7371,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7370
7371
|
const baseSpec = entry ? entry.spec : this.brushSpec;
|
|
7371
7372
|
if (changes.paint !== void 0 && changes.paint !== null) this.readStrokePaint(changes.paint);
|
|
7372
7373
|
const unchanged = !Object.keys(changes).length;
|
|
7373
|
-
const next =
|
|
7374
|
+
const next = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { ...changes, id: base.id }, base);
|
|
7374
7375
|
if (entry) this.takeBrushColour(entry.spec);
|
|
7375
7376
|
this.useBrush(next, unchanged ? baseSpec : brushSpecOf(next, baseSpec), unchanged && base.builtin === true);
|
|
7376
7377
|
return this.brush;
|
|
@@ -7389,7 +7390,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7389
7390
|
for (const k of unset) delete base[k];
|
|
7390
7391
|
const spec = this.readBrushPatch(base, patch, problems);
|
|
7391
7392
|
if (entry || _optionalChain([patch, 'access', _381 => _381.colour, 'optionalAccess', _382 => _382.default]) !== void 0) this.takeBrushColour(spec);
|
|
7392
|
-
this.useBrush(unchanged && entry ? entry.brush :
|
|
7393
|
+
this.useBrush(unchanged && entry ? entry.brush : _chunkBY5EBP26cjs.resolveBrush.call(void 0, spec), spec, unchanged && _optionalChain([entry, 'optionalAccess', _383 => _383.builtin]) === true);
|
|
7393
7394
|
return { brush: this.brush, spec: copyJSON(this.brushSpec), problems };
|
|
7394
7395
|
}
|
|
7395
7396
|
/**
|
|
@@ -7403,11 +7404,11 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7403
7404
|
if (paint && typeof paint === "object" && "type" in paint && paint.type === "gradient") this.readStrokePaint(paint);
|
|
7404
7405
|
let next;
|
|
7405
7406
|
try {
|
|
7406
|
-
next =
|
|
7407
|
+
next = _chunkBY5EBP26cjs.normalizeBrushSpec.call(void 0, { ...spec, id: this.brush.id }, problems);
|
|
7407
7408
|
} catch (e) {
|
|
7408
7409
|
throw new PaintEditorError(e.message);
|
|
7409
7410
|
}
|
|
7410
|
-
this.useBrush(
|
|
7411
|
+
this.useBrush(_chunkBY5EBP26cjs.resolveBrush.call(void 0, next), next, false);
|
|
7411
7412
|
return { brush: this.brush, spec: copyJSON(this.brushSpec), problems };
|
|
7412
7413
|
}
|
|
7413
7414
|
/**
|
|
@@ -7416,22 +7417,22 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7416
7417
|
*/
|
|
7417
7418
|
brushChanges(patch, from) {
|
|
7418
7419
|
const entry = typeof from === "string" ? this.requireEntry(from) : null;
|
|
7419
|
-
const base = entry ? entry.brush : typeof from === "object" ?
|
|
7420
|
-
const spec = entry ? entry.spec : typeof from === "object" ?
|
|
7421
|
-
return engineChanges(base,
|
|
7420
|
+
const base = entry ? entry.brush : typeof from === "object" ? _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, from, from) : this.brush;
|
|
7421
|
+
const spec = entry ? entry.spec : typeof from === "object" ? _chunkBY5EBP26cjs.migrateBrushV1.call(void 0, base) : this.brushSpec;
|
|
7422
|
+
return engineChanges(base, _chunkBY5EBP26cjs.resolveBrush.call(void 0, this.readBrushPatch(spec, patch, [])));
|
|
7422
7423
|
}
|
|
7423
7424
|
readBrushPatch(base, patch, problems) {
|
|
7424
7425
|
const { id: _id, name, ...rest } = patch;
|
|
7425
7426
|
const paint = _optionalChain([rest, 'access', _386 => _386.colour, 'optionalAccess', _387 => _387.default]);
|
|
7426
7427
|
if (paint && typeof paint === "object" && "type" in paint && paint.type === "gradient") this.readStrokePaint(paint);
|
|
7427
7428
|
try {
|
|
7428
|
-
return
|
|
7429
|
+
return _chunkBY5EBP26cjs.normalizeBrushSpec.call(void 0, _chunkF3KKR6DDcjs.mergeBrushPatch.call(void 0, base, { ...rest, ...name !== void 0 ? { name } : {} }), problems);
|
|
7429
7430
|
} catch (e) {
|
|
7430
7431
|
throw new PaintEditorError(e.message);
|
|
7431
7432
|
}
|
|
7432
7433
|
}
|
|
7433
7434
|
useBrush(next, spec, builtin) {
|
|
7434
|
-
next =
|
|
7435
|
+
next = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, next, next);
|
|
7435
7436
|
if (builtin) next.builtin = true;
|
|
7436
7437
|
else delete next.builtin;
|
|
7437
7438
|
this.brush = next;
|
|
@@ -7447,9 +7448,9 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7447
7448
|
* saved brush.
|
|
7448
7449
|
*/
|
|
7449
7450
|
async saveBrush(options) {
|
|
7450
|
-
if (!
|
|
7451
|
+
if (!_chunkBY5EBP26cjs.BRUSH_ID.test(options.id)) throw new PaintEditorError(`Brush id "${options.id}" is invalid; use lowercase letters, digits and dashes (e.g. "my-pencil").`);
|
|
7451
7452
|
if (this.brushLibrary.isBuiltin(options.id)) throw new PaintEditorError(`"${options.id}" is a built-in brush; save under another id.`);
|
|
7452
|
-
const spec = options.brush ? brushSpecOf(
|
|
7453
|
+
const spec = options.brush ? brushSpecOf(_chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, options.brush, this.brush), this.brushSpec) : this.brushSpec;
|
|
7453
7454
|
const { brush } = await libraryCall(() => this.brushLibrary.save({ ...spec, id: options.id, name: _nullishCoalesce(options.name, () => ( spec.name)) }, { overwrite: true }));
|
|
7454
7455
|
await this.refreshBrushes();
|
|
7455
7456
|
return this.requireBrush(brush.id);
|
|
@@ -7462,7 +7463,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7462
7463
|
}
|
|
7463
7464
|
/** The user's saved brushes, as the engine paints them. */
|
|
7464
7465
|
getUserBrushes() {
|
|
7465
|
-
return this.brushEntries.filter((e) => !e.builtin).map((e) =>
|
|
7466
|
+
return this.brushEntries.filter((e) => !e.builtin).map((e) => _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, e.brush, e.brush));
|
|
7466
7467
|
}
|
|
7467
7468
|
/** A brush library file (version 2) of the given brushes (default: the user's brushes). */
|
|
7468
7469
|
exportBrushes(ids) {
|
|
@@ -7570,7 +7571,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7570
7571
|
* brush's gradient, else the editor's gradient paint. Erasers, blenders and smudges take none.
|
|
7571
7572
|
*/
|
|
7572
7573
|
strokeGradient(init, brush, color) {
|
|
7573
|
-
if (!
|
|
7574
|
+
if (!_chunkBY5EBP26cjs.brushTakesPaint.call(void 0, brush)) return null;
|
|
7574
7575
|
let g = null;
|
|
7575
7576
|
if (init.paint !== void 0) {
|
|
7576
7577
|
if (isPaintEffectPaint(init.paint)) return null;
|
|
@@ -7647,7 +7648,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7647
7648
|
// --- Strokes -------------------------------------------------------------------
|
|
7648
7649
|
strokeBrush(init) {
|
|
7649
7650
|
let brush = init.brushId !== void 0 ? this.requireBrush(init.brushId) : this.brush;
|
|
7650
|
-
if (init.brush) brush =
|
|
7651
|
+
if (init.brush) brush = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { ...init.brush, id: brush.id }, brush);
|
|
7651
7652
|
return brush;
|
|
7652
7653
|
}
|
|
7653
7654
|
/**
|
|
@@ -7680,7 +7681,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7680
7681
|
return l;
|
|
7681
7682
|
})();
|
|
7682
7683
|
const brush = this.strokeBrush(init);
|
|
7683
|
-
if (this.previewing &&
|
|
7684
|
+
if (this.previewing && _chunkBY5EBP26cjs.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.`);
|
|
7684
7685
|
const effect = this.strokeEffect(init, brush);
|
|
7685
7686
|
if (brush.light.amount > 0) {
|
|
7686
7687
|
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).`);
|
|
@@ -7703,7 +7704,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7703
7704
|
throw new PaintEditorError(`Layer "${layer.name}" is a sticker layer (its pixels are drawn from its stickers); paint on another layer (add_layer).`);
|
|
7704
7705
|
}
|
|
7705
7706
|
let wet;
|
|
7706
|
-
if (
|
|
7707
|
+
if (_chunkBY5EBP26cjs.isWetBrush.call(void 0, brush)) {
|
|
7707
7708
|
this.requireWetIdle("painting");
|
|
7708
7709
|
if (layer.offset.x || layer.offset.y) {
|
|
7709
7710
|
const moved = { ...layer, surface: _chunk474IQG74cjs.translateSurface.call(void 0, layer.surface, layer.offset.x, layer.offset.y), offset: { x: 0, y: 0 } };
|
|
@@ -7797,7 +7798,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
7797
7798
|
const stroke = {
|
|
7798
7799
|
id: `s${this.strokeCounter++}`,
|
|
7799
7800
|
layerId: session.layerId,
|
|
7800
|
-
brush:
|
|
7801
|
+
brush: _chunkBY5EBP26cjs.brushToJSON.call(void 0, init.brush),
|
|
7801
7802
|
color: init.colorHex,
|
|
7802
7803
|
points: session.points.map((p) => ({ ...p })),
|
|
7803
7804
|
seed: init.seed
|
|
@@ -8048,7 +8049,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
8048
8049
|
let brush = v.brush;
|
|
8049
8050
|
if (options.brushId !== void 0) {
|
|
8050
8051
|
const b = this.requireBrush(options.brushId);
|
|
8051
|
-
brush =
|
|
8052
|
+
brush = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { tip: { ...b.tip, size: b.tip.size * (v.brush.tip.size / s.brush.tip.size) } }, b);
|
|
8052
8053
|
}
|
|
8053
8054
|
const layerId = _nullishCoalesce(options.layerId, () => ( s.layerId));
|
|
8054
8055
|
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.`);
|
|
@@ -8826,7 +8827,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
8826
8827
|
return next.type === "group" ? { ...next, children: toStandard(next.children) } : next;
|
|
8827
8828
|
});
|
|
8828
8829
|
const layers = toStandard(dried);
|
|
8829
|
-
const result =
|
|
8830
|
+
const result = _chunkKXNZNOEFcjs.exportPsd.call(void 0, { width, height, layers: [paperLayer, ...layers], merged, resolution: dpi });
|
|
8830
8831
|
for (const [mode, names] of changed) {
|
|
8831
8832
|
const label = _nullishCoalesce(_optionalChain([_chunk2VX55NFMcjs.BLEND_MODES, 'access', _493 => _493.find, 'call', _494 => _494((m) => m.id === mode), 'optionalAccess', _495 => _495.label]), () => ( mode));
|
|
8832
8833
|
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)));
|
|
@@ -9341,15 +9342,15 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
9341
9342
|
let brush = was.brush;
|
|
9342
9343
|
if (update.brushId !== void 0) {
|
|
9343
9344
|
const b = this.requireBrush(update.brushId);
|
|
9344
|
-
brush =
|
|
9345
|
+
brush = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { tip: { ...b.tip, size: was.brush.tip.size } }, b);
|
|
9345
9346
|
}
|
|
9346
9347
|
if (update.brush !== void 0) {
|
|
9347
9348
|
if (!update.brush || typeof update.brush !== "object") throw new PaintEditorError("brush must be an object of brush settings (as set_brush takes).");
|
|
9348
|
-
brush =
|
|
9349
|
+
brush = _chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { ...update.brush, id: brush.id }, brush);
|
|
9349
9350
|
}
|
|
9350
9351
|
const why = liveStrokeRefusal(brush);
|
|
9351
9352
|
if (why) throw new PaintEditorError(why);
|
|
9352
|
-
const next = { ...was, brush:
|
|
9353
|
+
const next = { ...was, brush: _chunkBY5EBP26cjs.brushToJSON.call(void 0, brush) };
|
|
9353
9354
|
if (update.seed !== void 0) {
|
|
9354
9355
|
if (!Number.isInteger(update.seed) || update.seed < 0) throw new PaintEditorError(`seed ${update.seed} must be a whole number of 0 or more.`);
|
|
9355
9356
|
next.seed = update.seed;
|
|
@@ -9588,11 +9589,11 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
|
|
|
9588
9589
|
if (!layers.length) return null;
|
|
9589
9590
|
return { layerIds: layers.map((x) => x.layer.id), strokes: layers.reduce((n, x) => n + x.strokes.filter(isLiveEffect).length, 0), sources: sources.length };
|
|
9590
9591
|
}
|
|
9591
|
-
/** Plays or pauses live effect paint, and caps its frame rate (1..60). Editor state, not an undo step. */
|
|
9592
|
+
/** Plays or pauses live effect paint, and caps its frame rate (1..60); a setting left out keeps its value. Editor state, not an undo step. */
|
|
9592
9593
|
setEffectPlayback(update) {
|
|
9593
9594
|
if (update.playing !== void 0 && typeof update.playing !== "boolean") throw new PaintEditorError("playing must be true or false.");
|
|
9594
9595
|
if (update.fps !== void 0 && !(Number.isInteger(update.fps) && update.fps >= 1 && update.fps <= 60)) throw new PaintEditorError(`fps ${update.fps} is out of range; use a whole number 1..60.`);
|
|
9595
|
-
this.effectPlaybackState = {
|
|
9596
|
+
this.effectPlaybackState = { playing: _nullishCoalesce(update.playing, () => ( this.effectPlaybackState.playing)), fps: _nullishCoalesce(update.fps, () => ( this.effectPlaybackState.fps)) };
|
|
9596
9597
|
this.emit([]);
|
|
9597
9598
|
return { ...this.effectPlaybackState, time: this.effectTime };
|
|
9598
9599
|
}
|
|
@@ -11610,7 +11611,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
11610
11611
|
name: "set_brush",
|
|
11611
11612
|
title: "Set the brush",
|
|
11612
11613
|
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).",
|
|
11613
|
-
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." }, ...
|
|
11614
|
+
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." }, ..._chunkF3KKR6DDcjs.BRUSH_PATCH_PROPERTIES, unset: _chunkF3KKR6DDcjs.BRUSH_UNSET_PROPERTY }, additionalProperties: false },
|
|
11614
11615
|
annotations: { title: "Set the brush", ...SET4 },
|
|
11615
11616
|
handler: async ({ id, unset, ...patch }) => {
|
|
11616
11617
|
const stamps = _optionalChain([patch, 'access', _574 => _574.tip, 'optionalAccess', _575 => _575.stamps]);
|
|
@@ -11706,7 +11707,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
11706
11707
|
points: POINTS,
|
|
11707
11708
|
layerId: LAYER_ID4,
|
|
11708
11709
|
brushId: { type: "string", description: "Brush id from list_brush_presets (default the active brush)." },
|
|
11709
|
-
brush: { type: "object", description: "Facets to change for this stroke only, laid over brushId or the active brush (as set_brush takes them).", properties:
|
|
11710
|
+
brush: { type: "object", description: "Facets to change for this stroke only, laid over brushId or the active brush (as set_brush takes them).", properties: _chunkF3KKR6DDcjs.BRUSH_PATCH_PROPERTIES, additionalProperties: false },
|
|
11710
11711
|
color: { ...COLOR3, description: "Paint colour #rrggbb (default the paint colour)." },
|
|
11711
11712
|
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." },
|
|
11712
11713
|
seed: { type: "integer", minimum: 0, description: "Jitter seed (default a new one); the same seed and points give the same marks." },
|
|
@@ -11722,7 +11723,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
11722
11723
|
const base = a.brushId ? c.getBrush(a.brushId) : c.getState().brush;
|
|
11723
11724
|
const brush = a.brush ? c.brushChanges(a.brush, a.brushId) : void 0;
|
|
11724
11725
|
if (base) {
|
|
11725
|
-
const refs = brushStickerRefs(
|
|
11726
|
+
const refs = brushStickerRefs(_chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { ..._nullishCoalesce(brush, () => ( {})), id: base.id }, base));
|
|
11726
11727
|
if (refs.length) await c.prepareStickers(refs);
|
|
11727
11728
|
}
|
|
11728
11729
|
const stroke = { points: a.points, layerId: a.layerId, brushId: a.brushId, brush, color: a.color, paint: a.paint, seed: a.seed, snapToPerspective: a.snapToPerspective };
|
|
@@ -11742,7 +11743,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
11742
11743
|
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." },
|
|
11743
11744
|
layerId: LAYER_ID4,
|
|
11744
11745
|
brushId: { type: "string", description: "Brush id from list_brush_presets (default the active brush)." },
|
|
11745
|
-
brush: { type: "object", description: "Facets to change for this stroke only, laid over brushId or the active brush (as set_brush takes them).", properties:
|
|
11746
|
+
brush: { type: "object", description: "Facets to change for this stroke only, laid over brushId or the active brush (as set_brush takes them).", properties: _chunkF3KKR6DDcjs.BRUSH_PATCH_PROPERTIES, additionalProperties: false },
|
|
11746
11747
|
color: { ...COLOR3, description: "Paint colour #rrggbb (default the paint colour)." },
|
|
11747
11748
|
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." },
|
|
11748
11749
|
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." }
|
|
@@ -11757,7 +11758,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
11757
11758
|
const base = a.brushId ? c.getBrush(a.brushId) : c.getState().brush;
|
|
11758
11759
|
const brush = a.brush ? c.brushChanges(a.brush, a.brushId) : void 0;
|
|
11759
11760
|
if (base) {
|
|
11760
|
-
const refs = brushStickerRefs(
|
|
11761
|
+
const refs = brushStickerRefs(_chunkBY5EBP26cjs.normalizePaintBrush.call(void 0, { ..._nullishCoalesce(brush, () => ( {})), id: base.id }, base));
|
|
11761
11762
|
if (refs.length) await c.prepareStickers(refs);
|
|
11762
11763
|
}
|
|
11763
11764
|
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;
|
|
@@ -11841,7 +11842,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
11841
11842
|
properties: {
|
|
11842
11843
|
id: { type: "string", description: "Stroke id from list_strokes {live: true}." },
|
|
11843
11844
|
brushId: { type: "string", description: "Brush id from list_brush_presets; the stroke keeps its size." },
|
|
11844
|
-
brush: { type: "object", properties:
|
|
11845
|
+
brush: { type: "object", properties: _chunkF3KKR6DDcjs.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." },
|
|
11845
11846
|
color: { type: "string", pattern: "^#[0-9a-fA-F]{6}$", description: "New colour #rrggbb (replaces gradient paint)." },
|
|
11846
11847
|
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." },
|
|
11847
11848
|
seed: { type: "integer", minimum: 0, description: "Another jitter seed: particles, scatter and texture fall differently." }
|
|
@@ -12092,7 +12093,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
|
|
|
12092
12093
|
tools.push(..._chunkYHDHFJUCcjs.createPigmentTools.call(void 0, ));
|
|
12093
12094
|
tools.push(..._chunkPE6YJMQTcjs.createStickerTools.call(void 0, { provider: () => c.stickersProvider }));
|
|
12094
12095
|
tools.push(
|
|
12095
|
-
...
|
|
12096
|
+
..._chunkKXNZNOEFcjs.createLayerEffectTools.call(void 0,
|
|
12096
12097
|
{
|
|
12097
12098
|
requireLayer: (id) => void c.getLayerEffects(id),
|
|
12098
12099
|
getLayerEffects: (id) => c.getLayerEffects(id),
|
|
@@ -12150,15 +12151,18 @@ function strokeSummary(s, withPoints, live) {
|
|
|
12150
12151
|
}
|
|
12151
12152
|
|
|
12152
12153
|
// src/paint-editor/brush-library-tools.ts
|
|
12154
|
+
function paintBrushPreviewRenderer(paper = () => DEFAULT_PAPER) {
|
|
12155
|
+
return (brush, { width, height, color }) => {
|
|
12156
|
+
const t = renderBrushThumbnail(_chunkBY5EBP26cjs.resolveBrush.call(void 0, brush), { paper: paper(), width, height, color: color.toLowerCase() });
|
|
12157
|
+
return { data: _chunkW5M3J7PVcjs.bytesToBase64.call(void 0, _chunkW5M3J7PVcjs.encodePng.call(void 0, t.width, t.height, t.data)), mimeType: "image/png" };
|
|
12158
|
+
};
|
|
12159
|
+
}
|
|
12153
12160
|
function createPaintBrushLibraryToolProvider(controller, options = {}) {
|
|
12154
|
-
return
|
|
12155
|
-
profile:
|
|
12161
|
+
return _chunkF3KKR6DDcjs.createBrushLibraryToolProvider.call(void 0, controller.brushLibrary, {
|
|
12162
|
+
profile: _chunkBY5EBP26cjs.PAINT_PROFILE,
|
|
12156
12163
|
stickers: () => controller.stickers.provider,
|
|
12157
12164
|
...options,
|
|
12158
|
-
renderPreview: (
|
|
12159
|
-
const t = renderBrushThumbnail(_chunkZBACQHW3cjs.resolveBrush.call(void 0, brush), { paper: controller.getState().document.paper, width, height, color: color.toLowerCase() });
|
|
12160
|
-
return { data: _chunkW5M3J7PVcjs.bytesToBase64.call(void 0, _chunkW5M3J7PVcjs.encodePng.call(void 0, t.width, t.height, t.data)), mimeType: "image/png" };
|
|
12161
|
-
}
|
|
12165
|
+
renderPreview: paintBrushPreviewRenderer(() => controller.getState().document.paper)
|
|
12162
12166
|
});
|
|
12163
12167
|
}
|
|
12164
12168
|
|
|
@@ -12651,7 +12655,7 @@ var DOT_ROTATION_LABELS = { follow: "Follow motion", random: "Random", fixed: "T
|
|
|
12651
12655
|
var STAMP_LABELS = { dot: "Dot", star: "Star", heart: "Heart", leaf: "Leaf", flower: "Flower", confetti: "Confetti", splat: "Splat", sparkle: "Sparkle", ring: "Ring" };
|
|
12652
12656
|
function toggleStickerRef(refs, ref2) {
|
|
12653
12657
|
if (refs.includes(ref2)) return refs.length > 1 ? refs.filter((r) => r !== ref2) : [...refs];
|
|
12654
|
-
return refs.length <
|
|
12658
|
+
return refs.length < _chunkBY5EBP26cjs.MAX_STICKER_STAMPS ? [...refs, ref2] : [...refs];
|
|
12655
12659
|
}
|
|
12656
12660
|
function stickerRefLabel(ref2) {
|
|
12657
12661
|
const stamp = ref2.startsWith("editor:") ? ref2.slice(7) : null;
|
|
@@ -12664,7 +12668,7 @@ function toggleStamp(stamps, stamp) {
|
|
|
12664
12668
|
}
|
|
12665
12669
|
function toggleDotTexture(textures, stamp) {
|
|
12666
12670
|
if (textures.includes(stamp)) return textures.filter((s) => s !== stamp);
|
|
12667
|
-
return textures.length <
|
|
12671
|
+
return textures.length < _chunkBY5EBP26cjs.MAX_DOT_TEXTURES ? [...textures, stamp] : [...textures];
|
|
12668
12672
|
}
|
|
12669
12673
|
var PATH_STROKE_TAPERS = [
|
|
12670
12674
|
{ id: "even", label: "Even" },
|
|
@@ -13458,7 +13462,7 @@ function toolList(provider) {
|
|
|
13458
13462
|
function uiTables() {
|
|
13459
13463
|
return {
|
|
13460
13464
|
tools: PAINT_TOOLS,
|
|
13461
|
-
brushOptions:
|
|
13465
|
+
brushOptions: _chunkKXNZNOEFcjs.BRUSH_OPTION_CONTROLS,
|
|
13462
13466
|
blendMenu: BLEND_MENU_GROUPS,
|
|
13463
13467
|
layerEffects: _chunkPVJMTLPJcjs.LAYER_EFFECT_MENU.map(({ kind, label }) => ({ kind, label, controls: _chunkPVJMTLPJcjs.layerEffectControls.call(void 0, _chunkPVJMTLPJcjs.defaultLayerEffect.call(void 0, kind, kind)) })),
|
|
13464
13468
|
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 },
|
|
@@ -13884,4 +13888,5 @@ function createPaintConformanceHost(setup, options) {
|
|
|
13884
13888
|
|
|
13885
13889
|
|
|
13886
13890
|
|
|
13887
|
-
exports.BACKLIGHT_SPILL = BACKLIGHT_SPILL; exports.BLEND_MENU_GROUPS = BLEND_MENU_GROUPS; exports.BLEND_MODES = _chunk2VX55NFMcjs.BLEND_MODES; exports.BRUSH_ID = _chunkZBACQHW3cjs.BRUSH_ID; exports.BRUSH_ROTATIONS = _chunkZBACQHW3cjs.BRUSH_ROTATIONS; exports.BRUSH_SLIDERS = _chunkTILEUVROcjs.BRUSH_SLIDERS; exports.BUILTIN_BRUSHES = _chunkZBACQHW3cjs.BUILTIN_BRUSHES; exports.BristleStroke = BristleStroke; exports.DEFAULT_BACKLIGHT_COLOR = DEFAULT_BACKLIGHT_COLOR; exports.DEFAULT_BEHAVIOR = _chunkZBACQHW3cjs.DEFAULT_BEHAVIOR; exports.DEFAULT_BRISTLE = _chunkZBACQHW3cjs.DEFAULT_BRISTLE; exports.DEFAULT_BRUSH_ID = _chunkZBACQHW3cjs.DEFAULT_BRUSH_ID; exports.DEFAULT_DPI = DEFAULT_DPI; exports.DEFAULT_DYNAMICS = _chunkZBACQHW3cjs.DEFAULT_DYNAMICS; exports.DEFAULT_FLOW = _chunkYHDHFJUCcjs.DEFAULT_FLOW; exports.DEFAULT_IMPASTO = _chunkZBACQHW3cjs.DEFAULT_IMPASTO; exports.DEFAULT_LIGHT = _chunkZBACQHW3cjs.DEFAULT_LIGHT; exports.DEFAULT_LIGHTING = DEFAULT_LIGHTING; exports.DEFAULT_MULTI_COLOR = _chunkZBACQHW3cjs.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 = _chunkZBACQHW3cjs.DEFAULT_PARTICLE; exports.DEFAULT_SPRAY = _chunkZBACQHW3cjs.DEFAULT_SPRAY; exports.DEFAULT_STICKER = _chunkZBACQHW3cjs.DEFAULT_STICKER; exports.DEFAULT_SWATCHES = DEFAULT_SWATCHES; exports.DEFAULT_VIEW = DEFAULT_VIEW; exports.DEFAULT_WET_BRUSH = _chunkZBACQHW3cjs.DEFAULT_WET_BRUSH; exports.DEFAULT_WET_PARAMS = _chunkYHDHFJUCcjs.DEFAULT_WET_PARAMS; exports.DOT_ROTATIONS = _chunkZBACQHW3cjs.DOT_ROTATIONS; exports.DOT_ROTATION_LABELS = DOT_ROTATION_LABELS; exports.DOT_TEXTURE_ORDERS = _chunkZBACQHW3cjs.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 = _chunkZBACQHW3cjs.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 = _chunkZBACQHW3cjs.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 = _chunkZBACQHW3cjs.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 = _chunkZBACQHW3cjs.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 = _chunkZBACQHW3cjs.PAINT_BRUSH_CATEGORIES; exports.PAINT_BRUSH_ENGINES = _chunkZBACQHW3cjs.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 = _chunkZBACQHW3cjs.PARTICLE_KINDS; exports.PARTICLE_KIND_LABELS = PARTICLE_KIND_LABELS; exports.PARTICLE_RENDERS = _chunkZBACQHW3cjs.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 = _chunkZBACQHW3cjs.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 = _chunkZBACQHW3cjs.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 = _chunkZBACQHW3cjs.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 = _chunkTILEUVROcjs.brushEngineControls; exports.brushLoadColor = brushLoadColor; exports.brushLoadForStroke = brushLoadForStroke; exports.brushTakesPaint = _chunkZBACQHW3cjs.brushTakesPaint; exports.brushToJSON = _chunkZBACQHW3cjs.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 = _chunkZBACQHW3cjs.isWetBrush; exports.isWetCapable = _chunkZBACQHW3cjs.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 = _chunkTILEUVROcjs.multiColorSliders; exports.multiColorToPaint = _chunkZBACQHW3cjs.multiColorToPaint; exports.newPaintLayerId = newPaintLayerId; exports.nextPaperEffectVersion = nextPaperEffectVersion; exports.normalizeBehavior = _chunkZBACQHW3cjs.normalizeBehavior; exports.normalizeBristle = _chunkZBACQHW3cjs.normalizeBristle; exports.normalizeBrushStroke = normalizeBrushStroke; exports.normalizeCanvas = normalizeCanvas; exports.normalizeDynamics = _chunkZBACQHW3cjs.normalizeDynamics; exports.normalizeFlow = _chunkYHDHFJUCcjs.normalizeFlow; exports.normalizeHexColor = _chunkFQPUF2W2cjs.normalizeHexColor; exports.normalizeImpasto = _chunkZBACQHW3cjs.normalizeImpasto; exports.normalizeLight = _chunkZBACQHW3cjs.normalizeLight; exports.normalizeLighting = normalizeLighting; exports.normalizeMultiColor = _chunkZBACQHW3cjs.normalizeMultiColor; exports.normalizePaintBrush = _chunkZBACQHW3cjs.normalizePaintBrush; exports.normalizePaper = normalizePaper; exports.normalizeParticle = _chunkZBACQHW3cjs.normalizeParticle; exports.normalizePerspective = normalizePerspective; exports.normalizeRotation = normalizeRotation; exports.normalizeStencil = normalizeStencil; exports.normalizeStickerSettings = _chunkZBACQHW3cjs.normalizeStickerSettings; exports.normalizeStickerUpdate = normalizeStickerUpdate; exports.normalizeSymmetry = normalizeSymmetry; exports.normalizeView = normalizeView; exports.normalizeWetBrush = _chunkZBACQHW3cjs.normalizeWetBrush; exports.normalizeWetParams = _chunkYHDHFJUCcjs.normalizeWetParams; exports.overPixels = overPixels; exports.padSampleRadius = padSampleRadius; exports.paintAgentStrokePoints = paintAgentStrokePoints; 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 = _chunkZBACQHW3cjs.paintToMultiColor; exports.paperEffectFromJSON = paperEffectFromJSON; exports.paperEffectToJSON = paperEffectToJSON; exports.paperGrain = paperGrain; exports.paperKey = paperKey; exports.paperNode = paperNode; exports.paperPreset = paperPreset; exports.parseBrushLibrary = _chunkZBACQHW3cjs.parseBrushLibrary; exports.parseHexColor = parseHexColor; exports.parsePaintSource = _chunkFQPUF2W2cjs.parsePaintSource; exports.patchBrushValue = _chunkTILEUVROcjs.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 = _chunkZBACQHW3cjs.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;
|
|
13891
|
+
|
|
13892
|
+
exports.BACKLIGHT_SPILL = BACKLIGHT_SPILL; exports.BLEND_MENU_GROUPS = BLEND_MENU_GROUPS; exports.BLEND_MODES = _chunk2VX55NFMcjs.BLEND_MODES; exports.BRUSH_ID = _chunkBY5EBP26cjs.BRUSH_ID; exports.BRUSH_ROTATIONS = _chunkBY5EBP26cjs.BRUSH_ROTATIONS; exports.BRUSH_SLIDERS = _chunkF3KKR6DDcjs.BRUSH_SLIDERS; exports.BUILTIN_BRUSHES = _chunkBY5EBP26cjs.BUILTIN_BRUSHES; exports.BristleStroke = BristleStroke; exports.DEFAULT_BACKLIGHT_COLOR = DEFAULT_BACKLIGHT_COLOR; exports.DEFAULT_BEHAVIOR = _chunkBY5EBP26cjs.DEFAULT_BEHAVIOR; exports.DEFAULT_BRISTLE = _chunkBY5EBP26cjs.DEFAULT_BRISTLE; exports.DEFAULT_BRUSH_ID = _chunkBY5EBP26cjs.DEFAULT_BRUSH_ID; exports.DEFAULT_DPI = DEFAULT_DPI; exports.DEFAULT_DYNAMICS = _chunkBY5EBP26cjs.DEFAULT_DYNAMICS; exports.DEFAULT_FLOW = _chunkYHDHFJUCcjs.DEFAULT_FLOW; exports.DEFAULT_IMPASTO = _chunkBY5EBP26cjs.DEFAULT_IMPASTO; exports.DEFAULT_LIGHT = _chunkBY5EBP26cjs.DEFAULT_LIGHT; exports.DEFAULT_LIGHTING = DEFAULT_LIGHTING; exports.DEFAULT_MULTI_COLOR = _chunkBY5EBP26cjs.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 = _chunkBY5EBP26cjs.DEFAULT_PARTICLE; exports.DEFAULT_SPRAY = _chunkBY5EBP26cjs.DEFAULT_SPRAY; exports.DEFAULT_STICKER = _chunkBY5EBP26cjs.DEFAULT_STICKER; exports.DEFAULT_SWATCHES = DEFAULT_SWATCHES; exports.DEFAULT_VIEW = DEFAULT_VIEW; exports.DEFAULT_WET_BRUSH = _chunkBY5EBP26cjs.DEFAULT_WET_BRUSH; exports.DEFAULT_WET_PARAMS = _chunkYHDHFJUCcjs.DEFAULT_WET_PARAMS; exports.DOT_ROTATIONS = _chunkBY5EBP26cjs.DOT_ROTATIONS; exports.DOT_ROTATION_LABELS = DOT_ROTATION_LABELS; exports.DOT_TEXTURE_ORDERS = _chunkBY5EBP26cjs.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 = _chunkBY5EBP26cjs.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 = _chunkBY5EBP26cjs.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 = _chunkBY5EBP26cjs.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 = _chunkBY5EBP26cjs.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 = _chunkBY5EBP26cjs.PAINT_BRUSH_CATEGORIES; exports.PAINT_BRUSH_ENGINES = _chunkBY5EBP26cjs.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 = _chunkBY5EBP26cjs.PARTICLE_KINDS; exports.PARTICLE_KIND_LABELS = PARTICLE_KIND_LABELS; exports.PARTICLE_RENDERS = _chunkBY5EBP26cjs.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 = _chunkBY5EBP26cjs.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 = _chunkBY5EBP26cjs.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 = _chunkBY5EBP26cjs.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 = _chunkF3KKR6DDcjs.brushEngineControls; exports.brushLoadColor = brushLoadColor; exports.brushLoadForStroke = brushLoadForStroke; exports.brushTakesPaint = _chunkBY5EBP26cjs.brushTakesPaint; exports.brushToJSON = _chunkBY5EBP26cjs.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 = _chunkBY5EBP26cjs.isWetBrush; exports.isWetCapable = _chunkBY5EBP26cjs.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 = _chunkF3KKR6DDcjs.multiColorSliders; exports.multiColorToPaint = _chunkBY5EBP26cjs.multiColorToPaint; exports.newPaintLayerId = newPaintLayerId; exports.nextPaperEffectVersion = nextPaperEffectVersion; exports.normalizeBehavior = _chunkBY5EBP26cjs.normalizeBehavior; exports.normalizeBristle = _chunkBY5EBP26cjs.normalizeBristle; exports.normalizeBrushStroke = normalizeBrushStroke; exports.normalizeCanvas = normalizeCanvas; exports.normalizeDynamics = _chunkBY5EBP26cjs.normalizeDynamics; exports.normalizeFlow = _chunkYHDHFJUCcjs.normalizeFlow; exports.normalizeHexColor = _chunkFQPUF2W2cjs.normalizeHexColor; exports.normalizeImpasto = _chunkBY5EBP26cjs.normalizeImpasto; exports.normalizeLight = _chunkBY5EBP26cjs.normalizeLight; exports.normalizeLighting = normalizeLighting; exports.normalizeMultiColor = _chunkBY5EBP26cjs.normalizeMultiColor; exports.normalizePaintBrush = _chunkBY5EBP26cjs.normalizePaintBrush; exports.normalizePaper = normalizePaper; exports.normalizeParticle = _chunkBY5EBP26cjs.normalizeParticle; exports.normalizePerspective = normalizePerspective; exports.normalizeRotation = normalizeRotation; exports.normalizeStencil = normalizeStencil; exports.normalizeStickerSettings = _chunkBY5EBP26cjs.normalizeStickerSettings; exports.normalizeStickerUpdate = normalizeStickerUpdate; exports.normalizeSymmetry = normalizeSymmetry; exports.normalizeView = normalizeView; exports.normalizeWetBrush = _chunkBY5EBP26cjs.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 = _chunkBY5EBP26cjs.paintToMultiColor; exports.paperEffectFromJSON = paperEffectFromJSON; exports.paperEffectToJSON = paperEffectToJSON; exports.paperGrain = paperGrain; exports.paperKey = paperKey; exports.paperNode = paperNode; exports.paperPreset = paperPreset; exports.parseBrushLibrary = _chunkBY5EBP26cjs.parseBrushLibrary; exports.parseHexColor = parseHexColor; exports.parsePaintSource = _chunkFQPUF2W2cjs.parsePaintSource; exports.patchBrushValue = _chunkF3KKR6DDcjs.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 = _chunkBY5EBP26cjs.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;
|