๐Ÿš€ ๐ŸŒช Super-fast 3D framework for Web Applications ๐Ÿฅ‡ & Games ๐ŸŽฎ. Based on Three.js
Clone or download
hirako2000 Merge pull request #388 from shaochun/dev
Enables ElementModule class to take empty params
Latest commit 8595bcf Jun 28, 2018


Three Build Status

Community chat. Join us!


Table of content

New releases

whs is currently at v2 major version. We don't have clear plans for v3 yet. So v2 will probably remain the main stable version until at least 2018.

We try to publish patch releases every 20 days or even more often.

We try to publish minor update releases every 60 days or even more often depending on the amount of features that sometimes get added in a very small period of time. We want the community to profit from new modules, components and feature enhancements as soon as they are implemented.


# Install npm version
$ npm install whs

For whs@2.2.x (Three.js r92) use @beta tag

# Install npm version
$ npm install whs@beta

NPM Version

Basic setup

Download the minified library or link the one from CDN

<script src="js/three.min.js"></script>
<script src="js/whs.min.js"></script>

The code below makes a WHS.App instance which handles all your modules and components for better work with WebGL. This one creates a scene, camera and renderer - we add the following modules to the App.

const app = new WHS.App([
  new WHS.ElementModule(), // Apply to DOM.
  new WHS.SceneModule(), // Create a new THREE.Scene and set it to app.

  new WHS.DefineModule('camera', new WHS.PerspectiveCamera({ // Apply a camera.
    position: new THREE.Vector3(0, 0, 50)

  new WHS.RenderingModule({bgColor: 0x162129}), // Apply THREE.WebGLRenderer
  new WHS.ResizeModule() // Make it resizable.

app.start(); // Run app.

Featured projects

https://rmallick6806.github.io/SolarSystemBuilder/ http://www.tpain.com/ http://artifacts.zone/lorenzav/ http://artifacts.zone/tree/ http://abdaily.surge.sh/4/ http://abdaily.surge.sh/2/ http://abdaily.surge.sh/1/ http://theroguepixel.com/ http://supertiny.agency/ https://alexbuzin.me/ https://spatial.100shapes.com/ http://plateaux.space/


  • ๐Ÿ’Ž Simple in usage
  • ๐Ÿš€ Speeds up 3D scene prototyping
  • ๐Ÿ”Œ Component based scene graph
  • ๐Ÿ’ฃ Simple integration of any high performance physics even with Worker (Multithreading)
  • ๐Ÿ’ซ Automatization of rendering
  • ๐Ÿ†• ES2015+ based
  • ๐Ÿ”ท Extension system (modules)
  • ๐Ÿ“ฆ Webpack friendly
  • โœ”๏ธ Integrated Three.js rendering engine
  • ๐Ÿ’ž Work with whs.js and Three.js at the same time

External Modules

Name Status Description
physics-module-ammonext NPM Version Physics module based on Ammo.js


OpenCollective Backers OpenCollective Sponsors


Support us with a monthly donation and help us continue framework development๐ŸŽ‰ and adding new features๐Ÿ’ก๐ŸŽ.