@signalk/freeboard-sk 3.0.1 → 3.1.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/package.json +2 -2
  2. package/public/assets/features/chart-list-1.jpg +0 -0
  3. package/public/assets/features/chart-list-2.jpg +0 -0
  4. package/public/assets/features/chart-list-3.jpg +0 -0
  5. package/public/assets/features/cursor-eta-1.jpg +0 -0
  6. package/public/assets/features/follow-vessel-1.jpg +0 -0
  7. package/public/assets/features/follow-vessel-2.jpg +0 -0
  8. package/public/assets/features/radar-overlay-1.jpg +0 -0
  9. package/public/assets/features/route-planning-2.jpg +0 -0
  10. package/public/assets/features/unit-preferences-1.jpg +0 -0
  11. package/public/assets/features-corpus.json +1 -1
  12. package/public/assets/help/index.html +119 -43
  13. package/public/{chunk-WX7YZB5N.js → chunk-2BXQ52IR.js} +1 -1
  14. package/public/{chunk-3CRIFTHA.js → chunk-3QUJEXF6.js} +1 -1
  15. package/public/{chunk-OFYILQE4.js → chunk-3XWX2TLZ.js} +1 -1
  16. package/public/{chunk-WMIZVO63.js → chunk-4WI4C4IN.js} +1 -1
  17. package/public/chunk-544H55DG.js +4147 -0
  18. package/public/chunk-6234UKZR.js +181 -0
  19. package/public/{chunk-IYNTZMNB.js → chunk-66UI7RYU.js} +1 -1
  20. package/public/{chunk-EXANCIHV.js → chunk-A3CJKHA5.js} +1 -1
  21. package/public/chunk-A6XRZETP.js +1 -0
  22. package/public/{chunk-GU2FUO6Z.js → chunk-B3R34QHD.js} +1 -1
  23. package/public/{chunk-I3OUN6B4.js → chunk-DSS236J5.js} +1 -1
  24. package/public/{chunk-LXTM3LEN.js → chunk-EJ5G7BX7.js} +1 -1
  25. package/public/{chunk-XHEJEIFO.js → chunk-HYKTIWCS.js} +1 -1
  26. package/public/chunk-MQJQLOEZ.js +3 -0
  27. package/public/{chunk-4BSA3TDQ.js → chunk-P5GLUSCN.js} +16 -16
  28. package/public/{chunk-4BXCQ655.js → chunk-R7KV75Y6.js} +1 -1
  29. package/public/chunk-SABJ7SCZ.js +1 -0
  30. package/public/{chunk-IURS3QQO.js → chunk-SYVLSUHP.js} +1 -1
  31. package/public/chunk-TKJL2HJ5.js +1 -0
  32. package/public/chunk-VBEF2AKC.js +1 -0
  33. package/public/chunk-WXAH4SWA.js +1 -0
  34. package/public/{chunk-UF7LOYCE.js → chunk-XB3A3UP3.js} +1 -1
  35. package/public/{chunk-BUZHYJBN.js → chunk-XZDYMRQ4.js} +1 -1
  36. package/public/index.html +1 -1
  37. package/public/main-S4SGVPDE.js +466 -0
  38. package/public/chunk-5LCPVX3S.js +0 -1
  39. package/public/chunk-BJM4SVXD.js +0 -3
  40. package/public/chunk-CATOWZ7J.js +0 -1
  41. package/public/chunk-ECAD42KO.js +0 -1
  42. package/public/chunk-KKD4UBHB.js +0 -181
  43. package/public/chunk-OXZNIUU4.js +0 -1
  44. package/public/chunk-RXMZCTQL.js +0 -4147
  45. package/public/chunk-XFMBJ4SJ.js +0 -1
  46. package/public/main-MARHMHOX.js +0 -466
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signalk/freeboard-sk",
3
- "version": "3.0.1",
3
+ "version": "3.1.0-beta.0",
4
4
  "description": "Openlayers chart plotter implementation for Signal K",
