@pixerate/editor 0.254.0 → 0.255.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/agent/index.cjs +2 -2
  2. package/dist/agent/index.js +1 -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 +31 -29
  6. package/dist/brushes/index.d.cts +1 -1
  7. package/dist/brushes/index.d.ts +1 -1
  8. package/dist/brushes/index.js +27 -25
  9. package/dist/brushes/library.d.cts +17 -0
  10. package/dist/brushes/library.d.ts +17 -0
  11. package/dist/{brushstrokeRender-5PYSKZIJ.js → brushstrokeRender-HCOQUSWW.js} +53 -18
  12. package/dist/{brushstrokeRender-7FLLSQEC.cjs → brushstrokeRender-ZZOXI5O5.cjs} +55 -20
  13. package/dist/canvas/brushTypes.d.cts +22 -3
  14. package/dist/canvas/brushTypes.d.ts +22 -3
  15. package/dist/canvas/brushstroke.d.cts +34 -12
  16. package/dist/canvas/brushstroke.d.ts +34 -12
  17. package/dist/canvas/brushstrokeRender.d.cts +14 -8
  18. package/dist/canvas/brushstrokeRender.d.ts +14 -8
  19. package/dist/canvas/changeFeed.d.cts +6 -0
  20. package/dist/canvas/changeFeed.d.ts +6 -0
  21. package/dist/canvas/drawController.d.cts +11 -3
  22. package/dist/canvas/drawController.d.ts +11 -3
  23. package/dist/canvas/freehand.d.cts +6 -1
  24. package/dist/canvas/freehand.d.ts +6 -1
  25. package/dist/canvas/index.cjs +123 -104
  26. package/dist/canvas/index.js +25 -6
  27. package/dist/{chunk-XVIK73LS.js → chunk-5P4JEOIV.js} +4 -4
  28. package/dist/{chunk-JPEHXIB5.cjs → chunk-5YWWQ36H.cjs} +66 -21
  29. package/dist/{chunk-CHAWTXBE.cjs → chunk-6WCQ35GI.cjs} +4 -4
  30. package/dist/{chunk-GYMMNCFT.js → chunk-AF23QK5F.js} +56 -11
  31. package/dist/{chunk-JFHBXNR2.cjs → chunk-B7V34GIH.cjs} +86 -86
  32. package/dist/{chunk-QC3OXRE4.js → chunk-DMTEQ6SH.js} +1 -1
  33. package/dist/{chunk-TLOGFIIV.cjs → chunk-GCTUOTCW.cjs} +35 -35
  34. package/dist/{chunk-34KLWUH4.cjs → chunk-HIMGBZAM.cjs} +1133 -597
  35. package/dist/{chunk-7P6VF3FG.js → chunk-HYWRU5VX.js} +1 -1
  36. package/dist/{chunk-QPHNVZHO.js → chunk-JVRLGV3C.js} +1118 -582
  37. package/dist/{chunk-LFMKWGFL.cjs → chunk-LRNUZKWV.cjs} +22 -8
  38. package/dist/chunk-PGPFWC35.cjs +517 -0
  39. package/dist/{chunk-QLSGTCYT.cjs → chunk-TBAVCLEQ.cjs} +23 -23
  40. package/dist/{chunk-2ZJ4DT3M.js → chunk-VUKUTT2W.js} +1 -1
  41. package/dist/{chunk-5JNA6LLY.js → chunk-WYGSR3IJ.js} +22 -8
  42. package/dist/chunk-YHUMGBZD.js +517 -0
  43. package/dist/commands/builtins.d.cts +1 -1
  44. package/dist/commands/builtins.d.ts +1 -1
  45. package/dist/commands/index.cjs +2 -2
  46. package/dist/commands/index.js +1 -1
  47. package/dist/image-editor/brush-presets.d.cts +32 -0
  48. package/dist/image-editor/brush-presets.d.ts +32 -0
  49. package/dist/image-editor/controller.d.cts +15 -0
  50. package/dist/image-editor/controller.d.ts +15 -0
  51. package/dist/image-editor/index.cjs +848 -775
  52. package/dist/image-editor/index.d.cts +1 -0
  53. package/dist/image-editor/index.d.ts +1 -0
  54. package/dist/image-editor/index.js +81 -8
  55. package/dist/image-editor/types.d.cts +7 -0
  56. package/dist/image-editor/types.d.ts +7 -0
  57. package/dist/paint-editor/index.cjs +80 -80
  58. package/dist/paint-editor/index.js +13 -13
  59. package/dist/vector/brushstroke.d.cts +21 -5
  60. package/dist/vector/brushstroke.d.ts +21 -5
  61. package/dist/vector/controller.d.cts +14 -1
  62. package/dist/vector/controller.d.ts +14 -1
  63. package/dist/vector/index.cjs +1220 -1199
  64. package/dist/vector/index.js +34 -13
  65. package/dist/vector/types.d.cts +7 -0
  66. package/dist/vector/types.d.ts +7 -0
  67. package/package.json +1 -1
  68. package/skills/pixerate-brushes/SKILL.md +9 -3
  69. package/skills/pixerate-canvas/SKILL.md +10 -5
  70. package/skills/pixerate-image-editor/SKILL.md +2 -1
  71. package/skills/pixerate-vector/SKILL.md +1 -1
  72. package/dist/chunk-HS6QDWDF.cjs +0 -1029
  73. package/dist/chunk-MTKY6K3Q.js +0 -1029
@@ -13,15 +13,7 @@ var _chunkSABJMH6Mcjs = require('../chunk-SABJMH6M.cjs');
13
13
 
14
14
 
15
15
 
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
- var _chunk34KLWUH4cjs = require('../chunk-34KLWUH4.cjs');
16
+ var _chunkPGPFWC35cjs = require('../chunk-PGPFWC35.cjs');
25
17
 
26
18
 
27
19
  var _chunkCBVNCWJMcjs = require('../chunk-CBVNCWJM.cjs');
@@ -32,7 +24,7 @@ var _chunkCBVNCWJMcjs = require('../chunk-CBVNCWJM.cjs');
32
24
 
33
25
 
34
26
 
35
- var _chunkJFHBXNR2cjs = require('../chunk-JFHBXNR2.cjs');
27
+ var _chunkB7V34GIHcjs = require('../chunk-B7V34GIH.cjs');
36
28
  require('../chunk-A2IS7EHE.cjs');
37
29
  require('../chunk-SS53NNZO.cjs');
38
30
 
@@ -88,7 +80,15 @@ var _chunkJLWLX52Lcjs = require('../chunk-JLWLX52L.cjs');
88
80
 
89
81
 
90
82
  var _chunkK7ENM55Pcjs = require('../chunk-K7ENM55P.cjs');
91
- require('../chunk-JPEHXIB5.cjs');
83
+ require('../chunk-5YWWQ36H.cjs');
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
92
 
93
93
 
94
94
 
@@ -134,7 +134,7 @@ require('../chunk-JPEHXIB5.cjs');
134
134
 
135
135
 
136
136
 
137
- var _chunkHS6QDWDFcjs = require('../chunk-HS6QDWDF.cjs');
137
+ var _chunkHIMGBZAMcjs = require('../chunk-HIMGBZAM.cjs');
138
138
 
139
139
 
140
140
 
@@ -1616,7 +1616,7 @@ function shadowToLight(shadow) {
1616
1616
  return new (0, _chunk474IQG74cjs.TiledSurface)(1, tiles, 0);
1617
1617
  }
