A SMALL EXERCISE IN POSSIBILITY
All the Ways to Fit.
A few pieces. An empty board.
Every move changes what’s possible.
Choose a piece, then choose its place on the board.
Can you leave just one finish while tiles are still in the tray?
Or keep your options open and try a different path.
What’s happening underneath?
Each piece placement makes a choice. An exact-cover search follows every choice that can fill the board, reusing the answer whenever it meets the same unfinished problem. The count is the number of complete tilings compatible with the pieces you’ve placed.
A piece’s “possible fits” are distinct placements that still allow a complete tiling, across all rotations and flips. One possible fit means its position is already determined. A nudge picks a piece with the fewest fits; “Show a place” reveals a location only when you ask.
“Browse finishes” shows complete tilings without placing any pieces. Previous and Next wrap around the remaining finishes. Bright outlines and the list of names identify tiles whose occupied squares changed from the finish you just viewed; already placed tiles stay fixed. Finish numbers follow the search order, not similarity or difficulty.
Counting runs in the background, so you can keep moving tiles while it catches up. An ellipsis means a count is still unknown. Hints and finish browsing become available when the current count is ready. Choosing another board stops the previous search.
This prototype uses a memoized exact-cover decision graph. It borrows the idea of sharing repeated subproblems from Dancing with Decision Diagrams; it is not a reproduction of the paper’s full DXZ implementation.
Counts distinguish locations and orientations on this fixed board; rotating the whole solution counts as another tiling. Pieces have distinct shapes, and duplicate orientations are removed. These are finite grid puzzles, separate from continuous shape-packing problems.