Replace PlotJuggler with Rerun
We've got a proof of concept of https://rerun.io support in tools/rerun/. Rerun will support all the things we want out of a visualization tool. The first step is to replace PlotJuggler, which we mostly use for ad-hoc debugging. Once this is done, we can do cool things like showing all three cameras alongside your plots.
At a minimum, this means:
- demo route fully loads in <10s
- rerun runs smoothly (>30 fps). the POC seems to have a leak and it's 10 fps on my machine
- can plot all the same things as PlotJuggler, with the same workflow
- nice README, similar to PlotJuggler's
No comma account or device needed - just use the demo route. Community feedback/discussion is at https://github.com/commaai/openpilot/discussions/32419.
To reach parity with PlotJuggler, we'll need:
- [ ] search for signals
- [ ] drag and drop https://github.com/rerun-io/rerun/issues/7108
Relevant upstream Rerun issues:
- https://github.com/rerun-io/rerun/issues/7298
- https://github.com/rerun-io/rerun/issues/5233
- https://github.com/rerun-io/rerun/issues/7115
- https://github.com/rerun-io/rerun/issues/7108
Locked to @bongbui321, pending Rerun https://github.com/rerun-io/rerun/milestone/30 due to perf issues in their current version
Some things I use quite often in PlotJuggler:
- [ ] custom live functions (ability to reference multiple signals, time shift, etc)
- [ ] layouts: save, load
- [ ] toggle raw point dots easily
- [ ] drag and drop
- [ ] signal searching
- [ ] easily manipulate plots: can add new signals on top or a new plot, split horizontally/vertically, zooming affects all plots at once, can see point values via scrub bar
- [ ] better performance, rerun's UI runs at a lower FPS for me
- [ ] demo route never fully loads, or unloads and takes a while to load
👋
Unfortunately, Rerun is still too slow, clunky, and doesn't have the feature set we need. Moving on to https://github.com/commaai/openpilot/issues/35942.