
Daily Brains · you are somewhere on this map. Read the land, drop your pin.
TopO (first released as Lie of the Land) is the map-reading puzzle in Daily Brains (/daily). Each day brings three contour maps. On each one you are dropped somewhere on the hill and shown what you see: a big first-person 3D view with a compass strip and a stated heading. Read the ridges, valleys, knolls, woods, lakes and landmarks off the map, match them to the view, and drop a pin where you think you are standing. Like the street-view guessing games, the closer your pin the more you score: 1000 within 30 m, nothing past 600 m.
Every map is a new piece of hill country built from the puzzle number, so the whole world gets the same three maps on the same day. The terrain is a sum of domain-warped hills, ridges, valleys, knolls and the odd closed basin, plus a little noise. Hollows deep enough fill as lakes, drainage lines become streams, and woods, summit cairns, a red-and-white radio mast and stone huts with red roofs are placed from the same data the map and the 3D view are drawn from. The map draws it the way a walker's map would: brown contours every 10 m, every fifth one thick and labelled reading uphill, tick marks into closed hollows, spot heights, woods in green, water in blue, soft hillshade and a 100 m grid. The 3D view is a three.js landscape reaching 3.6 km past the map with baked sun shadows, colour by height and slope, conifer and broadleaf woods, a gradient sky with clouds, a far mountain range, distance haze and a valley mist that thickens through the week.
The generator only keeps a spot when it can be told apart. It scans the view from the hidden spot as a coarse depth image of the whole landscape (on and off the map, out to 1.6 km), then scans the view, at the same heading, from every point on a 40 m grid at least 150 m away and hunts downhill around the closest few, so a look-alike between grid points is found too. The spot is used only if every one of those views differs by a set margin (tighter through the week). scripts/test-lie-of-the-land.mjs re-checks every map on a different grid in CI, and also checks the spot is standable (not in a lake, a wood or on a crag) and that the view looks across the map.
The slow parts never run on the main thread. A Web Worker (topo-worker.js) searches for the day's hidden spots, builds the field, its flow, lakes, streams and woods, the map's contour lines, and the whole 3D landscape (terrain-mesh.js: vertices with colour and sun shadows baked in, plus every tree and boulder), and hands the arrays over without copying while a loading screen shows real progress. Each spot is kept on the device for the day, so a reload skips the search. The view only renders when something moves, at a capped pixel ratio, and drops to a coarser grid, fewer trees and no anti-aliasing on low-end devices (or after a slow first load).
The big view shows what you would see standing at the hidden spot, eye height 1.7 m, facing the heading read out under the compass strip. On a phone the view fills the screen and the map is a sheet pulled up over its lower half: drag or tap its handle to make the map bigger, and the view above reframes to the strip still on show. On a wide screen they sit side by side. Drag and pinch the map (or use + and -, or the mouse wheel), tap where you think you are to drop your orange-and-white flag; a cone shows what you would see from there. Tap again to move it, then Lock pin.
The map draws the true spot as a magenta control circle, a line to your flag and the distance in metres, with the real field of view; a card at the foot of the map gives the distance, the points and where you really stood. In 3D the camera lifts off for an aerial look at both spots, marked by tall beams; drag to fly round. Then on to the next map.
Each map scores 1000 if your pin is within 30 m, falling steadily (about 780 at 60 m, 390 at 150 m) to nothing at 600 m, so a day is out of 3000. 1200 or more wins the day and keeps the streak; all three within 30 m is a perfect day. Progress saves on every pin and follows your account. The share text gives each map's distance and points.


| Day | Look around | Landmarks | Mist |
|---|---|---|---|
| Monday (Gentle) | All the way round | 2 huts, 4 cairns, mast, thick woods | None |
| Tuesday (Steady) | 90 degrees each way | 2 huts, 4 cairns, mast | Light |
| Wednesday (Medium) | 45 degrees each way, 16-point headings | 2 huts, 3 cairns, mast | Light |
| Thursday (Tricky) | 20 degrees each way | 1 hut, 3 cairns, mast | Some |
| Friday (Hard) | Fixed view | 1 hut, 2 cairns, mast | Some |
| Saturday (Sharp) | Fixed view | 1 hut, 2 cairns, no mast | Thick |
| Sunday (Fiendish) | Fixed view | 2 cairns only, thinner woods | Thickest |
| Event | Reward |
|---|---|
| Win the day (1200+) | 15 Tickets |
| Perfect day (all three within 30 m) | +25 Tickets |
| Found Yourself (first win) | Bronze · 10 Tickets |
| Spot On (perfect day) | Silver · 20 Tickets |
| Bullseye (a pin within 10 m) | Bronze · 10 Tickets |
| Weekend Rambler (3-day streak) | Bronze · 15 Tickets |
| Fell Walker (7-day streak) | Gold · 40 Tickets |
| Surveyor General (30-day streak) | Legendary · 100 Tickets |
| Fixed Gaze (2400+ on a Friday, Saturday or Sunday) | Gold · 25 Tickets |
| Mist Walker (secret: 2000+ on a Sunday) | Silver · 20 Tickets |