The torus-shaped twisty 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.
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.
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:
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.
Your solves for these challenges are recorded in your browser (move count and date), as well as the progress for every game.
The app works on both desktop and mobile. Contributions and feedback are welcome!
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.