@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.
Files changed (49) hide show
  1. package/dist/agent/index.cjs +6 -2
  2. package/dist/agent/index.js +5 -1
  3. package/dist/animation-editor/index.cjs +59 -59
  4. package/dist/animation-editor/index.js +3 -3
  5. package/dist/brushes/index.cjs +56 -56
  6. package/dist/brushes/index.js +3 -3
  7. package/dist/brushes/presets.d.cts +3 -3
  8. package/dist/brushes/presets.d.ts +3 -3
  9. package/dist/brushes/resolve.d.cts +1 -1
  10. package/dist/brushes/resolve.d.ts +1 -1
  11. package/dist/{brushstrokeRender-JQ2XQRUD.cjs → brushstrokeRender-FSUWXUZY.cjs} +15 -15
  12. package/dist/{brushstrokeRender-4UB6NRJW.js → brushstrokeRender-KD453OBX.js} +3 -3
  13. package/dist/canvas/index.cjs +13 -13
  14. package/dist/canvas/index.js +1 -1
  15. package/dist/{chunk-Q6RVVJW6.js → chunk-3C33YTNN.js} +1 -1
  16. package/dist/{chunk-NOP4Y5AB.cjs → chunk-3SBLVGOM.cjs} +23 -23
  17. package/dist/{chunk-ZS7LB2MV.js → chunk-4ODRXQRW.js} +1 -1
  18. package/dist/{chunk-O53MOGXG.cjs → chunk-AQZQWXEU.cjs} +35 -35
  19. package/dist/{chunk-J4SGJCPW.js → chunk-CIJBSUM5.js} +1133 -1806
  20. package/dist/{chunk-XDNWQMHY.js → chunk-DXYHQ2VN.js} +1 -1
  21. package/dist/{chunk-BLR4KWYQ.js → chunk-EZOJBP4D.js} +1 -1
  22. package/dist/{chunk-Z2Z2OHRM.js → chunk-LK4SXL3V.js} +1 -1
  23. package/dist/{chunk-DGXTEPCU.cjs → chunk-MVUQSK5J.cjs} +86 -86
  24. package/dist/{chunk-ZQI3WUPP.js → chunk-QCLY5SFS.js} +12 -0
  25. package/dist/{chunk-WY23AUCA.js → chunk-R44Y3EFS.js} +1 -1
  26. package/dist/{chunk-677777GH.cjs → chunk-RFJZGTHA.cjs} +1137 -1810
  27. package/dist/{chunk-7PW6VCNW.js → chunk-T2LDTEXK.js} +1 -1
  28. package/dist/{chunk-7NQOGWLM.cjs → chunk-TOID45I2.cjs} +1 -1
  29. package/dist/{chunk-DEBIFWY6.cjs → chunk-VRK322ZC.cjs} +2 -2
  30. package/dist/{chunk-5OE4ZZ6V.cjs → chunk-WLUVZKVD.cjs} +30 -30
  31. package/dist/{chunk-ZHRVCW3M.cjs → chunk-XRXFVRGY.cjs} +10 -10
  32. package/dist/{chunk-YBC3RKT2.cjs → chunk-ZGXJ7BTR.cjs} +13 -1
  33. package/dist/image-editor/index.cjs +786 -786
  34. package/dist/image-editor/index.js +4 -4
  35. package/dist/paint-editor/brush-model.d.cts +273 -0
  36. package/dist/paint-editor/brush-model.d.ts +273 -0
  37. package/dist/paint-editor/brushes.d.cts +6 -270
  38. package/dist/paint-editor/brushes.d.ts +6 -270
  39. package/dist/paint-editor/index.cjs +79 -79
  40. package/dist/paint-editor/index.js +5 -5
  41. package/dist/paint-editor/ui.d.cts +1 -1
  42. package/dist/paint-editor/ui.d.ts +1 -1
  43. package/dist/tools/conformance.d.cts +8 -0
  44. package/dist/tools/conformance.d.ts +8 -0
  45. package/dist/tools/index.cjs +6 -2
  46. package/dist/tools/index.js +5 -1
  47. package/dist/vector/index.cjs +988 -988
  48. package/dist/vector/index.js +4 -4
  49. package/package.json +1 -1
@@ -11,7 +11,7 @@ var _chunkXORJ7UZOcjs = require('../chunk-XORJ7UZO.cjs');
11
11
 
12
12
 
13
13
 
14
- var _chunk5OE4ZZ6Vcjs = require('../chunk-5OE4ZZ6V.cjs');
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 _chunkDEBIFWY6cjs = require('../chunk-DEBIFWY6.cjs');
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 _chunkDGXTEPCUcjs = require('../chunk-DGXTEPCU.cjs');
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-ZHRVCW3M.cjs');
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 _chunk677777GHcjs = require('../chunk-677777GH.cjs');
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 _chunk677777GHcjs.normalizePaintBrush.call(void 0,
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" || _chunk677777GHcjs.usesPaintExchange.call(void 0, brush, Boolean(init.paint))) {
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 (_chunk677777GHcjs.usesPaintExchange.call(void 0, brush)) return { reservoir: [color[0], color[1], color[2]], amount: 1, pickup: brush.behavior.dirty ? current.pickup : null };
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 _chunk677777GHcjs.resolveBrush.call(void 0, _chunk677777GHcjs.normalizeBrushSpec.call(void 0, raw));
3510
+ return _chunkRFJZGTHAcjs.resolveBrush.call(void 0, _chunkRFJZGTHAcjs.normalizeBrushSpec.call(void 0, raw));
3511
3511
  } catch (e5) {
3512
3512
  }
3513
3513
  }
3514
- return _chunk677777GHcjs.normalizePaintBrush.call(void 0, _nullishCoalesce(raw, () => ( {})));
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: _chunk677777GHcjs.migrateBrushV1.call(void 0, 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 ? _chunk677777GHcjs.normalizePaintBrush.call(void 0, { ...stroke.brush, tip: { ...stroke.brush.tip, size: stroke.brush.tip.size * s } }) : stroke.brush;
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 } = _chunkDGXTEPCUcjs.serializeLayers.call(void 0, state.layers);
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 _chunkDGXTEPCUcjs.serializeLayersExternal.call(void 0, state.layers, store);
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(_chunkDGXTEPCUcjs.deserializeLayers.call(void 0, r.layers, { assets, problems }), problems);
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 _chunkDGXTEPCUcjs.resolveExternalAssets.call(void 0, _nullishCoalesce(r.assets, () => ( {})), store, problems);
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 ? _chunk677777GHcjs.normalizePaintBrush.call(void 0, { tip: { ...brush.tip, size: maxSize } }, brush) : brush;
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 && _chunkDEBIFWY6cjs.brushPreviewsOnDark.call(void 0, b) ? { ...options.paper, color: _chunkDEBIFWY6cjs.BRUSH_PREVIEW_DARK_PAPER } : options.paper;
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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, {
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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, {
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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, {
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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, { tip: { ...brush.tip, size: options.size } }, 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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_BLOB.tip, size: Math.max(2, 2 * r) } }, PAD_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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_KNIFE.tip, size: Math.max(12, R * 0.5) } }, PAD_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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_BLOB.tip, size: R * 1.1, hardness: 0.55 } }, PAD_BLOB);
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 ? _chunk677777GHcjs.normalizePaintBrush.call(void 0, resolved, resolved) : _chunk677777GHcjs.resolveBrush.call(void 0, spec);
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 ??= _chunk677777GHcjs.BRUSH_PRESETS.map((spec) => {
5207
- const resolved = _chunk677777GHcjs.BUILTIN_BRUSHES.find((b) => b.id === spec.id);
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(_chunk677777GHcjs.brushToJSON) });
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 = _chunk677777GHcjs.migrateBrushV1.call(void 0, next);
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 = _chunk677777GHcjs.normalizeBrushSpec.call(void 0, out, []);
5247
- if (paints(_chunk677777GHcjs.resolveBrush.call(void 0, hinted)) === paints(_chunk677777GHcjs.resolveBrush.call(void 0, plain))) return hinted;
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 _chunk677777GHcjs.BrushLibraryError ? new PaintEditorError(e.message) : e;
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) => _chunk677777GHcjs.normalizePaintBrush.call(void 0, { ...b, builtin: false }));
6035
- this.brushLibrary = _nullishCoalesce(options.brushLibrary, () => ( _chunk677777GHcjs.createBrushLibrary.call(void 0, { storage: seededStorage(seed) })));
6036
- this.brushEntries = [...builtinLibraryBrushes(), ...seed.map((b) => libraryBrush(_chunk677777GHcjs.migrateBrushV1.call(void 0, b), false, b))];
6037
- const wanted = _nullishCoalesce(options.brushId, () => ( _chunk677777GHcjs.DEFAULT_BRUSH_ID));
6038
- const start = _nullishCoalesce(this.findEntry(wanted), () => ( this.findEntry(_chunk677777GHcjs.DEFAULT_BRUSH_ID)));
6039
- this.brush = _chunk677777GHcjs.normalizePaintBrush.call(void 0, start.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(_chunk677777GHcjs.brushToJSON)).catch(() => void 0);
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 (!_chunk677777GHcjs.brushTakesPaint.call(void 0, brush)) return null;
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}". ${_chunk677777GHcjs.closest.call(void 0, id, this.brushEntries.map((x) => x.brush.id))}Call list_brush_presets for the ids.`);
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 ? _chunk677777GHcjs.normalizePaintBrush.call(void 0, b, b) : void 0;
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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, { ...changes, id: base.id }, base);
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 : _chunk677777GHcjs.resolveBrush.call(void 0, spec), spec, unchanged && _optionalChain([entry, 'optionalAccess', _383 => _383.builtin]) === true);
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 = _chunk677777GHcjs.normalizeBrushSpec.call(void 0, { ...spec, id: this.brush.id }, problems);
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(_chunk677777GHcjs.resolveBrush.call(void 0, next), next, false);
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" ? _chunk677777GHcjs.normalizePaintBrush.call(void 0, from, from) : this.brush;
7424
- const spec = entry ? entry.spec : typeof from === "object" ? _chunk677777GHcjs.migrateBrushV1.call(void 0, base) : this.brushSpec;
7425
- return engineChanges(base, _chunk677777GHcjs.resolveBrush.call(void 0, this.readBrushPatch(spec, patch, [])));
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 _chunk677777GHcjs.normalizeBrushSpec.call(void 0, _chunk5OE4ZZ6Vcjs.mergeBrushPatch.call(void 0, base, { ...rest, ...name !== void 0 ? { name } : {} }), problems);
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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, next, 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 (!_chunk677777GHcjs.BRUSH_ID.test(options.id)) throw new PaintEditorError(`Brush id "${options.id}" is invalid; use lowercase letters, digits and dashes (e.g. "my-pencil").`);
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(_chunk677777GHcjs.normalizePaintBrush.call(void 0, options.brush, this.brush), this.brushSpec) : this.brushSpec;
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) => _chunk677777GHcjs.normalizePaintBrush.call(void 0, e.brush, e.brush));
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 (!_chunk677777GHcjs.brushTakesPaint.call(void 0, brush)) return null;
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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, { ...init.brush, id: brush.id }, 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 && _chunk677777GHcjs.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.`);
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 (_chunk677777GHcjs.isWetBrush.call(void 0, brush)) {
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: _chunk677777GHcjs.brushToJSON.call(void 0, init.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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, { tip: { ...b.tip, size: b.tip.size * (v.brush.tip.size / s.brush.tip.size) } }, b);
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 = _chunkDGXTEPCUcjs.exportPsd.call(void 0, { width, height, layers: [paperLayer, ...layers], merged, resolution: dpi });
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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, { tip: { ...b.tip, size: was.brush.tip.size } }, b);
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 = _chunk677777GHcjs.normalizePaintBrush.call(void 0, { ...update.brush, id: brush.id }, 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: _chunk677777GHcjs.brushToJSON.call(void 0, 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." }, ..._chunk5OE4ZZ6Vcjs.BRUSH_PATCH_PROPERTIES, unset: _chunk5OE4ZZ6Vcjs.BRUSH_UNSET_PROPERTY }, additionalProperties: false },
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: _chunk5OE4ZZ6Vcjs.BRUSH_PATCH_PROPERTIES, additionalProperties: false },
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(_chunk677777GHcjs.normalizePaintBrush.call(void 0, { ..._nullishCoalesce(brush, () => ( {})), id: base.id }, base));
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: _chunk5OE4ZZ6Vcjs.BRUSH_PATCH_PROPERTIES, additionalProperties: false },
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(_chunk677777GHcjs.normalizePaintBrush.call(void 0, { ..._nullishCoalesce(brush, () => ( {})), id: base.id }, base));
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: _chunk5OE4ZZ6Vcjs.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." },
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
- ..._chunkDGXTEPCUcjs.createLayerEffectTools.call(void 0,
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(_chunk677777GHcjs.resolveBrush.call(void 0, brush), { paper: paper(), width, height, color: color.toLowerCase() });
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 _chunk5OE4ZZ6Vcjs.createBrushLibraryToolProvider.call(void 0, controller.brushLibrary, {
12166
- profile: _chunk677777GHcjs.PAINT_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 < _chunk677777GHcjs.MAX_STICKER_STAMPS ? [...refs, ref2] : [...refs];
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 < _chunk677777GHcjs.MAX_DOT_TEXTURES ? [...textures, stamp] : [...textures];
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: _chunkDGXTEPCUcjs.BRUSH_OPTION_CONTROLS,
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;