CubeSimRS icon indicating copy to clipboard operation
CubeSimRS copied to clipboard

Rust based Rubik's Cube simulation and solving library.

Results 10 CubeSimRS issues
Sort by recently updated
recently updated
newest added

In cube.rs, the new function initializes as: ``` .enumerate() .map(|(i, s)| (*s, i as u16)) ``` Effectively adding the number of the position of the original vec inside as extra...

bug

Code readability can be improved by more intuitive variable names and/or comments.

documentation
help wanted

Add `#![forbid(unsafe_code)]` to ensure everything is implemented in 100% safe Rust, and mention this in the README.

documentation
enhancement
help wanted
good first issue

https://github.com/V-Wong/CubeSimRS/blob/92ffac3c08fb3214013b29a1dd8cc495d4637855/src/scramble_parser.rs#L47 Should return Result instead of panicking, as the user can handle the error better.

enhancement
good first issue

I see some inconsistencies in tense (present and past) in some doc comments (currently detected in generic_cube.rs). E.g. ```rust /// Maps over the pieces of the cube, replacing each piece...

documentation
help wanted
good first issue

Now that this is a single argument function, I believe you can extract this function and implement it as part of the ``From`` trait. _Originally posted by @V-Wong in https://github.com/V-Wong/CubeSimRS/pull/63#r733307480_

enhancement
good first issue

If a move's `n` value was passed when checking if a sticker satisfies the predicate, the predicate field can become `pub predicate: fn(&Sticker, u32) -> bool>`, which is potentially cleaner/faster...

enhancement
help wanted
good first issue

We currently have tests for 2x2x2, 3x3x3 and 4x4x4 cubes. It would be good to have tests that can generalise up to any NxNxN size cube.

help wanted
good first issue

The current [FaceletCube](https://github.com/V-Wong/CubeSimRS/blob/main/src/facelet_cube/moves.rs) implementation is not as performant as I would like it to be. Since the results are cached, actual computations are rarely required. I suspect the bottleneck to...

enhancement
help wanted

The implementation of GeoCube currently features many `i32`s, where `u32`s would be more appropriate, such as the [size](https://github.com/V-Wong/CubeSimRS/blob/efa402db7500fbc5057a75c29b64dd1379d270c8/src/geometric_cube/cube.rs#L19) field in the GeoCube struct, and other mentions of size as a...

help wanted
good first issue