summaryrefslogtreecommitdiff
path: root/.agent
diff options
context:
space:
mode:
Diffstat (limited to '.agent')
-rw-r--r--.agent/worklog.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/.agent/worklog.md b/.agent/worklog.md
index 56078b5..deefddb 100644
--- a/.agent/worklog.md
+++ b/.agent/worklog.md
@@ -91,6 +91,19 @@ Section 7.4 Trip Reporting & Enhanced Tracks — COMPLETE (2026-04-04)
- `MainViewModel`: TrackRepository wired; `addGpsPoint` enriches with environmental data.
- `MainActivity`: FAB for toggling recording; MapHandler for rendering.
+### [APPROVED] TrackRepository (2026-03-25)
+- `android-app/app/src/main/kotlin/org/terst/nav/track/TrackRepository.kt`
+- `test-runner/src/main/kotlin/org/terst/nav/track/TrackRepository.kt`
+- `isRecording` flag; `startTrack()` clears + starts; `stopTrack()`; `addPoint()` guards on isRecording; `getPoints()` returns snapshot
+- 8 tests — all GREEN (`TrackRepositoryTest`)
+
+### [APPROVED] Track ViewModel + Map overlay + Record FAB (2026-03-25)
+- `MainViewModel`: TrackRepository wired in; exposes `isRecording: StateFlow<Boolean>`, `trackPoints: StateFlow<List<TrackPoint>>`; `startTrack()`, `stopTrack()`, `addGpsPoint(lat, lon, sogKnots, cogDeg)`
+- `MapHandler.updateTrackLayer(style, points)`: lazy LineLayer init; red (#E53935) 3dp polyline from List<TrackPoint>
+- `MainActivity`: stores `loadedStyle`; GPS flow feeds `viewModel.addGpsPoint()` (m/s→knots); observes `trackPoints` → `mapHandler.updateTrackLayer()`; observes `isRecording` → FAB icon toggle (ic_track_record / ic_close)
+- `activity_main.xml`: `fab_record_track` FAB anchored top|end of bottom nav
+- `drawable/ic_track_record.xml`: red dot record icon
+
## Next 3 Specific Steps
1. **Unit Tests for Trip Generators** — Add JVM tests in `test-runner` for `TripReportGenerator` and `PreTripReportGenerator`.
2. **Persist track to Room** — Replace in-memory `pastTracks` with a Room database for persistence across sessions.