@memodungeon/cube
v0.1.1
Published
Rubik's Cube model and 3BLD helper utilities in TypeScript
Downloads
211
Readme
@memodungeon/cube
Small TypeScript Rubik's Cube library with:
- cube state model (
Cube) - algorithm parsing/inversion helpers
- 3BLD edge/corner path helpers
- built-in letter schemes (
SPEFFZ,SPEFCZ,CHS)
Install
pnpm add @memodungeon/cube
# or npm i @memodungeon/cubeUsage
import { Cube } from "@memodungeon/cube";
const cube = new Cube();
cube.move("R U R' U'"); // sexy move
console.log(cube.toString());
console.log(cube.isSolved());3BLD edge path
import { Cube, SPEFCZ } from "@memodungeon/cube";
const cube = new Cube().move("D2 L' D' B2 U2 B2 L' R' D2 L' U2 L' B2 R2 B U R' F2 L' B' F");
const path = cube.to3bldEdgePath({
buffer: "U",
letterScheme: SPEFCZ,
targetFlip: [3, 1], // treat edge 3 as 1 for dealing with parity
});
console.log(path);API (main exports)
CubeCubeStatecomputeLetterSchemeMapflipTargetEdgeLetterresolveTargetFlipEdgeIdsSPEFFZ,SPEFCZ,CHS
Development
pnpm install
pnpm lint
pnpm test
pnpm buildLicense
MIT
