Compare commits
1 Commits
926f876a6e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 20a3ee40a1 |
63
docs/superpowers/NEXT-STEPS.md
Normal file
63
docs/superpowers/NEXT-STEPS.md
Normal file
@@ -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.
|
||||
Reference in New Issue
Block a user