<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nav.git/android-app/app/src/main/res/values, 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-06-03T01:01:00+00:00</updated>
<entry>
<title>Add night vision mode toggle</title>
<updated>2026-06-03T01:01:00+00:00</updated>
<author>
<name>Claude</name>
<email>noreply@anthropic.com</email>
</author>
<published>2026-06-03T01:01:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=17cfd884976b4accbb2ad6af6acf3578d0c6ec53'/>
<id>urn:sha1:17cfd884976b4accbb2ad6af6acf3578d0c6ec53</id>
<content type='text'>
Single-tap moon FAB (stacked below layers FAB) toggles red-on-black
night vision mode. NightVision theme now has a full M3 color palette
(surface, surfaceVariant, outline, secondary, error) all in dark red
tones. Screen brightness is set to 30% in night mode and restored to
system default on exit. State persists across sessions; recreate()
applies the theme switch cleanly.

https://claude.ai/code/session_01KXYBuAHZkvv63DeUG6XaZD
</content>
</entry>
<entry>
<title>Fix gap between wave animation and ocean conditions panel</title>
<updated>2026-05-20T09:40:20+00:00</updated>
<author>
<name>Claude</name>
<email>noreply@anthropic.com</email>
</author>
<published>2026-05-20T09:40:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=6dc2b16da127dd0a68907c037e8219eaacc8806c'/>
<id>urn:sha1:6dc2b16da127dd0a68907c037e8219eaacc8806c</id>
<content type='text'>
Removed the spurious constraintBottom_toBottomOf="parent" from forecast_row:
ConstraintLayout was vertically centering it between the wave and the sheet
bottom (default bias 0.5) instead of placing it flush below the wave.

Also aligned light-mode wave_sea_bottom (#074B68 → #0D2137) with the
forecast_row background so the wave tail blends seamlessly in light theme.

https://claude.ai/code/session_01YUbuZNDAoLea4cf9UGQ9qn
</content>
</entry>
<entry>
<title>Fix: add explicit parent to ShapeAppearance.Nav.BottomSheet</title>
<updated>2026-04-11T09:56:22+00:00</updated>
<author>
<name>Claude</name>
<email>noreply@anthropic.com</email>
</author>
<published>2026-04-11T09:56:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=7dc7bae441f48a17ee694a80fb3ecbdd2f933b7f'/>
<id>urn:sha1:7dc7bae441f48a17ee694a80fb3ecbdd2f933b7f</id>
<content type='text'>
Dot-notation style names imply a parent by convention; AAPT was looking
for ShapeAppearance.Nav which doesn't exist. Parent is now
ShapeAppearance.Material3.Corner.None (all-zero base) with the top
corners overridden to 24dp.

https://claude.ai/code/session_01HXPjBsogsJVRwCiekDGkJX
</content>
</entry>
<entry>
<title>WaveView adapts sky/sea colors to light/dark mode</title>
<updated>2026-04-11T09:55:54+00:00</updated>
<author>
<name>Claude</name>
<email>noreply@anthropic.com</email>
</author>
<published>2026-04-11T09:55:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=122e8b7b84df85b1f6a9ed50c6c66273acee911d'/>
<id>urn:sha1:122e8b7b84df85b1f6a9ed50c6c66273acee911d</id>
<content type='text'>
Day (light mode): vivid sky blue (#2B8FC4 → #87C8DF) fading into
tropical deep-sea blue (#0D7A9A → #074B68) — evokes a clear Kona
afternoon with deep Pacific below. Shimmer is bright white sunlight
on water (#50FFFFFF).

Night (dark mode): retains the existing dark charcoal sky (#1C1B1F →
#162433) and midnight navy sea (#0B3050 → #0D2137) with blue shimmer.

Colors are defined as adaptive color resources (values/ and values-night/)
and read in WaveView.onSizeChanged() and paint init instead of hardcoded
Color.parseColor() calls.

https://claude.ai/code/session_01HXPjBsogsJVRwCiekDGkJX
</content>
</entry>
<entry>
<title>Fix bottom sheet corners; add full light/dark mode palette</title>
<updated>2026-04-11T09:53:34+00:00</updated>
<author>
<name>Claude</name>
<email>noreply@anthropic.com</email>
</author>
<published>2026-04-11T09:53:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=e4ae5ac3a83f1da940ab33c93da4ed3e03cd7f14'/>
<id>urn:sha1:e4ae5ac3a83f1da940ab33c93da4ed3e03cd7f14</id>
<content type='text'>
Rounded corners:
- Replace androidx CardView with MaterialCardView + ShapeAppearance.Nav.BottomSheet
  so only the top-left and top-right corners are rounded (24dp); bottom corners
  are square flush with the screen edge

Light/dark mode:
- Introduce values-night/colors.xml with the existing dark M3 palette (moved from
  values/colors.xml); instrument values stay dark (#E6E1E5 text, #1C1B1F bg)
- values/colors.xml now carries the light M3 palette: surface #FFFBFE,
  onSurface #1C1B1F, surfaceVariant #E7E0EB etc.; instrument text flips to dark
  (#1C1B1F normal, #6F6878 secondary) for readability on light backgrounds
- Fix InstrumentUnit hardcoded #6B6070 → ?attr/colorOnSurfaceVariant so the
  unit labels adapt automatically in both modes
- Mark the forecast row (ocean navy #0D2137) and WaveView with
  android:forceDarkAllowed="false" so the system never inverts them — the
  ocean section is intentionally always dark regardless of system theme

https://claude.ai/code/session_01HXPjBsogsJVRwCiekDGkJX
</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): 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: add AnchorWatchHandler UI with Depth/Rode Out inputs and suggested radius</title>
<updated>2026-03-25T04:55:41+00:00</updated>
<author>
<name>Agent</name>
<email>agent@example.com</email>
</author>
<published>2026-03-24T23:02:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=e5cd0ce6bf65fff1bbbb5d8e12c4076da088ebe1'/>
<id>urn:sha1:e5cd0ce6bf65fff1bbbb5d8e12c4076da088ebe1</id>
<content type='text'>
- Add AnchorWatchState with calculateRecommendedWatchCircleRadius, which
  uses ScopeCalculator.watchCircleRadius (Pythagorean scope formula) and
  falls back to rode length when geometry is invalid
- Add AnchorWatchHandler Fragment with EditText inputs for Depth (m) and
  Rode Out (m); updates suggested watch circle radius live via TextWatcher
- Add fragment_anchor_watch.xml layout
- Wire AnchorWatchHandler into bottom navigation (MainActivity + menu)
- Add AnchorWatchStateTest covering valid geometry, short-rode fallback

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: add layout_width/height to instrument text styles</title>
<updated>2026-03-25T01:23:52+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-25T01:23:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=df05aa6e719c1789bafdfd6ca53108e69d87d8b4'/>
<id>urn:sha1:df05aa6e719c1789bafdfd6ca53108e69d87d8b4</id>
<content type='text'>
InstrumentLabel and InstrumentPrimaryValue were missing layout dimension
attributes, causing InflateException crash on startup.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: refactor UI to BottomNavigationView with Safety and Doc fragments</title>
<updated>2026-03-23T04:16:32+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-03-23T04:16:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=77892d354eda07d98e2dfa5d00fca1ed1f808d8b'/>
<id>urn:sha1:77892d354eda07d98e2dfa5d00fca1ed1f808d8b</id>
<content type='text'>
Replace FAB-based navigation with a 4-tab BottomNavigationView (Map,
Instruments, Log, Safety). Instruments use a collapsible bottom sheet;
Log and Safety display as full-screen overlay fragments.

- Add SafetyFragment with MOB and Anchor Watch controls
- Add DocFragment for in-app markdown help (Markwon: core, tables, images)
- Add layout_instruments_sheet with 3x3 instrument grid and PolarDiagramView
- Add fragment_safety and fragment_doc layouts
- Add vector drawables: ic_map, ic_instruments, ic_log, ic_safety, ic_close
- Update activity_main.xml to CoordinatorLayout with bottom sheet + overlay
- Fix: set isHideable=true before STATE_HIDDEN to avoid silent no-op from
  behavior_hideable=false default; restore false on Map/Instruments tabs

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