1618
1618
  function lightTwinBrush(brush) {
1619
- return _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0,
1619
+ return _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0,
1620
1620
  {
1621
1621
  tip: { ...brush.tip, blend: "normal", pressureOpacity: brush.tip.pressureOpacity || brush.light.pressure },
1622
1622
  behavior: { ...brush.behavior, mixing: "rgb" },
@@ -2846,7 +2846,7 @@ var PaintStrokeSession = (_class12 = class _PaintStrokeSession {
2846
2846
  } else if (init.thick) {
2847
2847
  const rgb = (c) => [c[0] / 255, c[1] / 255, c[2] / 255];
2848
2848
  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 });
2849
- } else if (brush.engine === "mixer" || brush.engine === "blender" || brush.engine === "smudge" || _chunkHS6QDWDFcjs.usesPaintExchange.call(void 0, brush, Boolean(init.paint))) {
2849
+ } else if (brush.engine === "mixer" || brush.engine === "blender" || brush.engine === "smudge" || _chunkHIMGBZAMcjs.usesPaintExchange.call(void 0, brush, Boolean(init.paint))) {
2850
2850
  const rgb = (c) => [c[0] / 255, c[1] / 255, c[2] / 255];
2851
2851
  this.wet = new PaintDabStroke(brush, {
2852
2852
  target: this.tileTarget(),
@@ -3084,7 +3084,7 @@ function brushLoadForStroke(brush, current, color) {
3084
3084
  if (brush.engine === "mixer") return mixerLoadForStroke(brush, current, color);
3085
3085
  if (brush.engine === "impasto") return { reservoir: [color[0], color[1], color[2]], amount: 1, pickup: brush.behavior.dirty ? current.pickup : null };
3086
3086
  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;
3087
- if (_chunkHS6QDWDFcjs.usesPaintExchange.call(void 0, brush)) return { reservoir: [color[0], color[1], color[2]], amount: 1, pickup: brush.behavior.dirty ? current.pickup : null };
3087
+ if (_chunkHIMGBZAMcjs.usesPaintExchange.call(void 0, brush)) return { reservoir: [color[0], color[1], color[2]], amount: 1, pickup: brush.behavior.dirty ? current.pickup : null };
3088
3088
  return _chunkFQPUF2W2cjs.EMPTY_MIXER_LOAD;
3089
3089
  }
3090
3090
 
@@ -3346,15 +3346,15 @@ function readLoad(raw) {
3346
3346
  function readStrokeBrush(raw) {
3347
3347
  if (raw && typeof raw === "object" && "kind" in raw && !("engine" in raw)) {
3348
3348
  try {
3349
- return _chunk34KLWUH4cjs.resolveBrush.call(void 0, _chunk34KLWUH4cjs.normalizeBrushSpec.call(void 0, raw));
3349
+ return _chunkHIMGBZAMcjs.resolveBrush.call(void 0, _chunkHIMGBZAMcjs.normalizeBrushSpec.call(void 0, raw));
3350
3350
  } catch (e4) {
3351
3351
  }
3352
3352
  }
3353
- return _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, _nullishCoalesce(raw, () => ( {})));
3353
+ return _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, _nullishCoalesce(raw, () => ( {})));
3354
3354
  }
3355
3355
  function strokeToJSON(stroke) {
3356
3356
  const { brush, ...rest } = stroke;
3357
- return { ...JSON.parse(JSON.stringify(rest)), brush: _chunk34KLWUH4cjs.migrateBrushV1.call(void 0, brush) };
3357
+ return { ...JSON.parse(JSON.stringify(rest)), brush: _chunkHIMGBZAMcjs.migrateBrushV1.call(void 0, brush) };
3358
3358
  }
3359
3359
  function normalizeBrushStroke(raw) {
3360
3360
  if (!raw || typeof raw !== "object") return null;
@@ -3424,7 +3424,7 @@ function varyStroke(stroke, m, v) {
3424
3424
  if (ps !== 1) q.pressure = Math.min(1, Math.max(0, (_nullishCoalesce(p.pressure, () => ( 1))) * ps));
3425
3425
  return q;
3426
3426
  });
3427
- const brush = s !== 1 ? _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, { ...stroke.brush, tip: { ...stroke.brush.tip, size: stroke.brush.tip.size * s } }) : stroke.brush;
3427
+ const brush = s !== 1 ? _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, { ...stroke.brush, tip: { ...stroke.brush.tip, size: stroke.brush.tip.size * s } }) : stroke.brush;
3428
3428
  const out = { ...stroke, brush, points };
3429
3429
  if (_optionalChain([stroke, 'access', _108 => _108.paint, 'optionalAccess', _109 => _109.type]) === "gradient" && s !== 1) out.paint = _chunkFQPUF2W2cjs.scalePaintGradient.call(void 0, stroke.paint, s);
3430
3430
  if (_optionalChain([stroke, 'access', _110 => _110.paint, 'optionalAccess', _111 => _111.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))) } };
@@ -3574,11 +3574,11 @@ function header(state, options) {
3574
3574
  return out;
3575
3575
  }
3576
3576
  function serializePaintDocument(state, options = {}) {
3577
- const { layers, assets } = _chunkJFHBXNR2cjs.serializeLayers.call(void 0, state.layers);
3577
+ const { layers, assets } = _chunkB7V34GIHcjs.serializeLayers.call(void 0, state.layers);
3578
3578
  return { ...header(state, options), layers, assets };
3579
3579
  }
3580
3580
  async function serializePaintDocumentExternal(state, store, options = {}) {
3581
- const { layers, assets } = await _chunkJFHBXNR2cjs.serializeLayersExternal.call(void 0, state.layers, store);
3581
+ const { layers, assets } = await _chunkB7V34GIHcjs.serializeLayersExternal.call(void 0, state.layers, store);
3582
3582
  return { ...header(state, options), layers, assets };
3583
3583
  }
3584
3584
  function paintLayersOnly(layers, problems) {
@@ -3615,7 +3615,7 @@ function deserializePaintDocument(raw) {
3615
3615
  const canvas = normalizeCanvas({ width: r.width, height: r.height, dpi: _nullishCoalesce(r.dpi, () => ( void 0)) });
3616
3616
  const paper = normalizePaper(_nullishCoalesce(r.paper, () => ( {})));
3617
3617
  const assets = r.assets && typeof r.assets === "object" ? r.assets : {};
3618
- const layers = paintLayersOnly(_chunkJFHBXNR2cjs.deserializeLayers.call(void 0, r.layers, { assets, problems }), problems);
3618
+ const layers = paintLayersOnly(_chunkB7V34GIHcjs.deserializeLayers.call(void 0, r.layers, { assets, problems }), problems);
3619
3619
  const wanted = typeof r.activeLayerId === "string" ? r.activeLayerId : null;
3620
3620
  const activeLayerId = wanted && _chunkDPYAO5U6cjs.findLayer.call(void 0, layers, wanted) ? wanted : _nullishCoalesce(_optionalChain([_chunkDPYAO5U6cjs.flattenLayers.call(void 0, layers), 'access', _125 => _125.filter, 'call', _126 => _126((l) => l.type === "pixel"), 'access', _127 => _127.pop, 'call', _128 => _128(), 'optionalAccess', _129 => _129.id]), () => ( null));
3621
3621
  const wetEvents = Array.isArray(r.wetEvents) ? r.wetEvents.filter((e) => e && typeof e === "object" && Number.isInteger(e.clock) && typeof e.kind === "string") : [];
@@ -3631,7 +3631,7 @@ async function deserializePaintDocumentAsync(raw, store) {
3631
3631
  if (!raw || typeof raw !== "object") throw new Error("Not a paint document: expected a JSON object.");
3632
3632
  const r = raw;
3633
3633
  const problems = [];
3634
- const assets = await _chunkJFHBXNR2cjs.resolveExternalAssets.call(void 0, _nullishCoalesce(r.assets, () => ( {})), store, problems);
3634
+ const assets = await _chunkB7V34GIHcjs.resolveExternalAssets.call(void 0, _nullishCoalesce(r.assets, () => ( {})), store, problems);
3635
3635
  const loaded = deserializePaintDocument({ ...r, assets });
3636
3636
  return { ...loaded, problems: [...problems, ...loaded.problems] };
3637
3637
  }
@@ -4555,7 +4555,7 @@ function renderBrushThumbnail(brush, options) {
4555
4555
  const width = Math.max(16, Math.min(512, Math.round(_nullishCoalesce(options.width, () => ( 160)))));
4556
4556
  const height = Math.max(16, Math.min(512, Math.round(_nullishCoalesce(options.height, () => ( 48)))));
4557
4557
  const maxSize = height * 0.42;
4558
- const b = brush.tip.size > maxSize ? _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, { tip: { ...brush.tip, size: maxSize } }, brush) : brush;
4558
+ const b = brush.tip.size > maxSize ? _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, { tip: { ...brush.tip, size: maxSize } }, brush) : brush;
4559
4559
  const rgba = [...hexToRgb8(options.color), 255];
4560
4560
  let surface = _chunk474IQG74cjs.emptySurface.call(void 0, 4);
4561
4561
  if (b.engine === "eraser") {
@@ -4838,7 +4838,7 @@ var DEFAULT_SWATCHES = [
4838
4838
  // src/paint-editor/mixing-pad.ts
4839
4839
  var MIXING_PAD_WIDTH = 360;
4840
4840
  var MIXING_PAD_HEIGHT = 220;
4841
- var PAD_PAINT = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, {
4841
+ var PAD_PAINT = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, {
4842
4842
  id: "pad-paint",
4843
4843
  name: "Pad paint",
4844
4844
  category: "mixer",
@@ -4846,7 +4846,7 @@ var PAD_PAINT = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, {
4846
4846
  tip: { size: 28, hardness: 0.75, spacing: 0.1, opacity: 1, flow: 0.7, pressureSize: false, pressureOpacity: false },
4847
4847
  mixer: { wet: 0.45, load: 1, mix: 0.4, loadEachStroke: true, cleanEachStroke: true, mixing: "pigment" }
4848
4848
  });
4849
- var PAD_KNIFE = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, {
4849
+ var PAD_KNIFE = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, {
4850
4850
  id: "pad-knife",
4851
4851
  name: "Palette knife",
4852
4852
  category: "smudge",
@@ -4856,7 +4856,7 @@ var PAD_KNIFE = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, {
4856
4856
  // A knife drags streaks of paint and folds them into each other, mixing them as pigment.
4857
4857
  smudge: { strength: 0.6, length: 0.8, mixing: "pigment" }
4858
4858
  });
4859
- var PAD_BLOB = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, {
4859
+ var PAD_BLOB = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, {
4860
4860
  id: "pad-blob",
4861
4861
  name: "Pad blob",
4862
4862
  category: "custom",
@@ -4878,7 +4878,7 @@ var MixingPad = (_class16 = class {constructor() { _class16.prototype.__init106.
4878
4878
  }
4879
4879
  }
4880
4880
  let brush = options.tool === "knife" ? PAD_KNIFE : PAD_PAINT;
4881
- if (options.size !== void 0) brush = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, { tip: { ...brush.tip, size: options.size } }, brush);
4881
+ if (options.size !== void 0) brush = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, { tip: { ...brush.tip, size: options.size } }, brush);
4882
4882
  return this.run(brush, points, options.color);
4883
4883
  }
4884
4884
  /** Paints `points` with `brush` in `color` on the pad. */
@@ -4977,10 +4977,10 @@ var MixingPad = (_class16 = class {constructor() { _class16.prototype.__init106.
4977
4977
  const off = used.length === 1 ? 0 : 0.45 * R;
4978
4978
  const x = Math.min(cx + R - r, Math.max(cx - R + r, cx + Math.cos(a) * off));
4979
4979
  const y = Math.min(cy + R - r, Math.max(cy - R + r, cy + Math.sin(a) * off));
4980
- const blob = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_BLOB.tip, size: Math.max(2, 2 * r) } }, PAD_BLOB);
4980
+ const blob = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_BLOB.tip, size: Math.max(2, 2 * r) } }, PAD_BLOB);
4981
4981
  this.run(blob, [{ x, y }], p.color.toLowerCase());
4982
4982
  });
4983
- const knife = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_KNIFE.tip, size: Math.max(12, R * 0.5) } }, PAD_KNIFE);
4983
+ const knife = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_KNIFE.tip, size: Math.max(12, R * 0.5) } }, PAD_KNIFE);
4984
4984
  for (let k = 0; k < passes; k++) {
4985
4985
  const stir = [];
4986
4986
  const turns = 1.6;
@@ -4995,7 +4995,7 @@ var MixingPad = (_class16 = class {constructor() { _class16.prototype.__init106.
4995
4995
  paints2.map((p) => hexToRgb8(p.color).map((v) => v / 255)),
4996
4996
  paints2.map((p) => p.parts)
4997
4997
  );
4998
- const core = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_BLOB.tip, size: R * 1.1, hardness: 0.55 } }, PAD_BLOB);
4998
+ const core = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, { tip: { ...PAD_BLOB.tip, size: R * 1.1, hardness: 0.55 } }, PAD_BLOB);
4999
4999
  const hex = "#" + mixed.map((v) => Math.round(v * 255).toString(16).padStart(2, "0")).join("");
5000
5000
  this.run(core, [{ x: cx, y: cy }], hex);
5001
5001
  return { color: this.pick(cx, cy, 2), bounds };
@@ -5035,21 +5035,21 @@ var MixingPad = (_class16 = class {constructor() { _class16.prototype.__init106.
5035
5035
  var copyJSON = (v) => JSON.parse(JSON.stringify(v));
5036
5036
  var isObject = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
5037
5037
  function libraryBrush(spec, builtin, resolved) {
5038
- const brush = resolved ? _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, resolved, resolved) : _chunk34KLWUH4cjs.resolveBrush.call(void 0, spec);
5038
+ const brush = resolved ? _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, resolved, resolved) : _chunkHIMGBZAMcjs.resolveBrush.call(void 0, spec);
5039
5039
  if (builtin) brush.builtin = true;
5040
5040
  else delete brush.builtin;
5041
5041
  return { spec, brush, builtin };
5042
5042
  }
5043
5043
  var builtins = null;
5044
5044
  function builtinLibraryBrushes() {
5045
- return builtins ??= _chunk34KLWUH4cjs.BRUSH_PRESETS.map((spec) => {
5046
- const resolved = _chunkHS6QDWDFcjs.BUILTIN_BRUSHES.find((b) => b.id === spec.id);
5045
+ return builtins ??= _chunkHIMGBZAMcjs.BRUSH_PRESETS.map((spec) => {
5046
+ const resolved = _chunkHIMGBZAMcjs.BUILTIN_BRUSHES.find((b) => b.id === spec.id);
5047
5047
  return libraryBrush(spec, true, resolved);
5048
5048
  });
5049
5049
  }
5050
5050
  function seededStorage(brushes) {
5051
5051
  if (!brushes.length) return void 0;
5052
- let stored = JSON.stringify({ format: "pixerate-brushes", version: 1, brushes: brushes.map(_chunkHS6QDWDFcjs.brushToJSON) });
5052
+ let stored = JSON.stringify({ format: "pixerate-brushes", version: 1, brushes: brushes.map(_chunkHIMGBZAMcjs.brushToJSON) });
5053
5053
  return {
5054
5054
  get: async () => stored,
5055
5055
  set: async (_key, value) => {
@@ -5062,7 +5062,7 @@ var paints = (b) => {
5062
5062
  return JSON.stringify(rest);
5063
5063
  };
5064
5064
  function brushSpecOf(next, from) {
5065
- const plain = _chunk34KLWUH4cjs.migrateBrushV1.call(void 0, next);
5065
+ const plain = _chunkHIMGBZAMcjs.migrateBrushV1.call(void 0, next);
5066
5066
  const out = copyJSON(plain);
5067
5067
  if (from.description) out.description = from.description;
5068
5068
  if (_optionalChain([from, 'access', _209 => _209.tags, 'optionalAccess', _210 => _210.length])) out.tags = [...from.tags];
@@ -5082,8 +5082,8 @@ function brushSpecOf(next, from) {
5082
5082
  out.motion = { ..._nullishCoalesce(out.motion, () => ( {})), ...from.motion.live !== void 0 ? { live: from.motion.live } : {}, ...from.motion.fps !== void 0 ? { fps: from.motion.fps } : {} };
5083
5083
  }
5084
5084
  try {
5085
- const hinted = _chunk34KLWUH4cjs.normalizeBrushSpec.call(void 0, out, []);
5086
- if (paints(_chunk34KLWUH4cjs.resolveBrush.call(void 0, hinted)) === paints(_chunk34KLWUH4cjs.resolveBrush.call(void 0, plain))) return hinted;
5085
+ const hinted = _chunkHIMGBZAMcjs.normalizeBrushSpec.call(void 0, out, []);
5086
+ if (paints(_chunkHIMGBZAMcjs.resolveBrush.call(void 0, hinted)) === paints(_chunkHIMGBZAMcjs.resolveBrush.call(void 0, plain))) return hinted;
5087
5087
  } catch (e6) {
5088
5088
  }
5089
5089
  return plain;
@@ -5690,7 +5690,7 @@ async function libraryCall(call) {
5690
5690
  try {
5691
5691
  return await call();
5692
5692
  } catch (e) {
5693
- throw e instanceof _chunk34KLWUH4cjs.BrushLibraryError ? new PaintEditorError(e.message) : e;
5693
+ throw e instanceof _chunkHIMGBZAMcjs.BrushLibraryError ? new PaintEditorError(e.message) : e;
5694
5694
  }
5695
5695
  }
5696
5696
  var HEX3 = /^#[0-9a-f]{6}$/i;
@@ -5812,15 +5812,15 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
5812
5812
  this.rasterizeSticker = _nullishCoalesce(options.rasterizeSticker, () => ( defaultStickerRasterizer));
5813
5813
  if (options.stickers) this.stickers.set(options.stickers);
5814
5814
  this.doc = createPaintDocument({ width: options.width, height: options.height, dpi: options.dpi, paper: this.resolvePaper(options.paper) });
5815
- const seed = (_nullishCoalesce(options.brushes, () => ( []))).map((b) => _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, { ...b, builtin: false }));
5816
- this.brushLibrary = _nullishCoalesce(options.brushLibrary, () => ( _chunk34KLWUH4cjs.createBrushLibrary.call(void 0, { storage: seededStorage(seed) })));
5817
- this.brushEntries = [...builtinLibraryBrushes(), ...seed.map((b) => libraryBrush(_chunk34KLWUH4cjs.migrateBrushV1.call(void 0, b), false, b))];
5818
- const wanted = _nullishCoalesce(options.brushId, () => ( _chunkHS6QDWDFcjs.DEFAULT_BRUSH_ID));
5819
- const start = _nullishCoalesce(this.findEntry(wanted), () => ( this.findEntry(_chunkHS6QDWDFcjs.DEFAULT_BRUSH_ID)));
5820
- this.brush = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, start.brush);
5815
+ const seed = (_nullishCoalesce(options.brushes, () => ( []))).map((b) => _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, { ...b, builtin: false }));
5816
+ this.brushLibrary = _nullishCoalesce(options.brushLibrary, () => ( _chunkHIMGBZAMcjs.createBrushLibrary.call(void 0, { storage: seededStorage(seed) })));
5817
+ this.brushEntries = [...builtinLibraryBrushes(), ...seed.map((b) => libraryBrush(_chunkHIMGBZAMcjs.migrateBrushV1.call(void 0, b), false, b))];
5818
+ const wanted = _nullishCoalesce(options.brushId, () => ( _chunkHIMGBZAMcjs.DEFAULT_BRUSH_ID));
5819
+ const start = _nullishCoalesce(this.findEntry(wanted), () => ( this.findEntry(_chunkHIMGBZAMcjs.DEFAULT_BRUSH_ID)));
5820
+ this.brush = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, start.brush);
5821
5821
  this.brushSpec = copyJSON(start.spec);
5822
5822
  this.unsubscribeLibrary = this.brushLibrary.subscribe(() => void this.refreshBrushes().catch(() => void 0));
5823
- if (options.brushLibrary && seed.length) void this.brushLibrary.importFile(seed.map(_chunkHS6QDWDFcjs.brushToJSON)).catch(() => void 0);
5823
+ if (options.brushLibrary && seed.length) void this.brushLibrary.importFile(seed.map(_chunkHIMGBZAMcjs.brushToJSON)).catch(() => void 0);
5824
5824
  void this.refreshBrushes().catch(() => void 0);
5825
5825
  this.pendingBrushId = start.brush.id === wanted ? null : wanted;
5826
5826
  this.color = options.color ? parseColor(options.color) : "#1f2937";
@@ -6898,7 +6898,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
6898
6898
  * its pixels are not rendered.
6899
6899
  */
6900
6900
  strokeEffect(init, brush) {
6901
- if (!_chunkHS6QDWDFcjs.brushTakesPaint.call(void 0, brush)) return null;
6901
+ if (!_chunkHIMGBZAMcjs.brushTakesPaint.call(void 0, brush)) return null;
6902
6902
  let source = null;
6903
6903
  if (init.paint !== void 0) {
6904
6904
  if (!isPaintEffectPaint(init.paint)) return null;
@@ -6959,7 +6959,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
6959
6959
  }
6960
6960
  requireEntry(id) {
6961
6961
  const e = this.findEntry(id);
6962
- if (!e) throw new PaintEditorError(`Unknown brush "${id}". ${_chunk34KLWUH4cjs.closest.call(void 0, id, this.brushEntries.map((x) => x.brush.id))}Call list_brush_presets for the ids.`);
6962
+ if (!e) throw new PaintEditorError(`Unknown brush "${id}". ${_chunkHIMGBZAMcjs.closest.call(void 0, id, this.brushEntries.map((x) => x.brush.id))}Call list_brush_presets for the ids.`);
6963
6963
  return e;
6964
6964
  }
6965
6965
  requireBrush(id) {
@@ -6985,7 +6985,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
6985
6985
  /** A library brush by id, as the engine paints it (`undefined` when unknown). */
6986
6986
  getBrush(id) {
6987
6987
  const b = this.findBrush(id);
6988
- return b ? _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, b, b) : void 0;
6988
+ return b ? _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, b, b) : void 0;
6989
6989
  }
6990
6990
  /** A library brush by id as stored (its facets), or without an id the active brush as edited. */
6991
6991
  getBrushSpec(id) {
@@ -7003,7 +7003,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
7003
7003
  const baseSpec = entry ? entry.spec : this.brushSpec;
7004
7004
  if (changes.paint !== void 0 && changes.paint !== null) this.readStrokePaint(changes.paint);
7005
7005
  const unchanged = !Object.keys(changes).length;
7006
- const next = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, { ...changes, id: base.id }, base);
7006
+ const next = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, { ...changes, id: base.id }, base);
7007
7007
  this.useBrush(next, unchanged ? baseSpec : brushSpecOf(next, baseSpec), unchanged && base.builtin === true);
7008
7008
  return this.brush;
7009
7009
  }
@@ -7020,7 +7020,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
7020
7020
  const base = copyJSON(entry ? entry.spec : this.brushSpec);
7021
7021
  for (const k of unset) delete base[k];
7022
7022
  const spec = this.readBrushPatch(base, patch, problems);
7023
- this.useBrush(unchanged && entry ? entry.brush : _chunk34KLWUH4cjs.resolveBrush.call(void 0, spec), spec, unchanged && _optionalChain([entry, 'optionalAccess', _368 => _368.builtin]) === true);
7023
+ this.useBrush(unchanged && entry ? entry.brush : _chunkHIMGBZAMcjs.resolveBrush.call(void 0, spec), spec, unchanged && _optionalChain([entry, 'optionalAccess', _368 => _368.builtin]) === true);
7024
7024
  return { brush: this.brush, spec: copyJSON(this.brushSpec), problems };
7025
7025
  }
