Proposal: KitBash3D kits in DisplayXR hosts (content source: Cargo USD → host 3D views at true size, inside the comfort budget) #2435
joehillthunder
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
KitBash3D's Cargo 3.0 is USD-native and imports kits into Blender, Maya, Houdini and Unreal. Cargo itself is a 2D browser, so compatibility means the content reaches each DisplayXR host's own 3D view correctly: true size, materials intact, depth inside the comfort budget. It's a content source, like generated 3D (#2391) and measured materials (#2419).
Code:
displayxr-kitbash, private repo @75216c7(Apache-2.0 + NOTICE), access on request. Standard-library Python plus usd-core; 14 tests, synthetic fixtures only. No KitBash3D assets, textures or renders are included: kits are licensed to the user.What it does
checkreports the traps a plain reference hits:convertwrites one self-contained file in Omniverse Kit's layout:fitframes a kit for prop, street and aerial views inside the comfort budget, using the same true-geometry rig maths as the Slicer (Proposal: DisplayXR for 3D Slicer (medical visualization, Leia SR tested) #2352), ParaView (Proposal: DisplayXR for ParaView (scientific visualization, Leia SR tested) #2360) and Maya (Proposal: DisplayXR for Autodesk Maya (in-viewport Viewport 2.0 plug-in, Leia SR tested) #2390) integrations. Panel size, pixels and viewing distance come from display info (displayxr-cli status --json). Only the budget is a constant (Display info: publish the comfort budget (front/behind disparity limits), e.g. layout.comfort {front_frac, behind_frac} #2388).Measured
Every case sits exactly at the front budget, because the solver puts the nearest content there. The glass is tens to hundreds of metres out, so hosts must set clip planes from the fitted depth range rather than a DCC default far clip.
What a shared host library would need
fitreads it instead of a constant.Pending
🤖 Generated with Claude Code
All reactions