super-three: JavaScript 3D Library (Abandoned Fork)

0.181.0 · abandoned · verified Sun Apr 19

`super-three` is a JavaScript 3D graphics library, initially based on the widely adopted `three.js` project, designed for rendering interactive 3D content in web browsers using WebGL and WebGPU. While the provided metadata indicates version `0.181.0`, public NPM data shows this package was last updated approximately two years ago, making it an effectively abandoned fork. In contrast, the official `three` package (which `super-three` is derived from) is actively maintained with frequent updates (e.g., `0.183.2` as of April 2026). `super-three` aimed to leverage the `three.js` API for creating scenes, cameras, lights, and objects, supporting various geometries, materials, and post-processing effects. Its original differentiators would have been alignment with `three.js`'s ease of use, broad browser compatibility, and access to a rich ecosystem. However, due to its abandonment, it lacks current features, performance improvements, and critical bug fixes found in the actively maintained `three.js` library.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart initializes a basic 3D scene with a camera, a rotating cube, and a WebGL renderer, appending the canvas to the document body for animation.

import * as THREE from 'super-three';

const width = window.innerWidth, height = window.innerHeight;

// init
const camera = new THREE.PerspectiveCamera( 70, width / height, 0.01, 10 );
camera.position.z = 1;

const scene = new THREE.Scene();

const geometry = new THREE.BoxGeometry( 0.2, 0.2, 0.2 );
const material = new THREE.MeshNormalMaterial();

const mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );

const renderer = new THREE.WebGLRenderer( { antialias: true } );
renderer.setSize( width, height );
renderer.setAnimationLoop( animate );
document.body.appendChild( renderer.domElement );

// animation
function animate( time ) {
	mesh.rotation.x = time / 2000;
	mesh.rotation.y = time / 1000;

	renderer.render( scene, camera );
}

view raw JSON →