Building a 3kB render

Ceramic Capacitor

I wanted a way to display 3D engineering models inside my engineering platform without turning the application into a large 3D framework.

The goal was simple:

Make 3D rendering as small and fast as I could.

This led me to build my own binary mesh format, a small conversion pipeline, and a custom WebGL renderer designed specifically around that format.

The result is a deliberately limited system, but that limitation is what makes it small.

A reasonably detailed spanner model is currently around 23 kB as a compressed PMESH file, while the complete JavaScript rendering runtime is about 6 KiB uncompressed and approximately 3 kB when transferred using Brotli.

5V buzzer

22mm Open end spanner
Classic 555 Timer