Skip to content

fix: rename teleop blueprints, remove VisualizingTeleopModule#1602

Merged
paul-nechifor merged 5 commits intodevfrom
ruthwik/fix/teleop
Mar 19, 2026
Merged

fix: rename teleop blueprints, remove VisualizingTeleopModule#1602
paul-nechifor merged 5 commits intodevfrom
ruthwik/fix/teleop

Conversation

@ruthwikdasyam
Copy link
Contributor

@ruthwikdasyam ruthwikdasyam commented Mar 19, 2026

Problem

VisualizingTeleopModule was redundant now that the Rerun bridge auto-visualizes all to_rerun() capable messages (including PoseStamped)

Closes DIM-597

Solution

  • Removed VisualizingTeleopModule and teleop_visualization.py - replaced by rerun_bridge() in teleop_quest_rerun blueprint
  • Removed arm_teleop_visualizing blueprint (redundant)
  • [refactor] Renamed teleop blueprints to group under teleop_* prefix

Breaking Changes

None (Blueprints are renamed, not called anywhere else)

How to Test

  • dimos run teleop-quest-rerun opens rerun,
    connect with meta quest, and shows quest controller poses in rerun

Contributor License Agreement

  • I have read and approved the CLA.

@ruthwikdasyam ruthwikdasyam marked this pull request as ready for review March 19, 2026 00:33
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Mar 19, 2026

Greptile Summary

This PR cleans up the teleop module by removing the now-redundant VisualizingTeleopModule (and its associated teleop_visualization.py helpers) in favor of composing the generic rerun_bridge() directly into the teleop_quest_rerun blueprint, and renames all teleop blueprints to use a consistent teleop_* prefix (e.g. arm-teleop-xarm7teleop-quest-xarm7, phone-go2-teleopteleop-phone-go2).

  • VisualizingTeleopModule and teleop_visualization.py deleted; Rerun visualization is now handled by composing rerun_bridge() as a first-class module in teleop_quest_rerun
  • All five old arm-teleop-* blueprints replaced with four teleop-quest-* equivalents (the standalone arm-teleop and arm-teleop-visualizing are merged into the single teleop-quest-rerun entry)
  • All three phone blueprints renamed to teleop-phone* for naming consistency
  • all_blueprints.py and all_modules.py updated accordingly; visualizing-teleop-module entry removed from the module registry
  • Documentation (AGENTS.md, teleop READMEs) updated to reflect the new names
  • Minor: the utils/ directory tree in dimos/teleop/README.md still shows ├── for teleop_transforms.py, which should be └── now that it is the sole remaining file in that directory

Confidence Score: 5/5

  • Safe to merge — purely a refactor with clean deletions and renames; no functional logic changes to the teleop control path.
  • All removals are complete (no dangling references to deleted symbols remain anywhere in the codebase), the registry is correctly regenerated, and the new blueprint composition (arm_teleop_module + rerun_bridge) follows the existing pattern used elsewhere. The only issue found is a cosmetic README tree-connector character.
  • No files require special attention beyond the minor tree-connector fix in dimos/teleop/README.md.

Important Files Changed

Filename Overview
dimos/teleop/quest/blueprints.py Replaces old arm_teleop* blueprints with consistently prefixed teleop_quest_* names; the old visualizing blueprint is replaced by composing rerun_bridge() directly into teleop_quest_rerun.
dimos/robot/all_blueprints.py Auto-generated registry updated to reflect all renamed blueprints and the removal of arm-teleop-*, visualizing-teleop-module, and old phone blueprint entries.
dimos/teleop/quest/quest_extensions.py VisualizingTeleopModule class and its blueprint factory cleanly removed; remaining ArmTeleopModule and TwistTeleopModule are unchanged.
dimos/teleop/utils/teleop_visualization.py File deleted; its visualize_pose and visualize_buttons helpers are superseded by the generic rerun_bridge() which auto-calls to_rerun() on any PoseStamped messages.
dimos/teleop/phone/blueprints.py Phone blueprints renamed from phone_go2_teleop/simple_phone_teleop to teleop_phone_go2/teleop_phone for consistent teleop_* prefix; logic unchanged.
dimos/teleop/README.md Updated to reflect new blueprint names and removed VisualizingTeleopModule docs; minor tree-connector formatting bug (├── should be └──) for teleop_transforms.py in utils/.

Sequence Diagram

sequenceDiagram
    participant QB as Quest Browser (WebXR)
    participant ATM as ArmTeleopModule
    participant RB as RerunBridgeModule
    participant LCM as LCM Transport
    participant RR as Rerun Viewer

    QB->>ATM: QuestControllerState (WebSocket)
    ATM->>ATM: Frame transforms + engage logic
    ATM->>LCM: PoseStamped (left/right_controller_output)
    ATM->>LCM: Buttons

    Note over RB: Subscribes to all LCM topics
    LCM-->>RB: PoseStamped (auto-detected via to_rerun())
    RB->>RR: rr.log(entity_path, pose.to_rerun())

    Note over RB,RR: Button scalars, axes, etc. also logged if to_rerun() exists
Loading

Last reviewed commit: "fix: comments"

@paul-nechifor paul-nechifor merged commit c0692bf into dev Mar 19, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants