OpenCyphal / yukon

The OpenCyphal IDE
https://opencyphal.org
MIT License
16 stars 0 forks source link

Data visualizer #19

Open pavel-kirienko opened 2 years ago

pavel-kirienko commented 2 years ago

One key feature of this application is displaying data exchanged through the network. The user should be able to select an arbitrary port (subject or service), possibly apply filters (e.g., source node-ID), and let the tool display the data exchanged over that port in real time either as raw values or graphically. It is paramount to allow the user to select distinct subjects that are updated in lockstep and then visualize the entire synchronous group as a whole (see yakut subscribe --sync for details).

The raw value view is similar to that of yakut subscribe, but it doesn't necessarily have to be YAML --- we should take advantage of KucherX's ability to display rich UI here (this capability is sorely missing in Yakut).

The graphical view should allow the user to select arbitrary values from the visualized port (or synchronous group) and display them as a time-series plot, XY plot, histogram, 3D plot of two variables over time, etc. For now, we should focus only on the basics but future enhancements should be kept in mind.

pavel-kirienko commented 2 years ago

Per my original design for Yukon, the user was supposed to create such visualization units directly on the canvas (the connectivity graph): select the required visualization from some tool palette, drop that on the canvas (the connectivity graph), draw a line from the port of interest to the visualization element, and enjoy the result. The full design is elaborated here: https://forum.opencyphal.org/t/gui-tool-next-generation/229/53?u=pavel.kirienko