OpenCyphal-Garage / yukon-old

An open suite of tools for observing, debugging, and interacting with a UAVCAN v1 bus.
http://uavcan.org
MIT License
31 stars 10 forks source link

Panel framework -- third-party widget API #19

Open pavel-kirienko opened 5 years ago

pavel-kirienko commented 5 years ago

https://forum.uavcan.org/t/gui-tool-next-generation/229/42?u=pavel.kirienko

An API and mechanism for easily and dynamically adding custom UI panels to the gui. This allows system developers and vendors to provide highly specific controls for a given system/component.

It would also be interesting to define a way to associate a set of DSDL with a panel in a packaging format that would allow a vendor of, for example, a particular ESC to deliver the types and UI for their product using pypi or npm or something similar.

Difficulty: hard, architect

ntakouris commented 5 years ago

The idea is to follow the Open-Closed principle. Starting from the 3rd party Plotter widgets that would depend on the extracted values that Yukon is going to stream into them. The plotter part would be a javascript-based 3rd party implementation that needs to be auto-detected (completely automatically or from something like a manifest).

Since you can lazily import/require components with Vue, there is a way to dynamically bring javascript into context from a url and feed data to it.