rerun-io / rerun

Visualize streams of multimodal data. Fast, easy to use, and simple to integrate. Built in Rust using egui.
https://rerun.io/
Apache License 2.0
5.66k stars 255 forks source link

If launching rerun with a blueprint from the command-line there's no way to send data to the app #5695

Open jleibs opened 3 months ago

jleibs commented 3 months ago

We don't appear to start the TCPServer if we pass a local file to rerun on start.

Although we've always had this issue when loading .rrd files from the CLI, the fact that Blueprint files and RRD files combine makes this particularly annoying.

Consider the following workflow:

I've saved a blueprint.

Now I want to run:

rerun my_app.rbl

to restore it (related issue: https://github.com/rerun-io/rerun/issues/5694)

However, because there is no TCPServer running, I can't run an app that connects to it.

teh-cmc commented 3 months ago

On a related note, I've wanted to be able to use the CLI as a data forwarder tool for a long time, e.g.: rerun my_data.rrd --connect (or, in this instance, rerun my_blueprint.rbl --connect):

emilk commented 3 months ago

The easy solution is to always spawn a TCP server when we launch the rerun binary (unless --no-server or whatever), but we must handle the case of an existing Rerun already running, hogging that port.

We can either: