Skip to content

Add optional support for ovrtx-0.5 - #7351

Merged
kellyguo11 merged 3 commits into
isaac-sim:developfrom
pbarejko:pbarejko/ovrtx-0.5
Aug 29, 2026
Merged

Add optional support for ovrtx-0.5#7351
kellyguo11 merged 3 commits into
isaac-sim:developfrom
pbarejko:pbarejko/ovrtx-0.5

Conversation

@pbarejko

@pbarejko pbarejko commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Description

Adds optional compatibility with the OVRTX 0.5 render-variable API while preserving OVRTX 0.4 behavior.

OVRTX 0.4 keys frame.render_vars by source name, while OVRTX 0.5 uses the authored RenderVar prim path. This PR:

  • Detects the installed OVRTX version once at import.
  • Creates an immutable source-to-frame-key mapping.
  • Centralizes authored RenderVar paths in ovrtx_usd.py.
  • Uses version-correct keys for color, depth, normals, motion vectors, and segmentation outputs.
  • Adds compatibility, renderer-contract, and USD-authoring coverage.

This PR adds render-var API compatibility only. It does not bump OVRTX, OVStage, or OVPhysX dependencies, enable the OVStage rendering path, or rebaseline OVRTX 0.5 golden images.

Type of change

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

Release backport

  • Backport this pull request to the active release branch after it merges into develop

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 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)
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@pbarejko
pbarejko requested a review from nvsekkin August 26, 2026 02:00
@pbarejko pbarejko self-assigned this Aug 26, 2026
@pbarejko
pbarejko requested a review from a team August 26, 2026 02:00
@github-actions github-actions Bot added the isaac-lab Related to Isaac Lab team label Aug 26, 2026
@greptile-apps

greptile-apps Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR adds compatibility for the OVRTX 0.5 render-variable key format while retaining source-name keys for OVRTX 0.4.

  • Detects the installed OVRTX version and builds an immutable source-to-frame-key mapping.
  • Routes renderer lookups through version-resolved keys, including color, depth, motion, and segmentation outputs.
  • Centralizes authored RenderVar prim paths and adds compatibility and renderer-contract tests.

Confidence Score: 5/5

The PR appears safe to merge because no blocking failure remains.

No blocking failure remains.

Important Files Changed

Filename Overview
source/isaaclab_ov/isaaclab_ov/renderers/ovrtx_compat.py Adds import-time OVRTX version detection and immutable version-specific render-variable key resolution.
source/isaaclab_ov/isaaclab_ov/renderers/ovrtx_renderer.py Replaces hard-coded source-name frame lookups with resolved keys across color, depth, motion, and segmentation processing.
source/isaaclab_ov/isaaclab_ov/renderers/ovrtx_usd.py Centralizes fixed RenderVar source-to-authored-prim-path metadata used by OVRTX 0.5 compatibility logic.
source/isaaclab_ov/test/test_ovrtx_compat.py Tests version classification, key generation, authored-variable coverage, and mapping immutability.
source/isaaclab_ov/test/test_ovrtx_renderer_contract.py Updates renderer contract tests to use the installed-version key and verifies stale key forms are ignored.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Import OVRTX compatibility module] --> B[Read installed OVRTX version]
  B --> C{Version 0.5 or newer?}
  C -->|No| D[Use source-name frame keys]
  C -->|Yes| E[Use authored RenderVar prim paths]
  D --> F[Renderer reads frame.render_vars]
  E --> F
  F --> G[Populate camera and segmentation outputs]
Loading

Reviews (2): Last reviewed commit: "Add optional support for ovrtx-0.5" | Re-trigger Greptile

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Isaac Lab Review Bot

Reviewed the import-time OVRTX version compatibility decision and traced render-var key resolution through USD authoring, frame consumption, and segmentation metadata paths. The patch consistently switches OVRTX 0.4 source-name keys to OVRTX 0.5+ authored prim-path keys while preserving the pinned 0.4 behavior.

  • Design and architecture: Compatibility is isolated at the OVRTX boundary, with frame keys derived from the same render-var definitions used for USD authoring. Resolving immutable keys once at import is consistent with the assumption that the installed OVRTX distribution does not change during the process.
  • API: Existing render-var configuration signatures and tuple contracts remain unchanged. The added compatibility and source-to-prim-path helpers are additive, the renderer parameter rename affects only a private method, and the user-visible compatibility change has an isaaclab_ov changelog fragment.
  • Implementation: Renderer lookups for color, depth, albedo, normals, motion vectors, segmentation outputs, and segmentation maps consistently use the resolved key form. Tests cover version classification, nontrivial authored paths, mapping completeness and immutability, and installed-key frame selection. Residual compatibility depends on frame.render_vars supporting mapping-style get(), and installs without readable distribution metadata intentionally retain OVRTX 0.4 key behavior.

No blocking issues. No inline issue met the actionable-evidence threshold; the assessment above records the review feedback.

Automated review; human maintainers own approval decisions.

@pbarejko

Copy link
Copy Markdown
Collaborator Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Aug 26, 2026
@pbarejko
pbarejko force-pushed the pbarejko/ovrtx-0.5 branch from 951b0a7 to d0acc66 Compare August 26, 2026 19:31
@pbarejko

Copy link
Copy Markdown
Collaborator Author

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Aug 26, 2026
@nvsekkin
nvsekkin force-pushed the pbarejko/ovrtx-0.5 branch from d0acc66 to c0a632e Compare August 27, 2026 16:28
@nvsekkin

Copy link
Copy Markdown
Collaborator

@greptile review

@nvsekkin

Copy link
Copy Markdown
Collaborator

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Aug 27, 2026
@nvsekkin

Copy link
Copy Markdown
Collaborator

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Aug 28, 2026
@kellyguo11

Copy link
Copy Markdown
Contributor

run-ci

@isaaclab-bot isaaclab-bot Bot added ci:run-docker Trigger the on-demand Docker and GPU CI workflow and removed ci:run-docker Trigger the on-demand Docker and GPU CI workflow labels Aug 28, 2026
@kellyguo11
kellyguo11 merged commit 74bedbc into isaac-sim:develop Aug 29, 2026
46 of 51 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants