WhitestormJS/whs.js

๐Ÿš€ ๐ŸŒช Super-fast 3D framework for Web Applications ๐Ÿฅ‡ & Games ๐ŸŽฎ. Based on Three.js

JavaScript

6,357

2,232 commits

updated Jan 1, 2025

See the code

README

Three Build Status

Community chat. Join us!

Discord

Table of content

New releases

whs is currently at v2 major version. We had plans for v3 yet but development isn't active. So v2 will probably remain the main stable version until further notice.

We try to publish minor update releases for bug fixes, we will review PRs.

NPM

# 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.

https://moxy.studio/ 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/

Features

  • ๐Ÿ’Ž 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

NameStatusDescription
physics-module-ammonextNPM VersionPhysics module based on Ammo.js

OpenCollective Backers OpenCollective Sponsors

Backers

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

component-driven
framework
high-performance
modular
physics
react
scene-graph
web-development
webpack

WhitestormJS/whs.js

๐Ÿš€ ๐ŸŒช Super-fast 3D framework for Web Applications ๐Ÿฅ‡ & Games ๐ŸŽฎ. Based on Three.js

JavaScript

6,357

2,232 commits

updated Jan 1, 2025

See the code

README

Three Build Status

Community chat. Join us!

Discord

Table of content

New releases

whs is currently at v2 major version. We had plans for v3 yet but development isn't active. So v2 will probably remain the main stable version until further notice.

We try to publish minor update releases for bug fixes, we will review PRs.

NPM

# 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.

https://moxy.studio/ 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/

Features

  • ๐Ÿ’Ž 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

NameStatusDescription
physics-module-ammonextNPM VersionPhysics module based on Ammo.js

OpenCollective Backers OpenCollective Sponsors

Backers

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

component-driven
framework
high-performance
modular
physics
react
scene-graph
web-development
webpack

Project health

Overall

2.0/10

Maintained

0/10

Code review

0/10
OpenSSF Scorecard

Significant stargazers

Sylvain Filoni

247 followers ยท starred Nov 2017

Josh Perez

920 followers ยท starred Mar 2019

Prateek Bhatnagar

634 followers ยท starred Jul 2017

Matthias Kestenholz

362 followers ยท starred Nov 2016