Installation
How to install three-start and its peer dependencies.
Install
npm install three-startPeer dependencies
three-start keeps its own bundle small by declaring three and eventemitter3 as peer dependencies — meaning they live in your project, not inside three-start. Install them alongside three-start:
npm install three eventemitter3Minimum versions:
| Package | Minimum | Tested against |
|---|---|---|
three | >=0.183.0 | ^0.183.2 |
eventemitter3 | >=5.0.4 | ^5.0.4 |
three >= 0.183 is required, not optional. three-start uses THREE.RenderPipeline (a WebGPU-era addition introduced in r183) to drive rendering. Older releases simply don't ship the symbol — installation will succeed but new ThreeStart() will fail at runtime.
TypeScript
If you use TypeScript, also install the Three.js type definitions:
npm install -D @types/three@^0.183.1three-start's own types ship with the package — no extra @types/* needed.
Sanity check
A minimal import to verify the package resolves:
import { ThreeStart } from "three-start";
const starter = new ThreeStart();
console.log(starter.ctx); // a ThreeContext with renderer, scene, camera, …If this compiles and logs the context, you're good. From here, head to Quick Start for a full working scene.
Renderer note (WebGPU vs WebGL)
By default new ThreeStart() instantiates a WebGPU renderer (THREE.WebGPURenderer from three/webgpu). If your target browser doesn't support WebGPU yet, or you just prefer WebGL, pass a renderer explicitly:
import * as THREE from "three";
import { ThreeStart } from "three-start";
const starter = new ThreeStart({
ctx: {
renderer: new THREE.WebGLRenderer({ antialias: true }),
},
});Everything else in three-start is renderer-agnostic.
Browser support
three-start is a native ES module. It targets modern evergreen browsers and Node 20+ for tooling. WebGPU features follow what three/webgpu supports in the chosen browser.