
Whitestorm.js – Framework for developing 3D web apps with physics - alex2401
https://github.com/WhitestormJS/whitestorm.js
======
andybak
This page: [https://whsjs.io/#/](https://whsjs.io/#/)

Looks like it should have examples or demos. However the 'try it out link'
leads to an empty playground (despite a peculiar hover effect showing exactly
what I thought I'd find there).

How did people find this link? [https://whs-
dev.surge.sh/examples](https://whs-dev.surge.sh/examples)

~~~
alex2401
Sure, I just forgot about it. I will add as soon as possible. Thanks for a
note!

------
iLoch
Interesting, once I get ThreeJS support working for HolographicJS
([https://news.ycombinator.com/item?id=12913052](https://news.ycombinator.com/item?id=12913052))
I'll be sure to get give this a shot with HoloLens!

~~~
alex2401
Cool, may i participate somehow?:P

~~~
iLoch
Sure, if you know C++! :) I should probably create an issue outlining the
things that still need to be done.

~~~
alex2401
Oh, I know only javascript(

Can you contact me in discord chat(see the link on github readme page)?

------
imaginenore
Still waiting for someone to develop a WebGl-based physics engine. Even the 2D
ones are slow - every single one I've tried so far struggles even with a
thousand simple boxes.

~~~
hinda
The right path seems to be a WebAssembly build of an actual C++ engine. That's
pretty close to this, which uses ammo.js, a workerized emscripten/ASM.js build
of Bullet.

I've been meaning to experiment with doing precisely this :/.

~~~
alex2401
Whitestorm.js uses AmmoNext (better Ammo.js) I mean that ammo.js runs bullet
physics, and AmmoNext runs Bullet Physics 3.

About WebAssembly - it is a future of Ammo.js/AmmoNext. We are planning also
to make AmmoNext modular with wasm modules.

~~~
tapirl
Where is the AmmoNext project hosted?

~~~
alex2401
[https://github.com/WhitestormJS/AmmoNext](https://github.com/WhitestormJS/AmmoNext)

------
hinda
Hey Alex, what does the roadmap look like? Is there a company around this
project or is it more of a hobby thing?

~~~
alex2401
It's more a hobby thing, non-commercial open source project:) We have a
discord chat, you may join us there:
[https://discordapp.com/invite/frNetGE](https://discordapp.com/invite/frNetGE)

We are just Three.js fans who want to make it better)

------
0xCMP
So WebGL is disabled in chrome and I used Safari but Safari doesn't support
arrow functions. _rage quit_

I really think this is cool. I wish I could see it. Do I need to enable WebGL
in Chrome manually?

~~~
alex2401
I found the solution of your problem. It is a problem of sidebar with links so
when you see that your url is "[https://whs-
dev.surge.sh/examples/#basic/helloworld"](https://whs-
dev.surge.sh/examples/#basic/helloworld") \- simply remove the "#" symbol and
go to "[https://whs-dev.surge.sh/examples/basic/helloworld"](https://whs-
dev.surge.sh/examples/basic/helloworld"). Same with all examples

------
runeblaze
Hi Alex, I think we met at ISEF 2016 (if not mistaken), and it is great to see
this project continuing to evolve and on display on the HN frontpage.
Congratulations!

~~~
alex2401
Ah, yep! That's true) Nice to meet you there:D Thanks!

------
Fifer82
This is really amazing work, it is silky smooth, never dipping below 60fps on
my system. Things like this are why I love computing. Keep up the great work.

~~~
alex2401
Thanks!

------
nhatbui
What application can I use to generate those JSONs for the models?

~~~
alex2401
For the models you may generate their file with blender or other 3d editing
tool.

But if you mean things like spheres, boxes, tetrahedrons and others - you may
write them manually, isn't it easy(?)

It's 50% chance that we will make an editor for it (cause it will be super
easy with such API)

------
peteforde
Hey Alex,

Thanks for leading this. I can't wait to play with and hopefully integrate
this into our project at [http://itsme3d.com](http://itsme3d.com) \- it seems
like Christmas has come early this year.

I do have some advice for you, though: you need to tell the story. In that
story, you need to start with why.

[https://youtu.be/IPYeCltXpxw?t=15s](https://youtu.be/IPYeCltXpxw?t=15s)

While your GitHub README.md is better than the project's homepage, both
currently fail to answer the most basic questions about Whitestorm.

\- is this for me? am I the target audience?

\- what is the reason this exists? what are some real use cases? is this an
experiment, a hobby or something I'd use in production?

\- how hard is this? what is the minimum viable amount of time/energy required
to get started?

\- one of my favorites... "what tool I use does this replace or improve?"

\- is it ready today or should I come back later?

\- what is the cost? (don't assume everyone "gets" open source)

More significantly, I believe that every project should start with the origin
story. Who are you, what problem did you have, how did that turn out, how did
things evolve to get to the iteration in front of me? Why was this problem so
important to you? Make it personal. Use "I" and "my". Talk about your goals
and ambitions. Don't use "we" or terminology that is designed to make you
sound more legit. Software is designed by people and people make decisions
based on shared values.

Make sure that your plugins are well documented. Make sure that your examples
are plentiful. If you have time to write an example then you have time to
write a few lines about what this particular example is showing me. Also,
something nobody does but I wish that they would is to use comments to tell a
story and mark off sections that differ from the boilerplate template and
explain what you did to make it work.

The hardest part of launching and promoting an open-ended platform is that
there's a tendency to tell people it can do "anything they can imagine". The
problem is that they have no constraints on what's possible and most people
are not intuitives so they only see things as they are instead of what they
could be. You need to give them just enough lightbulb moments that they start
to learn what's safe to imagine is possible with your software.

When you create a platform you have to give people a path to happiness and
success that calms their reptile brain and gets them excited to be a hero. The
burden of proof that they should trust your software for the long haul is on
you.

Keep up the great work.

~~~
alex2401
Thanks, added some changes to the readme:
[https://github.com/WhitestormJS/whitestorm.js](https://github.com/WhitestormJS/whitestorm.js)

