pi-cubing
A cstimer-style Rubik's Cube timer overlay for Pi, with scrambles, averages, ratings, and local solve persistence.
Package details
Install pi-cubing from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-cubing- Package
pi-cubing- Version
0.1.4- Published
- May 20, 2026
- Downloads
- not available
- Author
- totimorpa
- License
- MIT
- Types
- extension
- Size
- 43.6 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./extensions"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-cubing
A cstimer-style Rubik's Cube timer overlay for Pi.
Features
/cubingcommand opens a modal/overlay timer in the terminal.Ctrl+Shift+Copens the overlay quickly.- 3x3 scramble generation.
- Spacebar timer flow:
- hold
Spacefor ~500ms until ready/green - release
Spaceto start - press
Spaceagain to stop and save
- hold
- Stable, tabular stopwatch digits so centiseconds do not make the timer wiggle.
- Solve table with scrolling selection.
- Stats: mean, mo3, ao5, ao12, ao50, best ao5, best ao12.
- Per-solve rating: first, PB, great, good, ok, slow.
- Penalty editing:
+2,DNF, delete. - Local persistence on your laptop.
Install
From GitHub:
pi install git:github.com/totimorpa/pi-cubing
Or while developing locally:
pi install /absolute/path/to/pi-cubing
# or from this repository's parent directory:
pi install ./pi-cubing
Then restart Pi or run:
/reload
Usage
Open the timer:
/cubing
Controls:
| Key | Action |
|---|---|
Space hold/release |
Ready and start timer |
Space while running |
Stop and save solve |
Esc |
Reset visible timer to 0.00 |
Esc twice |
Close overlay |
↑ / k |
Select newer solve |
↓ / j |
Select older solve |
h |
Show help dialog with one shortcut per line |
i |
Show selected solve info |
d / Delete / Backspace |
Confirm delete selected solve |
y / n |
Confirm/cancel delete dialog |
p |
Toggle +2 penalty |
x |
Toggle DNF |
n / r |
New scramble |
Shift+C |
Confirm clear all solves |
Persistence
Solves are saved locally to:
~/.pi/agent/cubing/solves.json
If you used the earlier cube-timer version, the extension will also read and migrate:
~/.pi/agent/cube-timer/solves.json
Development
Type-check:
npm install
npm run typecheck
Dry-run npm package contents:
npm run pack:dry
Publishing to GitHub
git init
git add .
git commit -m "Initial pi-cubing package"
git branch -M main
git remote add origin git@github.com:totimorpa/pi-cubing.git
git push -u origin main
Then users can install it with:
pi install git:github.com/totimorpa/pi-cubing
Security note
Pi extensions run with full local system permissions. Review any extension code before installing packages from others.