Each hexagon is a cell in a diffusion-limited cellular automaton (after C. Reiter's 2005 lattice model of snow-crystal growth). Every step: unfrozen cells diffuse their vapor field toward frozen neighbors' reflecting boundary, a constant background flux β (set by supersaturation) is added, and any cell adjacent to ice that accumulates enough vapor freezes, converting a fraction γ of it to permanent mass. This is the same diffusive instability (a lattice analogue of Mullins–Sekerka instability) that makes real dendrites branch: ice tips reach into fresher vapor faster than flat faces, so they grow faster and branch more.
Temperature sets which of the real six Nakaya habit bands you're in — thin plates near 0°C, needles near -5°C, hollow columns near -7°C, sector plates near -10°C, the most branched stellar dendrites near -15°C, plates again near -18°C, and columns below -22°C — by controlling the ratio of prism-face to basal-face growth velocity, which physically flips sign multiple times as temperature drops. That ratio is rendered directly as each new ring's height-to-width aspect ratio, so a crystal that grows through a temperature change shows a real habit transition, just like a snowflake falling through cloud layers at different heights.
- Temperature — selects the Nakaya habit band (plate / column / needle / dendrite mix).
- Supersaturation — background vapor flux β; higher values grow faster and favor branching over compact facets.
- Attachment sharpness γ — fraction of arriving vapor that freezes solid; low γ gives smooth blocky arms, high γ gives sharp feathery tips.
- Click the crystal to seed a second nucleus and watch two crystals compete for the same vapor field.