metrics can be saved and loaded to/from csv.
The files are ok-ish and it's reasonably fast. File format could still
change. Also some small fixes and tweaks, like bigger buttons in
confirmation prompts and source name in logs.
Some UI tweaks (like suffixes in sliders)
Restructured data and storage: many Metrics per one Source. Each Metric
is a Line on a Panel. Fetches are handled per Source. Metrics cannot be
moved across Sources. Data points are linked to a Metric.
Also made "show sources" and "edit mode" two distinct toggles, and thus
implemented a non-edit view for sources.
Also bumped version to 0.3.0
Added in sources a position field which works just like the one in panels.
Added in sources an "enabled" flag which now governs wether or not data is fetched.
Added a button to delete panels.
Tweaked UI a little
improved a lot logging, using tracing from tokio.
Now there's a subscriber which tracks log messages and makes them
available inside the state, so that we can show them in the gui.
Made a jank logs side panel.
Made panels reorderable in a kinda weird but meh way
now sources are all edited in one side panel, which opens in edit mode.
Easily move sources across panels.
Implementation has a lot of room for improvement (too many loops) but it
works for now
Committing current state, which is a simple full
screen plot with some basic features. It compiles
for both native and web. There's a basic generic
datasource impl. It currently plots random data for demo.