Skip to content

Commit 64bb6a6

Browse files
committed
docs: quick guide to build webxr client
1 parent 776eca2 commit 64bb6a6

5 files changed

Lines changed: 100 additions & 8 deletions

File tree

deps/cloudxr/webxr_client/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"clean": "rimraf dist"
2121
},
2222
"dependencies": {
23-
"@nvidia/cloudxr": "dev",
23+
"@nvidia/cloudxr": "file:../nvidia-cloudxr-6.1.0.tgz",
2424
"@preact/signals-react": "^2.2.0",
2525
"@react-three/drei": "^10.6.1",
2626
"@react-three/fiber": "^9.3.0",

docs/source/getting_started/build_from_source.rst renamed to docs/source/getting_started/build_from_source/index.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ This page describes how to build Isaac Teleop from source, including core librar
88
examples. The instructions align with the project's CMake configuration and the CI workflow
99
(:code-file:`build-ubuntu.yml <.github/workflows/build-ubuntu.yml>` in the GitHub repository).
1010

11+
.. tip::
12+
13+
To build the **WebXR client** instead, see :doc:`webxr`.
14+
1115
.. contents:: Steps
1216
:local:
1317
:depth: 1
@@ -269,6 +273,11 @@ based on the Python version. Note that ``pip`` and ``uv pip`` has slightly diff
269273
# Pass --reinstall to replace an existing install.
270274
uv pip install isaacteleop[retargeters,cloudxr,ui] --find-links=./install/wheels/ --reinstall
271275
276+
.. toctree::
277+
:hidden:
278+
279+
webxr
280+
272281
..
273282
References
274283
.. _`uv`: https://docs.astral.sh/uv/
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
.. SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2+
.. SPDX-License-Identifier: Apache-2.0
3+
4+
Build WebXR Client
5+
==================
6+
7+
.. tip::
8+
9+
We host a prebuilt CloudXR web client at https://nvidia.github.io/IsaacTeleop/client/ for users don't need custom
10+
modifications. To build the client from source, follow the instructions below.
11+
12+
The Isaac Teleop WebXR client is built with React, Three.js, and WebXR. It streams VR/AR content
13+
from a CloudXR Runtime server to the browser. For more details about CloudXR.js SDK and its advanced features, see the
14+
`CloudXR.js documentation`_.
15+
16+
The source is located at :code-file:`deps/cloudxr/webxr_client/ <deps/cloudxr/webxr_client/>`.
17+
18+
.. contents:: Steps
19+
:local:
20+
:depth: 1
21+
22+
Prerequisites
23+
-------------
24+
25+
- Node.js (v20 or higher)
26+
27+
1. Download CloudXR.js SDK
28+
--------------------------
29+
30+
From the project root:
31+
32+
.. code-block:: bash
33+
34+
source deps/cloudxr/webxr_client/scripts/setup_cloudxr_env.sh
35+
deps/cloudxr/webxr_client/scripts/download_cloudxr_sdk.sh
36+
37+
This will automatically download the CloudXR.js SDK and place it in ``deps/cloudxr/nvidia-cloudxr-6.1.0.tgz``. The
38+
`package.json` is configured to install the SDK from this local file.
39+
40+
2. Install dependencies
41+
-----------------------
42+
43+
From the ``deps/cloudxr/webxr_client/`` directory:
44+
45+
.. code-block:: bash
46+
47+
npm install ../nvidia-cloudxr-6.1.0.tgz && npm install
48+
49+
.. note::
50+
The ``--ignore-scripts`` flag is used to skip post-install scripts from dependencies.
51+
52+
3. Build & Run
53+
--------------
54+
55+
Development build (one-shot)
56+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57+
58+
Outputs to ``./build/`` with source maps for debugging:
59+
60+
.. code-block:: bash
61+
62+
npm run dev
63+
64+
Development server (with hot reload)
65+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66+
67+
Starts a webpack dev server on ``http://localhost:8080`` with hot module replacement:
68+
69+
.. code-block:: bash
70+
71+
npm run dev-server
72+
73+
For **HTTPS** (required by WebXR on most browsers):
74+
75+
.. code-block:: bash
76+
77+
npm run dev-server:https
78+
79+
This starts the dev server with a self-signed certificate on ``https://localhost:8080``. You can follow the same
80+
instructions to use the WebXR client as documented in the :ref:`Quick Start Guide <connect-quest-pico>`.
81+
82+
83+
..
84+
References
85+
.. _`CloudXR.js documentation`: https://docs.nvidia.com/cloudxr-sdk/latest/usr_guide/cloudxr_js/index.html

docs/source/getting_started/quick_start.rst

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ In a new terminal, install the package from PyPI (or from a local wheel if you b
3636
pip install 'isaacteleop[cloudxr,retargeters]~=1.0.0' --extra-index-url https://pypi.nvidia.com
3737
3838
Instead of installing the package from PyPI, you can build from source and install the local wheel.
39-
See :doc:`build_from_source` for more details.
39+
See :doc:`build_from_source/index` for more details.
4040

4141
.. _run-cloudxr-server:
4242

@@ -228,9 +228,8 @@ running the CloudXR runtime and wss proxy in containerized environment; or using
228228
For advanced usage and troubleshooting of CloudXR, see the `CloudXR documentation`_ for more
229229
details.
230230

231-
The source code for the web client is in the :code-dir:`deps/cloudxr/webxr_client/` directory.
232-
Follow the instructions in the official `CloudXR.js documentation`_ for more details if you want to
233-
run the web client from source.
231+
The source code for the web client is in the :code-dir:`deps/cloudxr/webxr_client/` directory. To build the web
232+
client from source, see :doc:`build_from_source/webxr`.
234233

235234
.. _connect-apple-vision-pro:
236235

@@ -344,14 +343,13 @@ More Information
344343

345344
- :doc:`teleop_session` — learn how ``TeleopSession`` works and how to build
346345
custom retargeting pipelines
347-
- :doc:`build_from_source` — build the C++ core, Python bindings, and plugins
346+
- :doc:`build_from_source/index` — build the C++ core, Python bindings, and plugins
348347
from source
349348

350349
..
351350
References
352351
.. _`nvidia.github.io/IsaacTeleop/client`: https://nvidia.github.io/IsaacTeleop/client
353352
.. _`CloudXR documentation`: https://docs.nvidia.com/cloudxr-sdk/latest/index.html
354-
.. _`CloudXR.js documentation`: https://docs.nvidia.com/cloudxr-sdk/latest/usr_guide/cloudxr_js/index.html
355353
.. _`Isaac XR Teleop Sample Client for Apple Vision Pro`: https://github.com/isaac-sim/isaac-xr-teleop-sample-client-apple
356354
.. _`Isaac Lab Quick Start`: https://isaac-sim.github.io/IsaacLab/develop/source/setup/quickstart.html
357355
.. _`Teleoperation and Imitation Learning with Isaac Lab Mimic`: https://isaac-sim.github.io/IsaacLab/develop/source/overview/imitation-learning/teleop_imitation.html#teleoperation-imitation-learning

docs/source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Table of Contents
4747
:caption: Getting Started
4848

4949
getting_started/quick_start
50-
getting_started/build_from_source
50+
getting_started/build_from_source/index
5151
getting_started/teleop_session
5252
getting_started/teleop_control_state_machine
5353
getting_started/contributing

0 commit comments

Comments
 (0)