7026
7026
  /**
@@ -7034,11 +7034,11 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
7034
7034
  if (paint && typeof paint === "object" && "type" in paint && paint.type === "gradient") this.readStrokePaint(paint);
7035
7035
  let next;
7036
7036
  try {
7037
- next = _chunk34KLWUH4cjs.normalizeBrushSpec.call(void 0, { ...spec, id: this.brush.id }, problems);
7037
+ next = _chunkHIMGBZAMcjs.normalizeBrushSpec.call(void 0, { ...spec, id: this.brush.id }, problems);
7038
7038
  } catch (e) {
7039
7039
  throw new PaintEditorError(e.message);
7040
7040
  }
7041
- this.useBrush(_chunk34KLWUH4cjs.resolveBrush.call(void 0, next), next, false);
7041
+ this.useBrush(_chunkHIMGBZAMcjs.resolveBrush.call(void 0, next), next, false);
7042
7042
  return { brush: this.brush, spec: copyJSON(this.brushSpec), problems };
7043
7043
  }
7044
7044
  /**
@@ -7047,22 +7047,22 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
7047
7047
  */
7048
7048
  brushChanges(patch, from) {
7049
7049
  const entry = typeof from === "string" ? this.requireEntry(from) : null;
7050
- const base = entry ? entry.brush : typeof from === "object" ? _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, from, from) : this.brush;
7051
- const spec = entry ? entry.spec : typeof from === "object" ? _chunk34KLWUH4cjs.migrateBrushV1.call(void 0, base) : this.brushSpec;
7052
- return engineChanges(base, _chunk34KLWUH4cjs.resolveBrush.call(void 0, this.readBrushPatch(spec, patch, [])));
7050
+ const base = entry ? entry.brush : typeof from === "object" ? _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, from, from) : this.brush;
7051
+ const spec = entry ? entry.spec : typeof from === "object" ? _chunkHIMGBZAMcjs.migrateBrushV1.call(void 0, base) : this.brushSpec;
7052
+ return engineChanges(base, _chunkHIMGBZAMcjs.resolveBrush.call(void 0, this.readBrushPatch(spec, patch, [])));
7053
7053
  }
7054
7054
  readBrushPatch(base, patch, problems) {
7055
7055
  const { id: _id, name, ...rest } = patch;
7056
7056
  const paint = _optionalChain([rest, 'access', _371 => _371.colour, 'optionalAccess', _372 => _372.default]);
7057
7057
  if (paint && typeof paint === "object" && "type" in paint && paint.type === "gradient") this.readStrokePaint(paint);
7058
7058
  try {
7059
- return _chunk34KLWUH4cjs.normalizeBrushSpec.call(void 0, _chunk34KLWUH4cjs.mergeBrushPatch.call(void 0, base, { ...rest, ...name !== void 0 ? { name } : {} }), problems);
7059
+ return _chunkHIMGBZAMcjs.normalizeBrushSpec.call(void 0, _chunkPGPFWC35cjs.mergeBrushPatch.call(void 0, base, { ...rest, ...name !== void 0 ? { name } : {} }), problems);
7060
7060
  } catch (e) {
7061
7061
  throw new PaintEditorError(e.message);
7062
7062
  }
7063
7063
  }
7064
7064
  useBrush(next, spec, builtin) {
7065
- next = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, next, next);
7065
+ next = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, next, next);
7066
7066
  if (builtin) next.builtin = true;
7067
7067
  else delete next.builtin;
7068
7068
  this.brush = next;
@@ -7077,9 +7077,9 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
7077
7077
  * saved brush.
7078
7078
  */
7079
7079
  async saveBrush(options) {
7080
- if (!_chunkHS6QDWDFcjs.BRUSH_ID.test(options.id)) throw new PaintEditorError(`Brush id "${options.id}" is invalid; use lowercase letters, digits and dashes (e.g. "my-pencil").`);
7080
+ if (!_chunkHIMGBZAMcjs.BRUSH_ID.test(options.id)) throw new PaintEditorError(`Brush id "${options.id}" is invalid; use lowercase letters, digits and dashes (e.g. "my-pencil").`);
7081
7081
  if (this.brushLibrary.isBuiltin(options.id)) throw new PaintEditorError(`"${options.id}" is a built-in brush; save under another id.`);
7082
- const spec = options.brush ? brushSpecOf(_chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, options.brush, this.brush), this.brushSpec) : this.brushSpec;
7082
+ const spec = options.brush ? brushSpecOf(_chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, options.brush, this.brush), this.brushSpec) : this.brushSpec;
7083
7083
  const { brush } = await libraryCall(() => this.brushLibrary.save({ ...spec, id: options.id, name: _nullishCoalesce(options.name, () => ( spec.name)) }, { overwrite: true }));
7084
7084
  await this.refreshBrushes();
7085
7085
  return this.requireBrush(brush.id);
@@ -7092,7 +7092,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
7092
7092
  }
7093
7093
  /** The user's saved brushes, as the engine paints them. */
7094
7094
  getUserBrushes() {
7095
- return this.brushEntries.filter((e) => !e.builtin).map((e) => _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, e.brush, e.brush));
7095
+ return this.brushEntries.filter((e) => !e.builtin).map((e) => _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, e.brush, e.brush));
7096
7096
  }
7097
7097
  /** A brush library file (version 2) of the given brushes (default: the user's brushes). */
7098
7098
  exportBrushes(ids) {
@@ -7153,7 +7153,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
7153
7153
  * brush's gradient, else the editor's gradient paint. Erasers, blenders and smudges take none.
7154
7154
  */
7155
7155
  strokeGradient(init, brush, color) {
7156
- if (!_chunkHS6QDWDFcjs.brushTakesPaint.call(void 0, brush)) return null;
7156
+ if (!_chunkHIMGBZAMcjs.brushTakesPaint.call(void 0, brush)) return null;
7157
7157
  let g = null;
7158
7158
  if (init.paint !== void 0) {
7159
7159
  if (isPaintEffectPaint(init.paint)) return null;
@@ -7230,7 +7230,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
7230
7230
  // --- Strokes -------------------------------------------------------------------
7231
7231
  strokeBrush(init) {
7232
7232
  let brush = init.brushId !== void 0 ? this.requireBrush(init.brushId) : this.brush;
7233
- if (init.brush) brush = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, { ...init.brush, id: brush.id }, brush);
7233
+ if (init.brush) brush = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, { ...init.brush, id: brush.id }, brush);
7234
7234
  return brush;
7235
7235
  }
7236
7236
  /**
@@ -7285,7 +7285,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
7285
7285
  throw new PaintEditorError(`Layer "${layer.name}" is a sticker layer (its pixels are drawn from its stickers); paint on another layer (add_layer).`);
7286
7286
  }
7287
7287
  let wet;
7288
- if (_chunkHS6QDWDFcjs.isWetBrush.call(void 0, brush)) {
7288
+ if (_chunkHIMGBZAMcjs.isWetBrush.call(void 0, brush)) {
7289
7289
  this.requireWetIdle("painting");
7290
7290
  if (layer.offset.x || layer.offset.y) {
7291
7291
  const moved = { ...layer, surface: _chunk474IQG74cjs.translateSurface.call(void 0, layer.surface, layer.offset.x, layer.offset.y), offset: { x: 0, y: 0 } };
@@ -7378,7 +7378,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
7378
7378
  const stroke = {
7379
7379
  id: `s${this.strokeCounter++}`,
7380
7380
  layerId: session.layerId,
7381
- brush: _chunkHS6QDWDFcjs.brushToJSON.call(void 0, init.brush),
7381
+ brush: _chunkHIMGBZAMcjs.brushToJSON.call(void 0, init.brush),
7382
7382
  color: init.colorHex,
7383
7383
  points: session.points.map((p) => ({ ...p })),
7384
7384
  seed: init.seed
@@ -7584,7 +7584,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
7584
7584
  let brush = v.brush;
7585
7585
  if (options.brushId !== void 0) {
7586
7586
  const b = this.requireBrush(options.brushId);
7587
- brush = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, { tip: { ...b.tip, size: b.tip.size * (v.brush.tip.size / s.brush.tip.size) } }, b);
7587
+ brush = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, { tip: { ...b.tip, size: b.tip.size * (v.brush.tip.size / s.brush.tip.size) } }, b);
7588
7588
  }
7589
7589
  const layerId = _nullishCoalesce(options.layerId, () => ( s.layerId));
7590
7590
  if (!_chunkDPYAO5U6cjs.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.`);
@@ -8362,7 +8362,7 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
8362
8362
  return next.type === "group" ? { ...next, children: toStandard(next.children) } : next;
8363
8363
  });
8364
8364
  const layers = toStandard(dried);
8365
- const result = _chunkJFHBXNR2cjs.exportPsd.call(void 0, { width, height, layers: [paperLayer, ...layers], merged, resolution: dpi });
8365
+ const result = _chunkB7V34GIHcjs.exportPsd.call(void 0, { width, height, layers: [paperLayer, ...layers], merged, resolution: dpi });
8366
8366
  for (const [mode, names] of changed) {
8367
8367
  const label = _nullishCoalesce(_optionalChain([_chunk2VX55NFMcjs.BLEND_MODES, 'access', _461 => _461.find, 'call', _462 => _462((m) => m.id === mode), 'optionalAccess', _463 => _463.label]), () => ( mode));
8368
8368
  const std = _nullishCoalesce(_optionalChain([_chunk2VX55NFMcjs.BLEND_MODES, 'access', _464 => _464.find, 'call', _465 => _465((m) => m.id === _chunk2VX55NFMcjs.standardBlendMode.call(void 0, mode)), 'optionalAccess', _466 => _466.label]), () => ( _chunk2VX55NFMcjs.standardBlendMode.call(void 0, mode)));
@@ -8859,15 +8859,15 @@ var PaintEditorController = (_class19 = class _PaintEditorController {
8859
8859
  let brush = was.brush;
8860
8860
  if (update.brushId !== void 0) {
8861
8861
  const b = this.requireBrush(update.brushId);
8862
- brush = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, { tip: { ...b.tip, size: was.brush.tip.size } }, b);
8862
+ brush = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, { tip: { ...b.tip, size: was.brush.tip.size } }, b);
8863
8863
  }
8864
8864
  if (update.brush !== void 0) {
8865
8865
  if (!update.brush || typeof update.brush !== "object") throw new PaintEditorError("brush must be an object of brush settings (as set_brush takes).");
8866
- brush = _chunkHS6QDWDFcjs.normalizePaintBrush.call(void 0, { ...update.brush, id: brush.id }, brush);
8866
+ brush = _chunkHIMGBZAMcjs.normalizePaintBrush.call(void 0, { ...update.brush, id: brush.id }, brush);
8867
8867
  }
8868
8868
  const why = liveStrokeRefusal(brush);
8869
8869
  if (why) throw new PaintEditorError(why);
8870
- const next = { ...was, brush: _chunkHS6QDWDFcjs.brushToJSON.call(void 0, brush) };
8870
+ const next = { ...was, brush: _chunkHIMGBZAMcjs.brushToJSON.call(void 0, brush) };
8871
8871
  if (update.seed !== void 0) {
8872
8872
  if (!Number.isInteger(update.seed) || update.seed < 0) throw new PaintEditorError(`seed ${update.seed} must be a whole number of 0 or more.`);
8873
8873
  next.seed = update.seed;
@@ -11121,7 +11121,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
11121
11121
  name: "set_brush",
11122
11122
  title: "Set the brush",
11123
11123
  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).",
11124
- 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." }, ..._chunk34KLWUH4cjs.BRUSH_PATCH_PROPERTIES, unset: _chunk34KLWUH4cjs.BRUSH_UNSET_PROPERTY }, additionalProperties: false },
11124
+ 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." }, ..._chunkPGPFWC35cjs.BRUSH_PATCH_PROPERTIES, unset: _chunkPGPFWC35cjs.BRUSH_UNSET_PROPERTY }, additionalProperties: false },
11125
11125
  annotations: { title: "Set the brush", ...SET4 },
11126
11126
  handler: async ({ id, unset, ...patch }) => {
11127
11127
  const stamps = _optionalChain([patch, 'access', _542 => _542.tip, 'optionalAccess', _543 => _543.stamps]);
@@ -11211,7 +11211,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
11211
11211
  points: POINTS,
11212
11212
  layerId: LAYER_ID4,
11213
11213
  brushId: { type: "string", description: "Brush id from list_brush_presets (default the active brush)." },
11214
- brush: { type: "object", description: "Facets to change for this stroke only, laid over brushId or the active brush (as set_brush takes them).", properties: _chunk34KLWUH4cjs.BRUSH_PATCH_PROPERTIES, additionalProperties: false },
11214
+ brush: { type: "object", description: "Facets to change for this stroke only, laid over brushId or the active brush (as set_brush takes them).", properties: _chunkPGPFWC35cjs.BRUSH_PATCH_PROPERTIES, additionalProperties: false },
11215
11215
  color: { ...COLOR3, description: "Paint colour #rrggbb (default the paint colour)." },
11216
11216
  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." },
11217
11217
  seed: { type: "integer", minimum: 0, description: "Jitter seed (default a new one); the same seed and points give the same marks." },
@@ -11291,7 +11291,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
11291
11291
  properties: {
11292
11292
  id: { type: "string", description: "Stroke id from list_strokes {live: true}." },
11293
11293
  brushId: { type: "string", description: "Brush id from list_brush_presets; the stroke keeps its size." },
11294
- brush: { type: "object", properties: _chunk34KLWUH4cjs.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." },
11294
+ brush: { type: "object", properties: _chunkPGPFWC35cjs.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." },
11295
11295
  color: { type: "string", pattern: "^#[0-9a-fA-F]{6}$", description: "New colour #rrggbb (replaces gradient paint)." },
11296
11296
  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." },
11297
11297
  seed: { type: "integer", minimum: 0, description: "Another jitter seed: particles, scatter and texture fall differently." }
@@ -11542,7 +11542,7 @@ function createPaintEditorToolProvider(controller, options = {}) {
11542
11542
  tools.push(..._chunkKBYB7OWBcjs.createPigmentTools.call(void 0, ));
11543
11543
  tools.push(..._chunkSABJMH6Mcjs.createStickerTools.call(void 0, { provider: () => c.stickersProvider }));
11544
11544
  tools.push(
11545
- ..._chunkJFHBXNR2cjs.createLayerEffectTools.call(void 0,
11545
+ ..._chunkB7V34GIHcjs.createLayerEffectTools.call(void 0,
11546
11546
  {
11547
11547
  requireLayer: (id) => void c.getLayerEffects(id),
11548
11548
  getLayerEffects: (id) => c.getLayerEffects(id),
@@ -11601,11 +11601,11 @@ function strokeSummary(s, withPoints, live) {
11601
11601
 
11602
11602
  // src/paint-editor/brush-library-tools.ts
11603
11603
  function createPaintBrushLibraryToolProvider(controller, options = {}) {
11604
- return _chunk34KLWUH4cjs.createBrushLibraryToolProvider.call(void 0, controller.brushLibrary, {
11605
- profile: _chunk34KLWUH4cjs.PAINT_PROFILE,
11604
+ return _chunkPGPFWC35cjs.createBrushLibraryToolProvider.call(void 0, controller.brushLibrary, {
11605
+ profile: _chunkHIMGBZAMcjs.PAINT_PROFILE,
11606
11606
  ...options,
11607
11607
  renderPreview: (brush, { width, height, color }) => {
11608
- const t = renderBrushThumbnail(_chunk34KLWUH4cjs.resolveBrush.call(void 0, brush), { paper: controller.getState().document.paper, width, height, color: color.toLowerCase() });
11608
+ const t = renderBrushThumbnail(_chunkHIMGBZAMcjs.resolveBrush.call(void 0, brush), { paper: controller.getState().document.paper, width, height, color: color.toLowerCase() });
11609
11609
  return { data: _chunkW5M3J7PVcjs.bytesToBase64.call(void 0, _chunkW5M3J7PVcjs.encodePng.call(void 0, t.width, t.height, t.data)), mimeType: "image/png" };
11610
11610
  }
11611
11611
  });
@@ -12097,7 +12097,7 @@ var DOT_ROTATION_LABELS = { follow: "Follow motion", random: "Random", fixed: "T
12097
12097
  var STAMP_LABELS = { dot: "Dot", star: "Star", heart: "Heart", leaf: "Leaf", flower: "Flower", confetti: "Confetti", splat: "Splat", sparkle: "Sparkle", ring: "Ring" };
12098
12098
  function toggleStickerRef(refs, ref2) {
12099
12099
  if (refs.includes(ref2)) return refs.length > 1 ? refs.filter((r) => r !== ref2) : [...refs];
12100
- return refs.length < _chunkHS6QDWDFcjs.MAX_STICKER_STAMPS ? [...refs, ref2] : [...refs];
12100
+ return refs.length < _chunkHIMGBZAMcjs.MAX_STICKER_STAMPS ? [...refs, ref2] : [...refs];
12101
12101
  }
12102
12102
  function stickerRefLabel(ref2) {
12103
12103
  const stamp = ref2.startsWith("editor:") ? ref2.slice(7) : null;
@@ -12110,7 +12110,7 @@ function toggleStamp(stamps, stamp) {
12110
12110
  }
12111
12111
  function toggleDotTexture(textures, stamp) {
12112
12112
  if (textures.includes(stamp)) return textures.filter((s) => s !== stamp);
12113
- return textures.length < _chunkHS6QDWDFcjs.MAX_DOT_TEXTURES ? [...textures, stamp] : [...textures];
12113
+ return textures.length < _chunkHIMGBZAMcjs.MAX_DOT_TEXTURES ? [...textures, stamp] : [...textures];
12114
12114
  }
12115
12115
  var STROKE_SLIDERS = [
12116
12116
  { path: "tip.size", label: "Size", min: 1, max: 400, step: 1 },
@@ -12753,4 +12753,4 @@ function createPaintEditorDocument(controller, options = {}) {
12753
12753
 
12754
12754
 
12755
12755
 
12756
- exports.BACKLIGHT_SPILL = BACKLIGHT_SPILL; exports.BLEND_MENU_GROUPS = BLEND_MENU_GROUPS; exports.BLEND_MODES = _chunk2VX55NFMcjs.BLEND_MODES; exports.BRUSH_ID = _chunkHS6QDWDFcjs.BRUSH_ID; exports.BRUSH_ROTATIONS = _chunkHS6QDWDFcjs.BRUSH_ROTATIONS; exports.BRUSH_SLIDERS = _chunk34KLWUH4cjs.BRUSH_SLIDERS; exports.BUILTIN_BRUSHES = _chunkHS6QDWDFcjs.BUILTIN_BRUSHES; exports.BristleStroke = BristleStroke; exports.DEFAULT_BACKLIGHT_COLOR = DEFAULT_BACKLIGHT_COLOR; exports.DEFAULT_BEHAVIOR = _chunkHS6QDWDFcjs.DEFAULT_BEHAVIOR; exports.DEFAULT_BRISTLE = _chunkHS6QDWDFcjs.DEFAULT_BRISTLE; exports.DEFAULT_BRUSH_ID = _chunkHS6QDWDFcjs.DEFAULT_BRUSH_ID; exports.DEFAULT_DPI = DEFAULT_DPI; exports.DEFAULT_DYNAMICS = _chunkHS6QDWDFcjs.DEFAULT_DYNAMICS; exports.DEFAULT_FLOW = _chunkKBYB7OWBcjs.DEFAULT_FLOW; exports.DEFAULT_IMPASTO = _chunkHS6QDWDFcjs.DEFAULT_IMPASTO; exports.DEFAULT_LIGHT = _chunkHS6QDWDFcjs.DEFAULT_LIGHT; exports.DEFAULT_LIGHTING = DEFAULT_LIGHTING; exports.DEFAULT_MULTI_COLOR = _chunkHS6QDWDFcjs.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 = _chunkHS6QDWDFcjs.DEFAULT_PARTICLE; exports.DEFAULT_STICKER = _chunkHS6QDWDFcjs.DEFAULT_STICKER; exports.DEFAULT_SWATCHES = DEFAULT_SWATCHES; exports.DEFAULT_VIEW = DEFAULT_VIEW; exports.DEFAULT_WET_BRUSH = _chunkHS6QDWDFcjs.DEFAULT_WET_BRUSH; exports.DEFAULT_WET_PARAMS = _chunkKBYB7OWBcjs.DEFAULT_WET_PARAMS; exports.DOT_ROTATIONS = _chunkHS6QDWDFcjs.DOT_ROTATIONS; exports.DOT_ROTATION_LABELS = DOT_ROTATION_LABELS; exports.DOT_TEXTURE_ORDERS = _chunkHS6QDWDFcjs.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 = _chunkEUIDTZNQcjs.HARMONY_KINDS; exports.IDENTITY_AFFINE = IDENTITY_AFFINE; exports.IDENTITY_COPY = IDENTITY_COPY; exports.IMPASTO_TOOLS = _chunkHS6QDWDFcjs.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 = _chunkHS6QDWDFcjs.MAX_DOT_TEXTURES; exports.MAX_IMAGE_SIDE = MAX_IMAGE_SIDE; exports.MAX_LIVE_EFFECT_SOURCES = MAX_LIVE_EFFECT_SOURCES; exports.MAX_STICKER_STAMPS = _chunkHS6QDWDFcjs.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 = _chunkHS6QDWDFcjs.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 = _chunkHS6QDWDFcjs.PAINT_BRUSH_CATEGORIES; exports.PAINT_BRUSH_ENGINES = _chunkHS6QDWDFcjs.PAINT_BRUSH_ENGINES; exports.PAINT_COLOR_JSON_SCHEMA = _chunkFQPUF2W2cjs.PAINT_COLOR_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_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 = _chunkHS6QDWDFcjs.PARTICLE_KINDS; exports.PARTICLE_KIND_LABELS = PARTICLE_KIND_LABELS; exports.PARTICLE_RENDERS = _chunkHS6QDWDFcjs.PARTICLE_RENDERS; exports.PARTICLE_RENDER_LABELS = PARTICLE_RENDER_LABELS; 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 = _chunkHS6QDWDFcjs.RIBBON_PAIRS; exports.RIBBON_PAIR_LABELS = RIBBON_PAIR_LABELS; exports.SNAP_DECIDE_DISTANCE = SNAP_DECIDE_DISTANCE; exports.STAMP_KINDS = _chunkJSDND7DFcjs.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 = _chunkSABJMH6Mcjs.StickerBrowser; exports.StickerSpray = StickerSpray; exports.TRACING_NODE_ID = TRACING_NODE_ID; exports.ThickStrokeDriver = ThickStrokeDriver; exports.TileableNoise = _chunk3K6HWEXZcjs.TileableNoise; exports.WET_FLOW_KINDS = _chunkKBYB7OWBcjs.WET_FLOW_KINDS; exports.WET_GPU_MODES = WET_GPU_MODES; exports.WET_GPU_OPTIONS = WET_GPU_OPTIONS; exports.WET_MEDIA = _chunkHS6QDWDFcjs.WET_MEDIA; exports.WET_MEDIUM_LABELS = WET_MEDIUM_LABELS; exports.WET_MEDIUM_PARAMS = WET_MEDIUM_PARAMS; exports.WET_PARAM_KEYS = _chunkKBYB7OWBcjs.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 = _chunkHS6QDWDFcjs.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 = _chunk34KLWUH4cjs.brushEngineControls; exports.brushLoadColor = brushLoadColor; exports.brushLoadForStroke = brushLoadForStroke; exports.brushTakesPaint = _chunkHS6QDWDFcjs.brushTakesPaint; exports.brushToJSON = _chunkHS6QDWDFcjs.brushToJSON; exports.buildTimeLapse = buildTimeLapse; exports.checkPaintEffectPlace = checkPaintEffectPlace; exports.clonePaper = clonePaper; exports.colorHarmony = colorHarmony2; exports.composeAffine = composeAffine; exports.contactSheet = contactSheet; exports.createPaintBrushLibraryToolProvider = createPaintBrushLibraryToolProvider; exports.createPaintCompositor = createPaintCompositor; exports.createPaintDocument = createPaintDocument; exports.createPaintEditorDocument = createPaintEditorDocument; exports.createPaintEditorToolProvider = createPaintEditorToolProvider; exports.createPaintEffectsToolProvider = createPaintEffectsToolProvider; exports.createPaintLayer = createPaintLayer; 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 = _chunkEUIDTZNQcjs.hueToWheel; exports.invertAffine = invertAffine; exports.isBlendMode = _chunk2VX55NFMcjs.isBlendMode; exports.isGradientPaint = _chunkFQPUF2W2cjs.isGradientPaint; exports.isPaintEffectPaint = isPaintEffectPaint; exports.isPainterlyBlendMode = _chunk2VX55NFMcjs.isPainterlyBlendMode; exports.isPalmTouch = isPalmTouch; exports.isWetBrush = _chunkHS6QDWDFcjs.isWetBrush; exports.isWetCapable = _chunkHS6QDWDFcjs.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 = _chunk34KLWUH4cjs.multiColorSliders; exports.multiColorToPaint = _chunkHS6QDWDFcjs.multiColorToPaint; exports.newPaintLayerId = newPaintLayerId; exports.nextPaperEffectVersion = nextPaperEffectVersion; exports.normalizeBehavior = _chunkHS6QDWDFcjs.normalizeBehavior; exports.normalizeBristle = _chunkHS6QDWDFcjs.normalizeBristle; exports.normalizeBrushStroke = normalizeBrushStroke; exports.normalizeCanvas = normalizeCanvas; exports.normalizeDynamics = _chunkHS6QDWDFcjs.normalizeDynamics; exports.normalizeFlow = _chunkKBYB7OWBcjs.normalizeFlow; exports.normalizeHexColor = _chunkFQPUF2W2cjs.normalizeHexColor; exports.normalizeImpasto = _chunkHS6QDWDFcjs.normalizeImpasto; exports.normalizeLight = _chunkHS6QDWDFcjs.normalizeLight; exports.normalizeLighting = normalizeLighting; exports.normalizeMultiColor = _chunkHS6QDWDFcjs.normalizeMultiColor; exports.normalizePaintBrush = _chunkHS6QDWDFcjs.normalizePaintBrush; exports.normalizePaper = normalizePaper; exports.normalizeParticle = _chunkHS6QDWDFcjs.normalizeParticle; exports.normalizePerspective = normalizePerspective; exports.normalizeRotation = normalizeRotation; exports.normalizeStencil = normalizeStencil; exports.normalizeStickerSettings = _chunkHS6QDWDFcjs.normalizeStickerSettings; exports.normalizeStickerUpdate = normalizeStickerUpdate; exports.normalizeSymmetry = normalizeSymmetry; exports.normalizeView = normalizeView; exports.normalizeWetBrush = _chunkHS6QDWDFcjs.normalizeWetBrush; exports.normalizeWetParams = _chunkKBYB7OWBcjs.normalizeWetParams; exports.overPixels = overPixels; exports.padSampleRadius = padSampleRadius; exports.paintGradientMappingFor = _chunkFQPUF2W2cjs.paintGradientMappingFor; exports.paintPlaybackPanel = paintPlaybackPanel; exports.paintSourceColor = _chunkFQPUF2W2cjs.paintSourceColor; exports.paintSourceCss = _chunkFQPUF2W2cjs.paintSourceCss; exports.paintToMultiColor = _chunkHS6QDWDFcjs.paintToMultiColor; exports.paperEffectFromJSON = paperEffectFromJSON; exports.paperEffectToJSON = paperEffectToJSON; exports.paperGrain = paperGrain; exports.paperKey = paperKey; exports.paperNode = paperNode; exports.paperPreset = paperPreset; exports.parseBrushLibrary = _chunkHS6QDWDFcjs.parseBrushLibrary; exports.parseHexColor = parseHexColor; exports.parsePaintSource = _chunkFQPUF2W2cjs.parsePaintSource; exports.patchBrushValue = _chunk34KLWUH4cjs.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.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 = _chunkJSDND7DFcjs.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 = _chunkHS6QDWDFcjs.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 = _chunkKBYB7OWBcjs.wetSupport; exports.wheelAngle = wheelAngle; exports.wheelPick = wheelPick; exports.wheelPoint = wheelPoint; exports.wheelToHue = _chunkEUIDTZNQcjs.wheelToHue; exports.withPaintPlayback = withPaintPlayback;
12756
+ exports.BACKLIGHT_SPILL = BACKLIGHT_SPILL; exports.BLEND_MENU_GROUPS = BLEND_MENU_GROUPS; exports.BLEND_MODES = _chunk2VX55NFMcjs.BLEND_MODES; exports.BRUSH_ID = _chunkHIMGBZAMcjs.BRUSH_ID; exports.BRUSH_ROTATIONS = _chunkHIMGBZAMcjs.BRUSH_ROTATIONS; exports.BRUSH_SLIDERS = _chunkPGPFWC35cjs.BRUSH_SLIDERS; exports.BUILTIN_BRUSHES = _chunkHIMGBZAMcjs.BUILTIN_BRUSHES; exports.BristleStroke = BristleStroke; exports.DEFAULT_BACKLIGHT_COLOR = DEFAULT_BACKLIGHT_COLOR; exports.DEFAULT_BEHAVIOR = _chunkHIMGBZAMcjs.DEFAULT_BEHAVIOR; exports.DEFAULT_BRISTLE = _chunkHIMGBZAMcjs.DEFAULT_BRISTLE; exports.DEFAULT_BRUSH_ID = _chunkHIMGBZAMcjs.DEFAULT_BRUSH_ID; exports.DEFAULT_DPI = DEFAULT_DPI; exports.DEFAULT_DYNAMICS = _chunkHIMGBZAMcjs.DEFAULT_DYNAMICS; exports.DEFAULT_FLOW = _chunkKBYB7OWBcjs.DEFAULT_FLOW; exports.DEFAULT_IMPASTO = _chunkHIMGBZAMcjs.DEFAULT_IMPASTO; exports.DEFAULT_LIGHT = _chunkHIMGBZAMcjs.DEFAULT_LIGHT; exports.DEFAULT_LIGHTING = DEFAULT_LIGHTING; exports.DEFAULT_MULTI_COLOR = _chunkHIMGBZAMcjs.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 = _chunkHIMGBZAMcjs.DEFAULT_PARTICLE; exports.DEFAULT_STICKER = _chunkHIMGBZAMcjs.DEFAULT_STICKER; exports.DEFAULT_SWATCHES = DEFAULT_SWATCHES; exports.DEFAULT_VIEW = DEFAULT_VIEW; exports.DEFAULT_WET_BRUSH = _chunkHIMGBZAMcjs.DEFAULT_WET_BRUSH; exports.DEFAULT_WET_PARAMS = _chunkKBYB7OWBcjs.DEFAULT_WET_PARAMS; exports.DOT_ROTATIONS = _chunkHIMGBZAMcjs.DOT_ROTATIONS; exports.DOT_ROTATION_LABELS = DOT_ROTATION_LABELS; exports.DOT_TEXTURE_ORDERS = _chunkHIMGBZAMcjs.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 = _chunkEUIDTZNQcjs.HARMONY_KINDS; exports.IDENTITY_AFFINE = IDENTITY_AFFINE; exports.IDENTITY_COPY = IDENTITY_COPY; exports.IMPASTO_TOOLS = _chunkHIMGBZAMcjs.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 = _chunkHIMGBZAMcjs.MAX_DOT_TEXTURES; exports.MAX_IMAGE_SIDE = MAX_IMAGE_SIDE; exports.MAX_LIVE_EFFECT_SOURCES = MAX_LIVE_EFFECT_SOURCES; exports.MAX_STICKER_STAMPS = _chunkHIMGBZAMcjs.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 = _chunkHIMGBZAMcjs.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 = _chunkHIMGBZAMcjs.PAINT_BRUSH_CATEGORIES; exports.PAINT_BRUSH_ENGINES = _chunkHIMGBZAMcjs.PAINT_BRUSH_ENGINES; exports.PAINT_COLOR_JSON_SCHEMA = _chunkFQPUF2W2cjs.PAINT_COLOR_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_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 = _chunkHIMGBZAMcjs.PARTICLE_KINDS; exports.PARTICLE_KIND_LABELS = PARTICLE_KIND_LABELS; exports.PARTICLE_RENDERS = _chunkHIMGBZAMcjs.PARTICLE_RENDERS; exports.PARTICLE_RENDER_LABELS = PARTICLE_RENDER_LABELS; 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 = _chunkHIMGBZAMcjs.RIBBON_PAIRS; exports.RIBBON_PAIR_LABELS = RIBBON_PAIR_LABELS; exports.SNAP_DECIDE_DISTANCE = SNAP_DECIDE_DISTANCE; exports.STAMP_KINDS = _chunkJSDND7DFcjs.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 = _chunkSABJMH6Mcjs.StickerBrowser; exports.StickerSpray = StickerSpray; exports.TRACING_NODE_ID = TRACING_NODE_ID; exports.ThickStrokeDriver = ThickStrokeDriver; exports.TileableNoise = _chunk3K6HWEXZcjs.TileableNoise; exports.WET_FLOW_KINDS = _chunkKBYB7OWBcjs.WET_FLOW_KINDS; exports.WET_GPU_MODES = WET_GPU_MODES; exports.WET_GPU_OPTIONS = WET_GPU_OPTIONS; exports.WET_MEDIA = _chunkHIMGBZAMcjs.WET_MEDIA; exports.WET_MEDIUM_LABELS = WET_MEDIUM_LABELS; exports.WET_MEDIUM_PARAMS = WET_MEDIUM_PARAMS; exports.WET_PARAM_KEYS = _chunkKBYB7OWBcjs.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 = _chunkHIMGBZAMcjs.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 = _chunkPGPFWC35cjs.brushEngineControls; exports.brushLoadColor = brushLoadColor; exports.brushLoadForStroke = brushLoadForStroke; exports.brushTakesPaint = _chunkHIMGBZAMcjs.brushTakesPaint; exports.brushToJSON = _chunkHIMGBZAMcjs.brushToJSON; exports.buildTimeLapse = buildTimeLapse; exports.checkPaintEffectPlace = checkPaintEffectPlace; exports.clonePaper = clonePaper; exports.colorHarmony = colorHarmony2; exports.composeAffine = composeAffine; exports.contactSheet = contactSheet; exports.createPaintBrushLibraryToolProvider = createPaintBrushLibraryToolProvider; exports.createPaintCompositor = createPaintCompositor; exports.createPaintDocument = createPaintDocument; exports.createPaintEditorDocument = createPaintEditorDocument; exports.createPaintEditorToolProvider = createPaintEditorToolProvider; exports.createPaintEffectsToolProvider = createPaintEffectsToolProvider; exports.createPaintLayer = createPaintLayer; 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 = _chunkEUIDTZNQcjs.hueToWheel; exports.invertAffine = invertAffine; exports.isBlendMode = _chunk2VX55NFMcjs.isBlendMode; exports.isGradientPaint = _chunkFQPUF2W2cjs.isGradientPaint; exports.isPaintEffectPaint = isPaintEffectPaint; exports.isPainterlyBlendMode = _chunk2VX55NFMcjs.isPainterlyBlendMode; exports.isPalmTouch = isPalmTouch; exports.isWetBrush = _chunkHIMGBZAMcjs.isWetBrush; exports.isWetCapable = _chunkHIMGBZAMcjs.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 = _chunkPGPFWC35cjs.multiColorSliders; exports.multiColorToPaint = _chunkHIMGBZAMcjs.multiColorToPaint; exports.newPaintLayerId = newPaintLayerId; exports.nextPaperEffectVersion = nextPaperEffectVersion; exports.normalizeBehavior = _chunkHIMGBZAMcjs.normalizeBehavior; exports.normalizeBristle = _chunkHIMGBZAMcjs.normalizeBristle; exports.normalizeBrushStroke = normalizeBrushStroke; exports.normalizeCanvas = normalizeCanvas; exports.normalizeDynamics = _chunkHIMGBZAMcjs.normalizeDynamics; exports.normalizeFlow = _chunkKBYB7OWBcjs.normalizeFlow; exports.normalizeHexColor = _chunkFQPUF2W2cjs.normalizeHexColor; exports.normalizeImpasto = _chunkHIMGBZAMcjs.normalizeImpasto; exports.normalizeLight = _chunkHIMGBZAMcjs.normalizeLight; exports.normalizeLighting = normalizeLighting; exports.normalizeMultiColor = _chunkHIMGBZAMcjs.normalizeMultiColor; exports.normalizePaintBrush = _chunkHIMGBZAMcjs.normalizePaintBrush; exports.normalizePaper = normalizePaper; exports.normalizeParticle = _chunkHIMGBZAMcjs.normalizeParticle; exports.normalizePerspective = normalizePerspective; exports.normalizeRotation = normalizeRotation; exports.normalizeStencil = normalizeStencil; exports.normalizeStickerSettings = _chunkHIMGBZAMcjs.normalizeStickerSettings; exports.normalizeStickerUpdate = normalizeStickerUpdate; exports.normalizeSymmetry = normalizeSymmetry; exports.normalizeView = normalizeView; exports.normalizeWetBrush = _chunkHIMGBZAMcjs.normalizeWetBrush; exports.normalizeWetParams = _chunkKBYB7OWBcjs.normalizeWetParams; exports.overPixels = overPixels; exports.padSampleRadius = padSampleRadius; exports.paintGradientMappingFor = _chunkFQPUF2W2cjs.paintGradientMappingFor; exports.paintPlaybackPanel = paintPlaybackPanel; exports.paintSourceColor = _chunkFQPUF2W2cjs.paintSourceColor; exports.paintSourceCss = _chunkFQPUF2W2cjs.paintSourceCss; exports.paintToMultiColor = _chunkHIMGBZAMcjs.paintToMultiColor; exports.paperEffectFromJSON = paperEffectFromJSON; exports.paperEffectToJSON = paperEffectToJSON; exports.paperGrain = paperGrain; exports.paperKey = paperKey; exports.paperNode = paperNode; exports.paperPreset = paperPreset; exports.parseBrushLibrary = _chunkHIMGBZAMcjs.parseBrushLibrary; exports.parseHexColor = parseHexColor; exports.parsePaintSource = _chunkFQPUF2W2cjs.parsePaintSource; exports.patchBrushValue = _chunkPGPFWC35cjs.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.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 = _chunkJSDND7DFcjs.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 = _chunkHIMGBZAMcjs.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 = _chunkKBYB7OWBcjs.wetSupport; exports.wheelAngle = wheelAngle; exports.wheelPick = wheelPick; exports.wheelPoint = wheelPoint; exports.wheelToHue = _chunkEUIDTZNQcjs.wheelToHue; exports.withPaintPlayback = withPaintPlayback;