# Usdc Layer Open

> Use this skill when implementing or verifying the concrete USDC layer-format handler used by generic layer opening.

- Skill: `nvidia-omniverse/usdc-layer-open` (Agent Skill)
- Install (CLI): `npx skillmds@latest add nvidia-omniverse/usdc-layer-open`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nvidia-omniverse/usdc-layer-open/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: NVIDIA-Omniverse (https://skillmd.com/u/nvidia-omniverse)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/nvidia-omniverse/usdc-layer-open

---


# usdc-layer-open

Use this skill when implementing or verifying the concrete USDC layer-format
handler used by generic layer opening.

## Spec Sources

- USD Core Spec Document Data Model section `Formats`
- USD Core Spec Core File Formats sections `Binary` and `Crate`
- `harness/dump_contract.md`

Pinned commit: `6b4f01f2d6d46b01507481524eb516b4ef358c31`

## Provides

- `usdc_layer_format`
- USDC extension recognition for layer-open dispatch
- Opened-byte handoff to `usdc-spec-parser`
- Target-native layer result pass-through for USDC inputs
- Clear diagnostics for non-USDC or unsupported USDC resources

## Contract

This skill is the concrete USDC format handler. It accepts an already-opened
binary resource byte view from `usd-layer-open`, verifies that the resolved
resource is a USDC candidate, and calls `usdc-spec-parser` to build a
target-native document-model Layer result. Canonical layer dump JSON is produced
only by explicit adapters, diagnostics serialization, and dump commands.

The handler may inspect the resolved resource display name or extension to
answer whether it is a USDC candidate for dispatch. A resolved `.usdc` extension
is sufficient for `usd-layer-open` to select this handler without reading
resource content to inspect the `PXR-USDC` magic header. It does not own resource
classification, local file URI conversion, package splitting, unsupported
resource-scheme diagnostics, or generic signature sniffing.

## Boundary Guards

Defer resource location typing, local file URI conversion, resource reads, and
unsupported resource protocol diagnostics to `usd-resource-protocol` through
`usd-layer-open`.

Defer generic format dispatch and command-line entrypoint ownership to
`usd-layer-open`.

Defer Crate byte decoding to `usdc-binary-format`, value decoding to
`usdc-value-decoder`, and document-model construction to `usdc-spec-parser`.

Do not call USDA text lexers, USDA value parsers, or USDA spec parsers.

Do not implement USDZ package parsing, `.usd` forwarding dispatch, sublayer
loading, composition, asset resolution, value resolution, schema fallback,
clips, or USDC writing.

## Test Obligations

- accept an opened local filesystem `.usdc` layer and return a target-native layer result
- expose a `.usdc` resolved-extension candidate predicate that lets
  `usd-layer-open` select this handler before content is read for magic-header
  inspection
- when `usd-layer-open` selects this handler by extension, validate the opened
  resource bytes through `usdc-binary-format`; non-`PXR-USDC` bytes produce USDC
  diagnostics rather than being redispatched to another handler
- reject non-`PXR-USDC` data before parser state is emitted
- preserve parser diagnostics for malformed Crate content after dispatch
- keep `.usdz` unsupported through `usd-layer-open` until package support exists
- pass the target-native layer result from `usdc-spec-parser`; returning canned dump JSON selected by file content or section names is a contract violation
- pass non-`PXR-USDC`, unsupported-version, and parser-level diagnostics through from `usdc-binary-format` and `usdc-spec-parser` without re-running format detection or local opened-byte string scans
- the handler accepts opened resource bytes from `usd-layer-open`; calling `usd-resource-protocol.read_resource` or `read_binary_file` directly with a raw identifier string is a contract violation
- `open_usdc_layer` is called only after `usd-layer-open` has received a
  successful `ResourceReadResult`; open-failure diagnostics are emitted by
  `usd-layer-open` before bytes reach this handler
- when the opened resource exposes `file_backed_path`, the handler forwards it to `usdc-binary-format` so the Crate decoder can open a memory-mapped region instead of consuming an owned byte vector
- when a canonical dump is emitted by an adapter or dump command for a `.usdc`
  fixture, it must match byte-for-byte after JSON canonicalization whether the
  layer is opened through the full `dump_layer.exe` pipeline or through
  `usdc_layer_open_adapter.exe`. Any divergence indicates that the USDC
  pipeline is taking a shortcut around the production decoder or violating one
  of the format-neutral document-model invariants in
  `contracts/document-model-productions/`.

## Performance

The layer-open handler must satisfy
`contracts/performance/usdc.performance.json` by deferring all decode and
layer-build work to `usdc-binary-format`, `usdc-value-decoder`, and
`usdc-spec-parser`. The handler itself adds only constant-time dispatch and
diagnostic pass-through.

