angry-pixel 1.2.16 → 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 -5
- 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 -12
- package/package.dev.json +0 -36
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../packages/math/lib/index.esm.js","../../../packages/core/lib/index.esm.js","../../../packages/input/lib/index.esm.js","../../../packages/2d-physics/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,o){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(e,i,n,o)}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},o=function(t,e,i){return void 0===i&&(i=2),r(Math.random()*(e-t)+t,i)},r=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=[],o=t;o<=e;o+=i)n.push(o);return n},u=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}();export{e as Rectangle,h as Rotation,t as Vector2,u as between,i as clamp,r as fixedRound,o as randomFloat,n as randomInt,s as range};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(e,i){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(e,i)};function e(e,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Class extends value \"+String(i)+\" is not a constructor or null\");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}var i,n=function(){return n=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},n.apply(this,arguments)};function r(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\"}(i||(i={}));var o,s,a,h=function(){function t(t,e,n,r,o,s,a){this.timeManager=t,this.physicsManager=e,this.renderManager=n,this.inputManager=r,this.gameObjectManager=o,this.sceneManager=s,this.canvasColor=a,this.running=!1,this.gameLoopAccumulator=0,this.gameObjects=[],this.components=[],this.changingScene=!1,this.sceneEvents=[i.Start,i.Update,i.StopGame],this.gameObjectEvents=[i.Start,i.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(i.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(i.Start),this.inputManager.update(),this.dispatchFrameEvent(i.Update),this.dispatchFrameEvent(i.UpdateEngine),this.dispatchFrameEvent(i.UpdateTransform),this.timeManager.gameFramerate===this.timeManager.physicsFramerate&&(this.timeManager.updateForPhysics(t),this.physicsIteration()),this.dispatchFrameEvent(i.UpdatePreRender)},t.prototype.renderIteration=function(){this.dispatchFrameEvent(i.UpdatePreRender),this.dispatchFrameEvent(i.UpdateCamera),this.dispatchFrameEvent(i.UpdateRender),this.renderManager.clearScreen(this.canvasColor),this.renderManager.render(),this.renderManager.clearData()},t.prototype.physicsIteration=function(){this.timeManager.timeScale<=0||this.changingScene||(this.dispatchFrameEvent(i.UpdatePhysics),this.dispatchFrameEvent(i.UpdateCollider),this.dispatchFrameEvent(i.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}(),c=function(){function t(t){this.updateEvent=i.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===i.Init&&this.init?this.init(e):t!==i.Start||this.started?t===this.updateEvent&&this.started&&this.update?this.update():t===i.Destroy?(this.onDestroy&&this.onDestroy(),this._destroy()):t===i.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}(),l=function(t){function i(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 e(i,t),Object.defineProperty(i.prototype,\"active\",{get:function(){return this._active},set:function(t){this._active!==t&&(this._active=t,this.onActiveChange())},enumerable:!1,configurable:!0}),i.prototype.onActiveChange=function(){},i.prototype.getCurrentScene=function(){return this.sceneManager.getLoadedScene()},i.prototype.getGameObject=function(){return this.gameObject},i.prototype.getComponents=function(t){return t?this.gameObject.getComponents(t):this.gameObject.getComponents()},i.prototype.getComponent=function(t){return this.gameObject.getComponent(t)},i.prototype.hasComponent=function(t){return this.gameObject.hasComponent(t)},i.prototype.removeComponent=function(t){this.gameObject.removeComponent(t)},i.prototype._destroy=function(){var t=this;Object.keys(this).forEach((function(e){return delete t[e]}))},i.prototype._stopGame=function(){},i}(c),u=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateEngine,e}return e(n,t),n}(l),p=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateCollider,e}return e(n,t),n}(l),d=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdatePhysics,e}return e(n,t),n}(l),f=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateTransform,e}return e(n,t),n}(l),g=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdatePreRender,e}return e(n,t),n}(l),m=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateCamera,e}return e(n,t),n}(l),y=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateRender,e}return e(n,t),n}(l);!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(o||(o={})),function(t){t[t.WorldSpace=0]=\"WorldSpace\",t[t.ViewPort=1]=\"ViewPort\"}(s||(s={})),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\"}(a||(a={}));var v=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===s.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,s=t.radius;r===o.Circumference?(this.object.x=i.x-s,this.object.y=i.y-s,this.object.x1=i.x+s,this.object.y1=i.y+s):(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 a.Video:case a.Mask:case a.Sprite:this.setObjectForResizeable(t);break;case a.Geometric:this.setObjectForGeometric(t);break;case a.Text:this.setObjectForText(t);break;case a.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===a.Tilemap&&i.applyCullingInTiles(e),!0)}))},t}(),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 b(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 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}();!function(){function t(t,e,i,n){this._position=new _,this._center=new _,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 _&&!(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 _,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\"}(M||(M={}));var w,C=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===a.Tilemap?function(t){var e=x(x({},t),{culledTiles:[],tilemap:x(x({},t.tilemap),{height:Math.ceil(t.tiles.length/t.tilemap.width),realWidth:t.tilemap.width*t.tilemap.tileWidth,realHeight:0}),renderPosition:new _});return e.tilemap.realHeight=e.tilemap.height*e.tilemap.tileHeight,function(t){t.renderPosition.set(t.position.x+(t.orientation!==M.Center?t.tilemap.realWidth/2:0),t.position.y+(t.orientation===M.RightDown?-t.tilemap.realHeight/2:t.orientation===M.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\"}(w||(w={}));var j=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(w.WebGL2)?w.WebGL2:null!==this.canvas.getContext(w.LegacyWebGL)?w.LegacyWebGL:void 0},t}(),O=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 P(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}(),P=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},R=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}(),A=function(){function t(t,e,i){this.gl=t,this.contextVersion=e,this.programFactory=i}return t.prototype.loadProgram=function(){this.program=this.contextVersion===w.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}(),S=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}(),E=\"undefined\"!=typeof Float32Array?Float32Array:Array;function T(){var t=new E(16);return E!=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 D(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 F(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 B(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 U(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 I,L=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},V=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=D(t),-e.canvas.width/2,e.canvas.width/2,-e.canvas.height/2,e.canvas.height/2,-1,1),n===s.WorldSpace&&(B(t,t,[null!==(r=i.zoom)&&void 0!==r?r:1,null!==(o=i.zoom)&&void 0!==o?o:1,1]),F(t,t,[-i.position.x,-i.position.y,0]))},k=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 b(b([],t,!0),[Math.cos(e*i),Math.sin(e*i)],!1)}),[]))}return t.prototype.render=function(t,e,i){switch(t.shape){case o.Polygon:this.renderLines(t,e,this.gl.LINE_LOOP,i);break;case o.Line:this.renderLines(t,e,this.gl.LINES,i);break;case o.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===a.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=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(r=t.rotation)&&void 0!==r?r:0),V(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 h=L(t.color),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.solidColorUniform,c,l,u,p),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=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),B(this.modelMatrix,this.modelMatrix,[t.radius,t.radius,1]),V(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=L(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\"}(I||(I={}));var G,W=function(){function t(t,e){this.gl=t,this.programManager=e,this.type=a.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===a.Mask&&this.lastShape===t.shape||(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,t.shape===I.Rectangle?this.rectangleVertices:this.circumferenceVertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,t.shape===I.Rectangle?[t.width,t.height,1]:[t.radius,t.radius,1]),V(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=L(t.color),s=o.r,h=o.g,c=o.b,l=o.a;this.gl.uniform4f(this.programManager.solidColorUniform,s,h,c,l),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),t.shape===I.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}(),H=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=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.width*(t.flipHorizontal?-1:1),t.height*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),t.slice&&(F(this.textureMatrix,this.textureMatrix,[t.slice.x/t.image.naturalWidth,t.slice.y/t.image.naturalHeight,0]),B(this.textureMatrix,this.textureMatrix,[t.slice.width/t.image.naturalWidth,t.slice.height/t.image.naturalHeight,1])),V(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=L(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=L(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\"}(G||(G={}));var z=new _,N=new _,Y=[32,126,161,255],X=G.Center,q=function(){function t(t,e,i,n){this.gl=t,this.programManager=e,this.textureManager=i,this.fontAtlasFactory=n,this.type=a.Text,this.posVertices=[],this.texVertices=[],this.lastTexture=null,this.textSize=new _,this.modelPosition=new _,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=D(this.modelMatrix),this.setPositionFromOrientation(t),F(this.modelMatrix,this.modelMatrix,[this.modelPosition.x,this.modelPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.fontSize,t.fontSize,1]),this.textureMatrix=D(this.textureMatrix),V(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===a.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=L(t.color),h=s.r,c=s.g,l=s.b,u=s.a;this.gl.uniform4f(this.programManager.maskColorUniform,h,c,l,u),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:z,t.bitmap.spacing=null!==(i=t.bitmap.spacing)&&void 0!==i?i:N,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:Y):t.bitmap={margin:z,spacing:N,fontSize:64,charRanges:Y},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:X,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===G.Center?-this.textSize.x/2:0),t.position.y+(t.orientation===G.Center||t.orientation===G.RightCenter?this.textSize.y/2:t.orientation===G.RightUp?this.textSize.y:0))},t}(),K=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 _,texSpacing:new _,texWidth:0,texHeight:0,texCorrection:new _},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=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.renderPosition.x,t.renderPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.tilemap.tileWidth*(t.flipHorizontal?-1:1),t.tilemap.tileHeight*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),B(this.textureMatrix,this.textureMatrix,[this.tileset.tileWidth/t.tileset.image.naturalWidth,this.tileset.tileHeight/t.tileset.image.naturalHeight,1]),V(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 h=this.textureManager.getOrCreateTextureFromImage(t.tileset.image,t.smooth);if(this.lastTexture===h&&i===a.Tilemap||(this.gl.bindTexture(this.gl.TEXTURE_2D,h),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=h),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 c=L(t.tintColor),l=c.r,u=c.g,p=c.b,d=c.a;this.gl.uniform4f(this.programManager.tintColorUniform,l,u,p,d)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var f=L(t.maskColor);l=f.r,u=f.g,p=f.b,this.gl.uniform4f(this.programManager.maskColorUniform,l,u,p,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 _,h.spacing=null!==(i=h.spacing)&&void 0!==i?i:new _,h.correction=null!==(n=h.correction)&&void 0!==n?n:new _,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}(),Q=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=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.width*(t.flipHorizontal?-1:1),t.height*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),t.slice&&(F(this.textureMatrix,this.textureMatrix,[t.slice.x/t.video.videoWidth,t.slice.y/t.video.videoHeight,0]),B(this.textureMatrix,this.textureMatrix,[t.slice.width/t.video.videoWidth,t.slice.height/t.video.videoHeight,1])),V(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=L(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=L(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(){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}(),J=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}(),Z=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=L(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}(),tt=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}(),et=function(){function t(t,e,i,n){this._position=new tt,this._center=new tt,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 tt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},t}(),it=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 tt,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 nt,rt=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 tt,rotation:null!=s?s:0,group:a,onCollision:h}},t}(),ot=function(){function t(t,e){void 0===e&&(e=0),this.area=new et(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 et(this.area.x,this.area.y,i,n),new et(this.area.x,this.area.y+n,i,n),new et(this.area.x+i,this.area.y+n,i,n),new et(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}(),st=function(t,e,i,n){return Math.min((t-e)/i|0,n-1)},at=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=it(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=st(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=st(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=st(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=st(t.y1,this.area.y,this.cellHeight,this._subdivisions)},t}();!function(t){t[t.QuadTree=0]=\"QuadTree\",t[t.SpartialGrid=1]=\"SpartialGrid\"}(nt||(nt={}));var ht,ct=function(){function t(t,e,i,n){this.collisions=[],this.lastCollidersAmount=0,this.minArea=new tt,this.maxArea=new tt,this.newArea=new et(0,0,0,0),this.method=t,this.colliders=[],this.activeColliders=[],this.collisionMatrix=n,this.setupBroadPhaseResolver(null!=e?e:nt.QuadTree,i)}return t.prototype.setupBroadPhaseResolver=function(t,e){this.collisionArea=null!=e?e:new et(0,0,0,0),this.fixedCollisionArea=!!e,t===nt.SpartialGrid?this.broadPhaseResolver=new at(this.collisionArea):this.broadPhaseResolver=new ot(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 at&&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\"}(ht||(ht={}));var lt,ut=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===ht.Polygon&&e.type===ht.Polygon?this.AABBResolver.resolve(t,e):t.type===ht.Circumference&&e.type===ht.Polygon?this.circumferenceAABBResolver.resolve(t,e):t.type===ht.Polygon&&e.type===ht.Circumference?this.circumferenceAABBResolver.resolve(e,t,!0):t.type===ht.Circumference&&e.type===ht.Circumference?this.circumferenceResolver.resolve(t,e):null},t}();!function(t){t[t.AABB=0]=\"AABB\",t[t.SAT=1]=\"SAT\"}(lt||(lt={}));var pt=function(){function t(t,e){this.circumferenceResolver=t,this.satResolver=e}return t.prototype.getCollisionResolution=function(t,e){return t.type===ht.Circumference&&e.type===ht.Circumference?this.circumferenceResolver.resolve(t,e):this.satResolver.resolve(t,e)},t}(),dt=function(){function t(){this.direction=new tt,this.displacementDirection=new tt}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)),tt.unit(this.displacementDirection,this.displacementDirection),{direction:tt.scale(new tt,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}(),ft=function(){function t(){this.closestPoint=new tt,this.distance=new tt,this.direction=new tt}return t.prototype.resolve=function(t,e,i){return void 0===i&&(i=!1),this.closestPoint.set(it(t.position.x,e.boundingBox.x,e.boundingBox.x1),it(t.position.y,e.boundingBox.y,e.boundingBox.y1)),tt.subtract(this.distance,this.closestPoint,t.position),this.distance.magnitude>t.radius?null:(tt.unit(this.direction,this.distance),{direction:i?tt.scale(new tt,this.direction,-1):this.direction.clone(),displacementDirection:i?this.direction.clone():tt.scale(new tt,this.direction,-1),penetration:t.radius-this.distance.magnitude})},t}(),gt=function(){function t(){this.distance=new tt,this.direction=new tt}return t.prototype.resolve=function(t,e){return tt.subtract(this.distance,e.position,t.position),this.distance.magnitude>t.radius+e.radius?null:(tt.unit(this.direction,this.distance),{direction:this.direction.clone(),displacementDirection:tt.scale(new tt,this.direction,-1),penetration:t.radius+e.radius-this.distance.magnitude})},t}(),mt=function(t,e){return mt=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])},mt(t,e)};function yt(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 vt,xt=function(){function t(){this.projA={min:0,max:0},this.projB={min:0,max:0},this.smallestAxis=new tt,this.distance=new tt(1/0,1/0),this.cache=new tt}return t.prototype.resolve=function(t,e){var i=this;this.minOverlap=1/0,t.type===ht.Circumference?this.setCircumferenceAxis(t,e):e.type===ht.Circumference&&this.setCircumferenceAxis(e,t),this.axes=yt([],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===ht.Circumference?this.setCircumferenceVertices(t,this.axes[n]):e.type===ht.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,tt.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&&tt.scale(this.smallestAxis,this.axes[n],-1))}return{direction:tt.scale(new tt,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(tt.dot(i,e),t.min),t.max=Math.max(tt.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){tt.subtract(i.cache,e,t.position),i.cache.magnitude<i.distance.magnitude&&i.distance.copy(i.cache)})),tt.unit(t.projectionAxes[0],this.distance)},t.prototype.setCircumferenceVertices=function(t,e){tt.add(t.vertices[0],t.position,tt.scale(this.cache,tt.unit(this.cache,e),-t.radius)),tt.add(t.vertices[1],t.position,tt.scale(this.cache,tt.unit(this.cache,e),t.radius))},t}(),bt=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}(),Mt=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 tt,velocity:null!=o?o:new tt,onResolve:s}},t}();!function(t){t[t.Static=0]=\"Static\",t[t.Dynamic=1]=\"Dynamic\",t[t.Kinematic=2]=\"Kinematic\"}(vt||(vt={}));var _t=[\"x\",\"y\"],wt=function(){function t(t){this.collisionManager=t,this.rigidBodies=[],this.activeRigidBodies=[],this.colliders=[],this.velocity=new tt,this.displacement=new tt,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 yt(yt([],t,!0),e.colliderIds,!0)}),[]),this.activeRigidBodies.forEach((function(i){i.type===vt.Dynamic?e.dynamicUpdate(i,t):i.type===vt.Kinematic&&e.kinematicUpdate(i,t),i.onResolve&&i.onResolve(i)}))},t.prototype.dynamicUpdate=function(t,e){var i=this;this.applyGravity(t,e),_t.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;tt.add(t.position,t.position,tt.scale(this.velocity,t.velocity,e)),t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).forEach((function(t){tt.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}(),Ct=function(){function t(t){this.radius=t,this.type=ht.Circumference,this.boundingBox=new et(0,0,0,0),this.vertices=[new tt,new tt],this.projectionAxes=[new tt],this._position=new tt}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}(),jt=function(){function t(t){this.vertexModel=t,this.type=ht.Polygon,this.vertices=[new tt,new tt],this.projectionAxes=[new tt],this.boundingBox=new et(0,0,0,0),this.rotation=0,this._position=new tt}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(){tt.normal(this.projectionAxes[0],tt.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0]))},t}(),Ot=function(){function t(t){this.vertexModel=t,this.type=ht.Polygon,this.vertices=[],this.boundingBox=new et(0,0,0,0),this.rotation=0,this._projectionAxes=[],this._position=new tt,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 tt),this._projectionAxes.push(new tt)}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++)tt.normal(this._projectionAxes[e],tt.subtract(this._projectionAxes[e],null!==(t=this.vertices[e+1])&&void 0!==t?t:this.vertices[0],this.vertices[e]))},t}(),Pt=function(t){function e(e,i){var n=t.call(this,[new tt(-e/2,-i/2),new tt(-e/2,i/2),new tt(e/2,i/2),new tt(e/2,-i/2)])||this;return n.width=e,n.height=i,n._projectionAxes=[new tt,new tt],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}mt(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(){tt.unit(this.projectionAxes[0],tt.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0])),tt.normal(this.projectionAxes[1],this.projectionAxes[0])},e}(Ot),Rt=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 Rt,this._center=new Rt,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 Rt&&!(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 Rt,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 At,St=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 Et),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}(),Et=function(){function t(){this.buttons=new Map,this.axes=new Map,this._dpadAxes=new Rt,this._leftStickAxes=new Rt,this._rightStickAxes=new Rt,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}(),Tt=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}(),Dt=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}(),Ft=function(){function t(t){this._leftButtonPressed=!1,this._scrollButtonPressed=!1,this._rightButtonPressed=!1,this._positionInViewport=new Rt,this._hasMoved=!1,this._wheelScroll=new Rt,this.lastPositionInViewport=new Rt,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}(),Bt=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 Rt((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 Rt(t.targetTouches[e].radiusX,t.targetTouches[e].radiusY)}},t}();!function(t){t.Image=\"Image\",t.Audio=\"Audio\",t.Font=\"Font\",t.Video=\"Video\"}(At||(At={}));var Ut,It=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,At.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,At.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,At.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,At.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===At.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===At.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===At.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===At.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}(),Lt=function(t){function i(e){var i=t.call(this,e)||this;return i.name=\"AngryPixelException\",i}return e(i,t),i}(Error),Vt=function(){function t(t,e,i){if(this._canvas=null,!t)throw new Lt(\"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,n,r){var o=new t(this.container,++this.lastId,r,n);return this.gameObjects.push(o),o.dispatch(i.Init,e),o},t.prototype.findGameObjects=function(t){return t?this.gameObjects.filter((function(e){return e instanceof t})):r([],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 n=this.gameObjects.indexOf(t);if(-1!==n){var r=this.gameObjects.splice(n,1)[0];e&&this.destroyChildren(r),r.dispatch(i.Destroy)}},t.prototype.destroyChildren=function(t){var e=this;this.findGameObjectsByParent(t).forEach((function(t){return e.destroyGameObject(t)}))},t}(),Gt=function(){function t(t,e,n,r){this.timeManager=t,this.physicsManager=e,this.gameObjectManager=n,this.sceneManager=r,this.running=!1,this.gameObjects=[],this.components=[],this.changingScene=!1,this.sceneEvents=[i.Start,i.Update,i.StopGame],this.gameObjectEvents=[i.Start,i.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(i.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(i.Start),this.dispatchFrameEvent(i.Update),this.dispatchFrameEvent(i.UpdateEngine),this.dispatchFrameEvent(i.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(i.UpdatePhysics),this.dispatchFrameEvent(i.UpdateCollider),this.dispatchFrameEvent(i.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}(),Wt=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,n,r){var o=this;if(void 0===r&&(r=!1),this.scenes.has(e))throw new Lt(\"There is already a scene with the name '\".concat(e,\"'\"));this.scenes.set(e,(function(){var r=new t(o.container,e,o.container.getConstant(\"Game\"));return o.currentScene=r,r.dispatch(i.Init,n),r})),!r&&this.openingSceneName||(this.openingSceneName=e)},t.prototype.loadScene=function(t){if(!1===this.scenes.has(t))throw new Lt(\"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 Lt(\"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(i.Destroy),this.currentScene=void 0)},t}(),Ht=[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,!Ht.includes(t))throw new Lt(\"Invalid Physics frame rate. Allowed: [\".concat(Ht.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}(),Nt=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 gt,a=r===lt.AABB?new ut(new dt,new ft,s):new pt(s,new xt),h=new ct(a,o,i,n),c=new rt,l=new wt(h),u=new Mt;return new bt(h,c,l,u)}(e.collisions)})),e.headless)t.add(\"IterationManager\",(function(){return new Gt(t.getSingleton(\"TimeManager\"),t.getSingleton(\"PhysicsManager\"),t.getSingleton(\"GameObjectManager\"),t.getSingleton(\"SceneManager\"))}));else{t.add(\"DomManager\",(function(){return new Vt(e.containerNode,e.gameWidth,e.gameHeight)}));var i=t.getSingleton(\"DomManager\").canvas;t.add(\"RenderManager\",(function(){return function(t){var e=new j(t),i=e.gl,n=e.contextVersion,r=new A(i,n,new R(i,new S(i))),o=new J(new $(i)),s=new Z(i,r,o,new Map([[a.Sprite,new H(i,r,o)],[a.Text,new q(i,r,o,new O)],[a.Tilemap,new K(i,r,o)],[a.Geometric,new k(i,r)],[a.Mask,new W(i,r)],[a.Video,new Q(i,r,o)]]));return new C(s,new v(i))}(i)})),t.add(\"InputManager\",(function(){return function(t){return new Tt(new Ft(t),new Dt(t),new St,new Bt(t))}(i)})),t.add(\"AssetManager\",(function(){return new It(t.getSingleton(\"RenderManager\"))})),t.add(\"IterationManager\",(function(){return new h(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 Wt(t,e.headless?void 0:t.getSingleton(\"RenderManager\"))}))},Yt=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 Lt(\"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 Lt(\"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 Lt(\"Invalid object constructor name: \".concat(t));return this.constructors.get(t)()},t.prototype.addConstant=function(t,e){if(this.constants.has(t))throw new Lt(\"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 Lt(\"Invalid constant name: \".concat(t));return this.constants.get(t)},t}(),Xt=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}(),qt=function(){function t(t,e,i,n){this._position=new Xt,this._center=new Xt,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 Xt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},t}(),Kt=function(t,e,i){return t>=e&&t<=i},Qt=function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new Xt,t?this.radians=t:e&&(this.degrees=e)}return 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))},t}(),$t={containerNode:void 0,gameWidth:320,gameHeight:180,debugEnabled:!1,canvasColor:\"#000000\",physicsFramerate:180,headless:!1,spriteDefaultScale:new Xt(1,1),collisions:{collisionMethod:lt.SAT,collisionBroadPhaseMethod:nt.SpartialGrid}},Jt=function(){function t(t){this._config=n(n({},$t),t),this._config.collisions=n(n({},$t.collisions),t.collisions),this.container=new Yt,this.container.addConstant(\"Game\",this),this.setupManagers()}return t.prototype.setupManagers=function(){Nt(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}(),Zt=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.parentScale=!0,e.parentRotation=!0,e._position=new Xt,e._scale=new Xt(1,1),e._rotation=new Qt,e._innerPosition=new Xt,e._parent=null,e.cache=new Xt,e.lastParentRadians=0,e.lastPosition=new Xt,e.scaledInnerPosition=new Xt,e}return e(i,t),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(t){this._parent=t,null!==this._parent&&Xt.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(),Xt.add(this._position,this._parent.position,this.scaledInnerPosition)):Xt.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 t=Math.atan2(this._innerPosition.y,this._innerPosition.x)+(this._parent.rotation.radians-this.lastParentRadians);this.cache.set(Math.cos(t),Math.sin(t)),Xt.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}(f),te=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderer=null,e.colliders=[],e.physics=!0,e.activateColliders=!1,e}return e(i,t),i.prototype.update=function(){this.activateColliders&&(this.colliders.forEach((function(t){return t.active=!0})),this.activateColliders=!1),this.updateRealSize(),this.updatePosition(),this.updateColliders()},i.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},i.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},i.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},i.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},i.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},i.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}},i.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}))},i.prototype.onDestroy=function(){var t=this;this.colliders.forEach((function(e){return t.physicsManager.removeCollider(e)}))},i}(p),ee=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e}return e(i,t),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(t){var e,i=t.rigidBodyType,n=t.gravity;if(0===this.getColliderIds().length)throw new Lt(\"RigidBody needs at least one Collider with physics\");this.rigidBody=this.physicsManager.addRigidBody({type:i,colliderIds:this.getColliderIds(),gravity:null!==(e=Math.abs(n))&&void 0!==e?e:0,velocity:new Xt,position:new Xt})},i.prototype.update=function(){if(0===this.getColliderIds().length)throw new Lt(\"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 te&&t.physics})).reduce((function(t,e){return r(r([],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}(u),ie=\"Default\",ne=function(t){function n(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(Zt),r&&(o.transform.position=r.transform.position,o.parent=r),o}return e(n,t),Object.defineProperty(n.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(n.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}),n.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=[])},n.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(n.prototype,\"transform\",{get:function(){return this.getComponent(Zt)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,\"rigidBody\",{get:function(){return this.getComponent(ee)},enumerable:!1,configurable:!0}),n.prototype.onActiveChange=function(){},n.prototype.getCurrentScene=function(){return this.sceneManager.getLoadedScene()},n.prototype.addComponent=function(t,e,n){var r=\"string\"==typeof e?void 0:e,o=\"string\"==typeof e?e:n,s=new t(this.container,this,o);return this.checkMultipleComponent(s,t),this.components.push(s),s.dispatch(i.Init,r),s},n.prototype.checkMultipleComponent=function(t,e){if(!1===t.allowMultiple&&this.hasComponent(e))throw new Lt(\"GameObject only allows one component of type \".concat(e.name))},n.prototype.getComponents=function(t){return t?this.components.filter((function(e){return e instanceof t})):this.components},n.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}))},n.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}))},n.prototype.removeComponent=function(t){var e=this.components.indexOf(t);-1!==e&&this.components.splice(e,1)[0].dispatch(i.Destroy)},n.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},n.prototype.getChildren=function(){return this.gameObjectManager.findGameObjectsByParent(this)},n.prototype.getChild=function(t){return this.gameObjectManager.findGameObjectByParent(this,t)},n.prototype.destroyChildren=function(){var t=this;this.gameObjectManager.findGameObjectsByParent(this).forEach((function(e){return t.gameObjectManager.destroyGameObject(e)}))},n.prototype._destroy=function(){var t=this;this.destroyComponents(),Object.keys(this).forEach((function(e){return delete t[e]}))},n.prototype.destroyComponents=function(){for(var t=0;t<this.components.length;t++)this.components[t].dispatch(i.Destroy),delete this.components[t];this.components=[]},n.prototype._stopGame=function(){},n}(c),re=[\"Default\"],oe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.viewportRect=new qt(0,0,0,0),e.worldSpaceRect=new qt(0,0,0,0),e.depth=0,e.layers=re,e._zoom=1,e}return e(i,t),Object.defineProperty(i.prototype,\"zoom\",{get:function(){return this._zoom},set:function(t){if(this.zoom<=0)throw new Lt(\"zoom must be greather than 0\");this._zoom=t},enumerable:!1,configurable:!0}),i.prototype.addLayer=function(t){this.layers.push(t)},i.prototype.init=function(){this.canvas=this.domManager.canvas,this.cameraData={position:new Xt,layers:[],depth:1}},i.prototype.update=function(){this.updateViewportRect(),this.updateWorldSpaceRect(),this.updateCameraData()},i.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},i.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},i.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)},i}(m),se=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(){this.transform.position.set(0,0),this.camera=this.addComponent(oe)},Object.defineProperty(i.prototype,\"layers\",{get:function(){return this.camera.layers},set:function(t){this.camera.layers=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"depth\",{get:function(){return this.camera.depth},set:function(t){this.camera.depth=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"zoom\",{get:function(){return this.camera.zoom},set:function(t){this.camera.zoom=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"worldSpaceRect\",{get:function(){return this.camera.worldSpaceRect},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"viewportRect\",{get:function(){return this.camera.viewportRect},enumerable:!1,configurable:!0}),i.prototype.addLayer=function(t){this.camera.layers.push(t)},i}(ne),ae=function(t){function i(e,i,n){var r=t.call(this,e)||this;return r.name=i,r.game=n,r.game.config.headless||r.addGameObject(se),r}return e(i,t),Object.defineProperty(i.prototype,\"gameCamera\",{get:function(){return this.findGameObject(se)},enumerable:!1,configurable:!0}),i.prototype._destroy=function(){var t=this;this.gameObjectManager.destroyAllGameObjects(!1),Object.keys(this).forEach((function(e){return delete t[e]}))},i.prototype._stopGame=function(){var t=this;this.gameObjectManager.destroyAllGameObjects(!0),Object.keys(this).forEach((function(e){return delete t[e]}))},i}(c),he=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.scaledVertexModel=[],e.scaledOffset=new Xt,e.scaledPosition=new Xt,e.finalRotation=0,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s;if(this.gameConfig.collisions.collisionMethod!==lt.SAT)throw new Lt(\"Polygon Colliders need SAT collision method.\");if(t.vertexModel.length<3)throw new Lt(\"Polygon Collider needs at least 3 vertices.\");this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.vertexModel=t.vertexModel,this.offsetX=null!==(i=t.offsetX)&&void 0!==i?i:this.offsetX,this.offsetY=null!==(n=t.offsetY)&&void 0!==n?n:this.offsetY,this.physics=null!==(r=t.physics)&&void 0!==r?r:this.physics,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new Qt,this.layer=t.layer;for(var a=0;a<this.vertexModel.length;a++)this.scaledVertexModel.push(new Xt);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 Ot(this.scaledVertexModel),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(ce,{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(){Xt.add(this.scaledPosition,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.scaledPosition,this.gameObject.transform.position);var t=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(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},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}(te),ce=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(t){var e=t.collider;this.renderData={type:a.Geometric,location:s.WorldSpace,layer:this.gameObject.layer,position:new Xt,shape:o.Polygon,color:\"#00FF00\"},this.collider=e},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}(y),le=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.realWidth=0,e.realHeight=0,e.realOffset=new Xt,e.realPosition=new Xt,e.realRotation=0,e.applyRotation=e.gameConfig.collisions.collisionMethod===lt.SAT,e.innerPosition=new Xt,e}return e(i,t),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 Qt,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 Pt(this.realWidth,this.realHeight),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(ce,{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(){Xt.add(this.realPosition,this.gameObject.transform.position,this.realOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.realPosition,this.gameObject.transform.position);var t=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(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},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}(te),ue=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.realRadius=0,e.realOffset=new Xt,e.realPosition=new Xt,e.innerPosition=new Xt,e}return e(i,t),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 Ct(this.radius),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(pe,{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(){Xt.add(this.realPosition,this.gameObject.transform.position,this.realOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.realPosition,this.gameObject.transform.position);var t=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(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},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}(te),pe=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(t){var e=t.collider;this.renderData={type:a.Geometric,location:s.WorldSpace,layer:this.gameObject.layer,position:new Xt,shape:o.Circumference,color:\"#00FF00\"},this.collider=e},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}(y),de=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.position=new Xt,e}return e(i,t),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(fe,{colliders:this.colliders}))},i.prototype.useBoxColliders=function(){var t=this;this.tilemapRenderer.tiles.forEach((function(e,i){var n;t.needsCollider(e,i)&&t.colliders.push(t.physicsManager.addCollider({layer:null!==(n=t.layer)&&void 0!==n?n:t.gameObject.layer,position:new Xt(t.position.x+(i%t.tilemapRenderer.width+.5)*t.scaledTileWidth,t.position.y-(Math.floor(i/t.tilemapRenderer.width)+.5)*t.scaledTileHeight),shape:new Pt(t.scaledTileWidth,t.scaledTileHeight),updateCollisions:!1,physics:t.physics,group:t.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 t,e,i=this,n=[],r=[];this.tilemapRenderer.tiles.forEach((function(t,e){if(0!==t){var o=e%i.tilemapRenderer.width,s=Math.floor(e/i.tilemapRenderer.width);n[s]||(n[s]=[]),n[s+1]||(n[s+1]=[]),r[s]||(r[s]=[]),r[s+1]||(r[s+1]=[]);var a=i.getNeighbors(e);i.hasTile(a[0])||(n[s][o]=!0),i.hasTile(a[2])||(n[s+1][o]=!0),i.hasTile(a[1])||(r[s][o]=!0),i.hasTile(a[3])||(r[s][o+1]=!0)}}));for(var o=0;o<n.length;o++)if(n[o])for(var s=0;s<n[o].length;s++)!t||!e||o===e.y&&n[o][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),n[o][s]&&(t||(t=new Xt(s,o)),e=new Xt(s+1,o));t&&e&&this.addLineCollider(t,e),t=void 0,e=void 0;for(s=0;s<=this.tilemapRenderer.width;s++)for(o=0;o<r.length;o++)r[o]&&(!t||!e||s===e.x&&r[o][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),r[o][s]&&(t||(t=new Xt(s,o)),e=new Xt(s,o+1)));t&&e&&this.addLineCollider(t,e)},i.prototype.hasTile=function(t){return void 0!==t&&this.tilemapRenderer.tiles[t]&&this.tilemapRenderer.tiles[t]>0},i.prototype.addLineCollider=function(t,e){var i,n=this.physicsManager.addCollider({layer:null!==(i=this.layer)&&void 0!==i?i:this.gameObject.layer,position:this.position.clone(),shape:new jt([new Xt(t.x*this.scaledTileWidth,t.y*-this.scaledTileHeight),new Xt(e.x*this.scaledTileWidth,e.y*-this.scaledTileHeight)]),updateCollisions:!1,physics:this.physics,group:this.gameObject.id.toString()});this.colliders.push(n)},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}(te),fe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.colliders=[],e}return e(i,t),i.prototype.init=function(t){var e=this,i=t.colliders;this.colliders=i,this.colliders.forEach((function(t,i){e.renderData[i]={type:a.Geometric,layer:e.gameObject.layer,location:s.WorldSpace,position:new Xt,shape:o.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}(y),ge=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.scaledVertexModel=[],e.scaledOffset=new Xt,e.scaledPosition=new Xt,e.finalRotation=0,e.innerPosition=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s;if(this.gameConfig.collisions.collisionMethod!==lt.SAT)throw new Lt(\"Edge Colliders need SAT collision method.\");if(t.vertexModel.length<2)throw new Lt(\"Edge Collider needs at least 2 vertices.\");this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.vertexModel=t.vertexModel,this.offsetX=null!==(i=t.offsetX)&&void 0!==i?i:this.offsetX,this.offsetY=null!==(n=t.offsetY)&&void 0!==n?n:this.offsetY,this.physics=null!==(r=t.physics)&&void 0!==r?r:this.physics,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new Qt,this.layer=t.layer;for(var a=0;a<this.vertexModel.length;a++)this.scaledVertexModel.push(new Xt);for(a=0;a<this.scaledVertexModel.length-1;a++)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 jt([this.scaledVertexModel[a],this.scaledVertexModel[a+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(){Xt.add(this.scaledPosition,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Xt.subtract(this.innerPosition,this.scaledPosition,this.gameObject.transform.position);var t=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(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},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}(te),me=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.colliders=[],e}return e(i,t),i.prototype.init=function(t){var e=this,i=t.colliders;this.colliders=i,this.colliders.forEach((function(t,i){e.renderData[i]={type:a.Geometric,layer:e.gameObject.layer,location:s.WorldSpace,position:new Xt,shape:o.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}(y),ye=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.innerPosition=new Xt,e.cachePosition=new Xt,e.cacheRenderPosition=new Xt,e.scaledOffset=new Xt,e.cacheScale=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s,a,h,c;void 0===t&&(t={}),this.sprite=t.sprite,this.offset=null!==(e=t.offset)&&void 0!==e?e:new Xt,this.rotation=null!==(i=t.rotation)&&void 0!==i?i:new Qt,this.flipHorizontal=null!==(n=t.flipHorizontal)&&void 0!==n&&n,this.flipVertical=null!==(r=t.flipVertical)&&void 0!==r&&r,this.opacity=null!==(o=t.opacity)&&void 0!==o?o:1,this._tiled=null!==(s=t.tiled)&&void 0!==s?s:new Xt(1,1),this.maskColor=t.maskColor,this.maskColorMix=null!==(a=t.maskColorMix)&&void 0!==a?a:0,this.tintColor=t.tintColor,this.layer=t.layer,this.scale=null!==(c=null!==(h=t.scale)&&void 0!==h?h:this.gameConfig.spriteDefaultScale.clone())&&void 0!==c?c:new Xt(1,1),this.width=t.width,this.height=t.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 Lt(\"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 t=0;t<this._tiled.x*this._tiled.y;t++)this.renderData[t]={type:a.Sprite,location:s.WorldSpace,layer:\"\",position:new Xt,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?s.ViewPort:s.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(t,e,i){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Xt.add(this.cachePosition,this.gameObject.transform.position,this.scaledOffset),this.cacheRenderPosition.set(this.renderData[t].width/2*(this._tiled.x-1),this.renderData[t].height/2*(this._tiled.y-1)),Xt.subtract(this.cachePosition,this.cachePosition,this.cacheRenderPosition),this.cacheRenderPosition.set(e*this.renderData[t].width,i*this.renderData[t].height),Xt.add(this.renderData[t].position,this.cachePosition,this.cacheRenderPosition),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition(t)},i.prototype.translateRenderPosition=function(t){Xt.subtract(this.innerPosition,this.renderData[t].position,this.gameObject.transform.position);var e=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData[t].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}(y),ve=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.lastFrameText=\"\",e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,s,a,h,c,l,u,p,d;if(this.text=null!==(e=t.text)&&void 0!==e?e:\"\",this.font=null!==(i=t.font)&&void 0!==i?i:\"Sans\",this.fontSize=null!==(n=t.fontSize)&&void 0!==n?n:12,this.width=null!==(r=t.width)&&void 0!==r?r:100,this.height=null!==(o=t.height)&&void 0!==o?o:100,this.offset=null!==(s=t.offset)&&void 0!==s?s:new Xt,this.color=null!==(a=t.color)&&void 0!==a?a:\"#000000\",this.charRanges=null!==(h=t.charRanges)&&void 0!==h?h:[32,126,161,255],this.lineSeparation=null!==(c=t.lineSeparation)&&void 0!==c?c:0,this.letterSpacing=null!==(l=t.letterSpacing)&&void 0!==l?l:0,this.smooth=null!==(u=t.smooth)&&void 0!==u&&u,this.rotation=null!==(p=t.rotation)&&void 0!==p?p:new Qt,this.opacity=null!==(d=t.opacity)&&void 0!==d?d:1,this.orientation=t.orientation,this.bitmapMargin=t.bitmapMargin,this.bitmapSpacing=t.bitmapSpacing,this.charRanges.length%2!=0)throw new Lt(\"TextRenderer.charRanges must be a 2 column matrix\");if(this.lineSeparation%2!=0)throw new Lt(\"TextRenderer.lineSeparation must be multiple of 2\")},i.prototype.start=function(){this.renderData={type:a.Text,location:s.WorldSpace,position:new Xt,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 t,e;this.text&&(this.renderData.layer=this.gameObject.layer,this.renderData.location=this.gameObject.ui?s.ViewPort:s.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!==(e=this.gameObject.transform.rotation.radians+(null===(t=this.rotation)||void 0===t?void 0:t.radians))&&void 0!==e?e:0,this.renderData.alpha=this.opacity,Xt.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}(y),xe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.offset=new Xt,e.rotation=new Qt,e.opacity=1,e.innerPosition=new Xt,e.scaledOffset=new Xt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,r,o,h,c;this.shape=t.shape,this.color=t.color,this.width=null!==(e=t.width)&&void 0!==e?e:0,this.height=null!==(i=t.height)&&void 0!==i?i:0,this.radius=null!==(n=t.radius)&&void 0!==n?n:0,this.offset=null!==(r=t.offset)&&void 0!==r?r:this.offset,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:this.rotation,this.opacity=null!==(h=t.opacity)&&void 0!==h?h:this.opacity,this.layer=t.layer,this.renderData={type:a.Mask,layer:null!==(c=this.layer)&&void 0!==c?c:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,width:0,height:0,radius:0,color:\"\",shape:this.shape}},i.prototype.update=function(){var t;this.renderData.location=this.gameObject.ui?s.ViewPort:s.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),Xt.add(this.renderData.position,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition()},i.prototype.translateRenderPosition=function(){Xt.subtract(this.innerPosition,this.renderData.position,this.gameObject.transform.position);var t=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(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i}(y),be=[\"click\",\"contextmenu\",\"auxclick\",\"dblclick\",\"mousedown\",\"mouseup\",\"pointerup\",\"touchend\",\"keydown\",\"keyup\"],Me=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.innerPosition=new Xt,e.scaledOffset=new Xt,e._playing=!1,e._paused=!1,e.videoEventHandler=function(t){\"ended\"===t.type&&(e._playing=!1,e.video.removeEventListener(\"ended\",e.videoEventHandler))},e.userInputEventHandler=function(){be.forEach((function(t){window.removeEventListener(t,e.userInputEventHandler)})),e.video&&e._playing&&e.video.play()},e}return e(i,t),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(t){var e,i,n,r,o,h,c,l,u,p;this.video=t.video,this.width=null!==(e=t.width)&&void 0!==e?e:this.video.videoWidth,this.height=null!==(i=t.height)&&void 0!==i?i:this.video.videoHeight,this.offset=null!==(n=t.offset)&&void 0!==n?n:new Xt,this.rotation=null!==(r=t.rotation)&&void 0!==r?r:new Qt,this.flipHorizontal=null!==(o=t.flipHorizontal)&&void 0!==o&&o,this.flipVertical=null!==(h=t.flipVertical)&&void 0!==h&&h,this.opacity=null!==(c=t.opacity)&&void 0!==c?c:1,this.maskColor=t.maskColor,this.maskColorMix=null!==(l=t.maskColorMix)&&void 0!==l?l:0,this.tintColor=t.tintColor,this.layer=t.layer,this.slice=t.slice,this._volume=null!==(u=t.volume)&&void 0!==u?u:1,this._loop=null!==(p=t.loop)&&void 0!==p&&p,this.renderData={type:a.Video,location:s.WorldSpace,layer:\"\",position:new Xt,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(){be.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?s.ViewPort:s.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),Xt.add(this.renderData.position,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition()},i.prototype.translateRenderPosition=function(){Xt.subtract(this.innerPosition,this.renderData.position,this.gameObject.transform.position);var t=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(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.onActiveChange=function(){!1===this.active&&this.stop()},i.prototype.onDestroy=function(){this.stop()},i}(y),_e=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.tiles=[],e.infinite=!1,e.tilesetTileIds=[],e.chunks=[],e.scaledTileWidth=0,e.scaledTileHeight=0,e.renderData=[],e}return e(i,t),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 t.name===n})),!this.tiledLayer)throw new Lt(\"Invalid tilemap layer\");this.width=0,this.height=0,this.tiledData.layers.forEach((function(t){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 t,e=this;this.tiles=this.tiledLayer.data.map((function(t){return e.getTilesetTileId(t)})),this.renderData.push({type:a.Tilemap,layer:null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,tileset:this.tileset,tilemap:{width:this.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:this.tiles,orientation:M.Center,smooth:this.smooth})},i.prototype.processChunk=function(t){var e,i=this,n={type:a.Tilemap,layer:null!==(e=this.layer)&&void 0!==e?e:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,tileset:this.tileset,tilemap:{width:t.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:t.data.map((function(t){return i.getTilesetTileId(t)})),orientation:M.Center,smooth:this.smooth};n.tiles.forEach((function(e,n){i.tiles[i.width*(t.y+Math.floor(n/t.width))+t.x+n%t.width]=e})),this.renderData.push(n),this.chunks.push(t)},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}(y),we=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.tiles=[],e.scaledTileWidth=0,e.scaledTileHeight=0,e}return e(i,t),i.prototype.init=function(t){var e,i=this,n=t.tiles,r=t.tileset,o=t.tileWidth,h=t.tileHeight,c=t.width,l=t.layer,u=t.opacity,p=t.tintColor,d=t.smooth;n.split(\"\\n\").forEach((function(t){t.split(\",\").forEach((function(t){return t.trim().length>0?i.tiles.push(Number(t)):null}))})),this.tileset=r,this.width=c,this.tileWidth=null!=o?o:this.tileset.tileWidth*this.gameConfig.spriteDefaultScale.x,this.tileHeight=null!=h?h:this.tileset.tileHeight*this.gameConfig.spriteDefaultScale.y,this.layer=l,this.height=Math.ceil(this.tiles.length/this.width),this.opacity=u,this.tintColor=p,this.renderData={type:a.Tilemap,layer:null!==(e=this.layer)&&void 0!==e?e:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Xt,tileset:this.tileset,tilemap:{width:this.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:this.tiles,orientation:M.Center,smooth:d},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}(y),Ce=function(t){function i(){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 e(i,t),i.prototype.init=function(t){var e=t.spriteRenderer;this.spriteRenderer=e},i.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)},i.prototype.addAnimation=function(t,e,i){return void 0===e&&(e=\"default\"),t.framerate=null!=i?i:t.framerate,this.animations.set(e,new je(t)),this},i.prototype.playAnimation=function(t){if(void 0===t&&(t=\"default\"),!1!==this.active){if(!1===this.animations.has(t))throw new Lt(\"Animation with name \".concat(t,\" does not exist.\"));this.stopAnimation(),this.currentAnimation=this.animations.get(t)}},i.prototype.pause=function(){this.paused=!0},i.prototype.resume=function(){this.paused=!1},i.prototype.stopAnimation=function(){null!==this.currentAnimation&&(this.currentAnimation.reset(),this.currentAnimation=null,this.paused=!1)},i.prototype.isPlayingAnimation=function(t){return void 0===t&&(t=\"default\"),null!==this.currentAnimation&&this.animations.get(t)&&this.animations.get(t)===this.currentAnimation},i.prototype.isPaused=function(){return this.paused},i}(u),je=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}(),Oe=[\"click\",\"contextmenu\",\"auxclick\",\"dblclick\",\"mousedown\",\"mouseup\",\"pointerup\",\"touchend\",\"keydown\",\"keyup\"],Pe=function(t){function i(){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(){Oe.forEach((function(t){window.removeEventListener(t,e.userInputEventHandler)})),e.audioContext.resume(),e._audioSource&&e._playing&&e._audioSource.play()},e}return e(i,t),Object.defineProperty(i.prototype,\"audioSource\",{get:function(){return this._audioSource},enumerable:!1,configurable:!0}),Object.defineProperty(i.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(i.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(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(t){var e=this,i=void 0===t?{}:t,n=i.loop,r=i.volume;this.audioContext=new AudioContext,\"running\"!==this.audioContext.state&&Oe.forEach((function(t){return window.addEventListener(t,e.userInputEventHandler)})),this._volume=null!=r?r:1,this._loop=null!=n&&n},i.prototype.playClip=function(t,e){t.currentTime>0&&(t.currentTime=0),t.volume=null!=e?e:this._volume,t.play()},i.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)},i.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},i.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()}},i.prototype.stop=function(){this._playing&&(this._audioSource.pause(),this._audioSource.currentTime=0,this._audioSource.removeEventListener(\"ended\",this.audioEventHandler),this._playing=!1,this._paused=!1)},i.prototype.pause=function(){this._playing&&!1===this._paused&&(this._audioSource.pause(),this._paused=!0)},i.prototype.onActiveChange=function(){!1===this.active&&this.stop()},i.prototype.onDestroy=function(){this.stop(),this.audioContext.close()},i}(u),Re=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\"}(Ut||(Ut={}));var Ae=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.width=100,e.height=100,e.radius=50,e.touchEnabled=!0,e.offset=new Xt,e.pressed=!1,e.mouse=e.inputManager.mouse,e.touch=e.inputManager.touch,e.position=new Xt,e.distance=new Xt,e.pressedLastFrame=!1,e.scaled={width:0,height:0,radius:0,offset:new Xt},e}return e(i,t),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(),Xt.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===Ut.Rectangle&&(this.pressed=Kt(this.mouse.positionInViewport.x,this.position.x-this.scaled.width/2,this.position.x+this.scaled.width/2)&&Kt(this.mouse.positionInViewport.y,this.position.y-this.scaled.height/2,this.position.y+this.scaled.height/2))},i.prototype.resolveMouseAndCircumference=function(){this.type===Ut.Circumference&&(Xt.subtract(this.distance,this.position,this.mouse.positionInViewport),this.pressed=this.distance.magnitude<=this.scaled.radius)},i.prototype.resolveTouchAndRectangle=function(){if(this.type===Ut.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===Ut.Circumference)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;Xt.subtract(this.distance,this.position,n),this.pressed=this.distance.magnitude<=this.scaled.radius+Math.max(r.x,r.y)}},i}(u),Se=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.mousePressed=!1,e.position=new Xt,e}return e(i,t),i.prototype.start=function(){this.camera=this.getCurrentScene().gameCamera},i.prototype.update=function(){this.inputManager.mouse.leftButtonPressed&&!1===this.mousePressed&&(Xt.round(this.position,Xt.add(this.position,this.camera.transform.position,Xt.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}(ne);export{Ce as Animator,Pe as AudioPlayer,ue as BallCollider,le as BoxCollider,Ae as Button,Ut as ButtonType,oe as Camera,l as Component,ge as EdgeCollider,Jt as Game,se as GameCamera,ne as GameObject,ie as LAYER_DEFAULT,xe as MaskRenderer,I as MaskShape,d as PhysicsComponent,he as PolygonCollider,ce as PolygonColliderRenderer,g as PreRenderComponent,ee as RigidBody,vt as RigidBodyType,ae as Scene,Se as SpacePointer,Re as Sprite,ye as SpriteRenderer,G as TextOrientation,ve as TextRenderer,_e as TiledTilemapRenderer,de as TilemapCollider,we as TilemapRenderer,Zt as Transform,Me as VideoRenderer};\n//# sourceMappingURL=index.esm.js.map\n","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,n){return t.set(e.x+n.x,e.y+n.y),t},t.subtract=function(t,e,n){return t.set(e.x-n.x,e.y-n.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,n){return t.set(e.x*n,e.y*n),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 e(e,n,i,r){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(e,n,i,r)}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,n,i){this._position.set(t,e),this._width=n,this._height=i},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(n){return n instanceof e?n.x1<=this.x1&&n.x>=this.x&&n.y1<=this.y1&&n.y>=this.y:n instanceof t&&!(n.x<this.x||n.y<this.y||n.x>=this.x1||n.y>=this.y1)}}(),function(){function e(e,n){void 0===e&&(e=null),void 0===n&&(n=null),this._degrees=0,this._radians=0,this._direction=new t,e?this.radians=e:n&&(this.degrees=n)}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))}}();var e=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 n),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 n=e[t];null!==n&&(!1===this.gamepads.has(n.index)?this.gamepadConnected(n):this.gamepads.get(n.index).updateFromGamepad(n))}},t.prototype.getGamepadsFromBrowser=function(){return navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[]},t}(),n=function(){function e(){this.buttons=new Map,this.axes=new Map,this._dpadAxes=new t,this._leftStickAxes=new t,this._rightStickAxes=new t,this._vibrating=!1}return e.prototype.updateFromGamepad=function(t){var e=this;this._gamepad=t,t.buttons.forEach((function(t,n){return e.buttons.set(n,t.pressed)})),t.axes.forEach((function(t,n){return e.axes.set(n,t)}))},Object.defineProperty(e.prototype,\"id\",{get:function(){return this._gamepad.id},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"connected\",{get:function(){return this._gamepad.connected},enumerable:!1,configurable:!0}),e.prototype.getButtonPressed=function(t){return this.buttons.get(t)},e.prototype.getAxis=function(t){return this.axes.get(t)},Object.defineProperty(e.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(e.prototype,\"leftStickAxes\",{get:function(){return this._leftStickAxes.set(this.leftStickHorizontal,this.leftStickVertical),this._leftStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickAxes\",{get:function(){return this._rightStickAxes.set(this.rightStickHorizontal,this.rightStickVertical),this._rightStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadUp\",{get:function(){var t;return null!==(t=this.buttons.get(12))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadDown\",{get:function(){var t;return null!==(t=this.buttons.get(13))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadLeft\",{get:function(){var t;return null!==(t=this.buttons.get(14))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadRight\",{get:function(){var t;return null!==(t=this.buttons.get(15))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"bottomFace\",{get:function(){var t;return null!==(t=this.buttons.get(0))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightFace\",{get:function(){var t;return null!==(t=this.buttons.get(1))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftFace\",{get:function(){var t;return null!==(t=this.buttons.get(2))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"topFace\",{get:function(){var t;return null!==(t=this.buttons.get(3))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(4))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(5))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(6))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(7))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"back\",{get:function(){var t;return null!==(t=this.buttons.get(8))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"start\",{get:function(){var t;return null!==(t=this.buttons.get(9))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(10))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(11))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(0))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(1))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(2))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(3))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.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(e.prototype,\"vibrating\",{get:function(){return this._vibrating},enumerable:!1,configurable:!0}),e.prototype.vibrate=function(t,e,n,i){var r=this;void 0===t&&(t=200),void 0===e&&(e=.2),void 0===n&&(n=.2),void 0===i&&(i=0),this._gamepad.vibrationActuator&&(this._vibrating=!0,this._gamepad.vibrationActuator.playEffect(this._gamepad.vibrationActuator.type,{duration:t,weakMagnitude:e,strongMagnitude:n,startDelay:i}).catch((function(){return r._vibrating=!1})).finally((function(){return r._vibrating=!1})))},e}(),i=function(){function t(t,e,n,i){this.mouse=t,this.keyboard=e,this.gamepad=n,this.touch=i}return t.prototype.update=function(){this.mouse.update(),this.gamepad.update()},t}(),r=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 n=e.pressedKeys.indexOf(t.code);-1!==n&&e.pressedKeys.splice(n,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,n){var i;return t||null!==(i=e.keyMap.get(n))&&void 0!==i&&i}),!1)},t.prototype.andPressed=function(t){var e=this;return t.reduce((function(t,n){var i;return t&&null!==(i=e.keyMap.get(n))&&void 0!==i&&i}),!0)},t.prototype.isPressedReturn=function(t,e,n){return this.keyMap.get(t)?e:n},t.prototype.orPressedReturn=function(t,e,n){var i=this;return t.reduce((function(t,e){var n;return t||null!==(n=i.keyMap.get(e))&&void 0!==n&&n}),!1)?e:n},t.prototype.andPressedReturn=function(t,e,n){var i=this;return t.reduce((function(t,e){var n;return t&&null!==(n=i.keyMap.get(e))&&void 0!==n&&n}),!0)?e:n},t}(),o=function(){function e(e){this._leftButtonPressed=!1,this._scrollButtonPressed=!1,this._rightButtonPressed=!1,this._positionInViewport=new t,this._hasMoved=!1,this._wheelScroll=new t,this.lastPositionInViewport=new t,this.canvas=e,this.setup()}return Object.defineProperty(e.prototype,\"leftButtonPressed\",{get:function(){return this._leftButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scrollButtonPressed\",{get:function(){return this._scrollButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightButtonPressed\",{get:function(){return this._rightButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"positionInViewport\",{get:function(){return this._positionInViewport},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hasMoved\",{get:function(){return this._hasMoved},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"wheelScroll\",{get:function(){return this._wheelScroll},enumerable:!1,configurable:!0}),e.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)},e.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)}))},e.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},e.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},e.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)},e.prototype.handleWheelEvent=function(t){t.preventDefault(),t.stopPropagation(),this.wheelEvent=t},e}(),s=function(){function e(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(e.prototype,\"touching\",{get:function(){return this._touching},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"interactions\",{get:function(){return this._interactions},enumerable:!1,configurable:!0}),e.prototype.updatePosition=function(e){if(e.preventDefault(),e.stopPropagation(),this._interactions=[],0!==e.targetTouches.length)for(var n=0;n<e.targetTouches.length;n++)this._interactions[n]={positionInViewport:new t((e.targetTouches[n].clientX-this.canvas.offsetLeft)/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-(e.targetTouches[n].clientY-this.canvas.offsetTop)/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2),radius:new t(e.targetTouches[n].radiusX,e.targetTouches[n].radiusY)}},e}(),u=function(t){return new i(new o(t),new r(t),new e,new s(t))};export{e as GamepadController,n as GamepadData,r as KeyboardController,o as MouseController,s as TouchController,u as inputManagerFactory};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(){function t(t,i){void 0===t&&(t=0),void 0===i&&(i=0),this._x=t,this._y=i}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,i){this._x=t,this._y=i},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,i,e){return t.set(i.x+e.x,i.y+e.y),t},t.subtract=function(t,i,e){return t.set(i.x-e.x,i.y-e.y),t},t.unit=function(t,i){return 0===i.magnitude?t.set(0,0):t.set(i.x/i.magnitude,i.y/i.magnitude),t},t.normal=function(t,i){return t.set(-i.y,i.x),this.unit(t,t)},t.scale=function(t,i,e){return t.set(i.x*e,i.y*e),t},t.dot=function(t,i){return t.x*i.x+t.y*i.y},t.cross=function(t,i){return t.x*i.y-t.y*i.x},t.round=function(t,i){return t.set(Math.round(i.x),Math.round(i.y)),t},t}(),i=function(){function i(i,e,o,n){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(i,e,o,n)}return Object.defineProperty(i.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),i.prototype.set=function(t,i,e,o){this._position.set(t,i),this._width=e,this._height=o},i.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},i.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},i.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},i.prototype.contains=function(e){return e instanceof i?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof t&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},i}(),e=function(t,i,e){return Math.min(e,Math.max(i,t))};!function(){function i(i,e){void 0===i&&(i=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new t,i?this.radians=i:e&&(this.degrees=e)}Object.defineProperty(i.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(i.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(i.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),i.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var o,n=function(){function i(){}return i.prototype.create=function(i){var e=i.shape,o=i.layer,n=i.updateCollisions,s=i.physics,r=i.position,h=i.rotation,a=i.group,c=i.onCollision;return{id:0,active:!0,layer:o,shape:e,updateCollisions:n,physics:s,position:null!=r?r:new t,rotation:null!=h?h:0,group:a,onCollision:c}},i}(),s=function(){function t(t,e){void 0===e&&(e=0),this.area=new i(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,i){0===this.children.length&&this.items.length>16&&this.depth<8&&this.split(),this.children.length>0?this.insertItemIntoChildren(t,i):this.items.push([t,i])},t.prototype.split=function(){var e=this,o=this.area.width/2,n=this.area.height/2;this.children=[new i(this.area.x,this.area.y,o,n),new i(this.area.x,this.area.y+n,o,n),new i(this.area.x+o,this.area.y+n,o,n),new i(this.area.x+o,this.area.y,o,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,i){this.getChildrenForArea(i).forEach((function(e){return e.insert(t,i)}))},t.prototype.retrieve=function(t){var i=[];return this.children.length>0?this.getChildrenForArea(t).forEach((function(e){return i.push.apply(i,e.retrieve(t))})):this.items.forEach((function(t){return i.push(t[0])})),i},t.prototype.getChildrenForArea=function(t){var i=[];return t.x<=this.area.center.x&&t.y<=this.area.center.y&&i.push(this.children[0]),t.x<=this.area.center.x&&t.y1>=this.area.center.y&&i.push(this.children[1]),t.x1>=this.area.center.x&&t.y1>=this.area.center.y&&i.push(this.children[2]),t.x1>=this.area.center.x&&t.y<=this.area.center.y&&i.push(this.children[3]),i},t}(),r=function(t,i,e,o){return Math.min((t-i)/e|0,o-1)},h=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=e(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 i=0;i<this._subdivisions;i++){this.itemsInCells[i]=[];for(var e=0;e<this._subdivisions;e++)this.itemsInCells[i][e]=[]}},t.prototype.clear=function(){for(var t=0;t<this._subdivisions;t++)for(var i=0;i<this._subdivisions;i++)this.itemsInCells[t][i]=[]},t.prototype.insert=function(t,i){this.updateCoordinates(i);for(var e=this.coordinates.x0;e<=this.coordinates.x1;e++)for(var o=this.coordinates.y0;o<=this.coordinates.y1;o++)this.itemsInCells[e][o].push(t)},t.prototype.retrieve=function(t){var i=[];this.updateCoordinates(t);for(var e=this.coordinates.x0;e<=this.coordinates.x1;e++)for(var o=this.coordinates.y0;o<=this.coordinates.y1;o++)this.itemsInCells[e][o].forEach((function(t){return i.includes(t)?null:i.push(t)}));return i},t.prototype.updateCoordinates=function(t){this.coordinates.x0=r(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=r(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=r(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=r(t.y1,this.area.y,this.cellHeight,this._subdivisions)},t}();!function(t){t[t.QuadTree=0]=\"QuadTree\",t[t.SpartialGrid=1]=\"SpartialGrid\"}(o||(o={}));var a,c=function(){function e(e,n,s,r){this.collisions=[],this.lastCollidersAmount=0,this.minArea=new t,this.maxArea=new t,this.newArea=new i(0,0,0,0),this.method=e,this.colliders=[],this.activeColliders=[],this.collisionMatrix=r,this.setupBroadPhaseResolver(null!=n?n:o.QuadTree,s)}return e.prototype.setupBroadPhaseResolver=function(t,e){this.collisionArea=null!=e?e:new i(0,0,0,0),this.fixedCollisionArea=!!e,t===o.SpartialGrid?this.broadPhaseResolver=new h(this.collisionArea):this.broadPhaseResolver=new s(this.collisionArea)},e.prototype.addCollider=function(t){t.id=this.colliders.length,this.colliders.push(t)},e.prototype.getCollider=function(t){return this.colliders[t]},e.prototype.removeCollider=function(t){this.colliders.splice(t.id,1),this.colliders.forEach((function(t,i){return t.id=i}))},e.prototype.clearColliders=function(){this.colliders=[]},e.prototype.getCollisionsForCollider=function(t){return t.active?this.collisions.filter((function(i){return i.localCollider.id===t.id})):[]},e.prototype.getCollisionsForColliderAndLayer=function(t,i){return t.active?this.collisions.filter((function(e){return e.localCollider.id===t.id&&e.remoteCollider.layer===i})):[]},e.prototype.refreshCollisionsForCollider=function(t){this.colliders[t.id]&&t.active&&(this.collisions=this.collisions.filter((function(i){return i.localCollider.id!==t.id&&i.remoteCollider.id!==t.id})),this.updateShape(t),this.narrowPhase(t,this.broadPhase(t)))},e.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(i){t.updateShape(i)})),!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(i){var e=i.id,o=i.shape.boundingBox;return t.broadPhaseResolver.insert(e,o)})),this.updateCollisions())},e.prototype.updateShape=function(t){t.shape.position=t.position,t.shape.rotation=t.rotation,t.shape.update()},e.prototype.updateNewArea=function(){var t=this;this.activeColliders.forEach((function(i){var e=i.shape.boundingBox;t.minArea.set(Math.min(e.x,t.minArea.x),Math.min(e.y,t.minArea.y)),t.maxArea.set(Math.max(e.x1,t.maxArea.x),Math.max(e.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)},e.prototype.checkForSpartialGridResize=function(){this.broadPhaseResolver instanceof h&&this.lastCollidersAmount!==this.activeColliders.length&&(this.broadPhaseResolver.subdivisions=1+(this.activeColliders.length/10|0),this.broadPhaseResolver.resize(this.collisionArea),this.lastCollidersAmount=this.activeColliders.length)},e.prototype.updateCollisions=function(){var t=this;this.activeColliders.filter((function(t){return t.updateCollisions})).forEach((function(i){return t.narrowPhase(i,t.broadPhase(i))}))},e.prototype.broadPhase=function(t){var i=this;return this.collisionMatrix?this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return i.colliders[t]})).filter((function(t){return t.active})).filter((function(e){return i.collisionMatrix.some((function(i){return i[0]===t.layer&&i[1]===e.layer||i[1]===t.layer&&i[0]===e.layer}))})):this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return i.colliders[t]})).filter((function(t){return t.active}))},e.prototype.narrowPhase=function(t,i){var e=this;i.filter((function(i){return!(t.group&&i.group&&i.group===t.group||t.id===i.id)})).forEach((function(i){if(!e.isResolved(t,i)){var o=e.method.getCollisionResolution(t.shape,i.shape);null!==o&&(e.collisions.push({localCollider:t,remoteCollider:i,resolution:o},{localCollider:i,remoteCollider:t,resolution:{direction:o.displacementDirection,displacementDirection:o.direction,penetration:o.penetration}}),t.onCollision&&t.onCollision(o))}}))},e.prototype.isResolved=function(t,i){for(var e=0,o=this.collisions;e<o.length;e++){var n=o[e];if(n.localCollider.id===t.id&&n.remoteCollider.id===i.id)return!0}return!1},e}();!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(a||(a={}));var l,u=function(){function t(t,i,e){this.AABBResolver=t,this.circumferenceAABBResolver=i,this.circumferenceResolver=e}return t.prototype.getCollisionResolution=function(t,i){return t.type===a.Polygon&&i.type===a.Polygon?this.AABBResolver.resolve(t,i):t.type===a.Circumference&&i.type===a.Polygon?this.circumferenceAABBResolver.resolve(t,i):t.type===a.Polygon&&i.type===a.Circumference?this.circumferenceAABBResolver.resolve(i,t,!0):t.type===a.Circumference&&i.type===a.Circumference?this.circumferenceResolver.resolve(t,i):null},t}();!function(t){t[t.AABB=0]=\"AABB\",t[t.SAT=1]=\"SAT\"}(l||(l={}));var p=function(){function t(t,i){this.circumferenceResolver=t,this.satResolver=i}return t.prototype.getCollisionResolution=function(t,i){return t.type===a.Circumference&&i.type===a.Circumference?this.circumferenceResolver.resolve(t,i):this.satResolver.resolve(t,i)},t}(),d=function(){function i(){this.direction=new t,this.displacementDirection=new t}return i.prototype.resolve=function(i,e){var o=i.boundingBox,n=e.boundingBox;return this.overlapX=Math.min(o.x1,n.x1)-Math.max(o.x,n.x),this.overlapY=Math.min(o.y1,n.y1)-Math.max(o.y,n.y),this.overlapX<0||this.overlapY<0?null:(this.checkOverlapForLines(o,n),this.direction.set(Math.sign(n.center.x-o.center.x),Math.sign(n.center.y-o.center.y)),this.preventContainment(o,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)),t.unit(this.displacementDirection,this.displacementDirection),{direction:t.scale(new t,this.displacementDirection,-1),displacementDirection:this.displacementDirection.clone(),penetration:this.minOverlap})},i.prototype.checkOverlapForLines=function(t,i){0!==t.width&&0!==i.width||0!==this.overlapX||(this.overlapX=Math.min(Math.abs(t.x-i.x),Math.abs(t.x1-i.x1))),0!==t.height&&0!==i.height||0!==this.overlapY||(this.overlapY=Math.min(Math.abs(t.y-i.y),Math.abs(t.y1-i.y1)))},i.prototype.preventContainment=function(t,i){if(this.overlapY>0&&(t.y1>i.y1&&t.y<i.y||t.y1<i.y1&&t.y>i.y)){var e=Math.abs(t.y-i.y),o=Math.abs(t.y1-i.y1);this.overlapY+=e<o?e:o}if(this.overlapX>0&&(t.x1>i.x1&&t.x<i.x||t.x1<i.x1&&t.x>i.x)){e=Math.abs(t.x-i.x),o=Math.abs(t.x1-i.x1);this.overlapX+=e<o?e:o}},i}(),f=function(){function i(){this.closestPoint=new t,this.distance=new t,this.direction=new t}return i.prototype.resolve=function(i,o,n){return void 0===n&&(n=!1),this.closestPoint.set(e(i.position.x,o.boundingBox.x,o.boundingBox.x1),e(i.position.y,o.boundingBox.y,o.boundingBox.y1)),t.subtract(this.distance,this.closestPoint,i.position),this.distance.magnitude>i.radius?null:(t.unit(this.direction,this.distance),{direction:n?t.scale(new t,this.direction,-1):this.direction.clone(),displacementDirection:n?this.direction.clone():t.scale(new t,this.direction,-1),penetration:i.radius-this.distance.magnitude})},i}(),y=function(){function i(){this.distance=new t,this.direction=new t}return i.prototype.resolve=function(i,e){return t.subtract(this.distance,e.position,i.position),this.distance.magnitude>i.radius+e.radius?null:(t.unit(this.direction,this.distance),{direction:this.direction.clone(),displacementDirection:t.scale(new t,this.direction,-1),penetration:i.radius+e.radius-this.distance.magnitude})},i}(),x=function(t,i){return x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])},x(t,i)};function v(t,i,e){if(e||2===arguments.length)for(var o,n=0,s=i.length;n<s;n++)!o&&n in i||(o||(o=Array.prototype.slice.call(i,0,n)),o[n]=i[n]);return t.concat(o||Array.prototype.slice.call(i))}\"function\"==typeof SuppressedError&&SuppressedError;var m,g=function(){function i(){this.projA={min:0,max:0},this.projB={min:0,max:0},this.smallestAxis=new t,this.distance=new t(1/0,1/0),this.cache=new t}return i.prototype.resolve=function(i,e){var o=this;this.minOverlap=1/0,i.type===a.Circumference?this.setCircumferenceAxis(i,e):e.type===a.Circumference&&this.setCircumferenceAxis(e,i),this.axes=v([],i.projectionAxes,!0),e.projectionAxes.forEach((function(t){return o.axes.some((function(i){return i.equals(t)}))?null:o.axes.push(t)}));for(var n=0;n<this.axes.length;n++){if(i.type===a.Circumference?this.setCircumferenceVertices(i,this.axes[n]):e.type===a.Circumference&&this.setCircumferenceVertices(e,this.axes[n]),this.projectShapeOntoAxis(this.projA,i,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 s=Math.abs(this.projA.min-this.projB.min),r=Math.abs(this.projA.max-this.projB.max);s<r?this.currentOverlap+=s:(this.currentOverlap+=r,t.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&&t.scale(this.smallestAxis,this.axes[n],-1))}return{direction:t.scale(new t,this.smallestAxis,-1),displacementDirection:this.smallestAxis.clone(),penetration:this.minOverlap}},i.prototype.projectShapeOntoAxis=function(i,e,o){return i.min=1/0,i.max=-1/0,e.vertices.forEach((function(e){i.min=Math.min(t.dot(o,e),i.min),i.max=Math.max(t.dot(o,e),i.max)})),i},i.prototype.setCircumferenceAxis=function(i,e){var o=this;this.distance.set(1/0,1/0),e.vertices.forEach((function(e){t.subtract(o.cache,e,i.position),o.cache.magnitude<o.distance.magnitude&&o.distance.copy(o.cache)})),t.unit(i.projectionAxes[0],this.distance)},i.prototype.setCircumferenceVertices=function(i,e){t.add(i.vertices[0],i.position,t.scale(this.cache,t.unit(this.cache,e),-i.radius)),t.add(i.vertices[1],i.position,t.scale(this.cache,t.unit(this.cache,e),i.radius))},i}(),b=function(){function t(t,i,e,o){this.collisionManager=t,this.colliderFactory=i,this.rigidBodyManager=e,this.rigidBodyFactory=o}return t.prototype.addCollider=function(t){var i=this.colliderFactory.create(t);return this.collisionManager.addCollider(i),i},t.prototype.removeCollider=function(t){this.collisionManager.removeCollider(t)},t.prototype.getCollisionsForCollider=function(t){return this.collisionManager.getCollisionsForCollider(t)},t.prototype.getCollisionsForColliderAndLayer=function(t,i){return this.collisionManager.getCollisionsForColliderAndLayer(t,i)},t.prototype.addRigidBody=function(t){var i=this.rigidBodyFactory.create(t);return this.rigidBodyManager.addRigidBody(i),i},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}(),M=function(){function i(){}return i.prototype.create=function(i){var e=i.colliderIds,o=i.type,n=i.gravity,s=i.position,r=i.velocity,h=i.onResolve;if(0===e.length)throw new Error(\"RigidBody needs at least one collider\");return{active:!0,colliderIds:e,type:o,gravity:null!=n?n:0,position:null!=s?s:new t,velocity:null!=r?r:new t,onResolve:h}},i}();!function(t){t[t.Static=0]=\"Static\",t[t.Dynamic=1]=\"Dynamic\",t[t.Kinematic=2]=\"Kinematic\"}(m||(m={}));var A=[\"x\",\"y\"],C=function(){function i(i){this.collisionManager=i,this.rigidBodies=[],this.activeRigidBodies=[],this.colliders=[],this.velocity=new t,this.displacement=new t,this.cacheDisplacement=0}return i.prototype.addRigidBody=function(t){this.rigidBodies.push(t)},i.prototype.removeRigidBody=function(t){var i=this.rigidBodies.indexOf(t);i>=0&&this.rigidBodies.splice(i,1)},i.prototype.clearRigidBodies=function(){this.rigidBodies=[]},i.prototype.resolve=function(t){var i=this;this.activeRigidBodies=this.rigidBodies.filter((function(t){return t.active})),this.colliders=this.activeRigidBodies.reduce((function(t,i){return v(v([],t,!0),i.colliderIds,!0)}),[]),this.activeRigidBodies.forEach((function(e){e.type===m.Dynamic?i.dynamicUpdate(e,t):e.type===m.Kinematic&&i.kinematicUpdate(e,t),e.onResolve&&e.onResolve(e)}))},i.prototype.dynamicUpdate=function(t,i){var e=this;this.applyGravity(t,i),A.forEach((function(o){e.applyVelocity(t,i,o),e.obtainDisplacement(t,o),e.applyReposition(t,o)}))},i.prototype.kinematicUpdate=function(i,e){var o=this;t.add(i.position,i.position,t.scale(this.velocity,i.velocity,e)),i.colliderIds.map((function(t){return o.collisionManager.getCollider(t)})).forEach((function(i){t.add(i.position,i.position,o.velocity),o.collisionManager.refreshCollisionsForCollider(i)}))},i.prototype.applyGravity=function(t,i){t.gravity>0&&(t.velocity.y-=t.gravity*i)},i.prototype.applyVelocity=function(t,i,e){var o=this;this.velocity[e]=t.velocity[e]*i,0!==this.velocity[e]&&(t.position[e]+=this.velocity[e],t.colliderIds.map((function(t){return o.collisionManager.getCollider(t)})).forEach((function(t){t.position[e]+=o.velocity[e],o.collisionManager.refreshCollisionsForCollider(t)})))},i.prototype.obtainDisplacement=function(t,i){var e=this;this.displacement[i]=0,this.getCollisions(t).forEach((function(t){e.cacheDisplacement=t.resolution.displacementDirection[i]*t.resolution.penetration,e.displacement[i]=Math.abs(e.displacement[i])>Math.abs(e.cacheDisplacement)?e.displacement[i]:e.cacheDisplacement}))},i.prototype.applyReposition=function(t,i){var e=this;0!==this.displacement[i]&&(t.position[i]+=this.displacement[i],t.colliderIds.map((function(t){return e.collisionManager.getCollider(t)})).forEach((function(t){t.position[i]+=e.displacement[i],e.collisionManager.refreshCollisionsForCollider(t)})),Math.sign(this.displacement[i])!==Math.sign(t.velocity[i])&&(t.velocity[i]=0))},i.prototype.getCollisions=function(t){var i=this;return t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).filter((function(t){return t.active&&t.physics})).reduce((function(t,e){return t.push.apply(t,i.collisionManager.getCollisionsForCollider(e).filter((function(t){return t.remoteCollider.physics&&i.colliders.includes(t.remoteCollider.id)}))),t}),[])},i}(),_=function(){function e(e){this.radius=e,this.type=a.Circumference,this.boundingBox=new i(0,0,0,0),this.vertices=[new t,new t],this.projectionAxes=[new t],this._position=new t}return Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),e.prototype.update=function(){this.updateBoundingBox()},e.prototype.updateBoundingBox=function(){this.boundingBox.set(this.position.x-this.radius,this.position.y-this.radius,2*this.radius,2*this.radius)},e}(),w=function(){function e(e){this.vertexModel=e,this.type=a.Polygon,this.vertices=[new t,new t],this.projectionAxes=[new t],this.boundingBox=new i(0,0,0,0),this.rotation=0,this._position=new t}return e.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),e.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)},e.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},e.prototype.updateProjectionAxes=function(){t.normal(this.projectionAxes[0],t.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0]))},e}(),B=function(){function e(e){this.vertexModel=e,this.type=a.Polygon,this.vertices=[],this.boundingBox=new i(0,0,0,0),this.rotation=0,this._projectionAxes=[],this._position=new t,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 o=0;o<this.vertexModel.length;o++)this.vertices.push(new t),this._projectionAxes.push(new t)}return Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"projectionAxes\",{get:function(){return this._projectionAxes},enumerable:!1,configurable:!0}),e.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},e.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)},e.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(i){t.boxMinX=Math.min(i.x,t.boxMinX),t.boxMinY=Math.min(i.y,t.boxMinY),t.boxMaxX=Math.max(i.x,t.boxMaxX),t.boxMaxY=Math.max(i.y,t.boxMaxY)})),this.boundingBox.set(this.boxMinX,this.boxMinY,this.boxMaxX-this.boxMinX,this.boxMaxY-this.boxMinY)},e.prototype.updateProjectionAxes=function(){for(var i,e=0;e<this.vertices.length;e++)t.normal(this._projectionAxes[e],t.subtract(this._projectionAxes[e],null!==(i=this.vertices[e+1])&&void 0!==i?i:this.vertices[0],this.vertices[e]))},e}(),j=function(i){function e(e,o){var n=i.call(this,[new t(-e/2,-o/2),new t(-e/2,o/2),new t(e/2,o/2),new t(e/2,-o/2)])||this;return n.width=e,n.height=o,n._projectionAxes=[new t,new t],n}return function(t,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Class extends value \"+String(i)+\" is not a constructor or null\");function e(){this.constructor=t}x(t,i),t.prototype=null===i?Object.create(i):(e.prototype=i.prototype,new e)}(e,i),e.prototype.updateSize=function(t,i){this.width=t,this.height=i,this.vertexModel[0].set(-t/2,-i/2),this.vertexModel[1].set(-t/2,i/2),this.vertexModel[2].set(t/2,i/2),this.vertexModel[3].set(t/2,-i/2)},e.prototype.updateProjectionAxes=function(){t.unit(this.projectionAxes[0],t.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0])),t.normal(this.projectionAxes[1],this.projectionAxes[0])},e}(B),P=function(t){var i=void 0===t?{}:t,e=i.collisionArea,o=i.collisionMatrix,s=i.collisionMethod,r=i.collisionBroadPhaseMethod,h=new y,a=s===l.AABB?new u(new d,new f,h):new p(h,new g),x=new c(a,r,e,o),v=new n,m=new C(x),A=new M;return new b(x,v,m,A)};export{o as BroadPhaseMethods,_ as Circumference,l as CollisionMethods,w as Line,B as Polygon,j as Rectangle,m as RigidBodyType,P as physicsManagerFactory};\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","o","_position","_center","_width","_height","width","height","position","overlaps","x1","y1","contains","r","h","_degrees","_radians","radians","degrees","PI","updateDirection","cos","sin","setPrototypeOf","__proto__","Array","hasOwnProperty","call","TypeError","String","constructor","create","assign","arguments","length","apply","slice","concat","SuppressedError","Init","Start","Update","UpdateEngine","UpdateCollider","UpdatePhysics","UpdateTransform","UpdatePreRender","UpdateCamera","UpdateRender","Destroy","StopGame","s","a","timeManager","physicsManager","renderManager","inputManager","gameObjectManager","sceneManager","canvasColor","running","gameLoopAccumulator","gameObjects","components","changingScene","sceneEvents","gameObjectEvents","start","startLoop","pause","resume","stop","dispatchFrameEvent","clear","clearScreen","loadOpeningScene","requestAnimationLoop","window","performance","now","gameFramerate","physicsFramerate","asyncPhysicsLoop","updateForBrowser","pendingSceneToload","loadPendingScene","browserDeltaTime","minGameDeltatime","gameLogicIteration","renderIteration","unloadCurrentScene","requestAnimationFrame","updateForGame","load","update","updateForPhysics","physicsIteration","render","clearData","timeScale","resolve","physicsDeltaTime","physicsIntervalId","setInterval","clearInterval","document","hidden","loadedScene","getLoadedScene","findGameObjects","filter","active","forEach","getComponents","push","includes","dispatch","c","updateEvent","started","container","gameConfig","getConstant","headless","assetManager","getSingleton","domManager","init","onDestroy","_destroy","_stopGame","addGameObject","findGameObject","findGameObjectsByTag","destroyGameObject","l","allowMultiple","_active","gameObject","name","onActiveChange","getCurrentScene","getGameObject","getComponent","hasComponent","removeComponent","keys","u","p","d","f","g","m","Polygon","Circumference","Line","WorldSpace","ViewPort","Sprite","Text","Tilemap","Mask","Geometric","Video","v","gl","viewport","object","setViewport","zoom","canvas","setObjectForResizeable","rotation","abs","setObjectForText","text","fontSize","lineSeparation","letterSpacing","split","reduce","max","setObjectForGeometric","vertexModel","shape","radius","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","min","setObjectForTilemap","tilemap","ceil","tiles","renderPosition","tileWidth","tileHeight","applyCullingInTiles","culledTiles","map","isInViewPort","location","type","applyCulling","b","M","_","Center","RightUp","RightDown","RightCenter","w","C","webglManager","cullingManager","renderData","cameraData","addRenderData","addCameraData","sort","depth","renderByCamera","layers","layer","indexOf","realWidth","realHeight","orientation","clearCanvas","preloadTexture","createTexture","LegacyWebGL","WebGL2","j","contextVersion","getContextVersion","Error","getContext","O","fontAtlas","Map","hasFontAtlas","has","symbol","getFontAtlas","getOrCreate","bitmapSize","chars","fromCharCode","renderAtlas","FontFace","family","Symbol","for","P","clearRect","textBaseline","fillStyle","font","fillText","glyphs","id","measureText","fontFaceFamily","bitmapFontSize","gridSize","createElement","R","shaderLoader","createProgram","VERTEX_SHADER","FRAGMENT_SHADER","attachShader","linkProgram","LINK_STATUS","getProgramParameter","getProgramInfoLog","deleteProgram","A","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","S","createShader","shaderSource","compileShader","COMPILE_STATUS","getShaderParameter","getShaderInfoLog","deleteShader","E","Float32Array","T","D","F","B","U","hypot","I","L","exec","parseInt","V","k","programManager","vertices","lastVertices","projectionMatrix","modelMatrix","textureMatrix","circumferenceVertices","renderLines","LINE_LOOP","LINES","renderCircumference","generateVerticesKey","generatePolygonVertices","bufferData","DYNAMIC_DRAW","uniformMatrix4fv","uniform1i","color","uniform4f","uniform1f","drawArrays","toString","Rectangle","G","TextOrientation","W","rectangleVertices","lastShape","MaskShape","STATIC_DRAW","alpha","enable","BLEND","disable","TRIANGLES","TRIANGLE_FAN","H","textureManager","lastTexture","posVertices","texVertices","flipHorizontal","flipVertical","image","naturalWidth","naturalHeight","getOrCreateTextureFromImage","smooth","bindTexture","TEXTURE_2D","tintColor","maskColor","maskColorMix","z","N","Y","X","q","fontAtlasFactory","textSize","modelPosition","setDefaultValues","bitmap","charRanges","generateTextVertices","setPositionFromOrientation","getOrCreateTextureFromCanvas","margin","spacing","K","tileset","texMargin","texSpacing","texWidth","texHeight","texCorrection","processTileset","generateVertices","correction","floor","Q","video","videoWidth","videoHeight","getOrCreateTextureFromVideo","texImage2D","RGBA","UNSIGNED_BYTE","$","createFromImage","createFromSource","addEventListener","createFromCanvas","createPixelTexture","Uint8Array","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","NEAREST","J","textureFactory","textures","src","createTextureFromImage","createTextureFromCanvas","createTextureFromVideo","Z","renderers","lastRender","clearColor","COLOR_BUFFER_BIT","tt","et","it","nt","rt","updateCollisions","physics","group","onCollision","ot","area","items","children","resize","insert","insertItemIntoChildren","getChildrenForArea","retrieve","center","st","at","coordinates","x0","y0","_subdivisions","cellWidth","cellHeight","itemsInCells","updateCoordinates","QuadTree","SpartialGrid","ht","ct","collisions","lastCollidersAmount","minArea","maxArea","newArea","method","colliders","activeColliders","collisionMatrix","setupBroadPhaseResolver","collisionArea","fixedCollisionArea","broadPhaseResolver","addCollider","getCollider","removeCollider","splice","clearColliders","getCollisionsForCollider","localCollider","getCollisionsForColliderAndLayer","remoteCollider","refreshCollisionsForCollider","updateShape","narrowPhase","broadPhase","updateNewArea","checkForSpartialGridResize","boundingBox","subdivisions","some","isResolved","getCollisionResolution","resolution","direction","displacementDirection","penetration","lt","ut","AABBResolver","circumferenceAABBResolver","circumferenceResolver","AABB","SAT","pt","satResolver","dt","overlapX","overlapY","checkOverlapForLines","sign","preventContainment","minOverlap","ft","closestPoint","gt","mt","yt","vt","RigidBodyType","xt","projA","projB","smallestAxis","cache","setCircumferenceAxis","axes","projectionAxes","setCircumferenceVertices","projectShapeOntoAxis","currentOverlap","invertAxis","bt","collisionManager","colliderFactory","rigidBodyManager","rigidBodyFactory","addRigidBody","removeRigidBody","clearRigidBodies","Mt","colliderIds","gravity","velocity","onResolve","Static","Dynamic","Kinematic","_t","wt","rigidBodies","activeRigidBodies","displacement","cacheDisplacement","dynamicUpdate","kinematicUpdate","applyGravity","applyVelocity","obtainDisplacement","applyReposition","getCollisions","Ct","updateBoundingBox","jt","updateVertices","updateProjectionAxes","Ot","_projectionAxes","boxMinX","boxMinY","boxMaxX","boxMaxY","Pt","updateSize","Rt","At","St","gamepads","eventHandler","gamepadConnected","gamepad","gamepadDisconected","getGamepad","getGamepads","from","values","index","Et","updateFromGamepad","delete","getGamepadsFromBrowser","navigator","webkitGetGamepads","buttons","_dpadAxes","_leftStickAxes","_rightStickAxes","_vibrating","_gamepad","pressed","connected","getButtonPressed","getAxis","dpadRight","dpadLeft","dpadUp","dpadDown","leftStickHorizontal","leftStickVertical","rightStickHorizontal","rightStickVertical","find","vibrate","vibrationActuator","playEffect","duration","weakMagnitude","strongMagnitude","startDelay","catch","finally","Tt","mouse","keyboard","touch","Dt","pressedKeys","keyMap","code","isPressed","orPressed","andPressed","isPressedReturn","orPressedReturn","andPressedReturn","Ft","_leftButtonPressed","_scrollButtonPressed","_rightButtonPressed","_positionInViewport","_hasMoved","_wheelScroll","lastPositionInViewport","setup","wheelEvent","deltaX","deltaY","updatePosition","updateButtonDown","updateButtonUp","handleWheelEvent","focus","preventDefault","stopPropagation","button","offsetX","clientWidth","offsetY","clientHeight","Bt","_touching","_interactions","targetTouches","positionInViewport","clientX","offsetLeft","clientY","offsetTop","radiusX","radiusY","Image","Audio","Font","Ut","ButtonType","It","assets","getAssetsLoaded","loaded","loadImage","crossOrigin","createAsset","loadAudio","loadFont","then","fonts","loadVideo","playsInline","getImage","url","element","getAudio","getFont","getVideo","Lt","Vt","_canvas","containerNode","gameWidth","gameHeight","setupCanvas","tabIndex","appendChild","kt","lastId","findGameObjectById","findGameObjectsByParent","parent","findGameObjectByParent","tag","destroyAllGameObjects","keep","destroy","destroyChildren","Gt","asyncGameLoop","gameInterval","process","uptime","physicsInterval","Wt","scenes","sceneNamePendingToLoad","addScene","currentScene","openingSceneName","loadScene","Ht","zt","minPhysicsDeltaTime","unscaledDeltaTime","unscaledPhysicsDeltaTime","maxDeltaTime","thenForGame","thenForPhysics","thenForBrowser","join","parseFloat","toFixed","Yt","instances","constructors","constants","getTranscient","addConstant","Xt","qt","Kt","Qt","$t","debugEnabled","spriteDefaultScale","collisionMethod","collisionBroadPhaseMethod","Jt","_config","setupManagers","Nt","iterationManager","run","Zt","parentScale","parentRotation","_scale","_rotation","_innerPosition","_parent","lastParentRadians","lastPosition","scaledInnerPosition","setPositionFromParent","translateInnerPosition","updateScaledInnerPosition","atan2","te","renderer","activateColliders","updateRealSize","updateColliders","collidesWithLayer","collidesWithLayers","getCollisionWithLayer","createCollisionData","getCollisionsWithLayer","getCollisionsWithLayers","collider","ee","rigidBody","rigidBodyType","getColliderIds","transform","innerPosition","ne","ui","activeComponentsCache","activeChildrenCache","addComponent","updateComponentsActiveStatus","updateChildrenActiveStatus","getChildren","checkMultipleComponent","addChild","getChild","destroyComponents","re","oe","viewportRect","worldSpaceRect","_zoom","addLayer","updateViewportRect","updateWorldSpaceRect","updateCameraData","se","camera","ae","game","config","he","debug","scaledVertexModel","scaledOffset","scaledPosition","finalRotation","ce","translate","le","realOffset","realPosition","realRotation","applyRotation","ue","realRadius","pe","de","tilemapRenderer","composite","scaledTileWidth","scaledTileHeight","scaledWidth","scaledHeight","useLineColliders","useBoxColliders","fe","needsCollider","getNeighbors","hasTile","addLineCollider","ge","me","ye","cachePosition","cacheRenderPosition","cacheScale","sprite","offset","opacity","_tiled","tiled","updateRenderDataArray","updateRenderData","calculateRenderPosition","translateRenderPosition","ve","lastFrameText","bitmapMargin","bitmapSpacing","crop","xe","be","Me","_playing","_paused","videoEventHandler","removeEventListener","userInputEventHandler","play","_volume","volume","_loop","loop","currentTime","_e","infinite","tilesetTileIds","chunks","tiledData","tilemapLayer","tiledLayer","processTilemap","visible","tintcolor","processChunk","processFixedLayer","data","getTilesetTileId","tilesets","firstgid","we","trim","Ce","spriteRenderer","animations","currentAnimation","paused","playFrame","deltaTime","restarted","addAnimation","framerate","je","playAnimation","stopAnimation","reset","isPlayingAnimation","isPaused","_sprite","_restarted","currentFrame","frameTime","_animation","sprites","Oe","Pe","tracks","audioSourceCache","audioEventHandler","_audioSource","audioContext","AudioContext","state","playClip","addAudioSource","cloneNode","createMediaElementSource","connect","destination","loadAudioSource","close","Re","_loaded","Ae","touchEnabled","pressedLastFrame","scaled","leftButtonPressed","resolveMouseAndRectangle","resolveMouseAndCircumference","touching","resolveTouchAndRectangle","resolveTouchAndCircumference","onClick","onPressed","interactions","Se","mousePressed","gameCamera","console","log","BroadPhaseMethods","CollisionMethods","random"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.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","exports","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]}
|