Why OpenUSD?
Scenaven uses OpenUSD as the scene the server writes and the browser reads. You upload a VTK simulation. The server converts it, and later updates the scene when you filter. The viewer loads that scene and draws it with Three.js.
OpenUSD is the handoff, not an upload format. Open accepts VTK files. The server produces the scene after conversion and after each filter. The browser reads that scene. It does not reopen your original .vtkhdf in the tab.
What the scene carries
| In the scene | What you see |
|---|---|
| Structure | The Scene tree — source, clip, warp, extract |
| Fields | Scalar names, ranges, and time steps in Rendering and the legend |
| Display state | Which object is active, and which layers are visible |
| Surfaces | The meshes and field values the view draws |
Add a clip or a warp and the server runs VTK, writes the result into the scene, and the scene tree gains a child. The Scene card and the view stay on that same scene.
Why this choice
The browser and the server share one description of the session. Structure, field names, and which surfaces to draw are agreed in the scene file. The browser does not need its own VTK reader or filter engine.
The tab stays a viewer. It loads the scene plus the surfaces it can draw. The heavy grid stays on the server. Camera, color, picking, and the controls stay in the browser.
Filters and Python change the same simulation. A clip from the sidebar and a clip from Python both run on the file you loaded, then write back into the scene. The view and the script are looking at one result.
The scene tree matches the server. Filters and extracts show up as named rows under the source, with the same visibility and selection the server recorded.
What OpenUSD is not doing here
- It does not replace VTK for simulation work on the server.
- You cannot upload
.usd,.usda, or.usdcthrough Open. You upload VTK, and the server writes the scene. - It does not draw the picture. That is Three.js.
A browser that runs VTK itself, as in a WebAssembly viewer, does not need this handoff. Scenaven does, because the simulation stays on the server. For that comparison, see Why Three.js?.
Related
- VTK, OpenUSD & Three.js — how the three pieces connect
- Scene tree — how the scene shows up in the sidebar
- Data flow — load, filter, and time
- Why Three.js? — why the view is not a VTK port in the browser