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

3.1 KiB

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.