Skip to content

Prioritize XDev hand tracker sources#483

Merged
nv-jakob merged 1 commit intoNVIDIA:mainfrom
nv-jakob:jakob/hand-tracker-push-priority
May 11, 2026
Merged

Prioritize XDev hand tracker sources#483
nv-jakob merged 1 commit intoNVIDIA:mainfrom
nv-jakob:jakob/hand-tracker-push-priority

Conversation

@nv-jakob
Copy link
Copy Markdown
Contributor

@nv-jakob nv-jakob commented May 8, 2026

Closes #344

This is a temporary fix until the CloudXR runtime has the right behaviour.

Summary by CodeRabbit

Release Notes

  • New Features
    • Enhanced hand tracking to support additional device types, providing improved compatibility and more robust fallback mechanisms.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 8, 2026

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e73def0d-eaa3-4e4a-8ec9-496bc10e3bbe

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR extends LiveHandTrackerImpl to support optional OpenXR MNDX xdev device candidates for hand tracking. The implementation enumerates available xdev devices, classifies them as display or preferred devices via property string heuristics, and attempts to create hand trackers scoped to each xdev. If xdev trackers cannot be created, the code falls back to default hand trackers. Runtime update logic iterates over tracker candidates per side, returning on the first active tracker, with proper resource cleanup in both success and failure paths. The build configuration links against OpenXR's loader to enable xdev APIs.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 5.56% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Prioritize XDev hand tracker sources' accurately reflects the main change: adding XDev device support as a priority hand tracker source in LiveHandTrackerImpl.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

📝 Docs preview is not auto-deployed for fork PRs.

A maintainer with write access to NVIDIA/IsaacTeleop can deploy a preview by
commenting /preview-docs on this PR. Once deployed, the preview
will live at:

https://nvidia.github.io/IsaacTeleop/preview/pr-483/

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/core/live_trackers/cpp/live_hand_tracker_impl.cpp`:
- Around line 316-323: Before calling pfn_create_hand_tracker_ and push_back,
ensure the vector cannot reallocate: call trackers.reserve(trackers.size() + 1)
prior to creating the XrHandTrackerEXT so that if push_back would otherwise
trigger reallocation it won't and the newly-created handle won't be leaked;
apply the same reserve-before-create change for the other identical creation
site (the second XrHandTrackerEXT creation block) that uses session,
create_info, pfn_create_hand_tracker_, and trackers.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: f16693ef-8f2f-4642-8fc4-49ff1a5bd8a1

📥 Commits

Reviewing files that changed from the base of the PR and between d06147d and 97be5f0.

📒 Files selected for processing (3)
  • src/core/live_trackers/cpp/CMakeLists.txt
  • src/core/live_trackers/cpp/live_hand_tracker_impl.cpp
  • src/core/live_trackers/cpp/live_hand_tracker_impl.hpp

Comment thread src/core/live_trackers/cpp/live_hand_tracker_impl.cpp
@nv-jakob nv-jakob requested review from aristarkhovNV and nvddr May 11, 2026 09:38
Comment thread src/core/live_trackers/cpp/CMakeLists.txt Outdated
@nv-jakob nv-jakob force-pushed the jakob/hand-tracker-push-priority branch from 97be5f0 to 08c4cc5 Compare May 11, 2026 10:37
Co-authored-by: Cursor <cursoragent@cursor.com>
@nv-jakob nv-jakob force-pushed the jakob/hand-tracker-push-priority branch from 08c4cc5 to 22e2dcf Compare May 11, 2026 10:59
@nv-jakob nv-jakob merged commit 7494856 into NVIDIA:main May 11, 2026
38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Automatically pick up the correct hand device

2 participants