Three.js
A JavaScript 3D library built on WebGL: scenes, cameras, meshes, materials, and animation in the browser.
What it is
Three.js abstracts WebGL with a scene graph, loaders for common formats, lights, shaders helpers, and utilities for math-heavy graphics work. It is a rendering library, not a complete game engine.
Why it matters
It is the practical default for interactive 3D on the web when you need control without building raw WebGL from scratch.
When to use it
Use it for web 3D visualization, product viewers, light games, or creative experiences. Pair with React via helpers like React Three Fiber if you want declarative component trees.
How it fits in the stack
It runs in the client (usually canvas/WebGL context) inside your SPA or framework page. Performance, asset size, and memory are your concern. Same origin rules and GPU limits apply.
Common confusion
Three.js is not Unity or Unreal. It targets the browser’s WebGL stack with different constraints. It is also not the same as a full physics or networking stack; you add those as separate libraries if needed.