Shapes & Tools

When Add, Subtract, or Paint is the active mode, the left sidebar shows seven sub-tools: five shapes and two stamps (Fill, Extrude). Plus a third special sub-tool — the procedural Shader — which is covered on the Advanced page.

This page documents each shape and tool: which icon it has, the keyboard shortcut, the click pattern, what modifier keys do, and which options apply.

  Tool Key Click pattern Notes
Brush 1 Click or hold-drag Sized 1–16, optional Flat
Line 2 Click start → click end Shift snaps to axis
Box 3 Click → click → height Hollow, Square (Shift)
Circle 4 Click centre → drag radius → height Hollow
Polygon 5 Click centre → drag radius → height Hollow, Sides 3–32
Fill F One click Behaviour depends on mode
Extrude G Click face → drag depth Pulls or pushes faces

All seven tools live under all three of Add / Subtract / Paint — the mode decides whether the tool adds, removes, or recolours; the tool decides the volume.


The height phase

Three shapes — Box, Circle, Polygon — have a final height phase. After your two clicks define the footprint on the working plane, the shape becomes a flat outline floating in 3D. Move the mouse to extrude that outline along the face normal: forward to make it taller, backward to make it shorter (or even invert past zero). A third click commits the shape; Esc cancels.

The height preview is rendered as a translucent wireframe in mode-coloured tint:

Mode Preview tint
Add Blue
Subtract Red
Paint Yellow

If you skip the height phase by clicking immediately on the second click, the shape is one voxel thick.


Brush

Shortcut: 1

The simplest tool — places (or removes / recolours) a single voxel under the cursor on click, or a continuous trail on hold-and-drag.

Options (context bar)

Option Range Effect
Brush Size 1–16 Diameter of the brush sphere. At size 1 you place one voxel per click; at size 16 you stamp a 16-voxel ball
Flat toggle When on, the brush is flattened against the working plane — gives you a circular disc instead of a sphere

A size-3 Flat brush is the right tool for sketching organic surfaces — fast enough to drag continuously, large enough to feel like a paintbrush rather than a pixel.


Line

Shortcut: 2

Two-click straight line between two voxels. The line is drawn with Bresenham-style rasterisation in 3D, so it stays 1 voxel thick along its length regardless of orientation.

Click pattern

  1. Click the start voxel
  2. Move the cursor — a translucent preview line tracks the cursor
  3. Click the end voxel to commit

Modifiers

Hold Effect
Shift Snap to the nearest cardinal axis (X / Y / Z) — produces a perfectly straight line along one axis

Cancel an in-progress line with Esc.


Box

Shortcut: 3

A 3D rectangular cuboid defined by three clicks: two corners on the working plane, then a height.

Click pattern

  1. Click corner A — anchors one edge of the footprint
  2. Click corner B — completes the footprint rectangle. The preview now floats; move the mouse vertically to set height
  3. Click again to commit the cuboid

Options

Option Effect
Hollow (H) Build only the shell of the cuboid (six faces, no interior). Combine with Subtract to carve a window
Wrap at Tile Edges When on, voxels that fall outside the tile bounds wrap around using posmod instead of being clipped. Off by default

Modifiers

Hold Effect
Shift Constrain the footprint to a square — both dimensions move together

Circle

Shortcut: 4

A vertical or horizontal disc, swept into a cylinder during the height phase.

Click pattern

  1. Click the centre point
  2. Drag outward to set the radius — the preview disc grows. Click to commit the radius
  3. Move the mouse to set the height (sweep direction depends on which face the centre was placed on)
  4. Click to commit

Options

Option Effect
Hollow (H) Build only the rim — gives you a hoop instead of a disc, or a tube instead of a cylinder

The disc is rasterised with a midpoint-circle algorithm, so radii from 1 to ~64 produce visually clean circles.


Polygon

Shortcut: 5

A regular N-gon. Behaves identically to Circle but with discrete sides instead of a smooth curve. With Sides = 32 it is indistinguishable from Circle; with Sides = 3 it is a triangle.

Click pattern

Same as Circle: centre → radius → height.

Options

Option Range Effect
Hollow (H) toggle Outline only — useful for polygonal arches and rims
Sides 3–32 (default 6) Number of corners in the polygon

Sides = 6 (a hexagon) is the default for a reason — it tessellates well at small radii and reads as “polygon” rather than “low-resolution circle”.


Fill

Shortcut: F

A flood-fill that propagates from the clicked voxel outwards. Behaviour depends on the active primary mode:

Mode Behaviour
Add Pour fill — fills connected air voxels like water rising to fill an enclosed cavity
Subtract Removes the entire connected blob you click on
Paint Recolours every voxel connected to the clicked one

Click a voxel (or empty space, in Add mode) to start the fill. There is no preview — the fill commits immediately.

Connectivity options (context bar)

When Fill (or Extrude, or Face-select) is the active tool, the context bar shows a set of filters that restrict which neighbours count as “connected”:

Toggle Effect
Face (Q) Toggle between Geometry connectivity (any 6-connected non-air voxel) and Face connectivity (only voxels sharing the exposed face you clicked)
Color Restrict the flood to voxels with the same palette colour as the seed
Material Restrict the flood to voxels with the same base material type (stone, water, lava, etc.) as the seed
Range Slider 4–128 (default 64). Maximum search distance from the seed in voxels — caps runaway fills

The combination of Color + Face is what you want when recolouring a single visible surface (a wall) without bleeding into adjacent surfaces.


Extrude

Shortcut: G

Pull a face outward (Add), push it inward (Subtract), or repaint a layer (Paint). Extrude operates on a connected face region — first it finds all voxels on the face you clicked that share connectivity with each other, then it extrudes that region as a single block along the face normal.

Click pattern

  1. Click a face — the connected face region highlights
  2. Drag the mouse along the face normal — the preview shows N layers
  3. Release (or click again) to commit

The same connectivity options as Fill (Face / Color / Material / Range) apply during selection of the face region.

Extrude is the right tool for “thicken this wall by 2 voxels” or “carve back this ledge by 1”. It’s selection + transform in a single click-drag.


Working plane and depth

When you click in the viewport, the editor decides which Y level your shape lives on. Three rules, in priority:

  1. Click on a voxel → the new shape is placed on the face you clicked
  2. Click on the floor grid → the new shape sits at Y = 0
  3. Click in empty space → the working plane is the closest grid plane perpendicular to the camera’s view direction

Once a shape’s first click lands, the working plane is locked for the duration of that shape’s drawing — you can move the mouse anywhere in 3D space and the shape stays anchored to the original plane until you commit.


Locking guide points

Two refinements help with very precise placement:

Shortcut Effect
L Lock or unlock highlight points on the face under the cursor — locked faces show a permanent visual marker, useful as a reference while sketching
Shift + L Clear all locked faces

Locked faces persist across mode and tool changes; they live on the tile until cleared or the tile is closed.


Cancelling

At any point during a multi-click shape, press Esc to cancel the in-progress action. The shape is discarded; no voxels are placed or removed.


Next

Move on to Palette & Tiles for the colour palette workflow and the tile-properties dialog.


VOXL is built with Godot 4.6 and a custom C++ GDExtension.

This site uses Just the Docs, a documentation theme for Jekyll.