How to Use the Water Sort Solver

The Water Sort Solver turns a bottle layout into a preview, validation summary, move list, and visual player. The reliable workflow is to encode the board from bottom to top, compare the preview bottle by bottle, and only then ask the browser-side search to solve it.

Quick answer

Enter the board, verify the picture, then solve

Write each bottle from bottom to top, use [] for an empty bottle, select Load JSON, and confirm that the preview matches the game before selecting Solve.

The solver uses connected-layer Water Sort pours. If your puzzle moves separate balls one at a time, read the Water Sort vs Ball Sort comparison and use the other solver.

What the Water Sort Solver Actually Does

StageWhat the tool doesImportant limit
InputReads bottle arrays and supported wrapper objectsMaximum 32 bottles; capacity is fixed at 4
PreviewDraws each value as a liquid layer and lets you adjust preview colorsThe preview cannot infer a missing or hidden layer
ValidationRejects over-capacity, empty, unsupported, or completely full-with-no-space inputA four-per-color mismatch is displayed as a warning, not a search blocker
SearchUses Water Sort moves and may try up to 2 extra empty bottlesNo shortest-solution guarantee
ReplayShows Previous, Next, Play, and Reset controls for the found pathA shared Water link is re-solved by the separate replay page
PrivacyValidation, search, and replay generation run in the browserThe tool itself does not perform screenshot recognition

Start with a Complete Bottle Layout

This is the example already used by the Water Sort Solver. It contains two colors, four occurrences of each color, open capacity, and one fully empty bottle.

Valid example

[
  [1],
  [2, 1, 2],
  [1, 2, 1, 2],
  []
]
  • Bottle A contains one bottom layer: color 1.
  • Bottle B has color 2 at the bottom and top.
  • Bottle C is full; its last value, 2, is the top layer.
  • Bottle D is empty and must remain [].

Rendered meaning

A B C D

Arrays are bottom to top. The highest visible block is the last value in that bottle.

A layout can be valid JSON and still describe the wrong board. The preview is the authority: compare bottle count, bottom layers, top colors, and empty space before solving.

Water Sort Solver Workflow

1

Record every bottle

Read bottles left to right and write each one from its bottom layer upward. Keep empty bottles in the outer array.

2

Load the JSON

Paste the full array into Level JSON and select Load JSON. A success message confirms the bottle count and capacity.

3

Audit the preview

Compare the generated bottles with the source board. Use the color controls only to improve the preview; changing preview color does not change the IDs.

4

Read validation

Fix hard errors first. Then inspect count warnings for a missed layer, a duplicated value, or two shades mapped to one ID.

5

Solve and replay

Select Solve, then inspect the first moves with Previous, Next, Play, and Reset instead of treating the text list as a black box.

What Validation Checks - and What It Does Not

Hard errors

The solver will not load

  • The JSON cannot be parsed.
  • A bottle is not an array or supported bottle object.
  • A color value is not a finite number or string.
  • A bottle contains more than 4 layers.
  • The layout contains no color at all.
  • There is no open slot anywhere in the layout.
  • The layout contains more than 32 bottles.

Visible warning

The solver can still search

The Color Count Check marks colors that do not appear exactly four times. That is useful because standard capacity-four levels usually need four layers per color, but the current Water tool does not make that count warning a hard validation error.

Fix the mismatch whenever the source game uses standard rules. Otherwise the search may operate on data that does not represent the intended puzzle.

How to Read a Water Sort Move

A label such as A → B identifies the source and target bottles. The move generator counts the connected run of the same color at the source top and pours as many of those layers as fit in the target.

Before: source A, target B
A = [2, 1, 1]
B = [1]
After one A → B pour
A = [2]
B = [1, 1, 1]

This move transfers two connected top layers because the colors match and Bottle B has enough room. Copied solution text adds (2 layers) for this kind of multi-layer pour.

Search Results, Extra Bottles, and Replay

Valid solution

The result includes a move count, a lettered move list, and a visual player. Every replay state is built from the returned moves.

Extra-bottle solution

The solver tests the original layout first, then the same layout with one and two additional empty bottles. It reports when the answer depends on that helper space.

No result within limits

This does not prove that every theoretical search method would fail. Recheck the JSON and consider whether the source game includes another empty bottle or a different rule.

What Share Solution sends

The Water share payload contains the starting bottle arrays and preview palette. The Solution Replay page restores that start state and searches for a move sequence again. It is not the same payload model as the Ball Sort Solver, which carries validated moves.

Common Water Sort Solver Problems

What you seeLikely causeWhat to check
Preview is upside downBottles were entered top to bottomReverse each inner array, not the outer bottle order
Wrong top colorThe final value in that bottle is incorrectThe last value must be the exposed top layer
Count warningMissed layer, duplicated layer, or confused shadeCount the same color across the entire board
No empty space errorEvery entered bottle has four layersAdd the empty or partly filled bottle visible in the game
No solution foundInput mismatch, unsupported variant, or search limitRecheck preview and standard capacity-four rules
Screenshot did nothingThe solver does not receive imagesUse the copied prompt externally, then paste and verify returned JSON

Use the Guide with the Real Tools

For syntax details, open the Bottle JSON Format Guide. For move planning, continue with the Water Sort Strategy Guide.

FAQ

What JSON format does the Water Sort Solver use?

Use one inner array per bottle and write every bottle from bottom to top. The last value is the exposed top layer, and an empty bottle is written as an empty array.

Does every color have to appear four times?

The current tool shows a warning when a color does not appear four times, but that warning alone does not block the search. Standard capacity-four levels normally use four layers per color, so investigate the mismatch before trusting a result.

Can the solver read a screenshot?

No. The page can copy prompts for an external assistant, but the solver itself only reads JSON that you enter. Always compare the generated preview with the original board.

What does A to B mean in the move list?

It means pour the legal connected top color group from Bottle A into Bottle B. When more than one layer moves, copied output adds the number of layers.

Why did the solver add an empty bottle?

The search tests the original layout first. If that fails, it may test one and then two extra empty bottles and clearly report that the returned solution depends on the added space.

Does the Water Sort Solver guarantee the shortest solution?

No. It searches for a valid solution with its implemented breadth-first and depth-first fallbacks, but it does not promise the mathematically shortest move list.

What does a shared Water Sort link contain?

The link contains the starting bottles and preview palette. The separate Solution Replay page loads that layout and searches for a playable move sequence again.

Explore Water and Other Sorting Games

Choose the sorting style that matches the way you want to play.