Summary
Deconstructed now builds on the public USDInterop package family, but the public graph still exposes OpenUSD 6.1.0-preflight.1 more than intended.
This is not a business/IP leak. It is an API hygiene and build-friction issue.
Problem
Deconstructed does not publicly export OpenUSD types from its own app-facing modules, but USDInterop still exposes a public shim that uses raw pxr types in public signatures:
Sources/USDInterop/USDInterop+OpenUSDShim.swift
That keeps OpenUSD visible in the public technical contract even though the intended consumer contract is:
USDInterfaces
USDInterop
USDInteropCxx
USDOperations
with OpenUSD treated as an implementation dependency of the package family, not as part of the intended app-facing API.
Why this matters
- creates accidental public API commitment to raw
pxr types
- increases build and macro-approval friction for downstream consumers
- weakens the cleanliness of the
USDOperations / USDTools split
Desired outcome
- keep
OpenUSD out of public-facing signatures where possible
- make
USDInteropOpenUSDShim internal or otherwise non-consumer-facing if only USDOperations needs it
- preserve the existing functionality while tightening the public contract
Acceptance criteria
- no public
USDInterop or USDOperations API exposes raw OpenUSD / pxr types unless there is a deliberate documented exception
OpenUSD remains an implementation dependency of the USDInterop package family rather than an intended downstream app API surface
Deconstructed continues to build on the public USDInterop package family without requiring app code to import raw OpenUSD
Summary
Deconstructednow builds on the publicUSDInteroppackage family, but the public graph still exposesOpenUSD 6.1.0-preflight.1more than intended.This is not a business/IP leak. It is an API hygiene and build-friction issue.
Problem
Deconstructeddoes not publicly exportOpenUSDtypes from its own app-facing modules, butUSDInteropstill exposes a public shim that uses rawpxrtypes in public signatures:Sources/USDInterop/USDInterop+OpenUSDShim.swiftThat keeps
OpenUSDvisible in the public technical contract even though the intended consumer contract is:USDInterfacesUSDInteropUSDInteropCxxUSDOperationswith
OpenUSDtreated as an implementation dependency of the package family, not as part of the intended app-facing API.Why this matters
pxrtypesUSDOperations/USDToolssplitDesired outcome
OpenUSDout of public-facing signatures where possibleUSDInteropOpenUSDShiminternal or otherwise non-consumer-facing if onlyUSDOperationsneeds itAcceptance criteria
USDInteroporUSDOperationsAPI exposes rawOpenUSD/pxrtypes unless there is a deliberate documented exceptionOpenUSDremains an implementation dependency of theUSDInteroppackage family rather than an intended downstream app API surfaceDeconstructedcontinues to build on the publicUSDInteroppackage family without requiring app code to import rawOpenUSD