Give a set of tiles rules about which edges may touch, then fill a grid so every neighbour AGREES — borrowing its name from physics, each cell starts as a superposition of all tiles and ‘collapses’ to one, propagating constraints to its neighbours. From a tiny rule set, coherent worlds emerge. It’s how many indie games grow their maps. Slide to seed a new tiling.
Wave Function Collapse (Gumin, 2016) is constraint-solving as generation: each grid cell holds a superposition of allowed tiles; you collapse the lowest-entropy cell to one tile, then PROPAGATE the adjacency constraints (which edges may meet) to shrink neighbours’ options, repeating until all cells are decided or a contradiction forces a retry. The output is guaranteed locally consistent — every shared edge matches. Here Truchet tiles (quarter-arcs) show the emergent continuous curves. A fail-loud self-check throws unless matching edges are accepted and mismatches rejected. ◆ real procedural generation, node-verified.
A simplified edge-matching / Truchet realisation (not the full entropy-driven solver with backtracking); the CONSTRAINT PRINCIPLE — neighbours must agree on shared edges — is exact. The curves are the art it makes.