angry-pixel 1.2.17 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -86
- package/lib/index.cjs.js +1 -1
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.d.ts +2218 -1
- package/lib/index.esm.js +1 -1
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +4 -8
- package/package.dev.json +0 -32
package/lib/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../packages/core/lib/index.esm.js"],"sourcesContent":["var t=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),e=function(){function e(e,i,n,r){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(e,i,n,r)}return Object.defineProperty(e.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),e.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},e.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},e.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},e.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},e.prototype.contains=function(i){return i instanceof e?i.x1<=this.x1&&i.x>=this.x&&i.y1<=this.y1&&i.y>=this.y:i instanceof t&&!(i.x<this.x||i.y<this.y||i.x>=this.x1||i.y>=this.y1)},e}(),i=function(t,e,i){return Math.min(i,Math.max(e,t))},n=function(t,e){return Math.round(Math.random()*(e-t))+t},r=function(t,e,i){return void 0===i&&(i=2),o(Math.random()*(e-t)+t,i)},o=function(t,e){return Math.round(t*Math.pow(10,e))/Math.pow(10,e)},s=function(t,e,i){void 0===i&&(i=1);for(var n=[],r=t;r<=e;r+=i)n.push(r);return n},a=function(t,e,i){return t>=e&&t<=i},h=function(){function e(e,i){void 0===e&&(e=null),void 0===i&&(i=null),this._degrees=0,this._radians=0,this._direction=new t,e?this.radians=e:i&&(this.degrees=i)}return Object.defineProperty(e.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),e.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))},e}(),c=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function t(t,e,i,n){this._position=new c,this._center=new c,this._width=0,this._height=0,this.set(t,e,i,n)}Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof c&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)}}(),function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new c,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var l=function(){function t(){var t=this;this.gamepads=new Map,this.eventHandler=function(e){\"gamepadconnected\"===e.type?t.gamepadConnected(e.gamepad):\"gamepaddisconnected\"===e.type&&t.gamepadDisconected(e.gamepad)},window.addEventListener(\"gamepadconnected\",this.eventHandler),window.addEventListener(\"gamepaddisconnected\",this.eventHandler)}return t.prototype.getGamepad=function(t){var e;return null!==(e=this.gamepads.get(t))&&void 0!==e?e:null},t.prototype.getGamepads=function(){return Array.from(this.gamepads.values())},t.prototype.gamepadConnected=function(t){this.gamepads.set(t.index,new u),this.gamepads.get(t.index).updateFromGamepad(t)},t.prototype.gamepadDisconected=function(t){this.gamepads.delete(t.index)},t.prototype.update=function(){for(var t=0,e=this.getGamepadsFromBrowser();t<e.length;t++){var i=e[t];null!==i&&(!1===this.gamepads.has(i.index)?this.gamepadConnected(i):this.gamepads.get(i.index).updateFromGamepad(i))}},t.prototype.getGamepadsFromBrowser=function(){return navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[]},t}(),u=function(){function t(){this.buttons=new Map,this.axes=new Map,this._dpadAxes=new c,this._leftStickAxes=new c,this._rightStickAxes=new c,this._vibrating=!1}return t.prototype.updateFromGamepad=function(t){var e=this;this._gamepad=t,t.buttons.forEach((function(t,i){return e.buttons.set(i,t.pressed)})),t.axes.forEach((function(t,i){return e.axes.set(i,t)}))},Object.defineProperty(t.prototype,\"id\",{get:function(){return this._gamepad.id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"connected\",{get:function(){return this._gamepad.connected},enumerable:!1,configurable:!0}),t.prototype.getButtonPressed=function(t){return this.buttons.get(t)},t.prototype.getAxis=function(t){return this.axes.get(t)},Object.defineProperty(t.prototype,\"dpadAxes\",{get:function(){return this._dpadAxes.set(this.dpadRight?1:this.dpadLeft?-1:0,this.dpadUp?1:this.dpadDown?-1:0),this._dpadAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickAxes\",{get:function(){return this._leftStickAxes.set(this.leftStickHorizontal,this.leftStickVertical),this._leftStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickAxes\",{get:function(){return this._rightStickAxes.set(this.rightStickHorizontal,this.rightStickVertical),this._rightStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadUp\",{get:function(){var t;return null!==(t=this.buttons.get(12))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadDown\",{get:function(){var t;return null!==(t=this.buttons.get(13))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadLeft\",{get:function(){var t;return null!==(t=this.buttons.get(14))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadRight\",{get:function(){var t;return null!==(t=this.buttons.get(15))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"bottomFace\",{get:function(){var t;return null!==(t=this.buttons.get(0))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightFace\",{get:function(){var t;return null!==(t=this.buttons.get(1))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftFace\",{get:function(){var t;return null!==(t=this.buttons.get(2))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"topFace\",{get:function(){var t;return null!==(t=this.buttons.get(3))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(4))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(5))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(6))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(7))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"back\",{get:function(){var t;return null!==(t=this.buttons.get(8))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"start\",{get:function(){var t;return null!==(t=this.buttons.get(9))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(10))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(11))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(0))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(1))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(2))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(3))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"anyButtonPressed\",{get:function(){var t;return null!==(t=Array.from(this.buttons.values()).find((function(t){return t})))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"vibrating\",{get:function(){return this._vibrating},enumerable:!1,configurable:!0}),t.prototype.vibrate=function(t,e,i,n){var r=this;void 0===t&&(t=200),void 0===e&&(e=.2),void 0===i&&(i=.2),void 0===n&&(n=0),this._gamepad.vibrationActuator&&(this._vibrating=!0,this._gamepad.vibrationActuator.playEffect(this._gamepad.vibrationActuator.type,{duration:t,weakMagnitude:e,strongMagnitude:i,startDelay:n}).catch((function(){return r._vibrating=!1})).finally((function(){return r._vibrating=!1})))},t}(),p=function(){function t(t,e,i,n){this.mouse=t,this.keyboard=e,this.gamepad=i,this.touch=n}return t.prototype.update=function(){this.mouse.update(),this.gamepad.update()},t}(),d=function(){function t(t){var e=this;this.pressedKeys=[],this.keyMap=new Map,this.eventHandler=function(t){if(\"keydown\"===t.type&&(e.keyMap.set(t.code,!0),e.pressedKeys.includes(t.code)||e.pressedKeys.push(t.code)),\"keyup\"===t.type){e.keyMap.set(t.code,!1);var i=e.pressedKeys.indexOf(t.code);-1!==i&&e.pressedKeys.splice(i,1)}},t.addEventListener(\"keydown\",this.eventHandler),t.addEventListener(\"keyup\",this.eventHandler)}return t.prototype.isPressed=function(t){var e;return null!==(e=this.keyMap.get(t))&&void 0!==e&&e},t.prototype.orPressed=function(t){var e=this;return t.reduce((function(t,i){var n;return t||null!==(n=e.keyMap.get(i))&&void 0!==n&&n}),!1)},t.prototype.andPressed=function(t){var e=this;return t.reduce((function(t,i){var n;return t&&null!==(n=e.keyMap.get(i))&&void 0!==n&&n}),!0)},t.prototype.isPressedReturn=function(t,e,i){return this.keyMap.get(t)?e:i},t.prototype.orPressedReturn=function(t,e,i){var n=this;return t.reduce((function(t,e){var i;return t||null!==(i=n.keyMap.get(e))&&void 0!==i&&i}),!1)?e:i},t.prototype.andPressedReturn=function(t,e,i){var n=this;return t.reduce((function(t,e){var i;return t&&null!==(i=n.keyMap.get(e))&&void 0!==i&&i}),!0)?e:i},t}(),f=function(){function t(t){this._leftButtonPressed=!1,this._scrollButtonPressed=!1,this._rightButtonPressed=!1,this._positionInViewport=new c,this._hasMoved=!1,this._wheelScroll=new c,this.lastPositionInViewport=new c,this.canvas=t,this.setup()}return Object.defineProperty(t.prototype,\"leftButtonPressed\",{get:function(){return this._leftButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"scrollButtonPressed\",{get:function(){return this._scrollButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightButtonPressed\",{get:function(){return this._rightButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"positionInViewport\",{get:function(){return this._positionInViewport},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"hasMoved\",{get:function(){return this._hasMoved},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"wheelScroll\",{get:function(){return this._wheelScroll},enumerable:!1,configurable:!0}),t.prototype.update=function(){!1===this._positionInViewport.equals(this.lastPositionInViewport)?(this._hasMoved=!0,this.lastPositionInViewport.copy(this._positionInViewport)):this._hasMoved=!1,this.wheelEvent?(this._wheelScroll.set(this.wheelEvent.deltaX,this.wheelEvent.deltaY),this.wheelEvent=void 0):this._wheelScroll.set(0,0)},t.prototype.setup=function(){var t=this;this.canvas.addEventListener(\"mousemove\",(function(e){return t.updatePosition(e)})),this.canvas.addEventListener(\"mousedown\",(function(e){return t.updateButtonDown(e)})),this.canvas.addEventListener(\"mouseup\",(function(e){return t.updateButtonUp(e)})),this.canvas.addEventListener(\"wheel\",(function(e){return t.handleWheelEvent(e)}))},t.prototype.updateButtonDown=function(t){this.canvas.focus(),t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0===t.button,this._scrollButtonPressed=1===t.button,this._rightButtonPressed=2===t.button},t.prototype.updateButtonUp=function(t){t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0!==t.button&&this._leftButtonPressed,this._scrollButtonPressed=1!==t.button&&this._scrollButtonPressed,this._rightButtonPressed=2!==t.button&&this._rightButtonPressed},t.prototype.updatePosition=function(t){t.preventDefault(),t.stopPropagation(),this._positionInViewport.set(t.offsetX/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-t.offsetY/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2)},t.prototype.handleWheelEvent=function(t){t.preventDefault(),t.stopPropagation(),this.wheelEvent=t},t}(),g=function(){function t(t){var e=this;this._touching=!1,this._interactions=[],this.eventHandler=function(t){\"touchstart\"===t.type&&(e._touching=!0,e.updatePosition(t)),\"touchmove\"===t.type&&e.updatePosition(t),\"touchend\"!==t.type&&\"touchcancel\"!==t.type||(e._touching=!1)},this.canvas=t,this.canvas.addEventListener(\"touchstart\",this.eventHandler),this.canvas.addEventListener(\"touchend\",this.eventHandler),this.canvas.addEventListener(\"touchcancel\",this.eventHandler),this.canvas.addEventListener(\"touchmove\",this.eventHandler)}return Object.defineProperty(t.prototype,\"touching\",{get:function(){return this._touching},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"interactions\",{get:function(){return this._interactions},enumerable:!1,configurable:!0}),t.prototype.updatePosition=function(t){if(t.preventDefault(),t.stopPropagation(),this._interactions=[],0!==t.targetTouches.length)for(var e=0;e<t.targetTouches.length;e++)this._interactions[e]={positionInViewport:new c((t.targetTouches[e].clientX-this.canvas.offsetLeft)/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-(t.targetTouches[e].clientY-this.canvas.offsetTop)/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2),radius:new c(t.targetTouches[e].radiusX,t.targetTouches[e].radiusY)}},t}(),m=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),y=function(){function t(t,e,i,n){this._position=new m,this._center=new m,this._width=0,this._height=0,this.set(t,e,i,n)}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof m&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},t}(),v=function(t,e,i){return Math.min(i,Math.max(e,t))};!function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new m,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var x,b=function(){function t(){}return t.prototype.create=function(t){var e=t.shape,i=t.layer,n=t.updateCollisions,r=t.physics,o=t.position,s=t.rotation,a=t.group,h=t.onCollision;return{id:0,active:!0,layer:i,shape:e,updateCollisions:n,physics:r,position:null!=o?o:new m,rotation:null!=s?s:0,group:a,onCollision:h}},t}(),M=function(){function t(t,e){void 0===e&&(e=0),this.area=new y(0,0,0,0),this.depth=0,this.items=[],this.children=[],this.depth=e,this.resize(t)}return t.prototype.resize=function(t){this.clear(),this.area.copy(t)},t.prototype.clear=function(){this.items=[],this.children.forEach((function(t){return t.clear()})),this.children=[]},t.prototype.insert=function(t,e){0===this.children.length&&this.items.length>16&&this.depth<8&&this.split(),this.children.length>0?this.insertItemIntoChildren(t,e):this.items.push([t,e])},t.prototype.split=function(){var e=this,i=this.area.width/2,n=this.area.height/2;this.children=[new y(this.area.x,this.area.y,i,n),new y(this.area.x,this.area.y+n,i,n),new y(this.area.x+i,this.area.y+n,i,n),new y(this.area.x+i,this.area.y,i,n)].map((function(i){return new t(i,e.depth+1)})),this.items.forEach((function(t){return e.insertItemIntoChildren(t[0],t[1])})),this.items=[]},t.prototype.insertItemIntoChildren=function(t,e){this.getChildrenForArea(e).forEach((function(i){return i.insert(t,e)}))},t.prototype.retrieve=function(t){var e=[];return this.children.length>0?this.getChildrenForArea(t).forEach((function(i){return e.push.apply(e,i.retrieve(t))})):this.items.forEach((function(t){return e.push(t[0])})),e},t.prototype.getChildrenForArea=function(t){var e=[];return t.x<=this.area.center.x&&t.y<=this.area.center.y&&e.push(this.children[0]),t.x<=this.area.center.x&&t.y1>=this.area.center.y&&e.push(this.children[1]),t.x1>=this.area.center.x&&t.y1>=this.area.center.y&&e.push(this.children[2]),t.x1>=this.area.center.x&&t.y<=this.area.center.y&&e.push(this.children[3]),e},t}(),_=function(t,e,i,n){return Math.min((t-e)/i|0,n-1)},w=function(){function t(t){this.coordinates={x0:0,x1:0,y0:0,y1:0},this._subdivisions=1,this.resize(t)}return Object.defineProperty(t.prototype,\"subdivisions\",{get:function(){return this._subdivisions},set:function(t){this._subdivisions=v(t,1,20)},enumerable:!1,configurable:!0}),t.prototype.resize=function(t){this.area=t,this.cellWidth=Math.ceil(t.width/this._subdivisions),this.cellHeight=Math.ceil(t.height/this._subdivisions),this.itemsInCells=[];for(var e=0;e<this._subdivisions;e++){this.itemsInCells[e]=[];for(var i=0;i<this._subdivisions;i++)this.itemsInCells[e][i]=[]}},t.prototype.clear=function(){for(var t=0;t<this._subdivisions;t++)for(var e=0;e<this._subdivisions;e++)this.itemsInCells[t][e]=[]},t.prototype.insert=function(t,e){this.updateCoordinates(e);for(var i=this.coordinates.x0;i<=this.coordinates.x1;i++)for(var n=this.coordinates.y0;n<=this.coordinates.y1;n++)this.itemsInCells[i][n].push(t)},t.prototype.retrieve=function(t){var e=[];this.updateCoordinates(t);for(var i=this.coordinates.x0;i<=this.coordinates.x1;i++)for(var n=this.coordinates.y0;n<=this.coordinates.y1;n++)this.itemsInCells[i][n].forEach((function(t){return e.includes(t)?null:e.push(t)}));return e},t.prototype.updateCoordinates=function(t){this.coordinates.x0=_(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=_(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=_(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=_(t.y1,this.area.y,this.cellHeight,this._subdivisions)},t}();!function(t){t[t.QuadTree=0]=\"QuadTree\",t[t.SpartialGrid=1]=\"SpartialGrid\"}(x||(x={}));var C,j=function(){function t(t,e,i,n){this.collisions=[],this.lastCollidersAmount=0,this.minArea=new m,this.maxArea=new m,this.newArea=new y(0,0,0,0),this.method=t,this.colliders=[],this.activeColliders=[],this.collisionMatrix=n,this.setupBroadPhaseResolver(null!=e?e:x.QuadTree,i)}return t.prototype.setupBroadPhaseResolver=function(t,e){this.collisionArea=null!=e?e:new y(0,0,0,0),this.fixedCollisionArea=!!e,t===x.SpartialGrid?this.broadPhaseResolver=new w(this.collisionArea):this.broadPhaseResolver=new M(this.collisionArea)},t.prototype.addCollider=function(t){t.id=this.colliders.length,this.colliders.push(t)},t.prototype.getCollider=function(t){return this.colliders[t]},t.prototype.removeCollider=function(t){this.colliders.splice(t.id,1),this.colliders.forEach((function(t,e){return t.id=e}))},t.prototype.clearColliders=function(){this.colliders=[]},t.prototype.getCollisionsForCollider=function(t){return t.active?this.collisions.filter((function(e){return e.localCollider.id===t.id})):[]},t.prototype.getCollisionsForColliderAndLayer=function(t,e){return t.active?this.collisions.filter((function(i){return i.localCollider.id===t.id&&i.remoteCollider.layer===e})):[]},t.prototype.refreshCollisionsForCollider=function(t){this.colliders[t.id]&&t.active&&(this.collisions=this.collisions.filter((function(e){return e.localCollider.id!==t.id&&e.remoteCollider.id!==t.id})),this.updateShape(t),this.narrowPhase(t,this.broadPhase(t)))},t.prototype.resolve=function(){var t=this;this.collisions=[],0!==this.colliders.length&&(this.activeColliders=this.colliders.filter((function(t){return t.active})),this.broadPhaseResolver.clear(),this.activeColliders.forEach((function(e){t.updateShape(e)})),!1===this.fixedCollisionArea&&(this.updateNewArea(),!1===this.newArea.equals(this.collisionArea)&&(this.collisionArea.copy(this.newArea),this.broadPhaseResolver.resize(this.collisionArea))),this.checkForSpartialGridResize(),this.activeColliders.forEach((function(e){var i=e.id,n=e.shape.boundingBox;return t.broadPhaseResolver.insert(i,n)})),this.updateCollisions())},t.prototype.updateShape=function(t){t.shape.position=t.position,t.shape.rotation=t.rotation,t.shape.update()},t.prototype.updateNewArea=function(){var t=this;this.activeColliders.forEach((function(e){var i=e.shape.boundingBox;t.minArea.set(Math.min(i.x,t.minArea.x),Math.min(i.y,t.minArea.y)),t.maxArea.set(Math.max(i.x1,t.maxArea.x),Math.max(i.y1,t.maxArea.y))})),this.newArea.set(this.minArea.x,this.minArea.y,this.maxArea.x-this.minArea.x,this.maxArea.y-this.minArea.y)},t.prototype.checkForSpartialGridResize=function(){this.broadPhaseResolver instanceof w&&this.lastCollidersAmount!==this.activeColliders.length&&(this.broadPhaseResolver.subdivisions=1+(this.activeColliders.length/10|0),this.broadPhaseResolver.resize(this.collisionArea),this.lastCollidersAmount=this.activeColliders.length)},t.prototype.updateCollisions=function(){var t=this;this.activeColliders.filter((function(t){return t.updateCollisions})).forEach((function(e){return t.narrowPhase(e,t.broadPhase(e))}))},t.prototype.broadPhase=function(t){var e=this;return this.collisionMatrix?this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return e.colliders[t]})).filter((function(t){return t.active})).filter((function(i){return e.collisionMatrix.some((function(e){return e[0]===t.layer&&e[1]===i.layer||e[1]===t.layer&&e[0]===i.layer}))})):this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return e.colliders[t]})).filter((function(t){return t.active}))},t.prototype.narrowPhase=function(t,e){var i=this;e.filter((function(e){return!(t.group&&e.group&&e.group===t.group||t.id===e.id)})).forEach((function(e){if(!i.isResolved(t,e)){var n=i.method.getCollisionResolution(t.shape,e.shape);null!==n&&(i.collisions.push({localCollider:t,remoteCollider:e,resolution:n},{localCollider:e,remoteCollider:t,resolution:{direction:n.displacementDirection,displacementDirection:n.direction,penetration:n.penetration}}),t.onCollision&&t.onCollision(n))}}))},t.prototype.isResolved=function(t,e){for(var i=0,n=this.collisions;i<n.length;i++){var r=n[i];if(r.localCollider.id===t.id&&r.remoteCollider.id===e.id)return!0}return!1},t}();!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(C||(C={}));var O,P=function(){function t(t,e,i){this.AABBResolver=t,this.circumferenceAABBResolver=e,this.circumferenceResolver=i}return t.prototype.getCollisionResolution=function(t,e){return t.type===C.Polygon&&e.type===C.Polygon?this.AABBResolver.resolve(t,e):t.type===C.Circumference&&e.type===C.Polygon?this.circumferenceAABBResolver.resolve(t,e):t.type===C.Polygon&&e.type===C.Circumference?this.circumferenceAABBResolver.resolve(e,t,!0):t.type===C.Circumference&&e.type===C.Circumference?this.circumferenceResolver.resolve(t,e):null},t}();!function(t){t[t.AABB=0]=\"AABB\",t[t.SAT=1]=\"SAT\"}(O||(O={}));var R=function(){function t(t,e){this.circumferenceResolver=t,this.satResolver=e}return t.prototype.getCollisionResolution=function(t,e){return t.type===C.Circumference&&e.type===C.Circumference?this.circumferenceResolver.resolve(t,e):this.satResolver.resolve(t,e)},t}(),A=function(){function t(){this.direction=new m,this.displacementDirection=new m}return t.prototype.resolve=function(t,e){var i=t.boundingBox,n=e.boundingBox;return this.overlapX=Math.min(i.x1,n.x1)-Math.max(i.x,n.x),this.overlapY=Math.min(i.y1,n.y1)-Math.max(i.y,n.y),this.overlapX<0||this.overlapY<0?null:(this.checkOverlapForLines(i,n),this.direction.set(Math.sign(n.center.x-i.center.x),Math.sign(n.center.y-i.center.y)),this.preventContainment(i,n),this.overlapY<this.overlapX?(this.minOverlap=this.overlapY,this.displacementDirection.set(0,-this.direction.y)):(this.minOverlap=this.overlapX,this.displacementDirection.set(-this.direction.x,this.overlapY===this.overlapX?-this.direction.y:0)),m.unit(this.displacementDirection,this.displacementDirection),{direction:m.scale(new m,this.displacementDirection,-1),displacementDirection:this.displacementDirection.clone(),penetration:this.minOverlap})},t.prototype.checkOverlapForLines=function(t,e){0!==t.width&&0!==e.width||0!==this.overlapX||(this.overlapX=Math.min(Math.abs(t.x-e.x),Math.abs(t.x1-e.x1))),0!==t.height&&0!==e.height||0!==this.overlapY||(this.overlapY=Math.min(Math.abs(t.y-e.y),Math.abs(t.y1-e.y1)))},t.prototype.preventContainment=function(t,e){if(this.overlapY>0&&(t.y1>e.y1&&t.y<e.y||t.y1<e.y1&&t.y>e.y)){var i=Math.abs(t.y-e.y),n=Math.abs(t.y1-e.y1);this.overlapY+=i<n?i:n}this.overlapX>0&&(t.x1>e.x1&&t.x<e.x||t.x1<e.x1&&t.x>e.x)&&(i=Math.abs(t.x-e.x),n=Math.abs(t.x1-e.x1),this.overlapX+=i<n?i:n)},t}(),S=function(){function t(){this.closestPoint=new m,this.distance=new m,this.direction=new m}return t.prototype.resolve=function(t,e,i){return void 0===i&&(i=!1),this.closestPoint.set(v(t.position.x,e.boundingBox.x,e.boundingBox.x1),v(t.position.y,e.boundingBox.y,e.boundingBox.y1)),m.subtract(this.distance,this.closestPoint,t.position),this.distance.magnitude>t.radius?null:(m.unit(this.direction,this.distance),{direction:i?m.scale(new m,this.direction,-1):this.direction.clone(),displacementDirection:i?this.direction.clone():m.scale(new m,this.direction,-1),penetration:t.radius-this.distance.magnitude})},t}(),E=function(){function t(){this.distance=new m,this.direction=new m}return t.prototype.resolve=function(t,e){return m.subtract(this.distance,e.position,t.position),this.distance.magnitude>t.radius+e.radius?null:(m.unit(this.direction,this.distance),{direction:this.direction.clone(),displacementDirection:m.scale(new m,this.direction,-1),penetration:t.radius+e.radius-this.distance.magnitude})},t}(),T=function(t,e){return T=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},T(t,e)};function D(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError;var F,B=function(){function t(){this.projA={min:0,max:0},this.projB={min:0,max:0},this.smallestAxis=new m,this.distance=new m(1/0,1/0),this.cache=new m}return t.prototype.resolve=function(t,e){var i=this;this.minOverlap=1/0,t.type===C.Circumference?this.setCircumferenceAxis(t,e):e.type===C.Circumference&&this.setCircumferenceAxis(e,t),this.axes=D([],t.projectionAxes,!0),e.projectionAxes.forEach((function(t){return i.axes.some((function(e){return e.equals(t)}))?null:i.axes.push(t)}));for(var n=0;n<this.axes.length;n++){if(t.type===C.Circumference?this.setCircumferenceVertices(t,this.axes[n]):e.type===C.Circumference&&this.setCircumferenceVertices(e,this.axes[n]),this.projectShapeOntoAxis(this.projA,t,this.axes[n]),this.projectShapeOntoAxis(this.projB,e,this.axes[n]),this.currentOverlap=Math.min(this.projA.max,this.projB.max)-Math.max(this.projA.min,this.projB.min),this.currentOverlap<0)return null;if(this.invertAxis=!0,this.projA.max>this.projB.max&&this.projA.min<this.projB.min||this.projA.max<this.projB.max&&this.projA.min>this.projB.min){var r=Math.abs(this.projA.min-this.projB.min),o=Math.abs(this.projA.max-this.projB.max);r<o?this.currentOverlap+=r:(this.currentOverlap+=o,m.scale(this.axes[n],this.axes[n],-1),this.invertAxis=!1)}this.currentOverlap<this.minOverlap&&(this.minOverlap=this.currentOverlap,this.smallestAxis.copy(this.axes[n]),this.invertAxis&&this.projA.max<this.projB.max&&m.scale(this.smallestAxis,this.axes[n],-1))}return{direction:m.scale(new m,this.smallestAxis,-1),displacementDirection:this.smallestAxis.clone(),penetration:this.minOverlap}},t.prototype.projectShapeOntoAxis=function(t,e,i){return t.min=1/0,t.max=-1/0,e.vertices.forEach((function(e){t.min=Math.min(m.dot(i,e),t.min),t.max=Math.max(m.dot(i,e),t.max)})),t},t.prototype.setCircumferenceAxis=function(t,e){var i=this;this.distance.set(1/0,1/0),e.vertices.forEach((function(e){m.subtract(i.cache,e,t.position),i.cache.magnitude<i.distance.magnitude&&i.distance.copy(i.cache)})),m.unit(t.projectionAxes[0],this.distance)},t.prototype.setCircumferenceVertices=function(t,e){m.add(t.vertices[0],t.position,m.scale(this.cache,m.unit(this.cache,e),-t.radius)),m.add(t.vertices[1],t.position,m.scale(this.cache,m.unit(this.cache,e),t.radius))},t}(),U=function(){function t(t,e,i,n){this.collisionManager=t,this.colliderFactory=e,this.rigidBodyManager=i,this.rigidBodyFactory=n}return t.prototype.addCollider=function(t){var e=this.colliderFactory.create(t);return this.collisionManager.addCollider(e),e},t.prototype.removeCollider=function(t){this.collisionManager.removeCollider(t)},t.prototype.getCollisionsForCollider=function(t){return this.collisionManager.getCollisionsForCollider(t)},t.prototype.getCollisionsForColliderAndLayer=function(t,e){return this.collisionManager.getCollisionsForColliderAndLayer(t,e)},t.prototype.addRigidBody=function(t){var e=this.rigidBodyFactory.create(t);return this.rigidBodyManager.addRigidBody(e),e},t.prototype.removeRigidBody=function(t){this.rigidBodyManager.removeRigidBody(t)},t.prototype.resolve=function(t){this.collisionManager.resolve(),this.rigidBodyManager.resolve(t)},t.prototype.clear=function(){this.collisionManager.clearColliders(),this.rigidBodyManager.clearRigidBodies()},t}(),I=function(){function t(){}return t.prototype.create=function(t){var e=t.colliderIds,i=t.type,n=t.gravity,r=t.position,o=t.velocity,s=t.onResolve;if(0===e.length)throw new Error(\"RigidBody needs at least one collider\");return{active:!0,colliderIds:e,type:i,gravity:null!=n?n:0,position:null!=r?r:new m,velocity:null!=o?o:new m,onResolve:s}},t}();!function(t){t[t.Static=0]=\"Static\",t[t.Dynamic=1]=\"Dynamic\",t[t.Kinematic=2]=\"Kinematic\"}(F||(F={}));var L=[\"x\",\"y\"],V=function(){function t(t){this.collisionManager=t,this.rigidBodies=[],this.activeRigidBodies=[],this.colliders=[],this.velocity=new m,this.displacement=new m,this.cacheDisplacement=0}return t.prototype.addRigidBody=function(t){this.rigidBodies.push(t)},t.prototype.removeRigidBody=function(t){var e=this.rigidBodies.indexOf(t);e>=0&&this.rigidBodies.splice(e,1)},t.prototype.clearRigidBodies=function(){this.rigidBodies=[]},t.prototype.resolve=function(t){var e=this;this.activeRigidBodies=this.rigidBodies.filter((function(t){return t.active})),this.colliders=this.activeRigidBodies.reduce((function(t,e){return D(D([],t,!0),e.colliderIds,!0)}),[]),this.activeRigidBodies.forEach((function(i){i.type===F.Dynamic?e.dynamicUpdate(i,t):i.type===F.Kinematic&&e.kinematicUpdate(i,t),i.onResolve&&i.onResolve(i)}))},t.prototype.dynamicUpdate=function(t,e){var i=this;this.applyGravity(t,e),L.forEach((function(n){i.applyVelocity(t,e,n),i.obtainDisplacement(t,n),i.applyReposition(t,n)}))},t.prototype.kinematicUpdate=function(t,e){var i=this;m.add(t.position,t.position,m.scale(this.velocity,t.velocity,e)),t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).forEach((function(t){m.add(t.position,t.position,i.velocity),i.collisionManager.refreshCollisionsForCollider(t)}))},t.prototype.applyGravity=function(t,e){t.gravity>0&&(t.velocity.y-=t.gravity*e)},t.prototype.applyVelocity=function(t,e,i){var n=this;this.velocity[i]=t.velocity[i]*e,0!==this.velocity[i]&&(t.position[i]+=this.velocity[i],t.colliderIds.map((function(t){return n.collisionManager.getCollider(t)})).forEach((function(t){t.position[i]+=n.velocity[i],n.collisionManager.refreshCollisionsForCollider(t)})))},t.prototype.obtainDisplacement=function(t,e){var i=this;this.displacement[e]=0,this.getCollisions(t).forEach((function(t){i.cacheDisplacement=t.resolution.displacementDirection[e]*t.resolution.penetration,i.displacement[e]=Math.abs(i.displacement[e])>Math.abs(i.cacheDisplacement)?i.displacement[e]:i.cacheDisplacement}))},t.prototype.applyReposition=function(t,e){var i=this;0!==this.displacement[e]&&(t.position[e]+=this.displacement[e],t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).forEach((function(t){t.position[e]+=i.displacement[e],i.collisionManager.refreshCollisionsForCollider(t)})),Math.sign(this.displacement[e])!==Math.sign(t.velocity[e])&&(t.velocity[e]=0))},t.prototype.getCollisions=function(t){var e=this;return t.colliderIds.map((function(t){return e.collisionManager.getCollider(t)})).filter((function(t){return t.active&&t.physics})).reduce((function(t,i){return t.push.apply(t,e.collisionManager.getCollisionsForCollider(i).filter((function(t){return t.remoteCollider.physics&&e.colliders.includes(t.remoteCollider.id)}))),t}),[])},t}(),G=function(){function t(t){this.radius=t,this.type=C.Circumference,this.boundingBox=new y(0,0,0,0),this.vertices=[new m,new m],this.projectionAxes=[new m],this._position=new m}return Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),t.prototype.update=function(){this.updateBoundingBox()},t.prototype.updateBoundingBox=function(){this.boundingBox.set(this.position.x-this.radius,this.position.y-this.radius,2*this.radius,2*this.radius)},t}(),k=function(){function t(t){this.vertexModel=t,this.type=C.Polygon,this.vertices=[new m,new m],this.projectionAxes=[new m],this.boundingBox=new y(0,0,0,0),this.rotation=0,this._position=new m}return t.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),t.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},t.prototype.updateBoundingBox=function(){this.boundingBox.x=Math.min(this.vertices[0].x,this.vertices[1].x),this.boundingBox.y=Math.min(this.vertices[0].y,this.vertices[1].y),this.boundingBox.width=Math.max(this.vertices[0].x,this.vertices[1].x)-this.boundingBox.x,this.boundingBox.height=Math.max(this.vertices[0].y,this.vertices[1].y)-this.boundingBox.y},t.prototype.updateProjectionAxes=function(){m.normal(this.projectionAxes[0],m.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0]))},t}(),W=function(){function t(t){this.vertexModel=t,this.type=C.Polygon,this.vertices=[],this.boundingBox=new y(0,0,0,0),this.rotation=0,this._projectionAxes=[],this._position=new m,this.boxMinX=Number.MAX_SAFE_INTEGER,this.boxMinY=Number.MAX_SAFE_INTEGER,this.boxMaxX=-Number.MAX_SAFE_INTEGER,this.boxMaxY=-Number.MAX_SAFE_INTEGER;for(var e=0;e<this.vertexModel.length;e++)this.vertices.push(new m),this._projectionAxes.push(new m)}return Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"projectionAxes\",{get:function(){return this._projectionAxes},enumerable:!1,configurable:!0}),t.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},t.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},t.prototype.updateBoundingBox=function(){var t=this;this.boxMinX=this.vertices[0].x,this.boxMinY=this.vertices[0].y,this.boxMaxX=this.vertices[0].x,this.boxMaxY=this.vertices[0].y,this.vertices.forEach((function(e){t.boxMinX=Math.min(e.x,t.boxMinX),t.boxMinY=Math.min(e.y,t.boxMinY),t.boxMaxX=Math.max(e.x,t.boxMaxX),t.boxMaxY=Math.max(e.y,t.boxMaxY)})),this.boundingBox.set(this.boxMinX,this.boxMinY,this.boxMaxX-this.boxMinX,this.boxMaxY-this.boxMinY)},t.prototype.updateProjectionAxes=function(){for(var t,e=0;e<this.vertices.length;e++)m.normal(this._projectionAxes[e],m.subtract(this._projectionAxes[e],null!==(t=this.vertices[e+1])&&void 0!==t?t:this.vertices[0],this.vertices[e]))},t}(),H=function(t){function e(e,i){var n=t.call(this,[new m(-e/2,-i/2),new m(-e/2,i/2),new m(e/2,i/2),new m(e/2,-i/2)])||this;return n.width=e,n.height=i,n._projectionAxes=[new m,new m],n}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function i(){this.constructor=t}T(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,t),e.prototype.updateSize=function(t,e){this.width=t,this.height=e,this.vertexModel[0].set(-t/2,-e/2),this.vertexModel[1].set(-t/2,e/2),this.vertexModel[2].set(t/2,e/2),this.vertexModel[3].set(t/2,-e/2)},e.prototype.updateProjectionAxes=function(){m.unit(this.projectionAxes[0],m.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0])),m.normal(this.projectionAxes[1],this.projectionAxes[0])},e}(W),z=function(t,e){return z=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},z(t,e)};function N(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function i(){this.constructor=t}z(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var Y,X=function(){return X=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},X.apply(this,arguments)};function q(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError,function(t){t[t.Init=0]=\"Init\",t[t.Start=1]=\"Start\",t[t.Update=2]=\"Update\",t[t.UpdateEngine=3]=\"UpdateEngine\",t[t.UpdateCollider=4]=\"UpdateCollider\",t[t.UpdatePhysics=5]=\"UpdatePhysics\",t[t.UpdateTransform=6]=\"UpdateTransform\",t[t.UpdatePreRender=7]=\"UpdatePreRender\",t[t.UpdateCamera=8]=\"UpdateCamera\",t[t.UpdateRender=9]=\"UpdateRender\",t[t.Destroy=10]=\"Destroy\",t[t.StopGame=11]=\"StopGame\"}(Y||(Y={}));var K,Q,$,J=function(){function t(t,e,i,n,r,o,s){this.timeManager=t,this.physicsManager=e,this.renderManager=i,this.inputManager=n,this.gameObjectManager=r,this.sceneManager=o,this.canvasColor=s,this.running=!1,this.gameLoopAccumulator=0,this.gameObjects=[],this.components=[],this.changingScene=!1,this.sceneEvents=[Y.Start,Y.Update,Y.StopGame],this.gameObjectEvents=[Y.Start,Y.Update]}return t.prototype.start=function(){this.startLoop(!0)},t.prototype.pause=function(){this.running=!1},t.prototype.resume=function(){this.startLoop(!1)},t.prototype.stop=function(){this.running=!1,this.dispatchFrameEvent(Y.StopGame),this.physicsManager.clear(),this.renderManager.clearScreen(this.canvasColor)},t.prototype.startLoop=function(t){this.running||(this.running=!0,t&&this.sceneManager.loadOpeningScene(),this.requestAnimationLoop(window.performance.now()),this.timeManager.gameFramerate!==this.timeManager.physicsFramerate&&this.asyncPhysicsLoop())},t.prototype.requestAnimationLoop=function(t){var e=this;this.running&&(this.timeManager.updateForBrowser(.001*t),this.sceneManager.pendingSceneToload()&&(this.sceneManager.loadPendingScene(),this.changingScene=!1),this.gameLoopAccumulator+=this.timeManager.browserDeltaTime,this.gameLoopAccumulator>=this.timeManager.minGameDeltatime&&(this.gameLogicIteration(.001*t),this.gameLoopAccumulator-=this.timeManager.minGameDeltatime),this.renderIteration(),this.sceneManager.pendingSceneToload()&&(this.changingScene=!0,this.sceneManager.unloadCurrentScene()),window.requestAnimationFrame((function(t){return e.requestAnimationLoop(t)})))},t.prototype.gameLogicIteration=function(t){this.timeManager.updateForGame(t),this.load(),this.dispatchFrameEvent(Y.Start),this.inputManager.update(),this.dispatchFrameEvent(Y.Update),this.dispatchFrameEvent(Y.UpdateEngine),this.dispatchFrameEvent(Y.UpdateTransform),this.timeManager.gameFramerate===this.timeManager.physicsFramerate&&(this.timeManager.updateForPhysics(t),this.physicsIteration()),this.dispatchFrameEvent(Y.UpdatePreRender)},t.prototype.renderIteration=function(){this.dispatchFrameEvent(Y.UpdatePreRender),this.dispatchFrameEvent(Y.UpdateCamera),this.dispatchFrameEvent(Y.UpdateRender),this.renderManager.clearScreen(this.canvasColor),this.renderManager.render(),this.renderManager.clearData()},t.prototype.physicsIteration=function(){this.timeManager.timeScale<=0||this.changingScene||(this.dispatchFrameEvent(Y.UpdatePhysics),this.dispatchFrameEvent(Y.UpdateCollider),this.dispatchFrameEvent(Y.UpdateTransform),this.physicsManager.resolve(this.timeManager.physicsDeltaTime))},t.prototype.asyncPhysicsLoop=function(){var t=this;this.physicsIntervalId=window.setInterval((function(){if(!t.running)return window.clearInterval(t.physicsIntervalId);t.timeManager.updateForPhysics(.001*window.performance.now()),document.hidden||t.physicsIteration()}),1e3/this.timeManager.physicsFramerate)},t.prototype.load=function(){var t=this;this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=[],this.gameObjects.forEach((function(e){return e.getComponents().filter((function(t){return t.active})).forEach((function(e){return t.components.push(e)}))}))},t.prototype.dispatchFrameEvent=function(t){this.sceneEvents.includes(t)&&this.loadedScene.dispatch(t),this.gameObjectEvents.includes(t)&&this.gameObjects.forEach((function(e){e.active&&e.dispatch(t)})),this.components.forEach((function(e){e.active&&e.dispatch(t)}))},t}(),Z=function(){function t(t){this.updateEvent=Y.Update,this.started=!1,this.container=t,this.gameConfig=this.container.getConstant(\"GameConfig\"),this.gameConfig.headless||(this.assetManager=this.container.getSingleton(\"AssetManager\"),this.domManager=this.container.getSingleton(\"DomManager\"),this.inputManager=this.container.getSingleton(\"InputManager\"),this.renderManager=this.container.getSingleton(\"RenderManager\")),this.gameObjectManager=this.container.getSingleton(\"GameObjectManager\"),this.physicsManager=this.container.getSingleton(\"PhysicsManager\"),this.sceneManager=this.container.getSingleton(\"SceneManager\"),this.timeManager=this.container.getSingleton(\"TimeManager\")}return t.prototype.dispatch=function(t,e){t===Y.Init&&this.init?this.init(e):t!==Y.Start||this.started?t===this.updateEvent&&this.started&&this.update?this.update():t===Y.Destroy?(this.onDestroy&&this.onDestroy(),this._destroy()):t===Y.StopGame&&(this.onDestroy&&this.onDestroy(),this._stopGame()):(this.start&&this.start(),this.started=!0)},t.prototype.addGameObject=function(t,e,i){return\"string\"==typeof e&&(i=e,e={}),this.gameObjectManager.addGameObject(t,e,void 0,i)},t.prototype.findGameObjects=function(t){return t?this.gameObjectManager.findGameObjects(t):this.gameObjectManager.findGameObjects()},t.prototype.findGameObject=function(t){return this.gameObjectManager.findGameObject(t)},t.prototype.findGameObjectsByTag=function(t){return this.gameObjectManager.findGameObjectsByTag(t)},t.prototype.destroyGameObject=function(t){this.gameObjectManager.destroyGameObject(t)},t}(),tt=function(t){function e(e,i,n){void 0===n&&(n=\"\");var r=t.call(this,e)||this;return r.allowMultiple=!0,r._active=!0,r.gameObject=i,r.name=n,r}return N(e,t),Object.defineProperty(e.prototype,\"active\",{get:function(){return this._active},set:function(t){this._active!==t&&(this._active=t,this.onActiveChange())},enumerable:!1,configurable:!0}),e.prototype.onActiveChange=function(){},e.prototype.getCurrentScene=function(){return this.sceneManager.getLoadedScene()},e.prototype.getGameObject=function(){return this.gameObject},e.prototype.getComponents=function(t){return t?this.gameObject.getComponents(t):this.gameObject.getComponents()},e.prototype.getComponent=function(t){return this.gameObject.getComponent(t)},e.prototype.hasComponent=function(t){return this.gameObject.hasComponent(t)},e.prototype.removeComponent=function(t){this.gameObject.removeComponent(t)},e.prototype._destroy=function(){var t=this;Object.keys(this).forEach((function(e){return delete t[e]}))},e.prototype._stopGame=function(){},e}(Z),et=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=Y.UpdateEngine,e}return N(e,t),e}(tt),it=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=Y.UpdateCollider,e}return N(e,t),e}(tt),nt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=Y.UpdatePhysics,e}return N(e,t),e}(tt),rt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=Y.UpdateTransform,e}return N(e,t),e}(tt),ot=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=Y.UpdatePreRender,e}return N(e,t),e}(tt),st=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=Y.UpdateCamera,e}return N(e,t),e}(tt),at=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=Y.UpdateRender,e}return N(e,t),e}(tt);!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(K||(K={})),function(t){t[t.WorldSpace=0]=\"WorldSpace\",t[t.ViewPort=1]=\"ViewPort\"}(Q||(Q={})),function(t){t[t.Sprite=0]=\"Sprite\",t[t.Text=1]=\"Text\",t[t.Tilemap=2]=\"Tilemap\",t[t.Mask=3]=\"Mask\",t[t.Geometric=4]=\"Geometric\",t[t.Video=5]=\"Video\"}($||($={}));var ht=function(){function t(t){this.gl=t,this.viewport={x:0,x1:0,y:0,y1:0},this.object={x:0,x1:0,y:0,y1:0}}return t.prototype.setViewport=function(t,e){var i=t.position,n=t.zoom;e===Q.WorldSpace?(this.viewport.x=i.x-this.gl.canvas.width/n/2,this.viewport.x1=i.x+this.gl.canvas.width/n/2,this.viewport.y=i.y-this.gl.canvas.height/n/2,this.viewport.y1=i.y+this.gl.canvas.height/n/2):(this.viewport.x=-this.gl.canvas.width/2,this.viewport.x1=this.gl.canvas.width/2,this.viewport.y=-this.gl.canvas.height/2,this.viewport.y1=this.gl.canvas.height/2)},t.prototype.setObjectForResizeable=function(t){var e=t.position,i=t.width,n=t.height,r=t.rotation,o=void 0===r?0:r,s=Math.abs(Math.sin(o)),a=Math.abs(Math.cos(o)),h=s*n+a*i,c=s*i+a*n;this.object.x=e.x-h/2,this.object.x1=e.x+h/2,this.object.y=e.y-c/2,this.object.y1=e.y+c/2},t.prototype.setObjectForText=function(t){var e=t.position,i=t.text,n=t.fontSize,r=t.lineSeparation,o=t.letterSpacing,s=t.rotation,a=i.split(\"\\n\").reduce((function(t,e){return Math.max(t,e.length)}),0)*(n+(null!=o?o:0))*2,h=i.split(\"\\n\").length*(n+(null!=r?r:0));this.setObjectForResizeable({position:e,width:a,height:h,rotation:s})},t.prototype.setObjectForGeometric=function(t){var e=this,i=t.position,n=t.vertexModel,r=t.shape,o=t.radius;r===K.Circumference?(this.object.x=i.x-o,this.object.y=i.y-o,this.object.x1=i.x+o,this.object.y1=i.y+o):(this.object.x=Number.MAX_SAFE_INTEGER,this.object.y=Number.MAX_SAFE_INTEGER,this.object.x1=Number.MIN_SAFE_INTEGER,this.object.y1=Number.MIN_SAFE_INTEGER,n.forEach((function(t){e.object.x=Math.min(t.x+i.x,e.object.x),e.object.y=Math.min(t.y+i.y,e.object.y),e.object.x1=Math.max(t.x+i.x,e.object.x1),e.object.y1=Math.max(t.y+i.y,e.object.y1)})))},t.prototype.setObjectForTilemap=function(t){t.tilemap.height=Math.ceil(t.tiles.length/t.tilemap.width),this.setObjectForResizeable({position:t.renderPosition,width:t.tilemap.width*t.tilemap.tileWidth,height:t.tilemap.height*t.tilemap.tileHeight,rotation:t.rotation})},t.prototype.applyCullingInTiles=function(t){var e=this,i=t.tiles,n=t.tilemap,r=n.width,o=n.tileWidth,s=n.tileHeight;t.culledTiles=i.map((function(t,i){return e.viewport.x1>=e.object.x+i%r*o&&e.viewport.x<=e.object.x+i%r*o+o&&e.viewport.y1>=e.object.y1-((i/r|0)*s+s)&&e.viewport.y<=e.object.y1-(i/r|0)*s?t:0}))},t.prototype.isInViewPort=function(t,e){switch(this.setViewport(e,t.location),t.type){case $.Video:case $.Mask:case $.Sprite:this.setObjectForResizeable(t);break;case $.Geometric:this.setObjectForGeometric(t);break;case $.Text:this.setObjectForText(t);break;case $.Tilemap:this.setObjectForTilemap(t)}return this.viewport.x1>=this.object.x&&this.viewport.x<=this.object.x1&&this.viewport.y1>=this.object.y&&this.viewport.y<=this.object.y1},t.prototype.applyCulling=function(t,e){var i=this;return e.filter((function(e){return!!i.isInViewPort(e,t)&&(e.type===$.Tilemap&&i.applyCullingInTiles(e),!0)}))},t}(),ct=function(){return ct=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},ct.apply(this,arguments)};function lt(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError;var ut,pt=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function t(t,e,i,n){this._position=new pt,this._center=new pt,this._width=0,this._height=0,this.set(t,e,i,n)}Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof pt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)}}(),function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new pt,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}(),function(t){t[t.Center=0]=\"Center\",t[t.RightUp=1]=\"RightUp\",t[t.RightDown=2]=\"RightDown\",t[t.RightCenter=3]=\"RightCenter\"}(ut||(ut={}));var dt,ft=function(){function t(t,e){this.webglManager=t,this.cullingManager=e,this.renderData=[],this.cameraData=[]}return t.prototype.addRenderData=function(t){this.renderData.push(t)},t.prototype.addCameraData=function(t){this.cameraData.push(t)},t.prototype.render=function(){var t=this;this.cameraData.sort((function(t,e){return t.depth-e.depth})).forEach((function(e){return t.renderByCamera(e)}))},t.prototype.renderByCamera=function(t){var e=this;this.cullingManager.applyCulling(t,this.renderData.filter((function(e){return t.layers.includes(e.layer)})).sort((function(e,i){return t.layers.indexOf(e.layer)-t.layers.indexOf(i.layer)})).map((function(t){return t.type===$.Tilemap?function(t){var e=ct(ct({},t),{culledTiles:[],tilemap:ct(ct({},t.tilemap),{height:Math.ceil(t.tiles.length/t.tilemap.width),realWidth:t.tilemap.width*t.tilemap.tileWidth,realHeight:0}),renderPosition:new pt});return e.tilemap.realHeight=e.tilemap.height*e.tilemap.tileHeight,function(t){t.renderPosition.set(t.position.x+(t.orientation!==ut.Center?t.tilemap.realWidth/2:0),t.position.y+(t.orientation===ut.RightDown?-t.tilemap.realHeight/2:t.orientation===ut.RightUp?t.tilemap.realHeight/2:0))}(e),e}(t):t}))).forEach((function(i){return e.webglManager.render(i,t)}))},t.prototype.clearData=function(){this.renderData=[],this.cameraData=[]},t.prototype.clearScreen=function(t){this.webglManager.clearCanvas(t)},t.prototype.preloadTexture=function(t){this.webglManager.createTexture(t)},t}();!function(t){t.LegacyWebGL=\"webgl\",t.WebGL2=\"webgl2\"}(dt||(dt={}));var gt=function(){function t(t){if(this.canvas=t,this.contextVersion=this.getContextVersion(),!this.contextVersion)throw new Error(\"Your browser does not support WebGL.\");this.gl=this.canvas.getContext(this.contextVersion)}return t.prototype.getContextVersion=function(){return null!==this.canvas.getContext(dt.WebGL2)?dt.WebGL2:null!==this.canvas.getContext(dt.LegacyWebGL)?dt.LegacyWebGL:void 0},t}(),mt=function(){function t(){this.fontAtlas=new Map}return t.prototype.hasFontAtlas=function(t){return this.fontAtlas.has(this.symbol(t))},t.prototype.getFontAtlas=function(t){return this.fontAtlas.get(this.symbol(t))},t.prototype.getOrCreate=function(t,e,i){var n;return null!==(n=this.getFontAtlas(e))&&void 0!==n?n:this.create(t,e,i)},t.prototype.create=function(t,e,i){this.bitmapSize=i,this.chars=[];for(var n=0;n<t.length;n+=2)for(var r=t[n];r<=t[n+1];r++)this.chars.push(String.fromCharCode(r));var o=this.renderAtlas(e instanceof FontFace?e.family:e);return this.fontAtlas.set(this.symbol(e),o),o},t.prototype.symbol=function(t){return Symbol.for(t instanceof FontFace?t.family:t)},t.prototype.renderAtlas=function(t){var e=new yt(t,this.bitmapSize,Math.ceil(Math.sqrt(this.chars.length))),i=e.canvas.getContext(\"2d\");i.clearRect(0,0,e.canvas.width,e.canvas.height),i.textBaseline=\"top\",i.fillStyle=\"#000\",i.font=\"\".concat(this.bitmapSize,\"px \").concat(t);for(var n=0,r=0,o=0;o<this.chars.length;o++)i.fillText(this.chars[o],n,r),e.glyphs.set(this.chars[o],{id:o,width:i.measureText(this.chars[o]).width}),(n+=this.bitmapSize)>e.canvas.width-this.bitmapSize&&(n=0,r+=this.bitmapSize);return e},t}(),yt=function(t,e,i){this.fontFaceFamily=t,this.bitmapFontSize=e,this.gridSize=i,this.canvas=document.createElement(\"canvas\"),this.glyphs=new Map,this.canvas.width=this.gridSize*this.bitmapFontSize,this.canvas.height=this.canvas.width},vt=function(){function t(t,e){this.gl=t,this.shaderLoader=e}return t.prototype.create=function(t,e){var i=this.gl.createProgram(),n=this.shaderLoader.load(this.gl.VERTEX_SHADER,t),r=this.shaderLoader.load(this.gl.FRAGMENT_SHADER,e);this.gl.attachShader(i,n),this.gl.attachShader(i,r),this.gl.linkProgram(i);var o=this.gl.LINK_STATUS;if(!this.gl.getProgramParameter(i,o)){var s=this.gl.getProgramInfoLog(i);throw this.gl.deleteProgram(i),new Error(\"Unable to initialize the Program: \".concat(s))}return i},t}(),xt=function(){function t(t,e,i){this.gl=t,this.contextVersion=e,this.programFactory=i}return t.prototype.loadProgram=function(){this.program=this.contextVersion===dt.WebGL2?this.programFactory.create(\"#version 300 es\\n\\nin vec4 positionCoords;\\nin vec2 textureCoords;\\n\\nout vec2 texCoords;\\n\\nuniform mat4 projectionMatrix;\\nuniform mat4 modelMatrix;\\nuniform mat4 textureMatrix;\\n\\nvoid main()\\n{\\n gl_Position = projectionMatrix * modelMatrix * positionCoords;\\n texCoords = (textureMatrix * vec4(textureCoords, 0, 1)).xy;\\n}\",\"#version 300 es\\nprecision highp float;\\n\\nout vec4 fragColor;\\n\\nin vec2 texCoords;\\n\\nuniform int u_renderTexture;\\nuniform sampler2D u_texImage;\\nuniform vec4 u_solidColor;\\n\\nuniform int u_useTintColor;\\nuniform vec4 u_tintColor;\\n\\nuniform int u_useMaskColor;\\nuniform vec4 u_maskColor;\\nuniform float u_maskColorMix;\\n\\nuniform float u_alpha;\\n\\nvoid main()\\n{\\n if (u_renderTexture == 1) {\\n vec4 texColor = texture(u_texImage, texCoords);\\n\\n if (texColor.a < 0.0001) {\\n discard;\\n }\\n\\n if (u_useTintColor == 1) {\\n texColor = u_tintColor * texColor;\\n }\\n\\n if (u_useMaskColor == 1) {\\n texColor = mix(texColor, u_maskColor, clamp(u_maskColorMix, 0.0, 1.0));\\n }\\n\\n fragColor = vec4(texColor.rgb, u_alpha * texColor.a); \\n } else {\\n fragColor = vec4(u_solidColor.rgb, u_alpha);\\n }\\n}\"):this.programFactory.create(\"precision mediump float;\\n\\nattribute vec2 positionCoords;\\nattribute vec2 textureCoords;\\n\\nvarying vec2 texCoords;\\n\\nuniform mat4 projectionMatrix;\\nuniform mat4 modelMatrix;\\nuniform mat4 textureMatrix;\\n\\nvoid main()\\n{\\n gl_Position = projectionMatrix * modelMatrix * vec4(positionCoords, 0, 1);\\n texCoords = (textureMatrix * vec4(textureCoords, 0, 1)).xy;\\n}\",\"precision mediump float;\\n\\nvarying vec2 texCoords;\\n\\nuniform int u_renderTexture;\\nuniform sampler2D u_texImage;\\nuniform vec4 u_solidColor;\\n\\nuniform int u_useTintColor;\\nuniform vec4 u_tintColor;\\n\\nuniform int u_useMaskColor;\\nuniform vec4 u_maskColor;\\nuniform float u_maskColorMix;\\n\\nuniform float u_alpha;\\n\\nvoid main()\\n{\\n if (u_renderTexture == 1) {\\n vec4 texColor = texture2D(u_texImage, texCoords);\\n\\n if (texColor.a < 0.0001) {\\n discard;\\n }\\n\\n if (u_useTintColor == 1) {\\n texColor = u_tintColor * texColor;\\n }\\n\\n if (u_useMaskColor == 1) {\\n texColor = mix(texColor, u_maskColor, clamp(u_maskColorMix, 0.0, 1.0));\\n }\\n\\n gl_FragColor = vec4(texColor.rgb, u_alpha * texColor.a);\\n } else {\\n gl_FragColor = vec4(u_solidColor.rgb, u_alpha);\\n }\\n}\"),this.positionBuffer=this.gl.createBuffer(),this.textureBuffer=this.gl.createBuffer(),this.positionCoordsAttr=this.gl.getAttribLocation(this.program,\"positionCoords\"),this.texCoordsAttr=this.gl.getAttribLocation(this.program,\"textureCoords\"),this.modelMatrixUniform=this.gl.getUniformLocation(this.program,\"modelMatrix\"),this.projectionMatrixUniform=this.gl.getUniformLocation(this.program,\"projectionMatrix\"),this.textureMatrixUniform=this.gl.getUniformLocation(this.program,\"textureMatrix\"),this.renderTextureUniform=this.gl.getUniformLocation(this.program,\"u_renderTexture\"),this.textureUniform=this.gl.getUniformLocation(this.program,\"u_texImage\"),this.solidColorUniform=this.gl.getUniformLocation(this.program,\"u_solidColor\"),this.useTintColorUniform=this.gl.getUniformLocation(this.program,\"u_useTintColor\"),this.tintColorUniform=this.gl.getUniformLocation(this.program,\"u_tintColor\"),this.useMaskColorUniform=this.gl.getUniformLocation(this.program,\"u_useMaskColor\"),this.maskColorUniform=this.gl.getUniformLocation(this.program,\"u_maskColor\"),this.maskColorMixUniform=this.gl.getUniformLocation(this.program,\"u_maskColorMix\"),this.alphaUniform=this.gl.getUniformLocation(this.program,\"u_alpha\"),this.gl.useProgram(this.program),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.enableVertexAttribArray(this.positionCoordsAttr),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.gl.vertexAttribPointer(this.positionCoordsAttr,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.texCoordsAttr),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.textureBuffer),this.gl.vertexAttribPointer(this.texCoordsAttr,2,this.gl.FLOAT,!1,0,0)},t}(),bt=function(){function t(t){this.gl=t}return t.prototype.load=function(t,e){var i=this.gl.createShader(t);this.gl.shaderSource(i,e),this.gl.compileShader(i);var n=this.gl.COMPILE_STATUS;if(!this.gl.getShaderParameter(i,n)){var r=this.gl.getShaderInfoLog(i);throw this.gl.deleteShader(i),new Error(\"Unable to initialize the shader program: \".concat(r))}return i},t}(),Mt=\"undefined\"!=typeof Float32Array?Float32Array:Array;function _t(){var t=new Mt(16);return Mt!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function wt(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Ct(t,e,i){var n,r,o,s,a,h,c,l,u,p,d,f,g=i[0],m=i[1],y=i[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*y+e[12],t[13]=e[1]*g+e[5]*m+e[9]*y+e[13],t[14]=e[2]*g+e[6]*m+e[10]*y+e[14],t[15]=e[3]*g+e[7]*m+e[11]*y+e[15]):(n=e[0],r=e[1],o=e[2],s=e[3],a=e[4],h=e[5],c=e[6],l=e[7],u=e[8],p=e[9],d=e[10],f=e[11],t[0]=n,t[1]=r,t[2]=o,t[3]=s,t[4]=a,t[5]=h,t[6]=c,t[7]=l,t[8]=u,t[9]=p,t[10]=d,t[11]=f,t[12]=n*g+a*m+u*y+e[12],t[13]=r*g+h*m+p*y+e[13],t[14]=o*g+c*m+d*y+e[14],t[15]=s*g+l*m+f*y+e[15]),t}function jt(t,e,i){var n=i[0],r=i[1],o=i[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Ot(t,e,i){var n=Math.sin(i),r=Math.cos(i),o=e[0],s=e[1],a=e[2],h=e[3],c=e[4],l=e[5],u=e[6],p=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*r+c*n,t[1]=s*r+l*n,t[2]=a*r+u*n,t[3]=h*r+p*n,t[4]=c*r-o*n,t[5]=l*r-s*n,t[6]=u*r-a*n,t[7]=p*r-h*n,t}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});var Pt,Rt=function(t){var e=/^#?([a-f\\d]{2})?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(t);return e?{r:parseInt(e[2],16)/256,g:parseInt(e[3],16)/256,b:parseInt(e[4],16)/256,a:void 0!==e[1]?parseInt(e[1],16)/256:1}:null},At=function(t,e,i,n){var r,o;(function(t,e,i,n,r,o,s){var a=1/(e-i),h=1/(n-r),c=1/(o-s);t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*h,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+i)*a,t[13]=(r+n)*h,t[14]=(s+o)*c,t[15]=1})(t=wt(t),-e.canvas.width/2,e.canvas.width/2,-e.canvas.height/2,e.canvas.height/2,-1,1),n===Q.WorldSpace&&(jt(t,t,[null!==(r=i.zoom)&&void 0!==r?r:1,null!==(o=i.zoom)&&void 0!==o?o:1,1]),Ct(t,t,[-i.position.x,-i.position.y,0]))},St=function(){function t(t,e){this.gl=t,this.programManager=e,this.vertices=new Map,this.lastVertices=null,this.projectionMatrix=_t(),this.modelMatrix=_t(),this.textureMatrix=_t();var i=2*Math.PI/60;this.circumferenceVertices=new Float32Array(function(t,e,i){void 0===i&&(i=1);for(var n=[],r=1;r<=60;r+=i)n.push(r);return n}(0,0,1).reduce((function(t,e){return lt(lt([],t,!0),[Math.cos(e*i),Math.sin(e*i)],!1)}),[]))}return t.prototype.render=function(t,e,i){switch(t.shape){case K.Polygon:this.renderLines(t,e,this.gl.LINE_LOOP,i);break;case K.Line:this.renderLines(t,e,this.gl.LINES,i);break;case K.Circumference:this.renderCircumference(t,e)}},t.prototype.renderLines=function(t,e,i,n){var r,o=this.generateVerticesKey(t.vertexModel);!1===this.vertices.has(o)&&this.vertices.set(o,new Float32Array(this.generatePolygonVertices(t.vertexModel)));var s=this.vertices.get(o);this.lastVertices===o&&n===$.Geometric||(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,s,this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,s,this.gl.DYNAMIC_DRAW)),this.lastVertices=o,this.modelMatrix=wt(this.modelMatrix),Ct(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),Ot(this.modelMatrix,this.modelMatrix,null!==(r=t.rotation)&&void 0!==r?r:0),At(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var a=Rt(t.color),h=a.r,c=a.g,l=a.b,u=a.a;this.gl.uniform4f(this.programManager.solidColorUniform,h,c,l,u),this.gl.uniform1f(this.programManager.alphaUniform,1),this.gl.drawArrays(i,0,s.length/2)},t.prototype.generateVerticesKey=function(t){return Symbol.for(t.reduce((function(t,e){return\"\".concat(t).concat(e.x).concat(e.y)}),t.length.toString()))},t.prototype.generatePolygonVertices=function(t){for(var e=[],i=0;i<t.length;i++)e.push(t[i].x,t[i].y);return e},t.prototype.renderCircumference=function(t,e){this.lastVertices=null,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.circumferenceVertices,this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.circumferenceVertices,this.gl.DYNAMIC_DRAW),this.modelMatrix=wt(this.modelMatrix),Ct(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),jt(this.modelMatrix,this.modelMatrix,[t.radius,t.radius,1]),At(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var i=Rt(t.color),n=i.r,r=i.g,o=i.b,s=i.a;this.gl.uniform4f(this.programManager.solidColorUniform,n,r,o,s),this.gl.uniform1f(this.programManager.alphaUniform,1),this.gl.drawArrays(this.gl.LINE_LOOP,0,this.circumferenceVertices.length/2)},t}();!function(t){t[t.Rectangle=0]=\"Rectangle\",t[t.Circumference=1]=\"Circumference\"}(Pt||(Pt={}));var Et,Tt=function(){function t(t,e){this.gl=t,this.programManager=e,this.type=$.Mask,this.rectangleVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.projectionMatrix=_t(),this.modelMatrix=_t(),this.textureMatrix=_t();for(var i=2*Math.PI/60,n=[0,0],r=0;r<=60;r++)n.push(Math.cos(r*i),Math.sin(r*i));this.circumferenceVertices=new Float32Array(n)}return t.prototype.render=function(t,e,i){var n,r;i===$.Mask&&this.lastShape===t.shape||(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,t.shape===Pt.Rectangle?this.rectangleVertices:this.circumferenceVertices,this.gl.STATIC_DRAW)),this.modelMatrix=wt(this.modelMatrix),Ct(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),Ot(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),jt(this.modelMatrix,this.modelMatrix,t.shape===Pt.Rectangle?[t.width,t.height,1]:[t.radius,t.radius,1]),At(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),t.alpha>=0&&t.alpha<1?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var o=Rt(t.color),s=o.r,a=o.g,h=o.b,c=o.a;this.gl.uniform4f(this.programManager.solidColorUniform,s,a,h,c),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),t.shape===Pt.Rectangle?this.gl.drawArrays(this.gl.TRIANGLES,0,6):this.gl.drawArrays(this.gl.TRIANGLE_FAN,0,this.circumferenceVertices.length/2),this.lastShape=t.shape},t}(),Dt=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.lastTexture=null,this.projectionMatrix=_t(),this.modelMatrix=_t(),this.textureMatrix=_t(),this.posVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.texVertices=new Float32Array([0,1,0,0,1,1,1,1,0,0,1,0])}return t.prototype.render=function(t,e,i){var n,r,o,s;i!==t.type&&(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.posVertices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.texVertices,this.gl.STATIC_DRAW)),this.modelMatrix=wt(this.modelMatrix),Ct(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),Ot(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),jt(this.modelMatrix,this.modelMatrix,[t.width*(t.flipHorizontal?-1:1),t.height*(t.flipVertical?-1:1),1]),this.textureMatrix=wt(this.textureMatrix),t.slice&&(Ct(this.textureMatrix,this.textureMatrix,[t.slice.x/t.image.naturalWidth,t.slice.y/t.image.naturalHeight,0]),jt(this.textureMatrix,this.textureMatrix,[t.slice.width/t.image.naturalWidth,t.slice.height/t.image.naturalHeight,1])),At(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var a=this.textureManager.getOrCreateTextureFromImage(t.image,t.smooth);if(this.lastTexture===a&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=Rt(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=Rt(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,6)},t}();!function(t){t[t.Center=0]=\"Center\",t[t.RightUp=1]=\"RightUp\",t[t.RightDown=2]=\"RightDown\",t[t.RightCenter=3]=\"RightCenter\"}(Et||(Et={}));var Ft,Bt=new pt,Ut=new pt,It=[32,126,161,255],Lt=Et.Center,Vt=function(){function t(t,e,i,n){this.gl=t,this.programManager=e,this.textureManager=i,this.fontAtlasFactory=n,this.type=$.Text,this.posVertices=[],this.texVertices=[],this.lastTexture=null,this.textSize=new pt,this.modelPosition=new pt,this.projectionMatrix=_t(),this.modelMatrix=_t(),this.textureMatrix=_t()}return t.prototype.render=function(t,e,i){var n;if(!t.text)throw new Error(\"Nothing to render\");this.setDefaultValues(t);var r=this.fontAtlasFactory.getOrCreate(t.bitmap.charRanges,t.font,t.bitmap.fontSize);this.generateTextVertices(r,t),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.posVertices),this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.texVertices),this.gl.DYNAMIC_DRAW),this.modelMatrix=wt(this.modelMatrix),this.setPositionFromOrientation(t),Ct(this.modelMatrix,this.modelMatrix,[this.modelPosition.x,this.modelPosition.y,0]),Ot(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),jt(this.modelMatrix,this.modelMatrix,[t.fontSize,t.fontSize,1]),this.textureMatrix=wt(this.textureMatrix),At(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),t.alpha<1?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND);var o=this.textureManager.getOrCreateTextureFromCanvas(\"FontFamily:\"+r.fontFaceFamily,r.canvas,t.smooth);this.lastTexture===o&&i===$.Text||(this.gl.bindTexture(this.gl.TEXTURE_2D,o),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=o),this.gl.uniform1i(this.programManager.useTintColorUniform,0),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,t.alpha);var s=Rt(t.color),a=s.r,h=s.g,c=s.b,l=s.a;this.gl.uniform4f(this.programManager.maskColorUniform,a,h,c,l),this.gl.uniform1f(this.programManager.maskColorMixUniform,1),this.gl.uniform1i(this.programManager.useMaskColorUniform,1),this.gl.drawArrays(this.gl.TRIANGLES,0,this.posVertices.length/2)},t.prototype.setDefaultValues=function(t){var e,i,n,r,o,s,a,h,c,l;t.bitmap?(t.bitmap.margin=null!==(e=t.bitmap.margin)&&void 0!==e?e:Bt,t.bitmap.spacing=null!==(i=t.bitmap.spacing)&&void 0!==i?i:Ut,t.bitmap.fontSize=null!==(n=t.bitmap.fontSize)&&void 0!==n?n:64,t.bitmap.charRanges=null!==(r=t.bitmap.charRanges)&&void 0!==r?r:It):t.bitmap={margin:Bt,spacing:Ut,fontSize:64,charRanges:It},t.color=null!==(o=t.color)&&void 0!==o?o:\"#000000\",t.letterSpacing=null!==(s=t.letterSpacing)&&void 0!==s?s:0,t.lineSeparation=null!==(a=t.lineSeparation)&&void 0!==a?a:0,t.alpha=null!==(h=t.alpha)&&void 0!==h?h:1,t.orientation=null!==(c=t.orientation)&&void 0!==c?c:Lt,t.rotation=null!==(l=t.rotation)&&void 0!==l?l:0},t.prototype.generateTextVertices=function(t,e){var i=e.text,n=e.fontSize,r=e.bitmap,o=e.letterSpacing,s=e.lineSeparation;this.posVertices=[],this.texVertices=[];var a=0,h=0,c=0;o/=n,s/=n;for(var l=0;l<i.length;l++){var u=i[l];if(\"\\n\"!==u){var p=t.glyphs.get(u);if(p){var d=p.width/t.bitmapFontSize;this.posVertices.push(a,h-1,a+d,h-1,a,h,a,h,a+d,h-1,a+d,h);var f=p.id%t.gridSize*t.bitmapFontSize,g=(p.id/t.gridSize|0)*t.bitmapFontSize,m=(f+r.margin.x)/t.canvas.width,y=(g+r.margin.y)/t.canvas.width,v=(f+p.width+r.spacing.x)/t.canvas.width,x=(g+t.bitmapFontSize+r.spacing.y)/t.canvas.width;this.texVertices.push(m,x,v,x,m,y,m,y,v,x,v,y),a+=d+o}}else c=Math.max(c,a),a=0,h-=1+s}this.textSize.set(Math.max(c,a)*n,Math.abs(h-1)*n)},t.prototype.setPositionFromOrientation=function(t){this.modelPosition.set(t.position.x+(t.orientation===Et.Center?-this.textSize.x/2:0),t.position.y+(t.orientation===Et.Center||t.orientation===Et.RightCenter?this.textSize.y/2:t.orientation===Et.RightUp?this.textSize.y:0))},t}(),Gt=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.posVertices=[],this.texVertices=[],this.lastTexture=null,this.tileset={width:0,tileWidth:0,tileHeight:0,texMargin:new pt,texSpacing:new pt,texWidth:0,texHeight:0,texCorrection:new pt},this.projectionMatrix=_t(),this.modelMatrix=_t(),this.textureMatrix=_t()}return t.prototype.render=function(t,e,i){var n,r,o,s;if(0===t.culledTiles.reduce((function(t,e){return t+e}),0))throw new Error(\"Nothing to render\");if(this.processTileset(t),this.generateVertices(t),0===this.posVertices.length)throw new Error(\"Nothing to render\");this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.posVertices),this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.texVertices),this.gl.DYNAMIC_DRAW),this.modelMatrix=wt(this.modelMatrix),Ct(this.modelMatrix,this.modelMatrix,[t.renderPosition.x,t.renderPosition.y,0]),Ot(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),jt(this.modelMatrix,this.modelMatrix,[t.tilemap.tileWidth*(t.flipHorizontal?-1:1),t.tilemap.tileHeight*(t.flipVertical?-1:1),1]),this.textureMatrix=wt(this.textureMatrix),jt(this.textureMatrix,this.textureMatrix,[this.tileset.tileWidth/t.tileset.image.naturalWidth,this.tileset.tileHeight/t.tileset.image.naturalHeight,1]),At(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var a=this.textureManager.getOrCreateTextureFromImage(t.tileset.image,t.smooth);if(this.lastTexture===a&&i===$.Tilemap||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=Rt(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=Rt(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,this.posVertices.length/2)},t.prototype.processTileset=function(t){var e,i,n,r,o,s,a,h=t.tileset;h.margin=null!==(e=h.margin)&&void 0!==e?e:new pt,h.spacing=null!==(i=h.spacing)&&void 0!==i?i:new pt,h.correction=null!==(n=h.correction)&&void 0!==n?n:new pt,this.tileset.width=h.width,this.tileset.tileWidth=h.tileWidth+(null!==(r=h.margin.x)&&void 0!==r?r:0)+(null!==(o=h.spacing.x)&&void 0!==o?o:0),this.tileset.tileHeight=h.tileHeight+(null!==(s=h.margin.y)&&void 0!==s?s:0)+(null!==(a=h.spacing.y)&&void 0!==a?a:0),this.tileset.texMargin.set(h.margin.x/this.tileset.tileWidth,h.margin.y/this.tileset.tileHeight),this.tileset.texSpacing.set(h.spacing.x/this.tileset.tileWidth,h.spacing.y/this.tileset.tileHeight),this.tileset.texCorrection.set(h.correction.x/this.tileset.tileWidth,h.correction.y/this.tileset.tileHeight),this.tileset.texWidth=1-this.tileset.texMargin.x-this.tileset.texSpacing.x-2*this.tileset.texCorrection.x,this.tileset.texHeight=1-this.tileset.texMargin.y-this.tileset.texSpacing.y-2*this.tileset.texCorrection.y},t.prototype.generateVertices=function(t){var e=this,i=t.culledTiles,n=t.tilemap;this.posVertices=[],this.texVertices=[];var r=Math.floor(i.length/n.width);i.forEach((function(t,i){if(0!==t){var o=i%n.width-n.width/2,s=r/2-Math.floor(i/n.width);e.posVertices.push(o,s-1,o+1,s-1,o,s,o,s,o+1,s-1,o+1,s);var a=(t-1)%e.tileset.width+e.tileset.texMargin.x+e.tileset.texCorrection.x,h=Math.floor((t-1)/e.tileset.width)+e.tileset.texMargin.y+e.tileset.texCorrection.y;e.texVertices.push(a,h+e.tileset.texHeight,a+e.tileset.texWidth,h+e.tileset.texHeight,a,h,a,h,a+e.tileset.texWidth,h+e.tileset.texHeight,a+e.tileset.texWidth,h)}}))},t}(),kt=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.lastTexture=null,this.projectionMatrix=_t(),this.modelMatrix=_t(),this.textureMatrix=_t(),this.posVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.texVertices=new Float32Array([0,1,0,0,1,1,1,1,0,0,1,0])}return t.prototype.render=function(t,e,i){var n,r,o,s;i!==t.type&&(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.posVertices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.texVertices,this.gl.STATIC_DRAW)),this.modelMatrix=wt(this.modelMatrix),Ct(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),Ot(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),jt(this.modelMatrix,this.modelMatrix,[t.width*(t.flipHorizontal?-1:1),t.height*(t.flipVertical?-1:1),1]),this.textureMatrix=wt(this.textureMatrix),t.slice&&(Ct(this.textureMatrix,this.textureMatrix,[t.slice.x/t.video.videoWidth,t.slice.y/t.video.videoHeight,0]),jt(this.textureMatrix,this.textureMatrix,[t.slice.width/t.video.videoWidth,t.slice.height/t.video.videoHeight,1])),At(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var a=this.textureManager.getOrCreateTextureFromVideo(t.video);if(this.lastTexture===a&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t.video),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=Rt(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=Rt(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,6)},t}(),Wt=function(){function t(t){this.gl=t}return t.prototype.createFromImage=function(t,e,i){var n=this;return void 0===e&&(e=!0),void 0===i&&(i=null),i=null!=i?i:this.gl.createTexture(),t.naturalWidth?this.createFromSource(t,i,e):t.addEventListener(\"load\",(function(){return n.createFromSource(t,i,e)})),i},t.prototype.createFromCanvas=function(t,e,i){return void 0===e&&(e=!0),void 0===i&&(i=null),i=null!=i?i:this.gl.createTexture(),this.createFromSource(t,i,e),i},t.prototype.createPixelTexture=function(){var t=this.gl.createTexture();return this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,new Uint8Array([0,0,0,255])),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.bindTexture(this.gl.TEXTURE_2D,null),t},t.prototype.createFromSource=function(t,e,i){void 0===i&&(i=!0),this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),!1===i?(this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.NEAREST),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.NEAREST)):(this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR)),this.gl.bindTexture(this.gl.TEXTURE_2D,null)},t}(),Ht=function(){function t(t){this.textureFactory=t,this.textures=new Map}return t.prototype.getOrCreateTextureFromImage=function(t,e){var i;return void 0===e&&(e=!0),null!==(i=this.textures.get(Symbol.for(t.src)))&&void 0!==i?i:this.createTextureFromImage(t,e)},t.prototype.createTextureFromImage=function(t,e){void 0===e&&(e=!0);var i=this.textureFactory.createFromImage(t,e);return this.textures.set(Symbol.for(t.src),i),i},t.prototype.getOrCreateTextureFromCanvas=function(t,e,i){var n;return void 0===i&&(i=!0),null!==(n=this.textures.get(Symbol.for(t)))&&void 0!==n?n:this.createTextureFromCanvas(t,e,i)},t.prototype.createTextureFromCanvas=function(t,e,i){void 0===i&&(i=!0);var n=this.textureFactory.createFromCanvas(e,i);return this.textures.set(Symbol.for(t),n),n},t.prototype.getOrCreateTextureFromVideo=function(t){var e;return null!==(e=this.textures.get(Symbol.for(t.src)))&&void 0!==e?e:this.createTextureFromVideo(t)},t.prototype.createTextureFromVideo=function(t){var e=this.textureFactory.createPixelTexture();return this.textures.set(Symbol.for(t.src),e),e},t}(),zt=function(){function t(t,e,i,n){this.gl=t,this.textureManager=i,this.renderers=n,e.loadProgram()}return t.prototype.render=function(t,e){try{this.renderers.get(t.type).render(t,e,this.lastRender),this.lastRender=t.type}catch(t){return}},t.prototype.clearCanvas=function(t){var e=Rt(t);this.gl.clearColor(e.r,e.g,e.b,e.a),this.gl.clear(this.gl.COLOR_BUFFER_BIT)},t.prototype.createTexture=function(t,e){void 0===e&&(e=!1),this.textureManager.createTextureFromImage(t,e)},t}();!function(t){t.Image=\"Image\",t.Audio=\"Audio\",t.Font=\"Font\",t.Video=\"Video\"}(Ft||(Ft={}));var Nt,Yt=function(){function t(t){this.renderManager=t,this.assets=[]}return t.prototype.getAssetsLoaded=function(){return this.assets.reduce((function(t,e){return t&&e.loaded}),!0)},t.prototype.loadImage=function(t,e){var i=this;void 0===e&&(e=!1);var n=new Image;n.crossOrigin=\"\",n.src=t;var r=this.createAsset(t,Ft.Image,n),o=function(){e&&i.renderManager.preloadTexture(n),r.loaded=!0};return n.naturalWidth?o():n.addEventListener(\"load\",o),n},t.prototype.loadAudio=function(t){var e=new Audio;e.src=t;var i=this.createAsset(t,Ft.Audio,e);return e.duration?i.loaded=!0:e.addEventListener(\"canplaythrough\",(function(){return i.loaded=!0})),e},t.prototype.loadFont=function(t,e){var i=new FontFace(t,\"url(\".concat(e,\")\")),n=this.createAsset(e,Ft.Font,i);return n.family=t,i.load().then((function(t){document.fonts.add(t),n.loaded=!0})),i},t.prototype.loadVideo=function(t){var e=document.createElement(\"video\");e.playsInline=!0,e.src=t;var i=this.createAsset(t,Ft.Video,e);return e.duration?i.loaded=!0:e.addEventListener(\"canplaythrough\",(function(){return i.loaded=!0})),e},t.prototype.getImage=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===Ft.Image&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.getAudio=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===Ft.Audio&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.getFont=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===Ft.Font&&e.family===t})))||void 0===e?void 0:e.element},t.prototype.getVideo=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===Ft.Video&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.createAsset=function(t,e,i){var n={type:e,url:t,element:i,loaded:!1};return this.assets.push(n),n},t}(),Xt=function(t){function e(e){var i=t.call(this,e)||this;return i.name=\"AngryPixelException\",i}return N(e,t),e}(Error),qt=function(){function t(t,e,i){if(this._canvas=null,!t)throw new Xt(\"containerNode cannot be empty or null.\");this.containerNode=t,this.gameWidth=e,this.gameHeight=i,this.setupCanvas()}return Object.defineProperty(t.prototype,\"canvas\",{get:function(){return this._canvas},enumerable:!1,configurable:!0}),t.prototype.setupCanvas=function(){this._canvas=document.createElement(\"canvas\"),this._canvas.id=\"angryPixelGameCanvas\",this._canvas.width=Math.floor(this.gameWidth),this._canvas.height=Math.floor(this.gameHeight),this.canvas.tabIndex=0,this._canvas.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this.containerNode.appendChild(this._canvas),this.canvas.focus()},t}(),Kt=function(){function t(t){this.container=t,this.gameObjects=[],this.lastId=0}return t.prototype.addGameObject=function(t,e,i,n){var r=new t(this.container,++this.lastId,n,i);return this.gameObjects.push(r),r.dispatch(Y.Init,e),r},t.prototype.findGameObjects=function(t){return t?this.gameObjects.filter((function(e){return e instanceof t})):q([],this.gameObjects,!0)},t.prototype.findGameObjectById=function(t){return this.gameObjects.find((function(e){return e.id===t}))},t.prototype.findGameObject=function(t){return\"string\"==typeof t?this.gameObjects.find((function(e){return e.name===t})):this.gameObjects.find((function(e){return e instanceof t}))},t.prototype.findGameObjectsByParent=function(t){return this.gameObjects.filter((function(e){return e.parent===t}))},t.prototype.findGameObjectByParent=function(t,e){return\"string\"==typeof e?this.gameObjects.find((function(i){return i.name===e&&i.parent===t})):this.gameObjects.find((function(i){return i instanceof e&&i.parent===t}))},t.prototype.findGameObjectsByTag=function(t){return this.gameObjects.filter((function(e){return e.tag===t}))},t.prototype.destroyAllGameObjects=function(t){var e=this;void 0===t&&(t=!1),this.gameObjects.filter((function(e){return t||!e.keep})).forEach((function(t){return e.destroy(t,!1)}))},t.prototype.destroyGameObject=function(t){this.destroy(t,!0)},t.prototype.destroy=function(t,e){var i=this.gameObjects.indexOf(t);if(-1!==i){var n=this.gameObjects.splice(i,1)[0];e&&this.destroyChildren(n),n.dispatch(Y.Destroy)}},t.prototype.destroyChildren=function(t){var e=this;this.findGameObjectsByParent(t).forEach((function(t){return e.destroyGameObject(t)}))},t}(),Qt=function(){function t(t,e,i,n){this.timeManager=t,this.physicsManager=e,this.gameObjectManager=i,this.sceneManager=n,this.running=!1,this.gameObjects=[],this.components=[],this.changingScene=!1,this.sceneEvents=[Y.Start,Y.Update,Y.StopGame],this.gameObjectEvents=[Y.Start,Y.Update]}return t.prototype.start=function(){this.startLoop(!0)},t.prototype.pause=function(){this.running=!1},t.prototype.resume=function(){this.startLoop(!1)},t.prototype.stop=function(){this.running=!1,this.dispatchFrameEvent(Y.StopGame),this.physicsManager.clear()},t.prototype.startLoop=function(t){this.running||(this.running=!0,t&&this.sceneManager.loadOpeningScene(),this.asyncGameLoop(),this.timeManager.gameFramerate!==this.timeManager.physicsFramerate&&this.asyncPhysicsLoop())},t.prototype.gameLogicIteration=function(t){this.timeManager.updateForGame(t),this.sceneManager.pendingSceneToload()&&(this.sceneManager.loadPendingScene(),this.changingScene=!1),this.load(),this.dispatchFrameEvent(Y.Start),this.dispatchFrameEvent(Y.Update),this.dispatchFrameEvent(Y.UpdateEngine),this.dispatchFrameEvent(Y.UpdateTransform),this.timeManager.gameFramerate===this.timeManager.physicsFramerate&&(this.timeManager.updateForPhysics(t),this.physicsIteration()),this.sceneManager.pendingSceneToload()&&(this.changingScene=!0,this.sceneManager.unloadCurrentScene())},t.prototype.physicsIteration=function(){this.timeManager.timeScale<=0||this.changingScene||(this.dispatchFrameEvent(Y.UpdatePhysics),this.dispatchFrameEvent(Y.UpdateCollider),this.dispatchFrameEvent(Y.UpdateTransform),this.physicsManager.resolve(this.timeManager.physicsDeltaTime))},t.prototype.asyncGameLoop=function(){var t=this;this.gameInterval=setInterval((function(){if(!t.running)return clearInterval(t.gameInterval);t.gameLogicIteration(process.uptime())}),1e3/this.timeManager.gameFramerate)},t.prototype.asyncPhysicsLoop=function(){var t=this;this.physicsInterval=setInterval((function(){if(!t.running)return clearInterval(t.physicsInterval);t.timeManager.updateForPhysics(process.uptime()),t.physicsIteration()}),1e3/this.timeManager.physicsFramerate)},t.prototype.load=function(){var t=this;this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=[],this.gameObjects.forEach((function(e){return e.getComponents().filter((function(t){return t.active})).forEach((function(e){return t.components.push(e)}))}))},t.prototype.dispatchFrameEvent=function(t){this.sceneEvents.includes(t)&&this.loadedScene.dispatch(t),this.gameObjectEvents.includes(t)&&this.gameObjects.forEach((function(e){e.active&&e.dispatch(t)})),this.components.forEach((function(e){e.active&&e.dispatch(t)}))},t}(),$t=function(){function t(t,e){this.container=t,this.renderManager=e,this.scenes=new Map,this.sceneNamePendingToLoad=null}return t.prototype.addScene=function(t,e,i,n){var r=this;if(void 0===n&&(n=!1),this.scenes.has(e))throw new Xt(\"There is already a scene with the name '\".concat(e,\"'\"));this.scenes.set(e,(function(){var n=new t(r.container,e,r.container.getConstant(\"Game\"));return r.currentScene=n,n.dispatch(Y.Init,i),n})),!n&&this.openingSceneName||(this.openingSceneName=e)},t.prototype.loadScene=function(t){if(!1===this.scenes.has(t))throw new Xt(\"Scene with name \".concat(t,\" does not exists\"));this.sceneNamePendingToLoad=t},t.prototype.getLoadedScene=function(){return this.currentScene},t.prototype.loadOpeningScene=function(){if(null===this.openingSceneName)throw new Xt(\"There is no opening scene\");this.scenes.get(this.openingSceneName)()},t.prototype.pendingSceneToload=function(){return null!==this.sceneNamePendingToLoad},t.prototype.loadPendingScene=function(){this.sceneNamePendingToLoad&&(this.scenes.get(this.sceneNamePendingToLoad)(),this.sceneNamePendingToLoad=null)},t.prototype.unloadCurrentScene=function(){this.currentScene&&(this.currentScene.dispatch(Y.Destroy),this.currentScene=void 0)},t}(),Jt=[60,120,180,240],Zt=function(){function t(t){if(this.minGameDeltatime=0,this.minPhysicsDeltaTime=0,this.gameFramerate=60,this.physicsFramerate=180,this.timeScale=1,this.browserDeltaTime=0,this.unscaledDeltaTime=0,this.unscaledPhysicsDeltaTime=0,this.maxDeltaTime=1/30,this.thenForGame=0,this.thenForPhysics=0,this.thenForBrowser=0,!Jt.includes(t))throw new Xt(\"Invalid Physics frame rate. Allowed: [\".concat(Jt.join(\", \"),\"]\"));this.physicsFramerate=t,this.minGameDeltatime=parseFloat((1/this.gameFramerate).toFixed(6)),this.minPhysicsDeltaTime=parseFloat((1/this.physicsFramerate).toFixed(6))}return Object.defineProperty(t.prototype,\"deltaTime\",{get:function(){return this.unscaledDeltaTime*this.timeScale},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"physicsDeltaTime\",{get:function(){return this.unscaledPhysicsDeltaTime*this.timeScale},enumerable:!1,configurable:!0}),t.prototype.updateForGame=function(t){this.unscaledDeltaTime=Math.min(Math.max(this.minGameDeltatime,t-this.thenForGame),this.maxDeltaTime),this.thenForGame=t},t.prototype.updateForBrowser=function(t){this.browserDeltaTime=Math.min(Math.max(0,t-this.thenForBrowser),this.maxDeltaTime),this.thenForBrowser=t},t.prototype.updateForPhysics=function(t){this.unscaledPhysicsDeltaTime=Math.min(Math.max(0,t-this.thenForPhysics),this.maxDeltaTime),this.thenForPhysics=t},t}(),te=function(t,e){if(t.addConstant(\"GameConfig\",e),t.add(\"TimeManager\",(function(){return new Zt(e.physicsFramerate)})),t.add(\"GameObjectManager\",(function(){return new Kt(t)})),t.add(\"PhysicsManager\",(function(){return function(t){var e=void 0===t?{}:t,i=e.collisionArea,n=e.collisionMatrix,r=e.collisionMethod,o=e.collisionBroadPhaseMethod,s=new E,a=r===O.AABB?new P(new A,new S,s):new R(s,new B),h=new j(a,o,i,n),c=new b,l=new V(h),u=new I;return new U(h,c,l,u)}(e.collisions)})),e.headless)t.add(\"IterationManager\",(function(){return new Qt(t.getSingleton(\"TimeManager\"),t.getSingleton(\"PhysicsManager\"),t.getSingleton(\"GameObjectManager\"),t.getSingleton(\"SceneManager\"))}));else{t.add(\"DomManager\",(function(){return new qt(e.containerNode,e.gameWidth,e.gameHeight)}));var i=t.getSingleton(\"DomManager\").canvas;t.add(\"RenderManager\",(function(){return function(t){var e=new gt(t),i=e.gl,n=e.contextVersion,r=new xt(i,n,new vt(i,new bt(i))),o=new Ht(new Wt(i)),s=new zt(i,r,o,new Map([[$.Sprite,new Dt(i,r,o)],[$.Text,new Vt(i,r,o,new mt)],[$.Tilemap,new Gt(i,r,o)],[$.Geometric,new St(i,r)],[$.Mask,new Tt(i,r)],[$.Video,new kt(i,r,o)]]));return new ft(s,new ht(i))}(i)})),t.add(\"InputManager\",(function(){return function(t){return new p(new f(t),new d(t),new l,new g(t))}(i)})),t.add(\"AssetManager\",(function(){return new Yt(t.getSingleton(\"RenderManager\"))})),t.add(\"IterationManager\",(function(){return new J(t.getSingleton(\"TimeManager\"),t.getSingleton(\"PhysicsManager\"),t.getSingleton(\"RenderManager\"),t.getSingleton(\"InputManager\"),t.getSingleton(\"GameObjectManager\"),t.getSingleton(\"SceneManager\"),e.canvasColor)}))}t.add(\"SceneManager\",(function(){return new $t(t,e.headless?void 0:t.getSingleton(\"RenderManager\"))}))},ee=function(){function t(){this.instances=new Map,this.constructors=new Map,this.constants=new Map}return t.prototype.add=function(t,e){if(this.constructors.has(t))throw new Xt(\"There is already an object constructor with the name \".concat(t));this.constructors.set(t,e)},t.prototype.getSingleton=function(t){if(!1===this.constructors.has(t))throw new Xt(\"Invalid object constructor name: \".concat(t));return!1===this.instances.has(t)&&this.instances.set(t,this.constructors.get(t)()),this.instances.get(t)},t.prototype.getTranscient=function(t){if(!1===this.constructors.has(t))throw new Xt(\"Invalid object constructor name: \".concat(t));return this.constructors.get(t)()},t.prototype.addConstant=function(t,e){if(this.constants.has(t))throw new Xt(\"There is already a constant value with the name \".concat(t));this.constants.set(t,e)},t.prototype.getConstant=function(t){if(!1===this.constants.has(t))throw new Xt(\"Invalid constant name: \".concat(t));return this.constants.get(t)},t}(),ie={containerNode:void 0,gameWidth:320,gameHeight:180,debugEnabled:!1,canvasColor:\"#000000\",physicsFramerate:180,headless:!1,spriteDefaultScale:new t(1,1),collisions:{collisionMethod:O.SAT,collisionBroadPhaseMethod:x.SpartialGrid}},ne=function(){function t(t){this._config=X(X({},ie),t),this._config.collisions=X(X({},ie.collisions),t.collisions),this.container=new ee,this.container.addConstant(\"Game\",this),this.setupManagers()}return t.prototype.setupManagers=function(){te(this.container,this._config),this.sceneManager=this.container.getSingleton(\"SceneManager\"),this.iterationManager=this.container.getSingleton(\"IterationManager\")},Object.defineProperty(t.prototype,\"config\",{get:function(){return this._config},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"running\",{get:function(){return this.iterationManager.running},enumerable:!1,configurable:!0}),t.prototype.addScene=function(t,e,i,n){this.sceneManager.addScene(t,e,\"object\"==typeof i?i:void 0,\"boolean\"==typeof i?i:null!=n&&n)},t.prototype.run=function(){this.iterationManager.start()},t.prototype.stop=function(){this.iterationManager.stop()},t.prototype.pause=function(){this.iterationManager.pause()},t.prototype.resume=function(){this.iterationManager.resume()},t}(),re=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.allowMultiple=!1,i.parentScale=!0,i.parentRotation=!0,i._position=new t,i._scale=new t(1,1),i._rotation=new h,i._innerPosition=new t,i._parent=null,i.cache=new t,i.lastParentRadians=0,i.lastPosition=new t,i.scaledInnerPosition=new t,i}return N(i,e),Object.defineProperty(i.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"scale\",{get:function(){return this._scale},set:function(t){this._scale.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"rotation\",{get:function(){return this._rotation},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"direction\",{get:function(){return this._rotation.direction},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"innerPosition\",{get:function(){return this._innerPosition},set:function(t){this._innerPosition.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"parent\",{get:function(){return this._parent},set:function(e){this._parent=e,null!==this._parent&&t.subtract(this._innerPosition,this._position,this._parent.position)},enumerable:!1,configurable:!0}),i.prototype.update=function(){null!==this._parent&&this.setPositionFromParent(),this.lastPosition.copy(this._position)},i.prototype.setPositionFromParent=function(){this._innerPosition.magnitude>0?(0!==this._parent.rotation.radians&&this.lastParentRadians!==this._parent.rotation.radians&&(this.translateInnerPosition(),this.lastParentRadians=this._parent.rotation.radians),this.parentScale?(this.updateScaledInnerPosition(),t.add(this._position,this._parent.position,this.scaledInnerPosition)):t.add(this._position,this._parent.position,this._innerPosition)):this._position.copy(this._parent.position),this._rotation.radians=this.parentRotation?this._parent.rotation.radians+this._rotation.radians:this._rotation.radians,this.parentScale&&this._scale.copy(this.parent._scale)},i.prototype.translateInnerPosition=function(){var e=Math.atan2(this._innerPosition.y,this._innerPosition.x)+(this._parent.rotation.radians-this.lastParentRadians);this.cache.set(Math.cos(e),Math.sin(e)),t.scale(this._innerPosition,this.cache,this._innerPosition.magnitude)},i.prototype.updateScaledInnerPosition=function(){this.scaledInnerPosition.set(this._innerPosition.x*this._parent.scale.x,this._innerPosition.y*this._parent.scale.y)},i}(rt),oe=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderer=null,e.colliders=[],e.physics=!0,e.activateColliders=!1,e}return N(e,t),e.prototype.update=function(){this.activateColliders&&(this.colliders.forEach((function(t){return t.active=!0})),this.activateColliders=!1),this.updateRealSize(),this.updatePosition(),this.updateColliders()},e.prototype.collidesWithLayer=function(t){for(var e=0,i=this.colliders;e<i.length;e++){var n=i[e];if(this.physicsManager.getCollisionsForColliderAndLayer(n,t).length>0)return!0}return!1},e.prototype.collidesWithLayers=function(t,e){void 0===e&&(e=\"or\");for(var i=0,n=0,r=this.colliders;n<r.length;n++)for(var o=r[n],s=0,a=this.physicsManager.getCollisionsForCollider(o);s<a.length;s++){var h=a[s];if(t.includes(h.remoteCollider.layer)){if(\"or\"===e)return!0;i++}}return\"and\"===e&&i===t.length},e.prototype.getCollisionWithLayer=function(t){for(var e=0,i=this.colliders;e<i.length;e++){var n=i[e],r=this.physicsManager.getCollisionsForColliderAndLayer(n,t);if(r.length>0)return this.createCollisionData(r[0])}return null},e.prototype.getCollisionsWithLayer=function(t){for(var e=this,i=[],n=0,r=this.colliders;n<r.length;n++){var o=r[n];this.physicsManager.getCollisionsForColliderAndLayer(o,t).forEach((function(t){return i.push(e.createCollisionData(t))}))}return i},e.prototype.getCollisionsWithLayers=function(t){for(var e=[],i=0,n=this.colliders;i<n.length;i++)for(var r=n[i],o=0,s=this.physicsManager.getCollisionsForCollider(r);o<s.length;o++){var a=s[o];t.includes(a.remoteCollider.layer)&&e.push(this.createCollisionData(a))}return e},e.prototype.createCollisionData=function(t){return{gameObject:this.gameObjectManager.findGameObjectById(Number(t.remoteCollider.group)),collider:t.remoteCollider,resolution:t.resolution,getGameObject:function(){return this.gameObject},localCollider:t.localCollider}},e.prototype.onActiveChange=function(){var t=this;this.renderer&&(this.renderer.active=this.active),this.active?this.activateColliders=!0:this.colliders.forEach((function(e){return e.active=t.active}))},e.prototype.onDestroy=function(){var t=this;this.colliders.forEach((function(e){return t.physicsManager.removeCollider(e)}))},e}(it),se=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.allowMultiple=!1,t}return N(i,e),Object.defineProperty(i.prototype,\"velocity\",{get:function(){return this.rigidBody.velocity},set:function(t){this.rigidBody.velocity.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"gravity\",{get:function(){return this.rigidBody.gravity},set:function(t){this.rigidBody.gravity=Math.abs(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"rigidBodyType\",{get:function(){return this.rigidBody.type},enumerable:!1,configurable:!0}),i.prototype.init=function(e){var i,n=e.rigidBodyType,r=e.gravity;if(0===this.getColliderIds().length)throw new Xt(\"RigidBody needs at least one Collider with physics\");this.rigidBody=this.physicsManager.addRigidBody({type:n,colliderIds:this.getColliderIds(),gravity:null!==(i=Math.abs(r))&&void 0!==i?i:0,velocity:new t,position:new t})},i.prototype.update=function(){if(0===this.getColliderIds().length)throw new Xt(\"RigidBody needs at least one Collider with physics\");this.rigidBody.colliderIds=this.getColliderIds(),this.rigidBody.position=this.gameObject.transform.parent?this.gameObject.transform.innerPosition:this.gameObject.transform.position},i.prototype.getColliderIds=function(){return this.gameObject.getComponents().filter((function(t){return t instanceof oe&&t.physics})).reduce((function(t,e){return q(q([],t,!0),e.colliders.map((function(t){return t.id})),!0)}),[])},i.prototype.onActiveChange=function(){this.rigidBody.active=this.active},i.prototype.onDestroy=function(){this.physicsManager.removeRigidBody(this.rigidBody)},i}(et),ae=\"Default\",he=function(t){function e(e,i,n,r){void 0===n&&(n=\"\"),void 0===r&&(r=null);var o=t.call(this,e)||this;return o.layer=\"Default\",o.ui=!1,o.keep=!1,o._parent=null,o._active=!0,o.components=[],o.activeComponentsCache=[],o.activeChildrenCache=[],o.id=i,o.name=n,o.addComponent(re),r&&(o.transform.position=r.transform.position,o.parent=r),o}return N(e,t),Object.defineProperty(e.prototype,\"active\",{get:function(){return this._active},set:function(t){this._active!==t&&(this._active=t,this.updateComponentsActiveStatus(),this.updateChildrenActiveStatus(),this.onActiveChange())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"parent\",{get:function(){return this._parent},set:function(t){this._parent=t,this.transform.parent=null!==t?t.transform:null},enumerable:!1,configurable:!0}),e.prototype.updateComponentsActiveStatus=function(){var t=this;!1===this.active&&(this.activeComponentsCache=this.components.filter((function(t){return t.active}))),this.activeComponentsCache.forEach((function(e){return e.active=t.active})),!0===this.active&&(this.activeComponentsCache=[])},e.prototype.updateChildrenActiveStatus=function(){var t=this;!1===this.active&&(this.activeChildrenCache=this.getChildren().filter((function(t){return t.active}))),this.activeChildrenCache.forEach((function(e){return e.active=t.active})),!0===this.active&&(this.activeChildrenCache=[])},Object.defineProperty(e.prototype,\"transform\",{get:function(){return this.getComponent(re)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rigidBody\",{get:function(){return this.getComponent(se)},enumerable:!1,configurable:!0}),e.prototype.onActiveChange=function(){},e.prototype.getCurrentScene=function(){return this.sceneManager.getLoadedScene()},e.prototype.addComponent=function(t,e,i){var n=\"string\"==typeof e?void 0:e,r=\"string\"==typeof e?e:i,o=new t(this.container,this,r);return this.checkMultipleComponent(o,t),this.components.push(o),o.dispatch(Y.Init,n),o},e.prototype.checkMultipleComponent=function(t,e){if(!1===t.allowMultiple&&this.hasComponent(e))throw new Xt(\"GameObject only allows one component of type \".concat(e.name))},e.prototype.getComponents=function(t){return t?this.components.filter((function(e){return e instanceof t})):this.components},e.prototype.getComponent=function(t){return\"string\"==typeof t?this.components.find((function(e){return e.name===t})):this.components.find((function(e){return e instanceof t}))},e.prototype.hasComponent=function(t){return\"string\"==typeof t?this.components.some((function(e){return e.name===t})):this.components.some((function(e){return e instanceof t}))},e.prototype.removeComponent=function(t){var e=this.components.indexOf(t);-1!==e&&this.components.splice(e,1)[0].dispatch(Y.Destroy)},e.prototype.addChild=function(t,e,i){var n=this.gameObjectManager.addGameObject(t,e,this,i);return n.transform.innerPosition.set(0,0),n.transform.position.copy(this.transform.position),n},e.prototype.getChildren=function(){return this.gameObjectManager.findGameObjectsByParent(this)},e.prototype.getChild=function(t){return this.gameObjectManager.findGameObjectByParent(this,t)},e.prototype.destroyChildren=function(){var t=this;this.gameObjectManager.findGameObjectsByParent(this).forEach((function(e){return t.gameObjectManager.destroyGameObject(e)}))},e.prototype._destroy=function(){var t=this;this.destroyComponents(),Object.keys(this).forEach((function(e){return delete t[e]}))},e.prototype.destroyComponents=function(){for(var t=0;t<this.components.length;t++)this.components[t].dispatch(Y.Destroy),delete this.components[t];this.components=[]},e.prototype._stopGame=function(){},e}(Z),ce=[\"Default\"],le=function(i){function n(){var t=null!==i&&i.apply(this,arguments)||this;return t.allowMultiple=!1,t.viewportRect=new e(0,0,0,0),t.worldSpaceRect=new e(0,0,0,0),t.depth=0,t.layers=ce,t._zoom=1,t}return N(n,i),Object.defineProperty(n.prototype,\"zoom\",{get:function(){return this._zoom},set:function(t){if(this.zoom<=0)throw new Xt(\"zoom must be greather than 0\");this._zoom=t},enumerable:!1,configurable:!0}),n.prototype.addLayer=function(t){this.layers.push(t)},n.prototype.init=function(){this.canvas=this.domManager.canvas,this.cameraData={position:new t,layers:[],depth:1}},n.prototype.update=function(){this.updateViewportRect(),this.updateWorldSpaceRect(),this.updateCameraData()},n.prototype.updateViewportRect=function(){this.viewportRect.x=-this.canvas.width/2,this.viewportRect.y=-this.canvas.height/2,this.viewportRect.width=this.canvas.width,this.viewportRect.height=this.canvas.height},n.prototype.updateWorldSpaceRect=function(){this.worldSpaceRect.x=(this.gameObject.transform.position.x-this.viewportRect.width/2)/this._zoom,this.worldSpaceRect.y=(this.gameObject.transform.position.y-this.viewportRect.height/2)/this._zoom,this.worldSpaceRect.width=this.viewportRect.width/this._zoom,this.worldSpaceRect.height=this.viewportRect.height/this._zoom},n.prototype.updateCameraData=function(){this.cameraData.position.copy(this.gameObject.transform.position),this.cameraData.depth=this.depth,this.cameraData.layers=this.layers,this.cameraData.zoom=this._zoom,this.renderManager.addCameraData(this.cameraData)},n}(st),ue=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return N(e,t),e.prototype.init=function(){this.transform.position.set(0,0),this.camera=this.addComponent(le)},Object.defineProperty(e.prototype,\"layers\",{get:function(){return this.camera.layers},set:function(t){this.camera.layers=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"depth\",{get:function(){return this.camera.depth},set:function(t){this.camera.depth=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"zoom\",{get:function(){return this.camera.zoom},set:function(t){this.camera.zoom=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"worldSpaceRect\",{get:function(){return this.camera.worldSpaceRect},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"viewportRect\",{get:function(){return this.camera.viewportRect},enumerable:!1,configurable:!0}),e.prototype.addLayer=function(t){this.camera.layers.push(t)},e}(he),pe=function(t){function e(e,i,n){var r=t.call(this,e)||this;return r.name=i,r.game=n,r.game.config.headless||r.addGameObject(ue),r}return N(e,t),Object.defineProperty(e.prototype,\"gameCamera\",{get:function(){return this.findGameObject(ue)},enumerable:!1,configurable:!0}),e.prototype._destroy=function(){var t=this;this.gameObjectManager.destroyAllGameObjects(!1),Object.keys(this).forEach((function(e){return delete t[e]}))},e.prototype._stopGame=function(){var t=this;this.gameObjectManager.destroyAllGameObjects(!0),Object.keys(this).forEach((function(e){return delete t[e]}))},e}(Z),de=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.debug=!1,i.offsetX=0,i.offsetY=0,i.scaledVertexModel=[],i.scaledOffset=new t,i.scaledPosition=new t,i.finalRotation=0,i.innerPosition=new t,i}return N(i,e),i.prototype.init=function(e){var i,n,r,o,s,a;if(this.gameConfig.collisions.collisionMethod!==O.SAT)throw new Xt(\"Polygon Colliders need SAT collision method.\");if(e.vertexModel.length<3)throw new Xt(\"Polygon Collider needs at least 3 vertices.\");this.debug=(null!==(i=e.debug)&&void 0!==i?i:this.debug)&&this.gameConfig.debugEnabled,this.vertexModel=e.vertexModel,this.offsetX=null!==(n=e.offsetX)&&void 0!==n?n:this.offsetX,this.offsetY=null!==(r=e.offsetY)&&void 0!==r?r:this.offsetY,this.physics=null!==(o=e.physics)&&void 0!==o?o:this.physics,this.rotation=null!==(s=e.rotation)&&void 0!==s?s:new h,this.layer=e.layer;for(var c=0;c<this.vertexModel.length;c++)this.scaledVertexModel.push(new t);this.colliders.push(this.physicsManager.addCollider({layer:null!==(a=this.layer)&&void 0!==a?a:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new W(this.scaledVertexModel),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(fe,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){var t=this;this.vertexModel.forEach((function(e,i){return t.scaledVertexModel[i].set(e.x*t.gameObject.transform.scale.x,e.y*t.gameObject.transform.scale.y)})),this.scaledOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.scaledOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.finalRotation=this.gameObject.transform.rotation.radians+this.rotation.radians},i.prototype.updatePosition=function(){t.add(this.scaledPosition,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){t.subtract(this.innerPosition,this.scaledPosition,this.gameObject.transform.position);var e=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.scaledPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(e),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(e))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.scaledPosition),this.colliders[0].rotation=this.finalRotation,this.colliders[0].shape.vertexModel=this.scaledVertexModel},i}(oe),fe=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return N(i,e),i.prototype.init=function(e){var i=e.collider;this.renderData={type:$.Geometric,location:Q.WorldSpace,layer:this.gameObject.layer,position:new t,shape:K.Polygon,color:\"#00FF00\"},this.collider=i},i.prototype.update=function(){this.renderData.layer=this.gameObject.layer,this.renderData.position.copy(this.collider.position),this.renderData.rotation=this.collider.shape.rotation,this.renderData.vertexModel=this.collider.shape.vertexModel,this.renderManager.addRenderData(this.renderData)},i}(at),ge=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.debug=!1,i.offsetX=0,i.offsetY=0,i.realWidth=0,i.realHeight=0,i.realOffset=new t,i.realPosition=new t,i.realRotation=0,i.applyRotation=i.gameConfig.collisions.collisionMethod===O.SAT,i.innerPosition=new t,i}return N(i,e),i.prototype.init=function(t){var e,i,n,r,o,s;this.width=t.width,this.height=t.height,this.offsetX=null!==(e=t.offsetX)&&void 0!==e?e:this.offsetX,this.offsetY=null!==(i=t.offsetY)&&void 0!==i?i:this.offsetY,this.physics=null!==(n=t.physics)&&void 0!==n?n:this.physics,this.debug=(null!==(r=t.debug)&&void 0!==r?r:this.debug)&&this.gameConfig.debugEnabled,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new h,this.layer=t.layer,this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new H(this.realWidth,this.realHeight),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(fe,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){this.realWidth=this.width*Math.abs(this.gameObject.transform.scale.x),this.realHeight=this.height*Math.abs(this.gameObject.transform.scale.y),this.realOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.realOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.realRotation=this.applyRotation?this.gameObject.transform.rotation.radians+this.rotation.radians:0},i.prototype.updatePosition=function(){t.add(this.realPosition,this.gameObject.transform.position,this.realOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){t.subtract(this.innerPosition,this.realPosition,this.gameObject.transform.position);var e=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.realPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(e),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(e))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.realPosition),this.colliders[0].rotation=this.realRotation,this.colliders[0].shape.updateSize(this.realWidth,this.realHeight)},i}(oe),me=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.debug=!1,i.offsetX=0,i.offsetY=0,i.realRadius=0,i.realOffset=new t,i.realPosition=new t,i.innerPosition=new t,i}return N(i,e),i.prototype.init=function(t){var e,i,n,r,o;this.radius=t.radius,this.offsetX=null!==(e=t.offsetX)&&void 0!==e?e:this.offsetX,this.offsetY=null!==(i=t.offsetY)&&void 0!==i?i:this.offsetY,this.physics=null!==(n=t.physics)&&void 0!==n?n:this.physics,this.debug=(null!==(r=t.debug)&&void 0!==r?r:this.debug)&&this.gameConfig.debugEnabled,this.layer=t.layer,this.colliders.push(this.physicsManager.addCollider({layer:null!==(o=this.layer)&&void 0!==o?o:this.gameObject.layer,position:this.gameObject.transform.position.clone(),shape:new G(this.radius),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(ye,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){this.realRadius=this.radius*Math.max(Math.abs(this.gameObject.transform.scale.x),Math.abs(this.gameObject.transform.scale.y)),this.realOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.realOffset.y=this.offsetY*this.gameObject.transform.scale.y},i.prototype.updatePosition=function(){t.add(this.realPosition,this.gameObject.transform.position,this.realOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){t.subtract(this.innerPosition,this.realPosition,this.gameObject.transform.position);var e=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.realPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(e),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(e))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.realPosition),this.colliders[0].shape.radius=this.realRadius},i}(oe),ye=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return N(i,e),i.prototype.init=function(e){var i=e.collider;this.renderData={type:$.Geometric,location:Q.WorldSpace,layer:this.gameObject.layer,position:new t,shape:K.Circumference,color:\"#00FF00\"},this.collider=i},i.prototype.update=function(){this.renderData.layer=this.gameObject.layer,this.renderData.position.copy(this.collider.position),this.renderData.radius=this.collider.shape.radius,this.renderManager.addRenderData(this.renderData)},i}(at),ve=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.debug=!1,i.position=new t,i}return N(i,e),i.prototype.init=function(t){var e,i;this.tilemapRenderer=t.tilemapRenderer,this.layer=t.layer,this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.physics=!0,this.composite=null!==(i=t.composite)&&void 0!==i&&i,this.scaledTileWidth=this.tilemapRenderer.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tilemapRenderer.tileHeight*this.gameObject.transform.scale.y,this.scaledWidth=this.tilemapRenderer.width*this.scaledTileWidth,this.scaledHeight=this.tilemapRenderer.height*this.scaledTileHeight,this.position.set(this.gameObject.transform.position.x-this.scaledWidth/2,this.gameObject.transform.position.y+this.scaledHeight/2),this.composite?this.useLineColliders():this.useBoxColliders(),this.debug&&(this.renderer=this.gameObject.addComponent(xe,{colliders:this.colliders}))},i.prototype.useBoxColliders=function(){var e=this;this.tilemapRenderer.tiles.forEach((function(i,n){var r;e.needsCollider(i,n)&&e.colliders.push(e.physicsManager.addCollider({layer:null!==(r=e.layer)&&void 0!==r?r:e.gameObject.layer,position:new t(e.position.x+(n%e.tilemapRenderer.width+.5)*e.scaledTileWidth,e.position.y-(Math.floor(n/e.tilemapRenderer.width)+.5)*e.scaledTileHeight),shape:new H(e.scaledTileWidth,e.scaledTileHeight),updateCollisions:!1,physics:e.physics,group:e.gameObject.id.toString()}))}))},i.prototype.needsCollider=function(t,e){var i=this;return 0!==t&&this.getNeighbors(e).some((function(t){return!t||!i.tilemapRenderer.tiles[t]||0===i.tilemapRenderer.tiles[t]}))},i.prototype.useLineColliders=function(){var e,i,n=this,r=[],o=[];this.tilemapRenderer.tiles.forEach((function(t,e){if(0!==t){var i=e%n.tilemapRenderer.width,s=Math.floor(e/n.tilemapRenderer.width);r[s]||(r[s]=[]),r[s+1]||(r[s+1]=[]),o[s]||(o[s]=[]),o[s+1]||(o[s+1]=[]);var a=n.getNeighbors(e);n.hasTile(a[0])||(r[s][i]=!0),n.hasTile(a[2])||(r[s+1][i]=!0),n.hasTile(a[1])||(o[s][i]=!0),n.hasTile(a[3])||(o[s][i+1]=!0)}}));for(var s=0;s<r.length;s++)if(r[s])for(var a=0;a<r[s].length;a++)!e||!i||s===i.y&&r[s][a]||(this.addLineCollider(e,i),e=void 0,i=void 0),r[s][a]&&(e||(e=new t(a,s)),i=new t(a+1,s));e&&i&&this.addLineCollider(e,i),e=void 0,i=void 0;for(a=0;a<=this.tilemapRenderer.width;a++)for(s=0;s<o.length;s++)o[s]&&(!e||!i||a===i.x&&o[s][a]||(this.addLineCollider(e,i),e=void 0,i=void 0),o[s][a]&&(e||(e=new t(a,s)),i=new t(a,s+1)));e&&i&&this.addLineCollider(e,i)},i.prototype.hasTile=function(t){return void 0!==t&&this.tilemapRenderer.tiles[t]&&this.tilemapRenderer.tiles[t]>0},i.prototype.addLineCollider=function(e,i){var n,r=this.physicsManager.addCollider({layer:null!==(n=this.layer)&&void 0!==n?n:this.gameObject.layer,position:this.position.clone(),shape:new k([new t(e.x*this.scaledTileWidth,e.y*-this.scaledTileHeight),new t(i.x*this.scaledTileWidth,i.y*-this.scaledTileHeight)]),updateCollisions:!1,physics:this.physics,group:this.gameObject.id.toString()});this.colliders.push(r)},i.prototype.getNeighbors=function(t){return[t-this.tilemapRenderer.width>=0?t-this.tilemapRenderer.width:void 0,t%this.tilemapRenderer.width>0?t-1:void 0,t+this.tilemapRenderer.width<=this.tilemapRenderer.width*this.tilemapRenderer.height?t+this.tilemapRenderer.width:void 0,t%this.tilemapRenderer.width<this.tilemapRenderer.width-1?t+1:void 0]},i.prototype.updateRealSize=function(){},i.prototype.updatePosition=function(){},i.prototype.updateColliders=function(){var t=this;this.colliders.forEach((function(e){var i;return e.layer=null!==(i=t.layer)&&void 0!==i?i:t.gameObject.layer}))},i}(oe),xe=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.renderData=[],t.colliders=[],t}return N(i,e),i.prototype.init=function(e){var i=this,n=e.colliders;this.colliders=n,this.colliders.forEach((function(e,n){i.renderData[n]={type:$.Geometric,layer:i.gameObject.layer,location:Q.WorldSpace,position:new t,shape:K.Polygon,color:\"#00FF00\"}}))},i.prototype.update=function(){var t=this;this.colliders.forEach((function(e,i){t.renderData[i].layer=t.gameObject.layer,t.renderData[i].position.copy(e.shape.position),t.renderData[i].rotation=e.rotation,t.renderData[i].vertexModel=e.shape.vertexModel,t.renderManager.addRenderData(t.renderData[i])}))},i}(at),be=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.debug=!1,i.offsetX=0,i.offsetY=0,i.scaledVertexModel=[],i.scaledOffset=new t,i.scaledPosition=new t,i.finalRotation=0,i.innerPosition=new t,i}return N(i,e),i.prototype.init=function(e){var i,n,r,o,s,a;if(this.gameConfig.collisions.collisionMethod!==O.SAT)throw new Xt(\"Edge Colliders need SAT collision method.\");if(e.vertexModel.length<2)throw new Xt(\"Edge Collider needs at least 2 vertices.\");this.debug=(null!==(i=e.debug)&&void 0!==i?i:this.debug)&&this.gameConfig.debugEnabled,this.vertexModel=e.vertexModel,this.offsetX=null!==(n=e.offsetX)&&void 0!==n?n:this.offsetX,this.offsetY=null!==(r=e.offsetY)&&void 0!==r?r:this.offsetY,this.physics=null!==(o=e.physics)&&void 0!==o?o:this.physics,this.rotation=null!==(s=e.rotation)&&void 0!==s?s:new h,this.layer=e.layer;for(var c=0;c<this.vertexModel.length;c++)this.scaledVertexModel.push(new t);for(c=0;c<this.scaledVertexModel.length-1;c++)this.colliders.push(this.physicsManager.addCollider({layer:null!==(a=this.layer)&&void 0!==a?a:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new k([this.scaledVertexModel[c],this.scaledVertexModel[c+1]]),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()}));this.debug&&(this.renderer=this.gameObject.addComponent(Me,{colliders:this.colliders}))},i.prototype.updateRealSize=function(){var t=this;this.vertexModel.forEach((function(e,i){return t.scaledVertexModel[i].set(e.x*t.gameObject.transform.scale.x,e.y*t.gameObject.transform.scale.y)})),this.scaledOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.scaledOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.finalRotation=this.gameObject.transform.rotation.radians+this.rotation.radians},i.prototype.updatePosition=function(){t.add(this.scaledPosition,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){t.subtract(this.innerPosition,this.scaledPosition,this.gameObject.transform.position);var e=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.scaledPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(e),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(e))},i.prototype.updateColliders=function(){for(var t,e=0;e<this.scaledVertexModel.length-1;e++)this.colliders[e].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[e].position.copy(this.scaledPosition),this.colliders[e].rotation=this.finalRotation,this.colliders[e].shape.vertexModel=[this.scaledVertexModel[e],this.scaledVertexModel[e+1]]},i}(oe),Me=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.renderData=[],t.colliders=[],t}return N(i,e),i.prototype.init=function(e){var i=this,n=e.colliders;this.colliders=n,this.colliders.forEach((function(e,n){i.renderData[n]={type:$.Geometric,layer:i.gameObject.layer,location:Q.WorldSpace,position:new t,shape:K.Line,color:\"#00FF00\"}}))},i.prototype.update=function(){var t=this;this.colliders.forEach((function(e,i){t.renderData[i].layer=t.gameObject.layer,t.renderData[i].position=e.position,t.renderData[i].rotation=e.rotation,t.renderData[i].vertexModel=e.shape.vertexModel,t.renderManager.addRenderData(t.renderData[i])}))},i}(at),_e=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.renderData=[],i.innerPosition=new t,i.cachePosition=new t,i.cacheRenderPosition=new t,i.scaledOffset=new t,i.cacheScale=new t,i}return N(i,e),i.prototype.init=function(e){var i,n,r,o,s,a,c,l,u;void 0===e&&(e={}),this.sprite=e.sprite,this.offset=null!==(i=e.offset)&&void 0!==i?i:new t,this.rotation=null!==(n=e.rotation)&&void 0!==n?n:new h,this.flipHorizontal=null!==(r=e.flipHorizontal)&&void 0!==r&&r,this.flipVertical=null!==(o=e.flipVertical)&&void 0!==o&&o,this.opacity=null!==(s=e.opacity)&&void 0!==s?s:1,this._tiled=null!==(a=e.tiled)&&void 0!==a?a:new t(1,1),this.maskColor=e.maskColor,this.maskColorMix=null!==(c=e.maskColorMix)&&void 0!==c?c:0,this.tintColor=e.tintColor,this.layer=e.layer,this.scale=null!==(u=null!==(l=e.scale)&&void 0!==l?l:this.gameConfig.spriteDefaultScale.clone())&&void 0!==u?u:new t(1,1),this.width=e.width,this.height=e.height},Object.defineProperty(i.prototype,\"tiled\",{get:function(){return this._tiled},set:function(t){if(t.x%1!=0||t.y%1!=0)throw new Xt(\"SpriteRenderer.tiled: Vector2 components must be integers\");this._tiled.set(t.x,t.y)},enumerable:!1,configurable:!0}),i.prototype.update=function(){if(this.sprite&&!0===this.sprite.loaded){this.cacheScale.set(this.scale.x*this.gameObject.transform.scale.x,this.scale.y*this.gameObject.transform.scale.y),this.updateRenderDataArray();for(var t=0,e=0;e<this._tiled.x;e++)for(var i=0;i<this._tiled.y;i++)this.updateRenderData(t,e,i),t++}},i.prototype.updateRenderDataArray=function(){if(this.renderData.length!==this._tiled.x*this._tiled.y){this.renderData=[];for(var e=0;e<this._tiled.x*this._tiled.y;e++)this.renderData[e]={type:$.Sprite,location:Q.WorldSpace,layer:\"\",position:new t,image:this.sprite.image,width:0,height:0}}},i.prototype.updateRenderData=function(t,e,i){var n,r,o;this.renderData[t].location=this.gameObject.ui?Q.ViewPort:Q.WorldSpace,this.renderData[t].layer=null!==(n=this.layer)&&void 0!==n?n:this.gameObject.layer,this.renderData[t].image=this.sprite.image,this.renderData[t].width=(null!==(r=this.width)&&void 0!==r?r:this.sprite.width)*Math.abs(this.cacheScale.x),this.renderData[t].height=(null!==(o=this.height)&&void 0!==o?o:this.sprite.height)*Math.abs(this.cacheScale.y),this.renderData[t].slice=this.sprite.slice,this.renderData[t].flipHorizontal=this.flipHorizontal!==this.cacheScale.x<0,this.renderData[t].flipVertical=this.flipVertical!==this.cacheScale.y<0,this.renderData[t].rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData[t].smooth=this.sprite.smooth,this.renderData[t].alpha=this.opacity,this.renderData[t].maskColor=this.maskColor,this.renderData[t].maskColorMix=this.maskColorMix,this.renderData[t].tintColor=this.tintColor,this.calculateRenderPosition(t,e,i),this.renderManager.addRenderData(this.renderData[t])},i.prototype.calculateRenderPosition=function(e,i,n){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),t.add(this.cachePosition,this.gameObject.transform.position,this.scaledOffset),this.cacheRenderPosition.set(this.renderData[e].width/2*(this._tiled.x-1),this.renderData[e].height/2*(this._tiled.y-1)),t.subtract(this.cachePosition,this.cachePosition,this.cacheRenderPosition),this.cacheRenderPosition.set(i*this.renderData[e].width,n*this.renderData[e].height),t.add(this.renderData[e].position,this.cachePosition,this.cacheRenderPosition),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition(e)},i.prototype.translateRenderPosition=function(e){t.subtract(this.innerPosition,this.renderData[e].position,this.gameObject.transform.position);var i=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData[e].position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(i),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(i))},i}(at),we=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.lastFrameText=\"\",t}return N(i,e),i.prototype.init=function(e){var i,n,r,o,s,a,c,l,u,p,d,f,g;if(this.text=null!==(i=e.text)&&void 0!==i?i:\"\",this.font=null!==(n=e.font)&&void 0!==n?n:\"Sans\",this.fontSize=null!==(r=e.fontSize)&&void 0!==r?r:12,this.width=null!==(o=e.width)&&void 0!==o?o:100,this.height=null!==(s=e.height)&&void 0!==s?s:100,this.offset=null!==(a=e.offset)&&void 0!==a?a:new t,this.color=null!==(c=e.color)&&void 0!==c?c:\"#000000\",this.charRanges=null!==(l=e.charRanges)&&void 0!==l?l:[32,126,161,255],this.lineSeparation=null!==(u=e.lineSeparation)&&void 0!==u?u:0,this.letterSpacing=null!==(p=e.letterSpacing)&&void 0!==p?p:0,this.smooth=null!==(d=e.smooth)&&void 0!==d&&d,this.rotation=null!==(f=e.rotation)&&void 0!==f?f:new h,this.opacity=null!==(g=e.opacity)&&void 0!==g?g:1,this.orientation=e.orientation,this.bitmapMargin=e.bitmapMargin,this.bitmapSpacing=e.bitmapSpacing,this.charRanges.length%2!=0)throw new Xt(\"TextRenderer.charRanges must be a 2 column matrix\");if(this.lineSeparation%2!=0)throw new Xt(\"TextRenderer.lineSeparation must be multiple of 2\")},i.prototype.start=function(){this.renderData={type:$.Text,location:Q.WorldSpace,position:new t,layer:this.gameObject.layer,text:\"\",font:this.font,fontSize:this.fontSize,bitmap:{charRanges:this.charRanges,margin:this.bitmapMargin,spacing:this.bitmapSpacing},smooth:this.smooth}},i.prototype.update=function(){var e,i;this.text&&(this.renderData.layer=this.gameObject.layer,this.renderData.location=this.gameObject.ui?Q.ViewPort:Q.WorldSpace,this.renderData.text=this.text!==this.lastFrameText?this.crop():this.renderData.text,this.renderData.fontSize=this.fontSize,this.renderData.color=this.color,this.renderData.orientation=this.orientation,this.renderData.lineSeparation=this.lineSeparation,this.renderData.letterSpacing=this.letterSpacing,this.renderData.rotation=null!==(i=this.gameObject.transform.rotation.radians+(null===(e=this.rotation)||void 0===e?void 0:e.radians))&&void 0!==i?i:0,this.renderData.alpha=this.opacity,t.add(this.renderData.position,this.gameObject.transform.position,this.offset),this.renderManager.addRenderData(this.renderData),this.lastFrameText=this.text)},i.prototype.crop=function(){var t=this;if(this.fontSize>this.height)return\"\";for(var e=[],i=0,n=0,r=this.text.split(\"\\n\");n<r.length;n++)for(var o=r[n].split(\" \").reduce((function(e,i){var n=e[e.length-1]+(e[e.length-1].length>0?\" \":\"\")+i;return n.length*(t.fontSize+t.letterSpacing)>t.width?e.push(i):e[e.length-1]=n,e}),[\"\"]),s=0,a=o;s<a.length;s++){var h=a[s];if((i+=this.fontSize+this.lineSeparation)>this.height)return e.join(\"\\n\");e.push(h)}return e.join(\"\\n\")},i}(at),Ce=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.offset=new t,i.rotation=new h,i.opacity=1,i.innerPosition=new t,i.scaledOffset=new t,i}return N(i,e),i.prototype.init=function(e){var i,n,r,o,s,a,h;this.shape=e.shape,this.color=e.color,this.width=null!==(i=e.width)&&void 0!==i?i:0,this.height=null!==(n=e.height)&&void 0!==n?n:0,this.radius=null!==(r=e.radius)&&void 0!==r?r:0,this.offset=null!==(o=e.offset)&&void 0!==o?o:this.offset,this.rotation=null!==(s=e.rotation)&&void 0!==s?s:this.rotation,this.opacity=null!==(a=e.opacity)&&void 0!==a?a:this.opacity,this.layer=e.layer,this.renderData={type:$.Mask,layer:null!==(h=this.layer)&&void 0!==h?h:this.gameObject.layer,location:this.gameObject.ui?Q.ViewPort:Q.WorldSpace,position:new t,width:0,height:0,radius:0,color:\"\",shape:this.shape}},i.prototype.update=function(){var t;this.renderData.location=this.gameObject.ui?Q.ViewPort:Q.WorldSpace,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.shape=this.shape,this.renderData.width=this.width*Math.abs(this.gameObject.transform.scale.x),this.renderData.height=this.height*Math.abs(this.gameObject.transform.scale.y),this.renderData.color=this.color,this.renderData.rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData.alpha=this.opacity,this.renderData.radius=this.radius*Math.abs(Math.max(this.gameObject.transform.scale.x,this.gameObject.transform.scale.y)),this.calculateRenderPosition(),this.renderManager.addRenderData(this.renderData)},i.prototype.calculateRenderPosition=function(){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),t.add(this.renderData.position,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition()},i.prototype.translateRenderPosition=function(){t.subtract(this.innerPosition,this.renderData.position,this.gameObject.transform.position);var e=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData.position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(e),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(e))},i}(at),je=[\"click\",\"contextmenu\",\"auxclick\",\"dblclick\",\"mousedown\",\"mouseup\",\"pointerup\",\"touchend\",\"keydown\",\"keyup\"],Oe=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.innerPosition=new t,i.scaledOffset=new t,i._playing=!1,i._paused=!1,i.videoEventHandler=function(t){\"ended\"===t.type&&(i._playing=!1,i.video.removeEventListener(\"ended\",i.videoEventHandler))},i.userInputEventHandler=function(){je.forEach((function(t){window.removeEventListener(t,i.userInputEventHandler)})),i.video&&i._playing&&i.video.play()},i}return N(i,e),Object.defineProperty(i.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this.video&&(this.video.volume=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this.video&&(this.video.loop=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"playing\",{get:function(){return this._playing},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"paused\",{get:function(){return this._paused},enumerable:!1,configurable:!0}),i.prototype.init=function(e){var i,n,r,o,s,a,c,l,u,p;this.video=e.video,this.width=null!==(i=e.width)&&void 0!==i?i:this.video.videoWidth,this.height=null!==(n=e.height)&&void 0!==n?n:this.video.videoHeight,this.offset=null!==(r=e.offset)&&void 0!==r?r:new t,this.rotation=null!==(o=e.rotation)&&void 0!==o?o:new h,this.flipHorizontal=null!==(s=e.flipHorizontal)&&void 0!==s&&s,this.flipVertical=null!==(a=e.flipVertical)&&void 0!==a&&a,this.opacity=null!==(c=e.opacity)&&void 0!==c?c:1,this.maskColor=e.maskColor,this.maskColorMix=null!==(l=e.maskColorMix)&&void 0!==l?l:0,this.tintColor=e.tintColor,this.layer=e.layer,this.slice=e.slice,this._volume=null!==(u=e.volume)&&void 0!==u?u:1,this._loop=null!==(p=e.loop)&&void 0!==p&&p,this.renderData={type:$.Video,location:Q.WorldSpace,layer:\"\",position:new t,video:this.video,width:this.width,height:this.height}},i.prototype.play=function(){var t=this;if((this.video||!this.video.duration)&&(!this._playing||!1!==this._paused)){if(this._paused)return this._paused=!1,void this.video.play();this.video.loop=this._loop,this.video.volume=this._volume,this.video.addEventListener(\"ended\",this.videoEventHandler),this._playing=!0;var e=this.video.play();void 0!==e&&e.catch((function(){je.forEach((function(e){return window.addEventListener(e,t.userInputEventHandler)}))}))}},i.prototype.stop=function(){this._playing&&(this.video.pause(),this.video.currentTime=0,this.video.removeEventListener(\"ended\",this.videoEventHandler),this._playing=!1,this._paused=!1)},i.prototype.pause=function(){this._playing&&!1===this._paused&&(this.video.pause(),this._paused=!0)},i.prototype.update=function(){var t;this.video&&this.video.duration&&(this.renderData.location=this.gameObject.ui?Q.ViewPort:Q.WorldSpace,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.video=this.video,this.renderData.width=this.width*Math.abs(this.gameObject.transform.scale.x),this.renderData.height=this.height*Math.abs(this.gameObject.transform.scale.y),this.renderData.slice=this.slice,this.renderData.flipHorizontal=this.flipHorizontal!==this.gameObject.transform.scale.x<0,this.renderData.flipVertical=this.flipVertical!==this.gameObject.transform.scale.y<0,this.renderData.rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData.alpha=this.opacity,this.renderData.maskColor=this.maskColor,this.renderData.maskColorMix=this.maskColorMix,this.renderData.tintColor=this.tintColor,this.calculateRenderPosition(),this.renderManager.addRenderData(this.renderData))},i.prototype.calculateRenderPosition=function(){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),t.add(this.renderData.position,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition()},i.prototype.translateRenderPosition=function(){t.subtract(this.innerPosition,this.renderData.position,this.gameObject.transform.position);var e=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData.position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(e),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(e))},i.prototype.onActiveChange=function(){!1===this.active&&this.stop()},i.prototype.onDestroy=function(){this.stop()},i}(at),Pe=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.tiles=[],t.infinite=!1,t.tilesetTileIds=[],t.chunks=[],t.scaledTileWidth=0,t.scaledTileHeight=0,t.renderData=[],t}return N(i,e),i.prototype.init=function(t){var e=this,i=t.tiledData,n=t.tilemapLayer,r=t.tileset,o=t.tileWidth,s=t.tileHeight,a=t.layer,h=t.smooth;if(this.tiledData=i,this.tileset=r,this.tileWidth=null!=o?o:this.tileset.tileWidth*this.gameConfig.spriteDefaultScale.x,this.tileHeight=null!=s?s:this.tileset.tileHeight*this.gameConfig.spriteDefaultScale.y,this.layer=a,this.smooth=null!=h&&h,this.tiledLayer=this.tiledData.layers.find((function(t){return\"tilelayer\"===t.type&&t.name===n})),!this.tiledLayer)throw new Xt(\"Invalid tilemap layer\");this.width=0,this.height=0,this.tiledData.layers.forEach((function(t){\"tilelayer\"===t.type&&(e.width=Math.max(e.width,t.width),e.height=Math.max(e.height,t.height))})),this.processTilemap()},i.prototype.update=function(){var t=this;this.updateRenderData(),this.renderData.forEach((function(e){return t.renderManager.addRenderData(e)}))},i.prototype.processTilemap=function(){var t=this;!0===this.tiledLayer.visible&&(this.opacity=this.tiledLayer.opacity,this.tintColor=this.tiledLayer.tintcolor,this.tiledData.infinite?(this.infinite=!0,this.tiledLayer.chunks.sort((function(t,e){return t.x-e.x})).sort((function(t,e){return t.y-e.y})).forEach((function(e){return t.processChunk(e)}))):this.processFixedLayer()),this.updateRenderData(),this.tilesetTileIds=[]},i.prototype.processFixedLayer=function(){var e,i=this;this.tiles=this.tiledLayer.data.map((function(t){return i.getTilesetTileId(t)})),this.renderData.push({type:$.Tilemap,layer:null!==(e=this.layer)&&void 0!==e?e:this.gameObject.layer,location:this.gameObject.ui?Q.ViewPort:Q.WorldSpace,position:new t,tileset:this.tileset,tilemap:{width:this.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:this.tiles,orientation:ut.Center,smooth:this.smooth})},i.prototype.processChunk=function(e){var i,n=this,r={type:$.Tilemap,layer:null!==(i=this.layer)&&void 0!==i?i:this.gameObject.layer,location:this.gameObject.ui?Q.ViewPort:Q.WorldSpace,position:new t,tileset:this.tileset,tilemap:{width:e.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:e.data.map((function(t){return n.getTilesetTileId(t)})),orientation:ut.Center,smooth:this.smooth};r.tiles.forEach((function(t,i){n.tiles[n.width*(e.y+Math.floor(i/e.width))+e.x+i%e.width]=t})),this.renderData.push(r),this.chunks.push(e)},i.prototype.getTilesetTileId=function(t){return this.tilesetTileIds[t]||(this.tilesetTileIds[t]=this.tiledData.tilesets.reduce((function(e,i){return t>=i.firstgid?t-i.firstgid+1:e}),0)),this.tilesetTileIds[t]},i.prototype.updateRenderData=function(){var t=this;this.scaledTileWidth=this.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tileHeight*this.gameObject.transform.scale.y,this.realWidth=this.width*this.scaledTileWidth,this.realHeight=this.height*this.scaledTileHeight,this.renderData.forEach((function(e,i){var n;if(e.layer=null!==(n=t.layer)&&void 0!==n?n:t.gameObject.layer,t.infinite){var r=t.chunks[i];e.position.set(t.gameObject.transform.position.x-t.realWidth/2+(r.x+r.width/2)*t.scaledTileWidth,t.gameObject.transform.position.y+t.realHeight/2-(r.y+r.height/2)*t.scaledTileHeight)}else e.position.copy(t.gameObject.transform.position);e.tilemap.tileWidth=t.scaledTileWidth,e.tilemap.tileHeight=t.scaledTileHeight,e.tintColor=t.tintColor,e.alpha=t.opacity}))},i}(at),Re=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.tiles=[],t.scaledTileWidth=0,t.scaledTileHeight=0,t}return N(i,e),i.prototype.init=function(e){var i,n=this,r=e.tiles,o=e.tileset,s=e.tileWidth,a=e.tileHeight,h=e.width,c=e.layer,l=e.opacity,u=e.tintColor,p=e.smooth;r.split(\"\\n\").forEach((function(t){t.split(\",\").forEach((function(t){return t.trim().length>0?n.tiles.push(Number(t)):null}))})),this.tileset=o,this.width=h,this.tileWidth=null!=s?s:this.tileset.tileWidth*this.gameConfig.spriteDefaultScale.x,this.tileHeight=null!=a?a:this.tileset.tileHeight*this.gameConfig.spriteDefaultScale.y,this.layer=c,this.height=Math.ceil(this.tiles.length/this.width),this.opacity=l,this.tintColor=u,this.renderData={type:$.Tilemap,layer:null!==(i=this.layer)&&void 0!==i?i:this.gameObject.layer,location:this.gameObject.ui?Q.ViewPort:Q.WorldSpace,position:new t,tileset:this.tileset,tilemap:{width:this.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:this.tiles,orientation:ut.Center,smooth:p},this.updateRenderData()},i.prototype.update=function(){this.updateRenderData(),this.renderManager.addRenderData(this.renderData)},i.prototype.updateRenderData=function(){var t;this.scaledTileWidth=this.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tileHeight*this.gameObject.transform.scale.y,this.realWidth=this.width*this.scaledTileWidth,this.realHeight=this.height*this.scaledTileHeight,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.position.copy(this.gameObject.transform.position),this.renderData.tintColor=this.tintColor,this.renderData.alpha=this.opacity,this.renderData.tilemap.tileWidth=this.scaledTileWidth,this.renderData.tilemap.tileHeight=this.scaledTileHeight},i}(at),Ae=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.spriteRenderer=null,e.animations=new Map,e.currentAnimation=null,e.paused=!1,e}return N(e,t),e.prototype.init=function(t){var e=t.spriteRenderer;this.spriteRenderer=e},e.prototype.update=function(){null===this.currentAnimation||this.paused||(this.currentAnimation.playFrame(this.timeManager.deltaTime),!0===this.currentAnimation.restarted&&!1===this.currentAnimation.loop?this.currentAnimation=null:this.spriteRenderer.sprite=this.currentAnimation.sprite)},e.prototype.addAnimation=function(t,e,i){return void 0===e&&(e=\"default\"),t.framerate=null!=i?i:t.framerate,this.animations.set(e,new Se(t)),this},e.prototype.playAnimation=function(t){if(void 0===t&&(t=\"default\"),!1!==this.active){if(!1===this.animations.has(t))throw new Xt(\"Animation with name \".concat(t,\" does not exist.\"));this.stopAnimation(),this.currentAnimation=this.animations.get(t)}},e.prototype.pause=function(){this.paused=!0},e.prototype.resume=function(){this.paused=!1},e.prototype.stopAnimation=function(){null!==this.currentAnimation&&(this.currentAnimation.reset(),this.currentAnimation=null,this.paused=!1)},e.prototype.isPlayingAnimation=function(t){return void 0===t&&(t=\"default\"),null!==this.currentAnimation&&this.animations.get(t)&&this.animations.get(t)===this.currentAnimation},e.prototype.isPaused=function(){return this.paused},e}(et),Se=function(){function t(t){this._sprite=null,this._restarted=!1,this.currentFrame=0,this.frameTime=0,this._animation=t}return Object.defineProperty(t.prototype,\"sprite\",{get:function(){return this._sprite},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"restarted\",{get:function(){return this._restarted},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"loop\",{get:function(){return this._animation.loop},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"animation\",{get:function(){return this._animation},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.currentFrame=0,this.frameTime=0,this._restarted=!0},t.prototype.playFrame=function(t){this._restarted=!1,this.frameTime>=1/this._animation.framerate&&(this.frameTime=0,this.currentFrame=this.currentFrame+1===this._animation.sprites.length?0:this.currentFrame+1,this._restarted=0===this.currentFrame),this._sprite=this._animation.sprites[this.currentFrame],this.frameTime+=t},t}(),Ee=[\"click\",\"contextmenu\",\"auxclick\",\"dblclick\",\"mousedown\",\"mouseup\",\"pointerup\",\"touchend\",\"keydown\",\"keyup\"],Te=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.tracks=[],e.audioSourceCache=new Map,e._playing=!1,e._paused=!1,e.audioEventHandler=function(t){\"ended\"===t.type&&(e._playing=!1,e._audioSource.removeEventListener(\"ended\",e.audioEventHandler))},e.userInputEventHandler=function(){Ee.forEach((function(t){window.removeEventListener(t,e.userInputEventHandler)})),e.audioContext.resume(),e._audioSource&&e._playing&&e._audioSource.play()},e}return N(e,t),Object.defineProperty(e.prototype,\"audioSource\",{get:function(){return this._audioSource},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this._audioSource&&(this._audioSource.volume=t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this._audioSource&&(this._audioSource.loop=t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"playing\",{get:function(){return this._playing},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"paused\",{get:function(){return this._paused},enumerable:!1,configurable:!0}),e.prototype.init=function(t){var e=this,i=void 0===t?{}:t,n=i.loop,r=i.volume;this.audioContext=new AudioContext,\"running\"!==this.audioContext.state&&Ee.forEach((function(t){return window.addEventListener(t,e.userInputEventHandler)})),this._volume=null!=r?r:1,this._loop=null!=n&&n},e.prototype.playClip=function(t,e){t.currentTime>0&&(t.currentTime=0),t.volume=null!=e?e:this._volume,t.play()},e.prototype.addAudioSource=function(t,e){void 0===e&&(e=\"default\");var i=t.cloneNode();this.audioSourceCache.set(e,i);var n=this.audioContext.createMediaElementSource(i);n.connect(this.audioContext.destination),this.tracks.push(n)},e.prototype.loadAudioSource=function(t,e,i){this.stop(),this._audioSource=this.audioSourceCache.get(t),this._loop=null!=e?e:this._loop,this._volume=null!=i?i:this._volume},e.prototype.play=function(){if(this._audioSource&&(!this._playing||!1!==this._paused)){if(this._paused)return this._paused=!1,void this._audioSource.play();this._audioSource.volume=this._volume,this._audioSource.loop=this._loop,this._audioSource.addEventListener(\"ended\",this.audioEventHandler),this._playing=!0,\"running\"===this.audioContext.state&&this._audioSource.play()}},e.prototype.stop=function(){this._playing&&(this._audioSource.pause(),this._audioSource.currentTime=0,this._audioSource.removeEventListener(\"ended\",this.audioEventHandler),this._playing=!1,this._paused=!1)},e.prototype.pause=function(){this._playing&&!1===this._paused&&(this._audioSource.pause(),this._paused=!0)},e.prototype.onActiveChange=function(){!1===this.active&&this.stop()},e.prototype.onDestroy=function(){this.stop(),this.audioContext.close()},e}(et),De=function(){function t(t){var e,i=this;this._width=null,this._height=null,this._loaded=!1,this.image=t.image,this.smooth=null!==(e=t.smooth)&&void 0!==e&&e,this.slice=t.slice,this.slice&&(this._width=this.slice.width,this._height=this.slice.height);var n=function(){var t,e;i._width=null!==(t=i._width)&&void 0!==t?t:i.image.naturalWidth,i._height=null!==(e=i._height)&&void 0!==e?e:i.image.naturalHeight,i._loaded=!0};this.image.naturalWidth?n():this.image.addEventListener(\"load\",(function(){return n()}))}return Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"loaded\",{get:function(){return this._loaded},enumerable:!1,configurable:!0}),t}();!function(t){t[t.Rectangle=0]=\"Rectangle\",t[t.Circumference=1]=\"Circumference\"}(Nt||(Nt={}));var Fe=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.allowMultiple=!1,i.width=100,i.height=100,i.radius=50,i.touchEnabled=!0,i.offset=new t,i.pressed=!1,i.mouse=i.inputManager.mouse,i.touch=i.inputManager.touch,i.position=new t,i.distance=new t,i.pressedLastFrame=!1,i.scaled={width:0,height:0,radius:0,offset:new t},i}return N(i,e),i.prototype.init=function(t){var e=t.type,i=t.height,n=t.radius,r=t.touchEnabled,o=t.width,s=t.offset;this.type=e,this.width=null!=o?o:this.width,this.height=null!=i?i:this.height,this.radius=null!=n?n:this.radius,this.touchEnabled=null!=r?r:this.touchEnabled,this.offset=null!=s?s:this.offset},i.prototype.update=function(){this.scale(),t.add(this.position,this.gameObject.transform.position,this.scaled.offset),this.pressedLastFrame=this.pressed,this.pressed=!1,this.mouse.leftButtonPressed&&(this.resolveMouseAndRectangle(),this.resolveMouseAndCircumference()),this.touchEnabled&&this.touch.touching&&(this.resolveTouchAndRectangle(),this.resolveTouchAndCircumference()),this.onClick&&!this.pressedLastFrame&&this.pressed&&this.onClick(),this.onPressed&&this.pressed&&this.onPressed()},i.prototype.scale=function(){this.scaled.width=this.width*this.gameObject.transform.scale.x,this.scaled.height=this.width*this.gameObject.transform.scale.y,this.scaled.offset.x=this.offset.x*this.gameObject.transform.scale.x,this.scaled.offset.y=this.offset.y*this.gameObject.transform.scale.y,this.scaled.radius=this.radius*Math.max(Math.abs(this.gameObject.transform.scale.x),Math.abs(this.gameObject.transform.scale.y))},i.prototype.resolveMouseAndRectangle=function(){this.type===Nt.Rectangle&&(this.pressed=a(this.mouse.positionInViewport.x,this.position.x-this.scaled.width/2,this.position.x+this.scaled.width/2)&&a(this.mouse.positionInViewport.y,this.position.y-this.scaled.height/2,this.position.y+this.scaled.height/2))},i.prototype.resolveMouseAndCircumference=function(){this.type===Nt.Circumference&&(t.subtract(this.distance,this.position,this.mouse.positionInViewport),this.pressed=this.distance.magnitude<=this.scaled.radius)},i.prototype.resolveTouchAndRectangle=function(){if(this.type===Nt.Rectangle)for(var t=0,e=this.touch.interactions;t<e.length;t++){var i=e[t],n=i.positionInViewport,r=i.radius;if(this.pressed)return;this.pressed=this.position.x+this.scaled.width/2>=n.x-r.x&&this.position.x-this.scaled.width/2<=n.x+r.x&&this.position.y+this.scaled.height/2>=n.y-r.y&&this.position.y-this.scaled.height/2<=n.y+r.y}},i.prototype.resolveTouchAndCircumference=function(){if(this.type===Nt.Circumference)for(var e=0,i=this.touch.interactions;e<i.length;e++){var n=i[e],r=n.positionInViewport,o=n.radius;if(this.pressed)return;t.subtract(this.distance,this.position,r),this.pressed=this.distance.magnitude<=this.scaled.radius+Math.max(o.x,o.y)}},i}(et),Be=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.mousePressed=!1,i.position=new t,i}return N(i,e),i.prototype.start=function(){this.camera=this.getCurrentScene().gameCamera},i.prototype.update=function(){this.inputManager.mouse.leftButtonPressed&&!1===this.mousePressed&&(t.round(this.position,t.add(this.position,this.camera.transform.position,t.scale(this.position,this.inputManager.mouse.positionInViewport,1/this.camera.zoom))),console.log(\"Space position: {x: \".concat(this.position.x,\", y: \").concat(this.position.y,\"}\"))),this.mousePressed=this.inputManager.mouse.leftButtonPressed},i}(he);export{Ae as Animator,Te as AudioPlayer,me as BallCollider,ge as BoxCollider,x as BroadPhaseMethods,Fe as Button,Nt as ButtonType,le as Camera,O as CollisionMethods,tt as Component,be as EdgeCollider,ne as Game,ue as GameCamera,he as GameObject,l as GamepadController,u as GamepadData,d as KeyboardController,ae as LAYER_DEFAULT,Ce as MaskRenderer,Pt as MaskShape,f as MouseController,nt as PhysicsComponent,de as PolygonCollider,fe as PolygonColliderRenderer,ot as PreRenderComponent,e as Rectangle,se as RigidBody,F as RigidBodyType,h as Rotation,pe as Scene,Be as SpacePointer,De as Sprite,_e as SpriteRenderer,Et as TextOrientation,we as TextRenderer,Pe as TiledTilemapRenderer,ve as TilemapCollider,Re as TilemapRenderer,g as TouchController,re as Transform,t as Vector2,Oe as VideoRenderer,a as between,i as clamp,o as fixedRound,r as randomFloat,n as randomInt,s as range};\n//# sourceMappingURL=index.esm.js.map\n"],"names":["t","e","this","_x","_y","Object","defineProperty","prototype","get","set","enumerable","configurable","Math","sqrt","pow","_direction","unit","copy","x","y","equals","clone","distance","add","i","subtract","magnitude","normal","scale","dot","cross","round","n","r","_position","_center","_width","_height","width","height","position","overlaps","x1","y1","contains","o","a","h","_degrees","_radians","radians","degrees","PI","updateDirection","cos","sin","c","l","gamepads","Map","eventHandler","type","gamepadConnected","gamepad","gamepadDisconected","window","addEventListener","getGamepad","getGamepads","Array","from","values","index","u","updateFromGamepad","delete","update","getGamepadsFromBrowser","length","has","navigator","webkitGetGamepads","buttons","axes","_dpadAxes","_leftStickAxes","_rightStickAxes","_vibrating","_gamepad","forEach","pressed","id","connected","getButtonPressed","getAxis","dpadRight","dpadLeft","dpadUp","dpadDown","leftStickHorizontal","leftStickVertical","rightStickHorizontal","rightStickVertical","find","vibrate","vibrationActuator","playEffect","duration","weakMagnitude","strongMagnitude","startDelay","catch","finally","p","mouse","keyboard","touch","d","pressedKeys","keyMap","code","includes","push","indexOf","splice","isPressed","orPressed","reduce","andPressed","isPressedReturn","orPressedReturn","andPressedReturn","f","_leftButtonPressed","_scrollButtonPressed","_rightButtonPressed","_positionInViewport","_hasMoved","_wheelScroll","lastPositionInViewport","canvas","setup","wheelEvent","deltaX","deltaY","updatePosition","updateButtonDown","updateButtonUp","handleWheelEvent","focus","preventDefault","stopPropagation","button","offsetX","clientWidth","offsetY","clientHeight","g","_touching","_interactions","targetTouches","positionInViewport","clientX","offsetLeft","clientY","offsetTop","radius","radiusX","radiusY","m","v","min","max","b","create","shape","layer","updateCollisions","physics","s","rotation","group","onCollision","active","M","area","depth","items","children","resize","clear","insert","split","insertItemIntoChildren","map","getChildrenForArea","retrieve","apply","center","_","w","coordinates","x0","y0","_subdivisions","cellWidth","ceil","cellHeight","itemsInCells","updateCoordinates","QuadTree","SpartialGrid","BroadPhaseMethods","C","j","collisions","lastCollidersAmount","minArea","maxArea","newArea","method","colliders","activeColliders","collisionMatrix","setupBroadPhaseResolver","collisionArea","fixedCollisionArea","broadPhaseResolver","addCollider","getCollider","removeCollider","clearColliders","getCollisionsForCollider","filter","localCollider","getCollisionsForColliderAndLayer","remoteCollider","refreshCollisionsForCollider","updateShape","narrowPhase","broadPhase","resolve","updateNewArea","checkForSpartialGridResize","boundingBox","subdivisions","some","isResolved","getCollisionResolution","resolution","direction","displacementDirection","penetration","Polygon","Circumference","Line","O","CollisionMethods","P","AABBResolver","circumferenceAABBResolver","circumferenceResolver","AABB","SAT","R","satResolver","A","overlapX","overlapY","checkOverlapForLines","sign","preventContainment","minOverlap","abs","S","closestPoint","E","T","setPrototypeOf","__proto__","hasOwnProperty","call","D","arguments","slice","concat","SuppressedError","F","B","projA","projB","smallestAxis","cache","setCircumferenceAxis","projectionAxes","setCircumferenceVertices","projectShapeOntoAxis","currentOverlap","invertAxis","vertices","U","collisionManager","colliderFactory","rigidBodyManager","rigidBodyFactory","addRigidBody","removeRigidBody","clearRigidBodies","I","colliderIds","gravity","velocity","onResolve","Error","Static","Dynamic","Kinematic","L","V","rigidBodies","activeRigidBodies","displacement","cacheDisplacement","RigidBodyType","dynamicUpdate","kinematicUpdate","applyGravity","applyVelocity","obtainDisplacement","applyReposition","getCollisions","G","updateBoundingBox","k","vertexModel","updateVertices","updateProjectionAxes","W","_projectionAxes","boxMinX","Number","MAX_SAFE_INTEGER","boxMinY","boxMaxX","boxMaxY","H","TypeError","String","constructor","updateSize","z","N","Y","X","assign","q","Init","Start","Update","UpdateEngine","UpdateCollider","UpdatePhysics","UpdateTransform","UpdatePreRender","UpdateCamera","UpdateRender","Destroy","StopGame","K","Q","$","J","timeManager","physicsManager","renderManager","inputManager","gameObjectManager","sceneManager","canvasColor","running","gameLoopAccumulator","gameObjects","components","changingScene","sceneEvents","gameObjectEvents","start","startLoop","pause","resume","stop","dispatchFrameEvent","clearScreen","loadOpeningScene","requestAnimationLoop","performance","now","gameFramerate","physicsFramerate","asyncPhysicsLoop","updateForBrowser","pendingSceneToload","loadPendingScene","browserDeltaTime","minGameDeltatime","gameLogicIteration","renderIteration","unloadCurrentScene","requestAnimationFrame","updateForGame","load","updateForPhysics","physicsIteration","render","clearData","timeScale","physicsDeltaTime","physicsIntervalId","setInterval","clearInterval","document","hidden","loadedScene","getLoadedScene","findGameObjects","getComponents","dispatch","Z","updateEvent","started","container","gameConfig","getConstant","headless","assetManager","getSingleton","domManager","init","onDestroy","_destroy","_stopGame","addGameObject","findGameObject","findGameObjectsByTag","destroyGameObject","tt","allowMultiple","_active","gameObject","name","onActiveChange","getCurrentScene","getGameObject","getComponent","hasComponent","removeComponent","keys","et","it","nt","rt","ot","st","at","WorldSpace","ViewPort","Sprite","Text","Tilemap","Mask","Geometric","Video","ht","gl","viewport","object","setViewport","zoom","setObjectForResizeable","setObjectForText","text","fontSize","lineSeparation","letterSpacing","setObjectForGeometric","MIN_SAFE_INTEGER","setObjectForTilemap","tilemap","tiles","renderPosition","tileWidth","tileHeight","applyCullingInTiles","culledTiles","isInViewPort","location","applyCulling","ct","lt","ut","pt","Center","RightUp","RightDown","RightCenter","dt","ft","webglManager","cullingManager","renderData","cameraData","addRenderData","addCameraData","sort","renderByCamera","layers","realWidth","realHeight","orientation","clearCanvas","preloadTexture","createTexture","LegacyWebGL","WebGL2","gt","contextVersion","getContextVersion","getContext","mt","fontAtlas","hasFontAtlas","symbol","getFontAtlas","getOrCreate","bitmapSize","chars","fromCharCode","renderAtlas","FontFace","family","Symbol","for","yt","clearRect","textBaseline","fillStyle","font","fillText","glyphs","measureText","fontFaceFamily","bitmapFontSize","gridSize","createElement","vt","shaderLoader","createProgram","VERTEX_SHADER","FRAGMENT_SHADER","attachShader","linkProgram","LINK_STATUS","getProgramParameter","getProgramInfoLog","deleteProgram","xt","programFactory","loadProgram","program","positionBuffer","createBuffer","textureBuffer","positionCoordsAttr","getAttribLocation","texCoordsAttr","modelMatrixUniform","getUniformLocation","projectionMatrixUniform","textureMatrixUniform","renderTextureUniform","textureUniform","solidColorUniform","useTintColorUniform","tintColorUniform","useMaskColorUniform","maskColorUniform","maskColorMixUniform","alphaUniform","useProgram","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","enableVertexAttribArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","bt","createShader","shaderSource","compileShader","COMPILE_STATUS","getShaderParameter","getShaderInfoLog","deleteShader","Mt","Float32Array","_t","wt","Ct","jt","Ot","hypot","Pt","Rt","exec","parseInt","At","St","programManager","lastVertices","projectionMatrix","modelMatrix","textureMatrix","circumferenceVertices","renderLines","LINE_LOOP","LINES","renderCircumference","generateVerticesKey","generatePolygonVertices","bufferData","DYNAMIC_DRAW","uniformMatrix4fv","uniform1i","color","uniform4f","uniform1f","drawArrays","toString","Rectangle","MaskShape","Et","Tt","rectangleVertices","lastShape","STATIC_DRAW","alpha","enable","BLEND","disable","TRIANGLES","TRIANGLE_FAN","Dt","textureManager","lastTexture","posVertices","texVertices","flipHorizontal","flipVertical","image","naturalWidth","naturalHeight","getOrCreateTextureFromImage","smooth","bindTexture","TEXTURE_2D","tintColor","maskColor","maskColorMix","Ft","Bt","Ut","It","Lt","Vt","fontAtlasFactory","textSize","modelPosition","setDefaultValues","bitmap","charRanges","generateTextVertices","setPositionFromOrientation","getOrCreateTextureFromCanvas","margin","spacing","TextOrientation","Gt","tileset","texMargin","texSpacing","texWidth","texHeight","texCorrection","processTileset","generateVertices","correction","floor","kt","video","videoWidth","videoHeight","getOrCreateTextureFromVideo","texImage2D","RGBA","UNSIGNED_BYTE","Wt","createFromImage","createFromSource","createFromCanvas","createPixelTexture","Uint8Array","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","NEAREST","Ht","textureFactory","textures","src","createTextureFromImage","createTextureFromCanvas","createTextureFromVideo","zt","renderers","lastRender","clearColor","COLOR_BUFFER_BIT","Image","Audio","Font","Nt","Yt","assets","getAssetsLoaded","loaded","loadImage","crossOrigin","createAsset","loadAudio","loadFont","then","fonts","loadVideo","playsInline","getImage","url","element","getAudio","getFont","getVideo","Xt","qt","_canvas","containerNode","gameWidth","gameHeight","setupCanvas","tabIndex","appendChild","Kt","lastId","findGameObjectById","findGameObjectsByParent","parent","findGameObjectByParent","tag","destroyAllGameObjects","keep","destroy","destroyChildren","Qt","asyncGameLoop","gameInterval","process","uptime","physicsInterval","$t","scenes","sceneNamePendingToLoad","addScene","currentScene","openingSceneName","loadScene","Jt","Zt","minPhysicsDeltaTime","unscaledDeltaTime","unscaledPhysicsDeltaTime","maxDeltaTime","thenForGame","thenForPhysics","thenForBrowser","join","parseFloat","toFixed","ee","instances","constructors","constants","getTranscient","addConstant","ie","debugEnabled","spriteDefaultScale","collisionMethod","collisionBroadPhaseMethod","ne","_config","setupManagers","te","iterationManager","run","re","parentScale","parentRotation","_scale","_rotation","_innerPosition","_parent","lastParentRadians","lastPosition","scaledInnerPosition","setPositionFromParent","translateInnerPosition","updateScaledInnerPosition","atan2","oe","renderer","activateColliders","updateRealSize","updateColliders","collidesWithLayer","collidesWithLayers","getCollisionWithLayer","createCollisionData","getCollisionsWithLayer","getCollisionsWithLayers","collider","se","rigidBody","rigidBodyType","getColliderIds","transform","innerPosition","he","ui","activeComponentsCache","activeChildrenCache","addComponent","updateComponentsActiveStatus","updateChildrenActiveStatus","getChildren","checkMultipleComponent","addChild","getChild","destroyComponents","ce","le","viewportRect","worldSpaceRect","_zoom","addLayer","updateViewportRect","updateWorldSpaceRect","updateCameraData","ue","camera","pe","game","config","de","debug","scaledVertexModel","scaledOffset","scaledPosition","finalRotation","fe","translate","ge","realOffset","realPosition","realRotation","applyRotation","me","realRadius","ye","ve","tilemapRenderer","composite","scaledTileWidth","scaledTileHeight","scaledWidth","scaledHeight","useLineColliders","useBoxColliders","xe","needsCollider","getNeighbors","hasTile","addLineCollider","be","Me","_e","cachePosition","cacheRenderPosition","cacheScale","sprite","offset","opacity","_tiled","tiled","updateRenderDataArray","updateRenderData","calculateRenderPosition","translateRenderPosition","we","lastFrameText","bitmapMargin","bitmapSpacing","crop","Ce","je","Oe","_playing","_paused","videoEventHandler","removeEventListener","userInputEventHandler","play","_volume","volume","_loop","loop","currentTime","Pe","infinite","tilesetTileIds","chunks","tiledData","tilemapLayer","tiledLayer","processTilemap","visible","tintcolor","processChunk","processFixedLayer","data","getTilesetTileId","tilesets","firstgid","Re","trim","Ae","spriteRenderer","animations","currentAnimation","paused","playFrame","deltaTime","restarted","addAnimation","framerate","Se","playAnimation","stopAnimation","reset","isPlayingAnimation","isPaused","_sprite","_restarted","currentFrame","frameTime","_animation","sprites","Ee","Te","tracks","audioSourceCache","audioEventHandler","_audioSource","audioContext","AudioContext","state","playClip","addAudioSource","cloneNode","createMediaElementSource","connect","destination","loadAudioSource","close","De","_loaded","Fe","touchEnabled","pressedLastFrame","scaled","leftButtonPressed","resolveMouseAndRectangle","resolveMouseAndCircumference","touching","resolveTouchAndRectangle","resolveTouchAndCircumference","onClick","onPressed","ButtonType","interactions","Be","mousePressed","gameCamera","console","log","random"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../packages/engine/src/config/types.ts","../../../packages/engine/src/utils/ioc/container.ts","../../../packages/engine/src/utils/collisions2d/broadPhase/IBroadPhaseResolver.ts","../../../node_modules/tslib/tslib.es6.js","../../../packages/engine/src/utils/math/Vector2.ts","../../../packages/engine/src/utils/math/Rectangle.ts","../../../packages/engine/src/utils/math/Utils.ts","../../../packages/engine/src/utils/collisions2d/broadPhase/QuadTree.ts","../../../packages/engine/src/utils/collisions2d/broadPhase/SpartialGrid.ts","../../../packages/engine/src/utils/collisions2d/Shape.ts","../../../packages/engine/src/utils/collisions2d/method/AABBMethod.ts","../../../packages/engine/src/utils/collisions2d/method/CollisionMethod.ts","../../../packages/engine/src/utils/collisions2d/method/SatMethod.ts","../../../packages/engine/src/utils/collisions2d/resolver/AABBResolver.ts","../../../packages/engine/src/utils/collisions2d/resolver/CircumferenceAABBResolver.ts","../../../packages/engine/src/utils/collisions2d/resolver/CircumferenceResolver.ts","../../../packages/engine/src/utils/collisions2d/resolver/SatResolver.ts","../../../packages/engine/src/utils/collisions2d/CollisionRepository.ts","../../../packages/engine/src/utils/ecs/EntityManager.ts","../../../packages/engine/src/utils/ecs/SystemManager.ts","../../../packages/engine/src/utils/input/GamepadController.ts","../../../packages/engine/src/utils/input/Keyboard.ts","../../../packages/engine/src/utils/input/Mouse.ts","../../../packages/engine/src/utils/input/TouchScreen.ts","../../../packages/engine/src/manager/InputManager.ts","../../../packages/engine/src/manager/TimeManager.ts","../../../packages/engine/src/manager/AssetManager.ts","../../../packages/engine/src/component/gameLogic/AudioPlayer.ts","../../../packages/engine/src/config/systems.ts","../../../packages/engine/src/system/gameLogic/AudioPlayerSystem.ts","../../../packages/engine/src/system/SystemGroup.ts","../../../packages/engine/src/component/gameLogic/Transform.ts","../../../packages/engine/src/component/render2d/Camera.ts","../../../packages/engine/src/utils/webgl/ContextManager.ts","../../../packages/engine/src/utils/webgl/FontAtlasFactory.ts","../../../packages/engine/src/utils/webgl/program/ProgramFactory.ts","../../../packages/engine/src/utils/webgl/program/ProgramManager.ts","../../../packages/engine/src/utils/webgl/shader/vertexShader.ts","../../../packages/engine/src/utils/webgl/shader/fragmentShader.ts","../../../packages/engine/src/utils/webgl/shader/legacy/vertexShader.ts","../../../packages/engine/src/utils/webgl/shader/legacy/fragmentShader.ts","../../../packages/engine/src/utils/webgl/program/ShaderLoader.ts","../../../node_modules/gl-matrix/esm/common.js","../../../node_modules/gl-matrix/esm/mat4.js","../../../packages/engine/src/utils/webgl/renderer/utils.ts","../../../packages/engine/src/utils/webgl/renderer/CanvasColorRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/GeometricRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/Renderer.ts","../../../packages/engine/src/utils/webgl/renderer/MaskRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/ShadowRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/SpriteRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/TextRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/TilemapRenderer.ts","../../../packages/engine/src/utils/webgl/renderer/VideoRenderer.ts","../../../packages/engine/src/utils/webgl/texture/TextureFactory.ts","../../../packages/engine/src/utils/webgl/texture/TextureManager.ts","../../../packages/engine/src/utils/webgl/WebGLManager.ts","../../../packages/engine/src/component/render2d/VideoRenderer.ts","../../../packages/engine/src/system/render2d/VideoRendererSystem.ts","../../../packages/engine/src/manager/SceneManager.ts","../../../packages/engine/src/component/gameLogic/Button.ts","../../../packages/engine/src/system/gameLogic/ButtonSystem.ts","../../../packages/engine/src/component/gameLogic/Children.ts","../../../packages/engine/src/system/gameLogic/ChildrenSystem.ts","../../../packages/engine/src/component/gameLogic/Parent.ts","../../../packages/engine/src/system/gameLogic/ParentSystem.ts","../../../packages/engine/src/component/gameLogic/TiledWrapper.ts","../../../packages/engine/src/component/render2d/TilemapRenderer.ts","../../../packages/engine/src/system/gameLogic/TiledWrapperSystem.ts","../../../packages/engine/src/system/gameLogic/TilemapPreProcessingSystem.ts","../../../packages/engine/src/system/gameLogic/TransformSystem.ts","../../../packages/engine/src/system/input/GamepadSystem.ts","../../../packages/engine/src/system/input/KeyboardSystem.ts","../../../packages/engine/src/system/input/MouseSystem.ts","../../../packages/engine/src/system/input/TouchScreenSystem.ts","../../../packages/engine/src/component/gameLogic/Animator.ts","../../../packages/engine/src/component/render2d/SpriteRenderer.ts","../../../packages/engine/src/system/render2d/AnimatorSystem.ts","../../../packages/engine/src/system/render2d/CameraSystem.ts","../../../packages/engine/src/system/render2d/ClearScreenSystem.ts","../../../packages/engine/src/component/physics2d/BallCollider.ts","../../../packages/engine/src/component/physics2d/BoxCollider.ts","../../../packages/engine/src/component/physics2d/EdgeCollider.ts","../../../packages/engine/src/component/physics2d/PolygonCollider.ts","../../../packages/engine/src/component/physics2d/TilemapCollider.ts","../../../packages/engine/src/system/render2d/ColliderRenderSystem.ts","../../../packages/engine/src/system/render2d/CullingSystem.ts","../../../packages/engine/src/component/render2d/MaskRenderer.ts","../../../packages/engine/src/system/render2d/MaskRendererSystem.ts","../../../packages/engine/src/system/render2d/RenderSystem.ts","../../../packages/engine/src/component/render2d/LightRenderer.ts","../../../packages/engine/src/component/render2d/ShadowRenderer.ts","../../../packages/engine/src/system/render2d/ShadowLightRendererSystem.ts","../../../packages/engine/src/system/render2d/SpriteRendererSystem.ts","../../../packages/engine/src/component/render2d/TextRenderer.ts","../../../packages/engine/src/system/render2d/TextRendererSystem.ts","../../../packages/engine/src/system/render2d/TilemapRendererSystem.ts","../../../packages/engine/src/component/physics2d/RigidBody.ts","../../../packages/engine/src/system/physics2d/ApplyVelocitySystem.ts","../../../packages/engine/src/system/physics2d/collider/BaseUpdateColliderShapeSystem.ts","../../../packages/engine/src/system/physics2d/collider/UpdateBallColliderShapeSystem.ts","../../../packages/engine/src/system/physics2d/collider/UpdateBoxColliderShapeSystem.ts","../../../packages/engine/src/system/physics2d/collider/UpdateEdgeColliderShapeSystem.ts","../../../packages/engine/src/system/physics2d/collider/UpdatePolygonColliderShapeSystem.ts","../../../packages/engine/src/system/physics2d/collider/UpdateTilemapColliderShapeSystem.ts","../../../packages/engine/src/system/physics2d/ResolveCollisionSystem.ts","../../../packages/engine/src/system/physics2d/ApplyRepositionSystem.ts","../../../packages/engine/src/system/physics2d/collider/UpdateCollidersAfterRepositionSystem.ts","../../../packages/engine/src/config/systemTypes.ts","../../../packages/engine/src/manager/LoopManager.ts","../../../packages/engine/src/system/SystemFactory.ts","../../../packages/engine/src/manager/RenderManager.ts","../../../packages/engine/src/config/bootstrap.ts","../../../packages/engine/src/system/GameSystem.ts","../../../packages/engine/src/index.ts","../../../packages/engine/src/Game.ts"],"sourcesContent":[null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/**\n * Common utilities\n * @module glMatrix\n */\n// Configuration Constants\nexport var EPSILON = 0.000001;\nexport var ARRAY_TYPE = typeof Float32Array !== 'undefined' ? Float32Array : Array;\nexport var RANDOM = Math.random;\n/**\n * Sets the type of array used when creating new vectors and matrices\n *\n * @param {Float32ArrayConstructor | ArrayConstructor} type Array type, such as Float32Array or Array\n */\n\nexport function setMatrixArrayType(type) {\n ARRAY_TYPE = type;\n}\nvar degree = Math.PI / 180;\n/**\n * Convert Degree To Radian\n *\n * @param {Number} a Angle in Degrees\n */\n\nexport function toRadian(a) {\n return a * degree;\n}\n/**\n * Tests whether or not the arguments have approximately the same value, within an absolute\n * or relative tolerance of glMatrix.EPSILON (an absolute tolerance is used for values less\n * than or equal to 1.0, and a relative tolerance is used for larger values)\n *\n * @param {Number} a The first number to test.\n * @param {Number} b The second number to test.\n * @returns {Boolean} True if the numbers are approximately equal, false otherwise.\n */\n\nexport function equals(a, b) {\n return Math.abs(a - b) <= EPSILON * Math.max(1.0, Math.abs(a), Math.abs(b));\n}\nif (!Math.hypot) Math.hypot = function () {\n var y = 0,\n i = arguments.length;\n\n while (i--) {\n y += arguments[i] * arguments[i];\n }\n\n return Math.sqrt(y);\n};","import * as glMatrix from \"./common.js\";\n/**\n * 4x4 Matrix<br>Format: column-major, when typed out it looks like row-major<br>The matrices are being post multiplied.\n * @module mat4\n */\n\n/**\n * Creates a new identity mat4\n *\n * @returns {mat4} a new 4x4 matrix\n */\n\nexport function create() {\n var out = new glMatrix.ARRAY_TYPE(16);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n }\n\n out[0] = 1;\n out[5] = 1;\n out[10] = 1;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a new mat4 initialized with values from an existing matrix\n *\n * @param {ReadonlyMat4} a matrix to clone\n * @returns {mat4} a new 4x4 matrix\n */\n\nexport function clone(a) {\n var out = new glMatrix.ARRAY_TYPE(16);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n out[9] = a[9];\n out[10] = a[10];\n out[11] = a[11];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n return out;\n}\n/**\n * Copy the values from one mat4 to another\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the source matrix\n * @returns {mat4} out\n */\n\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n out[9] = a[9];\n out[10] = a[10];\n out[11] = a[11];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n return out;\n}\n/**\n * Create a new mat4 with the given values\n *\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m03 Component in column 0, row 3 position (index 3)\n * @param {Number} m10 Component in column 1, row 0 position (index 4)\n * @param {Number} m11 Component in column 1, row 1 position (index 5)\n * @param {Number} m12 Component in column 1, row 2 position (index 6)\n * @param {Number} m13 Component in column 1, row 3 position (index 7)\n * @param {Number} m20 Component in column 2, row 0 position (index 8)\n * @param {Number} m21 Component in column 2, row 1 position (index 9)\n * @param {Number} m22 Component in column 2, row 2 position (index 10)\n * @param {Number} m23 Component in column 2, row 3 position (index 11)\n * @param {Number} m30 Component in column 3, row 0 position (index 12)\n * @param {Number} m31 Component in column 3, row 1 position (index 13)\n * @param {Number} m32 Component in column 3, row 2 position (index 14)\n * @param {Number} m33 Component in column 3, row 3 position (index 15)\n * @returns {mat4} A new mat4\n */\n\nexport function fromValues(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) {\n var out = new glMatrix.ARRAY_TYPE(16);\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m03;\n out[4] = m10;\n out[5] = m11;\n out[6] = m12;\n out[7] = m13;\n out[8] = m20;\n out[9] = m21;\n out[10] = m22;\n out[11] = m23;\n out[12] = m30;\n out[13] = m31;\n out[14] = m32;\n out[15] = m33;\n return out;\n}\n/**\n * Set the components of a mat4 to the given values\n *\n * @param {mat4} out the receiving matrix\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m03 Component in column 0, row 3 position (index 3)\n * @param {Number} m10 Component in column 1, row 0 position (index 4)\n * @param {Number} m11 Component in column 1, row 1 position (index 5)\n * @param {Number} m12 Component in column 1, row 2 position (index 6)\n * @param {Number} m13 Component in column 1, row 3 position (index 7)\n * @param {Number} m20 Component in column 2, row 0 position (index 8)\n * @param {Number} m21 Component in column 2, row 1 position (index 9)\n * @param {Number} m22 Component in column 2, row 2 position (index 10)\n * @param {Number} m23 Component in column 2, row 3 position (index 11)\n * @param {Number} m30 Component in column 3, row 0 position (index 12)\n * @param {Number} m31 Component in column 3, row 1 position (index 13)\n * @param {Number} m32 Component in column 3, row 2 position (index 14)\n * @param {Number} m33 Component in column 3, row 3 position (index 15)\n * @returns {mat4} out\n */\n\nexport function set(out, m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) {\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m03;\n out[4] = m10;\n out[5] = m11;\n out[6] = m12;\n out[7] = m13;\n out[8] = m20;\n out[9] = m21;\n out[10] = m22;\n out[11] = m23;\n out[12] = m30;\n out[13] = m31;\n out[14] = m32;\n out[15] = m33;\n return out;\n}\n/**\n * Set a mat4 to the identity matrix\n *\n * @param {mat4} out the receiving matrix\n * @returns {mat4} out\n */\n\nexport function identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Transpose the values of a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the source matrix\n * @returns {mat4} out\n */\n\nexport function transpose(out, a) {\n // If we are transposing ourselves we can skip a few steps but have to cache some values\n if (out === a) {\n var a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a12 = a[6],\n a13 = a[7];\n var a23 = a[11];\n out[1] = a[4];\n out[2] = a[8];\n out[3] = a[12];\n out[4] = a01;\n out[6] = a[9];\n out[7] = a[13];\n out[8] = a02;\n out[9] = a12;\n out[11] = a[14];\n out[12] = a03;\n out[13] = a13;\n out[14] = a23;\n } else {\n out[0] = a[0];\n out[1] = a[4];\n out[2] = a[8];\n out[3] = a[12];\n out[4] = a[1];\n out[5] = a[5];\n out[6] = a[9];\n out[7] = a[13];\n out[8] = a[2];\n out[9] = a[6];\n out[10] = a[10];\n out[11] = a[14];\n out[12] = a[3];\n out[13] = a[7];\n out[14] = a[11];\n out[15] = a[15];\n }\n\n return out;\n}\n/**\n * Inverts a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the source matrix\n * @returns {mat4} out\n */\n\nexport function invert(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n var b00 = a00 * a11 - a01 * a10;\n var b01 = a00 * a12 - a02 * a10;\n var b02 = a00 * a13 - a03 * a10;\n var b03 = a01 * a12 - a02 * a11;\n var b04 = a01 * a13 - a03 * a11;\n var b05 = a02 * a13 - a03 * a12;\n var b06 = a20 * a31 - a21 * a30;\n var b07 = a20 * a32 - a22 * a30;\n var b08 = a20 * a33 - a23 * a30;\n var b09 = a21 * a32 - a22 * a31;\n var b10 = a21 * a33 - a23 * a31;\n var b11 = a22 * a33 - a23 * a32; // Calculate the determinant\n\n var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;\n out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det;\n out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det;\n out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det;\n out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det;\n out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det;\n out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det;\n out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det;\n out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det;\n out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det;\n out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det;\n out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det;\n out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det;\n out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det;\n out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det;\n out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det;\n return out;\n}\n/**\n * Calculates the adjugate of a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the source matrix\n * @returns {mat4} out\n */\n\nexport function adjoint(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n out[0] = a11 * (a22 * a33 - a23 * a32) - a21 * (a12 * a33 - a13 * a32) + a31 * (a12 * a23 - a13 * a22);\n out[1] = -(a01 * (a22 * a33 - a23 * a32) - a21 * (a02 * a33 - a03 * a32) + a31 * (a02 * a23 - a03 * a22));\n out[2] = a01 * (a12 * a33 - a13 * a32) - a11 * (a02 * a33 - a03 * a32) + a31 * (a02 * a13 - a03 * a12);\n out[3] = -(a01 * (a12 * a23 - a13 * a22) - a11 * (a02 * a23 - a03 * a22) + a21 * (a02 * a13 - a03 * a12));\n out[4] = -(a10 * (a22 * a33 - a23 * a32) - a20 * (a12 * a33 - a13 * a32) + a30 * (a12 * a23 - a13 * a22));\n out[5] = a00 * (a22 * a33 - a23 * a32) - a20 * (a02 * a33 - a03 * a32) + a30 * (a02 * a23 - a03 * a22);\n out[6] = -(a00 * (a12 * a33 - a13 * a32) - a10 * (a02 * a33 - a03 * a32) + a30 * (a02 * a13 - a03 * a12));\n out[7] = a00 * (a12 * a23 - a13 * a22) - a10 * (a02 * a23 - a03 * a22) + a20 * (a02 * a13 - a03 * a12);\n out[8] = a10 * (a21 * a33 - a23 * a31) - a20 * (a11 * a33 - a13 * a31) + a30 * (a11 * a23 - a13 * a21);\n out[9] = -(a00 * (a21 * a33 - a23 * a31) - a20 * (a01 * a33 - a03 * a31) + a30 * (a01 * a23 - a03 * a21));\n out[10] = a00 * (a11 * a33 - a13 * a31) - a10 * (a01 * a33 - a03 * a31) + a30 * (a01 * a13 - a03 * a11);\n out[11] = -(a00 * (a11 * a23 - a13 * a21) - a10 * (a01 * a23 - a03 * a21) + a20 * (a01 * a13 - a03 * a11));\n out[12] = -(a10 * (a21 * a32 - a22 * a31) - a20 * (a11 * a32 - a12 * a31) + a30 * (a11 * a22 - a12 * a21));\n out[13] = a00 * (a21 * a32 - a22 * a31) - a20 * (a01 * a32 - a02 * a31) + a30 * (a01 * a22 - a02 * a21);\n out[14] = -(a00 * (a11 * a32 - a12 * a31) - a10 * (a01 * a32 - a02 * a31) + a30 * (a01 * a12 - a02 * a11));\n out[15] = a00 * (a11 * a22 - a12 * a21) - a10 * (a01 * a22 - a02 * a21) + a20 * (a01 * a12 - a02 * a11);\n return out;\n}\n/**\n * Calculates the determinant of a mat4\n *\n * @param {ReadonlyMat4} a the source matrix\n * @returns {Number} determinant of a\n */\n\nexport function determinant(a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n var b00 = a00 * a11 - a01 * a10;\n var b01 = a00 * a12 - a02 * a10;\n var b02 = a00 * a13 - a03 * a10;\n var b03 = a01 * a12 - a02 * a11;\n var b04 = a01 * a13 - a03 * a11;\n var b05 = a02 * a13 - a03 * a12;\n var b06 = a20 * a31 - a21 * a30;\n var b07 = a20 * a32 - a22 * a30;\n var b08 = a20 * a33 - a23 * a30;\n var b09 = a21 * a32 - a22 * a31;\n var b10 = a21 * a33 - a23 * a31;\n var b11 = a22 * a33 - a23 * a32; // Calculate the determinant\n\n return b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n}\n/**\n * Multiplies two mat4s\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the first operand\n * @param {ReadonlyMat4} b the second operand\n * @returns {mat4} out\n */\n\nexport function multiply(out, a, b) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15]; // Cache only the current line of the second matrix\n\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3];\n out[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\n out[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\n out[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\n out[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\n b0 = b[4];\n b1 = b[5];\n b2 = b[6];\n b3 = b[7];\n out[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\n out[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\n out[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\n out[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\n b0 = b[8];\n b1 = b[9];\n b2 = b[10];\n b3 = b[11];\n out[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\n out[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\n out[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\n out[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\n b0 = b[12];\n b1 = b[13];\n b2 = b[14];\n b3 = b[15];\n out[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\n out[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\n out[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\n out[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\n return out;\n}\n/**\n * Translate a mat4 by the given vector\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to translate\n * @param {ReadonlyVec3} v vector to translate by\n * @returns {mat4} out\n */\n\nexport function translate(out, a, v) {\n var x = v[0],\n y = v[1],\n z = v[2];\n var a00, a01, a02, a03;\n var a10, a11, a12, a13;\n var a20, a21, a22, a23;\n\n if (a === out) {\n out[12] = a[0] * x + a[4] * y + a[8] * z + a[12];\n out[13] = a[1] * x + a[5] * y + a[9] * z + a[13];\n out[14] = a[2] * x + a[6] * y + a[10] * z + a[14];\n out[15] = a[3] * x + a[7] * y + a[11] * z + a[15];\n } else {\n a00 = a[0];\n a01 = a[1];\n a02 = a[2];\n a03 = a[3];\n a10 = a[4];\n a11 = a[5];\n a12 = a[6];\n a13 = a[7];\n a20 = a[8];\n a21 = a[9];\n a22 = a[10];\n a23 = a[11];\n out[0] = a00;\n out[1] = a01;\n out[2] = a02;\n out[3] = a03;\n out[4] = a10;\n out[5] = a11;\n out[6] = a12;\n out[7] = a13;\n out[8] = a20;\n out[9] = a21;\n out[10] = a22;\n out[11] = a23;\n out[12] = a00 * x + a10 * y + a20 * z + a[12];\n out[13] = a01 * x + a11 * y + a21 * z + a[13];\n out[14] = a02 * x + a12 * y + a22 * z + a[14];\n out[15] = a03 * x + a13 * y + a23 * z + a[15];\n }\n\n return out;\n}\n/**\n * Scales the mat4 by the dimensions in the given vec3 not using vectorization\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to scale\n * @param {ReadonlyVec3} v the vec3 to scale the matrix by\n * @returns {mat4} out\n **/\n\nexport function scale(out, a, v) {\n var x = v[0],\n y = v[1],\n z = v[2];\n out[0] = a[0] * x;\n out[1] = a[1] * x;\n out[2] = a[2] * x;\n out[3] = a[3] * x;\n out[4] = a[4] * y;\n out[5] = a[5] * y;\n out[6] = a[6] * y;\n out[7] = a[7] * y;\n out[8] = a[8] * z;\n out[9] = a[9] * z;\n out[10] = a[10] * z;\n out[11] = a[11] * z;\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n return out;\n}\n/**\n * Rotates a mat4 by the given angle around the given axis\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @param {ReadonlyVec3} axis the axis to rotate around\n * @returns {mat4} out\n */\n\nexport function rotate(out, a, rad, axis) {\n var x = axis[0],\n y = axis[1],\n z = axis[2];\n var len = Math.hypot(x, y, z);\n var s, c, t;\n var a00, a01, a02, a03;\n var a10, a11, a12, a13;\n var a20, a21, a22, a23;\n var b00, b01, b02;\n var b10, b11, b12;\n var b20, b21, b22;\n\n if (len < glMatrix.EPSILON) {\n return null;\n }\n\n len = 1 / len;\n x *= len;\n y *= len;\n z *= len;\n s = Math.sin(rad);\n c = Math.cos(rad);\n t = 1 - c;\n a00 = a[0];\n a01 = a[1];\n a02 = a[2];\n a03 = a[3];\n a10 = a[4];\n a11 = a[5];\n a12 = a[6];\n a13 = a[7];\n a20 = a[8];\n a21 = a[9];\n a22 = a[10];\n a23 = a[11]; // Construct the elements of the rotation matrix\n\n b00 = x * x * t + c;\n b01 = y * x * t + z * s;\n b02 = z * x * t - y * s;\n b10 = x * y * t - z * s;\n b11 = y * y * t + c;\n b12 = z * y * t + x * s;\n b20 = x * z * t + y * s;\n b21 = y * z * t - x * s;\n b22 = z * z * t + c; // Perform rotation-specific matrix multiplication\n\n out[0] = a00 * b00 + a10 * b01 + a20 * b02;\n out[1] = a01 * b00 + a11 * b01 + a21 * b02;\n out[2] = a02 * b00 + a12 * b01 + a22 * b02;\n out[3] = a03 * b00 + a13 * b01 + a23 * b02;\n out[4] = a00 * b10 + a10 * b11 + a20 * b12;\n out[5] = a01 * b10 + a11 * b11 + a21 * b12;\n out[6] = a02 * b10 + a12 * b11 + a22 * b12;\n out[7] = a03 * b10 + a13 * b11 + a23 * b12;\n out[8] = a00 * b20 + a10 * b21 + a20 * b22;\n out[9] = a01 * b20 + a11 * b21 + a21 * b22;\n out[10] = a02 * b20 + a12 * b21 + a22 * b22;\n out[11] = a03 * b20 + a13 * b21 + a23 * b22;\n\n if (a !== out) {\n // If the source and destination differ, copy the unchanged last row\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n }\n\n return out;\n}\n/**\n * Rotates a matrix by the given angle around the X axis\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\nexport function rotateX(out, a, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad);\n var a10 = a[4];\n var a11 = a[5];\n var a12 = a[6];\n var a13 = a[7];\n var a20 = a[8];\n var a21 = a[9];\n var a22 = a[10];\n var a23 = a[11];\n\n if (a !== out) {\n // If the source and destination differ, copy the unchanged rows\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n } // Perform axis-specific matrix multiplication\n\n\n out[4] = a10 * c + a20 * s;\n out[5] = a11 * c + a21 * s;\n out[6] = a12 * c + a22 * s;\n out[7] = a13 * c + a23 * s;\n out[8] = a20 * c - a10 * s;\n out[9] = a21 * c - a11 * s;\n out[10] = a22 * c - a12 * s;\n out[11] = a23 * c - a13 * s;\n return out;\n}\n/**\n * Rotates a matrix by the given angle around the Y axis\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\nexport function rotateY(out, a, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad);\n var a00 = a[0];\n var a01 = a[1];\n var a02 = a[2];\n var a03 = a[3];\n var a20 = a[8];\n var a21 = a[9];\n var a22 = a[10];\n var a23 = a[11];\n\n if (a !== out) {\n // If the source and destination differ, copy the unchanged rows\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n } // Perform axis-specific matrix multiplication\n\n\n out[0] = a00 * c - a20 * s;\n out[1] = a01 * c - a21 * s;\n out[2] = a02 * c - a22 * s;\n out[3] = a03 * c - a23 * s;\n out[8] = a00 * s + a20 * c;\n out[9] = a01 * s + a21 * c;\n out[10] = a02 * s + a22 * c;\n out[11] = a03 * s + a23 * c;\n return out;\n}\n/**\n * Rotates a matrix by the given angle around the Z axis\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\nexport function rotateZ(out, a, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad);\n var a00 = a[0];\n var a01 = a[1];\n var a02 = a[2];\n var a03 = a[3];\n var a10 = a[4];\n var a11 = a[5];\n var a12 = a[6];\n var a13 = a[7];\n\n if (a !== out) {\n // If the source and destination differ, copy the unchanged last row\n out[8] = a[8];\n out[9] = a[9];\n out[10] = a[10];\n out[11] = a[11];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n } // Perform axis-specific matrix multiplication\n\n\n out[0] = a00 * c + a10 * s;\n out[1] = a01 * c + a11 * s;\n out[2] = a02 * c + a12 * s;\n out[3] = a03 * c + a13 * s;\n out[4] = a10 * c - a00 * s;\n out[5] = a11 * c - a01 * s;\n out[6] = a12 * c - a02 * s;\n out[7] = a13 * c - a03 * s;\n return out;\n}\n/**\n * Creates a matrix from a vector translation\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, dest, vec);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {ReadonlyVec3} v Translation vector\n * @returns {mat4} out\n */\n\nexport function fromTranslation(out, v) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = v[0];\n out[13] = v[1];\n out[14] = v[2];\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from a vector scaling\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.scale(dest, dest, vec);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {ReadonlyVec3} v Scaling vector\n * @returns {mat4} out\n */\n\nexport function fromScaling(out, v) {\n out[0] = v[0];\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = v[1];\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = v[2];\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from a given angle around a given axis\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.rotate(dest, dest, rad, axis);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @param {ReadonlyVec3} axis the axis to rotate around\n * @returns {mat4} out\n */\n\nexport function fromRotation(out, rad, axis) {\n var x = axis[0],\n y = axis[1],\n z = axis[2];\n var len = Math.hypot(x, y, z);\n var s, c, t;\n\n if (len < glMatrix.EPSILON) {\n return null;\n }\n\n len = 1 / len;\n x *= len;\n y *= len;\n z *= len;\n s = Math.sin(rad);\n c = Math.cos(rad);\n t = 1 - c; // Perform rotation-specific matrix multiplication\n\n out[0] = x * x * t + c;\n out[1] = y * x * t + z * s;\n out[2] = z * x * t - y * s;\n out[3] = 0;\n out[4] = x * y * t - z * s;\n out[5] = y * y * t + c;\n out[6] = z * y * t + x * s;\n out[7] = 0;\n out[8] = x * z * t + y * s;\n out[9] = y * z * t - x * s;\n out[10] = z * z * t + c;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from the given angle around the X axis\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.rotateX(dest, dest, rad);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\nexport function fromXRotation(out, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad); // Perform axis-specific matrix multiplication\n\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = c;\n out[6] = s;\n out[7] = 0;\n out[8] = 0;\n out[9] = -s;\n out[10] = c;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from the given angle around the Y axis\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.rotateY(dest, dest, rad);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\nexport function fromYRotation(out, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad); // Perform axis-specific matrix multiplication\n\n out[0] = c;\n out[1] = 0;\n out[2] = -s;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = s;\n out[9] = 0;\n out[10] = c;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from the given angle around the Z axis\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.rotateZ(dest, dest, rad);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\nexport function fromZRotation(out, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad); // Perform axis-specific matrix multiplication\n\n out[0] = c;\n out[1] = s;\n out[2] = 0;\n out[3] = 0;\n out[4] = -s;\n out[5] = c;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from a quaternion rotation and vector translation\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, vec);\n * let quatMat = mat4.create();\n * quat4.toMat4(quat, quatMat);\n * mat4.multiply(dest, quatMat);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @param {ReadonlyVec3} v Translation vector\n * @returns {mat4} out\n */\n\nexport function fromRotationTranslation(out, q, v) {\n // Quaternion math\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var xy = x * y2;\n var xz = x * z2;\n var yy = y * y2;\n var yz = y * z2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n out[0] = 1 - (yy + zz);\n out[1] = xy + wz;\n out[2] = xz - wy;\n out[3] = 0;\n out[4] = xy - wz;\n out[5] = 1 - (xx + zz);\n out[6] = yz + wx;\n out[7] = 0;\n out[8] = xz + wy;\n out[9] = yz - wx;\n out[10] = 1 - (xx + yy);\n out[11] = 0;\n out[12] = v[0];\n out[13] = v[1];\n out[14] = v[2];\n out[15] = 1;\n return out;\n}\n/**\n * Creates a new mat4 from a dual quat.\n *\n * @param {mat4} out Matrix\n * @param {ReadonlyQuat2} a Dual Quaternion\n * @returns {mat4} mat4 receiving operation result\n */\n\nexport function fromQuat2(out, a) {\n var translation = new glMatrix.ARRAY_TYPE(3);\n var bx = -a[0],\n by = -a[1],\n bz = -a[2],\n bw = a[3],\n ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7];\n var magnitude = bx * bx + by * by + bz * bz + bw * bw; //Only scale if it makes sense\n\n if (magnitude > 0) {\n translation[0] = (ax * bw + aw * bx + ay * bz - az * by) * 2 / magnitude;\n translation[1] = (ay * bw + aw * by + az * bx - ax * bz) * 2 / magnitude;\n translation[2] = (az * bw + aw * bz + ax * by - ay * bx) * 2 / magnitude;\n } else {\n translation[0] = (ax * bw + aw * bx + ay * bz - az * by) * 2;\n translation[1] = (ay * bw + aw * by + az * bx - ax * bz) * 2;\n translation[2] = (az * bw + aw * bz + ax * by - ay * bx) * 2;\n }\n\n fromRotationTranslation(out, a, translation);\n return out;\n}\n/**\n * Returns the translation vector component of a transformation\n * matrix. If a matrix is built with fromRotationTranslation,\n * the returned vector will be the same as the translation vector\n * originally supplied.\n * @param {vec3} out Vector to receive translation component\n * @param {ReadonlyMat4} mat Matrix to be decomposed (input)\n * @return {vec3} out\n */\n\nexport function getTranslation(out, mat) {\n out[0] = mat[12];\n out[1] = mat[13];\n out[2] = mat[14];\n return out;\n}\n/**\n * Returns the scaling factor component of a transformation\n * matrix. If a matrix is built with fromRotationTranslationScale\n * with a normalized Quaternion paramter, the returned vector will be\n * the same as the scaling vector\n * originally supplied.\n * @param {vec3} out Vector to receive scaling factor component\n * @param {ReadonlyMat4} mat Matrix to be decomposed (input)\n * @return {vec3} out\n */\n\nexport function getScaling(out, mat) {\n var m11 = mat[0];\n var m12 = mat[1];\n var m13 = mat[2];\n var m21 = mat[4];\n var m22 = mat[5];\n var m23 = mat[6];\n var m31 = mat[8];\n var m32 = mat[9];\n var m33 = mat[10];\n out[0] = Math.hypot(m11, m12, m13);\n out[1] = Math.hypot(m21, m22, m23);\n out[2] = Math.hypot(m31, m32, m33);\n return out;\n}\n/**\n * Returns a quaternion representing the rotational component\n * of a transformation matrix. If a matrix is built with\n * fromRotationTranslation, the returned quaternion will be the\n * same as the quaternion originally supplied.\n * @param {quat} out Quaternion to receive the rotation component\n * @param {ReadonlyMat4} mat Matrix to be decomposed (input)\n * @return {quat} out\n */\n\nexport function getRotation(out, mat) {\n var scaling = new glMatrix.ARRAY_TYPE(3);\n getScaling(scaling, mat);\n var is1 = 1 / scaling[0];\n var is2 = 1 / scaling[1];\n var is3 = 1 / scaling[2];\n var sm11 = mat[0] * is1;\n var sm12 = mat[1] * is2;\n var sm13 = mat[2] * is3;\n var sm21 = mat[4] * is1;\n var sm22 = mat[5] * is2;\n var sm23 = mat[6] * is3;\n var sm31 = mat[8] * is1;\n var sm32 = mat[9] * is2;\n var sm33 = mat[10] * is3;\n var trace = sm11 + sm22 + sm33;\n var S = 0;\n\n if (trace > 0) {\n S = Math.sqrt(trace + 1.0) * 2;\n out[3] = 0.25 * S;\n out[0] = (sm23 - sm32) / S;\n out[1] = (sm31 - sm13) / S;\n out[2] = (sm12 - sm21) / S;\n } else if (sm11 > sm22 && sm11 > sm33) {\n S = Math.sqrt(1.0 + sm11 - sm22 - sm33) * 2;\n out[3] = (sm23 - sm32) / S;\n out[0] = 0.25 * S;\n out[1] = (sm12 + sm21) / S;\n out[2] = (sm31 + sm13) / S;\n } else if (sm22 > sm33) {\n S = Math.sqrt(1.0 + sm22 - sm11 - sm33) * 2;\n out[3] = (sm31 - sm13) / S;\n out[0] = (sm12 + sm21) / S;\n out[1] = 0.25 * S;\n out[2] = (sm23 + sm32) / S;\n } else {\n S = Math.sqrt(1.0 + sm33 - sm11 - sm22) * 2;\n out[3] = (sm12 - sm21) / S;\n out[0] = (sm31 + sm13) / S;\n out[1] = (sm23 + sm32) / S;\n out[2] = 0.25 * S;\n }\n\n return out;\n}\n/**\n * Creates a matrix from a quaternion rotation, vector translation and vector scale\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, vec);\n * let quatMat = mat4.create();\n * quat4.toMat4(quat, quatMat);\n * mat4.multiply(dest, quatMat);\n * mat4.scale(dest, scale)\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @param {ReadonlyVec3} v Translation vector\n * @param {ReadonlyVec3} s Scaling vector\n * @returns {mat4} out\n */\n\nexport function fromRotationTranslationScale(out, q, v, s) {\n // Quaternion math\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var xy = x * y2;\n var xz = x * z2;\n var yy = y * y2;\n var yz = y * z2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n var sx = s[0];\n var sy = s[1];\n var sz = s[2];\n out[0] = (1 - (yy + zz)) * sx;\n out[1] = (xy + wz) * sx;\n out[2] = (xz - wy) * sx;\n out[3] = 0;\n out[4] = (xy - wz) * sy;\n out[5] = (1 - (xx + zz)) * sy;\n out[6] = (yz + wx) * sy;\n out[7] = 0;\n out[8] = (xz + wy) * sz;\n out[9] = (yz - wx) * sz;\n out[10] = (1 - (xx + yy)) * sz;\n out[11] = 0;\n out[12] = v[0];\n out[13] = v[1];\n out[14] = v[2];\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from a quaternion rotation, vector translation and vector scale, rotating and scaling around the given origin\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, vec);\n * mat4.translate(dest, origin);\n * let quatMat = mat4.create();\n * quat4.toMat4(quat, quatMat);\n * mat4.multiply(dest, quatMat);\n * mat4.scale(dest, scale)\n * mat4.translate(dest, negativeOrigin);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @param {ReadonlyVec3} v Translation vector\n * @param {ReadonlyVec3} s Scaling vector\n * @param {ReadonlyVec3} o The origin vector around which to scale and rotate\n * @returns {mat4} out\n */\n\nexport function fromRotationTranslationScaleOrigin(out, q, v, s, o) {\n // Quaternion math\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var xy = x * y2;\n var xz = x * z2;\n var yy = y * y2;\n var yz = y * z2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n var sx = s[0];\n var sy = s[1];\n var sz = s[2];\n var ox = o[0];\n var oy = o[1];\n var oz = o[2];\n var out0 = (1 - (yy + zz)) * sx;\n var out1 = (xy + wz) * sx;\n var out2 = (xz - wy) * sx;\n var out4 = (xy - wz) * sy;\n var out5 = (1 - (xx + zz)) * sy;\n var out6 = (yz + wx) * sy;\n var out8 = (xz + wy) * sz;\n var out9 = (yz - wx) * sz;\n var out10 = (1 - (xx + yy)) * sz;\n out[0] = out0;\n out[1] = out1;\n out[2] = out2;\n out[3] = 0;\n out[4] = out4;\n out[5] = out5;\n out[6] = out6;\n out[7] = 0;\n out[8] = out8;\n out[9] = out9;\n out[10] = out10;\n out[11] = 0;\n out[12] = v[0] + ox - (out0 * ox + out4 * oy + out8 * oz);\n out[13] = v[1] + oy - (out1 * ox + out5 * oy + out9 * oz);\n out[14] = v[2] + oz - (out2 * ox + out6 * oy + out10 * oz);\n out[15] = 1;\n return out;\n}\n/**\n * Calculates a 4x4 matrix from the given quaternion\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {ReadonlyQuat} q Quaternion to create matrix from\n *\n * @returns {mat4} out\n */\n\nexport function fromQuat(out, q) {\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var yx = y * x2;\n var yy = y * y2;\n var zx = z * x2;\n var zy = z * y2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n out[0] = 1 - yy - zz;\n out[1] = yx + wz;\n out[2] = zx - wy;\n out[3] = 0;\n out[4] = yx - wz;\n out[5] = 1 - xx - zz;\n out[6] = zy + wx;\n out[7] = 0;\n out[8] = zx + wy;\n out[9] = zy - wx;\n out[10] = 1 - xx - yy;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Generates a frustum matrix with the given bounds\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {Number} left Left bound of the frustum\n * @param {Number} right Right bound of the frustum\n * @param {Number} bottom Bottom bound of the frustum\n * @param {Number} top Top bound of the frustum\n * @param {Number} near Near bound of the frustum\n * @param {Number} far Far bound of the frustum\n * @returns {mat4} out\n */\n\nexport function frustum(out, left, right, bottom, top, near, far) {\n var rl = 1 / (right - left);\n var tb = 1 / (top - bottom);\n var nf = 1 / (near - far);\n out[0] = near * 2 * rl;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = near * 2 * tb;\n out[6] = 0;\n out[7] = 0;\n out[8] = (right + left) * rl;\n out[9] = (top + bottom) * tb;\n out[10] = (far + near) * nf;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[14] = far * near * 2 * nf;\n out[15] = 0;\n return out;\n}\n/**\n * Generates a perspective projection matrix with the given bounds.\n * The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],\n * which matches WebGL/OpenGL's clip volume.\n * Passing null/undefined/no value for far will generate infinite projection matrix.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} fovy Vertical field of view in radians\n * @param {number} aspect Aspect ratio. typically viewport width/height\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum, can be null or Infinity\n * @returns {mat4} out\n */\n\nexport function perspectiveNO(out, fovy, aspect, near, far) {\n var f = 1.0 / Math.tan(fovy / 2),\n nf;\n out[0] = f / aspect;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = f;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[15] = 0;\n\n if (far != null && far !== Infinity) {\n nf = 1 / (near - far);\n out[10] = (far + near) * nf;\n out[14] = 2 * far * near * nf;\n } else {\n out[10] = -1;\n out[14] = -2 * near;\n }\n\n return out;\n}\n/**\n * Alias for {@link mat4.perspectiveNO}\n * @function\n */\n\nexport var perspective = perspectiveNO;\n/**\n * Generates a perspective projection matrix suitable for WebGPU with the given bounds.\n * The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],\n * which matches WebGPU/Vulkan/DirectX/Metal's clip volume.\n * Passing null/undefined/no value for far will generate infinite projection matrix.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} fovy Vertical field of view in radians\n * @param {number} aspect Aspect ratio. typically viewport width/height\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum, can be null or Infinity\n * @returns {mat4} out\n */\n\nexport function perspectiveZO(out, fovy, aspect, near, far) {\n var f = 1.0 / Math.tan(fovy / 2),\n nf;\n out[0] = f / aspect;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = f;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[15] = 0;\n\n if (far != null && far !== Infinity) {\n nf = 1 / (near - far);\n out[10] = far * nf;\n out[14] = far * near * nf;\n } else {\n out[10] = -1;\n out[14] = -near;\n }\n\n return out;\n}\n/**\n * Generates a perspective projection matrix with the given field of view.\n * This is primarily useful for generating projection matrices to be used\n * with the still experiemental WebVR API.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {Object} fov Object containing the following values: upDegrees, downDegrees, leftDegrees, rightDegrees\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\n\nexport function perspectiveFromFieldOfView(out, fov, near, far) {\n var upTan = Math.tan(fov.upDegrees * Math.PI / 180.0);\n var downTan = Math.tan(fov.downDegrees * Math.PI / 180.0);\n var leftTan = Math.tan(fov.leftDegrees * Math.PI / 180.0);\n var rightTan = Math.tan(fov.rightDegrees * Math.PI / 180.0);\n var xScale = 2.0 / (leftTan + rightTan);\n var yScale = 2.0 / (upTan + downTan);\n out[0] = xScale;\n out[1] = 0.0;\n out[2] = 0.0;\n out[3] = 0.0;\n out[4] = 0.0;\n out[5] = yScale;\n out[6] = 0.0;\n out[7] = 0.0;\n out[8] = -((leftTan - rightTan) * xScale * 0.5);\n out[9] = (upTan - downTan) * yScale * 0.5;\n out[10] = far / (near - far);\n out[11] = -1.0;\n out[12] = 0.0;\n out[13] = 0.0;\n out[14] = far * near / (near - far);\n out[15] = 0.0;\n return out;\n}\n/**\n * Generates a orthogonal projection matrix with the given bounds.\n * The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],\n * which matches WebGL/OpenGL's clip volume.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} left Left bound of the frustum\n * @param {number} right Right bound of the frustum\n * @param {number} bottom Bottom bound of the frustum\n * @param {number} top Top bound of the frustum\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\n\nexport function orthoNO(out, left, right, bottom, top, near, far) {\n var lr = 1 / (left - right);\n var bt = 1 / (bottom - top);\n var nf = 1 / (near - far);\n out[0] = -2 * lr;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = -2 * bt;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 2 * nf;\n out[11] = 0;\n out[12] = (left + right) * lr;\n out[13] = (top + bottom) * bt;\n out[14] = (far + near) * nf;\n out[15] = 1;\n return out;\n}\n/**\n * Alias for {@link mat4.orthoNO}\n * @function\n */\n\nexport var ortho = orthoNO;\n/**\n * Generates a orthogonal projection matrix with the given bounds.\n * The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],\n * which matches WebGPU/Vulkan/DirectX/Metal's clip volume.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} left Left bound of the frustum\n * @param {number} right Right bound of the frustum\n * @param {number} bottom Bottom bound of the frustum\n * @param {number} top Top bound of the frustum\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\n\nexport function orthoZO(out, left, right, bottom, top, near, far) {\n var lr = 1 / (left - right);\n var bt = 1 / (bottom - top);\n var nf = 1 / (near - far);\n out[0] = -2 * lr;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = -2 * bt;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = nf;\n out[11] = 0;\n out[12] = (left + right) * lr;\n out[13] = (top + bottom) * bt;\n out[14] = near * nf;\n out[15] = 1;\n return out;\n}\n/**\n * Generates a look-at matrix with the given eye position, focal point, and up axis.\n * If you want a matrix that actually makes an object look at another object, you should use targetTo instead.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {ReadonlyVec3} eye Position of the viewer\n * @param {ReadonlyVec3} center Point the viewer is looking at\n * @param {ReadonlyVec3} up vec3 pointing up\n * @returns {mat4} out\n */\n\nexport function lookAt(out, eye, center, up) {\n var x0, x1, x2, y0, y1, y2, z0, z1, z2, len;\n var eyex = eye[0];\n var eyey = eye[1];\n var eyez = eye[2];\n var upx = up[0];\n var upy = up[1];\n var upz = up[2];\n var centerx = center[0];\n var centery = center[1];\n var centerz = center[2];\n\n if (Math.abs(eyex - centerx) < glMatrix.EPSILON && Math.abs(eyey - centery) < glMatrix.EPSILON && Math.abs(eyez - centerz) < glMatrix.EPSILON) {\n return identity(out);\n }\n\n z0 = eyex - centerx;\n z1 = eyey - centery;\n z2 = eyez - centerz;\n len = 1 / Math.hypot(z0, z1, z2);\n z0 *= len;\n z1 *= len;\n z2 *= len;\n x0 = upy * z2 - upz * z1;\n x1 = upz * z0 - upx * z2;\n x2 = upx * z1 - upy * z0;\n len = Math.hypot(x0, x1, x2);\n\n if (!len) {\n x0 = 0;\n x1 = 0;\n x2 = 0;\n } else {\n len = 1 / len;\n x0 *= len;\n x1 *= len;\n x2 *= len;\n }\n\n y0 = z1 * x2 - z2 * x1;\n y1 = z2 * x0 - z0 * x2;\n y2 = z0 * x1 - z1 * x0;\n len = Math.hypot(y0, y1, y2);\n\n if (!len) {\n y0 = 0;\n y1 = 0;\n y2 = 0;\n } else {\n len = 1 / len;\n y0 *= len;\n y1 *= len;\n y2 *= len;\n }\n\n out[0] = x0;\n out[1] = y0;\n out[2] = z0;\n out[3] = 0;\n out[4] = x1;\n out[5] = y1;\n out[6] = z1;\n out[7] = 0;\n out[8] = x2;\n out[9] = y2;\n out[10] = z2;\n out[11] = 0;\n out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez);\n out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez);\n out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez);\n out[15] = 1;\n return out;\n}\n/**\n * Generates a matrix that makes something look at something else.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {ReadonlyVec3} eye Position of the viewer\n * @param {ReadonlyVec3} center Point the viewer is looking at\n * @param {ReadonlyVec3} up vec3 pointing up\n * @returns {mat4} out\n */\n\nexport function targetTo(out, eye, target, up) {\n var eyex = eye[0],\n eyey = eye[1],\n eyez = eye[2],\n upx = up[0],\n upy = up[1],\n upz = up[2];\n var z0 = eyex - target[0],\n z1 = eyey - target[1],\n z2 = eyez - target[2];\n var len = z0 * z0 + z1 * z1 + z2 * z2;\n\n if (len > 0) {\n len = 1 / Math.sqrt(len);\n z0 *= len;\n z1 *= len;\n z2 *= len;\n }\n\n var x0 = upy * z2 - upz * z1,\n x1 = upz * z0 - upx * z2,\n x2 = upx * z1 - upy * z0;\n len = x0 * x0 + x1 * x1 + x2 * x2;\n\n if (len > 0) {\n len = 1 / Math.sqrt(len);\n x0 *= len;\n x1 *= len;\n x2 *= len;\n }\n\n out[0] = x0;\n out[1] = x1;\n out[2] = x2;\n out[3] = 0;\n out[4] = z1 * x2 - z2 * x1;\n out[5] = z2 * x0 - z0 * x2;\n out[6] = z0 * x1 - z1 * x0;\n out[7] = 0;\n out[8] = z0;\n out[9] = z1;\n out[10] = z2;\n out[11] = 0;\n out[12] = eyex;\n out[13] = eyey;\n out[14] = eyez;\n out[15] = 1;\n return out;\n}\n/**\n * Returns a string representation of a mat4\n *\n * @param {ReadonlyMat4} a matrix to represent as a string\n * @returns {String} string representation of the matrix\n */\n\nexport function str(a) {\n return \"mat4(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \", \" + a[3] + \", \" + a[4] + \", \" + a[5] + \", \" + a[6] + \", \" + a[7] + \", \" + a[8] + \", \" + a[9] + \", \" + a[10] + \", \" + a[11] + \", \" + a[12] + \", \" + a[13] + \", \" + a[14] + \", \" + a[15] + \")\";\n}\n/**\n * Returns Frobenius norm of a mat4\n *\n * @param {ReadonlyMat4} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\n\nexport function frob(a) {\n return Math.hypot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]);\n}\n/**\n * Adds two mat4's\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the first operand\n * @param {ReadonlyMat4} b the second operand\n * @returns {mat4} out\n */\n\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n out[4] = a[4] + b[4];\n out[5] = a[5] + b[5];\n out[6] = a[6] + b[6];\n out[7] = a[7] + b[7];\n out[8] = a[8] + b[8];\n out[9] = a[9] + b[9];\n out[10] = a[10] + b[10];\n out[11] = a[11] + b[11];\n out[12] = a[12] + b[12];\n out[13] = a[13] + b[13];\n out[14] = a[14] + b[14];\n out[15] = a[15] + b[15];\n return out;\n}\n/**\n * Subtracts matrix b from matrix a\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the first operand\n * @param {ReadonlyMat4} b the second operand\n * @returns {mat4} out\n */\n\nexport function subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n out[4] = a[4] - b[4];\n out[5] = a[5] - b[5];\n out[6] = a[6] - b[6];\n out[7] = a[7] - b[7];\n out[8] = a[8] - b[8];\n out[9] = a[9] - b[9];\n out[10] = a[10] - b[10];\n out[11] = a[11] - b[11];\n out[12] = a[12] - b[12];\n out[13] = a[13] - b[13];\n out[14] = a[14] - b[14];\n out[15] = a[15] - b[15];\n return out;\n}\n/**\n * Multiply each element of the matrix by a scalar.\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to scale\n * @param {Number} b amount to scale the matrix's elements by\n * @returns {mat4} out\n */\n\nexport function multiplyScalar(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n out[4] = a[4] * b;\n out[5] = a[5] * b;\n out[6] = a[6] * b;\n out[7] = a[7] * b;\n out[8] = a[8] * b;\n out[9] = a[9] * b;\n out[10] = a[10] * b;\n out[11] = a[11] * b;\n out[12] = a[12] * b;\n out[13] = a[13] * b;\n out[14] = a[14] * b;\n out[15] = a[15] * b;\n return out;\n}\n/**\n * Adds two mat4's after multiplying each element of the second operand by a scalar value.\n *\n * @param {mat4} out the receiving vector\n * @param {ReadonlyMat4} a the first operand\n * @param {ReadonlyMat4} b the second operand\n * @param {Number} scale the amount to scale b's elements by before adding\n * @returns {mat4} out\n */\n\nexport function multiplyScalarAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n out[4] = a[4] + b[4] * scale;\n out[5] = a[5] + b[5] * scale;\n out[6] = a[6] + b[6] * scale;\n out[7] = a[7] + b[7] * scale;\n out[8] = a[8] + b[8] * scale;\n out[9] = a[9] + b[9] * scale;\n out[10] = a[10] + b[10] * scale;\n out[11] = a[11] + b[11] * scale;\n out[12] = a[12] + b[12] * scale;\n out[13] = a[13] + b[13] * scale;\n out[14] = a[14] + b[14] * scale;\n out[15] = a[15] + b[15] * scale;\n return out;\n}\n/**\n * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyMat4} a The first matrix.\n * @param {ReadonlyMat4} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\nexport function exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8] && a[9] === b[9] && a[10] === b[10] && a[11] === b[11] && a[12] === b[12] && a[13] === b[13] && a[14] === b[14] && a[15] === b[15];\n}\n/**\n * Returns whether or not the matrices have approximately the same elements in the same position.\n *\n * @param {ReadonlyMat4} a The first matrix.\n * @param {ReadonlyMat4} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\nexport function equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n var a4 = a[4],\n a5 = a[5],\n a6 = a[6],\n a7 = a[7];\n var a8 = a[8],\n a9 = a[9],\n a10 = a[10],\n a11 = a[11];\n var a12 = a[12],\n a13 = a[13],\n a14 = a[14],\n a15 = a[15];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3];\n var b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7];\n var b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11];\n var b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a8), Math.abs(b8)) && Math.abs(a9 - b9) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a9), Math.abs(b9)) && Math.abs(a10 - b10) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a10), Math.abs(b10)) && Math.abs(a11 - b11) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a11), Math.abs(b11)) && Math.abs(a12 - b12) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a12), Math.abs(b12)) && Math.abs(a13 - b13) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a13), Math.abs(b13)) && Math.abs(a14 - b14) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a14), Math.abs(b14)) && Math.abs(a15 - b15) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a15), Math.abs(b15));\n}\n/**\n * Alias for {@link mat4.multiply}\n * @function\n */\n\nexport var mul = multiply;\n/**\n * Alias for {@link mat4.subtract}\n * @function\n */\n\nexport var sub = subtract;",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["TYPES","AssetManager","Symbol","for","CanvasElement","CollisionRepository","CollisionBroadphaseResolver","CollisionResolutionMethod","CollisionAABBResolver","CollisionCircumferenceAABBResolver","CollisionCircumferenceResolver","CollisionSatResolver","CollisionMatrix","EntityManager","GameConfig","InputManager","LoopManager","RenderManager","SceneManager","SystemFactory","SystemManager","TimeManager","WebGLManager","Container","constructor","this","instances","Map","types","add","type","name","prototype","__ioc_injectable","Error","set","dependency","get","has","toString","instance","_a","__ioc_inject_constructor","map","inject","_b","__ioc_inject_prop","forEach","prop","injectable","target","propertyKey","parameterIndex","undefined","push","BroadPhaseMethods","__decorate","decorators","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","SuppressedError","Vector2","x","y","_x","_y","magnitude","Math","sqrt","pow","direction","_direction","unit","copy","vector","equals","clone","distance","out","a","b","subtract","normal","scale","scalar","dot","cross","round","Rectangle","width","height","_position","_center","value","x1","y1","position","center","rectangle","rect","overlaps","contains","object","clamp","min","max","fixedRound","decimals","range","start","end","steps","between","QuadTree","QuadTree_1","area","depth","children","shapes","minArea","maxArea","clear","update","resizeArea","id","boundingBox","insert","box","retrieve","items","getChildrenForBox","child","filter","includes","item","split","insertItemIntoChildren","childWidth","childHeight","quadrant","cell","subdivisions","SpartialGrid","colliders","coordinates","x0","y0","updateSubdivisions","cellWidth","ceil","cellHeight","updateCoordinates","Polygon","vertexModel","_vertexModel","vertices","projectionAxes","rotation","collider","entity","ignoreCollisionsWithLayers","layer","radius","updateCollisions","Circumference","AABBMethod","AABBResolver","circumferenceAABBResolver","circumferenceResolver","findCollision","shapeA","shapeB","resolve","CollisionMethods","SatMethod","satResolver","resolutionDirection","boxA","boxB","overlapX","overlapY","checkOverlapForLines","sign","preventContainment","minOverlap","penetration","abs","minSep","maxSep","CircumferenceAABBResolver","closestPoint","invert","CircumferenceResolver","SatResolver","projA","projB","smallestAxis","Infinity","cache","setCircumferenceAxis","axes","pa","some","setCircumferenceVertices","projectShapeOntoAxis","currentOverlap","invertAxis","mins","maxs","projection","shape","axis","vertex","s","collisions","findCollisionsForCollider","localCollider","findCollisionsForColliderAndLayer","remoteCollider","findAll","persist","collision","removeAll","lastEntityId","lastComponentTypeId","components","disabledEntities","Set","disabledComponents","createEntity","component","addComponent","removeEntity","row","delete","removeAllEntities","isEntityEnabled","enableEntity","disableEntity","disableEntitiesByComponent","componentType","getComponentTypeId","keys","enableEntitiesByComponent","hasComponent","getComponent","getComponents","entityComponent","e","getEntityForComponent","removeComponent","arg1","arg2","isComponentEnabled","disableComponent","enableComponent","search","criteria","includeDisabled","result","every","searchEntitiesByComponents","componentTypes","entities","first","toCompare","splice","__ecs_type_id","systems","findSystemIndex","systemType","findIndex","system","addSystem","group","hasSystem","getSystem","index","enableSystem","onCreate","onEnabled","disableSystem","onDisabled","setExecutionOrder","removeSystem","onDestroy","onUpdate","GamepadController","buttons","_dpadAxes","_leftStickAxes","_rightStickAxes","dpadAxes","dpadRight","dpadLeft","dpadUp","dpadDown","leftStickAxes","leftStickHorizontal","leftStickVertical","rightStickAxes","rightStickHorizontal","rightStickVertical","bottomFace","rightFace","leftFace","topFace","leftShoulder","rightShoulder","leftTrigger","rightTrigger","back","leftStickButton","rightStickButton","anyButtonPressed","Array","from","values","find","vibrate","duration","weakMagnitude","strongMagnitude","startDelay","vibrationInput","Keyboard","pressedKeys","isPressed","keyCode","orPressed","keyCodes","reduce","andPressed","isPressedReturn","returnTrue","returnFalse","orPressedReturn","andPressedReturn","Mouse","leftButtonPressed","scrollButtonPressed","rightButtonPressed","positionInViewport","hasMoved","wheelScroll","TouchScreen","touching","interactions","keyboard","mouse","touchScreen","gamepads","allowedPhysicsFramerates","AssetType","deltaTime","unscaledDeltaTime","timeScale","physicsDeltaTime","unscaledPhysicsDeltaTime","renderDeltaTime","browserDeltaTime","physicsFramerate","maxDeltaTime","thenForGame","thenForPhysics","thenForRender","join","fixedGameFramerate","fixedGameDeltaTime","parseFloat","toFixed","fixedPhysicsFramerate","fixedPhysicsDeltaTime","updateForRender","time","updateForGame","updateForPhysics","assets","getAssetsLoaded","prev","asset","loaded","loadImage","url","image","Image","crossOrigin","src","createAsset","complete","addEventListener","loadAudio","audio","Audio","loadFont","family","font","FontFace","Font","document","fonts","load","then","loadVideo","video","createElement","playsInline","Video","getImage","element","getAudio","getFont","getVideo","AudioPlayer","options","action","loop","playing","volume","_currentAudio","assign","SYSTEMS","AudioPlayerSystem","ButtonSystem","ChildrenSystem","ParentSystem","TiledWrapperSystem","TilemapPreProcessingSystem","TransformSystem","GamepadSystem","KeyboardSystem","MouseSystem","TouchScreenSystem","UpdateBallColliderShapeSystem","UpdateBoxColliderShapeSystem","UpdateEdgeColliderShapeSystem","UpdatePolygonColliderShapeSystem","UpdateTilemapColliderShapeSystem","UpdateCollidersAfterRepositionSystem","ApplyRepositionSystem","ApplyVelocitySystem","ResolveCollisionSystem","AnimatorSystem","CameraSystem","ClearScreenSystem","ColliderRenderSystem","CullingSystem","MaskRendererSystem","RenderSystem","ShadowLightRendererSystem","SpriteRendererSystem","TextRendererSystem","TilemapRendererSystem","VideoRendererSystem","userInputEventNames","entityManager","inputManager","timeManager","canPlay","userInputEventHandler","eventName","window","removeEventListener","audioSource","hidden","pause","play","checkGamepad","gp","audioPlayer","currentTime","paused","playbackRate","catch","onDisable","SystemGroup","addSystemGroup","__system_group","Transform","parent","_parent","localPosition","localScale","localRotation","_childEntities","defaultRenderLayer","Camera","layers","zoom","_renderData","WebGLContextVersion","ContextManager","canvas","contextVersion","getContextVersion","gl","getContext","WebGL2","LegacyWebGL","FontAtlasFactory","fontAtlas","hasFontAtlas","fontFace","symbol","getFontAtlas","getOrCreate","charRanges","bitmapSize","create","chars","j","String","fromCharCode","renderAtlas","fontFaceFamily","FontAtlas","ctx","clearRect","textBaseline","fillStyle","fillText","glyphs","measureText","bitmapFontSize","gridSize","ProgramFactory","shaderLoader","vertexShaderSource","fragmentShaderSource","program","createProgram","vertexShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","attachShader","linkProgram","status","LINK_STATUS","getProgramParameter","error","getProgramInfoLog","deleteProgram","ProgramManager","programFactory","loadProgram","positionBuffer","createBuffer","textureBuffer","positionCoordsAttr","getAttribLocation","texCoordsAttr","modelMatrixUniform","getUniformLocation","projectionMatrixUniform","textureMatrixUniform","renderTextureUniform","textureUniform","solidColorUniform","useTintColorUniform","tintColorUniform","useMaskColorUniform","maskColorUniform","maskColorMixUniform","alphaUniform","renderLightUniform","numLightsUniform","useProgram","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","enableVertexAttribArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ShaderLoader","source","shader","createShader","shaderSource","compileShader","COMPILE_STATUS","getShaderParameter","getShaderInfoLog","deleteShader","ARRAY_TYPE","Float32Array","glMatrix.ARRAY_TYPE","identity","translate","v","a00","a01","a02","a03","a10","a11","a12","a13","a20","a21","a22","a23","z","rotateZ","rad","sin","cos","hypot","ortho","left","right","bottom","top","near","far","lr","bt","nf","setProjectionMatrix","projectionMatrix","cameraZoom","cameraPosition","mat4.identity","mat4.ortho","mat4.scale","mat4.translate","hexToRgba","hex","exec","parseInt","g","CanvasColorRenderer","render","hexColor","rgb","clearColor","COLOR_BUFFER_BIT","GeometricShape","RenderDataType","MaskShape","GeometricRenderer","programManager","mat4.create","modelMatrix","textureMatrix","PI","circumferenceVertices","renderData","cameraData","renderLines","LINE_LOOP","Line","LINES","renderCircumference","mode","bufferData","DYNAMIC_DRAW","mat4.rotateZ","uniformMatrix4fv","uniform1i","color","uniform4f","uniform1f","drawArrays","Mask","rectangleVertices","lastRender","lastShape","STATIC_DRAW","opacity","enable","BLEND","disable","TRIANGLES","TRIANGLE_FAN","lights","light","entries","uniform2f","smooth","intensity","textureManager","lastTexture","posVertices","texVertices","flipHorizontally","flipVertically","slice","naturalWidth","naturalHeight","texture","getOrCreateTextureFromImage","bindTexture","TEXTURE_2D","tintColor","maskColor","_c","maskColorMix","_d","TextOrientation","fontAtlasFactory","Text","textSize","modelPosition","text","bitmap","fontSize","generateTextVertices","setPositionFromOrientation","getOrCreateTextureFromCanvas","letterSpacing","lineSeparation","maxWidth","letter","glyph","letterWidth","gx","gy","u1","margin","v1","u2","spacing","v2","orientation","Center","RightCenter","RightUp","TilemapOrientation","tileset","tileWidth","tileHeight","texMargin","texSpacing","texWidth","texHeight","texCorrection","tiles","acc","tile","processTileset","generateVertices","tilemap","flipHorizontal","flipVertical","Tilemap","correction","_e","_f","_g","floor","tilesetTile","tilemapTile","px","py","tx","ty","videoWidth","videoHeight","getOrCreateTextureFromVideo","texImage2D","RGBA","UNSIGNED_BYTE","TextureFactory","createFromImage","createTexture","createFromSource","createFromCanvas","createPixelTexture","Uint8Array","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","NEAREST","TextureManager","textureFactory","textures","createTextureFromImage","createTextureFromCanvas","createTextureFromVideo","renderers","contextManager","fontFactoryAtlas","Sprite","SpriteRenderer","TextRenderer","TilemapRenderer","Geometric","MaskRenderer","VideoRenderer","Shadow","ShadowRenderer","canvasColorRenderer","renderCanvasColor","offset","renderManager","scaledOffset","videoRenderer","transform","checkVideoState","translateRenderPosition","addRenderData","translatedAngle","atan2","ended","systemManager","systemFactory","assetManager","scenes","loadingScene","addScene","sceneType","openingScene","scene","openingSceneName","loadScene","sceneNameToBeLoaded","loadOpeningScene","currentSceneName","destroyCurrentScene","loadAssets","setup","PostGameLogic","createSystemIfNotExists","Button","touchEnabled","pressed","ButtonShape","scaled","pressedLastFrame","button","resolveMouseAndRectangle","resolveMouseAndCircumference","resolveTouchAndRectangle","resolveTouchAndCircumference","onClick","onPressed","Children","Parent","_parentEntity","TiledWrapper","data","chunks","_processed","tiledWrapper","tilemapRenderer","l","layerToRender","infinite","chunkSize","chunksToData","dataToChunks","cx","cy","chunk","tix","tiy","t","getBranchLength","sort","translateChild","updateTransform","eventHandler","gamepadConnected","gamepad","gamepadDisconected","connected","getGamepadsFromBrowser","gpc","vibrationActuator","playEffect","vibrating","finally","navigator","getGamepads","webkitGetGamepads","event","code","indexOf","lastPositionInViewport","updatePosition","updateButtonDown","updateButtonUp","handleWheelEvent","onFocusOut","focus","preventDefault","stopPropagation","offsetX","clientWidth","offsetY","clientHeight","wheelEvent","deltaX","deltaY","targetTouches","clientX","offsetLeft","clientY","offsetTop","radiusX","radiusY","Animator","animations","speed","reset","currentFrame","_currentAnimation","animator","animation","spriteRenderer","renderSprite","fps","frames","isArray","frame","size","padding","camera","addCameraData","webGLManager","gameConfig","canvasColor","BallCollider","physics","BoxCollider","EdgeCollider","PolygonCollider","TilemapCollider","composite","collisionMethod","debugEnabled","SAT","AABB","viewport","culledRenderData","getCameraData","setViewport","getRenderData","isInViewPort","applyCullingInTiles","setRenderData","setObjectForResizeable","setObjectForGeometric","setObjectForText","setObjectForTilemap","rotatedWidth","rotatedHeight","line","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","maskRenderer","removeCameraData","removeRenderData","LightRenderer","_boundingBox","lightRenderers","updateLightRendererBoundingBox","shadowRenderer","updatShadowRendererBoundingBox","lightRenderer","scaledRadius","scaledWidth","scaledHeight","bitmapMargin","bitmapSpacing","textRenderer","crop","croppedText","croppedHeight","newLines","lines","word","currentLine","newLine","renderDataFactory","realWidth","realHeight","RigidBodyType","RigidBody","Dynamic","velocity","gravity","acceleration","transformSystem","rigidBody","BaseUpdateColliderShapeSystem","auxMin","auxMax","auxScaledOffset","updatePositionAndVertices","translatePosition","auxAngle","updateBoundingBox","updateCircumferenceBoundingBox","updatePolygonBoundingBox","updateProjectionAxes","super","ballCollider","boxCollider","edgeCollider","polygonCollider","tilemapCollider","useEdges","useBoxes","needsCollider","generateRectangleVertices","getNeighbors","neighbor","hVertices","vVertices","neighbors","hasTile","createEdge","broadPhaseResolver","collisionMatrix","collisionResolutionMethod","collisionRepository","narrowPhase","broadPhase","remote","local","isResolved","resolution","localEntity","remoteEntity","displacement","systemTypes","PreGameLogic","Physics","Render","sceneManager","running","gameLoopAccumulator","enableSystems","requestAnimationLoop","performance","now","asyncPhysicsLoop","stop","gameLogicIteration","renderIteration","requestAnimationFrame","GameLogic","GamePreRender","physicsIntervalId","setInterval","clearInterval","physicsIteration","GamePhysics","container","lastSystemTypeId","setDefaultValues","containerNode","HTMLElement","headless","collisionBroadPhaseMethod","_h","createCanvas","tabIndex","appendChild","setupManagers","setupEngineSystems","headlessFilter","setupPhysicsDependencies","GameSystem","Symbols","bootstrap","addDependencyType","dependencyType","addDependencyInstance","dependencyInstance","random"],"mappings":"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","x_google_ignoreList":[3,42,43]}
|