<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nav.git/android-app/app/src/main/res, branch main</title>
<subtitle>nav — android navigation app
</subtitle>
<id>https://git.terst.org/nav.git/atom?h=main</id>
<link rel='self' href='https://git.terst.org/nav.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/'/>
<updated>2026-04-07T06:42:51+00:00</updated>
<entry>
<title>fix(track): fix silent GPX save failure + add stop friction + quit button</title>
<updated>2026-04-07T06:42:51+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-04-07T06:42:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=5ee2dd8925afa858f466ae63db3f7df5c7516953'/>
<id>urn:sha1:5ee2dd8925afa858f466ae63db3f7df5c7516953</id>
<content type='text'>
TrackStorage: openOutputStream null returned true (file never written).
Added IS_PENDING flag to fix Android 10-11 race where insert succeeds
but file isn't physically created yet. Added storage-mounted guard.
TrackRepository now logs save failures.

Stop tracking now requires a long press (haptic feedback) — prevents
accidental mid-sail stops from a single tap.

Quit button (top-right, tonal X) stops LocationService and calls
finishAffinity(). Prompts if a track is in progress.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(nav): replace Map+Instruments with Map+Layers in bottom nav</title>
<updated>2026-04-06T18:03:39+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-04-06T18:03:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=d98b441f2f9ca8b11a04406240dd19ecc0cac7ab'/>
<id>urn:sha1:d98b441f2f9ca8b11a04406240dd19ecc0cac7ab</id>
<content type='text'>
Layers acts as an action button — shows LayerPickerSheet and snaps
back to Map so it never stays selected. Instruments tab removed;
sheet expand/collapse via swipe as before.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(map): layer manager — satellite/charts/hybrid + wind toggle, long-press picker</title>
<updated>2026-04-06T16:22:42+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-04-06T16:22:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=676314e3b5ad2445e64120c691fd1c2671076ebb'/>
<id>urn:sha1:676314e3b5ad2445e64120c691fd1c2671076ebb</id>
<content type='text'>
MapLayerManager: all raster sources registered at style-build time,
visibility toggled on demand. Persists base preset and wind state to
SharedPreferences. Sources: Google satellite, NOAA RNC charts
(tileservice.charts.noaa.gov), OWM wind, OpenSeaMap seamarks.

LayerPickerSheet: bottom sheet with chip group (Satellite/Charts/Hybrid)
and wind toggle, launched from map long-press.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(tracks): show summary sheet on track stop; 2-min minimum</title>
<updated>2026-04-06T15:38:31+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-04-06T15:38:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=59d31d8d6198d5a8c2c4ba17cf9ad1b42a7e2018'/>
<id>urn:sha1:59d31d8d6198d5a8c2c4ba17cf9ad1b42a7e2018</id>
<content type='text'>
TrackSummarySheet: bottom sheet showing distance (nm), duration,
max/avg speed, avg wind and waves (when available, waves in ft).
Only shown for tracks ≥ 2 minutes — shorter tracks are discarded silently.

MainViewModel: exposes trackSummary SharedFlow (replay=0) and trackStartMs.
MainActivity: observes flow, shows sheet after stopTrack completes.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(ui): dark theme — match instrument sheet to WaveView sky palette</title>
<updated>2026-04-06T07:34:06+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-04-06T07:34:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=61c50f135e69643bf2f905b2241fdb8dcc08abd3'/>
<id>urn:sha1:61c50f135e69643bf2f905b2241fdb8dcc08abd3</id>
<content type='text'>
Surface/background → #1C1B1F (WaveView sky), text tokens updated to
light M3 dark-mode values, status bar icons set to light.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(ui): restructure instrument sheet layout — inline arrows, WaveView, ocean forecast section</title>
<updated>2026-04-06T05:29:18+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-04-06T05:29:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=2cce533490baa4fe0d14f8541be1375e8069b164'/>
<id>urn:sha1:2cce533490baa4fe0d14f8541be1375e8069b164</id>
<content type='text'>
Full layout rewrite: 3×2 GridLayout instrument grid with inline
DirectionArrowView for AWS/TWS/HDG/COG, depth+baro row, animated
WaveView divider, and ocean-blue forecast section for Current/Waves/Swell.

Stubs valueCurrDir/valueWaveDir as nullable in InstrumentHandler
to compile; full handler rewrite follows in Task 6.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(ui): update instrument sheet typography — weight 300, unit labels, forecast styles</title>
<updated>2026-04-05T07:46:01+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-04-05T07:46:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=e79b678877dd32f8fef70132031c0c50ab12eccd'/>
<id>urn:sha1:e79b678877dd32f8fef70132031c0c50ab12eccd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(ui): remove report section from instrument sheet, fix touch-through</title>
<updated>2026-04-05T07:30:27+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-04-05T07:30:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=2d86c0bcbc6c0f499406ef817b4bf54195756b45'/>
<id>urn:sha1:2d86c0bcbc6c0f499406ef817b4bf54195756b45</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(ui): surface trip planning and reports in instrument sheet</title>
<updated>2026-04-04T07:10:41+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-04-04T07:10:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=9f01ddfba17dda7fb386e83f007c671fec6d5b8e'/>
<id>urn:sha1:9f01ddfba17dda7fb386e83f007c671fec6d5b8e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(ui): stabilize layout by moving BottomNav outside CoordinatorLayout</title>
<updated>2026-04-04T04:53:50+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-04-04T04:53:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=a8d851e5bfb78b065f10d457bf3ce8f2c771bb4c'/>
<id>urn:sha1:a8d851e5bfb78b065f10d457bf3ce8f2c771bb4c</id>
<content type='text'>
</content>
</entry>
</feed>
