Skip to content

Select Renderer Hydra Args#4736

Open
bdilinila wants to merge 3 commits intoisaac-sim:developfrom
bdilinila:dev/bdilinila-select-renderer
Open

Select Renderer Hydra Args#4736
bdilinila wants to merge 3 commits intoisaac-sim:developfrom
bdilinila:dev/bdilinila-select-renderer

Conversation

@bdilinila
Copy link

Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
List any dependencies that are required for this change.

Fixes # (issue)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (existing functionality will not work without user modification)
  • Documentation update

Screenshots

Please attach before and after screenshots of the change if applicable.

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@github-actions github-actions bot added documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team labels Feb 26, 2026
@bdilinila bdilinila marked this pull request as ready for review February 26, 2026 13:18
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 26, 2026

Greptile Summary

Adds renderer_type field to CameraCfg allowing Hydra-based runtime selection of renderer backend (RTX vs. Warp). Implements resolution logic in TiledCamera._get_effective_renderer_cfg() to convert string renderer type to concrete config objects.

Key changes:

  • New renderer_type field with Literal type hints ("rtx" | "warp_renderer")
  • Comprehensive Hydra documentation with override path examples
  • Runtime renderer resolution in _get_effective_renderer_cfg() method

Issue found:

  • Missing error handling when isaaclab_newton package is unavailable with renderer_type="warp_renderer" (will raise unhelpful ImportError)

Confidence Score: 3/5

  • Safe to merge after addressing import error handling for missing isaaclab_newton package
  • Score reflects well-documented feature with good design, but missing graceful error handling for optional dependency could cause confusing runtime errors for users
  • source/isaaclab/isaaclab/sensors/camera/tiled_camera.py needs error handling for ImportError

Important Files Changed

Filename Overview
source/isaaclab/isaaclab/sensors/camera/camera_cfg.py Adds renderer_type field with type hints and clear documentation for Hydra overrides
source/isaaclab/isaaclab/sensors/camera/tiled_camera.py Implements renderer resolution logic; missing error handling for unavailable isaaclab_newton package

Last reviewed commit: 547d414

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Comment on lines +234 to +237
if rt == "warp_renderer":
from isaaclab_newton.renderers import NewtonWarpRendererCfg

return NewtonWarpRendererCfg()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing error handling if isaaclab_newton not installed—wrap in try/except to raise helpful message like visualizer_cfg.py does for Newton visualizers (lines 88-92)

Suggested change
if rt == "warp_renderer":
from isaaclab_newton.renderers import NewtonWarpRendererCfg
return NewtonWarpRendererCfg()
if rt == "warp_renderer":
try:
from isaaclab_newton.renderers import NewtonWarpRendererCfg
except ImportError:
raise ImportError(
"Renderer 'warp_renderer' requires isaaclab_newton package. "
"Install the Newton backend and retry."
)
return NewtonWarpRendererCfg()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant