Controls & tools
Every named key below can be changed in Settings. Click a binding and press the key you want.
Reference
| action | default |
|---|---|
| pan | two-finger scroll, drag with no tool in hand, right or middle drag, Shift+wheel for sideways, or the arrow keys |
| zoom | trackpad pinch, Ctrl/Cmd+scroll (at the cursor), or , . (all three work in the browser too) |
| tools | 1 place · 2 select · 3 move · 4 copy/paste · 5 shapes |
| erase toggle | 6, so place and shapes take Ents away |
| cycle shape | 5 again or Tab, or just pick one from the shapes dropdown |
| play / pause | Space, or the toolbar button |
| step forward / back | N / B (back rewinds through recorded ticks) |
| reset to last play | 0, or the reset button |
| brush size | the − / + under the bar, or q…p = 1–10 |
| copy / paste pattern | Cmd/Ctrl+C / V, then every click stamps a copy |
| rotate / flip pattern | R / F while a pattern floats |
| undo / redo | Z / Y (also Cmd/Ctrl+Z, Cmd/Ctrl+Shift+Z) |
| delete selection | Backspace or Delete, or the button under the bar |
| speed | [ / ], the − / + buttons, or click the speed to type one |
| frame the whole world | F, or the fit button |
| population graph | G, or the graph button |
| minimap | M (appears bottom-right when zoomed in) |
| clear the board | the clear button (it counts them first, and undo brings them back) |
| save / load | S / L, and save ▾ also offers "save to computer" |
| back / cancel | Esc, in order: stamp, drag, selection, then the menu |
Cmd/Ctrl combinations, R / F, and the q…p brush row are fixed and can't be changed. Because that row owns place mode, use Cmd/Ctrl+Y for redo while you're placing.
In the browser: files and the editor
The bar across the top of the web version adds things the desktop app gets from your filesystem:
- Menu ▾ is the app's own menu, hung off the page where people look for it first: save, load, change ruleset, settings, edit screen layout, replay the tutorial, clear the board, new world. It shows up once a world is open. On the creation screen it would have nothing to act on, so it isn't there.
- Edit ruleset opens the Python your world is running in a
code editor with line numbers, colour, tab to indent, auto-indent
after a
:, and Cmd/Ctrl+S to apply. Apply compiles it and hands it to the running world at once. If it doesn't compile you get the error in the editor, on the line that broke, and the world keeps its old rule. - .py downloads the current ruleset. Settings also offers the whole rulesets and worlds folders as .zip files, and every saved world and ruleset has its own download button beside rename and delete.
- .grid downloads the current world with its ruleset inside, the same file the desktop app writes. It needs a world open, and says so if there isn't one.
- Drag a
.gridor.pyonto the page to open or import it, exactly as you would onto the desktop window. Worlds land inworlds/, rulesets inrulesets/, so a dropped rule shows up in the menu.
The browser's storage is temporary and is emptied when you reload. Download anything you want to keep.
On a phone or tablet
EntLab notices a touchscreen and switches to a layout built for thumbs: a taller tool row with finger-sized buttons that wraps onto extra rows instead of running off the edge, and bigger controls in the status bar. If the bar takes too much room, set it to icons in menu → edit screen layout → toolbar and it shrinks to a third of the height.
- Tap or drag on the board to draw, exactly like the mouse.
- Pinch to zoom.
- Two fingers to pan. Starting a second finger throws away the stroke the first one began, so pinching never leaves a smear across your world.
The keyboard shortcuts above still work if you pair a keyboard, but nothing needs them. Every one has a button.
The tools
The bar has one row that never changes (your tools, then play, then undo and clear, then speed, then the file buttons) and under it a second row holding only the options for the tool in your hand. Hold place and it offers a brush size. Hold select and it offers delete and deselect. Start stamping and it offers turn, flip and done. Nothing on screen belongs to a tool you aren't using.
Place paints. Drag to draw a stroke. The brush control under the bar (or q…p) sets a square brush from 1 to 10 cells. Hold either stepper and it keeps going, faster the longer you hold, as every +/- in EntLab does.
Select drags out a rectangle, and the options row gains delete and deselect. Deleting also clears the selection, so you aren't left with a live rectangle you forgot about.
Move lifts the selected Ents and drops them where you release.
Copy / paste is one button that cycles. Press it with a selection and it copies, then puts you straight into stamping, where every click drops another copy. Press it again to finish. It does the same job as Cmd/Ctrl+C then Cmd/Ctrl+V without you having to know that. R turns and F mirrors the floating pattern before each drop, or use the turn and flip buttons.
Shapes is a dropdown, and picking from it is choosing the tool: pick circle and you are drawing circles. Drag on the board to draw. With erase on, place and shapes take Ents away instead of adding them.
Clear wipes every Ent off the board. It tells you how many before it does, and undo brings them back.
Menu sits by itself at the far right of the bar and stays there however you rearrange everything else. In the browser the same menu also drops out of Menu ▾ in the page header, which is where most people look for it first. That one appears once a world is open, and not on the creation screen, where it would have nothing to act on.
Undo, and moving through time
Undo covers every edit (strokes, shapes, moves, deletes, stamps, clears) along with each manual step and each press of play. Hold undo or redo down to walk back through a long session.
While a world runs, every tick is recorded. That turns history into something you can explore rather than just reverse:
- B steps backward through ticks, N replays forward.
- The timeline above the status bar drags like a video scrubber.
- The reset button jumps straight back to the world as it was when you last pressed play.
Editing or undoing from the middle of the timeline forks it from that point, the way you would expect.
Reading the world
The population graph (G) is a live line of how many Ents exist. It shows the shape of a run at a glance: the boom, the crash, and the flat part where everything has settled into repeating patterns.
The minimap (M) shows where the camera sits on a big board. Click or drag inside it to jump.
Fit (F) snaps the camera back to the whole grid when you have zoomed in and lost track of where you are.
Moving the overlays
menu → Edit screen layout lets you arrange the graph, the minimap and the history timeline instead of living with where they landed. Every row of the editor is labelled with what it changes. Pick a panel under which overlay, then:
- drag it anywhere on the board. It pulls onto screen edges and centre lines, and a guide line shows when it has snapped.
- size scales it from ×0.5 to ×3. It grows away from whichever corner it lives in, so it can't walk off the screen.
- fade makes it see-through, down to 15%, for when you want the numbers without hiding the world behind them.
- arrow keys nudge by a pixel, or ten with Shift.
The editor is a window too: drag its title bar to shift it out of the way of whatever it's parked on.
The editor's second tab, toolbar, moves the buttons rather than the panels: put the bar across the top, down the left or right as a tool rail, or along the bottom; show icons, words, or both; and shuffle the button groups (tools, play, undo, speed, files) into whatever order suits you. Menu stays pinned at the end either way. A rail needs a fairly wide window; on a phone it falls back to the top bar rather than eating the board.
Reset all puts everything back where it started. The arrangement is saved with your settings, so it survives a restart. While the editor is open the rest of the app is switched off, so you can drag a panel over the toolbar without pressing anything.
Moving the camera
The board follows your fingers. Two-finger scroll drags it the way you push, on both axes, which is the same thing dragging it with an empty hand does. A mouse wheel scrolls up and down; hold Shift for sideways.
How far one scroll goes depends on what you scroll with, and the three kinds of device report very different amounts. A trackpad sends a stream of tiny fractions, a wheel sends whole clicks, and a browser counts in pixels. EntLab works out which it is getting and sizes the step to match, so a trackpad follows your fingers about one to one and a wheel click moves a useful chunk.
If it still isn't right for you, Settings → scroll speed is a multiplier from ×0.25 to ×4. Click the number to put it back to ×1. invert horizontal and invert vertical flip either axis if you would rather scroll a document than drag a board.
Speed
Speed is a multiplier: ×1 is 10 ticks per second, adjustable from ×0.1 up to ×1000. Hold a speed button and it bumps once, then after a second starts repeating, faster and faster.
If your machine can't keep up with the rate you asked for, EntLab doesn't pretend. It runs as fast as it can and shows the rate it is really managing in the status bar along the bottom.
Text fields
Every text field does real editing: click to place the cursor, drag or double-click to select, and Cmd/Ctrl+A / C / X / V to select-all, copy, cut, and paste.