simready-foundation-conform-fet-006-materials

por nvidia

Use para reparar vinculações de materiais SimReady, shaders USDPreview ou MDL, caminhos de textura, tamanhos e espaços de cor.

npx skills add https://github.com/nvidia/simready-foundation --skill simready-foundation-conform-fet-006-materials

SimReady Conform FET-006 Materials

Purpose

Use this workflow skill after Core, Minimal, physics, and grasp requirements are already in a reasonable state and the next profile validation gate is FET006_BASE_MDL or FET006_BASE_USDPREVIEW. It repairs material conformance on a staged USD asset while preserving visual intent, payload portability, and profile-specific material requirements.

This is an authoring and repair skill, not the final validator. Work on a staged copy under the requested output directory, rerun the same validation gate after each repair stage, and stop at the first remaining FET006 validation failure that needs material identity, visual design, texture replacement, or external material assets.

Prerequisites

Read the source-of-truth files named below before editing. Work on staged outputs where the skill requires them, and keep validation evidence with the result.

Source of Truth

Before changing an asset, load the exact FET006 manifest selected by the profile:

  • nv_core/sr_specs/docs/features/FET_006_base_mdl-0.1.0-mdl_materials.json
  • nv_core/sr_specs/docs/features/FET_006_base_usdpreview-0.1.0-usdpreview_materials.json
  • nv_core/sr_specs/docs/features/FET_006-materials.md
  • nv_core/sr_specs/docs/capabilities/visualization/materials/requirements.md
  • nv_core/sr_specs/docs/capabilities/visualization/materials/validation.py

Treat the selected JSON manifest as authoritative for the required IDs. If the markdown, manifest, validator, or report disagree on a requirement ID, follow the validation report for the current gate and call out the mismatch in the stage summary.

For per-requirement repair details, read references/fet006-requirements.md when a FET006 validation report or inspection identifies matching failures.

Inputs

Collect these before editing:

InputRequirement
usd_assetRequired .usd, .usda, .usdc, or unpacked USD-family asset to repair.
output_rootRequired or inferred folder for staged assets and reports.
simready_profileProfile being validated, such as prop-robotics-neutral or prop-robotics-physx.
profile_versionProfile version, if supplied by the user or validation command.
validation_reportPreferred JSON or markdown report from the failing profile or feature validation gate.
fet006_variantSelected feature ID and version, such as FET006_BASE_MDL@0.1.0 or FET006_BASE_USDPREVIEW@0.1.0. Infer from the profile when possible.
material_sourceExisting materials, source DCC data, user-approved default material policy, or a material-assignment output. Do not invent material identity silently.
texture_rootOptional folder containing referenced texture assets that may need staging, inspection, or relative path repair.
mdl_policyWhether existing MDL materials may be repaired, copied into the package, or replaced by a user-approved material.

Instructions

Use this checklist when changing the repository:

  1. Confirm the input asset exists and that earlier gates needed by the selected profile are already staged. For a prop workflow, FET000, FET001, FET003, and FET005 should usually pass before FET006.
  2. Parse the validation report and filter to FET006 failures. Do not repair unrelated later profile features in this skill.
  3. Load the selected FET006 manifest version and the requirement repair map.
  4. Create a staged output folder under output_root; do not mutate the source unless the user explicitly asks for in-place repair.
  5. Inspect the stage before editing:
    • default prim, payload boundaries, references, sublayers, and relative asset anchors
    • renderable UsdGeomGprim prims with purpose set to default or render
    • existing UsdShade.MaterialBindingAPI relationships, inherited bindings, collection bindings, and bound material paths
    • UsdShade.Material and UsdShade.Shader prims, surface outputs, shader IDs, and implementation-source metadata
    • MDL source assets, material identifiers, local files, and package-relative paths
    • texture asset paths, dimensions when tooling is available, color-space metadata, and normal-map scale/bias settings
  6. Decide the material strategy before authoring:
    • Prefer preserving and repairing existing valid materials.
    • Bind existing valid materials to unbound renderable geometry when the intended assignment is clear.
    • Create a simple USDPreviewSurface fallback only when the selected variant allows it and the user or workflow policy accepts a neutral default.
    • For MDL variants, do not fabricate an MDL material or material identity. Use existing MDL assets, a material-assignment output, or user-provided material data.
  7. Apply repairs in this order:
    • Repair material binding scope and missing bindings before changing shader internals.
    • Repair USDPreviewSurface attribute types and token values when the intended value is mechanical.
    • Repair MDL schema fields and source asset paths when the source asset and material identifier are clear.
    • Repair shader input types and invalid numeric values only when conversion is lossless and semantically obvious.
    • Repair texture color-space metadata when the texture channel semantics are known.
    • Block instead of silently downscaling, replacing, or deleting oversized textures unless the user approved the visual change.
  8. Rerun the same profile validation gate, or the narrowest available FET006 validation gate.
  9. Summarize the stage as passed, failed, skipped, or blocked. Stop when FET006 passes or the next FET006 failure requires material identity, source texture edits, MDL libraries, visual judgement, or a material-assignment service.

Examples

Example request:

Repair FET006 material binding and shader failures on a USD asset.

Expected result summary:

staged_asset: repaired copy or output directory
validation: selected feature/profile gate and report path
remaining_failures: next failing requirement IDs, if any

Repair Policy

Make automatic repairs only when the intended result is mechanical and locally verifiable:

  • Bind an already-authored material to unbound renderable geometry when hierarchy, naming, or an existing binding pattern makes the target material clear.
  • Move or copy material definitions into the same payload scope as the binding when this preserves the composed appearance and fixes portability.
  • Add or fix UsdPreviewSurface shader attributes only when the required type, token, or default value is unambiguous.
  • Convert deprecated MDL schema fields to the current schema when the MDL file and material identifier are already present.
  • Fix relative MDL or texture paths when the target file exists and the package anchor is clear.
  • Set texture color-space metadata for known PBR channels such as albedo/base color, roughness, metallic, normal, opacity, displacement, or emission.
  • Remove NaN or Inf shader input values only by replacing them with a documented source value or user-approved default.

Block and report instead of guessing when:

  • The asset has no material source and the user did not request material prediction or default material assignment.
  • Multiple materials could plausibly apply to the same geometry.
  • The selected profile requires MDL and no valid MDL material or material-assignment output is available.
  • Texture resizing, format conversion, or replacement would change visible appearance.
  • Shader input type repair would require interpreting a custom shader without SDR or MDL specification data.
  • A color-space repair is ambiguous because the texture channel semantics cannot be determined from shader wiring, naming, or source metadata.

Variant Guidance

For FET006_BASE_USDPREVIEW, keep repairs in standard OpenUSD UsdShade and UsdPreviewSurface patterns. Every renderable GPrim must compute a material binding. UsdPreviewSurface attributes must use the expected USD types, token values, and non-time-sampled token opinions.

For FET006_BASE_MDL, preserve MDL materials when the profile selects them. Current docs and validators expect info:implementationSource = "sourceAsset", info:mdl:sourceAsset, and info:mdl:materialType; current MDL input validation may also use info:mdl:sourceAsset:subIdentifier to query MDL parameter specs. If both are needed for the local validator and runtime, author them consistently from the same material identifier and note the validator/schema nuance in the report.

Validation Handoff

Preserve reports under the staged output directory. If the Physical AI Skill Hub validation commands are available, use the same profile gate that exposed the failure:

uv run --python 3.12 validate-simready-profile <staged-usd> \
  --profile <profile> \
  --profile-version <version> \
  --foundation-root <simready-foundation-root> \
  --foundation-spec-root <simready-foundation-root>/nv_core/sr_specs/docs \
  --report <output-root>/simready-profile-after-fet006.json

Count this skill as successful when the selected FET006 variant passes, even if the full profile still fails on later features. Report those remaining failures as handoff work for their own skills.

Limitations

  • Do not silently mutate the source asset; work on the requested staged output.
  • Do not hide later profile failures after the selected feature gate passes or fails.
  • Do not invent geometry, metadata, or runtime behavior that conflicts with the asset intent.

Troubleshooting

  • Error: validation tooling is unavailable. Solution: run the narrowest available USD or static check and report the gap.
  • Error: a repair would change asset intent. Solution: stop and ask for direction or stage the smallest reversible edit.
  • Error: later profile gates still fail. Solution: report the next failing feature and hand off to the matching conformance skill.

Resources

  • assets/openai.yaml preserves optional UI metadata for clients that read skill display hints. It is not required for the workflow.
  • references/ contains detailed requirement notes; load only the files needed for the active validation failure.

Summary Format

Report:

FieldMeaning
input_usd_pathOriginal USD path.
output_usd_pathLatest staged/repaired USD path.
profile and profile_versionValidation target.
fet006_variantSelected FET006 feature ID and version.
material_strategyExisting material repair, user-approved default, material-assignment output, or blocked.
bound_materialsRenderable prims or scopes whose material bindings changed.
shader_repairsUSDPreviewSurface or MDL shader/schema fields changed.
texture_repairsTexture paths, dimensions, or color-space metadata changed.
requirements_repairedRequirement IDs changed by this skill.
requirements_blockedRequirement IDs that need material identity, source assets, texture editing, or user judgement.
validation_reportPath to the rerun validation report.
next_stepUsually the next failing profile feature or a blocked FET006 requirement.

Keep the user-facing summary short: what material data changed, which FET006 variant was validated, what still fails, and the first validation gate that blocks progress.

Mais skills de nvidia

compileiq-debug
nvidia
Use quando algo está errado: Search() trava, todas as avaliações retornam INVALID_SCORE, as pontuações não estão melhorando, toda configuração retorna o mesmo número, erros de ptxas…
create-github-pr
nvidia
Crie pull requests do GitHub usando a CLI gh. Use quando o usuário quiser criar um novo PR, enviar código para revisão ou abrir um pull request. Palavras-chave de acionamento -…
nemoclaw-maintainer-cross-issue-sweep
nvidia
Escaneia outras issues abertas para encontrar aquelas que um determinado PR pode também corrigir ou quebrar acidentalmente. Gera oportunidades de correção adjacentes e riscos de contradição com arquivo:linha…
fhir-basics
nvidia
Ensina aos agentes como funcionam as APIs FHIR R4, quais recursos estão disponíveis, como consultá-los com parâmetros de busca e como analisar corretamente todos os formatos de resposta…
compileiq-validate-result
nvidia
Use APÓS a conclusão de uma Pesquisa e ANTES de reivindicar qualquer aceleração ou enviar um ACF. Carrega o CSV dump_results, extrai os K melhores candidatos (objetivo único)…
changelog-audit
nvidia
Auditar o CHANGELOG.md do Warp antes de um lançamento: recuperar entradas perdidas, ordenar por impacto ao usuário, refinar a linguagem das entradas, ajustar quebras de linha e (no modo de branch de lançamento) incrementar comparação…
maintain-dynamic-plugins
nvidia
Manter carregadores de plugins dinâmicos do NeMo Relay, manifestos, SDKs nativos em Rust, protocolo de worker gRPC, SDK de worker Python, documentação, testes e cobertura do fluxo de lançamento
dgx-diagnose
nvidia
Diagnostique problemas comuns do DGX Station GB300 — falhas de CUDA, direcionamento incorreto de GPU, bugs de contêiner vLLM/SGLang, problemas de estado MIG, erros de NVLink/Fabric Manager,…