5
5
  "keywords": [
6
6
  "signalk-webapp",
@@ -75,7 +75,7 @@
75
75
  "google-protobuf": "^4.0.1",
76
76
  "remark-gfm": "^4.0.1",
77
77
  "remark-parse": "^11.0.0",
78
- "signalk-plotterext-bus": "^0.10.0",
78
+ "signalk-plotterext-bus": "^0.11.0",
79
79
  "tslib": "^2.0.0",
80
80
  "unified": "^11.0.5",
81
81
  "uuid": "^14.0.1"
@@ -1 +1 @@
1
- {"docs":[{"id":"buddy-list","raw":"---\nid: buddy-list\ntitle: Buddy List\ncategory: AIS & Vessels\n---\n\nKeep track of boats you know — friends, other boats in your flotilla — by\nmarking them as **buddies**, then filter the vessel list down to just them\nwhen you want to find one quickly.\n\nThis requires the [signalk-buddylist-plugin](https://www.npmjs.com/package/signalk-buddylist-plugin)\ninstalled on your Signal K server. Without it, Freeboard behaves as before —\nthere's no buddy marking or filtering available.\n\n**To mark a vessel as a buddy**, tap it on the chart to open its popover and\ntap the **Is Buddy** button. Tap it again to remove the mark.\n\n**To see just your buddies**, open **Vessels** from the main menu and switch\non the **Buddies Only** toggle in the filter row. The list narrows to the\nvessels you've marked. Buddies Only can be combined with the list's other\nfilters — Ship Type and IMO Only — to narrow things down further.\n"},{"id":"chart-image-adjustment","raw":"---\nid: chart-image-adjustment\ntitle: Chart Image Adjustment\ncategory: Charts\n---\n\n![Fig 1. The Brightness/Contrast dialog, opened from the tune icon in the chart list](chart-image-adjustment-1.jpg)\n\nAerial and satellite chart imagery is usually exposed for the land, which\ncan leave the water — where the hazards are — looking crushed and nearly\nblack. Adjusting the brightness and contrast can pull submerged rocks,\nshallows, and reefs back into view, which is handy when you're scouting an\nanchorage.\n\n**To adjust a chart's image**, open the chart list and tap the **tune**\nicon next to a chart (it appears alongside the existing opacity control,\nfor image-based charts only). A dialog offers **Brightness** and\n**Contrast** sliders with a live preview on the chart as you drag them, a\n**RESET** button to put both back to neutral, and **SAVE** to keep your\nchanges.\n\nYour adjustment is saved with that chart, alongside its opacity, so it's\nstill applied the next time you open Freeboard. Left untouched, a chart\nlooks exactly as it always has — the neutral default makes no visible\nchange.\n\nThis applies to raster, tile, WMS, and WMTS image charts. Vector charts\n(like S-57) don't have an image to adjust, so the control doesn't appear\nfor them.\n"},{"id":"chart-zoom-limits","raw":"---\nid: chart-zoom-limits\ntitle: Chart Zoom Limits\ncategory: Charts\n---\n\nEvery chart holds detail down to a certain resolution and no further. Zoom in past that\npoint and you aren't shown more information — you're shown the last real chart data\nmagnified, which looks sharper than it is. Freeboard gives you two controls over what\nhappens at that boundary.\n\n## Constrain map zoom\n\nThe **Constrain map zoom** button (the `zoom_in_map` icon on the right-hand toolbar) stops\nthe map at the edge of your chart data. Turn it on and you simply cannot zoom in — or out —\nbeyond the range your selected charts actually cover. The button highlights while active,\nand the zoom **+** / **−** buttons grey out once you reach a limit.\n\nThe limits are taken from the **widest** range across all currently selected charts: the\nlowest minimum zoom and the highest maximum zoom of any of them. Selecting or deselecting\ncharts recalculates it, so the constraint always reflects what you have switched on. Charts\nthat don't declare their own zoom range fall back to a 0–24 range. With the setting off,\nthe map is free to move between zoom 2 and 28 regardless of what your charts hold.\n\nThis is off by default. It matters most when you're working from downloaded or offline\nchart sets — a cached raster or MBTiles collection on a boat with no internet — where\nzooming past the data can't be rescued by fetching better tiles, and where a magnified\ntile can read as detail that was never surveyed.\n\n## Keep tiles visible on max zoom\n\nThe companion setting, **Keep tiles visible on max zoom** (Settings → Map), decides what a\nchart layer does once you pass *its* maximum zoom. Leave it on — it is on by default — and\nthe chart keeps drawing, stretched, instead of disappearing. Turn it off and each layer\nstops rendering beyond the resolution it genuinely has, leaving the chart blank there.\n\nIt also matters when charts of different resolutions are stacked. In a selection mixing a\nwide-area chart with a detailed harbour chart, the lower-resolution one keeps rendering\n(stretched) up to the map's maximum rather than dropping out as you zoom in.\n\nThe two settings answer different questions: *Constrain map zoom* decides **whether you can\nget there at all**, while *Keep tiles visible on max zoom* decides **what you see if you\ndo**. With the defaults — constrain off, keep-tiles on — you can zoom freely and charts\nstay visible but progressively blurrier past their real detail.\n"},{"id":"cursor-eta","raw":"---\nid: cursor-eta\ntitle: Live ETA at Cursor\ncategory: Display\n---\n\n![Fig 1. The Live ETA at cursor setting, and the resulting Brg/Dist/ETA readout in the status bar](cursor-eta-1.jpg)\n\nGet a quick bearing, distance, and time estimate to any point on the chart,\njust by pointing at it — without setting a destination first.\n\n**To turn it on**, go to **Settings → Display → Status Bar Options** and\ncheck **Live ETA at cursor**. As you move the mouse over the chart, the\nstatus bar adds the bearing, distance, and ETA from your boat to the cursor,\nalongside the existing latitude/longitude readout. It's off by default and\nonly updates as the mouse moves, so it's a planning aid for anyone at a\ndesktop or laptop rather than something you'll see on a touchscreen at the\nhelm.\n\nThe ETA uses your boat's current speed over ground. If you're stopped — at\nanchor, hove to — there's no speed to estimate from, so Freeboard falls back\nto a **Reference Boat Speed** you set alongside the checkbox, keeping the\nETA useful even when you're not moving.\n"},{"id":"custom-map-symbols","raw":"---\nid: custom-map-symbols\ntitle: Custom Map Symbols\ncategory: Charts\n---\n\n![Fig 1. A custom route start marker and a custom anchorage icon shown on the chart](custom-map-symbols-1.jpg)\n\nFreeboard normally marks notes, waypoints, your boat, AIS traffic, aids to\nnavigation, and route points with its own built-in icons. If you'd rather use\nyour own artwork — a personal marker for a favorite dive site, a custom boat\nicon for your own vessel, a branded buoy — you can, once you install a\n**symbol provider** app on your Signal K server. Freeboard picks up whatever\nicons the provider offers and uses them automatically — there's nothing to\nturn on.\n\nThe reference app for this is\n[signalk-symbol-manager](https://www.npmjs.com/package/signalk-symbol-manager),\nwhich gives you a simple web page for uploading and organizing your own icons.\nAny similar app that publishes icons the standard way works too.\n\n## Two ways to use a custom icon\n\n**Replace one of Freeboard's built-in icons.** Give your icon the same name\nas the built-in you want to replace (for example `dive-site`) and mark it as\nbelonging to Freeboard's icon set. Your version then shows up everywhere that\nicon is normally used — on the chart and in the icon pickers — without you\nhaving to touch any existing notes or waypoints. See the reference list below\nfor which built-in names you can replace.\n\n**Add a brand-new icon.** Give your icon a new name of your choosing and it\nshows up as an extra option in the icon pickers, alongside the built-ins.\n\nWhen you've replaced a built-in, the picker shows only your version — not\nboth — so the list doesn't get cluttered. Flip the **\"Show all symbols\"**\ntoggle in a note or waypoint's icon picker to see everything at once,\nbuilt-ins included, in case you ever want to go back to the original. If you\ndeliberately pick the original built-in this way, Freeboard remembers your\nchoice and won't swap your custom icon back in later.\n\n## Where custom icons show up\n\n| Area | Custom icons? |\n|------|:---:|\n| Notes | Yes |\n| Waypoints | Yes |\n| Your own vessel | Yes |\n| AIS vessels | Yes |\n| Aids to navigation | Yes |\n| Route start / turn / end points | Yes |\n| Special waypoint markers (start pin, start boat, sightings, alarms) | No |\n| Shaded chart areas | No |\n| Dots for moored vessels | No |\n\nIcons that normally rotate to a heading or bearing — your vessel, AIS\ntargets, aids to navigation, route turn points — keep rotating correctly even\nwhen you've replaced them with your own artwork.\n\n## Built-in icon names you can replace\n\nTo replace one of these, give your icon the matching name below.\n\n**Note and waypoint markers:**\n\n```\nanchorage boatramp bridge business dam\ndive-site ferry hazard inlet lock\nmarina dock turning-basin radio-call-point\ntranshipment-dock notice-to-mariners diver-down\nnavigation-structure fuel tunnel waterway-guage\n```\n\n**Generic waypoint marker:** `waypoint`\n\n**Your own vessel:** `vessel-self`\n\n**AIS vessels** (by type):\n\n```\nais_active ais_highspeed ais_special ais_passenger ais_cargo\nais_tanker ais_other ais_inactive ais_buddy ais_self\n```\n\n(`ais_self` is whichever AIS target you currently have selected — not your\nown boat, which is `vessel-self`.)\n\n**Aids to navigation** — each comes in a physical (`real-…`) and an AIS-only\n(`virtual-…`) version:\n\n```\nreal-north / virtual-north real-east / virtual-east\nreal-south / virtual-south real-west / virtual-west\nreal-port / virtual-port real-starboard / virtual-starboard\nreal-danger / virtual-danger real-safe / virtual-safe\nreal-special / virtual-special real-basestation / virtual-basestation\nreal-weatherStation / virtual-weatherStation\nreal-aton / virtual-aton\n```\n\n**Route points:** `route-start`, `route-waypoint`, `route-end`\n\nYour own vessel, AIS, aids-to-navigation, and route icons apply everywhere at\nonce — Freeboard picks these automatically rather than letting you choose\nthem per marker, so one custom icon covers every marker of that kind.\n\n## Keeping icons through GPX import and export\n\nIf your icon declares a matching GPX symbol name, Freeboard will recognize it\nwhen you import a GPX file — a waypoint tagged with that symbol picks up your\ncustom icon instead of the default marker. Exporting a waypoint that uses a\ncustom icon writes the same information back into the GPX file, so the icon\nsurvives a round trip: export, re-import elsewhere, and your custom icon is\nstill there.\n\n## Without a symbol provider\n\nIf you haven't installed a symbol provider — or it isn't publishing any\nicons — Freeboard looks and behaves exactly as it always has: built-in icons\neverywhere, and \"Show all symbols\" just shows the built-ins.\n"},{"id":"extension-panels","raw":"---\nid: extension-panels\ntitle: Extension Panels\ncategory: Extensions\n---\n\n![Fig 1. A plugin's search panel open alongside its toolbar button](extension-panels-1.jpg)\n\nPanel extensions let a Signal K server plugin add a completely new feature to\nFreeboard, without waiting on a Freeboard code change to get it. You can pick\nand choose which of these tools you want installed on your boat. Each one\nadds its own new button to Freeboard's toolbar — for example, a proximity\nsearch for nearby points of interest, or an automatic route planner that\nroutes around land.\n\n![Fig 2. An auto-routing panel, another example of a panel extension](extension-panels-2.jpg)\n\n**To use one**, tap the grid icon in the top-right corner of the chart to\nreveal the toolbar, then tap the plugin's button. Its panel slides in from\nthe right-hand side of the screen. Tap the button again, or use the panel's\nown close button, to put it away.\n\nA panel can also narrow down what's shown on the chart — for example,\nfiltering the waypoints list to just the ones matching your search. When a\npanel does this, a small chip appears near the top of the screen describing\nthe filter; tap its **×** to clear it and show everything again.\n\nIf you haven't installed any plugins that add a panel, the extension toolbar\nbutton doesn't appear — Freeboard looks and works exactly as it always has.\n"},{"id":"feature-browser","raw":"---\nid: feature-browser\ntitle: Feature Browser\ncategory: Display\n---\n\nThis very window you're looking at right now is the **Feature Browser** — a\nsearchable \"What's New\" window covering everything Freeboard can do. Curious\nwhat a feature does, how to use it, or when it was added? Open it any time\nfrom the **⋯ (More actions)** menu, no matter what you're doing on the\nchart.\n\nEach entry shows a screenshot, a plain description of what the feature does\nand how to use it, and the release it last changed in — click a screenshot\nto view it larger. Search narrows the list by name, and you can sort the\ntable by category, feature, status, or release.\n\nA small lightbulb button also appears on the left toolbar whenever there's\nsomething new or changed you haven't seen yet — click it to jump straight\ninto the Feature Browser. It only shows up when there's something to tell\nyou about, and disappears once you've opened the browser. Freeboard no\nlonger interrupts you with a welcome screen or a \"what's new\" popup when it\nstarts — this lightbulb is the quiet, opt-in replacement.\n"},{"id":"notes","raw":"---\nid: notes\ntitle: Notes\ncategory: Notes\n---\n\nDrop a note anywhere on the chart to mark something worth remembering — a\ngood anchorage, a hazard, a spot to check next time you're through.\n\n**To add a note**, open the edit menu (pencil icon) and choose **Add Note**,\nthen tap the chart where you want it.\n\n**To work with an existing note**, tap it on the chart. By default this\nopens a quick popover with **Move**, **Edit**, **Delete**, and **Info**\n(the info panel or a details dialog, depending on your **Prefer Info-Panel**\nsetting under **Settings → Display**). If you'd rather skip that popover and\ngo straight to the note's details, turn on **Single Click for Note Details**\nin the same settings section — a single tap then opens the details directly,\nand the details view itself offers **Move**, **Edit**, and **Delete**, so\nyou don't lose anything by skipping the popover.\n\nA note with rich content — an embedded image, or a graph like the one on a\ntide-station note — resizes its details dialog to fit, instead of clipping\nthe content or forcing you to scroll in two directions.\n"},{"id":"route-planning","raw":"---\nid: route-planning\ntitle: Route Planning\ncategory: Routes\n---\n\n![Fig 1. Tapping a route brings up its actions — Modify, Start, Points, Notes, Info, Delete](route-planning-1.jpg)\n\nDraw a route on the chart, review and adjust it, then save it for later —\nor skip saving and just use it right away.\n\n**To draw a route**, open the edit menu (pencil icon) and choose **Draw\nRoute**. Tap each point along your intended route, then double-tap (or\npress Enter) to finish. Your new route appears on the chart in amber to\nshow it hasn't been saved yet.\n\n**Unsaved and saved routes now work the same way.** Tap any route on the\nchart — freshly drawn or previously saved — to bring up its actions:\n**Modify** to drag its points into shape, **Delete** to remove it, **Points**\nto see its point list, and more. An unsaved route also offers **Save**\nright there, so turning a quick sketch into a permanent route is one tap.\nSaving keeps the route right where it is on the chart — it won't disappear\non you.\n\nThe route's info panel offers the same actions — **Save**, **Edit**,\n**Delete** — plus the point list, distance, and a description you can write\nfor the route. A route that hasn't been saved yet is labelled **(unsaved)**\nso you always know its status at a glance.\n\nIf you have an extension plugin installed that helps you plan routes — an\nauto-router that fits a route around land, for instance — it can work with\nyour route while it's still a draft, before you decide to save it.\n"},{"id":"screen-widgets","raw":"---\nid: screen-widgets\ntitle: Screen Widgets\ncategory: Extensions\n---\n\n![Fig 1. Instrument and tide widgets placed around the edges of the chart](screen-widgets-1.jpg)\n\nIf you've installed a Signal K server plugin that provides a screen widget,\nyou can place it directly onto the chart screen — a compact readout like a\nspeed dial, a wind gauge, or anything else the plugin offers. Two examples\nare [signalk-instrument-widgets](https://www.npmjs.com/package/signalk-instrument-widgets),\na set of boat instrument gauges, and\n[signalk-basic-tide-widgets](https://www.npmjs.com/package/signalk-basic-tide-widgets),\nwhich shows upcoming tides.\n\nWidgets sit in the corners of the screen and at the centre of the top and\nbottom edges *(the top-left corner is reserved for Freeboard's own menu)*.\n\n**To add a widget**, press and hold an empty spot in one of these areas for\nabout a second and a half (or right-click there if you're using a mouse and\nkeyboard). A short list of the widgets that fit there appears — choose one\nand it's added to your screen. As you place more, widgets stack neatly from\nthe edge inward.\n\n**To change or remove a widget**, press and hold the widget itself. This\nopens its settings, where you can adjust it (if it has any options) or\nremove it from the screen.\n\nYour layout is remembered, so the widgets you place are still there the next\ntime you open Freeboard-SK.\n\nSome widgets can also narrow down what's shown elsewhere on the chart — for\nexample, showing only certain waypoints. When a widget does this, a small\nchip appears near the top of the screen describing the filter; tap its **×**\nto clear it and show everything again.\n\nIf you haven't installed any plugins that provide screen widgets, none of\nthis is visible — Freeboard looks and works exactly as it always has.\n"},{"id":"vessel-tracks","raw":"---\nid: vessel-tracks\ntitle: Vessel Tracks\ncategory: Tracks\n---\n\n![Fig 1. The \"Show vessel track\" button in a vessel's popover](vessel-tracks-1.jpg)\n\nSee where another AIS vessel has been by showing its recent track (trail) on\nthe chart.\n\n**To show every vessel's track at once**, turn on **Show Track** under\n**Settings → Vessels → Other Vessels**. Every AIS vessel's track then draws\non the chart.\n\n**To follow just one or two vessels** instead of cluttering the chart with\neveryone's track, leave that setting off and pick vessels individually: tap\na vessel on the chart to open its popover, or find it in the AIS vessel\nlist, and use the **track** button (labelled **TRACK** in the list) to turn\nits track on or off. Your picks apply for the current session only — they\naren't saved between visits.\n\nThe per-vessel picker is only available while **Show Track** is off; with it\non, every vessel is already shown, so there's nothing to pick.\n\nTrack data comes from your Signal K server, so no extra setup is needed\nbeyond what tracking already requires on the server side.\n"},{"id":"weather-overlays","raw":"---\nid: weather-overlays\ntitle: Wind, Currents & Tides\ncategory: Weather\n---\n\n![Fig 1. Wind and ocean current overlays on the chart](weather-overlays-1.jpg)\n\nGrid overlays sample live weather and current data across the visible chart\narea, each toggled independently from the **Weather** panel (opened from the\nresources list):\n\n- **Wind** — \"Enable wind layer\" toggle. Requires a Signal K Weather Provider\n plugin installed on the server. Freeboard samples a 5×4 grid of points across\n the current view and refreshes them shortly after you pan or zoom. Each point\n renders as a **wind barb** by default (half feather = 5 kn, full = 10 kn,\n pennant = 50 kn, staff pointing into the wind) or, with the\n **Display → Weather → \"Wind indicator\"** setting set to Arrow, an arrow\n pointing where the wind flows to. Either glyph always shows the sampled wind\n speed as a label. The glyph choice is shared with the wind barbs shown on\n weather-station targets — switching the Wind indicator setting changes both\n at once. The arrow glyph can be replaced with custom artwork through a symbol\n provider plugin by publishing a symbol with the well-known id\n `windIndicator-arrow`.\n\n- **Ocean Currents** — \"Enable ocean currents layer\" toggle. No server plugin\n needed — Freeboard queries the Open-Meteo Marine API directly. It samples a\n denser 10×8 grid; each arrow points in the current's flow direction, is\n colour-graded from blue (slow) to red (fast), sized by speed, and labelled\n with the current's velocity in knots.\n\n![Fig 2. The Tidal Currents section of the Weather panel, with its 24-hour time bar, and the current overlay on the chart](weather-overlays-2.jpg)\n\n- **Tidal Currents** — appears in the Weather panel as **\"Enable tidal\n currents layer\"**, but only when a `signalk-tidal-currents` plugin is\n installed on the server; otherwise this option doesn't show up at all.\n Arrows are colour-graded and labelled with speed, the same as Ocean\n Currents. What sets it apart is a **24-hour time bar** underneath the\n toggle: drag it, click anywhere on it, or use the step buttons (±1h, ±6h)\n to see how currents shift through the day, with **Play** to animate\n through time and **Now** to jump back to the current moment.\n\nAll three overlays refresh automatically as you pan or zoom, and can be\nshown together or independently.\n"},{"id":"weather-station-wind-barbs","raw":"---\nid: weather-station-wind-barbs\ntitle: Weather Station Wind Barbs\ncategory: Weather\n---\n\n![Fig 1. A weather-station target rendered as a wind barb](weather-station-wind-barbs-1.jpg)\n\nWeather-station (`meteo`) targets — AIS Met/Hydro buoys and plugin-published shore\nstations such as signalk-viva — show wind as a standard **wind barb**: half\nfeather = 5 kn, full = 10 kn, pennant = 50 kn. The barb is picked from the\nstation's reported wind speed in 5-knot buckets (5–75 kn, clamped) and its staff\nrotates to point into the reported wind direction. Below 5 kn, or when no wind is\nreported, the target falls back to the plain windsock icon, unrotated.\n\nThe wind speed is always shown as a label next to the glyph, in your configured\nwind-speed units.\n\nAll 15 barb glyphs ship with Freeboard, so this works with no setup. Any bucket\ncan be replaced with custom artwork through a symbol provider plugin by\npublishing a symbol whose id matches the well-known bucket id —\n`real-weatherStation-<kts>` for real stations, `virtual-weatherStation-<kts>` for\nvirtual ones, where `<kts>` is one of the buckets 5–75 (e.g.\n`real-weatherStation-25`).\n\nA **Display → Weather → \"Wind indicator\"** setting can switch the glyph to a\nplain arrow instead of a barb for every weather-station target on the chart.\n"}],"ledger":[{"feature":"weather-station-wind-barbs","pr":495,"kind":"new","since":"v3.0.0","date":"2026-07-10","title":"feat(map): render meteo targets as wind barbs"},{"feature":"weather-overlays","pr":413,"kind":"new","since":"v3.0.0","date":"2026-07-03","title":"feat(weather): add wind and ocean current overlays"},{"feature":"weather-overlays","pr":520,"kind":"enhanced","since":"v3.0.0","date":"2026-07-14","title":"feat(weather): unify wind indicator rendering across overlays"},{"feature":"weather-station-wind-barbs","pr":520,"kind":"enhanced","since":"v3.0.0","date":"2026-07-14","title":"feat(weather): unify wind indicator rendering across overlays"},{"feature":null,"pr":520,"kind":"skip","reason":"internal UI fix — settings dialog fixed sizing/scrolling, not a distinct feature"},{"feature":"custom-map-symbols","pr":394,"kind":"new","since":"v3.0.0","date":"2026-06-25","title":"feat(charts): Custom map symbols via symbol providers"},{"feature":"screen-widgets","pr":395,"kind":"new","since":"v3.0.0","date":"2026-06-26","title":"feat: Add plotter extension host: widgets, panels, buttons, resource filters & background runtimes"},{"feature":"extension-panels","pr":395,"kind":"new","since":"v3.0.0","date":"2026-06-26","title":"feat: Add plotter extension host: widgets, panels, buttons, resource filters & background runtimes"},{"feature":"route-planning","pr":432,"kind":"enhanced","since":"v3.0.0","date":"2026-06-29","title":"feat(routes): live route editing — editable drafts + plotter-extension route API"},{"feature":null,"pr":432,"kind":"skip","reason":"adds the routes capability to the Plotter Extensions API for extension plugins (e.g. auto-routing); no direct end-user surface in Freeboard itself"},{"feature":"vessel-tracks","pr":448,"kind":"enhanced","since":"v3.0.0","date":"2026-07-02","title":"feat(map): add per-vessel AIS track display"},{"feature":"cursor-eta","pr":455,"kind":"new","since":"v3.0.0","date":"2026-07-03","title":"feat(map): show live bearing, distance and ETA at cursor"},{"feature":"buddy-list","pr":484,"kind":"enhanced","since":"v3.0.0","date":"2026-07-07","title":"feat(ais): add \"Buddies only\" option to the vessel filter"},{"feature":"chart-image-adjustment","pr":489,"kind":"new","since":"v3.0.0","date":"2026-07-07","title":"feat(charts): add brightness/contrast adjustment for raster image layers"},{"feature":"weather-overlays","pr":491,"kind":"enhanced","since":"v3.0.0","date":"2026-07-11","title":"feat(weather): add tidal currents overlay with time-stepping controls"},{"feature":"notes","pr":485,"kind":"enhanced","since":"v3.0.0","date":"2026-07-07","title":"feat(notes): size Note Details dialog to fit its content"},{"feature":"notes","pr":512,"kind":"enhanced","since":"v3.0.0","date":"2026-07-12","title":"feat(notes): add option to open note details on single click"},{"feature":"feature-browser","pr":528,"kind":"new","since":"v3.0.0","date":"2026-07-16","title":"feat(features): add a searchable \"What's New\" feature browser"},{"feature":"feature-browser","pr":530,"kind":"enhanced","since":"v3.0.0","date":"2026-07-17","title":"feat(features): replace forced onboarding modals with a passive What's New indicator"},{"feature":"chart-zoom-limits","kind":"new","since":"v2.1.0","date":"2023-07-06","title":"limit zoom to selected maps"}],"categories":[{"name":"Charts","hue":215},{"name":"Waypoints","hue":30},{"name":"Routes","hue":140},{"name":"Tracks","hue":170},{"name":"Notes","hue":50},{"name":"Navigation","hue":265},{"name":"Autopilot","hue":300},{"name":"Weather","hue":200},{"name":"Radar","hue":110},{"name":"AIS & Vessels","hue":240},{"name":"Alarms & Notifications","hue":5},{"name":"Import/Export","hue":80},{"name":"Extensions","hue":325},{"name":"Display","hue":185}]}
1
+ {"docs":[{"id":"buddy-list","raw":"---\nid: buddy-list\ntitle: Buddy List\ncategory: AIS & Vessels\n---\n\nKeep track of boats you know — friends, other boats in your flotilla — by\nmarking them as **buddies**, then filter the vessel list down to just them\nwhen you want to find one quickly.\n\nThis requires the [signalk-buddylist-plugin](https://www.npmjs.com/package/signalk-buddylist-plugin)\ninstalled on your Signal K server. Without it, Freeboard behaves as before —\nthere's no buddy marking or filtering available.\n\n**To mark a vessel as a buddy**, tap it on the chart to open its popover and\ntap the **Is Buddy** button. Tap it again to remove the mark.\n\n**To see just your buddies**, open **Vessels** from the main menu and switch\non the **Buddies Only** toggle in the filter row. The list narrows to the\nvessels you've marked. Buddies Only can be combined with the list's other\nfilters — Ship Type and IMO Only — to narrow things down further.\n"},{"id":"chart-image-adjustment","raw":"---\nid: chart-image-adjustment\ntitle: Chart Image Adjustment\ncategory: Charts\n---\n\n![Fig 1. The Image Adjustment palette, opened from the tune icon in the chart list](chart-image-adjustment-1.jpg)\n\nAerial and satellite chart imagery is usually exposed for the land, which\ncan leave the water — where the hazards are — looking crushed and nearly\nblack. Adjusting the brightness and contrast can pull submerged rocks,\nshallows, and reefs back into view, which is handy when you're scouting an\nanchorage.\n\n**To adjust a chart's image**, open the chart list and tap the **tune**\nicon next to a chart (it appears alongside the existing opacity control,\nfor image-based charts only). The chart list closes and a compact **Image\nAdjustment** palette opens over the map, headed by the name of the chart\nlayer you're working on.\n\nThe palette is modeless — there is no backdrop, so panning and zooming stay\navailable while you adjust. Drag it by its header to move it clear of the\nwater you're studying; it reopens wherever you last left it, even after a\nreload.\n\n**Brightness** and **Contrast** run from 0% to 200%, with 100% being\nneutral, and the chart updates live as you drag. **RESET** returns both to\nneutral. **SAVE** keeps your changes; closing the palette with its **close**\nbutton instead discards them and puts the chart back as it was.\n\nA saved adjustment is stored with that chart, alongside its opacity, so it's\nstill applied the next time you open Freeboard. Left untouched, a chart looks\nexactly as it always has — the neutral default makes no visible change.\n\nThis applies to raster, tile, WMS, and WMTS image charts. Vector charts\n(like S-57) don't have an image to adjust, so the control doesn't appear\nfor them.\n"},{"id":"chart-list","raw":"---\nid: chart-list\ntitle: Chart List\ncategory: Charts\n---\n\n![Fig 1. The chart list, with Bounds turned on so each chart's outline is drawn on the map](chart-list-1.jpg)\n\nThe **Chart List** is where you pick which charts are drawn on the screen, what order\nthey stack in, and how each one looks. Open it from the resources menu, then **Charts**.\n\nEvery chart the server offers is listed with its name and description. A **map** icon\nmarks a chart hosted on your own Signal K server; a **globe** icon marks one fetched from\nthe internet — worth a glance before you rely on a chart offshore.\n\n**To show or hide a chart**, tick or untick its checkbox. The checkbox at the top of the\npanel switches every chart on or off at once, and **refresh** re-reads the list from the\nserver if you've just installed new charts.\n\n## Finding a chart in a long list\n\nA boat carrying a full regional ENC set can have hundreds of charts, so there are three\nways to narrow the list. They combine, so you can use them together.\n\n- **Type to filter list** — matches on the chart's name.\n- **In view** — hides every chart that doesn't cover what you're currently looking at.\n The list re-filters live as you pan and zoom, so it always reflects the current view.\n Charts that don't declare bounds (OpenStreetMap, for instance) count as covering\n everywhere and stay listed whatever the view.\n- **Bounds** — draws the outline of every listed chart on the map, so you can see what\n covers where. Clicking an outline brings up the charts at that spot and lets you switch\n one on directly, without finding it in the list.\n\n**In view** and **Bounds** both start off each time you open the list — they're a way to\nsearch, not a setting to leave set.\n\n## Chart order\n\nCharts are drawn stacked, and the one on top is the one you read. **Re-order** (the\n`import_export` icon) opens the **Chart Order** screen: drag charts to arrange them, with\nthe top layer at the top of the list and the base layer — a world map, typically — at the\nbottom. Your order is saved and reused next time.\n\n![Fig 2. The Chart Order screen — drag a chart to move it up or down the stack](chart-list-2.jpg)\n\nThe chart list itself is shown in that same top-layer-first order, so what you see in the\nlist is the stack you arranged. Change the order and return, and the list follows\nimmediately.\n\nCharts you have never re-ordered start out stacked by scale — the largest-area chart at\nthe bottom, so the most detailed one ends up on top. That is only the starting point:\nonce you drag anything, your order wins.\n\n## Per-chart actions\n\n![Fig 3. A chart entry, with its actions along the bottom](chart-list-3.jpg)\n\nAlong the bottom of each entry is a row of icons — the actions for that chart. Only the\nones that apply are shown, so the row is shorter on some charts than on others. In the\nrow above, left to right:\n\n- **Properties** (the *i* in a circle) — view and edit the chart's details.\n- **Opacity** (the droplet) — fade a chart to let the one beneath show through. Useful\n for laying a harbour chart over an aerial image.\n- **Image adjustment** (the sliders) — brightness and contrast; image-based charts only.\n See the **Chart Image Adjustment** feature.\n- **Add to Group** (the shapes) — file the chart into a resource group. Only shown when\n your server supports resource groups.\n\nTwo more appear where they apply:\n\n- **Cache Tiles** (the download arrow) — select an area of the map to download for\n offline use. Only offered for charts the chart provider serves as proxied.\n- **Remove** (the waste bin) — delete a chart you added yourself. Charts that come from\n the server's chart plugin can't be deleted from here.\n\nOpacity and image adjustment are saved per chart and persist between sessions. The\ncheckbox on the right of the entry is what shows or hides the chart.\n\n## Adding your own chart source\n\n**Add** (the `add` icon) registers a new chart source with the server — **WMTS**, **WMS**,\nor a **JSON Map Source**. Added charts appear in the list alongside the rest and can be\nremoved again with **Remove**.\n\nFreeboard also offers OpenStreetMap and OpenSeaMap without any server-side charts\ninstalled; both need an internet connection to draw.\n\nNote that everything else in the list comes from the Signal K server, so a chart plugin\n(such as `@signalk/charts-plugin`) has to be installed and configured before your own\ncharts appear here.\n"},{"id":"chart-zoom-limits","raw":"---\nid: chart-zoom-limits\ntitle: Chart Zoom Limits\ncategory: Charts\n---\n\nEvery chart holds detail down to a certain resolution and no further. Zoom in past that\npoint and you aren't shown more information — you're shown the last real chart data\nmagnified, which looks sharper than it is. Freeboard gives you two controls over what\nhappens at that boundary.\n\n## Constrain map zoom\n\nThe **Constrain map zoom** button (the `zoom_in_map` icon on the right-hand toolbar) stops\nthe map at the edge of your chart data. Turn it on and you simply cannot zoom in — or out —\nbeyond the range your selected charts actually cover. The button highlights while active,\nand the zoom **+** / **−** buttons grey out once you reach a limit.\n\nThe limits are taken from the **widest** range across all currently selected charts: the\nlowest minimum zoom and the highest maximum zoom of any of them. Selecting or deselecting\ncharts recalculates it, so the constraint always reflects what you have switched on. Charts\nthat don't declare their own zoom range fall back to a 0–24 range. With the setting off,\nthe map is free to move between zoom 2 and 28 regardless of what your charts hold.\n\nThis is off by default. It matters most when you're working from downloaded or offline\nchart sets — a cached raster or MBTiles collection on a boat with no internet — where\nzooming past the data can't be rescued by fetching better tiles, and where a magnified\ntile can read as detail that was never surveyed.\n\n## Keep tiles visible on max zoom\n\nThe companion setting, **Keep tiles visible on max zoom** (Settings → Map), decides what a\nchart layer does once you pass *its* maximum zoom. Leave it on — it is on by default — and\nthe chart keeps drawing, stretched, instead of disappearing. Turn it off and each layer\nstops rendering beyond the resolution it genuinely has, leaving the chart blank there.\n\nIt also matters when charts of different resolutions are stacked. In a selection mixing a\nwide-area chart with a detailed harbour chart, the lower-resolution one keeps rendering\n(stretched) up to the map's maximum rather than dropping out as you zoom in.\n\nThe two settings answer different questions: *Constrain map zoom* decides **whether you can\nget there at all**, while *Keep tiles visible on max zoom* decides **what you see if you\ndo**. With the defaults — constrain off, keep-tiles on — you can zoom freely and charts\nstay visible but progressively blurrier past their real detail.\n"},{"id":"cursor-eta","raw":"---\nid: cursor-eta\ntitle: Live ETA at Cursor\ncategory: Display\n---\n\n![Fig 1. The Status Bar Options settings, and the resulting Brg/Dist/ETA readout in the status bar](cursor-eta-1.jpg)\n\nGet a quick bearing, distance, and time estimate to any point on the chart —\nwithout setting a destination first.\n\n**To turn it on**, go to **Settings → Display → Status Bar Options** and check\n**Live ETA at cursor**. It's off by default. Once on, the status bar adds the\nbearing, distance, and ETA from your boat to the point you're pointing at,\nalongside the existing latitude/longitude readout.\n\n**With a mouse**, the readout follows the pointer as you move it over the chart.\n\n**Click or tap the chart** and the readout locks onto that point, with a marker\nshowing which point it refers to. The marker fades away and the readout is\nreleased with it, so the numbers are never left on screen with nothing\nidentifying what they describe. Tap somewhere else to measure to the new point.\nThis gives a touchscreen at the helm the same \"how far is that?\" gesture a mouse\nuser gets — dragging the chart still just pans it, and a press-and-hold still\nopens the chart menu.\n\n**Tap Fade Speed** sets how long the marker takes to fade, in seconds (minimum\n1, default 1.5). Raise it to give yourself longer to read the numbers; lower it\nif the marker sits over something on the chart you want to see or grab.\n\nThe ETA uses your boat's current speed over ground. If you're stopped — at\nanchor, hove to — there's no speed to estimate from, so Freeboard falls back to\na **Reference Boat Speed** you set alongside the checkbox, keeping the ETA\nuseful even when you're not moving.\n"},{"id":"custom-map-symbols","raw":"---\nid: custom-map-symbols\ntitle: Custom Map Symbols\ncategory: Charts\n---\n\n![Fig 1. A custom route start marker and a custom anchorage icon shown on the chart](custom-map-symbols-1.jpg)\n\nFreeboard normally marks notes, waypoints, your boat, AIS traffic, aids to\nnavigation, and route points with its own built-in icons. If you'd rather use\nyour own artwork — a personal marker for a favorite dive site, a custom boat\nicon for your own vessel, a branded buoy — you can, once you install a\n**symbol provider** app on your Signal K server. Freeboard picks up whatever\nicons the provider offers and uses them automatically — there's nothing to\nturn on.\n\nThe reference app for this is\n[signalk-symbol-manager](https://www.npmjs.com/package/signalk-symbol-manager),\nwhich gives you a simple web page for uploading and organizing your own icons.\nAny similar app that publishes icons the standard way works too.\n\n## Two ways to use a custom icon\n\n**Replace one of Freeboard's built-in icons.** Give your icon the same name\nas the built-in you want to replace (for example `dive-site`) and mark it as\nbelonging to Freeboard's icon set. Your version then shows up everywhere that\nicon is normally used — on the chart and in the icon pickers — without you\nhaving to touch any existing notes or waypoints. See the reference list below\nfor which built-in names you can replace.\n\n**Add a brand-new icon.** Give your icon a new name of your choosing and it\nshows up as an extra option in the icon pickers, alongside the built-ins.\n\nWhen you've replaced a built-in, the picker shows only your version — not\nboth — so the list doesn't get cluttered. Flip the **\"Show all symbols\"**\ntoggle in a note or waypoint's icon picker to see everything at once,\nbuilt-ins included, in case you ever want to go back to the original. If you\ndeliberately pick the original built-in this way, Freeboard remembers your\nchoice and won't swap your custom icon back in later.\n\n## Where custom icons show up\n\n| Area | Custom icons? |\n|------|:---:|\n| Notes | Yes |\n| Waypoints | Yes |\n| Your own vessel | Yes |\n| AIS vessels | Yes |\n| Aids to navigation | Yes |\n| Route start / turn / end points | Yes |\n| Wind, ocean current and tidal current arrows | Yes |\n| Special waypoint markers (start pin, start boat, sightings, alarms) | No |\n| Shaded chart areas | No |\n| Dots for moored vessels | No |\n\nIcons that normally rotate to a heading or bearing — your vessel, AIS\ntargets, aids to navigation, route turn points, and the wind and current\ndirection arrows — keep rotating correctly even when you've replaced them with\nyour own artwork.\n\n## Built-in icon names you can replace\n\nTo replace one of these, give your icon the matching name below.\n\n**Note and waypoint markers:**\n\n```\nanchorage boatramp bridge business dam\ndive-site ferry hazard inlet lock\nmarina dock turning-basin radio-call-point\ntranshipment-dock notice-to-mariners diver-down\nnavigation-structure fuel tunnel waterway-guage\n```\n\n**Generic waypoint marker:** `waypoint`\n\n**Your own vessel:** `vessel-self`\n\n**AIS vessels** (by type):\n\n```\nais_active ais_highspeed ais_special ais_passenger ais_cargo\nais_tanker ais_other ais_inactive ais_buddy ais_self\n```\n\n(`ais_self` is whichever AIS target you currently have selected — not your\nown boat, which is `vessel-self`.)\n\n**Aids to navigation** — each comes in a physical (`real-…`) and an AIS-only\n(`virtual-…`) version:\n\n```\nreal-north / virtual-north real-east / virtual-east\nreal-south / virtual-south real-west / virtual-west\nreal-port / virtual-port real-starboard / virtual-starboard\nreal-danger / virtual-danger real-safe / virtual-safe\nreal-special / virtual-special real-basestation / virtual-basestation\nreal-weatherStation / virtual-weatherStation\nreal-aton / virtual-aton\n```\n\n**Route points:** `route-start`, `route-waypoint`, `route-end`\n\n**Weather indicators** — the direction arrows on the wind, ocean current and\ntidal current overlays:\n\n```\nwindIndicator-arrow oceanCurrentIndicator-arrow tidalCurrentIndicator-arrow\n```\n\nThe two current arrows are tinted by Freeboard to show speed, so draw\nreplacements for those with a plain white fill — a pre-coloured glyph comes out\nmuddy. The wind arrow isn't tinted and renders in your own colours.\n\nYour own vessel, AIS, aids-to-navigation, route and weather-indicator icons\napply everywhere at once — Freeboard picks these automatically rather than\nletting you choose them per marker, so one custom icon covers every marker of\nthat kind.\n\n## Keeping icons through GPX import and export\n\nIf your icon declares a matching GPX symbol name, Freeboard will recognize it\nwhen you import a GPX file — a waypoint tagged with that symbol picks up your\ncustom icon instead of the default marker. Exporting a waypoint that uses a\ncustom icon writes the same information back into the GPX file, so the icon\nsurvives a round trip: export, re-import elsewhere, and your custom icon is\nstill there.\n\n## Without a symbol provider\n\nIf you haven't installed a symbol provider — or it isn't publishing any\nicons — Freeboard looks and behaves exactly as it always has: built-in icons\neverywhere, and \"Show all symbols\" just shows the built-ins.\n"},{"id":"extension-panels","raw":"---\nid: extension-panels\ntitle: Extension Panels\ncategory: Extensions\n---\n\n![Fig 1. A plugin's search panel open alongside its toolbar button](extension-panels-1.jpg)\n\nPanel extensions let a Signal K server plugin add a completely new feature to\nFreeboard, without waiting on a Freeboard code change to get it. You can pick\nand choose which of these tools you want installed on your boat. Each one\nadds its own new button to Freeboard's toolbar — for example, a proximity\nsearch for nearby points of interest, or an automatic route planner that\nroutes around land.\n\n![Fig 2. An auto-routing panel, another example of a panel extension](extension-panels-2.jpg)\n\n**To use one**, tap the grid icon in the top-right corner of the chart to\nreveal the toolbar, then tap the plugin's button. Its panel slides in from\nthe right-hand side of the screen. Tap the button again, or use the panel's\nown close button, to put it away.\n\nA panel can also narrow down what's shown on the chart — for example,\nfiltering the waypoints list to just the ones matching your search. When a\npanel does this, a small chip appears near the top of the screen describing\nthe filter; tap its **×** to clear it and show everything again.\n\nIf you haven't installed any plugins that add a panel, the extension toolbar\nbutton doesn't appear — Freeboard looks and works exactly as it always has.\n"},{"id":"feature-browser","raw":"---\nid: feature-browser\ntitle: Feature Browser\ncategory: Display\n---\n\nThis very window you're looking at right now is the **Feature Browser** — a\nsearchable \"What's New\" window covering everything Freeboard can do. Curious\nwhat a feature does, how to use it, or when it was added? Open it any time\nfrom the **⋯ (More actions)** menu, no matter what you're doing on the\nchart.\n\nEach entry shows a screenshot, a plain description of what the feature does\nand how to use it, and the release it last changed in — click a screenshot\nto view it larger. When a feature has changed in the current release, its\nnewest changes are listed at the top of the entry so you don't have to hunt\nfor them; the complete history sits in a table at the bottom. Search narrows\nthe list by name, and you can sort the table by category, feature, status,\nor release.\n\nA small lightbulb button also appears on the left toolbar whenever there's\nsomething new or changed you haven't seen yet — click it to jump straight\ninto the Feature Browser. It only shows up when there's something to tell\nyou about, and disappears once you've opened the browser. Freeboard no\nlonger interrupts you with a welcome screen or a \"what's new\" popup when it\nstarts — this lightbulb is the quiet, opt-in replacement.\n"},{"id":"follow-vessel","raw":"---\nid: follow-vessel\ntitle: Center & Follow Vessel\ncategory: Map\n---\n\n![Fig 1. Following with an Ahead offset — the boat sits low on screen and the chart in front of it gets the room](follow-vessel-1.jpg)\n\nKeep your boat on screen without touching the chart. Follow Vessel mode centers the\nvessel and holds it there as you move, so the chart scrolls under you instead of you\nchasing it.\n\n## The button\n\n**Center & Follow Vessel**, on the left-hand toolbar, does both jobs. A press centers the\nvessel and turns follow mode on, easing out to your offset a couple of seconds later. The\nbutton stays highlighted while follow mode is on. Press it again to turn follow mode off —\nthe chart stays exactly where it is, so whatever you'd panned across to study stays in\nview. The button is disabled until your boat's position is known.\n\nJust want to center the boat once, without following it? Press again before it eases off\ncenter, and the boat stays where it is.\n\n## Offset Vessel Center\n\n![Fig 2. Offset Vessel Center and Map Pan When Following, in Settings → Map](follow-vessel-2.jpg)\n\nSitting dead center spends half your screen on water you have already covered.\n**Settings → Map → Offset Vessel Center (%)** moves the boat off center so the chart that\nmatters gets the room. Two values, each a whole percentage up to ±90 of the distance from\nthe middle of the screen to its edge:\n\n- **Ahead** — moves the vessel back so there is more chart in front of it. `50` puts the\n boat halfway between the center and the trailing edge. A negative value looks behind the\n boat instead.\n- **Abeam** — moves the vessel to one side. A positive value shows more to starboard, a\n negative value more to port.\n\nBoth are measured against your **course** rather than the screen, so the offset turns with\nthe boat. That is what keeps it honest in north-up: an offset fixed to the screen would\nshow a vessel heading south the water it had already passed.\n\nLarge values on both axes together would put the boat diagonally outside the corner of the\nscreen, so Freeboard scales the pair back as a unit when that would happen — the vessel\nstays visible, and the offset you are shown is the offset that gets stored. A value on one\naxis alone is never affected.\n\n## Setting the offset by panning\n\nYou don't have to work the numbers out at all. With **Map Pan When Following** set to\n**Set Follow Offset**, simply pan the chart until the boat sits where you want it.\nFreeboard works out the Ahead and Abeam values from where you dropped it and saves them,\nstaying in follow mode the whole time — so the boat holds that spot from then on. For most\npeople this is the only way they will ever set the offset.\n\n## Map Pan When Following\n\n**Settings → Map → Map Pan When Following** decides what panning the chart does while\nfollow mode is on:\n\n- **Set Follow Offset** — follow mode stays on and your pan sets the offset, as above.\n- **Exit Follow Mode** — panning turns follow mode off and leaves the chart where you put\n it.\n- **Do nothing** — follow mode stays on and the vessel returns to its usual position on\n the next position update. Worth choosing at the helm, where a stray touch shouldn't\n disturb the view.\n"},{"id":"notes","raw":"---\nid: notes\ntitle: Notes\ncategory: Notes\n---\n\nDrop a note anywhere on the chart to mark something worth remembering — a\ngood anchorage, a hazard, a spot to check next time you're through.\n\n**To add a note**, open the edit menu (pencil icon) and choose **Add Note**,\nthen tap the chart where you want it.\n\n**To work with an existing note**, tap it on the chart. By default this\nopens a quick popover with **Move**, **Edit**, **Delete**, and **Info**\n(the info panel or a details dialog, depending on your **Prefer Info-Panel**\nsetting under **Settings → Display**). If you'd rather skip that popover and\ngo straight to the note's details, turn on **Single Click for Note Details**\nin the same settings section — a single tap then opens the details directly,\nand the details view itself offers **Move**, **Edit**, and **Delete**, so\nyou don't lose anything by skipping the popover.\n\nA note with rich content — an embedded image, or a graph like the one on a\ntide-station note — resizes its details dialog to fit, instead of clipping\nthe content or forcing you to scroll in two directions.\n"},{"id":"radar-overlay","raw":"---\nid: radar-overlay\ntitle: Radar Overlay\ncategory: Radar\n---\n\n![Fig 1. Radar returns painted over the chart, centred on the vessel](radar-overlay-1.jpg)\n\nOverlays live radar returns on the chart, centred on your vessel and rotated\nto its heading, using the Signal K Radar API. Returns are drawn spoke by spoke\nas the scanner turns, on top of the chart layers.\n\n**What it needs.** Server side, the radar must be reaching Signal K — that\nmeans the **signalk-container** and **@marineyachtradar/signalk-plugin**\n(MaYaRa) plugins installed and running. The radar controls only appear once the\nserver reports the Radar API _and_ at least one radar has been discovered; with\nno radar found, nothing radar-related is shown. Display side, the browser must\nsupport WebGL — on a device without it, the radar button reports that rather\nthan opening the panel.\n\n**Turning it on.** A radar button appears on the toolbar, and **Radar Overlay**\nin the map's _More actions_ menu. Either one connects to the radar and opens\nthe **radar control panel**. If you use radar often, **Settings → Display →\nAction Button → \"Radar Overlay\"** promotes it to the main floating action\nbutton.\n\n**The control panel** shows the selected radar's name and brand, and:\n\n- **Off / On** — the connection to the radar. Switching Off drops the spoke\n stream and clears the overlay while leaving the panel open.\n- **Opacity** — how strongly the returns paint over the chart underneath.\n- **Radar controls** — range, gain, sea clutter, rain and whatever else your\n radar exposes. Freeboard doesn't ship a fixed list of knobs: it builds these\n from the control definitions the radar itself advertises, so you see exactly\n what your unit supports. Controls with a fixed set of values become\n drop-downs, numeric ones a value field, and anything the radar reports as\n read-only stays read-only. Changes are sent to the radar immediately, and\n changes made elsewhere — at the MFD, or from another device — appear here\n live. All controls are disabled while the overlay is Off.\n\n**More than one radar.** Pick the one to use in **Settings → Radar → Radar\nDevices**, with **REFRESH** to re-query the server for the current list. The\nselection is locked while the overlay is running — switch it Off first. Your\nchoice is remembered for next time; if that radar is no longer present, the\nfirst one found is used.\n\n**Server versions.** Both Radar API 3.4.0 and earlier servers are supported.\nFreeboard detects the version when it discovers the radars and talks to the\nright endpoint automatically — there is nothing to configure.\n\nIf the radar stream fails, Freeboard reports the error and switches the overlay\noff.\n"},{"id":"route-planning","raw":"---\nid: route-planning\ntitle: Route Planning\ncategory: Routes\n---\n\n![Fig 1. Tapping a route brings up its actions — Modify, Start, Points, Notes, Info, Delete](route-planning-1.jpg)\n\nDraw a route on the chart, review and adjust it, then save it for later —\nor skip saving and just use it right away.\n\n**To draw a route**, open the edit menu (pencil icon) and choose **Draw\nRoute**. Tap each point along your intended route. A small editing card\nshows the running distance and a **Finish** button — tap **Finish** (or\npress Enter) when the route is complete, or **Cancel** to discard it.\nPlaced a point in the wrong spot? **Undo** (the card's Undo button, or\nCtrl-Z / ⌘-Z) removes the last point, again and again back to the first.\nYour new route appears on the chart in amber to show it hasn't been saved\nyet.\n\n**Unsaved and saved routes work the same way.** Tap any route on the\nchart — freshly drawn or previously saved — to bring up its actions:\n**Modify** to reshape it, **Points** to reorder its point list, **Hide**\nto take it off the chart, **Delete** to remove it, and more. An unsaved\nroute also offers **Save** right there, so turning a quick sketch into a\npermanent route is one tap. Saving keeps the route right where it is on the\nchart — it won't disappear on you.\n\n![Fig 2. The editing card while modifying a route — running distance, the active leg, and Undo / Save / Cancel in one place](route-planning-2.jpg)\n\n**Modifying a route** uses the same editing card as drawing, showing the\nrunning distance and the leg you're working on. Drag a point to move it,\ndrag a leg to add a point, or remove a point with Ctrl-Click or a\npress-and-hold. Both delete gestures work the same with a mouse, a\ntouchscreen or a pen; a press that turns into a drag moves the point instead\nof deleting it. To **extend the route**, click open water past its end: the\nroute grows by a new end point, the same way you drew it, without leaving\nModify.\n**Undo** steps back through your edits one at a time. The card's commit\naction saves your changes — labelled **Save** for a route that isn't stored\nyet, **Finish** for one that is — and **Cancel** (or the ✕) discards them,\nwith no separate \"save changes?\" prompt to answer.\n\n**Reordering points** works on any route, saved or not. Open **Points**\nfrom the route's actions to drag its waypoints into a new order; on an\nunsaved draft the new order is held with the rest of your draft until you\nSave.\n\n**Hiding a route** takes it off the chart without deleting it — the same as\nunchecking **Show on Map** in the Routes list, but reachable straight from\nthe route on the chart. The route stays in your Routes list, ready to show\nagain, and the list's checkbox stays in step. (A route that is currently\nactive can't be hidden.)\n\nThe route's info panel offers the same actions — **Save**, **Edit**,\n**Delete** — plus the point list, distance, and a description you can write\nfor the route. A route that hasn't been saved yet is labelled **(unsaved)**\nso you always know its status at a glance.\n\nIf you have an extension plugin installed that helps you plan routes — an\nauto-router that fits a route around land, for instance — it can work with\nyour route while it's still a draft, before you decide to save it.\n"},{"id":"screen-widgets","raw":"---\nid: screen-widgets\ntitle: Screen Widgets\ncategory: Extensions\n---\n\n![Fig 1. Instrument and tide widgets placed around the edges of the chart](screen-widgets-1.jpg)\n\nIf you've installed a Signal K server plugin that provides a screen widget,\nyou can place it directly onto the chart screen — a compact readout like a\nspeed dial, a wind gauge, or anything else the plugin offers. Two examples\nare [signalk-instrument-widgets](https://www.npmjs.com/package/signalk-instrument-widgets),\na set of boat instrument gauges, and\n[signalk-basic-tide-widgets](https://www.npmjs.com/package/signalk-basic-tide-widgets),\nwhich shows upcoming tides.\n\nWidgets sit in the corners of the screen and at the centre of the top and\nbottom edges *(the top-left corner is reserved for Freeboard's own menu)*.\n\n**To add a widget**, press and hold an empty spot in one of these areas for\nabout a second and a half (or right-click there if you're using a mouse and\nkeyboard). A short list of the widgets that fit there appears — choose one\nand it's added to your screen. As you place more, widgets stack neatly from\nthe edge inward.\n\n**To change or remove a widget**, press and hold the widget itself. This\nopens its settings, where you can adjust it (if it has any options) or\nremove it from the screen.\n\nYour layout is remembered, so the widgets you place are still there the next\ntime you open Freeboard-SK.\n\nSome widgets can also narrow down what's shown elsewhere on the chart — for\nexample, showing only certain waypoints. When a widget does this, a small\nchip appears near the top of the screen describing the filter; tap its **×**\nto clear it and show everything again.\n\nIf you haven't installed any plugins that provide screen widgets, none of\nthis is visible — Freeboard looks and works exactly as it always has.\n"},{"id":"unit-preferences","raw":"---\nid: unit-preferences\ntitle: Units & Value Display\ncategory: Display\n---\n\n![Fig 1. The Units settings panel, with Use Server Unit Preferences turned on](unit-preferences-1.jpg)\n\nFreeboard shows every numeric value in the units you prefer. You choose them in\n**Settings** on the **Units** tab, under **UNITS & VALUES**.\n\n## Choosing your own units\n\nFive settings, each covering one kind of value:\n\n- **Distance units** - Kilometres or Nautical Miles. Ranges, route legs, distance to\n the next waypoint.\n- **Depth units** - metres, feet or fathoms.\n- **Length units** - metres or feet. Vessel dimensions and other short lengths, kept\n separate from Distance so you can read a boat's length in feet while navigating in\n nautical miles.\n- **Speed units** - knots, m/sec, km/h or mph.\n- **Temperature units** - Celsius or Fahrenheit.\n\nA change applies straight away, with no restart.\n\nThe depth setting reaches further than the instrument readouts: it also sets the unit\nS-57 vector charts label their soundings in, so changing it redraws the chart as well.\nSounder depth and charted depth always agree.\n\n## Taking your units from the Signal K server\n\nThe server keeps its own unit preferences, set per user in **Server Admin** under\n**Server &rarr; Configuration &rarr; Settings &rarr; Unit Preferences**. Tick\n**Use Server Unit Preferences** and Freeboard follows those instead: the five\nselections above grey out and take their values from the server.\n\nThe point of this is to set your units once, on the server, and have every app that\nhonours them agree - Freeboard included. Change a unit on the server and Freeboard\npicks it up; there is nothing to update here.\n\nThe checkbox is only available if your server actually publishes unit preferences. On\na server without them it stays greyed out and your own selections apply.\n\nIf the server asks for a unit Freeboard doesn't offer, Freeboard keeps your existing\nchoice for that category rather than showing a value it cannot convert.\n\n## When one value needs a different unit\n\nA single unit per category isn't always what you want. Wind speed in metres per second\nalongside boat speed in knots is the common case, and normal practice in much of\nEurope.\n\nThe server handles this by publishing a unit against one specific data path rather than\nagainst the whole category. Freeboard honours that for **wind speed**: with **Use\nServer Unit Preferences** on, the true and apparent wind speeds in a vessel popover\ndisplay in the server's wind-speed unit, while boat speed stays in your Speed unit.\n\nThere is nothing to set in Freeboard. Configure the override on the server and it\nappears; where the server publishes no override, wind speed falls back to the Speed\nunit like everything else. Turning **Use Server Unit Preferences** off drops the\noverrides along with the rest of the server's preferences.\n\nThe true-wind value Freeboard reads is the one you selected under **Preferred Paths**,\nso if you have picked a particular true-wind source the override follows that choice.\n\nWind speed is currently the only value that uses a per-path unit.\n\n## Also on this tab\n\nTwo further settings share the **UNITS & VALUES** panel because they change how values\nare shown rather than what they are:\n\n- **Position display format** - how latitude and longitude are written, from decimal\n degrees through to degrees, minutes and seconds.\n- **Prefer True / Magnetic values** - which of the two Freeboard uses for paths you\n have not pinned under **Preferred Paths**.\n"},{"id":"vessel-tracks","raw":"---\nid: vessel-tracks\ntitle: Vessel Tracks\ncategory: Tracks\n---\n\n![Fig 1. The \"Show vessel track\" button in a vessel's popover](vessel-tracks-1.jpg)\n\nSee where another AIS vessel has been by showing its recent track (trail) on\nthe chart.\n\n**To show every vessel's track at once**, turn on **Show Track** under\n**Settings → Vessels → Other Vessels**. Every AIS vessel's track then draws\non the chart.\n\n**To follow just one or two vessels** instead of cluttering the chart with\neveryone's track, leave that setting off and pick vessels individually: tap\na vessel on the chart to open its popover, or find it in the AIS vessel\nlist, and use the **track** button (labelled **TRACK** in the list) to turn\nits track on or off. Your picks apply for the current session only — they\naren't saved between visits.\n\nThe per-vessel picker is only available while **Show Track** is off; with it\non, every vessel is already shown, so there's nothing to pick.\n\nTrack data comes from your Signal K server, so no extra setup is needed\nbeyond what tracking already requires on the server side.\n"},{"id":"weather-overlays","raw":"---\nid: weather-overlays\ntitle: Wind, Currents & Tides\ncategory: Weather\n---\n\n![Fig 1. Wind and ocean current overlays on the chart](weather-overlays-1.jpg)\n\nGrid overlays sample live weather and current data across the visible chart\narea, each toggled independently from the **Weather** panel (opened from the\nresources list):\n\n- **Wind** — \"Enable wind layer\" toggle. Requires a Signal K Weather Provider\n plugin installed on the server. Freeboard samples a 5×4 grid of points across\n the current view and refreshes them shortly after you pan or zoom. Each point\n renders as a **wind barb** by default (half feather = 5 kn, full = 10 kn,\n pennant = 50 kn, staff pointing into the wind) or, with the\n **Display → Weather → \"Wind indicator\"** setting set to Arrow, an arrow\n pointing where the wind flows to. Either glyph always shows the sampled wind\n speed as a label. The glyph choice is shared with the wind barbs shown on\n weather-station targets — switching the Wind indicator setting changes both\n at once. The arrow glyph can be replaced with custom artwork through a symbol\n provider plugin by publishing a symbol with the well-known id\n `windIndicator-arrow`.\n\n- **Ocean Currents** — \"Enable ocean currents layer\" toggle. No server plugin\n needed — Freeboard queries the Open-Meteo Marine API directly. It samples a\n denser 10×8 grid; each arrow points in the current's flow direction, is\n colour-graded from blue (slow) to red (fast), sized by speed, and labelled\n with the current's velocity in knots.\n\n![Fig 2. The Tidal Currents section of the Weather panel, with its 24-hour time bar, and the current overlay on the chart](weather-overlays-2.jpg)\n\n- **Tidal Currents** — appears in the Weather panel as **\"Enable tidal\n currents layer\"**, but only when a `signalk-tidal-currents` plugin is\n installed on the server; otherwise this option doesn't show up at all.\n Arrows are colour-graded and labelled with speed, the same as Ocean\n Currents. What sets it apart is a **24-hour time bar** underneath the\n toggle: drag it, click anywhere on it, or use the step buttons (±1h, ±6h)\n to see how currents shift through the day, with **Play** to animate\n through time and **Now** to jump back to the current moment.\n\nBoth current arrows can also be replaced with custom artwork through a symbol\nprovider plugin, each under its own well-known id — `oceanCurrentIndicator-arrow`\nand `tidalCurrentIndicator-arrow` — so the two overlays stay distinguishable\nwhen shown together. Because Freeboard tints these arrows to encode speed, draw\na replacement with a plain white fill; a pre-coloured glyph comes out muddy.\n\nAll three overlays refresh automatically as you pan or zoom, and can be\nshown together or independently.\n"},{"id":"weather-station-wind-barbs","raw":"---\nid: weather-station-wind-barbs\ntitle: Weather Station Wind Barbs\ncategory: Weather\n---\n\n![Fig 1. A weather-station target rendered as a wind barb](weather-station-wind-barbs-1.jpg)\n\nWeather-station (`meteo`) targets — AIS Met/Hydro buoys and plugin-published shore\nstations such as signalk-viva — show wind as a standard **wind barb**: half\nfeather = 5 kn, full = 10 kn, pennant = 50 kn. The barb is picked from the\nstation's reported wind speed in 5-knot buckets (5–75 kn, clamped) and its staff\nrotates to point into the reported wind direction. Below 5 kn, or when no wind is\nreported, the target falls back to the plain windsock icon, unrotated.\n\nThe wind speed is always shown as a label next to the glyph, in your configured\nwind-speed units.\n\nAll 15 barb glyphs ship with Freeboard, so this works with no setup. Any bucket\ncan be replaced with custom artwork through a symbol provider plugin by\npublishing a symbol whose id matches the well-known bucket id —\n`real-weatherStation-<kts>` for real stations, `virtual-weatherStation-<kts>` for\nvirtual ones, where `<kts>` is one of the buckets 5–75 (e.g.\n`real-weatherStation-25`).\n\nA **Display → Weather → \"Wind indicator\"** setting can switch the glyph to a\nplain arrow instead of a barb for every weather-station target on the chart.\n"}],"ledger":[{"feature":"weather-station-wind-barbs","pr":495,"kind":"new","since":"v3.0.0","date":"2026-07-10","title":"feat(map): render meteo targets as wind barbs"},{"feature":"weather-overlays","pr":413,"kind":"new","since":"v3.0.0","date":"2026-07-03","title":"feat(weather): add wind and ocean current overlays"},{"feature":"weather-overlays","pr":520,"kind":"enhanced","since":"v3.0.0","date":"2026-07-14","title":"feat(weather): unify wind indicator rendering across overlays"},{"feature":"weather-station-wind-barbs","pr":520,"kind":"enhanced","since":"v3.0.0","date":"2026-07-14","title":"feat(weather): unify wind indicator rendering across overlays"},{"feature":null,"pr":520,"kind":"skip","reason":"internal UI fix — settings dialog fixed sizing/scrolling, not a distinct feature"},{"feature":"custom-map-symbols","pr":394,"kind":"new","since":"v3.0.0","date":"2026-06-25","title":"feat(charts): Custom map symbols via symbol providers"},{"feature":"screen-widgets","pr":395,"kind":"new","since":"v3.0.0","date":"2026-06-26","title":"feat: Add plotter extension host: widgets, panels, buttons, resource filters & background runtimes"},{"feature":"extension-panels","pr":395,"kind":"new","since":"v3.0.0","date":"2026-06-26","title":"feat: Add plotter extension host: widgets, panels, buttons, resource filters & background runtimes"},{"feature":"route-planning","pr":432,"kind":"enhanced","since":"v3.0.0","date":"2026-06-29","title":"feat(routes): live route editing — editable drafts + plotter-extension route API"},{"feature":null,"pr":432,"kind":"skip","reason":"adds the routes capability to the Plotter Extensions API for extension plugins (e.g. auto-routing); no direct end-user surface in Freeboard itself"},{"feature":"vessel-tracks","pr":448,"kind":"enhanced","since":"v3.0.0","date":"2026-07-02","title":"feat(map): add per-vessel AIS track display"},{"feature":"cursor-eta","pr":455,"kind":"new","since":"v3.0.0","date":"2026-07-03","title":"feat(map): show live bearing, distance and ETA at cursor"},{"feature":"cursor-eta","pr":636,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-27","title":"feat(map): support the cursor bearing/distance/ETA readout on touch devices"},{"feature":"buddy-list","pr":484,"kind":"enhanced","since":"v3.0.0","date":"2026-07-07","title":"feat(ais): add \"Buddies only\" option to the vessel filter"},{"feature":"chart-image-adjustment","pr":489,"kind":"new","since":"v3.0.0","date":"2026-07-07","title":"feat(charts): add brightness/contrast adjustment for raster image layers"},{"feature":"chart-image-adjustment","pr":497,"kind":"enhanced","since":"v3.0.0","date":"2026-07-10","title":"feat(charts): make image adjustment a modeless draggable palette"},{"feature":"chart-image-adjustment","pr":510,"kind":"enhanced","since":"v3.0.0","date":"2026-07-12","title":"feat(charts): trim image adjustment palette and remember its position"},{"feature":"weather-overlays","pr":491,"kind":"enhanced","since":"v3.0.0","date":"2026-07-11","title":"feat(weather): add tidal currents overlay with time-stepping controls"},{"feature":"weather-overlays","pr":523,"kind":"enhanced","since":"v3.0.0","date":"2026-07-14","title":"feat(weather): make current-overlay arrows customizable symbols"},{"feature":"notes","pr":485,"kind":"enhanced","since":"v3.0.0","date":"2026-07-07","title":"feat(notes): size Note Details dialog to fit its content"},{"feature":"notes","pr":512,"kind":"enhanced","since":"v3.0.0","date":"2026-07-12","title":"feat(notes): add option to open note details on single click"},{"feature":"feature-browser","pr":528,"kind":"new","since":"v3.0.0","date":"2026-07-16","title":"feat(features): add a searchable \"What's New\" feature browser"},{"feature":"feature-browser","pr":530,"kind":"enhanced","since":"v3.0.0","date":"2026-07-17","title":"feat(features): replace forced onboarding modals with a passive What's New indicator"},{"feature":"feature-browser","pr":604,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-27","title":"feat(features): show a feature's newest changes above its instructions"},{"feature":"chart-zoom-limits","kind":"new","since":"v2.1.0","date":"2023-07-06","title":"limit zoom to selected maps"},{"feature":"route-planning","pr":580,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-25","title":"feat(map): delete a route vertex with a long left-click, matching touch"},{"feature":"route-planning","pr":582,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-25","title":"feat(routes): unify the route draw and modify helper panels"},{"feature":"route-planning","pr":584,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-25","title":"feat(routes): add undo for route drawing and editing"},{"feature":"route-planning","pr":593,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-25","title":"feat(routes): add a Hide action to the route popover"},{"feature":"route-planning","pr":597,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-26","title":"feat(routes): allow reordering points on unsaved routes"},{"feature":"route-planning","pr":598,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-26","title":"feat(routes): extend a route by clicking open water in modify mode"},{"feature":"chart-list","kind":"new","since":"v0.0.2","date":"2016-07-05","title":"Add charts find and display"},{"feature":"chart-list","kind":"enhanced","since":"v1.14.0","date":"2020-12-19","title":"Chart List ordering (closes #88)"},{"feature":"chart-list","pr":177,"kind":"enhanced","since":"v2.11.2","date":"2024-08-30","title":"Toggle chart on boundary click"},{"feature":"chart-list","kind":"enhanced","since":"v2.19.6","date":"2026-01-07","title":"Editable chart properties"},{"feature":"chart-list","kind":"enhanced","since":"v2.22.0","date":"2026-04-30","title":"Add chart opacity control (closes #368)"},{"feature":"chart-list","pr":352,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-25","title":"feat(charts): add In view filter to chart list"},{"feature":"chart-list","pr":595,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-26","title":"feat(charts): order chart list to match the chosen layer order"},{"feature":"follow-vessel","kind":"new","since":"v0.0.2","date":"2015-05-18","title":"Added vesselUp and followVessel control buttons"},{"feature":"follow-vessel","kind":"enhanced","since":"v2.11.2","date":"2024-09-05","title":"Lock in Follow Vessel setting to remain in this mode when map is panned"},{"feature":"follow-vessel","kind":"enhanced","since":"v2.17.0","date":"2025-08-18","title":"Look ahead"},{"feature":"follow-vessel","pr":601,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-26","title":"feat(map): single center/follow button and pan to set follow offset"},{"feature":"follow-vessel","pr":616,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-27","title":"feat(map): offset the vessel abeam as well as ahead when following"},{"feature":"radar-overlay","kind":"new","since":"v2.19.7","date":"2026-01-18","title":"Initial RADAR API support"},{"feature":"radar-overlay","kind":"enhanced","since":"v2.24.0","date":"2026-06-19","title":"Radar control panel with overlay toggle, opacity and radar controls"},{"feature":"radar-overlay","pr":573,"kind":"enhanced","since":"v3.1.0-beta.0","date":"2026-07-25","title":"feat(radar): Support Radar API 3.4.0 in the radar overlay (with pre-3.4.0 fallback)"},{"feature":"unit-preferences","kind":"new","since":"v1.8.0-rc1","date":"2018-09-12","title":"Unit selection for distance, depth, speed and temperature"},{"feature":"unit-preferences","kind":"enhanced","since":"v2.20.0","date":"2026-03-14","title":"Use unit preferences configured on the Signal K server"},{"feature":"unit-preferences","kind":"enhanced","since":"v2.21.0","date":"2026-04-01","title":"server unit preferences additional support"},{"feature":"unit-preferences","pr":447,"kind":"enhanced","since":"v3.0.0","date":"2026-07-02","title":"feat(units): honor per-path display units for wind speed"},{"feature":null,"pr":446,"kind":"skip","reason":"adds the optional path argument and display-unit cache to formatValueForDisplay; foundation only, with no user-facing change until #447 populates it"},{"feature":null,"pr":454,"kind":"skip","reason":"adds the charts capability to the Plotter Extensions API — display management of chart layers Freeboard already manages, for extension plugins; no direct end-user surface in Freeboard itself"},{"feature":null,"pr":505,"kind":"skip","reason":"implements the nightMode capability of the Plotter Extensions API for extension plugins; the user-facing Dark Mode / Auto-set Night Mode settings are unchanged"},{"feature":null,"pr":508,"kind":"skip","reason":"exposes the host API to an embedding application (e.g. KIP) over the plotter-extension bus; an integration topology change with no end-user surface in Freeboard itself"},{"feature":null,"pr":607,"kind":"skip","reason":"emits the map.view event of the Plotter Extensions API so extensions stop polling map.getView; no end-user surface"},{"feature":null,"pr":529,"kind":"skip","reason":"developer tooling — generates the GitHub Release body from the feature ledger; excluded from the npm package, never shipped to users"},{"feature":null,"pr":450,"kind":"skip","reason":"developer tooling — dev-tools/fsk-mcp lets an AI agent drive a running Freeboard; excluded from the npm package, never shipped to users"},{"feature":null,"pr":419,"kind":"skip","reason":"performance work — runs OpenLayers and change detection outside the Angular zone; no change to what the user can do"},{"feature":null,"pr":420,"kind":"skip","reason":"performance work — debounces config saves and guards dark-mode updates; no change to what the user can do"},{"feature":null,"kind":"skip","date":"2026-06-05","title":"feat(charts): honor chart tileSize for raster tile sources","reason":"corrects the rendering scale of raster charts whose tiles are not 256px; a correctness fix despite the feat prefix, with nothing new for the user to do"},{"feature":null,"kind":"skip","date":"2026-05-23","title":"perf(app): lazy-load dialog components on demand","reason":"performance work — no change to what the user can do"},{"feature":null,"kind":"skip","date":"2026-05-23","title":"perf(s57): cache derived text-style config across features","reason":"performance work — no change to what the user can do"},{"feature":null,"kind":"skip","date":"2026-04-04","title":"perf: defer S57 chart symbols loading until first use","reason":"performance work — no change to what the user can do"}],"categories":[{"name":"Charts","hue":215},{"name":"Waypoints","hue":30},{"name":"Routes","hue":140},{"name":"Tracks","hue":170},{"name":"Notes","hue":50},{"name":"Navigation","hue":265},{"name":"Autopilot","hue":300},{"name":"Weather","hue":200},{"name":"Radar","hue":110},{"name":"AIS & Vessels","hue":240},{"name":"Alarms & Notifications","hue":5},{"name":"Import/Export","hue":80},{"name":"Extensions","hue":325},{"name":"Display","hue":185},{"name":"Map","hue":345}]}
@@ -348,23 +348,21 @@
348
348
  Toggles between <i>Heading / North Up</i> mode.
349
349
  </li>
350
350
  <li class="nobullet">
351
- <i class="material-icons">my_location</i>
352
- <b>Follow Vessel On / Off:</b>
353
- Toggles <i>Follow Vessel</i> mode to keep the vessel at the centre
354
- of the screen.<br />
351
+ <img src="../img/ob/cent-iec.svg" alt="" />
352
+ <b>Center &amp; Follow Vessel:</b>
353
+ Turns on <i>Follow Vessel</i> mode, centering the vessel on screen
354
+ and keeping it there. The button is highlighted while follow mode
355
+ is on; press it again to turn follow mode off, leaving the chart
356
+ where it is.<br />
357
+ The vessel is held exactly centered for a couple of seconds before
358
+ easing out to your <b>Offset Vessel Center</b> setting, so a
359
+ second press straight away leaves it dead center — press twice to
360
+ simply center the vessel.<br />
355
361
  <i
356
362
  >Note: this option is disabled when vessel position is not
357
363
  available.</i
358
364
  >
359
365
  </li>
360
- <li class="nobullet">
361
- <i class="material-icons">center_focus_strong</i>
362
- <b>Centre Vessel on screen:</b>
363
- <i
364
- >Note: This option is disabled when vessel position is not
365
- available.</i
366
- >
367
- </li>
368
366
 
369
367
  <li class="nobullet">
370
368
  <i class="material-icons">more_horiz</i>
@@ -757,7 +755,7 @@
757
755
  Selecting a Group will display all of the resources within the
758
756
  group on the map and hide all other resources.
759
757
  <br />
760
- Resources can be added to groups directly from the specfic
758
+ Resources can be added to groups directly from the specific
761
759
  resource list <i>(e.g. Routes, Waypoints, Regions, Charts)</i> or
762
760
  when editing a Group's properties.
763
761
  <br />
@@ -1179,7 +1177,8 @@
1179
1177
  <br />&nbsp;
1180
1178
  <div>
1181
1179
  <b>Note Properties:</b><br />
1182
- Freeboard uses specfic key / value pairs that are defined within the
1180
+ Freeboard uses specific key / value pairs that are defined within
1181
+ the
1183
1182
  <code>properties: {}</code> block of a note: <br />&nbsp;
1184
1183
  <ul>
1185
1184
  <li>
@@ -1268,19 +1267,22 @@
1268
1267
  <ul>
1269
1268
  <li>
1270
1269
  <b>Filter Charts:</b> Type into the text box to filter the
1271
- list of charts.
1270
+ list of charts by name.
1272
1271
  </li>
1273
1272
  <li>
1274
- <b>Re-order charts:</b> Click
1275
- <i class="material-icons">import_export</i> to arrange the
1276
- chart stack to ensure charts are displayed in the correct
1277
- order. Drag and drop the charts within the list to chage the
1278
- order.
1273
+ <b>In view:</b> Toggle this switch to list only the charts
1274
+ that cover the current map view.
1275
+ </li>
1276
+ <li>
1277
+ <b>Bounds:</b> Toggle this switch to display the bounds of the
1278
+ listed charts. The bounding rectangle of each chart will be
1279
+ overlayed on the current map display.
1279
1280
  </li>
1280
1281
  <li>
1281
- <b>Boundaries:</b> Toggle this switch to display the bounds of
1282
- the listed charts. The bounding rectangle of each chart will
1283
- be overlayed on the current map display.
1282
+ <b>Re-order charts:</b> Click
1283
+ <i class="material-icons">import_export</i> to arrange the
1284
+ chart stack. Drag and drop the charts within the list to
1285
+ change the order.
1284
1286
  </li>
1285
1287
  <li>
1286
1288
  <b>Add Chart Source:</b> Click
@@ -1303,6 +1305,11 @@
1303
1305
  <i class="material-icons">opacity</i> and use the slider to
1304
1306
  set the chart's opacity.
1305
1307
  </li>
1308
+ <li>
1309
+ <b>Image Adjustment:</b> Click
1310
+ <i class="material-icons">tune</i> to set the brightness and
1311
+ contrast of an image-based chart.
1312
+ </li>
1306
1313
  <li>
1307
1314
  <b>Cache Tiles:</b> Click
1308
1315
  <i class="material-icons">download</i> to select an area on
@@ -1330,8 +1337,16 @@
1330
1337
  <b>Local Charts</b> hosted on the Signal K server are identified
1331
1338
  with the <i class="material-icons">map</i> icon.
1332
1339
  <br />&nbsp;<br />
1333
- Charts are displayed in descending order of scale to ensure more
1334
- detailed charts are on top.
1340
+ Charts you have not re-ordered are stacked in descending order of
1341
+ scale, so that more detailed charts are on top. Once you re-order
1342
+ the chart stack your chosen order is used instead, and the chart
1343
+ list itself is displayed in that same order (top layer first).
1344
+ <br />&nbsp;<br />
1345
+ <i
1346
+ >For how to use these controls, see the <b>Chart List</b> entry
1347
+ in the Feature Browser (<b>More actions</b> &rarr;
1348
+ <b>What's New</b>).</i
1349
+ >
1335
1350
  </div>
1336
1351
  </div>
1337
1352
  <hr />
@@ -2253,6 +2268,30 @@
2253
2268
  at the top right of screen.
2254
2269
  </li>
2255
2270
  </ul>
2271
+ <ul>
2272
+ <li>
2273
+ <b>Live ETA at cursor</b>: Check this box to show the bearing,
2274
+ distance and ETA from your vessel to the point you are pointing at
2275
+ in the status bar.
2276
+ </li>
2277
+ <li>
2278
+ <b>Reference Boat Speed</b>: The speed used to estimate the ETA
2279
+ when your vessel is stopped (at anchor, hove to) and there is no
2280
+ speed over ground to calculate from.
2281
+ </li>
2282
+ <li>
2283
+ <b>Tap Fade Speed</b>: The number of seconds the marker left by a
2284
+ click or tap on the chart takes to fade away. The readout stays
2285
+ held on that point until it does.
2286
+ </li>
2287
+ </ul>
2288
+ <i
2289
+ >For how to use these controls, see the
2290
+ <b>Live ETA at Cursor</b> entry in the Feature Browser (<b
2291
+ >More actions</b
2292
+ >
2293
+ &rarr; <b>What's New</b>).</i
2294
+ >
2256
2295
  <ul>
2257
2296
  <li>
2258
2297
  <b>Instrument Panel App</b>: Select from a list of installed
@@ -2308,8 +2347,15 @@
2308
2347
  displaying data.<br />
2309
2348
 
2310
2349
  <b>Use Server Unit Preferences</b>: When checked sets the Distance,
2311
- Depth, Speed & Temperature units to those selected on the Signal K
2312
- server.
2350
+ Depth, Length, Speed and Temperature units to those selected on the
2351
+ Signal K server, and disables the selections below. Only available
2352
+ when the server publishes unit preferences.<br />
2353
+ <i
2354
+ >Note: The server can also publish a unit for an individual path,
2355
+ which overrides the category setting for that value. Wind speed is
2356
+ currently the only value Freeboard applies this to. See
2357
+ <b>Units &amp; Value Display</b> in the Feature Browser.</i
2358
+ >
2313
2359
  <br />
2314
2360
  <b>Distance Units</b>: <i>Kilometres</i> / <i>Nautical Miles</i>
2315
2361
  <br />
@@ -2320,7 +2366,7 @@
2320
2366
  <b>Speed Units</b>: <i>Knots</i> / <i>m/sec</i> / <i>km/h</i> /
2321
2367
  <i>mph</i>
2322
2368
  <br />
2323
- <b>Temperature Units</b>: <i>Celcius</i> / <i>Fahrenheit</i>
2369
+ <b>Temperature Units</b>: <i>Celsius</i> / <i>Fahrenheit</i>
2324
2370
  <br />
2325
2371
  <b>Prefer True / Magnetic values</b>: <i>True</i> / <i>Magnetic</i
2326
2372
  ><br />
@@ -2333,20 +2379,21 @@
2333
2379
  other available path values!
2334
2380
  </i>
2335
2381
  <br />
2336
- <b id="settings-paths">Preferred Paths</b>: Click this button to
2337
- display show a list of available source paths for specific values i.e.
2338
- Heading, Wind Speed, etc.<br />
2382
+ <b id="settings-paths">Preferred Paths</b>: Some values are published
2383
+ on more than one Signal K path. This panel is where you choose which
2384
+ one Freeboard uses for <i>True Wind Speed</i>,
2385
+ <i>True Wind Direction</i> and <i>Heading / COG</i>.<br />
2339
2386
  <img
2340
2387
  src="./img/settings_paths.png"
2341
2388
  style="height: 200px"
2342
2389
  alt=""
2343
2390
  /><br />
2344
- Select the path from which you want the value used for the specfic
2345
- vessel attribute.<br />
2346
- Click <i>Save</i> to ensure your selections are applied.<br />
2391
+ Select the path you want used for each value. Your selection applies
2392
+ immediately.<br />
2347
2393
  <i
2348
- >Note: The paths available will depend on the data stream received
2349
- from the Signal K server.
2394
+ >Note: Only paths present in the data stream received from the
2395
+ Signal K server are offered. If none are, Freeboard still lists its
2396
+ default path for that value.
2350
2397
  </i>
2351
2398
  <hr />
2352
2399
 
@@ -2358,11 +2405,27 @@
2358
2405
  zoom levels below this value.
2359
2406
  </li>
2360
2407
  <li>
2361
- <b>Offset Vessel Center</b>: Select the offset to be applied when
2362
- in "Move Map" mode. This provides more visible map in front of the
2363
- vessel.<br />
2364
- The setting will place the vessel at a location the selected
2365
- percentage, from the map center and the bottom of the screen.<br />
2408
+ <b>Offset Vessel Center (%)</b>: Where the vessel sits on screen
2409
+ while in "Follow Vessel" mode, so you can give yourself more
2410
+ visible chart in the direction you care about. Each value is a
2411
+ percentage of the distance from the center of the screen to its
2412
+ edge, and both are measured relative to your course, so the view
2413
+ keeps its bearings as the vessel turns.
2414
+ <ul>
2415
+ <li>
2416
+ <b>Ahead</b>: moves the vessel back from the center to show
2417
+ more chart in front of it, so <b>50</b> places the vessel half
2418
+ way between the center and the trailing edge. A negative value
2419
+ looks behind the vessel instead.
2420
+ </li>
2421
+ <li>
2422
+ <b>Abeam</b>: moves the vessel to one side. A positive value
2423
+ shows more chart to starboard, a negative value more to port.
2424
+ </li>
2425
+ </ul>
2426
+ You can also set both by eye: with
2427
+ <b>Map Pan When Following</b> set to <b>Set Follow Offset</b>,
2428
+ simply pan the chart to put the vessel where you want it.<br />
2366
2429
  </li>
2367
2430
  <li>
2368
2431
  <b>Popover close with button</b>: Select this option in order to a
@@ -2374,8 +2437,21 @@
2374
2437
  the map with a double click.
2375
2438
  </li>
2376
2439
  <li>
2377
- <b>Lock Follow Vessel</b>: Check this box to remain in "Follow
2378
- Vessel" mode when map is panned / moved.
2440
+ <b>Map Pan When Following</b>: Choose what panning the chart does
2441
+ while "Follow Vessel" mode is on.
2442
+ <ul>
2443
+ <li>
2444
+ <b>Set Follow Offset</b>: Follow mode stays on and panning
2445
+ sets the <b>Offset Vessel Center</b> values above, so you can
2446
+ position the vessel on screen by eye. The offset is saved and
2447
+ used from then on.
2448
+ </li>
2449
+ <li><b>Exit Follow Mode</b>: Panning turns follow mode off.</li>
2450
+ <li>
2451
+ <b>Do nothing</b>: Follow mode stays on and the vessel returns
2452
+ to its usual position on the next position update.
2453
+ </li>
2454
+ </ul>
2379
2455
  </li>
2380
2456
  </ul>
2381
2457
  <b>Vector Charts:</b><br />