# js_speedcube_scrambler

> A module to generate directions for random scramble states for the 3x3 Rubik's cube

Latest version **1.0.0** (published 2023-07-05) · ISC license · 0 weekly downloads

## Install

```sh
npm install js_speedcube_scrambler
pnpm add js_speedcube_scrambler
yarn add js_speedcube_scrambler
bun add js_speedcube_scrambler
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; large bundle.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2023-07-05 |
| First published | 2023-07-05 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 70 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Chahm An |
| Maintainers | notchahm |
| Keywords | Rubik's cube scrambler solver |

## Links

- npm: https://www.npmjs.com/package/js_speedcube_scrambler
- Repository: https://github.com/notchahm/js_speedcube_scrambler
- Homepage: https://github.com/notchahm/js_speedcube_scrambler#readme
- Issues: https://github.com/notchahm/js_speedcube_scrambler/issues
- npm.io page: https://npm.io/package/js_speedcube_scrambler

## Recent versions

- 1.0.0 (latest) — 2023-07-05

## README

# js_speedcube_scrambler

## Overview
A module to generate directions for random scramble states for the 3x3 Rubik's cube.

The code is largely based on Herbert Kociemba's open python implementation of his
two phase algorithm for fast solving of the 3x3 Rubik's cube found here
[TwophaseSolver](https://github.com/hkociemba/RubiksCube-TwophaseSolver/tree/master)

This project aims to
- Make it easier to integrate an efficient solver into a web application, such as a scramble generator
- Have a single implementation that works for both front-end javascript and back-end nodejs
- Establish a basis to work on potential improvements upon the existing codebase
- Make the code and algorithms easier to understand

## Using
This javascript module can be used either by importing into a web page or running as a backend application through node.js.
All of the basic functionality is available through a single import of ``cube.js``.

For frontend web applications, the simplest way to use it is importing via HTML ``<script src="cube.js">`` tag. See ``index.html`` as a working example of how it can be integrated into a web page.

For backend web applications, simply ``require('cube');`` within a node.js script to import it as a module. See ``cube.test.js`` as an example.

The future plan is to make this project available as an npm package. Until then, installation is a manual process of copying the source files to your project.

A functional demo of a webpage with a simple 3x3 scramble generator is available [here](https://notchahm.github.io/js_speedcube_scrambler/)

## Roadmap
- Publish as NPM package1
- Better lookup table caching
- C++ webassembly implementation
- 3D cube representation via WebGL
- Other puzzles

## Contributing
I'm a fan of both the coding community and the cubing community. Collaboration is welcome, just reach out to me (notchahm) through GitHub.

---
_Source: https://npm.io/package/js_speedcube_scrambler · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
