# Usd Single Layer Namespace Source

> Use this skill when implementing or verifying the degenerate namespace source that wraps one document-model layer for stage population.

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

---


# usd-single-layer-namespace-source

Use this skill when implementing or verifying the degenerate namespace source
that wraps one document-model layer for stage population.

## Spec Sources

- `specification/stage_population/README.md`
- `specification/document_data_model/README.md`

Pinned tag / commit: `v1.0.1`

## Provides

- A `NamespaceSource` capability backed by exactly one document-model `Layer`
- Layer field lookup for root layer metadata
- Prim input lookup by absolute prim path
- Property input lookup by property path
- Child prim names from `primChildren`
- Property names from `properties`
- Source capability declaration as `single_layer`
- Ordering declaration as raw single-layer child/property lists
- Diagnostics passthrough from the layer/opening boundary

## Contract

This skill owns `contracts/handles/single-layer-namespace-source.handle.json`
and implements the general namespace-source capability described by
`contracts/capabilities/namespace-source.json`.

The point of this node is to avoid making `usd-stage-population` depend
directly on document-model storage. Stage population consumes a namespace view;
today that view is backed by one layer, and later a composition node can provide
the same capability after evaluating sublayers, references, payloads, variants,
inherits, specializes, relocates, and load state.

A single-layer namespace source is intentionally degenerate:

- each path has zero or one local spec opinion
- field values are authored layer values
- child and property lists come from the document-model child-list fields
- no listOp composition is performed
- no value resolution is performed
- no schema fallback properties are injected
- no inactive filtering is performed
- child and property names are raw layer lists for stage population to order

The source must declare those limits explicitly through its capability
inspection surface. A generated target must not silently use the single-layer
source as evidence that composition or value resolution is implemented.

## Boundary Guards

Consume `usd-document-model` for layer/spec/field storage. Do not duplicate the
layer as a separate map of JSON specs.

Consume `usd-paths` for all path identity and path-kind checks. Adapter string
paths may be parsed at the boundary, but target code should pass path handles or
equivalent path references.

Consume `usd-tokens` and the document-model field-token vocabulary for field
names, child names, property names, and token-valued fields. Do not introduce a
provider-local string identity domain.

Do not perform stage population. This skill exposes source inputs; it does not
create stage nodes, apply population masks, prune inactive descendants, or
build traversal/lookup indexes.

Do not perform composition, value resolution, asset resolution, schema fallback
evaluation, model hierarchy traversal, or instancing.

## Test Obligations

- source capability declaration reports `single_layer`
- root layer field lookup
- prim lookup for existing and missing paths
- property lookup for attributes and relationships
- child/property name enumeration follows document-model stored lists
- active=false is exposed as a field and not interpreted locally
- authored composition arc fields remain inert source-visible fields
- all cases in `goldens/unit/usd-namespace-source/single-layer-namespace-source.json`

