The 3BLD trainer aims to produce realistic scrambles and traverse a chosen set of cases as fast as possible, so you can drill specific situations more efficiently. The main features today are edge / corner algorithm training and the read & restore helper; other pages are being added and refined.
Two core functions: feed a scramble, get the blind code; feed a blind code, get the cube state (with a 3D cube view).
Built mainly to fix the beginner pain of mis-coding, and to be a more universal read tool than the apps. The restore function acts like a teacher who never executes an alg wrong: try out different lettering schemes — if the 3D cube ends up solved, your code was correct. When your lettering is still shaky, this confirms whether the code holds up. During review or when stuck, you can also type the restore code one alg at a time and check that the 3D cube state matches, to pinpoint a problem fast.
Default buffers are edge A (UF) and corner J (UFR). When you change buffers, adjust the borrow/setup position accordingly — it must not coincide with the buffer position. Pick the color-preserving borrow method to match your tutorial (fixed-borrow / jump-coding); beginners can leave it off.
Enter the algs you want to drill; it outputs realistic scrambles and traverses every input alg as fast as possible. Two modes:
Same as the edge algorithm trainer, for corner algs.
No parity. Two twisted corners appear, excluding the buffer.
You can choose between a two-corner twist (excluding the buffer) and a three-corner twist (including the buffer), and customize which two positions the twists land on.
Same as the corner twist trainer, for flipped edges.
Float order: currently takes two letters — the first is the main buffer code, the second the sub buffer code. The script picks the least-seen sub-buffer algs first and keeps going until every sub-buffer alg has appeared at least once, then stops and outputs the scrambles plus stats.
Eject positions: the edge positions that will not be scrambled. Example: you already know 4 buffers in the order AEGC and now want to drill the 3rd and 4th buffer — put AE in Eject positions and GC in Float order.
If Float order is left empty, scrambles solve the pieces at the Eject positions and randomize everything else fully, without controlling how often any alg appears (eject mode).
Same as the edge float trainer, for corners.
2C2C is the case of four corners swapping in two pairs. The script generates, from each input code, every case of “buffer swaps with the input code, plus any other two pieces swap.”
With “include twist” off, each code produces the 45 orientation-free algs (e.g. corners JG swap, RX swap); with “include twist” on, each code produces the full 135 algs.
Checking “exclude top layer” forces both swapped corners to land on the bottom layer.
Enter parity-twist codes (first digit = parity code, second = twist code); it generates the same number of random scrambles, with every input parity-twist case appearing exactly once.
“Scramble edges” controls whether edges get scrambled — off leaves edges in a UF-UR swap. “Scramble other corners” controls corner state — off puts corners directly into a usable parity-twist state.
Enter parity codes (first digit = edge, second = corner); it generates the same number of random scrambles, with every input parity case appearing exactly once.
“Scramble other edges” controls edge state — off leaves a buffer-and-input-code swap. “Scramble other corners” controls corner state — off leaves a buffer-and-input-code swap.
All computation runs locally on your device, so speed depends on your hardware. On a desktop-class CPU each operation finishes within about 2 seconds (the slowest today is float-edge generation with parity). If a page hangs abnormally, let the author know.
The 3BLD trainer was created by Spoon (Zhi Qiao) and open-sourced under GPL-3.0. This site is a ported / integrated build that stays faithful to the original engine and behaviour.