@pixerate/editor 0.243.0 → 0.245.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 (113) hide show
  1. package/dist/agent/index.cjs +34 -32
  2. package/dist/agent/index.js +6 -4
  3. package/dist/animation-editor/index.cjs +61 -61
  4. package/dist/animation-editor/index.js +4 -4
  5. package/dist/{brushstrokeRender-274HGNZR.js → brushstrokeRender-4542T5HP.js} +2 -2
  6. package/dist/{brushstrokeRender-C7RJZPMC.cjs → brushstrokeRender-QA5WVIDT.cjs} +5 -5
  7. package/dist/canvas/changeFeed.d.cts +71 -0
  8. package/dist/canvas/changeFeed.d.ts +71 -0
  9. package/dist/canvas/index.cjs +490 -34
  10. package/dist/canvas/index.d.cts +3 -0
  11. package/dist/canvas/index.d.ts +3 -0
  12. package/dist/canvas/index.js +483 -27
  13. package/dist/canvas/proposal-tools.d.cts +21 -0
  14. package/dist/canvas/proposal-tools.d.ts +21 -0
  15. package/dist/canvas/proposals.d.cts +112 -0
  16. package/dist/canvas/proposals.d.ts +112 -0
  17. package/dist/chart/index.cjs +21 -21
  18. package/dist/chart/index.js +2 -2
  19. package/dist/{chunk-6L3WWIDW.js → chunk-4EQY4TZJ.js} +1 -1
  20. package/dist/{chunk-5FZS7J7C.cjs → chunk-4T47Z4J3.cjs} +18 -2
  21. package/dist/{chunk-4I76OCVD.cjs → chunk-5DLCOQOQ.cjs} +16 -1
  22. package/dist/{chunk-4ZHXLFXS.js → chunk-5RFENYO5.js} +1 -1
  23. package/dist/{chunk-SRXWDOUI.js → chunk-7YQNKSQ7.js} +1 -1
  24. package/dist/{chunk-WGN7AUKB.js → chunk-7YW7T5TJ.js} +1 -1
  25. package/dist/{chunk-X3ZINLIP.js → chunk-AU6MWQKZ.js} +1 -1
  26. package/dist/{chunk-OONFIFEU.cjs → chunk-BDIH4DYR.cjs} +23 -23
  27. package/dist/{chunk-AIS56JOO.js → chunk-BVRRIW7F.js} +1 -1
  28. package/dist/{chunk-KK2FWMA2.cjs → chunk-HZ547SGQ.cjs} +1 -1
  29. package/dist/{chunk-3WOZEBXZ.cjs → chunk-IZL5V5RK.cjs} +2 -2
  30. package/dist/{chunk-IXI5KATU.js → chunk-L5PB7EG3.js} +1 -1
  31. package/dist/{chunk-R2FVAKFH.cjs → chunk-M6JORA5Z.cjs} +86 -86
  32. package/dist/{chunk-RNSANXPT.js → chunk-NS62CQ2B.js} +112 -14
  33. package/dist/{chunk-UZU6DIZA.cjs → chunk-NUTMINJZ.cjs} +45 -45
  34. package/dist/{chunk-H4Z72Z4Z.js → chunk-OSTKS3YN.js} +1 -1
  35. package/dist/{chunk-HLBTRSQJ.js → chunk-P3NIPIKS.js} +263 -63
  36. package/dist/{chunk-7V7QMFTI.cjs → chunk-QOBCBGGI.cjs} +2 -2
  37. package/dist/{chunk-UV7OOZJQ.cjs → chunk-SD23XMVJ.cjs} +35 -35
  38. package/dist/{chunk-FQVVO5YA.js → chunk-SGPIVHJB.js} +1 -1
  39. package/dist/{chunk-HQZHOPNE.js → chunk-TBJEMELS.js} +18 -2
  40. package/dist/{chunk-QTMQ5TGA.js → chunk-UCYW4M66.js} +16 -1
  41. package/dist/{chunk-XFYLA3ZO.cjs → chunk-VMROIWLL.cjs} +290 -90
  42. package/dist/{chunk-W7GRGGBH.cjs → chunk-W7L4HUT2.cjs} +8 -8
  43. package/dist/{chunk-FJ2MSI43.cjs → chunk-WKPXOGZZ.cjs} +124 -26
  44. package/dist/{chunk-D2SGV525.cjs → chunk-XZNU4DUX.cjs} +2 -2
  45. package/dist/diagram/index.cjs +2 -2
  46. package/dist/diagram/index.js +1 -1
  47. package/dist/effects/index.cjs +4 -4
  48. package/dist/effects/index.js +2 -2
  49. package/dist/extensions/index.cjs +5 -5
  50. package/dist/extensions/index.js +4 -4
  51. package/dist/gradient/index.cjs +2 -2
  52. package/dist/gradient/index.js +1 -1
  53. package/dist/history/HistoryManager.d.cts +20 -1
  54. package/dist/history/HistoryManager.d.ts +20 -1
  55. package/dist/history/index.cjs +8 -2
  56. package/dist/history/index.js +8 -2
  57. package/dist/history/types.d.cts +31 -0
  58. package/dist/history/types.d.ts +31 -0
  59. package/dist/image-editor/index.cjs +785 -777
  60. package/dist/image-editor/index.js +13 -5
  61. package/dist/index.cjs +16 -10
  62. package/dist/index.js +11 -5
  63. package/dist/kernel-wasm-4KVONDAU.js +9 -0
  64. package/dist/kernel-wasm-TTYRBGAK.cjs +9 -0
  65. package/dist/paint/index.cjs +10 -2
  66. package/dist/paint/index.js +9 -1
  67. package/dist/paint/wet/film.d.cts +19 -1
  68. package/dist/paint/wet/film.d.ts +19 -1
  69. package/dist/paint/wet/gpu-kernels.d.cts +2 -2
  70. package/dist/paint/wet/gpu-kernels.d.ts +2 -2
  71. package/dist/paint/wet/kernel-wasm.d.cts +5 -5
  72. package/dist/paint/wet/kernel-wasm.d.ts +5 -5
  73. package/dist/paint/wet/kernel.d.cts +1 -1
  74. package/dist/paint/wet/kernel.d.ts +1 -1
  75. package/dist/paint/wet/medium.d.cts +3 -1
  76. package/dist/paint/wet/medium.d.ts +3 -1
  77. package/dist/paint/wet/model.d.cts +19 -4
  78. package/dist/paint/wet/model.d.ts +19 -4
  79. package/dist/paint/wet/world.d.cts +34 -8
  80. package/dist/paint/wet/world.d.ts +34 -8
  81. package/dist/paint-editor/backlight.d.cts +77 -0
  82. package/dist/paint-editor/backlight.d.ts +77 -0
  83. package/dist/paint-editor/controller.d.cts +11 -0
  84. package/dist/paint-editor/controller.d.ts +11 -0
  85. package/dist/paint-editor/index.cjs +685 -397
  86. package/dist/paint-editor/index.d.cts +1 -0
  87. package/dist/paint-editor/index.d.ts +1 -0
  88. package/dist/paint-editor/index.js +308 -20
  89. package/dist/paint-editor/paper.d.cts +7 -0
  90. package/dist/paint-editor/paper.d.ts +7 -0
  91. package/dist/paint-editor/wet.d.cts +9 -0
  92. package/dist/paint-editor/wet.d.ts +9 -0
  93. package/dist/parameters/index.cjs +2 -2
  94. package/dist/parameters/index.js +1 -1
  95. package/dist/tools/index.cjs +4 -2
  96. package/dist/tools/index.d.cts +1 -0
  97. package/dist/tools/index.d.ts +1 -0
  98. package/dist/tools/index.js +3 -1
  99. package/dist/tools/origin.d.cts +22 -0
  100. package/dist/tools/origin.d.ts +22 -0
  101. package/dist/vector/index.cjs +964 -964
  102. package/dist/vector/index.js +5 -5
  103. package/dist/video-editor/index.cjs +4 -4
  104. package/dist/video-editor/index.js +2 -2
  105. package/package.json +1 -1
  106. package/skills/pixerate-canvas/SKILL.md +25 -0
  107. package/skills/pixerate-paint-editor/SKILL.md +3 -3
  108. package/skills/pixerate-paint-editor/references/light-paint.md +30 -7
  109. package/skills/pixerate-paint-watercolour/SKILL.md +10 -1
  110. package/skills/pixerate-paint-watercolour/evals/glowing-wash.json +22 -0
  111. package/skills/pixerate-paint-watercolour/evals/stained-glass.json +16 -0
  112. package/dist/kernel-wasm-6FPOLVUZ.cjs +0 -9
  113. package/dist/kernel-wasm-WIMMJUF2.js +0 -9
@@ -26,7 +26,7 @@ import {
26
26
  traceField,
27
27
  traceVectorImage,
28
28
  vectorTraceContours
29
- } from "../chunk-H4Z72Z4Z.js";
29
+ } from "../chunk-OSTKS3YN.js";
30
30
  import {
31
31
  applyHomography,
32
32
  homographyFromPoints,
@@ -53,7 +53,7 @@ import {
53
53
  reverseMorphContour,
54
54
  subpathToMorphContour,
55
55
  turnMorphContour
56
- } from "../chunk-4ZHXLFXS.js";
56
+ } from "../chunk-5RFENYO5.js";
57
57
  import {
58
58
  DEFAULT_VECTOR_FONT,
59
59
  IDENTITY_MATRIX,
@@ -526,8 +526,8 @@ import {
526
526
  withVectorStrokes,
527
527
  withVectorTargetPaint,
528
528
  zigzagPaths
529
- } from "../chunk-6L3WWIDW.js";
530
- import "../chunk-HQZHOPNE.js";
529
+ } from "../chunk-4EQY4TZJ.js";
530
+ import "../chunk-TBJEMELS.js";
531
531
  import {
532
532
  createProvenance
533
533
  } from "../chunk-M6DNZNVY.js";
@@ -582,7 +582,7 @@ import {
582
582
  import "../chunk-HF5QZS7Z.js";
583
583
  import {
584
584
  HistoryManager
585
- } from "../chunk-RNSANXPT.js";
585
+ } from "../chunk-NS62CQ2B.js";
586
586
  import "../chunk-5UJHB3BW.js";
