OpenUSD diagnostic provenance

See what won.
Trace why.

StageTrace helps pipeline TDs and USD tools engineers turn a surprising composed result into the value source, losing opinions, causal composition path, and a conservative next action.

CLI implementedGUI not yet builtPlatform macOS arm64 developmentAssets stay local

01 / The problem

OpenUSD gives the composed answer. Debugging still means correlating several views by hand.

A property stack can contain specs that do not author the winning value. A time query can resolve through samples, clips, splines, fallback, or a block. Visibility can be inherited from an ancestor. The useful answer is not merely “the value is X.”

StageTrace is for people who already know USD and need a faster, reviewable path from a symptom to the actual source evidence.

02 / Three useful questions

Facts first. Correlation second. Recommendations last.

Browse every command
01

$ why

Which opinion produced this value?

{
  "command": "why",
  "status": "ok",
  "data": {
    "resolvedValue": "invisible",
    "sourceKind": "authoredDefault",
    "winner": { "layer": "<ASSET>/lighting.usda", "arcType": "reference" },
    "safeEditRecommendation": { "canEdit": true, "action": "authorSessionOverride" }
  }
}

Resolve one property and correlate its value source, competing opinions, causal arc, and safe action.

Open JSON Schema
02

$ visibility

What actually made this prim invisible?

{
  "command": "visibility",
  "status": "ok",
  "data": {
    "computedVisibility": "invisible",
    "blockingOpinion": { "path": "/World/Car.visibility", "value": "invisible" }
  }
}

Compute effective visibility and identify the actual invisible ancestor and opinion.

Open JSON Schema
03

$ explain

How do the answers fit together?

{
  "command": "explain",
  "status": "ok",
  "data": {
    "mode": "property",
    "probe": { "stageRevision": 1 },
    "property": { "resolvedValue": "invisible" },
    "visibility": { "computedVisibility": "invisible" }
  }
}

Combine property, composition, visibility, layer, and editability context from one stage snapshot.

Open JSON Schema

03 / How it works

StageTrace does not replace OpenUSD’s resolver.

OpenUSD resolves the value and visibility facts. StageTrace reads the same stage snapshot, correlates resolve information with property-stack and composition evidence, classifies what can safely be edited, and formats the result for a human or pipeline.

Resolved through bundled OpenUSD, cross-checked against direct OpenUSD queries, and emitted as schema-validated JSON.

JSON Schema validates output structure. It does not prove semantic truth. Truth confidence comes from deterministic edge-case fixtures, direct OpenUSD differential assertions, and optional real-asset semantic sampling.

  1. 1
    Resolve

    Query the target, time, and load policy through bundled OpenUSD.

  2. 2
    Correlate

    Match the resolved source to real authored sites and the causal composition node.

  3. 3
    Constrain

    Recommend only the non-destructive actions the current edit model supports.

  4. 4
    Emit

    Return readable text or stable, schema-validated JSON.

04 / Current boundary

Done now

Diagnostic CLI foundation

  • CLI commands for inventory, validation, composition, provenance, visibility, explain, edits, export, projects, and watch.
  • Typed JSON contracts and deterministic fixtures for diagnostic edge cases.
  • Direct differential checks against the bundled OpenUSD runtime.
May come next

Evidence-led workflow expansion

  • Folder and batch workflows, file/report output, and validation profiles—only where pipeline demand is clear.
  • Signed private CLI builds after legal, supply-chain, safety, and packaging gates.
  • Linux CLI or a macOS GUI based on qualified user evidence, not assumption.

05 / Asset boundary

Your scene does not become someone else’s dataset.

StageTrace runs against files on your machine. The planned product does not upload USD assets, layers, textures, or paths to a hosted analysis service. The research form below is separate and stores only the answers you choose to submit.

06 / Join the research

Bring the last USD problem that took too long.

This first round is five short conversations about the problem, platform, and workflow—not a sales call and not a claim that an interview validates correctness. A private binary comes later, only after the distribution gates and real interest.