The verdict on the old map editor was "awful", and the code agreed: the tool buttons were a div pinned to a corner, there was no such thing as a selected token, and undo did not exist anywhere in Aether. This release is the editing shell that was missing.
What changed
Tools
- Tool buttons pinned in a corner
- A tool rail on the left edge
- No such thing as a selected token
- Click a wall or a token and edit it after placing it
- A door was a wall in a different colour
- Doors that open and close
Select, pan, place token, wall, light, measure and grid setup, each with a key. A placed thing can be turned, locked and reordered. Every wall and light carries a stable id now, which is what lets anything point at one, and hand-painted fog is no longer thrown away when computed vision is on: the two kinds of darkness compose.
Taking it back
- No undo anywhere in Aether
- cmd Z, and an Undo on the toast after anything destructive
- A permanent hint line
- A shortcuts sheet generated from the bindings themselves
One step, and only your own changes, so two GMs on one map cannot undo each other.
Why
Undo is the decision worth explaining, because we shipped less than we could have.
One step, on the server, and only your own
A client-side undo stack is easy and correct for exactly one editor. The moment a second GM edits the same scene, replaying your inverse wipes their work and the server has no idea it should not. A full shared history is the opposite problem: one GM undoing another GM's work is arguably wrong even when it is easy, and it has to be right across two different write paths on day one.
So: per user, one step, server side, and only for destructive actions. It answers the fear the design actually names, which is "I just clicked Clear Walls", and it is honest about its limits.
The tool rail matters for a duller reason. Without a notion of selection there was no way to change anything after placing it, so every mistake meant delete and redo. Selection is the feature; the rail is what makes it discoverable.
The shortcuts sheet is generated from the binding registry rather than written by hand, because a help panel confidently describing a shortcut that no longer exists is worse than no help panel at all. If a key is in the sheet it is bound, and if it is bound it is in the sheet.
At the table
V select, H pan, T place a token, W wall, L light, M measure, G grid setup. Hold alt
while dragging to invert snapping. ? shows the whole map.
Click a wall to edit it, drag its ends, or set it as a door and open it during play. Clear a layer and the toast offers Undo, which is real: it puts the walls back where they were, for you and for everyone looking at the scene.
What it does not do
Doors are GM-operated. Walls are projected away from players entirely, so a player's client does not know where the door is. Player-operable doors are tracked separately, and they need the projection to change first.
Distances count squares, not feet. A scene stores pixels per cell and no unit, so "30 ft" would be invented. Also tracked.
Undo is one step and yours alone. Two mistakes in a row means only the second can be taken back, and you cannot take back what another GM did.
Where to find it
The Table panel. The rail is on the left edge, and ? lists every key.


