From d0946ba67f7d04902ff122bc5eb6e4026275df70 Mon Sep 17 00:00:00 2001 From: Gavin McDonald Date: Sun, 11 Nov 2018 22:42:41 +0000 Subject: [PATCH] cleaning up the repo to be used as a library --- .gitignore | 1 - package-lock.json | 28 +++++++++++++++++++++------- package.json | 2 +- public/js/tessellate.js | 2 ++ webpack.config.js | 2 +- 5 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 public/js/tessellate.js diff --git a/.gitignore b/.gitignore index c86e989..0fb836e 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,4 @@ node_modules/* hexmine public/js/main.js -public/js/tessellate.js diff --git a/package-lock.json b/package-lock.json index dde5037..cc34dee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2189,12 +2189,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2209,17 +2211,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -2336,7 +2341,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -2348,6 +2354,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -2362,6 +2369,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -2369,12 +2377,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -2393,6 +2403,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -2473,7 +2484,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -2485,6 +2497,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -2606,6 +2619,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", diff --git a/package.json b/package.json index c4db78d..9acab4f 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "tessellate", "version": "1.0.0", "description": "", - "main": "./public/js/tessellate.js", + "main": "./public/js/Tessellate.js", "scripts": { "build": "webpack --mode production", "test": "echo \"Error: no test specified\" && exit 1" diff --git a/public/js/tessellate.js b/public/js/tessellate.js new file mode 100644 index 0000000..b9395d7 --- /dev/null +++ b/public/js/tessellate.js @@ -0,0 +1,2 @@ +!function(t,e){for(var i in e)t[i]=e[i]}(this,function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=19)}([function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.invSqrt2=e.sqrt3=e.sqrt2=void 0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.noop=function(){},e.clone=function(t){return JSON.parse(JSON.stringify(t))},e.has=o,e.hypotenuse=function(t,e){null==e&&(e=t);return Math.sqrt(t*t+e*e)},e.isObject=s,e.random=function t(e,i){if(Array.isArray(e))return e[t(e.length-1)];if("object"===(void 0===e?"undefined":n(e)))return e[t(Object.keys(e))];null==i&&(i=e,e=0);return e+Math.floor(Math.random()*(i-e+1))},e.range=u,e.rangeInclusive=function(t,e){null==e&&(e=t,t=0);return u(Math.min(t,e),Math.max(t,e)+1)},e.getQueryStringParameters=l,e.getQueryStringObj=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.location.search,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"&",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"=";return(0,r.mapObj)(l(t,e,i),f)},e.parseString=f,e.toFixed=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:NaN;return"number"!=typeof t||isNaN(t)?i:Number(t.toFixed(e))},e.getColor=function(t){var e=t.red,i=t.green,n=t.blue,r=t.alpha;return null!=r?"rgba("+e+", "+i+", "+n+", "+r+")":"rgb("+e+", "+i+", "+n+")"},e.grayscale=function(t){var e=t.red,i=t.green,n=t.blue;return p.red*e+p.green*i+p.blue*n},e.extend=function t(e){var i=Object.assign({},e);for(var n=arguments.length,a=Array(n>1?n-1:0),u=1;u2&&void 0!==arguments[2]?arguments[2]:e,n=document.createElement("canvas");return n.height=e,n.width=i,t(n.getContext("2d"),n.height,n.width),n};var r=i(3);var a=e.sqrt2=Math.sqrt(2);e.sqrt3=Math.sqrt(3),e.invSqrt2=1/a;function o(t,e){return t&&(t.hasOwnProperty(e)||e in t)}function s(t){return!(!t||"object"!==(void 0===t?"undefined":n(t))||Array.isArray(t))}function u(t,e){if(null==e&&(e=t,t=0),t>e){var i=t;t=e,e=i}return Array.from(Array(Math.abs(e-t)),function(e,i){return i+t})}function l(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.location.search,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"&",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"=",n={};return t.replace(/(^\?)/,"").split(e).forEach(function(t){t=t.split(i),n[t[0]]=t[1]}),n}var c=/^{.*}$/,h=/^\[.*\]$/;function f(t){return"string"!=typeof t?t:"true"===t.toLowerCase()||"false"!==t.toLowerCase()&&("null"===t.toLowerCase()?null:"undefined"===t.toLowerCase()?void 0:isNaN(Number(t))?c.test(t)||h.test(t)?JSON.parse(decodeURIComponent(t)):t:Number(t))}var p={red:.299,green:.587,blue:.114}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],i=-1/0;if(e){var n=-1/0;l(t,function(t,r,a){var o=e(t,r,a);(o>n||o===-1/0&&i===-1/0)&&(i=t,n=o)})}else l(t,function(t){return i=t>i?t:i});return i}function y(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],i=1/0;if(e){var n=1/0;l(t,function(t,r,a){var o=e(t,r,a);(o1&&void 0!==arguments[1]?arguments[1]:h;return Array.from(Array(t),function(t,i){return e(i)})}function w(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null!=t[0]?t[0]:0;return Array.isArray(t)?t.reduce(e,i):(l(t,function(t,n,r){i=e(i,t,n,r)}),i)}function k(t,e){return o(t,function(t,i,n){return!e(t,i,n)})}function O(t){return!!s(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:h)}e.chain=function(t){var e={value:function(){return t}};return l(S,function(i,n){e[n]=function(){return t=i.apply(void 0,[t].concat(Array.prototype.slice.call(arguments))),e}}),e},e.compact=r,e.contains=a,e.filter=o,e.find=s,e.flatten=u,e.forEach=l,e.groupBy=c,e.identity=h,e.map=f,e.mapObj=g,e.max=d,e.min=y,e.omit=m,e.pick=b,e.range=T,e.reduce=w,e.reject=k,e.some=O;var S=e._={compact:r,contains:a,filter:o,find:s,flatten:u,forEach:l,groupBy:c,identity:h,map:f,mapObj:g,max:d,min:y,omit:m,pick:b,range:T,reduce:w,reject:k,some:O}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;ithis.settings.scale?this.scaleMin:this.settings.scale}},{key:"setOriginX",value:function(t,e){this.originX=e?e-t/2:this.negativeTiles?parseInt(t/2):this.width?this.width*this.horizontalDistance()/-2+t/2+this.horizontalDistance()/2:this.tileWidth()/2}},{key:"setOriginY",value:function(t,e){var i=this.height*this.verticalDistance();this.originY=e?e+t/2:this.negativeTiles?parseInt(t/2):this.height?i-(i-t)/2-this.verticalDistance()/2:t-this.tileHeight()/2}},{key:"move",value:function(t){(0,r.has)(t,"height")||(t.height=t.target.offsetHeight),(0,r.has)(t,"width")||(t.width=t.target.offsetWidth);var e=this.originX+t.deltaX,i=this.originY+t.deltaY;return this.originX=e,this.originY=i,this._checkMove(t),this.originX===e&&this.originY===i}},{key:"_checkMove",value:function(t){this.negativeTiles?this._checkMoveNegativeTiles(t):this._checkMovePositiveTiles(t)}},{key:"_checkMovePositiveTiles",value:function(t){var e=t.width,i=t.height,n=this.horizontalDistance(),r=this.verticalDistance(),a=this.tileWidth()/2,o=i-this.tileHeight()/2;if(this.originX=this.originX>a?a:this.originX,this.originY=this.originYu?u:this.originY}}},{key:"_checkMoveNegativeTiles",value:function(t){var e=this.horizontalDistance(),i=this.verticalDistance();if(this.width){var n=t.width,r=(this.width*e+this.horizontalOverhang())/2;this.originX=this.originX>r?r:n-this.originX>r?n-r:this.originX}if(this.height){var a=t.height,o=(this.height*i+this.verticalOverhang())/2;this.originY=this.originY>o?o:a-this.originY>o?a-o:this.originY}}},{key:"zoom",value:function(t){var e=this.scale,i=e*t.scaleStep;i=Math.max(i,this.scaleMin),e!==(i=Math.min(i,this.scaleMax))&&(this.scale=i,this.move({deltaX:(t.offsetX-this.originX)/e*(e-i),deltaY:(t.offsetY-this.originY)/e*(e-i),width:t.target.offsetWidth,height:t.target.offsetHeight}))}},{key:"remap",value:function(t){Object.assign(this,(0,a.pick)(t,["height","width","negativeTiles"])),this.checkScale(t.canvasHeight,t.canvasWidth),this.setOriginX(t.canvasWidth,t.centerX),this.setOriginY(t.canvasHeight,t.centerY)}}]),t}();e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;ia&&r>o?e=-i-n:a>o?i=-e-n:n=-e-i,t.x=-0===e?0:e,t.y=-0===i?0:i,t.z=-0===n?0:n}(t),t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,r.default),n(e,[{key:"getX",value:function(){return this.x}},{key:"getY",value:function(){return this.y}},{key:"getZ",value:function(){return this.z}},{key:"setX",value:function(t){return this.x=t,this}},{key:"setY",value:function(t){return this.y=t,this}},{key:"setZ",value:function(t){return this.z=t,this}},{key:"moveX",value:function(t){return this.x+=t,this}},{key:"moveY",value:function(t){return this.y+=t,this}},{key:"moveZ",value:function(t){return this.z+=t,this}},{key:"getQ",value:function(){return this.x}},{key:"getR",value:function(){return this.z}},{key:"setQ",value:function(t){return this.x=t,this.y=a(this.x,this.z),this}},{key:"setR",value:function(t){return this.z=t,this.y=a(this.x,this.z),this}},{key:"moveQ",value:function(t){return this.x+=t,this.y=a(this.x,this.z),this}},{key:"moveR",value:function(t){return this.z+=t,this.y=a(this.x,this.z),this}},{key:"getPoint",value:function(){return{x:this.x,y:this.y,z:this.z}}},{key:"setHex",value:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}},{key:"moveHex",value:function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}},{key:"getAxial",value:function(){return{q:this.x,r:this.z}}},{key:"setAxial",value:function(t){return this.x=t.q,this.z=t.r,this.y=a(this.x,this.y),this}},{key:"moveAxial",value:function(t){return this.x+=t.q,this.z+=t.r,this.y=a(this.x,this.z),this}}]),e}();e.default=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){return t&&t.__esModule?t:{default:t}}(i(1));var r=function(t){function e(t,i){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,i))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,n.default),e}();e.default=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i4&&void 0!==arguments[4]?arguments[4]:this.settings.mine;e!==this.mineCache.scale&&this.setMineCache(e),t.drawImage(this.mineCache.mine,i-e,n-e,2*e,2*e)}},{key:"setMineCache",value:function(t){var e=this;this.mineCache.scale=t,this.mineCache.mine=(0,a.quickCanvas)(function(i){e._mine(i,t,t,t,e.settings.mine.border),e._horns(i,t,t,t,e.settings.mine.border.horns,e.settings.mine.border.color),e._mine(i,t,t,t,e.settings.mine.body),e._horns(i,t,t,t,e.settings.mine.body.horns,e.settings.mine.body.color)},2*t)}},{key:"_mine",value:function(t,e,i,n,r){t.beginPath(),t.moveTo(i,n),t.arc(i,n,e*r.scale,0,2*Math.PI,!0),t.closePath(),t.fillStyle=(0,a.getColor)(r.color),t.fill()}},{key:"_horns",value:function(t,e,i,r,o,s){var u=this,l=e*o.scale,c=e*o.distance;t.beginPath(),this.horns.forEach(function(a){var o=n(a,2),s=o[0],h=o[1];return u.pip(t,e,i,r,s,h,l,c)}),t.closePath(),t.fillStyle=(0,a.getColor)(s),t.fill()}},{key:"explosion",value:function(t,e,i,n){var r=this,o=.667*e,s=.333*e;t.beginPath(),t.moveTo(i,n),t.moveTo(i+o*this.slicesX[0],n+o*this.slicesY[0]),(0,a.range)(this.settings.slices).filter(function(t){return t%2==1}).forEach(function(e){t.lineTo(i+s*r.slicesX[e],n+s*r.slicesY[e]),t.lineTo(i+o*r.slicesX[e+1],n+o*r.slicesY[e+1])}),t.closePath(),t.fillStyle="rgb(255,0,0)",t.fill()}}]),t}();e.default=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i1&&(this.state.scaleStart=(0,r.hypotenuse)(e[0].pageX-e[1].pageX,e[0].pageY-e[1].pageY),this.state.pinching=!0,this.state.lastPinch=1,clearTimeout(this.state.pressTO)),this.tapStart(t)}},{key:"pressStart",value:function(t){this.settings.pressStart(t)}},{key:"mouseup",value:function(t){if(Object.assign(t,{mobile:!1,duration:t.timeStampUTC-this.state.tapStartTime}),!this.state.moving){var e=t.which&&1!==t.which||t.altKey||t.ctrlKey||t.metaKey,i=this.settings.desktopPress&&t.duration>=this.settings.pressThreshold;e||i?this.settings.press(t):(clearTimeout(this.state.pressTO),this.settings.tap(t))}this.state.moving=null,this.state.lastX=null,this.state.lastY=null,this.state.tapStartTime=null,clearTimeout(this.state.pressTO)}},{key:"touchend",value:function(t){t.preventDefault(),Object.assign(t,{mobile:!0,duration:t.timeStampUTC-this.state.tapStartTime});var e=[].concat(a(t.touches));e.length?(t.offsetX=e.reduce(function(t,e){return t+e.pageX},0)/e.length,t.offsetY=e.reduce(function(t,e){return t+e.pageY},0)/e.length,this.state.lastX=t.offsetX,this.state.lastY=t.offsetY):(t.offsetX=this.state.lastX,t.offsetY=this.state.lastY),this.state.moving||this.state.pinching||(t.duration>=this.settings.pressThreshold?this.settings.press(t):(clearTimeout(this.state.pressTO),this.settings.tap(t))),t.touches.length<=1&&(this.state.pinching=!1,this.state.scaleStart=null,this.state.lastPinch=null),0===t.touches.length&&(this.state.moving=null,this.state.lastX=null,this.state.lastY=null,this.state.tapStartTime=null)}},{key:"mousemove",value:function(t){this.state.tapStartTime&&(this.state.moving||(Math.abs(t.offsetX-this.state.lastX)>this.settings.moveThreshold||Math.abs(t.offsetY-this.state.lastY)>this.settings.moveThreshold)&&(this.state.moving=!0,clearTimeout(this.state.pressTO)),this.state.moving&&(Object.assign(t,{mobile:!1,deltaX:t.offsetX-this.state.lastX,deltaY:t.offsetY-this.state.lastY}),this.settings.move(t),this.state.lastX=t.offsetX,this.state.lastY=t.offsetY))}},{key:"touchmove",value:function(t){if(t.preventDefault(),this.state.tapStartTime){var e=[].concat(a(t.touches));(0,r.has)(t,"scale")||(t.scale=e.length<2?1:(0,r.hypotenuse)(e[0].pageX-e[1].pageX,e[0].pageY-e[1].pageY)/this.state.scaleStart),Object.assign(t,{offsetX:e.reduce(function(t,e){return t+e.pageX},0)/e.length,offsetY:e.reduce(function(t,e){return t+e.pageY},0)/e.length,scaleStep:t.scale/this.state.lastPinch,mobile:!0}),this.state.pinching&&(this.settings.zoom(t),this.state.lastPinch=t.scale),this.state.moving||(Math.abs(t.offsetX-this.state.lastX)>this.settings.moveThreshold||Math.abs(t.offsetY-this.state.lastY)>this.settings.moveThreshold)&&(this.state.moving=!0,clearTimeout(this.state.pressTO)),this.state.moving&&(Object.assign(t,{deltaX:t.offsetX-this.state.lastX,deltaY:t.offsetY-this.state.lastY}),this.settings.move(t),this.state.lastX=t.offsetX,this.state.lastY=t.offsetY)}}},{key:"touchcancel",value:function(t){console.log("touchcancel",t)}},{key:"wheel",value:function(t){Object.assign(t,{scaleStep:1+t.deltaY/this.settings.wheelFactor,mobile:!1}),this.settings.zoom(t)}}]),t}();e.default=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Tessellate=void 0;var n,r=function(){function t(t,e){for(var i=0;i