Rerun OSS beta is released
rerun.io
rerun.io
Rerun is still in beta, but we think it’s already good enough to be useful. It is built on wgpu, Apache Arrow, my own egui.rs library, and it also runs as Wasm in the browser.
I'm happy to answer any questions you may have!
PS: Thanks for the shoutout fdb!
…but then again, if you want simplicity and fast compiles, I can recommend the egui-miniquad backend. It's not as fully-featured as eframe, but with some love it could definitely get there.
> Rerun is an SDK for logging data like images, tensors and point clouds, paired with an app that builds visualizations around that data. We built Rerun for computer vision and robotics developers. It makes it easy to debug, explore and understand internal state and data with minimal code. The point is to make it much easier to build computer vision and robotics solutions for the real world.
> When you log data to the Rerun SDK, Rerun handles everything needed to visualize it. It handles live streams from multiple processes across the network, as well as simple playback from recordings. That means taking care of serialization, transport, synchronizing streams, out-of-order data, and automatically constructing visualizations with sane defaults.
so is "record" / "recording" the right concept? When I think of logging I think of exactly lines in a text file (or maybe the "log" from a logging filesystem).
In robotics and autonomy, “log” is commonly used for e.g. sensor data or planning decisions as well. But even outside those fields it isn’t uncommon to talk about logging metrics for instance.
Still, no metaphor is perfect and we have spent a lot of time discussing what word to use. “Record” gives me the sense that the main purpose is to save the data for later. Rerun is also about the live use case. There words like “stream” or “send” could work perhaps.
In the end we decided on “log” because it is short, is already used in a similar way in some of the areas we hope Rerun will be used, and because data can either be stored on disk and/or be streamed/uploaded somewhere (like with regular text logs).
However, one of the reasons we tend to think of our APIs as being "logging" like is that much like other console-logging libraries, the primary purpose is to get data out of your program and into a user-observable form. Also similar to other logging libraries, the APIs are intended to have no side affects on your program so they can actually be disabled with a function call or by setting an environment variable in situations where you don't need the additional context for debugging or inspection.
I appreciate the feedback though and will make sure to take a pass on the docs to see if I can make the relationship and intent a bit more clear.