physical-ai-neural-reconstruction
NVIDIA/skills
Dirige las solicitudes de NuRec/reconstrucción neuronal a la skill de NVIDIA correspondiente (conjuntos de datos, conversión, entrenamiento, renderizado, extracción de objetos, limpieza de fotogramas).
...Expandir todoEnrutador de reconstrucción neuronal de IA física (NuRec)
Finalidad
Este es un enrutador ligero para las solicitudes de NVIDIA Neural Reconstruction (NuRec).
Apunta Apunta a la habilidad «nurec-index» de nivel superior, situada en
https://github.com/NVIDIA/nurec-skills, y a sus cinco habilidades hermanas
(physical-ai-datasets, ncore, nre, asset-harvester y
nurec-fixer). Utiliza esta habilidad para:
- Identificar qué habilidad hermana de nivel superior responde a una pregunta de NuRec.
- Localizar, clonar o actualizar el repositorio canónico de
nurec-skills. - Ordenar flujos de trabajo de NuRec de varios pasos (datos → conversión → entrenamiento → renderización → limpieza) antes de abrir la receta del proyecto principal.
Las recetas canónicas (entrenamiento, renderización, conversión de datos, descargas de conjuntos de datos, recolección de objetos, limpieza de fotogramas) se encuentran en las habilidades hermanas de nivel superior. Nunca copies ni reconstruyas sus comandos aquí.
NO utilices esta habilidad para:
- Empaquetado SimReady de mallas CAD o de origen → utiliza
omniverse-cad-to-simready. - Ajuste genérico del rendimiento de USD no relacionado con NuRec → utiliza
omniverse-usd-performance-tuning. - Configuración de la infraestructura de operadores AKS / OSMO / NIM → utiliza
physical-ai-infrastructure-setup-and-resilient-scaling.
Cuándo utilizarlo
Lee primero esta habilidad siempre que un usuario mencione cualquiera de los siguientes términos:
nurec, nurec router, nurec index, reconstrucción neuronal,
motor de reconstrucción neuronal, NRE, 3DGUT, 3DGRT, USDZ,
NCore V4, simulación de sensores, síntesis de vistas novedosas,
PhysicalAI-Autonomous-Vehicles-NuRec, PhysicalAI-NuRec-PPISP,
Cosmos-Drive-Dreams, recolector de activos, nurec fixer,
DiffusionHarmonizer, armonizador, difix, difix3d, serve-grpc,
render-grpc, warm serve-grpc, nre thin client, batch_render_rgb,
nurec teardown, «¿por dónde empiezo con NuRec?», «¿qué habilidad de NuRec
debo usar para X?».
Decide qué habilidad hermana de origen responde a la pregunta, recupérala (consulta «Localizar y recuperar las habilidades de origen»), y luego sigue el cuerpo de esa habilidad.
Requisitos previos
La habilidad Router en sí misma no tiene requisitos previos de ejecución más allá de git para
obtener las habilidades de nivel superior. Las habilidades hermanas de nivel inferior requieren:
- Docker + NVIDIA Container Toolkit + GPU — para los contenedores
nre,nre-toolsynurec-fixer(nvcr.io/nvidia/nre/nre,nvcr.io/nvidia/nre/nre-tools,nvcr.io/nvidia/cosmos/cosmos-predict2-container:1.2). - Clave API de NGC (
NGC_API_KEY): para descargar contenedores de NGC. - Token de Hugging Face (
HF_TOKEN) con las licencias restringidasnvidia/PhysicalAI-*,nvidia/DiffusionHarmonizerynvidia/asset-harvesteraceptadas previamente en Hugging Face. - Python 3.10+ con
huggingface_hubinstalado. - (Opcional) CARLA, Isaac Sim 5.1 o AlpaSim para la integración del simulador
a través de
serve-grpc.
Verifica los secretos de forma segura (no muestres los valores):
hf auth whoami
[ -n "${HF_TOKEN:-}" ] && echo "HF_TOKEN length=${#HF_TOKEN}" || echo "HF_TOKEN unset"
[ -n "${NGC_API_KEY:-}" ] && echo "Longitud de NGC_API_KEY=${#NGC_API_KEY}" || echo "NGC_API_KEY no está definida"
Consulta references/secrets-handling.md
para conocer los antipatrones de bash que debes evitar.
¿Qué es NuRec?
NuRec (NVIDIA Omniverse Neural Reconstruction) toma grabaciones de cámara, LiDAR, radar o estéreo —normalmente procedentes de un coche autónomo o un robot— y las convierte en una escena 3D que puedes volver a renderizar desde cualquier punto de vista. Nombres que aparecen con frecuencia:
- NRE — «Neural Reconstruction Engine» (motor de reconstrucción neuronal). NuRec es el producto; NRE
es el motor que se encarga del entrenamiento y el renderizado. Ambos remiten a la
habilidad
«nre»de nivel superior. - USDZ: el formato de archivo de una escena entrenada. Un archivo zip que pueden abrir Omniverse, Isaac Sim y CARLA.
- NCore V4: el formato de entrada que utiliza NRE. Las grabaciones sin procesar deben convertirse a NCore V4 antes del entrenamiento.
- 3DGUT / 3DGRT: las dos variantes de «Gaussian Splatting» en 3D que utiliza internamente NRE. La receta predeterminada de Hydra elige una de ellas; la mayoría de los usuarios nunca la configuran manualmente.
Un proyecto típico de NuRec consta de tres etapas:
- Obtener la entrada: convierte tu propia grabación a NCore V4
(
ncore) o descarga un conjunto de datos ya convertido (physical-ai-datasets). - Entrenar la reconstrucción: introducir NCore V4 en NRE; el resultado es un
fichero USDZ (
nre). - Renderizar nuevas vistas: renderiza imágenes, vídeos o barridos LiDAR a partir
del archivo USDZ (
nre).
Los proyectos que solo quieran utilizar una escena ya publicada por NVIDIA pueden saltarse el paso 2.
Elige una habilidad
Busca el objetivo del usuario en la columna de la izquierda y abre la habilidad previa correspondiente a la derecha. Las flechas indican «haz esto en este orden».
| Quiero… | Habilidad previa |
|---|---|
| Buscar o descargar un conjunto de datos de NuRec publicado por NVIDIA | physical-ai-datasets |
| Convertir mi propia grabación de cámara / LiDAR / radar / profundidad / estéreo a NCore V4 | ncore |
| Escribir un nuevo convertidor para una configuración de sensores no compatible (dron, RGB-D, ROS 2 bag, COLMAP, ScanNet++) | ncore |
| Entrenar una reconstrucción 3D a partir de un clip de NCore | ncore → nre |
| Generar las entradas adicionales que necesita NRE (máscaras de segmentación, profundidad, máscara ego) | nre (utiliza el contenedor nre-tools ) |
| Renderiza un archivo USDZ siguiendo las posiciones originales de la cámara | nre |
| Renderizar a resolución máxima / máxima calidad | nre (véase «Preajustes de calidad») |
| Renderizar siguiendo una trayectoria desplazada (p. ej., el coche se ha desplazado 3 m hacia la izquierda) | nre |
| Renderizar a través de un servidor para que CARLA, Isaac Sim, AlpaSim o un simulador personalizado puedan solicitar fotogramas | nre (serve-grpc) |
| Renderizar el mismo USDZ muchas veces seguidas desde Python con una latencia mínima por llamada | nre (warm serve-grpc + cliente Python ligero / batch_render_rgb) |
| Renderizar barridos LiDAR (nubes de puntos) a partir de un USDZ | nre (render-grpc --lidar) |
| Omitir el entrenamiento y limitarse a renderizar una escena NuRec ya creada por NVIDIA | physical-ai-datasets → nre |
| Extraer objetos 3D individuales (coches, peatones) de un vídeo de conducción | asset-harvester |
| Añadir, eliminar o sustituir coches y peatones en una escena de NuRec | asset-harvester → nre |
| Limpiar o armonizar fotogramas renderizados (efecto fantasma, elementos flotantes, parpadeo, iluminación/sombras) | nurec-fixer, o --enable-difix dentro de nre para el renderizado en línea |
| Exportar la escena como PLY, malla, mapas de profundidad, máscara ego, etc. | nre |
| Actualizar un USDZ antiguo para que las versiones más recientes de NRE lo carguen más rápido | nre (upgrade-artifact) |
| Abrir un USDZ o un PLY en un visor de navegador | nre (viewer / ply_viewer) |
| Mide la calidad del renderizado (PSNR, SSIM, LPIPS) comparándola con los datos de referencia | nre (eval-rendering-metrics) |
| Comparar diferentes métodos de reconstrucción en las mismas escenas | physical-ai-datasets (PhysicalAI-NuRec-PPISP) → nre |
| Entrenamiento en varias GPU o en SLURM | nre (Flujo de trabajo D) |
Flujos de trabajo comunes
Se documentan seis flujos de trabajo de extremo a extremo en
references/workflows.md:
- A. Crea una escena de NuRec a partir de tu propia grabación.
- B. Utiliza una escena de NuRec que NVIDIA ya haya entrenado.
- C. Añadir, eliminar o sustituir objetos 3D en una escena.
- D. Limpiar los fotogramas renderizados.
- E. Evaluar la calidad de la reconstrucción.
- F. Conecta NuRec a un simulador.
Abrir ese archivo cuando la tarea del usuario abarque más de una habilidad hermana.
Habilidades relacionadas (previas)
| Nombre | Carpeta de nivel superior | Qué hace |
|---|---|---|
physical-ai-datasets |
.agents/skills/physical-ai-datasets/ |
Cataloga y permite descargar recetas para todos los conjuntos de datos de NVIDIA Physical AI disponibles en Hugging Face (conducción, robótica, manipulación, escenas de NuRec y pruebas de rendimiento). |
ncore |
.agents/skills/ncore/ |
Convierte cualquier grabación de sensor a NCore V4 (el formato que necesita NRE). También incluye la creación de un nuevo convertidor. |
nre |
.agents/skills/nre/ |
El propio motor de reconstrucción neuronal. Entrena, renderiza (localmente, a través de warm serve-grpc + cliente ligero de Python / batch_render_rgb, o en un simulador externo), exporta mallas / nubes de puntos / profundidad, edita actores y evalúa la calidad. |
asset-harvester |
.agents/skills/asset-harvester/ |
Pipeline de código abierto bajo licencia Apache-2.0 que extrae objetos 3D individuales a partir de vistas dispersas en un clip de conducción y los guarda como archivos .ply «Gaussian splats» con metadatos. |
nurec-fixer |
.agents/skills/nurec-fixer/ |
Flujo de trabajo independiente de NVIDIA DiffusionHarmonizer —sucesor público de las antiguas recetas Fixer / Difix3D+— que limpia los fotogramas renderizados, armoniza los actores insertados, evalúa PSNR/LPIPS y, opcionalmente, ajusta el modelo. |
Para los solapamientos en la nomenclatura (NRE frente a Fixer, ncore frente a nre, AV-NuRec frente a
Cosmos-Drive-Dreams, NuRec frente a SimReady), véase
references/mix-ups.md.
Localiza y obtén las habilidades de origen
Receta rápida (versión completa en
references/upstream-fetch.md):
UPSTREAM_ROOT="${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME/.physical-ai-skill-hub/upstreams}}"
mkdir -p "$UPSTREAM_ROOT"
if [ -d "$UPSTREAM_ROOT/nurec-skills/.git" ]; then
git -C "$UPSTREAM_ROOT/nurec-skills" fetch --tags
git -C "$UPSTREAM_ROOT/nurec-skills" checkout main
git -C "$UPSTREAM_ROOT/nurec-skills" pull --ff-only
else
git clone --depth 1 https://github.com/NVIDIA/nurec-skills.git \
"$UPSTREAM_ROOT/nurec-skills"
fi
test -f "$UPSTREAM_ROOT/nurec-skills/.agents/skills/SKILL.md"
A continuación, lee la habilidad del repositorio original antes de ejecutar cualquier comando que modifique el código:
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills/SKILL.md" # enrutador
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills//SKILL.md" # hermano
Orden de búsqueda local (prueba en este orden antes de la clonación de la fuente):
.agents/skills/(Cursor, Codex, NemoClaw)/SKILL.md .claude/skills/(Claude Code)/SKILL.md .cursor/skills/(ámbito del proyecto)/SKILL.md ~/.cursor/skills/(habilidades personales)/SKILL.md
Reglas estrictas
- Solo para el enrutador: no dupliques aquí las recetas de NuRec del proyecto principal. Lee el cuerpo de la habilidad homóloga del proyecto principal antes de ejecutar cualquier comando que la modifique.
- Haz referencia a las habilidades hermanas por su
nombre:(p. ej.,nre), no por la ruta del repositorio . La estructura de las carpetas puede cambiar; el nombre es portátil. - Clona o actualiza
https://github.com/NVIDIA/nurec-skillsen la raíz compartida de origen (${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME/.physical-ai-skill-hub/upstreams}}/nurec-skills). No analices espacios de trabajo de desarrolladores generales, como~/Codes, ni reutilices clones antiguos no relacionados. physical-ai-datasetsincluye conjuntos de datos de Hugging Face con acceso restringido. No eludas los términos de la licencia de los conjuntos de datos; el usuario debe aceptar las licencias restringidasPhysicalAI-*en Hugging Face y proporcionar un token antes de la descarga.- Asset Harvester se ejecuta antes de empaquetar en un USDZ. No llames a
la opción
export-external-assetsde nreen archivos.plycreados manualmente, a menos que el usuario solicite explícitamente omitir Asset Harvester. - Para la limpieza de artefactos, da prioridad a la ruta integrada
--enable-difixennre. Recurre alnurec-fixerindependiente solo cuando el usuario necesite la tarjeta pública de código/modelo, la evaluación por pares, el ajuste fino o correcciones en fotogramas renderizados previamente. - No inventes comandos de NRE / NCore / DiffusionHarmonizer de
memoria. Vuelve a leer la habilidad homóloga de upstream: las versiones cambian rápidamente
(NRE
release_26.04es la etiqueta fijada actualmente). - Este enrutador no implementa infraestructura. Dirige la configuración de AKS / OSMO /
NIM Operator a
physical-ai-infrastructure-setup-and-resilient-scaling.
Limitaciones
- Solo enrutador. Esta skill nunca ejecuta comandos NuRec que modifiquen datos. Todo el entrenamiento, renderizado, conversión y armonización se lleva a cabo en skills hermanas de origen.
- Fijado en el repositorio principal. Las recetas se encuentran en
https://github.com/NVIDIA/nurec-skills, que evoluciona fuera de este repositorio. Los clones obsoletos pueden desfasarse;realizasiempreun «git pull»del repositorio principal antes de confiar en una habilidad hermana. - Contenido restringido.
nvidia/PhysicalAI-*,nvidia/DiffusionHarmonizerynvidia/asset-harvesterrequieren que el usuario acepte primero los términos de la licencia en Hugging Face. El enrutador no puede eludir esto. - Gran consumo de recursos. Un flujo de trabajo completo de NuRec puede ocupar más de 150 GB
en el disco. Consulta
references/teardown.md. - Pila exclusiva de NVIDIA. Requiere una GPU de NVIDIA además del NVIDIA Container Toolkit. No es compatible con AMD, Intel ni Apple Silicon.
- No es un flujo de trabajo SimReady. NuRec genera un archivo USDZ renderizable a partir de
una grabación; el empaquetado SimReady de mallas CAD o de origen es un
flujo de trabajo diferente (véase
omniverse-cad-to-simready).
Solución de problemas
| Error / síntoma | Causa probable | Solución |
|---|---|---|
El clon denurec-skills falta o está vacío |
Aún no se ha obtenido el código de origen | Ejecuta el bloque «clone» en «Locate» y obtén las habilidades de origen |
Error403/401 al obtener nvidia/PhysicalAI-* desde HF |
No se acepta la licencia restringida, o HF_TOKEN no está configurado / ámbito incorrecto |
Acepta la licencia restringida en Hugging Face y, a continuación, inicia sesión en hf auth con un token que tenga acceso de lectura |
Denegado: se deniega el acceso solicitado al recurso desde nvcr.io/nvidia/nre/* |
Falta la clave NGC_API_KEY o ha caducado |
Inicia sesión en Docker en nvcr.io con $oauthtoken / NGC_API_KEY; renueva la clave en org.ngc.nvidia.com/setup/api-key si es necesario |
| NRE no carga un clip («NCore V4 no válido») | La grabación no se ha convertido | Ejecuta la skill ncore antes de invocar nre |
La latencia de arranque en fríode serve-grpc domina un bucle de Python |
Una sola invocación de Docker por renderizado | Utiliza la receta «nre warm serve-grpc + thin Python client» (batch_render_rgb) |
Los archivos de salida son propiedad de root tras una ejecución de Docker |
Faltaba-u $(id -u):$(id -g) |
sudo chown -R "$(id -u):$(id -g)" ; añade el indicador -u la próxima vez |
| Los fotogramas presentan efectos de fantasma, imágenes flotantes o parpadeos tras el renderizado | La limpieza en línea no está habilitada | Vuelve a renderizar con nre --enable-difix o procesa posteriormente con nurec-fixer (DiffusionHarmonizer) |
Nombres de habilidades obsoletos (ncore-data-conversion, antiguo nvidia/Fixer) en la salida del agente |
Habilidad almacenada en caché desactualizada | Actualiza las referencias a ncore y nurec-fixer (DiffusionHarmonizer); consulta references/maintenance.md |
Antipatrón de Bash : ${HF_TOKEN:+yes}${HF_TOKEN:-no} devuelve el valor del token |
Uso incorrecto de la expansión de parámetros de Bash | Rotar el token; utilizar hf auth whoami o comprobaciones basadas únicamente en la longitud (véase references/secrets-handling.md) |
Desmontaje entre habilidades
Un flujo de trabajo completo de NuRec puede dejar más de 150 GB en el disco entre
imágenes de contenedores, pesos de modelos, clones de código, entornos conda y
directorios de salida. Cada skill hermana tiene su propia sección dedicada a la eliminación
—léelas en el orden documentado en
references/teardown.md cuando el usuario ya no
necesite el flujo de trabajo.
Mantener este enrutador actualizado
El procedimiento para añadir nuevas habilidades hermanas, cambios de nombre o modificaciones en la URL
de origen se encuentra en references/maintenance.md.
Considera que el nurec-index de origen en
https://github.com/NVIDIA/nurec-skills/blob/main/.agents/skills/SKILL.md
es la fuente oficial; esta habilidad solo refleja las tablas de selección, el
orden del flujo de trabajo y la receta de obtención de origen.
---
name: physical-ai-neural-reconstruction
description: Routes NuRec/Neural Reconstruction requests to the correct upstream NVIDIA skill (datasets, conversion, training, rendering, object harvesting, frame cleanup).
license: Apache-2.0
---
# Physical AI Neural Reconstruction (NuRec) Router
## Purpose
This is a **thin router** for NVIDIA Neural Reconstruction (NuRec)
requests. It points at the upstream `nurec-index` skill at
`https://github.com/NVIDIA/nurec-skills` and its five sibling skills
(`physical-ai-datasets`, `ncore`, `nre`, `asset-harvester`,
`nurec-fixer`). Use this skill to:
- Identify which upstream sibling skill answers a NuRec question.
- Locate, clone, or refresh the canonical `nurec-skills` checkout.
- Order multi-step NuRec workflows (data → conversion → train →
render → cleanup) before opening the upstream recipe.
The canonical recipes (training, rendering, data conversion, dataset
downloads, object harvesting, frame cleanup) live in the upstream
sibling skills. **Never copy or reconstruct their commands here.**
**Do NOT use this skill for:**
- SimReady packaging of CAD or source meshes → use
`omniverse-cad-to-simready`.
- Generic USD performance tuning unrelated to NuRec → use
`omniverse-usd-performance-tuning`.
- AKS / OSMO / NIM Operator infrastructure setup → use
`physical-ai-infrastructure-setup-and-resilient-scaling`.
## When to Use
Read this skill **first** whenever a user mentions any of:
`nurec`, `nurec router`, `nurec index`, `neural reconstruction`,
`neural reconstruction engine`, `NRE`, `3DGUT`, `3DGRT`, `USDZ`,
`NCore V4`, `sensor sim`, `novel view synthesis`,
`PhysicalAI-Autonomous-Vehicles-NuRec`, `PhysicalAI-NuRec-PPISP`,
`Cosmos-Drive-Dreams`, `asset harvester`, `nurec fixer`,
`DiffusionHarmonizer`, `harmonizer`, `difix`, `difix3d`, `serve-grpc`,
`render-grpc`, `warm serve-grpc`, `nre thin client`, `batch_render_rgb`,
`nurec teardown`, "where do I start with NuRec", "which NuRec skill
should I use for X?".
Decide which upstream sibling skill answers the question, fetch it
(see [Locate and fetch the upstream skills](#locate-and-fetch-the-upstream-skills)),
then follow that skill's body.
## Prerequisites
Router skill itself has no runtime prerequisites beyond `git` for
fetching the upstream. Downstream sibling skills require:
- **Docker + NVIDIA Container Toolkit + GPU** — for `nre`, `nre-tools`,
and `nurec-fixer` containers
(`nvcr.io/nvidia/nre/nre`, `nvcr.io/nvidia/nre/nre-tools`,
`nvcr.io/nvidia/cosmos/cosmos-predict2-container:1.2`).
- **NGC API key** (`NGC_API_KEY`) — for pulling NGC containers.
- **Hugging Face token** (`HF_TOKEN`) with the
`nvidia/PhysicalAI-*`, `nvidia/DiffusionHarmonizer`, and
`nvidia/asset-harvester` gated licenses **accepted in advance** on
Hugging Face.
- **Python 3.10+** with `huggingface_hub` installed.
- **(Optional)** CARLA, Isaac Sim 5.1, or AlpaSim for simulator
integration over `serve-grpc`.
Verify secrets safely (do not echo values):
```bash
hf auth whoami
[ -n "${HF_TOKEN:-}" ] && echo "HF_TOKEN length=${#HF_TOKEN}" || echo "HF_TOKEN unset"
[ -n "${NGC_API_KEY:-}" ] && echo "NGC_API_KEY length=${#NGC_API_KEY}" || echo "NGC_API_KEY unset"
```
See [`references/secrets-handling.md`](references/secrets-handling.md)
for the bash anti-patterns to avoid.
## What is NuRec?
**NuRec** (NVIDIA Omniverse Neural Reconstruction) takes camera, LiDAR,
radar, or stereo recordings — typically from a self-driving car or a
robot — and turns them into a 3D scene you can re-render from any
viewpoint. Names that come up a lot:
- **NRE** — "Neural Reconstruction Engine". NuRec is the product; NRE
is the engine that trains and renders. Both route to the upstream
`nre` skill.
- **USDZ** — the file format of a trained scene. A zip archive that
Omniverse, Isaac Sim, and CARLA can open.
- **NCore V4** — the input format NRE consumes. Raw recordings must be
converted to NCore V4 before training.
- **3DGUT / 3DGRT** — the two 3D Gaussian Splatting flavours used
internally by NRE. The default Hydra recipe picks one; most users
never set it manually.
A typical NuRec project has three stages:
1. **Get the input** — convert your own recording to NCore V4
(`ncore`), or download a pre-converted dataset
(`physical-ai-datasets`).
2. **Train the reconstruction** — feed NCore V4 to NRE; out comes a
USDZ (`nre`).
3. **Render new views** — render images, videos, or LiDAR sweeps from
the USDZ (`nre`).
Projects that just want to *use* an existing NVIDIA-published scene
skip step 2.
## Pick a skill
Match the user's goal in the left column and open the named upstream
skill on the right. Arrows mean "do these in order".
| I want to… | Upstream skill |
|------------|----------------|
| Find or download a NuRec dataset NVIDIA has published | `physical-ai-datasets` |
| Convert my own camera / LiDAR / radar / depth / stereo recording into NCore V4 | `ncore` |
| Write a new converter for an unsupported sensor setup (drone, RGB-D, ROS 2 bag, COLMAP, ScanNet++) | `ncore` |
| Train a 3D reconstruction from an NCore clip | `ncore` → `nre` |
| Generate the extra inputs NRE needs (segmentation masks, depth, ego mask) | `nre` (uses the `nre-tools` container) |
| Render a USDZ along the original camera positions | `nre` |
| Render at full resolution / highest quality | `nre` (see "Quality presets") |
| Render along a shifted trajectory (e.g. car moved 3 m left) | `nre` |
| Render through a server so CARLA / Isaac Sim / AlpaSim / a custom simulator can ask for frames | `nre` (`serve-grpc`) |
| Render the same USDZ many times back-to-back from Python with minimal per-call latency | `nre` (warm `serve-grpc` + thin Python client / `batch_render_rgb`) |
| Render LiDAR sweeps (point clouds) from a USDZ | `nre` (`render-grpc --lidar`) |
| Skip training and just render a NuRec scene NVIDIA already built | `physical-ai-datasets` → `nre` |
| Extract individual 3D objects (cars, pedestrians) from a driving clip | `asset-harvester` |
| Add, remove, or replace cars / pedestrians in a NuRec scene | `asset-harvester` → `nre` |
| Clean up or harmonize rendered frames (ghosting, floaters, flicker, lighting/shadows) | `nurec-fixer`, **or** `--enable-difix` inside `nre` for inline rendering |
| Export the scene as a PLY, mesh, depth maps, ego mask, etc. | `nre` |
| Upgrade an old USDZ so newer NRE versions load it faster | `nre` (`upgrade-artifact`) |
| Open a USDZ or PLY in a browser viewer | `nre` (`viewer` / `ply_viewer`) |
| Measure rendering quality (PSNR, SSIM, LPIPS) against ground truth | `nre` (`eval-rendering-metrics`) |
| Benchmark different reconstruction methods on the same scenes | `physical-ai-datasets` (`PhysicalAI-NuRec-PPISP`) → `nre` |
| Train on multiple GPUs or on SLURM | `nre` (Workflow D) |
## Common workflows
Six end-to-end workflows are documented in
[`references/workflows.md`](references/workflows.md):
- **A.** Make a NuRec scene from your own recording.
- **B.** Use a NuRec scene NVIDIA has already trained.
- **C.** Add, remove, or replace 3D objects in a scene.
- **D.** Clean up rendered frames.
- **E.** Benchmark reconstruction quality.
- **F.** Connect NuRec to a simulator.
Open that file when the user's task spans more than one sibling skill.
## Sibling skills (upstream)
| Name | Upstream folder | What it does |
|------|-----------------|--------------|
| `physical-ai-datasets` | `.agents/skills/physical-ai-datasets/` | Catalog and download recipes for every NVIDIA Physical AI dataset on Hugging Face (driving, robotics, manipulation, NuRec scenes, benchmarks). |
| `ncore` | `.agents/skills/ncore/` | Converts any sensor recording to NCore V4 (the format NRE needs). Also covers writing a new converter. |
| `nre` | `.agents/skills/nre/` | The Neural Reconstruction Engine itself. Trains, renders (locally, via warm `serve-grpc` + thin Python client / `batch_render_rgb`, or to an external simulator), exports meshes / point clouds / depth, edits actors, evaluates quality. |
| `asset-harvester` | `.agents/skills/asset-harvester/` | Open-source Apache-2.0 pipeline that extracts individual 3D objects from sparse views in a driving clip and saves them as `.ply` Gaussian splats with metadata. |
| `nurec-fixer` | `.agents/skills/nurec-fixer/` | Standalone NVIDIA **DiffusionHarmonizer** workflow — public successor to the older Fixer / Difix3D+ recipes — that cleans rendered frames, harmonizes inserted actors, evaluates PSNR/LPIPS, and optionally fine-tunes the model. |
For naming overlaps (NRE vs Fixer, ncore vs nre, AV-NuRec vs
Cosmos-Drive-Dreams, NuRec vs SimReady) see
[`references/mix-ups.md`](references/mix-ups.md).
## Locate and fetch the upstream skills
Quick recipe (full version in
[`references/upstream-fetch.md`](references/upstream-fetch.md)):
```bash
UPSTREAM_ROOT="${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME/.physical-ai-skill-hub/upstreams}}"
mkdir -p "$UPSTREAM_ROOT"
if [ -d "$UPSTREAM_ROOT/nurec-skills/.git" ]; then
git -C "$UPSTREAM_ROOT/nurec-skills" fetch --tags
git -C "$UPSTREAM_ROOT/nurec-skills" checkout main
git -C "$UPSTREAM_ROOT/nurec-skills" pull --ff-only
else
git clone --depth 1 https://github.com/NVIDIA/nurec-skills.git \
"$UPSTREAM_ROOT/nurec-skills"
fi
test -f "$UPSTREAM_ROOT/nurec-skills/.agents/skills/SKILL.md"
```
Then read the upstream skill before running any mutating command:
```bash
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills/SKILL.md" # router
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills/<folder>/SKILL.md" # sibling
```
Local lookup order (try in order before the upstream clone):
1. `.agents/skills/<name>/SKILL.md` (Cursor, Codex, NemoClaw)
2. `.claude/skills/<name>/SKILL.md` (Claude Code)
3. `.cursor/skills/<name>/SKILL.md` (project-scoped)
4. `~/.cursor/skills/<name>/SKILL.md` (personal skills)
## Hard Rules
- Router only — do not duplicate upstream NuRec recipes here. Read
the upstream sibling skill body before running any mutating command.
- Refer to sibling skills by their `name:` (e.g. `nre`), not by repo
path. Folder layouts can change; the name is portable.
- Clone or refresh `https://github.com/NVIDIA/nurec-skills` under the
shared upstream root
(`${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME/.physical-ai-skill-hub/upstreams}}/nurec-skills`).
Do not scan broad developer workspaces such as `~/Codes` or reuse
unrelated old clones.
- `physical-ai-datasets` covers gated Hugging Face datasets. Do not
bypass dataset license terms; the user must accept the
`PhysicalAI-*` gated licenses on Hugging Face and provide a token
before downloading.
- Asset Harvester runs **before** packaging into a USDZ. Do not call
`nre`'s `export-external-assets` on hand-rolled `.ply` files unless
the user explicitly asks to skip Asset Harvester.
- For artifact cleanup, prefer the built-in `--enable-difix` path in
`nre`. Route to the standalone `nurec-fixer` only when the user
needs the public code/model card, paired evaluation, fine-tuning,
or fixes on previously rendered frames.
- Do not invent NRE / NCore / DiffusionHarmonizer commands from
memory. Re-read the upstream sibling skill — versions move fast
(NRE `release_26.04` is the current pinned tag).
- This router does not deploy infrastructure. Route AKS / OSMO /
NIM Operator setup to
`physical-ai-infrastructure-setup-and-resilient-scaling`.
## Limitations
- **Router only.** This skill never executes mutating NuRec commands.
All training, rendering, conversion, and harmonization happens in
upstream sibling skills.
- **Upstream-pinned.** Recipes live in
`https://github.com/NVIDIA/nurec-skills`, which evolves outside
this repo. Stale clones can drift; always `git pull` the upstream
before relying on a sibling skill.
- **Gated content.** `nvidia/PhysicalAI-*`, `nvidia/DiffusionHarmonizer`,
and `nvidia/asset-harvester` require the user to accept license
terms on Hugging Face first. The router cannot bypass this.
- **Heavy footprint.** A complete NuRec workflow can leave 150 GB+
on disk. See [`references/teardown.md`](references/teardown.md).
- **NVIDIA-only stack.** Requires an NVIDIA GPU plus the NVIDIA
Container Toolkit. AMD / Intel / Apple Silicon are not supported.
- **Not a SimReady pipeline.** NuRec produces a renderable USDZ from
a recording; SimReady packaging of CAD or source meshes is a
different pipeline (see `omniverse-cad-to-simready`).
## Troubleshooting
| Error / symptom | Likely cause | Solution |
|-----------------|--------------|----------|
| `nurec-skills` clone missing or empty | Upstream not fetched yet | Run the clone block in [Locate and fetch the upstream skills](#locate-and-fetch-the-upstream-skills) |
| `403`/`401` pulling `nvidia/PhysicalAI-*` from HF | Gated license not accepted, or `HF_TOKEN` unset / wrong scope | Accept the gated license on Hugging Face, then `hf auth login` with a token that has `read` access |
| `denied: requested access to the resource is denied` from `nvcr.io/nvidia/nre/*` | Missing or expired `NGC_API_KEY` | `docker login nvcr.io` with `$oauthtoken` / `NGC_API_KEY`; rotate the key at `org.ngc.nvidia.com/setup/api-key` if needed |
| NRE refuses to load a clip ("not valid NCore V4") | Recording was not converted | Run the `ncore` skill before invoking `nre` |
| `serve-grpc` cold-start latency dominates a Python loop | One-shot Docker invocation per render | Use the `nre` warm `serve-grpc` + thin Python client (`batch_render_rgb`) recipe |
| Output files are owned by `root` after a `docker run` | `-u $(id -u):$(id -g)` was missing | `sudo chown -R "$(id -u):$(id -g)" <output_dir>`; add the `-u` flag next time |
| Frames have ghosting / floaters / flicker after rendering | Inline cleanup not enabled | Re-render with `nre --enable-difix`, or post-process with `nurec-fixer` (DiffusionHarmonizer) |
| Stale skill names (`ncore-data-conversion`, old `nvidia/Fixer`) in agent output | Out-of-date cached skill | Update references to `ncore` and `nurec-fixer` (DiffusionHarmonizer); see [`references/maintenance.md`](references/maintenance.md) |
| Bash anti-pattern `${HF_TOKEN:+yes}${HF_TOKEN:-no}` echoed token value | Misuse of bash parameter expansion | Rotate the token; use `hf auth whoami` or length-only checks (see [`references/secrets-handling.md`](references/secrets-handling.md)) |
## Cross-skill teardown
A complete NuRec workflow can leave **150 GB+** on disk between
container images, model weights, code clones, conda envs, and output
directories. Each sibling skill has its own dedicated `Teardown`
section — read them in the order documented in
[`references/teardown.md`](references/teardown.md) when the user no
longer needs the workflow.
## Keeping this router up to date
Procedure for adding new sibling skills, renames, or upstream URL
changes lives in [`references/maintenance.md`](references/maintenance.md).
Treat the upstream `nurec-index` at
<https://github.com/NVIDIA/nurec-skills/blob/main/.agents/skills/SKILL.md>
as authoritative; this skill mirrors only the picker tables, the
workflow ordering, and the upstream fetch recipe.
Todos los archivos
1 archivosInstalar physical-ai-neural-reconstruction
Descarga y descomprime los archivos de habilidades en tu directorio .claude/skills/.
Descargar ZIPClona el repositorio y copia los archivos de la habilidad a tu proyecto.
git clone https://github.com/NVIDIA/skills/tree/main/skills/physical-ai-neural-reconstruction # Copy SKILL.md to your .claude/skills/ directory
Copiar





Hogar
