Add voxel-decals and update voxel-mine with decal-based break progress

+ Update voxel-chunkborder, voxel-decals, voxel-engine, voxel-keys, voxel-mine, voxel-voila, voxel-wireframe

deathcap/voxel-chunkborder@b30091961d716a9d8e5cf0628f9e11ade5dae2e8 0.4.1
deathcap/voxel-chunkborder@be01ce80b45d2b8a3ac3d275ab04231c84aca40e Hotkey (F9) only toggles if shift not held down, for better voxel-wireframe compatibility
deathcap/voxel-decals@9df7a2ecf2b81b2a3ef27c4e0f4bb23bc088766f 0.1.0
deathcap/voxel-decals@55f7e241043b1be07989e55fe7d46d5703a3466a Disable default testing decals
deathcap/voxel-decals@a43f2a078946d0e48f1699d0d94078b6d775ebd7 Add documentation
deathcap/voxel-decals@09ec40dc34a8914569c79e32914ec97b9b891e71 Fix remove() array splice
deathcap/voxel-decals@78bd0d0779c655ca30e9ab5b89f18bf656e1ccb9 Add decal API: add, remove, change
deathcap/voxel-decals@3cd0d1057cfb13c8dbbae76cfe67c0e0071c4521 Customize texture from this.info
deathcap/voxel-decals@4e5b791034c1f77ed23605b9193f86211440a6de Let voxel-stitch (0.8.0) calculate the UV, use getTextureUV() API
deathcap/voxel-decals@5b9087859c2a31641472151255d9a10f444f69e0 Get UVs from voxel-stitch atlas.uv()
deathcap/voxel-decals@bbd694910dcc34734dde93093c1f4d3d126f9860 Use texture directly from voxel-stitch instead of voxel-shader
deathcap/voxel-decals@3c55bb599241b0a8f7db93e2f490f8bb9fed93ba Use UV tile coordinates computed on voxel-stitch
deathcap/voxel-decals@0ebee61bed9004f055dae9e7ba976c5c6e27db48 Use dimensions from voxel-stitch for UV
deathcap/voxel-decals@e1300a391c98938740141ed01752b8f110d56d1b Reuse voxel-shader sprite sheet instead of loading our own texture
deathcap/voxel-decals@fcbbbf9d0ec1d87bfce30be1a27bb4c9fd57573d Rotate UVs to correctly orient texture
deathcap/voxel-decals@ef8c708b7b51b77868053842761901d9e81c7ee4 Remove redundant planeUV elements
deathcap/voxel-decals@2ea625ee16904555cb56d4c3909c6890709e398c Refactor UV assignment
deathcap/voxel-decals@b4f8ef119956554d538c6091c8c4b2ad64ad49fc decalsShader -> shader
deathcap/voxel-decals@ba8c4b241037aa49c660f63392e31eabeb1d0d8c Set UV coordinates for texture
deathcap/voxel-decals@6d69eb1b0666f8de36fae6ea1db6845d1cd83daa Use texture uniform instead of solid color
deathcap/voxel-decals@259bb4bac8cfdbef2ccea114172f874e9ac96a6b Add UV attribute (unused)
deathcap/voxel-decals@466de24ff92d5cc017b16f2aa7b842ea7b42db4e Slightly raise above surface along normal to fix z-fighting
deathcap/voxel-decals@cb29dcc6dfacf155c81f96ba7b6b4900ead2a066 Specify cube face side using normal vector instead of arbitrary index
deathcap/voxel-decals@95d780849fa07efe0a52229db66329a5a80aac07 Test on each side
deathcap/voxel-decals@916a0bcf1a5be79870be150a06f1a2187ac341f8 Move position translation into vertex buffer, out of rendering loop, and draw only once
deathcap/voxel-decals@e5f04100040a0b8d8f768ee6c474bd2ad3a61b2c Remove use of indexed arrays
deathcap/voxel-decals@3c476becd71e92b42151489263a74cef33ccbdfe Render all cube sides (~ box-geometry)
deathcap/voxel-decals@c75fafc0e4355be26b7814cc44ddccc110785cff Move mesh generation into update() method
deathcap/voxel-decals@964963d64c71f643b7807816f4d7b9627e3d9c2a Change vertices buffer to vec3
deathcap/voxel-decals@2002744591701d9ac4eca940e8bf68bdec468b23 Rename to voxel-decals
deathcap/voxel-decals@15aee226cf8f7bfaab4fa8364063eb44a36afb28 Notes on rotations
deathcap/voxel-decals@21640762bc0cc8eb180f0eb1fb4d55dc5880dc09 Support multiple planes, at different positions
deathcap/voxel-decals@4bf05a1a2b1f9345a24f72fde1c2dfbef9385a97 Customize plane location (matrix translate)
deathcap/voxel-decals@5040e18805a3fc7277f618d7991f7b0e6f58f452 Change plane to occupy (0,0)-(1,1) on XZ
deathcap/voxel-decals@3905460839286caff86a12b714331f63a89b7c1b Add a flat plane
deathcap/voxel-engine@c3aa0e75d878780bb71787e46e81ff1bf450c725 Remove obsolete comment in showChunk, solid chunks generate a mesh now that they are padded
deathcap/voxel-keys@46a361bd808cdba44ba0eda2164d31946c48d9ba 0.5.0
deathcap/voxel-keys@e3c9d6a6df58854eeee39d189a17b8b4e682ebae Fix missing emitted events when multiple bindings are bound to same key
deathcap/voxel-keys@d2b7e9450a860e63ab6c18d6fc630d0489e11862 Pass original DOM event to emitter events (second argument)
deathcap/voxel-keys@d04839b39d1176be20b75a41218b1c5e6cc553b4 [game-shell] Fix binding name lookup, use filtered vkey (<shift> -> shift)
deathcap/voxel-mine@9bd41ab38da94e05acccc9d5eadd1654d06cd813 0.4.0
deathcap/voxel-mine@899ef68a89a9d0f1d0989ef50d11b4890c594f3d Working voxel-decals support; preload textures, fix change/remove checks
deathcap/voxel-mine@21db1b0af3686c6d3bdef25672cdcf57095add5e Start adding support for voxel-decals (vs three.js)
deathcap/voxel-voila@28f3d455b8cf758a57c53da5af9c9fbb43ee1a48 0.3.1
deathcap/voxel-voila@06a42b1b5028f8293e4786968d72f348a27caf47 Update display from crouch key change on next tick to allow game.buttons to update
deathcap/voxel-wireframe@3ddb129732d70a80b0f1c9a90d1140de0102a81e 0.5.0
deathcap/voxel-wireframe@4e80820ef792eb54d0a57d06c6453b5879414e51 Change toggle key to Shift+F9 instead of 'F'
deathcap/voxel-wireframe@009467ca37f87d8996e4a77666fea944182371ac Change hotkey to toggle, instead of hold
deathcap/voxel-wireframe@5ba9401104693150f02f861874c50b9b83c85318 Fix off-by-one translation with voxel-mesher chunk padding. Closes deathcap/voxel-wireframe#1
deathcap/voxel-wireframe@60b56efe0ecf2f47c940c220827341802c12be5d Use glslify instead of gl-shader

Commit message generated by https://github.com/deathcap/lmno-cl