Three.js
The dominant 3D graphics library for the web — JavaScript, created by Ricardo Cabello (mrdoob), MIT, ~113k★ (one of the most-starred web projects). Renders via WebGL and WebGPU (SVG/CSS3D as add-ons). A rendering library, not a game engine: it provides the low-level building blocks — scene graph, cameras, lights, materials, geometries — without physics, a game loop, or a visual editor.
The 3D-web library node (why it’s paged)
Three.js is referenced across this spoke but had no page of its own — the missing node at the library end of the web-graphics matrix. It is the 3D counterpart to PixiJS (the 2D-web rendering library): both are narrow, fast renderers that fuller tools build on. The contrast that organizes the browser corner:
- Libraries (renderers only): PixiJS (2D) · Three.js (3D)
- Engines built atop / beside them: Babylon.js (3D framework/engine) → PlayCanvas (3D full engine + collaborative editor)
- Editor-engines that embed the libraries: GDevelop (PixiJS for 2D + Three.js for 3D) and Superpowers (Three.js) ship their 3D on Three.js rather than reimplementing a renderer.
So Three.js is the substrate much of the spoke’s web-3D stands on: choosing it means you assemble your own engine (loop, physics, tooling), trading batteries-included convenience for control and minimalism — the renderer-vs-engine tradeoff made concrete.
Ecosystem
A large ecosystem rides on it: React Three Fiber (React renderer for Three.js), A-Frame (WebXR framework), and various editors — evidence that “just a renderer” is a deliberate, durable design point others extend rather than a limitation.
Related
pixijs · babylonjs · playcanvas · gdevelop · superpowers · phaser · synthesis