Skip to content
TheColdVoid1337Public

About

vGAN is a local Web Bluetooth algorithm trainer for GAN smart cubes. It connects to a compatible cube, mirrors its physical state on a 3D model, validates algorithms step by step, measures repetition speed, and can guide a synchronized 3×3 cube back to solved state.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

vGAN

vGAN is a local Web Bluetooth algorithm trainer for GAN smart cubes. It connects to a compatible cube, mirrors its physical state on a 3D model, validates algorithms step by step, measures repetition speed, and can guide a synchronized 3×3 cube back to solved state.

The project is based on:

Current version

1.5.9

This release adds an optional validated simple-Solve preference, persistent custom 3D sticker colors with Top + Front orientation mapping, and exact built-in algorithm recognition in Recent Moves. Trainer, Bluetooth, audio, timer, statistics, and dependency behavior remain unchanged.

Features

  • Web Bluetooth connection to supported GAN smart cubes.
  • English and Russian application UI with English as the default.
  • Built-in 3×3 algorithm library with 132 trainable entries grouped into eight categories.
  • SolveTheCube Speedcubing 6-Step and Beginner 7-Step guided sets.
  • Custom algorithm training, including one-move custom sequences.
  • Step-by-step physical move validation with R2 support.
  • Exercise timer that begins with the first physical training move, not the Start button.
  • Compact ten-metric statistics strip, including Moves/s.
  • Responsive repetition-speed graph measured in repetitions per minute.
  • Large left-side cube workspace and focused right-side training workspace.
  • Active algorithm rail plus a previous/current/next navigator with bounded transitions.
  • Neutral Recent Moves monitor that retains up to 40 physical inputs, adapts the visible count to available width, and labels exact built-in algorithm matches without changing Trainer data.
  • Solve Cube modal based on the synchronized physical cube pattern, with an optional preference for fewer B, D, and F quarter turns.
  • Live 3D cube state, persistent custom sticker colors, 24 valid Top + Front visual orientations, and rapid-input queue protection.
  • Separate collapsible Device Information, Debug Output, Settings, and About panels.
  • Optional gyroscope orientation, Bluetooth keep-alive, and reconnect support.
  • Configurable Web Audio feedback with independent correct, wrong, and session-finish presets.
  • Per-cue Preview controls, persistent master volume, and optional progressive correct-move pitch.
  • No bundled or downloaded runtime audio files; every cue is synthesized in the browser.

Algorithm-library scope

The built-in library contains 132 training entries across triggers, essential F2L drills, 2-look subsets, outer-face-compatible OLL and PLL subsets, and two guided SolveTheCube methods. The physical GAN event stream reports outer face turns, so built-in sequences are limited to U R F D L B, prime, and 2 notation.

The SolveTheCube additions contain 28 trainable entries from the Speedcubing 6-Step guide and 22 from the Beginner 7-Step guide. Nine exact source sequences that require rotations, wide turns, or slice moves are retained as unsupported metadata rather than being rewritten incorrectly or shown in Training.

See Algorithm library for exact counts, source attribution, contextual overlaps, and omissions.

Requirements

  • Windows, macOS, Linux, or Android with a browser that supports Web Bluetooth.
  • Chrome or Edge is recommended.
  • Node.js and npm for local development.
  • A compatible GAN smart cube.

Quick start

npm install
npm run dev

Open the local address shown by Vite, usually:

http://localhost:5173/

Web Bluetooth requires localhost or HTTPS.

Documentation

Recommended setup

Keep whole-cube gyroscope rotation disabled unless you specifically need it. Face turns are still displayed on the 3D model while the camera orientation remains stable.

Before connecting, close CubeStation and other software that may already be connected to the cube. A GAN smart cube normally accepts only one active Bluetooth client.

Credits and acknowledgements

vGAN was created by @TheColdVoid1337.

The application is built with gan-web-bluetooth and cubing.js. gan-cube-sample was used as a reference.

Respect and thanks to @afedotov, @lgarron, @rokicki, @cs0x7f, @torchlight, and all contributors to these projects.

Version 1.5.9 solve, appearance, and history update

Version 1.5.9 keeps the standard Solve result as a guaranteed fallback while an opt-in bounded search evaluates validated cube-orientation candidates and prefers fewer B, D, and F quarter turns. The preference is disabled by default and may choose a longer solution; it never promises that all B, D, and F turns can be removed.

Cube Appearance stores six sticker-identity colors under vgan.cube-appearance.v1. A Top + Front pair selects one of 24 proper right-handed visual mappings, while Apply, Cancel, and Reset defaults use a live modal preview. This mapping changes only PG3D sticker colors and does not rename moves, rotate the synchronized KPattern, or affect gyroscope calibration.

Recent Moves now recognizes exact active-library sequences inside the visible history window. Direct half turns and matching physical quarter-turn pairs are equivalent for matching, and deterministic dynamic programming selects non-overlapping groups with long matches preferred. Recognition changes presentation only. Solve preferences are stored separately under vgan.solve-settings.v1. No dependency versions changed.

Version 1.5.8 configurable audio update

Version 1.5.8 keeps the existing correct, wrong, and finish cue event timing while making each cue independently selectable. The default Classic presets preserve the 1.5.7 oscillator frequencies, envelopes, duration, and 85 ms correct-cue rate limit.

All presets are generated through the Web Audio API. The release adds a synthesized 3Q Metallic Hit, Soft Click, Low Buzz, Double Alert, Ascending Chime, and Victory Pulse without shipping audio files. Settings are validated and stored under vgan.audio-settings.v1; turning Sound feedback off disables and greys out the dependent selectors, Preview buttons, volume slider, and progressive-pitch switch while preserving their values, and optional progressive pitch raises correct cues by at most two semitones within each algorithm repetition.

About

vGAN is a local Web Bluetooth algorithm trainer for GAN smart cubes. It connects to a compatible cube, mirrors its physical state on a 3D model, validates algorithms step by step, measures repetition speed, and can guide a synchronized 3×3 cube back to solved state.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages