Giter Club home page Giter Club logo

webgl-workshop's Introduction

webgl-workshop

NPM

Learn the basics of WebGL in small, manageable chunks. The sequel to shader-school, created for CampJS IV by Mikola Lysenko and Hugh Kennedy.

Running This Thing

First, you need to get a browser with WebGL, as well as a copy of node.js and git. Once you have all of that set up, you can install the workshop using npm, which is included with node:

sudo npm install -g webgl-workshop

After that completes, you should be able to run the workshopper with the command:

webgl-workshop

The script will ask you if you want to create an answer directory, press y to accept. This will populate your current directory with shader files for you to edit for each lesson.

Other Resources

There are also local copies of the following documentation available in the docs directory in this repository.

Stuck?

Feedback and criticism is welcome, please log your troubles in issues.

Full curriculum reviews like this one are very helpful. More feedback like this please!

Screenshots

screenshot

screenshot

screenshot

screenshot

License

MIT. See LICENSE.md for more details.

Many thanks to Raph Levien for designing Inconsolata which is used in this project, and licensed under the SIL Open Font License.

webgl-workshop's People

Contributors

1wheel avatar dhritzkiv avatar hughsk avatar martinheidegger avatar mattdesl avatar mikolalysenko avatar mreinstein avatar rgbboy avatar shama avatar shuhei avatar timoxley avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webgl-workshop's Issues

Fix node-webkit

Currently crashes on the first three texture lessons for reasons unknown to me. Unless we have a revelation, we'll leave this till after CampJS :)

Support for io.js

Please consider upgrading to latest watchify to benefit from chokidar update for io.js support.

Thanks

Analytics

Potentially hugely useful โ€“ I'm thinking opt-in, with a prompt on first load. Or perhaps a dialog to enable this alongside the menu.

throw err;

Hi

After running this command webgl-workshop I am getting the below error can you tell me how to fix it

= ~~~~~ webgl-workshop ~~~~~ =

?] We're about to populate this directory with some code for you to use for
your answers. If they've already been created then don't worry, they won't
be replaced. Continue? Yes

odule.js:340
throw err;
^
rror: Cannot find module '@workshop/server'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at boot (C:\Users\rt5082\AppData\Roaming\npm\node_modules\webgl-workshop\node.js:49:3)
at PromptUI.completed (C:\Users\rt5082\AppData\Roaming\npm\node_modules\webgl-workshop\node.js:44:5)
at PromptUI.onCompletion (C:\Users\rt5082\AppData\Roaming\npm\node_modules\webgl-workshop\node_modules\inquirer\lib\ui\prompt.js:51:10)
at C:\Users\rt5082\AppData\Roaming\npm\node_modules\webgl-workshop\node_modules\inquirer\node_modules\async\lib\async.js:254:17
at C:\Users\rt5082\AppData\Roaming\npm\node_modules\webgl-workshop\node_modules\inquirer\node_modules\async\lib\async.js:157:25
at C:\Users\rt5082\AppData\Roaming\npm\node_modules\webgl-workshop\node_modules\inquirer\node_modules\async\lib\async.js:251:21
:\Users\rt5082\Desktop\FrontEnd [develop +1 ~0 -0 !]> webgl-workshop

intro-viewport exercise

I believe the explanation for the intro-viewport has a typo, unless I am not seeing the latest version of this code.

It states that the function call has this "sort of" prototype:

gl.viewport(top, left, width, height)

But "left" and "top" are in the wrong position, and can be confusing.

cheers,

NPM installation failure

@rzcoder could you please update npm and reinstall the workshop, see if it works this time?

sudo npm install -g npm
sudo npm install -g webgl-workshop

From #47:

npm http GET https://registry.npmjs.org/webgl-workshop
npm http 200 https://registry.npmjs.org/webgl-workshop
npm http GET https://registry.npmjs.org/webgl-workshop/-/webgl-workshop-1.0.6.tgz
npm http 200 https://registry.npmjs.org/webgl-workshop/-/webgl-workshop-1.0.6.tgz
npm http GET https://registry.npmjs.org/brfs
npm http GET https://registry.npmjs.org/bl
npm http GET https://registry.npmjs.org/browser-menu
npm http GET https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/brstar
npm http GET https://registry.npmjs.org/bunny
npm http GET https://registry.npmjs.org/canvas-fit
npm http GET https://registry.npmjs.org/canvas-orbit-camera
npm http GET https://registry.npmjs.org/canvas-pixels/0.0.0
npm http GET https://registry.npmjs.org/chalk
npm http GET https://registry.npmjs.org/cheerio
npm http GET https://registry.npmjs.org/cpr
npm http GET https://registry.npmjs.org/defaultcss
npm http GET https://registry.npmjs.org/domify
npm http GET https://registry.npmjs.org/envify
npm http GET https://registry.npmjs.org/escape-html
npm http GET https://registry.npmjs.org/events
npm http GET https://registry.npmjs.org/face-normals/0.0.0
npm http GET https://registry.npmjs.org/findup
npm http GET https://registry.npmjs.org/findup-element/0.0.0
npm http GET https://registry.npmjs.org/fresh-require
npm http GET https://registry.npmjs.org/fs-readdir-recursive/0.0.2
npm http GET https://registry.npmjs.org/gl-api
npm http GET https://registry.npmjs.org/gl-clear/0.0.1
npm http GET https://registry.npmjs.org/gl-compare
npm http GET https://registry.npmjs.org/gl-compare-sidebar
npm http GET https://registry.npmjs.org/gl-context
npm http GET https://registry.npmjs.org/gl-geometry
npm http GET https://registry.npmjs.org/gl-matrix
npm http GET https://registry.npmjs.org/gl-reset
npm http GET https://registry.npmjs.org/gl-shader-core
npm http GET https://registry.npmjs.org/glsldoc/0.0.4
npm http GET https://registry.npmjs.org/glslify
npm http GET https://registry.npmjs.org/google-fonts/0.0.0
npm http GET https://registry.npmjs.org/highlight.js
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/inquirer
npm http GET https://registry.npmjs.org/linklocal
npm http GET https://registry.npmjs.org/marked
npm http GET https://registry.npmjs.org/minimist
npm http GET https://registry.npmjs.org/minstache
npm http GET https://registry.npmjs.org/mkdirp
npm http GET https://registry.npmjs.org/mousetrap/0.0.1
npm http GET https://registry.npmjs.org/myth
npm http GET https://registry.npmjs.org/normals
npm http GET https://registry.npmjs.org/opener
npm http GET https://registry.npmjs.org/parse-obj/0.0.0
npm http GET https://registry.npmjs.org/quotemeta/0.0.0
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/rework
npm http GET https://registry.npmjs.org/rework-plugin-inline
npm http GET https://registry.npmjs.org/sidenote
npm http GET https://registry.npmjs.org/simplicial-complex
npm http GET https://registry.npmjs.org/st
npm http GET https://registry.npmjs.org/teapot
npm http GET https://registry.npmjs.org/unindex-mesh
npm http GET https://registry.npmjs.org/watchify/2.1.0
npm http GET https://registry.npmjs.org/wordwrap/0.0.2
npm http GET https://registry.npmjs.org/xhr
npm http GET https://registry.npmjs.org/beefy
npm http 200 https://registry.npmjs.org/brfs
npm http GET https://registry.npmjs.org/brfs/-/brfs-1.2.0.tgz
npm http 200 https://registry.npmjs.org/brfs/-/brfs-1.2.0.tgz
npm http 200 https://registry.npmjs.org/bunny
npm http GET https://registry.npmjs.org/bunny/-/bunny-1.0.1.tgz
npm http 200 https://registry.npmjs.org/brstar
npm http GET https://registry.npmjs.org/brstar/-/brstar-0.1.0.tgz
npm http 200 https://registry.npmjs.org/browser-menu
npm http GET https://registry.npmjs.org/browser-menu/-/browser-menu-1.0.1.tgz
npm http 200 https://registry.npmjs.org/bl
npm http GET https://registry.npmjs.org/bl/-/bl-0.9.3.tgz
npm http 200 https://registry.npmjs.org/chalk
npm http GET https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz
npm http 200 https://registry.npmjs.org/canvas-pixels/0.0.0
npm http GET https://registry.npmjs.org/canvas-pixels/-/canvas-pixels-0.0.0.tgz
npm http 200 https://registry.npmjs.org/bunny/-/bunny-1.0.1.tgz
npm http 200 https://registry.npmjs.org/brstar/-/brstar-0.1.0.tgz
npm http 200 https://registry.npmjs.org/canvas-pixels/-/canvas-pixels-0.0.0.tgz
npm http 200 https://registry.npmjs.org/browser-menu/-/browser-menu-1.0.1.tgz
npm http 200 https://registry.npmjs.org/bl/-/bl-0.9.3.tgz
npm http 200 https://registry.npmjs.org/cheerio
npm http GET https://registry.npmjs.org/cheerio/-/cheerio-0.17.0.tgz
npm http 200 https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz
npm http 200 https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/browserify/-/browserify-6.2.0.tgz
npm http 200 https://registry.npmjs.org/canvas-fit
npm http GET https://registry.npmjs.org/canvas-fit/-/canvas-fit-1.2.0.tgz
npm http 200 https://registry.npmjs.org/defaultcss
npm http GET https://registry.npmjs.org/defaultcss/-/defaultcss-1.1.1.tgz
npm http 200 https://registry.npmjs.org/canvas-orbit-camera
npm http GET https://registry.npmjs.org/canvas-orbit-camera/-/canvas-orbit-camera-1.0.0.tgz
npm http 200 https://registry.npmjs.org/escape-html
npm http GET https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz
npm http 200 https://registry.npmjs.org/domify
npm http GET https://registry.npmjs.org/domify/-/domify-1.3.1.tgz
npm http 200 https://registry.npmjs.org/events
npm http GET https://registry.npmjs.org/events/-/events-1.0.2.tgz
npm http 200 https://registry.npmjs.org/cheerio/-/cheerio-0.17.0.tgz
npm http 200 https://registry.npmjs.org/envify
npm http GET https://registry.npmjs.org/envify/-/envify-3.0.0.tgz
npm http 200 https://registry.npmjs.org/canvas-fit/-/canvas-fit-1.2.0.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-6.2.0.tgz
npm http 200 https://registry.npmjs.org/defaultcss/-/defaultcss-1.1.1.tgz
npm http 200 https://registry.npmjs.org/findup-element/0.0.0
npm http GET https://registry.npmjs.org/findup-element/-/findup-element-0.0.0.tgz
npm http 200 https://registry.npmjs.org/cpr
npm http 200 https://registry.npmjs.org/fresh-require
npm http 200 https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz
npm http 200 https://registry.npmjs.org/canvas-orbit-camera/-/canvas-orbit-camera-1.0.0.tgz
npm http GET https://registry.npmjs.org/cpr/-/cpr-0.3.2.tgz
npm http GET https://registry.npmjs.org/fresh-require/-/fresh-require-1.0.3.tgz
npm http 200 https://registry.npmjs.org/domify/-/domify-1.3.1.tgz
npm http 200 https://registry.npmjs.org/events/-/events-1.0.2.tgz
npm http 200 https://registry.npmjs.org/envify/-/envify-3.0.0.tgz
npm http 200 https://registry.npmjs.org/findup-element/-/findup-element-0.0.0.tgz
npm http 200 https://registry.npmjs.org/cpr/-/cpr-0.3.2.tgz
npm http 200 https://registry.npmjs.org/fresh-require/-/fresh-require-1.0.3.tgz
npm http 200 https://registry.npmjs.org/gl-api
npm http 200 https://registry.npmjs.org/gl-clear/0.0.1
npm http GET https://registry.npmjs.org/gl-api/-/gl-api-1.0.2.tgz
npm http GET https://registry.npmjs.org/gl-clear/-/gl-clear-0.0.1.tgz
npm http 200 https://registry.npmjs.org/face-normals/0.0.0
npm http GET https://registry.npmjs.org/face-normals/-/face-normals-0.0.0.tgz
npm http 200 https://registry.npmjs.org/findup
npm http GET https://registry.npmjs.org/findup/-/findup-0.1.5.tgz
npm http 200 https://registry.npmjs.org/fs-readdir-recursive/0.0.2
npm http GET https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.0.2.tgz
npm http 200 https://registry.npmjs.org/gl-clear/-/gl-clear-0.0.1.tgz
npm http 200 https://registry.npmjs.org/gl-api/-/gl-api-1.0.2.tgz
npm http 200 https://registry.npmjs.org/gl-matrix
npm http GET https://registry.npmjs.org/gl-matrix/-/gl-matrix-2.1.0.tgz
npm http 200 https://registry.npmjs.org/gl-context
npm http 200 https://registry.npmjs.org/gl-compare
npm http 200 https://registry.npmjs.org/gl-compare-sidebar
npm http GET https://registry.npmjs.org/gl-context/-/gl-context-0.1.1.tgz
npm http GET https://registry.npmjs.org/gl-compare/-/gl-compare-2.0.1.tgz
npm http GET https://registry.npmjs.org/gl-compare-sidebar/-/gl-compare-sidebar-1.1.4.tgz
npm http 200 https://registry.npmjs.org/gl-reset
npm http GET https://registry.npmjs.org/gl-reset/-/gl-reset-1.0.0.tgz
npm http 200 https://registry.npmjs.org/gl-geometry
npm http GET https://registry.npmjs.org/gl-geometry/-/gl-geometry-1.0.0.tgz
npm http 200 https://registry.npmjs.org/glslify
npm http GET https://registry.npmjs.org/glslify/-/glslify-1.6.0.tgz
npm http 200 https://registry.npmjs.org/google-fonts/0.0.0
npm http GET https://registry.npmjs.org/google-fonts/-/google-fonts-0.0.0.tgz
npm http 200 https://registry.npmjs.org/gl-shader-core
npm http GET https://registry.npmjs.org/gl-shader-core/-/gl-shader-core-2.2.0.tgz
npm http 200 https://registry.npmjs.org/glsldoc/0.0.4
npm http 200 https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/glsldoc/-/glsldoc-0.0.4.tgz
npm http GET https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz
npm http 200 https://registry.npmjs.org/minimist
npm http GET https://registry.npmjs.org/minimist/-/minimist-1.1.0.tgz
npm http 200 https://registry.npmjs.org/marked
npm http GET https://registry.npmjs.org/marked/-/marked-0.3.2.tgz
npm http 200 https://registry.npmjs.org/inquirer
npm http GET https://registry.npmjs.org/inquirer/-/inquirer-0.5.1.tgz
npm http 200 https://registry.npmjs.org/mkdirp
npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz
npm http 200 https://registry.npmjs.org/linklocal
npm http GET https://registry.npmjs.org/linklocal/-/linklocal-2.0.1.tgz
npm http 200 https://registry.npmjs.org/minstache
npm http GET https://registry.npmjs.org/minstache/-/minstache-1.2.0.tgz
npm http 200 https://registry.npmjs.org/mousetrap/0.0.1
npm http GET https://registry.npmjs.org/mousetrap/-/mousetrap-0.0.1.tgz
npm http 200 https://registry.npmjs.org/highlight.js
npm http GET https://registry.npmjs.org/highlight.js/-/highlight.js-8.3.0.tgz
npm http 200 https://registry.npmjs.org/normals
npm http GET https://registry.npmjs.org/normals/-/normals-0.1.0.tgz
npm http 200 https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.0.2.tgz
npm http 200 https://registry.npmjs.org/gl-context/-/gl-context-0.1.1.tgz
npm http 200 https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/resolve/-/resolve-1.0.0.tgz
npm http 200 https://registry.npmjs.org/findup/-/findup-0.1.5.tgz
npm http 200 https://registry.npmjs.org/myth
npm http GET https://registry.npmjs.org/myth/-/myth-1.2.1.tgz
npm http 200 https://registry.npmjs.org/gl-compare/-/gl-compare-2.0.1.tgz
npm http 200 https://registry.npmjs.org/face-normals/-/face-normals-0.0.0.tgz
npm http 200 https://registry.npmjs.org/gl-compare-sidebar/-/gl-compare-sidebar-1.1.4.tgz
npm http 200 https://registry.npmjs.org/quotemeta/0.0.0
npm http GET https://registry.npmjs.org/quotemeta/-/quotemeta-0.0.0.tgz
npm http 200 https://registry.npmjs.org/gl-reset/-/gl-reset-1.0.0.tgz
npm http 200 https://registry.npmjs.org/gl-geometry/-/gl-geometry-1.0.0.tgz
npm http 200 https://registry.npmjs.org/opener
npm http 200 https://registry.npmjs.org/gl-matrix/-/gl-matrix-2.1.0.tgz
npm http GET https://registry.npmjs.org/opener/-/opener-1.4.0.tgz
npm http 200 https://registry.npmjs.org/parse-obj/0.0.0
npm http GET https://registry.npmjs.org/parse-obj/-/parse-obj-0.0.0.tgz
npm http 200 https://registry.npmjs.org/glslify/-/glslify-1.6.0.tgz
npm http 200 https://registry.npmjs.org/rework-plugin-inline
npm http GET https://registry.npmjs.org/rework-plugin-inline/-/rework-plugin-inline-1.0.1.tgz
npm http 200 https://registry.npmjs.org/gl-shader-core/-/gl-shader-core-2.2.0.tgz
npm http 200 https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz
npm http 200 https://registry.npmjs.org/minimist/-/minimist-1.1.0.tgz
npm http 200 https://registry.npmjs.org/teapot
npm http GET https://registry.npmjs.org/teapot/-/teapot-1.0.0.tgz
npm http 200 https://registry.npmjs.org/glsldoc/-/glsldoc-0.0.4.tgz
npm http 200 https://registry.npmjs.org/simplicial-complex
npm http GET https://registry.npmjs.org/simplicial-complex/-/simplicial-complex-1.0.0.tgz
npm http 200 https://registry.npmjs.org/rework
npm http GET https://registry.npmjs.org/rework/-/rework-1.0.1.tgz
npm http 200 https://registry.npmjs.org/marked/-/marked-0.3.2.tgz
npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz
npm http 200 https://registry.npmjs.org/sidenote
npm http GET https://registry.npmjs.org/sidenote/-/sidenote-1.0.0.tgz
npm http 200 https://registry.npmjs.org/google-fonts/-/google-fonts-0.0.0.tgz
npm http 200 https://registry.npmjs.org/inquirer/-/inquirer-0.5.1.tgz
npm http 200 https://registry.npmjs.org/xhr
npm http GET https://registry.npmjs.org/xhr/-/xhr-1.17.0.tgz
npm http 200 https://registry.npmjs.org/highlight.js/-/highlight.js-8.3.0.tgz
npm http 200 https://registry.npmjs.org/mousetrap/-/mousetrap-0.0.1.tgz
npm http 200 https://registry.npmjs.org/wordwrap/0.0.2
npm http GET https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/st
npm http GET https://registry.npmjs.org/st/-/st-0.5.2.tgz
npm http 200 https://registry.npmjs.org/beefy
npm http GET https://registry.npmjs.org/beefy/-/beefy-2.1.1.tgz
npm http 200 https://registry.npmjs.org/unindex-mesh
npm http GET https://registry.npmjs.org/unindex-mesh/-/unindex-mesh-1.0.1.tgz
npm http 200 https://registry.npmjs.org/normals/-/normals-0.1.0.tgz
npm http 200 https://registry.npmjs.org/watchify/2.1.0
npm http GET https://registry.npmjs.org/watchify/-/watchify-2.1.0.tgz
npm http 200 https://registry.npmjs.org/resolve/-/resolve-1.0.0.tgz
npm http 200 https://registry.npmjs.org/myth/-/myth-1.2.1.tgz
npm http 200 https://registry.npmjs.org/linklocal/-/linklocal-2.0.1.tgz
npm http 200 https://registry.npmjs.org/minstache/-/minstache-1.2.0.tgz
npm http 200 https://registry.npmjs.org/quotemeta/-/quotemeta-0.0.0.tgz
npm http 200 https://registry.npmjs.org/opener/-/opener-1.4.0.tgz
npm http 200 https://registry.npmjs.org/parse-obj/-/parse-obj-0.0.0.tgz
npm http 200 https://registry.npmjs.org/rework/-/rework-1.0.1.tgz
npm http 200 https://registry.npmjs.org/teapot/-/teapot-1.0.0.tgz
npm http 200 https://registry.npmjs.org/simplicial-complex/-/simplicial-complex-1.0.0.tgz
npm http 200 https://registry.npmjs.org/rework-plugin-inline/-/rework-plugin-inline-1.0.1.tgz
npm http 200 https://registry.npmjs.org/sidenote/-/sidenote-1.0.0.tgz
npm http 200 https://registry.npmjs.org/xhr/-/xhr-1.17.0.tgz
npm http 200 https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/beefy/-/beefy-2.1.1.tgz
npm http 200 https://registry.npmjs.org/unindex-mesh/-/unindex-mesh-1.0.1.tgz
npm http 200 https://registry.npmjs.org/watchify/-/watchify-2.1.0.tgz
npm http 200 https://registry.npmjs.org/st/-/st-0.5.2.tgz
npm WARN engine [email protected]: wanted: {"npm":">=2.0.0"} (current: {"node":"v0.10.25","npm":"1.3.10"})
npm http GET https://registry.npmjs.org/css
npm http GET https://registry.npmjs.org/convert-source-map
npm http GET https://registry.npmjs.org/strip-ansi
npm http GET https://registry.npmjs.org/supports-color
npm http GET https://registry.npmjs.org/ansi-styles
npm http GET https://registry.npmjs.org/escape-string-regexp
npm http GET https://registry.npmjs.org/has-ansi
npm http GET https://registry.npmjs.org/key-pressed/0.0.1
npm http GET https://registry.npmjs.org/mouse-position/0.0.1
npm http GET https://registry.npmjs.org/mouse-pressed/0.0.1
npm http GET https://registry.npmjs.org/orbit-camera/0.0.3
npm http GET https://registry.npmjs.org/scroll-speed/0.0.0
npm http GET https://registry.npmjs.org/element-size
npm http GET https://registry.npmjs.org/raf-component
npm http GET https://registry.npmjs.org/split
npm http GET https://registry.npmjs.org/mime/1.2.11
npm http GET https://registry.npmjs.org/rework-plugin-function
npm http GET https://registry.npmjs.org/shallow-copy/0.0.1
npm http GET https://registry.npmjs.org/sleuth
npm http GET https://registry.npmjs.org/through2
npm http GET https://registry.npmjs.org/acorn
npm http GET https://registry.npmjs.org/astw
npm http GET https://registry.npmjs.org/escodegen
npm http GET https://registry.npmjs.org/is-require/0.0.1
npm http GET https://registry.npmjs.org/commander/1.0.4
npm http GET https://registry.npmjs.org/array-pack-2d
npm http GET https://registry.npmjs.org/dtype
npm http GET https://registry.npmjs.org/is-typedarray/0.0.0
npm http GET https://registry.npmjs.org/gl-buffer
npm http GET https://registry.npmjs.org/gl-vao
npm http GET https://registry.npmjs.org/isndarray
npm http GET https://registry.npmjs.org/xtend
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/esprima-fb
npm http GET https://registry.npmjs.org/jstransform
npm http GET https://registry.npmjs.org/remove-element/0.0.0
npm http GET https://registry.npmjs.org/vkey/0.0.3
npm http GET https://registry.npmjs.org/insert-css
npm http GET https://registry.npmjs.org/xtend
npm http GET https://registry.npmjs.org/terminal-menu
npm http GET https://registry.npmjs.org/gl-context/-/gl-context-0.0.0.tgz
npm http GET https://registry.npmjs.org/static-eval
npm http GET https://registry.npmjs.org/replace-method/0.0.0
npm http GET https://registry.npmjs.org/ast-parents/0.0.1
npm http GET https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/escodegen
npm http GET https://registry.npmjs.org/global
npm http GET https://registry.npmjs.org/once
npm http GET https://registry.npmjs.org/parse-headers
npm http GET https://registry.npmjs.org/sleuth
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/astw
npm http GET https://registry.npmjs.org/bit-twiddle
npm http GET https://registry.npmjs.org/union-find
npm http GET https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz
npm http GET https://registry.npmjs.org/dup
npm http GET https://registry.npmjs.org/range-slider
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/cssauron-glsl/0.0.0
npm http GET https://registry.npmjs.org/emit-function/0.0.2
npm http GET https://registry.npmjs.org/glsl-deparser/0.0.2
npm http GET https://registry.npmjs.org/glsl-extract/0.0.2
npm http GET https://registry.npmjs.org/glsl-min-stream/0.0.2
npm http GET https://registry.npmjs.org/glslify-stream
npm http GET https://registry.npmjs.org/new-from
npm http GET https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/shortest/0.0.0
npm http GET https://registry.npmjs.org/sleuth/0.0.0
npm http GET https://registry.npmjs.org/static-eval
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/cssauron/0.0.2
npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/a-big-triangle/0.0.0
npm http 200 https://registry.npmjs.org/supports-color
npm http GET https://registry.npmjs.org/gl-fbo
npm http GET https://registry.npmjs.org/readable-stream
npm http 200 https://registry.npmjs.org/strip-ansi
npm http GET https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz
npm http 200 https://registry.npmjs.org/ansi-styles
npm http GET https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz
npm http GET https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/once
npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz
npm http 200 https://registry.npmjs.org/escape-string-regexp
npm http 200 https://registry.npmjs.org/css
npm http 200 https://registry.npmjs.org/has-ansi
npm http GET https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz
npm http GET https://registry.npmjs.org/chokidar
npm http GET https://registry.npmjs.org/through2
npm http GET https://registry.npmjs.org/css/-/css-2.1.0.tgz
npm http GET https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz
npm http GET https://registry.npmjs.org/minimist/0.0.8
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/cli-color
npm http GET https://registry.npmjs.org/mute-stream/0.0.4
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/readline2
npm http GET https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz
npm http GET https://registry.npmjs.org/async-cache
npm http GET https://registry.npmjs.org/fd
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/negotiator
npm http GET https://registry.npmjs.org/graceful-fs
npm http 200 https://registry.npmjs.org/gl-context/-/gl-context-0.0.0.tgz
npm http GET https://registry.npmjs.org/bl/-/bl-0.8.2.tgz
npm http 200 https://registry.npmjs.org/convert-source-map
npm http GET https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz
npm http 200 https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz
npm http 200 https://registry.npmjs.org/orbit-camera/0.0.3
npm http GET https://registry.npmjs.org/orbit-camera/-/orbit-camera-0.0.3.tgz
npm http 200 https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz
npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
npm http 200 https://registry.npmjs.org/mouse-pressed/0.0.1
npm http 200 https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz
npm http GET https://registry.npmjs.org/quote-stream
npm http GET https://registry.npmjs.org/static-module
npm http GET https://registry.npmjs.org/through2
npm http GET https://registry.npmjs.org/mouse-pressed/-/mouse-pressed-0.0.1.tgz
npm http 200 https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz
npm http 200 https://registry.npmjs.org/css/-/css-2.1.0.tgz
npm http 200 https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz
npm http 200 https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz
npm http 200 https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz
npm http 200 https://registry.npmjs.org/element-size
npm http 200 https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz
npm http 200 https://registry.npmjs.org/bl/-/bl-0.8.2.tgz
npm http 200 https://registry.npmjs.org/orbit-camera/-/orbit-camera-0.0.3.tgz
npm http 200 https://registry.npmjs.org/scroll-speed/0.0.0
npm http GET https://registry.npmjs.org/element-size/-/element-size-1.1.1.tgz
npm http 200 https://registry.npmjs.org/key-pressed/0.0.1
npm http 200 https://registry.npmjs.org/mouse-pressed/-/mouse-pressed-0.0.1.tgz
npm http 200 https://registry.npmjs.org/mouse-position/0.0.1
npm http GET https://registry.npmjs.org/scroll-speed/-/scroll-speed-0.0.0.tgz
npm http GET https://registry.npmjs.org/key-pressed/-/key-pressed-0.0.1.tgz
npm http GET https://registry.npmjs.org/mouse-position/-/mouse-position-0.0.1.tgz
npm http 200 https://registry.npmjs.org/raf-component
npm http GET https://registry.npmjs.org/raf-component/-/raf-component-1.1.2.tgz
npm http 200 https://registry.npmjs.org/split
npm http GET https://registry.npmjs.org/split/-/split-0.2.10.tgz
npm http GET https://registry.npmjs.org/CSSselect
npm http GET https://registry.npmjs.org/entities
npm http GET https://registry.npmjs.org/htmlparser2
npm http GET https://registry.npmjs.org/dom-serializer
npm http 200 https://registry.npmjs.org/mime/1.2.11
npm http 200 https://registry.npmjs.org/shallow-copy/0.0.1
npm http GET https://registry.npmjs.org/mime/-/mime-1.2.11.tgz
npm http GET https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz
npm http 200 https://registry.npmjs.org/through2
npm http GET https://registry.npmjs.org/through2/-/through2-0.6.3.tgz
npm http 200 https://registry.npmjs.org/element-size/-/element-size-1.1.1.tgz
npm http 200 https://registry.npmjs.org/astw
npm http GET https://registry.npmjs.org/astw/-/astw-1.2.0.tgz
npm http GET https://registry.npmjs.org/ansi-regex
npm http GET https://registry.npmjs.org/ansi-regex
npm http 200 https://registry.npmjs.org/split/-/split-0.2.10.tgz
npm http 200 https://registry.npmjs.org/mouse-position/-/mouse-position-0.0.1.tgz
npm http 200 https://registry.npmjs.org/key-pressed/-/key-pressed-0.0.1.tgz
npm http 200 https://registry.npmjs.org/scroll-speed/-/scroll-speed-0.0.0.tgz
npm http 200 https://registry.npmjs.org/raf-component/-/raf-component-1.1.2.tgz
npm http 200 https://registry.npmjs.org/mime/-/mime-1.2.11.tgz
npm http 200 https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz
npm http 200 https://registry.npmjs.org/through2/-/through2-0.6.3.tgz
npm http 200 https://registry.npmjs.org/astw/-/astw-1.2.0.tgz
npm http 200 https://registry.npmjs.org/sleuth
npm http 200 https://registry.npmjs.org/escodegen
npm http 200 https://registry.npmjs.org/is-require/0.0.1
npm http GET https://registry.npmjs.org/sleuth/-/sleuth-0.1.1.tgz
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-1.4.1.tgz
npm http GET https://registry.npmjs.org/is-require/-/is-require-0.0.1.tgz
npm http 200 https://registry.npmjs.org/rework-plugin-function
npm http 200 https://registry.npmjs.org/commander/1.0.4
npm http GET https://registry.npmjs.org/rework-plugin-function/-/rework-plugin-function-1.0.1.tgz
npm http 200 https://registry.npmjs.org/array-pack-2d
npm http GET https://registry.npmjs.org/commander/-/commander-1.0.4.tgz
npm http GET https://registry.npmjs.org/array-pack-2d/-/array-pack-2d-0.1.0.tgz
npm http 200 https://registry.npmjs.org/is-typedarray/0.0.0
npm http GET https://registry.npmjs.org/is-typedarray/-/is-typedarray-0.0.0.tgz
npm http 200 https://registry.npmjs.org/sleuth/-/sleuth-0.1.1.tgz
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-1.4.1.tgz
npm http GET https://registry.npmjs.org/wheel/0.0.0
npm http 200 https://registry.npmjs.org/is-require/-/is-require-0.0.1.tgz
npm http GET https://registry.npmjs.org/gl-matrix/-/gl-matrix-2.2.1.tgz
npm http 200 https://registry.npmjs.org/gl-vao
npm http 200 https://registry.npmjs.org/array-pack-2d/-/array-pack-2d-0.1.0.tgz
npm http 200 https://registry.npmjs.org/dtype
npm http 200 https://registry.npmjs.org/acorn
npm http GET https://registry.npmjs.org/gl-vao/-/gl-vao-1.2.0.tgz
npm http 200 https://registry.npmjs.org/gl-buffer
npm http GET https://registry.npmjs.org/dtype/-/dtype-0.1.0.tgz
npm http GET https://registry.npmjs.org/acorn/-/acorn-0.9.0.tgz
npm http GET https://registry.npmjs.org/gl-buffer/-/gl-buffer-2.1.1.tgz
npm http 200 https://registry.npmjs.org/is-typedarray/-/is-typedarray-0.0.0.tgz
npm http 200 https://registry.npmjs.org/gl-matrix/-/gl-matrix-2.2.1.tgz
npm http 200 https://registry.npmjs.org/xtend
npm http 200 https://registry.npmjs.org/rework-plugin-function/-/rework-plugin-function-1.0.1.tgz
npm http GET https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz
npm http 200 https://registry.npmjs.org/commander/-/commander-1.0.4.tgz
npm http 200 https://registry.npmjs.org/gl-vao/-/gl-vao-1.2.0.tgz
npm http 200 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/urix
npm http GET https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/esprima-fb
npm http GET https://registry.npmjs.org/source-map-resolve
npm http 200 https://registry.npmjs.org/dtype/-/dtype-0.1.0.tgz
npm http GET https://registry.npmjs.org/through/-/through-2.3.6.tgz
npm http GET https://registry.npmjs.org/esprima-fb/-/esprima-fb-4001.3001.0-dev-harmony-fb.tgz
npm http 200 https://registry.npmjs.org/acorn/-/acorn-0.9.0.tgz
npm http 200 https://registry.npmjs.org/gl-buffer/-/gl-buffer-2.1.1.tgz
npm http 200 https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.3.6.tgz
npm http 200 https://registry.npmjs.org/isndarray
npm http GET https://registry.npmjs.org/isndarray/-/isndarray-0.1.0.tgz
npm http 200 https://registry.npmjs.org/esprima-fb/-/esprima-fb-4001.3001.0-dev-harmony-fb.tgz
npm http 200 https://registry.npmjs.org/vkey/0.0.3
npm http GET https://registry.npmjs.org/vkey/-/vkey-0.0.3.tgz
npm http 200 https://registry.npmjs.org/xtend
npm http GET https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz
npm http 200 https://registry.npmjs.org/remove-element/0.0.0
npm http GET https://registry.npmjs.org/remove-element/-/remove-element-0.0.0.tgz
npm http 200 https://registry.npmjs.org/jstransform
npm http 200 https://registry.npmjs.org/terminal-menu
npm http GET https://registry.npmjs.org/jstransform/-/jstransform-6.3.2.tgz
npm http GET https://registry.npmjs.org/terminal-menu/-/terminal-menu-0.2.0.tgz
npm http 200 https://registry.npmjs.org/isndarray/-/isndarray-0.1.0.tgz
npm http GET https://registry.npmjs.org/rework-visit
npm http 200 https://registry.npmjs.org/debug
npm http 200 https://registry.npmjs.org/ast-parents/0.0.1
npm http 200 https://registry.npmjs.org/replace-method/0.0.0
npm http GET https://registry.npmjs.org/debug/-/debug-0.7.4.tgz
npm http GET https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz
npm http GET https://registry.npmjs.org/replace-method/-/replace-method-0.0.0.tgz
npm http 200 https://registry.npmjs.org/remove-element/-/remove-element-0.0.0.tgz
npm http 200 https://registry.npmjs.org/jstransform/-/jstransform-6.3.2.tgz
npm http 200 https://registry.npmjs.org/vkey/-/vkey-0.0.3.tgz
npm http 200 https://registry.npmjs.org/once
npm http GET https://registry.npmjs.org/once/-/once-1.1.1.tgz
npm http 200 https://registry.npmjs.org/terminal-menu/-/terminal-menu-0.2.0.tgz
npm http 200 https://registry.npmjs.org/insert-css
npm http GET https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/insert-css/-/insert-css-0.1.1.tgz
npm http 200 https://registry.npmjs.org/debug/-/debug-0.7.4.tgz
npm http 200 https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz
npm http 200 https://registry.npmjs.org/sleuth
npm http 200 https://registry.npmjs.org/replace-method/-/replace-method-0.0.0.tgz
npm http 200 https://registry.npmjs.org/escodegen
npm http 200 https://registry.npmjs.org/once/-/once-1.1.1.tgz
npm http 200 https://registry.npmjs.org/global
npm http 200 https://registry.npmjs.org/insert-css/-/insert-css-0.1.1.tgz
npm http GET https://registry.npmjs.org/global/-/global-4.3.0.tgz
npm http 200 https://registry.npmjs.org/astw
npm http 200 https://registry.npmjs.org/through
npm http 200 https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz
npm http 200 https://registry.npmjs.org/static-eval
npm http GET https://registry.npmjs.org/static-eval/-/static-eval-0.1.1.tgz
npm http 200 https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz
npm http 200 https://registry.npmjs.org/parse-headers
npm http 200 https://registry.npmjs.org/union-find
npm http GET https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.0.tgz
npm http GET https://registry.npmjs.org/union-find/-/union-find-1.0.1.tgz
npm http 200 https://registry.npmjs.org/graceful-fs
npm http 200 https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/autoprefixer-core
npm http GET https://registry.npmjs.org/clone-component
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/is-browser
npm http GET https://registry.npmjs.org/node-watch
npm http GET https://registry.npmjs.org/pad-component
npm http GET https://registry.npmjs.org/read-file-stdin
npm http GET https://registry.npmjs.org/rework-calc
npm http GET https://registry.npmjs.org/rework-color-function
npm http GET https://registry.npmjs.org/rework-custom-media
npm http GET https://registry.npmjs.org/rework-font-variant/1.0.1
npm http GET https://registry.npmjs.org/rework-hex-alpha
npm http GET https://registry.npmjs.org/rework-import
npm http GET https://registry.npmjs.org/rework-rebeccapurple
npm http GET https://registry.npmjs.org/rework-vars
npm http GET https://registry.npmjs.org/to-slug-case
npm http GET https://registry.npmjs.org/to-space-case
npm http GET https://registry.npmjs.org/write-file-stdout
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz
npm http 200 https://registry.npmjs.org/dup
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz
npm http GET https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http GET https://registry.npmjs.org/dup/-/dup-1.0.0.tgz
npm http 200 https://registry.npmjs.org/static-eval/-/static-eval-0.1.1.tgz
npm http 200 https://registry.npmjs.org/range-slider
npm http GET https://registry.npmjs.org/range-slider/-/range-slider-1.0.2.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz
npm http 200 https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.0.tgz
npm http 200 https://registry.npmjs.org/cssauron-glsl/0.0.0
npm http 200 https://registry.npmjs.org/emit-function/0.0.2
npm http GET https://registry.npmjs.org/cssauron-glsl/-/cssauron-glsl-0.0.0.tgz
npm http GET https://registry.npmjs.org/emit-function/-/emit-function-0.0.2.tgz
npm http GET https://registry.npmjs.org/resumer
npm http GET https://registry.npmjs.org/charm
npm http 200 https://registry.npmjs.org/dup/-/dup-1.0.0.tgz
npm http 200 https://registry.npmjs.org/glsl-deparser/0.0.2
npm http 200 https://registry.npmjs.org/bit-twiddle
npm http GET https://registry.npmjs.org/glsl-deparser/-/glsl-deparser-0.0.2.tgz
npm http GET https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz
npm http 200 https://registry.npmjs.org/range-slider/-/range-slider-1.0.2.tgz
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/ignorepatterns
npm http GET https://registry.npmjs.org/leftpad/0.0.0
npm http GET https://registry.npmjs.org/open/0.0.3
npm http GET https://registry.npmjs.org/portfinder
npm http GET https://registry.npmjs.org/pretty-bytes
npm http GET https://registry.npmjs.org/readable-stream
npm http GET https://registry.npmjs.org/response-stream/0.0.0
npm http GET https://registry.npmjs.org/script-injector
npm http GET https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/ansicolors
npm http GET https://registry.npmjs.org/chokidar
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/find-global-packages/0.0.1
npm http 200 https://registry.npmjs.org/union-find/-/union-find-1.0.1.tgz
npm http 200 https://registry.npmjs.org/cssauron-glsl/-/cssauron-glsl-0.0.0.tgz
npm http 200 https://registry.npmjs.org/glsl-min-stream/0.0.2
npm http 200 https://registry.npmjs.org/glslify-stream
npm http GET https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http 200 https://registry.npmjs.org/emit-function/-/emit-function-0.0.2.tgz
npm http GET https://registry.npmjs.org/ndarray
npm http GET https://registry.npmjs.org/typedarray-pool
npm http 200 https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/ndarray-ops
npm http GET https://registry.npmjs.org/webglew
npm http GET https://registry.npmjs.org/glslify-stream/-/glslify-stream-0.4.1.tgz
npm http GET https://registry.npmjs.org/glsl-min-stream/-/glsl-min-stream-0.0.2.tgz
npm http GET https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz
npm http 200 https://registry.npmjs.org/new-from
npm http GET https://registry.npmjs.org/new-from/-/new-from-0.0.3.tgz
npm http 200 https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http 200 https://registry.npmjs.org/static-eval
npm http GET https://registry.npmjs.org/static-eval/-/static-eval-0.2.3.tgz
npm http 200 https://registry.npmjs.org/global/-/global-4.3.0.tgz
npm http 200 https://registry.npmjs.org/glsl-deparser/-/glsl-deparser-0.0.2.tgz
npm http 200 https://registry.npmjs.org/glslify-stream/-/glslify-stream-0.4.1.tgz
npm http 200 https://registry.npmjs.org/sleuth/0.0.0
npm http 200 https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http 200 https://registry.npmjs.org/glsl-min-stream/-/glsl-min-stream-0.0.2.tgz
npm http GET https://registry.npmjs.org/sleuth/-/sleuth-0.0.0.tgz
npm http 200 https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz
npm http 200 https://registry.npmjs.org/concat-stream
npm http 200 https://registry.npmjs.org/static-eval/-/static-eval-0.2.3.tgz
npm http 200 https://registry.npmjs.org/colors
npm http 200 https://registry.npmjs.org/new-from/-/new-from-0.0.3.tgz
npm http 200 https://registry.npmjs.org/cssauron/0.0.2
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.6.tgz
npm http GET https://registry.npmjs.org/colors/-/colors-0.6.2.tgz
npm http GET https://registry.npmjs.org/cssauron/-/cssauron-0.0.2.tgz
npm http GET https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/browserify-zlib
npm http GET https://registry.npmjs.org/buffer
npm http GET https://registry.npmjs.org/builtins
npm http GET https://registry.npmjs.org/commondir/0.0.1
npm http GET https://registry.npmjs.org/console-browserify
npm http GET https://registry.npmjs.org/constants-browserify
npm http GET https://registry.npmjs.org/crypto-browserify
npm http GET https://registry.npmjs.org/deep-equal
npm http GET https://registry.npmjs.org/defined
npm http GET https://registry.npmjs.org/deps-sort
npm http GET https://registry.npmjs.org/domain-browser
npm http GET https://registry.npmjs.org/duplexer2
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/http-browserify
npm http GET https://registry.npmjs.org/https-browserify
npm http GET https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/isarray/0.0.1
npm http GET https://registry.npmjs.org/labeled-stream-splicer
npm http GET https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/os-browserify
npm http GET https://registry.npmjs.org/parents
npm http GET https://registry.npmjs.org/path-browserify
npm http GET https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/punycode
npm http GET https://registry.npmjs.org/querystring-es3
npm http GET https://registry.npmjs.org/readable-stream
npm http GET https://registry.npmjs.org/shasum
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/stream-browserify
npm http GET https://registry.npmjs.org/string_decoder
npm http GET https://registry.npmjs.org/subarg
npm http GET https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/tty-browserify
npm http GET https://registry.npmjs.org/timers-browserify
npm http GET https://registry.npmjs.org/umd
npm http GET https://registry.npmjs.org/url
npm http GET https://registry.npmjs.org/util
npm http GET https://registry.npmjs.org/vm-browserify
npm http GET https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/assert
npm http 200 https://registry.npmjs.org/glsl-extract/0.0.2
npm http 200 https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz
npm http GET https://registry.npmjs.org/through2/-/through2-1.1.1.tgz
npm http GET https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz
npm http 200 https://registry.npmjs.org/shortest/0.0.0
npm http GET https://registry.npmjs.org/commander/-/commander-2.1.0.tgz
npm http GET https://registry.npmjs.org/glsl-extract/-/glsl-extract-0.0.2.tgz
npm http GET https://registry.npmjs.org/shortest/-/shortest-0.0.0.tgz
npm http 200 https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/debug/-/debug-2.0.0.tgz
npm http 200 https://registry.npmjs.org/once
npm http GET https://registry.npmjs.org/once/-/once-1.3.1.tgz
npm http 200 https://registry.npmjs.org/sleuth/-/sleuth-0.0.0.tgz
npm http 200 https://registry.npmjs.org/gl-fbo
npm http GET https://registry.npmjs.org/gl-fbo/-/gl-fbo-1.1.3.tgz
npm http 200 https://registry.npmjs.org/commander
npm http 200 https://registry.npmjs.org/through2/-/through2-1.1.1.tgz
npm http 200 https://registry.npmjs.org/readable-stream
npm http 200 https://registry.npmjs.org/colors/-/colors-0.6.2.tgz
npm http GET https://registry.npmjs.org/commander/-/commander-2.3.0.tgz
npm http 200 https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz
npm http 200 https://registry.npmjs.org/cssauron/-/cssauron-0.0.2.tgz
npm http 200 https://registry.npmjs.org/a-big-triangle/0.0.0
npm http GET https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz
npm http 200 https://registry.npmjs.org/through2
npm http 200 https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz
npm http 200 https://registry.npmjs.org/minimist/0.0.8
npm http 200 https://registry.npmjs.org/commander/-/commander-2.1.0.tgz
npm http GET https://registry.npmjs.org/clamp
npm http GET https://registry.npmjs.org/mouse-position
npm http 200 https://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz
npm http 200 https://registry.npmjs.org/glsl-extract/-/glsl-extract-0.0.2.tgz
npm http GET https://registry.npmjs.org/a-big-triangle/-/a-big-triangle-0.0.0.tgz
npm http GET https://registry.npmjs.org/through2/-/through2-0.5.1.tgz
npm http GET https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz
npm http 200 https://registry.npmjs.org/mute-stream/0.0.4
npm http 200 https://registry.npmjs.org/shortest/-/shortest-0.0.0.tgz
npm http 200 https://registry.npmjs.org/debug/-/debug-2.0.0.tgz
npm http 200 https://registry.npmjs.org/chokidar
npm http GET https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz
npm http 200 https://registry.npmjs.org/once/-/once-1.3.1.tgz
npm http 200 https://registry.npmjs.org/gl-fbo/-/gl-fbo-1.1.3.tgz
npm http 200 https://registry.npmjs.org/cli-color
npm http 200 https://registry.npmjs.org/readline2
npm http GET https://registry.npmjs.org/chokidar/-/chokidar-0.8.4.tgz
npm http 200 https://registry.npmjs.org/commander/-/commander-2.3.0.tgz
npm http 200 https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz
npm http 200 https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz
npm http 200 https://registry.npmjs.org/a-big-triangle/-/a-big-triangle-0.0.0.tgz
npm http GET https://registry.npmjs.org/cli-color/-/cli-color-0.3.2.tgz
npm http GET https://registry.npmjs.org/readline2/-/readline2-0.1.0.tgz
npm http 200 https://registry.npmjs.org/mime
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.6.tgz
npm http 200 https://registry.npmjs.org/through2/-/through2-0.5.1.tgz
npm http 200 https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/async-cache
npm http GET https://registry.npmjs.org/async/-/async-0.8.0.tgz
npm http 200 https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz
npm http 200 https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz
npm http 200 https://registry.npmjs.org/cli-color/-/cli-color-0.3.2.tgz
npm http 200 https://registry.npmjs.org/negotiator
npm http GET https://registry.npmjs.org/async-cache/-/async-cache-0.1.5.tgz
npm http 200 https://registry.npmjs.org/readline2/-/readline2-0.1.0.tgz
npm http 200 https://registry.npmjs.org/lodash
npm http 200 https://registry.npmjs.org/graceful-fs
npm http 200 https://registry.npmjs.org/fd
npm http 200 https://registry.npmjs.org/async/-/async-0.8.0.tgz
npm http GET https://registry.npmjs.org/negotiator/-/negotiator-0.2.8.tgz
npm http GET https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz
npm http 200 https://registry.npmjs.org/CSSselect
npm http GET https://registry.npmjs.org/fd/-/fd-0.0.2.tgz
npm http GET https://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz
npm http 200 https://registry.npmjs.org/entities
npm http 200 https://registry.npmjs.org/static-module
npm http 200 https://registry.npmjs.org/through2
npm http 200 https://registry.npmjs.org/quote-stream
npm http GET https://registry.npmjs.org/min-document
npm http GET https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/entities/-/entities-1.1.1.tgz
npm http 200 https://registry.npmjs.org/fd/-/fd-0.0.2.tgz
npm http 200 https://registry.npmjs.org/dom-serializer
npm http GET https://registry.npmjs.org/for-each
npm http GET https://registry.npmjs.org/trim/0.0.1
npm http 200 https://registry.npmjs.org/ansi-regex
npm http GET https://registry.npmjs.org/static-module/-/static-module-1.0.0.tgz
npm http 200 https://registry.npmjs.org/ansi-regex
npm http 200 https://registry.npmjs.org/htmlparser2
npm http GET https://registry.npmjs.org/through2/-/through2-0.4.2.tgz
npm http GET https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz
npm http GET https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.0.1.tgz
npm http GET https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz
npm http 200 https://registry.npmjs.org/async-cache/-/async-cache-0.1.5.tgz
npm http GET https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz
npm http 200 https://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz
npm http 200 https://registry.npmjs.org/negotiator/-/negotiator-0.2.8.tgz
npm http 200 https://registry.npmjs.org/entities/-/entities-1.1.1.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz
npm http 200 https://registry.npmjs.org/urix
npm http 200 https://registry.npmjs.org/static-module/-/static-module-1.0.0.tgz
npm http 200 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/rework-visit
npm http GET https://registry.npmjs.org/urix/-/urix-0.1.0.tgz
npm http 200 https://registry.npmjs.org/keypress
npm http 200 https://registry.npmjs.org/chokidar/-/chokidar-0.8.4.tgz
npm http 200 https://registry.npmjs.org/through2/-/through2-0.4.2.tgz
npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.40.tgz
npm http GET https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz
npm http 200 https://registry.npmjs.org/autoprefixer-core
npm http GET https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http 200 https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http 200 https://registry.npmjs.org/colors
npm http 200 https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.0.1.tgz
npm http GET https://registry.npmjs.org/autoprefixer-core/-/autoprefixer-core-3.1.2.tgz
npm http 200 https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz
npm http 200 https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz
npm http 200 https://registry.npmjs.org/urix/-/urix-0.1.0.tgz
npm http 200 https://registry.npmjs.org/source-map-resolve
npm http 200 https://registry.npmjs.org/source-map/-/source-map-0.1.40.tgz
npm http 200 https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz
npm http GET https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/clone-component
npm http 200 https://registry.npmjs.org/commander
npm http 200 https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http 200 https://registry.npmjs.org/is-browser
npm http 200 https://registry.npmjs.org/node-watch
npm http 200 https://registry.npmjs.org/autoprefixer-core/-/autoprefixer-core-3.1.2.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http GET https://registry.npmjs.org/commander/-/commander-2.5.0.tgz
npm http GET https://registry.npmjs.org/clone-component/-/clone-component-0.2.2.tgz
npm http 200 https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/wheel/0.0.0
npm http 200 https://registry.npmjs.org/pad-component
npm http 200 https://registry.npmjs.org/read-file-stdin
npm http GET https://registry.npmjs.org/is-browser/-/is-browser-2.0.1.tgz
npm http GET https://registry.npmjs.org/node-watch/-/node-watch-0.3.4.tgz
npm http 200 https://registry.npmjs.org/rework-hex-alpha
npm http 200 https://registry.npmjs.org/clone-component/-/clone-component-0.2.2.tgz
npm http 200 https://registry.npmjs.org/commander/-/commander-2.5.0.tgz
npm http GET https://registry.npmjs.org/pad-component/-/pad-component-0.0.1.tgz
npm http GET https://registry.npmjs.org/read-file-stdin/-/read-file-stdin-0.2.0.tgz
npm http GET https://registry.npmjs.org/wheel/-/wheel-0.0.0.tgz
npm http 200 https://registry.npmjs.org/rework-color-function
npm http 200 https://registry.npmjs.org/is-browser/-/is-browser-2.0.1.tgz
npm http 200 https://registry.npmjs.org/node-watch/-/node-watch-0.3.4.tgz
npm http GET https://registry.npmjs.org/rework-hex-alpha/-/rework-hex-alpha-1.0.0.tgz
npm http GET https://registry.npmjs.org/rework-color-function/-/rework-color-function-1.1.1.tgz
npm http 200 https://registry.npmjs.org/rework-calc
npm http GET https://registry.npmjs.org/rework-calc/-/rework-calc-1.1.0.tgz
npm http 200 https://registry.npmjs.org/rework-import
npm http 200 https://registry.npmjs.org/rework-custom-media
npm http 200 https://registry.npmjs.org/rework-font-variant/1.0.1
npm http GET https://registry.npmjs.org/rework-import/-/rework-import-1.2.1.tgz
npm http GET https://registry.npmjs.org/gl-buffer/-/gl-buffer-0.1.2.tgz
npm http GET https://registry.npmjs.org/gl-vao/-/gl-vao-0.0.3.tgz
npm http GET https://registry.npmjs.org/rework-custom-media/-/rework-custom-media-0.1.1.tgz
npm http GET https://registry.npmjs.org/rework-font-variant/-/rework-font-variant-1.0.1.tgz
npm http 200 https://registry.npmjs.org/rework-hex-alpha/-/rework-hex-alpha-1.0.0.tgz
npm http 200 https://registry.npmjs.org/rework-color-function/-/rework-color-function-1.1.1.tgz
npm http GET https://registry.npmjs.org/gl-texture2d
npm http 200 https://registry.npmjs.org/rework-calc/-/rework-calc-1.1.0.tgz
npm http 200 https://registry.npmjs.org/rework-import/-/rework-import-1.2.1.tgz
npm http 200 https://registry.npmjs.org/rework-rebeccapurple
npm http 200 https://registry.npmjs.org/gl-buffer/-/gl-buffer-0.1.2.tgz
npm http GET https://registry.npmjs.org/wrappy
npm http GET https://registry.npmjs.org/rework-rebeccapurple/-/rework-rebeccapurple-1.0.1.tgz
npm http 200 https://registry.npmjs.org/gl-vao/-/gl-vao-0.0.3.tgz
npm http 200 https://registry.npmjs.org/to-slug-case
npm http 200 https://registry.npmjs.org/rework-custom-media/-/rework-custom-media-0.1.1.tgz
npm http GET https://registry.npmjs.org/to-slug-case/-/to-slug-case-0.1.2.tgz
npm http 200 https://registry.npmjs.org/rework-font-variant/-/rework-font-variant-1.0.1.tgz
npm http 200 https://registry.npmjs.org/rework-rebeccapurple/-/rework-rebeccapurple-1.0.1.tgz
npm http GET https://registry.npmjs.org/ms/0.6.2
npm http 200 https://registry.npmjs.org/to-slug-case/-/to-slug-case-0.1.2.tgz
npm http 200 https://registry.npmjs.org/rework-vars
npm http GET https://registry.npmjs.org/rework-vars/-/rework-vars-3.1.1.tgz
npm http 200 https://registry.npmjs.org/mime
npm http 200 https://registry.npmjs.org/to-space-case
npm http 200 https://registry.npmjs.org/write-file-stdout
npm http 200 https://registry.npmjs.org/resumer
npm http GET https://registry.npmjs.org/to-space-case/-/to-space-case-0.1.3.tgz
npm http GET https://registry.npmjs.org/write-file-stdout/-/write-file-stdout-0.0.2.tgz
npm http GET https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz
npm http 200 https://registry.npmjs.org/ignorepatterns
npm http GET https://registry.npmjs.org/ignorepatterns/-/ignorepatterns-1.0.1.tgz
npm http 200 https://registry.npmjs.org/pretty-bytes
npm http 200 https://registry.npmjs.org/portfinder
npm http 200 https://registry.npmjs.org/rework-vars/-/rework-vars-3.1.1.tgz
npm http GET https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.2.tgz
npm http GET https://registry.npmjs.org/portfinder/-/portfinder-0.2.1.tgz
npm http 200 https://registry.npmjs.org/write-file-stdout/-/write-file-stdout-0.0.2.tgz
npm http 200 https://registry.npmjs.org/readable-stream
npm http 200 https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz
npm http 200 https://registry.npmjs.org/charm
npm http 200 https://registry.npmjs.org/to-space-case/-/to-space-case-0.1.3.tgz
npm http GET https://registry.npmjs.org/charm/-/charm-0.1.2.tgz
npm http 200 https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/fsevents
npm http GET https://registry.npmjs.org/recursive-readdir/0.0.2
npm http GET https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 200 https://registry.npmjs.org/ansicolors
npm http 200 https://registry.npmjs.org/script-injector
npm http GET https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz
npm http GET https://registry.npmjs.org/script-injector/-/script-injector-0.1.7.tgz
npm http GET https://registry.npmjs.org/ndarray
npm http GET https://registry.npmjs.org/typedarray-pool
npm http 200 https://registry.npmjs.org/response-stream/0.0.0
npm http GET https://registry.npmjs.org/webglew
npm http 200 https://registry.npmjs.org/chokidar
npm http GET https://registry.npmjs.org/response-stream/-/response-stream-0.0.0.tgz
npm http 200 https://registry.npmjs.org/concat-stream
npm http 200 https://registry.npmjs.org/leftpad/0.0.0
npm http 200 https://registry.npmjs.org/open/0.0.3
npm http GET https://registry.npmjs.org/leftpad/-/leftpad-0.0.0.tgz
npm http GET https://registry.npmjs.org/open/-/open-0.0.3.tgz
npm http GET https://registry.npmjs.org/core-util-is
npm http GET https://registry.npmjs.org/string_decoder
npm http 200 https://registry.npmjs.org/ignorepatterns/-/ignorepatterns-1.0.1.tgz
npm http 200 https://registry.npmjs.org/portfinder/-/portfinder-0.2.1.tgz
npm http 200 https://registry.npmjs.org/ndarray
npm http 200 https://registry.npmjs.org/typedarray-pool
npm http 200 https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.2.tgz
npm http 200 https://registry.npmjs.org/webglew
npm http 200 https://registry.npmjs.org/ndarray-ops
npm http GET https://registry.npmjs.org/ndarray/-/ndarray-1.0.15.tgz
npm http 200 https://registry.npmjs.org/charm/-/charm-0.1.2.tgz
npm http GET https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.1.0.tgz
npm http GET https://registry.npmjs.org/webglew/-/webglew-1.0.4.tgz
npm http GET https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz
npm http 200 https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 200 https://registry.npmjs.org/browserify-zlib
npm http 200 https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz
npm http 200 https://registry.npmjs.org/script-injector/-/script-injector-0.1.7.tgz
npm http GET https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz
npm http 200 https://registry.npmjs.org/wheel/-/wheel-0.0.0.tgz
npm http 200 https://registry.npmjs.org/find-global-packages/0.0.1
npm http 200 https://registry.npmjs.org/response-stream/-/response-stream-0.0.0.tgz
npm http GET https://registry.npmjs.org/find-global-packages/-/find-global-packages-0.0.1.tgz
npm http 200 https://registry.npmjs.org/leftpad/-/leftpad-0.0.0.tgz
npm http 200 https://registry.npmjs.org/buffer
npm http 200 https://registry.npmjs.org/open/-/open-0.0.3.tgz
npm http GET https://registry.npmjs.org/buffer/-/buffer-2.8.1.tgz
npm http 200 https://registry.npmjs.org/ndarray/-/ndarray-1.0.15.tgz
npm http 200 https://registry.npmjs.org/pad-component/-/pad-component-0.0.1.tgz
npm http 200 https://registry.npmjs.org/console-browserify
npm http 200 https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.1.0.tgz
npm http 200 https://registry.npmjs.org/read-file-stdin/-/read-file-stdin-0.2.0.tgz
npm http GET https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz
npm http 200 https://registry.npmjs.org/webglew/-/webglew-1.0.4.tgz
npm http 200 https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz
npm http 200 https://registry.npmjs.org/constants-browserify
npm http 200 https://registry.npmjs.org/buffer/-/buffer-2.8.1.tgz
npm http GET https://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/ndarray-ops/-/ndarray-ops-1.2.2.tgz
npm http 200 https://registry.npmjs.org/browser-pack
npm http 200 https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz
npm http 200 https://registry.npmjs.org/find-global-packages/-/find-global-packages-0.0.1.tgz
npm http 200 https://registry.npmjs.org/builtins
npm http GET https://registry.npmjs.org/browser-pack/-/browser-pack-3.2.0.tgz
npm http GET https://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz
npm http 200 https://registry.npmjs.org/deep-equal
npm http 200 https://registry.npmjs.org/defined
npm http 200 https://registry.npmjs.org/crypto-browserify
npm http 200 https://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz
npm http GET https://registry.npmjs.org/defined/-/defined-0.0.0.tgz
npm http GET https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz
npm http 200 https://registry.npmjs.org/domain-browser
npm http 200 https://registry.npmjs.org/duplexer2
npm http GET https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.4.1.tgz
npm http GET https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.3.tgz
npm http GET https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz
npm http 200 https://registry.npmjs.org/deps-sort
npm http 200 https://registry.npmjs.org/http-browserify
npm http 200 https://registry.npmjs.org/https-browserify
npm http GET https://registry.npmjs.org/deps-sort/-/deps-sort-1.3.5.tgz
npm http 200 https://registry.npmjs.org/glob
npm http 200 https://registry.npmjs.org/commondir/0.0.1
npm http GET https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz
npm http GET https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.0.tgz
npm http 200 https://registry.npmjs.org/isarray/0.0.1
npm http GET https://registry.npmjs.org/glob/-/glob-4.0.6.tgz
npm http GET https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http GET https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz
npm http 200 https://registry.npmjs.org/os-browserify
npm http 200 https://registry.npmjs.org/labeled-stream-splicer
npm http GET https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz
npm http GET https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-1.0.0.tgz
npm http 200 https://registry.npmjs.org/path-browserify
npm http 200 https://registry.npmjs.org/process
npm http 200 https://registry.npmjs.org/browser-pack/-/browser-pack-3.2.0.tgz
npm http GET https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz
npm http 200 https://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz
npm http GET https://registry.npmjs.org/process/-/process-0.8.0.tgz
npm http 200 https://registry.npmjs.org/querystring-es3
npm http GET https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz
npm http 200 https://registry.npmjs.org/punycode
npm http 200 https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.4.1.tgz
npm http 200 https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz
npm http GET https://registry.npmjs.org/weakmap/0.0.6
npm http 200 https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.3.tgz
npm http 200 https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz
npm http GET https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz
npm http 200 https://registry.npmjs.org/readable-stream
npm http 200 https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz
npm http 200 https://registry.npmjs.org/deps-sort/-/deps-sort-1.3.5.tgz
npm http 200 https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz
npm http GET https://registry.npmjs.org/lru-cache
npm http 200 https://registry.npmjs.org/module-deps
npm http 200 https://registry.npmjs.org/shasum
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-3.5.6.tgz
npm http GET https://registry.npmjs.org/shasum/-/shasum-1.0.0.tgz
npm http 200 https://registry.npmjs.org/shell-quote
npm http 200 https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.0.tgz
npm http 200 https://registry.npmjs.org/insert-module-globals
npm http 200 https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/glob/-/glob-4.0.6.tgz
npm http 200 https://registry.npmjs.org/stream-browserify
npm http 200 https://registry.npmjs.org/string_decoder
npm http GET https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http GET https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-6.1.0.tgz
npm http GET https://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz
npm http 200 https://registry.npmjs.org/parents
npm http GET https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz
npm http 200 https://registry.npmjs.org/tty-browserify
npm http GET https://registry.npmjs.org/parents/-/parents-0.0.3.tgz
npm http 200 https://registry.npmjs.org/timers-browserify
npm http 200 https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz
npm http GET https://registry.npmjs.org/cwise-compiler
npm http 200 https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz
npm http GET https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz
npm http 200 https://registry.npmjs.org/defined/-/defined-0.0.0.tgz
npm http 200 https://registry.npmjs.org/url
npm http GET https://registry.npmjs.org/iota-array
npm http GET https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.1.0.tgz
npm http 200 https://registry.npmjs.org/util
npm http 200 https://registry.npmjs.org/syntax-error
npm http 200 https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-1.0.0.tgz
npm http GET https://registry.npmjs.org/url/-/url-0.10.1.tgz
npm http 200 https://registry.npmjs.org/vm-browserify
npm http GET https://registry.npmjs.org/util/-/util-0.10.3.tgz
npm http 200 https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz
npm http 200 https://registry.npmjs.org/umd
npm http 200 https://registry.npmjs.org/assert
npm http 200 https://registry.npmjs.org/process/-/process-0.8.0.tgz
npm http GET https://registry.npmjs.org/syntax-error/-/syntax-error-1.1.1.tgz
npm http GET https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz
npm http GET https://registry.npmjs.org/umd/-/umd-2.1.0.tgz
npm http GET https://registry.npmjs.org/assert/-/assert-1.1.2.tgz
npm http 200 https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz
npm http 200 https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz
npm http 200 https://registry.npmjs.org/subarg
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-3.5.6.tgz
npm http 200 https://registry.npmjs.org/clamp
npm http 200 https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz
npm http GET https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz
npm http 200 https://registry.npmjs.org/shasum/-/shasum-1.0.0.tgz
npm http 200 https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz
npm http 200 https://registry.npmjs.org/mouse-position
npm http 200 https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http GET https://registry.npmjs.org/process/-/process-0.5.2.tgz
npm http GET https://registry.npmjs.org/mouse-position/-/mouse-position-1.0.0.tgz
npm http 200 https://registry.npmjs.org/wrappy
npm http 200 https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-6.1.0.tgz
npm http 200 https://registry.npmjs.org/for-each
npm http 200 https://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz
npm http 200 https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz
npm http 200 https://registry.npmjs.org/ms/0.6.2
npm http GET https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz
npm http 200 https://registry.npmjs.org/fsevents
npm http 200 https://registry.npmjs.org/gl-texture2d
npm http 200 https://registry.npmjs.org/parents/-/parents-0.0.3.tgz
npm http GET https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz
npm http GET https://registry.npmjs.org/ms/-/ms-0.6.2.tgz
npm http 200 https://registry.npmjs.org/min-document
npm http 200 https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz
npm http 200 https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.1.0.tgz
npm http GET https://registry.npmjs.org/gl-texture2d/-/gl-texture2d-1.2.0.tgz
npm http 200 https://registry.npmjs.org/typedarray-pool
npm http 200 https://registry.npmjs.org/ndarray
npm http GET https://registry.npmjs.org/min-document/-/min-document-2.12.0.tgz
npm WARN optional dep failed, continuing fsevents@pipobscure/fsevents#7dcdf9fa3f8956610fd6f69f72c67bace2de7138
npm http 200 https://registry.npmjs.org/trim/0.0.1
npm http 200 https://registry.npmjs.org/url/-/url-0.10.1.tgz
npm http 200 https://registry.npmjs.org/webglew
npm http GET https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-0.1.2.tgz
npm http 200 https://registry.npmjs.org/core-util-is
npm http 200 https://registry.npmjs.org/string_decoder
npm http 200 https://registry.npmjs.org/util/-/util-0.10.3.tgz
npm http 200 https://registry.npmjs.org/syntax-error/-/syntax-error-1.1.1.tgz
npm http GET https://registry.npmjs.org/trim/-/trim-0.0.1.tgz
npm http GET https://registry.npmjs.org/webglew/-/webglew-0.0.0.tgz
npm http GET https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz
npm http 200 https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz
npm http 200 https://registry.npmjs.org/umd/-/umd-2.1.0.tgz
npm http 200 https://registry.npmjs.org/assert/-/assert-1.1.2.tgz
npm http 200 https://registry.npmjs.org/weakmap/0.0.6
npm http 200 https://registry.npmjs.org/recursive-readdir/0.0.2
npm http 200 https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz
npm http 200 https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz
npm http GET https://registry.npmjs.org/weakmap/-/weakmap-0.0.6.tgz
npm http GET https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-0.0.2.tgz
npm http 200 https://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz
npm http 200 https://registry.npmjs.org/process/-/process-0.5.2.tgz
npm http 200 https://registry.npmjs.org/mouse-position/-/mouse-position-1.0.0.tgz
npm http 200 https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz
npm http 200 https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz
npm http 200 https://registry.npmjs.org/ms/-/ms-0.6.2.tgz
npm http GET https://registry.npmjs.org/object-keys
npm http 200 https://registry.npmjs.org/gl-texture2d/-/gl-texture2d-1.2.0.tgz
npm http 200 https://registry.npmjs.org/min-document/-/min-document-2.12.0.tgz
npm http 200 https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-0.1.2.tgz
npm http 200 https://registry.npmjs.org/trim/-/trim-0.0.1.tgz
npm http 200 https://registry.npmjs.org/lru-cache
npm http 200 https://registry.npmjs.org/webglew/-/webglew-0.0.0.tgz
npm http 200 https://registry.npmjs.org/cwise-compiler
npm http 200 https://registry.npmjs.org/iota-array
npm http 200 https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz
npm http 200 https://registry.npmjs.org/weakmap/-/weakmap-0.0.6.tgz
npm http GET https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz
npm http 200 https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-0.0.2.tgz
npm http GET https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.0.0.tgz
npm http GET https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz
npm http 200 https://registry.npmjs.org/object-keys
npm http GET https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz
npm http GET https://registry.npmjs.org/balanced-match
npm http GET https://registry.npmjs.org/find-file
npm http GET https://registry.npmjs.org/parse-import
npm http 200 https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz
npm http GET https://registry.npmjs.org/rework-visit/1.0.0
npm http GET https://registry.npmjs.org/css
npm http 200 https://registry.npmjs.org/cwise-compiler/-/cwise-compiler-1.0.0.tgz
npm http GET https://registry.npmjs.org/component-type
npm http GET https://registry.npmjs.org/rgb/0.0.1
npm http GET https://registry.npmjs.org/css-color-function/1.1.1
npm http GET https://registry.npmjs.org/balanced-match/0.0.0
npm http 200 https://registry.npmjs.org/iota-array/-/iota-array-1.0.0.tgz
npm http 200 https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz
npm http 200 https://registry.npmjs.org/rework-visit/1.0.0
npm http GET https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz
npm http 304 https://registry.npmjs.org/css
npm http GET https://registry.npmjs.org/object-inspect
npm http GET https://registry.npmjs.org/falafel
npm http GET https://registry.npmjs.org/shallow-copy
npm http GET https://registry.npmjs.org/escodegen
npm http GET https://registry.npmjs.org/gather-stream
npm http 200 https://registry.npmjs.org/component-type
npm http GET https://registry.npmjs.org/is-function
npm http 200 https://registry.npmjs.org/balanced-match
npm http 200 https://registry.npmjs.org/find-file
npm http GET https://registry.npmjs.org/component-type/-/component-type-1.0.0.tgz
npm http 200 https://registry.npmjs.org/rgb/0.0.1
npm http GET https://registry.npmjs.org/balanced-match/-/balanced-match-0.1.0.tgz
npm http GET https://registry.npmjs.org/to-space-case/0.1.2
npm http GET https://registry.npmjs.org/find-file/-/find-file-0.1.4.tgz
npm http GET https://registry.npmjs.org/to-no-case/0.1.2
npm http GET https://registry.npmjs.org/rgb/-/rgb-0.0.1.tgz
npm http GET https://registry.npmjs.org/bit-twiddle
npm http GET https://registry.npmjs.org/dup
npm http 200 https://registry.npmjs.org/parse-import
npm http GET https://registry.npmjs.org/source-map-url
npm http GET https://registry.npmjs.org/atob
npm http GET https://registry.npmjs.org/resolve-url
npm http GET https://registry.npmjs.org/parse-import/-/parse-import-0.1.3.tgz
npm http 200 https://registry.npmjs.org/css-color-function/1.1.1
npm http 200 https://registry.npmjs.org/object-inspect
npm http GET https://registry.npmjs.org/css-color-function/-/css-color-function-1.1.1.tgz
npm http GET https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/balanced-match/0.0.0
npm http 200 https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz
npm http GET https://registry.npmjs.org/balanced-match/-/balanced-match-0.0.0.tgz
npm http 304 https://registry.npmjs.org/escodegen
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz
npm http 200 https://registry.npmjs.org/shallow-copy
npm http 200 https://registry.npmjs.org/falafel
npm http GET https://registry.npmjs.org/bit-twiddle
npm http GET https://registry.npmjs.org/dup
npm http GET https://registry.npmjs.org/falafel/-/falafel-0.3.1.tgz
npm http GET https://registry.npmjs.org/uniq
npm http 200 https://registry.npmjs.org/gather-stream
npm http 200 https://registry.npmjs.org/component-type/-/component-type-1.0.0.tgz
npm http GET https://registry.npmjs.org/gather-stream/-/gather-stream-1.0.0.tgz
npm http 200 https://registry.npmjs.org/to-space-case/0.1.2
npm http 200 https://registry.npmjs.org/is-function
npm http 200 https://registry.npmjs.org/balanced-match/-/balanced-match-0.1.0.tgz
npm http 200 https://registry.npmjs.org/find-file/-/find-file-0.1.4.tgz
npm http GET https://registry.npmjs.org/to-space-case/-/to-space-case-0.1.2.tgz
npm http GET https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz
npm http 200 https://registry.npmjs.org/rgb/-/rgb-0.0.1.tgz
npm http GET https://registry.npmjs.org/caniuse-db
npm http GET https://registry.npmjs.org/postcss
npm http 200 https://registry.npmjs.org/css-color-function/-/css-color-function-1.1.1.tgz
npm http 200 https://registry.npmjs.org/balanced-match/-/balanced-match-0.0.0.tgz
npm http 200 https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/source-map-url
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz
npm http 304 https://registry.npmjs.org/dup
npm http GET https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz
npm http GET https://registry.npmjs.org/dup/-/dup-0.0.0.tgz
npm http 200 https://registry.npmjs.org/falafel/-/falafel-0.3.1.tgz
npm http GET https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/gather-stream/-/gather-stream-1.0.0.tgz
npm http 304 https://registry.npmjs.org/bit-twiddle
npm http 304 https://registry.npmjs.org/bit-twiddle
npm http GET https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-0.0.2.tgz
npm http 200 https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz
npm http 304 https://registry.npmjs.org/dup
npm http 200 https://registry.npmjs.org/resolve-url
npm http 200 https://registry.npmjs.org/parse-import/-/parse-import-0.1.3.tgz
npm http GET https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz
npm http 200 https://registry.npmjs.org/to-no-case/0.1.2
npm http 200 https://registry.npmjs.org/source-map-url/-/source-map-url-0.3.0.tgz
npm http GET https://registry.npmjs.org/to-no-case/-/to-no-case-0.1.2.tgz
npm http GET https://registry.npmjs.org/dom-walk
npm http 200 https://registry.npmjs.org/dup/-/dup-0.0.0.tgz
npm http 200 https://registry.npmjs.org/uniq
npm http GET https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz
npm http 200 https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-0.0.2.tgz
npm http 200 https://registry.npmjs.org/atob
npm http 200 https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz
npm http GET https://registry.npmjs.org/atob/-/atob-1.1.2.tgz
npm http 200 https://registry.npmjs.org/to-no-case/-/to-no-case-0.1.2.tgz
npm http 200 https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz
npm http 200 https://registry.npmjs.org/dom-walk
npm http GET https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz
npm http GET https://registry.npmjs.org/urix
npm http GET https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz
npm http GET https://registry.npmjs.org/color
npm http GET https://registry.npmjs.org/balanced-match/0.1.0
npm http GET https://registry.npmjs.org/rgb
npm http GET https://registry.npmjs.org/debug
npm http 200 https://registry.npmjs.org/to-space-case/-/to-space-case-0.1.2.tgz
npm http 200 https://registry.npmjs.org/caniuse-db
npm http GET https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000020.tgz
npm http 200 https://registry.npmjs.org/atob/-/atob-1.1.2.tgz
npm http 200 https://registry.npmjs.org/postcss
npm http GET https://registry.npmjs.org/postcss/-/postcss-2.2.6.tgz
npm http 200 https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz
npm http 200 https://registry.npmjs.org/balanced-match/0.1.0
npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz
npm http GET https://registry.npmjs.org/mkdirp
npm http GET https://registry.npmjs.org/balanced-match/-/balanced-match-0.1.0.tgz
npm http GET https://registry.npmjs.org/typedarray
npm http 304 https://registry.npmjs.org/urix
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz
npm http 200 https://registry.npmjs.org/rgb
npm http GET https://registry.npmjs.org/rgb/-/rgb-0.1.0.tgz
npm http 304 https://registry.npmjs.org/mkdirp
npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.0.7.tgz
npm http 200 https://registry.npmjs.org/color
npm http 200 https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000020.tgz
npm http 200 https://registry.npmjs.org/typedarray
npm http 200 https://registry.npmjs.org/postcss/-/postcss-2.2.6.tgz
npm http 200 https://registry.npmjs.org/balanced-match/-/balanced-match-0.1.0.tgz
npm http GET https://registry.npmjs.org/color/-/color-0.7.3.tgz
npm http GET https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz
npm http 200 https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz
npm http 200 https://registry.npmjs.org/rgb/-/rgb-0.1.0.tgz
npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.0.7.tgz
npm http 200 https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz
npm http 200 https://registry.npmjs.org/color/-/color-0.7.3.tgz
npm http GET https://registry.npmjs.org/trumpet
npm http GET https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/to-no-case/0.1.1
npm http 304 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/base62/0.1.1
npm http GET https://registry.npmjs.org/source-map/0.1.31
npm http GET https://registry.npmjs.org/esprima-fb
npm http 200 https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz
npm http GET https://registry.npmjs.org/through/-/through-1.1.2.tgz
npm http GET https://registry.npmjs.org/is-require/0.0.0
npm http GET https://registry.npmjs.org/glsl-parser
npm http GET https://registry.npmjs.org/glsl-resolve/0.0.1
npm http GET https://registry.npmjs.org/is-require/0.0.1
npm http GET https://registry.npmjs.org/stream-combiner/0.0.2
npm http GET https://registry.npmjs.org/glsl-tokenizer
npm http GET https://registry.npmjs.org/static-eval
npm http GET https://registry.npmjs.org/wrap-stream/0.0.0
npm http GET https://registry.npmjs.org/astw
npm http GET https://registry.npmjs.org/recast
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/esprima-fb/3001.1.0-dev-harmony-fb
npm http GET https://registry.npmjs.org/color-convert
npm http GET https://registry.npmjs.org/color-string
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz
npm http 200 https://registry.npmjs.org/to-no-case/0.1.1
npm http GET https://registry.npmjs.org/to-no-case/-/to-no-case-0.1.1.tgz
npm http GET https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/glsl-parser/0.0.5
npm http GET https://registry.npmjs.org/glsl-tokenizer/0.0.8
npm http GET https://registry.npmjs.org/utf8-stream/0.0.0
npm http 304 https://registry.npmjs.org/esprima-fb
npm http GET https://registry.npmjs.org/esprima-fb/-/esprima-fb-6001.1.0-dev-harmony-fb.tgz
npm http GET https://registry.npmjs.org/has-color
npm http GET https://registry.npmjs.org/strip-ansi
npm http GET https://registry.npmjs.org/ansi-styles
npm http GET https://registry.npmjs.org/domelementtype
npm http 200 https://registry.npmjs.org/base62/0.1.1
npm http 200 https://registry.npmjs.org/is-require/0.0.0
npm http GET https://registry.npmjs.org/base62/-/base62-0.1.1.tgz
npm http GET https://registry.npmjs.org/is-require/-/is-require-0.0.0.tgz
npm http GET https://registry.npmjs.org/isarray/0.0.1
npm http GET https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/esutils
npm http 200 https://registry.npmjs.org/through/-/through-1.1.2.tgz
npm http GET https://registry.npmjs.org/d
npm http GET https://registry.npmjs.org/es5-ext
npm http GET https://registry.npmjs.org/memoizee
npm http GET https://registry.npmjs.org/timers-ext
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz
npm http 200 https://registry.npmjs.org/base62/-/base62-0.1.1.tgz
npm http 200 https://registry.npmjs.org/glsl-resolve/0.0.1
npm http 200 https://registry.npmjs.org/to-no-case/-/to-no-case-0.1.1.tgz
npm http GET https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz
npm http 200 https://registry.npmjs.org/trumpet
npm http 200 https://registry.npmjs.org/esprima-fb/-/esprima-fb-6001.1.0-dev-harmony-fb.tgz
npm http GET https://registry.npmjs.org/trumpet/-/trumpet-1.6.6.tgz
npm http 304 https://registry.npmjs.org/is-require/0.0.1
npm http GET https://registry.npmjs.org/domhandler
npm http GET https://registry.npmjs.org/domutils
npm http 200 https://registry.npmjs.org/source-map/0.1.31
npm http GET https://registry.npmjs.org/domelementtype
npm http GET https://registry.npmjs.org/entities
npm http 200 https://registry.npmjs.org/is-require/-/is-require-0.0.0.tgz
npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz
npm http GET https://registry.npmjs.org/CSSwhat
npm http GET https://registry.npmjs.org/domutils
npm http 200 https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz
npm http 200 https://registry.npmjs.org/trumpet/-/trumpet-1.6.6.tgz
npm http 200 https://registry.npmjs.org/stream-combiner/0.0.2
npm http GET https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.2.tgz
npm http 200 https://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz
npm http 200 https://registry.npmjs.org/glsl-tokenizer
npm http 200 https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz
npm http GET https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-0.0.9.tgz
npm http 200 https://registry.npmjs.org/wrap-stream/0.0.0
npm http GET https://registry.npmjs.org/wrap-stream/-/wrap-stream-0.0.0.tgz
npm http 200 https://registry.npmjs.org/glsl-parser
npm http GET https://registry.npmjs.org/glsl-parser/-/glsl-parser-1.0.1.tgz
npm http 304 https://registry.npmjs.org/resolve
npm http 200 https://registry.npmjs.org/wrap-stream/-/wrap-stream-0.0.0.tgz
npm http GET https://registry.npmjs.org/resolve/-/resolve-0.5.1.tgz
npm http 304 https://registry.npmjs.org/astw
npm http 200 https://registry.npmjs.org/glsl-parser/-/glsl-parser-1.0.1.tgz
npm http GET https://registry.npmjs.org/astw/-/astw-0.1.0.tgz
npm http 304 https://registry.npmjs.org/static-eval
npm http GET https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/esprima
npm http 200 https://registry.npmjs.org/esprima-fb/3001.1.0-dev-harmony-fb
npm http GET https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz
npm http 200 https://registry.npmjs.org/color-convert
npm http 200 https://registry.npmjs.org/abbrev
npm http 200 https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.2.tgz
npm http GET https://registry.npmjs.org/color-convert/-/color-convert-0.5.2.tgz
npm http GET https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz
npm http 200 https://registry.npmjs.org/color-string
npm http 200 https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-0.0.9.tgz
npm http GET https://registry.npmjs.org/color-string/-/color-string-0.2.1.tgz
npm http 200 https://registry.npmjs.org/has-color
npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz
npm http 200 https://registry.npmjs.org/glsl-parser/0.0.5
npm http GET https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz
npm http GET https://registry.npmjs.org/glsl-parser/-/glsl-parser-0.0.5.tgz
npm http 200 https://registry.npmjs.org/resolve/-/resolve-0.5.1.tgz
npm http 200 https://registry.npmjs.org/recast
npm http 200 https://registry.npmjs.org/astw/-/astw-0.1.0.tgz
npm http GET https://registry.npmjs.org/recast/-/recast-0.5.27.tgz
npm http 200 https://registry.npmjs.org/glsl-tokenizer/0.0.8
npm http 304 https://registry.npmjs.org/strip-ansi
npm http 200 https://registry.npmjs.org/color-string/-/color-string-0.2.1.tgz
npm http 200 https://registry.npmjs.org/utf8-stream/0.0.0
npm http 304 https://registry.npmjs.org/ansi-styles
npm http GET https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-0.0.8.tgz
npm http GET https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz
npm http GET https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz
npm http GET https://registry.npmjs.org/utf8-stream/-/utf8-stream-0.0.0.tgz
npm http 200 https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz
npm http 200 https://registry.npmjs.org/glsl-parser/-/glsl-parser-0.0.5.tgz
npm http 200 https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz
npm http 304 https://registry.npmjs.org/isarray/0.0.1
npm http 200 https://registry.npmjs.org/recast/-/recast-0.5.27.tgz
npm http 200 https://registry.npmjs.org/d
npm http 200 https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-0.0.8.tgz
npm http GET https://registry.npmjs.org/d/-/d-0.1.1.tgz
npm http 200 https://registry.npmjs.org/color-convert/-/color-convert-0.5.2.tgz
npm http 200 https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz
npm http 200 https://registry.npmjs.org/domelementtype
npm http 200 https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz
npm http GET https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz
npm http 200 https://registry.npmjs.org/utf8-stream/-/utf8-stream-0.0.0.tgz
npm http 200 https://registry.npmjs.org/d/-/d-0.1.1.tgz
npm http 200 https://registry.npmjs.org/estraverse
npm http 200 https://registry.npmjs.org/timers-ext
npm http GET https://registry.npmjs.org/estraverse/-/estraverse-1.7.0.tgz
npm http GET https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.0.tgz
npm http 200 https://registry.npmjs.org/esutils
npm http GET https://registry.npmjs.org/esutils/-/esutils-1.1.4.tgz
npm http GET https://registry.npmjs.org/esprima-six/0.0.3
npm http 200 https://registry.npmjs.org/memoizee
npm http GET https://registry.npmjs.org/memoizee/-/memoizee-0.3.8.tgz
npm http 200 https://registry.npmjs.org/domelementtype
npm http 200 https://registry.npmjs.org/domutils
npm http GET https://registry.npmjs.org/domutils/-/domutils-1.5.0.tgz
npm http 200 https://registry.npmjs.org/domutils
npm http GET https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz
npm http 200 https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz
npm http 200 https://registry.npmjs.org/CSSwhat
npm http 200 https://registry.npmjs.org/domhandler
npm http 304 https://registry.npmjs.org/entities
npm http 200 https://registry.npmjs.org/es5-ext
npm http GET https://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz
npm http GET https://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz
npm http GET https://registry.npmjs.org/entities/-/entities-1.0.0.tgz
npm http GET https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.4.tgz
npm http 200 https://registry.npmjs.org/estraverse
npm http 200 https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.0.tgz
npm http 200 https://registry.npmjs.org/memoizee/-/memoizee-0.3.8.tgz
npm http 304 https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/readable-stream
npm http GET https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz
npm http 200 https://registry.npmjs.org/domutils/-/domutils-1.5.0.tgz
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz
npm http 200 https://registry.npmjs.org/esprima-six/0.0.3
npm http 200 https://registry.npmjs.org/esutils/-/esutils-1.1.4.tgz
npm http GET https://registry.npmjs.org/esprima-six/-/esprima-six-0.0.3.tgz
npm http 200 https://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz
npm http 200 https://registry.npmjs.org/entities/-/entities-1.0.0.tgz
npm http 200 https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.4.tgz
npm http 200 https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz
npm http 200 https://registry.npmjs.org/estraverse/-/estraverse-1.7.0.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz
npm http 304 https://registry.npmjs.org/readable-stream
npm http 200 https://registry.npmjs.org/esprima-six/-/esprima-six-0.0.3.tgz
npm http GET https://registry.npmjs.org/xtend
npm http GET https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http 200 https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz
npm http GET https://registry.npmjs.org/through/2.3.4
npm http GET https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-1.1.1.tgz
npm http GET https://registry.npmjs.org/string_decoder
npm http GET https://registry.npmjs.org/core-util-is
npm http 200 https://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz
npm http 200 https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http 304 https://registry.npmjs.org/xtend
npm http 200 https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-1.1.1.tgz
npm http 304 https://registry.npmjs.org/string_decoder
npm http 304 https://registry.npmjs.org/core-util-is
npm http 200 https://registry.npmjs.org/through/2.3.4
npm http GET https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http GET https://registry.npmjs.org/json-stable-stringify
npm http GET https://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz
npm http GET https://registry.npmjs.org/path-platform
npm http GET https://registry.npmjs.org/html-select
npm http GET https://registry.npmjs.org/html-tokenize
npm http GET https://registry.npmjs.org/date-now
npm http GET https://registry.npmjs.org/through2
npm http GET https://registry.npmjs.org/duplexer2
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/indexof/0.0.1
npm http GET https://registry.npmjs.org/process
npm http 200 https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http GET https://registry.npmjs.org/stream-splicer
npm http GET https://registry.npmjs.org/ast-types
npm http GET https://registry.npmjs.org/source-map/0.1.32
npm http GET https://registry.npmjs.org/private
npm http GET https://registry.npmjs.org/cls
npm http GET https://registry.npmjs.org/minimist
npm http GET https://registry.npmjs.org/through2
npm http 200 https://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz
npm http 200 https://registry.npmjs.org/path-platform
npm http 200 https://registry.npmjs.org/date-now
npm http GET https://registry.npmjs.org/path-platform/-/path-platform-0.0.1.tgz
npm http GET https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz
npm http 304 https://registry.npmjs.org/duplexer2
npm http 200 https://registry.npmjs.org/json-stable-stringify
npm http GET https://registry.npmjs.org/Base64
npm http GET https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/JSONStream
npm ERR! Error: ENOENT, lstat '/usr/local/lib/node_modules/webgl-workshop/node_modules/brstar/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-consumer.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Linux 3.13.0-37-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! cwd /usr/local/lib/node_modules
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/brstar/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-consumer.js
npm ERR! fstream_path /usr/local/lib/node_modules/webgl-workshop/node_modules/brstar/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-consumer.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm http 200 https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http GET https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm ERR! EEXIST, mkdir '/usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/module-deps/test'
File exists: /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/module-deps/test
Move it away, and try again. 

