Skip to content

@cinevva/usdjsReference-Quality OpenUSD

A spec-correct USD implementation in pure TypeScript. Verified against Pixar source.

Quick Example ​

typescript
import { UsdStage } from '@cinevva/usdjs';

// Parse a USDA file
const stage = UsdStage.openUSDA(`#usda 1.0
def Xform "World" {
    def Mesh "Cube" {
        float3[] points = [(-1,-1,-1), (1,1,1)]
    }
}`);

// List all prims
console.log(stage.listPrimPaths());
// ['/', '/World', '/World/Cube']

Installation ​

bash
npm install @cinevva/usdjs

What's Supported ​

FeatureStatus
USDA parsing✅ Full
USDC parsing✅ Real-world compatible
USDZ parsing✅ Full
Sublayers✅
References✅
Payloads✅
Variants✅
Inherits✅
Specializes❌ Not yet
Value clips❌ Not yet

Ecosystem ​

@cinevva/usdjs-viewer ​

Three.js-based browser viewer for visual validation and debugging.

@cinevva/usdjs-renderer ​

Headless PNG rendering via Playwright for regression testing.

Current Progress ​

The core runtime is solid and handles production files from major DCC tools. We're actively working toward full OpenUSD parity.

Done: USDA/USDC/USDZ parsing, sublayers, references, payloads, variants, inherits.

In progress: Specializes, relocates, value clips, full Pcp prim indexing.

Planned: Typed UsdGeom/UsdShade APIs, complete USDC write support.

See FEATURES.md for the full roadmap.

Released under the MIT License.