Files
garmin-padel/docs/superpowers/NEXT-STEPS.md
2026-07-05 20:50:27 +02:00

64 lines
3.1 KiB
Markdown

# Next steps
Scratch continuity note for resuming work (e.g. on another machine). The
authoritative design lives in `specs/2026-07-02-padel-scoring-design.md` and
`plans/2026-07-02-padel-scoring.md`.
## Current status (2026-07-05)
- Scoring app is **implemented and working**: UI-free `PadelMatch` engine
(17 unit tests pass in the sim), `CourtRenderer`, `HeartRateProvider`, and
the View/Delegate/App. Built and verified in the Connect IQ simulator and
sideloaded to a real Venu 4 (venu445mm).
- UI has been refined beyond the plan: top **HR arc gauge** in Garmin zone
colors (grey/blue/green/orange/red) with a marker on the current zone and
the bpm number below; **proper padel court** (net centered, service lines at
the 3m-from-back-wall proportion, center line only between service lines),
wider with a configurable blue surface (`bgColor` on `CourtRenderer`); serve
ball marks the back zone; games column white, sets accent green, "Pts"; HR +
time on a matched `FONT_MEDIUM`.
- All committed on `main` and pushed to https://scm.vilanet.fr/kriss/garmin-padel.
## Build / run reminder
- `developer_key` is git-ignored (private signing key) — provide it out of band.
- SDK: connectiq-sdk-mac-9.2.0. Device: `venu445mm`.
- Build: `"$SDK/bin/monkeyc" -f monkey.jungle -o bin/garmin-padel.prg -y ./developer_key -d venu445mm`
- Run: `"$SDK/bin/connectiq" &` then `"$SDK/bin/monkeydo" bin/garmin-padel.prg venu445mm`
- Unit tests: build with `--unit-test` then `monkeydo bin/test.prg venu445mm -t`
(monkeydo's exit code 1 is a known simulator artifact; trust the in-app
`passed/failed` summary).
## Input gotcha (important)
The **simulator merges the back-swipe and the physical back button** into one
`onBack`, so swipe-left appears to exit the app there. On **real hardware** they
are separate: swipe-left reaches `onSwipe(SWIPE_LEFT)` (→ undo, consumed) and
the physical button triggers the default back (→ exit). The delegate relies on
this — test back/undo behavior **on the watch, not the sim**.
## Next feature: record a padel activity
The app currently only *displays* the score + a live HR readout; it does **not**
record a Garmin activity (spec §8 deferred). Add session recording via
`Toybox.ActivityRecording`:
- create/start a session (find the best sport type — native padel/racquet if
the Venu 4 exposes one, else a generic training/sport type),
- pause/resume, and save-or-discard at match end (appears in Garmin Connect
with duration, HR zones, calories),
- likely show an elapsed activity timer on screen.
**Open design questions to settle first (do a brief brainstorm/spec pass):**
- Auto-start the session on launch, on the first point, or via an explicit start?
- Which sport type is available on venu445mm?
- Save prompt at match end (save / discard / resume)?
- Where to surface the elapsed activity timer in the layout?
## Other deferred items (spec §8)
- Settings screen driving `RulesConfig` (golden point, sets, tiebreak) and the
top/bottom info slots (incl. the court color already wired as `bgColor`).
- Match history.
- Resume-after-close persistence.