layerstack is a small, domain-neutral composition kernel inspired by the OpenUSD Core
composition model.
The purpose of this repository is to build an AOUSD-aligned core (composition, population, value resolution) and to keep it honest via a growing, fixture-driven conformance harness.
- Layer stacks with deterministic strength ordering
- Stage population (composed prim tree)
- Value resolution (scalar + ListOp)
- Minimal v0.1 arcs: variants + references
- Provenance-friendly resolution APIs
layerstack/: the core crate (no_std by default;alloc-only APIs where practical)layerstack_conformance/: a std-only test harness that loads AOUSD supplemental fixtures and asserts behavior againstpcp.jsonexpectationslayerstack_examples/: runnable examples using thelayerstackAPIcore-spec-supplemental-release_dec2025/: upstream AOUSD supplemental test corpus (vendored)specs/: normative spec PDFs used as implementation references
- Rendering, layout, hit-testing
- Domain schemas or UI/canvas semantics
- USD file I/O
layerstack_conformance exists to keep layerstack aligned with the AOUSD Core spec by running
composition fixtures and comparing results to the upstream pcp.json outputs (prim stacks,
property stacks, child ordering, etc).
This harness uses a deliberately minimal USDA reader for fixture inputs; it is not a general USD
file parser, and layerstack itself remains file-format agnostic.
Early development.
cargo fmt --all
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features --offline- AOUSD Core Spec (reference):
specs/aousd_core_spec_1.0.1_2025-12-12.pdf