<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nav.git/docs/superpowers, 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-05T07:25:11+00:00</updated>
<entry>
<title>docs: add instrument sheet visual redesign spec and implementation plan</title>
<updated>2026-04-05T07:25:11+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-04-05T07:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=94d04a3d892b9ad3dc093417d106d806b8d48ae0'/>
<id>urn:sha1:94d04a3d892b9ad3dc093417d106d806b8d48ae0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(map): interactive map with auto-follow, recenter button, and UI immersive mode (#2)</title>
<updated>2026-04-03T07:08:04+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-04-03T07:08:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/nav.git/commit/?id=bf2223827c53fbc0e77d1af2a7d4654a7c248ee0'/>
<id>urn:sha1:bf2223827c53fbc0e77d1af2a7d4654a7c248ee0</id>
<content type='text'>
* docs: add map interaction design spec

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;

* docs: add map interaction implementation plan

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;

* feat(map): add isFollowing state and gesture-driven manual mode to MapHandler

* feat(ui): add fab_recenter pill button to map layout

* feat(map): wire UI fade-out and recenter button to MapHandler.isFollowing

* fix(map): prevent fadeIn flash on cold start; consolidate fab_mob listener

* fix(map): preserve user zoom level on recenter

Capture the current camera zoom when the user gestures (entering manual
mode) and pass it back to centerOnLocation in recenter(), so tapping
Recenter returns to the user's chosen zoom rather than always snapping
to the default 14.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;

* fix(map): capture lastZoom on camera idle, not gesture start

OnCameraMoveStartedListener fires before the gesture completes, so
it captured the pre-gesture zoom. OnCameraIdleListener fires after
the camera settles, giving the user's final intended zoom level.
Only update lastZoom while in manual mode (isFollowing=false).

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;

* fix(map): guard recenter against null island and add KDoc

- Skip recenter() if no GPS fix received (lastLat/lastLon still 0.0)
  to avoid animating to 0°N, 0°E
- Add KDoc comment to recenter() consistent with other public methods

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;

---------

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