CAD Viewer

/design renders the robot's 3D model in-browser — no CAD software required to inspect the chassis.


Interface

Element Behaviour
File list (sidebar / mobile dropdown) Every uploaded design file, ordered by display_order
Viewer pane Selected model, orbit-controllable (rotate/zoom/pan via mouse or touch), auto-rotating on load

Supported Formats

Extension How it's rendered
.glb, .gltf Native three.js loader (useGLTF) — fastest path, preferred for the primary model
.stl STLLoader (three.js)
.step, .stp Parsed client-side by occt-import-js (a WASM build of OpenCascade) into renderable geometry — no server round-trip
.sldasm, .sldprt Cannot be previewed — the viewer shows "SolidWorks format cannot be previewed in browser. Export as STEP from SolidWorks first." These formats can still be uploaded and stored for reference/download, just not rendered

STEP parsing runs entirely in the visitor's browser (the WASM module loads from /wasm/) — nothing is uploaded to a conversion service.


Adding a Model

Upload via Admin → Design (see Content Admin) — the file goes to R2, and a design_files row is created so it appears in the sidebar. There's no separate seed step like the code browser; each upload is immediately live.