npm ERR! System Linux 3.13.0-37-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! cwd /usr/local/lib/node_modules
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/module-deps/test
npm ERR! fstream_path /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/module-deps/test/tr_global.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code EEXIST
npm ERR! errno 47
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:171:23
npm ERR! fstream_stack /usr/lib/nodejs/mkdirp/index.js:37:53
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm http 200 https://registry.npmjs.org/path-platform/-/path-platform-0.0.1.tgz
npm http 200 https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz
npm ERR! Error: ENOENT, lstat '/usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/readable-stream/node_modules/core-util-is/util.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Linux 3.13.0-37-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! cwd /usr/local/lib/node_modules
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/readable-stream/node_modules/core-util-is/util.js
npm ERR! fstream_path /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/readable-stream/node_modules/core-util-is/util.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/browser-resolve/test/fixtures'
npm ERR! error rolling back  [email protected] { [Error: ENOTEMPTY, rmdir '/usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/browser-resolve/test/fixtures']
npm ERR! error rolling back   errno: 53,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   path: '/usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/browser-resolve/test/fixtures' }
npm ERR! not found: git
npm ERR! 
npm ERR! Failed using git.
npm ERR! This is most likely not a problem with npm itself.
npm ERR! Please check if you have git installed and in your PATH.

npm ERR! System Linux 3.13.0-37-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! cwd /usr/local/lib/node_modules
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! code ENOGIT
npm http 200 https://registry.npmjs.org/uglify-js
npm http 200 https://registry.npmjs.org/html-select
npm ERR! Error: ENOENT, lstat '/usr/local/lib/node_modules/webgl-workshop/node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/test/cases/22-lowercase_tags.json'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Linux 3.13.0-37-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! cwd /usr/local/lib/node_modules
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/test/cases/22-lowercase_tags.json
npm ERR! fstream_path /usr/local/lib/node_modules/webgl-workshop/node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/test/cases/22-lowercase_tags.json
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.15.tgz
npm http GET https://registry.npmjs.org/html-select/-/html-select-2.3.22.tgz
npm ERR! Error: ENOENT, lstat '/usr/local/lib/node_modules/webgl-workshop/node_modules/glslify/node_modules/replace-method/node_modules/recast/lib/comments.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Linux 3.13.0-37-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! cwd /usr/local/lib/node_modules
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/glslify/node_modules/replace-method/node_modules/recast/lib/comments.js
npm ERR! fstream_path /usr/local/lib/node_modules/webgl-workshop/node_modules/glslify/node_modules/replace-method/node_modules/recast/lib/comments.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm http 200 https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz
npm http 304 https://registry.npmjs.org/process
npm ERR! Error: ENOENT, lstat '/usr/local/lib/node_modules/webgl-workshop/node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_writable.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Linux 3.13.0-37-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! cwd /usr/local/lib/node_modules
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_writable.js
npm ERR! fstream_path /usr/local/lib/node_modules/webgl-workshop/node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/lib/_stream_writable.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: ENOENT, lstat '/usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/browserify-zlib/test/fixtures/elipses.txt'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Linux 3.13.0-37-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! cwd /usr/local/lib/node_modules
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/browserify-zlib/test/fixtures/elipses.txt
npm ERR! fstream_path /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/browserify-zlib/test/fixtures/elipses.txt
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/resolve/test'
npm ERR! error rolling back  [email protected] { [Error: ENOTEMPTY, rmdir '/usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/resolve/test']
npm ERR! error rolling back   errno: 53,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   path: '/usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/resolve/test' }
npm http 200 https://registry.npmjs.org/html-tokenize
npm http GET https://registry.npmjs.org/html-tokenize/-/html-tokenize-1.2.2.tgz
npm http 200 https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http 304 https://registry.npmjs.org/through2
npm http 200 https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http 200 https://registry.npmjs.org/html-select/-/html-select-2.3.22.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.15.tgz
npm http 200 https://registry.npmjs.org/html-tokenize/-/html-tokenize-1.2.2.tgz
npm http 200 https://registry.npmjs.org/indexof/0.0.1
npm http GET https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz
npm http 200 https://registry.npmjs.org/ast-types
npm http GET https://registry.npmjs.org/ast-types/-/ast-types-0.3.38.tgz
npm http 304 https://registry.npmjs.org/minimist
npm http GET https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz
npm http 304 https://registry.npmjs.org/through2
npm http 200 https://registry.npmjs.org/cls
npm http 200 https://registry.npmjs.org/stream-splicer
npm http 200 https://registry.npmjs.org/private
npm http 200 https://registry.npmjs.org/Base64
npm http GET https://registry.npmjs.org/cls/-/cls-0.1.5.tgz
npm http GET https://registry.npmjs.org/stream-splicer/-/stream-splicer-1.3.1.tgz
npm http GET https://registry.npmjs.org/private/-/private-0.1.5.tgz
npm http GET https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz
npm http GET https://registry.npmjs.org/jsonify
npm http 304 https://registry.npmjs.org/process
npm http 304 https://registry.npmjs.org/JSONStream
npm http 200 https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/process/-/process-0.6.0.tgz
npm http GET https://registry.npmjs.org/JSONStream/-/JSONStream-0.7.4.tgz
npm http 200 https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz
npm http GET https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.3.0.tgz
npm http 200 https://registry.npmjs.org/source-map/0.1.32
npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz
npm ERR! Error: ENOENT, lstat '/usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/JSONStream/test/fixtures/all_npm.json'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Linux 3.13.0-37-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! cwd /usr/local/lib/node_modules
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/JSONStream/test/fixtures/all_npm.json
npm ERR! fstream_path /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/JSONStream/test/fixtures/all_npm.json
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm http 200 https://registry.npmjs.org/lexical-scope
npm http 200 https://registry.npmjs.org/jsonify
npm http 200 https://registry.npmjs.org/ast-types/-/ast-types-0.3.38.tgz
npm http GET https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.1.0.tgz
npm http GET https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz
npm http 200 https://registry.npmjs.org/private/-/private-0.1.5.tgz
npm http 200 https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz
npm http 200 https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz
npm ERR! Error: ENOENT, lstat '/usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/glob/oh-my-glob.gif'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Linux 3.13.0-37-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! cwd /usr/local/lib/node_modules
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/glob/oh-my-glob.gif
npm ERR! fstream_path /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/glob/oh-my-glob.gif
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm http 200 https://registry.npmjs.org/process/-/process-0.6.0.tgz
npm http 200 https://registry.npmjs.org/cls/-/cls-0.1.5.tgz
npm http 200 https://registry.npmjs.org/JSONStream/-/JSONStream-0.7.4.tgz
npm http 200 https://registry.npmjs.org/stream-splicer/-/stream-splicer-1.3.1.tgz
npm http 200 https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.3.0.tgz
npm http 200 https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz
npm http 200 https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.1.0.tgz
npm http 200 https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz
npm http GET https://registry.npmjs.org/escodegen
npm http GET https://registry.npmjs.org/typedarray
npm http GET https://registry.npmjs.org/inline-source-map
npm http GET https://registry.npmjs.org/convert-source-map
npm http GET https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/escodegen
npm http 304 https://registry.npmjs.org/typedarray
npm http 304 https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/convert-source-map
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz
npm http GET https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz
npm http GET https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz
npm http GET https://registry.npmjs.org/readable-wrap
npm http 200 https://registry.npmjs.org/inline-source-map
npm http GET https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.3.0.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz
npm http 200 https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz
npm http 200 https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz
npm http 200 https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.3.0.tgz
npm ERR! Error: ENOENT, lstat '/usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/crypto-browserify/c.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Linux 3.13.0-37-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! cwd /usr/local/lib/node_modules
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/crypto-browserify/c.js
npm ERR! fstream_path /usr/local/lib/node_modules/webgl-workshop/node_modules/browserify/node_modules/crypto-browserify/c.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/nodejs/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm http 200 https://registry.npmjs.org/readable-wrap
npm http GET https://registry.npmjs.org/readable-wrap/-/readable-wrap-1.0.0.tgz
npm http 200 https://registry.npmjs.org/readable-wrap/-/readable-wrap-1.0.0.tgz
npm http GET https://registry.npmjs.org/callsite
npm http GET https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/callsite
npm http 200 https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http GET https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http GET https://registry.npmjs.org/cssauron
npm http GET https://registry.npmjs.org/split
npm http GET https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http GET https://registry.npmjs.org/source-map/0.1.34
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/uglify-to-browserify
npm http GET https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http GET https://registry.npmjs.org/astw/-/astw-1.1.0.tgz
npm http 304 https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/uglify-to-browserify
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http GET https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz
npm http 304 https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/async/-/async-0.2.10.tgz
npm http 200 https://registry.npmjs.org/astw/-/astw-1.1.0.tgz
npm http 200 https://registry.npmjs.org/source-map/0.1.34
npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz
npm http GET https://registry.npmjs.org/isarray/0.0.1
npm http GET https://registry.npmjs.org/jsonparse/0.0.5
npm http 304 https://registry.npmjs.org/split
npm http 200 https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/split/-/split-0.3.1.tgz
npm http 200 https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz
npm http GET https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http 200 https://registry.npmjs.org/cssauron
npm http GET https://registry.npmjs.org/cssauron/-/cssauron-1.2.0.tgz
npm http 200 https://registry.npmjs.org/async/-/async-0.2.10.tgz
npm http 200 https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz
npm http 304 https://registry.npmjs.org/isarray/0.0.1
npm http 200 https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http 200 https://registry.npmjs.org/split/-/split-0.3.1.tgz
npm http 200 https://registry.npmjs.org/cssauron/-/cssauron-1.2.0.tgz
npm http GET https://registry.npmjs.org/isarray
npm http 200 https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http 200 https://registry.npmjs.org/isarray
npm http 200 https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http GET https://registry.npmjs.org/next-tick
npm http GET https://registry.npmjs.org/es6-weak-map
npm http GET https://registry.npmjs.org/event-emitter
npm http GET https://registry.npmjs.org/lru-queue
npm http 200 https://registry.npmjs.org/next-tick
npm http GET https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz
npm http 200 https://registry.npmjs.org/es6-weak-map
npm http 200 https://registry.npmjs.org/lru-queue
npm http GET https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.2.tgz
npm http GET https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz
npm http 200 https://registry.npmjs.org/event-emitter
npm http GET https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.1.tgz
npm http GET https://registry.npmjs.org/js-base64
npm http 200 https://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz
npm http 200 https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.2.tgz
npm http 200 https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz
npm http 200 https://registry.npmjs.org/js-base64
npm http 200 https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.1.tgz
npm http GET https://registry.npmjs.org/js-base64/-/js-base64-2.1.5.tgz
npm http 200 https://registry.npmjs.org/js-base64/-/js-base64-2.1.5.tgz
npm http GET https://registry.npmjs.org/es6-iterator
npm http GET https://registry.npmjs.org/es6-symbol
npm http 200 https://registry.npmjs.org/es6-symbol
npm http 200 https://registry.npmjs.org/es6-iterator
npm http GET https://registry.npmjs.org/es6-symbol/-/es6-symbol-0.1.1.tgz
npm http GET https://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.1.tgz
npm http 200 https://registry.npmjs.org/es6-symbol/-/es6-symbol-0.1.1.tgz
npm http 200 https://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.1.tgz
npm WARN optional dep failed, continuing fsevents@pipobscure/fsevents#7dcdf9fa3f8956610fd6f69f72c67bace2de7138
npm http GET https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/core-util-is
npm http GET https://registry.npmjs.org/string_decoder
npm http GET https://registry.npmjs.org/isarray/0.0.1
npm http 304 https://registry.npmjs.org/core-util-is
npm http 304 https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/string_decoder
npm http 304 https://registry.npmjs.org/isarray/0.0.1
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /usr/local/lib/node_modules/npm-debug.log
npm ERR! not ok code 0

