2
A Medium grid must force at least this many two-clue subset moves. Raise for meatier Mediums.
2
A Hard grid must force at least this many two-clue overlap moves (plus at least one subset move).
2
An Extreme grid must force at least this many what-if moves: assume a square, watch a clue break. The deepest logic in the game.
2
At least one what-if must need a chain this long (in counting steps). 1-step chains feel like overlap moves; 2+ guarantees a genuinely deep moment. Capped by MAX_WHAT_IF_FIRINGS.
0
Insane grids always exceed Extreme's chain cap. Raise this to additionally demand either-way moves: pivots where both hypotheses survive yet agree on another square. The rarest logic in the game; expect closest-match flags above 1.
Slider changes regenerate the grid.
Every grid you generate is solved end-to-end by the same logic engine that powers the in-game hints. It plays through the whole puzzle one deduction at a time, always taking the simplest move available, exactly like a careful human, and records which reasoning techniques the grid forced it to use. There are five, and each tier is named after the hardest one the grid demands:
MAX_WHAT_IF_FIRINGS), so every what-if is mentally trackable and no pencil marks are needed. Hints walk you through exactly which square to test and which clue breaks.INSANE_CHAIN_FIRINGS counting steps), and the solver also wields the either-way technique, cousin of Sudoku colouring: try a pivot square both ways; neither hypothesis breaks anything, but both chains force the same value onto some other square, so it's proven with no contradiction at all. This is the one tier where keeping notes genuinely helps. Hints spell out both kinds: which square to test, and (for either-way) which squares both chains agree on.The 0–100 score places a grid inside its tier's band (Easy 4–19, Medium 20–39, Hard 40–59, Extreme 60–79, Insane 80–100), positioned by its sub-metrics: how wide and forgiving the solve is for Easy, the count of forced subset or overlap moves for Medium and Hard, and, for Extreme, the total depth of the what-if chains rather than their count, since a short 1-step what-if plays much like an overlap move while a 4-step cascade is a different beast. For Insane, the combined work of both branches of every either-way pivot. Bands never overlap, so a 62 is always genuinely harder than a 40.
Estimated time simply adds up the work: about a second per square of routine marking, ~2s to spot each basic deduction, ~14s per subset, ~26s per overlap, ~15s plus ~10s-per-step for each what-if, and ~35s plus per-step costs for each two-chain either-way. The weights live in EST_TIME in the source if the estimates drift from real solve times.
Zero squares follow ZERO_CLUE_RULES: Easy and Medium carry one or two 0 tiles, Hard exactly one, Extreme and Insane none. The generator protects needed 0s during pruning, strips extras first, injects one if a grid comes up short, and rejects anything that still breaks the rules.
The sliders above tighten what a grid must contain before it's accepted. Each click tries up to 90 candidates; if none fits your settings, the closest match is served and flagged under the board: a sign to ease a slider off or move to a bigger board, where demanding grids are more common.