application-flow
High-level overview of a typical ovrtx application lifecycle. Use when user asks how to structure an ovrtx program, what the main…
Replacing persistent ovrtx attribute bindings with reusable ovstage queries for repeated writes or maps. Use when user asks about persistent bindings, repeated writes, efficient animation loops, bind_attribute, or updating transforms every frame with caller-owned tensors.
$ npx -y skills add nvidia-omniverse/ovrtx --skill attribute-bindings --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/attribute-bindingsContext preview
The summary Claude sees to decide when to auto-load this skill.
Replacing persistent ovrtx attribute bindings with reusable ovstage queries for repeated writes or maps. Use when user asks about persistent bindings, repeated writes, efficient animation loops, bind_attribute, or updating transforms every frame with caller-owned tensors.
# 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: attribute-bindings description: > Replacing persistent ovrtx attribute bindings with reusable ovstage queries for repeated writes or maps. Use when user asks about persistent bindings, repeated writes, efficient animation loops, bind_attribute, or updating transforms every frame with caller-owned tensors. license: LicenseRef-NvidiaProprietary author: NVIDIA ovrtx tags: - ovrtx - attributes - bindings tools: - Read - Grep
Use this skill when the user asks about persistent bindings, repeated writes, efficient animation loops, `bind_attribute`, or updating transforms every frame with caller-owned data. In new Python code, replace the binding with a reusable ovstage query. Use `mapping-attributes` when the user specifically needs zero-copy direct access or map/unmap lifetimes.
Resolve inputs in this order: existing repository files and referenced snippets, explicit user request, then broader agent context.
1. Identify whether the user needs repeated ovstage writes or maps through a stable query. 2. Read the matching source snippet and copy its create/use/destroy lifecycle rather than inventing equivalent calls. 3. Validate prim list, attribute name, dtype, shape, semantic, and array/scalar rules before proposing or editing code. 4. Keep the ovstage query alive across repeated updates and release it when the hot path ends. 5. Choose `mapping-attributes` when avoiding the data copy matters more than avoiding descriptor recreation. 6. When changing code, run the narrow docs test or example that owns the snippet whenever practical.
This skill has no scripts.
When writing the same attribute to the same set of prims every frame, create one ovstage query and reuse it for `stage.write_attribute()` or `stage.map_attribute()`. Advance the write floor after each ordinal that must become visible to rendering.
The following snippet documents CUDA async writes through the deprecated renderer wrapper, including caller-provided stream synchronization:
> **Source:** `tests/docs/python/test_attribute_bindings.py` snippet `doc-write-attribute-async-data-access`
For repeated writes to the same attribute and prims, create a query once:
> **Source:** `tests/docs/python/test_attribute_bindings.py` snippet `doc-bind-attribute-write`
> **Source:** `tests/docs/python/test_attribute_bindings.py` snippet `doc-binding-write-async`
> **Source:** `tests/docs/python/test_attribute_bindings.py` snippet `doc-bind-array-attribute`
> **Source:** `tests/docs/python/test_attribute_bindings.py` snippet `doc-bind-attribute-write`
> **Source:** `tests/docs/python/test_attribute_bindings.py` snippet `doc-map-bound-attribute`
> **Source:** `tests/docs/c/test_attribute_bindings.cpp` snippets `doc-create-attribute-binding-c`, `doc-write-bound-attribute-c`, `doc-destroy-attribute-binding-c`
| Python | C | |--------|---| | `stage.query(...)` / `stage.query_from_path_list(...)` | `ovrtx_create_attribute_binding(renderer, &desc, &handle)` | | `stage.write_attribute(query, attr, ordinal=..., ...)` | `ovrtx_write_attribute(renderer, &binding_ref, &buffer, access)` | | `stage.map_attribute(query, attr, ordinal=...)` | `ovrtx_map_attribute(renderer, &binding_ref, mapping_desc, &out)` | | `query.release()` | `ovrtx_destroy_attribute_binding(renderer, handle)` |
Binding flags (C only, set via `desc.flags`):
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…
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…
Authoring and configuring OmniLidar sensor prims and lidar PointCloud render outputs. Use when user asks to create a lidar scene,…