Base Station: Add map marker and radio/tether coverage#2810
Base Station: Add map marker and radio/tether coverage#2810ArturoManzoli wants to merge 2 commits into
Conversation
Automated PR Review (Claude)0. SummaryVerdict: MINOR SUGGESTIONS Items to consider: 1.1, 1.2, 6.1, 6.2, 6.3. This PR adds a base-station feature to both the Map widget and the Mission Planning view. It introduces a draggable Leaflet marker, a right-click context popup, and a side configuration panel for radio/tether link parameters (antenna type, gain, beamwidth, range, bearing, antenna height, BlueBoat mast multiplier). Coverage overlays are rendered as concentric gradient rings (omni) or sector arcs (directional), with a draggable bearing handle. State is managed through a singleton composable ( 1. Correctness & Implementation Bugs1.1 ( return lat && lng ? [lat, lng] : nullShould be: return lat != null && lng != null ? [lat, lng] : null1.2 ( 1.3 ( 2. AGENTS.md Adherence2.1 ( const lat = vehicleStore.coordinates?.latitude
const lng = vehicleStore.coordinates?.longitude
return lat && lng ? [lat, lng] : nullThe 2.2 ( 3. Security — ✅4. Performance4.1 ( 5. UI / UX — ✅6. Code Quality & Style6.1 ( 6.2 ( 6.3 ( 6.4 ( 7. Commit Hygiene — ✅Two clean, logically separated commits with meaningful messages. Good structure. 8. Tests — ✅9. Documentation — ✅10. Nitpicks / Optional10.1 ( 10.2 ( 10.3 ( Generated by Claude. This is advisory; a human reviewer must still approve. |
510b6d3 to
51832ce
Compare
|
/review |
Automated PR Re-review 2 (Claude)Comparing Note: The incremental diff contains the full PR content (likely due to a rebase/force-push), so this re-check is based on the full Previous findings status
New findings0. SummaryVerdict: MINOR SUGGESTIONS Items to consider: 1.4. This PR adds a base-station feature with a draggable Leaflet marker, right-click context popup, and side configuration panel. Radio/tether coverage overlays are rendered as gradient rings or sector arcs. The major correctness bug from the first review (truthiness guard at lat/lng = 0) and the performance concern (deep-watch full-rebuild during drag) have both been fixed. One new inconsistency was introduced in the MissionPlanningView. 1. Correctness & Implementation Bugs1.4 ( @remove-base-station="baseStationStore.remove()"Meanwhile, the Map.vue equivalent correctly uses 2. AGENTS.md Adherence — ✅3. Security — ✅4. Performance — ✅5. UI / UX — ✅6. Code Quality & Style — ✅7. Commit Hygiene — ✅8. Tests — ✅9. Documentation — ✅10. Nitpicks / Optional — ✅Generated by Claude. This is advisory; a human reviewer must still approve. |
51832ce to
614d7e3
Compare
614d7e3 to
bdd1bff
Compare
Cockpit had no way to anchor the operator's physical base station on the map, so any downstream feature that needed a station position — range arcs, offscreen indicators, signal hints — had nothing to hang off of. Add the foundation pieces: - a persistent `useBaseStationStore` holding position and enabled state plus reset/remove actions, - a draggable Leaflet marker rendered through a new `useBaseStationOverlay` composable, - a right-click `BaseStationContextPopup` for status and quick actions, - "Set / Move base station here" entries in the mission-planning and Map widget context menus.
A bare position pin can't drive a meaningful coverage visualization — operators using a tether or a radio link have to express the link's characteristics (antenna type, gain, beamwidth, range, height, mast multiplier) before any range overlay can be drawn. - Add `BaseStationConfigPanel.vue` with tether-length and radio-link controls. - Extend `useBaseStationOverlay` with omni/sector coverage polygons, gradient steps, and a draggable bearing handle plus aiming arc. - Persist the new fields through `useBaseStationStore` and the `BaseStationConfig` type.
bdd1bff to
2d863b4
Compare
First of three sequential PRs splitting #2739 — the follow-ups land on top of this one:
Screenshare.-.2026-05-27.5_59_03.PM.mp4