cubing / cubing.js

🛠 A library for displaying and working with twisty puzzles. Also currently home to the code for Twizzle.
https://js.cubing.net/cubing/
GNU General Public License v3.0
245 stars 44 forks source link

WCA scramble compatibility #250

Open lgarron opened 1 year ago

lgarron commented 1 year ago

Here are all the features we need to match TNoodle for WCA scrambles:

Event Supported Min scramble alg length Min optimal solution length Prefix/Suffix Potential features
333, 333oh, 333ft ✅ (MRSS) ☑️ (N/A) (2 moves) ☑️ (N/A)
222 ✅ (MRSS) (11 moves) (4 moves) ☑️ (N/A)
333bf, 333mbf ✅ (MRSS) ☑️ (N/A) ✅ (2 moves) ✅ (wide moves) [^1]
333fm ✅ (MRSS) ☑️ (N/A) ✅ (2 moves) ✅ (R' U' F) [^1]
444 ✅ (MRSS) ☑️ (N/A) 🚧 (2 moves) ☑️ (N/A)
444bf ✅ (MRSS) ☑️ (N/A) 🚧 (2 moves) 🚧 (full piece randomization)
555 (60 random moves) ☑️ (N/A) 🚧 (2 moves) ☑️ (N/A) layered randomization
555bf ✅ (60 random moves + suffix) ☑️ (N/A) 🚧 (2 moves) ✅ (wide moves) [^1] layered randomization
666 (80 random moves) ☑️ (N/A) 🚧 (2 moves) ☑️ (N/A) layered randomization, use 3Fw instead of 3Bw
777 (100 random moves) ☑️ (N/A) 🚧 (2 moves) ☑️ (N/A) layered randomization
clock ✅ (MRSS) ☑️ (N/A) 🚧 (2 moves) ☑️ (N/A)
minx ✅ (random movesPochmann style) ☑️ (N/A) 🚧 (2 moves) ☑️ (N/A)
pyram ✅ (MRSS) ✅ (11 moves) ✅ (6 moves) ☑️ (N/A)
skewb ✅ (MRSS) ✅ (11 moves) ✅ (7 moves) ☑️ (N/A)
sq1 ✅ (MRSS) ☑️ (N/A) 🚧 (11 moves) ☑️ (N/A)
fto ✅ (MRSS) ☑️ (N/A) 🚧 (2 moves?) ☑️ (N/A)
master_
tetraminx
✅ (MRSS) ☑️ (N/A) 🚧 (2 moves?) ☑️ (N/A)
kilominx ✅ (MRSS) ☑️ (N/A) 🚧 (2 moves?) ☑️ (N/A)
redi_cube ✅ (MRSS) ☑️ (N/A) 🚧 (2 moves?) ☑️ (N/A)

[^1]: Needs to avoid cancellation (e.g. L' Rw)