WhitestormJS is a framework for 3D web apps built with Three.js technology.

It implements a core with component system and plugin support for fast development of 3D scene with physics.

Automizing your web app with whitestorm is fast and comfortable. This engine has physics support implemented by custom Physi.js library, which is much faster than others. Framework provides extended component control and high frame rate, because it uses WebWorkers technology for multithreading.

Code Quality Rank: L5
Monthly Downloads: 0
Programming language: JavaScript
License: MIT License
Tags: Editors     API     ES6     HTML5     JavaScript     Web     Webgl     3D     Webpack     Wagner     Cannon.js     Three.js     Game Development     Whitestorm.js     Ammo.js     Gulpjs    
Latest version: v3.0.0-dev.6

whitestorm.js alternatives and similar libraries

Based on the "Game Development" category

Do you think we are missing an alternative of whitestorm.js or a related project?

Add another 'Game Development' Library


Three Build Status

Community chat. Join us!


Table of content

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 Vector3(0, 0, 50)

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

app.start(); // Run app.


# Install npm version
$ npm install whs

NPM Version


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

External Modules

Name Status Description
whs-module-statsjs statsjs-npm WhitestormJS module for JavaScript Performance Monitor โšกโŒ›
whs-module-dat.gui datgui-npm User Interface for runtime editing properties ๐Ÿ”‘๐Ÿ› ๐Ÿ”ฉ
physics-module-ammonext physics-ammonext-npm Physics module based on Ammo.js
whs-module-audio WIP Audio module for 3D positional sound ๐Ÿ”‰
whs-vrkit physics-ammonext-npm Module for Virtual Reality

OpenCollective Backers OpenCollective Sponsors


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