Skip to content

[Docs] Update environment browser preset combinations - #7493

Merged
kellyguo11 merged 4 commits into
isaac-sim:developfrom
StafaH:fix/environment-browser-preset-options
Sep 3, 2026
Merged

[Docs] Update environment browser preset combinations#7493
kellyguo11 merged 4 commits into
isaac-sim:developfrom
StafaH:fix/environment-browser-preset-options

Conversation

@StafaH

@StafaH StafaH commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Description

Updates the registry-backed environment catalog and command generator so preset options reflect combinations that are available end-to-end.

  • Excludes newton_mjwarp from the 17 task combinations identified as unavailable by the full OSMO smoke-test matrix.
  • Regenerates all 136 environment entries, capturing other registry drift in preset selectors, RL entry points, and preview metadata.
  • Adds focused regression coverage for task-specific preset exclusions while preserving MJWarp for supported tasks.

OSMO is the runner that exposed these unsupported combinations; this change does not introduce an OSMO flag or disable a runtime preset. It prevents the documentation browser from advertising combinations that the runtime compatibility results show are unavailable.

Release backport

  • Backport this pull request to the active release branch after it merges into develop

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • Documentation update

Screenshots

Not applicable; this updates generated environment metadata and command options.

Validation

  • uv run --frozen python -m pytest --confcutdir=tools/test tools/test/test_environ_docs.py -q (27 passed)
  • node --check docs/source/_static/css/environment-browser.js
  • uv run --frozen python tools/update_environments_rst.py --check
  • uv run --frozen isaaclab -f
  • uv run --isolated --extra test -- make -C docs current-docs
  • git diff --check

Checklist

  • I have run the formatter and relevant tests.
  • I have updated the documentation generated from the environment registry.
  • No source package changed, so no changelog fragment is required.

@StafaH
StafaH requested a review from a team September 2, 2026 19:02
@github-actions github-actions Bot added bug Something isn't working documentation Improvements or additions to documentation infrastructure labels Sep 2, 2026
@greptile-apps

greptile-apps Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR filters newton_mjwarp from 17 task-specific documentation presets and regenerates the environment catalog to reflect current registry metadata.

  • Adds an exact task/preset exclusion stage after physics-preset normalization.
  • Regenerates browser and RST environment metadata, including physics selectors and preview information.
  • Adds focused coverage for one excluded task and one supported task, but does not exercise the complete exclusion list.

Confidence Score: 4/5

The PR appears safe to merge, with the non-blocking concern that most exact task-specific exclusions lack direct regression coverage.

The filtering path uses fresh per-environment preset maps and the generated outputs reflect the intended compatibility adjustment; the remaining concern is maintenance coverage for 16 independently named exclusions.

Files Needing Attention: tools/test/test_environ_docs.py

Important Files Changed

Filename Overview
tools/environ_docs.py Adds the 17-task MJWarp exclusion list and applies it to freshly collected physics presets without mutating shared registry state.
tools/test/test_environ_docs.py Covers filtering behavior for one excluded and one supported task, leaving the other 16 exact-name exclusions unverified.
docs/source/_static/css/environment-browser.js Regenerates browser task metadata so excluded combinations disappear and current registry metadata is represented.
docs/source/overview/environments.rst Regenerates the comprehensive environment tables and curated selector metadata consistently with the catalog update.

Reviews (1): Last reviewed commit: "[Docs] Update environment browser preset..." | Re-trigger Greptile

Comment on lines +204 to +219
def test_preset_exclusions_remove_only_runtime_disabled_task_combinations():
presets = {
PresetTarget.PHYSICS: ["isaacsim_physx", "newton_mjwarp"],
PresetTarget.RENDERER: ["isaacsim_rtx", "newton_renderer"],
PresetTarget.DOMAIN: ["rgb"],
}

excluded = _apply_preset_exclusions("IsaacContrib-Stack-Cube-Franka", presets)
unchanged = _apply_preset_exclusions("Isaac-Lift-Franka", presets)

assert excluded == {
PresetTarget.PHYSICS: ["isaacsim_physx"],
PresetTarget.RENDERER: ["isaacsim_rtx", "newton_renderer"],
PresetTarget.DOMAIN: ["rgb"],
}
assert unchanged == presets

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.

P2 Exclusion list lacks full coverage

The generator relies on 17 independently maintained exact task IDs, but this test exercises only IsaacContrib-Stack-Cube-Franka. A misspelled, removed, or stale entry among the other 16 can re-advertise an unsupported newton_mjwarp command while the regression test continues to pass; parameterize this test over the complete exclusion set.

