Skip to content

devlog

The front door, and the light behind it

2026-09-30

The front page stops looking generated, the scan draws while it loads, and the work underneath is sunlight and shadow.

The front page has been readable for a while and generic for just as long. Looking at it honestly, the tell was the small text. Every label on it, a section heading, a chip, a legal footnote, the button you are actually meant to press, was set the same way: monospaced, capitals, letter-spaced. Across the whole site that came to a hundred and four hand-written versions of the same label in fifty-two files, using sixteen different letter-spacings. Nothing small could be more important than anything else, because it all looked identical.

The file that sets the fonts already said what the rule was supposed to be. Monospace is for readings: coordinates, counts, the numbers on a gauge. "A deliberate accent, not the wallpaper" is the phrase I wrote and then did not keep. It is the wallpaper now no longer: readings in the instrument face, everything a person reads in the normal one, and the shouting reserved for the four mode buttons, which are the one place on the page that really is a control panel.

The ground went darker. The old background sat close enough to the photographs that the page and the place became one grey field, and the whole argument of this thing is that the place is real and the page is just the housing around it. Dropping the background makes the capture the brightest object on screen. Every text contrast ratio went up rather than down, which I checked before rather than after.

The closing headline was a white to cyan to violet gradient. I put it there. It is also the single most recognisable sign that a page was generated, and it was wrong twice over on a site with one accent colour that is amber. It is plain now.

Under the front page, the scan of Ludlow is a 1.8 MB file and nothing used to be drawn until every byte of it had arrived. It draws as it downloads now. That needed the points reordered: as captured they come out one corner at a time, so streaming them straight would have lit one corner of the town and grown it sideways, which reads as broken rather than as loading. Shuffled, any early slice is a thin version of the whole place. On a slow connection the first points land in about two seconds instead of nearly six.

What I am actually working on is light. A capture arrives with the weather it was shot in baked into it, and that is both the reason it looks real and the reason it cannot change. Being able to move the sun, cast shadows from what is genuinely standing there, and have the car and the walker sit inside that light instead of floating on top of it, is the difference between a photograph you move through and a place.

Around it are the smaller things that decide whether somewhere feels inhabited. The arenas have edges now, so you stop at the boundary instead of sailing out of the world. Feet find the step they are standing on rather than passing through it, which matters most in Muggia, where the alleys are stairs. None of it is on the live site yet. It is the work, not the announcement.

And the part the demo still cannot show: every one of these places had to be made. A video or a scan becomes a clean scene somebody can drive, and that happens in Wascape Studio, at studio.wascape.com. Bring a video, a set of photos, a 360, or a .ply you already have from Luma, Polycam or KIRI; clean it with box, lasso, polygon, sphere and brush; pull the floaters out, mask what should not be there, frame it, export what the engine streams. It is the reason the list of places can grow at all.

It is slow going and it is going. One thing a week reaches the live site, most weeks.