Slidorus

The torus-shaped twisty puzzle

👉 Play here

About this puzzle

Slidorus is a sliding puzzle made of 9 blocks of 9 pieces. Every row and column can be shifted in either direction. When a piece moves off one side of the grid, it reappears on the opposite side. In other words, the pieces move on a torus.

scrambled state

The puzzle is similar to 9×9 Loopover, but with a Rubik's Cube-inspired color scheme and indistinguishable pieces within each 3×3 block. The puzzle is solved when each 3×3 block is uniformly colored; the exact placement of the blocks does not matter.

solved state

The rows can also be moved by using the keys 1, 2, ..., 9, and the columns by using the keys q, w, ..., o. The shift key toggles the direction.

In editing mode, several options are available to make the puzzle more interesting:

  • Pieces can be bandaged (so they always move together).
  • Pieces can be fixed (so they don't move anymore).
  • Pieces can be marked as rotating.
  • Rows and columns can be grouped with each other.

bandaged puzzle bandaged puzzle, scrambled

A rotating piece rotates by 40 degrees for every step of a move. The puzzle is only solved when all rotating pieces have no rotation left.

Each configuration of pieces, rows and columns leads to a different challenge and is reflected in the URL, which can be shared or bookmarked. There is a selection of preconfigured challenges, grouped by difficulty.

challenge selector

Your solves for these challenges are recorded in your browser (move count and date), as well as the progress for every game.

list of solves

The app works on both desktop and mobile. Contributions and feedback are welcome!

Implementation Details

This application is built with Svelte 5 and TypeScript. Apart from the icon library lucide/svelte, no external libraries are used.

The 3D torus visualization is implemented entirely in standard CSS, inspired by the work of Amit Sheen. A standalone example is available on CodePen.

Top categories

Loading Svelte Themes