dependabot[bot]andGitHub 287ca70bec chore(deps): bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 09:38:29 +00:00
2026-04-29 21:33:32 +07:00
2026-05-13 10:18:29 +07:00

Rubik's 3x3 — Web Simulator

Interactive 3D Rubik's cube in the browser. Three.js rendering, drag-to-rotate face gestures, keyboard notation, scramble + timer + undo.

Live: https://tiennm99.github.io/rubik/

Stack

  • Three.js (WebGL rendering)
  • Svelte 5 with runes (UI shell)
  • Tween.js (move animation)
  • Vite (build)

Dev

pnpm install
pnpm dev          # http://localhost:8080
pnpm dev:codeserver  # behind code-server proxy (set CODESERVER_HOST in .env.local)
pnpm build        # → ../dist

Controls

Input Action
Drag a sticker Rotate that face
Drag empty space Orbit camera
R L U D F B M E S Quarter-turn moves
Shift + letter Inverse (prime)
x y z Cube rotations
Space Scramble
Z Undo
Esc Reset

Project Layout

src/
  main.js
  app.css
  views/             Svelte components (UI)
  lib/
    core/            Pure JS — cube state, moves, scramble, parser
    render/          Three.js scene + cubie meshes + animation
    controls/        Pointer gesture + keyboard
plans/               Implementation plans + research reports
docs/                Project documentation
vite/                Per-environment Vite configs

License

Apache-2.0

S
Description
Interactive 3x3 Rubik's cube simulator in the browser — drag-to-rotate faces, scramble, timer, undo. Three.js + Svelte 5 + Vite.
Readme Apache-2.0
610 KiB
Languages
JavaScript 79.2%
Svelte 19.5%
CSS 0.7%
HTML 0.6%