COLOPHON · 六花
A working snowflake loom: a real hexagonal cellular automaton, grown into six-fold symmetry under a diagram you can drag.
NAKAYA is a fictional crystallography studio named for Ukichiro Nakaya, the physicist who first grew snow crystals in the lab and mapped their shape to temperature and humidity. The page has one job: let a curious visitor set the weather and watch ice answer — dialling a point on Nakaya's diagram and growing a six-fold crystal that has never existed before and, once the dial moves, never will again.
Everything else is deliberately quiet so the crystal is the only thing you describe to a friend.
Body copy runs on a dedicated frost ink (a desaturated ice at 74% over the sky, ~8:1 contrast) so no small text ever leans on the bright accent — the repeated legibility trap of earlier waves.
High-contrast, needle-thin at display sizes — the stroke modulation mirrors a crystal's thin arms and solid core. Set enormous for the hero ("A snowflake loom.") and italic for the pull-quotes; the typographic bravery is trusting one hairline serif to carry the whole voice.
Everything operational — axis ticks, readouts, eyebrows, buttons — is Inter with generous letter-spacing, so the controls read as a calm laboratory instrument beside the ornate serif.
The crystal is a genuine Reiter cellular automaton on a hexagonal lattice. Every cell holds an amount of water vapour; a single frozen seed sits at the centre. Each step splits the field into a diffusing part and a frozen part, spreads vapour across the six neighbours, feeds a constant to every cell touching ice, and recombines — a cell that crosses 1.0 freezes for good.
Temperature and vapour, read from the Nakaya diagram, set the model's three constants — diffusion α, ambient β, addition γ — and that is what tips the growth between plates, needles, sector plates and full dendrites. Six-fold symmetry is never drawn: only a single 30° wedge of the lattice is read, and each frozen cell is stamped twelve times — six rotations, each mirrored — so the figure carries the crystal's true D₆ symmetry. Because the seed and a faint vapour-noise field are deterministic per specimen id, the same dial and the same seed always weave the same flake; move either, and the sky forgets it forever.
Techniques: Canvas 2D (incremental hexagon accretion on a persistent buffer + a second ambient-mote layer), inline SVG for the draggable Nakaya diagram and the crosshair reticle, CSS gradients for the sky and stage glow. No image assets, no external libraries.
placePuck() ran only on interaction, so the reticle floated in the corner. Now placed at boot and after every resize.role="slider" target — arrow keys walk temperature and vapour, Enter grows — and every control shows the ice focus ring.document.hidden and the simulation halts once the crystal settles.