Weaving logic into a grid of crossings
What the crossing counts mean, why fixing a row always changes a column, how the float rule turns arithmetic into a real puzzle, and the strategies that keep the cloth tight.

Threads, crossings, and the cloth
Loom presents a grid where horizontal and vertical threads cross. At every crossing point, one thread lies on top of the other. Tap a crossing and the two swap: if the horizontal thread was over, it goes under, and the vertical thread takes the top.
Each thread carries a target number. That number says how many of its crossings must have this thread on top. Underneath the target, a live count shows how many crossings currently have it on top. When the count matches the target, the label turns green.
Two rules must hold at the same time. Every target must be matched exactly. And no thread may pass over, or under, three crossings in a row. A run of three identical crossings along a thread is called a long float, and the scoreboard counts how many remain. The puzzle is solved when every target is green and the float count hits zero.
Why rows and columns disagree
Every crossing belongs to one horizontal thread and one vertical thread, and they see the same crossing from opposite sides. If the horizontal thread is on top, the vertical thread is on the bottom. There is no way for both to be over at the same crossing.
That means pushing a row count up by one always pushes a column count down by one. A single tap changes two counts in opposite directions. This is the core tension of the puzzle. You cannot fix a row in isolation. Every adjustment ripples into a column, and fixing that column moves another row.
Keeping this tension in mind is the difference between solving with purpose and tapping randomly. Before you swap a crossing, check both counts. Will the row get closer to its target? Will the column get further away? Is the column already over its target, so bringing it down is actually a good thing?
What a long float is and why it matters
A float happens when a thread passes over three or more consecutive crossings without going under, or under three without going over. In real weaving, that loose span would snag and pull. In this puzzle, it is simply not allowed.
Two identical crossings in a row are fine. That is how most solutions are built. But the moment a third one lines up, it counts as a float. The scoreboard shows the total number of floats across all rows and all columns.
A float on a horizontal thread and a float on a vertical thread are counted separately, even if they share a crossing. Fixing a row float by swapping one of its crossings might create a column float through that same square. Always check both directions after a swap.
Grid sizes
Three cloth sizes are available. Small is five by five, giving twenty-five crossings and ten threads to satisfy. Medium is six by six with thirty-six crossings and twelve threads. Large jumps to eight by eight, with sixty-four crossings and sixteen threads.
On the small cloth, the solution is usually unique or close to it. The constraints are tight enough that most crossings have only one legal value. The large cloth is looser. Several valid weaves might satisfy the same targets, which gives you more room to manoeuvre but also more chances to wander.
The puzzle is generated by weaving a real cloth first. The generator fills the grid crossing by crossing, refusing any value that would create a float and backtracking when needed. The targets are read from that finished cloth, and then the grid is scrambled. Because the win test checks the two rules directly rather than comparing against the original, any cloth that satisfies them counts as correct.
Start with the extreme threads
A thread that needs nearly all of its crossings on top, or almost none, has very few arrangements that avoid a float. If a thread has six crossings and needs five of them on top, the single under-crossing can only sit in certain positions without creating a run of three overs.
Pin these threads down first. Set their crossings to match the target count while respecting the float rule. Once the extreme threads are fixed, the crossings they share with other threads become known values, which narrows the options for those neighbouring threads. Each solved thread feeds information into the threads that cross it, and those constraints often settle several crossings at once.
The same logic works at the other end. A thread needing only one crossing on top out of six has five unders and one over. The over must sit where it does not make three unders in a row on any crossing column. There are only a few legal positions.
Fixing a float without breaking a count
When you spot a run of three identical crossings, the least disruptive fix is to swap the middle one. Swapping an end crossing shifts the float rather than removing it, because the two remaining identical crossings might still line up with a neighbour.
Swapping the middle crossing moves two counts: one up, one down. Before you swap, check whether those two counts can afford the change. If the row is already at its target and the column is already at its target, swapping the middle will break both. In that case, you need to find a different crossing to swap, or accept that fixing this float requires breaking and repairing a count elsewhere.
Sometimes the cleanest fix is to swap two crossings at once. One swap breaks the float, and a second swap nearby restores the count that the first one changed. Thinking in pairs like this is how experienced solvers keep the board stable.
Using the count totals as a check
Every crossing gives exactly one thread its over. That means the sum of all row targets and the sum of all column targets must add up to the total number of crossings. On a six-by-six grid, there are thirty-six crossings. The row targets and the column targets each account for all thirty-six, but from opposite sides.
If you are stuck, add up your current row counts and your current column counts. The two sums should always equal the total crossings. If they do not, you have miscounted somewhere. This simple arithmetic check can save you from chasing a mistake through the whole board.
You can also use this to verify that a thread's remaining need is possible. If a row needs three more overs and only has two crossings left to adjust, something earlier went wrong.
Common mistakes when starting out
- Fixing rows one at a time without watching columns. Every row fix changes a column. Solving all the rows first guarantees that every column is wrong by the time you look at them.
- Ignoring pairs of identical crossings. Two overs in a row are fine. Three are a float. But two overs next to a third one that you are about to swap to over will create the float. Count before you tap.
- Swapping the ends of a float instead of the middle. The middle is almost always the better choice because it breaks the run cleanly and shifts only two counts.
- Treating the checkerboard pattern as a solution. An alternating over-under-over pattern never produces a float, but it almost never matches the targets. The targets are what make each puzzle different.
- Giving up on a stuck board. Every crossing can always be swapped, so nothing is ever permanently broken. The board cannot reach a dead end. If you feel stuck, back up and fix the counts on the extreme threads first.
Everything runs on your own machine
The cloth is woven, the targets are calculated, and the grid is scrambled all inside your browser. No puzzle data is sent to a server and no moves leave your machine. There is no account, no login, and no save file on a remote machine. Your best score lives in your browser's local storage on this device alone. Once the page has loaded, the internet connection is not needed. You can disconnect and keep solving as long as you like, because the generator and the win checker both run locally.
