pub struct Waypoint {
pub uuid: Option<String>,
pub name: Option<String>,
pub description: Option<String>,
pub category: Option<String>,
pub icon: Option<String>,
pub color: Option<String>,
pub position: Position,
}Expand description
A standalone waypoint, as the wire carries it.
Fields§
§uuid: Option<String>The server’s own id, once it has one. None for a waypoint not
yet published – Client::publish_waypoint reads this to
decide POST (mint one) or PUT (use this one) accordingly.
name: Option<String>What the mariner calls it.
description: Option<String>Anything they wrote about it.
category: Option<String>The mariner’s own grouping – Signal K’s own optional type
field on a waypoint resource, free text there and here alike.
icon: Option<String>A platform-neutral marker shape – "location", "bookmark",
"hazard", "flag", "favorite", or something a newer client
invented that this build does not recognise yet. Carried in
feature.properties.icon, not a top-level field, since the
Signal K Waypoint schema itself defines none for this – the
same reasoning this module’s own doc gives for why nothing here
is a Signal K concept to begin with. This one
is not even a borrowed convention the way freeboard-sk’s own
properties.skIcon is: it names no icon at all, only a shape
each client renders in its own native icon set, whichever that
is on its own platform. What decides
which shape maps to which glyph belongs to waypoints, the
crate this module exists to serve, and to each client after
that – never here, which only carries the string.
color: Option<String>A named accent colour for icon – "red", "blue",
"green", "orange", or, the same as icon, something newer.
feature.properties.color, the same reasoning as icon.
position: PositionWhere it is.