Shikaku

Cut the grid into rectangles. Every rectangle holds exactly one number, and that number is its area. Every cell ends up in exactly one rectangle. Drag across cells to cut one out; click it to take it back.

The twelve solvers before this one all put the unknown in a cell — a colour bit, a digit domain, an edge bit. Shikaku is where that model is the wrong one. Here the unknown is coarser: which rectangle does each number take? A clue's domain is the finite set of boxes that contain it, have exactly its area, and swallow no other clue — so the whole puzzle collapses into a plain exact cover, and propagation runs over sets of rectangles instead of cells. Two sound rules drive it to a fixpoint, and they are duals: only-coverer — every cell needs someone, so if just one clue can still reach a cell, its rectangle is forced through it; and forced-cell — if every surviving box of a clue covers some cell, that cell is spoken for, and every other clue's box through it dies. The familiar "a clue down to one box commits it and clears the overlaps" is not a third rule — it falls out of forced-cell for free. When the two stall, a fewest-candidates search branches on one clue, re-propagates, and counts solutions. Every bundled board is drawn as its own finished tiling — the numbers are read back off the answer's areas — and the test suite asserts the solver re-derives exactly one tiling, the drawn one.