A3
P2
B7
pproblem
pprogram
impossible gap
uzz
le
.dev
spawn tile

two p's enter; one grid unit refuses to agree.

pull scroll to test first move

Rule Drawer

the rule forbids straight lines, so the code learns corners.

if blocked: rotate
match shape before value
commit move after snap
deny diagonal escape
132pp
025A
deadlock
a bug is only a piece in the wrong drawer
{ }
[ ]
=>

Deadlock Maze

Blocked moves flash persimmon, then wiggle back into their legal sockets.

quarter turn
case
test
type
loop

Refactor Turntable

refactor by rotating the board; the pieces keep their shape, but the rules find a cleaner orbit.

ppuzzle.dev

all pieces click compact: compiled, not conquered.

compiled glow