Skip to content

Adds tiled camera views to Kit Visualizer and Newton Visualizer - #4

Open
matthewtrepte wants to merge 45 commits into
mtrepte/update_and_debug_vizfrom
mtrepte/tiled_viz
Open

matthewtrepte wants to merge 45 commits into
mtrepte/update_and_debug_vizfrom
mtrepte/tiled_viz

Conversation

@matthewtrepte

Copy link
Copy Markdown
Owner

Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
List any dependencies that are required for this change.

Fixes # (issue)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (existing functionality will not work without user modification)
  • Documentation update

Screenshots

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

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@github-actions github-actions Bot added documentation Improvements or additions to documentation isaac-lab labels May 20, 2026
matthewtrepte and others added 7 commits May 20, 2026 01:13
# 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.
-->

Contains a few minor updates and patches to visualizers.

- Disable default browser launch to Rerun & Viser visualizers
- Add explicit logging urls to Rerun & Viser which appear before
simulation loop
- Reduce visualizer num sim steps in unit tests
- Unskip all visualizer cartpole integration tests
- Add focal length to visualizer cfg, for flexibility, align default
visualizer cams, and add more consistency to tests
- Expand pausing checks for Kit & Rerun tests
- Fix frozen robot bodies in newton visualizers with physx
- Add a save visualizer test captures mode to visualizer cartpole unit
test (disabled by default)
- Re-enable visualization markers when no visualizer is launched
- Fix Newton Visualizer visualization marker regression
- Expose remote desktop config for Viser Visualizer
- Align Viser Visualizer docs with other visualizers
- Update docs to reflect the changes

<!-- 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)
- New feature (non-breaking change which adds functionality)
- Documentation update

