Skip to content

Add multi-page dashboard, swipe nav, animated burn flame, and costumes#116

Open
sememtac wants to merge 1 commit into
HermannBjorgvin:mainfrom
sememtac:feature/pages-swipe-costumes
Open

Add multi-page dashboard, swipe nav, animated burn flame, and costumes#116
sememtac wants to merge 1 commit into
HermannBjorgvin:mainfrom
sememtac:feature/pages-swipe-costumes

Conversation

@sememtac

Copy link
Copy Markdown

Extends the desk dashboard with more pages, touch-swipe navigation, an animated burn-rate indicator, and a swipe-to-cycle costume system for the corner mascot. All new art is original pixel-art (no third-party assets); the generators live in tools/.

  • Pages: Trend (session+weekly sparkline), Burn (%/hr + ETA to 100%), and Session / Weekly detail. Left button / PWR / swipe left-right cycle pages with modulo wrap. (ui.cpp, ui.h, usage_history.{cpp,h})
  • Touch-swipe navigation, rotation-aware: the raw touch delta is rotated by the IMU quadrant so gestures always track "screen up". Swipe left/right = pages, swipe up/down = costumes; a tap still toggles the splash.
  • Burn-rate flame (top-right; replaces the battery glyph on battery-less builds): original pixel flame that flickers each frame and smoothly tracks the live session burn rate. (flame_icon.h via tools/gen_flame.py)
  • Costumes on the corner Claude: shades, cat ears, sombrero, pom-pom, lightsaber, santa, double saber, rainbow; choice persisted to NVS. (costumes.h via tools/gen_costumes.py)
  • Buttons: left = next page, right = Claude Code mode toggle (kept), PWR = brightness.

@sememtac

Copy link
Copy Markdown
Author
trim.F027D546-1C45-4B21-86BE-AC577F262121.MOV

@sememtac

Copy link
Copy Markdown
Author

hey thank you so much for this, it's been a really fun!!!

Extends the desk dashboard with more pages, touch-swipe navigation, an
animated burn-rate flame in the corner, and a swipe-to-cycle costume system
for the corner mascot. Physical buttons are unchanged — all new navigation
is via touch gestures. New art is original pixel-art; generators in tools/.

- Pages: Trend (session+weekly sparkline), Burn (%/hr + ETA to 100%), and
  Session / Weekly detail. Swipe left/right cycles them (modulo wrap).
  (ui.cpp, ui.h, usage_history.{cpp,h})
- Touch-swipe navigation, rotation-aware: the raw touch delta is rotated by
  the IMU quadrant so gestures track "screen up" in any orientation. Swipe
  left/right = pages, up/down = costumes; a tap still toggles the splash.
- Burn-rate flame: original pixel flame that flickers each frame and smoothly
  tracks the live session burn rate. It sits to the right of the battery, and
  the battery now shows only when a cell is actually attached (power_hal
  reports -1 otherwise) instead of a misleading empty glyph. Battery-less
  boards just show the flame. (flame_icon.h via tools/gen_flame.py)
- Costumes on the corner mascot: shades, cat ears, sombrero, pom-pom,
  lightsaber, santa, double saber, rainbow; choice persisted to NVS. Each
  prop is cropped to its bounding box to keep the data compact.
  (costumes.h via tools/gen_costumes.py)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sememtac
sememtac force-pushed the feature/pages-swipe-costumes branch from 274dd56 to e8ccb2d Compare July 21, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant