Skip to content

Drawing tools

The pencil and eraser are the two core tools you'll use most. Both share the same brush settings (size, shape, dither, custom-brush mask) and respect the active selection, symmetry, and pixel-perfect mode.


Pencil — B

Paint pixels with the primary colour. Click to stamp, drag to draw a continuous stroke. Strokes use Bresenham line interpolation between pointer events so fast cursor movements don't leave gaps.

  • Hold Shift while clicking → straight line from the previous point to the new one (same as the Line tool, but inline).
  • Right-click and drag → temporarily erases with the same brush size/shape, without switching to the Eraser tool. DPaint/Aseprite parity. Release the right button and the next drag draws again.

Eraser — E

Same mechanics as the pencil but writes transparent pixels instead. Visually it looks like a stripped-checkerboard preview. The eraser respects the active selection — pixels outside the mask aren't touched.

Pencil and eraser cursor previews


Brush size

Slider in Tools panel → Brush → Size (1–16 px). The size determines the side of a square stamp — combined with the Shape below, the stamp can be a circle, diamond, etc.

The cursor over the canvas shows a live preview of the actual painted cells, including transparency-friendly outlines so you can see the silhouette before you click.

Brush shape

In the same panel, below Size:

ShapeWhen to use
Square (default)Crisp, blocky strokes — the classic pixel-art pencil.
CircleSmoother organic strokes, useful for soft outlines and round shapes.
DiamondStrokes with 45° edges — good for isometric work.
Cross (+)Stamps horizontal+vertical line through the centre, useful for cross-hatching or bullets.
HorizontalSingle horizontal line — paint horizontal hatching at a custom thickness.
VerticalSingle vertical line — same idea for vertical hatching.

The Shape selector is disabled when Size is 1 (it's irrelevant for a single pixel).


Dither brush

Toggle in Tools panel → Brush → Dither brush. When active, pencil/eraser only paint pixels where the Bayer threshold passes — the result is an ordered-dither pattern.

Settings:

  • Pattern — Bayer 2×2 (chunky), 4×4 (default), 8×8 (smooth)
  • Intensity — 0–100% (% of pixels actually painted)

Useful for shading without intermediate colours (looks like classic 16-bit shading), or for textured backgrounds.

Dither brush at 50% intensity


Custom brushes

Capture any arbitrary mask as a brush footprint:

  1. Make a selection of any shape — rectangle, lasso, or magic wand. The selection's mask (not pixels) becomes the footprint.
  2. Tools panel → Brush → Custom brushes → + Capture.
  3. The brush is added to the list with a generated name (rename inline). Click it to make it active.
  4. Pencil and eraser now use that mask as their footprint, overriding both Size and Shape.
  5. Click None to revert to the standard brush.

Custom brushes are persisted in the project and .mstack file. Use them for:

  • Recurring textures (a leaf, a brick, a star)
  • Organic stamps (clouds, splashes)
  • Re-using a hand-drawn silhouette as a stamp

Custom brushes paint with the primary colour using the brush's mask as a 1-bit alpha. They are not RGBA patterns — only the silhouette matters. The eraser uses the same silhouette to erase.

Usability details

  • Double-click the brush name in the chip to rename it inline (Enter commits, Esc reverts). Same gesture as renaming a layer or frame.
  • While a custom brush is active, the Size slider is disabled and the header shows {w}×{h} instead of {N}px — the mask determines the footprint, not the slider.
  • Pixel-perfect mode automatically steps aside for custom brushes: the L-corner filter doesn't apply to mask-based brushes, since retracting cells you explicitly captured would be wrong.
  • Picking any built-in shape (square / circle / diamond / cross / horizontal / vertical) from the Shape selector immediately deselects the active custom brush — that's the affirmative gesture for "back to a built-in brush".

Pixel-perfect strokes

Brush size 1 only. See Pixel-perfect mode for what it does and when it helps.

Symmetry

Pencil and eraser respect symmetry axes — strokes are mirrored automatically across the configured axis (vertical, horizontal, both, or diagonals). See Symmetry.


Motestack is a personal hobby project. The editor and these docs ship under no warranty — back up your `.mstack` files.