Live data from Hacker News

Show HN: Interactive graphs in Rerun with a Rust port of D3-force

rerun.io

11–14 of 14 posts

Re: Show HN: Interactive graphs in Rerun with a Rust port of D3-force

#11
post #10

I've been using rerun for a while to visualize the content of inference pipelines, it's nothing short of amazing! I really wanted live views of my gstreamer pipelines, so I've started to write a tool with egui [0]. Looks like rerun's GraphView doesn't support subgraphs and horizontal layouts yet, but I'm sure I'll soon be able to just have a gstreamer tracer that pushes reruns logs. That's better than having to find…

Thank you for linking your project—that looks really cool! I saw you also implemented a pan-and-zoom area. We are currently working on moving Rerun's implementation to egui [0], so maybe keep an eye on that.

It would be super cool to have layered graph drawing in (Sugiyama-style) in Rerun too. The tricky–but super interesting–challenge that we face is that our layout implementations need to be consistent across timestamps if the underlying structure of the graph changes, which is why we initially chose a force-based layout approach. There, the time-varying aspect is handled naturally by the simulation.

The very interactive nature of Rerun also poses more restrictions on the implementation of our algorithms: re-layouts ideally need to be fast, to produce visualizations quickly, especially when scrubbing the timeline.

I still hope we can rid you of some of the todos ;).

[0](https://github.com/emilk/egui/pull/5505)

Re: Show HN: Interactive graphs in Rerun with a Rust port of D3-force

#12

Hi, Jochen from Rerun here (@grtlr on GitHub)! I implemented most of the graph view, including Fjädra [0], our Rust port of the excellent d3-force [1]. Happy to answer any questions! [0]( https://github.com/grtlr/fjadra ) [1]( https://d3js.org/d3-force )

What makes d3-force so excellent that you'd want to port it? Do force layouts have a lot of subtlety?

Re: Show HN: Interactive graphs in Rerun with a Rust port of D3-force

#13
post #12

Hi, Jochen from Rerun here (@grtlr on GitHub)! I implemented most of the graph view, including Fjädra [0], our Rust port of the excellent d3-force [1]. Happy to answer any questions! [0]( https://github.com/grtlr/fjadra ) [1]( https://d3js.org/d3-force )

What makes d3-force so excellent that you'd want to port it? Do force layouts have a lot of subtlety?

For us it was a mixture of multiple things: It’s a very mature library that has been stable over the last years and became the de facto standard in web-based visualizations, where—just as in Rerun—interactivity plays an important role. The predefined forces that ship with it make it very flexible and are easily extensible. Finally, having worked with it a fair amount in the past, personal preferences surely played their part as well.

Re: Show HN: Interactive graphs in Rerun with a Rust port of D3-force

#14
post #12

Hi, Jochen from Rerun here (@grtlr on GitHub)! I implemented most of the graph view, including Fjädra [0], our Rust port of the excellent d3-force [1]. Happy to answer any questions! [0]( https://github.com/grtlr/fjadra ) [1]( https://d3js.org/d3-force )

What makes d3-force so excellent that you'd want to port it? Do force layouts have a lot of subtlety?

I’m such a D3 fan that I wish I could follow the creator his current project Observable, but D3 just interests me way more.
Post reply on HN