Skip to content

docs: point source-build entry points at the shared prerequisites - #1361

Merged
ivany-nv merged 1 commit into
mainfrom
ivany-nv/source-build-prereq-links
Oct 28, 2026
Merged

ivany-nv merged 1 commit into
mainfrom
ivany-nv/source-build-prereq-links

Conversation

@ivany-nv

@ivany-nv ivany-nv commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Description

Follow-up to #1355, which added the GLFW packages to the shared source-build prerequisites and linked three setup pages to them. This finishes that sweep.

  • Link the OAK, Wuji and LeRobot (sim) pages to the whole Build from Source page rather than its One time setup section, so readers also see the Prerequisites section, including the CMake 3.24 note for Ubuntu 22.04.
  • Add the same pointer wherever a page runs a top-level configure without one: the OGLO, Haptikos, Manus (manual build), Gamepad and SpaceMouse pages, the LeRobot real-robot page, the OAK plugin README and CMake header, and the OXR, OGLO, robot_viz, Noitom and vehicle_teleop examples. Only plugin-specific packages stay inline.
  • camera_viz: the source-build prompt now names the sections to follow and says that camera_viz needs Televiz, which builds only when the Vulkan headers (libvulkan-dev) and the CUDA toolkit are found. Without them the build leaves Televiz out silently and setup fails later at the import check.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Testing

  • make -C docs current-docs (sphinx-build -W) passes; checked the rendered link text on the edited pages.
  • SKIP=check-copyright-year pre-commit run --all-files passes.
  • Text-only change: no build logic is touched, so there are no new tests.

Checklist

  • I have read and understood the contribution guidelines
  • I have run the linter and formatter with SKIP=check-copyright-year pre-commit run --all-files
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix/feature works (or explained why not)
  • I have signed off all my commits (git commit -s) per the DCO

Summary by CodeRabbit

  • Documentation
    • Updated build guides across device integrations, plugins, and examples to link to the shared source-build prerequisites.
    • Clarified that camera visualization requires Televiz, which is built when Vulkan headers and the CUDA toolkit are available.
    • Refined setup guidance for optional visualization and tactile builds, including updated system-package instructions.

Link the OAK, Wuji and LeRobot pages to the whole Build from Source page so
readers see the CMake version note in Prerequisites, and add the same pointer
to the device pages, plugin READMEs and examples that run a top-level
configure without one. Keep only plugin-specific packages inline.

The camera_viz source-build prompt names the sections to follow and says that
camera_viz needs Televiz, which builds only when the Vulkan headers and the
CUDA toolkit are found.

Signed-off-by: Ivan Yang <yifanyang@nvidia.com>
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 1339a9c and 6f5d2d9.

Files selected for processing: 22
  • docs/source/device/cameras/oak.rst
  • docs/source/device/gamepad.rst
  • docs/source/device/hand_tracking/haptikos.rst
  • docs/source/device/hand_tracking/manus.rst
  • docs/source/device/hand_tracking/wuji_glove.rst
  • docs/source/device/spatial_controllers/spacemouse.rst
  • docs/source/device/tactile/oglo.rst
  • docs/source/integrations/lerobot/data_collection_real.rst
  • docs/source/integrations/lerobot/data_collection_sim.rst
  • examples/camera_viz/scripts/_install_deps.sh
  • examples/noitom/README.md
  • examples/oglo_tactile/README.md
  • examples/oxr/README.md
  • examples/oxr/python/README.md
  • examples/robot_viz/README.md
  • examples/vehicle_teleop/README.md
  • src/plugins/haptikos/README.md
  • src/plugins/noitom_mocap/README.md
  • src/plugins/oak/CMakeLists.txt
  • src/plugins/oak/README.md
  • src/plugins/oglo_tactile/README.md
  • src/plugins/xsens_full_body/USER_GUIDE.md

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.

Walkthrough

Device, plugin, integration, and example build guidance now links to shared source-build prerequisites. The camera_viz guidance clarifies when Televiz is built. Two tactile visualization package lists are reduced. Two OXR copyright notices now cover 2025–2026.

Priority: Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • NVIDIA/IsaacCapture#1355: Updates the shared prerequisites and several of the same OAK, Wuji, LeRobot, and camera_viz pages.
  • NVIDIA/IsaacCapture#1339: Changes installation instructions on the shared Build from Source page referenced by this PR.
Merge Risk: Minimal · up to 6f5d2

