dimensionalOS / dimensionalOS/dimos
Rust Rerun Bridge
- Dominant language
- Python
- Stars
- 4.5k
- Forks
- 808
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 233
Description
Most expensive module in dimensional is rerun bridge right now.
dimos/visualization/rerun/bridge.py
It subscribes to ALL topics on ALL pubsubs and processes all, sends to rerun. this is done in python so extremely costly.
The way this works is that it takes all messages and just calls .to_rerun() on them. pointcloud, image, they all have .to_rerun() calls.
If we just write 1-to-1 rerun bridge this would mean reimplemneting all to_rerun calls. which is too much. For a start we'd like an architecture in which we pass specific expensive messages to rust code to feed to rerun. this would be Image and Pointcloud for now. the rest can go through python. so we'd have both python bridge running (with easy .to_rerun() functions people can write on lighter types) and rust bridge for specific costly types/topics.. think about how to implement this graciously, propose something.
Another issue will be protocol support, @andrew just added zenoh to rust and has been owning this transports stuff for native modules, so maybe talk to him how to use both zenoh and LCM for this.
Synced from DIM-1125 by ivan
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.