## 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
-->
…ling (isaac-sim#5443)

# Description

Introduces experimental Newton-backend deformable simulation alongside
the existing PhysX deformables, refactors deformable APIs to be
backend-neutral, and adds the manager-based Franka soft-body lifting
environment used to validate two-way coupling.

### Backend-neutral deformable APIs (`isaaclab`)
- Moved deformable schemas, materials, spawners, and
`DeformableObjectCfg` out of `isaaclab_physx` into `isaaclab.sim` /
`isaaclab.assets` so user code imports a single backend-agnostic API.
- **Breaking (PhysX):**
`isaaclab_physx.sim.DeformableBodyPropertiesCfg`,
`DeformableObjectSpawnerCfg`, `DeformableBodyMaterialCfg`,
`SurfaceDeformableBodyMaterialCfg`, `spawn_deformable_body_material`,
`define/modify_deformable_body_properties` and
`isaaclab_physx.assets.DeformableObjectCfg` are now imported from
`isaaclab.sim` / `isaaclab.assets`. See
`docs/source/migration/migrating_deformables.rst`.
- USD spawners now support assets that embed tetrahedral mesh data, with
automatic surface-mesh extraction.
- Added `pytetwild` dependency for tet-mesh generation.

### Newton manager abstraction (`isaaclab_newton`)
- Added deformable registration hooks to Newton cloning + Fabric sync
fixes for particle meshes and particle-only scenes.

### Experimental Newton deformables (`isaaclab_contrib.deformable`)
- `DeformableObject` (Newton backend), `VBDSolverCfg`, and coupled
solver configs `CoupledMJWarpVBDSolverCfg` /
`CoupledFeatherstoneVBDSolverCfg` providing one- and two-way
rigid–deformable coupling.
- New docs:
`docs/source/features/newton-physics-integration/using-vbd-solver.rst`
(VBD solver tuning + Franka soft-body lift guidance).

### Tasks, demos, tutorials
- Added `Isaac-Lift-Soft-Franka-v0` (manager-based), the documented
rigid–deformable coupling task.
- Updated `scripts/demos/deformables.py`, the
`01_assets/run_deformable_object` tutorial, and `00_sim/spawn_prims` to
use the backend-neutral API with selectable PhysX or Newton backends.
- Added IK + video-record state-machine demo
`scripts/environments/state_machine/lift_franka_soft.py`.

Continues on isaac-sim#5439 adding VBD solver and coupled MJWarp + VBD solver as
newton managers in isaaclab_contrib.

Fixes isaac-sim#5285 

## Type of change

- New feature (non-breaking change which adds functionality)
- Breaking change: Moved deformable schemas, materials, spawners, and
`DeformableObjectCfg` out of `isaaclab_physx` into `isaaclab.sim` /
`isaaclab.assets` so user code imports a single backend-agnostic API.

## Test plan

- [x] `./isaaclab.sh -p -m pytest
source/isaaclab/test/sim/test_deformable_backend_split.py`
- [x] `./isaaclab.sh -p -m pytest
source/isaaclab_physx/test/assets/test_deformable_object.py`
- [x] `./isaaclab.sh -p -m pytest
source/isaaclab_contrib/test/deformable/`
- [x] Run `scripts/demos/deformables.py` against PhysX and Newton
backends
- [x] Run `Isaac-Lift-Soft-Franka-v0` training for sanity-check rollout

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

---------

Signed-off-by: Mike Yan Michelis <46975745+mmichelis@users.noreply.github.com>
Signed-off-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Donglai <donglaix@nvidia.com>
Co-authored-by: Anka Chen <ankachan92@gmail.com>
Co-authored-by: Kelly Guo <kellyg@nvidia.com>
Co-authored-by: ooctipus <zhengyuz@nvidia.com>
Co-authored-by: mingxueg <mingxueg@nvidia.com>
Signed-off-by: matthewtrepte <mtrepte@nvidia.com>
matthewtrepte pushed a commit that referenced this pull request Sep 17, 2026
…dential (isaac-sim#7741)

# Description

A job that pulls a public `nvcr.io/nvidia/*` base image fails with
`denied: Access Denied`. The runners carry an ambient docker credential
for a private NGC organization, and nvcr.io refuses that credential a
pull token for a public repository instead of downgrading the request to
anonymous. `_lib/setup-docker-config` now takes an optional
`base-image-ref`: when the configured credentials are denied that image
and anonymous access can read it, the stored nvcr.io credential is
dropped from the job's temp config so the pull proceeds anonymously.
`_lib/compute-deps-hash` stops swallowing an unreadable base image
manifest, which silently dropped the digest from the dependency-cache
key.

| Before | After |
| ------ | ----- |
| `load metadata for nvcr.io/nvidia/isaac-sim:6.1.0` fails with `failed
to fetch oauth token: denied: Access Denied`, and an unreadable manifest
degrades the deps-cache key to a bare tag string with only a `🟠` note |
The credential is dropped for nvcr.io only when it is provably the
obstacle, the pull proceeds anonymously, and an unreadable manifest
fails with a named `::error::` |

## Reproduction

1. Point `.github/workflows/config.yaml` at a public base image:
`isaacsim_image_name: nvcr.io/nvidia/isaac-sim` and `isaacsim_image_tag:
6.1.0`.
2. Open a pull request from a fork, so no `NGC_API_KEY` is available and
the runner's ambient credential is the only one present.
3. Observe any job that builds the base image, for example `Docker
Dependency Licenses Check`:

```
#3 [auth] nvidia/isaac-sim:pull token for nvcr.io
#4 [internal] load metadata for nvcr.io/nvidia/isaac-sim:6.1.0
#4 ERROR: failed to authorize: failed to fetch oauth token: denied: Access Denied
ERROR: failed to build: failed to solve: failed to fetch oauth token: denied: Access Denied
```

4. The same step also logs `🔵 Base image ID:
nvcr.io/nvidia/isaac-sim:6.1.0` with no `sha256:` suffix, which is the
silent digest fallback in `compute-deps-hash`.

## Scope

Every workflow on this branch pins the private
`nvcr.io/0947644777160149/internal/isaac-sim` image today, where the
configured credentials succeed and the fallback stays dormant. This
change is the prerequisite that lets a public base image be configured
without the failure above; it does not change which image any workflow
uses.

## Type of change

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

## Release backport

- [x] <!-- backport-active-release --> Backport this pull request to the
active release branch after it merges into `develop`

## Screenshots

Not applicable; this changes CI action behavior only.

## Validation

The fallback only narrows credentials, never widens them, so each guard
was exercised against a stubbed `docker` and a realistic three-registry
config (nvcr.io, ECR, Docker Hub):

- Public nvcr.io image, credentials denied, anonymous readable: the
nvcr.io entry is dropped and the ECR and Docker Hub entries survive, so
pushes keep working.
- `ubuntu:24.04`, which `kitless-docker.yml` passes: the ref is not an
nvcr.io image, so the config is left untouched and the Docker Hub
credential keeps its pull-rate budget.
- Private internal image readable with credentials: no probe fallback,
no change.
- Registry 503 rather than an authorization refusal: retried, then a
warning, and the credential is kept, so a transient error cannot cost a
working credential.
- A docker config this action did not create: left unchanged, so a
runner-level `DOCKER_CONFIG` is never edited.
- `NVCR.IO/...` and `nvcr.io:443/...` resolve to the same registry as
`nvcr.io/...`; `nvcr.io.evil.com/...` does not match.
- `compute-deps-hash`: a digest-pinned tag such as
`latest-develop@sha256:...` is used directly with no network call, a
malformed digest pin fails with a named error, an authorization refusal
fails immediately, a transient failure is retried 5 times over about 50
seconds, and a warning on stderr during a successful read is no longer
concatenated into the digest.
- These are committed as
`.github/actions/_lib/test_registry_credential_fallback.py` (14 tests,
the co-located pattern of
`run-package-tests/test_cleanup_docker_storage.py`) and registered in
`tools-tests.yml` so they run in CI.
- Mutation checks: removing the nvcr.io scope, the exact-digest check,
the ownership guard, or the `credHelpers` handling each makes the
corresponding test fail, so the suite exercises the intended behavior
rather than only the happy path.
- `python -m py_compile` on the new helper, `bash -n` on every `run:`
block in the five changed files, YAML parse of each, and `codespell`
clean.

## Checklist

- [x] 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` — not run; this change touches only `.github/`,
validated with `bash -n`, `py_compile`, a YAML parse and `codespell`,
and the repository's own `pre-commit` check on this branch
- [x] I have made corresponding changes to the documentation — the
action's `description` and the new input document the fallback
- [x] My changes generate no new warnings
- [x] 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) — not
applicable; no package is touched
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

This branch has not been deployed

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

Labels

documentation Improvements or additions to documentation infrastructure isaac-lab

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants