3 ms·
Is there a public way to add custom Blueprints (https://rerun.io/docs/concepts/blueprint https://rerun.io/docs/concepts/blueprint) and Visualizers (https://reru
by troelsSteegin 2y ago
Is there a public way to add custom Blueprints (https://rerun.io/docs/concepts/blueprint https://rerun.io/docs/concepts/blueprint) and Visualizers (https://rerun.io/docs/concepts/visualizers-and-overrides https://rerun.io/docs/concepts/visualizers-and-overrides)? It looks like yes for Blueprints, reading through https://rerun.io/examples https://rerun.io/examples. I am guessing "not yet" for Visualizers? For example, I'd like to be able to render a Sankey diagram from a "dataflows" Blueprint through the Viewer (https://rerun.io/viewer https://rerun.io/viewer). I realize that non-spatial is not Rerun's focus.
- jgoertler 2y agoCustom visualizers are also supported—in fact the graph view started out as an external visualizer. Here is a tutorial: https://rerun.io/docs/howto/visualization/extend-ui#custom-views-classes https://rerun.io/docs/howto/visualization/extend-ui#custom-v... And here is the corresponding code example: https://github.com/rerun-io/rerun/tree/main/examples/rust/custom_view https://github.com/rerun-io/rerun/tree/main/examples/rust/cu... To write your own graph visualization, you can look into the implementation of our graph view: https://github.com/rerun-io/rerun/tree/main/crates/viewer/re_view_graph https://github.com/rerun-io/rerun/tree/main/crates/viewer/re... In the future we want to provide more types of layouts, dataflow is high up on that list. May I ask what kind of data you want to visualize? Since you mentioned Sankeys, in your case does the structure of the Sankey change as well, or do you only expect the edges to grow/shrink over time?
- troelsSteegin 2y agoThank you for your reply. I am thinking about variable dataflows through a fixed set of nodes -- so, the latter, growing and shrinking edges. The application would be visualizing system dynamics. The stages in the Sankey would be organized by degree of distance from an "intervention" node.
- jgoertler 2y agoThat's very interesting! We're currently working on the plumbing to be able to assign attributes to edges as well—right now it's only possible to style/configure the nodes. Once we have that though, there is another approach that you can take before you go down the path of writing your own visualizer/view: you can also log custom positions for each node. Since the node positions don't change in your case that might get you quite far by statically logging the nodes with a Sankey layout computed by your application.