Skip to content

[Worflow] Make newton and rsl_rl default across core tasks - #6980

Open
StafaH wants to merge 8 commits into
isaac-sim:developfrom
StafaH:mh/new_defaults_core
Open

[Worflow] Make newton and rsl_rl default across core tasks#6980
StafaH wants to merge 8 commits into
isaac-sim:developfrom
StafaH:mh/new_defaults_core

Conversation

@StafaH

@StafaH StafaH commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Description

Important

Confirm the pull request base before submitting. Target develop for all
contributions. The release/3.0.0-beta2 branch is a frozen stable landing
snapshot and is not used for ongoing maintenance.

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 added a changelog fragment under source/<pkg>/changelog.d/ for every touched package (do not edit CHANGELOG.rst or bump extension.toml — CI handles that)
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@StafaH
StafaH requested a review from a team August 7, 2026 21:45
@StafaH StafaH changed the title Make newton and rsl_rl default across core tasks [Worflow] Make newton and rsl_rl default across core tasks Aug 7, 2026
@github-actions github-actions Bot added the isaac-lab Related to Isaac Lab team label Aug 7, 2026
@greptile-apps

greptile-apps Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR makes Newton MJWarp and RSL-RL the defaults across core tasks while preserving explicit backend selection.

  • Adds task-registered default-agent dispatch when --rl_library is omitted.
  • Changes core physics and renderer presets from Isaac Sim PhysX/RTX to kitless Newton defaults.
  • Adds an RSL-RL PPO configuration for Pendulum and updates runtime/preset tests.

Confidence Score: 5/5

The PR appears safe to merge, with no concrete blocking or non-blocking defects identified in the changed behavior.

Default-agent lookup follows the repository's established Gym task-name convention, and the Newton physics and renderer defaults are coordinated with explicit alternatives and updated compatibility coverage.

Important Files Changed

Filename Overview
source/isaaclab_rl/isaaclab_rl/entrypoints/dispatch.py Resolves an omitted RL-library argument from the selected task's registered default agent while retaining selector help for tasks without a valid default.
source/isaaclab_tasks/isaaclab_tasks/utils/presets.py Changes the default renderer to Newton Warp while retaining explicit Isaac RTX, automatic RTX, and OVRTX alternatives.
source/isaaclab_tasks/isaaclab_tasks/core/pendulum/agents/rsl_rl_ppo_cfg.py Adds the RSL-RL PPO runner configuration needed by Pendulum's new default-agent registration.
source/isaaclab_tasks/isaaclab_tasks/core/lift/lift_env_cfg.py Makes Newton MJWarp the default lift-task physics preset while preserving explicit PhysX alternatives.
source/isaaclab_tasks/test/core/test_runtime_compatibility.py Updates compatibility expectations to verify the new Newton and kitless renderer defaults.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  CLI["Unified train/play CLI"] --> Task["Read --task"]
  Task --> Registry["Gym task registry"]
  Registry --> Agent["default_agent = rsl_rl"]
  Agent --> Backend["RSL-RL backend"]
  Registry --> Config["Core task configuration"]
  Config --> Physics["Newton MJWarp physics"]
  Config --> Renderer["Newton Warp renderer"]
  Physics --> Runtime["Kitless default runtime"]
  Renderer --> Runtime
Loading

Reviews (1): Last reviewed commit: "Make newton and rsl_rl default" | Re-trigger Greptile

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Isaac Lab Review Bot

The new task-registered RSL-RL fallback and Newton MJWarp/Newton Warp defaults are implemented consistently, but both added changelog fragments are empty despite these user-visible behavior changes.

  • Design and architecture: Task-level default_agent metadata provides a centralized backend-selection mechanism, while the preset aliases consistently establish Newton MJWarp and the Newton Warp renderer as defaults. No architectural issue was accepted beyond the missing release documentation for these decisions.
  • API: Explicit --rl_library and explicit physics/renderer presets remain available, but omitted selections now resolve differently. These changed CLI and default-preset behaviors require package changelog entries with appropriate migration guidance.
  • Implementation: The required fragment files exist for isaaclab_rl and isaaclab_tasks, but both are empty and therefore produce no compiled changelog entry. Populate them under the appropriate Changed category, marking the breaking default switch and documenting how users can explicitly retain prior behavior.

Minor fixes needed. Posted 1 actionable finding inline.

Automated review; human maintainers own approval decisions.

@configclass
class MultiBackendRendererCfg(PresetCfg):
default: IsaacRtxRendererCfg = IsaacRtxRendererCfg()
default: NewtonWarpRendererCfg = NewtonWarpRendererCfg()

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Warning · Implementation — Empty changelog fragments for breaking default switch

This change flips resolved defaults (renderer to Newton Warp, core physics/decimation to newton_mjwarp) and makes --rl_library optional, but source/isaaclab_tasks/changelog.d/default-newton-rsl.minor.rst and source/isaaclab_rl/changelog.d/default-newton-rsl.minor.rst were added with no content, so the compiled changelog will carry no entry. Repository rules require a Changed entry per touched package, prefixed with **Breaking:**, plus migration guidance (e.g. selecting presets=isaacsim_physx,isaacsim_rtx to restore prior behavior).

StafaH added 3 commits August 7, 2026 16:01
Making Newton MJWarp and the Newton renderer the defaults changed what
several tests resolved to, so they compared new-backend output against
PhysX/Isaac-RTX baselines or exercised a backend they were not written
for. Select the backend explicitly instead so the resolution no longer
tracks whichever preset is currently the default:

- rendering-correctness and visualizer golden tests pin isaacsim_physx
  and isaacsim_rtx; the baselines are renamed to state the pinned
  backends (contents unchanged).
- the AnymalD determinism suite pins isaacsim_physx, since Newton MJWarp
  is not yet run-to-run deterministic on CUDA for locomotion.

The recorded robot-PoV camera shared by the XR reference tasks is pinned
to the Isaac RTX renderer in the config itself: the Newton renderer
cannot load the UDIM textures of the GR1T2 and G1 assets, so the default
flip aborted PickPlace env creation and Mimic dataset generation.
StafaH added 2 commits August 8, 2026 00:06
The default-flip commit renamed the golden PNGs from
default_physics-default_renderer-* to isaacsim_physx-isaacsim_rtx-*
but deleted the matching -stage.usda goldens instead of renaming
them, so test_rendering_registered_tasks failed with
"Golden stage not found" for both camera tasks.

@hujc7 hujc7 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looking great. Might still need to explicit resolve the physics for some tests if they were using the default physx?

StafaH added 2 commits August 8, 2026 12:34
# Conflicts:
#	source/isaaclab_tasks/isaaclab_tasks/core/lift/config/franka_soft/__init__.py
The develop merge bumped several editable package versions in their
extension.toml files. Refresh the lockfile so it matches the merged
tree.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants