Data Nexus

Interface · We run it ourselves

three.js

A WebGL library for real-time 3D that runs in a browser tab with nothing to install.

Three dimensions on the web are usually decoration, and decoration is the first thing to cut. It earns its place when the thing being shown is genuinely spatial and a flat picture would lose the point.

threejs.org

01/Why this one

  1. 01

    Nothing to install. A configurator, a walkthrough or a game opens from a link, which is the whole advantage over a native build and the reason to accept the constraints that come with it.


  2. 02

    We work to a frame budget rather than to a look. A scene is instrumented with a frame monitor from the start, because 3D that drops to fifteen frames on the phone the customer actually owns has failed regardless of how it renders on a workstation.


  3. 03

    Post-processing is a pipeline stage, not a filter stack bolted on at the end — which is what keeps the cost of an effect visible while there is still time to drop it.


  4. 04

    Runtime controls during development, so the people deciding how it should look can turn the dials themselves instead of describing a change and waiting a day.

02/What you can check

An entry that cannot point at something you can open, run or read does not compile. That is a property of the type, not a promise in a paragraph.

In our code
pakibus/package.json — three with a postprocessing pipeline, a runtime control panel and a frame-rate monitor, built with TypeScript and deployed to Cloudflare's edge.
03/Where it stops

Invariant

WebGL is bounded by the worst device in the audience, not the best. On mid-range phones the budget is memory and thermal throttling rather than raw draw calls, and a scene that cannot be cut down to fit them is a scene that should not have been three-dimensional. We say that before building it, not after.