The documentation changes are safe to merge; the linked prerequisites retain the required visualization tools.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within survi… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed 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 clearly and concisely describes the main documentation change: directing source-build entry points to shared prerequisites.
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.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 1 functions across 1 files. (21 skipped: 21 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@github-actions

Copy link
Copy Markdown
Contributor

✅ Preview deployed: https://NVIDIA.github.io/IsaacCapture/preview/pr-1361/

Built from commit 6f5d2d9. It may take a minute for the updated preview to appear.

@ivany-nv
ivany-nv merged commit 7a81161 into main Oct 28, 2026
42 checks passed
@ivany-nv
ivany-nv deleted the ivany-nv/source-build-prereq-links branch October 28, 2026 03:59
github-actions Bot added a commit that referenced this pull request Oct 28, 2026
ivany-nv added a commit that referenced this pull request Oct 28, 2026
#1361 rewrote the oglo_tactile system-deps block that this branch also
edited. Keep its prerequisites link and narrowed apt line, and drop the
pip lines: the example's pyproject and isaaccapture[cloudxr] now bring
Pillow, NumPy and CuPy.

Signed-off-by: Ivan Yang <yifanyang@nvidia.com>
ivany-nv added a commit that referenced this pull request Oct 28, 2026
* examples(oxr): package under isaaccapture_examples

Package the OpenXR examples while preserving the GPU test runner paths and plugin discovery.

Part of #985.

Signed-off-by: Jiwen Cai <jiwenc@nvidia.com>
[Ivan Yang: rebased onto main past #1348, which moved body_tracking.rst,
oak.rst and trackers.rst into subdirectories and left redirect stubs. The
stubs keep main's text; the same path edits are applied to
body_tracking/index.rst, cameras/oak.rst and trackers/index.rst.
python/README.md is deleted as in the original; the prerequisites link
that #1361 added to it is already in examples/oxr/README.md.]
Signed-off-by: Ivan Yang <yifanyang@nvidia.com>

* examples(oxr): move the CloudXR GPU test scripts to tests/

The test_*.py scripts are CI checks, not example code, so they move to
tests/python/xr_runtime/ instead of shipping in the example package. The
package keeps modular_example and modular_example_with_mcap.

- deps/cloudxr/Dockerfile.test copies tests/python/xr_runtime/ to
  /app/tests, so run_tests_with_cloudxr.sh lists the scripts by bare name
  again and the image's default command still finds test_extensions.py.
- The synthetic-hands, hand-inactive and OAK scripts find plugins through
  install_tree.plugins_dir(): the nearest install/plugins above the
  script, which is <checkout>/install/plugins or /app/install/plugins in
  the test image. They are no longer installed beside install/plugins.
- Docs and the OAK plugin README link the scripts at their new path.
- The example depends on isaaccapture[cloudxr], which both modules import
  for CloudXRLauncher, and no longer on numpy, which none imports. Its
  README lists the two modules and says to install isaaccapture first.
- tests/AGENTS.md says what the directory is and who runs it.

Signed-off-by: Ivan Yang <yifanyang@nvidia.com>

* examples(oxr): fix run instructions, plugin lookup and output paths

- README: the Python modules attach to or start CloudXR through
  CloudXRLauncher, which overwrites XR_RUNTIME_JSON, so the export is gone
  from both Python blocks. The README says how to stop the service, what
  --accept-eula does and how to use another runtime. The C++ blocks source
  ~/.cloudxr/run/cloudxr.env, as references/cloudxr.rst says, instead of
  exporting a file name the runtime never writes.
- README: install isaaccapture as Build from source step 4 does, pinned to
  X.Y+local with --reinstall-package, into a venv made with the build's
  Python. CI runs only the scripts listed in run_tests_with_cloudxr.sh,
  and the README says so and how to run one by hand.
- install_tree.plugins_dir() stops at the checkout root (VERSION plus
  CMakeLists.txt) or the test image's /app instead of walking to /, so a
  nested worktree no longer picks up another checkout's plugins. The three
  plugin scripts take --plugin-root for any other install prefix.
- modular_example_with_mcap and test_oak_camera write their MCAP under
  ./recordings/, which the root .gitignore covers, and create it.
- modular_example_with_mcap's docstring names McapRecordingConfig, not
  parameters DeviceIOSession.run() no longer takes.
- The OAK page and plugin README call test_oak_camera.py a test script
  and give its run line; tests/AGENTS.md uses a repo-root path.

Signed-off-by: Ivan Yang <yifanyang@nvidia.com>

* examples(oxr): complete the system-runtime and OAK run instructions

- references/cloudxr.rst: a system runtime also needs
  ISAAC_TELEOP_DISABLE_CXR_ENV_CHECKS, or OpenXRSession refuses to start
  without NV_CXR_RUNTIME_DIR. The oxr README links that section instead
  of restating half of it.
- oxr README: the C++ examples start the service with --accept-eula, as
  references/cloudxr.rst does.
- OAK page and plugin README: test_oak_camera.py loads the plugin from
  install/plugins, so it needs a full build and install, not only the
  camera_plugin_oak target, and isaaccapture in the active environment.
- --plugin-root and --mode help use %(default)s, so --mode shows its real
  default and a '%' in the checkout path no longer breaks --help.
- .gitignore describes what lands in /recordings/ instead of listing it;
  test_oak_camera's docstring says the MCAP goes under the current
  directory.

Signed-off-by: Ivan Yang <yifanyang@nvidia.com>

---------

Signed-off-by: Jiwen Cai <jiwenc@nvidia.com>
Signed-off-by: Ivan Yang <yifanyang@nvidia.com>
Co-authored-by: Jiwen Cai <jiwenc@nvidia.com>

This branch was previously deployed

1 inactive deployment
dev — 6f5d2d9a Deployed Oct 27, 2026 by ivany-nv via publish-wheel #6086
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants