application-flow
High-level overview of a typical ovrtx application lifecycle. Use when user asks how to structure an ovrtx program, what the main…
Viewport picking, marquee selection, pick-hit decoding, pickability, and selection outline drawing. Use when implementing click picking, drag selection, printing picked prim names, or highlighting selected prims.
$ npx -y skills add nvidia-omniverse/ovrtx --skill picking-selection --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/picking-selectionContext preview
The summary Claude sees to decide when to auto-load this skill.
Viewport picking, marquee selection, pick-hit decoding, pickability, and selection outline drawing. Use when implementing click picking, drag selection, printing picked prim names, or highlighting selected prims.
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: LicenseRef-NvidiaProprietary # # NVIDIA CORPORATION, its affiliates and licensors retain all intellectual # property and proprietary rights in and to this material, related # documentation and any modifications thereto. Any use, reproduction, # disclosure or distribution of this material and related documentation # without an express license agreement from NVIDIA CORPORATION or # its affiliates is strictly prohibited. name: picking-selection description: > Viewport picking, marquee selection, pick-hit decoding, pickability, and selection outline drawing. Use when implementing click picking, drag selection, printing picked prim names, or highlighting selected prims. license: LicenseRef-NvidiaProprietary author: NVIDIA ovrtx tags: - ovrtx - picking - selection tools: - Read - Grep
Use this skill when implementing click picking, drag selection, printing picked prim names, or highlighting selected prims.
Resolve inputs in this order: existing repository files and referenced snippets, explicit user request, then broader agent context.
1. Identify whether the task is click picking, marquee selection, pickability filtering, path decoding, or selection-outline styling. 2. Ensure the RenderProduct used for picking is running on CUDA-visible GPU 0 before adding pick queries. 3. Read the matching Python or C snippet for enqueueing the pick query, mapping the hit buffer, and resolving prim path IDs. 4. Keep selection outline group assignment separate from pick-hit decoding; use the style/group snippets only after the selected paths are known. 5. When changing code, run the picking-selection docs test that owns the snippet whenever practical.
This skill has no scripts.
Picking is a RenderProduct-space query consumed by the next renderer step. The result is a synthetic render var named `ovrtx_pick_hit` / `OVRTX_RENDER_VAR_PICK_HIT`. Each hit stores a path-dictionary id, not a string.
Picking coordinates are normalized RenderProduct coordinates, not window or pixel coordinates. Use [0, 1] top-left-origin semantics:
`bottom_ndc` mark the edge just past the last included pixel.
[0.50, 0.50, 0.51, 0.51] in NDC.
left_ndc = px / width, top_ndc = py / height, right_ndc = (px + 1) / width, bottom_ndc = (py + 1) / height.
coordinates, but old pixel-space values that already fall inside [0, 1] are valid NDC and can be ambiguous during migration (boundary values may be clamped to the valid range to account for floating-point roundoff).
Current limitation: picking only works for RenderProducts running on CUDA-visible GPU 0. In multi-GPU scenes, restrict picking RenderProducts to CUDA-visible GPU 0 by authoring `uint[] deviceIds = [0]`. `deviceIds` is an allow-list of indices into `CUDA_VISIBLE_DEVICES`; ovrtx may choose any CUDA-visible GPU from the list.
Selection drawing is separate from picking. The selection outline pass is enabled by default. Set non-zero selection outline group ids on the prims that should be outlined, and write group `0` to clear an outline. Pass `selection_outline_enabled=False` at renderer creation to disable the global pass.
Selection styling has two layers:
style by passing that group's id to `Renderer.set_selection_outline_group()` / `ovrtx_set_selection_outline_group()`.
Fill colors are visible only when the renderer is created with a fill mode that uses per-group fill color, such as `GROUP_FILL_COLOR` / `OVRTX_SELECTION_FILL_MODE_GROUP_FILL_COLOR`.
1. Load the stage and identify the RenderProduct path. For picking, ensure that RenderProduct is restricted to CUDA-visible GPU 0 in USD. 2. Convert UI/window input into normalized RenderProduct coordinates. 3. Queue a pick query befo
ovrtx is a C and Python library for embedding Omniverse RTX sensor simulation and visualization directly into applications.
High-level overview of a typical ovrtx application lifecycle. Use when user asks how to structure an ovrtx program, what the main…
Asynchronous operation patterns including polling, timeouts, and non-blocking workflows. Use when user asks about async…
Replacing persistent ovrtx attribute bindings with reusable ovstage queries for repeated writes or maps. Use when user asks about…
Binding materials to prims at runtime. Use when user asks to assign a material, change a material, set material binding, or swap…
Available camera render outputs for Real-Time Path-Tracing (RT2) mode. Use when user asks what AOVs/render vars are available,…
Cloning USD subtrees to create copies at new paths. Use when user asks to clone, duplicate, copy a prim, or create instances of…