Skip to main content
grayswork
Back to portfolio

TypeScript / React 19 / three.js / occt-import-js (WASM) / Vite / Vitest / Cloudflare Pages

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.

Standard views per export
10
Eager JS (three off the critical path)
220 kB
File uploads
0
What it took
  1. 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.
  2. 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.
  3. As a Vite MPA each language is a real crawlable document; the copy sits outside #root deliberately, since createRoot() wipes that subtree on mount.
04Contact
Where
New Taipei, Taiwan · UTC+8
Status
Graduating June 2026 · open to software engineering roles

Say something specific

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

Or leave a message here
Gray Tsao© 2026 · Last updated October 2026