feat(viewer): replace TCP bridge with LCM publisher#2
Open
spomichter wants to merge 1 commit intofeat/interactive-click-bridgefrom
Open
feat(viewer): replace TCP bridge with LCM publisher#2spomichter wants to merge 1 commit intofeat/interactive-click-bridgefrom
spomichter wants to merge 1 commit intofeat/interactive-click-bridgefrom
Conversation
Replace the TCP-based ViewerEventSender with an LCM UDP multicast publisher for sending click events from the Rerun viewer to Python. Changes: - Add interaction/lcm.rs: LcmPublisher that encodes and sends geometry_msgs/PointStamped messages via UDP multicast (239.255.76.67:7667) - Update viewer.rs: use LcmPublisher instead of ViewerEventSender, publish click events on '/clicked_point#geometry_msgs.PointStamped' - Update interaction/mod.rs: export LCM types (ClickEvent, LcmPublisher, click_event_from_ms, click_event_now) The LCM encoding is verified byte-for-byte compatible with Python's dimos_lcm.geometry_msgs.PointStamped via unit tests (10 Rust tests) and cross-language integration tests (15 Python tests). Wire format: [8B fingerprint hash][Header: seq+stamp+frame_id][Point: x+y+z] Fingerprint: 0x9cd764738ea629af (matches Python LCM recursive hash)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
replaces the custom TCP socket bridge with native LCM transport for click events.
what
viewer now publishes
geometry_msgs/PointStampedto/clicked_pointvia LCM UDP multicast (239.255.76.67:7667), matching the rviz/clicked_pointconvention.why
TCP bridge was fragile (port conflicts, connection management, custom protocol). LCM is:
/clicked_pointtopic,frame_id= entity path)changes
interaction/lcm.rsinteraction/mod.rsviewer.rswire format
testing
cross-language wire compat verified — rust and python produce byte-identical payloads.
DIM-643