Skip to content

jregio/BahayCubo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

102 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BahayCubo

Bahay Cubo is a home for all cubers.

Bahay means home in Tagalog. Kubo is the nipa hut — a simple, welcoming space where everyone belongs.

Just come in, train, and leave when you're done. Or stay and be a part of something.

Live at bahaycubo.io


Apps

Cubo Cross (/cubocross)

A web-based training tool for speedcubers who want to get better at recognizing and executing cross and xcross (extended cross) solutions during inspection.

Every session gives you a random WCA-style scramble and instantly computes:

  • The optimal cross solution
  • The optimal xcross solution for each of the four F2L slots — BR, RG, GO, and OB

You can compare move counts across all five options side by side.

The 3D cube highlights only the pieces relevant to the cross or xcross you're looking at while greying everything else out.

Features

  • Optimal solutions via IDA* search backed by BFS-built pruning tables
  • 5-way parallel solving — cross + four xcross keys computed simultaneously
  • Interactive 3D cube with hint faces, camera controls (mouse, touch, keyboard, D-pad)
  • Visualization modes — toggle between cross-only and each xcross pair
  • Session history stored in localStorage, organized by date with a date picker
  • Replay any past scramble directly from history
  • Responsive layout that works on desktop and mobile

Acknowledgments

Cubo Cross was inspired by Crystal Cuber's Cross Trainer. Features like hint faces and solution revealing were inspired by that work. Thank you to Crystal Cuber for making it publicly available on GitHub for the community to build upon.


Tech stack

Layer Details
Backend Python 3, Flask
Frontend HTML5, CSS3, vanilla JavaScript
Serving Gunicorn + Nginx (production)
Cube engine Custom facelet representation (54 stickers), WCA move set + x/y/z rotations
Solver Piece-based encodings, BFS pruning tables, IDA*
Scrambler Custom WCA-style 20-move random state scrambler
Streaming NDJSON over fetch + ReadableStream

Getting started

Requirements: Python 3.8+ and Flask.

# Clone the repo
git clone https://github.com/jregio/BahayCubo.git
cd BahayCubo

# Install dependencies
pip install -r requirements.txt

# Run the app
python app.py

Then open http://127.0.0.1:5000 in your browser.

First run note: On startup the Cubo Cross solver builds binary pruning tables under apps/CuboCross/tables/ (one per cross/xcross key). This takes a bit of time and disk space the first time, but subsequent runs load them from cache and are much faster.

About

BahayCubo is a home for all cubers. "Bahay" means home in Tagalog. "Kubo" is the nipa hut — a simple, welcoming space where everyone belongs. Just come in, train, and leave when you're done. Or stay and be a part of something.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors