commit 973a71447f4d59d52430bd1e97b5ab7705a16f38 Author: AmanTahiliani Date: Fri Jul 3 19:31:12 2026 -0400 review artifacts for PR #32 diff --git a/pr-32/artifacts/visual-diff/data-library-actual.png b/pr-32/artifacts/visual-diff/data-library-actual.png new file mode 100644 index 0000000..055a052 Binary files /dev/null and b/pr-32/artifacts/visual-diff/data-library-actual.png differ diff --git a/pr-32/artifacts/visual-diff/data-library-diff.png b/pr-32/artifacts/visual-diff/data-library-diff.png new file mode 100644 index 0000000..1c71e35 Binary files /dev/null and b/pr-32/artifacts/visual-diff/data-library-diff.png differ diff --git a/pr-32/artifacts/visual-diff/data-library-expected.png b/pr-32/artifacts/visual-diff/data-library-expected.png new file mode 100644 index 0000000..711e629 Binary files /dev/null and b/pr-32/artifacts/visual-diff/data-library-expected.png differ diff --git a/pr-32/index.html b/pr-32/index.html new file mode 100644 index 0000000..e6a290a --- /dev/null +++ b/pr-32/index.html @@ -0,0 +1,57 @@ + + + + + + box-box Review Packet - Issue #9 / PR #32 + + + +
+

Local Review Packet: Issue #9 / PR #32

+
Reviewer harness: Codex · Implementer harness: Codex · Generated 2026-07-03
+
PASS WITH CAVEATS
+ +

Gates

+ + +

Track Map Screenshots

+
+
Live track map desktop
Desktop live track map with selected VER telemetry.
+
Live track map mobile
Mobile live track map with selected VER telemetry.
+
+ +

Empty State

+
+
Live empty desktop
Desktop no live session state.
+
Live empty mobile
Mobile no live session state.
+
+ +

Visual Diff Caveat

+

The existing visual suite failed only on mobile Data Library, not on the live page. The diff is preserved below for inspection.

+
+
Mobile data-library visual diff
Mobile Data Library visual diff from npm run test:visual.
+
+
+ + diff --git a/pr-32/screenshots/live-empty-desktop.png b/pr-32/screenshots/live-empty-desktop.png new file mode 100644 index 0000000..b1d8aa2 Binary files /dev/null and b/pr-32/screenshots/live-empty-desktop.png differ diff --git a/pr-32/screenshots/live-empty-mobile.png b/pr-32/screenshots/live-empty-mobile.png new file mode 100644 index 0000000..95171db Binary files /dev/null and b/pr-32/screenshots/live-empty-mobile.png differ diff --git a/pr-32/screenshots/live-track-map-desktop.png b/pr-32/screenshots/live-track-map-desktop.png new file mode 100644 index 0000000..6733a90 Binary files /dev/null and b/pr-32/screenshots/live-track-map-desktop.png differ diff --git a/pr-32/screenshots/live-track-map-mobile.png b/pr-32/screenshots/live-track-map-mobile.png new file mode 100644 index 0000000..a597fd0 Binary files /dev/null and b/pr-32/screenshots/live-track-map-mobile.png differ diff --git a/pr-32/summary.md b/pr-32/summary.md new file mode 100644 index 0000000..13c9ff7 --- /dev/null +++ b/pr-32/summary.md @@ -0,0 +1,50 @@ +# Local Review Packet: Issue #9 / PR #32 + +Reviewer harness: Codex +Implementer harness: Codex +Result: PASS WITH CAVEATS +Generated: 2026-07-03 + +## Scope Reviewed + +PR #32 implements issue #9: web live track map on `/live`, with SignalR Position/CarData ingestion, a throttled `positions` SSE event, cached track outline bounds, SVG car dots, and tap telemetry. + +## Local Gates + +- PASS: `go test ./internal/live ./internal/web` +- PASS: `npm run test` in `frontend/` (22 files, 182 tests) +- PASS: `npm run build` in `frontend/` (`tsc --noEmit && vite build`) +- PASS: `npm run test:e2e` (26/26) +- CAVEAT: `npm run test:visual` passed 11/12; failed existing mobile Data Library snapshot due page-height/image diff. Not specific to the live track-map surface. + +## Acceptance Criteria Review + +- PASS: `/live` renders a track map with outline and team-colored car dots in a mocked live session. +- CAVEAT: real live-session overlay alignment remains unverifiable offline; this still needs first-session verification against actual Position.z data. +- PASS: selecting a car shows telemetry: speed, throttle, brake, DRS, gear. +- PASS: off-track/stopped cars are visually distinguished in the mocked track-map screenshot. +- PASS: graceful no-live-session state captured on desktop and mobile. +- PASS: source check shows `/api/v1/track-outline` uses cached/local outline data; live path does not add direct OpenF1 calls during active session. + +## Visual Artifacts + +Open the local gallery: + +```bash +open /Users/aman/HomeBase/Projects/Personal/box-box/.review/issue-9-pr-32/index.html +``` + +Screenshots: + +- `/Users/aman/HomeBase/Projects/Personal/box-box/.review/issue-9-pr-32/screenshots/live-track-map-desktop.png` +- `/Users/aman/HomeBase/Projects/Personal/box-box/.review/issue-9-pr-32/screenshots/live-track-map-mobile.png` +- `/Users/aman/HomeBase/Projects/Personal/box-box/.review/issue-9-pr-32/screenshots/live-empty-desktop.png` +- `/Users/aman/HomeBase/Projects/Personal/box-box/.review/issue-9-pr-32/screenshots/live-empty-mobile.png` + +Visual diff artifact: + +- `/Users/aman/HomeBase/Projects/Personal/box-box/.review/issue-9-pr-32/artifacts/visual-diff/data-library-diff.png` + +## Notes + +The ticket-specific visual capture used mocked `/api/v1/live/state`, `/api/v1/live/stream`, and `/api/v1/track-outline` responses. The screenshot verifies the frontend behavior and shape contract, but not actual F1 coordinate alignment.