physical-ai-neural-reconstruction
NVIDIA/skills
Encaminha as solicitações do NuRec/Neural Reconstruction para a função correta da NVIDIA a montante (conjuntos de dados, conversão, treinamento, renderização, extração de objetos, limpeza de quadros).
...Expandir tudoRoteador de Reconstrução Neural de IA Física (NuRec)
Finalidade
Este é um roteador leve para solicitações do NVIDIA Neural Reconstruction (NuRec).
Ele Ele aponta para a skill nurec-index upstream em
https://github.com/NVIDIA/nurec-skills e suas cinco skills irmãs
(physical-ai-datasets, ncore, nre, asset-harvester,
nurec-fixer). Use esta skill para:
- Identificar qual habilidade irmã upstream responde a uma pergunta do NuRec.
- Localizar, clonar ou atualizar o checkout canônico
das habilidades nurec. - Organizar fluxos de trabalho do NuRec com várias etapas (dados → conversão → treinamento → renderização → limpeza) antes de abrir a receita do upstream.
As receitas canônicas (treinamento, renderização, conversão de dados, downloads de conjuntos de dados, coleta de objetos, limpeza de quadros) estão nas habilidades irmãs upstream. Nunca copie ou reconstrua seus comandos aqui.
NÃO use esta habilidade para:
- Empacotamento SimReady de malhas CAD ou de origem → use
omniverse-cad-to-simready. - Ajuste genérico de desempenho do USD não relacionado ao NuRec → use
omniverse-usd-performance-tuning. - Configuração da infraestrutura do AKS / OSMO / NIM Operator → use
physical-ai-infrastructure-setup-and-resilient-scaling.
Quando usar
Leia esta habilidade primeiro sempre que um usuário mencionar qualquer um dos seguintes itens:
nurec, roteador nurec, índice nurec, reconstrução neural,
mecanismo de reconstrução neural, NRE, 3DGUT, 3DGRT, USDZ,
NCore V4, simulação de sensores, síntese de visualização inovadora,
PhysicalAI-Autonomous-Vehicles-NuRec, PhysicalAI-NuRec-PPISP,
Cosmos-Drive-Dreams, coletor de ativos, nurec fixer,
DiffusionHarmonizer, harmonizador, difix, difix3d, serve-grpc,
render-grpc, warm serve-grpc, nre thin client, batch_render_rgb,
nurec teardown, “por onde começo com o NuRec?”, “qual habilidade do NuRec
devo usar para X?”.
Decida qual habilidade irmã do upstream responde à pergunta, busque-a (consulte “Localizar e buscar as habilidades do upstream”), e então siga o corpo dessa habilidade.
Pré-requisitos
A própria skill Router não tem pré-requisitos de tempo de execução além do git para
buscar o upstream. As skills irmãs downstream exigem:
- Docker + NVIDIA Container Toolkit + GPU — para os contêineres
nre,nre-toolsenurec-fixer(nvcr.io/nvidia/nre/nre,nvcr.io/nvidia/nre/nre-tools,nvcr.io/nvidia/cosmos/cosmos-predict2-container:1.2). - Chave de API do NGC (
NGC_API_KEY) — para baixar contêineres do NGC. - Token do Hugging Face (
HF_TOKEN) com as licenças restritasnvidia/PhysicalAI-*,nvidia/DiffusionHarmonizerenvidia/asset-harvesterpré-aprovadas no Hugging Face. - Python 3.10+ com
o huggingface_hubinstalado. - (Opcional) CARLA, Isaac Sim 5.1 ou AlpaSim para integração com simuladores
via
serve-grpc.
Verifique os segredos com segurança (não exiba os valores):
hf auth whoami
[ -n "${HF_TOKEN:-}" ] && echo "Comprimento de HF_TOKEN=${#HF_TOKEN}" || echo "HF_TOKEN não definido"
[ -n "${NGC_API_KEY:-}" ] && echo "Comprimento de NGC_API_KEY=${#NGC_API_KEY}" || echo "NGC_API_KEY não definido"
Consulte references/secrets-handling.md
para conhecer os anti-padrões do bash que devem ser evitados.
O que é o NuRec?
O NuRec (NVIDIA Omniverse Neural Reconstruction) utiliza gravações de câmera, LiDAR, radar ou estéreo — normalmente de um carro autônomo ou de um robô — e as transforma em uma cena 3D que você pode renderizar novamente a partir de qualquer ponto de vista. Nomes que aparecem com frequência:
- NRE — “Neural Reconstruction Engine”. O NuRec é o produto; o NRE
é o mecanismo que treina e renderiza. Ambos apontam para a skill
nreupstream. - USDZ — o formato de arquivo de uma cena treinada. Um arquivo zip que o Omniverse, o Isaac Sim e o CARLA podem abrir.
- NCore V4 — o formato de entrada que o NRE utiliza. As gravações brutas devem ser convertidas para NCore V4 antes do treinamento.
- 3DGUT / 3DGRT — as duas variantes de 3D Gaussian Splatting utilizadas internamente pelo NRE. A receita padrão do Hydra escolhe uma delas; a maioria dos usuários nunca define isso manualmente.
Um projeto típico do NuRec tem três etapas:
- Obter a entrada — converta sua própria gravação para NCore V4
(
ncore) ou baixe um conjunto de dados pré-convertido (physical-ai-datasets). - Treine a reconstrução — alimente o NCore V4 no NRE; o resultado é um
USDZ (
nre). - Renderize novas visualizações — renderize imagens, vídeos ou varreduras LiDAR a partir
do USDZ (
nre).
Projetos que desejam apenas usar uma cena existente publicada pela NVIDIA pulem a etapa 2.
Escolha uma habilidade
Corresponda o objetivo do usuário na coluna da esquerda e abra a habilidade de etapa anterior com o nome correspondente à direita. As setas significam “execute estas etapas na ordem”.
| Eu quero… | Habilidade anterior |
|---|---|
| Encontrar ou baixar um conjunto de dados do NuRec publicado pela NVIDIA | physical-ai-datasets |
| Converter minha própria gravação de câmera / LiDAR / radar / profundidade / estéreo para o NCore V4 | ncore |
| Escrever um novo conversor para uma configuração de sensor não suportada (drone, RGB-D, ROS 2 bag, COLMAP, ScanNet++) | ncore |
| Treinar uma reconstrução 3D a partir de um clipe do NCore | ncore → nre |
| Gerar as entradas adicionais necessárias para o NRE (máscaras de segmentação, profundidade, máscara ego) | nre (usa o contêiner nre-tools ) |
| Renderize um USDZ de acordo com as posições originais da câmera | nre |
| Renderizar em resolução total / qualidade máxima | nre (consulte “Predefinições de qualidade”) |
| Renderizar ao longo de uma trajetória deslocada (por exemplo, carro deslocado 3 m para a esquerda) | nre |
| Renderizar por meio de um servidor para que o CARLA / Isaac Sim / AlpaSim / um simulador personalizado possa solicitar quadros | nre (serve-grpc) |
| Renderizar o mesmo USDZ várias vezes consecutivamente a partir do Python com latência mínima por chamada | nre (warm serve-grpc + cliente Python leve / batch_render_rgb) |
| Renderizar varreduras LiDAR (nuvens de pontos) a partir de um USDZ | nre (render-grpc --lidar) |
| Pular o treinamento e apenas renderizar uma cena NuRec já criada pela NVIDIA | physical-ai-datasets → nre |
| Extrair objetos 3D individuais (carros, pedestres) de um clipe de direção | asset-harvester |
| Adicionar, remover ou substituir carros/pedestres em uma cena do NuRec | asset-harvester → nre |
| Limpar ou harmonizar quadros renderizados (efeitos de fantasma, objetos flutuantes, tremulação, iluminação/sombras) | nurec-fixer ou --enable-difix dentro do nre para renderização inline |
| Exportar a cena como PLY, malha, mapas de profundidade, máscara ego, etc. | nre |
| Atualizar um USDZ antigo para que versões mais recentes do NRE o carreguem mais rapidamente | nre (upgrade-artifact) |
| Abra um USDZ ou PLY em um visualizador de navegador | nre (viewer / ply_viewer) |
| Meça a qualidade da renderização (PSNR, SSIM, LPIPS) em relação ao padrão de referência | nre (eval-rendering-metrics) |
| Comparar diferentes métodos de reconstrução nas mesmas cenas | physical-ai-datasets (PhysicalAI-NuRec-PPISP) → nre |
| Treinar em várias GPUs ou no SLURM | nre (Fluxo de Trabalho D) |
Fluxos de trabalho comuns
Seis fluxos de trabalho de ponta a ponta estão documentados em
references/workflows.md:
- A. Crie uma cena NuRec a partir de sua própria gravação.
- B. Use uma cena NuRec já treinada pela NVIDIA.
- C. Adicione, remova ou substitua objetos 3D em uma cena.
- D. Limpar quadros renderizados.
- E. Avaliar a qualidade da reconstrução.
- F. Conecte o NuRec a um simulador.
Abra esse arquivo quando a tarefa do usuário envolver mais de uma habilidade irmã.
Habilidades relacionadas (a montante)
| Nome | Pasta a montante | O que faz |
|---|---|---|
physical-ai-datasets |
.agents/skills/physical-ai-datasets/ |
Catalogue e baixe receitas para todos os conjuntos de dados de IA física da NVIDIA no Hugging Face (direção, robótica, manipulação, cenas do NuRec, benchmarks). |
ncore |
.agents/skills/ncore/ |
Converte qualquer gravação de sensor para o formato NCore V4 (o formato exigido pelo NRE). Também aborda a criação de um novo conversor. |
nre |
.agents/skills/nre/ |
O próprio Neural Reconstruction Engine. Treina, renderiza (localmente, via warm serve-grpc + cliente Python leve / batch_render_rgb, ou para um simulador externo), exporta malhas / nuvens de pontos / profundidade, edita atores e avalia a qualidade. |
asset-harvester |
.agents/skills/asset-harvester/ |
Pipeline de código aberto sob licença Apache-2.0 que extrai objetos 3D individuais de visões esparsas em um clipe de direção e os salva como splats gaussianos .ply com metadados. |
nurec-fixer |
.agents/skills/nurec-fixer/ |
Fluxo de trabalho autônomo do NVIDIA DiffusionHarmonizer — sucessor público das receitas mais antigas do Fixer / Difix3D+ — que limpa quadros renderizados, harmoniza atores inseridos, avalia PSNR/LPIPS e, opcionalmente, ajusta o modelo. |
Para conflitos de nomenclatura (NRE vs. Fixer, ncore vs. nre, AV-NuRec vs.
Cosmos-Drive-Dreams, NuRec vs. SimReady), consulte
references/mix-ups.md.
Localize e obtenha as habilidades do upstream
Receita rápida (versão completa em
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"
Em seguida, leia a habilidade do upstream antes de executar qualquer comando de modificação:
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills/SKILL.md" # roteador
cat "$UPSTREAM_ROOT/nurec-skills/.agents/skills//SKILL.md" # irmão
Ordem de pesquisa local (tente nesta ordem antes do clone upstream):
.agents/skills/(Cursor, Codex, NemoClaw)/SKILL.md .claude/skills/(Claude Code)/SKILL.md .cursor/skills/(no escopo do projeto)/SKILL.md ~/.cursor/skills/(habilidades pessoais)/SKILL.md
Regras rígidas
- Apenas para o Router — não duplique aqui as receitas do NuRec do upstream. Leia o corpo da habilidade irmã do upstream antes de executar qualquer comando de modificação.
- Refira-se às habilidades irmãs pelo
nome:(por exemplo,nre), não pelo caminho do repositório . A estrutura das pastas pode mudar; o nome é portátil. - Clone ou atualize
https://github.com/NVIDIA/nurec-skillsna raiz compartilhada do upstream (${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME/.physical-ai-skill-hub/upstreams}}/nurec-skills). Não faça varredura em espaços de trabalho amplos de desenvolvedores, como~/Codes, nem reutilize clones antigos não relacionados. O physical-ai-datasetsabrange conjuntos de dados restritos do Hugging Face. Não contorne os termos de licença dos conjuntos de dados; o usuário deve aceitar as licenças restritasPhysicalAI-*no Hugging Face e fornecer um token antes do download.- O Asset Harvester é executado antes da compactação em um USDZ. Não chame
o comando `
export-external-assets`do `nre`em arquivos`.ply`criados manualmente, a menos que o usuário solicite explicitamente ignorar o Asset Harvester. - Para limpeza de artefatos, dê preferência ao caminho integrado
--enable-difixnonre. Recorra aonurec-fixerindependente somente quando o usuário precisar do cartão de código/modelo público, avaliação emparelhada, ajuste fino ou correções em quadros renderizados anteriormente. - Não invente comandos do NRE / NCore / DiffusionHarmonizer de
memória. Releia a skill irmã do upstream — as versões mudam rapidamente
(NRE
release_26.04é a tag fixada atual). - Este roteador não implanta infraestrutura. Encaminhe a configuração do AKS / OSMO /
NIM Operator para
physical-ai-infrastructure-setup-and-resilient-scaling.
Limitações
- Apenas roteador. Esta skill nunca executa comandos NuRec que alteram dados. Todo o treinamento, renderização, conversão e harmonização ocorrem em skills irmãs do upstream.
- Fixado no upstream. As receitas ficam em
https://github.com/NVIDIA/nurec-skills, que evolui fora deste repositório. Clones desatualizados podem apresentar divergências; sempreexecute `git pull`no upstream antes de confiar em uma habilidade irmã. - Conteúdo restrito.
nvidia/PhysicalAI-*,nvidia/DiffusionHarmonizer, envidia/asset-harvesterexigem que o usuário aceite os termos de licença no Hugging Face primeiro. O roteador não pode ignorar isso. - Grande consumo de recursos. Um fluxo de trabalho completo do NuRec pode ocupar mais de 150 GB
no disco. Consulte
references/teardown.md. - Pilha exclusiva da NVIDIA. Requer uma GPU NVIDIA e o NVIDIA Container Toolkit. AMD, Intel e Apple Silicon não são suportados.
- Não é um pipeline SimReady. O NuRec produz um USDZ renderizável a partir
de uma gravação; o empacotamento SimReady de malhas CAD ou de origem é um
pipeline diferente (consulte
omniverse-cad-to-simready).
Solução de problemas
| Erro / sintoma | Causa provável | Solução |
|---|---|---|
Clonedo nurec-skills ausente ou vazio |
O upstream ainda não foi buscado | Execute o bloco “clone” no Locate e busque as habilidades do upstream |
Erro403/401 ao baixar nvidia/PhysicalAI-* do HF |
Licença restrita não aceita, ou HF_TOKEN não definido / escopo incorreto |
Aceite a licença restrita no Hugging Face e, em seguida, faça login no hf auth com um token que tenha acesso de leitura |
negado: o acesso solicitado ao recurso foi negado a partir de nvcr.io/nvidia/nre/* |
NGC_API_KEY ausente ou vencida |
Faça login no Docker no nvcr.io com $oauthtoken / NGC_API_KEY; atualize a chave em org.ngc.nvidia.com/setup/api-key, se necessário |
| O NRE se recusa a carregar um clipe (“NCore V4 inválido”) | A gravação não foi convertida | Execute a skill ncore antes de invocar o nre |
A latência de inicialização a friodo `serve-grpc` predomina em um loop de Python |
Chamada única do Docker por renderização | Use a receita “nre warm serve-grpc + thin Python client” (batch_render_rgb) |
Os arquivos de saída pertencem ao usuário root após uma execução do Docker |
Faltava-u $(id -u):$(id -g) |
sudo chown -R "$(id -u):$(id -g)" ; adicione o sinalizador -u na próxima vez |
| Os quadros apresentam fantasmas / manchas flutuantes / tremulação após a renderização | Limpeza inline não ativada | Refaça a renderização com nre --enable-difix ou faça o pós-processamento com nurec-fixer (DiffusionHarmonizer) |
Nomes de habilidades desatualizados (ncore-data-conversion, antigo nvidia/Fixer) na saída do agente |
Habilidade armazenada em cache desatualizada | Atualize as referências ao ncore e ao nurec-fixer (DiffusionHarmonizer); consulte references/maintenance.md |
Antipadrão do Bash ${HF_TOKEN:+yes}${HF_TOKEN:-no} ecoou o valor do token |
Uso indevido da expansão de parâmetros do Bash | Alterne o token; use hf auth whoami ou verificações apenas de comprimento (consulte references/secrets-handling.md) |
Desmontagem entre habilidades
Um fluxo de trabalho completo do NuRec pode ocupar mais de 150 GB no disco entre
imagens de contêineres, pesos de modelos, clones de código, ambientes conda e diretórios de saída.
Cada skill irmã possui sua própria seção dedicada de Teardown Cada skill irmã possui sua própria seção dedicada de desativação
— leia-as na ordem documentada em
references/teardown.md quando o usuário não
precisar mais do fluxo de trabalho.
Mantendo este roteador atualizado
O procedimento para adicionar novas habilidades irmãs, renomeações ou alterações na URL
do upstream está em references/maintenance.md.
Considere o nurec-index upstream em
https://github.com/NVIDIA/nurec-skills/blob/main/.agents/skills/SKILL.md
como autoritário; esta skill espelha apenas as tabelas do seletor, a
ordem do fluxo de trabalho e a receita de busca upstream.
---
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 os arquivos
1 arquivosInstalar physical-ai-neural-reconstruction
Baixe e extraia os arquivos das habilidades para o diretório .claude/skills/.
Baixar ZIPClone o repositório e copie os arquivos da habilidade para o seu projeto.
git clone https://github.com/NVIDIA/skills/tree/main/skills/physical-ai-neural-reconstruction # Copy SKILL.md to your .claude/skills/ directory
Copiar





Lar
