summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.agent/worklog.md16
1 files changed, 16 insertions, 0 deletions
diff --git a/.agent/worklog.md b/.agent/worklog.md
index e55bf9f..342ffa0 100644
--- a/.agent/worklog.md
+++ b/.agent/worklog.md
@@ -8,6 +8,22 @@
## Recently Completed
+### Fishing Mode Feature — 2026-06-30
+
+Implemented all 7 tasks for the fishing mode feature:
+
+1. **FishingTarget + RigAdvisor** — `FishingTarget.kt`, `RigAdvisor.kt`, `RigAdvisorTest.kt` (2 tests PASSED). Species recommendation logic: Ono for warm/fast current, Mahi for moderate, BOTH otherwise.
+2. **SST raster layer** — Added NOAA CoastWatch SST source/layer to `MapLayerManager`, SST toggle switch to `layout_layer_picker_sheet.xml`, `onSstChanged` callback to `LayerPickerSheet`, and updated `MainActivity.buildLayerPickerSheet()`.
+3. **FishingModeManager** — `FishingModeManager.kt` + `FishingModeManagerTest.kt` (1 test PASSED). Computes fishing target zone cross-current bearing from marine conditions.
+4. **FishingOverlayView** — `view_fishing_overlay.xml` card layout + `FishingOverlayView.kt` custom view. Displays species, bearing, zone description, rig, trolling speed, and approach note.
+5. **MainActivity wiring** — Added `fishing_overlay` + `fab_fishing` to `activity_main.xml` (ConstraintLayout); fishing fields + `setupFishingMode()` + `updateFishingOverlay()` to `MainActivity`. SST layer auto-toggles on fishing mode activation.
+6. **Fish icon** — `ic_fish.xml` vector drawable.
+7. **Steering line on map** — `setupFishingLayer()` + `updateFishingBearing()` + `destinationPoint()` haversine helper in `MapHandler.kt`. Renders dashed orange line from boat toward fishing target bearing (10 nm).
+
+Also fixed pre-existing test compile errors: `metresToFeet`/`formatFt` added to `InstrumentHandler.kt`, nullable `!!` access in `WeatherApiServiceTest.kt`.
+
+APK build: `assembleDebug` passed. Pushed to github + local.
+
### Code Map & Context Tips — 2026-06-03
Created `.agent/code-map.md`: full package topology, key class table per domain, architectural invariants, testing guide, CI/merge workflow, and a "gotchas" section covering known tricky spots (MapLibre lineColor expression, TackDetector symlink, Room as read-cache, VoiceLogFragment adapter signature, etc.). Updated `config.md` directory table to reference the new file.