CAMARI8 Cube App — User Guide
Welcome to CAMARI8 Cube, a 3D 3x3 Cube puzzle you can turn, scramble, solve, animate, design and save. This guide covers every feature in the app. Everything it describes works offline — the cube engine, both solvers and the built-in algorithm library are all part of the app itself, so no internet connection is required.
The version this guide was written for is the one shown on the app's About screen (menu → About): CAMARI8 Cube, Version 2.4.1.
A condensed copy of this guide is built into the app itself — menu → 📖 User's Guide — so the everyday steps are available without a connection. This document is the full reference and goes further: worked examples, every preference, the complete FAQ and a glossary.
The same text is published as a web page at camari8.com/guide, for reading on a phone or sending to someone who does not have the app. That page is generated from this file, so the two cannot drift apart.
Contents
1. What the app can do
- Turn a real 3D cube — one face, one slice or the whole cube at a time, with smooth animation.
- Type or pick algorithms in classic cube notation or in CAMARI notation, then play, pause, step or reverse them.
- Scramble the cube with one tap.
- Check that the cube is in a legal state, and solve it with one of two built-in solvers.
- Record your own turning into a reusable algorithm without writing anything down.
- Paint your own sticker designs on the cube and save them as custom patterns.
- Scan a real cube with the camera: photograph its six faces and the app reads the stickers and puts that same position on the cube on screen.
- Keep a library of saved algorithms and saved patterns, and share individual items.
- Back up the whole library to a single JSON file and restore it later.
The app never needs an account and never sends your cube designs anywhere unless you choose to share them.
2. The screen at a glance
The screen has three areas, top to bottom.
2.1 Design bar (very top)
A slim strip for designing patterns:
| Control | What it does |
|---|---|
| 🖌️ Painter toggle | Turns painter mode on and off. |
| Reverse algorithm ↔️ | Reverses the algorithm currently in the algorithm field. Hidden while painter mode is on. |
| 🟥 🟧 🟨 ⬜ 🟩 🟦 ⬛ Swatches | The paint colours. Only visible while painter mode is on. |
| 💾 Save | Opens the Cube Design Manager so you can save the cube exactly as it is on screen. Always visible. |
2.2 Cube view (upper half of the screen)
The 3D cube, plus six overlay arrows for rotating the whole cube and a small slider that sets the default viewing angle (see section 3).
The app's colour scheme is the standard one used by its solvers:
| Face | Colour |
|---|---|
| Right | Orange |
| Left | Red |
| Up | Yellow |
| Down | White |
| Front | Green |
| Back | Blue |
2.3 Control panel (lower half of the screen)
- ☰ Menu button (top-left) — opens the side menu.
- Two tabs: Automated & Solver and Manual Controls.
- A shared button row under both tabs: ▶ Play, ⏭ Step, 🔴 Record, ■ Stop, 💾 Save.
Short toast messages (for example “Playback completed” or “Consistency check passed: cube state is valid.”) appear at the bottom of the cube view and disappear on their own.
2.4 The side menu
Tap ☰ to open Menu Options, and tap anywhere outside it (or ✖) to close it. On the Android build the phone's back button closes the menu, then an open dialog, before it leaves the app. The menu contains:
| Menu item | Opens |
|---|---|
| ⚙️ Algorithm Manager | Create, edit, load, share and delete saved algorithms. |
| 🎨 Custom Cube Manager | Save, load, rename, share and delete custom patterns. |
| 📷 Scan Cube | Photographs a real cube with the camera and loads its colours onto the cube on screen (see section 7.5). |
| 💾 Export & Import | Full-library backup and restore. |
| 💎 Premium Features (badge PRO) | The paid extras. Outside the scope of this guide, which covers everything that is free and already part of the app. |
| 📖 User's Guide | A condensed copy of this guide, built into the app itself (see below). |
| ℹ️ About | App name and version. |
| ⚙️ Preferences | Display notation and solver method. |
A condensed, phone-sized version of this guide ships inside the app: 📖 User's Guide opens a scrollable screen with a row of jump buttons (Quick start, Screen, View, Solver tab, Manual, Record, Painter, Library, Backup, Notation, Fixes), and the A− / A+ buttons in its header change the text size in three steps — the app turns pinch zoom off, so that is the way to enlarge the text. The choice is remembered. This document stays the full reference: it adds worked examples, the complete FAQ and the glossary, and the in-app guide links to it in the project repository (that link needs a connection; everything inside the app works offline).
3. Moving the view of the cube
Changing how you see the cube (the first three sections below) never changes the cube's state and is never recorded as a move. The arrows in section 3.4 are different: they really do rotate the cube, and they are recorded.
3.1 Drag to orbit
Touch and drag (or click and drag) anywhere on the cube to swing the camera around it. When you let go, the view glides back to the standard three-quarter angle, keeping your zoom level. This snap-back keeps the cube readable, and it also stops the camera from slowly drifting out of alignment after lots of dragging.
3.2 Pinch or scroll to zoom
Pinch with two fingers on a phone, or use the mouse wheel / trackpad on a computer. Zoom is remembered when the view snaps back.
3.3 Use the tilt slider
The small ⟨⟩ slider at the top-right of the cube view changes the home angle that the camera returns to:
- Far left (0) — the default three-quarter view.
- Far right (1) — straight-on, front-facing view.
Anything in between is a smooth blend of the two. Your choice is remembered the next time you open the app.
Panning is deliberately turned off, so you can't accidentally push the cube off-screen.
3.4 Rotating the cube itself with the arrows
Six arrow buttons float over the cube view. Each one turns the whole cube by 90° — they are real moves (x, y, z in notation), not camera moves:
| Arrow | Position | Rotation |
|---|---|---|
| ↻ z | top-left corner | Roll clockwise |
| ↺ z' | top-right corner | Roll counter-clockwise |
| ▲ x | top centre | Pitch up |
| ▼ x' | bottom centre | Pitch down |
| ◀ y' | left centre | Yaw left |
| ▶ y | right centre | Yaw right |
The small letters on the arrows follow your notation preference, so they read WA / WI and so on when CAMARI is selected.
Because these are moves, they are added to the history, can be undone, and can be recorded into an algorithm like any other turn. The algorithm field also accepts them as text (x, y, z, with ' for the reverse direction).
4. The Automated and Solver tab
This tab is open when you start the app. It holds the cube-wide tools, the animation speed, the algorithm field and the picker for the built-in library.
4.1 The cube buttons
The row at the top of the panel has five buttons. The first three show only an icon:
| Button | What it does |
|---|---|
| 🔀 | Scramble — turns the cube 20 times on random faces in random directions. |
| 🔍 | Check — verifies the cube is in a legal state and reports the result. |
| ✨ | Solve — calculates a full solution and puts it in the algorithm field. |
| ↺ Custom | Returns the cube to the last custom pattern you loaded. |
| ↺ Classic | Rebuilds the classic solved cube. |
Scramble picks 20 random quarter turns from the six outer faces (U D L R F B), each clockwise or counter-clockwise, and plays them quickly. A scramble clears the move history first, so the scramble itself cannot be undone — the app treats it as a fresh start. If a turn is still animating when you tap it, nothing happens; tap again once the cube is still. (The history was already emptied by that first tap, so Undo stays greyed out even though the cube did not move.)
Check reads the 54 stickers currently on the cube and confirms each of the six colours appears exactly nine times. A toast reports either “Consistency check passed: cube state is valid.” or “Consistency check failed:” followed by the reason (for example Invalid count for face U: found 8, expected 9).
Solve runs that same test first. If the cube fails it, Solve simply stops — nothing is solved and nothing turns — so press 🔍 Check to see which colour is wrong. If the test passes, the cube goes to the solver chosen in Preferences and the app:
- Adds the whole-cube rotations needed so the solution is written for the way the cube is currently oriented on screen.
- Writes the full solution into the algorithm field.
- Loads the solution into the player and leaves it paused on the first move. It does not start turning by itself — press ▶ Play to watch it, or ⏭ Step to walk through it one move at a time.
Solving clears the move history, because a solution is treated as a new starting point. If the solver cannot answer, a dialog explains why (for example the stickers cannot form a real cube, or the solver did not respond in time).
The two solvers are described in section 12.2.
↺ Custom puts the cube back exactly as it was when you last loaded a saved pattern, including its rotation and the direction it was facing on screen. If you have not loaded a pattern since opening the app, it simply rebuilds the solved cube.
↺ Classic always rebuilds the classic solved cube and forgets the loaded pattern, so a later ↺ Custom also gives you a solved cube.
Both reset buttons are ignored while a turn is still animating. Neither of them clears the move history or the algorithm field — and because the old history survives, pressing Undo right after ↺ Custom or ↺ Classic would replay the inverse of an old move on the cube you just reset. Use Reset History (Manual Controls tab) if you want a clean slate.
4.2 Animation speed
The Fast — Slow slider (with the current value in milliseconds on the right) sets how long one quarter turn takes: 50 ms (fastest) to 600 ms (slowest) in 25 ms steps, starting at 200 ms. A higher number means a slower, easier-to-follow turn.
- The change takes effect immediately, even on a playback that is already running.
- Manual taps, playback, solver playback and reset animations all use this speed.
- Scrambles are deliberately quicker than the slider allows (capped at 120 ms per turn) so a scramble does not take 12 seconds.
- The speed is not stored between sessions; the app starts at 200 ms when it opens.
4.3 Choosing an algorithm
The row above the algorithm field shows the name of whatever is currently selected (-- Custom Input / Select Saved -- when nothing is picked) and a ☰ button.
- Tap ☰ to open the Select Algorithm bottom sheet. It lists the built-in library grouped by category, with your own Saved Algorithms group at the top. Each category is collapsible — tap a heading to expand it, and expanding one closes the others. Tap any row to load it. Close the sheet with Close, by tapping outside it, or with the phone's back button.
- The same list is available as an invisible drop-down in that row, so hardware keyboards and screen readers can move through it directly.
Loading an algorithm — from the sheet, the field's drop-down, or the Algorithm Manager — fills the algorithm field, resets the player to the start of that algorithm, and shows an “Algorithm loaded into the player.” toast.
To use something that is not in the list, type into the field: Type moves (e.g. R U R' U') or choose above. Typing clears the current selection, so the row goes back to -- Custom Input / Select Saved --. The × button beside the field clears both the text and the player.
Nothing turns until you press ▶ or ⏭.
4.4 The shared button row
This row sits under both tabs and is always available.
| Button | Name | What it does |
|---|---|---|
| ▶ | Play | Starts the algorithm in the field from its first move. |
| ⏸ | Pause | Appears in place of Play while the algorithm is running. |
| ▶ | Resume | Appears in place of Pause once you have paused. |
| ⏭ | Step | Performs exactly one move and pauses again. |
| 🔴 | Record | Starts or stops a recording session. |
| ■ | Stop | Cancels the current playback (or finishes a recording). Greyed out when idle. |
| 💾 | Save | Opens the Algorithm Manager with the current moves ready to name and save. |
Play starts (or resumes) the algorithm and animates every move in turn. While it runs the button reads ⏸ Pause; tapping it lets the move already in progress finish before stopping. Tapping again reads ▶ Resume and continues from the same place. When the last move is done the button returns to ▶ Play, and the next tap starts the algorithm again from the beginning.
If the algorithm you are playing is marked “Requires reset”, the cube is rebuilt in its solved state before the first move, so the algorithm always starts from the position it was designed for. Built-in presets carry this flag when they need it, and you can set it on your own algorithms with the checkbox in the Algorithm Manager (see section 8).
If the field contains something the app cannot read, a toast explains the problem and nothing turns.
Step gives you total control: it performs the next single quarter turn and stays paused.
- The first press sets the player up at the first move and performs it.
- Every further press performs one more move.
- When the last move is done, the button gives a short wiggle, a “Playback completed” toast appears, and the player is finished.
- Pressing Step again after that starts the algorithm over from move one (re-applying the reset flag if it is set).
Stop cancels the playback immediately and marks the algorithm as finished, so a later Step begins again at the first move. It shows a “Playback stopped” toast and is also the way to finish a recording. It is greyed out when nothing is playing or recording.
Save opens the Algorithm Manager with the current field contents already in the Moves box and the cursor waiting in the Name box, so one tap plus a name stores the algorithm. If the algorithm field is empty, the button does nothing at all.
4.5 Reversing an algorithm
The Reverse algorithm ↔️ button in the design bar (hidden while painter mode is on) turns the algorithm in the field back to front: the moves are reversed in order and each one is inverted. So R U R' U' becomes U R U' R', which undoes it exactly.
- It works in both notations and writes the result in your display notation.
- The reversed algorithm is loaded into the player, paused on its first move, so you can ▶ Play or ⏭ Step through it.
- With an empty field it simply says “Enter an algorithm to reverse.”
4.6 A typical practice session
- Tap 🔀 Scramble.
- Tap ✨ Solve, then choose how to watch it: ▶ Play to run the whole thing, or ⏭ Step to study it one move at a time.
- Tap 💾 Save to keep the solution in your library under a name you choose.
- Open Manual Controls to undo, redo or repeat any part of it by hand.
5. The Manual Controls tab
Turn faces yourself, one quarter turn at a time.
5.1 The slice buttons
There are nine slices, each with two buttons:
- Top row — clockwise:
UDLRFBMES - Bottom row — counter-clockwise:
U'D'L'R'F'B'M'E'S'
U, D, L, R, F and B are the six outer faces. M is the middle slice between left and right, E the slice between up and down, and S the slice between front and back.
Every tap animates one quarter turn and is added to the move history. The printed labels follow your display notation preference: with CAMARI selected the same buttons read TA TI DA DI LA LI … and so on. The slice a button turns never changes.
5.2 Undo, Redo and Reset History
| Button | What it does |
|---|---|
| ↩ Undo | Reverses the most recent move. |
| Redo ↪ | Re-applies the move you just undid. |
| Reset History | Empties the undo and redo lists. The cube is not changed. |
- Undo and Redo are greyed out when there is nothing to undo or redo.
- Making a new move after undoing throws away the redo list, as you would expect.
- Reset History is the way to say treat the current cube state as the starting point. It does not touch the cube, the algorithm field or your saved items.
- Whole-cube rotations from the view arrows share the same history, so Undo reverses those too.
- Playing an algorithm also writes its moves to the history, so Undo walks back through the moves you watched.
- A solution played back after ✨ Solve is deliberately not added to the history, and the history was already cleared when the solver took over — so Undo stays greyed out after watching a solution.
- Painting stickers and loading a pattern are not recorded as moves, so Undo never removes paint. Loading a pattern does not clear the old history either, so an Undo straight after a load would turn a slice of the loaded pattern — press Reset History first (or reload the pattern with ↺ Custom if it happens).
The app clears the history by itself when it makes sense to start fresh: after a scramble, when you turn painter mode on, and when the solver starts working. While a recording is running, Reset History is disabled and Undo stops at the point where the recording began.
6. Recording your own moves
Recording turns what you do on screen into an algorithm, so you never have to write down moves by hand.
- Tap 🔴 Record. The button turns red and changes to a ⏹ stop symbol.
- Turn the cube however you like — Manual Controls buttons, the view arrows, or by playing an algorithm.
- Tap the ⏹ button again (or ■ Stop) to finish.
- Your moves are written into the algorithm field, in the order you made them, ready to play, save, share or reverse.
Good to know:
- Recording starts where you are. Moves you made before tapping Record are not included.
- If you undo during a recording, the undone moves are dropped from the result; you cannot undo past the moment the recording started.
- Reset History is disabled while recording, so a recording can't be wiped by accident. For the same reason a scramble or a solve started mid-recording leaves the history untouched.
- A solver solution being replayed is not recorded; every other turn is.
- If you made no moves at all, the algorithm field is left untouched.
- The text is written in your display notation, so with CAMARI selected you get CAMARI words instead of classic letters. A wide turn stays together as one paired word (
TAP, notTA TIP) so it reads the way the turn is named, and a doubled turn is written compactly with a repeat count (TA2). - Recording does not save anything by itself. Press 💾 Save afterwards to keep it.
7. Cube Painter, scanning and custom patterns
Painter mode lets you colour the cube freely — logo cubes, patterns you invent, or a simplified cube for teaching — and then save the result as a pattern you can reload later. Scanning does the opposite: it reads a cube you already have in your hand and puts that position on the screen. Both end up as an ordinary cube state that you can check, solve, save as a pattern or share.
7.1 Painting
- Tap 🖌️ to switch painter mode on. The button stays highlighted and the colour swatches appear in the design bar. (The Reverse algorithm button hides while you paint, to leave room.)
- Tap a swatch to choose a colour: red, orange, yellow, white, green, blue, or the dark erase swatch.
- Tap a sticker on the cube to paint it. Only the coloured outer stickers can be painted; tapping the black seams between pieces does nothing.
- Repeat as often as you like, then switch painter mode off to go back to turning the cube.
Notes:
- The dark grey swatch is an eraser: it turns the sticker into the black plastic colour, so the face looks bare there again.
- Paint tap, don't drag. A drag still rotates the view, and the piece you first touched would be painted as well.
- Painting only changes sticker colours. It never moves pieces, so a painted cube keeps its current arrangement.
- Turning painter mode on clears the move history, so start painting when the cube is in the state you want. Painting itself cannot be undone — use ↺ Classic to start again from a clean cube.
7.2 Saving the design
Tap 💾 in the design bar (or choose 🎨 Custom Cube Manager from the menu) to open the Cube Design Manager.
- Type a name in
Pattern name (e.g. Checker)and tap 💾. Your current cube is stored: every piece's position, every sticker colour, and the direction the cube is facing. - Leaving the name blank does nothing.
- If the name is already taken, a small Save pattern window appears instead of saving straight away. It explains which pattern owns the name and offers three choices: Save as new, Overwrite “Checker”, and Cancel.
- Save as new keeps both patterns: the name box already holds a free suggestion such as
Checker (2). Type a different name if you prefer. - Overwrite “Checker” replaces the saved design and keeps its place in the list.
- Cancel changes nothing; the name you typed stays in the box.
7.3 Managing saved patterns
Tap a name in the list to select it. The toolbar shows Select a pattern or Selected pattern, and the four action buttons become available:
| Button | Action |
|---|---|
| ↥ | Load — rebuilds the cube exactly as saved and closes the window. |
| Share — creates a link for the pattern (see section 11). | |
| ✏️ | Rename — puts the current name in the box, selected, ready to type over. Tap 💾 to keep the new name. Renaming does not change the design. A name that another pattern already uses is refused by the same window that guards saving, with Save as new as the only way forward — renaming never overwrites a different pattern. |
| 🗑️ | Delete — removes the pattern from the list. |
Deleting is immediate — there is no confirmation prompt, so check you have the right pattern selected.
Once a pattern is loaded, ↺ Custom in the Automated and Solver tab will return to it at any time, and ↺ Classic builds a fresh solved cube and forgets it. Loading a pattern leaves the move history untouched, so press Reset History if you want a clean slate (see section 5.2).
7.4 Restore Patterns from Master File
The button at the bottom of the Cube Design Manager, 📂 Restore Patterns from Master File, recovers the pattern list from the app's own most recent saved copy.
- On Android it restores the master copy kept inside the app's storage.
- In a web browser it opens a file picker so you can choose a previously saved JSON file — normally
camari8_master_cubes.json, the file the app offered to save the first time your pattern list changed.
Either way the restored list replaces the current one, so use it when the list looks wrong or empty after an update, or when moving data between installations.
A message at the bottom of the screen always says what happened: 12 patterns restored., That file holds no saved patterns., or Unable to restore saved cubes: …. A file that cannot be read changes nothing, so it is safe to try again with a different file.
7.5 Scanning a real cube with the camera
📷 Scan Cube (menu → 📷 Scan Cube) reads a physical cube with the device camera and puts that exact position on the cube on screen, so 🔍 Check and ✨ Solve can work on the cube in your hand instead of on a scrambled screen cube.
- Put the cube on a table in even light. Glare and hard shadows are the main thing that makes a sticker read as the wrong colour.
- Open menu → 📷 Scan Cube and allow the camera when the system asks. On Android this is the app's own camera permission, asked once; if it was denied, allow it in the system settings and open the sheet again.
- Hold the yellow face inside the white 3×3 grid so the nine stickers fill the nine squares, then tap 📷 Capture step 1. A hand's width from the lens is about right — close enough to fill the grid, far enough that the camera can focus.
- Take the remaining five faces in the order the thumbnails show: 1 yellow, 2 orange, 3 green, 4 white, 5 red, 6 blue — the six centres of the app's own cube (yellow up, white down, orange right, red left, green front, blue back). Each step is named by the colour of that face's centre sticker, because the centre is the one sticker you can pick out with certainty while turning the cube.
- Follow the hint under the preview. It says which centre must face the camera and which centre must be up, for example step 2: yellow centre on top, orange centre facing the camera, green face on your left. That fixes the face and its rotation, which is what keeps the cube's real adjacency — a face shot the wrong way round describes a cube that cannot exist.
- After every shot the hint reports the centre it actually read ("centre reads orange ✓"). If it names a different colour, the wrong face was in the grid or the light was poor — tap ↺ Retake while the cube is still in your hand.
- The thumbnails show the nine colours read from each face. When all six are captured the net below fills in by itself.
- Tap any cell of the net that is wrong. Each tap moves it on: white → red → green → yellow → orange → blue → unset.
- Apply to cube becomes available once every colour is on exactly nine stickers. Tap it and the cube on screen becomes your scanned cube — yellow on top, white on the bottom, exactly like the default cube. 🔍 Check then confirms the state is legal and ✨ Solve produces the solution.
Notes:
- The order matters. The app has to know which face neighbours which, and photographing six faces in a random order describes a cube that cannot exist.
- The six steps use the colours of the app's own cube, so scanning a solved cube gives back the cube the app starts with, in its usual yellow-on-top orientation. If your cube uses a different colour scheme, photograph its top, right, front, bottom, left and back faces in that order from one starting orientation, and tap any cell of the net that comes out wrong.
- Each face is read against its own centre sticker, so the scan calibrates itself to your cube under your lighting rather than assuming a particular shade of red or orange.
- If the six centres do not come out as six different colours, the sheet says so and leaves the net untouched. Retake the shots in better light, or fill the net in by hand.
- ↺ Retake clears the face you have selected — tap a thumbnail to select a different one. Reset scan throws away all six shots and starts again at step 1.
- Applying a scan rebuilds the cube at the standard position first, exactly like ↺ Classic, and clears the move history, because a scan is not an undoable move. A half-finished turn has to finish before Apply will accept the scan.
- The camera runs only while the sheet is open. Closing it with ✖, a tap outside it or the Android back button releases the camera straight away.
- Without a camera, or if the permission is refused, the net still works: tap the cells to enter the colours by hand and tap Apply to cube.
- Scanning only reads positions; it does not produce moves. Tap ✨ Solve afterwards.
8. Algorithm Manager
The Algorithm Manager is your personal algorithm library. Open it from the menu (⚙️ Algorithm Manager) or with the 💾 button under the algorithm field, which also copies the current moves into the Moves box (that button does nothing while the field is empty).
8.1 Saving a new algorithm
- Fill in Algorithm Name (for example
Sexy Move). - Fill in Moves. Classic notation and CAMARI notation both work —
R U R' U'andRA TA RI TIare the same algorithm. - Optionally tick Requires reset (play from solved cube). When this is ticked, playing or stepping through the algorithm first rebuilds the solved cube, so it always starts from the position it was written for. Leave it unticked for algorithms that are meant to be applied to whatever is on screen.
- Tap 💾 to save.
Both a name and moves are required; if either box is empty the 💾 button does nothing. A successful save empties the form by itself and leaves edit mode, ready for the next entry. (The ✖ Clear button beside 💾 has no handler in the current version and does nothing — saving is what clears the form.)
Names are unique, so the same algorithm cannot end up in the list twice with no way to tell the two rows apart. Saving under a name that is already in use opens a Save algorithm window:
- Save as new — the name box is filled with a free suggestion such as
Sexy Move (2), so both versions are kept. This is the way to store a variation next to the original. - Overwrite “Sexy Move” — replaces the moves and the reset tick of the saved algorithm. It keeps its place in the list and its id, so a shared link or a selected entry that points at it still works.
- Cancel — nothing is saved and the form keeps what you typed.
Edit (✏️) on an existing algorithm also refuses to reuse another algorithm's name, but it never offers Overwrite, since there is nothing sensible to merge. Pick a different name.
8.2 Working with saved algorithms
Tap any row in Saved Algorithms List to select it (each row shows its name and its moves). Then use the toolbar:
| Button | Action |
|---|---|
| ↥ | Load — copies the algorithm into the main algorithm field, resets the player to its first move and closes the window. |
| Share — creates a link for this algorithm (see section 11). | |
| ✏️ | Edit — fills the form with this algorithm, including its reset setting. Change anything and tap 💾 to update that same entry instead of creating a new one. |
| 🗑️ | Delete — removes the algorithm. |
Deleting is immediate — there is no confirmation prompt.
Saved algorithms also appear at the top of the Select Algorithm sheet, under the group name Saved Algorithms, in the order you created them.
8.3 Restore Algorithms from Master File
📂 Restore Algorithms from Master File (bottom of the Algorithm Manager) replaces the current list with the app's most recently saved master copy of your algorithms. On Android this is the copy in the app's internal storage; in a browser it opens a JSON file picker (the file is normally camari8_master_algorithms.json).
As with patterns, a message at the bottom of the screen says what happened — 12 algorithms restored., That file holds no algorithms., or Unable to restore algorithms: …. A file that cannot be read changes nothing.
9. The built-in algorithm library
The app ships with a library of ready-made algorithms and patterns for your 6-colour cube, grouped into the categories listed below. They appear in the Select Algorithm sheet (open it with the ☰ button next to the algorithm field) under headings named after those categories, with your own saved algorithms listed above them under Saved Algorithms.
Each heading is collapsible: tap it to expand that category, and expanding one closes the others. The category you expanded last is the one open when you come back to the sheet; until you have expanded one, the category holding the loaded algorithm opens by itself, with the selected row scrolled into view.
| Category | What is in it |
|---|---|
| CAMARI8 | A single demo entry named CAMARI8 that plays a repeating slice loop. |
| Basic Solve Algorithms | The beginner-method building blocks: first-layer corners left and right, second-layer edge inserts (3:00 and 9:00), yellow cross (single and double), yellow corner swap, corner alignment and edge alignment. |
| Other Solve Algorithms | Alternative last-layer algorithms, including Y-Perm and A-Perm corner swaps. |
| Training playbacks | A step-by-step walkthrough of the whole beginner solve, from “1. Pattern white cross start” to “8. Solve yellow layer edges playback”. Play them one after another to see a complete solve. |
| Training patterns | Intermediate positions used while learning (white cross completed, white corners, second-layer edges, yellow cross, yellow corners, aligned yellow edges). |
| Visual Patterns | Decorative designs: checkerboards, Cube in a Cube, Superflip, stripes, national flags, snakes and animals, and symmetric shapes. |
| CFOP - F2L | The first-two-layers cases of the CFOP method. |
| CFOP - OLL | The last-layer orientation cases of the CFOP method. |
| CFOP - PLL | The last-layer permutation cases of the CFOP method. |
Notes on using the library:
- Entries play or step exactly like your own algorithms and can be reversed with Reverse algorithm in the design bar.
- Every entry in Visual Patterns and Training patterns is flagged Requires reset, so playing one always starts from a solved cube and gives the intended picture. The practice playbacks are mostly not flagged (only the first one is), because each step continues from where the previous step left the cube. The entries in Basic Solve Algorithms and Other Solve Algorithms are plain algorithms (not flagged), so they turn the cube as it already is — use them for last-layer practice on a cube you scrambled yourself.
- Visual patterns are worked from a solved cube with the standard colour scheme. If your cube is painted differently, the pattern will look different (or not show up at all).
- A few library entries use notation you may not see every day — a repeat after a bracket, as in
(M2 U2)2, andHfor the middle slice between up and down, as inH2. Both are explained in section 13. - Nothing in the library is locked, and no entry needs a purchase.
10. Backup, export and import
Your saved algorithms and saved patterns live inside the app on your device. Use the backup tools to keep a copy somewhere safe or to move everything to another device.
Open the tools from the menu: 💾 Export & Import (the window is titled Data Backup & Restore).
10.1 Export All Data
Tap 📤 Export All Data (Backup). The app writes one file containing everything:
- every saved custom pattern (with its sticker colours and orientation), and
- every saved algorithm (with its name and reset setting).
The file is named CAMARI8_full_backup_YYYYMMDD_HHMMSS.json, so a new name is created every time you export and old backups are never overwritten.
- On Android the file is written to
Documents/CAMARI8CubeApp/and the system share sheet opens so you can send it to Drive, email, chat or a file manager straight away. - In a web browser the file downloads normally to your Downloads folder.
The export never asks for confirmation and shows no “done” message; the download or the shared file is the confirmation. If nothing happens at all, check that the browser or Android hasn't blocked the download.
10.2 Import Data
Tap 📥 Import Data (Restore) and choose the backup file — a .json file, or one that arrived with a .txt name after passing through a chat app or email.
The window stays open and prints the result under the two buttons, and the same line appears for a few seconds at the bottom of the screen. That line is the whole truth about the import:
- Items were restored — e.g. Backup restored: 4 algorithms and 12 patterns. The counts say exactly how many of each arrived.
- Nothing was restored — the line says so and also names what the file did contain, e.g. That backup contained no algorithms or patterns. Keys: version, cubeData. Arrays: cubeData (3 items). That is usually enough to see that the wrong file was picked.
- Only part of it was restored — the line starts with Unable to restore the backup: Import incomplete - and names the part that failed. What did restore stays restored.
- The file could not be read — the line starts with That file is not a CAMARI8 backup.
Whatever the file contains replaces the matching lists already in the app, so take a backup first if you have items you want to keep. Anything the file does not contain is left alone — a file with only algorithms, for instance, leaves your patterns untouched.
Tap ✖ when you have read the result. The line is cleared the next time you tap Import Data.
10.3 A safe routine
Export after every good run of designing or saving algorithms, especially before reinstalling the app or clearing browser data. Clearing site data in a browser, or uninstalling the app, deletes the in-app copies — the exported file is your safety net.
11. Sharing patterns and algorithms
You can send one saved pattern or one saved algorithm to another person as a link.
- Open the Cube Design Manager (for a pattern) or the Algorithm Manager (for an algorithm).
- Tap the item once to select it.
- Tap the share button.
What happens next depends on your device:
- In the Android app the system share sheet opens with the link — send it by chat, mail, notes or anything else installed.
- On a computer, and in any browser without a share menu, the link is copied to your clipboard and a “Share link copied to clipboard.” toast appears, ready to paste into a message, mail or chat. If the browser refuses to copy (an insecure page, or a window that is not focused), a small Share link window shows the link so you can select and copy it by hand.
- On a phone browser the browser's own share menu opens where it has one.
Every link looks like this:
https://camari8-site.pages.dev/?puzzle=<encoded data>
The whole item is encoded inside the link — nothing is uploaded and no account is involved. A pattern link is longer than an algorithm link because it carries all 54 stickers.
Receiving a link
Tap the link (with the app installed) and the item opens in the app first — a shared algorithm loads into the algorithm field and player, a shared pattern is drawn on the cube — so you can see what the link carries before keeping it. A Save shared algorithm / Save shared pattern window then asks what to do with it:
- Save as new — keeps it as a separate item. The name box is filled with a free suggestion (
Checker (2)) when the name is already in use. - Overwrite “Checker” — replaces your copy of that name, keeping its place in the list. This button appears only when you already have an item with that name.
- Don't save — the item stays on screen but nothing is added to your lists.
Without the app the link opens the project's web page instead, which explains the app.
Notes
- The link is not a picture or a message; it can be opened only by the app (or by the web page, which will offer to get the app).
- Share links do not expire, but the item they carry is a snapshot — later edits to your copy are not reflected in a link you have already sent.
12. Preferences
Open the menu and choose ⚙️ Preferences. Every change is saved as soon as you pick it, so there is nothing to confirm.
12.1 Algorithm display notation
This decides how the app writes algorithms for you:
| Option | Behaviour |
|---|---|
| Default (entered notation) | Algorithms are shown the way they were written. |
| Classic | Algorithms are shown with classic letters (R U R' U', M M, x, f). |
| CAMARI | Algorithms are shown as CAMARI words (RA TA RI TI, MA MA, WA, FAP). |
The app accepts both spellings of a half turn — a repeat count (MA2) or two identical words (MA MA). Which one you see depends on where the text came from: a solution from ✨ Solve and your own recordings are written compactly (TA2), while an algorithm loaded from the library or from your saved list is written one word per quarter turn (TA TA).
The setting affects:
- what appears in the algorithm field when you load a preset, load a saved algorithm, solve the cube or finish a recording;
- the labels on the nine Manual Controls slices and on the six view arrows.
Two things it never does:
- It never converts what you type. If you type classic notation while CAMARI is selected, your text stays exactly as typed — the app simply reads it correctly.
- It never splits a wide turn. Solver solutions and recordings keep a two-layer turn together as a single paired CAMARI word (
TAP), not as two separate syllables.
Both notation styles are read correctly, but one algorithm must use one style — the app refuses a field that mixes them and tells you “Use either CAMARI or classic notation, not mixed.”
12.2 Solve button method
Choose which of the two built-in solvers the ✨ Solve button uses. Both work offline.
| Option | Behaviour |
|---|---|
| Kociemba (instant, fewest moves) | Default. Returns a short solution (usually around 20 moves) almost immediately. Best when you just want the cube solved. |
| CFOP (cross, F2L, OLL, PLL) | Solves the cube the way a speedsolver would: cross, then the first two layers, then OLL and PLL. It takes a few seconds and produces a longer sequence, but it is the one to follow if you are learning the method. |
If CFOP cannot find a solution it falls back to a Kociemba solution rather than failing silently, and a toast explains it: CFOP could not finish this cube (…). Showing the Kociemba solution instead.
12.3 Settings the app remembers
Remembered between sessions:
- display notation and solver method (Preferences),
- the tilt/angle of the cube view,
- all saved algorithms and all saved patterns.
Not remembered:
- the animation speed (starts at 200 ms each time),
- how far you zoomed in or out,
- the algorithm field, the move history and the cube state — the app always opens on a solved cube with an empty algorithm field.
13. Notation reference
The algorithm field understands two ways of writing moves. You can use whichever you prefer; the app reads both, and Preferences decides which one it writes back to you.
13.1 Classic notation
| Symbol | Meaning |
|---|---|
U D | Up and Down faces |
L R | Left and Right faces |
F B | Front and Back faces |
M | Middle slice between Left and Right — turns the same way as L |
E | Middle slice between Up and Down — turns the same way as D |
S | Middle slice between Front and Back — turns the same way as F |
x y z | The whole cube, turning like R, U and F respectively |
' after a move | Counter-clockwise instead of clockwise (R') |
2 after a move | Half turn (R2, U2) |
lowercase (r) or Rw | Wide turn: the face plus the slice behind it (r, u, f …) |
( … ) | A group of moves; may take ' to reverse it or a count to repeat it |
A plain letter means “turn that face a quarter turn clockwise, as if you were looking straight at it”.
Repeats and groups. A number after a move repeats it: U3 is three clockwise U turns (use U' for one counter-clockwise turn). A bracket groups moves so you can repeat or reverse the whole group at once:
(M2 U2)2 → the group twice: M2 U2 M2 U2
(R U R' U')3 → the sexy move three times
(R U R' U')' → the group backwards
Extra letters. The app also accepts T for U, H for E, C for S and W for x, so notation copied from CAMARI material can be pasted into a classic algorithm. These are the letters CAMARI users already know.
13.2 CAMARI notation
Every move is one pair of two letters: a slice letter plus a vowel. A word is built from one or more such pairs written with no space between them (see Spacing below).
- Vowel
A— clockwise. - Vowel
I— counter-clockwise (think of it as inverse).
| Slice | Clockwise | Counter-clockwise | Same as classic |
|---|---|---|---|
| Up | TA | TI | U / U' |
| Down | DA | DI | D / D' |
| Left | LA | LI | L / L' |
| Right | RA | RI | R / R' |
| Front | FA | FI | F / F' |
| Back | BA | BI | B / B' |
| Middle (L–R) | MA | MI | M / M' |
| Middle (U–D) | HA | HI | E / E' |
| Middle (F–B) | CA | CI | S / S' |
| Whole cube, like R | WA | WI | x / x' |
| Whole cube, like U | YA | YI | y / y' |
| Whole cube, like F | ZA | ZI | z / z' |
So TARA TIRI is the familiar U R U' R'. The app's own name is spelled CA MA RI, which in classic letters is S M R' — that is exactly what the library's CAMARI8 entry plays, eight times over (24 moves).
Wide (two-layer) turns. Add a P to a face pair to turn two layers at once:
| CAMARI | Classic |
|---|---|
TAP | u (wide U) |
DAP | d |
LAP | l |
RAP | r |
FAP | f |
BAP | b |
P is only valid on the six face pairs. A word such as MAP is not accepted, and because the app cannot read it as CAMARI it falls back to reading the field as classic and shows the mixed-notation message instead of a specific complaint.
Repeats. A number after a word repeats that whole word: TA2 is U2, MA8 is eight M turns, RAP2 is a wide R half turn. TA2 and TA TA mean exactly the same thing; the app writes the compact form (TA2) in solutions and recordings and the spelled-out form (TA TA) when it displays a saved or built-in algorithm.
A number at the end of an unbroken run of words repeats the whole run: RATARITI2 is RA TA RI TI twice, and CAMARI8 is CA MA RI eight times. Words separated by spaces are counted separately, so in TA RA8 only RA repeats.
Spacing. Spaces between words are optional — TARATI is read as TA RA TI — but a space between separate algorithms is safer and easier to read.
13.3 Which style is in this field?
The app decides per field, once:
- If every word reads as a valid CAMARI word, the field is treated as CAMARI.
- Otherwise it is treated as classic notation.
- A field that would need both at once is refused with “Use either CAMARI or classic notation, not mixed.”
If you paste something and nothing happens, this is the usual reason: change the CAMARI words to classic letters (or the other way round) so the field uses a single style.
13.4 Worked examples
| Purpose | Classic | CAMARI |
|---|---|---|
| Sexy move | R U R' U' | RA TA RI TI |
| Checkerboard | M2 E2 S2 | MA MA HA HA CA CA |
| Wide turns | r u f x y z | RAP TAP FAP WA YA ZA |
| Cube in a Cube | F L F U' R U F2 L2 U' L' B D' B' L2 U | FA LA FA TI RA TA FA FA LA LA TI LI BA DI BI LA LA TA |
| Superflip | U R2 F B R B2 R U2 L B2 R U' D' R2 F R' L B2 U2 F2 | TA RA RA FA BA RA BA BA RA TA TA LA BA BA RA TI DI RA RA FA RI LA BA BA TA TA FA FA |
14. Where your data lives
Everything the app remembers is stored on your own device:
- saved patterns (positions, sticker colours and orientation),
- saved algorithms (name, moves and the “requires reset” setting),
- your Preferences (display notation, solver method) and the view tilt.
The app also keeps a copy of your library of its own (the “master file”) as a recovery point — that is what the two Restore … from Master File buttons use.
- On Android this copy lives in the app's private storage and is written silently every time your library changes.
- In a browser the app has to write it out as a file: the first time your library changes in a session, Chrome/Edge shows a save dialog for
camari8_master_algorithms.jsonorcamari8_master_cubes.json. If you cancel that dialog, the app keeps working normally from its normal storage — the master copy is just a safety net, not the main store.
Practical consequences:
- Offline use. The app is installed as a Progressive Web App / Android app and cached on the device, so the cube, the solvers, the notation engine and the built-in library all work with no connection. Only following a share link or opening the project's web page needs the internet.
- Clearing data removes your library. Clearing site data in a browser, clearing app storage, or uninstalling the app deletes the in-app copies. An exported backup file is the only thing that survives this — see section 10.
- Nothing is uploaded. Cube states, patterns and algorithms stay on the device unless you deliberately share a link.
- No account, no sign-in. The app has no login and no cloud storage.
15. Troubleshooting and FAQ
15.1 Common problems
Pressing Play or Step does nothing. The algorithm field is empty, or the move that is currently animating has not finished. Type or load an algorithm, wait for the cube to settle, and try again.
A toast says “Use either CAMARI or classic notation, not mixed.” The field contains both styles. Rewrite it in one style — see section 13.
A toast says “Invalid classic notation character: …”, “Missing closing parenthesis.” or “Unexpected closing parenthesis.” The text has a typo or an unbalanced bracket; the toast names the character it could not read, or the bracket problem.
- In CAMARI each move is a pair of two letters — a slice letter plus
AorI.Pis the only other letter a pair may carry, straight afterT,D,L,R,ForB(RAP= wideR). A word may hold several pairs with no space between them (TARATI=TA RA TI), with at most one repeat number, at the very end of the word (RATARITI2). - In classic notation each move is one letter, optionally followed by
',2orw/W(R',U2,Rw), and a number may repeat a move or a whole bracket (U3,(R U R' U')3). - Brackets must balance: every
(needs a matching), and a)on its own is an error.
Undo does nothing, or stops earlier than expected. The history is cleared after a scramble, after a solve, when painter mode is switched on, and by Reset History. While recording, Undo cannot go back past the start of the recording.
Undo turned a slice of the pattern I just loaded (or right after ↺ Classic). Loading a pattern, ↺ Custom and ↺ Classic do not clear the move history, so the first Undo after one of them reverses an older move from before the reset. Press Reset History to empty the history, or press ↺ Custom again to put the pattern back.
Solve seems to do nothing. Either the cube is already solved (there is nothing to solve, so no algorithm is produced) or the consistency check failed before the solver was even asked. Press 🔍 Check: if it reports a colour with the wrong count, the cube has been painted into a state that is not a real cube. Tap ↺ Classic to start from a clean cube, or repaint until every colour is on nine stickers.
Solve takes a long time, or an alert reports that it could not solve the cube. CFOP is the slower method; give it a few seconds. A real failure shows an alert such as “Could not solve the cube: …”, and if the solver does not answer within 90 seconds the alert says so. Close it and try again, or switch the method in Preferences. A cube that is painted into a physically impossible arrangement cannot be solved at all.
My saved patterns or algorithms are missing. Try 📂 Restore Patterns from Master File / 📂 Restore Algorithms from Master File first. If that list is empty too, restore from an exported backup (section 10). Data does not survive clearing browser site data or uninstalling the app.
A shared link does nothing. Share links are opened by the app. If the app is not installed the link leads to the project's web page instead. Make sure the whole link was copied — the data lives inside it. An item that opens on the cube or in the algorithm field but is not in your lists was dismissed in the save window: open the link again and choose Save as new or Overwrite.
Saving asks me about a name I have not used. Names are compared ignoring capitals and surrounding spaces, so checker and Checker count as the same name. Save as new keeps both items — the name box already holds a free suggestion such as Checker (2) — while Overwrite replaces the item that owns the name. Cancel, the Escape key, the Android back button and a tap outside the window all close it without changing anything.
Painting colours the wrong sticker, or the cube spins while I paint. Paint with a quick tap rather than a drag, and check that painter mode is on (the 🖌️ button highlights and the swatches are visible).
A pattern does not look like its picture. Patterns are built from a standard-coloured solved cube. On a cube painted with a different colour scheme the same moves give a different picture. Tap ↺ Classic and play the pattern again on the standard cube.
The scan read the wrong colours. Light first: even light, no glare, no shadow across the face, and the nine stickers filling the nine squares of the grid. Tap the thumbnail of the bad face and tap ↺ Retake; the net is rebuilt from all six shots. If only one or two stickers are off, tap those cells instead. The hint under the preview reports the centre it read after every shot ("centre reads orange ✓", or "centre reads blue — that looks like step 6's face"); a mismatch there means the wrong face went into the grid, so retake it rather than fixing the net by hand. A scan that reports the centres did not come out as six different colours is a lighting problem, not a cube problem. On a cube with faded or non-standard stickers, fill the net in by hand with the closest matching colour — what matters is that each of the six colours is on exactly nine stickers.
The scramble was much faster than my speed setting. Scrambles are deliberately capped at 120 ms per turn so a 20-move scramble stays quick. The slider still controls playback, stepping and manual turns.
The app still looks like the old version after an update. Close every tab or instance of the app and open it again; the cached copy is replaced when the new one finishes downloading.
15.2 Frequently asked questions
Does the app need internet? No. Turning, solving, the notation engine, the built-in library, saving and sharing all work offline. Only opening a share link needs a connection.
Do I need an account? No. There is no sign-in and no cloud storage.
Where are my patterns stored? On this device only — see section 14.
Can I undo painting? No. Painting is not part of the move history. Use ↺ Classic for a fresh solved cube.
Can I solve a cube I painted myself? Yes, as long as each colour is on exactly nine stickers and the arrangement is physically possible. Otherwise the consistency check stops the solve, by design.
Can I get a real cube onto the screen without painting 54 stickers? Yes — menu → 📷 Scan Cube photographs the six faces and fills the cube in for you (see section 7.5).
What does the “Requires reset” checkbox do? It makes the algorithm start from a solved cube, so a pattern always looks the same. Leave it off for algorithms meant to be applied to the cube as it is.
Can I share more than one item at a time? Share sends a single selected pattern or algorithm. To move a whole library, use an export file (section 10).
Does deleting a pattern or algorithm ask for confirmation? No — deletion is immediate. Keep a backup if an item matters to you.
16. Glossary
| Term | Meaning |
|---|---|
| Algorithm | A fixed sequence of turns that produces a known result. |
| CAMARI notation | The app's notation: one two-letter pair per move — a slice letter plus A (clockwise) or I (counter-clockwise), with P added for a wide turn. |
| CFOP | A speedcubing method: Cross, F2L, OLL, PLL. One of the two built-in solvers. |
| Classic notation | Standard cube notation such as R U R' U', M2, x. |
| Consistency check | The test that every colour appears exactly nine times before solving. |
| Cubie | One of the 26 small pieces the cube is built from. |
| Facelet / sticker | One coloured square. There are 54 in total. |
| Kociemba | The default solver: fast and short, usually around 20 moves. |
| Master file | The app's own recovery copy of your saved patterns and algorithms. |
| Move history | The list Undo and Redo work from. |
| Painter mode | The mode in which tapping a sticker recolours it instead of turning the cube. |
| PWA | Progressive Web App — a website that installs like an app and works offline. |
| Scramble | Twenty random quarter turns used to mix up the cube. |
| Slice | One of the cube's nine turnable layers: six outer faces plus M, E, S. |
| Superflip | The famous pattern with every edge flipped, included in the library. |
| Wide turn | A turn of two layers at once (r, or RAP in CAMARI). |
| Whole-cube rotation | Turning the entire cube without changing the arrangement: x, y, z. |
CAMARI8 Cube — Version 2.4.1. Built with Three.js and WebGL; the cube engine, both solvers and the notation engine all run on your device.