NVIDIA publicó nanousd-labs, un proyecto experimental dentro de Omniverse Labs que propone una forma distinta de construir implementaciones de USD: en lugar de adaptar una gran base de código existente, usa agentes de IA para generar runtimes ligeros y conformes al estándar directamente desde la USD Core Specification. El proyecto nació en un hackathon interno de la compañía.
OpenUSD es un marco abierto y extensible que ofrece un lenguaje común de descripción de escenas para la IA física. Permite reunir datos de CAD, activos de simulación y telemetría del mundo real en una vista compartida y físicamente precisa. Hasta ahora, construir una implementación de USD solía exigir adaptar una base de código grande, incluso para equipos que solo necesitaban una huella de memoria específica, una interfaz binaria (ABI) distinta o características de rendimiento particulares.
¿Cómo construyen los agentes a partir de la especificación?
La metodología descansa en una sola idea: tratar la USD Core Specification como el contrato. La especificación, desarrollada por la Alliance for OpenUSD (AOUSD), es un estándar versionado y legible por máquina que define el comportamiento que un runtime conforme debe producir, no cómo se construye.
Bajo la dirección de un desarrollador, los agentes consumen la especificación sección por sección, generan el código que implementa cada comportamiento y lo ejecutan contra una suite de pruebas derivada del mismo estándar, iterando hasta que la salida cumple los requisitos. Como la implementación se genera contra la especificación, la conformidad queda incorporada a la metodología y no atada a una implementación puntual. La meta es que el runtime pueda regenerarse para distintas restricciones (memoria, rendimiento o lenguaje) sin perder conformidad.
El enfoque tiene límites claros. No significa generación totalmente automática ni cobertura completa de la especificación hoy. En la construcción de nanousd-labs, los agentes se encargaron del trabajo mecánico de especificación a código, incluido el parseo, la composición de escenas y la resolución de valores entre capas, mientras los ingenieros conservaron las decisiones de arquitectura y los compromisos de rendimiento.

¿Qué es nanousd?
nanousd es una implementación independiente del modelo de datos del runtime de USD, derivada directamente de la especificación y expuesta a través de una C ABI estable. Está escrita en C++ con una API en C pública que cualquier lenguaje puede invocar. Es una capa de datos, no un motor de render: parsea, compone, consulta y escribe, y se detiene justo donde empiezan los píxeles. Los stacks OpenUSD existentes siguen funcionando sin cambios.
La especificación define qué debe hacer un runtime y deja abiertas las decisiones de memoria, hilos, ABI y lenguaje. El código cliente compila contra una API en C fija y carga su implementación en tiempo de ejecución, de modo que el backend puede cambiarse (OpenUSD bajo una librería de Omniverse, o nanousd en su lugar) sin tocar el código que llama.

Dos maneras de empezar
Los desarrolladores que arman pipelines de IA física y necesitan un runtime USD liviano y a medida tienen dos puntos de entrada. El primero es clonar y compilar nanousd directamente, una implementación con API en C lista para apuntar a escenas USD existentes. La mayoría partirá por nanousd-python, el paquete construido sobre la API en C, que no requiere GPU y corre de forma headless en cualquier máquina:
python -m pip install -e ./nanousd-pythonAbrir una escena y recorrer sus prims (los elementos individuales que componen una escena USD) se ve así:
import nanousd
stage = nanousd.Stage.open("scene.usda")
for prim in stage.traverse():
print(prim.path, prim.type_name, prim.attribute_names())El segundo punto de entrada apunta a equipos que quieren entender la metodología y aplicarla a su propio stack, dirigiendo agentes anclados en la USD Core Specification para generar y validar el código.




