From 20a3ee40a1c52d39e359879d7800181924514bc2 Mon Sep 17 00:00:00 2001 From: Christophe Vila Date: Sun, 5 Jul 2026 20:50:27 +0200 Subject: [PATCH] docs: add NEXT-STEPS note (activity recording + resume context) Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/superpowers/NEXT-STEPS.md | 63 ++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 docs/superpowers/NEXT-STEPS.md diff --git a/docs/superpowers/NEXT-STEPS.md b/docs/superpowers/NEXT-STEPS.md new file mode 100644 index 0000000..c802eaf --- /dev/null +++ b/docs/superpowers/NEXT-STEPS.md @@ -0,0 +1,63 @@ +# 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.