Skip to main content
Gray Tsao
Personal project · May 2026 — nowCAD

Orthoshot

Open a STEP file in the browser, read off its dimensions and weight, and export ten standard views in one click. No backend — the geometry never leaves the machine it was dropped onto.

10
Standard views per export
220 kB
Eager JS (three off the critical path)
0
File uploads
What it took
  • Snapshots use an offscreen orthographic camera locked to the model's original pose, routed through three's OutputPass so the PNG carries the same tone mapping and colour space as the canvas — without it every export came out darker than the view.
  • STEP is parsed in-browser by occt-import-js (OpenCascade via WASM), with geometry always in millimetres because linearUnit is passed explicitly rather than inherited from the library default.
  • As a Vite MPA each language is a real crawlable document; the copy sits outside #root deliberately, since createRoot() wipes that subtree on mount.
TypeScriptReact 19three.jsocct-import-js (WASM)ViteVitestCloudflare Pages
Contact

Say something specific

Email is fastest. I reply within a working day, usually with more questions than answers.

Or leave a message here
Where
New Taipei, Taiwan · UTC+8
Status
Graduating June 2026 · open to software engineering roles
Gray Tsao© 2026 · Last updated August 2026