Shakashaka

Drop black triangles into the white cells — each one fills half a cell, right angle in a corner — so that every piece of white left over is a rectangle, standing upright or turned 45°. A number on a black cell says how many of the four cells around it hold a triangle. Click a cell to turn its triangle; right-click to turn it back.

white, no triangle one of four turns 2a number, and how many triangles touch it

The rule is about regions, which is the worst possible shape for it

"Every white region is a rectangle" is a sentence about connected components. You cannot ask it anything until the last cell is filled, and when you finally can, answering costs a flood fill. A solver wants the opposite: something it can ask about a board that is one tenth filled, and something that says no early.

So look at one point at a time

Stand on a lattice point. Four cells meet there, and each one hands you a white angle of 0°, 45° or 90°. Chop the full turn into eight 45° sectors and the whole neighbourhood is a byte. Then the entire rule is: every unbroken run of white sectors is 90°, 180° or 360° — a corner, an edge, or the inside. Nothing else is allowed, and nothing else needs to be said. A rectangle is the shape whose every boundary point is a straight edge and whose every corner turns the same way; there is no third possibility to rule out.

The red dots on the board mark points where that fails. They are the rule, drawn.

Runs, not the total

The shortcut everyone writes first is "the white angle at a point adds up to 0°, 90°, 180° or 360°". It is wrong, and not by a little: on an empty 4×4 board there are 23 legal pictures, and the total-angle rule accepts 13 958 of them — while rejecting 21 of the 23 real ones. Two rectangles are allowed to touch at a single point (two white squares on a diagonal — the most ordinary picture in the puzzle), which is 180° split into two separate right angles. Add the angle up and you cannot tell that from a straight edge.

The numbers are not what makes the answer unique

Boards here carry very few numbers: a 10×10 keeps about five of its sixteen black cells numbered, because the generator throws away every number the shape rule can do without. Switch the shape rule down to its wedge half and no 10×10 board in the sample stays unique. Drop the numbers instead and the median board has 335 answers. Both halves are load-bearing; the shape rule is the bigger half.