isaac-sim-bridge
The cxx::bridge core of the Isaac Sim Rust SDK. A Carb C++ plugin (omni.isaacsimrs.bridge) dlopens this crate's cdylib and calls exported bridge entry points that forward sensor buffers into a process-wide consumer registry. Any number of Rust adapters (dora-rs, rerun, custom loggers) register callbacks and receive the forwarded frames on the bridge thread.
rlib (default): links into any downstream without requiring Isaac Sim at compile time. The consumer registration API, channel markers, producer registry, and SourceFilter are all accessible in pure Rust without a C++ toolchain.
cdylib (opt-in feature cdylib): adds the cxx::bridge shim that the C++ extension calls at runtime. Requires ISAAC_SIM pointing at a real Isaac Sim install and a compatible C++ toolchain at link time.
Usage
[]
# rlib path — no Isaac Sim required
= "0.1"
# cdylib path — only for the Kit extension build
= { = "0.1", = ["cdylib"] }
use ;
// Register a callback — runs on the bridge thread each time a FlatScan
// frame arrives from the C++ extension. Keep the closure bounded.
register_lidar_flatscan_consumer;
Part of the isaac-sim-rs SDK. The facade crate re-exports this as the bridge namespace when the bridge or dora or rerun feature is enabled.
Compatibility
| Dependency | Version |
|---|---|
| Isaac Sim | 5.1 |
| cxx | 1 |
| Rust | 1.85+ |
The rlib compiles on any platform. The cdylib requires Linux x86_64 with Isaac Sim 5.1 installed and a C++17 toolchain (gcc 13.3 tested).
License notice for re-publishers
MPL-2.0 is per-file copyleft. If you bundle this crate's binary into your own crate or extension, retain the SPDX header on every source file you include. The full license text is in LICENSE at the repo root.
License
MPL-2.0 (see LICENSE).