feat: rerun tf tree visualization - #3345
Conversation
Codecov Report❌ Patch coverage is @@ Coverage Diff @@
## main #3345 +/- ##
==========================================
- Coverage 75.80% 75.74% -0.06%
==========================================
Files 1172 1174 +2
Lines 113568 113774 +206
Branches 10258 10290 +32
==========================================
+ Hits 86085 86176 +91
- Misses 24494 24609 +115
Partials 2989 2989
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 3 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Greptile SummaryThis PR adds hierarchical TF-tree visualization to the Rerun bridge and offline planner replay, along with selectable Mid-360 mount presets.
Confidence Score: 4/5The PR should not merge until TF reparenting removes or otherwise invalidates the old CoordinateFrame declaration. When a learned parent changes a frame’s entity path, the current implementation clears only the old arrows before declaring the same coordinate-frame identifier at the new path, so the previously reported conflicting hierarchy remains. Files Needing Attention: dimos/msgs/tf2_msgs/TFMessage.py Important Files Changed
Reviews (3): Last reviewed commit: "Nit" | Re-trigger Greptile |
| now = layout.get(frame) | ||
| if now is None or now.path != was.path: | ||
| rr.log(was.path, rr.Arrows3D(origins=[], vectors=[]), static=True) |
There was a problem hiding this comment.
Reparenting duplicates frame declarations
When a late ancestor changes a frame's entity path, _redraw() clears only the old arrows and then declares the same tf#/frame at the new path. Because Rerun pins a coordinate frame to its declaring entity for the recording, the stale declaration conflicts with the new hierarchy and can leave the displayed TF tree attached to its original parent.
…com:dimensionalOS/dimos into andrew/feat/transform-vis-is-a-good-feature
Contribution path
Problem
There are a lot of cases we want to see all the frames in the tf tree.
Solution
This adds a simple config to automatically display all the frames in rerun with the correct hierarchy.
Also add mid360 presets so we don't need to keep changing transforms in the source code
How to Test
dimos run go2-zenoh-nav --mid360-mount=SFdimos run go2-zenoh-nav --mid360-mount=ATHENSAI assistance
Checklist