Skip to content

Releases: buzzlightyear1309/cubr

v0.2.0

31 May 19:20
b0ade40

Choose a tag to compare

Second release. The headline is a much faster, never-stalling solver and a new Live solving mode, plus a cleaner, more even render. The cube engine and the POST /move / POST /state HTTP contract are unchanged.

Highlights

  • Hybrid solver — instant deep solves. The optimal Korf IDA* now runs under a wall-clock budget (~4 s); for the rare near-God's-number states (distance ~17–20) that would exceed it, the solver falls back to a self-contained Kociemba two-phase search that returns a short, near-optimal solution in milliseconds. A solve never stalls anymore.
  • Live mode. Toggle Live and the solution list tracks your own moves in real time — each correct move drops off the top, a wrong move re-inserts its undo so the list stays valid instantly, and a debounced background re-solve quietly restores the optimal sequence when you pause.
  • Faster optimal search. A multicore IDA* with incremental coordinate updates and a depth-2 frontier + early-bail solves most states optimally in well under a second.
  • No runtime kewb dependency. Facelet parsing and physical-solvability validation are now fully in-house; kewb is kept only as a dev-only test oracle.

Solver

  • In-house Kociemba two-phase module (coordinates + pruning tables + search) — self-contained, no external solver dependency.
  • Korf + two-phase hybrid solve: guaranteed-optimal Korf within the budget, near-optimal two-phase fallback past it (CUBR_KORF_BUDGET_MS overrides the default ~4 s budget).
  • Multicore IDA* with incremental coordinates and a depth-2 frontier + early-bail for real multi-core scaling.
  • In-house facelet → cubie parse + validation; kewb dropped as a runtime dependency.
  • cubr-core compiled at full opt-level even in dev builds, so cargo run / cargo test solve at real speed.

UI / rendering

  • Live toggle in the Solve panel (see above).
  • Camera-following key light — even, view-consistent lighting from any orbit angle.
  • 180° turns animate slower (1.4× a quarter turn) so half-turns read clearly.
  • Fix: the step list now clears when a Run finishes, so it can't accidentally re-scramble.

Crates

Downloads

Grab the archive for your platform below, unpack it, and run cubr.

macOS (cubr-macos-arm64 / cubr-macos-x64): This build is unsigned. After unpacking, in Terminal run xattr -dr com.apple.quarantine ./cubr once, then ./cubr (or right-click → Open). You'll see a Gatekeeper warning otherwise — this is expected for an unsigned app.

Windows (cubr-windows-x64): SmartScreen may show 'Windows protected your PC' → More info → Run anyway.

Linux (cubr-linux-x64): Needs the runtime libs (libasound2, libudev1) — present on most desktops; sudo apt-get install libasound2 libudev1 if missing.


Full changelog: v0.1.0...v0.2.0

v0.1.0

31 May 10:46
56d495f

Choose a tag to compare

Downloads

Grab the archive for your platform below, unpack it, and run cubr.

macOS (cubr-macos-arm64 / cubr-macos-x64): This build is unsigned.
After unpacking, in Terminal run xattr -dr com.apple.quarantine ./cubr
once, then ./cubr (or right-click → Open). You'll see a Gatekeeper
warning otherwise — this is expected for an unsigned app.

Windows (cubr-windows-x64): SmartScreen may show
'Windows protected your PC' → More info → Run anyway.

Linux (cubr-linux-x64): Needs the runtime libs (libasound2,
libudev1) — present on most desktops;
sudo apt-get install libasound2 libudev1 if missing.

Full Changelog: https://github.com/buzzlightyear1309/cubr/commits/v0.1.0