Skip to content

Adds presets to environment docs and fix doc build issues#5360

Merged
kellyguo11 merged 5 commits into
isaac-sim:developfrom
kellyguo11:docs-add-presets-column
Apr 23, 2026
Merged

Adds presets to environment docs and fix doc build issues#5360
kellyguo11 merged 5 commits into
isaac-sim:developfrom
kellyguo11:docs-add-presets-column

Conversation

@kellyguo11
Copy link
Copy Markdown
Contributor

Description

Adds a new column to the environments list with available presets defined for all example environments.
Fixes recent doc build errors.

Type of change

  • Documentation update

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

Kelly Guo added 2 commits April 22, 2026 22:19
Add a new 'Presets' column to all environment tables in the overview
documentation page. This shows users which preset values (e.g., newton,
physx) are available for each environment when using the presets=...
CLI argument.

Most environments support the 'newton' and 'physx' presets for
switching between simulation backends. Environments without preset
support show an empty cell.
The gymnasium package (v1.3.0) has a circular import issue in its
__init__.py that prevents autodoc from importing any module that
depends on it. This caused 55 warnings during doc builds:
- 27 autodoc import failures (isaaclab.envs, isaaclab_mimic, isaaclab_rl.sb3)
- 12 autosummary import failures
- 9 'don't know which module' warnings (downstream of datagen import failure)
- 2 toctree warnings (orphaned rst files from failed autosummary generation)

Adding 'gymnasium' to autodoc_mock_imports resolves all warnings,
consistent with the existing approach for other heavy dependencies
(torch, numpy, scipy, etc.).
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Apr 22, 2026
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 22, 2026

Greptile Summary

This PR adds a "Presets" column to all environment overview tables and the RL task list-table in environments.rst, documenting which environments support newton and physx physics backends. It also fixes a doc build error by adding gymnasium to autodoc_mock_imports in conf.py.

One documentation consistency concern: the overview grid tables group manager-based and direct environment variants in the same row, so a single newton, physx annotation implicitly applies to all linked environments in that row. The detailed RL table contradicts this for several entries (e.g., Isaac-Franka-Cabinet-Direct-v0, Isaac-Velocity-Flat-Anymal-C-Direct-v0, and Allegro manager-based variants), which could mislead users about which specific variant supports those presets.

Confidence Score: 5/5

Safe to merge — documentation-only changes with a minor table annotation inconsistency that does not break functionality.

All changes are documentation updates. The gymnasium mock import fix is straightforward and correct. The preset column additions are comprehensive and well-structured. The only concern is a P2 documentation inconsistency where overview table rows (spanning multiple env variants) may imply presets apply to all linked environments when the detailed RL table suggests some variants don't have them. This does not block merge.

docs/source/overview/environments.rst — verify whether direct environment variants (e.g., Isaac-Franka-Cabinet-Direct-v0, Isaac-Velocity-Flat-Anymal-C-Direct-v0) actually support newton/physx presets to reconcile the overview and RL tables.

Important Files Changed

Filename Overview
docs/conf.py Adds "gymnasium" to autodoc_mock_imports to fix doc build errors when Sphinx tries to import the gymnasium package.
docs/source/overview/environments.rst Adds a "Presets" column to all environment overview tables and the RL task list-table; some inconsistencies exist between the overview grid tables and the RL list-table regarding which specific environments support newton/physx presets.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[environments.rst] --> B[Overview Grid Tables]
    A --> C[RL Task list-table]
    B --> D["Classic / Manipulation /\nFactory / Locomotion /\nNavigation / Others tables"]
    D --> E["Add 'Presets' column\n(newton, physx where applicable)"]
    C --> F["Add 'Presets' column\nto existing list-table"]
    G[conf.py] --> H["Add 'gymnasium' to\nautodoc_mock_imports"]
    H --> I["Fixes Sphinx build errors\nwhen gymnasium not installed"]
Loading

Reviews (1): Last reviewed commit: "Fix Sphinx build warnings by adding gymn..." | Re-trigger Greptile

Comment on lines +130 to +136
| |cabi-franka| | |cabi-franka-link| | Grasp the handle of a cabinet's drawer and open it with the Franka robot | ``newton``, ``physx`` |
| | | | |
| | |franka-direct-link| | | |
+-------------------------+------------------------------+-----------------------------------------------------------------------------+-----------------------+
| |cube-allegro| | |cube-allegro-link| | In-hand reorientation of a cube using Allegro hand | ``newton``, ``physx`` |
| | | | |
| | |allegro-direct-link| | | |
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 Preset annotation spans multiple env variants — may mislead users

The overview table rows group manager-based and direct environments together, so the newton, physx preset annotation in the rightmost cell visually implies it applies to all environment IDs in that row. However, the RL task table below contradicts this for several environments:

  • Row for |cabi-franka| (lines 130-132): includes |franka-direct-link| (Isaac-Franka-Cabinet-Direct-v0) with newton, physx, but the RL table (line 953) leaves its Presets column empty.
  • Row for |cube-allegro| (lines 134-136): includes |allegro-direct-link|, but Isaac-Repose-Cube-Allegro-v0 and Isaac-Repose-Cube-Allegro-NoVelObs-v0 show no presets in the RL table.
  • Locomotion rows for Anymal C (flat/rough) include |velocity-flat-anymal-c-direct-link| / |velocity-rough-anymal-c-direct-link|, but Isaac-Velocity-Flat-Anymal-C-Direct-v0 and Isaac-Velocity-Rough-Anymal-C-Direct-v0 show no presets in the RL table.

If the direct variants of these environments genuinely do not support newton/physx presets, the overview table is misleading. Consider splitting those rows or adding a note clarifying which variant the preset applies to.

Copy link
Copy Markdown

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

Choose a reason for hiding this comment

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

🤖 Isaac Lab Review Bot

Summary

This PR adds a "Presets" column to all environment documentation tables showing which environments support newton/physx backend presets, and fixes Sphinx build warnings by adding gymnasium to autodoc_mock_imports. The implementation is correct and well-executed.

Architecture Impact

No cross-module impact — both changes are documentation-only. The gymnasium mock addition follows the existing pattern used for other heavy dependencies (torch, numpy, scipy, etc.) and prevents autodoc from attempting to import gymnasium during doc builds.

Implementation Verdict

Ship it — Clean documentation update with no issues found. The presets column provides useful information about backend flexibility, and the gymnasium mock fix addresses a real build warning issue.

Test Coverage

Not required — This is a pure documentation change. The changes do not affect runtime behavior, and the doc build passing in CI validates the changes work correctly.

CI Status

All checks passing ✅

  • pre-commit: pass
  • license-check: pass
  • Build Latest Docs: pass
  • Check for Broken Links: pass

Findings

No issues found. The PR is well-structured:

  1. docs/conf.py (line 189): The addition of "gymnasium" to autodoc_mock_imports is consistent with the existing pattern and correctly resolves the circular import issue in gymnasium v1.3.0 that was causing 55+ warnings during doc builds.

  2. docs/source/overview/environments.rst: The new "Presets" column is consistently applied across all environment tables, correctly uses RST table formatting, and accurately indicates which environments support newton and physx presets.

Note: The commit messages are clear and well-documented, explaining both the what and why of each change.

Kelly Guo added 3 commits April 23, 2026 00:18
Grid tables: Add ovphysx for Direct classic envs, renderer presets
(newton_renderer, ovrtx_renderer) for camera-based envs, and full
camera/resolution presets for Shadow Hand Vision and Dexsuite.

List-table (Table 12): Add complete preset names per environment:
- Direct classic: newton, physx, ovphysx
- Camera showcase: newton_renderer, ovrtx_renderer, isaacsim_rtx_renderer
- Shadow Hand Vision: physics + renderer + all camera data types
- Dexsuite: physics + scene + renderer + all resolution variants
  (rgb/depth/albedo/semantic_segmentation/simple_shading at 64/128/256)
Replace the four individual cartpole camera environment entries
(Isaac-Cartpole-RGB-v0, Isaac-Cartpole-Depth-v0,
Isaac-Cartpole-RGB-Camera-Direct-v0, Isaac-Cartpole-Depth-Camera-Direct-v0)
with the new unified Isaac-Cartpole-Camera-Presets-Direct-v0 task.

The new task selects camera data type via the preset system (presets=rgb,
presets=depth, presets=albedo, etc.) rather than requiring separate
registered environments per data type.

Grid table: Single row with all available presets listed.
List-table: Single entry with complete preset names.
Replace 78 absolute GitHub links (github.com/isaac-sim/IsaacLab/blob/main/...)
with relative paths (../../../source/...) so links work on any branch
without depending on files existing on main.
@kellyguo11 kellyguo11 merged commit 0a9e45c into isaac-sim:develop Apr 23, 2026
8 checks passed
bdilinila pushed a commit to bdilinila/IsaacLab that referenced this pull request Apr 29, 2026
…5360)

# Description

Adds a new column to the environments list with available presets
defined for all example environments.
Fixes recent doc build errors.

## Type of change

- Documentation update

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] 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

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->

---------

Co-authored-by: Kelly Guo <kelly@nvidia.com>
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants