vizicities/vizicities — pull request #97 by jonnenauha (2014-12-01 21:48:58+00:00)
Title: 0.2.0: Refactoring for more flexible configuration

* New `VIZI.Renderer`
* Separated rendering logic from `VIZI.Scene`
* Allow passing in a custom renderer to `VIZI.World` to gain control over the three.js rendering.
* Allow headless configuration (previously known as `suppressRenderer`). Making headless code parts cleaner. This is mainly useful for automated tests but can be useful to end users as well.
* `VIZI.Scene`
* Allow passing in a custom scene to `VIZI.World` to gain control over the three.js scene. This is useful in cases where user wants to override custom materials etc. to eg. building meshes added to the scene.
* General
* Options map now has "sub-objects" for scene, camera and renderer. Each of them can be a instance of and overriding implementation of `VIZI.Camera` etc. or options object for the default implementation.
* Updated all tests to the refactoring. Though im not 100% sure what happens with WebGL on travis, I guess we will find out and I'll fix after.
* `grunt dev` starts a local npm poweder http server for development.

**Backwards compatibility:** This can break code that uses 0.2.0 branch currently. For me this is a cleaner approach for customization and it will be hard to do without breaking some code out there. Mainly `suppressRenderer` is gone, but I suspect no "production" code is using it. All examples, build steps and tests should function as before.

I will work on the readme documentation and possibly provide and example of how to override the new parts with 3rd party implenetations of camera, renderer and scene.