Showroom · Build notes
How Neonspire was made
An endless flight through a night city that does not exist until you look at it — under two hundred boxes, twelve painted textures, and one clock that a held button can slow to twelve percent.
View the site →What it demonstrates
Procedural placement, honestly framed. There is no city model and no map: rules place every tower, canvas-painted textures put light in every window, and the meshes that slide behind the camera are quietly rerolled and set down ahead of it again. The page’s about section explains the trick in the copy itself — the endlessness is the demonstration.
Techniques, honestly named
- Recycled blocks — one unit box geometry, scaled per building; three rows per side on a 320-unit loop. Fall behind the camera, jump forward, reroll your height: a finite set reads as an infinite avenue.
- Windows as canvas textures — twelve small canvases with window grids, most frames dark, a third lit in warm or cool whites; self-lit basic materials, so the night city needs no lights at all.
- Neon that is paint, not bloom — sign glow is baked into the
texture with
shadowBlur, then composited additively; a third of the signs flicker by stepping opacity with two summed sines. - One clock for everything — a single eased
timeScalemultiplies every delta, so holding the button slows the flight, the flicker and the camera sway together. - A landmark that never arrives — the ringed spire and the warm horizon glow are pinned a fixed distance ahead of the camera, exempt from fog.
- Resilience — reduced-motion visitors get a still evening; lost WebGL contexts are re-rendered on restore; no WebGL at all gets a written fallback.
Recreate it
The full recreation prompt — the row layout and recycle math, the facade and sign texture recipes, the spire construction, and the time-scale interaction — is in the showroom vault.