Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/workflows/pre-commit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,20 @@ jobs:
python-version: "3.12"
- name: Test preview selection
run: python3 -m unittest discover -s tests/python/ci -p test_docs_preview.py -v

synthetic-xr-example-tests:
name: Test Synthetic XR task contracts
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Install example package
run: python -m pip install './examples/synthetic_xr[franka]'
- name: Test task contracts without a GPU
run: python -m unittest discover -s examples/synthetic_xr/tests -v
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
# Node.js
node_modules/
package-lock.json
# Keep the tested Synthetic XR client dependency graph reproducible.
!deps/cloudxr/webxr_client/package-lock.json

# Build directories
build/
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ Our [documentation page](https://nvidia.github.io/IsaacCapture) provides everyth
The CTS records one scripted take from a hand-tracking or full-body device and checks it against the data a retargeter needs; start with the [hand](src/python/isaaccapture/cts/hand/README.md) or [full-body](src/python/isaaccapture/cts/full_body/README.md) guide.


### Synthetic XR Teleoperation (Preview)

Try desktop controller input without an XR headset using the [Synthetic XR example](examples/synthetic_xr/README.md). Build this checkout's WebXR client to enable the controls. Host CloudXR requirements still apply.

### Install & Run Isaac Lab

The latest [NVIDIA Isaac Lab](https://github.com/isaac-sim/IsaacLab) release, [3.0.0 EA](https://github.com/isaac-sim/IsaacLab/releases/tag/v3.0.0-EA), includes Isaac Capture, previously released as Isaac Teleop.
Expand Down
6 changes: 6 additions & 0 deletions deps/cloudxr/webxr_client/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ Keep `react` and `react-dom` on the same minor release supported by
`@react-three/fiber`. Validate dependency-range changes with a clean npm install;
do not bypass peer checks with `--force` or `--legacy-peer-deps`.

Synthetic XR browser checks use the dev server's hot reload. Do not edit or format client files while those checks run: remounting the app invalidates the session and input ownership observations.

Synthetic examples must start teleoperation through the existing client handler. Do not hard-code a controller ray to an assumed 3D panel position.

Long-running synthetic-input tests against MockCloudXR must supply decoded mock frames. Preserve the production decoder startup watchdog and input release on disconnect.

Complete client formatting before staging and running pre-commit; do not run
formatters concurrently with hooks, which detect any file changes during a run.

Expand Down
Loading
Loading