Skip to content

Update Compass training doc#6132

Open
sameerchavan0027 wants to merge 191 commits into
isaac-sim:release/3.0.0-beta2from
sameerchavan0027:sc/compass-nurec-patch
Open

Update Compass training doc#6132
sameerchavan0027 wants to merge 191 commits into
isaac-sim:release/3.0.0-beta2from
sameerchavan0027:sc/compass-nurec-patch

Conversation

@sameerchavan0027

Copy link
Copy Markdown

Update Compass training doc with gifs and proper links

nvsekkin and others added 30 commits May 20, 2026 17:28
…lers (isaac-sim#5713)

# Description

- Reduce the default `num_steps` from 100 to 20 in `_run_environments`.
- Add `_force_interval_events_to_fire_immediately()` and opt-in
`force_interval_events` on the test helpers.

## 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
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

Adds new release/3.0.0-beta2 to the docs for the QA cycle. This will be
the new release branch as we prepare for the Isaac Lab 3.0.0 Beta 2
release.

## 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
-->
Bumped packages:
- isaaclab: 6.0.0 → 6.1.0
- isaaclab_newton: 0.12.0 → 0.13.0
- isaaclab_ov: 0.3.0 → 0.4.0
- isaaclab_physx: 1.0.0 → 1.1.0
- isaaclab_tasks: 1.10.0 → 1.10.1
# Description

Documents the `JointDrivePropertiesCfg.ensure_drives_exist` flag
introduced in isaac-sim#5251. Adds a troubleshooting entry and a how-to section
so users hitting *"my joints actuate in PhysX but do nothing in Newton
with `ImplicitActuatorCfg`"* can find the fix without having to read the
schemas source.

## Background

Newton's USD importer only materialises a solver actuator for a joint
when the authored `PhysicsDriveAPI` reports a non-zero stiffness or
damping. Many existing assets ship with both at `0`, expecting an
`ImplicitActuatorCfg` (or `IdealPDActuatorCfg`) to supply the gains at
runtime. PhysX creates the actuator regardless and lets the runtime
writes take effect; Newton drops the joint from the actuator set before
the runtime writes can attach.

`ensure_drives_exist=True` on the spawn config writes a minimal
placeholder stiffness (`1e-3`) to any drive whose authored stiffness
*and* damping are both zero, so Newton creates the actuator. The actual
gains still come from the actuator model at runtime.

## Changes

- `docs/source/refs/troubleshooting.rst` — new "Joints actuate in PhysX
but not in a Newton-based backend" section, slotted with the other
physics-stability entries. Includes symptom, cause, and a working code
snippet.
- `docs/source/how-to/import_new_asset.rst` — new "Ensuring joint drives
exist on every joint" section with the labelled anchor
`import-new-asset-ensure-drives-exist` so other pages can
cross-reference the full explanation. Sits between the MJCF importer and
Mesh importer sections since it applies to URDF- and MJCF-imported
assets but not to mesh assets.
- `docs/source/how-to/write_articulation_cfg.rst` — short
cross-reference admonition next to the `ImplicitActuatorCfg` example,
pointing readers to the anchor above.
- `source/isaaclab/changelog.d/antoiner-docs-ensure-drives-exist.skip` —
docs-only, no version bump.

## 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 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 (docs-only)
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file (`.skip` fragment, docs-only)
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
…-sim#5716)

# Description

- Embed a new top-level `env_cfg` block in `teleop_replay_agent.py`'s
stats JSON capturing the perf- and frame-timing-relevant env config
inputs (`sim.dt`, `sim.render_interval`, `decimation`,
`episode_length_s`, `scene.num_envs`, `sim.device`, `sim.use_fabric`,
`sim.render.antialiasing_mode`) plus precomputed `policy_dt_s` /
`render_dt_s` / `renders_per_step` / `target_policy_hz` /
`target_render_hz` rates, so the measured numbers are self-interpreting
across machines and configs without cross-referencing the env
definition. Echoed in a compact `Env timing:` line in the stdout
summary.
- Report `cpu_frame_time_ms` and `fps` (per-run and aggregate) on a
**per-render** basis instead of per-`env.step`: each env.step CPU sample
is divided by `decimation / render_interval` (renders per `env.step`)
before stats are computed. `cpu_frame_time_ms.mean` now reads as the
wall time between rendered frames and `fps.mean` reads as the render
rate -- matching the simulator HUD and the rate the headset wearer /
spectator actually perceives during real-time teleop. Falls back to raw
per-`env.step` units when `decimation` or `render_interval` are
unavailable. Field shapes and `schema_version` are unchanged (v1
unadopted; no bump needed).
- Replace narrative references to "Kit" throughout the script's
docstrings and comments with neutral terms ("the simulator", "the
OpenXR", "simulator-side", etc.) so the documentation reads agnostic of
the underlying runtime brand. The two literal identifiers required to
invoke XR mode (the `--kit_args` CLI flag and
`isaacsim.kit.xr.teleop.bridge` extension name) are preserved in the
usage example.
- Address PR review feedback: drop a dead `env_cfg = None` init whose
comment misleadingly described a `finally`-side report (`_build_report`
actually runs after the try/finally), and normalize `None`-as-`"n/a"`
rendering across the `Env timing:` stdout fields.


Fixes # (issue)

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- New feature (non-breaking change which adds functionality)

## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

adds tabbed installation guide for leapp to support windows workflows.

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
Bumped packages:
- isaaclab_teleop: 0.5.0 → 0.5.1
# Description

Updates environments documentation to include latest presets support,
with separated physics, renderer, and presets options.
Cleans up documentation around experimental features and
isaaclab_contrib.

## 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
-->
# Description

- The default log file path of OVRTX renderer uses
`/tmp/ovrtx_renderer.log` which is Linux specific. We need to use a
cross-platform temp directory instead.
- Redirect OVRTX renderer log to stdout for rendering tests so that we
can view what is going on with CI, e.g. time for shader compilation will
be visible in the CI logs, see `rendering-correctness` test job
(https://github.com/isaac-sim/IsaacLab/actions/runs/26287973633/job/77380393480?pr=5749):
```log
2026-05-22T12:41:09Z [376,470ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 30 seconds so far
2026-05-22T12:41:39Z [406,471ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 60 seconds so far
2026-05-22T12:42:09Z [436,471ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 90 seconds so far
2026-05-22T12:42:39Z [466,471ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 120 seconds so far
2026-05-22T12:43:09Z [496,471ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 150 seconds so far
2026-05-22T12:43:39Z [526,471ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 180 seconds so far
2026-05-22T12:44:09Z [556,471ms] [Info] [omni.rtx] Waiting for compilation of ray tracing shaders for RTX renderer main raytracing pipeline by GPU driver: 210 seconds so far
2026-05-22T12:44:16Z [563,300ms] [Info] [omni.rtx] Ray tracing shader compilation for RTX renderer main raytracing pipeline finished after 216 seconds
```

## Type of change

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

## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

`torch.rand` can return exact 0 per its [0, 1) contract (~1 in 2^25 on
CUDA). The scale-branch of test_noise recovers the scale factor and
noise contribution by dividing `noisy_data / data`. Since `data` was
generated via `torch.rand`, this produces NaN about ~1 in 1000 test runs
(0.1% of the time.) This can be deterministically reproduced by feeding
it a seed of 1981.

This change fixes the test by switching `data` to `torch.ones` for the
scale branch in all three noise tests so `noisy_data` is the noise term
directly. There is no need to recover the scale factor and noise
contribution separately. The internal `rand_like` call inside
`noise_cfg.func` is still exercised and measured, which is the goal of
the test.

## Type of change

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

## 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`
- [ ] I have made corresponding changes to the documentation *(N/A -
test change only)*
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

Co-authored-by: Kelly Guo <kellyg@nvidia.com>
Bumped packages:
- isaaclab_ov: 0.4.0 → 0.4.1
…car service) (isaac-sim#5757)

# Description

- arm64 docker build: add `libgmp-dev` to the arm64-only apt deps so
`pytetwild==0.2.3` (added by isaac-sim#5443) can compile its fTetWild backend
from source; there is no aarch64 wheel for that version.
- JUnit XML uploads: `run-tests` action and both `install-ci.yml` jobs
now upload their `results.xml` as workflow artifacts so downstream
tooling and reviewers can pull the JUnit report without re-running the
job.
- Folded the standalone `verify-base-non-root` and
`verify-curobo-non-root` jobs into `test-isaaclab-ov` and `test-curobo`
so the regression check piggybacks on the image those jobs already
pulled, dropping two extra self-hosted GPU runner allocations per PR.

## Type of change

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

## 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`
- [ ] 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 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)
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

The skip list is a global list that will impact all CI jobs. We only
want to skip render correctness tests in the isaaclab_tasks (1/2/3) test
jobs. We still want to include rendering correctness tests for IsaacSim
nightly integration CI jobs:

```sh
./isaaclab.sh -p -m pytest tools -m isaacsim_ci
```


## Type of change

- Testing-only change

## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] 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
-->
…sion_presets.py::test_camera_renders_not_empty` (isaac-sim#5767)

# Description

Remove duplicate test
`source/isaaclab_tasks/test/test_shadow_hand_vision_presets.py::test_camera_renders_not_empty`

## Type of change

- Test-only change

## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

Removed OVRTX 0.2.x compatibility code paths from
:class:`~isaaclab_ov.renderers.OVRTXRenderer`.

## Type of change

- Code cleanup

## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

fixed missing hight input in direct environment export

Fixes # (issue)

direct deployment export example had an issue where exports are not
accurate if using the rough environment. The issue was that height was
ignored since originally the tutorial was built for the flat
environment.

## Type of change

- Bug fix (non-breaking change which fixes an issue)
-
## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

This PR adds QA-oriented PPISP camera demo workflows for USD-authored
Gaussian scenes and fixes a PPISP auto-discovery edge case.

  Summary:
- Adds `scripts/demos/sensors/ppisp_camera.py` for Kit-based PPISP
validation with `newton` and `isaac_rtx` renderers.
- Adds `scripts/demos/sensors/ppisp_camera_ovrtx.py` for kit-less OVRTX
PPISP validation.
- Supports duplicated-env rendering from an input USD/USDZ scene so QA
can exercise tiled camera output with `num_envs > 1`.
- Saves baseline, PPISP, and absolute-difference image grids for visual
validation.
- Fixes `auto_camera_ppisp_cfg()` so a matching RenderProduct without a
`PPISP` child does not prevent discovery of a later matching
RenderProduct that does contain PPISP.
  - Adds a unit test covering that PPISP discovery fallback.
- Adds missing `isaaclab_ppisp` docs/changelog scaffolding and a
changelog fragment for the QA workflows.

  Motivation/context:
Existing unit tests cover PPISP renderer integration, but QA needed a
user-facing workflow that validates PPISP through CameraSensor-style
rendering on a real USD-authored Gaussian scene. These
demos provide that workflow without requiring training jobs or
task-specific environment changes.

  Dependencies:
  - A USD/USDZ scene containing PPISP-authored RenderProduct metadata.
- For OVRTX validation, an environment with the optional `isaaclab_ov` /
`ovrtx` stack installed.
  - OVRTX PPISP/HDR validation requires:
    `OVRTX_rtx_rtpt_gaussian_skipTonemapping_enabled=0`

  Fixes #

  ## Type of change

  - Bug fix (non-breaking change which fixes an issue)
  - New feature (non-breaking change which adds functionality)
  - Documentation update

  ## Screenshots

The demo scripts generate baseline / PPISP / diff image grids under the
selected `--output_dir`. Attach representative generated images here if
desired.

  ## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] 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
Fixes # (issue)
Adds windows documentation for leapp export. builds on top of
isaac-sim#5726 where some changes were
forgotten

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
…ac-sim#5776)

## 1. Summary

- ``scripts/tutorials/01_assets/add_new_robot.py`` errored at runtime:
the wheel-velocity action was a CPU ``torch.Tensor`` and
``set_joint_velocity_target`` dispatches to a GPU Warp kernel that
rejects CPU tensors at type check.
- Allocate the two wheel-velocity templates once on ``sim.device``,
reuse across the loop, and call ``set_joint_velocity_target_index``
(also silences the deprecation warning visible in the bug report's first
line).
- Scope: tutorial only. 1 file, +12 −3 plus a changelog fragment.

## 2. Why it broke

- The tutorial was added in isaac-sim#289 (2025-03-12) with
``torch.Tensor([[10.0, 10.0]])`` — CPU literal. The asset API at the
time accepted CPU torch tensors.
- isaac-sim#4551 (2026-02-13) migrated the assets layer from torch to Warp
kernels; CPU torch tensors silently became unsupported because Warp's
kernel-argument check requires GPU-accessible data.
- isaac-sim#4911 (2026-03-10) followed up with a sweep that fixed several
tutorials. It touched the reset block of this file (added
``wp.to_torch`` and ``_index`` variants for ``write_*_to_sim``), but did
not touch the per-step action block — that remained CPU.

The bug has therefore been latent since isaac-sim#4551 and surfaced now that more
users are running the tutorial on v3.0.0-beta.

## 3. Why only this tutorial

A grep across ``scripts/tutorials/**.py`` for tensor literals fed into
``set_joint_*_target*`` / ``write_*_to_sim_index`` shows
``add_new_robot.py`` is the only file constructing tensors without a
``device=`` kwarg. Every other tutorial either reads from a ``.torch``
accessor (already on device) or uses ``torch.tensor(...,
device=sim.device)``.

## 4. Test plan

- [x] Reproduced the customer's error in isolation: CPU ``torch.Tensor``
→ ``wp.launch`` → ``argument 'in_data' expects an array of type
array(ndim=2, dtype=float32), but passed value has type Tensor``.
- [x] Same launch with a GPU tensor (``.cuda()``) succeeds.
- [x] Pre-commit clean on changed files.
- [ ] Manual smoke: ``./isaaclab.sh -p
scripts/tutorials/01_assets/add_new_robot.py --num_envs 1 --headless``
runs through several reset cycles.

## 5. Out of scope

- The underlying API in ``isaaclab_physx`` silently accepts CPU torch
tensors at the Python boundary and only fails inside ``wp.launch``.
Auto-moving CPU tensors to ``self.device`` in
``set_joint_*_target_index`` would prevent users from hitting this from
other scripts. Not in scope here per the bug-report preference for a
tutorial-only fix; flagging for follow-up.

Refs NVBug 6156303
# Description

Fix missing uv source for ppisp submodule

## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

Fixes NVBug 5984996.

## 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
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added a changelog fragment under
`source/<pkg>/changelog.d/` for every touched package (do **not** edit
`CHANGELOG.rst` or bump `extension.toml` since CI handles that)
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
…tation (isaac-sim#5795)

# Description

Removed the "experimental" statement from isaaclab_ov package
documentation

## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

Added rendering test for ovphysx.

Only the cartpole env is supported, so we skip testing for the other two
envs.

## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
…ing (isaac-sim#5722)

# Description
Provides the pretrained GR00T model for assembly trocar task.

## 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
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
…isaac-sim#5754)

# Description


`scripts/imitation_learning/locomanipulation_sdg/gr00t/convert_dataset.py`
still passed `scalar_first=True` to `Rotation.from_quat` / `as_quat`,
but
since isaac-sim#4437 (Jan 2026) Isaac Lab returns body poses in XYZW. The script
therefore mis-interpreted recorded poses as WXYZ, corrupting every
relative-pose computation (hands, object, fixture, goal) in the GR00T
training data and causing trained policies to produce twisted-arm
rollouts.

<!-- As a practice, it is recommended to open an issue to have
discussions on the proposed pull request.
This makes it easier for the community to keep track of what is being
developed or added, and if a given feature
is demanded by more than one party. -->

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

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

## Screenshots

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

<!--
Example:

| Before | After |
| ------ | ----- |
| _gif/png before_ | _gif/png after_ |

To upload images to a PR -- simply drag and drop an image while in edit
mode and it should upload the image directly. You can then paste that
source into the above before/after sections.
-->

## Checklist

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

<!--
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 <kellyg@nvidia.com>
… tst layout to prepare for more systematic coverage (isaac-sim#5779)

# Description

- Fixes pytetwild compilation error on ARM64.
- Normalizes the install CI test suite so future coverage is easier to
add.

## Type of change

- Bug fix
- New feature (non-breaking change which adds functionality)

## Checklist

- [ ] 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`
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] 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)
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

`ContactSensor` (and other lazy-eval sensors — `IMU`, `PVA`,
`JointWrenchSensor`) surfaced **pre-reset** values when
`scene.reset(env_ids)` ran inside `ManagerBasedRLEnv._reset_idx`. The
reset call zeroed each sensor's `_data` buffers correctly, but the
shared `reset_envs_kernel` then marked the env as outdated — so the next
`sensor.data` access (during `observation_manager.compute()`) triggered
a lazy refetch from a physics buffer that had not been stepped since the
reset, overwriting the zeros with stale data (contact forces, joint
wrenches, velocities → spurious finite-diff accelerations).

The fix clears the outdated flag in `reset_envs_kernel` instead of
setting it. The next `InteractiveScene.update(dt)` re-arms the flag at
the sensor's configured update period, so:
- The first `data` read after `scene.reset(env_ids)` returns the
freshly-zeroed buffers.
- The next step's read pulls fresh post-reset physics data as before.

This is a single-point fix in the shared sensor layer — it covers **both
Newton and PhysX backends** for every sensor that follows the "reset()
zeros _data + data is lazy" pattern.

Fixes isaac-sim#4970

## Type of change

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

## Screenshots

N/A — behavior change is observable in the sensor data values, covered
by the regression tests below.

## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] 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)
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

## Tests added

Per-backend, per-sensor regression tests that mirror the manager-based
env path (write new asset state, then `scene.reset(env_ids)`, then read
`sensor.data`). Each was verified RED with the kernel change temporarily
reverted and GREEN with it restored:

| Backend | Sensor | Test |
|---|---|---|
| PhysX | ContactSensor |
`test_contact_sensor.py::test_contact_sensor_no_stale_data_after_reset`
(cuda + cpu) |
| PhysX | JointWrenchSensor |
`test_joint_wrench_sensor.py::test_no_stale_data_after_scene_reset` |
| PhysX | PVA | `test_pva.py::test_no_stale_data_after_scene_reset` |
| PhysX | IMU | `test_imu.py::test_no_stale_data_after_scene_reset` |
| Newton | ContactSensor |
`test_contact_sensor.py::test_no_stale_data_after_scene_reset` (cuda +
cpu) |
| Newton | JointWrenchSensor |
`test_joint_wrench_sensor.py::test_no_stale_data_after_scene_reset` |
| Newton | PVA | `test_pva.py::test_no_stale_data_after_scene_reset` |
| Newton | IMU | `test_imu.py::test_no_stale_data_after_scene_reset` |

Existing `ContactSensor` (PhysX, 20 tests) and `IMU` (PhysX, 8 tests)
suites continue to pass.

> [!note]
> The Newton IMU's native `SensorIMU` (`accelerometer` / `gyroscope`)
does not carry data between physics steps the way PhysX's
`get_velocities()` does, so its test passes both before and after the
fix. The test stays in as a guard against future regressions in Newton
IMU's design.

## Notes for reviewers

- Behavior change is intentional: sensors that override `reset()` to
zero their `_data` (contact, IMU, PVA, joint wrench, both backends) now
keep those zeros until the next physics step. Sensors that don't zero
data (e.g. ray-caster, frame transformer) still see refetches at the
next update-period boundary, which preserves current behavior for them.
- No public API change. No deprecation needed.
# Description

Fixes `--viz none` / `--visualizer None` handling so the CLI parser maps
the disable-all sentinel to internal `None` instead of preserving
`"none"` as a requested visualizer backend. This keeps the documented
behavior where `--viz none` disables config-defined visualizers without
later failing visualizer backend resolution.

The PR also restores the prior documentation that describes `--viz none`
as intentional behavior.

Fixes: N/A

## Type of change

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

## Screenshots

N/A

## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] 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)
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

## Test Plan

- `./isaaclab.sh -f`
-
`PYTHONPATH=/home/antoiner/Documents/IsaacLab_Newton/.worktrees/fix-viz-none/source/isaaclab_tasks:$PYTHONPATH
./isaaclab.sh -p -m pytest
source/isaaclab/test/app/test_argparser_launch.py
source/isaaclab/test/app/test_kwarg_launch.py
source/isaaclab_tasks/test/test_sim_launcher_visualizer_intent.py`
rebeccazhang0707 and others added 10 commits June 10, 2026 02:21
…e gripper (isaac-sim#6025)

# Description

<!--
Thank you for your interest in sending a pull request. Please make sure
to check the contribution guidelines.

Link:
https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html

💡 Please try to keep PRs small and focused. Large PRs are harder to
review and merge.
-->

Mirrors PR (isaac-sim#5981) on
`release/3.0.0-beta2` branch.

Document a teleop usage note for the Galbot suction RMPFlow task: avoid
colliding with the cubes during teleoperation (contact forces cause the
RMPFlow controller to overtune and the arm to drift); move the
end-effector just above the cube, stop, then close the suction cup.

Add a kitless lula-backed RMPFlow controller (_LulaRmpFlow) that mirrors
the Kit motion-generation RmpFlow surface but talks to the lula library
directly, so RMPFlow runs without the Isaac Sim Kit extension (e.g.
under the Newton visualizer) using a single code path across backends.

Expose a PhysicsCfg preset on the Stack-Cube (UR10, Galbot) and Place
(Agibot) tasks so the physics backend can be selected via physics=physx
/ physics=newton_mjwarp instead of a hard-coded PhysxCfg.

Add two config-time guards that fail fast with actionable errors instead
of failing later during scene creation:
- raise_if_surface_gripper_on_newton: rejects Newton for surface-gripper
(suction) stacking tasks, which Newton has no equivalent for.
- raise_if_reversed_joints_on_newton: rejects Newton for robots (e.g.
Agibot A2D) whose gripper joints are authored with reversed body0/body1
ordering, which the Newton MJWarp USD parser does not support.

### Fixes (nvbug 6282434)
RMPFlow tasks crashed with "No module named lula" on pip Isaac Sim 6.0.
'lula' still ships, but under 'extsDeprecated', which discovery and the
Kit resolver both missed.

- Search extscache/ and extsDeprecated/ layouts, not just exts/.
- Add the prebundle to sys.path before enabling the extension, avoiding
a spurious Kit "failed to resolve dependencies" error.
- Raise an actionable error when lula is truly missing.
- Note lula's deprecation in favor of cuMotion.

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

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

## Screenshots

Isaac Teleop doc update:
<img width="800" height="330" alt="teleop_doc_after"
src="https://github.com/user-attachments/assets/528ac43f-0b82-4405-b266-acdea6b33f1b"
/>


## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] 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
-->
…im#6058)

# Description

The Galbot cube-stack RmpFlow tasks
(`Isaac-Stack-Cube-Galbot-Left-Arm-Gripper-RmpFlow-v0`
and `Isaac-Stack-Cube-Galbot-Right-Arm-Suction-RmpFlow-v0`) failed to
parse with
`No module named 'isaacteleop'` on systems where the optional
`isaacteleop` dependency
is not installed (e.g. DGX Spark) — even when running the documented
keyboard
`record_demos.py` flow, which uses relative mode and never needs XR
teleop.
`stack_joint_pos_env_cfg.py` imported `isaaclab_teleop` (which pulls in
`isaacteleop`)
at module level and constructed `IsaacTeleopCfg` unconditionally. This
guards both
behind an availability check, matching the sibling Franka stack configs.
When
`isaacteleop` is absent, `isaac_teleop` stays `None` and
keyboard/spacemouse
teleoperation works as before.

Fixes # (issue)

## Type of change

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

## 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
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

Updates documentation examples to stop recommending the deprecated
`--headless` CLI flag. Current command snippets now omit visualizer
selection for ordinary runs, and only mention `--viz none` when docs
need to force-disable visualizers that would otherwise be selected. The
explicit deprecation documentation and generated help output still
mention `--headless` where that is the subject being documented.

Fixes: N/A

## Type of change

- Documentation update

## Screenshots

N/A

## 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
- [ ] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works (N/A: documentation-only change)
- [x] 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)
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

## Test Plan

- `PATH=/tmp/git-lfs-local/git-lfs-3.7.1:$PATH ./isaaclab.sh -f`
- `rg -n --glob "*.rst" --glob "*.md" --glob "*.txt" --glob "*.ipynb" --
"--headless" .`
- `git diff --check`
…ion learning tutorial (isaac-sim#6075)

# Description

<!--
Thank you for your interest in sending a pull request. Please make sure
to check the contribution guidelines.

Link:
https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html

💡 Please try to keep PRs small and focused. Large PRs are harder to
review and merge.
-->

Adds a note informing users to verify that their models directory is not
empty as models are only saved after epoch 100 by default.

## Type of change

<!-- As you go through the list, delete the ones that are not
applicable. -->

- 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
- [x] 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
-->
## Description

Cherry-pick of isaac-sim#6093 ("Fix RMPFlow teleoperation related bugs") onto
`develop`.

Fixes the RMPFlow end-effector orientation quaternion convention so a
zero
relative command holds the reset pose instead of diverging, adds a
regression
test pinning that behavior, and updates the humanoid teleop docstrings.

## Dependency / stacking

**Depends on isaac-sim#6025** (Newton-backend migration for stack/place RMPFlow
tasks),
which must merge into `develop` first.

This branch is built on top of isaac-sim#6025's branch, so until isaac-sim#6025 merges
this PR's
diff will also show isaac-sim#6025's commits. Once isaac-sim#6025 lands in `develop`,
those commits
drop out of the diff automatically (the branch will be rebased onto
`develop` if
needed). Please review/merge isaac-sim#6025 before this one.

## Type of change

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

---------

Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Kelly Guo <kellyg@nvidia.com>
…hes (isaac-sim#5971)

# Description
!!merge isaac-sim#5970 first then isaac-sim#5971!!

Push events to `develop` / `release/*` no longer run the expensive
multi-version docs deploy or publish Docker images.

Both are now owned by the nightly cron registered on `main` (isaac-sim#5970).
This eliminates redundant, resource-heavy work on every integration push
while preserving fast per-push/PR validation.

## 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
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

Fix `RuntimeError: istream reader failed: getting the current position.`
caused from improper file loading. Fixed by using existing helper
function

## Checklist

- [ ] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [ ] I have run the [`pre-commit` checks](https://pre-commit.com/) 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 asset New asset feature or request isaac-sim Related to Isaac Sim team isaac-mimic Related to Isaac Mimic team infrastructure labels Jun 11, 2026

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📝 Documentation Review — COMPASS Training Doc Update

Scope: This PR rewrites the COMPASS training documentation from a short external-guide pointer into a standalone page with NuRec asset showcases, XGRIDS examples, training clips, and supporting CSS/GIF assets.

Actual author changes: ~8 files (1 RST doc, 1 CSS file, 6 GIF assets). The 1,466 file count in the diff is due to the branch being significantly behind release/3.0.0-beta2 — a rebase is needed.


🔴 Critical: Broken External Links

Several links in the RST return HTTP 404:

Link Status
https://huggingface.co/datasets/nvidia/PhysicalAI-Robotics-NuRec/tree/v0.2 ❌ 404
https://huggingface.co/datasets/nvidia/PhysicalAI-Robotics-NuRec/tree/v0.2/nova_carter-galileo ❌ 404
https://huggingface.co/datasets/nvidia/PhysicalAI-Robotics-NuRec/tree/v0.2/hand_hold-endeavor-livingroom ❌ 404
https://huggingface.co/datasets/nvidia/PhysicalAI-Robotics-NuRec/tree/v0.2/xgrid-wormhole ❌ 404
https://github.com/NVlabs/COMPASS/blob/real2sim/isaaclab_3.0/docs/handbook/workflows/nurec_real2sim.md ❌ 404
https://docs.nvidia.com/nurec/index.html ✅ 200
https://arxiv.org/abs/2502.16372 ✅ 200
https://www.xgrids.com/intl/portalcamp ✅ 200

The HuggingFace dataset exists at https://huggingface.co/datasets/nvidia/PhysicalAI-Robotics-NuRec (200 OK) but the v0.2 tag/branch does not appear to exist publicly. Similarly, the COMPASS repo exists but the real2sim/isaaclab_3.0 branch is not publicly accessible. These links need to be verified or updated before merge. If the resources are gated/private, consider noting access requirements in the doc.

This is also what causes the "Check for Broken Links" CI failure.


🟡 Warning: Branch Needs Rebase

The PR branch (sc/compass-nurec-patch) is ~180 commits behind release/3.0.0-beta2, which:

  • Inflates the diff to 1,466 files (vs ~8 actual changes)
  • Makes CI checks unreliable (pre-commit failure may be from unrelated base changes)
  • Makes merge conflict risk higher

Fix: Rebase onto the latest release/3.0.0-beta2:

git fetch origin release/3.0.0-beta2
git rebase origin/release/3.0.0-beta2
git push --force-with-lease

🟡 Warning: Pre-commit CI Failure

The pre-commit check is failing. After rebasing, please run:

./isaaclab.sh --format

to ensure all formatting/linting passes.


🔵 Suggestions

  1. CSS scoping: The new .nurec-gif-* CSS classes in custom.css are well-namespaced (good!). Consider adding a brief comment above the CSS block noting these styles support the COMPASS doc page.

  2. GIF file sizes: Large GIF assets can slow down page loads. If any of the GIFs exceed ~5 MB, consider converting to compressed MP4/WebM with an HTML5 video tag, or at minimum ensure they are optimized (e.g., reduced frame count/resolution).

  3. RST title consistency: The page title changed from "Training & Deploying COMPASS Navigation Policy with Real2Sim NuRec" to "Training and Deploying COMPASS Policies with NuRec Assets" — this is fine, but ensure the toctree entry and any cross-references in other docs still resolve correctly.


✅ What Looks Good

  • Clean RST structure with proper Sphinx directives (list-table, figure, target, etc.)
  • Good use of Sphinx cross-reference patterns
  • Well-organized section hierarchy (NuRec Assets → XGRIDS Assets → COMPASS Workflow → Training Examples)
  • Proper attribution of sensor rigs and embodiments
  • CSS is properly namespaced to avoid conflicts with existing styles

Verdict: The documentation content quality is good, but the PR cannot merge until:

  1. Broken links are fixed (either update URLs or confirm resources will be publicly available at merge time)
  2. Branch is rebased onto current release/3.0.0-beta2
  3. Pre-commit checks pass

wormhole.gif was committed but never referenced in the RST document.
The XGRIDS section uses wormhole_with_sim_objects.gif instead.
@isaaclab-review-bot isaaclab-review-bot Bot dismissed their stale review June 11, 2026 05:32

Replacing with updated review.

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📝 Documentation Review — COMPASS Training Doc Update

Scope: This PR rewrites the COMPASS training documentation from a short external-guide pointer into a standalone page with NuRec asset showcases, XGRIDS examples, training clips, and supporting CSS/GIF assets.

Actual author changes: ~8 files (1 RST doc, 1 CSS file, 6 GIF assets). The 1,466 file count in the diff is due to the branch being significantly behind release/3.0.0-beta2 — a rebase is needed.


🔴 Critical: Broken External Links

Several links in the RST return HTTP 404:

Link Status
https://huggingface.co/datasets/nvidia/PhysicalAI-Robotics-NuRec/tree/v0.2 ❌ 404
https://huggingface.co/datasets/nvidia/PhysicalAI-Robotics-NuRec/tree/v0.2/nova_carter-galileo ❌ 404
https://huggingface.co/datasets/nvidia/PhysicalAI-Robotics-NuRec/tree/v0.2/hand_hold-endeavor-livingroom ❌ 404
https://huggingface.co/datasets/nvidia/PhysicalAI-Robotics-NuRec/tree/v0.2/xgrid-wormhole ❌ 404
https://github.com/NVlabs/COMPASS/blob/real2sim/isaaclab_3.0/docs/handbook/workflows/nurec_real2sim.md ❌ 404
https://docs.nvidia.com/nurec/index.html ✅ 200
https://arxiv.org/abs/2502.16372 ✅ 200
https://www.xgrids.com/intl/portalcamp ✅ 200

The HuggingFace dataset exists at the base URL (200 OK) but the v0.2 tag/branch does not appear to exist publicly. Similarly, the COMPASS repo exists but the real2sim/isaaclab_3.0 branch is not publicly accessible. These links need to be verified or updated before merge. If the resources are gated/private, consider noting access requirements in the doc.

This is also what causes the "Check for Broken Links" CI failure.


🟡 Warning: Branch Needs Rebase

The PR branch (sc/compass-nurec-patch) is ~180 commits behind release/3.0.0-beta2, which:

  • Inflates the diff to 1,466 files (vs ~8 actual changes)
  • Makes CI checks unreliable (pre-commit failure may be from unrelated base changes)
  • Makes merge conflict risk higher

Fix: Rebase onto the latest release/3.0.0-beta2:

git fetch origin release/3.0.0-beta2
git rebase origin/release/3.0.0-beta2
git push --force-with-lease

🟡 Warning: Pre-commit CI Failure

The pre-commit check is failing. After rebasing, please run:

./isaaclab.sh --format

to ensure all formatting/linting passes.


🔵 Suggestions

  1. CSS scoping: The new .nurec-gif-* CSS classes in custom.css are well-namespaced (good!). Consider adding a brief comment above the CSS block noting these styles support the COMPASS doc page.

  2. GIF file sizes: Large GIF assets can slow down page loads. If any of the GIFs exceed ~5 MB, consider converting to compressed MP4/WebM with an HTML5 video tag, or at minimum ensure they are optimized (e.g., reduced frame count/resolution).

  3. RST title consistency: The page title changed from "Training & Deploying COMPASS Navigation Policy with Real2Sim NuRec" to "Training and Deploying COMPASS Policies with NuRec Assets" — this is fine, but ensure the toctree entry and any cross-references in other docs still resolve correctly.


✅ What Looks Good

  • Clean RST structure with proper Sphinx directives (list-table, figure, target, etc.)
  • Good use of Sphinx cross-reference patterns
  • Well-organized section hierarchy (NuRec Assets → XGRIDS Assets → COMPASS Workflow → Training Examples)
  • Proper attribution of sensor rigs and embodiments
  • CSS is properly namespaced to avoid conflicts with existing styles

Verdict: The documentation content quality is good, but the PR cannot merge until:

  1. Broken links are fixed (either update URLs or confirm resources will be publicly available at merge time)
  2. Branch is rebased onto current release/3.0.0-beta2
  3. Pre-commit checks pass

Update (d77a606): Reviewed incremental changes (2 files modified):

  • CSS selectors improved: .nurec-gif-* classes updated to figure.nurec-gif-* img — correctly targets <img> inside Sphinx <figure> wrappers. Good fix.
  • Large GIF removed: wormhole.gif (6.9 MB LFS asset) deleted — addresses the file size concern.
  • ⚠️ Remaining blockers unchanged: Broken links (404s) and rebase are still needed before merge.

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

Labels

asset New asset feature or request documentation Improvements or additions to documentation infrastructure isaac-mimic Related to Isaac Mimic team isaac-sim Related to Isaac Sim team

Projects

None yet

Development

Successfully merging this pull request may close these issues.