Getting Started

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.

Simple is better

Each time you want to develop even a basic application - you need to describe every 3D part of it, such as renderer, frame updating, include external physics, write autoresize if needed. WhitestormJS makes it much easier, providing best performance and functionality. You can still manage all of them, but if you forgot to do so, or just don't need it - WhitestormJS will do all it for you.


Getting started

Install & usage


It's better to include whitestorm.js file before the end of body tag. It will force page to load content first. Your code should come after whitestorm.js included.

<!-- three.js library -->
<script src="three.js"></script>
<!-- WhitestormJS library -->
<script src="whitestorm.js"></script>
<!-- App written in WhitestormJS -->
<script src="app.js"></script>

If you use webpack or some module bundler do:

import * as WHS from 'whs'

WhitestormJS uses Three.js for rendering your scene and objects and Physi.js for simulating physics. Both those libraries are already included in the build and should work properly. You can also make your own build to satisfy your needs by tweaking the WhitestormJS config build configuration file and CLI commands


It is advised to download your own copies of the following libraries, as large changes can break backwards compatibility.


You may run latest versions of whitestorm.js and your browser or other environment where you are going to use your application to achieve best performance results.

We love to create awesome things and we noticed that we can reduce code for setting up basic things like world or box. That's why we developed an API that powers your development process by wrapping existing three.js API.