Skip to content

Nodes · Masks

Paint

Masksv2coreNeeds full input

Overview

Strokes, not pixels. Every stroke keeps its own size, softness, opacity and mode forever, so an old stroke can be re-judged at any time. Coverage saturates within a stroke, so a slow drag cannot darken by restamping the same spot.

How to

  1. Pick brush_mode: paint, clone, erase or reveal.
  2. For clone, <kbd>Ctrl</kbd>+click to park the source first.
  3. For reveal, wire the cleanplate into the reveal input.
  4. Drag to lay the stroke; it commits as one undo step on release.

Inputs

InputWhat it takes
inthe image this node works on
revealwhat `reveal` strokes brush in — a cleanplate, an earlier version, another grade

Outputs

OutputType
outImage

Parameters

ParameterTypeDefaultWhat it does
strokesTextThe strokes, as the node stores them. Paint in the viewer; this is the record.
brush_modeChoicepaintpaint lays colour; clone stamps pixels from a Ctrl-clicked source; erase removes; reveal paints the input back through. paintcloneerasereveal
brush_colorColor[1.0, 1.0, 1.0, 1.0]The colour paint mode lays down.
brush_sizeFloat30.0Brush diameter in pixels.
brush_opacityFloat1.0How opaque a stroke is.
brush_softnessFloat0.5Edge softness of the brush, 0 hard – 1 fully feathered.
disabledBoolfalseBypass: the node passes its first input through untouched (D in the graph). The knobs keep their values for when it comes back.
labelTextA note shown under the node in the graph — what this node is FOR. Never affects the render or the cache.
hide_inputBoolfalseDraw the node without its input wire — a tidy graph for a node whose source is obvious (a Dot, a viewer tap).

Known edges

erase takes back the paint above it and leaves the plate — it is an eraser, not a hole.

Since

27 Aug 2026 — erase and reveal