PHPackages                             devarul/three.js - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. devarul/three.js

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

devarul/three.js
================

Three JS

02JavaScript

Since Apr 19Pushed 3y agoCompare

[ Source](https://github.com/devarul/three.js)[ Packagist](https://packagist.org/packages/devarul/three.js)[ RSS](/packages/devarul-threejs/feed)WikiDiscussions dev Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

three.js
========

[](#threejs)

[![NPM Package](https://camo.githubusercontent.com/0b5cc93e6d3b2c565492850de0cc7eb58eb0e60ed952e544d2e5ef1526eb033f/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f7468726565)](https://www.npmjs.com/package/three)[![Build Size](https://camo.githubusercontent.com/29ff06cd0dc6b64b5b131eb8a7dafd3fe19ff4c2464695961deef1b3b77a626b/68747470733a2f2f62616467656e2e6e65742f62756e646c6570686f6269612f6d696e7a69702f7468726565)](https://bundlephobia.com/result?p=three)[![NPM Downloads](https://camo.githubusercontent.com/7bf81c9496a9fa1b9150625867a398e1959bcb4ada6e6b1bebd3ad6022e3a02f/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f64772f7468726565)](https://www.npmtrends.com/three)[![DeepScan](https://camo.githubusercontent.com/3541ffdfd04acc9321949f157b9035ec54946626ec4e1e1eb62c96881d09a8bc/68747470733a2f2f646565707363616e2e696f2f6170692f7465616d732f31363630302f70726f6a656374732f31393930312f6272616e636865732f3532353730312f62616467652f67726164652e737667)](https://deepscan.io/dashboard#view=project&tid=16600&pid=19901&bid=525701)[![Discord](https://camo.githubusercontent.com/241be2cb4ce7ee4e4673f20364a27cd0952461abef813da034a1b88247d6739e/68747470733a2f2f696d672e736869656c64732e696f2f646973636f72642f363835323431323436353537363637333836)](https://discord.gg/56GBJwAnUS)

#### JavaScript 3D library

[](#javascript-3d-library)

The aim of the project is to create an easy to use, lightweight, cross-browser, general purpose 3D library. The current builds only include a WebGL renderer but WebGPU (experimental), SVG and CSS3D renderers are also available as addons.

[Examples](https://threejs.org/examples/) — [Docs](https://threejs.org/docs/) — [Manual](https://threejs.org/manual/) — [Wiki](https://github.com/mrdoob/three.js/wiki) — [Migrating](https://github.com/mrdoob/three.js/wiki/Migration-Guide) — [Questions](https://stackoverflow.com/questions/tagged/three.js) — [Forum](https://discourse.threejs.org/) — [Discord](https://discord.gg/56GBJwAnUS)

### Usage

[](#usage)

This code creates a scene, a camera, and a geometric cube, and it adds the cube to the scene. It then creates a `WebGL` renderer for the scene and camera, and it adds that viewport to the `document.body` element. Finally, it animates the cube within the scene for the camera.

```
import * as THREE from 'three';

// init

const camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 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( window.innerWidth, window.innerHeight );
renderer.setAnimationLoop( animation );
document.body.appendChild( renderer.domElement );

// animation

function animation( time ) {

	mesh.rotation.x = time / 2000;
	mesh.rotation.y = time / 1000;

	renderer.render( scene, camera );

}
```

If everything went well, you should see [this](https://jsfiddle.net/7u84j6kp/).

### Cloning this repository

[](#cloning-this-repository)

Cloning the repo with all its history results in a ~2 GB download. If you don't need the whole history you can use the `depth` parameter to significantly reduce download size.

```
git clone --depth=1 https://github.com/mrdoob/three.js.git
```

### Change log

[](#change-log)

[Releases](https://github.com/mrdoob/three.js/releases)

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity23

Early-stage or recently created project

 Bus Factor1

Top contributor holds 54.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/05391ddb0c69c7546c494cafec240b32cd7de9dc2aed4a376bb56b2ba6355a13?d=identicon)[devarul](/maintainers/devarul)

---

Top Contributors

[![mrdoob](https://avatars.githubusercontent.com/u/97088?v=4)](https://github.com/mrdoob "mrdoob (18108 commits)")[![Mugen87](https://avatars.githubusercontent.com/u/12612165?v=4)](https://github.com/Mugen87 "Mugen87 (4322 commits)")[![alteredq](https://avatars.githubusercontent.com/u/438022?v=4)](https://github.com/alteredq "alteredq (1753 commits)")[![WestLangley](https://avatars.githubusercontent.com/u/1000017?v=4)](https://github.com/WestLangley "WestLangley (1101 commits)")[![bhouston](https://avatars.githubusercontent.com/u/588541?v=4)](https://github.com/bhouston "bhouston (840 commits)")[![takahirox](https://avatars.githubusercontent.com/u/7637832?v=4)](https://github.com/takahirox "takahirox (813 commits)")[![looeee](https://avatars.githubusercontent.com/u/5307958?v=4)](https://github.com/looeee "looeee (697 commits)")[![sunag](https://avatars.githubusercontent.com/u/502810?v=4)](https://github.com/sunag "sunag (694 commits)")[![greggman](https://avatars.githubusercontent.com/u/234804?v=4)](https://github.com/greggman "greggman (637 commits)")[![gero3](https://avatars.githubusercontent.com/u/155535?v=4)](https://github.com/gero3 "gero3 (514 commits)")[![gkjohnson](https://avatars.githubusercontent.com/u/734200?v=4)](https://github.com/gkjohnson "gkjohnson (495 commits)")[![donmccurdy](https://avatars.githubusercontent.com/u/1848368?v=4)](https://github.com/donmccurdy "donmccurdy (366 commits)")[![zz85](https://avatars.githubusercontent.com/u/314997?v=4)](https://github.com/zz85 "zz85 (310 commits)")[![linbingquan](https://avatars.githubusercontent.com/u/23699926?v=4)](https://github.com/linbingquan "linbingquan (274 commits)")[![gogoend](https://avatars.githubusercontent.com/u/26410985?v=4)](https://github.com/gogoend "gogoend (243 commits)")[![fernandojsg](https://avatars.githubusercontent.com/u/782511?v=4)](https://github.com/fernandojsg "fernandojsg (240 commits)")[![aardgoose](https://avatars.githubusercontent.com/u/17364910?v=4)](https://github.com/aardgoose "aardgoose (196 commits)")[![tschw](https://avatars.githubusercontent.com/u/3916357?v=4)](https://github.com/tschw "tschw (187 commits)")[![Itee](https://avatars.githubusercontent.com/u/5276909?v=4)](https://github.com/Itee "Itee (187 commits)")[![Temdog007](https://avatars.githubusercontent.com/u/37945129?v=4)](https://github.com/Temdog007 "Temdog007 (127 commits)")

### Embed Badge

![Health badge](/badges/devarul-threejs/health.svg)

```
[![Health](https://phpackages.com/badges/devarul-threejs/health.svg)](https://phpackages.com/packages/devarul-threejs)
```

###  Alternatives

[antoineaugusti/easyphpcharts

A PHP class for chartjs.org charts.

253.1k](/packages/antoineaugusti-easyphpcharts)[rainlab/mailchimp-plugin

Mailchimp plugin for October CMS

114.7k](/packages/rainlab-mailchimp-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
