Skip to content

Commit 3653b5f

Browse files
committed
Update environment catalog and task IDs
Synchronize the illustrated and generated environment documentation with registered tasks and preset selectors. Add Kit screenshots and canonical versionless IDs while preserving released names as deprecated aliases. Add developer guidance that keeps future catalog and documentation updates validated.
1 parent 564a008 commit 3653b5f

15 files changed

Lines changed: 628 additions & 486 deletions

File tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../skills/developer/isaaclab-updating-environment-docs
143 KB
Loading
137 KB
Loading
201 KB
Loading

docs/source/overview/environments.rst

Lines changed: 439 additions & 473 deletions
Large diffs are not rendered by default.

scripts/environments/list_envs.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,9 @@ def main():
8787
task_specs = [
8888
spec
8989
for spec in gym.registry.values()
90-
if "Isaac" in spec.id and (args_cli.keyword is None or args_cli.keyword in spec.id)
90+
if "Isaac" in spec.id
91+
and not spec.kwargs.get("deprecated")
92+
and (args_cli.keyword is None or args_cli.keyword in spec.id)
9193
]
9294

9395
if args_cli.show_presets:
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
name: isaaclab-updating-environment-docs
3+
description: Keeps the illustrated environment catalog and generated comprehensive table synchronized with task registrations and preset selectors. Use when adding or renaming an Isaac Lab environment, changing its physics, renderer, or domain presets, or reviewing environment documentation completeness.
4+
audience: developer
5+
status: experimental
6+
owners:
7+
- isaaclab-maintainers
8+
---
9+
10+
# Updating Environment Documentation
11+
12+
## When To Use
13+
14+
Use this skill whenever a registered environment is added or renamed, or when its accepted ``physics=``, ``renderer=``, or ``presets=`` selectors change.
15+
16+
## Workflow
17+
18+
1. Read the task registration and configuration to identify its training ID, inference ID, workflow, RL-library entry points, and selectable presets. Use versionless ``Isaac-`` IDs for core tasks and versionless ``IsaacContrib-`` IDs for contributed tasks. Preserve released IDs as deprecated aliases when renaming is necessary. Distinguish selectable presets from fixed configuration: if a task supports only one hard-wired backend, leave its Presets cell empty instead of adding or documenting a single-option selector.
19+
2. Update the appropriate illustrated category table in ``docs/source/overview/environments.rst``. Add a concise description, exact selector groups, source-link substitutions, and a representative screenshot under ``docs/source/_static/tasks/`` when the world is new. Capture catalog screenshots with the Kit visualizer so their rendering matches the existing gallery unless the section deliberately documents another visualizer.
20+
3. Run the registry-backed updater:
21+
22+
```bash
23+
./isaaclab.sh -p tools/update_environments_rst.py
24+
```
25+
26+
This rewrites the comprehensive table from the Gym registry and groups names under ``physics=``, ``renderer=``, and ``presets=``.
27+
4. Review the generated diff. Do not edit content between the comprehensive-list marker comments by hand.
28+
5. Confirm the illustrated table and comprehensive table both contain the task and agree with the task's accepted selectors.
29+
6. When the documentation update is part of a PR, build the docs and require a clean result. The docs target runs Sphinx with warnings treated as errors, so any warning or error must be resolved before publishing the PR.
30+
31+
## Validation
32+
33+
Run:
34+
35+
```bash
36+
./isaaclab.sh -p tools/update_environments_rst.py --check
37+
./isaaclab.sh -p scripts/environments/list_envs.py --show_presets
38+
./isaaclab.sh -d
39+
./isaaclab.sh -p tools/skills/cli.py check
40+
```
41+
42+
Require ``./isaaclab.sh -d`` to exit successfully with no warnings or errors. Inspect the compiled
43+
``docs/_build/current/source/overview/environments.html`` page and verify that every new image and
44+
substitution target renders correctly.
45+
46+
## Maintenance
47+
48+
Keep this workflow synchronized with the environment catalog markers, the registry collector, the preset CLI, and the environment-list script. When those tools change, update the source documentation behavior first and keep this skill as a concise routing checklist.
49+
50+
## References
51+
52+
- [Environment catalog](../../../docs/source/overview/environments.rst)
53+
- [Environment documentation collector](../../../tools/environ_docs.py)
54+
- [Environment documentation updater](../../../tools/update_environments_rst.py)
55+
- [Environment list script](../../../scripts/environments/list_envs.py)
56+
- [Preset CLI](../../../source/isaaclab_tasks/isaaclab_tasks/utils/preset_cli.py)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Copyright (c) 2022-2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
2+
# All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
6+
interface:
7+
display_name: "Update Environment Docs"
8+
short_description: "Keep environment catalog entries and presets current"
9+
default_prompt: "Use $isaaclab-updating-environment-docs to update the environment catalog for a new or modified task."

skills/developer/pr-workflow/SKILL.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,12 @@ Do not use this skill to bypass repository checks or to push to `origin`.
2121
2. Confirm the branch is focused on one logical change.
2222
3. Run targeted tests for the touched behavior.
2323
4. For skill changes, inspect the changed skill's adjacent `evaluations.md` when present, plus directly linked `examples.md` or `reference.md`, and confirm the representative scenarios still match the skill guidance.
24-
5. Run formatting and lint checks with `./isaaclab.sh -f`.
25-
6. Add package changelog fragments when `source/<package>/` code changes.
26-
7. Check whether `CONTRIBUTORS.md` needs an update for a new contributor.
27-
8. Draft a commit message in imperative mood with no AI attribution.
28-
9. Use the PR checklist in `.github/PULL_REQUEST_TEMPLATE.md`.
24+
5. If the PR changes documentation, run `./isaaclab.sh -d` and require a successful build with no warnings or errors. The docs target treats Sphinx warnings as errors.
25+
6. Run formatting and lint checks with `./isaaclab.sh -f`.
26+
7. Add package changelog fragments when `source/<package>/` code changes.
27+
8. Check whether `CONTRIBUTORS.md` needs an update for a new contributor.
28+
9. Draft a commit message in imperative mood with no AI attribution.
29+
10. Use the PR checklist in `.github/PULL_REQUEST_TEMPLATE.md`.
2930

3031
## Validation
3132

@@ -41,6 +42,12 @@ For targeted tests, use:
4142
./isaaclab.sh -p -m pytest PATH_TO_TEST
4243
```
4344

45+
If documentation changed, require a warning-free build:
46+
47+
```bash
48+
./isaaclab.sh -d
49+
```
50+
4451
If skills changed, run:
4552

4653
```bash

skills/developer/pr-workflow/examples.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Input: a PR modifies `docs/source/overview/`.
2323

2424
Expected workflow:
2525

26-
1. Build or preview docs when the change affects rendering.
26+
1. Run `./isaaclab.sh -d` and require the build to complete without warnings or errors.
2727
2. Run `./isaaclab.sh -f`.
2828
3. Do not add a package changelog fragment unless `source/<package>/` changed.
2929

0 commit comments

Comments
 (0)