Repository navigation
feat(map): mesh view pictures, track direction and time fade, barometric height - #7719
Conversation
The viewfinder renders embedded so a window copy holds the camera feed and the overlay together.
… leaves the viewer from the bottom The bottom panel sums the track up and says when the window holds no positions; legs at the viewer draw from the bottom of the view, as route links do.
…mesh view One fade in feature:map, measured across the track's own span and falling back to order when a time is missing, replaces four copies that faded by order.
…, or the whole mesh
`/nodes/{n}/mesh-view`, `/nodes/{n}/position/mesh-view` and `/map/mesh-view`, each over the screens its button lives on.
A dark node color vanished against a dark scene, worst on the faint old end of a track.
… direction of travel As in the Chirpy Hop backdrop: sparks spaced by length on screen, flowing oldest to newest along a track and hop by hop along each traceroute leg. They hold still while the phone is hot.
… follow the ground Sparks were spaced by length on screen, so turning the phone slid them along the path; they now sit by angle along it, fewer and slower. A long track leg is stepped along the ground instead of cutting a chord between its ends.
… a second Frozen sparks only shifted as the view turned, which read as motion tied to the camera.
GPS height now averages like the position, weighted by vertical accuracy. Where the phone has a barometer, pressure carries every change in height and GPS settles the level over a minute.
riseM moves next to its only caller to keep HudGeometry under the function cap, and the track gradient notes why its stops are spread.
📝 Walkthrough
Priority: ⬇️ Low Merge Risk: 🔵 Low · up to
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 3
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Repository: meshtastic/Meshtastic-Android/.coderabbit.yaml
- Review profile: CHILL
- Plan: Advanced
- Run ID:
d6de7680-9330-41db-af12-cd66b4106a3d
📒 Files selected for processing: 34
.skills/compose-ui/strings-index.txtandroidApp/src/google/kotlin/org/meshtastic/app/map/MapView.ktandroidApp/src/google/kotlin/org/meshtastic/app/node/ArCapture.ktcore/navigation/src/commonMain/kotlin/org/meshtastic/core/navigation/DeepLinkRouter.ktcore/navigation/src/commonTest/kotlin/org/meshtastic/core/navigation/DeepLinkRouterTest.ktcore/resources/src/commonMain/composeResources/values/strings.xmlcore/ui/src/androidMain/kotlin/org/meshtastic/core/ui/util/PicturesStore.ktdesktopApp/src/main/kotlin/org/meshtastic/desktop/di/DesktopStubsModule.ktdesktopApp/src/main/kotlin/org/meshtastic/desktop/stub/CompassStubs.ktfeature/map-maplibre/src/commonMain/kotlin/org/meshtastic/feature/map/maplibre/NodeTrackMap.ktfeature/map-maplibre/src/commonTest/kotlin/org/meshtastic/feature/map/maplibre/TrackLineStopsTest.ktfeature/map/src/androidMain/kotlin/org/meshtastic/feature/map/hud/AndroidPhonePressureProvider.ktfeature/map/src/androidMain/kotlin/org/meshtastic/feature/map/hud/HudCameraPreview.android.ktfeature/map/src/androidMain/kotlin/org/meshtastic/feature/map/hud/HudCapture.android.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/TrackFade.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/AltitudeFuser.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/FixAverager.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/HudCapture.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/HudGeometry.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/HudPanels.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/HudPathSampling.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/HudPaths.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/HudPathsDraw.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/HudRadarPaths.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/MeshHudScreen.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/MeshHudViewModel.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/PhonePressureProvider.ktfeature/map/src/commonTest/kotlin/org/meshtastic/feature/map/TrackFadeTest.ktfeature/map/src/commonTest/kotlin/org/meshtastic/feature/map/hud/AltitudeFuserTest.ktfeature/map/src/commonTest/kotlin/org/meshtastic/feature/map/hud/FixAveragerTest.ktfeature/map/src/commonTest/kotlin/org/meshtastic/feature/map/hud/HudPathsTest.ktfeature/map/src/commonTest/kotlin/org/meshtastic/feature/map/hud/MeshHudViewModelTest.ktfeature/map/src/iosMain/kotlin/org/meshtastic/feature/map/hud/HudCapture.ios.ktfeature/map/src/jvmMain/kotlin/org/meshtastic/feature/map/hud/HudCapture.jvm.kt
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review.
…ix has none A tap during a save is ignored, a window that loses its surface reports a failed save instead of crashing, and a fix without a GPS height keeps the barometer height on the last level.
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Repository: meshtastic/Meshtastic-Android/.coderabbit.yaml
- Review profile: CHILL
- Plan: Advanced
- Run ID:
95142259-2f8d-4546-8e71-b815860ae7d4
📒 Files selected for processing: 3
feature/map/src/androidMain/kotlin/org/meshtastic/feature/map/hud/HudCapture.android.ktfeature/map/src/commonMain/kotlin/org/meshtastic/feature/map/hud/AltitudeFuser.ktfeature/map/src/commonTest/kotlin/org/meshtastic/feature/map/hud/AltitudeFuserTest.kt
🚧 Files skipped from review as they are similar to previous changes: 2
- feature/map/src/commonTest/kotlin/org/meshtastic/feature/map/hud/AltitudeFuserTest.kt
- feature/map/src/androidMain/kotlin/org/meshtastic/feature/map/hud/HudCapture.android.kt
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review.
The mesh view (#7659) shows where a node's track went but not which way, fades it by point order rather than time, and its own height bobs with every GPS fix. This makes tracks and traceroutes read at a glance on the camera, steadies the phone's height with the barometer, and lets the view be saved and opened from a link.
🌟 New Features
12 points over 3h 20m · newest 5 min. ago), also what TalkBack reads, plus an empty-window message and age tags on the oldest fix and one near the middle of a long track./nodes/{n}/mesh-view,/nodes/{n}/position/mesh-viewand/map/mesh-view.🐛 Bug Fixes
🛠️ Refactoring & Architecture
TrackFadeinfeature:mapreplaces four copies of the fade (both maps, the mesh view and its radar).saveJpegToPicturesincore:uiandroidMain is shared by the AR device viewer and the mesh view.PhonePressureProviderwith an Android barometer source and a desktop no-op.Testing Performed
TrackFadeTest,TrackLineStopsTest,AltitudeFuserTest: new.HudPathsTest: summary, label picks, viewer legs, sparks by angle, ground stepping.FixAveragerTest: height averaging.DeepLinkRouterTest: the three mesh view links.Summary by CodeRabbit
New Features
Improvements
Bug Fixes