Windowsill Lab · Field Explainer · M05

Change the grid, change the
number, keep the law

If you rearrange which neighbours each magnet has — hexagons instead of squares — does the whole thing behave differently, or just tip over at a different temperature?

1.5187honeycomb · 3 neighbours
2.2692square · 4 neighbours
3.6410triangular · 6 neighbours
Three specimen tiles on a windowsill — one honeycomb-celled, one square-gridded, one triangular-latticed — in three different states of breakup under a single raking lamp.
Illustration (AI-painted) — three lattices, three different surrenders

Everything so far has been magnets on a square grid, four neighbours each. That was a choice. You could just as easily lay them out on triangles, where each magnet touches six others, or on a honeycomb, where each touches three.

More neighbours means more peer pressure. A magnet with six neighbours leaning on it is much harder to talk out of agreeing than one with three, so you have to heat the triangular sheet far hotter before it gives up. The exact tipping points are known for all three arrangements and they line up exactly as that intuition demands: 1.5187 for the honeycomb's three neighbours, 2.2692 for the square's four, 3.6410 for the triangle's six.

The instrument found all three. Not by being told — by being pointed at each lattice and asked where the susceptibility peaks. That is the check: the underlying law is identical in all three cases, the same universality class with the same exponents, and only the number where it happens moves. Change the scaffolding, keep the physics.

Getting there was not free, and the failures are the interesting part. The triangular lattice can't use the simple two-colour update the square one uses, because triangles have no way to two-colour themselves — it needs three colours, which only wrap cleanly when the width divides by three (hence a lattice 129 across). The honeycomb turned out to be the opposite: it two-colours fine, so the square code was already correct for it. And the honeycomb's first run came back 9 % low — not a bug in the geometry, but one lattice that had frozen into a single stripe running all the way around the torus and never got out. The fix was an ordered starting configuration and a guard that refuses to grade a lattice that hasn't settled. That failed run's raw arrays are now kept, verbatim, as the regression test.

The panel below runs all three lattices from one shared temperature slider — the shared control is the argument. Slide from cold to hot, or press walk and let it do the dragging, and watch them melt in order.

Live · three geometries, one temperature · 2-colour / 2-colour / 3-colour Metropolis SMALL LATTICES — THE REAL RUNS USED L=128–129
T = 1.100

left · one temperature, three scaffoldings. Cells are drawn in each lattice's namesake tiling; the number that matters is printed under each panel — 3, 4, 6 neighbours. The lamp lights when that sheet has lost its magnetism. · right · |m| against T, measured here, with each geometry's exact tipping point dashed in its own colour.

settling…

3.675triangular, promoted 2026-06-24 MEASURED
3.681triangular repeat, 2026-08-12 MEASURED
1.532honeycomb, χ peak MEASURED
61 swall time, triangular rerun MEASURED

The promoted triangular run of 2026-06-24 measured the tipping point at 3.675, 0.9 % out from the exact 3.6410; a 2026-08-12 repeat measured 3.681, 1.1 % out. An independent specific-heat peak from the promoted run landed at 3.650. On the honeycomb the susceptibility peak came in at 1.532, 0.9 % out from the exact 1.5187, with its own specific-heat cross-check at 1.526. Those honeycomb numbers come from the 2026-08-11 closure note in MILESTONES.md, not from a dated report file — there is no standalone receipt path for the hexagonal half, and this page will not imply one.

Each geometry is measured at a single lattice size, so the peak sits just above the infinite-size value in every case — an extrapolation across sizes would sharpen all three. The triangular result has been run twice, at 3.675 and 3.681 against an exact 3.6410; the honeycomb's numbers come from the 2026-08-11 closure note rather than a standalone dated report. And the honeycomb's first attempt came back 9 % low — not a geometry error but a single lattice frozen in a stripe wrapping the whole torus. That run's arrays are kept verbatim as a regression fixture, and the guard that recovers the right answer from that very data now runs on every pass.
Elsewhere on the ladder: M01 — the square lattice alone M03 — one curve at every size M10 — same lattice, opposite sign