Omniverse Realtime Viewer
NVIDIAOfficialCreated by NVIDIA Omniverse
- Skill
- Tool integration
- Software development
- Apache-2.0
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The Omniverse Realtime Viewer skill acts as a central routing and architectural framework for developing USD-based 3D viewer applications. It provides a structured approach to composing rendering, scene state, and delivery mechanisms, ensuring that developers can integrate OVRTX rendering, OVStage scene management, and various UI or streaming adapters effectively. The skill emphasizes a modular architecture where the viewer runtime, UI/input adapters, and delivery systems are decoupled, allowing for consistent behavior across local and streamed environments.
What it does
- Provides a routing architecture for USD viewer apps, XR delivery, and GPU-accelerated rendering.
- Defines the separation of concerns between viewer runtime, UI adapters, and delivery systems.
- Offers guidance on integrating OVRTX for high-fidelity 3D rendering.
- Establishes conventions for camera interaction, scene state management, and input handling.
- Supports the implementation of specialized features like stylized rendering and CAE/CFD visualization.
- Provides protocols for agent-to-UI communication and scene control.
When to use it
- When starting the development of a new USD-based realtime viewer application.
- When integrating advanced rendering features like stylized visualization or AOV switching.
- When building XR or spatial editing capabilities into an existing Omniverse application.
- When you need to standardize the architecture for local and streamed viewer deployments.
- When implementing chat-driven scene control or agent-based inspection of a 3D scene.
Advantages
- Promotes a clean, modular architecture that separates rendering logic from UI and transport.
- Ensures consistent behavior across different delivery methods, such as local windows or WebRTC streaming.
- Provides clear paths for extending functionality without disrupting the core viewer runtime.
- Facilitates the integration of complex simulation and visualization data into the viewer.
- Standardizes conventions for scene state, selection, and camera control.
Usage examples
- “How do I set up a basic USD viewer application using the Omniverse Realtime Viewer architecture?”
- The agent will guide you to start with the viewer app reference, resolve dependencies, and implement the core runtime owner to manage the OVStage and OVRTX renderer.
- “I need to add stylized rendering to my existing viewer. Where should I start?”
- The agent will direct you to the stylized visualization references to implement the required USD/Lua/CUDA nodes within your existing runtime owner.
- “How can I enable an AI agent to control the viewer scene?”
- The agent will point to the A2UI Scene Copilot reference to implement an operation interface that allows the agent to send commands through the existing runtime owner.
- “How do I switch between different render outputs like beauty and depth in my viewer?”
- The agent will explain how to use the AOV switching reference to map RenderVars and update the RenderProduct's orderedVars through the runtime owner.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/nvidia/omniverse-realtime-viewer/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip omniverse-realtime-viewer.zip -d .agents/skills
Documentation by NVIDIA Omniverse
<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -->
<!-- SPDX-License-Identifier: Apache-2.0 -->
Omniverse Realtime Viewer
Build responsive USD viewers by composing OVRTX rendering, OVStage scene state, and the delivery/UI libraries appropriate to the app. Use this package for viewer architecture and interaction; use each selected SDK's upstream guidance for installation and exact release-specific APIs.
Start With The App
When delivery is explicit, select its recipe through
references/routing.mdand follow its current phase. Otherwise start withreferences/usd-viewer-app/README.md. For an existing app, keep its architecture and read only the references for the requested change. Broad app, conventions and UI catalogs are lookups as needed.Resolve the selected libraries through
references/dependencies/README.md. Preserve the project's manifest unless an upgrade is requested.Build a working frame and camera interaction in the chosen shell, then add the requested capabilities. Read
references/conventions.mdfor shared input, camera, selection, and protocol conventions.Use
references/viewer-ux-workflow/README.mdfor broader interface design. Loading, selection feedback, errors, and input responsiveness belong in the first working app, alongside rendering.Validate the actual delivery path with
references/validation.md. A browser screenshot does not validate a native window or a different transport.
Architecture
| Owner | Responsibility |
|---|---|
| Viewer runtime | Own the live OVStage, publication clock, OVRTX renderer, scene changes, and render stepping. |
| UI and input adapter | Display frames and copied app state; send user intent to the runtime owner. |
| Storage/query/simulation workers | Perform their assigned work and return results through the selected integration boundary. |
| Delivery adapter | Present locally or stream through ovstream; respect frame ownership and backpressure. |
Use OVRTX for USD/3D rendering. Browser apps display its WebRTC video; local apps present its output through their native shell. A missing GPU means rendering is unverified, not a reason to substitute a browser 3D renderer.
Keep viewer cameras, settings, effects, and transient edits in app-owned session
or runtime state so the source USD stays intact. Serialize scene mutation and
render stepping through the runtime owner. Read
references/ovstage-ovrtx-integration/README.md for that loop, then the population
or data-plane references when implementing scene loading or attribute writes.
Keep expensive loading and metadata work off the UI and render threads. Keep transport details behind a delivery adapter so camera, selection, properties, and loading state can be reused across local and streamed shells.
Add Capabilities As Needed
Use references/routing.md to select camera/picking, scene management, render
settings, cloud assets, simulation, editor tools, deployment, or CAE/CFD
visualization. Read the selected capability's implementation flow and its linked
contract; the full reference catalog is not a prerequisite for a first frame.
For simulation, use the routing reference's Simulation Ecosystem section plus
references/realtime-sim-integration/README.md. For UI-driven forces or control,
add references/interaction-round-trip/README.md.
For example scenes, use references/usd-sample-data/README.md. When a runtime
failure needs diagnosis, use references/troubleshooting/README.md and the
selected SDK's matching release guidance before changing the architecture.
Solid Modeling: Upstream First
For usd-brep, exact BRep, solid modeling, kernel failures, CAD topology, or
BrepArray questions, first read references/dependencies/README.md → USD BRep. Follow the
owning repository's current agent guidance, skills, operation docs, and package
API before selecting local integration references. Discover the upstream router
rather than assuming skill names or directory layouts remain fixed. Upstream
owns modeling semantics, schema rules, tuning, and diagnostics; this package
owns OVRTX display, worker handoff, selection mapping, and publication timing.
GPU Processing And Stylized Viewers
For custom GPU processing, chained outputs and lens sampling, read
references/spg-processing/README.md. For toon, ink, technical/X-Ray styles,
geometry strokes or full wireframe, continue to
references/stylized-visualization/implementation.md. Its USD/Lua/CUDA starting
node and geometry/depth/composite build sequence work with the selected viewer
recipe; use references/stylized-visualization/style-recipes.md for the preset
math and references/stylized-visualization/README.md for supporting contracts.
Implement the result inside the existing OVRTX/runtime owner and deliver the
published processed output. These instructions do not require a sample checkout
or a prior stylized-rendering implementation.
For an optional usd-brep geometry source, first read
references/dependencies/README.md → USD BRep and the owning repository's
current agent guidance, skills, and operation docs; then read
references/stylized-visualization/usd-brep-source.md for the display boundary.
XR Viewers
For headsets, immersive viewers, or spatial editors, start with
references/xr-viewer-recipe/README.md. Resolve SDK setup and contracts through
references/dependencies/ovxr.md; the library owns OpenXR lifecycle and frame
submission. For controllers, hands, navigation, or scene tools, add
references/xr-spatial-input/README.md and
references/ovxr-python-interactions/README.md. For projection-integrated UI,
read references/ovxr-composition-ui/README.md and
references/ovxr-composition-ui-validation/README.md.
Files
- ATTRIBUTION.mdAdded by AutoGineer943 B
- BENCHMARK.md13.4 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md6.4 KiB
- evals/evals.json7.0 KiB
- references/a2ui-scene-copilot/README.md10.9 KiB
- references/aov-switching/README.md10.5 KiB
- references/cae-cfd-visualization/README.md10.1 KiB
- references/cae-cfd-visualization/cae-data-ingestion.md5.6 KiB
- references/cae-cfd-visualization/coordinate-systems-and-up-axis.md11.0 KiB
- references/cae-cfd-visualization/data-and-operators.md11.7 KiB
- references/cae-cfd-visualization/driving-cae-viz-via-ovstage.md6.4 KiB
- references/cae-cfd-visualization/emitter-and-seed-sources.md16.3 KiB
- references/cae-cfd-visualization/glyphs.md7.1 KiB
- references/cae-cfd-visualization/ovstage-render-and-camera.md11.0 KiB
- references/cae-cfd-visualization/ovui-controls.md13.2 KiB
- references/cae-cfd-visualization/rtwt-blueprint-recreation.md11.9 KiB
- references/cae-cfd-visualization/streaming-cae-viewer.md25.9 KiB
- references/cae-cfd-visualization/temporal-playback.md9.2 KiB
- references/cae-cfd-visualization/usd-authoring-and-materials.md21.5 KiB
- references/cae-cfd-visualization/volume-rendering.md2.5 KiB
- references/camera-auto-select/README.md9.0 KiB
- references/camera-controls/README.md20.9 KiB
- references/camera-picker/README.md9.5 KiB
- references/cloud-assets/README.md4.5 KiB
- references/cloud-deployment/README.md19.6 KiB
- references/cloud-deployment/container-image-build.md2.2 KiB
- references/cloud-deployment/gpu-container-runtime.md2.8 KiB
- references/cloud-deployment/nvcf-self-hosted.md8.4 KiB
- references/cloud-deployment/nvcf-viewer-container-contract.md4.8 KiB
- references/cloud-deployment/webrtc-network-diagnostics.md3.9 KiB
- references/cloudxr-opaque-data-channel/README.md1.1 KiB
- references/conventions.md7.4 KiB
- references/cpp-native-viewer/README.md4.9 KiB
- references/cpp-native-viewer/build-details.md5.2 KiB
- references/cpp-native-viewer/interaction-features.md11.3 KiB
- references/cpp-native-viewer/presentation-loop.md8.0 KiB
- references/cpp-native-viewer/project-build.md3.4 KiB
- references/cpp-native-viewer/renderer-session.md7.1 KiB
- references/cpp-native-viewer/validation.md3.4 KiB
- references/dependencies/README.md6.8 KiB
- references/dependencies/electron-shm.md1.5 KiB
- references/dependencies/environment-validation.md6.6 KiB
- references/dependencies/frontend.md2.3 KiB
- references/dependencies/local-openusd-gpu.md8.7 KiB
- references/dependencies/nvidia-runtime.md14.8 KiB
- references/dependencies/ovrtx.md3.1 KiB
- references/dependencies/ovstream.md3.3 KiB
- references/dependencies/ovxr.md2.3 KiB
- references/dependencies/quick-setup.md2.6 KiB
- references/dependencies/skia-yoga.md936 B
- references/electron-shm-viewer/README.md2.5 KiB
- references/electron-shm-viewer/architecture-project.md6.3 KiB
- references/electron-shm-viewer/electron-client.md6.5 KiB
- references/electron-shm-viewer/protocol-interaction-lifecycle.md7.9 KiB
- references/electron-shm-viewer/python-shm-server.md5.5 KiB
- references/electron-shm-viewer/validation.md2.8 KiB
- references/exact-brep-in-usd/README.md2.5 KiB
- references/gl-viewport-overlay/README.md8.0 KiB
- references/gl-viewport-overlay/architecture.md4.1 KiB
- references/gl-viewport-overlay/example-gizmo.md5.5 KiB
- references/gl-viewport-overlay/interaction-pattern.md4.0 KiB
- references/gl-viewport-overlay/projection-alignment.md4.3 KiB
- references/headless-shm-cli/README.md12.3 KiB
- references/huggingface-usd/README.md7.7 KiB
- references/interaction-round-trip/README.md40.1 KiB
- references/local-viewer/README.md17.8 KiB
- references/native-picking-selection/README.md13.1 KiB
- references/navigation-presets/README.md4.6 KiB
- references/navigation-presets/preset-camera-ops.md5.1 KiB
- references/newton-physics/README.md8.8 KiB
- references/object-selection/README.md11.1 KiB
- references/ovrtx-rendering/README.md23.0 KiB
- references/ovstage-data-plane/README.md3.5 KiB
- references/ovstage-live-geometry/README.md3.3 KiB
- references/ovstage-ovrtx-integration/README.md5.0 KiB
- references/ovstage-population/README.md3.7 KiB
- references/ovstage-runtime/README.md3.1 KiB
- references/ovui-library/README.md3.3 KiB
- references/ovui-library/api-reference.md4.3 KiB
- references/ovui-library/extending.md4.8 KiB
- references/ovui-local-viewer-recipe/README.md4.7 KiB
- references/ovui-local-viewer-recipe/interaction-features.md16.9 KiB
- references/ovui-local-viewer-recipe/project-structure.md6.2 KiB
- references/ovui-local-viewer-recipe/setup-shell-renderer.md16.4 KiB
- references/ovui-local-viewer-recipe/validation-build-order.md6.1 KiB
- references/ovwidgets-editor-shell/README.md5.4 KiB
- references/ovxr-composition-ui-validation/README.md7.1 KiB
- references/ovxr-composition-ui-validation/evidence-gates.md3.5 KiB
- references/ovxr-composition-ui-validation/frustum-placement.md2.4 KiB
- references/ovxr-composition-ui-validation/library-only-validation.md8.1 KiB
- references/ovxr-composition-ui-validation/owned-orchestration.md5.3 KiB
- references/ovxr-composition-ui-validation/viewer-evidence.md4.0 KiB
- references/ovxr-composition-ui/README.md8.5 KiB
- references/ovxr-composition-ui/async-raster-pipeline.md5.0 KiB
- references/ovxr-composition-ui/compositor-passes-and-sync.md6.4 KiB
- references/ovxr-composition-ui/depth-tools.md5.0 KiB
- references/ovxr-composition-ui/editor-document-model.md4.8 KiB
- references/ovxr-composition-ui/experience-quality.md8.5 KiB
- references/ovxr-composition-ui/foveation-and-edge-math.md3.5 KiB
- references/ovxr-composition-ui/library-only-compositor.md10.4 KiB
- references/ovxr-composition-ui/native-build-and-discovery.md4.6 KiB
- references/ovxr-composition-ui/performance-and-telemetry.md7.9 KiB
- references/ovxr-composition-ui/primary-projection-compositor.md3.5 KiB
- references/ovxr-composition-ui/primary-projection.md4.1 KiB
- references/ovxr-composition-ui/projection-and-depth.md5.3 KiB
- references/ovxr-composition-ui/raster-abi.md3.0 KiB
- references/ovxr-composition-ui/sdk-frame-backend.md1.6 KiB
- references/ovxr-composition-ui/skia-yoga.md2.8 KiB
- references/ovxr-composition-ui/spatial-interaction.md5.6 KiB
- references/ovxr-composition-ui/spatial-surfaces-and-interaction.md10.4 KiB
- references/ovxr-composition-ui/telemetry-contract.md3.8 KiB
- references/ovxr-composition-ui/validation-and-live-gates.md3.9 KiB
- references/ovxr-foveation-and-display/README.md1.1 KiB
- references/ovxr-frame-loop-and-readback/README.md1.2 KiB
- references/ovxr-library-runtime/README.md1.1 KiB
- references/ovxr-library-runtime/ar-compositing.md4.4 KiB
- references/ovxr-library-runtime/frame-input-order.md2.2 KiB
- references/ovxr-library-runtime/library-only.md1.1 KiB
- references/ovxr-library-runtime/live-ar-controls.md4.3 KiB
- references/ovxr-library-runtime/mirror-lifetime.md4.1 KiB
- references/ovxr-library-runtime/settings-and-lifetime.md3.9 KiB
- references/ovxr-library-runtime/viewer-assembly.md225 B
- references/ovxr-openxr-runtime/README.md1012 B
- references/ovxr-python-interactions/README.md1.8 KiB
- references/ovxr-python-interactions/architecture.md5.5 KiB
- references/ovxr-python-interactions/feature-patterns.md7.4 KiB
- references/physics-simulation/README.md7.1 KiB
- references/prim-info-display/README.md10.9 KiB
- references/prim-pick-effects/README.md7.3 KiB
- references/prim-transform-safety/README.md8.6 KiB
- references/realtime-sim-integration/README.md7.0 KiB
- references/render-settings/README.md12.6 KiB
- references/routing.md37.7 KiB
- references/section-views/README.md5.8 KiB
- references/seg-outline-highlight/README.md1.5 KiB
- references/selection-animation/README.md5.0 KiB
- references/selection-feedback/README.md7.5 KiB
- references/smlib-brep-pitfalls/README.md2.5 KiB
- references/spg-processing/README.md8.0 KiB
- references/stage-attribute-reads/README.md6.2 KiB
- references/stage-hierarchy/README.md20.3 KiB
- references/stage-hierarchy/fallback-worker-protocol.md7.4 KiB
- references/stage-loading/README.md7.1 KiB
- references/stage-management/README.md6.6 KiB
- references/stage-queries/README.md6.1 KiB
- references/streaming-client/README.md25.6 KiB
- references/streaming-lifecycle/README.md4.6 KiB
- references/streaming-messages/README.md19.5 KiB
- references/streaming-messages/server-handler-map.md3.1 KiB
- references/streaming-server/README.md17.7 KiB
- references/streaming-server/frame-loop-and-continuity.md3.8 KiB
- references/streaming-viewer-recipe/README.md1.9 KiB
- references/streaming-viewer-recipe/client-protocol.md14.2 KiB
- references/streaming-viewer-recipe/interaction-features.md13.8 KiB
- references/streaming-viewer-recipe/project-structure.md7.3 KiB
- references/streaming-viewer-recipe/server-runtime.md20.2 KiB
- references/streaming-viewer-recipe/validation-build-order.md8.5 KiB
- references/streaming-vs-local/README.md9.4 KiB
- references/stylized-visualization/README.md8.7 KiB
- references/stylized-visualization/aov-guide-contracts.md8.1 KiB
- references/stylized-visualization/implementation.md11.4 KiB
- references/stylized-visualization/line-compositor-delivery.md7.7 KiB
- references/stylized-visualization/mesh-xray.md10.1 KiB
- references/stylized-visualization/reproduction-validation.md10.2 KiB
- references/stylized-visualization/style-composition-contract.md5.4 KiB
- references/stylized-visualization/style-recipes.md14.7 KiB
- references/stylized-visualization/usd-brep-source.md4.9 KiB
- references/subprocess-geometry-bridge/README.md3.5 KiB
- references/tauri-local-viewer/README.md6.7 KiB
- references/tauri-shm-transform-gizmo/README.md12.3 KiB
- references/transform-manipulator/README.md17.1 KiB
- references/troubleshooting/README.md11.2 KiB
- references/troubleshooting/scenario-playbooks.md24.7 KiB
- references/usd-sample-data/README.md12.0 KiB
- references/usd-viewer-app/README.md5.0 KiB
- references/validation.md6.3 KiB
- references/viewer-backend-interface/README.md20.1 KiB
- references/viewer-control-patterns/README.md4.8 KiB
- references/viewer-data-view-patterns/README.md5.6 KiB
- references/viewer-feedback-status/README.md5.0 KiB
- references/viewer-input-routing/README.md11.9 KiB
- references/viewer-layout-patterns/README.md4.7 KiB
- references/viewer-ux-workflow/README.md5.2 KiB
- references/viewport-overlays/README.md9.9 KiB
- references/viewport-overlays/cuda-compositing.md6.6 KiB
- references/viewport-resize/README.md4.0 KiB
- references/vulkan-compositing/README.md6.1 KiB
- references/vulkan-compositing/depth-overlays.md15.7 KiB
- references/vulkan-compositing/interop-and-lifecycle.md6.6 KiB
- references/webgl-shm-transport/README.md14.5 KiB
- references/windows-native-setup/README.md11.6 KiB
- references/xr-client-connection/README.md1.1 KiB
- references/xr-client-message-contract/README.md8.5 KiB
- references/xr-desktop-mirror/README.md13.8 KiB
- references/xr-session-modes-and-passthrough/README.md930 B
- references/xr-spatial-input/README.md2.3 KiB
- references/xr-spatial-input/advanced-tools.md5.2 KiB
- references/xr-spatial-input/controllers.md16.3 KiB
- references/xr-spatial-input/feature-validation.md4.9 KiB
- references/xr-spatial-input/gesture-arbitration.md4.9 KiB
- references/xr-spatial-input/gesture-filtering.md5.5 KiB
- references/xr-spatial-input/hand-recognizers.md4.0 KiB
- references/xr-spatial-input/hands.md10.3 KiB
- references/xr-spatial-input/navigation.md13.5 KiB
- references/xr-spatial-input/physics-interaction.md23.2 KiB
- references/xr-spatial-input/simulation-lifecycle.md5.9 KiB
- references/xr-spatial-input/stage-composition.md4.9 KiB
- references/xr-spatial-input/teleport-acceptance.md5.2 KiB
- references/xr-spatial-input/webxr-client.md3.9 KiB
- references/xr-tracking-anchor-and-scale/README.md950 B
- references/xr-viewer-recipe/README.md10.5 KiB
- skill-card.md7.7 KiB
- skill.oms.sig58.2 KiB
references/routing.md
<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -->
<!-- SPDX-License-Identifier: Apache-2.0 -->
Omniverse Realtime Viewer Routing
Use this reference to route plain-language viewer requests into focused references.
This routing reference is self-contained; focused references live in sibling
directories under this references/ directory.
Architectural Constraint
All USD and 3D rendering must use ovrtx, NVIDIA's RTX renderer.
The pattern is always:
Server-side: Python or native process owns
ovrtx.Rendererplus OpenUSD stage access, then renders frames on the GPU.Browser delivery:
ovstreamWebRTC streams rendered frames to a browser. The browser displays video plus UI overlays.Desktop delivery:
ovuinative windows, Tauri WebViews, C++ windows, or Electron SHM pixel transport displayovrtxrendered frames.
If local validation cannot run because the GPU/runtime environment is absent,
scaffold the ovrtx code path and document the runtime requirement. Do not
substitute a browser renderer.
Choose The Delivery And UI
Honor the user's delivery, language and framework requirements; preserve an existing app's shell. Otherwise choose the simplest suitable framework for the requested interactions and host/deployment constraints. React and native toolkit examples illustrate integrations, not preferred frameworks. Use WebRTC for browser delivery; select a local recipe for a packaged desktop app.
An explicit headset/XR request selects xr-viewer-recipe/README.md before
browser/desktop shell selection. A remote GPU or a Quest browser client does not turn the
XR projection path into an ordinary ovstream browser viewer. Choose a desktop
companion shell separately, only when requested.
How To Use These Skills
When a user describes an Omniverse Realtime Viewer:
Route by user intent first.
Read
usd-viewer-app/README.mdfor broad viewer requests.Add focused references for requested capabilities.
Follow each selected reference's implementation notes and gotchas.
Capture validation and review evidence before considering the generated app ready to share.
Intent-Based Routing
| User says... | Read these references |
|---|---|
| "I want to visualize USD files" / "build an Omniverse Realtime Viewer" / "3D viewport" | usd-viewer-app/README.md first |
| "visualize CAE/CFD data in realtime" / "realtime CAE/CFD viewer" / "visualize my simulation/solver data live" / "show my CFD results interactively" / "visualize CFD/CAE data" / "warp-simdata" / "cae-openusd-plugins" / "iso-surface / slice / streamlines" / "color a mesh by Mach/Pressure/Temperature" / "CGNS/OpenFOAM/VTK/EnSight" | First decide the delivery path with streaming-vs-local/README.md, then build the base viewer with ovui-local-viewer-recipe/README.md (local) or streaming-viewer-recipe/README.md (browser), then layer cae-cfd-visualization/README.md and its focused docs on top. CAE/CFD is a layer over a delivery recipe, not a standalone app. |
| "simple interactive viewport" | streaming-vs-local/README.md first; for an unspecified framework, prefer streaming-viewer-recipe/README.md; use ovui-local-viewer-recipe/README.md only when Python/native/in-process local UI is explicit. Then add ovrtx-rendering/README.md, stage-loading/README.md, viewer-input-routing/README.md, and camera-controls/README.md. |
| "native desktop app with React UI" / "Tauri viewer" / "Rust OVRTX" | tauri-local-viewer/README.md, ovrtx-rendering/README.md |
| "C++ viewer" / "native desktop" / "ImGui viewer" / "GLFW viewer" | cpp-native-viewer/README.md; add viewer-control-patterns/README.md for Dear ImGui controls, toolbars, settings, or dialogs |
| "Electron app" / "Electron viewer" / "SHM viewer" / "shared memory viewer" | electron-shm-viewer/README.md |
| "headless automation" / "scripted testing" / "CLI tool" / "SHM automation" | headless-shm-cli/README.md |
| "local separate-process viewer" / "process-isolated local viewer" | electron-shm-viewer/README.md |
| "reusable UI" / "ViewerBackend" / "shared components" / "cross-transport UI" | viewer-backend-interface/README.md |
| "viewer UI" / "frontend UI" / "UX" / "app layout" / "redesign" / "panels" / "toolbar" / "ovui UI" / "ImGui UI" | viewer-ux-workflow/README.md, then focused viewer UI references |
| "viewport layout" / "outliner and properties" / "drawer" / "anchored inspector" / "responsive layout" | viewer-layout-patterns/README.md |
| "buttons" / "actions" / "forms" / "controls" / "sliders" / "confirmations" | viewer-control-patterns/README.md |
| "stage tree UI" / "asset grid" / "property inspector UI" / "JSON tree" | viewer-data-view-patterns/README.md |
| "loading state" / "error banner" / "stream health" / "offline" / "lagged" / "status UI" | viewer-feedback-status/README.md |
| "stream to a browser" / "browser Omniverse Realtime Viewer" | streaming-viewer-recipe/README.md; follow its current-work links |
| "pick objects" / "click to select" | viewer-input-routing/README.md, native-picking-selection/README.md, object-selection/README.md, selection-feedback/README.md |
| "when picked, change a material/visibility/effect attribute" | prim-pick-effects/README.md, object-selection/README.md, ovstage-data-plane/README.md |
| "see info/properties for highlighted objects" | prim-info-display/README.md, stage-attribute-reads/README.md, stage-hierarchy/README.md, ovstage-data-plane/README.md |
| "highlight selected objects" | selection-feedback/README.md, native-picking-selection/README.md |
| "custom segmentation-buffer outline overlay" | seg-outline-highlight/README.md |
| "animate selected objects" | selection-animation/README.md, ovstage-data-plane/README.md |
| "move/rotate/scale selected objects" / "transform gizmo" / "manipulator" | transform-manipulator/README.md, ovstage-data-plane/README.md, prim-transform-safety/README.md for current local/world, inheritance, and persistence semantics |
| "Tauri SHM transform gizmo" / "client-side gizmo overlay" | tauri-shm-transform-gizmo/README.md, plus tauri-local-viewer/README.md and webgl-shm-transport/README.md |
| "C++ viewport overlay" / "C++ gizmo" / "GL gizmo" | gl-viewport-overlay/README.md, ovui-library/README.md, plus cpp-native-viewer/README.md |
| "Vulkan compositing" / "VulkanSurface overlay" / "raster gizmos over OVRTX" / "composite with the OVRTX Z buffer" | vulkan-compositing/README.md, then vulkan-compositing/interop-and-lifecycle.md; add vulkan-compositing/depth-overlays.md for scene occlusion |
| "switch scenes" / "load different USD files" / "asset browser" | stage-management/README.md, stage-loading/README.md |
| "rendering settings" / "lighting" / "quality controls" | render-settings/README.md, viewer-control-patterns/README.md |
| "spectral rendering" / "wavelength bands" / "renderer startup profiles" | render-settings/README.md, then the current upstream OVRTX configuration/spectral guidance linked there |
| "lighting contributions" / "light path expressions" / "diffuse/glossy/caustic views" | aov-switching/README.md, then the current upstream LPE guidance linked there |
| "section plane" / "cutaway" / "cap cut surfaces" / "slice plane gizmo" | section-views/README.md; add viewer-input-routing/README.md for interaction |
| "save runtime edits" / "export selected transforms" | prim-transform-safety/README.md → Saving runtime edits, then the current upstream OVStage export skill |
| "switch AOVs" / "view normals" / "segmentation render output" | aov-switching/README.md, ovrtx-rendering/README.md, streaming-messages/README.md |
| "SPG" / "GPU post-processing" / "processed render output" / "lens distortion" | spg-processing/README.md, then the selected delivery recipe and aov-switching/README.md for source/processed output selection |
| "stylized rendering" / "NPR" / "toon shader" / "technical illustration" / "X-ray view" / "feature lines" / "silhouette lines" / "dashed or dotted hidden lines" / "AOV post-processing" | spg-processing/README.md, then stylized-visualization/README.md; for faithful reproduction follow its four core-contract read order, add the selected delivery recipe, and use aov-switching/README.md when the app also exposes raw render-output switching. First inventory the geometry provider for X-Ray: use stylized-visualization/mesh-xray.md for ordinary tessellated USD meshes; it is not a BREP requirement. For a new look without a named recipe, also read stylized-visualization/style-composition-contract.md. |
| "settings persist across scenes" | stage-management/README.md, render-settings/README.md, viewer-control-patterns/README.md |
| "scene tree" / "hierarchy" / "variants" | stage-hierarchy/README.md |
| "viewport overlays" / "camera gizmo" / "floating panel" | viewport-overlays/README.md, plus camera-controls/README.md or prim-info-display/README.md |
| "switch between cameras" / "camera picker" | camera-auto-select/README.md, camera-picker/README.md |
| "load from S3/MinIO/cloud assets" | cloud-assets/README.md |
| "download USD from Hugging Face" / "Hugging Face dataset asset" | huggingface-usd/README.md, then cloud-assets/README.md if the generated app needs a unified asset browser |
| "dynamic viewport resize" / "responsive stream resolution" / "resizeViewport" | viewport-resize/README.md, plus streaming-server/README.md, streaming-client/README.md, and streaming-messages/README.md |
| "browse assets with thumbnails" | cloud-assets/README.md |
| "deploy with NVCF self-hosted" / "NVCF control plane" / "LLS" / "AWS or Azure NVCF" / "on-premises NVCF" / "upgrade NVCF streaming stack" | cloud-deployment/nvcf-self-hosted.md, then upstream streaming-self-hosted skills; use the viewer-container and network-diagnostics references for app handoff and validation |
| "deploy with Brev, OKAS, or cloud sessions" | cloud-deployment/README.md |
| "physics simulation" / "drop test" / "physics grab" / "pick-driven impulse" | dependencies/nvidia-runtime.md → physics-simulation/README.md → realtime-sim-integration/README.md → object-selection/README.md / ovstage-data-plane/README.md; then inspect the current upstream OVPhysX package/repo skills/ for exact APIs |
| "Newton physics" / "ovnewton" / "cable" / "articulated mechanism" / "robot arm sim" | newton-physics/README.md, realtime-sim-integration/README.md, ovstage-data-plane/README.md; route to https://github.com/newton-physics/newton and its .claude/skills for Newton itself |
| "click an object to push it" / "flick/throw/knock over a simulated body" / "shake the scene" / "drive a joint from the UI" / "teleop" / "make the sim respond to the user" | interaction-round-trip/README.md, then the engine reference (newton-physics/README.md or physics-simulation/README.md) |
| "I clicked the ball and nothing happened" / "pick returns a mesh but physics wants the body" / "impulse launched the object off screen" / "the physics readout is frozen" | interaction-round-trip/README.md, plus native-picking-selection/README.md for the pick itself |
| "per-frame controller" / "IK from a hook" / "scripted robot motion" / "control_hook" / "joint targets never change" | interaction-round-trip/README.md (perturbation vs command), newton-physics/README.md, realtime-sim-integration/README.md |
| "the sim runs but nothing moves" / "prims vanished" / "physics is slow" / "solver diverged" / "sim reset does nothing" | realtime-sim-integration/README.md first, then the engine reference |
| "step a simulation on the render loop" / "publish poses every frame" / "CUDA graph capture in a viewer" / "catch-up / realtime factor" | realtime-sim-integration/README.md, ovstage-data-plane/README.md |
| "import CAD files" / "convert STEP/IGES to USD" | Read NVIDIA-Omniverse/usd-convert-cad — omniverse-cad-to-usd |
| "native Windows setup" | windows-native-setup/README.md |
| "build XR from libraries" / "managed anchor" / "default anchor" / "user scale" / "live XR settings" | xr-viewer-recipe/README.md, xr-spatial-input/README.md, ovxr-python-interactions/README.md |
| "XR viewer" / "VR" / "AR" / "headset" / "Vision Pro" / "Quest" / "immersive" / "stereo rendering" / "OpenXR" / "CloudXR" | xr-viewer-recipe/README.md first; its construction route includes the runtime and OVStage contracts. For an editor use ovxr-library-runtime/viewer-assembly.md; add only the requested input, UI, passthrough and mirror features. |
| "projection-integrated spatial UI" / "OpenXR composition UI" / "server-rendered XR panel" / "CloudXR UI" / "Skia Yoga XR UI" / "attach UI to a prim" | ovxr-composition-ui/README.md, then ovxr-composition-ui-validation/README.md |
| "validate XR spatial UI" / "prove CloudXR UI interaction" / "spatial panel capture" / "UI is head-locked" / "panel is off-frustum" / "scene and UI in one capture" | ovxr-composition-ui-validation/README.md; add ovxr-composition-ui/README.md for implementation changes |
| "XR controllers" / "PSVR2" / "hand tracking" / "pinch" / "teleport" / "controller ray" / "XR grab" / "tracked prop" / "spatial input" | xr-spatial-input/README.md, ovxr-openxr-runtime/README.md, ovstage-data-plane/README.md, and ovstage-ovrtx-integration/README.md |
| "CloudXR server without Kit" / "kitless CloudXR" / "monado-service" / "XR_ERROR_RUNTIME_UNAVAILABLE" / "host the CloudXR runtime" | cloudxr-opaque-data-channel/README.md |
| "send messages from a headset" / "XR data channel" / "opaque data channel" / "XR_NV_opaque_data_channel" | cloudxr-opaque-data-channel/README.md, then streaming-messages/README.md for the dispatch pattern |
| "XR client cannot connect" / "server logs nothing" / "RtspClient connect timed out" / "backend mode" / "nvst-native" / "which port does CloudXR bind" / "CloudXR firewall" / "connect a Vision Pro or Quest client" | xr-client-connection/README.md |
| "client message does nothing" / "XR message envelope" / "Type vs type casing" / "12-float matrix" / "scene manifest" / "manipulate a prim from a headset" / "throttle transform messages" | xr-client-message-contract/README.md, then cloudxr-opaque-data-channel/README.md |
| "foveation" / "warped foveation" / "foveation unwarp" / "inset foveation" / "eye-tracked foveation" / "quad view" / "display mode" / "why is my captured frame distorted" / "render resolution in XR" / "recommended swapchain size" / "runtime PQW" / "foveation_unwarp has no effect" / "the mirror is the wrong size" | ovxr-foveation-and-display/README.md, then ovxr-openxr-runtime/README.md |
| "headset starts in the wrong place" / "scene is rotated 90 degrees in VR" / "scene is 100x too big in the headset" / "tracking anchor" / "up axis in XR" / "metersPerUnit" / "Z-up stage in VR" / "QR anchor" | xr-tracking-anchor-and-scale/README.md, then ovstage-runtime/README.md for the ordinal rules on anchor writes |
| "begin_frame" / "bind_frame" / "submit_frame" / "cancel_frame" / "step_result" / "frame readback" / "multi-GPU XR" / "stereo split" / "out of memory in the XR frame loop" | ovxr-frame-loop-and-readback/README.md; add ovxr-foveation-and-display/README.md when the capture is consumed outside the headset |
| "mirror the XR view" / "spectator view" / "desktop window showing the headset" / "which render product feeds the stream" / "red and blue swapped in the mirror" / "one renderer for a headset and a window" / "the frame rate cap is not the rate I asked for" | xr-desktop-mirror/README.md, then ovxr-frame-loop-and-readback/README.md and ovxr-foveation-and-display/README.md; add tauri-local-viewer/README.md or electron-shm-viewer/README.md for the consumer shell |
| "AR session" / "passthrough" / "environment blend mode" / "alpha blend" / "black background instead of passthrough" / "VR vs AR in ovxr" / "additive blend" | xr-session-modes-and-passthrough/README.md for negotiated blending and ovxr-library-runtime/ar-compositing.md for renderer alpha; add ovxr-library-runtime/live-ar-controls.md for live switches |
| "live geometry updates" / "streaming parametric geometry" / "write mesh to Fabric" / "real-time mesh swap" / "no stage rebuild" | ovstage-live-geometry/README.md, then ovstage-data-plane/README.md |
| "library requires different Python version" / "subprocess geometry bridge" / "Python 3.12 subprocess" / "native library version mismatch" | subprocess-geometry-bridge/README.md |
| "usd-brep" / "integrate SMLib" / "solidmodeling library" / "omni_solid" / "BRep in ovrtx" / "parametric CAD viewer" | First read dependencies/README.md → USD BRep and its current upstream agent guidance, skills, and operation docs; then select the local worker, live geometry, modeling validation, or exact USD integration references. |
| "fillet fails" / "SM_ERR" / "seam edge" / "degenerate solid" / "boolean consumes handle" | First read dependencies/README.md → USD BRep and its current upstream agent guidance, skills, and operation docs; then select the local worker, live geometry, modeling validation, or exact USD integration references. |
| "exact BREP" / "BrepArray" / "persist NURBS in USD" / "codeless schema" / "Fabric drops prim" | exact-brep-in-usd/README.md, then ovstage-live-geometry/README.md |
| "full editor with docking/property inspector" | streaming-vs-local/README.md first; use ovwidgets-editor-shell/README.md for the full editor path, plus viewer-control-patterns/README.md and viewer-data-view-patterns/README.md for editor controls and panels |
| "scene copilot" / "AI chat for the viewer" / "A2UI agent" / "CopilotKit viewer" / "natural language scene control" | a2ui-scene-copilot/README.md |
Target prompt routing:
I want to visualize USD files in a simple interactive viewport, I want to pick
objects and see information about the objects highlighted, and I want to easily
switch between different USD scenes and have some basic rendering and lighting
settings that persist across scenes.Read: usd-viewer-app/README.md, ovui-local-viewer-recipe/README.md, local-viewer/README.md,
ovrtx-rendering/README.md, stage-loading/README.md, viewer-input-routing/README.md,
camera-controls/README.md, native-picking-selection/README.md, object-selection/README.md,
selection-feedback/README.md, prim-info-display/README.md, stage-attribute-reads/README.md,
stage-management/README.md, render-settings/README.md, viewer-control-patterns/README.md, and
stage-hierarchy/README.md.
Capability-Based Routing
| Capability | Skills to read |
|---|---|
| High-level Omniverse Realtime Viewer recipe | usd-viewer-app/README.md |
| Core ovrtx renderer construction/step/write APIs | ovrtx-rendering/README.md |
| Camera/render product/render var/session stage setup | stage-loading/README.md |
| Local desktop end-to-end recipe | ovui-local-viewer-recipe/README.md; add viewer-control-patterns/README.md for toolbars, forms, render settings, or other user-facing controls |
| Local desktop lightweight ovui shell | local-viewer/README.md; add viewer-control-patterns/README.md for header, sidebar, toolbar, or inline controls |
| Tauri/Rust native desktop with React WebView | tauri-local-viewer/README.md |
| Native C++ OVRTX viewer (toolkit selected for the app) | cpp-native-viewer/README.md; add viewer-control-patterns/README.md for Dear ImGui controls |
| Electron plus SHM local separate-process viewer | electron-shm-viewer/README.md, webgl-shm-transport/README.md |
| Headless SHM automation and testing | headless-shm-cli/README.md |
| ViewerBackend interface and shared React components | viewer-backend-interface/README.md |
| SharedArrayBuffer to WebGL pixel transport | webgl-shm-transport/README.md |
| Interactive translate/rotate/scale manipulators | transform-manipulator/README.md, ovstage-data-plane/README.md, prim-transform-safety/README.md for current local/world, inheritance, and persistence semantics |
| Client-rendered transform gizmo for Tauri SHM | tauri-shm-transform-gizmo/README.md |
| C++ GL viewport overlays and reusable gizmo math | gl-viewport-overlay/README.md, ovui-library/README.md |
| Native Vulkan color/alpha composition, depth-tested raster overlays and CUDA/Vulkan frame ownership | vulkan-compositing/README.md; use vulkan-compositing/depth-overlays.md for manual metric rejection or D32 seeding |
| Viewer UI intent routing and UX workflow | viewer-ux-workflow/README.md |
| Viewport-dominant layout, panels, drawers, responsive shell | viewer-layout-patterns/README.md |
| Toolbars, forms, sliders, semantic actions, confirmations | viewer-control-patterns/README.md |
| Stage tree, asset browser, property inspector, JSON data views | viewer-data-view-patterns/README.md |
| Loading, errors, stream health, lagged/offline status | viewer-feedback-status/README.md |
| Full editor shell | streaming-vs-local/README.md, ovwidgets-editor-shell/README.md, viewer-control-patterns/README.md, viewer-data-view-patterns/README.md |
| A2UI scene copilot / LLM agent control | a2ui-scene-copilot/README.md |
| CAE/CFD simulation visualization (as a layer over a delivery recipe) | streaming-vs-local/README.md (delivery), then ovui-local-viewer-recipe/README.md or streaming-viewer-recipe/README.md (base viewer), then cae-cfd-visualization/README.md (CAE layer) |
| Live control → CAE scene write (data-plane vs structural rebuild) | cae-cfd-visualization/driving-cae-viz-via-ovstage.md |
| Streaming architecture decision | streaming-vs-local/README.md |
| Browser-streamed end-to-end recipe | streaming-viewer-recipe/README.md |
| WebRTC/RTSP server and CUDA frame streaming | streaming-server/README.md |
| React/AppStreamer browser client for standalone ovstream Direct mode | streaming-client/README.md |
| Streaming JSON data-channel protocol | streaming-messages/README.md |
| Stream callback/data-channel lifecycle | streaming-lifecycle/README.md |
| Viewer input routing / WebRTC input / click-vs-drag / viewport input ownership | viewer-input-routing/README.md |
| Orbit/pan/zoom/camera fitting/gizmo | viewer-input-routing/README.md, camera-controls/README.md |
| Switchable navigation / Blender-style controls / Revit-style navigation / grab-the-world / fly speed controls | viewer-input-routing/README.md, camera-controls/README.md, navigation-presets/README.md |
| Object picking/selection | viewer-input-routing/README.md, native-picking-selection/README.md, object-selection/README.md |
| Selection glow/highlight | selection-feedback/README.md, native-picking-selection/README.md |
| Custom segmentation-buffer post-process overlays | seg-outline-highlight/README.md |
| Transform-safe live prim manipulation | transform-manipulator/README.md, ovstage-data-plane/README.md, ovstage-ovrtx-integration/README.md |
| Selection hover/motion animation | selection-animation/README.md, ovstage-data-plane/README.md |
| Selected prim info/properties display | prim-info-display/README.md, stage-attribute-reads/README.md, ovstage-data-plane/README.md |
| Scene switching/reload/persistent state | stage-management/README.md |
| Render quality/render vars/lighting/settings | render-settings/README.md, viewer-control-patterns/README.md |
| SPG nodes, custom sampling, GPU chaining and processed-output publication | spg-processing/README.md, selected delivery recipe |
| SPG stylized image/geometry processing and explicit wireframe | stylized-visualization/README.md, spg-processing/README.md |
| Browser AOV/render-var switching | aov-switching/README.md, ovrtx-rendering/README.md, streaming-messages/README.md |
| Server-side ovui overlays | viewport-overlays/README.md |
| USD hierarchy/properties/variants/bounds | stage-hierarchy/README.md |
| OVStage prim discovery/filtering | stage-queries/README.md, ovstage-data-plane/README.md |
| OVStage scalar/array attribute reads | stage-attribute-reads/README.md, ovstage-data-plane/README.md |
| Pick-driven runtime/USD attribute effects | prim-pick-effects/README.md, ovstage-data-plane/README.md |
| S3/MinIO asset loading and browsing | cloud-assets/README.md |
| Hugging Face USD dataset download | huggingface-usd/README.md |
| Dynamic streamed viewport resolution | viewport-resize/README.md, streaming-server/README.md, streaming-client/README.md, streaming-messages/README.md |
| Physics simulation / pick-driven impulse handoff | dependencies/nvidia-runtime.md → physics-simulation/README.md → realtime-sim-integration/README.md → object-selection/README.md / ovstage-data-plane/README.md; use the current OVPhysX package/repo skills/ for exact APIs |
| Newton continuous simulation in-process (ovnewton) | newton-physics/README.md, realtime-sim-integration/README.md, ovstage-data-plane/README.md; use the public Newton repo/skills for Newton APIs |
| Engine-agnostic sim-on-the-render-loop patterns: frame contract, divergence guards, catch-up budgets, publish cost, graph-capture lifetime, measurement protocol | realtime-sim-integration/README.md |
| Click-to-impulse and other user input INTO a running simulation: hit-to-body resolution, thread-crossing input queues, gravity-relative gesture sizing, per-frame control hooks, honest sim readouts | interaction-round-trip/README.md, plus native-picking-selection/README.md and streaming-messages/README.md |
| CAD-to-USD conversion | Read NVIDIA-Omniverse/usd-convert-cad — omniverse-cad-to-usd |
| Native Windows setup | windows-native-setup/README.md |
| Desktop mirror / spectator view of an XR session on one renderer | xr-desktop-mirror/README.md, ovxr-frame-loop-and-readback/README.md, dependencies/ovstream.md |
| XR controllers, hands, tracked props, spatial tools, and lifecycle validation | xr-spatial-input/README.md, ovxr-openxr-runtime/README.md, ovstage-data-plane/README.md |
| Projection-integrated spatial UI with Skia and Yoga | ovxr-composition-ui/README.md |
| Emulator, CloudXR, and headset spatial-UI proof | ovxr-composition-ui-validation/README.md |
| Live dynamic mesh geometry writes to OVStage Fabric | ovstage-live-geometry/README.md, ovstage-data-plane/README.md |
| Native library subprocess bridge (Python version mismatch) | subprocess-geometry-bridge/README.md |
| SMLib fillet/boolean/tessellation failures and silently wrong results | smlib-brep-pitfalls/README.md, subprocess-geometry-bridge/README.md |
| Exact BRep persistence alongside a tessellated render mesh | exact-brep-in-usd/README.md, smlib-brep-pitfalls/README.md |
Decision Tree
User prompt received
|
+- High-level app request? ("build an Omniverse Realtime Viewer", "visualize USD files")
| +- READ: usd-viewer-app/README.md
|
+- Visualize CAE/CFD simulation data? ("visualize CAE/CFD data in realtime", "realtime CFD viewer", "visualize my solver data live", CGNS/OpenFOAM/VTK/EnSight, iso-surface/slice/streamlines)
| +- 1) Delivery path -> READ: streaming-vs-local (browser vs local)
| +- 2) Base viewer -> READ: streaming-viewer-recipe (browser) OR ovui-local-viewer-recipe + local-viewer (local)
| +- 3) CAE layer -> READ: cae-cfd-visualization/README.md, then its focused docs (data/operators, ingestion, authoring, scene, controls)
| +- 4) Wire controls -> READ: cae-cfd-visualization/driving-cae-viz-via-ovstage.md (control -> data-plane write vs structural rebuild)
|
+- Delivery method?
| +- Browser/web -> READ: streaming-viewer-recipe; follow its current-work links
| +- Desktop/local (React UI, no Python) -> READ: tauri-local-viewer
| +- Desktop/local (C++; choose an appropriate native toolkit) -> READ: cpp-native-viewer + viewer-control-patterns
| +- Desktop/local (React UI, Python server, separate process) -> READ: electron-shm-viewer
| +- Desktop/local (Python, simple) -> READ: ovui-local-viewer-recipe + local-viewer + ovrtx-rendering + stage-loading; add viewer-control-patterns when controls are visible
| +- Desktop/local (Python, full editor) -> READ: streaming-vs-local + ovwidgets-editor-shell + viewer-control-patterns
| +- Headset/XR -> READ: xr-viewer-recipe; use its assembly map for an editor
| +- Both/unsure -> READ: streaming-vs-local first
|
+- Viewer/UI work?
| +- Broad UI/layout prompt -> READ: viewer-ux-workflow
| +- Panels/drawers/responsive shell -> READ: viewer-layout-patterns
| +- Toolbars/forms/actions/sliders/confirmations -> READ: viewer-control-patterns
| +- Trees/asset grids/property inspectors -> READ: viewer-data-view-patterns
| +- Loading/errors/stream status -> READ: viewer-feedback-status
|
+- Specific feature?
| +- Projection-integrated XR panel -> READ: ovxr-composition-ui + ovxr-composition-ui-validation
| +- XR panel off-frustum/head-locked -> READ: ovxr-composition-ui-validation + ovxr-composition-ui/spatial-interaction
| +- Object picking -> READ: viewer-input-routing + native-picking-selection + object-selection + selection-feedback
| +- Pick changes a USD/material attribute -> READ: prim-pick-effects + object-selection + ovstage-data-plane
| +- Object info panel -> READ: prim-info-display + stage-attribute-reads + stage-hierarchy + ovstage-data-plane
| +- Camera navigation -> READ: viewer-input-routing + camera-controls
| +- Switchable or tool-specific scheme requested -> also READ: navigation-presets
| +- Transform gizmo/manipulator -> READ: transform-manipulator + ovstage-data-plane
| +- Tauri SHM client-rendered gizmo -> READ: tauri-shm-transform-gizmo + tauri-local-viewer + webgl-shm-transport
| +- C++ GL viewport overlay/gizmo -> READ: gl-viewport-overlay + ovui-library + cpp-native-viewer
| +- Vulkan raster overlay/compositing/depth -> READ: vulkan-compositing + its selected depth/interop reference
| +- Scene switching -> READ: stage-management
| +- Render quality/lighting -> READ: render-settings
| +- AOV/render-var switching -> READ: aov-switching + ovrtx-rendering + streaming-messages
| +- SPG/custom GPU processing/lens sampling -> READ: spg-processing; add delivery and aov-switching
| +- Stylized/NPR/toon/technical/X-ray/feature-line/wireframe visualization -> READ: spg-processing + stylized-visualization; inventory geometry provider, read stylized-visualization/mesh-xray for regular mesh X-Ray, read style-composition-contract for a new unnamed look; add aov-switching when raw render outputs are user-selectable
| +- Viewport overlays -> READ: viewport-overlays
| +- Animation -> READ: selection-animation + ovstage-data-plane
| +- Custom messages -> READ: streaming-messages
| +- Live mesh geometry swap (no stage rebuild) -> READ: ovstage-live-geometry + ovstage-data-plane
| +- Native library subprocess (Python version mismatch) -> READ: subprocess-geometry-bridge
| +- SMLib fillet/boolean failure or silently wrong solid -> READ: smlib-brep-pitfalls
| +- Exact BRep persisted next to the render mesh -> READ: exact-brep-in-usd
|
+- Infrastructure?
| +- Cloud assets -> READ: cloud-assets
| +- Cloud deployment -> READ: cloud-deployment
| +- Physics simulation (OVPhysX) -> READ: physics-simulation + realtime-sim-integration + object-selection + ovstage-data-plane; clone ovphysx, read its skills/
| +- Physics simulation (Newton, continuous) -> READ: newton-physics + realtime-sim-integration + ovstage-data-plane; route to the public Newton repo/skills
| +- User input INTO a running sim (click-to-impulse, shake, teleop, control hook) -> READ: interaction-round-trip + native-picking-selection + streaming-messages
| +- CAD file import -> READ: https://github.com/NVIDIA-Omniverse/usd-convert-cad/blob/main/skills/omniverse-cad-to-usd/SKILL.md
| +- Windows -> READ: windows-native-setup
|
+- AI/Agent integration?
| +- Scene copilot / A2UI / LLM agent -> READ: a2ui-scene-copilot
| +- CopilotKit chat with viewer -> READ: a2ui-scene-copilot + streaming-client
|
+- USD stage work?
+- Loading scenes -> READ: stage-loading
+- Hierarchy/queries -> READ: stage-hierarchy
+- OVStage prim filters -> READ: stage-queries + ovstage-data-plane
+- OVStage attribute values -> READ: stage-attribute-reads + ovstage-data-planeDependencies Model
When a selected reference tells you to install or configure a dependency, read
dependencies/README.md first. It is the source of truth for primary NVIDIA
runtime dependencies and their upstream guidance.
| Library | Install method | Notes |
|---|---|---|
ovrtx | See dependencies/nvidia-runtime.md | RTX USD renderer; RTX GPU required |
ovstream | See dependencies/nvidia-runtime.md | Streaming runtime |
ov-web-rtc client / @nvidia/ov-web-rtc | See dependencies/nvidia-runtime.md | Browser AppStreamer client for standalone ovstream Direct mode; do not use alternate package names, hard-coded client versions, or connection profiles intended for a different streaming product |
ovui | See dependencies/nvidia-runtime.md | Native UI toolkit |
ovui-data-adapters-* | Resolve matching companion distributions through references/dependencies | Common interfaces and provider-specific UI adapters |
| Full editor UI package | Install only when current ovui dependency guidance explicitly requires it, from the same ovui package set | Full editor widgets |
ovstorage | See dependencies/nvidia-runtime.md | Cloud asset browsing and cache sync; inspect upstream AGENTS.md and skills/ first |
ovphysx | See dependencies/nvidia-runtime.md | Physics simulation; use physics-simulation/README.md for viewer integration and OVPhysX skills for tensor APIs |
ovnewton | See dependencies/nvidia-runtime.md | Newton physics bridged to OVStage; use newton-physics/README.md for viewer integration and the public Newton repo for Newton itself |
usd-convert-cad | Follow NVIDIA-Omniverse/usd-convert-cad — omniverse-cad-to-usd | CAD file conversion to USD; upstream owns installation, versions, platforms, and conversion options |
pxr / OpenUSD | pip install usd-core | Use version pins from platform skills |
numpy | pip install numpy | Array operations |
warp | pip install warp-lang | GPU kernels and CUDA buffer utilities |
warp-simdata (CAE GPU operator library) | See dependencies/README.md → CAE/CFD Visualization Libraries (github.com/NVIDIA/warp-simdata) | CAE/CFD Dataset + visualization operators |
cae-openusd-plugins (CAE USD reader/schema library) | See dependencies/README.md → CAE/CFD Visualization Libraries (github.com/NVIDIA-Omniverse/cae-openusd-plugins) | Optional CAE file readers (CGNS/OpenFOAM/VTK/EnSight/FLASH) |
Simulation Ecosystem
These references cover viewer integration, not simulator internals. For Newton, Warp, MuJoCo, USD import, or solver selection, first read the current upstream repository's agent guidance, documentation, package metadata, and examples.
| Need | Read first | Then use here for viewer integration |
|---|---|---|
| Continuous Newton simulation | Newton repository, its current agent guidance and docs | newton-physics/README.md, realtime-sim-integration/README.md |
| Input driving a live simulation | The selected engine's current input/control guidance | interaction-round-trip/README.md |
| Newton's Warp runtime, graph capture, CUDA timing | Warp documentation | realtime-sim-integration/README.md |
| Bounded, request-scoped simulation | OVPhysX guidance | physics-simulation/README.md |
For ovnewton, inspect the installed wheel's current examples and package metadata before writing an adapter. The application remains the owner of simulation clock, OVStage lifetime, ordinals, render publication, and input routing.
Supplemental Guidance
Use the selected references as the implementation contract. When a dependency reference provides supplemental documentation, use it to clarify API behavior without changing the selected viewer architecture.
ovui guidance -> local UI package setup, widgets, overlays, and native UI conventions
ovstream guidance -> streaming runtime setup, SHM behavior, native input, lifecycle, and the ovstream repo's own skills/samples
ovrtx guidance -> renderer setup, Python/C API behavior, AOVs, picking, and selection
ovstorage guidance -> upstream `AGENTS.md` + `skills/`, then resolver and asset-management patterns
Clone ovphysx -> check ovphysx/skills/ -> physics simulation, collider cooking, grab, drop
CAD conversion -> https://github.com/NVIDIA-Omniverse/usd-convert-cad/blob/main/skills/omniverse-cad-to-usd/SKILL.mdovstage Runtime Routing
All new viewer implementations begin with ovstage-runtime, ovstage-population, ovstage-data-plane, and ovstage-ovrtx-integration. Add them before the focused delivery, camera, selection, hierarchy, and render-setting references. The application owns the runtime scene; ovrtx renders it.
Solid Modeling: Upstream First
For usd-brep, exact BRep, solid modeling, kernel failures, CAD topology, or
BrepArray questions, first read dependencies/README.md → USD BRep. Follow the
owning repository's current agent guidance, skills, operation docs, and package
API before selecting local integration references. Discover the upstream router
rather than assuming skill names or directory layouts remain fixed. Upstream
owns modeling semantics, schema rules, tuning, and diagnostics; this package
owns OVRTX display, worker handoff, selection mapping, and publication timing.
For usd-brep/solid modeling or exact CAD geometry used by stylized viewers,
first read dependencies/README.md → USD BRep and the current upstream agent
skills and operation docs, then stylized-visualization/usd-brep-source.md.
Discover the owning repository's router rather than hard-coding skill names.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Python, Needs Node.js
The author says: Orchestrator skill. Downstream focused references may require NVIDIA GPUs, ovrtx, ovstream, ovui, OpenUSD, Python, Node/React, Tauri, Electron, C++, or cloud GPU deployment access depending on the selected viewer path.
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- NVIDIA Omniverse
- Publisher
- NVIDIA (Official)
- Source
- NVIDIA/skills · skills/omniverse-realtime-viewer · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by NVIDIA Omniverse or NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download omniverse-realtime-viewer.zip