Repository navigation
feat(tennis-watch): add match details and animated swipe gestures - #7
Merged
Merged
Conversation
Keep game and set completion in one operation so point normalization stays focused on deuce and advantage. This lowers the scoring method complexity while preserving the existing scoring rules, as required by the repository complexity gate. Existing scoring and undo tests pass in the 91-case suite.
Replace the sketch icon with the approved generated artwork and preserve its embedded generation prompt. Reference both generated icon resources in the Android manifest so Wear OS displays the tennis ball instead of its default app icon. Verified the icon in the installed Release app launcher on the round Wear OS emulator.
Use the open space above the score for a stable match number and creation date. Left now visits the next saved match and creates one only at the newest end; right visits previous matches. Track horizontal and upward drags with the score face. Upward dragging reveals a red trash icon, and release beyond the deletion threshold removes only the current match. Short, reversed, canceled, and ambiguous gestures preserve the match and do not award a point. Keep numbering stable after deletion and migrate legacy histories without inventing dates. The 91-case suite covers scoring, persistence, migration, numbering, previews, and gesture thresholds. Release emulator checks cover navigation, scoring after view swaps, deletion boundaries and cancellation, large text, and restart. Include native screenshots and the gesture recording.
An incremental Release publish retained stale native bindings and produced an APK that crashed in MauiApplication.n_onCreate. Cleaning the Android intermediates produced an APK that launched and scored correctly. Run the standard Android clean target before publishing so local packaging regenerates the managed and native bindings together. The complete build passes 91 tests; its installed APK passed launch, point, undo, next/previous, and deletion checks.
Keep the UI recording out of tracked project files and publish it as a GitHub attachment using gh pr edit --attach. Point the verification record at the uploaded asset and ignore local video recordings. Verified the uploaded MP4 is byte-identical to the source and that the PR body contains the attachment instead of a repository video link.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add the match number and creation date above the score, and apply the approved tennis-ball launcher icon. The scoring screen keeps its two point buttons, games/set row, and undo.
The gestures now follow the requested directions:
The score follows the finger and slides into place when released. System animation settings control settling motion. Deleting a match preserves the other match numbers, dates, and scores; deleting the only match creates a fresh one. Older saved matches migrate with their points and selection intact and show "Date unavailable" because the previous format did not record dates.
APK packaging now cleans Android intermediates before publishing. A repeated local publish had retained stale native bindings and crashed at startup; a clean package passed launch and scoring checks.
Validation:
tennis-watch/build.shpasses all 91 tests and builds the signed APK. The repository complexity check passes, reducing the maximum CRAP score from 14 to 12. Native Wear OS emulator checks cover navigation, point/undo after view swaps, canceled and completed deletion, deletion boundaries, restart persistence, legacy migration, and disabled animations. Large system text, advantage, two completed sets, and double-digit tiebreak scores fit the round 450×450 screen. Physical Galaxy Watch 5 Pro testing remains to be done.gestures.mp4