Stencil
A picture, one square at a time.
Fill squares to uncover a picture, with a visible clue-by-clue lesson and undo.
Play
- Arrows / WASD - move the gold cursor
- Space / Enter - fill or erase a filled square
- X - mark or erase an empty square
- Z - undo
- I - move to the next explained hint
- P - pause
- R - resume
- N - play again
How to play
Each square has only two possible answers: FILLED or EMPTY. Fill squares to uncover a picture. You do not enter numbers in the squares. The printed numbers are clues. Numbers on the LEFT describe that row, across. Numbers ABOVE describe that column, down. Each number gives the size of one connected patch of filled squares. A single 3 means one patch of three touching filled squares; every other square on that line is empty. Several numbers mean several separate patches, in the listed order. Leave at least one empty square between patches. On a five-square line, 1 1 1 has only one arrangement: FILLED, empty, FILLED, empty, FILLED. 2 1 means a patch of TWO filled squares, then a gap, then ONE filled square. One valid five-square arrangement is FILLED, FILLED, empty, FILLED, empty. A wider gap or empty squares at the start can also fit; crossing clues tell you which arrangement works. Start with the gold-highlighted row: its 5 means all five squares are filled. The walkthrough then explains the next deduction. Space - fill or erase a square. X - mark a square you know is empty. An untouched square is still undecided; X is your reminder that it must stay empty. Z - undo. I - next hint. There is no timer or mistake penalty.
Scores are local practice. There is no connected global leaderboard or multiplayer service.
Write your own approach
Launch with --script or type script to open your saved Bash workspace. Copy
policy.sh, edit with nano, run chmod +x on your copy, then execute it.
fixtures selects repeatable practice; standard returns to manual play.
Stop cancels. gif, replay and receipt export local practice evidence.
Your saved files survive re-entry. RELEASE-GUIDE.txt carries the current reference
without overwriting an older README you may have edited.
Try scripts try [email protected], or install an editable copy with
scripts install [email protected] my-stencil. Installed copies include
ORIGIN.json and LICENSE.txt for attribution. Existing copies are never overwritten.
Infer filled and empty patches from row and column clues.
Use man stencil for the reference, or play Stencil.