A map image is no longer expected to explain its own scale. A scene now records the grid geometry, distance and diagonal rule that turn those pixels into positions the table can use.
What changed
- A fixed square overlay
- Square, pointy hex, flat hex or no grid, aligned by size and X/Y origin
- A ruler that reported pixels
- Legs and totals in the scene's distance and unit
- One centre snap for every token
- Cell centres for odd footprints, intersections for even ones, and free placement on demand
- Current field of view only
- Optional per-player exploration memory that keeps old terrain dim without restoring tokens
Grid setup is live on the canvas. Choose the geometry, match the cell spacing in the image, then move the origin until the two sets of lines agree. Colour and opacity belong to the overlay, so a dark map can use a light line without changing the source image.

Hex is axial geometry rather than a square grid wearing a different texture. Pointy and flat orientations have real cell centres, vertices, edge midpoints and cube distance. A gridless scene draws nothing and disables snapping, while its cell-size value remains the pixel scale for a Euclidean ruler.
Why the scene owns the answer
A system knows the usual starting point. D&D 5e can say 5 ft, square cells and equal diagonals; the
demo system can say 1 squares and Euclidean. But the scene is authoritative once those values are
stamped. A cramped regional map and a tactical dungeon can belong to the same world without a
mutable world-level override deciding which one is wrong.
That split also keeps the engine game-agnostic. Aether implements Euclidean, equal, alternating and hex distances as bounded geometry. The active system selects a declared strategy; it does not run arbitrary ruleset code in the renderer.
Measurement and snapping use the same geometry
The ruler now appends the scene unit to every leg and total. Alternating diagonals carry their
1, 2, 1, 2 phase across waypoints instead of restarting at every click. A GM's in-progress ruler
is also shown live to players on the active scene, then disappears on cancel, tool exit, scene
change or disconnect. Player rulers remain private and local.
Snapping is a preference, not a property the map imposes on every gesture. Tokens and lights use cell centres. A square token with an even footprint centres on an intersection; an odd footprint centres in a cell. Walls choose the nearest vertex or edge midpoint. Turning snap off keeps the raw placement, and a gridless scene disables the button while remembering the preference for later.
Remember the room, not its occupants
Memory fog stores an exact explored shape for each player and scene. When the token leaves, the old room remains dim. The current room is clear. Unexplored terrain stays dark.

The important boundary is less visible than the effect: remembered geometry never feeds token visibility. Current field of view remains the only input to server projection. A creature standing in a remembered room is still withheld, including during movement, snapshots, reconnects and process restarts.
Strict field of view remains the default and keeps its existing behavior. Memory can be enabled per scene, survives reconnect and restart, and can be reset for one player or everyone through a confirmed GM-only control. Manual fog remains an additional darkness layer when the fog mod is installed.
What it does not do
There is no mutable world-level grid override. There is no arbitrary ruleset code on the render path. Measurement does not enforce movement budgets or spend a character's speed. A shared GM ruler is live session state, not a persistent drawing. Players cannot operate doors in this release.
Exploration memory is also not a replay of who or what occupied a room. It stores terrain only, and changing the background image or scene bounds clears geometry that no longer matches the map.
Where to find it
The GM guides cover the three moments separately:



