
Rerun Rust 示例运行指南从cargo run到可视化与数据保存的完整实战【免费下载链接】rerunVisualize, query, and stream to train on multimodal robotics data.项目地址: https://gitcode.com/GitHub_Trending/re/rerun导读本文以 Rerun 仓库中 examples/rust/README.md 为核心系统讲解如何运行仓库内全部 Rust 示例程序从最基础的cargo run -p 示例名命令开始逐一说明--spawn、--save、--connect、--serve四种互斥的输出模式以及.rrd数据文件的保存与打开方式、示例专属参数查看方法和数据集下载前置步骤。读完本文你将掌握在本地运行 Rerun Rust SDK 示例、将日志流式传输到本地/远程/网页 Viewer以及导出.rrd文件进行离线回放的完整技术能力。示例一览与运行前提Rerun 仓库的 Rust 示例全部位于 examples/rust 目录下每个示例是一个独立的 Cargo 工作区成员。从仓库结构看examples/rust/下目前包含 30 个示例目录涵盖点云可视化minimal、相机与三维检测objectron、网格与 3D 资产raw_mesh、蓝图配置blueprint、自定义可视化器custom_visualizer、数据帧查询dataframe_query等场景。所有示例都通过依赖路径方式引用 Rerun SDK 本体。以 minimal/Cargo.toml 为例[dependencies] rerun { path ../../../crates/top/rerun }也就是说示例编译时直接使用仓库内 crates/top/rerun 下的源码不依赖已发布的 crates.io 版本。因此运行示例前请确保仓库已完整检出且 Rust 工具链满足示例的rust-version要求当前示例要求edition 2024与rust-version 1.96及以上。运行示例基础命令与 Viewer 自动拉起运行任一示例只需一条命令cargo run -p 示例名例如运行最简点云示例cargo run -p minimal这条命令会编译对应 crate-p指定包名并启动程序。默认行为下示例会自动启动一个 Rerun Viewer 进程并把日志数据实时流式发送给它。Viewer 的查找顺序在 examples/rust/README.md 中有明确说明在debug 构建下优先使用target/debug/rerun即本地已构建的 Viewer 可执行文件若该文件不存在则回退到在系统PATH中查找rerun命令。这意味着如果希望在 debug 模式下快速启动示例而不预先安装rerunCLI可以先用cargo build构建出target/debug/rerun可执行文件示例即可自动复用。提示各示例子目录的 README 推荐使用 release 模式运行以获得更好性能例如minimal与objectron均给出cargo run --release命令详见 minimal/README.md 与 objectron/README.md。四种互斥输出模式--spawn/--save/--connect/--serve大部分示例都预置了一组 Rerun 通用命令行参数这组参数彼此互斥一次只能使用其中一个。它们是参数作用典型场景--spawn启动本地 Viewer 并实时推送数据默认行为本地交互式调试与观察--save SAVE将日志数据保存为.rrd文件而非立即可视化离线记录、后续复现、批量生成测试数据--connect [IP:PORT]连接并发送数据到远程Rerun Viewer数据采集端与显示端分离的场景--serve连接并发送数据到基于 Web 的Rerun Viewer无需安装桌面 Viewer、浏览器即可查看由于这些 flag 是互斥的实际使用时应根据目标选择其一。例如把objectron示例的数据保存到文件cargo run -p objectron -- --save data.rrd注意在cargo run中--之后的部分才会作为参数传递给示例程序本身。远程与 Web 模式的适用前提从实现层面看--connect与--serve依赖 Rerun 的 gRPC 流式传输能力这部分逻辑位于 crates/data_flow/re_grpc_client 与 crates/data_flow/re_grpc_server 等 crate 中。使用--connect时需确保目标地址上已运行一个可接受连接的 Rerun Viewer例如通过rerun --serve或rerun的监听端口模式启动使用--serve时则由示例启动服务端、由 Web Viewer 拉取数据。如需了解这两类流式链路的具体配置可参考 crates/data_flow/re_grpc_client/README.md 与 crates/data_flow/re_grpc_server/README.md。保存并回放.rrd数据文件--save生成的.rrdRerun Recording Data文件可以随时离线回放rerun data.rrd或者在仓库工作区内直接通过 Cargo 运行 Viewercargo run -- data.rrd需要注意的是examples/rust/README.md 明确提示.rrd文件目前不保证任何向后或向前兼容性——用某一个 Rerun 版本生成的.rrd文件很可能无法被另一个版本的 Rerun 打开。因此保存.rrd时应记录生成它的 Rerun 版本号共享.rrd文件给他人时需确保双方使用同一 Rerun 版本或同一仓库 commit 构建的版本。这一约束也与 examples/README.md 中的建议一致确保 SDK 版本与示例代码匹配必要时通过git checkout v版本切换到对应 tag。查看示例专属参数--help除通用 Rerun flag 外部分示例还带有示例专属参数例如控制处理帧数、数据规模等。查看某个示例的完整参数列表cargo run -p objectron -- --help输出会同时列出 Rerun 通用 flags上述四种模式与示例自身的参数。例如objectron示例在构建时支持--framesN参数以限制处理的视频帧数该参数在 objectron/README.md 的 frontmatter 中被用作 CI 构建参数build_args [--frames100]运行时同样可以通过cargo run -p objectron --release -- --frames50等方式传入。数据集下载示例运行的前置步骤部分示例需要下载小规模数据集才能运行例如objectron需要 Google Objectron 数据集。官方推荐的方式是先运行同名 Python 示例由它负责下载数据集每个需要数据集的示例 README 中都会说明具体下载方式。数据集下载后会存放在每个示例目录下的dataset子目录中该目录已被写入仓库根目录的.gitignore因此不会污染版本控制。整个仓库的数据集管理约定与 Python/C 示例保持一致详见 examples/README.md 的示例结构说明。四个核心示例逐个解读examples/rust/README.md 重点列出的四个示例覆盖了 Rerun 最常用的数据类型可以作为学习 SDK 的起点1.minimal点云可视化的最小闭环cargo run -p minimal这是最简单的 Rerun 示例生成一个三维彩色立方体并作为点云记录。从 minimal/README.md 的元数据可知它同时是官方 Getting Started 指南examples/python/minimal目录下两相对照可以快速理解 Rerun 各语言 SDK 的 API 映射关系。2.objectron多模态三维目标检测数据cargo run -p objectron该示例演示如何记录 Google Research Objectron 数据集涵盖四类核心数据类型点Points稀疏点云图像Images逐帧视频帧相机外参Camera extrinsics刚体变换Rigid3相机内参Camera intrinsics针孔相机变换Pinhole这是理解 Rerun「把相机位姿、图像与点云在同一个空间坐标系中对齐显示」能力的经典示例。运行前需先通过同名 Python 示例下载 Objectron 数据集相关下载与解析逻辑可参考 examples/python/objectron 下的脚本与 proto 文件。3.raw_mesh三角网格与预打包 3D 资产cargo run -p raw_mesh读取一个 GLTF 网格文件并分别以两种形式记录原始三角数据raw triangle data直接记录顶点与索引预打包 3D 资产prepacked asset记录完整的网格资源同时演示刚体变换rigid transforms的使用适合学习 3D 网格资产在 Rerun 中的两种组织方式及各自适用场景。4.dnaGetting Started 指南配套示例cargo run -p dna这是官方 Rust Getting Started 指南 目录。更多示例与进阶方向除上述四个示例外examples/rust 目录还提供了大量进阶示例可按需探索蓝图与界面blueprint蓝图配置、blueprint_stocks、extend_viewer_ui扩展 Viewer UI、viewer_callbacks自定义扩展custom_callback、custom_importer、custom_store_subscriber、custom_view、custom_visualizer数据接入log_file回放文件、external_importer、incremental_logging增量记录、shared_recording多流共享、stdio标准输入输出、spawn_viewer程序化启动 Viewer、minimal_serve数据查询与处理dataframe_query数据帧查询、lenses数据透镜领域应用animated_urdfURDF 机器人模型、clock、graph_lattice、state_timeline、revy集成第三方 Rust 游戏引擎每个示例目录均包含独立的Cargo.toml与README.mdREADME 的 frontmatter 中声明了title、description、tags等元数据这些内容会被官方文档站渲染成示例页面示例清单及标签规范见 examples/manifest.toml 与 examples/tags.toml。从 examples/README.md 的目录结构约定可以看出Rust 示例统一遵循examples/rust/name/{README.md, Cargo.toml, src/main.rs}的组织方式新增示例可参考 examples/rust/template 模板。小结围绕 examples/rust/README.md本文完整梳理了 Rerun Rust 示例的运行链路cargo run -p 示例名启动并自动拉起 Viewer → 通过--save将数据落盘为.rrd→ 用rerun data.rrd离线回放 → 借助--connect/--serve对接远程或 Web Viewer同时明确了.rrd的版本兼容性限制、dataset目录的数据集管理方式以及minimal、objectron、raw_mesh、dna四个入门示例各自演示的数据类型。按此流程操作即可快速跑通从「写一行日志代码」到「三维可视化的完整数据流」并以此为起点深入 Rerun 的进阶能力。【免费下载链接】rerunVisualize, query, and stream to train on multimodal robotics data.项目地址: https://gitcode.com/GitHub_Trending/re/rerun创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考