587
587
  import "../chunk-V6DT2CDH.js";
588
588
  import {
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6; var _class7; var _class8;
2
2
 
3
- var _chunk7V7QMFTIcjs = require('../chunk-7V7QMFTI.cjs');
3
+ var _chunkQOBCBGGIcjs = require('../chunk-QOBCBGGI.cjs');
4
4
 
5
5
 
6
6
 
@@ -179,7 +179,7 @@ var _chunkSJ2CPTQCcjs = require('../chunk-SJ2CPTQC.cjs');
179
179
  require('../chunk-2BSBFBOA.cjs');
180
180
 
181
181
 
182
- var _chunkFJ2MSI43cjs = require('../chunk-FJ2MSI43.cjs');
182
+ var _chunkWKPXOGZZcjs = require('../chunk-WKPXOGZZ.cjs');
183
183
 
184
184
 
185
185
  var _chunkLJZRHVZVcjs = require('../chunk-LJZRHVZV.cjs');
@@ -3663,7 +3663,7 @@ var VideoEditorController = (_class8 = class _VideoEditorController {
3663
3663
  __init54() {this.planBasis = /* @__PURE__ */ new Map()}
3664
3664
  __init55() {this.planCount = 0}
3665
3665
  constructor(options = {}) {;_class8.prototype.__init46.call(this);_class8.prototype.__init47.call(this);_class8.prototype.__init48.call(this);_class8.prototype.__init49.call(this);_class8.prototype.__init50.call(this);_class8.prototype.__init51.call(this);_class8.prototype.__init52.call(this);_class8.prototype.__init53.call(this);_class8.prototype.__init54.call(this);_class8.prototype.__init55.call(this);_class8.prototype.__init56.call(this);_class8.prototype.__init57.call(this);_class8.prototype.__init58.call(this);
3666
- this.history = _nullishCoalesce(options.history, () => ( new (0, _chunkFJ2MSI43cjs.HistoryManager)()));
3666
+ this.history = _nullishCoalesce(options.history, () => ( new (0, _chunkWKPXOGZZcjs.HistoryManager)()));
3667
3667
  this.audioPeaks = options.audioPeaks instanceof VideoAudioPeaksCache ? options.audioPeaks : new VideoAudioPeaksCache(options.audioPeaks);
3668
3668
  this.luts = options.luts instanceof _chunkXNZFVYC2cjs.VideoLutCache ? options.luts : new (0, _chunkXNZFVYC2cjs.VideoLutCache)(options.luts);
3669
3669
  this.frameCache = _nullishCoalesce(options.frameCache, () => ( null));
@@ -6773,7 +6773,7 @@ async function openVideoClipEffectAuthoring(controller, clip, instance, options
6773
6773
  const at = _chunkXNZFVYC2cjs.findVideoClip.call(void 0, controller.getProject(), clip);
6774
6774
  if (!at) throw new Error(`There is no clip "${clip}".`);
6775
6775
  const doc = videoClipEffectDocument(at.clip, instance, provider.id);
6776
- const session = await _chunk7V7QMFTIcjs.createEffectAuthoringSession.call(void 0, { document: doc }, { ...options, provider });
6776
+ const session = await _chunkQOBCBGGIcjs.createEffectAuthoringSession.call(void 0, { document: doc }, { ...options, provider });
6777
6777
  return {
6778
6778
  clip,
6779
6779
  instance,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createEffectAuthoringSession
3
- } from "../chunk-X3ZINLIP.js";
3
+ } from "../chunk-AU6MWQKZ.js";
4
4
  import {
5
5
  VIDEO_ADJUSTMENT_SCOPES,
6
6
  VIDEO_BLEND_MODES,
@@ -179,7 +179,7 @@ import {
179
179
  import "../chunk-HF5QZS7Z.js";
180
180
  import {
181
181
  HistoryManager
182
- } from "../chunk-RNSANXPT.js";
182
+ } from "../chunk-NS62CQ2B.js";
183
183
  import {
184
184
  AnimationPlayer
185
185
  } from "../chunk-CXXXAZ7H.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixerate/editor",
3
- "version": "0.243.0",
3
+ "version": "0.245.0",
4
4
  "description": "UI-agnostic rich text and media editing core library",
5
5
  "author": "Pixerate",
6
6
  "license": "MIT",
@@ -50,6 +50,14 @@ the pitfalls, and uses the tools below.
50
50
  `scope: "canvas"` for the whole drawing. Fix overlaps, misalignment and clipped text, then show
51
51
  the user with `canvas_select` or `canvas_highlight`.
52
52
 
53
+ **Working alongside the user** (they are building and you add to it unasked): suggest instead of
54
+ editing. `propose_nodes` shows ghosts the user accepts or dismisses, and nothing reaches the canvas
55
+ or its history until then. Keep each proposal small and about one idea (a caption, the next card in
56
+ a series, a missing connector), give it a `title` and a one-sentence `rationale`, and anchor it to
57
+ the node it complements with `nearNodeId`. Never accept your own proposals unless the user asked
58
+ you to. Withdraw stale ones with `reject_proposal`: when the user changes what a proposal builds on,
59
+ `list_proposals` shows it under `missing`.
60
+
53
61
  ## Best practices
54
62
 
55
63
  - **Design-system thinking.** Anything that appears twice should be a component: build one main,
@@ -143,6 +151,19 @@ undo step and is not saved with the document. The host decides what the children
143
151
  | `explode_node` | Explode `node` (an id from `list_explodable_nodes`). Unless `multiple`, the node exploded before collapses (it comes back in `collapsed`). Exploding an exploded node changes nothing (`changed: false`). Returns the ids now `exploded`. Then use `get_editor_state` or `capture_view` to read or see the children. |
144
152
  | `collapse_node` | Collapse an exploded `node`. Returns the ids still `exploded` and those still `collapsing` (their children leave when the collapse animation ends). Fails when the node is not exploded. |
145
153
 
154
+ ### Proposals (suggest, don't edit)
155
+
156
+ Hosts that let agents suggest additions add these. A proposal is new nodes and edges shown as ghosts
157
+ (not draggable, selectable or saved). Accepting adds them as one undo step, recorded as made by
158
+ whoever proposed it (`agent:<id>`); rejecting leaves the canvas and its history untouched.
159
+
160
+ | Tool | Use it to |
161
+ | --- | --- |
162
+ | `propose_nodes` | Suggest nodes and edges without adding them: `title` (also the undo step name), `rationale`, `nodes` (each optional `id`, `type`, `data`, `position`, `width`, `height`, `nearNodeId`, `side`), `edges` (`source`, `target`, `label`). A node with `nearNodeId` (a canvas node or an earlier node of the proposal) is placed beside it and connected from it. Returns `proposalId`, the planned node ids and positions, edge ids and `anchors` (the canvas nodes it builds on). Read ids with `get_editor_state` first. |
163
+ | `list_proposals` | List pending proposals: `id`, `title`, `rationale`, `origin`, nodes, edges, `anchors`, `missing` (anchors since removed: it can no longer be accepted) and the `readOnly` reason if accepting is disabled. Call it before `accept_proposal` or `reject_proposal`. |
164
+ | `accept_proposal` | Add a pending proposal (`proposalId`) to the canvas as one undo step and drop it from the list. Returns the added `nodeIds`, `edgeIds` and `historyLabel`. Refuses, changing nothing, when the canvas is read-only or an anchor is `missing`. Only when the user asked. |
165
+ | `reject_proposal` | Dismiss a pending proposal (`proposalId`): its ghosts go and nothing else changes. Use it to withdraw a suggestion that no longer fits. Returns the `proposalId` and `title`. |
166
+
146
167
  ### Write: components
147
168
 
148
169
  These are strict-schema tools. Each returns `{ ids }` of what it created or changed, or fails with
@@ -320,6 +341,10 @@ effects provider (for example Flair); without one the read tools say so and the
320
341
 
321
342
  ## Pitfalls
322
343
 
344
+ - **Proposals are not on the canvas.** Their ids are not in `get_editor_state` until accepted, and
345
+ `canvas_connect` or `canvas_update_node` on them fails. Put the whole idea in one proposal (an
346
+ edge between two proposed nodes goes in its `edges`), or wait for the user to accept it.
347
+
323
348
  - **A shape node holds one effect.** `apply_effect` replaces the effect that is there. Effects draw on shape nodes only (nodes with `data.shape`).
324
349
  - **Effects belong to the provider they came from.** Each saved effect keeps its provider id. After the provider changes (another effects library), check `list_applied_effects` for `available: false` and re-apply those effects with ids from the new provider's `search_effects`; the old effect ids mean nothing to it.
325
350
 
@@ -161,7 +161,7 @@ read [references/wet-media.md](references/wet-media.md) for the engine and the w
161
161
 
162
162
  Wet oil blends where the brush meets it; impasto adds relief lit by `set_lighting`: load
163
163
  `pixerate-paint-oil-impasto` and read [references/oils.md](references/oils.md). **Light paint**
164
- (neon, glowing glass: `light.amount`, the Light category): [references/light-paint.md](references/light-paint.md).
164
+ (neon, glowing glass and watercolour: `light.amount`, the Light category; backlit paper): [references/light-paint.md](references/light-paint.md).
165
165
 
166
166
  ## Gradient paint
167
167
 
@@ -276,8 +276,8 @@ is a canvas coordinate: read [references/canvas-hosted.md](references/canvas-hos
276
276
  | `set_canvas` | Resize the canvas (pixels stay put, anchored top-left) or change its `dpi`. Returns the canvas. |
277
277
  | `extend_canvas` | Add pixels on any side (`left`, `top`, `right`, `bottom`, default 0) keeping everything painted, the paper grain and the guides in place relative to each other. `left` / `top` move all document coordinates by that much. Wet paint stays wet and moves with it when `left` and `top` are multiples of 256; otherwise it dries first. One undo step. Returns `canvas`, `rect` (the new canvas in the previous coordinates) and `origin` (also in `get_canvas_info`). |
278
278
  | `list_papers` | Read the paper library: id, name, family, grain pattern, colour, depth and the wet-media properties (absorption, permeability, roughness, stored for later wet media). Call before `set_paper`. |
279
- | `get_paper` | Read every setting of the current paper (pattern, seed, scale, tiling, depth, shading, dry and wet tuning). |
280
- | `set_paper` | Change the paper: `preset`, then any of `color`, `depth` (0..1), `scale` (0.25..8), `seed` (another sheet), `pattern`, `tiling`, `shading`, `dry` / `wet` tuning (`contrast` 0..3, `invert`). Affects new strokes' grain and how the paper shows; strokes already painted keep their pixels. Returns the paper. |
279
+ | `get_paper` | Read every setting of the current paper (pattern, seed, scale, tiling, depth, shading, dry and wet tuning, and `metallic`, `backlight`, `backlightColor` when set). |
280
+ | `set_paper` | Change the paper: `preset`, then any of `color`, `depth` (0..1), `scale` (0.25..8), `seed` (another sheet), `pattern`, `tiling`, `shading`, `dry` / `wet` tuning (`contrast` 0..3, `invert`), `metallic`, `backlight` (0..1, light from behind: glazes glow, opaque paint blocks; preset `stained-glass`) and `backlightColor`. Affects new strokes' grain and how the paper shows; strokes already painted keep their pixels. Returns the paper. |
281
281
 
282
282
  ### Layers
283
283
 
@@ -1,9 +1,10 @@
1
1
  # Light paint
2
2
 
3
3
  Light paint is paint that gives off light: neon, light painting, glow-in-the-dark, glowing glassy
4
- tubes. Any dab, particle, bristle, Mixer Brush or impasto brush lays it with `light.amount` above 0
5
- (`set_brush`); the Light category presets are ready-made (`glow-gel`, `neon-marker`,
6
- `light-airbrush`, `spark-trail`).
4
+ tubes, glowing watercolour. Any dab, particle, bristle, Mixer Brush, impasto or wet paint brush
5
+ lays it with `light.amount` above 0 (`set_brush`); the Light category presets are ready-made
6
+ (`glow-gel`, `neon-marker`, `light-airbrush`, `spark-trail`, `glow-wash`,
7
+ `highlighter`).
7
8
 
8
9
  - **What it does.** Each layer keeps a light channel next to its colour. The light's colour is the
9
10
  paint's colour at that pixel, so recolouring paint recolours its light. It glows (the paint
@@ -22,10 +23,32 @@ tubes. Any dab, particle, bristle, Mixer Brush or impasto brush lays it with `li
22
23
  gradient (`set_paint`) for glowing glass tubes.
23
24
  - **Crossings.** Beads on one layer fuse where they cross (their heights combine by maximum), so
24
25
  clarity only shows other layers: paint one loop per layer for glassy crossings.
26
+ - **Highlighter** (`highlighter`): fluorescent ink. A transparent chisel marker that multiplies,
27
+ so it glows a little brighter than the paper and text under it stays dark. Paint it on the
28
+ layer that holds the text (a tip blend works within its layer), and turn that layer's spill off
29
+ (`set_light_spill` `radius` 0): fluorescent ink does not light its surroundings, and spill would
30
+ wash the text out.
25
31
  - **Spill vs a glow layer style.** Spill takes each stroke's colour and strength. For a one-colour
26
32
  halo around everything on a layer, use a blend or an effect layer instead.
27
- - **Not yet:** wet brushes (glowing watercolour is planned, #494), sticker sprays and stroke layers
28
- refuse light above 0, with the alternatives.
33
+ - **Glowing watercolour** (wet paint brushes with `light.amount`, e.g. `glow-wash`): the light is
34
+ part of the wet paint. It flows, bleeds, pools at the wash's edges, granulates and blooms with
35
+ the pigment (`advance_wet_paint`), blot lifts it, wet blend and wet smudge move it, and
36
+ re-wetting lifts dried light back into the water. While wet, `get_light` shows it as it is now;
37
+ when the paint dries (`dry_paint`, or saving) it settles into the layer's light and is ordinary
38
+ light paint. Glowing paint shows its own hue whatever is under it, so a glowing glaze on dark
39
+ paper reads as its colour, glowing; a plain glaze there only darkens. Plain wet paint over
40
+ glowing paint dims it by how much light the new film lets through. Add water and the other
41
+ wet tools lay no light. Paint glowing washes on dark paper (`set_paper` `color`).
42
+ - **Not yet:** sticker sprays and stroke layers refuse light above 0, with the alternatives.
43
+ - **Backlit paper** (`set_paper` `backlight` 0..1 and `backlightColor`, or the `stained-glass`
44
+ preset): light from behind the paper, like a lightbox. It is a paper setting, not light paint:
45
+ nothing is repainted, and each pixel lets the light through by how transparent its paint is.
46
+ Transparent glazes (watercolour, airbrush, a marker below full opacity) glow in their own
47
+ colour; opaque paint (gouache, oil, solid ink) and thick paint block it, and impasto
48
+ clarity lets some through. The light through paint spills softly around it. Bare paper
49
+ glows towards white. Exact for watercolour straight on the paper; layers over other layers
50
+ and blend modes are approximated (every layer is read as a film over the paper). For stained
51
+ glass: strong transparent glazes for the panes, then opaque black lines on a layer above.
29
52
  - **PSD.** `export_psd` writes each layer's pixels with their glow, and its spill as a
30
- "‹layer› light" Linear Dodge (Add) layer directly above it. Re-importing gives plain pixel
31
- layers, not editable light.
53
+ "‹layer› light" Linear Dodge (Add) layer directly above it; backlit paper adds a "Backlight"
54
+ Linear Dodge (Add) layer at the top. Re-importing gives plain pixel layers, not editable light.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: pixerate-paint-watercolour
3
- description: The watercolour workflow in the Pixerate paint editor - choosing the paper, planning light to dark and keeping the paper's white for highlights, wet-in-wet and wet-on-dry washes, letting water flow and drying before glazing, steering water with the wet tools, granulation, blooms and edge darkening, and finishing detail with a small brush. Use when asked to paint in watercolour or gouache, lay a wash, paint a sky, glaze, paint wet-in-wet, make blooms or granulation, or paint a loose or botanical watercolour, or when wet_paper, advance_wet_paint, dry_paint or set_wet_settings are available. Load with pixerate-paint-editor, which lists every tool.
3
+ description: The watercolour workflow in the Pixerate paint editor - choosing the paper, planning light to dark and keeping the paper's white for highlights, wet-in-wet and wet-on-dry washes, letting water flow and drying before glazing, steering water with the wet tools, granulation, blooms and edge darkening, finishing detail with a small brush, and glowing washes and backlit (stained-glass) glazes. Use when asked to paint in watercolour or gouache, lay a wash, paint a sky, glaze, paint wet-in-wet, make blooms or granulation, paint a loose or botanical watercolour, or paint glowing watercolour or stained glass, or when wet_paper, advance_wet_paint, dry_paint or set_wet_settings are available. Load with pixerate-paint-editor, which lists every tool.
4
4
  metadata:
5
5
  kind: workflow
6
6
  reference: pixerate-paint-editor
@@ -57,6 +57,12 @@ This skill is the method. `pixerate-paint-editor` has the full tool reference an
57
57
  run, `set_wet_settings` tunes `granulation`, `edgeDarkening` and `bloom` for the layer.
58
58
  8. **Finish.** `dry_paint` everything; `render_preview` to look; export.
59
59
 
60
+ **Glowing washes and backlit glazes.** A wet paint brush with `light.amount` (`glow-wash`) lays
61
+ light that flows and dries with its pigment: paint it on dark paper, let it flow, dry, and check
62
+ `get_light` `hasLight`. For a lightbox or stained glass, `set_paper` `stained-glass` (or
63
+ `backlight` on any paper) before painting: strong transparent glazes glow, gouache and solid ink
64
+ block the light. See `references/light-paint.md` in `pixerate-paint-editor`.
65
+
60
66
  ## Decision table
61
67
 
62
68
  | Want | Approach |
@@ -69,6 +75,8 @@ This skill is the method. `pixerate-paint-editor` has the full tool reference an
69
75
  | Grainy, textured washes | `rough-watercolor` paper and `granulation` up in `set_wet_settings` |
70
76
  | Fine lines and detail | `hot-pressed` paper, `watercolor-detail`, on dry paper |
71
77
  | Cauliflower blooms | Add water into a drying wash; `bloom` up |
78
+ | A glowing (neon) wash | Dark paper (`set_paper` `color`), `glow-wash` or `light.amount` on a wet brush; flow, dry, `get_light` |
79
+ | Stained glass, a lightbox | `set_paper` `stained-glass` (or `backlight`); strong glazes for panes, opaque black lines above |
72
80
 
73
81
  ## Recipes
74
82
 
@@ -102,5 +110,6 @@ warm colour near the horizon → `advance_wet_paint` → `blot` a few clouds →
102
110
  - `paint_stroke`: washes, shapes and details, and the wet tools (water, dryer, blot)
103
111
  - `wet_paper`, `advance_wet_paint`, `dry_paint`, `get_wet_paint`: wet-in-wet, flow, drying and checking
104
112
  - `set_wet_settings`, `set_canvas_tilt`, `set_flow_map`: tune and steer the water
113
+ - `get_light`: check a glowing wash's light once it dries
105
114
  - `undo_paint`: take back a step
106
115
  - `export_image`: deliver
@@ -0,0 +1,22 @@
1
+ {
2
+ "prompt": "Paint a glowing cyan watercolour wash across this dark sheet, and leave it dry.",
3
+ "fixture": {
4
+ "editor": "paint",
5
+ "width": 64,
6
+ "height": 64,
7
+ "setup": [{ "tool": "set_paper", "args": { "preset": "cold-pressed", "color": "#101626" } }]
8
+ },
9
+ "checks": [
10
+ { "why": "a wet paint brush laid the wash", "tool": "list_strokes", "expect": { "strokes": { "$some": { "brushId": { "$in": ["glow-wash", "watercolor-round", "watercolor-wash", "gradient-wash", "watercolor-detail"] } } } } },
11
+ { "why": "the wash glows: its layer has light paint", "tool": "get_light", "expect": { "hasLight": true } },
12
+ { "why": "it is dry", "tool": "get_wet_paint", "expect": { "wet": false } }
13
+ ],
14
+ "solution": [
15
+ { "tool": "set_brush", "args": { "id": "glow-wash" } },
16
+ { "tool": "set_color", "args": { "color": "#22d3ee" } },
17
+ { "tool": "paint_stroke", "args": { "points": [{ "x": 4, "y": 20 }, { "x": 60, "y": 20 }, { "x": 60, "y": 40 }, { "x": 4, "y": 40 }] } },
18
+ { "tool": "advance_wet_paint", "args": { "seconds": 1 } },
19
+ { "tool": "dry_paint" },
20
+ { "tool": "get_light" }
21
+ ]
22
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "prompt": "Set this sheet up as a lightbox for stained glass, then glaze a transparent red pane across the middle and let it dry.",
3
+ "fixture": { "editor": "paint", "width": 64, "height": 64, "setup": [] },
4
+ "checks": [
5
+ { "why": "the paper is backlit", "tool": "get_paper", "expect": { "backlight": { "$expr": "v > 0" } } },
6
+ { "why": "the pane is a transparent watercolour glaze, not gouache", "tool": "list_strokes", "expect": { "strokes": { "$some": { "brushId": { "$in": ["watercolor-round", "watercolor-wash", "gradient-wash", "watercolor-detail", "glow-wash"] } } } } },
7
+ { "why": "it is dry", "tool": "get_wet_paint", "expect": { "wet": false } }
8
+ ],
9
+ "solution": [
10
+ { "tool": "set_paper", "args": { "preset": "stained-glass" } },
11
+ { "tool": "set_brush", "args": { "id": "watercolor-wash" } },
12
+ { "tool": "set_color", "args": { "color": "#dc2626" } },
13
+ { "tool": "paint_stroke", "args": { "points": [{ "x": 4, "y": 24 }, { "x": 60, "y": 24 }, { "x": 60, "y": 40 }, { "x": 4, "y": 40 }] } },
14
+ { "tool": "dry_paint" }
15
+ ]
16
+ }
@@ -1,9 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/paint/wet/kernel-wasm.ts
2
- var WET_KERNEL_SOURCE_HASH = "7908509208f3b6a9";
3
- var WET_KERNEL_SHARED = "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";
4
- var WET_KERNEL_SINGLE = "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";
5
-
6
-
7
-
8
-
9
- exports.WET_KERNEL_SHARED = WET_KERNEL_SHARED; exports.WET_KERNEL_SINGLE = WET_KERNEL_SINGLE; exports.WET_KERNEL_SOURCE_HASH = WET_KERNEL_SOURCE_HASH;
@@ -1,9 +0,0 @@
1
- // src/paint/wet/kernel-wasm.ts
2
- var WET_KERNEL_SOURCE_HASH = "7908509208f3b6a9";
3
- var WET_KERNEL_SHARED = "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";
4
- var WET_KERNEL_SINGLE = "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";
5
- export {
6
- WET_KERNEL_SHARED,
7
- WET_KERNEL_SINGLE,
8
- WET_KERNEL_SOURCE_HASH
9
- };