Depth widget ideas (simple to fancy)
Transferring from our internal discussion 3 months ago / the initial PR:

- extents should show the surface and an optional water column depth
- if no altitude sensor either allow setting a "known bottom distance" variable, or just have no explicit bottom shown
- local crop -> show zoomed in local area
- dots (bubbles?) above and below to show that some distance is "missing"
- number of dots gives a sense of relative distance (e.g. if close-ish to the bottom but far from the top, maybe have 4 dots at the top and 1 at the bottom)
- zero dots when an extent is within the 'zoom' region
- trail should fade in from left to right, with configurable widget width and shown duration
- time scale should be linear by default (-> constant velocity shows a straight line)
- may be worth providing a logarithmic timescale option, to allow compressing more samples history into the available space
- altitude sensor readings should also be trailed, if they're available
- display of current position and altitude would be cute to show as an ROV (with tether trail) and an anchor
- ideally (long term?) the vehicle icon would be configurable, so people can put their own design instead
- maybe show the surface as wavy water ć°ļø š
- could show vehicle pitch (per #1053)
- It would be nice to also be able to show the current depth or terrain-altitude target, depending on the flight mode
- idea from @clydemcqueen in this forum comment
- this could also be adapted to show similar concepts for aerial vehicles (e.g. to resolve #177)
- we could have a separate widget for this, but the functionality would be nearly identical, so I think it's better to just make it flexible enough to work for both (which could then be epic in future if someone makes a submersible sea-plane or something :-P)
- in the air it would be nice to have the trail look like air trails instead of a tether, but that could likely be achieved by just making the colour configurable (although we may want to allow separate colours for above/below the surface)
- in a similar vein, we could potentially change the anchor to a ladder or something when above ground, although it may be fine to leave as is
- aerial vehicles often have terrain maps, and hopefully water-based ones will in future as well, so we should also allow displaying the expected terrain height compared with the measured one
- we could have a separate widget for this, but the functionality would be nearly identical, so I think it's better to just make it flexible enough to work for both (which could then be epic in future if someone makes a submersible sea-plane or something :-P)
As you said, the functionality is very similar, so I agree we should have one widget with both functionalities, at least at a first glance.
Maybe we can test by having them completely separated for a while, watch the evolution of both, and if we see they can indeed be merged, we do it.
Iām really into this depth widget concept! I was thinking that it could also feature a 3D rendering of the ROV that shows its orientation in real time ā pitch, roll, yaw, and even heading included. I believe all this data is available. How difficult would this be to make?
a 3D rendering of the ROV that shows its orientation in real time ā pitch, roll, yaw, and even heading included. I believe all this data is available.
@GitTyler805 this is discussed more in #440 :-)
I expect it likely makes more sense as separate to the depth widget, because displaying an attitude (other than pitch) in an interpretable way would likely require a larger indicator than would make sense for inclusion in the depth indicator.
... yaw, and even heading ...
Yaw and heading are the same thing. Are you perhaps referring to course (the direction the vehicle is moving), as distinct from attitude (the direction the vehicle is pointing)? A course indicator does likely make sense, either as an augmentation of an attitude widget, or as its own separate widget :-)