Mesh-to-USD Setup

SkillCloud & infra

Prepares your repo's mesh-to-USD environment by checking inputs, Docker images, GPU access, and model weights.

Use Mesh-to-USD Setup in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Mesh-to-USD Setup and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Mesh-to-USD Setup skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Mesh-to-USD SetupStart free
About this skill

Prepare this repository's mesh-to-USD generation, structural validation, and Isaac Sim drop-test environment. Use when a user asks to build the mesh-to-USD images, verify Docker/GPU access, prepare FoundationPose support calibration, check model weights, validate a standalone GLB or exported HOI seq

What this skill tells your AI

The instructions your AI receives, as published by nvidia-isaac/video_to_data in .codex/skills/mesh-to-usd-setup/SKILL.md and read by ahel’s review.

Prepare the workflow and prove that the requested input mode is runnable. Work from reconstruction/; keep Isaac Sim, OpenUSD, CoACD, and FoundationPose dependencies inside their existing containers.

Act before asking

  • Inspect the checkout, Python, Docker, GPU, disk, images, and supplied input immediately.
  • Default to GPU 0 when the user has not constrained GPU use.
  • Use modules/v2d_hoi_object_reconstruction/mesh_to_usd/tests/data/toy_airplane/einstar/output_aligned.glb for a non-destructive input check when no asset was supplied.
  • Build only missing images. Add FoundationPose only for cross-mesh recorded support, not for a standalone mesh or an exact recorded mesh with poses.
  • Do not ask about mass, friction, output paths, or drop-test tuning during setup; those belong to mesh-to-usd-run.
  • Never accept the NVIDIA Isaac Sim EULA on the user's behalf. Existing ACCEPT_EULA=Y or an explicit user instruction is sufficient for a later generation or drop-test run.
  • Ask only when credentials, EULA acceptance, missing external data, or another genuinely user-only action blocks progress.

Establish the checkout

REPO_ROOT="$(git rev-parse --show-toplevel)"
cd "$REPO_ROOT/reconstruction"
git status --short
python --version
docker version
nvidia-smi
df -h .

Treat modules/v2d_hoi_object_reconstruction/mesh_to_usd/README.md and the current CLI help as authoritative:

python modules/v2d_hoi_object_reconstruction/mesh_to_usd/build.py --help
python modules/v2d_hoi_object_reconstruction/mesh_to_usd/run_mesh_to_usd_workflow.py --help
python modules/v2d_hoi_object_reconstruction/mesh_to_usd/run_drop_test.py --help

Preserve unrelated local changes and existing results.

Determine the input contract

Choose the contract from the supplied paths without interviewing the user:

  • Standalone mesh: one nonempty USD/USDA/USDC, OBJ, FBX, glTF/GLB, or STL asset. Its physical scale must already be correct.
  • Exact exported sequence: object_mesh/output_aligned.glb, poses.npy, and ground_plane.json.
  • Catalog or cross-mesh support: a target mesh beside output_symmetry.json, plus a sequence containing edex, per-camera RGB, depth and mask H5 sources, and ground_plane.json.
  • Batch: catalog directories joined to exported sequences by exact object.id in hoi_metadata.yaml.

Fail on a missing required file. Do not silently substitute geometry-derived support for missing recording data.

Build only missing images

Normal generation plus validation uses:

v2d_hoi_mesh_to_usd
v2d_hoi_mesh_to_usd_validator

Inspect them with docker image inspect. Build both when either is missing:

python modules/v2d_hoi_object_reconstruction/mesh_to_usd/build.py

Use --target generator or --target validator only for a deliberately scoped repair. Use --dev at runtime only when validating local source changes.

Cross-mesh support additionally needs FoundationPose:

python modules/v2d_foundation_pose/docker/build.py
python modules/v2d_foundation_pose/docker/run_download_weights.py \
  --output_dir data/weights/foundationpose

Do not download FoundationPose weights for modes that do not invoke it.

Prove readiness

Before declaring setup complete, show PASS, FAIL, or BLOCKED for each applicable gate:

  1. All host --help commands above succeed.

  2. The selected input contract exists and every required file is nonempty.

  3. v2d_hoi_mesh_to_usd and v2d_hoi_mesh_to_usd_validator exist.

  4. GPU 0 is visible inside the generator image:

    docker run --rm --gpus '"device=0"' --entrypoint nvidia-smi \
      v2d_hoi_mesh_to_usd
    
  5. Cross-mesh mode, when selected, has the FoundationPose image, populated weights, and complete per-camera inputs.

  6. The user has explicitly accepted the EULA or will provide ACCEPT_EULA=Y before an Isaac Sim command. Treat this as a run gate, not a reason to skip other setup checks.

Continue with mesh-to-usd-run when the request also includes generation or a drop test. Do not stop after setup merely because the full simulation is long.

Signals

GitHub stars
810
Forks
88
Last commit
Sep 2026
Advanced
Item type
skill
Key
mesh-to-usd-setup
Source
github.com/nvidia-isaac/video_to_data