summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorClaude <noreply@anthropic.com>2026-04-22 08:45:55 +0000
committerClaude <noreply@anthropic.com>2026-04-22 08:45:55 +0000
commit87f9cb753da3325d13fdbc442d526567e056d6e1 (patch)
treefcad4c91a817b3ce623abbaf5b12dab875d08aa3 /.github/workflows
parent447c274999b6b412985b640f841ab92d8c23c0f8 (diff)
feat: CPA/TCPA collision alerts and live track stats
CPA/TCPA alerts: - CpaAlert data class with severity (CAUTION/WARNING/DANGER) and label() - CpaThresholds: 0.5/1.0/2.0 nm, max TCPA 30 min - MainViewModel.updateCpaAlerts() runs on every GPS update and AIS sentence; skips stationary contacts; filters TCPA ≤ 0 or > 30 min; sorts by TCPA ascending - SafetyFragment: new COLLISION AVOIDANCE card shows live alert list, color-coded by severity; clears to "No traffic alerts" when safe - MainActivity: observes cpaAlerts → safetyFragment.updateCpaAlerts() Track stats: - TrackStats data class: distanceNm, durationMs, avgSogKnots, durationFormatted (m:ss / h:mm:ss) - TrackRepository.haversineNm() + computeStats() using point timestamps - MainViewModel exposes trackStats StateFlow, cleared on stopTrack() - activity_main: dark pill overlay bar (tv_track_stats) above map - MainActivity: shows "● REC 0.00nm m:ss x.xkt avg" while recording Tests: 95 total, all GREEN (+16 new — 9 TrackStats, 7 CpaAlert) https://claude.ai/code/session_011h2dXbgXg3PesQMmQUNTCW
Diffstat (limited to '.github/workflows')
0 files changed, 0 insertions, 0 deletions