2.8 KiB
Post-launch feedback tickets
Same shape as docs/ui-redesign/: one file per ticket, Goal · Context · Design ·
Implementation · Acceptance criteria · Tests · Risks · Out of scope, written before
implementing, with an Outcome section appended after.
Source: docs/FEEDBACK.md — hands-on feedback after using the redesigned app. Turned
into 9 tickets so far (5 from the first pass, 4 from a second round of feedback after
FB-01..FB-05 shipped), each independently completable (self-contained enough for a
fresh subagent with no prior context to implement correctly).
The tickets
| # | Ticket | Size | Depends on | Status |
|---|---|---|---|---|
| FB-01 | Live, street-level map everywhere | L | — | Done |
| FB-02 | Hide the idle Speed panel until recording starts | S | — | Done |
| FB-03 | Grid-snapped HUD widgets with auto-fit text | L | — | Done |
| FB-04 | Fix Route Planner's map failing to render + zoom | M | FB-01 (shared zoom constant) | Done |
| FB-05 | Closed-loop routes in Route Planner | M | FB-04 (same file) | Done |
| FB-06 | Map always pannable/zoomable, with a recenter button | M | — | Done |
| FB-07 | Route Planner opens on Null Island instead of your real location | S/M | FB-01 (ambient location provider) | Done |
| FB-08 | HUD widgets reflow to fill the gap when one is hidden | M | — | Done |
| FB-09 | HUD default sizing follows the title, value adapts | L | FB-08 (same files) | Not started |
Dependencies / dispatch order
Wave 1 (parallel): FB-01, FB-02, FB-03
Wave 2 (after Wave 1 lands): FB-04 — reuses FB-01's ambientZoom constant
Wave 3 (after Wave 2 lands): FB-05 — heavily edits the same file FB-04 just touched
Wave 4 (parallel): FB-06, FB-07, FB-08 — no file overlap between these three
Wave 5 (after Wave 4 lands): FB-09 — heavily edits the same files FB-08 just touched
FB-02 and FB-03 both touch lib/src/ui/record/record_screen.dart, but disjoint
regions (the idle-state Column vs. _HudMetricValue) — low conflict risk.
Working method, per ticket
- Implement against the ticket's own Implementation section.
flutter analyzeclean,flutter testgreen — count must not regress (374 passing before this batch starts).- Outcome section appended to the ticket file: what shipped, deviations, test counts.
- Commit, status flipped to Done in both the ticket file and this table.
Android-emulator verification is best-effort only for this batch — lean on widget tests as the primary bar; don't get stuck fighting emulator flakiness.