https://rerun.io logo
Join Discord
Powered by
  • How to save to file and visualize live in viewer at the same time
    d

    dry-crowd-37372

    06/05/2025, 10:02 PM
    When I include rr.save('adslfkj.rrd') I no longer see any data streamed live to the viewer. I can later open up the .rrd file but that's a bit annoying. Can I view the live data and write to file at the same time?
    0
    o
    • 2
    • 2
  • alloc::raw_vec::finish_grow unbounded heap leak C++
    r

    rich-forest-94678

    06/05/2025, 6:25 PM
    We are using the C++ sdk with c++20 std. Used valgrind massif to log the heap allocations. With rerun logging on I am seeing unbounded growth and with it off I am seeing a flat profile which is expected. We have rerun actively logging to the viewer over the network and are seeing data showing up. We are filling up 8 gigs of ram in less than 30 seconds when we are not profiling. I am using version 0.22.1 include(FetchContent) FetchContent_Declare( rerun_sdk URL https://github.com/rerun-io/rerun/releases/download/0.22.1/rerun_cpp_sdk.zip ) FetchContent_MakeAvailable(rerun_sdk) I am not sure if this issue is relevant but it has no reply https://github.com/mozilla/uniffi-rs/issues/2470 Any thoughts or suggestions are appreciated! https://cdn.discordapp.com/attachments/1380251130340315146/1380251131027914793/L824KW8tjiEcBAAAAAAAAAAAAAAAAAAAAAAAAAPgS2BYqflFizSdhKtDc9ZjHcd2T7LvrPRKPAgAAAAAAAAAAAAAAAAAAAAAAAACArU46UfM8Oc2zlcecJj4t998WkW4757ZpscSjAAAAAAAAAAAAAAAAAAAAAAAAAAAAp3TWsPYsx28KSIlHAQAAAAAAAAAAAAAAAAAAAAAAAAAAzqlxfGpmj81mc2jkQWyfgAAAABJRU5ErkJggg.png?ex=68433289&is=6841e109&hm=19bd5fe511206219031c16aa8fc746cb6537589ad52b7b96d77431f6dde5d3c2& https://cdn.discordapp.com/attachments/1380251130340315146/1380251131816579142/L824KW8tjiEcBAAAAAAAAAAAAAAAAAAAAAAAAAPgS2BYqflFizSdhKtDc9ZjHcd2T7LvrPRKPAgAAAAAAAAAAAAAAAAAAAAAAAACArU46UfM8Oc2zlcecJj4t998WkW4757ZpscSjAAAAAAAAAAAAAAAAAAAAAAAAAAAAp3TWsPYsx28KSIlHAQAAAAAAAAAAAAAAAAAAAAAAAAAAzqlxfGpmj81mc2jkQWyfgAAAABJRU5ErkJggg.png?ex=68433289&is=6841e109&hm=a89116ceaf92ed6e11e9fb1144b199990fa7b432de39e5a3797b1d8611b47f20& https://cdn.discordapp.com/attachments/1380251130340315146/1380251132651114627/5K2BmM6gAAAABJRU5ErkJggg.png?ex=68433289&is=6841e109&hm=be1d5ec563edb23a008815a579839c3951a64e2a2e5c1eb9104b0dde1efafce6&
    0
    e
    • 2
    • 4
  • Point3D/Ellipse3D Transparency
    a

    abundant-article-60550

    06/05/2025, 12:22 AM
    is there a way to log semi-transparent Points3D or Elipsoids3D? I tried reducing the the alpha channel of the color, but that didn't work.
    Copy code
    c++
    rec.log(
        "sphere/point",
        rerun::Points3D({{sphere.center.x, sphere.center.y, sphere.center.z}})
            .with_radii({sphere.radius})
            .with_colors({rerun::Color(0, 0, 255, 5)})
    );
    Copy code
    c++
    rec.log(
        "sphere/ellipsoid",
        rerun::Ellipsoids3D::from_centers_and_radii(
            {{sphere.center.x, sphere.center.y, sphere.center.z}},
            {sphere.radius}
        )
            .with_colors({rerun::Color(0, 0, 255, 5)})
    );
    https://cdn.discordapp.com/attachments/1379978709775286343/1379978711935357009/image.png?ex=684234d3&is=6840e353&hm=63be10ac3aa392401f7d23c8d71a999f0e9ac8f1d4e72fc4f5ef3f8f08e0392e& https://cdn.discordapp.com/attachments/1379978709775286343/1379978712698851358/image.png?ex=684234d3&is=6840e353&hm=04c3ffb12b71ca270762dfddbffb236c2f235642368fcac9b71796c4a2352e36&
    0
    e
    • 2
    • 2
  • Viewer slow when logging ~90 entities at 10 fps
    q

    quiet-restaurant-13188

    06/04/2025, 9:09 PM
    Hello, to be fair I am not sure whether this is an actual issue of just expected behavior but for my application (I am logging the current position of a humanoid robot) I need to log 33 Transform3D and 51 Scalars at minimum 10fps. What I am observing is that after around 2 minutes of logging the Viewer accumulate a certain delay showing old data instead of the most recently logged one. Is this expected? I would like to log rgb and depth and log at a higher frequency but that makes the issue much worse. I've attached an rrd to show the amount of entities I am logging. Rerun version: 0.23.2 Tested both on windows and linux https://cdn.discordapp.com/attachments/1379930097724690492/1379930098207031407/data.rrd?ex=6842078d&is=6840b60d&hm=ed2298e31e63ca4061e22124b65682702c2e81934110663d3a9ed561fed76721&
    0
    e
    • 2
    • 6
  • export rerun data to LeRobot v2.1 format dataset
    r

    rough-queen-83338

    06/04/2025, 7:57 AM
    Hello, I want to use ReRun for AI robotics, to record datasets compatible with LeRobot models training. I assume I need to record my data with rerun, then implement a data pipeline to transform the data into the LeRobot format. Here are details about the LeRobot data specs: https://docs.phospho.ai/learn/lerobot-dataset Can you give me some pointers on how to do that? Would this be easy or would I end up reimplementing everything from scratch?
    0
    o
    • 2
    • 7
  • Adjust timeline size
    q

    quaint-truck-38174

    06/03/2025, 11:59 AM
    Hello! Is there a way to adjust the timeline size or hidden by default? I am rendering rerun visualizations in an iframe so the scene visualization ends up being really small https://cdn.discordapp.com/attachments/1379429260976062555/1379429261185912873/Screenshot_2025-06-03_at_2.57.32_PM.png?ex=6840351c&is=683ee39c&hm=45f7dee2cded1f814ad2c2c579593a7fbad60dcdbac9e76d825f5328bdf07174&
    0
    e
    i
    • 3
    • 6
  • Unable to view data
    a

    aloof-terabyte-11591

    06/02/2025, 7:58 PM
    Hey everyone I'm new to using rerun, and Im unable to get the examples to run! I'm trying to use the 3d viewer, so I ran the below code in a jupyter notebook. """Log some very simple points.""" import rerun as rr rr.init("rerun_example_points3d", spawn=True) rr.log("points", rr.Points3D([[0, 0, 0], [1, 1, 1]])) rerun looks like its receiving the data, but the actual data field is empty. I'm not seeing any points popullating. Am I missing something?
    0
    s
    • 2
    • 3
  • Timeline messing with non temporal items
    q

    quaint-truck-38174

    06/02/2025, 6:49 PM
    Hello! I am trying to create a timeline to show past and future of some elements in a 3D scene. For these temporal elements I set rr.set_time_nanos("time", t) when I log them. However, all the static elements that should always be visible seem to get messed up when I do that even though I don't specify a time for them. Is the a way to log items and make them always visible no matter what timestamp I am on? I have my temporal elements under "world/dynamic" and the others "world/static" . I saw there is an "overrides" tried doing something there like: rrb.Vertical( rrb.Spatial3DView( name="3D View", origin="/world", time_ranges=[ rr.VisibleTimeRange( "time", start=rr.TimeRangeBoundary.cursor_relative(seconds=-10.0), end=rr.TimeRangeBoundary.cursor_relative(seconds=5.0), ) ], overrides={ "/world/static": [rc.Visible(True)], # Always visible }, but I get an error. I am a bit confused reading the documentation so any help would be appreciated 🙂
    0
    e
    • 2
    • 9
  • DisconnectedSpace, View Spawning and Rust Blueprints
    n

    nutritious-ocean-76932

    05/30/2025, 1:57 PM
    I'm migrating my rust application to 0.23 from 0.20. I see that
    DisconnectedSpace
    was deprecated, then removed. One migration document suggest that a deliberately invalid
    Transform3d
    can serve the same purpose, another document suggests the view-spawning heuristic was removed. So I just want to confirm, are Blueprints the only way to spawn views now? I don't have complicated layout needs beyond spawning views, so I'd rather not go the blueprints route while it's still python only. 2nd question: I see some blueprints items exported with the rust-sdk. Is it possible to do Blueprint stuff with the rust-sdk? I'm willing to work with an underdocumented API to avoid python, but I don't want to spend a lot of time on it only to eventually learn that's currently not possible. Thanks!
    0
    i
    e
    • 3
    • 7
  • Data of different sizes are loaded in the local rerun and rerun.io/viewer
    c

    cold-rainbow-50460

    05/27/2025, 8:58 AM
    Hello. I noticed a strange thing. When I used
    rerun.io/viewer
    to view the results of data visualization using nuscenes, I noticed that the size of the loaded data was 103MB. When I saved it as an
    .rrd
    file, the size of this `.rrd
    file was **93MB**. However, when I git the code to the local computer and ran the program, I found that the size of the loaded data was **396MB**. When I saved the data as an
    .rrd` file, I found that the size of this
    .rrd
    file was 355MB. I'm very curious about why there is such a big difference in size between the data loaded in `rerun.io/viewer
    and the data I load locally with code, and there is also some difference in size between the data saved in
    .rrd` and the actual loaded data. I used the code implemented locally in python. Thanks! https://cdn.discordapp.com/attachments/1376846878133452801/1376847022241615882/data.jpg?ex=6836d036&is=68357eb6&hm=e1860eb9e02c092e68627fce6a78f37455c964878c1269c054a641440f49661e& https://cdn.discordapp.com/attachments/1376846878133452801/1376847022732087318/data_local.jpg?ex=6836d036&is=68357eb6&hm=348f94171b5e45e28853e5f8d28f04288294126f1f232b9cbc7b97d872577364& https://cdn.discordapp.com/attachments/1376846878133452801/1376847023071952896/data_rerun-io.jpg?ex=6836d036&is=68357eb6&hm=e7d11ac3be975f5c0810a8eae46f3adf7847efe2d312e1371eb0dbca2b970ab5&
    0
    e
    • 2
    • 4
  • View logs live and stream to file at the same time
    w

    wide-twilight-79510

    05/27/2025, 8:43 AM
    I want to view logs live and also stream them to a file at the same time. My goal is to have live visualisations, but also store log files in case something goes wrong. My experience is that usually, combining spawn and save results in silent failures and nothing being logged. Right now, I'm at this piece of code
    Copy code
    import rerun as rr
    
    # Create a recording stream (acts as a log "sink")
    rec_stream = rr.RecordingStream("my_app")
    
    # Optionally, also spawn the viewer to see logs live
    #rr.init("my_app", spawn=False)
    rr.spawn(connect=True, recording=rec_stream)
    
    # Also save the stream to a file
    rec_stream.save("my_log.rrd")
    
    # Now log your data
    for i in range(1000):
        rec_stream.log("world", rr.Points3D(positions=[[1*i, 2, 3]]))
    which does not log to the saved file. Changing the order of lines changes the behaviour: sometimes I get logs in the file, sometimes in the live viewer, but never in both.
    0
    e
    • 2
    • 2
  • reduce re_renderer wgpu friction
    a

    acoustic-country-63831

    05/27/2025, 8:27 AM
    I'm looking into using wgpu code through re_renderer, but the different caches and handles are forcing me to rewrite most of the code with a bunch of rerun specific boilerplate to fetch cache (I have to use hashable wrappers and their keys), it would come a long way if I could just reuse a wgpu struct and hide the cache logic. maybe a "simple" transformation function could be used: I suspect it would greatly reduce the mental overhead of renderers too.
    Copy code
    rs
    impl RenderPipelineDesc {
        pub fn try_from(
            ctx: &RenderContext,
            // The user doesn't need much rerun knowledge, plain wgpu is enough.
            desc: wgpu::RenderPipelineDescriptor<'_>,
        ) -> Result<RenderPipelineDesc, ()> {
            Ok(Self {
                label: desc.label.into(),
                // cache key is retrieved automatically
                pipeline_layout: ctx.gpu_resources.pipeline_layouts.get_or_create(
                    ctx,
                    // Cache again
                    PipelineLayoutDesc::try_from(ctx, desc.layout.ok_or(())?)?,
                ),
                // etc...
                ...
            })
        }
    }
    posting as discussion to gauge if that's worth an issue.
    0
    e
    • 2
    • 3
  • Render a compute shader result from GPU
    a

    acoustic-country-63831

    05/26/2025, 8:30 AM
    I'm looking into using rerun stack for visualizing real-time fluid simulation: https://github.com/Vrixyz/rerun/pull/2 ; I'd like to render my GPU data, can you help me through it ? How it works currently: - I use re_renderer - each frame, I run my own compute shader to advance the simulation - each frame, I read GPU data into CPU to write it back to GPU, through
    PointCloudBuilder
    . - I'd like this step to stay in GPU, likely a custom shader step to copy my own data into the data for rerun's point cloud ? Does that make sense ? I'm not too sure where to start, and I'm not sure how to sync the batch data 🤔.
    0
    e
    • 2
    • 4
  • Use the code method to make the default theme of rerun serve light
    c

    cold-rainbow-50460

    05/26/2025, 2:20 AM
    Hello, I really like the light theme mode you added in rerun 0.24.0a1. However, I want rerun to display the light theme directly through code. I'm using python-sdk. Besides, for the time being, I can only find the Rerun Python APIs of rerun rerun 0.23.2. I hope you can provide the rerun Python APIs of rerun 0.24.0a1. Looking forward to the official release of your version 0.24.1. Thanks!
    0
    e
    • 2
    • 7
  • Instantiate a blueprint object from an rbl file in python code
    s

    some-room-85362

    05/22/2025, 6:45 PM
    Hello, is there a way to create a blueprint object in code from an rbl file? I'd like to load a blueprint saved in an rbl file when spawning a rerun viewer in code. I'm using the python sdk.
    0
    e
    e
    • 3
    • 9
  • Timeline for the web viewer to stream data
    e

    enough-greece-70683

    05/22/2025, 3:18 PM
    Hey everyone, We've got a critical performance issue with the rerun web viewer. It's trying to load multiple large videos, resulting in the rrd file being larger than 10GB+ file being pulled into memory. This makes the viewer incredibly slow, buggy, and often causes crashes. Data streaming is absolutely essential here to make the viewer usable. My Questions: When can we expect this streaming feature to be ready? Can we prioritize this development? The current state is a major bottleneck. Any insights or experience with implementing video streaming in web viewers would be hugely appreciated! Thanks!
    0
    e
    • 2
    • 5
  • Mesh3D not visible / no visualizer selected by default
    o

    orange-house-80427

    05/22/2025, 1:14 PM
    Using
    0.22.0
    , I am logging lots and lots of
    rr.Mesh3D
    . When looking at the
    rr.SpatialView3D
    , none of the meshes are visible. If I click through them, and open up the entity in the tree, I see that no Visualizers are selected. If I manually add a Mesh3D visualizer, it shows up. (other options are rr.Arrow3D and rr.Points3D. Is there any way I can make it the default? I couldn't really figure out the overrides regarding visualizers yet. Note, that I have hundreds of meshes in a deeply nested tree, so manually clicking through it would be a pain.
    0
    e
    • 2
    • 2
  • Duration of GeoPoints and GeoLineStrings
    e

    enough-greece-70683

    05/21/2025, 6:31 PM
    How to set duration if I want some geopoints to stay longer than just the setTime, the way I am getting past this right now is setting a new entityPath for each drawing, even though it should be the same and it slows down the application quite a bit doing it this way.
    0
    e
    • 2
    • 2
  • Gradio_Rerun Performance Issues
    q

    quiet-restaurant-13188

    05/21/2025, 8:17 AM
    When I log a lot of data to rerun (a few hundred entities every 50ms), the visualizer embedded in gradio becomes laggy and some logged data is lost. If I visualize the data just with rerun (with no gradio) everything works perfectly.
    0
    o
    i
    • 3
    • 14
  • Timeline issues
    e

    enough-greece-70683

    05/20/2025, 8:13 PM
    I am having issues where my timeline is not showing up. Using 23.2 and linux, I am sending in two timestamps using
    Copy code
    dt = datetime.datetime.fromtimestamp(t_ns / 1e9, tz=datetime.timezone.utc)
                    rr.set_time("timestamp_gimbaled_camera", timestamp=dt)
    Copy code
    dt = datetime.datetime.fromtimestamp(int(ts_ns) / 1e9, tz=datetime.timezone.utc)
                    rr.set_time("timestamp_vehicle", timestamp=dt)
    https://cdn.discordapp.com/attachments/1374480038803800154/1374480039038550156/image.png?ex=682e33c9&is=682ce249&hm=e0812f7e54f033dbebbfc109b6f11074ec0ef93bbf3b439dce29dcfbb69bf9ee&
    0
    e
    i
    • 3
    • 6
  • Visualizing different timelines at once
    w

    wonderful-pizza-10806

    05/20/2025, 5:12 PM
    Hi! We have a use case where we want to log information from various sources that use different timestamps (ticks vs actual time). We have at least one source that contains values for both timeline. Right now we're using a manual asOf join to put everything onto the same timeline before logging, but can't rerun also take care of that for me? I feel like that would be one of the main reasons why someone would use multiple different timelines in Rerun, but I can't find anything about that documented.
    0
    e
    • 2
    • 3
  • General Entity Path Filters
    q

    quiet-restaurant-13188

    05/19/2025, 4:41 PM
    Hello, I want my view to display the entities (they are scalars)
    Copy code
    poses/action/components/x
    poses/proprio/components/x
    and right now I'm using the filters
    Copy code
    + poses/action/components/x/**
    + poses/proprio/components/x/**
    I would like to have a more general filter like
    + poses/**/x/**
    I know I could restructure the entity paths to end with the values I want to generalize on e.g.
    Copy code
    + poses/x/action
    + poses/x/proprio
    but that doesn't fit my visualizer logic.
    0
    e
    • 2
    • 5
  • Visual bounds 2D are all NaN
    h

    helpful-cricket-73183

    05/19/2025, 12:36 PM
    Hi All, I'm trying to visualize some simple 2D data in rerun, but nothing is showing up inside the main viewport, even though if I check the data in rerun, it all looks correct, except for one thing: All values in my "visual bounds 2D" are NaN. My guess is that these visual bounds are the reason why I'm not seeing anything, but I can't figure out why this is happening. Any idea what I'm doing wrong? A minimal example with which it happens is this
    Copy code
    auto rerun_recording_stream = std::make_unique<rerun::RecordingStream>("Navigation");
        rerun_recording_stream->connect_tcp(fmt::format("{}:{}", rerun_ip, rerun_port)).exit_on_failure();
        rerun_recording_stream->log("path", rerun::LineStrips2D{ rerun::LineStrip2D{ {
                                                { 1.55f, 3.03f },
                                                { 11.27f, 6.05f },
                                                { 8.07f, 14.41f },
                                                { 15.25f, 23.05f },
                                            } } });
    0
    e
    • 2
    • 5
  • Opening saved rrd file fails on local rerun viewer, but works on browser
    b

    boundless-boots-55737

    05/19/2025, 3:07 AM
    Hello, I am running the latest version of rerun (23.2) and logging an image stream from a simulation environment directly to file via
    rerun.save
    . After saving the files, when opening them up in a local rerun viewer, it fails and I get the following messages
    Copy code
    [2025-05-19T03:04:30Z INFO  re_data_loader::load_file] Loading "/mnt/crucialSSD/maniskill_evals/rerun_test/2025-05-18_23-04-03/traj_0_seed_1000000.rrd"…
    [2025-05-19T03:04:30Z ERROR re_data_loader::load_file] Failed to load data from file path="/mnt/crucialSSD/maniskill_evals/rerun_test/2025-05-18_23-04-03/traj_0_seed_1000000.rrd" loader="rerun.data_loaders.Rrd" err=failed to create retryable file reader for "/mnt/crucialSSD/maniskill_evals/rerun_test/2025-05-18_23-04-03/traj_0_seed_1000000.rrd"
    . What's weird is that loading the same files into the browser app works fine. I've confirmed the rerun viewer version is the same as what I used to log the files. Any help would be greatly appreciated!
    0
    e
    l
    i
    • 4
    • 13
  • Append updates to a 2D tensor and visualize as a whole
    g

    gifted-fireman-49455

    05/14/2025, 2:54 PM
    My (C++) app produces a single row of floats (size 1250) at a time. I'm logging this as a Tensor I'd like to visualize the 2D tensor as a heatmap that grows down as rows are appended My naive approach is to cache all prior rows in my app and send them all at once as a tensor every time there's an update. Rerun displays this as a 2D heatmap by default, which is great. But this is obviously very inefficient and duplicates a ton of data I believe the columnar API and/or Tensor::update_fields().with_data() is useful here, but I can't tell how to do this correctly from the examples Any help is much appreciated!
    0
    e
    • 2
    • 6
  • Rerun + Gradio Simple Example
    q

    quiet-restaurant-13188

    05/10/2025, 5:43 PM
    Hello, I would like to view my rerun Visualizer from a web browser and since at some point I would like to add interactive functionalities I figured using Gradio is the right way to go. What is the simples way to do it? Should I use gradio_rerun?
    0
    o
    • 2
    • 4
  • Efficient Asset3D Logging and Pose Update
    a

    abundant-article-60550

    05/08/2025, 1:20 PM
    Is there a way to log an
    Asset3D
    and update its transform over time using its path? Or do I have to keep a reference to the
    Asset3D
    (obtained via
    from_file
    in the C++ SDK) around and log it on every frame? What I have tried: 1. Log the asset via
    log_static
    and
    from_file
    at
    ../camera_model
    at the start of the application. Then logging a transform at every pose update. Rerun doesn't seem to like many logs to a static component (based on red indicators on the components within the
    camera_model
    path. There is also no
    Asset3DIndicator
    under
    camera_model
    within the timeline. 2. Same as #1 except using
    log
    instead of
    log_static
    . No
    Asset3DIndicator
    under
    camera_model
    . 3. Log the asset via
    log
    and
    from_file
    prior to every transform log at the time of the pose update. This works, but I would think this is terribly inefficient. I haven't tried creating an
    Asset3D
    via
    from_file
    at the start of the application and passing a reference to it through my application, then logging it and its transform at every pose update.
    0
    e
    • 2
    • 5
  • Clear all logged `Scalars` regardless of their timestamps ?
    n

    narrow-businessperson-49056

    05/06/2025, 2:56 PM
    Hi ! I'm looking for a way to clear all the plotted lines drawn when logging
    Scalars
    and columns of
    Scalars
    . Is there an easy way to achieve this using Python API ? Thanks !
    0
    e
    • 2
    • 9
  • Logging a mesh from an .obj file and an .mtl file
    r

    rhythmic-zoo-42212

    05/06/2025, 1:33 PM
    At the moment im logging a mesh from a given obj file.
    Copy code
    if (std::filesystem::exists(mesh_filepath))
        {
          rec.log("world/asset", rerun::Asset3D::from_file(mesh_filepath).value_or_throw());
        }
    But then there is are not colors - only the mesh is visible. What are my options? I have an mtl file, too.
    0
    e
    • 2
    • 1
  • Colormapping arbitrary values in code
    c

    curved-hospital-54523

    05/06/2025, 9:56 AM
    Hi! I would like to color my point cloud using the same colormap as my depth map uses, based on the forward coordinate. I see that I can specify point colors manually using
    rr::Points3D::with_colors
    . Is it possible to use built-in Rerun colormaps from code to easily create
    rr::Color
    objects from normalized (0.0-1.0) float values, with C++ SDK?
    0
    e
    • 2
    • 3