Skip to content

Commit

Permalink
Include a table of scrambling support.
Browse files Browse the repository at this point in the history
  • Loading branch information
lgarron committed Jan 10, 2025
1 parent 9520345 commit 524d61f
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,42 @@ To get completions in your shell, install using one of:
- `brew install --HEAD cubing/cubing/twsearch`
- `cargo install --path .; twsearch completions <your shell>`

### Scrambles

The Rust implementation contains scrambling code intended to replace [`tnoodle-lib`](https://github.com/thewca/tnoodle-lib).

#### Official events

| Event | Supported | Min optimal solution moves | Min scramble alg moves | Prefix/Suffix | Potential features |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `333`, `333oh`, `333ft` | βœ… (MRSS) | [βœ…](https://github.com/cubing/twsearch/blob/95203455c31b44dc6fdd85973ed6183bddbf7ced/src/rs/scramble/puzzles/cube3x3x3.rs#L181) ([2](https://www.worldcubeassociation.org/regulations/#4b3)) | β˜‘οΈ (N/A) | β˜‘οΈ (N/A) | |
| `222` | βœ… (MRSS) | [βœ…](https://github.com/cubing/twsearch/blob/95203455c31b44dc6fdd85973ed6183bddbf7ced/src/rs/scramble/puzzles/cube2x2x2.rs#L55) ([4](https://www.worldcubeassociation.org/regulations/#4b3b)) | [βœ…](https://github.com/cubing/twsearch/blob/05506b2a2c9e259eb3b3e09efbafbfbb34c0b18d/src/rs/scramble/puzzles/cube2x2x2.rs#L68) ([11](https://github.com/thewca/tnoodle/blob/d66eb2db5df7efcadf23828fe9211d0a30cfe2c4/webscrambles/src/main/resources/wca/readme-scramble.md?plain=1#L30)) | β˜‘οΈ (N/A) | |
| `333bf`, `333mbf` | βœ… (MRSS) | 🚧[^1] ([2](https://www.worldcubeassociation.org/regulations/#4b3)) | β˜‘οΈ (N/A) | [βœ…](https://github.com/cubing/twsearch/blob/95203455c31b44dc6fdd85973ed6183bddbf7ced/src/rs/scramble/puzzles/cube3x3x3.rs#L211) (wide moves) | |
| `333fm` | βœ… (MRSS) | 🚧[^1] ([2](https://www.worldcubeassociation.org/regulations/#4b3)) | β˜‘οΈ (N/A) | [βœ…](https://github.com/cubing/twsearch/blob/05506b2a2c9e259eb3b3e09efbafbfbb34c0b18d/src/rs/scramble/puzzles/cube3x3x3.rs#L214-L241) (`R' U' F`) | |
| `444` | 🚧 (MRSS) | 🚧 ([2](https://www.worldcubeassociation.org/regulations/#4b3)) | β˜‘οΈ (N/A) | β˜‘οΈ (N/A) | |
| `444bf` | 🚧 (MRSS) | 🚧 ([2](https://www.worldcubeassociation.org/regulations/#4b3)) | β˜‘οΈ (N/A) | 🚧 (full piece randomization) | |
| `555` | βœ… ([60 random moves](https://github.com/thewca/tnoodle/blob/d66eb2db5df7efcadf23828fe9211d0a30cfe2c4/webscrambles/src/main/resources/wca/readme-scramble.md?plain=1#L25)) | 🚧 ([2](https://www.worldcubeassociation.org/regulations/#4b3)) | β˜‘οΈ (N/A) | β˜‘οΈ (N/A) | [layered randomization](https://github.com/thewca/tnoodle-lib/pull/40) |
| `555bf` | βœ… ([60 random moves](https://github.com/thewca/tnoodle/blob/d66eb2db5df7efcadf23828fe9211d0a30cfe2c4/webscrambles/src/main/resources/wca/readme-scramble.md?plain=1#L25) + suffix) | 🚧 ([2](https://www.worldcubeassociation.org/regulations/#4b3)) | β˜‘οΈ (N/A) | βœ… (wide moves) | [layered randomization](https://github.com/thewca/tnoodle-lib/pull/40) |
| `666` | βœ… ([80 random moves](https://github.com/thewca/tnoodle/blob/d66eb2db5df7efcadf23828fe9211d0a30cfe2c4/webscrambles/src/main/resources/wca/readme-scramble.md?plain=1#L25)) | 🚧 ([2](https://www.worldcubeassociation.org/regulations/#4b3)) | β˜‘οΈ (N/A) | β˜‘οΈ (N/A) | [layered randomization](https://github.com/thewca/tnoodle-lib/pull/40), [use `3Fw` instead of `3Bw`](https://github.com/cubing/cubing.js/issues/241) |
| `777` | βœ… ([100 random moves](https://github.com/thewca/tnoodle/blob/d66eb2db5df7efcadf23828fe9211d0a30cfe2c4/webscrambles/src/main/resources/wca/readme-scramble.md?plain=1#L25)) | 🚧 ([2](https://www.worldcubeassociation.org/regulations/#4b3)) | β˜‘οΈ (N/A) | β˜‘οΈ (N/A) | [layered randomization](https://github.com/thewca/tnoodle-lib/pull/40) |
| `clock` | βœ… (MRSS) | 🚧 ([2](https://www.worldcubeassociation.org/regulations/#4b3)) | β˜‘οΈ (N/A) | β˜‘οΈ (N/A) | |
| `minx` | βœ… ([random moves](https://www.worldcubeassociation.org/regulations/#4b3e) β€” [Pochmann style](https://www.worldcubeassociation.org/archive/forum_topics/368)) | 🚧 ([2](https://www.worldcubeassociation.org/regulations/#4b3)) | β˜‘οΈ (N/A) | β˜‘οΈ (N/A) | |
| `pyram` | βœ… (MRSS) | [βœ…](https://github.com/cubing/twsearch/blob/067f0b0300efa9cfea2634c9795840d7d4b96aaf/src/rs/scramble/puzzles/pyraminx.rs#L61) ([6](https://www.worldcubeassociation.org/regulations/#4b3f)) | [βœ…](https://github.com/cubing/twsearch/blob/067f0b0300efa9cfea2634c9795840d7d4b96aaf/src/rs/scramble/puzzles/pyraminx.rs#L62) ([11](https://github.com/thewca/tnoodle/blob/d66eb2db5df7efcadf23828fe9211d0a30cfe2c4/webscrambles/src/main/resources/wca/readme-scramble.md?plain=1#L30)) | β˜‘οΈ (N/A) | |
| `skewb` | βœ… (MRSS) | [βœ…](https://github.com/cubing/twsearch/blob/067f0b0300efa9cfea2634c9795840d7d4b96aaf/src/rs/scramble/puzzles/skewb.rs#L108) ([7](https://www.worldcubeassociation.org/regulations/#4b3c)) | [βœ…](https://github.com/cubing/twsearch/blob/067f0b0300efa9cfea2634c9795840d7d4b96aaf/src/rs/scramble/puzzles/skewb.rs#L109) ([11](https://github.com/thewca/tnoodle/blob/d66eb2db5df7efcadf23828fe9211d0a30cfe2c4/webscrambles/src/main/resources/wca/readme-scramble.md?plain=1#L30)) | β˜‘οΈ (N/A) | |
| `sq1` | βœ… (MRSS) | 🚧 ([11](https://www.worldcubeassociation.org/regulations/#4b3d)) | β˜‘οΈ (N/A) | β˜‘οΈ (N/A) | |

#### Unofficial events

| Event | Supported | Min optimal solution moves | Min scramble alg moves | Prefix/Suffix | Potential features |
| ------------------------ | --------- | --------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ------------------ |
| `fto` | 🚧 (MRSS) | 🚧 (2 moves?) | β˜‘οΈ (N/A) | β˜‘οΈ (N/A) | |
| `master_`<br>`tetraminx` | 🚧 (MRSS) | 🚧 (2 moves?) | β˜‘οΈ (N/A) | β˜‘οΈ (N/A) | |
| `kilominx` | 🚧 (MRSS) | 🚧 (2 moves?) | β˜‘οΈ (N/A) | β˜‘οΈ (N/A) | |
| `redi_cube` | 🚧 (MRSS) | 🚧 (2 moves?) | β˜‘οΈ (N/A) | β˜‘οΈ (N/A) | |
| `baby_fto` | βœ… (MRSS) | [βœ…](https://github.com/cubing/twsearch/blob/d49f32e5cc15b808eb1a8ca73707f9cda69883ee/src/rs/scramble/puzzles/baby_fto.rs#L91) (5 moves) | [βœ…](https://github.com/cubing/twsearch/blob/d49f32e5cc15b808eb1a8ca73707f9cda69883ee/src/rs/scramble/puzzles/baby_fto.rs#L125) (10 moves) | β˜‘οΈ (N/A) | |

[^1]: Filtering does not take into account affixes yet.

## `twsearch-cpp-wrapper`

This repo also contains a Rust build that wraps the C++ implementation (in a single binary). This allows running a server to connect with web UIs:
Expand Down

0 comments on commit 524d61f

Please sign in to comment.