Commit Graph

13 Commits

Author SHA1 Message Date
926f876a6e feat: refine watch UI — arc HR gauge, proper padel court, spacing
- HR shown as a top arc gauge in Garmin zone colors (grey/blue/green/
  orange/red) with a marker on the current zone and the bpm number below
- Redraw court to a proper padel layout: net centered, service lines at
  the 3m-from-back-wall proportion, center line only between service lines
- Wider court with a configurable blue surface (bgColor param on
  CourtRenderer, ready for the future settings screen)
- Serve ball marks the back zone (farthest from the net) of the server
- Roomier score spacing; games column white, sets accent green; "Pts"
- HR + time on a matched FONT_MEDIUM

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 16:42:33 +02:00
33d3f4f08e chore: tidy EOF newlines, drop dead monkey.png, vcenter winner banner text
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 13:51:25 +02:00
ffb8149c45 chore: remove orphaned scaffold menu/layout resources, tidy strings to Padel
- Delete resources/menus/menu.xml (scaffold menu, replaced by custom UI in Task 8)
- Delete resources/layouts/layout.xml (scaffold layout, view now draws in onUpdate)
- Trim resources/strings/strings.xml to AppName="Padel" only; remove prompt,
  menu_label_1, menu_label_2 which were only referenced by the deleted files
- Release build: BUILD SUCCESSFUL
- Unit tests: PASSED (passed=16, failed=0, errors=0)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 11:30:27 +02:00
ae101d1b88 feat: swipe to score/undo, tap to set server / new match
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 11:24:29 +02:00
8dab8183d7 feat: draw full padel screen (score, court, HR, time)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 11:11:18 +02:00
48f7d5c7dc feat: app owns match/rules/HR and exposes accessors
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 10:59:31 +02:00
693bcf9a58 feat: add HeartRateProvider (bpm + HR zone)
Add Sensor and UserProfile permissions to manifest.xml (required for
Toybox.Sensor and Toybox.UserProfile API access; build fails without them).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 10:53:30 +02:00
faf9eafe45 feat: add CourtRenderer (court + yellow serve ball)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 10:44:07 +02:00
1d9d878c3d feat: implement PadelMatch scoring engine (tests pass)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 10:39:21 +02:00
4ae32743d7 test: add win-by-2 coverage (golden point 40-40, set 7-5, tiebreak 8-6)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 10:32:37 +02:00
5d7941429c test: add PadelMatch engine test suite (failing)
Writes the complete TDD test suite for PadelMatch before the engine
exists. Build intentionally fails to compile (RED phase) — undefined
symbols PadelMatch, RulesConfig, US, THEM, and QUAD_* constants are all
defined in Task 3.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 10:20:56 +02:00
f77c9bfc5a feat: add RulesConfig with v1 defaults
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 10:08:08 +02:00
cad84029fd chore: initial padel scaffold + design docs
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 09:58:02 +02:00