Skip to content

tibordp/neishauben

Repository files navigation

Neishauben

Neishauben is an in-browser Rubik's cube simulator with an included LBL (Beginners Method) solver.

Screenshot

Main functionality (operations on Rubik's Cube and the solver itself) is implemented in C (see here) and compiled with Emscripten and the cube simulator is written in JavaScript using Three.js for 3D graphics.

Development

Build process requires Docker in order to compile C code to WebAssembly. The frontend is built with Vite and uses pnpm as the package manager.

Local development

Install dependencies:

pnpm install

Run the development build locally

pnpm wasm:dev
pnpm dev

The app will launch at http://localhost:5173/neishauben/

Tests run with Vitest (make sure C code is compiled first with pnpm wasm:dev)

pnpm test

In production build, optimization lookup tables are pre-generated during the build process and baked into the resulting WebAssembly to save on startup time (at the expense of asset size). For developing a production build:

pnpm wasm:production
pnpm dev

Production build

pnpm build

The built site can be previewed locally with

pnpm preview

About

An LBL Rubiks cube solver & web app

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors