sinisterchipmunk / jax

Framework for creating rich WebGL-enabled applications using JavaScript and Ruby
http://jaxgl.com
MIT License
96 stars 16 forks source link

Little things #96

Closed Goutte closed 11 years ago

Goutte commented 11 years ago

There's not as much little things as I'd like, but I figure : commit early, commit often !

I'll keep updating this branch with miscellaneous things until the release.

Goutte commented 11 years ago

Also (unrelated) : https://www.google.com/search?hl=en&q=test-driven+javascript+library+for+webgl

sinisterchipmunk commented 11 years ago

Great stuff, thanks! The API change to mouse_scrolled makes sense to me too.

I just took out the "smart" error handling in Jax entirely. I've never been able to make it work quite right, and I've come to the conclusion that this is because it's not really Jax's job. Handling errors in JS is pretty straightforward, and Jax should not be injecting itself into this process. Thus, apps should hook their own window.onerror or try/catch blocks from now on, and recover from errors as befits their business rules. The only thing Jax will do is ensure that stopRendering() and stopUpdating() get fired when an error is encountered in order to keep the internals of Jax.Context in sync -- so apps will have to be responsible for restarting the rendering/updating processes when recovering from errors.

This change to error handling might have some unforeseen consequences elsewhere in jax-core -- I'm going to be keeping an eye open for such things.

As a side note, I added a nifty Leap demo controller to the jax-engine test app. It's a lot of fun to play with, IMO :)

Goutte commented 11 years ago

I agree about error handling ; I had solved the thing by swapping the boolean returns (it's a jQuery convention, false stops propagation) As for the consequences : tests, tests, tests ! :)

I had a lot of fun playing with trackball controls for the LEAP, see the latest version of my first leap-enabled webgl game, that I recklessly submitted to Airspace. Maybe we should link to it somewhere in the demos, besides being an SEO wormhole it could also show devs how awesome jax is !

I've got to squeeze more perfs out of it first, though.