<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nav.git/android-app/app/src/main/assets/docs/sailing_reference.md, 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-11T02:27:51+00:00</updated>
<entry>
<title>Four features: outbound link markers, offline content, log text/photo, departure picker</title>
<updated>2026-04-11T02:27:51+00:00</updated>
<author>
<name>Claude</name>
<email>noreply@anthropic.com</email>
</author>
<published>2026-04-11T02:27:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=4a2d0298ab2caa3d62cfbd54c0071ae47eb89ccf'/>
<id>urn:sha1:4a2d0298ab2caa3d62cfbd54c0071ae47eb89ccf</id>
<content type='text'>
Learn tab
- ic_open_in_new.xml: external link icon (box + arrow) applied to all browser-opening cards
- Migration guide cards retain internal › chevron; ASA/Flashcards cards show ↗ icon
- New REFERENCE section (offline, works without connectivity):
  - ColRegs Rules of the Road → colregs_reference.md (rules 1–38, lights table,
    sound signals, day shapes, memory aids)
  - Sailing Quick Reference → sailing_reference.md (points of sail, Beaufort scale,
    nav lights, knots, buoyage IALA-B, VHF channels, distress signals, tide rule of 12)
- ColRegs card moved from external ASA section to offline REFERENCE section

Log entry
- LogEntry: add photoPath field (absolute file path or content URI string)
- VoiceLogViewModel: replace confirmAndSave() with save(text, photoPath?) so the
  fragment controls text (user may edit recognized speech before saving)
- VoiceLogFragment: redesigned layout with EditText (editable, voice fills it),
  camera button (TakePicturePreview → JPEG in cacheDir), gallery button (GetContent),
  photo thumbnail with remove button, Save / Clear row
- Manifest: add android.hardware.camera uses-feature (required=false)

Departure date/time picker (trip planning)
- ic_calendar.xml: calendar icon for the picker button
- PreTripReportViewModel: _departureMs StateFlow (default = now), setDeparture(ms)
- PreTripReportGenerator.generateReport(): departureDateTimeMs param;
  findDepartureSlot() matches nearest UTC forecast item; condition window labels show
  actual local times (e.g. "2 PM") when departure is not near-now; buildWatchList
  uses departure hour for Kona trades warning instead of system clock
- fragment_pretrip_report.xml: DEPART card with label + calendar button above generate
- PreTripReportFragment: MaterialDatePicker (future dates only) → MaterialTimePicker
  chain; auto-regenerates after picker confirms

https://claude.ai/code/session_01HXPjBsogsJVRwCiekDGkJX
</content>
</entry>
</feed>
