Skip to content

[pull] develop from isaac-sim:develop - #59

Merged
pull[bot] merged 3 commits into
mataylor-nvidia:developfrom
isaac-sim:develop
Sep 23, 2026
Merged

pull[bot] merged 3 commits into
mataylor-nvidia:developfrom
isaac-sim:develop

Conversation

@pull

@pull pull Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

StafaH and others added 3 commits September 23, 2026 12:10
# Description

Second PR in a series that splits the core cleanup in #7949 into small,
reviewable pieces. This PR contains only comment and style changes in
`source/isaaclab/isaaclab`; there is no logic change.

- Comments that restate the next line of code are removed (e.g. `# get
stage handle`, `# import logger`, `# return the prim`), along with
commented-out code.
- Comments are kept when they explain intent or ordering constraints,
units (e.g. `N-m/rad --> N-m/deg`), deprecation plans, tensor shapes and
formulas, non-obvious semantics (e.g. the same random value per body),
the `FactoryBase` dispatch, TODO/FIXME items, and section markers in
long functions.
- The `# extract the used quantities (to enable type-hinting)`
boilerplate is removed from the core package; the typed local variable
already states its purpose.
- Blank lines inside function bodies that `ruff format` does not require
are removed.
- Empty `dict()` / `list()` calls are replaced with `{}` / `[]`.
- A duplicated license header in `utils/warp/fabric.py` is removed.

This PR only deletes comments. Comments that the reference branch
rewrites alongside code changes will ship in the PRs that change that
code.

Verification:
- Every file's AST (including docstrings) is identical to `develop`
apart from the `dict()`/`list()` literals (520 files).
- Importing every module under `isaaclab` gives the same result as on
`develop`.
- `ruff check` / `ruff format` are clean.

## Type of change

- Code cleanup (non-breaking, no functional change)


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

## 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
- [x] I have added a changelog fragment under
`source/<pkg>/changelog.d/` for every touched package (`.skip`)
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
# Description

camera cloning on ovrtx for the duo-camera preset was failing, this PR
addresses the issue and properly clones them

Fixes # (issue)

OVRTX scenes with more than one camera failing at startup with
``Layout-compatible non-array tensor shape[0] (N) must equal binding
prim count (1)``. Cameras
registered after the first one bound the camera prims authored on the
USD stage, which is one
prototype per spawn variant rather than one per environment whenever USD
replication does not
run, as in kitless runs on OvPhysx and Newton. Every camera now binds
one prim per environment,
  for both its transform and its calibration columns.

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

## Checklist

Docker and GPU tests run on demand. Push the commits you want tested,
then
comment `run-ci` on the pull request.

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

Follow-up to #7702. Added direct-pose and actuator-driven workloads to
the canonical Franka cabinet renderer benchmark, with physics and render
timings available through the benchmark API and persisted reports.

- `BENCHMARK_MODE=render` (default) writes the analytic joint pose after
physics and before the camera read. `BENCHMARK_MODE=physics_render` sets
actuator targets before physics. Both modes still step physics.
- Direct posing requires lazy sensor updates. With Isaac RTX, it also
rejects visualizers that pump the Kit app before the pose write; use
`--visualizer none` or `physics_render`.
- Runtime benchmarks collect synchronized scopes after warmup when the
task has a non-`None` `benchmark_mode` and the corresponding
`ISAACLAB_PHYSICS_PROFILE` / `ISAACLAB_RENDER_PROFILE` flag is enabled.
Temporary wrappers restore the original methods on success or failure,
so subsequent runs do not inherit profiling overhead or duplicate
samples.
- Schema **1.4 remains unchanged**. `BenchmarkResult.bundle.extra`,
schema JSON, and OmniPerf output include per-call mean, standard
deviation, maximum [ms], and call count under `physics_*` and
`render_*`. Disabled scopes add no keys, and distributed metadata is
preserved.
- Ordered raw samples remain in local `profile_timings.json`, outside
`output_paths`. The renderer sweep groups physics calls by rendered
frame and reports render, physics, and combined statistics without
scraping logs. Invalid profiling output errors propagate.

```bash
uv run python scripts/benchmarks/benchmark_renderer.py 'newton_*'
BENCHMARK_MODE=physics_render uv run python scripts/benchmarks/benchmark_renderer.py 'newton_*'
```

Scope timing synchronizes the device and changes execution overlap, so
profiled runs are diagnostics. API/OmniPerf summaries cover all captured
calls; the sweep additionally removes padding frames and reports
per-frame statistics.

Migration: collect scope timings through the runtime benchmark; normal
simulations no longer install render timers from the profiling flag.
Read scalar summaries from `bundle.extra` or raw `timings_ms` pairs from
the local profiling file. The old
`isaaclab.renderers.render_context.RENDER_PROFILE_SCOPE` import remains
available with a deprecation warning; use
`isaaclab.benchmark.stepping.RENDER_PROFILE_SCOPE`.

## Validation

- Benchmark, renderer orchestration, task configuration, sweep, and
runtime smoke tests: 398 passed, 1 skipped.
- Regression tests failed before the fixes and passed afterward for
profiling restoration, the deprecated scope import, and invalid
direct-pose rendering configurations.
- Real Newton GPU sweeps passed in both modes with 1 environment, 3
measured frames, and 64×64 resolution. Reported statistics were
independently checked against raw samples.
- Formatting and changelog checks passed against the current `develop`
base.
- Sphinx documentation built without warnings or errors using `uv run
--isolated --extra dev -- make -C docs current-docs` with
`SPHINXOPTS='-D viewcode_follow_imported_members=0'` to omit imported
source-code links.

## Type of change

- New feature
- Bug fix
- Breaking change: render profiling moved from normal simulation runs
into the runtime benchmark
- Documentation update

## Release backport

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

## Checklist

- [x] I have read and understood the contribution guidelines
- [x] I have run the pre-commit checks with `uv run isaaclab -f`
- [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
- [x] My name already exists in `CONTRIBUTORS.md`
@pull pull Bot locked and limited conversation to collaborators Sep 23, 2026
@pull pull Bot added the ⤵️ pull label Sep 23, 2026
@pull
pull Bot merged commit 3714907 into mataylor-nvidia:develop Sep 23, 2026
12 of 14 checks passed
@github-actions github-actions Bot added documentation Improvements or additions to documentation isaac-lab isaac-mimic labels Sep 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

⤵️ pull documentation Improvements or additions to documentation isaac-lab isaac-mimic

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants