Skip to content

forest-rs/layerstack

Repository files navigation

layerstack

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.

What it does

  • 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

Repository layout

  • 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 against pcp.json expectations
  • layerstack_examples/: runnable examples using the layerstack API
  • core-spec-supplemental-release_dec2025/: upstream AOUSD supplemental test corpus (vendored)
  • specs/: normative spec PDFs used as implementation references

What it does not do

  • Rendering, layout, hit-testing
  • Domain schemas or UI/canvas semantics
  • USD file I/O

Conformance (why the extra code is here)

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.

Status

Early development.

Commands

cargo fmt --all
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features --offline

Specs

  • AOUSD Core Spec (reference): specs/aousd_core_spec_1.0.1_2025-12-12.pdf

About

No description, website, or topics provided.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages