Two minutes inside a city that is a crystal: one cell, repeated in every direction. Four districts, four lattices, one rule. Nothing here was recorded. Every frame is ray-marched in your browser as it plays, and the score was composed in code on the same bars the picture is cut to.
Runtime
2:00
Tempo
128 BPM · 64 bars
Picture
Ray-marched live in WebGL2
Resolution
Adaptive, follows your GPU
Frames recorded
None
Sound
Original score, synthesised in code
Cuts
On the bar, every one
A
Chapters
B
Districts
Four Bravais lattices, one per district. Neighbours is the coordination number; packing is the fraction of space filled by equal spheres touching at the nearest points.
SC
Simple cubic
Basis
(1, 0, 0)(0, 1, 0)(0, 0, 1)
Neighbours
6
Packing
π/6 ≈ 0.524
The avenues. Streets along three axes, towers in the cells between them.
BCC
Body-centred cubic
Basis
(1, 0, 0)(0, 1, 0)(½, ½, ½)
Neighbours
8
Packing
π√3/8 ≈ 0.680
A point at the centre of every cube, braced to its eight corners.
FCC
Face-centred cubic
Basis
(½, ½, 0)(½, 0, ½)(0, ½, ½)
Neighbours
12
Packing
π/(3√2) ≈ 0.740
The octet truss: all triangles, the densest way to stack equal spheres.
HEX
Simple hexagonal
Basis
(1, 0, 0)(½, √3/2, 0)(0, 0, 1)
Neighbours
8
Packing
π/(3√3) ≈ 0.605
Hexagonal towers in a honeycomb plan, stacked floor on floor.
C
Cue sheet
Every word that appears on screen, by bar.
D
Notes
One cell
A lattice is a single cell and a rule for copying it: step a₁, a₂ or a₃, as many times as you like, in either direction. The city on screen is exactly that. Every beam, tower and window is worked out from where it sits in its cell, so the camera can fly for ever without reaching the end of a model. There is no end.
No frames
Each pixel sends a ray into the city and steps along it by the distance to the nearest surface, cell by cell, until it touches something or the haze swallows it. The light trails, the pulses running up the beams and the wave in Signal are all functions of time. Scrub anywhere and the frame is simply computed again.
The signal
In Signal a pulse leaves one node and travels only along the beams. After n steps it has reached every node whose coordinates add up, in absolute value, to n. Those nodes lie on the surface of an octahedron, and there are 4n² + 2 of them. The counter on screen is that formula.
Cut to the bar
The score was written as code on a 128 BPM grid and rendered offline into one track. The picture is cut on the same grid. Every cut and flash, every camera jolt on a kick drum, is a bar or a beat in the same arrangement table the music was rendered from.