feat: blurred letterbox, portrait pairs, overlay metadata, button fixes

- Letterbox: extend edge pixels outward with blur + fade to solid color
- Portrait: detect and pair portraits side-by-side, fallback to solo
- Metadata: add overlay mode (corner badge), time field, custom date/time
  format strings (strftime), font size 1.5x, region-aware for pairs
- Buttons: swap G9/G10 to match physical layout, double-press random
  button for deep sleep, SLP indicator drawn before sleep
- Boot: remove redundant 'Loading photos' screen (saves 17s refresh)

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-03 15:53:06 -04:00
parent 392061bfa0
commit fe20841d9e
13 changed files with 515 additions and 72 deletions

View File

@@ -32,6 +32,11 @@ private:
bool _btnUpPressed = false;
bool _btnDownPressed = false;
// Double-press detection for BTN_TOP
unsigned long _btnTopLastRelease = 0;
bool _btnTopPendingSingle = false;
static constexpr unsigned long DOUBLE_PRESS_WINDOW = 400;
unsigned long _lastDebounce = 0;
bool debounced(unsigned long now);