Playground/Games & simulations/Twisty puzzle solver
API ACTIVITY

Usage & budget

PLAYGROUND SAFETY LIMITS

Steady requests. Visible limits.

0 active · 0/20 queued

Browser: one start every 1.2 seconds (at most 50/minute), up to 2 active calls and 20 waiting. Shared by examples in this tab. Waiting requests cancel when their run is stopped; a full queue rejects new work without an API call.

Server: 60 requests per rolling 60 seconds and 2 concurrent calls per key, per server instance. Other tabs using the same key share that instance’s allowance. This in-memory safeguard resets on restart and is not a distributed or account-wide quota.

Source: playground policy in lib/requestRateLimit.ts. TypeSafe may impose separate limits. Provider HTTP 429 pauses calls until its reported reset; without a reset time, retry requires your action. HTTP 402 is a budget/billing failure, not a pacing limit. No automatic retries or background replay.

Your TypeSafe API key

Import your key to override the shared server default.

Saved on this browser until removed or site data is cleared. Masked on screen; sent only with Jev requests through this app. The saved value is never displayed.

Connecting
JEV PUZZLE LAB

Twisty puzzle solver

Scramble it. Understand each turn. Watch the solution come together.

Live Jev · local state verification
WORKSPACE GUIDE

Twisty puzzle solver

Ask Jev to choose turns on 2×2, 3×3, 4×4 and Megaminx, verify the state, and compare with local search.

Scrambled stateJev move choicesLocal state check

What you provide

A supported puzzle and at most 250 space-separated turns starting from solved. Drafts are saved separately for each puzzle.

What happens

Live Jev makes one real choice request per move using current piece state and one-turn outcomes. Code applies legal turns and verifies the state. An explicit Local solver comparison uses browser state search without Jev.

What you get

Jev move/confidence/model receipts, a face diagram and verified playback only if solved. Errors, invalid answers and the 200-move limit never become a successful solution.

Walk through a run

  1. 01

    Choose a puzzle

    Select a cube or the twelve-sided Megaminx. Enter moves from a solved position or generate a practice scramble.

  2. 02

    Load and solve

    Load the scramble, then request one Jev move or a run of up to 200 moves. Live Jev uses your configured key; Local solver is an explicit no-model comparison.

  3. 03

    Follow the moves

    Inspect Jev decision receipts and the current state. Only a solved state gets verified playback; incomplete attempts stay unsolved.

Try this

Start with R on the 3×3, load it and ask for one Jev move. Inspect the chosen turn and receipt, then try a harder scramble or compare with Local solver.

Execution limits

Jev selects turns from current state and one-turn outcomes. It may fail to solve; local code enforces legal moves and checks the state. No automatic local-solver fallback, camera/color input or shortest-solution claim.

Explore the example. Check the evidence.
1

Choose your puzzle

Jev can choose legal turns; the local solver is available as a comparison.

Space-separated turns. Prime (′) means reverse; 2 means twice. Use the straight apostrophe in input. Try R U R' U'.

2

Choose how to solve

Load your draft first. The diagram still shows the last loaded position.

3×3 cube

Your puzzle

Unfolded view
Loading puzzle diagram…

All faces are visible at once. Keep your orientation for face turns; reorient the whole puzzle when a rotation appears in the solution. Megaminx face labels mark fixed positions, not sticker colors.

3

Follow the moves

Load a scramble, then run Jev or choose the local solver. Nothing runs automatically.

Notation, instructions and solver limits

Start from a solved puzzle and apply your scramble in order. On cubes, R, L, U, D, F and B mean right, left, top, bottom, front and back. Turns are clockwise when looking directly at that face; an apostrophe reverses the turn. A cube turn is 90°; a Megaminx turn is 72°.

The 4×4 accepts wide turns such as Rw (two layers together). Megaminx also accepts R++ / R-- and D++ / D-- competition-style turns, which move larger blocks and are different from a single-face R or D turn.

Megaminx has twelve labeled faces: U, D, F, B, L, R, FL, FR, BL, BR, DL and DR. Match the move to the label on the diagram; FR is one face, not F followed by R. A 2 turns 144° clockwise; 2′ turns 144° in reverse. In solutions, a v suffix rotates the whole puzzle around that face’s axis: Rv turns it 72° clockwise as viewed toward R, and Uv′ turns it 72° in reverse as viewed toward U. The next move uses the new orientation.

In Local solver mode, all four puzzles use state search. The 4×4 solves centers and pairs edges before a 3×3 handoff. In its solution, x and y rotate the whole cube in the direction of R and U respectively. No color-entry or camera input is available. Solutions are verified but are not guaranteed shortest. Center artwork orientation is ignored.

Live Jev sends one closed-set choice request per move using your configured key. It receives piece state and one-turn outcomes, never a locally searched solution. Attempts stop after 200 moves; each queued request has a 45-second deadline. A legal move or high confidence does not prove progress. Provider errors and invalid choices stop the attempt; there is no local fallback.

Practice scrambles use seeded random moves, not official competition random-state generation. Local search runs in a browser worker, stops after 60 seconds, and is cancelled when you switch puzzles, edit the draft, leave or hide this page. Drafts stay in this browser; search results are not restored.

Powered by cubing.js. Puzzle rules and verification are local; Live Jev chooses the turns. Neither a single solved scramble nor the local comparison is a Jev capability benchmark.