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
6.35k stars 306 forks source link

External app camera / timeline sync #5997

Open genemerewether opened 5 months ago

genemerewether commented 5 months ago

This may be similar to https://github.com/rerun-io/rerun/issues/2638, but a really handy functionality would be real-time, bidirectional camera and timeline sync with an external app.

I'm not sure the current state of controlling 3D space view camera / timeline from outside Rerun, but it would be good to have minimal latency there, like imperceptible to a user operating an external app while also looking at the Rerun UI.

In addition, it would be nice to be able to subscribe to / fetch / poll the state of the Rerun UI:

  1. Altering the camera pose in a 3D space view would allow driving an external app's camera
  2. Altering the position on the timeline would allow driving an external app's timeline

I forget if I ever got this working in Rviz, but something like: https://answers.ros.org/question/392097/controlling-rviz-camera-programmatically/ and https://wiki.ros.org/rviz_animated_view_controller

Wumpf commented 5 months ago

Also very related to: