Reference
Every keyboard shortcut, menu command, and term in one place. For workflow guidance, see the earlier chapters.
Keyboard shortcuts
Mode switching
| Key | Mode |
|---|---|
| B | Add |
| E | Subtract |
| P | Paint |
| S | Select |
| K | Spawns / Metadata |
| T | Transform (when selection exists) |
Shape selection
Active when Add / Subtract / Paint is the current mode.
| Key | Shape |
|---|---|
| 1 | Brush |
| 2 | Line |
| 3 | Box |
| 4 | Circle |
| 5 | Polygon |
| F | Fill (toggle) |
| G | Extrude (toggle) |
| P | Procedural Shader (in Add mode; conflicts with Paint shortcut, context-dependent) |
Shape modifiers
| Key | Effect |
|---|---|
| H | Toggle Hollow option for Box / Circle / Polygon |
| Q | Cycle connectivity: Geometry ↔ Face (for Fill / Extrude / Face-select) |
| Shift | (Held while drawing) Line: snap to axis · Box: square footprint |
| Ctrl | (Held while clicking) Apply current snap mode (Edge / Center) |
| Alt | (Held while clicking) Eyedropper — pick clicked voxel’s colour. In Select mode: deselect |
View
| Key | Effect |
|---|---|
| V | Cycle render mode (Unshaded → Lit → Normals → Material → Textured) |
| W | Toggle wireframe overlay |
Editing
| Key | Effect |
|---|---|
| Ctrl+Z | Undo |
| Ctrl+Y or Ctrl+Shift+Z | Redo |
| Ctrl+C | Copy selection |
| Ctrl+X | Cut selection |
| Ctrl+V | Paste (enters paste mode) |
| Del | Delete selection |
| Ctrl+A | Select all non-air voxels |
| Esc | Cancel current operation (in-progress shape, paste, transform, selection) |
| L | Lock / unlock highlight points on current face |
| Shift+L | Clear all locked faces |
File
| Key | Effect |
|---|---|
| Ctrl+N | New Tile |
| Ctrl+O | Open Tile… |
| Ctrl+S | Save Tile |
| Ctrl+Shift+S | Save Tile As… |
Transform (active during pending transform)
| Key | Effect |
|---|---|
| ← / → | Nudge selection ±1 voxel on X |
| ↑ / ↓ | Nudge selection ∓1 voxel on Z |
| Shift+↑ / Shift+↓ | Nudge selection ±1 voxel on Y |
| Enter | Commit transform |
| Esc | Cancel transform — voxels snap back |
Camera (mouse only)
| Action | How |
|---|---|
| Orbit | Middle-mouse drag |
| Pan | Shift + middle-mouse drag |
| Zoom | Scroll wheel |
Menu reference
File menu
| Command | Shortcut | Effect |
|---|---|---|
| New Tile | Ctrl+N | Create a blank tile at the configured size |
| Open Tile… | Ctrl+O | Load a .tres / .res tile |
| Save Tile | Ctrl+S | Save to current path; falls through to Save As if no path |
| Save Tile As… | Ctrl+Shift+S | Save with a new name |
| Export Tile… | — | Open the export dialog (Full / Smallest / Selected) |
| Import Scene… | — | Voxelise a .tscn / .scn and pull it into the current tile |
| Import Palette… | — | Replace the current palette from a .tres file |
| Export Palette… | — | Save the current palette as a .tres file |
Edit menu
| Command | Shortcut | Effect |
|---|---|---|
| Undo | Ctrl+Z | Roll back the last action |
| Redo | Ctrl+Shift+Z or Ctrl+Y | Reapply an undone action |
| Procedural Shader… | — | Open the procedural shader dialog |
Viewport menu
| Command | Shortcut | Effect |
|---|---|---|
| Reset Camera | — | Orbit to default angle |
| Focus Center | — | Centre camera on tile midpoint |
| Rift Delver View | — | Switch to fixed isometric + lit shading |
| Wireframe | W | Toggle wireframe overlay |
| Unshaded | — | Flat vertex colours |
| Lit | — | Per-pixel half-lambert shading (default) |
| Normals | — | Face normals as RGB debug |
| Material | — | Colour by base material type |
| Textured | — | Custom shader materials per palette entry |
| Player Reference | — | Toggle player capsule reference |
| Player Ref Size / Position… | — | Configure capsule height / radius / position |
| Rift Delver Floor | — | Toggle floor plane reference |
| Floor Depth… | — | Adjust floor Y position |
| UI Scale 75% / 100% / 125% / 150% / 200% | — | Scale all editor UI |
Selection menu
| Command | Shortcut | Effect |
|---|---|---|
| Copy | Ctrl+C | Copy selection |
| Cut | Ctrl+X | Copy + delete |
| Paste | Ctrl+V | Enter paste mode |
| Delete | Del | Remove selected voxels |
| Select All | Ctrl+A | Select all non-air |
| Rotate X / Y / Z | — | 90° rotation around selection centre |
| Flip X / Y / Z | — | Mirror within selection bounds |
| Mirror X / Y / Z | — | Duplicate + flip; original kept |
| Scale 0.5× / 0.75× / 2× / 3× / 4× | — | Resample selection |
| Hollow | — | Strip interior voxels |
| Flood Interior | — | Fill enclosed air |
| Dilate | — | Grow selection +1 voxel |
| Erode | — | Shrink selection -1 voxel |
Remote menu
| Command | Effect |
|---|---|
| Browse Remote Assets… | Open the remote browser dialog |
| Push Current Tile | Upload active tile |
| Push Current Palette | Upload active palette |
| Sync Settings… | Configure server connection |
Glossary
Air voxel — A voxel with ID 0. Renders as transparent and counts as empty space for collisions and connectivity checks.
Base material type — A coarse classification of substance — Stone, Bedrock, Water, Dirt, Mud, Lava, Acid, Gas, or Steam — set on each palette entry. The host game uses this for footstep sounds, particle reactions, physics behaviour, and the Material view mode.
Bedrock — Indestructible voxel material. Used for tile boundaries that should never break under in-game destruction.
Brush size — The radius of the Brush shape and the Brush selection sub-tool. Range 1–16. Larger brushes are spheres in 3D unless Flat is on, in which case they’re discs aligned to the working plane.
Chunk — Internal rendering unit. The editor groups voxels into 16-voxel chunks for performance — only chunks that change get re-meshed each frame, capped at 32 chunks per frame.
Connectivity (Geometry vs Face) — How Fill, Extrude, and Face-Select decide which voxels are “connected” to a starting point. Geometry treats any 6-connected non-air voxel as a neighbour (3D flood). Face only follows voxels along the exposed face you clicked, stopping at hidden faces.
Custom mirror plane — A user-placed mirror plane independent of the three axis-aligned planes. Drawn yellow in the viewport. Place via the Place button and click a face.
Edge type — Per-tile metadata describing what kind of connection each cardinal edge offers — Solid Wall, Open Ground, Corridor, Door, Bedrock Wall, Structure Internal. Used by the host game to decide which tiles can sit adjacent.
Eyedropper — Alt+click on an existing voxel to copy its palette index into the active palette slot. Available in Add / Subtract / Paint, but not Select.
Fall back to GDScript — If the native C++ extension fails to load, the editor still runs but uses pure-GDScript implementations for hot paths (procedural shape preview, greedy meshing, chunk generation). Slower but functionally identical. The status bar shows C++: GDScript fallback in orange when this happens.
Gradient selection — Multi-selecting palette entries with weights so Add and Paint pick from the set randomly. Useful for natural variation across surfaces.
Greedy meshing — Mesh-generation algorithm that merges adjacent voxel faces of the same colour into single quads. Reduces vertex count by ~10× for typical voxel scenes.
Height phase — The third click of a Box / Circle / Polygon shape, where you sweep the 2D footprint along the face normal to make it 3D.
Hollow — Modifier (H) for Box / Circle / Polygon that builds only the shell, omitting the interior.
Locked face / locked highlight — A face that stays visually marked across mode and tool changes, used as a placement reference. Toggle with L; clear all with Shift+L.
Magic select — The Face selection sub-tool (the icon). Flood-selects voxels along an exposed face from a clicked seed, stopping at hidden faces.
Material view mode — A debug render mode that colours every voxel by its base material type instead of its palette colour. Useful for verifying that “this looks like stone” voxels are actually classified as Stone.
Metadata point — A non-geometric marker placed at a voxel position. Spawn points, particle emitters, shader planes, and waypoints are all metadata points. Authored in Spawns mode.
Mode vs Tool type — The editor distinguishes between primary mode (Add / Subtract / Paint / Select / Spawns / Transform) and tool type (Shape / Fill / Extrude / Procedural / Select / Metadata). The mode decides what clicking does, the tool type decides how.
Palette — The set of available colours and material types. A .tres resource shared across multiple tiles. Editing a palette updates every tile that uses it.
Palette entry — One row in a palette: name + colour + material type. Voxels reference palette entries by index — entry 1 is the first non-air entry.
Palette index / Voxel ID — Same thing. The integer 0..N stored in each voxel cell, mapping to a palette entry. 0 is always air.
Paste mode — A floating preview of the clipboard following the cursor. Click to commit, Esc to cancel.
Procedural shader — The expression-based voxel generator. A region is defined by two clicks; an expression is evaluated at every voxel position to decide what to place. See the Advanced page.
Remote sync — Optional asset-server connection for sharing tiles and palettes across machines. Status is shown in the bottom right of the status bar.
Selection — A set of voxel positions. Drawn with a cyan wireframe overlay. Built via the Select sub-tools. Operated on by Edit menu commands and the Transform bar.
Snap mode (Off / Edge / Center) — Held-Ctrl behaviour during shape clicks: snap to grid-line midpoints (Edge) or grid-cell centres (Center). Set in the context bar.
Spawn type — A registered metadata category (Enemy Spawn, Loot Chest, Particle Effect, etc.) that defines what fields a metadata point exposes in the editor.
Sub-tool — The second-level button in the left sidebar that decides which specific shape, selection method, or spawn type is active under the current primary mode.
Symmetry plane — A mirror plane that automatically replicates each edit. Three axis-aligned planes (X / Y / Z) plus any number of custom planes.
Tile — A discrete voxel grid with a configurable size, edge metadata, biome, weight, and tags. The unit of work in the editor. Stored as a .tres file.
Tile size — The bounding dimensions of a tile in voxels. Set in the tile properties dialog. Six presets plus custom (1–512 per axis).
Transform bar — The vertical button strip on the right of the viewport. Active when a selection exists. Hosts Move / Rotate / Scale / Flip / Mirror / Hollow / Flood buttons.
View mode — A render style for the viewport: Unshaded / Lit / Normals / Material / Textured. Cycle with V. Has no effect on tile data.
Working plane — The Y level where new voxels are placed. Decided per-shape based on what was clicked: a voxel face → that face; the floor grid → Y = 0; empty space → closest grid plane perpendicular to the camera.
Wrap at Tile Edges — Box-shape option that uses posmod to wrap voxels off one side of the tile to the opposite side rather than clipping them.
Y-slice slider — The slider at the right of the status bar. Hides voxels above a chosen Y level for editing inside tall structures. View-only — does not delete.
Useful URL fragments
Direct links into specific sections — handy for cross-referencing in commit messages or issue threads: