Earlier this week, we released Rerun 0.25. It brings about improvements to UX, production readiness, and new capabilities. This post will cover the key changes, but check out the full changelog for all the nitty-gritty details.
In Rerun 0.25, we've added several new features to help you visualize and analyze your data more effectively.
Table filtering makes it much easier to find the data you're looking for in large (or small!) tables. This sits on top of quite a bit of infrastructure work behind the scenes the team has been working on for several months, some work that we'll dive into in future blog posts.
This release introduces support for filtering boolean, integer, floating point, and string columns. Plenty of work remains and we look forward to feedback - give it a try and let us know what you think!
Of note is that the text log views and dataframe views use a different widget which does not support filtering.
Thus far, Rerun visualization has been built around .rrd
, the Rerun data format. 0.25 introduces experimental (and partial) support for the MCAP file format.
Our support begins with a subset of ROS2/CDR and Protocol Buffers messages. Individual message and visualization support is limited, but if you're interested, check out the docs for the most up-to-date list of supported message types and limitations.
We'll be blogging about MCAP support in more detail soon - stay tuned!
To get started, you can use the rerun
CLI to convert your data to MCAP format:
rerun your-mcap-file.mcap
If Rerun supports your data types, you should see them in the viewer.
There's much work yet to be done on MCAP support. Development is ongoing so feel free to share your use cases on our GitHub repository. We're looking forward to hearing from you!
So far, Rerun has been (mostly) single player - you working on your machine. With tools like the proxy and the ability to Embed Rerun on web pages, this has progressively changed. However, sharing episodes or data has not been straightforward. This release introduces quality-of-life changes to make sharing easier.
CTRL/CMD + SHIFT + L
to open a URL with the viewer already open.rerun <URL>
to open a URL from the CLI. For instance, open the DNA example: rerun https://app.rerun.io/version/0.24.0/examples/dna.rrd
CTRL/CMD + P
and use copy direct link or click Share
at the top right (on either web or the native viewer).New features are fun, don't get us wrong, but we spend a lot of time and effort to improve what we already have as well. Below are some of the improvements we've made in this release.
The Rerun Viewer data frames and selection panel now feature syntax highlighting(according to data type).
We're seeing more and more use cases of robots navigating the real world autonomously. One thing we wanted to improve upon, to get a better sense of how your robot perceives the world, was to make it easier to navigate through 3D spaces - you can now do this with the mouse in certain 3D views.
Transparency makes it easy to get more information about the whole scene at once!
The source of transparency ("alpha") capability is limited, for now, to a certain set of objects. You can configure transparency for:
Boxes3D
, Ellipsoids3D
, Capsules3D
& Cylinders3D
Mesh3D
's albedo factorAsset3D
's albedo color (depends on the underlying model format)Naturally, there's still a lot of places missing where we'd like to add transparency support! Feel free to drop requests on GitHub.
Rerun is an integral part of the most ambitious robotics projects. Therefore, we're always improving the stability and reliability of Rerun for larger-scale and cutting-edge use cases. While not as 'visual' as some of our other changes, we'd be remiss not to feature the team's work on stability.
In 0.25, we rewrote the flush logic across all SDKs (C++, Python, Rust) with configurable timeouts (and infinite default timeout). This can solve some data loss on slow connections issues while preventing hanging applications - making Rerun more robust for logging in production deployments.
When flushing a recording stream you can now give it a maximum time for how long it should block. The flush will block until either it completes, fails (e.g., because of connection loss), or the timeout is reached. There are some nuances to this behavior and if you're interested in learning more, please see the migration guide for more details.
--serve
flag, which is now --web-viewer
.archetype
specification in AnyValues
.See the migration guide for the details.
We're excited to share that Rerun 0.25 is now available on GitHub and PyPI. We hope you enjoy the new features and improvements, and we look forward to seeing what you do with Rerun.