This is the first entry in the DKOPA devlog. Short version: we're building a CAD viewer that runs entirely in the browser, and we're going to write about every interesting problem we hit along the way.
Why
CAD files are awkward. If someone sends you a STEP file, your options are a heavy desktop install or an upload-to-our-servers web app. A viewer that runs entirely client-side โ file never leaves your machine โ is a better default. The browser finally has the pieces to do this well: WebGPU for rendering and compute, and mature WASM builds of real geometry kernels like OpenCascade.
The plan
- Parse and tessellate STEP via OCCT compiled to WASM
- Render with WebGPU (WebGL2 fallback where needed)
- Progressive loading: bounding box first, refine as it parses
- No upload, no account, no server round-trip for the geometry itself
What we'll write about
The interesting parts, not a changelog: how B-rep tessellation actually works, why we picked the tessellation tolerances we did, what WebGPU gives you over WebGL for this workload, and the boring-but-hard parts like file size and parse latency.
Next post: getting OCCT running under Vite + Workers without wanting to quit programming.