Installation

Hi,

Looks like an interesting module so I wanted to give it a shot.
I tried installing on OS X (node v0.10.33) but here's the issue I got

webgl-workshop [0] $ sudo npm install -g webgl-workshop
Password:
npm WARN engine [email protected]: wanted: {"npm":">=2.0.0"} (current: {"node":"0.10.33","npm":"1.4.28"})

> [email protected] install /usr/local/lib/node_modules/webgl-workshop/node_modules/watchify/node_modules/chokidar/node_modules/fsevents
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/julienc/.node-gyp/0.10.33"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/webgl-workshop/node_modules/watchify/node_modules/chokidar/node_modules/fsevents/.node-gyp"
  CXX(target) Release/obj.target/fse/fsevents.o
  SOLINK_MODULE(target) Release/fse.node
  SOLINK_MODULE(target) Release/fse.node: Finished

> [email protected] install /usr/local/lib/node_modules/webgl-workshop/node_modules/beefy/node_modules/chokidar/node_modules/fsevents
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/julienc/.node-gyp/0.10.33"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/webgl-workshop/node_modules/beefy/node_modules/chokidar/node_modules/fsevents/.node-gyp"
  CXX(target) Release/obj.target/fse/fsevents.o
  SOLINK_MODULE(target) Release/fse.node
  SOLINK_MODULE(target) Release/fse.node: Finished
/usr/local/bin/webgl-workshop -> /usr/local/lib/node_modules/webgl-workshop/node.js

> [email protected] postinstall /usr/local/lib/node_modules/webgl-workshop
> npm rebuild --prefix ./

npm ERR! Error: EACCES, unlink '/usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy'
npm ERR!  { [Error: EACCES, unlink '/usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 13.4.0
npm ERR! command "node" "/usr/local/bin/npm" "rebuild" "--prefix" "./"
npm ERR! cwd /usr/local/lib/node_modules/webgl-workshop
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, unlink '/usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy'
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /usr/local/lib/node_modules/webgl-workshop/npm-debug.log
npm ERR! not ok code 0

npm ERR! [email protected] postinstall: `npm rebuild --prefix ./`
npm ERR! Exit status 3
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is most likely a problem with the webgl-workshop package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm rebuild --prefix ./
npm ERR! You can get their info via:
npm ERR!     npm owner ls webgl-workshop
npm ERR! There is likely additional logging output above.
npm ERR! System Darwin 13.4.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! cwd /Users/julienc/Downloads/code/git/webgl-workshop
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0

I also tried on Linux but ran into the same kind of issues.
I then cloned the repo, but an npm install didn't work from there either.

Any help would be appreciated, thanks.

scissor doesn't clearly demonstrate difference to viewport

Few issues:

  • why am I drawing 4 boxes? I got the point after the first 2.
  • This doesn't show the difference between scissor and viewport

I suggest making the viewport and scissor examples closer in form.

e.g.

// viewport
gl.viewport(0, 0, width/2, height)
drawBunny(gl)

gl.viewport(width/2, 0, width/2, height)
drawBunny(gl)
//scissor
gl.viewport(0, 0, width/2, height) 
gl.clearColor(1, 0, 0, 1)
gl.clear(gl.COLOR_BUFFER_BIT)

// whoops this draws over whole screen, use gl.scissor to fix.
gl.viewport(width/2, 0, width/2, height)
gl.clearColor(1, 1, 0, 1)
gl.clear(gl.COLOR_BUFFER_BIT)

Improvements to Exercise UI

  • Labels on slider
  • Swap close/test button positions
  • cursor: pointer on buttons
  • cursor: ew-resize on slider
  • Tooltip for view icons
  • Actual/Expected views
  • Two-up view
  • Keyboard Shortcuts
    • ~ toggles menu
    • 1-5 toggles view kind
    • cmd/ctrl+enter runs the test, if menu's visible

Shader formatting

The escaped-newline approach is simple, but not ideal considering that esprima removes the newlines on parsing which in turn will break any shaders with a #define directive. I think it'd be better to have these using either the [].join('\n') method or (preferably) load them in with brfs. Happy to make the changes, but @mikolalysenko would you be OK with this?

Error Handling/Messages

Could use some improvement on presentation too โ€“ an openable drawer to stop them escaping?

Split into tiny pieces

Like shader-school, this module should be split into tinier pieces to make it more approachable. Possible outline:

  • Beginner
    • Intro
    • Buffers
    • Shaders
  • Intermediate
    • Textures
    • Depth buffer
  • Advanced
    • Blending
    • Stencil buffer
    • Frame buffer objects
    • Challenging exercises

scissor not work

Untouched boilerplate doesn't seem to draw anything:

image

Based on the boilerplate, I kinda expected a white box:

image

In fact, no scissoring code seems to work.

Chrome 38.0.2125.111

Button wobbles/CTAs

Indicating what to click next, i.e. the "submit", "edit" and "home" buttons at certain stages.

Local Fonts

Otherwise, we risk Google Webfonts stalling page load when using slow internet.

Should uniforms be set after useProgram?

According to shader-uniform exercise, I see something like this:

 for (var i = 0; i < 4; i ++) {
      gl.uniform1f(scaleLocation, scales[i])
      gl.uniform2fv(offsetLocation, offsets[i])
      gl.uniform3fv(colorLocation, colors[i])
      gl.useProgram(program)

It looks I should call useProgram after uniform2fv.

However, when I encounter with challenge-0, I find I must write something like this

 // uniform
    colorLocation = gl.getUniformLocation(program, 'color')
    console.log(colorLocation)
    // use program !IMPORTANT set uniform after useProgram!
    gl.useProgram(program)
    // set uniforms
    gl.uniform4fv(colorLocation, fragColor)

Or colorLocation will be nothing and I can't set uniform successfully.

It makes me confused......

anyone have time to teach me?

Move mesh data into npm packages

@mikolalysenko the JSON mesh data is bringing the unpacked project size over 100MB. As a result, npm publish takes me half an hour which makes debugging/triaging issues really hard :( Would you be able to move these into their own packages? Thanks!

Frame buffer objects

This is a big and important topic, which unfortunately isn't covered by the workshop yet. Would be nice to get that in there at some point.

stencil-shadows (SPOILER | add floor?)

Change:
gl.depthFunc(gl.LESS)
draw.mesh(t, 0.1)
// draw.shadow(t)

This looks right, but doesn't register as correct: "Nope! Try Again?"
This appears to be the intended solution. Otherwise, it could use some more explanation. Perhaps, this would be clarified with an extra object to receive shadow.

Error: Cannot find module '@workshop/server'

Hello,

After installing the npm module, I try to run the app with "webgl-workshop" and I get the following error after typing Yes for populating the directory:

module.js:340
    throw err;
          ^
Error: Cannot find module '@workshop/server'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at boot (/usr/local/lib/node_modules/webgl-workshop/node.js:49:3)
    at PromptUI.completed (/usr/local/lib/node_modules/webgl-workshop/node.js:44:5)
    at PromptUI.onCompletion (/usr/local/lib/node_modules/webgl-workshop/node_modules/inquirer/lib/ui/prompt.js:51:10)
    at /usr/local/lib/node_modules/webgl-workshop/node_modules/inquirer/node_modules/async/lib/async.js:254:17
    at /usr/local/lib/node_modules/webgl-workshop/node_modules/inquirer/node_modules/async/lib/async.js:157:25
    at /usr/local/lib/node_modules/webgl-workshop/node_modules/inquirer/node_modules/async/lib/async.js:251:21

Viewports lesson

Hi,

Great course, enjoying it :)

Sorry if I am missing something but it appears that the top and left parameters described in the viewport function for the viewports lesson are the wrong way around.

The lesson describes the parameters as
gl.viewport(top, left, width, height)

The spec describes it as gl.viewport(x, y, width, height)

If the correct parameter order were gl.viewport(top, left, width, height) as described in the lesson then the solution would be gl.viewport(0, width/2, width/2, height) and not the accepted (and working) solution of gl.viewport(width/2, 0, width/2, height) to draw the bunny on the right hand side of the screen.

The parameters should be described as gl.viewport(left, top, width, height) in the lesson.

webgl-workshop error

Hi,

After doing npm install -g webgl-workshop I ran webgl-workshop. I am getting the error below. Can you guys tell me how to fix it.

C:\Users\Desktop\node-school\webgl-advanced> webgl-workshop

==============================
= ~~~~~ webgl-workshop ~~~~~ =

[?] We're about to populate this directory with some code for you to use for
your answers. If they've already been created then don't worry, they won't
be replaced. Continue? Yes

module.js:340
throw err;
^
Error: Cannot find module '@workshop/server'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at boot (C:\Users\AppData\Roaming\npm\node_modules\webgl-workshop\node.js:49:3)
at PromptUI.completed (C:\Users\AppData\Roaming\npm\node_modules\webgl-workshop\node.js:44:5)
at PromptUI.onCompletion (C:\Users\AppData\Roaming\npm\node_modules\webgl-workshop\node_modules\inquirer\lib\ui\prompt.js:51:10)
at C:\Users\AppData\Roaming\npm\node_modules\webgl-workshop\node_modules\inquirer\node_modules\async\lib\async.js:254:17
at C:\Users\AppData\Roaming\npm\node_modules\webgl-workshop\node_modules\inquirer\node_modules\async\lib\async.js:157:25
at C:\Users\AppData\Roaming\npm\node_modules\webgl-workshop\node_modules\inquirer\node_modules\async\lib\async.js:251:21
C:\Users\Desktop\node-school\webgl-advanced>

Atom Integration

This wouldn't actually be that difficult, just run the server from within Atom and open up a panel pointing to that local URL with an iframe, with some special hooks for opening up the files in the editor instead of opening the local directory. Will probably have to happen during/after CampJS though!

NPM Install Fails

Running the command sudo npm install -g webgl-workshop results in the below error log and a failed install. It looks like the error may be related to node-gyp but any insight would be greatly appreciated. Thanks!

npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No description
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No description
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No description
npm WARN package.json @workshop/[email protected] No repository field.

> [email protected] install /usr/local/lib/node_modules/webgl-workshop/node_modules/watchify/node_modules/chokidar/node_modules/fsevents
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/michaelanthony/.node-gyp/0.10.33"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/webgl-workshop/node_modules/watchify/node_modules/chokidar/node_modules/fsevents/.node-gyp"
  CXX(target) Release/obj.target/fse/fsevents.o
  SOLINK_MODULE(target) Release/fse.node
  SOLINK_MODULE(target) Release/fse.node: Finished

> [email protected] install /usr/local/lib/node_modules/webgl-workshop/node_modules/beefy/node_modules/chokidar/node_modules/fsevents
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/michaelanthony/.node-gyp/0.10.33"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/webgl-workshop/node_modules/beefy/node_modules/chokidar/node_modules/fsevents/.node-gyp"
  CXX(target) Release/obj.target/fse/fsevents.o
  SOLINK_MODULE(target) Release/fse.node
  SOLINK_MODULE(target) Release/fse.node: Finished
/usr/local/bin/webgl-workshop -> /usr/local/lib/node_modules/webgl-workshop/node.js

> [email protected] postinstall /usr/local/lib/node_modules/webgl-workshop
> npm rebuild --prefix ./

npm ERR! Darwin 14.0.0
npm ERR! argv "node" "/usr/local/bin/npm" "rebuild" "--prefix" "./"
npm ERR! node v0.10.33
npm ERR! npm  v2.1.6
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy
npm ERR! code EACCES
npm ERR! errno 3

npm ERR! Error: EACCES, unlink '/usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy'
npm ERR!  { [Error: EACCES, unlink '/usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /usr/local/lib/node_modules/webgl-workshop/npm-debug.log
npm ERR! Darwin 14.0.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! node v0.10.33
npm ERR! npm  v2.1.6
npm ERR! code ELIFECYCLE

npm ERR! [email protected] postinstall: `npm rebuild --prefix ./`
npm ERR! Exit status 3
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is most likely a problem with the webgl-workshop package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm rebuild --prefix ./
npm ERR! You can get their info via:
npm ERR!     npm owner ls webgl-workshop
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/michaelanthony/npm-debug.log
michael:~ michaelanthony$ sudo chmod /Users/michaelanthony/.node-gyp/0.10.33 777
Password:
chmod: Invalid file mode: /Users/michaelanthony/.node-gyp/0.10.33
michael:~ michaelanthony$ sudo chmod /Users/michaelanthony/.node-gyp/0.10.33 666
chmod: Invalid file mode: /Users/michaelanthony/.node-gyp/0.10.33
michael:~ michaelanthony$ sudo npm install -g webgl-workshop
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @exercise/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No description
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No description
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No repository field.
npm WARN package.json @workshop/[email protected] No description
npm WARN package.json @workshop/[email protected] No repository field.

> [email protected] install /usr/local/lib/node_modules/webgl-workshop/node_modules/watchify/node_modules/chokidar/node_modules/fsevents
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/michaelanthony/.node-gyp/0.10.33"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/webgl-workshop/node_modules/watchify/node_modules/chokidar/node_modules/fsevents/.node-gyp"
  CXX(target) Release/obj.target/fse/fsevents.o
  SOLINK_MODULE(target) Release/fse.node
  SOLINK_MODULE(target) Release/fse.node: Finished

> [email protected] install /usr/local/lib/node_modules/webgl-workshop/node_modules/beefy/node_modules/chokidar/node_modules/fsevents
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/michaelanthony/.node-gyp/0.10.33"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/webgl-workshop/node_modules/beefy/node_modules/chokidar/node_modules/fsevents/.node-gyp"
  CXX(target) Release/obj.target/fse/fsevents.o
  SOLINK_MODULE(target) Release/fse.node
  SOLINK_MODULE(target) Release/fse.node: Finished
/usr/local/bin/webgl-workshop -> /usr/local/lib/node_modules/webgl-workshop/node.js

> [email protected] postinstall /usr/local/lib/node_modules/webgl-workshop
> npm rebuild --prefix ./

npm ERR! Darwin 14.0.0
npm ERR! argv "node" "/usr/local/bin/npm" "rebuild" "--prefix" "./"
npm ERR! node v0.10.33
npm ERR! npm  v2.1.6
npm ERR! path /usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy
npm ERR! code EACCES
npm ERR! errno 3

npm ERR! Error: EACCES, unlink '/usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy'
npm ERR!  { [Error: EACCES, unlink '/usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/webgl-workshop/node_modules/.bin/beefy' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /usr/local/lib/node_modules/webgl-workshop/npm-debug.log
npm ERR! Darwin 14.0.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "webgl-workshop"
npm ERR! node v0.10.33
npm ERR! npm  v2.1.6
npm ERR! code ELIFECYCLE

npm ERR! [email protected] postinstall: `npm rebuild --prefix ./`
npm ERR! Exit status 3
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is most likely a problem with the webgl-workshop package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm rebuild --prefix ./
npm ERR! You can get their info via:
npm ERR!     npm owner ls webgl-workshop
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/michaelanthony/npm-debug.log

Name?

Do we want to come up with another name? WebGL Workshop might actually be a good fit since it's got Shader School's alliteration going, but open to suggestions :)

Error on http://localhost:14921/@exercise/blend-basics/

Cannot find module '../submission/setup' from '/home/rever/Work/learn/nodeschool/webgl-workshop/answers/blend-basics' Error: Cannot find module '../submission/setup' from '/home/rever/Work/learn/nodeschool/webgl-workshop/answers/blend-basics' at /home/rever/Work/learn/nodeschool/node_modules/webgl-workshop/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:42:25 at load (/home/rever/Work/learn/nodeschool/node_modules/webgl-workshop/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:60:43) at /home/rever/Work/learn/nodeschool/node_modules/webgl-workshop/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:66:22 at /home/rever/Work/learn/nodeschool/node_modules/webgl-workshop/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:21:47 at Object.oncomplete (fs.js:107:15)

Browser refresh required before changes detected

Just a small issue, but I find that after making changes to the lesson code the Test button doesn't detect the changes unless I manually refresh the entire browser window.
Happens with both Chrome v40 dev and Safari 8.0

3d-cull-face rejects correct solution

Just found a bug with the 3d-cull-face lesson where it will not accept my answer even if I copy and paste the solution. I'm pretty sure it has something to do with passing Date.now() to the drawIt function. If you replace the Date.now() with a fixed value it works. There must be a significant enough delay between calling the solution and the given answer to make Date.now() return different times.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.