kind-kitchen-2583
06/25/2025, 1:57 PMCallbacks
The Viewer API also allows registering callbacks for certain events.
For example, here is how you would react to entities being selected in the Viewer:
viewer.on("selection_change", (event) => {
for (const item of event.items) {
if (item.type === "entity") {
console.log(item.entity_path);
}
}
});
rapid-france-81005
06/25/2025, 12:16 PMlocation $BASE_PATH/rerun/ {
proxy_pass http://localhost:9090/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location = $BASE_PATH/ws {
return 301 $scheme://$http_host$BASE_PATH/ws/;
}
location $BASE_PATH/ws/ {
proxy_pass http://localhost:9877/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
As of 0.23, the connection switched to grpc and I can't make it work the same way.
How can I get rerun running inside the pod?
My goal is to connect a vscode webviewer which can execute python code which logs to a rerun web viewer instance.
Using rrd files would work but does not push data (I don't want to refresh the view).bumpy-rose-11730
06/23/2025, 7:41 PMabundant-article-60550
06/18/2025, 6:41 PMRecordingStream
to "early out" when disabled. However, I'm finding that connect_tcp
doesn't seem to require a connection to a valid viewer for connect_tcp(url).is_ok()
to return ErrorCode::Ok
. For instance, if I don't open a Rerun viewer and run my application, I get the following:
CLI OPTION SET: Rerun viewer IP:PORT = 127.0.0.1:9876
[2025-06-18T18:15:12Z WARN re_sdk_comms::buffered_client] Failed to send message after 3 attempts: Failed to connect to Rerun server at 127.0.0.1:9876: Connection refused (os error 111)
[2025-06-18T18:15:15Z WARN re_sdk_comms::buffered_client] Dropping messages because tcp client has timed out.
[2025-06-18T18:15:15Z WARN re_sdk_comms::buffered_client] Dropping messages because tcp client has timed out.
[2025-06-18T18:15:15Z WARN re_sdk_comms::tcp_client] Tried to flush while TCP stream was still Pending. Data was possibly dropped.
Connected to 127.0.0.1:9876
Rerun logging enabled.
echoing-agency-30693
06/17/2025, 3:57 PMquick-battery-49741
06/16/2025, 12:13 PMvictorious-crayon-58185
06/13/2025, 6:09 AM--drop-at-latency
flag: https://rerun.io/docs/howto/visualization/limit-ram#dropatlatency in the documentation, but what is the way to incorporate this using C++ similar to memory limit spawn options?dry-crowd-37372
06/05/2025, 10:02 PMrich-forest-94678
06/05/2025, 6:25 PMabundant-article-60550
06/05/2025, 12:22 AMc++
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)})
);
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=685d3b93&is=685bea13&hm=1bd34107e68da97a68af404c17a0e601eabcf51bb7708b11358f59333491b0e9&
https://cdn.discordapp.com/attachments/1379978709775286343/1379978712698851358/image.png?ex=685d3b93&is=685bea13&hm=50537b579e12a51f37dce13fb61642f92e48eaa05871de1749538023006c5ec5&quiet-restaurant-13188
06/04/2025, 9:09 PMrough-queen-83338
06/04/2025, 7:57 AMquaint-truck-38174
06/03/2025, 11:59 AMaloof-terabyte-11591
06/02/2025, 7:58 PMquaint-truck-38174
06/02/2025, 6:49 PMnutritious-ocean-76932
05/30/2025, 1:57 PMDisconnectedSpace
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!cold-rainbow-50460
05/27/2025, 8:58 AMrerun.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&wide-twilight-79510
05/27/2025, 8:43 AMimport 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.acoustic-country-63831
05/27/2025, 8:27 AMrs
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.acoustic-country-63831
05/26/2025, 8:30 AMPointCloudBuilder
.
- 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 🤔.cold-rainbow-50460
05/26/2025, 2:20 AMsome-room-85362
05/22/2025, 6:45 PMenough-greece-70683
05/22/2025, 3:18 PMorange-house-80427
05/22/2025, 1:14 PM0.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.enough-greece-70683
05/21/2025, 6:31 PMquiet-restaurant-13188
05/21/2025, 8:17 AMenough-greece-70683
05/20/2025, 8:13 PMdt = datetime.datetime.fromtimestamp(t_ns / 1e9, tz=datetime.timezone.utc)
rr.set_time("timestamp_gimbaled_camera", timestamp=dt)
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&wonderful-pizza-10806
05/20/2025, 5:12 PMquiet-restaurant-13188
05/19/2025, 4:41 PMposes/action/components/x
poses/proprio/components/x
and right now I'm using the filters
+ 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.
+ poses/x/action
+ poses/x/proprio
but that doesn't fit my visualizer logic.helpful-cricket-73183
05/19/2025, 12:36 PMauto 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 },
} } });