@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 PR adds a task-scoped newton_mjwarp exclusion list and regenerates the environment catalog so 17 unsupported contrib task/backend combinations are no longer offered by the documentation browser or comprehensive RST listing.

  • Design and architecture: The exclusion is centralized in _apply_preset_exclusions and applied before all documentation and browser-row derivation, including Warp frontend support detection. The hardcoded Gym IDs are a deliberate maintenance tradeoff: task renames could silently make exclusions stale, but the focused regression coverage and generated-file consistency checks provide reasonable protection.
  • API: No public runtime API or CLI argument changes. The generated documentation selector surface intentionally changes by removing unsupported newton_mjwarp choices, while browser row structure and generation markers remain compatible. No source package changed, so the package changelog requirement does not apply.
  • Implementation: The 17 exclusions are reflected consistently in both generated artifacts, while newton_mjwarp remains available for supported sibling tasks such as Blueprint, Visuomotor, and UR10 long-suction variants. The helper returns a copied mapping rather than mutating its input. Grouped curated rows continue to present unioned presets across grouped variants, which is an existing representational tradeoff rather than a regression in the generated per-task browser data.

No blocking issues. No inline issue met the actionable-evidence threshold; the assessment above records the review feedback.

Automated review; human maintainers own approval decisions.

…browser-preset-options

# Conflicts:
#	docs/source/_static/css/environment-browser.js
#	docs/source/overview/environments.rst
#	tools/test/test_environ_docs.py
@StafaH

StafaH commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Sep 2, 2026
…browser-preset-options

# Conflicts:
#	docs/source/_static/css/environment-browser.js
@StafaH

StafaH commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Sep 2, 2026
@StafaH

StafaH commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Sep 2, 2026
@kellyguo11
kellyguo11 merged commit 23ef387 into isaac-sim:develop Sep 3, 2026
45 of 46 checks passed
kellyguo11 added a commit that referenced this pull request Sep 3, 2026
Backports #7493 to `release/3.0.0`.

The original cherry-pick conflicted. An NVIDIA inference model proposed
this resolution, and deterministic validation confirmed that it changes
no paths outside the original PR. Because conflict resolution cannot be
certified as an exact patch replay, this PR is intentionally a draft and
requires release-maintainer review.

| Field | Commit |
|---|---|
| Original merged change | `23ef3873f56fd78dab79158f26860502ae23aade` |
| Release base used | `1344cfbf4f739d64474a929570e1a9465d0a9aad` |
| Proposed backport | `f2b422047519f5c8f65e58ca9bb7c3b79868f208` |

---------

Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Mustafa H <34825877+StafaH@users.noreply.github.com>
Co-authored-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
kellyguo11 added a commit that referenced this pull request Sep 3, 2026
…7504) (#7512)

# Description

Backports #7504 to `release/3.0.0` by cherry-picking the actual merged
commit, `541de9a7a91f9e7c24b24b923c0620475a00e051`.

The automatic backport stopped during source validation because the
documentation hunk from #7504 had already reached `develop` through
#7493. GitHub therefore omitted that already-present hunk from #7504's
squash commit, while the PR files API still reported the original
seven-file change. The validator rejected the resulting six-file squash
patch before attempting a cherry-pick.

This PR replays those six remaining files exactly. The overlapping
documentation change is handled separately by #7508.

Failed automation:
https://github.com/isaac-sim/IsaacLab/actions/runs/33710984910/job/100510198896

No runtime dependencies are added.

## Type of change

- Bug fix (non-breaking change which fixes an issue)

## Release backport

- [ ] <!-- backport-active-release --> This PR already targets the
active release branch; do not backport it again.

## Validation

- `uv run --no-project python -m compileall -q` on all three modified
test modules
- `uv run --no-project python tools/changelog/cli.py check
codex-backport-pr-7504-base`
- `uvx --from pre-commit==4.6.2 pre-commit run --all-files` with
`check-changelog-fragments` skipped because that hook assumes
`origin/develop`; the release-base check above passed
- `.github/scripts/backport.py validate-candidate ... --exact_patch`
- `git diff --check upstream/release/3.0.0..HEAD`
- The simulator-backed CUDA regression remains for Linux GPU CI

## Checklist

- [x] I have read and understood the contribution guidelines
- [x] I have run the available pre-commit checks
- [x] Documentation changes are not needed for this six-file backport
- [x] My changes generate no new warnings
- [x] The existing mirrored regression tests cover the fix
- [x] Each touched package includes its original `.skip` changelog
fragment
- [x] My name already exists in `CONTRIBUTORS.md`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants