I built a fast, 100% client-side 3D model viewer, inspector & converter in the browser with Three.js (GLB, FBX, OBJ, STL, 3MF, USDZ) — zero server uploads

Wait 5 sec.

Hey everyone, I often needed a quick way to inspect 3D assets (`.glb`, `.gltf`, `.fbx`, `.obj`, `.stl`, `.3mf`, `.usdz`, `.ply`, `.dae`, `.pcd`) without booting up Blender or uploading confidential client models to third-party cloud servers like Sketchfab. Windows 3D Viewer felt sluggish, and macOS Preview lacks proper PBR, wireframe overlay, and normal orientation diagnostics. So I built **Artoli 3D Viewer**, a lightweight, 100% client-side 3D studio and diagnostic tool powered by Three.js. 🔗 **Live App (Free, no login, zero telemetry):** https://viewer.artoli3d.com ### Technical Highlights & Architecture: - **100% Client-Side Pipeline (Zero Uploads):** All parsing, decompression (Draco + KTX2 UASTC GPU transcoding), format conversion, and rendering happen locally in browser memory (`ArrayBuffer` -> WebGL 2.0). Even multi-file `.zip` archives containing `.obj` + `.mtl` + texture maps are resolved in-memory using `fflate` and custom blob URL mapping. - **Real-Time Telemetry & GPU VRAM Estimation:** Computes live FPS, draw calls, triangle/vertex counts, UV coverage %, surface area, texel density, and estimates actual GPU VRAM footprint (broken down into Geometry buffer VRAM vs. Texture mipmap VRAM). - **Diagnostic Shading Modes:** - **PBR (ACESFilmic Tone Mapping)** with studio multi-light rig and PCF soft shadows. - **Face Orientation (Blue/Red Normal Shader):** Custom double-sided inspection shader (`gl_FrontFacing`) that renders front faces in Blue and inverted/flipped normals in bright Red to catch backface culling and non-manifold slicing issues. - **Wireframe Overlay:** Renders clean topology lines layered over textured PBR meshes. - **X-Ray, Clay/Plaster, Albedo/Unlit, and Automated Part Segmentation.** - **3D Print Pre-Flight & Signed Tetrahedron Volume:** Automatically computes exact millimeter bounding dimensions, real mesh volume ($cm^3$) using signed tetrahedron volume integration across indexed/non-indexed buffer geometries, PLA/Resin weight estimates, and interactive X/Y/Z clipping planes (cross-section slicer). - **Offscreen 4K Cutout Snapshots & 360° WebM Alpha Recording:** Captures deterministic 360° turntable videos (`.webm` with transparent alpha channel support and social aspect ratios `9:16`, `1:1`, `16:9`) and up to 4K transparent PNG renders. - **In-Browser Format Converter:** Converts loaded scenes client-side between `GLB`, `STL`, `OBJ`, `PLY`, `USDZ`, and `3MF`. - **Offline Desktop PWA & OS File Handling API:** Installs as a standalone desktop app via Chrome/Edge Service Worker caching and registers with the OS File Handling API so you can right-click any local 3D file -> *"Open with Artoli 3D"* offline in   submitted by