From c62f718347857f9b815749745dc8a8c340e17274 Mon Sep 17 00:00:00 2001 From: Vidur Vij Date: Thu, 2 Apr 2026 18:12:10 -0700 Subject: [PATCH 1/6] Add show collision mesh toggle to Newton viewer Add show_collision option to NewtonVisualizerCfg and corresponding checkbox in the Newton viewer UI, allowing users to visualize collision meshes at runtime. --- .../isaaclab_visualizers/newton/newton_visualizer.py | 4 ++++ .../isaaclab_visualizers/newton/newton_visualizer_cfg.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer.py b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer.py index 70d44d1956f7..c663d612eb07 100644 --- a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer.py +++ b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer.py @@ -190,6 +190,9 @@ def _render_left_panel(self): show_contacts = self.show_contacts changed, self.show_contacts = imgui.checkbox("Show Contacts", show_contacts) + show_collision = self.show_collision + changed, self.show_collision = imgui.checkbox("Show Collision", show_collision) + show_springs = self.show_springs changed, self.show_springs = imgui.checkbox("Show Springs", show_springs) @@ -316,6 +319,7 @@ def initialize(self, scene_data_provider: BaseSceneDataProvider) -> None: self._viewer.show_joints = self.cfg.show_joints self._viewer.show_contacts = self.cfg.show_contacts + self._viewer.show_collision = self.cfg.show_collision self._viewer.show_springs = self.cfg.show_springs self._viewer.show_com = self.cfg.show_com diff --git a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py index 2449db73b5e3..49bd185a5d35 100644 --- a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py +++ b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py @@ -43,6 +43,9 @@ class NewtonVisualizerCfg(VisualizerCfg): show_springs: bool = False """Show spring visualization.""" + show_collision: bool = False + """Show collision visualization.""" + show_com: bool = False """Show center of mass visualization.""" From d232e022e1d91f85414b3e1f762c6f7eec1ce293 Mon Sep 17 00:00:00 2001 From: vidurv-nvidia Date: Thu, 2 Apr 2026 18:15:40 -0700 Subject: [PATCH 2/6] Update source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Signed-off-by: vidurv-nvidia --- .../isaaclab_visualizers/newton/newton_visualizer_cfg.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py index 49bd185a5d35..0e816d8f1978 100644 --- a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py +++ b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py @@ -43,9 +43,15 @@ class NewtonVisualizerCfg(VisualizerCfg): show_springs: bool = False """Show spring visualization.""" + show_contacts: bool = False + """Show contact visualization.""" + show_collision: bool = False """Show collision visualization.""" + show_springs: bool = False + """Show spring visualization.""" + show_com: bool = False """Show center of mass visualization.""" From 0d0d99a335a3647886e13ded81974f6af10c5ae9 Mon Sep 17 00:00:00 2001 From: vidurv-nvidia Date: Thu, 2 Apr 2026 23:31:58 -0700 Subject: [PATCH 3/6] Update source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py Co-authored-by: isaaclab-review-bot[bot] <270793704+isaaclab-review-bot[bot]@users.noreply.github.com> Signed-off-by: vidurv-nvidia --- .../newton/newton_visualizer_cfg.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py index 0e816d8f1978..b75e944a875b 100644 --- a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py +++ b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py @@ -40,8 +40,18 @@ class NewtonVisualizerCfg(VisualizerCfg): show_contacts: bool = False """Show contact visualization.""" + show_joints: bool = False + """Show joint visualization.""" + + show_contacts: bool = False + """Show contact visualization.""" + + show_collision: bool = False + """Show collision visualization.""" + show_springs: bool = False """Show spring visualization.""" + """Show spring visualization.""" show_contacts: bool = False """Show contact visualization.""" From 9e6d2ffdcd16bfc7f9328d7e037d8140d550c0e1 Mon Sep 17 00:00:00 2001 From: vidurv-nvidia Date: Thu, 2 Apr 2026 23:32:45 -0700 Subject: [PATCH 4/6] Update newton_visualizer_cfg.py Signed-off-by: vidurv-nvidia --- .../isaaclab_visualizers/newton/newton_visualizer_cfg.py | 1 - 1 file changed, 1 deletion(-) diff --git a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py index b75e944a875b..c23fa6af7d06 100644 --- a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py +++ b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py @@ -51,7 +51,6 @@ class NewtonVisualizerCfg(VisualizerCfg): show_springs: bool = False """Show spring visualization.""" - """Show spring visualization.""" show_contacts: bool = False """Show contact visualization.""" From 2ec08d962da1203eebc527cc2f65a1de32b80264 Mon Sep 17 00:00:00 2001 From: Vidur Vij Date: Thu, 2 Apr 2026 23:38:51 -0700 Subject: [PATCH 5/6] Remove duplicate variable definitions in NewtonVisualizerCfg show_joints, show_contacts, show_collision, and show_springs were defined multiple times. Keep each once and preserve the new show_collision field. --- .../newton/newton_visualizer_cfg.py | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py index c23fa6af7d06..4d8082c2240d 100644 --- a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py +++ b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py @@ -40,21 +40,6 @@ class NewtonVisualizerCfg(VisualizerCfg): show_contacts: bool = False """Show contact visualization.""" - show_joints: bool = False - """Show joint visualization.""" - - show_contacts: bool = False - """Show contact visualization.""" - - show_collision: bool = False - """Show collision visualization.""" - - show_springs: bool = False - """Show spring visualization.""" - - show_contacts: bool = False - """Show contact visualization.""" - show_collision: bool = False """Show collision visualization.""" From 82e14f928a08533795c38a6e6325c4be3fa3e736 Mon Sep 17 00:00:00 2001 From: Vidur Vij Date: Fri, 3 Apr 2026 14:36:40 -0700 Subject: [PATCH 6/6] Add show inertia boxes toggle to Newton viewer Add show_inertia_boxes option to NewtonVisualizerCfg and corresponding checkbox in the Newton viewer UI, allowing users to visualize body inertia boxes at runtime. --- .../isaaclab_visualizers/newton/newton_visualizer.py | 4 ++++ .../isaaclab_visualizers/newton/newton_visualizer_cfg.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer.py b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer.py index c663d612eb07..9ffeb062065d 100644 --- a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer.py +++ b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer.py @@ -196,6 +196,9 @@ def _render_left_panel(self): show_springs = self.show_springs changed, self.show_springs = imgui.checkbox("Show Springs", show_springs) + show_inertia_boxes = self.show_inertia_boxes + changed, self.show_inertia_boxes = imgui.checkbox("Show Inertia Boxes", show_inertia_boxes) + show_com = self.show_com changed, self.show_com = imgui.checkbox("Show Center of Mass", show_com) @@ -321,6 +324,7 @@ def initialize(self, scene_data_provider: BaseSceneDataProvider) -> None: self._viewer.show_contacts = self.cfg.show_contacts self._viewer.show_collision = self.cfg.show_collision self._viewer.show_springs = self.cfg.show_springs + self._viewer.show_inertia_boxes = self.cfg.show_inertia_boxes self._viewer.show_com = self.cfg.show_com self._viewer.renderer.draw_shadows = self.cfg.enable_shadows diff --git a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py index 4d8082c2240d..b89e0a2d547c 100644 --- a/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py +++ b/source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer_cfg.py @@ -46,6 +46,9 @@ class NewtonVisualizerCfg(VisualizerCfg): show_springs: bool = False """Show spring visualization.""" + show_inertia_boxes: bool = False + """Show inertia box visualization.""" + show_com: bool = False """Show center of mass visualization."""