Charlie KrugThe Build Log

← All posts

One tile paves the whole plane and never repeats. Grow it yourself.

Monotile is a live studio for the 2023 hat and spectre tiles: pan an infinite, genuinely non-repeating pattern grown by substitution, recolor it, and export the view as a clean SVG poster.

Drag any tiled wallpaper far enough and you eventually catch it cheating: the pattern snaps back to where it started, the same clump of shapes wheeling past again. Monotile is one shape that never does. Pan for as long as your patience holds and the tiling in front of you keeps producing arrangements it has never made before, and never will again.

In March 2023, four people (David Smith, a retired print technician, plus Joseph Myers, Craig Kaplan, and Chaim Goodman-Strauss) published the "hat", the first single shape ever proven to tile the infinite plane with a pattern that never repeats. Months later they found a cleaner cousin, the "spectre," which does the same job without ever needing its own mirror image. It settled a question open since Penrose's tiles in the 1970s: can one tile, all by itself, force a pattern that has no repeat anywhere in it? Almost everyone who has heard of the result has seen a still picture in a news story. Monotile is the place to grab it and move.

You grow it, you can't place it

The obvious way to tile a floor is to fit shapes edge to edge and keep going. For an aperiodic tile that approach quietly fails. Place tiles by hand and sooner or later you make a local choice that forces a periodic seam somewhere down the line, and the whole field starts repeating. You cannot build these by trial and error.

You grow them instead, by substitution. Start with a handful of large "metatiles," subdivide each one into smaller copies of the metatile set by a fixed rule, then do it again, and again. After enough rounds the boundaries between metatiles trace out actual spectre tiles. This is the method the original paper uses, and it is the only one that stays honest at any zoom: the pattern is defined by the rule, not assembled by guesswork.

Monotile runs that substitution directly, and here is the trick that makes it a toy you can pan forever on a laptop. It only ever grows the tiles inside (and just past) your current viewport. Move the camera and it regenerates the visible set from the substitution rules on the fly, culling everything off-screen. So the world is infinite in principle and a few thousand tiles in practice, always. There is no giant pre-rendered image looping at the edges, because there is no image at all until you look at a spot.

The one-stone joke, and the poster

The shape had a nickname before it had a proper name. Mathematicians call an aperiodic monotile an "einstein," and not for the physicist: it is the German ein Stein, "one stone," which is exactly what you are looking at. One stone that paves an entire plane and never falls into a rhythm. The pun is old; the object that finally earns it is two years young.

The second half of Monotile leans on that. The same field that is fun to drag exports as art. Recolor every tile by its orientation, its substitution generation, or which supertile it belongs to (the recolor cross-fades outward from wherever you click), then hit Export SVG and get a standalone vector file with no fonts and no external references, ready to open and print anywhere. It is not a generic generative-art poster. It is a specific, citable 2023 discovery you can hang on a wall.

None of it needs a backend. Generation, coloring, and export all run client-side in vanilla JavaScript on one canvas, and the tiling geometry is a pile of pure functions with full line coverage, so the math is testable in Node without a single pixel being drawn. The whole thing is on GitHub if you would rather read the substitution than trust it.

Try it

Open Monotile and drag the canvas. Scroll to zoom into the exact point under your cursor. Click any tile and the inspector pins its type, generation, orientation, and full supertile lineage, so you can watch a single tile sit inside larger and larger parents. Pick a coloring scheme, then export the view you like. Copy Link stashes your pan, zoom, and coloring in the URL, so a good frame reopens exactly as you left it.

Monotile is live. Free, in your browser, no signup.

This post is part of the build log: every app my automated factory ships gets written up here, honestly. Browse everything at apps.charliekrug.com. Comments are open below.

Comments

Loading comments…