Update Compass training doc#6132
Conversation
…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
Bumped packages:
# 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`
…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
There was a problem hiding this comment.
📝 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 --formatto ensure all formatting/linting passes.
🔵 Suggestions
-
CSS scoping: The new
.nurec-gif-*CSS classes incustom.cssare well-namespaced (good!). Consider adding a brief comment above the CSS block noting these styles support the COMPASS doc page. -
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).
-
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
toctreeentry 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:
- Broken links are fixed (either update URLs or confirm resources will be publicly available at merge time)
- Branch is rebased onto current
release/3.0.0-beta2 - 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.
Replacing with updated review.
There was a problem hiding this comment.
📝 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 --formatto ensure all formatting/linting passes.
🔵 Suggestions
-
CSS scoping: The new
.nurec-gif-*CSS classes incustom.cssare well-namespaced (good!). Consider adding a brief comment above the CSS block noting these styles support the COMPASS doc page. -
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).
-
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
toctreeentry 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:
- Broken links are fixed (either update URLs or confirm resources will be publicly available at merge time)
- Branch is rebased onto current
release/3.0.0-beta2 - Pre-commit checks pass
Update (d77a606): Reviewed incremental changes (2 files modified):
- ✅ CSS selectors improved:
.nurec-gif-*classes updated tofigure.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.
Update Compass training doc with gifs and proper links