diff --git a/client/package.json b/client/package.json index f8c9aab22..6a5a4fbeb 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "planarally-client", - "version": "0.13.0", + "version": "0.13.1", "description": "A companion tool for when you travel into the planes.", "scripts": { "serve": "vue-cli-service serve", diff --git a/server/VERSION b/server/VERSION index 51de3305b..ed0d9e990 100644 --- a/server/VERSION +++ b/server/VERSION @@ -1 +1 @@ -0.13.0 \ No newline at end of file +0.13.1 \ No newline at end of file diff --git a/server/static/css/app.9039cc9e.css b/server/static/css/app.20405678.css similarity index 83% rename from server/static/css/app.9039cc9e.css rename to server/static/css/app.20405678.css index c2719d770..2e3661fc7 100644 --- a/server/static/css/app.9039cc9e.css +++ b/server/static/css/app.20405678.css @@ -1 +1 @@ -@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css);@import url(https://fonts.googleapis.com/css?family=Open+Sans);#app,body,html{margin:0;padding:0;border:0;width:100%;height:100%;font-family:Open Sans,sans-serif;font-weight:200}#app{display:-webkit-box;display:-ms-flexbox;display:flex;background:url(/static/img/login_background.png) repeat fixed}.ContextMenu{position:fixed;z-index:11}.ContextMenu ul{border:1px solid #ff7052;border-radius:5px;background:#fff;padding:0;list-style:none;margin:0}.ContextMenu ul li{border-bottom:1px solid #ff7052;padding:5px;cursor:pointer}.ContextMenu ul li:hover{background-color:#ff7052}.ContextMenu ul li:last-child{border-bottom:none}.ContextMenu>ul>li{clear:left;position:relative}.ContextMenu>ul>li ul{display:none;position:absolute;left:100%;top:-1px}.ContextMenu>ul>li:hover ul{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.hide[data-v-12ed61ba]{display:none}.mask[data-v-12ed61ba]{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%}.dialog-mask[data-v-12ed61ba]{pointer-events:none}.modal-mask[data-v-12ed61ba]{background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.modal-container[data-v-12ed61ba]{pointer-events:auto;position:absolute;width:auto;height:auto;background-color:#fff;border-radius:2px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.33);box-shadow:0 2px 8px rgba(0,0,0,.33);font-family:Helvetica,Arial,sans-serif}.modal-enter[data-v-12ed61ba],.modal-leave-active[data-v-12ed61ba]{opacity:0}.modal-enter .modal-container[data-v-12ed61ba],.modal-leave-active .modal-container[data-v-12ed61ba]{-webkit-transform:scale(1.1);transform:scale(1.1)}.modal-header[data-v-1883e207]{background-color:#ff7052;padding:10px;font-size:20px;font-weight:700;cursor:move}.modal-body[data-v-1883e207]{padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}button[data-v-1883e207]:first-of-type{margin-right:10px}.modal-header[data-v-0602c2e6]{background-color:#ff7052;padding:10px;font-size:20px;font-weight:700;cursor:move}.modal-body[data-v-0602c2e6]{padding:10px;padding-bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.modal-footer[data-v-0602c2e6]{padding-top:0;padding:10px;text-align:right}[v-cloak],[v-cloak] *{display:none}body,html{padding:0;margin:0;width:100%;height:100%;background:url(/static/img/login_background.png) repeat fixed;font-family:Open Sans,sans-serif}#AssetManager{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#titlebar{padding:15px;margin:10px;font-size:30px;font-weight:700;background-color:#ff7052;color:#fff;text-align:center;border:1px solid #000;-webkit-box-shadow:2px 2px grey;box-shadow:2px 2px grey}#main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;height:100%}#asset-details,#assets{background-color:#fff;border:1px solid #000;margin:10px;position:relative;padding-top:45px;padding-bottom:45px;-webkit-box-shadow:3px 3px grey;box-shadow:3px 3px grey}#assets{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}#asset-details{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:15px;max-width:50%;overflow:scroll}#asset-details img{width:100%}#breadcrumbs{position:absolute;left:0;top:0;display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden;z-index:1;background-color:#ff7052;color:#fff;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:5px;border-bottom-right-radius:10px}#breadcrumbs>div{position:relative;padding:10px;padding-left:20px;text-align:center}#breadcrumbs>div:first-child{padding-left:10px}#breadcrumbs div:last-child:after{content:none}#breadcrumbs div:after{content:"";position:absolute;display:inline-block;width:30px;height:30px;top:3px;right:-10px;background-color:transparent;border-top-right-radius:5px;-webkit-transform:scale(.707) rotate(45deg);transform:scale(.707) rotate(45deg);-webkit-box-shadow:1px -1px rgba(0,0,0,.25);box-shadow:1px -1px rgba(0,0,0,.25);z-index:1}#actionbar{position:absolute;right:0;top:0;padding:8px;border-bottom-left-radius:10px;background-color:#ff7052;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff}#actionbar>div{margin:5px}#actionbar>div:hover{cursor:pointer}#explorer{position:relative;left:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));max-width:100%;max-height:100%;overflow:auto}.inode{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:15px}.inode-selected,.inode:hover{cursor:pointer;background-color:#ff7052}.inode *{pointer-events:none}.title{word-break:break-all}#asset-detail-title{font-weight:700;font-size:30px;border-bottom:2px solid #000;margin-bottom:15px;text-align:center}[data-v-6bbf3b79]{-ms-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;border:0}form[data-v-6bbf3b79]{position:relative;top:50%;width:250px;display:table;margin:-150px auto 0 auto;background:#fff;border-radius:4px}.legend[data-v-6bbf3b79]{position:relative;text-align:center;width:100%;display:block;background:#ff7052;padding:15px;color:#fff;font-size:20px}.legend[data-v-6bbf3b79]:after{content:"";opacity:.06;top:0;left:0;bottom:0;right:0;position:absolute}.input[data-v-6bbf3b79]{position:relative;width:90%;margin:15px auto}.input span[data-v-6bbf3b79]{position:absolute;display:block;color:#d4d4d4;left:10px;top:8px;font-size:20px}.input input[data-v-6bbf3b79]{width:100%;padding:10px 5px 10px 40px;display:block;border:1px solid #ededed;border-radius:4px;-webkit-transition:.2s ease-out;transition:.2s ease-out;color:#a1a1a1}.input input[data-v-6bbf3b79]:focus{padding:10px 5px 10px 10px;outline:0;border-color:#ff7052}.submit[data-v-6bbf3b79]{width:45px;height:45px;display:block;margin:0 auto -15px auto;background:#fff;border-radius:100%;border:1px solid #ff7052;color:#ff7052;font-size:24px;cursor:pointer;-webkit-box-shadow:0 0 0 7px #fff;box-shadow:0 0 0 7px #fff;-webkit-transition:.2s ease-out;transition:.2s ease-out}.submit[data-v-6bbf3b79]:focus,.submit[data-v-6bbf3b79]:hover{background:#ff7052;color:#fff;outline:0}.feedback[data-v-6bbf3b79]{position:absolute;bottom:-70px;width:100%;text-align:center;color:#fff;background:#c71585;padding:10px 0;font-size:12px}.feedback[data-v-6bbf3b79]:before{bottom:100%;left:50%;border:solid transparent;content:"";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(46,204,113,0);border-bottom-color:#c71585;border-width:10px;margin-left:-10px}[data-v-61eb1455]{-ms-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;border:0}a[data-v-61eb1455]{text-decoration:inherit;color:inherit;width:100%;display:block;text-align:center;border:1px solid #ff7052}a[data-v-61eb1455]:hover{background-color:#ff7052;color:#fff}a[data-v-61eb1455]:first-child{border-radius:10px 10px 0 0}a[data-v-61eb1455]:last-child{border-radius:0 0 10px 10px}a[data-v-61eb1455]:only-child{border-radius:10px}#formcontainer[data-v-61eb1455]{margin:auto}form[data-v-61eb1455]{background:#fff;border-radius:4px}.legend[data-v-61eb1455]{position:relative;text-align:center;width:100%;display:block;background:#ff7052;padding:15px;color:#fff;font-size:20px}.legend[data-v-61eb1455]:after{content:"";opacity:.06;top:0;left:0;bottom:0;right:0;position:absolute}#account-options[data-v-61eb1455]{display:-webkit-box;display:-ms-flexbox;display:flex;background:#fff;border-radius:4px;margin-top:50px;height:45px}#account-options form[data-v-61eb1455]{background:none;border-radius:0;width:50%}.input[data-v-61eb1455]{position:relative;width:90%;margin:15px auto}.input span[data-v-61eb1455]{position:absolute;display:block;color:#d4d4d4;left:10px;top:8px;font-size:20px}.input input[data-v-61eb1455]{width:100%;padding:10px 5px 10px 40px;display:block;border:1px solid #ededed;border-radius:4px;-webkit-transition:.2s ease-out;transition:.2s ease-out;color:#a1a1a1}.input input[data-v-61eb1455]:focus{outline:0;border-color:#ff7052}.submit[data-v-61eb1455]{width:45px;height:45px;display:block;margin:0 auto -15px auto;background:#fff;border-radius:100%;border:1px solid #ff7052;color:#ff7052;font-size:24px;cursor:pointer;-webkit-box-shadow:0 0 0 7px #fff;box-shadow:0 0 0 7px #fff;-webkit-transition:.2s ease-out;transition:.2s ease-out}.submit[data-v-61eb1455]:focus,.submit[data-v-61eb1455]:hover{background:#ff7052;color:#fff;outline:0}.feedback[data-v-61eb1455]{position:absolute;bottom:-70px;width:100%;text-align:center;color:#fff;background:#c71585;padding:10px 0;font-size:12px}.feedback[data-v-61eb1455]:before{bottom:100%;left:50%;border:solid transparent;content:"";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(46,204,113,0);border-bottom-color:#c71585;border-width:10px;margin-left:-10px}h4[data-v-61eb1455]{background-color:#fff;width:100%;text-align:center;border-bottom:1px solid #000;line-height:.1em}h4 span[data-v-61eb1455]{background:#fff;padding:0 10px}.modal-header[data-v-ccaf03d6]{background-color:#ff7052;padding:10px;font-size:20px;font-weight:700;cursor:move}.header-close[data-v-ccaf03d6]{position:absolute;top:5px;right:5px}.modal-body[data-v-ccaf03d6]{padding:10px}#initiative-list[data-v-ccaf03d6]{padding:0;-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}#initiative-list[data-v-ccaf03d6],.initiative-actor[data-v-ccaf03d6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-direction:normal}.initiative-actor[data-v-ccaf03d6]{-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:2px 5px;margin-bottom:2px;border-radius:5px;border:2px solid transparent}.initiative-selected[data-v-ccaf03d6]{border:2px solid #82c8a0;background-color:#82c8a0}.initiative-actor:hover+.initiative-effect[data-v-ccaf03d6],.initiative-effect[data-v-ccaf03d6]:hover,.initiative-selected+.initiative-effect[data-v-ccaf03d6]{display:-webkit-box;display:-ms-flexbox;display:flex;border-color:rgba(130,200,160,.6);background-color:rgba(130,200,160,.6)}.initiative-actor[data-v-ccaf03d6]:hover{border:2px solid #82c8a0}.initiative-actor>[data-v-ccaf03d6]{width:30px;margin-left:2px}.initiative-effect[data-v-ccaf03d6]{display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:-moz-fit-content;width:-webkit-fit-content;width:fit-content;margin-right:5px;margin-top:-2px;margin-bottom:5px;padding:2px;border:2px solid transparent;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-top:none}.initiative-effect>[data-v-ccaf03d6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.initiative-effect>*>[data-v-ccaf03d6]{border:none;background-color:inherit;text-align:right;margin-left:20px;min-width:10px}.initiative-effect>*>[data-v-ccaf03d6]:first-child{margin-left:0}#initiative-bar[data-v-ccaf03d6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:10px;margin-left:10px;margin-top:10px;margin-bottom:-10px;padding:2px}.initiative-bar-button[data-v-ccaf03d6]{border:2px solid #82c8a0;border-radius:5px;padding:5px}.initiative-bar-button[data-v-ccaf03d6]:hover{color:#fff;background-color:#82c8a0;cursor:pointer}.outer[data-v-b4f2c0b0]{padding:5px;border:1px solid #000;border-radius:3px;cursor:pointer}.current-color[data-v-b4f2c0b0]{width:13px;height:13px;background-color:#000;border:1px solid #000}.mask[data-v-b4f2c0b0]{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%}.preview[data-v-62c91cd3]{position:fixed;z-index:50;left:200px;top:0}.asset-preview-image[data-v-62c91cd3]{width:100%;max-width:250px}.draggable[data-v-62c91cd3]{list-style:none;font-family:helvetica}.token[data-v-62c91cd3]{padding-top:5px;padding-bottom:5px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.token img[data-v-62c91cd3]{margin-right:5px}.token svg[data-v-62c91cd3]{margin-left:auto}.folder>[data-v-62c91cd3]{display:none}.directory>.file[data-v-62c91cd3],.directory>.folder[data-v-62c91cd3]{display:block}.folder[data-v-62c91cd3]:hover{font-weight:700;cursor:pointer}.folder:hover>[data-v-62c91cd3]{font-weight:400}.folder>[data-v-081515c4]{display:none}.directory>.file[data-v-081515c4],.directory>.folder[data-v-081515c4]{display:block}.folder[data-v-081515c4]:hover{font-weight:700;cursor:pointer}.folder:hover>[data-v-081515c4]{font-weight:400}#menuContainer[data-v-081515c4]{position:absolute;z-index:20;top:0;left:0;height:100%;width:100%;pointer-events:none}#menu[data-v-081515c4]{height:100%;max-width:200px}#locations-menu[data-v-081515c4],#menu[data-v-081515c4]{position:absolute;top:0;left:0;z-index:21;background-color:#fa5a5a;overflow:auto;pointer-events:auto}#locations-menu[data-v-081515c4]{max-height:100px;width:100%}#locations-menu>div[data-v-081515c4]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}#locations-menu>div>div[data-v-081515c4]{background-color:#fff;text-align:center;line-height:100px;width:100px;border-right:1px solid #82c8a0}#locations-menu>div>div[data-v-081515c4]:hover{cursor:pointer;background-color:#82c8a0}.actionButton[data-v-081515c4]{position:absolute;right:0;margin:5px;margin-right:10px;padding:0}.accordion[data-v-081515c4]{background-color:#eee;color:#444;cursor:pointer;padding:18px;text-align:left;border:none;outline:none;-webkit-transition:.4s;transition:.4s;border-top:1px solid #82c8a0;width:100%;width:-moz-available;width:-webkit-fill-available;width:stretch}.accordion-active[data-v-081515c4],.accordion[data-v-081515c4]:hover{background-color:#82c8a0}.accordion-panel[data-v-081515c4]{background-color:#fff;display:none;overflow:hidden;min-height:2em}.accordion-subpanel[data-v-081515c4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%}.accordion-subpanel>[data-v-081515c4]{padding:5px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.accordion-subpanel>[data-v-081515c4]:hover{background-color:#82c8a0}#exitButton[data-v-081515c4]{position:fixed;bottom:0;width:100%}#radialmenu[data-v-081515c4]{position:absolute;z-index:20;width:0;height:0;pointer-events:auto}.rm-list-dm #rm-locations svg[data-v-081515c4]{margin-left:50px}.rm-list-dm #rm-settings svg[data-v-081515c4]{margin-bottom:50px}.rm-wrapper[data-v-081515c4]{position:relative;width:200px;height:200px;top:-100px;left:-100px}.rm-wrapper .rm-topper[data-v-081515c4]{pointer-events:none;text-align:center;line-height:50px;font-size:25px}.rm-wrapper .rm-toggler[data-v-081515c4],.rm-wrapper .rm-topper[data-v-081515c4]{display:block;position:absolute;width:50px;height:50px;left:50%;top:50%;margin-left:-25px;margin-top:-25px;background:#fa5a5a;color:#fff;border-radius:50%}.rm-wrapper .rm-toggler .rm-list[data-v-081515c4],.rm-wrapper .rm-topper .rm-list[data-v-081515c4]{opacity:.5;list-style:none;padding:0;width:200px;height:200px;overflow:hidden;display:block;border-radius:50%;-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,.2);box-shadow:0 0 10px 0 rgba(0,0,0,.2);margin:-75px 0 0 -75px}.rm-list-dm[data-v-081515c4]{-webkit-transform:rotate(135deg)!important;transform:rotate(135deg)!important}.rm-wrapper .rm-toggler:hover .rm-list[data-v-081515c4],.rm-wrapper .rm-topper:hover .rm-list[data-v-081515c4]{opacity:1}.rm-wrapper .rm-toggler .rm-list .rm-item[data-v-081515c4],.rm-wrapper .rm-topper .rm-list .rm-item[data-v-081515c4]{display:table;width:50%;height:50%;float:left;text-align:center;-webkit-box-shadow:inset 0 0 2px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 2px 0 rgba(0,0,0,.2);background-color:#fff}.rm-wrapper .rm-toggler .rm-list .rm-item[data-v-081515c4]:hover,.rm-wrapper .rm-topper .rm-list .rm-item[data-v-081515c4]:hover{background-color:#82c8a0}.rm-wrapper .rm-toggler .rm-list .rm-item:hover a[data-v-081515c4],.rm-wrapper .rm-topper .rm-list .rm-item:hover a[data-v-081515c4]{color:#fff}.rm-wrapper .rm-toggler .rm-list .rm-item a[data-v-081515c4],.rm-wrapper .rm-topper .rm-list .rm-item a[data-v-081515c4]{display:table-cell;vertical-align:middle;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);text-decoration:none;font-size:25px;color:#82c8a0;border:none;outline:none}.settings-enter-active[data-v-081515c4],.settings-leave-active[data-v-081515c4]{-webkit-transition:width .5s;transition:width .5s}.settings-enter[data-v-081515c4],.settings-leave-to[data-v-081515c4]{width:0}.settings-enter-to[data-v-081515c4],.settings-leave[data-v-081515c4]{width:200px}.locations-enter-active[data-v-081515c4],.locations-leave-active[data-v-081515c4]{-webkit-transition:height .5s;transition:height .5s}.locations-enter[data-v-081515c4],.locations-leave-to[data-v-081515c4]{height:0}.locations-enter-to[data-v-081515c4],.locations-leave[data-v-081515c4]{height:100px}.modal-header[data-v-7a3669fd]{background-color:#ff7052;padding:10px;font-size:20px;font-weight:700;cursor:move}.modal-header>input[data-v-7a3669fd]{background-color:inherit;border:none;font-weight:700;font-size:large}.header-close[data-v-7a3669fd]{position:absolute;top:5px;right:5px}.modal-body[data-v-7a3669fd]{padding:10px}.modal-body>textarea[data-v-7a3669fd]{width:100%;min-height:100px;max-height:500px}.modal-footer[data-v-7a3669fd]{padding-top:0;padding:10px;text-align:right}.modal-header[data-v-078b3b76]{background-color:#ff7052;padding:10px;font-size:20px;font-weight:700;cursor:move}.header-close[data-v-078b3b76]{position:absolute;top:5px;right:5px}.modal-body[data-v-078b3b76]{padding:10px;display:grid;grid-template-columns:[name] 1fr [numerator] 30px [slash] 5px [denominator] 30px [colour] 40px [visible] 30px [light] 30px [remove] 30px [end];grid-column-gap:5px}.colours[data-v-078b3b76],.modal-body[data-v-078b3b76]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.colours[data-v-078b3b76]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.header[data-v-078b3b76]{line-height:.1em;margin:20px 0 15px}.header[data-v-078b3b76]:after{position:absolute;right:5px;width:75%;border-bottom:1px solid #000;content:""}.spanrow[data-v-078b3b76]{grid-column:1/end}#selection-menu[data-v-32cec914]{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;top:75px;right:0;z-index:10;opacity:.5;border-top-left-radius:5px;border-bottom-left-radius:5px;border:1px solid #82c8a0;border-right:none;padding:10px 35px 10px 10px;background-color:#eee}#selection-menu[data-v-32cec914]:hover{background-color:#82c8a0;opacity:1}#selection-edit-button[data-v-32cec914]{position:absolute;right:10px;top:10px;cursor:pointer}#selection-auras[data-v-32cec914],#selection-trackers[data-v-32cec914]{display:grid;grid-template-columns:[name] 1fr [value] 1fr}.selection-aura-value[data-v-32cec914],.selection-tracker-value[data-v-32cec914]{justify-self:center;padding:2px}.selection-aura-value[data-v-32cec914]:hover,.selection-tracker-value[data-v-32cec914]:hover{cursor:pointer;background-color:rgba(20,20,20,.2)}#selection-name[data-v-32cec914]{font-size:20px;font-weight:700;margin-bottom:10px}.ContextMenu ul[data-v-7111f3f6]{border:1px solid #82c8a0}.ContextMenu ul li[data-v-7111f3f6]{border-bottom:1px solid #82c8a0}.ContextMenu ul li[data-v-7111f3f6]:hover{background-color:#82c8a0}canvas[data-v-66ccc134]{grid-column:label/end;justify-self:center}.modal-header[data-v-66ccc134]{background-color:#ff7052;padding:10px;font-size:20px;font-weight:700;cursor:move}.modal-body[data-v-66ccc134]{padding:10px;display:grid;grid-template-columns:[label] 1fr [value] 2fr [end];grid-row-gap:10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.modal-footer[data-v-66ccc134]{padding-top:0;padding:10px;text-align:right}.colours[data-v-66ccc134]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.tool-detail{position:absolute;right:var(--detailRight);bottom:80px;z-index:11;border:1px solid #2b2b2b;background-color:#fff;display:grid;padding:10px;grid-template-columns:auto auto;grid-column-gap:5px;grid-row-gap:2px}.tool-detail:after{content:"";position:absolute;right:var(--detailArrow);bottom:0;width:0;height:0;border:14px solid transparent;border-top-color:#000;border-bottom:0;margin-left:-14px;margin-bottom:-14px}.tool-detail input{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.option[data-v-5c4191ca]{padding:6px;border:1px solid #82c8a0;border-radius:0;-webkit-box-flex:1;-ms-flex:1 1;flex:1 1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:13px;min-width:25px}.option-selected[data-v-5c4191ca],.option[data-v-5c4191ca]:hover{background-color:#82c8a0}.selectgroup[data-v-5c4191ca]{display:-webkit-box;display:-ms-flexbox;display:flex}.selectgroup>.option[data-v-5c4191ca]:first-of-type{border-top-left-radius:10px;border-bottom-left-radius:10px}.selectgroup>.option[data-v-5c4191ca]:last-of-type{border-top-right-radius:10px;border-bottom-right-radius:10px}.ContextMenu ul[data-v-44a31e42]{border:1px solid #82c8a0}.ContextMenu ul li[data-v-44a31e42]{border-bottom:1px solid #82c8a0}.ContextMenu ul li[data-v-44a31e42]:hover{background-color:#82c8a0}#toolselect[data-v-1fee50f5]{position:absolute;bottom:25px;right:25px;z-index:10}#toolselect>ul[data-v-1fee50f5]{display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;padding:0;margin:0;border:1px solid #82c8a0;border-radius:7px}#toolselect>ul>li[data-v-1fee50f5]{display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#eee;border-right:1px solid #82c8a0}#toolselect>ul>li[data-v-1fee50f5]:last-child{border-right:none;border-radius:0 4px 4px 0}#toolselect>ul>li[data-v-1fee50f5]:first-child{border-radius:4px 0 0 4px}#toolselect>ul>li[data-v-1fee50f5]:hover{background-color:#82c8a0}#toolselect>ul>li a[data-v-1fee50f5]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px;text-decoration:none}#toolselect .tool-selected[data-v-1fee50f5]{background-color:#82c8a0}a,a:active,a:hover,a:visited{color:inherit}svg{cursor:pointer}.notAllowed,.notAllowed>*{cursor:not-allowed!important}#layers,#layers canvas{width:100%;height:100%;position:absolute;left:0;top:0;overflow:hidden}#main[data-v-256b40b9]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}#board[data-v-256b40b9]{position:relative;width:100%;height:100%}#layerselect[data-v-256b40b9]{position:absolute;bottom:25px;left:25px;z-index:10}#layerselect ul[data-v-256b40b9]{display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;padding:0;margin:0;border:1px solid #82c8a0;border-radius:6px}#layerselect li[data-v-256b40b9]{display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#eee;border-right:1px solid #82c8a0}#layerselect li[data-v-256b40b9]:first-child{border-radius:4px 0 0 4px}#layerselect li[data-v-256b40b9]:last-child{border-right:none;border-radius:0 4px 4px 0}#layerselect li[data-v-256b40b9]:hover{background-color:#82c8a0}#layerselect li a[data-v-256b40b9]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px;text-decoration:none}#layerselect .layer-selected[data-v-256b40b9]{background-color:#82c8a0}#zoomer[data-v-256b40b9]{position:absolute;top:15px;right:25px;z-index:11}#FPS[data-v-256b40b9]{position:absolute;top:0;right:75px;z-index:11;color:#fff} \ No newline at end of file +@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css);@import url(https://fonts.googleapis.com/css?family=Open+Sans);#app,body,html{margin:0;padding:0;border:0;width:100%;height:100%;font-family:Open Sans,sans-serif;font-weight:200}#app{display:-webkit-box;display:-ms-flexbox;display:flex;background:url(/static/img/login_background.png) repeat fixed}.ContextMenu{position:fixed;z-index:11}.ContextMenu ul{border:1px solid #ff7052;border-radius:5px;background:#fff;padding:0;list-style:none;margin:0}.ContextMenu ul li{border-bottom:1px solid #ff7052;padding:5px;cursor:pointer}.ContextMenu ul li:hover{background-color:#ff7052}.ContextMenu ul li:last-child{border-bottom:none}.ContextMenu>ul>li{clear:left;position:relative}.ContextMenu>ul>li ul{display:none;position:absolute;left:100%;top:-1px}.ContextMenu>ul>li:hover ul{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.hide[data-v-12ed61ba]{display:none}.mask[data-v-12ed61ba]{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%}.dialog-mask[data-v-12ed61ba]{pointer-events:none}.modal-mask[data-v-12ed61ba]{background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.modal-container[data-v-12ed61ba]{pointer-events:auto;position:absolute;width:auto;height:auto;background-color:#fff;border-radius:2px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.33);box-shadow:0 2px 8px rgba(0,0,0,.33);font-family:Helvetica,Arial,sans-serif}.modal-enter[data-v-12ed61ba],.modal-leave-active[data-v-12ed61ba]{opacity:0}.modal-enter .modal-container[data-v-12ed61ba],.modal-leave-active .modal-container[data-v-12ed61ba]{-webkit-transform:scale(1.1);transform:scale(1.1)}.modal-header[data-v-1883e207]{background-color:#ff7052;padding:10px;font-size:20px;font-weight:700;cursor:move}.modal-body[data-v-1883e207]{padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}button[data-v-1883e207]:first-of-type{margin-right:10px}.modal-header[data-v-0602c2e6]{background-color:#ff7052;padding:10px;font-size:20px;font-weight:700;cursor:move}.modal-body[data-v-0602c2e6]{padding:10px;padding-bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.modal-footer[data-v-0602c2e6]{padding-top:0;padding:10px;text-align:right}[v-cloak],[v-cloak] *{display:none}body,html{padding:0;margin:0;width:100%;height:100%;background:url(/static/img/login_background.png) repeat fixed;font-family:Open Sans,sans-serif}#AssetManager{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#titlebar{padding:15px;margin:10px;font-size:30px;font-weight:700;background-color:#ff7052;color:#fff;text-align:center;border:1px solid #000;-webkit-box-shadow:2px 2px grey;box-shadow:2px 2px grey}#main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;height:100%}#asset-details,#assets{background-color:#fff;border:1px solid #000;margin:10px;position:relative;padding-top:45px;padding-bottom:45px;-webkit-box-shadow:3px 3px grey;box-shadow:3px 3px grey}#assets{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}#asset-details{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:15px;max-width:50%;overflow:scroll}#asset-details img{width:100%}#breadcrumbs{position:absolute;left:0;top:0;display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden;z-index:1;background-color:#ff7052;color:#fff;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:5px;border-bottom-right-radius:10px}#breadcrumbs>div{position:relative;padding:10px;padding-left:20px;text-align:center}#breadcrumbs>div:first-child{padding-left:10px}#breadcrumbs div:last-child:after{content:none}#breadcrumbs div:after{content:"";position:absolute;display:inline-block;width:30px;height:30px;top:3px;right:-10px;background-color:transparent;border-top-right-radius:5px;-webkit-transform:scale(.707) rotate(45deg);transform:scale(.707) rotate(45deg);-webkit-box-shadow:1px -1px rgba(0,0,0,.25);box-shadow:1px -1px rgba(0,0,0,.25);z-index:1}#actionbar{position:absolute;right:0;top:0;padding:8px;border-bottom-left-radius:10px;background-color:#ff7052;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff}#actionbar>div{margin:5px}#actionbar>div:hover{cursor:pointer}#explorer{position:relative;left:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));max-width:100%;max-height:100%;overflow:auto}.inode{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:15px}.inode-selected,.inode:hover{cursor:pointer;background-color:#ff7052}.inode *{pointer-events:none}.title{word-break:break-all}#asset-detail-title{font-weight:700;font-size:30px;border-bottom:2px solid #000;margin-bottom:15px;text-align:center}[data-v-6bbf3b79]{-ms-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;border:0}form[data-v-6bbf3b79]{position:relative;top:50%;width:250px;display:table;margin:-150px auto 0 auto;background:#fff;border-radius:4px}.legend[data-v-6bbf3b79]{position:relative;text-align:center;width:100%;display:block;background:#ff7052;padding:15px;color:#fff;font-size:20px}.legend[data-v-6bbf3b79]:after{content:"";opacity:.06;top:0;left:0;bottom:0;right:0;position:absolute}.input[data-v-6bbf3b79]{position:relative;width:90%;margin:15px auto}.input span[data-v-6bbf3b79]{position:absolute;display:block;color:#d4d4d4;left:10px;top:8px;font-size:20px}.input input[data-v-6bbf3b79]{width:100%;padding:10px 5px 10px 40px;display:block;border:1px solid #ededed;border-radius:4px;-webkit-transition:.2s ease-out;transition:.2s ease-out;color:#a1a1a1}.input input[data-v-6bbf3b79]:focus{padding:10px 5px 10px 10px;outline:0;border-color:#ff7052}.submit[data-v-6bbf3b79]{width:45px;height:45px;display:block;margin:0 auto -15px auto;background:#fff;border-radius:100%;border:1px solid #ff7052;color:#ff7052;font-size:24px;cursor:pointer;-webkit-box-shadow:0 0 0 7px #fff;box-shadow:0 0 0 7px #fff;-webkit-transition:.2s ease-out;transition:.2s ease-out}.submit[data-v-6bbf3b79]:focus,.submit[data-v-6bbf3b79]:hover{background:#ff7052;color:#fff;outline:0}.feedback[data-v-6bbf3b79]{position:absolute;bottom:-70px;width:100%;text-align:center;color:#fff;background:#c71585;padding:10px 0;font-size:12px}.feedback[data-v-6bbf3b79]:before{bottom:100%;left:50%;border:solid transparent;content:"";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(46,204,113,0);border-bottom-color:#c71585;border-width:10px;margin-left:-10px}[data-v-61eb1455]{-ms-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;border:0}a[data-v-61eb1455]{text-decoration:inherit;color:inherit;width:100%;display:block;text-align:center;border:1px solid #ff7052}a[data-v-61eb1455]:hover{background-color:#ff7052;color:#fff}a[data-v-61eb1455]:first-child{border-radius:10px 10px 0 0}a[data-v-61eb1455]:last-child{border-radius:0 0 10px 10px}a[data-v-61eb1455]:only-child{border-radius:10px}#formcontainer[data-v-61eb1455]{margin:auto}form[data-v-61eb1455]{background:#fff;border-radius:4px}.legend[data-v-61eb1455]{position:relative;text-align:center;width:100%;display:block;background:#ff7052;padding:15px;color:#fff;font-size:20px}.legend[data-v-61eb1455]:after{content:"";opacity:.06;top:0;left:0;bottom:0;right:0;position:absolute}#account-options[data-v-61eb1455]{display:-webkit-box;display:-ms-flexbox;display:flex;background:#fff;border-radius:4px;margin-top:50px;height:45px}#account-options form[data-v-61eb1455]{background:none;border-radius:0;width:50%}.input[data-v-61eb1455]{position:relative;width:90%;margin:15px auto}.input span[data-v-61eb1455]{position:absolute;display:block;color:#d4d4d4;left:10px;top:8px;font-size:20px}.input input[data-v-61eb1455]{width:100%;padding:10px 5px 10px 40px;display:block;border:1px solid #ededed;border-radius:4px;-webkit-transition:.2s ease-out;transition:.2s ease-out;color:#a1a1a1}.input input[data-v-61eb1455]:focus{outline:0;border-color:#ff7052}.submit[data-v-61eb1455]{width:45px;height:45px;display:block;margin:0 auto -15px auto;background:#fff;border-radius:100%;border:1px solid #ff7052;color:#ff7052;font-size:24px;cursor:pointer;-webkit-box-shadow:0 0 0 7px #fff;box-shadow:0 0 0 7px #fff;-webkit-transition:.2s ease-out;transition:.2s ease-out}.submit[data-v-61eb1455]:focus,.submit[data-v-61eb1455]:hover{background:#ff7052;color:#fff;outline:0}.feedback[data-v-61eb1455]{position:absolute;bottom:-70px;width:100%;text-align:center;color:#fff;background:#c71585;padding:10px 0;font-size:12px}.feedback[data-v-61eb1455]:before{bottom:100%;left:50%;border:solid transparent;content:"";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(46,204,113,0);border-bottom-color:#c71585;border-width:10px;margin-left:-10px}h4[data-v-61eb1455]{background-color:#fff;width:100%;text-align:center;border-bottom:1px solid #000;line-height:.1em}h4 span[data-v-61eb1455]{background:#fff;padding:0 10px}.modal-header[data-v-ccaf03d6]{background-color:#ff7052;padding:10px;font-size:20px;font-weight:700;cursor:move}.header-close[data-v-ccaf03d6]{position:absolute;top:5px;right:5px}.modal-body[data-v-ccaf03d6]{padding:10px}#initiative-list[data-v-ccaf03d6]{padding:0;-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}#initiative-list[data-v-ccaf03d6],.initiative-actor[data-v-ccaf03d6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-direction:normal}.initiative-actor[data-v-ccaf03d6]{-webkit-box-orient:horizontal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:2px 5px;margin-bottom:2px;border-radius:5px;border:2px solid transparent}.initiative-selected[data-v-ccaf03d6]{border:2px solid #82c8a0;background-color:#82c8a0}.initiative-actor:hover+.initiative-effect[data-v-ccaf03d6],.initiative-effect[data-v-ccaf03d6]:hover,.initiative-selected+.initiative-effect[data-v-ccaf03d6]{display:-webkit-box;display:-ms-flexbox;display:flex;border-color:rgba(130,200,160,.6);background-color:rgba(130,200,160,.6)}.initiative-actor[data-v-ccaf03d6]:hover{border:2px solid #82c8a0}.initiative-actor>[data-v-ccaf03d6]{width:30px;margin-left:2px}.initiative-effect[data-v-ccaf03d6]{display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:-moz-fit-content;width:-webkit-fit-content;width:fit-content;margin-right:5px;margin-top:-2px;margin-bottom:5px;padding:2px;border:2px solid transparent;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-top:none}.initiative-effect>[data-v-ccaf03d6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.initiative-effect>*>[data-v-ccaf03d6]{border:none;background-color:inherit;text-align:right;margin-left:20px;min-width:10px}.initiative-effect>*>[data-v-ccaf03d6]:first-child{margin-left:0}#initiative-bar[data-v-ccaf03d6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:10px;margin-left:10px;margin-top:10px;margin-bottom:-10px;padding:2px}.initiative-bar-button[data-v-ccaf03d6]{border:2px solid #82c8a0;border-radius:5px;padding:5px}.initiative-bar-button[data-v-ccaf03d6]:hover{color:#fff;background-color:#82c8a0;cursor:pointer}.outer[data-v-b4f2c0b0]{padding:5px;border:1px solid #000;border-radius:3px;cursor:pointer}.current-color[data-v-b4f2c0b0]{width:13px;height:13px;background-color:#000;border:1px solid #000}.mask[data-v-b4f2c0b0]{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%}.preview[data-v-62c91cd3]{position:fixed;z-index:50;left:200px;top:0}.asset-preview-image[data-v-62c91cd3]{width:100%;max-width:250px}.draggable[data-v-62c91cd3]{list-style:none;font-family:helvetica}.token[data-v-62c91cd3]{padding-top:5px;padding-bottom:5px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.token img[data-v-62c91cd3]{margin-right:5px}.token svg[data-v-62c91cd3]{margin-left:auto}.folder>[data-v-62c91cd3]{display:none}.directory>.file[data-v-62c91cd3],.directory>.folder[data-v-62c91cd3]{display:block}.folder[data-v-62c91cd3]:hover{font-weight:700;cursor:pointer}.folder:hover>[data-v-62c91cd3]{font-weight:400}.folder>[data-v-21f210ea]{display:none}.directory>.file[data-v-21f210ea],.directory>.folder[data-v-21f210ea]{display:block}.folder[data-v-21f210ea]:hover{font-weight:700;cursor:pointer}.folder:hover>[data-v-21f210ea]{font-weight:400}#menuContainer[data-v-21f210ea]{position:absolute;z-index:20;top:0;left:0;height:100%;width:100%;pointer-events:none}#menu[data-v-21f210ea]{height:100%;max-width:200px}#locations-menu[data-v-21f210ea],#menu[data-v-21f210ea]{position:absolute;top:0;left:0;z-index:21;background-color:#fa5a5a;overflow:auto;pointer-events:auto}#locations-menu[data-v-21f210ea]{max-height:100px;width:100%}#locations-menu>div[data-v-21f210ea]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}#locations-menu>div>div[data-v-21f210ea]{background-color:#fff;text-align:center;line-height:100px;width:100px;border-right:1px solid #82c8a0}#locations-menu>div>div[data-v-21f210ea]:hover{cursor:pointer;background-color:#82c8a0}.actionButton[data-v-21f210ea]{position:absolute;right:0;margin:5px;margin-right:10px;padding:0}.accordion[data-v-21f210ea]{background-color:#eee;color:#444;cursor:pointer;padding:18px;text-align:left;border:none;outline:none;-webkit-transition:.4s;transition:.4s;border-top:1px solid #82c8a0;width:100%;width:-moz-available;width:-webkit-fill-available;width:stretch}.accordion-active[data-v-21f210ea],.accordion[data-v-21f210ea]:hover{background-color:#82c8a0}.accordion-panel[data-v-21f210ea]{background-color:#fff;display:none;overflow:hidden;min-height:2em}.accordion-subpanel[data-v-21f210ea]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%}.accordion-subpanel>[data-v-21f210ea]{padding:5px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.accordion-subpanel>[data-v-21f210ea]:hover{background-color:#82c8a0}#exitButton[data-v-21f210ea]{position:fixed;bottom:0;width:100%}#radialmenu[data-v-21f210ea]{position:absolute;z-index:20;width:0;height:0;pointer-events:auto}.rm-list-dm #rm-locations svg[data-v-21f210ea]{margin-left:50px}.rm-list-dm #rm-settings svg[data-v-21f210ea]{margin-bottom:50px}.rm-wrapper[data-v-21f210ea]{position:relative;width:200px;height:200px;top:-100px;left:-100px}.rm-wrapper .rm-topper[data-v-21f210ea]{pointer-events:none;text-align:center;line-height:50px;font-size:25px}.rm-wrapper .rm-toggler[data-v-21f210ea],.rm-wrapper .rm-topper[data-v-21f210ea]{display:block;position:absolute;width:50px;height:50px;left:50%;top:50%;margin-left:-25px;margin-top:-25px;background:#fa5a5a;color:#fff;border-radius:50%}.rm-wrapper .rm-toggler .rm-list[data-v-21f210ea],.rm-wrapper .rm-topper .rm-list[data-v-21f210ea]{opacity:.5;list-style:none;padding:0;width:200px;height:200px;overflow:hidden;display:block;border-radius:50%;-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,.2);box-shadow:0 0 10px 0 rgba(0,0,0,.2);margin:-75px 0 0 -75px}.rm-list-dm[data-v-21f210ea]{-webkit-transform:rotate(135deg)!important;transform:rotate(135deg)!important}.rm-wrapper .rm-toggler:hover .rm-list[data-v-21f210ea],.rm-wrapper .rm-topper:hover .rm-list[data-v-21f210ea]{opacity:1}.rm-wrapper .rm-toggler .rm-list .rm-item[data-v-21f210ea],.rm-wrapper .rm-topper .rm-list .rm-item[data-v-21f210ea]{display:table;width:50%;height:50%;float:left;text-align:center;-webkit-box-shadow:inset 0 0 2px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 2px 0 rgba(0,0,0,.2);background-color:#fff}.rm-wrapper .rm-toggler .rm-list .rm-item[data-v-21f210ea]:hover,.rm-wrapper .rm-topper .rm-list .rm-item[data-v-21f210ea]:hover{background-color:#82c8a0}.rm-wrapper .rm-toggler .rm-list .rm-item:hover a[data-v-21f210ea],.rm-wrapper .rm-topper .rm-list .rm-item:hover a[data-v-21f210ea]{color:#fff}.rm-wrapper .rm-toggler .rm-list .rm-item a[data-v-21f210ea],.rm-wrapper .rm-topper .rm-list .rm-item a[data-v-21f210ea]{display:table-cell;vertical-align:middle;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);text-decoration:none;font-size:25px;color:#82c8a0;border:none;outline:none}.settings-enter-active[data-v-21f210ea],.settings-leave-active[data-v-21f210ea]{-webkit-transition:width .5s;transition:width .5s}.settings-enter[data-v-21f210ea],.settings-leave-to[data-v-21f210ea]{width:0}.settings-enter-to[data-v-21f210ea],.settings-leave[data-v-21f210ea]{width:200px}.locations-enter-active[data-v-21f210ea],.locations-leave-active[data-v-21f210ea]{-webkit-transition:height .5s;transition:height .5s}.locations-enter[data-v-21f210ea],.locations-leave-to[data-v-21f210ea]{height:0}.locations-enter-to[data-v-21f210ea],.locations-leave[data-v-21f210ea]{height:100px}.modal-header[data-v-7a3669fd]{background-color:#ff7052;padding:10px;font-size:20px;font-weight:700;cursor:move}.modal-header>input[data-v-7a3669fd]{background-color:inherit;border:none;font-weight:700;font-size:large}.header-close[data-v-7a3669fd]{position:absolute;top:5px;right:5px}.modal-body[data-v-7a3669fd]{padding:10px}.modal-body>textarea[data-v-7a3669fd]{width:100%;min-height:100px;max-height:500px}.modal-footer[data-v-7a3669fd]{padding-top:0;padding:10px;text-align:right}.modal-header[data-v-078b3b76]{background-color:#ff7052;padding:10px;font-size:20px;font-weight:700;cursor:move}.header-close[data-v-078b3b76]{position:absolute;top:5px;right:5px}.modal-body[data-v-078b3b76]{padding:10px;display:grid;grid-template-columns:[name] 1fr [numerator] 30px [slash] 5px [denominator] 30px [colour] 40px [visible] 30px [light] 30px [remove] 30px [end];grid-column-gap:5px}.colours[data-v-078b3b76],.modal-body[data-v-078b3b76]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.colours[data-v-078b3b76]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.header[data-v-078b3b76]{line-height:.1em;margin:20px 0 15px}.header[data-v-078b3b76]:after{position:absolute;right:5px;width:75%;border-bottom:1px solid #000;content:""}.spanrow[data-v-078b3b76]{grid-column:1/end}#selection-menu[data-v-32cec914]{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;top:75px;right:0;z-index:10;opacity:.5;border-top-left-radius:5px;border-bottom-left-radius:5px;border:1px solid #82c8a0;border-right:none;padding:10px 35px 10px 10px;background-color:#eee}#selection-menu[data-v-32cec914]:hover{background-color:#82c8a0;opacity:1}#selection-edit-button[data-v-32cec914]{position:absolute;right:10px;top:10px;cursor:pointer}#selection-auras[data-v-32cec914],#selection-trackers[data-v-32cec914]{display:grid;grid-template-columns:[name] 1fr [value] 1fr}.selection-aura-value[data-v-32cec914],.selection-tracker-value[data-v-32cec914]{justify-self:center;padding:2px}.selection-aura-value[data-v-32cec914]:hover,.selection-tracker-value[data-v-32cec914]:hover{cursor:pointer;background-color:rgba(20,20,20,.2)}#selection-name[data-v-32cec914]{font-size:20px;font-weight:700;margin-bottom:10px}.ContextMenu ul[data-v-7111f3f6]{border:1px solid #82c8a0}.ContextMenu ul li[data-v-7111f3f6]{border-bottom:1px solid #82c8a0}.ContextMenu ul li[data-v-7111f3f6]:hover{background-color:#82c8a0}canvas[data-v-66ccc134]{grid-column:label/end;justify-self:center}.modal-header[data-v-66ccc134]{background-color:#ff7052;padding:10px;font-size:20px;font-weight:700;cursor:move}.modal-body[data-v-66ccc134]{padding:10px;display:grid;grid-template-columns:[label] 1fr [value] 2fr [end];grid-row-gap:10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.modal-footer[data-v-66ccc134]{padding-top:0;padding:10px;text-align:right}.colours[data-v-66ccc134]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.tool-detail{position:absolute;right:var(--detailRight);bottom:80px;z-index:11;border:1px solid #2b2b2b;background-color:#fff;display:grid;padding:10px;grid-template-columns:auto auto;grid-column-gap:5px;grid-row-gap:2px}.tool-detail:after{content:"";position:absolute;right:var(--detailArrow);bottom:0;width:0;height:0;border:14px solid transparent;border-top-color:#000;border-bottom:0;margin-left:-14px;margin-bottom:-14px}.tool-detail input{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.option[data-v-7abc7fe9]{padding:6px;border:1px solid #82c8a0;border-radius:0;-webkit-box-flex:1;-ms-flex:1 1;flex:1 1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:13px;min-width:25px}.option-selected[data-v-7abc7fe9],.option[data-v-7abc7fe9]:hover{background-color:#82c8a0}.selectgroup[data-v-7abc7fe9]{display:-webkit-box;display:-ms-flexbox;display:flex}.selectgroup>.option[data-v-7abc7fe9]:first-of-type{border-top-left-radius:10px;border-bottom-left-radius:10px}.selectgroup>.option[data-v-7abc7fe9]:last-of-type{border-top-right-radius:10px;border-bottom-right-radius:10px}.ContextMenu ul[data-v-44a31e42]{border:1px solid #82c8a0}.ContextMenu ul li[data-v-44a31e42]{border-bottom:1px solid #82c8a0}.ContextMenu ul li[data-v-44a31e42]:hover{background-color:#82c8a0}#toolselect[data-v-1fee50f5]{position:absolute;bottom:25px;right:25px;z-index:10}#toolselect>ul[data-v-1fee50f5]{display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;padding:0;margin:0;border:1px solid #82c8a0;border-radius:7px}#toolselect>ul>li[data-v-1fee50f5]{display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#eee;border-right:1px solid #82c8a0}#toolselect>ul>li[data-v-1fee50f5]:last-child{border-right:none;border-radius:0 4px 4px 0}#toolselect>ul>li[data-v-1fee50f5]:first-child{border-radius:4px 0 0 4px}#toolselect>ul>li[data-v-1fee50f5]:hover{background-color:#82c8a0}#toolselect>ul>li a[data-v-1fee50f5]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px;text-decoration:none}#toolselect .tool-selected[data-v-1fee50f5]{background-color:#82c8a0}a,a:active,a:hover,a:visited{color:inherit}svg{cursor:pointer}.notAllowed,.notAllowed>*{cursor:not-allowed!important}#layers,#layers canvas{width:100%;height:100%;position:absolute;left:0;top:0;overflow:hidden}#main[data-v-6d744362]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}#board[data-v-6d744362]{position:relative;width:100%;height:100%}#layerselect[data-v-6d744362]{position:absolute;bottom:25px;left:25px;z-index:10}#layerselect ul[data-v-6d744362]{display:-webkit-box;display:-ms-flexbox;display:flex;list-style:none;padding:0;margin:0;border:1px solid #82c8a0;border-radius:6px}#layerselect li[data-v-6d744362]{display:-webkit-box;display:-ms-flexbox;display:flex;background-color:#eee;border-right:1px solid #82c8a0}#layerselect li[data-v-6d744362]:first-child{border-radius:4px 0 0 4px}#layerselect li[data-v-6d744362]:last-child{border-right:none;border-radius:0 4px 4px 0}#layerselect li[data-v-6d744362]:hover{background-color:#82c8a0}#layerselect li a[data-v-6d744362]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px;text-decoration:none}#layerselect .layer-selected[data-v-6d744362]{background-color:#82c8a0}#zoomer[data-v-6d744362]{position:absolute;top:15px;right:25px;z-index:11}#FPS[data-v-6d744362]{position:absolute;top:0;right:75px;z-index:11;color:#fff} \ No newline at end of file diff --git a/server/static/js/app-legacy.4b455705.js b/server/static/js/app-legacy.4b455705.js deleted file mode 100644 index 9769ac4ff..000000000 --- a/server/static/js/app-legacy.4b455705.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var o,n,r=t[0],l=t[1],c=t[2],d=0,h=[];de.fillText(t.text,t.x,t.y)),e.restore()}contains(e){return!1}center(e){}getCorner(e){return""}visibleInCanvas(e){return!0}snapToGrid(){}resizeToGrid(){}resize(e,t){}getMaxHeight(e){const t=this.getLines(e),i=30;return i*t.length}getMaxWidth(e){const t=this.getLines(e),i=t.map(t=>e.measureText(t.text).width);return Math.max(...i)}getLines(e){const t=this.text.split("\n"),i=[],o=e.canvas.width,s=30,a=0;let n=0;for(const r of t){let t="";const l=r.split(" ");for(const r of l){const l=t+r+" ",c=e.measureText(l),u=c.width;u>o?(e.fillText(t,a,n),i.push({text:t,x:a,y:n}),t=r+" ",n+=s):t=l}i.push({text:t,x:a,y:n}),n+=s}return i}}t.Text=n},"033f":function(e,t,i){"use strict";i.r(t);var o=i("5050"),s=i("a68b");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("9b4d");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"7111f3f6",null);r.options.__file="shapecontext.vue",t["default"]=r.exports},"034f":function(e,t,i){"use strict";var o=i("64a9"),s=i.n(o);s.a},"0584":function(e,t,i){"use strict";var o=i("de21"),s=i.n(o);s.a},"0634":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("66cb")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("65d9")),r=i("c345a"),l=i("60a3");let c=class extends a.default{constructor(){super(...arguments),this.display=!1,this.left=0,this.top=0,this.transparent=!1}mounted(){this.transparent=0===this.$refs.chromePicker.val.rgba.a,this.setPosition()}open(){this.display||(this.setPosition(),this.display=!0,this.$nextTick(()=>this.$children[0].$el.focus()))}updateColor(e){this.transparent=0===e.rgba.a;const t=s.default(e.rgba).toRgbString();this.$emit("update:color",t),this.$emit("input",t)}closePicker(){this.display=!1,this.$emit("change",this.color)}setPosition(){const e=this.$el.getBoundingClientRect();e.right+224>window.innerWidth?this.left=e.left-224:this.left=e.right,e.bottom+242>window.innerHeight?this.top=e.top-242:this.top=e.bottom}};o.__decorate([l.Prop(String)],c.prototype,"color",void 0),c=o.__decorate([n.default({components:{"chrome-picker":r.Chrome}})],c),t.default=c},"07f5":function(e,t,i){"use strict";i.r(t);var o=i("2be7"),s=i("d588");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("561b"),i("3d3c");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"256b40b9",null);r.options.__file="game.vue",t["default"]=r.exports},"0a75":function(e,t,i){},"0bc6":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("8055"));function a(e){t.socket.io.opts.query=`user=${e.params.creator}&room=${e.params.room}`,t.socket.connect()}t.socket=s.default(location.protocol+"//"+location.host+"/planarally",{autoConnect:!1}),t.createConnection=a},"0cf7":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("4aec")),r=o.__importDefault(i("a535")),l=o.__importDefault(i("cec2")),c=i("5338"),u=i("2d5b"),d=i("4a5b");let h=class extends s.default{constructor(){super(...arguments),this.path=[],this.draggingSelection=!1}get folders(){return u.assetStore.folders}get files(){return u.assetStore.files}get selected(){return u.assetStore.selected}get idMap(){return u.assetStore.idMap}get currentFolder(){return this.path.length?this.path[this.path.length-1]:u.assetStore.root}get parentFolder(){let e=this.path[this.path.length-2];return void 0===e&&(e=u.assetStore.root),e}get firstSelectedFile(){for(const e of u.assetStore.selected)if(u.assetStore.idMap.get(e).file_hash)return u.assetStore.idMap.get(e);return null}changeDirectory(e){e<0?this.path.pop():this.path.push(e),u.assetStore.clearSelected(),c.socket.emit("Folder.Get",this.currentFolder)}createDirectory(){const e=window.prompt("New folder name");null!==e&&c.socket.emit("Folder.Create",{name:e,parent:this.currentFolder})}moveInode(e,t){u.assetStore.isFile(e)?u.assetStore.files.splice(u.assetStore.files.indexOf(e),1):u.assetStore.folders.splice(u.assetStore.folders.indexOf(e),1),u.assetStore.idMap.delete(e),c.socket.emit("Inode.Move",{inode:e,target:t})}select(e,t){if(e.shiftKey&&u.assetStore.selected.length>0){const e=[...u.assetStore.files,...u.assetStore.folders],i=e.indexOf(u.assetStore.selected[u.assetStore.selected.length-1]),o=e.indexOf(t);for(let t=i;t!==o;i0&&this.upload(e.dataTransfer.files,t);this.draggingSelection=!1}prepareUpload(){document.getElementById("files").click()}upload(e,t){const i=document.getElementById("files").files;if(void 0===e){if(!i)return;e=i}void 0===t&&(t=this.currentFolder);const o=1e5;for(const s of e){const e=d.uuidv4(),i=Math.ceil(s.size/o);for(let a=0;a{c.socket.emit("Asset.Upload",{name:s.name,directory:t,data:n.result,slice:a,totalSlices:i,uuid:e})})}}}};h=o.__decorate([a.default({components:{Prompt:l.default,ConfirmDialog:r.default,AssetContextMenu:n.default},beforeRouteEnter(e,t,i){c.socket.connect(),i()},beforeRouteLeave(e,t,i){c.socket.disconnect(),i()}})],h),t.default=h},"0ddd":function(e,t,i){"use strict";i.r(t);var o=i("8577"),s=i("4bc3");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("befe");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"62c91cd3",null);r.options.__file="asset_node.vue",t["default"]=r.exports},1:function(e,t){},"104d":function(e,t,i){"use strict";var o=i("5722"),s=i.n(o);s.a},1077:function(e,t,i){"use strict";i.r(t);var o=i("d7f0"),s=i("1eee");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("cfc1");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"6bbf3b79",null);r.options.__file="login.vue",t["default"]=r.exports},1298:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("modal",{attrs:{visible:e.visible},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[e._v("Create basic token")])}}])},[i("div",{staticClass:"modal-body"},[i("label",{attrs:{for:"createtokendialog-text"}},[e._v("Text")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.text,expression:"text"}],attrs:{type:"text",id:"createtokendialog-name"},domProps:{value:e.text},on:{input:function(t){t.target.composing||(e.text=t.target.value)}}}),i("label",[e._v("Colours")]),i("div",{staticClass:"colours"},[i("span",[e._v("Fill:")]),i("color-picker",{attrs:{color:e.fillColour},on:{"update:color":function(t){e.fillColour=t}}}),i("span",[e._v("Border:")]),i("color-picker",{attrs:{color:e.borderColour},on:{"update:color":function(t){e.borderColour=t}}})],1),i("canvas",{ref:"canvas",attrs:{width:"100px",height:"100px"}})]),i("div",{staticClass:"modal-footer"},[i("button",{on:{click:e.submit}},[e._v("Submit")])])])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"12d3":function(e,t,i){"use strict";var o=i("a260"),s=i.n(o);s.a},1327:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importStar(i("66cb")),a=i("4a5b"),n=i("4709"),r=i("f10f"),l=i("92b1");class c extends n.Circle{constructor(e,t,i,o,s,a,n){super(e,t,s,a,n),this.type="circulartoken",this.text=i,this.font=o}asDict(){return Object.assign(this.getBaseDict(),{radius:this.r,text:this.text,font:this.font})}fromDict(e){super.fromDict(e),this.r=e.radius,this.text=e.text,this.font=e.font}draw(e){super.draw(e),e.font=this.font,e.save();const t=l.g2l(this.center());e.textAlign="center",e.textBaseline="middle";const i=a.calcFontScale(e,this.text,l.g2lz(this.r),l.g2lz(this.r)),o=0;e.transform(i,o,-o,i,t.x,t.y),e.fillStyle=s.mostReadable(this.fillColour,["#000","#fff"]).toHexString(),e.fillText(this.text,0,0),e.restore()}getInitiativeRepr(){return{uuid:this.uuid,visible:!r.gameStore.IS_DM,group:!1,source:""===this.name||"Unknown shape"===this.name?this.text:this.name,has_img:!1,effects:[],index:1/0}}}t.CircularToken=c},"160b":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"AssetManager"}},[i("div",{attrs:{id:"titlebar"}},[e._v("Asset Manager")]),i("div",{attrs:{id:"main"}},[i("div",{attrs:{id:"assets"},on:{dragover:function(t){return t.preventDefault(),e.moveDrag(t)},drop:function(t){t.preventDefault(),t.stopPropagation(),e.stopDrag(t,e.currentFolder)}}},[i("div",{attrs:{id:"breadcrumbs"}},[i("div",[e._v("/")]),e._l(e.path,function(t){return i("div",{key:t},[e._v(e._s(e.idMap.get(t).name))])})],2),i("div",{attrs:{id:"actionbar"}},[i("input",{attrs:{id:"files",type:"file",multiple:"",hidden:""},on:{change:function(t){e.upload()}}}),i("div",{attrs:{title:"Create folder"},on:{click:e.createDirectory}},[i("i",{staticClass:"fas fa-plus-square"})]),i("div",{attrs:{title:"Upload files"},on:{click:e.prepareUpload}},[i("i",{staticClass:"fas fa-upload"})])]),i("div",{attrs:{id:"explorer"}},[e.path.length?i("div",{staticClass:"inode folder",on:{dblclick:function(t){e.changeDirectory(-1)},dragover:function(t){return t.preventDefault(),e.moveDrag(t)},dragleave:function(t){return t.preventDefault(),e.leaveDrag(t)},drop:function(t){t.preventDefault(),t.stopPropagation(),e.stopDrag(t,e.parentFolder)}}},[i("i",{staticClass:"fas fa-folder",staticStyle:{"font-size":"50px"}}),i("div",{staticClass:"title"},[e._v("..")])]):e._e(),e._l(e.folders,function(t){return i("div",{key:t,staticClass:"inode folder",class:{"inode-selected":e.selected.includes(t)},attrs:{draggable:"true"},on:{click:function(i){e.select(i,t)},dblclick:function(i){e.changeDirectory(t)},contextmenu:function(i){i.preventDefault(),e.$refs.cm.open(i,t)},dragstart:function(i){e.startDrag(i,t)},dragover:function(t){return t.preventDefault(),e.moveDrag(t)},dragleave:function(t){return t.preventDefault(),e.leaveDrag(t)},drop:function(i){i.preventDefault(),i.stopPropagation(),e.stopDrag(i,t)}}},[i("i",{staticClass:"fas fa-folder",staticStyle:{"font-size":"50px"}}),i("div",{staticClass:"title"},[e._v(e._s(e.idMap.get(t).name))])])}),e._l(e.files,function(t){return i("div",{key:t,staticClass:"inode file",class:{"inode-selected":e.selected.includes(t)},attrs:{draggable:"true"},on:{click:function(i){e.select(i,t)},contextmenu:function(i){i.preventDefault(),e.$refs.cm.open(i,t)},dragstart:function(i){e.startDrag(i,t)}}},[i("img",{attrs:{src:"/static/assets/"+e.idMap.get(t).file_hash,width:"50"}}),i("div",{staticClass:"title"},[e._v(e._s(e.idMap.get(t).name))])])})],2)]),e.firstSelectedFile?i("div",{attrs:{id:"asset-details"}},[i("div",{attrs:{id:"asset-detail-title"}},[e._v(e._s(e.firstSelectedFile.name))]),i("img",{attrs:{src:"/static/assets/"+e.firstSelectedFile.file_hash}})]):e._e()]),i("AssetContextMenu",{ref:"cm"}),i("Prompt",{ref:"prompt"}),i("ConfirmDialog",{ref:"confirm"})],1)},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},1625:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("6f92"),a=i("b2ed"),n=i("0180"),r=i("f10f"),l=i("92b1");class c{constructor(){this.shown=!1;const e=new o.GlobalPoint(0,0);this.annotationText=new n.Text(e,"","bold 20px serif",0,"rgba(230, 230, 230, 1)"),this.annotationRect=new a.Rect(e,0,0,"rgba(0, 0, 0, 0.6)")}setActiveText(e){if(void 0===this.layer){if(!s.layerManager.hasLayer("draw"))return void console.warn("There is no draw layer to draw annotations on!");this.layer=s.layerManager.getLayer("draw"),this.layer.addShape(this.annotationRect,!1),this.layer.addShape(this.annotationText,!1)}this.shown=""!==e,this.annotationText.refPoint=l.l2g(new o.LocalPoint(this.layer.canvas.width/2,50)),this.annotationText.text=e;const t=this.shown?this.annotationText.getMaxWidth(this.layer.ctx)+10:0,i=this.shown?this.annotationText.getMaxHeight(this.layer.ctx)+10:0;this.annotationRect.refPoint=l.l2g(new o.LocalPoint(this.layer.canvas.width/2-t/2,30)),this.annotationRect.w=t/r.gameStore.zoomFactor,this.annotationRect.h=i/r.gameStore.zoomFactor,this.layer.invalidate(!0)}}t.AnnotationManager=c},"165c":function(e,t,i){"use strict";var o=i("aaee"),s=i.n(o);s.a},"19f9":function(e,t,i){"use strict";i.r(t);var o=i("b0ca"),s=i("8cd4");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("d638");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"081515c4",null);r.options.__file="menu.vue",t["default"]=r.exports},"1c76":function(e,t,i){"use strict";i.r(t);var o=i("2c88"),s=i("300e");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("7f1e");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,null,null);r.options.__file="contextmenu.vue",t["default"]=r.exports},"1dd6":function(e,t,i){"use strict";i.r(t);var o=i("5ae5"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"1eee":function(e,t,i){"use strict";i.r(t);var o=i("d30b"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"206a":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("6f92"),a=i("6c30"),n=i("4709"),r=i("1327"),l=i("5e7c"),c=i("574e"),u=i("b2ed"),d=i("0180");function h(e,t){if(void 0===t&&(t=!1),!t&&s.layerManager.UUIDMap.has(e.uuid))return s.layerManager.UUIDMap.get(e.uuid);let i;const h=new o.GlobalPoint(e.x,e.y);if("rect"===e.type_){const t=e;i=new u.Rect(h,t.width,t.height,t.fill_colour,t.stroke_colour,t.uuid)}else if("circle"===e.type_){const t=e;i=new n.Circle(h,t.radius,t.fill_colour,t.stroke_colour,t.uuid)}else if("circulartoken"===e.type_){const t=e;i=new r.CircularToken(h,t.radius,t.text,t.font,t.fill_colour,t.stroke_colour,t.uuid)}else if("line"===e.type_){const t=e;i=new l.Line(h,new o.GlobalPoint(t.x2,t.y2),t.line_width,t.stroke_colour,t.uuid)}else if("multiline"===e.type_){const t=e;i=new c.MultiLine(h,t.points.map(e=>new o.GlobalPoint(e.x,e.y)),t.line_width,t.stroke_colour,t.uuid)}else if("text"===e.type_){const t=e;i=new d.Text(h,t.text,t.font,t.angle,t.fill_colour,t.stroke_colour,t.uuid)}else{if("assetrect"!==e.type_)return;{const t=e,o=new Image(t.width,t.height);t.src.startsWith("http")?o.src=new URL(t.src).pathname:o.src=t.src,i=new a.Asset(o,h,t.width,t.height,t.uuid),o.onload=(()=>{s.layerManager.getLayer(e.layer).invalidate(!1)})}}return i.fromDict(e),i}t.createShapeFromDict=h},"223d":function(e,t,i){"use strict";var o=i("e756"),s=i.n(o);s.a},2469:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("66cb")),a=i("4a5b"),n=i("0bc6"),r=i("f312"),l=i("6f92"),c=i("f10f"),u=i("92b1");class d{constructor(e,t,i,o){this.fillColour="#000",this.strokeColour="rgba(0,0,0,0)",this.name="Unknown shape",this.trackers=[],this.auras=[],this.owners=[],this.visionObstruction=!1,this.movementObstruction=!1,this.isToken=!1,this.showHighlight=!1,this.annotation="",this.globalCompositeOperation="source-over",this.options=new Map,this.refPoint=e,this.uuid=o||a.uuidv4(),void 0!==t&&(this.fillColour=t),void 0!==i&&(this.strokeColour=i)}visibleInCanvas(e){return!1}invalidate(e){const t=l.layerManager.getLayer(this.layer);t&&t.invalidate(e)}checkVisionSources(){const e=this,t=c.gameStore.visionBlockers.indexOf(this.uuid);let i=!1;this.visionObstruction&&-1===t?(c.gameStore.visionBlockers.push(this.uuid),i=!0):!this.visionObstruction&&t>=0&&(c.gameStore.visionBlockers.splice(t,1),i=!0),i&&c.gameStore.recalculateBV(),this.auras.forEach(t=>{const i=c.gameStore.visionSources,o=i.findIndex(e=>e.aura===t.uuid);t.visionSource&&-1===o?i.push({shape:e.uuid,aura:t.uuid}):!t.visionSource&&o>=0&&i.splice(o,1)});for(let o=c.gameStore.visionSources.length-1;o>=0;o--){const t=c.gameStore.visionSources[o];t.shape===e.uuid&&(e.auras.some(e=>e.uuid===t.aura&&e.visionSource)||c.gameStore.visionSources.splice(o,1))}}setMovementBlock(e){this.movementObstruction=e||!1;const t=c.gameStore.movementblockers.indexOf(this.uuid);this.movementObstruction&&-1===t?c.gameStore.movementblockers.push(this.uuid):!this.movementObstruction&&t>=0&&c.gameStore.movementblockers.splice(t,1)}setIsToken(e){if(this.isToken=e,this.ownedBy()){const e=c.gameStore.ownedtokens.indexOf(this.uuid);this.isToken&&-1===e?c.gameStore.ownedtokens.push(this.uuid):!this.isToken&&e>=0&&c.gameStore.ownedtokens.splice(e,1)}}ownedBy(e){return void 0===e&&(e=c.gameStore.username),c.gameStore.IS_DM||this.owners.includes(e)}getBaseDict(){return{type_:this.type,uuid:this.uuid,x:this.refPoint.x,y:this.refPoint.y,layer:this.layer,draw_operator:this.globalCompositeOperation,movement_obstruction:this.movementObstruction,vision_obstruction:this.visionObstruction,auras:r.aurasToServer(this.auras),trackers:this.trackers,owners:this.owners,fill_colour:this.fillColour,stroke_colour:this.strokeColour,name:this.name,annotation:this.annotation,is_token:this.isToken,options:JSON.stringify([...this.options])}}fromDict(e){this.layer=e.layer,this.globalCompositeOperation=e.draw_operator,this.movementObstruction=e.movement_obstruction,this.visionObstruction=e.vision_obstruction,this.auras=r.aurasFromServer(e.auras),this.trackers=e.trackers,this.owners=e.owners,this.isToken=e.is_token,e.annotation&&(this.annotation=e.annotation),e.name&&(this.name=e.name),e.options&&(this.options=new Map(JSON.parse(e.options)))}draw(e){if(void 0!==this.globalCompositeOperation?e.globalCompositeOperation=this.globalCompositeOperation:e.globalCompositeOperation="source-over",this.showHighlight){const t=this.getBoundingBox();e.strokeStyle="red",e.strokeRect(u.g2lx(t.topLeft.x)-5,u.g2ly(t.topLeft.y)-5,u.g2lz(t.w)+10,u.g2lz(t.h)+10)}}drawAuras(e){for(const i of this.auras){if(0===i.value&&0===i.dim)return;e.beginPath();const o=u.g2l(this.center()),a=u.g2lr(i.value+i.dim);if(0===i.dim)e.fillStyle=i.colour;else{const t=e.createRadialGradient(o.x,o.y,u.g2lr(i.value),o.x,o.y,u.g2lr(i.value+i.dim)),a=s.default(i.colour);e.fillStyle=t,t.addColorStop(0,i.colour),t.addColorStop(1,a.setAlpha(0).toRgbString())}if(i.visionSource&&void 0!==i.lastPath)try{e.fill(i.lastPath)}catch(t){e.arc(o.x,o.y,a,0,2*Math.PI),e.fill(),console.warn(t)}else e.arc(o.x,o.y,a,0,2*Math.PI),e.fill()}}getInitiativeRepr(){return{uuid:this.uuid,visible:!c.gameStore.IS_DM,group:!1,source:this.name,has_img:!1,effects:[],index:1/0}}moveLayer(e,t){const i=l.layerManager.getLayer(this.layer),o=l.layerManager.getLayer(e);void 0!==i&&void 0!==o&&(this.layer=e,i.shapes.splice(i.shapes.indexOf(this),1),o.shapes.push(this),i.invalidate(!0),o.invalidate(!1),t&&n.socket.emit("Shape.Layer.Change",{uuid:this.uuid,layer:e}))}}t.Shape=d},"255e":function(e,t,i){"use strict";i.r(t);var o=i("851c"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},2686:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return null!==e.note?i("modal",{attrs:{visible:e.visible,mask:!1},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[i("span",{on:{click:function(t){e.$refs.title.select()}}},[i("i",{staticClass:"fas fa-pencil-alt",staticStyle:{"font-size":"15px"}})]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.note.title,expression:"note.title"}],ref:"title",domProps:{value:e.note.title},on:{change:e.updateNote,input:function(t){t.target.composing||e.$set(e.note,"title",t.target.value)}}}),i("div",{staticClass:"header-close",on:{click:function(t){e.visible=!1}}},[i("i",{staticClass:"far fa-window-close"})])])}}])},[i("div",{staticClass:"modal-body"},[i("textarea",{directives:[{name:"model",rawName:"v-model",value:e.note.text,expression:"note.text"}],ref:"textarea",style:{height:e.calcHeight()},domProps:{value:e.note.text},on:{change:e.updateNote,input:function(t){t.target.composing||e.$set(e.note,"text",t.target.value)}}})]),i("div",{staticClass:"modal-footer"},[i("button",{on:{click:e.removeNote}},[i("i",{staticClass:"far fa-trash-alt"}),e._v(" Remove\n ")])])]):e._e()},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"26a5":function(e,t,i){"use strict";var o=i("f2d0"),s=i.n(o);s.a},2756:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("496c")),a=o.__importDefault(i("ea6a")),n=i("4a5b"),r=i("0bc6"),l=i("8f0a"),c=i("6f92"),u=i("b2ed"),d=i("f10f"),h=i("2838"),f=i("92b1"),p=i("5a5c"),g=o.__importDefault(i("65d9"));var m;(function(e){e[e["Noop"]=0]="Noop",e[e["Resize"]=1]="Resize",e[e["Drag"]=2]="Drag",e[e["GroupSelect"]=3]="GroupSelect"})(m=t.SelectOperations||(t.SelectOperations={}));const v=new l.GlobalPoint(-1e3,-1e3);let y=class extends a.default{constructor(){super(...arguments),this.name="Select",this.showContextMenu=!1,this.active=!1,this.mode=m.Noop,this.resizeDirection="",this.deltaChanged=!1,this.dragRay=new l.Ray(new l.LocalPoint(0,0),new l.Vector(0,0)),this.selectionStartPoint=v,this.selectionHelper=new u.Rect(v,0,0)}created(){this.selectionHelper.globalCompositeOperation="source-over"}onMouseDown(e){const t=c.layerManager.getLayer();if(void 0===t)return void console.log("No active layer!");this.selectionHelper.owners.includes(d.gameStore.username)||this.selectionHelper.owners.push(d.gameStore.username);const i=p.getMouse(e),o=f.l2g(i);let s,a=!1;s=t.selection.length?t.shapes.concat(t.selection):t.shapes;for(let r=s.length-1;r>=0;r--){const e=s[r];if(!e.ownedBy())continue;const c=e.getBoundingBox().getCorner(o);if(void 0!==c){t.selection=[e],n.getRef("selectionInfo").shape=e,this.mode=m.Resize,this.resizeDirection=c,t.invalidate(!0),a=!0;break}if(e.contains(o)){const o=e;-1===t.selection.indexOf(o)&&(t.selection=[o],n.getRef("selectionInfo").shape=o),this.mode=m.Drag;const s=f.g2l(o.refPoint);this.dragRay=new l.Ray(s,i.subtract(s)),t.invalidate(!0),a=!0;break}}if(!a){this.mode=m.GroupSelect;for(const e of t.selection)n.getRef("selectionInfo").shape=e;this.selectionStartPoint=o,this.selectionHelper.refPoint=this.selectionStartPoint,this.selectionHelper.w=0,this.selectionHelper.h=0,t.selection=[this.selectionHelper],t.invalidate(!0)}this.active=!0}onMouseMove(e){const t=c.layerManager.getLayer();if(void 0===t)return void console.log("No active layer!");const i=p.getMouse(e),o=f.l2g(i);if(this.deltaChanged=!1,this.mode===m.GroupSelect){const e=o;this.selectionHelper.w=Math.abs(e.x-this.selectionStartPoint.x),this.selectionHelper.h=Math.abs(e.y-this.selectionStartPoint.y),this.selectionHelper.refPoint=new l.GlobalPoint(Math.min(this.selectionStartPoint.x,e.x),Math.min(this.selectionStartPoint.y,e.y)),t.invalidate(!0)}else if(t.selection.length){const s=f.g2l(t.selection[t.selection.length-1].refPoint),a=s.add(this.dragRay.direction);let n=i.subtract(a).multiply(1/d.gameStore.zoomFactor);const l=n;if(this.mode===m.Drag){if("tokens"===t.name&&(!e.shiftKey||!d.gameStore.IS_DM))for(const e of t.selection)e.uuid!==this.selectionHelper.uuid&&(n=h.calculateDelta(n,e),n!==l&&(this.deltaChanged=!0));for(const e of t.selection)e.refPoint=e.refPoint.add(n),e!==this.selectionHelper&&(e.visionObstruction&&d.gameStore.recalculateBV(),r.socket.emit("Shape.Update",{shape:e.asDict(),redraw:!0,temporary:!0}));t.invalidate(!1)}else if(this.mode===m.Resize)for(const e of t.selection)e.resize(this.resizeDirection,i),e!==this.selectionHelper&&(e.visionObstruction&&d.gameStore.recalculateBV(),r.socket.emit("Shape.Update",{shape:e.asDict(),redraw:!0,temporary:!0})),t.invalidate(!1);else for(const e of t.selection){const t=e.getBoundingBox(),i=o;t.inCorner(i,"nw")?document.body.style.cursor="nw-resize":t.inCorner(i,"ne")?document.body.style.cursor="ne-resize":t.inCorner(i,"se")?document.body.style.cursor="se-resize":t.inCorner(i,"sw")?document.body.style.cursor="sw-resize":document.body.style.cursor="default"}}else document.body.style.cursor="default"}onMouseUp(e){if(!this.active)return;if(void 0===c.layerManager.getLayer())return void console.log("No active layer!");const t=c.layerManager.getLayer();this.mode===m.GroupSelect?(t.clearSelection(),t.shapes.forEach(e=>{if(e===this.selectionHelper)return;const i=e.getBoundingBox();e.ownedBy()&&this.selectionHelper.refPoint.x<=i.topRight.x&&this.selectionHelper.refPoint.x+this.selectionHelper.w>=i.topLeft.x&&this.selectionHelper.refPoint.y<=i.botLeft.y&&this.selectionHelper.refPoint.y+this.selectionHelper.h>=i.topLeft.y&&t.selection.push(e)}),t.selection.length>0&&t.selection.push(this.selectionHelper),t.invalidate(!0)):t.selection.length&&t.selection.forEach(i=>{if(this.mode===m.Drag){if(this.dragRay.origin.x===f.g2lx(i.refPoint.x)&&this.dragRay.origin.y===f.g2ly(i.refPoint.y))return;!d.gameStore.useGrid||e.altKey||this.deltaChanged||i.snapToGrid(),i!==this.selectionHelper&&(i.visionObstruction&&d.gameStore.recalculateBV(),r.socket.emit("Shape.Update",{shape:i.asDict(),redraw:!0,temporary:!1})),t.invalidate(!1)}this.mode===m.Resize&&(d.gameStore.useGrid&&!e.altKey&&i.resizeToGrid(),i!==this.selectionHelper&&(i.visionObstruction&&d.gameStore.recalculateBV(),r.socket.emit("Shape.Update",{shape:i.asDict(),redraw:!0,temporary:!1})),t.invalidate(!1))}),this.mode=m.Noop,this.active=!1}onContextMenu(e){if(void 0===c.layerManager.getLayer())return void console.log("No active layer!");const t=c.layerManager.getLayer(),i=p.getMouse(e),o=f.l2g(i);for(const s of t.selection)if(s.contains(o))return t.selection=[s],n.getRef("selectionInfo").shape=s,t.invalidate(!0),void this.$parent.$refs.shapecontext.open(e,s);this.$refs.selectcontext.open(e)}};y=o.__decorate([g.default({components:{SelectContext:s.default}})],y),t.default=y},2838:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("6f92"),a=i("f10f");function n(e,t,i){void 0===i&&(i=[]);const r=t.getBoundingBox(),l=r.offset(e);let c=!1;for(const n of a.gameStore.movementblockers){if(i.includes(n))continue;const t=s.layerManager.UUIDMap.get(n),a=t.getBoundingBox();let u=a.intersectsWithInner(l);if(!u){const t=o.Ray.fromPoints(r.topLeft.add(e.normalize()),l.topLeft),i=t.direction.inverse(),s=[i.x<0,i.y<0];u=a.intersectP(t,i,s).hit}if(u){const t=a.center(),s=r.center(),l=s.subtract(t),u=new o.Vector(1,0),d=new o.Vector(0,1);let h=l.dot(u),f=l.dot(d);h>a.w/2&&(h=a.w/2),h<-a.w/2&&(h=-a.w/2),f>a.h/2&&(f=a.h/2),f<-a.h/2&&(f=-a.h/2);const p=t.add(u.multiply(h)).add(d.multiply(f));p.x===r.topLeft.x||p.x===r.topRight.x?e=new o.Vector(0,e.y):p.y===r.topLeft.y||p.y===r.botLeft.y?e=new o.Vector(e.x,0):p.xr.topRight.x?e=new o.Vector(p.x-r.topRight.x,e.y):p.yr.botLeft.y&&(e=new o.Vector(e.x,p.y-r.botLeft.y)),c=!0,i.push(n);break}}return c&&(e=n(e,t,i)),e}t.calculateDelta=n},"28b6":function(e,t,i){"use strict";var o=i("ee96"),s=i.n(o);s.a},"2b48":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("0bc6"),s=i("f10f");function a(){o.socket.emit("Client.Options.Set",{locationOptions:{panX:s.gameStore.panX,panY:s.gameStore.panY,zoomFactor:s.gameStore.zoomFactor}})}t.sendClientOptions=a},"2baf":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=i("60a3"),r=i("4a5b");let l=class extends s.default{constructor(){super(...arguments),this.showImage=null}get folders(){return Object.keys(this.asset).filter(e=>!["__files"].includes(e)).sort(r.alphSort)}get files(){return this.asset.__files?this.asset.__files.concat().sort((e,t)=>e.name.toLowerCase()>t.name.toLowerCase()?1:-1):[]}toggle(e){for(let t=0;t1?i("div",{attrs:{id:"layerselect"}},[i("ul",e._l(e.layers,function(t){return i("li",{key:t.name,class:{"layer-selected":t===e.selectedLayer},on:{click:function(i){e.selectLayer(t)}}},[i("a",{attrs:{href:"#"}},[e._v(e._s(t))])])}))]):e._e()],2),i("selection-info",{ref:"selectionInfo"}),i("initiative-dialog",{ref:"initiative",attrs:{id:"initiativedialog"}}),i("note-dialog",{ref:"note"}),i("zoom-slider",{attrs:{id:"zoomer",height:6,width:200,min:.1,max:5,interval:.1,"dot-width":8,"dot-height":20,"tooltip-dir":"bottom",tooltip:"hover",formatter:e.zoomFactor.toFixed(1),"slider-style":{"border-radius":"15%"},"bg-style":{"background-color":"#fff","box-shadow":"0.5px 0.5px 3px 1px rgba(0, 0, 0, .36)"},"process-style":{"background-color":"#fff"}},model:{value:e.zoomFactor,callback:function(t){e.zoomFactor=t},expression:"zoomFactor"}}),i("prompt-dialog",{ref:"prompt"}),i("confirm-dialog",{ref:"confirm"})],1)},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"2c88":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.visible?i("div",{staticClass:"ContextMenu",style:{left:e.left,top:e.top},attrs:{tabindex:"-1"},on:{blur:function(t){e.$emit("close")}}},[i("ul",[e._t("default")],2)]):e._e()},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"2d5b":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=i("6fc5"),a=i("3a0b");let n=class extends s.VuexModule{constructor(){super(...arguments),this.root=-1,this.files=[],this.folders=[],this.idMap=new Map,this.selected=[]}clear(){this.folders=[],this.files=[]}clearSelected(){this.selected=[]}setRoot(e){this.root=e}isFile(e){return this.files.includes(e)}};o.__decorate([s.Mutation],n.prototype,"clear",null),o.__decorate([s.Mutation],n.prototype,"clearSelected",null),o.__decorate([s.Mutation],n.prototype,"setRoot",null),o.__decorate([s.Mutation],n.prototype,"isFile",null),n=o.__decorate([s.Module({dynamic:!0,store:a.rootStore,name:"assets",namespaced:!0})],n),t.assetStore=s.getModule(n)},"2f2a":function(e,t,i){},"2f43":function(e,t,i){"use strict";var o=i("af26"),s=i.n(o);s.a},"300e":function(e,t,i){"use strict";i.r(t);var o=i("cde6"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"308b":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("1c76")),r=i("4a5b"),l=i("6f92"),c=i("f10f");let u=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.x=0,this.y=0,this.shape=null}get activeLayer(){const e=l.layerManager.getLayer();return void 0===e?"":e.name}open(e,t){this.visible=!0,this.x=e.pageX,this.y=e.pageY,this.shape=t,this.$nextTick(()=>this.$children[0].$el.focus())}close(){this.visible=!1,this.shape=null}getLayers(){return l.layerManager.layers.filter(e=>e.selectable&&(c.gameStore.IS_DM||e.playerEditable))}getActiveLayer(){return l.layerManager.getLayer()}getInitiativeWord(){return null===this.shape?"":r.getRef("initiative").contains(this.shape.uuid)?"Show":"Add"}setLayer(e){null!==this.shape&&(this.shape.moveLayer(e,!0),this.close())}moveToBack(){if(null===this.shape)return;const e=this.getActiveLayer();e.moveShapeOrder(this.shape,0,!0),this.close()}moveToFront(){if(null===this.shape)return;const e=this.getActiveLayer();e.moveShapeOrder(this.shape,e.shapes.length-1,!0),this.close()}addInitiative(){if(null===this.shape)return;const e=r.getRef("initiative");e.contains(this.shape.uuid)||e.addInitiative(this.shape.getInitiativeRepr()),e.visible=!0,this.close()}};u=o.__decorate([a.default({components:{ContextMenu:n.default}})],u),t.default=u},3427:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return null!==e.shape?i("div",[i("div",{attrs:{id:"selection-menu"}},[i("div",{attrs:{id:"selection-edit-button"},on:{click:e.openEditDialog}},[i("i",{staticClass:"fas fa-edit"})]),i("div",{attrs:{id:"selection-name"}},[e._v(e._s(e.shape.name))]),i("div",{attrs:{id:"selection-trackers"}},[e._l(e.shape.trackers,function(t){return""!==t.name||0!==t.value?[i("div",{key:"name-"+t.uuid},[e._v(e._s(t.name))]),i("div",{key:"value-"+t.uuid,staticClass:"selection-tracker-value",on:{click:function(i){e.changeValue(t,!1)}}},[0===t.maxvalue?[e._v(e._s(t.value))]:[e._v(e._s(t.value)+" / "+e._s(t.maxvalue))]],2)]:e._e()})],2),i("div",{attrs:{id:"selection-auras"}},[e._l(e.shape.auras,function(t){return""!==t.name||0!==t.value?[i("div",{key:"name-"+t.uuid},[e._v(e._s(t.name))]),i("div",{key:"value-"+t.uuid,staticClass:"selection-tracker-value",on:{click:function(i){e.changeValue(t,!0)}}},[0===t.dim?[e._v(e._s(t.value))]:[e._v(e._s(t.value)+" / "+e._s(t.dim))]],2)]:e._e()})],2)]),i("edit-dialog",{ref:"editDialog",attrs:{shape:e.shape}})],1):e._e()},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},3481:function(e,t,i){"use strict";i.r(t);var o=i("47e6"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"38c9":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("bab4"),s=i("f10f");class a extends o.Layer{invalidate(){this.valid=!1}draw(e){this.valid||this.drawGrid()}drawGrid(){const e=this.ctx;this.clear(),e.beginPath();const t=s.gameStore.gridSize;for(let i=0;it.uuid===e.uuid);this.preFogShapes.splice(t,1)}super.removeShape(e,t,i)}draw(){if(!this.valid){const e=this.ctx;if(n.Settings.skipLightFOW)return e.clearRect(0,0,this.canvas.width,this.canvas.height),void(this.valid=!0);const t=e.globalCompositeOperation;e.clearRect(0,0,this.canvas.width,this.canvas.height),e.fillStyle="rgba(0, 0, 0, 1)";const i=a.layerManager.getLayer("draw").ctx;(n.Settings.drawAngleLines||n.Settings.drawFirstLightHit)&&i.clearRect(0,0,i.canvas.width,i.canvas.height),l.gameStore.fullFOW&&a.layerManager.hasLayer("tokens")&&a.layerManager.getLayer("tokens").shapes.forEach(t=>{if(!t.ownedBy()||!t.isToken)return;const i=t.getBoundingBox(),o=c.g2l(t.center()),s=.8*c.g2lz(i.w);e.beginPath(),e.arc(o.x,o.y,s,0,2*Math.PI);const a=e.createRadialGradient(o.x,o.y,s/2,o.x,o.y,s);a.addColorStop(0,"rgba(0, 0, 0, 1)"),a.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=a,e.fill()});for(const s of l.gameStore.visionSources){const t=a.layerManager.UUIDMap.get(s.shape);if(void 0===t)continue;const u=t.auras.find(e=>e.uuid===s.aura);if(void 0===u)continue;const d=c.getUnitDistance(u.value+u.dim),h=t.center(),f=c.g2l(h),p=new r.Circle(h,d);if(!p.visibleInCanvas(e.canvas))continue;let g=-1;const m=new Path2D;let v;m.moveTo(f.x,f.y);for(let s=0;s<2*Math.PI;s+=n.Settings.angleSteps/180*Math.PI){const t=new o.GlobalPoint(h.x+d*Math.cos(s),h.y+d*Math.sin(s));n.Settings.drawAngleLines&&(i.beginPath(),i.moveTo(c.g2lx(h.x),c.g2ly(h.y)),i.lineTo(c.g2lx(t.x),c.g2ly(t.y)),i.stroke());const a=o.Ray.fromPoints(h,t),r=l.gameStore.BV.intersect(a);if(0===s&&(v=r.hit?r.intersect:t),r.hit)-1!==g&&(m.arc(f.x,f.y,c.g2lr(u.value+u.dim),g,s),g=-1),m.lineTo(c.g2lx(r.intersect.x),c.g2ly(r.intersect.y));else if(-1===g){g=s;const i=c.g2l(t);e.lineTo(i.x,i.y)}}if(-1===g?m.lineTo(c.g2lx(v.x),c.g2ly(v.y)):m.arc(f.x,f.y,c.g2lr(u.value+u.dim),g,2*Math.PI),l.gameStore.fullFOW){if(u.dim>0){const t=e.createRadialGradient(f.x,f.y,c.g2lr(u.value),f.x,f.y,c.g2lr(u.value+u.dim));t.addColorStop(0,"rgba(0, 0, 0, 1)"),t.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=t}else e.fillStyle="rgba(0, 0, 0, 1)";e.fill(m)}u.lastPath=m}l.gameStore.fowLOS&&(e.globalCompositeOperation="source-in",e.drawImage(a.layerManager.getLayer("fow-players").canvas,0,0));for(const o of this.preFogShapes){if(!o.visibleInCanvas(this.canvas))continue;const t=o.globalCompositeOperation;l.gameStore.fullFOW||("source-over"===o.globalCompositeOperation?o.globalCompositeOperation="destination-out":"destination-out"===o.globalCompositeOperation&&(o.globalCompositeOperation="source-over")),o.draw(e),o.globalCompositeOperation=t}l.gameStore.fullFOW&&(e.globalCompositeOperation="source-out",e.fillStyle=u.getFogColour(),e.fillRect(0,0,e.canvas.width,e.canvas.height)),super.draw(!1),e.globalCompositeOperation=t}}}t.FOWLayer=d},4486:function(e,t,i){"use strict";i.r(t);var o=i("a097"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},4709:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("8db6"),a=i("2469"),n=i("f10f"),r=i("2838"),l=i("92b1"),c=i("5a5c");class u extends a.Shape{constructor(e,t,i,o,s){super(e,i,o,s),this.type="circle",this.r=t||1}asDict(){return Object.assign(this.getBaseDict(),{radius:this.r})}fromDict(e){super.fromDict(e),this.r=e.radius}getBoundingBox(){return new s.BoundingRect(new o.GlobalPoint(this.refPoint.x-this.r,this.refPoint.y-this.r),2*this.r,2*this.r)}draw(e){super.draw(e),e.beginPath(),"fog"===this.fillColour?e.fillStyle=c.getFogColour():e.fillStyle=this.fillColour;const t=l.g2l(this.refPoint);e.arc(t.x,t.y,l.g2lz(this.r),0,2*Math.PI),e.fill(),"rgba(0, 0, 0, 0)"!==this.strokeColour&&(e.beginPath(),e.lineWidth=l.g2lz(5),e.strokeStyle=this.strokeColour,e.arc(t.x,t.y,l.g2lz(this.r),0,2*Math.PI),e.stroke())}contains(e){return Math.pow(e.x-this.refPoint.x,2)+Math.pow(e.y-this.refPoint.y,2){const t=16*Math.random()|0,i="x"===e?t:3&t|8;return i.toString(16)})}function a(e){return e.charAt(0).toUpperCase()+e.slice(1)}function n(e,t){return e.toLowerCase()t(e)?i[1].push(e):i[0].push(e)),i}function u(e,t,i,o){const s=.2*Number(e.font.split("px")[0]),a=e.measureText(t).width;return Math.min(i/a,o/s)}function d(e){return encodeURIComponent(e).replace(/[!'()*]/g,e=>{return"%"+e.charCodeAt(0).toString(16)})}t.uuidv4=s,t.capitalize=a,t.alphSort=n,t.getHTMLFont=r,t.getHTMLTextWidth=l,t.partition=c,t.calcFontScale=u,t.fixedEncodeURIComponent=d;class h{constructor(){this.keys=[],this.values=[]}get(e){return this.values[this.keys.indexOf(e)]}getIndexValue(e){return this.values[e]}getIndexKey(e){return this.keys[e]}set(e,t){this.keys.push(e),this.values.push(t)}indexOf(e){return this.keys.indexOf(e)}remove(e){const t=this.indexOf(e);this.keys.splice(t,1),this.values.splice(t,1)}}function f(){return o.app.$children[0].$refs.activeComponent}function p(e){const t=o.app.$children[0].$refs.activeComponent;return t.$refs[e]}t.OrderedMap=h,t.getComponent=f,t.getRef=p},"4aec":function(e,t,i){"use strict";i.r(t);var o=i("df15"),s=i("f51a");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,null,null);r.options.__file="contextMenu.vue",t["default"]=r.exports},"4b01":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("Modal",{attrs:{visible:e.visible,mask:!1},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[i("div",[e._v("Edit asset")]),i("div",{staticClass:"header-close",on:{click:function(t){e.visible=!1}}},[i("i",{staticClass:"far fa-window-close"})])])}}])},[i("div",{staticClass:"modal-body"},[i("label",{attrs:{for:"shapeselectiondialog-name"}},[e._v("Name")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.shape.name,expression:"shape.name"}],staticStyle:{"grid-column":"numerator / end"},attrs:{type:"text",id:"shapeselectiondialog-name"},domProps:{value:e.shape.name},on:{change:function(t){e.updateShape(!1)},input:function(t){t.target.composing||e.$set(e.shape,"name",t.target.value)}}}),i("label",{attrs:{for:"shapeselectiondialog-istoken"}},[e._v("Is a token")]),i("input",{staticStyle:{"grid-column-start":"remove",width:"15px",height:"15px"},attrs:{type:"checkbox",id:"shapeselectiondialog-istoken"},domProps:{checked:e.shape.isToken},on:{click:e.setToken}}),i("label",{attrs:{for:"shapeselectiondialog-visionblocker"}},[e._v("Blocks vision/light")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.shape.visionObstruction,expression:"shape.visionObstruction"}],staticStyle:{"grid-column-start":"remove",width:"15px",height:"15px"},attrs:{type:"checkbox",id:"shapeselectiondialog-visionblocker"},domProps:{checked:Array.isArray(e.shape.visionObstruction)?e._i(e.shape.visionObstruction,null)>-1:e.shape.visionObstruction},on:{change:[function(t){var i=e.shape.visionObstruction,o=t.target,s=!!o.checked;if(Array.isArray(i)){var a=null,n=e._i(i,a);o.checked?n<0&&e.$set(e.shape,"visionObstruction",i.concat([a])):n>-1&&e.$set(e.shape,"visionObstruction",i.slice(0,n).concat(i.slice(n+1)))}else e.$set(e.shape,"visionObstruction",s)},e.setVisionBlocker]}}),i("label",{attrs:{for:"shapeselectiondialog-moveblocker"}},[e._v("Blocks movement")]),i("input",{staticStyle:{"grid-column-start":"remove",width:"15px",height:"15px"},attrs:{type:"checkbox",id:"shapeselectiondialog-moveblocker"},domProps:{checked:e.shape.movementObstruction},on:{click:e.setMovementBlocker}}),i("div",{staticClass:"spanrow header"},[e._v("Access")]),e._l(e.shape.owners,function(t){return[i("input",{key:t,staticStyle:{"grid-column-start":"name"},attrs:{type:"text",placeholder:"name"},domProps:{value:t},on:{change:function(i){e.updateOwner(i,t)}}}),""!==t?i("div",{key:"remove-"+t,staticStyle:{"grid-column-start":"remove"},on:{click:function(i){e.removeOwner(t)}}},[i("i",{staticClass:"fas fa-trash-alt"})]):e._e()]}),i("div",{staticClass:"spanrow header"},[e._v("Trackers")]),e._l(e.shape.trackers,function(t){return[i("input",{directives:[{name:"model",rawName:"v-model",value:t.name,expression:"tracker.name"}],key:"name-"+t.uuid,staticStyle:{"grid-column-start":"name"},attrs:{type:"text",placeholder:"name"},domProps:{value:t.name},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"name",i.target.value)}}}),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.value,expression:"tracker.value",modifiers:{number:!0}}],key:"value-"+t.uuid,attrs:{type:"text",title:"Current value"},domProps:{value:t.value},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"value",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("span",{key:"fspan-"+t.uuid},[e._v("/")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.maxvalue,expression:"tracker.maxvalue",modifiers:{number:!0}}],key:"maxvalue-"+t.uuid,attrs:{type:"text",title:"Current value"},domProps:{value:t.maxvalue},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"maxvalue",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("span",{key:"sspan-"+t.uuid}),i("div",{key:"visibility-"+t.uuid,style:{opacity:t.visible?1:.3},on:{click:function(i){t.visible=!t.visible,e.updateShape(!1)}}},[i("i",{staticClass:"fas fa-eye"})]),i("span",{key:"tspan-"+t.uuid}),""!==t.name||0!==t.value?i("div",{key:"remove-"+t.uuid,on:{click:function(i){e.removeTracker(t.uuid)}}},[i("i",{staticClass:"fas fa-trash-alt"})]):e._e()]}),i("div",{staticClass:"spanrow header"},[e._v("Auras")]),e._l(e.shape.auras,function(t){return[i("input",{directives:[{name:"model",rawName:"v-model",value:t.name,expression:"aura.name"}],key:"name-"+t.uuid,staticStyle:{"grid-column-start":"name"},attrs:{type:"text",placeholder:"name"},domProps:{value:t.name},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"name",i.target.value)}}}),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.value,expression:"aura.value",modifiers:{number:!0}}],key:"value-"+t.uuid,attrs:{type:"text",title:"Current value"},domProps:{value:t.value},on:{change:function(t){e.updateShape(!0)},input:function(i){i.target.composing||e.$set(t,"value",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("span",{key:"fspan-"+t.uuid},[e._v("/")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.dim,expression:"aura.dim",modifiers:{number:!0}}],key:"dimvalue-"+t.uuid,attrs:{type:"text",title:"Dim value"},domProps:{value:t.dim},on:{change:function(t){e.updateShape(!0)},input:function(i){i.target.composing||e.$set(t,"dim",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("color-picker",{key:"colour-"+t.uuid,attrs:{color:t.colour},on:{"update:color":function(i){e.$set(t,"colour",i)},input:function(i){e.updateAuraColour(t,i)},change:function(t){e.updateShape(!0)}}}),i("div",{key:"visibility-"+t.uuid,style:{opacity:t.visible?1:.3},on:{click:function(i){t.visible=!t.visible,e.updateShape(!0)}}},[i("i",{staticClass:"fas fa-eye"})]),i("div",{key:"visionsource-"+t.uuid,style:{opacity:t.visionSource?1:.3},on:{click:function(i){e.updateAuraVisionSource(t)}}},[i("i",{staticClass:"fas fa-lightbulb"})]),""!==t.name||0!==t.value?i("div",{key:"remove-"+t.uuid,on:{click:function(i){e.removeAura(t.uuid)}}},[i("i",{staticClass:"fas fa-trash-alt"})]):e._e()]}),i("div",{staticClass:"spanrow header"},[e._v("Annotation")]),i("textarea",{staticClass:"spanrow",domProps:{value:e.shape.annotation},on:{change:e.updateAnnotation}})],2)])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"4bc3":function(e,t,i){"use strict";i.r(t);var o=i("2baf"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},5050:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return void 0!==e.getActiveLayer()?i("ContextMenu",{attrs:{visible:e.visible,left:e.x+"px",top:e.y+"px"},on:{close:e.close}},[e.getLayers().length>1?i("li",[e._v("Layer\n "),i("ul",e._l(e.getLayers(),function(t){return i("li",{key:t.name,style:[e.getActiveLayer().name===t.name?{"background-color":"#82c8a0"}:{}],on:{click:function(i){e.setLayer(t.name)}}},[e._v(e._s(t.name))])}))]):e._e(),i("li",{on:{click:e.moveToBack}},[e._v("Move to back")]),i("li",{on:{click:e.moveToFront}},[e._v("Move to front")]),i("li",{on:{click:e.addInitiative}},[e._v(e._s(e.getInitiativeWord())+" initiative")])]):e._e()},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"52a8":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=i("60a3");let r=class extends s.default{constructor(){super(...arguments),this.positioned=!1,this.offsetX=0,this.offsetY=0,this.screenX=0,this.screenY=0,this.dragging=!1}mounted(){this.updatePosition()}updated(){this.updatePosition()}close(e){this.$emit("close")}updatePosition(){if(!this.positioned){const e=this.$refs.container;if(0===e.offsetWidth&&0===e.offsetHeight)return;this.$refs.container.style.left=(window.innerWidth-e.offsetWidth)/2+"px",this.$refs.container.style.top=(window.innerHeight-e.offsetHeight)/2+"px",this.positioned=!0}}dragStart(e){null!==e&&null!==e.dataTransfer&&(e.dataTransfer.setData("Hack",""),e.dataTransfer.setDragImage(this.$refs.container,e.offsetX,e.offsetY),this.offsetX=e.offsetX,this.offsetY=e.offsetY,this.screenX=e.screenX,this.screenY=e.screenY,this.dragging=!0)}dragEnd(e){this.dragging=!1;let t=e.clientX-this.offsetX,i=e.clientY-this.offsetY;0===e.clientX&&0===e.clientY&&0===e.pageX&&0===e.pageY&&(t=parseInt(this.$refs.container.style.left,10)-(this.screenX-e.screenX),i=parseInt(this.$refs.container.style.top,10)-(this.screenY-e.screenY)),t<0&&(t=0),t>window.innerWidth-100&&(t=window.innerWidth-100),i<0&&(i=0),i>window.innerHeight-100&&(i=window.innerHeight-100),this.$refs.container.style.left=t+"px",this.$refs.container.style.top=i+"px",this.$refs.container.style.display="block"}dragOver(e){this.dragging&&(this.$refs.container.style.display="none")}};o.__decorate([n.Prop(Boolean)],r.prototype,"visible",void 0),o.__decorate([n.Prop({type:Boolean,default:!0})],r.prototype,"mask",void 0),r=o.__decorate([a.default],r),t.default=r},5338:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("8055")),a=i("2d5b");t.socket=s.default(location.protocol+"//"+location.host+"/pa_assetmgmt",{autoConnect:!1}),t.socket.on("connect",()=>{console.log("Connected")}),t.socket.on("disconnect",()=>{console.log("Disconnected")}),t.socket.on("redirect",e=>{console.log("redirecting"),window.location.href=e}),t.socket.on("Folder.Root.Set",e=>{a.assetStore.setRoot(e)}),t.socket.on("Folder.Set",e=>{if(a.assetStore.clear(),e.children)for(const t of e.children)a.assetStore.idMap.set(t.id,t),t.file_hash?a.assetStore.files.push(t.id):a.assetStore.folders.push(t.id)}),t.socket.on("Folder.Create",e=>{a.assetStore.folders.push(e.id),a.assetStore.idMap.set(e.id,e)}),t.socket.on("Asset.Upload.Finish",e=>{a.assetStore.idMap.set(e.id,e),a.assetStore.files.push(e.id)})},"550a":function(e,t,i){"use strict";var o=i("f8a4"),s=i.n(o);s.a},"561b":function(e,t,i){"use strict";var o=i("a450"),s=i.n(o);s.a},5722:function(e,t,i){},"574e":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("8db6"),a=i("2469"),n=i("92b1"),r=i("5a5c");class l extends a.Shape{constructor(e,t,i,o,s){super(e,"rgba(0, 0, 0, 0)",o||"#000",s),this.type="multiline",this.points=[],this.points=t||[],this.lineWidth=i||3}asDict(){return Object.assign(this.getBaseDict(),{line_width:this.lineWidth,points:this.points.map(e=>({x:e.x,y:e.y}))})}getBoundingBox(){let e=this.refPoint.x,t=this.refPoint.y,i=this.refPoint.x,a=this.refPoint.y;for(const o of this.points)o.xt&&(t=o.x),o.ya&&(a=o.y);return new s.BoundingRect(new o.GlobalPoint(e,i),t-e,a-i)}draw(e){super.draw(e),e.beginPath(),e.lineCap="round",e.lineJoin="round",e.moveTo(n.g2lx(this.refPoint.x),n.g2ly(this.refPoint.y));for(const t of this.points)e.lineTo(n.g2lx(t.x),n.g2ly(t.y));"fog"===this.strokeColour?e.strokeStyle=r.getFogColour():e.strokeStyle=this.strokeColour,e.lineWidth=n.g2lz(this.lineWidth),e.stroke()}contains(e){return this.points.includes(e)}center(e){}getCorner(e){return""}visibleInCanvas(e){return!0}snapToGrid(){}resizeToGrid(){}resize(e,t){}}t.MultiLine=l},"58c7":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"outer",on:{click:function(t){return t.target!==t.currentTarget?null:e.open(t)}}},[i("div",{staticClass:"current-color",style:e.transparent?"background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)":"background-color:"+e.color,on:{click:function(t){return t.target!==t.currentTarget?null:e.open(t)}}}),i("div",{directives:[{name:"show",rawName:"v-show",value:e.display,expression:"display"}],staticClass:"mask",on:{click:function(t){return t.target!==t.currentTarget?null:e.closePicker(t)}}}),i("chrome-picker",{directives:[{name:"show",rawName:"v-show",value:e.display,expression:"display"}],ref:"chromePicker",style:{position:"fixed",left:e.left+"px",top:e.top+"px","z-index":9999},attrs:{value:e.color,tabindex:"-1"},on:{input:e.updateColor}})],1)},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"59d8":function(e,t,i){"use strict";i.r(t);var o=i("aae4"),s=i("6f8d");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("9726");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"5c4191ca",null);r.options.__file="draw.vue",t["default"]=r.exports},"5a5c":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("66cb")),a=i("8f0a"),n=i("f10f");function r(e){return new a.LocalPoint(e.pageX,e.pageY)}function l(e=!1){const t=s.default(n.gameStore.fowColour);return n.gameStore.IS_DM?t.setAlpha(e?1:n.gameStore.fowOpacity):t.setAlpha(1),t.toRgbString()}t.getMouse=r,t.getFogColour=l},"5a81":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importStar(i("66cb")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("65d9")),r=i("2f62"),l=o.__importDefault(i("3b36")),c=o.__importDefault(i("d65f")),u=i("4a5b"),d=i("8f0a"),h=i("6f92"),f=i("1327"),p=i("f10f"),g=i("92b1"),m=i("60a3");let v=class extends a.default{constructor(){super(...arguments),this.x=0,this.y=0,this.visible=!1,this.text="X",this.fillColour="rgba(255, 255, 255, 1)",this.borderColour="rgba(0, 0, 0, 1)"}mounted(){this.updatePreview()}onTextChange(e,t){this.updatePreview()}onFillChange(e,t){this.updatePreview()}onBorderChange(e,t){this.updatePreview()}open(e,t){this.visible=!0,this.x=e,this.y=t}submit(){const e=h.layerManager.getLayer();if(void 0===e)return;const t=new f.CircularToken(g.l2g(new d.LocalPoint(this.x,this.y)),g.getUnitDistance(p.gameStore.unitSize/2),this.text,"10px serif",this.fillColour,this.borderColour);t.owners.push(p.gameStore.username),e.addShape(t,!0),e.invalidate(!1),this.visible=!1}updatePreview(){const e=this.$refs.canvas.getContext("2d");e.clearRect(0,0,e.canvas.width,e.canvas.height),e.beginPath();const t={x:e.canvas.width/2,y:e.canvas.height/2},i=.9*Math.min(t.x,t.y);e.fillStyle=this.fillColour,e.arc(t.x,t.y,i,0,2*Math.PI),e.fill(),"rgba(0, 0, 0, 0)"!==this.borderColour&&(e.beginPath(),e.lineWidth=5,e.strokeStyle=this.borderColour,e.arc(t.x,t.y,i,0,2*Math.PI),e.stroke()),e.save(),e.textAlign="center",e.textBaseline="middle";const o=u.calcFontScale(e,this.text,i,i),a=0;e.transform(o,a,-a,o,t.x,t.y),e.fillStyle=s.mostReadable(this.fillColour,["#000","#fff"]).toHexString(),e.fillText(this.text,0,0),e.restore()}};o.__decorate([m.Watch("text")],v.prototype,"onTextChange",null),o.__decorate([m.Watch("fillColour")],v.prototype,"onFillChange",null),o.__decorate([m.Watch("borderColour")],v.prototype,"onBorderChange",null),v=o.__decorate([n.default({components:{Modal:c.default,"color-picker":l.default},computed:Object.assign({},r.mapState("game",["unitSize"]))})],v),t.default=v},"5ae5":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("d65f")),r=i("4a5b"),l=i("f10f");let c=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.note=null}open(e){this.visible=!0,this.note=e}calcHeight(){if(this.$refs.textarea){const e=this.$refs.textarea;return e.style.height="auto",e.style.height=e.scrollHeight+"px",e.scrollHeight+"px"}return"100px"}updateNote(){this.note&&l.gameStore.updateNote({note:this.note,sync:!0})}removeNote(){r.getRef("confirm").open("Are you sure you wish to remove this?").then(e=>{e&&this.note&&(l.gameStore.removeNote({note:this.note,sync:!0}),this.visible=!1)},()=>{})}};c=o.__decorate([a.default({components:{Modal:n.default}})],c),t.default=c},"5b4c":function(e,t,i){"use strict";var o=i("c6fe"),s=i.n(o);s.a},"5b69":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("65d9")),a=i("60a3"),n=o.__importDefault(i("3b36")),r=o.__importDefault(i("ea6a")),l=i("0bc6"),c=i("8f0a"),u=i("6f92"),d=i("4709"),h=i("574e"),f=i("b2ed"),p=i("f10f"),g=i("92b1"),m=i("5a5c");let v=class extends r.default{constructor(){super(...arguments),this.name="Draw",this.active=!1,this.startPoint=null,this.shape=null,this.brushHelper=null,this.fillColour="rgba(0, 0, 0, 1)",this.borderColour="rgba(255, 255, 255, 0)",this.shapeSelect="square",this.shapes=["square","circle","paint-brush"],this.modeSelect="normal",this.modes=["normal","reveal","hide"],this.brushSize=g.getUnitDistance(p.gameStore.unitSize)}get helperSize(){return"paint-brush"===this.shapeSelect?this.brushSize/2:g.getUnitDistance(this.unitSize)/8}get IS_DM(){return p.gameStore.IS_DM}get unitSize(){return p.gameStore.unitSize}get useGrid(){return p.gameStore.useGrid}onFillChange(){this.brushHelper&&(this.brushHelper.fillColour=this.fillColour)}onModeUpdate(e,t){this.onModeChange(e,t)}setupBrush(){null!==this.brushHelper&&("reveal"===this.modeSelect||"hide"===this.modeSelect?(this.brushHelper.options.set("preFogShape",!0),this.brushHelper.options.set("skipDraw",!0),this.brushHelper.fillColour="rgba(0, 0, 0, 1)","reveal"===this.modeSelect?this.brushHelper.globalCompositeOperation="source-over":"hide"===this.modeSelect&&(this.brushHelper.globalCompositeOperation="destination-out")):(this.brushHelper.options.delete("preFogShape"),this.brushHelper.options.delete("skipDraw"),this.brushHelper.globalCompositeOperation="source-over",this.brushHelper.fillColour=this.fillColour))}onModeChange(e,t){if(null===this.brushHelper)return;const i=u.layerManager.getLayer("fow"),o=u.layerManager.getLayer();void 0!==i&&void 0!==o&&(this.setupBrush(),"normal"!==e&&"normal"===t?(o.removeShape(this.brushHelper,!1),i.addShape(this.brushHelper,!1)):"normal"===e&&"normal"!==t&&(o.addShape(this.brushHelper,!1),i.removeShape(this.brushHelper,!1)))}getLayer(){return"normal"===this.modeSelect?u.layerManager.getLayer():u.layerManager.getLayer("fow")}onMouseDown(e){const t=this.getLayer();if(void 0!==t){if(this.active=!0,this.startPoint=g.l2g(m.getMouse(e)),"square"===this.shapeSelect)this.shape=new f.Rect(this.startPoint.clone(),0,0,this.fillColour,this.borderColour);else if("circle"===this.shapeSelect)this.shape=new d.Circle(this.startPoint.clone(),this.helperSize,this.fillColour,this.borderColour);else{if("paint-brush"!==this.shapeSelect)return;this.shape=new h.MultiLine(this.startPoint.clone(),[],this.brushSize),this.shape.fillColour=this.fillColour}"normal"!==this.modeSelect&&(this.shape.options.set("preFogShape",!0),this.shape.options.set("skipDraw",!0),this.shape.fillColour="rgba(0, 0, 0, 1)"),"reveal"===this.modeSelect?this.shape.globalCompositeOperation="source-over":"hide"===this.modeSelect&&(this.shape.globalCompositeOperation="destination-out"),this.shape.owners.push(p.gameStore.username),"fow"===t.name&&"normal"===this.modeSelect&&(this.shape.visionObstruction=!0,this.shape.movementObstruction=!0),p.gameStore.visionBlockers.push(this.shape.uuid),t.addShape(this.shape,!0,!1),this.onDeselect(),this.onSelect()}else console.log("No active layer!")}onMouseMove(e){const t=g.l2g(m.getMouse(e)),i=this.getLayer();void 0!==i?(null!==this.brushHelper&&(this.brushHelper.r=this.helperSize,this.brushHelper.refPoint=t,this.active||i.invalidate(!1)),this.active&&null!==this.startPoint&&null!==this.shape&&("square"===this.shapeSelect?(this.shape.w=Math.abs(t.x-this.startPoint.x),this.shape.h=Math.abs(t.y-this.startPoint.y),this.shape.refPoint.x=Math.min(this.startPoint.x,t.x),this.shape.refPoint.y=Math.min(this.startPoint.y,t.y)):"circle"===this.shapeSelect?this.shape.r=t.subtract(this.startPoint).length():"paint-brush"===this.shapeSelect&&this.shape.points.push(t),l.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:!0,temporary:!1}),this.shape.visionObstruction&&p.gameStore.recalculateBV(),i.invalidate(!1))):console.log("No active layer!")}onMouseUp(e){this.active&&null!==this.shape&&!e.altKey&&this.useGrid&&(this.shape.resizeToGrid(),l.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:!0,temporary:!1})),this.active=!1}onSelect(){const e=this.getLayer();void 0!==e&&(this.brushHelper=new d.Circle(new c.GlobalPoint(-1e3,-1e3),this.brushSize/2,this.fillColour),this.setupBrush(),e.addShape(this.brushHelper,!1))}onDeselect(){const e=this.getLayer();null!==this.brushHelper&&void 0!==e&&e.removeShape(this.brushHelper,!1)}};o.__decorate([a.Watch("fillColour")],v.prototype,"onFillChange",null),o.__decorate([a.Watch("modeSelect")],v.prototype,"onModeUpdate",null),v=o.__decorate([s.default({components:{"color-picker":n.default}})],v),t.default=v},"5d0b":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class o{constructor(e,t){this.children=[],this.nPrimitives=e,this.bbox=t}}t.BoundingNode=o;class s extends o{constructor(e,t,i){super(t,i),this.firstPrimOffset=e}}t.LeafNode=s;class a extends o{constructor(e,t,i){super(0,t.bbox.union(i.bbox)),this.dimension=e,this.children.push(t),this.children.push(i)}}t.InteriorNode=a},"5e17":function(e,t,i){},"5e7c":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("8db6"),a=i("2469"),n=i("92b1");class r extends a.Shape{constructor(e,t,i,o,s){super(e,"rgba(0, 0, 0, 0)",o||"#000",s),this.type="line",this.endPoint=t,this.lineWidth=void 0===i?1:i}asDict(){return Object.assign(this.getBaseDict(),{x2:this.endPoint.x,y2:this.endPoint.y,line_width:this.lineWidth})}getBoundingBox(){return new s.BoundingRect(new o.GlobalPoint(Math.min(this.refPoint.x,this.endPoint.x),Math.min(this.refPoint.x,this.endPoint.y)),Math.abs(this.refPoint.x-this.endPoint.x),Math.abs(this.refPoint.y-this.endPoint.y))}draw(e){super.draw(e),e.strokeStyle=this.strokeColour,e.beginPath(),e.moveTo(n.g2lx(this.refPoint.x),n.g2ly(this.refPoint.y)),e.lineTo(n.g2lx(this.endPoint.x),n.g2ly(this.endPoint.y)),e.lineWidth=this.lineWidth,e.stroke()}contains(e){return!1}center(e){}getCorner(e){return""}visibleInCanvas(e){return!0}snapToGrid(){}resizeToGrid(){}resize(e,t){}}t.Line=r},"5f86":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("bc3a")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("8c4f"));a.default.use(n.default);const r=o.__importDefault(i("e914")),l=o.__importDefault(i("1077")),c=o.__importDefault(i("cad7")),u=o.__importDefault(i("47f7")),d=o.__importDefault(i("c6b4")),h=o.__importDefault(i("07f5")),f=o.__importDefault(i("ce87")),p=i("cc67");t.router=new n.default({mode:"history",base:"/",routes:[{path:"/",redirect:"/dashboard"},{path:"/_load",name:"load",component:u.default},{path:"/assets",component:r.default,meta:{auth:!0}},{path:"/auth",component:{template:""},children:[{path:"login",component:l.default},{path:"logout",component:c.default}]},{path:"/invite/:code",component:f.default,meta:{auth:!0}},{path:"/dashboard",component:d.default,meta:{auth:!0}},{path:"/game/:creator/:room",component:h.default,meta:{auth:!0}}]}),t.router.beforeEach((e,i,o)=>{p.coreStore.initialized||"/_load"===e.path?e.matched.some(e=>e.meta.auth)&&!p.coreStore.authenticated?o({path:"/auth/login",query:{redirect:e.path}}):o():(o({path:"/_load"}),s.default.get("/api/auth").then(i=>{i.data.auth&&(p.coreStore.setAuthenticated(!0),p.coreStore.setUsername(i.data.username)),p.coreStore.setInitialized(!0),t.router.push(e.path)}).catch(()=>{console.error("Authentication check could not be fulfilled.")}))})},"5fa9":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9"));let n=class extends s.default{constructor(){super(...arguments),this.name="",this.selected=!1,this.active=!1}get detailRight(){const e=this.$parent.$refs[this.name+"-selector"][0].getBoundingClientRect(),t=e.left+e.width/2;return`${window.innerWidth-Math.min(window.innerWidth-25,t+75)}px`}get detailArrow(){const e=this.$parent.$refs[this.name+"-selector"][0].getBoundingClientRect(),t=e.left+e.width/2,i=Math.min(window.innerWidth-25,t+75);return`${i-t-14}px`}created(){this.$parent.$on("mousedown",(e,t)=>{t===this.name&&this.onMouseDown(e)}),this.$parent.$on("mouseup",(e,t)=>{t===this.name&&this.onMouseUp(e)}),this.$parent.$on("mousemove",(e,t)=>{t===this.name&&this.onMouseMove(e)}),this.$parent.$on("contextmenu",(e,t)=>{t===this.name&&this.onContextMenu(e)}),this.$parent.$on("tools-select-change",(e,t)=>{t===this.name?(this.selected=!1,this.onDeselect()):e===this.name&&(this.selected=!0,this.onSelect())})}onSelect(){}onDeselect(){}onMouseDown(e){}onMouseUp(e){}onMouseMove(e){}onContextMenu(e){}};n=o.__decorate([a.default],n),t.default=n},6100:function(e,t,i){"use strict";i.r(t);var o=i("8a30"),s=i("e94f");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("550a");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"1fee50f5",null);r.options.__file="tools.vue",t["default"]=r.exports},6465:function(e,t,i){"use strict";i.r(t);var o=i("5fa9"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"64a9":function(e,t,i){},"6c30":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("c266"),s=i("f10f"),a=i("92b1");class n extends o.BaseRect{constructor(e,t,i,o,s){super(t,i,o),this.type="assetrect",this.src="",void 0!==s&&(this.uuid=s),this.img=e}asDict(){return Object.assign(this.getBaseDict(),{src:this.src})}fromDict(e){super.fromDict(e),this.src=e.src}draw(e){super.draw(e);try{e.drawImage(this.img,a.g2lx(this.refPoint.x),a.g2ly(this.refPoint.y),a.g2lz(this.w),a.g2lz(this.h))}catch(t){console.warn(`Shape ${this.uuid} could not load the image ${this.src}`)}}getInitiativeRepr(){return{uuid:this.uuid,visible:!s.gameStore.IS_DM,group:!1,source:this.src,has_img:!0,effects:[],index:1/0}}}t.Asset=n},"6f8d":function(e,t,i){"use strict";i.r(t);var o=i("5b69"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"6f92":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("6c30"),a=i("f10f"),n=i("92b1");class r{constructor(){this.layers=[],this.width=window.innerWidth,this.height=window.innerHeight,this.UUIDMap=new Map,this.interval=30,this.drawLoop=(()=>{for(let e=this.layers.length-1;e>=0;e--)this.layers[e].draw();requestAnimationFrame(this.drawLoop)}),requestAnimationFrame(this.drawLoop)}reset(){this.layers=[],this.UUIDMap=new Map}setWidth(e){this.width=e;for(const t of this.layers)t.canvas.width=e,t.width=e}setHeight(e){this.height=e;for(const t of this.layers)t.canvas.height=e,t.height=e}addLayer(e){this.layers.push(e),(a.gameStore.IS_DM||e.playerEditable)&&e.selectable&&a.gameStore.addLayer(e.name)}hasLayer(e){return this.layers.some(t=>t.name===e)}getLayer(e){e=void 0===e?a.gameStore.selectedLayer:e;for(const t of this.layers)if(t.name===e)return t}selectLayer(e,t=!0){let i=!1;for(const o of this.layers)o.selectable&&(i&&"fow"!==o.name?o.ctx.globalAlpha=.3:o.ctx.globalAlpha=1,e===o.name&&(a.gameStore.selectLayer({name:e,sync:t}),i=!0),o.clearSelection(),o.invalidate(!0))}getGridLayer(){return this.getLayer("grid")}hasSelection(){const e=this.getSelection();return void 0!==e&&e.length>0}getSelection(){const e=this.getLayer();if(void 0!==e)return e.selection}invalidate(){for(let e=this.layers.length-1;e>=0;e--)this.layers[e].invalidate(!0)}invalidateLight(){for(let e=this.layers.length-1;e>=0;e--)this.layers[e].isVisionLayer&&this.layers[e].invalidate(!0)}dropAsset(e){const t=this.getLayer();if(void 0===t||null===e||null===e.dataTransfer)return;const i=document.createElement("img");i.src=e.dataTransfer.getData("text/plain");const r=new s.Asset(i,new o.GlobalPoint(n.l2gx(e.clientX),n.l2gy(e.clientY)),n.l2gz(i.width),n.l2gz(i.height));if(r.src=new URL(i.src).pathname,a.gameStore.useGrid){const e=a.gameStore.gridSize;r.refPoint.x=Math.round(r.refPoint.x/e)*e,r.refPoint.y=Math.round(r.refPoint.y/e)*e,r.w=Math.max(Math.round(r.w/e)*e,e),r.h=Math.max(Math.round(r.h/e)*e,e)}t.addShape(r,!0)}}t.layerManager=new r,window.lm=t.layerManager},7018:function(e,t,i){"use strict";i.r(t);var o=i("ebb9"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},7420:function(e,t,i){"use strict";i.r(t);var o=i("1298"),s=i("778b");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("d71e");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"66ccc134",null);r.options.__file="createtoken_modal.vue",t["default"]=r.exports},"778b":function(e,t,i){"use strict";i.r(t);var o=i("5a81"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"77a6":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("4a5b"),s=i("0bc6"),a=i("2b48"),n=i("af17"),r=i("8f0a"),l=i("6f92"),c=i("f10f"),u=i("2838");function d(e){if(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement);else if("Delete"===e.key||"Del"===e.key||"Backspace"===e.key){if(void 0===l.layerManager.getLayer)return void console.log("No active layer selected for delete operation");const e=l.layerManager.getLayer();for(let t=e.selection.length-1;t>=0;t--){const i=e.selection[t];o.getRef("tools").$refs.selectTool.selectionHelper.uuid!==i.uuid?(e.removeShape(i,!0,!1),n.EventBus.$emit("SelectionInfo.Shape.Set",null),n.EventBus.$emit("Initiative.Remove",i.uuid)):e.selection.splice(t,1)}}}function h(e){if(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)65===e.keyCode&&e.ctrlKey&&e.target.select();else if(e.keyCode>=37&&e.keyCode<=40){const t=Math.round(c.gameStore.gridSize);let i=t*(e.keyCode%2),o=t*(e.keyCode%2?0:1);if(l.layerManager.hasSelection()){const a=l.layerManager.getSelection();i*=e.keyCode<=38?-1:1,o*=e.keyCode<=38?-1:1;let n=new r.Vector(i,o);if(!e.shiftKey||!c.gameStore.IS_DM)for(const e of a)n=u.calculateDelta(n,e);for(const e of a)e.refPoint.x+=n.x,e.refPoint.y+=n.y,e.refPoint.x%t===0&&e.refPoint.y%t===0||e.snapToGrid(),s.socket.emit("Shape.Position.Update",{shape:e.asDict(),redraw:!0,temporary:!1});l.layerManager.getLayer().invalidate(!1)}else c.gameStore.increasePanX(i*(e.keyCode<=38?1:-1)),c.gameStore.increasePanY(o*(e.keyCode<=38?1:-1)),l.layerManager.invalidate(),a.sendClientOptions()}else if(68===e.keyCode){const e=l.layerManager.getLayer();e&&(e.clearSelection(),e.invalidate(!0))}}t.onKeyUp=d,t.onKeyDown=h},"78c7":function(e,t,i){"use strict";var o=i("9227"),s=i.n(o);s.a},"7aaa":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("033f")),n=o.__importDefault(i("7420")),r=o.__importDefault(i("59d8")),l=o.__importDefault(i("dec1")),c=o.__importDefault(i("4899")),u=o.__importDefault(i("c277")),d=i("6f92"),h=i("9cb7"),f=i("f10f"),p=i("d5df"),g=i("92b1"),m=i("5a5c"),v=o.__importDefault(i("65d9"));let y=class extends s.default{constructor(){super(...arguments),this.currentTool="Select",this.tools=["Select","Pan","Draw","Ruler","Map"],this.dmTools=["Map"]}get IS_DM(){return f.gameStore.IS_DM}get currentToolComponent(){return`${this.currentTool.toLowerCase()}-tool`}mousedown(e){if("CANVAS"!==e.target.tagName)return;let t=this.currentTool;if(1===e.button)t="Pan";else if(0!==e.button)return;this.$emit("mousedown",e,t)}mouseup(e){if("CANVAS"!==e.target.tagName)return;let t=this.currentTool;if(1===e.button)t="Pan";else if(0!==e.button)return;this.$emit("mouseup",e,t)}mousemove(e){if("CANVAS"!==e.target.tagName)return;let t=this.currentTool;if(0!==(4&e.buttons))t="Pan";else if((1&e.button)>1)return;this.$emit("mousemove",e,t);let i=!1;for(const o of f.gameStore.annotations)if(d.layerManager.UUIDMap.has(o)&&d.layerManager.hasLayer("draw")){const t=d.layerManager.UUIDMap.get(o);t.contains(g.l2g(m.getMouse(e)))&&(i=!0,h.gameManager.annotationManager.setActiveText(t.annotation))}!i&&h.gameManager.annotationManager.shown&&h.gameManager.annotationManager.setActiveText("")}mouseleave(e){0!==(1&e.buttons)&&this.$emit("mouseup",e,this.currentTool)}contextmenu(e){"CANVAS"===e.target.tagName&&2===e.button&&"CANVAS"===e.target.tagName&&this.$emit("contextmenu",e,this.currentTool)}};y=o.__decorate([v.default({components:{"select-tool":u.default,"pan-tool":c.default,"draw-tool":r.default,"ruler-tool":p.RulerTool,"map-tool":l.default,"shape-menu":a.default,"createtoken-dialog":n.default},watch:{currentTool(e,t){this.$emit("tools-select-change",e,t)}}})],y),t.default=y},"7ba5":function(e,t,i){"use strict";i.r(t);var o=i("fbdd"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"7e15":function(e,t,i){"use strict";i.r(t);var o=i("52a8"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"7f1e":function(e,t,i){"use strict";var o=i("fe11"),s=i.n(o);s.a},8095:function(e,t,i){},"831f":function(e,t,i){"use strict";var o=i("8d53"),s=i.n(o);s.a},"851c":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("d65f"));let r=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.question="",this.answer="",this.title="",this.resolve=(e=>{}),this.reject=(()=>{})}submit(){this.resolve(this.answer),this.close()}close(){this.reject(),this.visible=!1,this.question="",this.answer="",this.title=""}prompt(e,t){return this.question=e,this.title=t,this.visible=!0,this.$nextTick(()=>{this.$refs.answer.focus()}),new Promise((e,t)=>{this.resolve=e,this.reject=t})}};r=o.__decorate([a.default({components:{Modal:n.default}})],r),t.default=r},8577:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ul",[e._l(e.folders,function(t){return i("li",{key:t,staticClass:"folder",on:{click:function(t){return t.stopPropagation(),e.toggle(t)}}},[e._v("\n "+e._s(t)+"\n "),i("asset-node",{attrs:{asset:e.asset[t]}})],1)}),e._l(e.files,function(t){return i("li",{key:t.name,staticClass:"file draggable token",attrs:{draggable:"true"},on:{mouseover:function(i){e.showImage=t.hash},mouseout:function(t){e.showImage=null},dragstart:function(i){e.dragStart(i,"/static/assets/"+t.hash)}}},[e._v("\n "+e._s(t.name)+"\n "),e.showImage==t.hash?i("div",{staticClass:"preview"},[i("img",{staticClass:"asset-preview-image",attrs:{src:"/static/assets/"+t.hash}})]):e._e()])})],2)},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"88af":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[e._v(e._s(e.message))])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"8a30":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{attrs:{id:"toolselect"}},[i("ul",e._l(e.tools,function(t){return!e.dmTools.includes(t)||e.IS_DM?i("li",{key:t,ref:t+"-selector",refInFor:!0,class:{"tool-selected":e.currentTool===t},on:{click:function(i){e.currentTool=t}}},[i("a",{attrs:{href:"#"}},[e._v(e._s(t))])]):e._e()}))]),i("div",[[i("select-tool",{directives:[{name:"show",rawName:"v-show",value:"Select"===e.currentTool,expression:"currentTool === 'Select'"}],ref:"selectTool"}),i("pan-tool",{directives:[{name:"show",rawName:"v-show",value:"Pan"===e.currentTool,expression:"currentTool === 'Pan'"}]}),i("keep-alive",[i("draw-tool",{directives:[{name:"show",rawName:"v-show",value:"Draw"===e.currentTool,expression:"currentTool === 'Draw'"}]})],1),i("ruler-tool",{directives:[{name:"show",rawName:"v-show",value:"Ruler"===e.currentTool,expression:"currentTool === 'Ruler'"}]}),i("map-tool",{directives:[{name:"show",rawName:"v-show",value:"Map"===e.currentTool,expression:"currentTool === 'Map'"}]}),i("shape-menu",{ref:"shapecontext"}),i("createtoken-dialog",{ref:"createtokendialog"})]],2)])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"8cd4":function(e,t,i){"use strict";i.r(t);var o=i("9587"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"8d53":function(e,t,i){},"8db6":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a");class s{constructor(e,t,i){this.w=t,this.h=i,this.topLeft=e,this.topRight=new o.GlobalPoint(e.x+t,e.y),this.botRight=new o.GlobalPoint(e.x+t,e.y+i),this.botLeft=new o.GlobalPoint(e.x,e.y+i)}contains(e){return this.topLeft.x<=e.x&&this.topRight.x>=e.x&&this.topLeft.y<=e.y&&this.botLeft.y>=e.y}offset(e){return new s(this.topLeft.add(e),this.w,this.h)}union(e){const t=Math.min(this.topLeft.x,e.topLeft.x),i=Math.max(this.topRight.x,e.topRight.x),a=Math.min(this.topLeft.y,e.topLeft.y),n=Math.max(this.botLeft.y,e.botLeft.y);return new s(new o.GlobalPoint(t,a),i-t,n-a)}getDiagCorner(e){return e?this.botRight:this.topLeft}intersectsWith(e){return!(e.topLeft.x>this.topRight.x||e.topRight.xthis.botLeft.y||e.botLeft.y=this.topRight.x||e.topRight.x<=this.topLeft.x||e.topLeft.y>=this.botLeft.y||e.botLeft.y<=this.topLeft.y)}intersectP(e,t,i){let o=t.x*(this.getDiagCorner(i[0]).x-e.origin.x),s=t.x*(this.getDiagCorner(!i[0]).x-e.origin.x);const a=t.y*(this.getDiagCorner(i[1]).y-e.origin.y),n=t.y*(this.getDiagCorner(!i[1]).y-e.origin.y);return o>n||a>s?{hit:!1,min:o,max:s}:(a>o&&(o=a),n0,min:o,max:s})}center(e){if(void 0===e)return this.topLeft.add(new o.Vector(this.w/2,this.h/2));this.topLeft.x=e.x-this.w/2,this.topLeft.y=e.y-this.h/2}inCorner(e,t){const i=Math.min(6,this.w/2)/2;switch(t){case"ne":return this.topRight.x-i<=e.x&&e.x<=this.topRight.x+i&&this.topLeft.y-i<=e.y&&e.y<=this.topLeft.y+i;case"nw":return this.topLeft.x-i<=e.x&&e.x<=this.topLeft.x+i&&this.topLeft.y-i<=e.y&&e.y<=this.topLeft.y+i;case"sw":return this.topLeft.x-i<=e.x&&e.x<=this.topLeft.x+i&&this.botLeft.y-i<=e.y&&e.y<=this.botLeft.y+i;case"se":return this.topRight.x-i<=e.x&&e.x<=this.topRight.x+i&&this.botLeft.y-i<=e.y&&e.y<=this.botLeft.y+i;default:return!1}}getCorner(e){return this.inCorner(e,"ne")?"ne":this.inCorner(e,"nw")?"nw":this.inCorner(e,"se")?"se":this.inCorner(e,"sw")?"sw":void 0}getMaxExtent(){return this.w>this.h?0:1}}t.BoundingRect=s},"8e60":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"formcontainer"}},[e.owned||e.joined?i("form",[i("fieldset",[i("legend",{staticClass:"legend"},[e._v("Your sessions")]),i("div",{staticClass:"input"},[e._l(e.owned,function(t,o){return i("router-link",{key:"o-"+o,attrs:{to:"/game/"+t[1]+"/"+t[0]}},[e._v(e._s(t[0]))])}),e._l(e.joined,function(t,o){return i("router-link",{key:"j-"+o,attrs:{to:"/game/"+t[1]+"/"+t[0]}},[e._v(e._s(t[1])+"/"+e._s(t[0]))])})],2),0===e.owned.length?i("div",{staticClass:"input"},[e._v("No active sessions")]):e._e()])]):e._e(),e._m(0),i("form",{on:{submit:function(t){return t.preventDefault(),e.createRoom(t)}}},[i("fieldset",[e.owned||e.joined?i("div",{staticClass:"input"},[e._v("Create a new session")]):i("legend",{staticClass:"legend"},[e._v("Create a session")]),i("div",{staticClass:"input"},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.newSessionName,expression:"newSessionName"}],attrs:{type:"text",name:"room_name",placeholder:"Session Name"},domProps:{value:e.newSessionName},on:{input:function(t){t.target.composing||(e.newSessionName=t.target.value)}}}),e._m(1)]),e._m(2)])]),i("div",{attrs:{id:"account-options"}},[i("form",{on:{submit:function(e){e.preventDefault()}}},[i("router-link",{staticClass:"submit",attrs:{tag:"button",title:"Account Settings",to:"/account"}},[i("i",{staticClass:"fas fa-cog"})])],1),i("form",{on:{submit:function(e){e.preventDefault()}}},[i("router-link",{staticClass:"submit",attrs:{tag:"button",title:"Logout",to:"/auth/logout"}},[i("i",{staticClass:"fas fa-sign-out-alt"})])],1)])])},s=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("h4",[i("span",[e._v("OR")])])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("i",{staticClass:"fab fa-d-and-d"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("button",{staticClass:"submit",attrs:{type:"submit",title:"Create"}},[i("i",{staticClass:"fas fa-arrow-right"})])}];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"8f0a":function(e,t,i){"use strict";function o(e,t){const i=e.x-t.x,o=e.y-t.y;return Math.sqrt(i*i+o*o)}Object.defineProperty(t,"__esModule",{value:!0}),t.getPointDistance=o;class s{constructor(e,t){this.x=e,this.y=t}add(e){return new s(this.x+e.x,this.y+e.y)}subtract(e){return new r(this.x-e.x,this.y-e.y)}clone(){return new s(this.x,this.y)}get(e){return 0===e?this.x:this.y}}t.Point=s;class a extends s{add(e){return super.add(e)}subtract(e){return super.subtract(e)}clone(){return super.clone()}}t.GlobalPoint=a;class n extends s{add(e){return super.add(e)}subtract(e){return super.subtract(e)}clone(){return super.clone()}}t.LocalPoint=n;class r{constructor(e,t){this.x=e,this.y=t}dot(e){return this.x*e.x+this.y*e.y}inverse(){return new r(1/this.x,1/this.y)}length(){return Math.sqrt(Math.pow(this.x,2)+Math.pow(this.y,2))}normalize(){const e=this.length();return new r(this.x/e,this.y/e)}reverse(){return new r(-this.x,-this.y)}multiply(e){return new r(this.x*e,this.y*e)}}t.Vector=r;class l{constructor(e,t,i){this.direction=t,this.origin=e,void 0===i&&(i=1/0),this.tMax=i}static fromPoints(e,t){const i=new r(t.x-e.x,t.y-e.y);let o;return o=Math.abs(i.x)>.01?(t.x-e.x)/i.x:(t.y-e.y)/i.y,new l(e,i,o)}get(e){return new s(this.origin.x+e*this.direction.x,this.origin.y+e*this.direction.y)}getDistance(e,t){return Math.sqrt(Math.pow(t-e,2)*(Math.pow(this.direction.x,2)+Math.pow(this.direction.y,2)))}getT(e,t){return e+Math.sqrt(Math.pow(t,2)/(Math.pow(this.direction.x,2)+Math.pow(this.direction.y,2)))}}t.Ray=l},"91df":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("6f79"));i("fe80");const r=i("2ef0"),l=o.__importDefault(i("a535")),c=o.__importDefault(i("cec2")),u=o.__importDefault(i("f5fe")),d=o.__importDefault(i("19f9")),h=o.__importDefault(i("f551")),f=o.__importDefault(i("f086")),p=o.__importDefault(i("6100")),g=i("0bc6"),m=i("77a6"),v=i("bb17"),y=i("6f92"),b=i("f10f"),_=i("92b1"),S=i("8f0a");let x=class extends s.default{constructor(){super(...arguments),this.ready={manager:!1,tools:!1}}get IS_DM(){return b.gameStore.IS_DM}get layers(){return b.gameStore.layers}get selectedLayer(){return b.gameStore.selectedLayer}get zoomFactor(){return b.gameStore.zoomFactor}set zoomFactor(e){b.gameStore.updateZoom({newZoomValue:e,zoomLocation:_.l2g(new S.LocalPoint(window.innerWidth/2,window.innerHeight/2))})}mounted(){window.addEventListener("resize",()=>{y.layerManager.setWidth(window.innerWidth),y.layerManager.setHeight(window.innerHeight),y.layerManager.invalidate()}),window.addEventListener("wheel",r.throttle(v.scrollZoom)),window.addEventListener("keyup",m.onKeyUp),window.addEventListener("keydown",m.onKeyDown),window.addEventListener("selectstart",e=>{return e.preventDefault(),!1}),this.ready.manager=!0}mousedown(e){this.$refs.tools.mousedown(e)}mouseup(e){this.$refs.tools.mouseup(e)}mousemove(e){this.$refs.tools.mousemove(e)}mouseleave(e){this.$refs.tools.mouseleave(e)}contextmenu(e){this.$refs.tools.contextmenu(e)}selectLayer(e){y.layerManager.selectLayer(e)}drop(e){if(null!==e&&null!==e.dataTransfer)if(e.dataTransfer.files.length>0)this.$refs.confirm.open("Uploading files should be done through the asset manager.","Ok","").then(()=>{},()=>{});else{if(""===e.dataTransfer.getData("text/plain"))return;y.layerManager.dropAsset(e)}}};x=o.__decorate([a.default({components:{"tool-bar":p.default,"selection-info":f.default,"prompt-dialog":c.default,"confirm-dialog":l.default,"menu-bar":d.default,"initiative-dialog":u.default,"zoom-slider":n.default,"note-dialog":h.default},beforeRouteEnter(e,t,i){g.createConnection(e),i()},beforeRouteLeave(e,t,i){g.socket.disconnect(),i()}})],x),t.default=x},9227:function(e,t,i){},"92b1":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("f10f");function a(e){const t=s.gameStore.zoomFactor,i=s.gameStore.panX,a=s.gameStore.panY;return new o.LocalPoint((e.x+i)*t,(e.y+a)*t)}function n(e){return a(new o.GlobalPoint(e,0)).x}function r(e){return a(new o.GlobalPoint(0,e)).y}function l(e){return e*s.gameStore.zoomFactor}function c(e){return e/s.gameStore.unitSize*s.gameStore.gridSize}function u(e){return l(c(e))}function d(e){const t=s.gameStore.zoomFactor,i=s.gameStore.panX,a=s.gameStore.panY;return e instanceof o.LocalPoint?new o.GlobalPoint(e.x/t-i,e.y/t-a):new o.Ray(d(e.origin),e.direction.multiply(1/t),e.tMax)}function h(e){return d(new o.LocalPoint(e,0)).x}function f(e){return d(new o.LocalPoint(0,e)).y}function p(e){return e/s.gameStore.zoomFactor}function g(e){return p(c(e))}t.g2l=a,t.g2lx=n,t.g2ly=r,t.g2lz=l,t.getUnitDistance=c,t.g2lr=u,t.l2g=d,t.l2gx=h,t.l2gy=f,t.l2gz=p,t.l2gr=g},9587:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=i("2f62"),r=o.__importDefault(i("3b36")),l=o.__importDefault(i("0ddd")),c=i("4a5b"),u=i("0bc6"),d=i("f10f");let h=class extends s.default{constructor(){super(...arguments),this.visible={settings:!1,locations:!1}}get useGrid(){return d.gameStore.useGrid}set useGrid(e){d.gameStore.setUseGrid({useGrid:e,sync:!0})}get fullFOW(){return d.gameStore.fullFOW}set fullFOW(e){d.gameStore.setFullFOW({fullFOW:e,sync:!0})}get fowOpacity(){return d.gameStore.fowOpacity}set fowOpacity(e){"number"===typeof e&&d.gameStore.setFOWOpacity({fowOpacity:e,sync:!0})}get fowLOS(){return d.gameStore.fowLOS}set fowLOS(e){d.gameStore.setLineOfSight({fowLOS:e,sync:!0})}get unitSize(){return d.gameStore.unitSize}set unitSize(e){"number"===typeof e&&d.gameStore.setUnitSize({unitSize:e,sync:!0})}get gridSize(){return d.gameStore.gridSize}set gridSize(e){"number"===typeof e&&d.gameStore.setGridSize({gridSize:e,sync:!0})}get gridColour(){return d.gameStore.gridColour}set gridColour(e){d.gameStore.setGridColour({colour:e,sync:!0})}get fowColour(){return d.gameStore.fowColour}set fowColour(e){d.gameStore.setFOWColour({colour:e,sync:!0})}get rulerColour(){return d.gameStore.rulerColour}set rulerColour(e){d.gameStore.setRulerColour({colour:e,sync:!0})}settingsClick(e){if(e.target.classList.contains("accordion")){e.target.classList.toggle("accordion-active");const t=e.target.nextElementSibling;null!==t&&(t.style.display=""===t.style.display?"block":"")}}changeLocation(e){u.socket.emit("Location.Change",e)}createLocation(){c.getRef("prompt").prompt("New location name:","Create new location").then(e=>{u.socket.emit("Location.New",e)},()=>{})}createNote(){const e={title:"New note",text:"",uuid:c.uuidv4()};d.gameStore.newNote({note:e,sync:!0}),this.openNote(e)}openNote(e){c.getRef("note").open(e)}};h=o.__decorate([a.default({components:{"color-picker":r.default,"asset-node":l.default},computed:Object.assign({},n.mapState("game",["invitationCode","IS_DM","locations","assets","notes"]))})],h),t.default=h},9726:function(e,t,i){"use strict";var o=i("2f2a"),s=i.n(o);s.a},"979e":function(e,t,i){"use strict";i.r(t);var o=i("0634"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},9845:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContextMenu",{attrs:{visible:e.visible,left:e.x+"px",top:e.y+"px"},on:{close:e.close}},[e.IS_DM?i("li",{on:{click:e.bringPlayers}},[e._v("Bring players")]):e._e(),i("li",{on:{click:e.createToken}},[e._v("Create basic token")]),i("li",{on:{click:e.showInitiative}},[e._v("Show initiative")])])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"9b4d":function(e,t,i){"use strict";var o=i("8095"),s=i.n(o);s.a},"9cb7":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("4a5b"),s=i("2b48"),a=i("6f92"),n=i("206a"),r=i("f10f"),l=i("1625"),c=i("92b1");class u{constructor(){this.selectedTool=0,this.annotationManager=new l.AnnotationManager}addShape(e){if(!a.layerManager.hasLayer(e.layer))return void console.log(`Shape with unknown layer ${e.layer} could not be added`);const t=a.layerManager.getLayer(e.layer),i=n.createShapeFromDict(e);void 0!==i?(t.addShape(i,!1),t.invalidate(!1)):console.log(`Shape with unknown type ${e.type_} could not be added`)}updateShape(e){if(!a.layerManager.hasLayer(e.shape.layer))return void console.log(`Shape with unknown layer ${e.shape.layer} could not be added`);const t=n.createShapeFromDict(e.shape,!0);if(void 0===t)return void console.log(`Shape with unknown type ${e.shape.type_} could not be added`);const i=a.layerManager.UUIDMap.get(e.shape.uuid);if(void 0===i)return void console.log("Shape with unknown id could not be updated");const s=t.owners!==i.owners,l=Object.assign(i,t);l.checkVisionSources(),l.setMovementBlock(l.movementObstruction),l.setIsToken(l.isToken),e.move&&l.visionObstruction&&r.gameStore.recalculateBV(),e.redraw&&a.layerManager.getLayer(e.shape.layer).invalidate(!1),s&&o.getRef("initiative").$forceUpdate()}setCenterPosition(e){const t=c.g2l(e);r.gameStore.increasePanX((window.innerWidth/2-t.x)/r.gameStore.zoomFactor),r.gameStore.increasePanY((window.innerHeight/2-t.y)/r.gameStore.zoomFactor),a.layerManager.invalidate(),s.sendClientOptions()}}t.GameManager=u,t.gameManager=new u,window.gameManager=t.gameManager},"9d42":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("modal",{attrs:{visible:e.visible,mask:!1},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[i("div",[e._v("Initiative")]),i("div",{staticClass:"header-close",on:{click:function(t){e.visible=!1}}},[i("i",{staticClass:"far fa-window-close"})])])}}])},[i("div",{staticClass:"modal-body"},[i("draggable",{attrs:{id:"initiative-list",options:{setData:e.fakeSetData,disabled:!e.$store.state.game.IS_DM}},on:{change:e.updateOrder},model:{value:e.data,callback:function(t){e.data=t},expression:"data"}},[e._l(e.data,function(t){return[i("div",{key:t.uuid,staticStyle:{display:"flex","flex-direction":"column","align-items":"flex-end"}},[i("div",{staticClass:"initiative-actor",class:{"initiative-selected":e.currentActor===t.uuid},style:{cursor:e.$store.state.game.IS_DM&&"move"},on:{mouseenter:function(i){e.toggleHighlight(t,!0)},mouseleave:function(i){e.toggleHighlight(t,!1)}}},[t.has_img?[i("img",{attrs:{src:t.source,width:"30px",height:"30px"}})]:[i("span",{staticStyle:{width:"auto"}},[e._v(e._s(t.source))])],i("input",{directives:[{name:"model",rawName:"v-model.lazy.number",value:t.initiative,expression:"actor.initiative",modifiers:{lazy:!0,number:!0}}],class:{notAllowed:!e.owns(t)},attrs:{type:"text",placeholder:"value",disabled:!e.owns(t)},domProps:{value:t.initiative},on:{change:[function(i){e.$set(t,"initiative",e._n(i.target.value))},function(i){e.syncInitiative(t)}],blur:function(t){e.$forceUpdate()}}}),i("div",{staticClass:"initiative-effects-icon",class:{notAllowed:!e.owns(t)},staticStyle:{opacity:"0.6"},on:{click:function(i){e.createEffect(t,e.getDefaultEffect(),!0)}}},[i("i",{staticClass:"fas fa-stopwatch"}),t.effects?[e._v(e._s(t.effects.length))]:[e._v("0")]],2),i("div",{class:{notAllowed:!e.owns(t)},style:{opacity:t.visible?"1.0":"0.3"},on:{click:function(i){e.toggleOption(t,"visible")}}},[i("i",{staticClass:"fas fa-eye"})]),i("div",{class:{notAllowed:!e.owns(t)},style:{opacity:t.group?"1.0":"0.3"},on:{click:function(i){e.toggleOption(t,"group")}}},[i("i",{staticClass:"fas fa-users"})]),i("div",{class:{notAllowed:!e.owns(t)},style:{opacity:e.owns(t)?"1.0":"0.3"},on:{click:function(i){e.removeInitiative(t.uuid,!0,!0)}}},[i("i",{staticClass:"fas fa-trash-alt"})])],2),t.effects?i("div",{staticClass:"initiative-effect"},e._l(t.effects,function(o){return i("div",{key:o.uuid},[i("input",{directives:[{name:"model",rawName:"v-model",value:o.name,expression:"effect.name"}],attrs:{type:"text",size:o.name.length||1},domProps:{value:o.name},on:{change:function(i){e.updateEffect(t.uuid,o,!0)},input:function(t){t.target.composing||e.$set(o,"name",t.target.value)}}}),i("input",{directives:[{name:"model",rawName:"v-model",value:o.turns,expression:"effect.turns"}],attrs:{type:"text",size:o.turns.toString().length||1},domProps:{value:o.turns},on:{change:function(i){e.updateEffect(t.uuid,o,!0)},input:function(t){t.target.composing||e.$set(o,"turns",t.target.value)}}})])})):e._e()])]})],2),i("div",{attrs:{id:"initiative-bar"}},[i("div",{attrs:{id:"initiative-round"}},[e._v("Round "+e._s(e.roundCounter))]),i("div",{staticStyle:{display:"flex"}}),i("div",{staticClass:"initiative-bar-button",class:{notAllowed:!e.$store.state.game.IS_DM},on:{click:function(t){e.setRound(0,!0),e.setTurn(e.data[0].uuid,!0)}}},[i("i",{staticClass:"fas fa-sync-alt"})]),i("div",{staticClass:"initiative-bar-button",class:{notAllowed:!e.$store.state.game.IS_DM},on:{click:e.nextTurn}},[i("i",{staticClass:"fas fa-chevron-right"})])])],1)])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},a097:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9"));let n=class extends s.default{constructor(){super(...arguments),this.message="Loading..."}};n=o.__decorate([a.default],n),t.default=n},a260:function(e,t,i){},a450:function(e,t,i){},a474:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("bc3a")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("65d9")),r=i("cc67");n.default.registerHooks(["beforeRouteEnter"]);let l=class extends a.default{constructor(){super(...arguments),this.owned=[],this.joined=[],this.error="",this.newSessionName=""}beforeRouteEnter(e,t,i){s.default.get("/api/rooms").then(e=>{i(t=>{t.owned=e.data.owned,t.joined=e.data.joined})}).catch(e=>{i(t=>{t.error=e.message})})}createRoom(e){s.default.post("/api/rooms",{name:this.newSessionName}).then(e=>{this.$router.push(`/game/${r.coreStore.username}/${this.newSessionName}`)}).catch(e=>{this.error=e.message})}};l=o.__decorate([n.default],l),t.default=l},a535:function(e,t,i){"use strict";i.r(t);var o=i("e06e"),s=i("f30c");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("223d");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"1883e207",null);r.options.__file="confirm.vue",t["default"]=r.exports},a68b:function(e,t,i){"use strict";i.r(t);var o=i("308b"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},aa69:function(e,t,i){"use strict";i.r(t);var o=i("0cf7"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},aae4:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.selected?i("div",{staticClass:"tool-detail",style:{"--detailRight":e.detailRight,"--detailArrow":e.detailArrow}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.IS_DM,expression:"IS_DM"}]},[e._v("Mode")]),i("div",{directives:[{name:"show",rawName:"v-show",value:e.IS_DM,expression:"IS_DM"}],staticClass:"selectgroup"},e._l(e.modes,function(t){return i("div",{key:t,staticClass:"option",class:{"option-selected":e.modeSelect===t},on:{click:function(i){e.modeSelect=t}}},[e._v(e._s(t))])})),i("div",[e._v("Shape")]),i("div",{staticClass:"selectgroup"},e._l(e.shapes,function(t){return i("div",{key:t,staticClass:"option",class:{"option-selected":e.shapeSelect===t},on:{click:function(i){e.shapeSelect=t}}},[i("i",{staticClass:"fas",class:"fa-"+t})])})),i("div",[e._v("Colours")]),i("div",{staticClass:"selectgroup"},[i("color-picker",{staticClass:"option",attrs:{color:e.fillColour},on:{"update:color":function(t){e.fillColour=t}}}),i("color-picker",{staticClass:"option",attrs:{color:e.borderColour},on:{"update:color":function(t){e.borderColour=t}}})],1),i("div",{directives:[{name:"show",rawName:"v-show",value:"paint-brush"===e.shapeSelect,expression:"shapeSelect === 'paint-brush'"}]},[e._v("Brush size")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.brushSize,expression:"brushSize"},{name:"show",rawName:"v-show",value:"paint-brush"===e.shapeSelect,expression:"shapeSelect === 'paint-brush'"}],staticStyle:{"max-width":"100px"},attrs:{type:"text"},domProps:{value:e.brushSize},on:{input:function(t){t.target.composing||(e.brushSize=t.target.value)}}})]):e._e()},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},aaee:function(e,t,i){},af17:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026"));t.EventBus=new s.default},af26:function(e,t,i){},b0ac:function(e,t,i){"use strict";i.r(t);var o=i("a474"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},b0ca:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"menuContainer"}},[i("div",{ref:"rm",style:{left:e.visible.settings?"200px":"0",top:e.visible.locations?"100px":"0"},attrs:{id:"radialmenu"}},[i("div",{staticClass:"rm-wrapper"},[i("div",{staticClass:"rm-toggler"},[i("ul",{staticClass:"rm-list",class:{"rm-list-dm":e.IS_DM}},[e.IS_DM?i("li",{staticClass:"rm-item",attrs:{id:"rm-locations"},on:{click:function(t){e.visible.locations=!e.visible.locations}}},[e._m(0)]):e._e(),i("li",{staticClass:"rm-item",attrs:{id:"rm-settings"},on:{click:function(t){e.visible.settings=!e.visible.settings}}},[e._m(1)])])]),e._m(2)])]),i("transition",{attrs:{name:"settings"},on:{enter:function(t){e.$refs.rm.style.transition="left 500ms"}}},[e.visible.settings?i("div",{ref:"settings",attrs:{id:"menu"},on:{click:e.settingsClick}},[i("div",{staticStyle:{width:"200px",height:"90%","overflow-y":"auto","overflow-x":"hidden"}},[e.IS_DM?[i("button",{staticClass:"accordion"},[e._v("Assets")]),i("div",{staticClass:"accordion-panel"},[i("a",{staticClass:"actionButton",attrs:{href:"/assets",target:"blank",title:"Open asset manager"}},[i("i",{staticClass:"fas fa-external-link-alt"})]),i("div",{staticClass:"directory",attrs:{id:"menu-tokens"}},[i("asset-node",{attrs:{asset:e.assets}}),e.assets?e._e():i("div",[e._v("No assets")])],1)]),i("button",{staticClass:"accordion"},[e._v("Notes")]),i("div",{staticClass:"accordion-panel"},[i("div",{staticClass:"accordion-subpanel",attrs:{id:"menu-notes"}},[i("a",{staticClass:"actionButton",on:{click:e.createNote}},[i("i",{staticClass:"far fa-plus-square"})]),e._l(e.notes,function(t){return i("div",{key:t.uuid,staticStyle:{cursor:"pointer"},on:{click:function(i){e.openNote(t)}}},[e._v(e._s(t.title||"[?]"))])}),e.notes.length?e._e():i("div",[e._v("No notes")])],2)]),i("button",{staticClass:"accordion"},[e._v("DM Options")]),i("div",{staticClass:"accordion-panel"},[i("div",{staticClass:"accordion-subpanel"},[i("label",{attrs:{for:"useGridInput"}},[e._v("Use grid:")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.useGrid,expression:"useGrid"}],attrs:{id:"useGridInput",type:"checkbox",checked:"checked"},domProps:{checked:Array.isArray(e.useGrid)?e._i(e.useGrid,null)>-1:e.useGrid},on:{change:function(t){var i=e.useGrid,o=t.target,s=!!o.checked;if(Array.isArray(i)){var a=null,n=e._i(i,a);o.checked?n<0&&(e.useGrid=i.concat([a])):n>-1&&(e.useGrid=i.slice(0,n).concat(i.slice(n+1)))}else e.useGrid=s}}}),i("label",{attrs:{for:"useFOWInput"}},[e._v("Fill entire canvas with FOW:")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.fullFOW,expression:"fullFOW"}],attrs:{id:"useFOWInput",type:"checkbox"},domProps:{checked:Array.isArray(e.fullFOW)?e._i(e.fullFOW,null)>-1:e.fullFOW},on:{change:function(t){var i=e.fullFOW,o=t.target,s=!!o.checked;if(Array.isArray(i)){var a=null,n=e._i(i,a);o.checked?n<0&&(e.fullFOW=i.concat([a])):n>-1&&(e.fullFOW=i.slice(0,n).concat(i.slice(n+1)))}else e.fullFOW=s}}}),i("label",{attrs:{for:"fowOpacity"}},[e._v("FOW opacity:")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:e.fowOpacity,expression:"fowOpacity",modifiers:{number:!0}}],attrs:{id:"fowOpacity",type:"number",min:"0",max:"1",step:"0.1"},domProps:{value:e.fowOpacity},on:{input:function(t){t.target.composing||(e.fowOpacity=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}}),i("label",{attrs:{for:"fowLOS"}},[e._v("Only show lights in LoS:")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.fowLOS,expression:"fowLOS"}],attrs:{id:"fowLOS",type:"checkbox"},domProps:{checked:Array.isArray(e.fowLOS)?e._i(e.fowLOS,null)>-1:e.fowLOS},on:{change:function(t){var i=e.fowLOS,o=t.target,s=!!o.checked;if(Array.isArray(i)){var a=null,n=e._i(i,a);o.checked?n<0&&(e.fowLOS=i.concat([a])):n>-1&&(e.fowLOS=i.slice(0,n).concat(i.slice(n+1)))}else e.fowLOS=s}}}),i("label",{attrs:{for:"unitSizeInput"}},[e._v("Unit Size (in ft.):")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:e.unitSize,expression:"unitSize",modifiers:{number:!0}}],attrs:{id:"unitSizeInput",type:"number"},domProps:{value:e.unitSize},on:{input:function(t){t.target.composing||(e.unitSize=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}}),i("label",{attrs:{for:"gridSizeInput"}},[e._v("Grid Size (in pixels):")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:e.gridSize,expression:"gridSize",modifiers:{number:!0}}],attrs:{id:"gridSizeInput",type:"number",min:"0"},domProps:{value:e.gridSize},on:{input:function(t){t.target.composing||(e.gridSize=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}}),i("label",{attrs:{for:"invitation"}},[e._v("Invitation Code:")]),i("input",{attrs:{id:"invitation",type:"text",readonly:"readonly"},domProps:{value:e.invitationCode}})])])]:e._e(),i("button",{staticClass:"accordion"},[e._v("Client Options")]),i("div",{staticClass:"accordion-panel"},[i("div",{staticClass:"accordion-subpanel"},[i("label",{attrs:{for:"gridColour"}},[e._v("Grid Colour:")]),i("color-picker",{attrs:{id:"gridColour",color:e.gridColour},on:{"update:color":function(t){e.gridColour=t}}}),i("label",{attrs:{for:"fowColour"}},[e._v("FOW Colour:")]),i("color-picker",{attrs:{id:"fowColour",color:e.fowColour},on:{"update:color":function(t){e.fowColour=t}}}),i("label",{attrs:{for:"rulerColour"}},[e._v("Ruler Colour:")]),i("color-picker",{attrs:{id:"rulerColour",color:e.rulerColour},on:{"update:color":function(t){e.rulerColour=t}}})],1)])],2),i("router-link",{staticClass:"accordion",staticStyle:{"text-decoration":"none",display:"inline-block",position:"absolute",bottom:"0"},attrs:{to:"/dashboard"}},[e._v("Exit")])],1):e._e()]),i("transition",{attrs:{name:"locations"},on:{enter:function(t){e.$refs.rm.style.transition="top 500ms"}}},[e.IS_DM&&e.visible.locations?i("div",{attrs:{id:"locations-menu"}},[i("div",[e._l(e.locations,function(t){return i("div",{key:t,on:{click:function(i){e.changeLocation(t)}}},[e._v(e._s(t))])}),i("div",{on:{click:e.createLocation}},[i("i",{staticClass:"fas fa-plus"})])],2)]):e._e()]),i("img",{attrs:{id:"dragImage"}})],1)},s=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("a",{attrs:{href:"#"}},[i("i",{staticClass:"far fa-compass"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("a",{attrs:{href:"#"}},[i("i",{staticClass:"fas fa-cog"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",{staticClass:"rm-topper"},[i("i",{staticClass:"icon-share-alt"})])}];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},b2ed:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("c266"),s=i("f10f"),a=i("92b1"),n=i("5a5c");class r extends o.BaseRect{constructor(e,t,i,o,s,a){super(e,t,i,o,s,a),this.type="rect"}asDict(){return super.getBaseDict()}draw(e){super.draw(e),"fog"===this.fillColour?e.fillStyle=n.getFogColour():e.fillStyle=this.fillColour;const t=s.gameStore.zoomFactor,i=a.g2l(this.refPoint);e.fillRect(i.x,i.y,this.w*t,this.h*t),"rgba(0, 0, 0, 0)"!==this.strokeColour&&(e.strokeStyle=this.strokeColour,e.lineWidth=5,e.strokeRect(i.x,i.y,this.w*t,this.h*t))}}t.Rect=r},b809:function(e,t,i){"use strict";i.r(t);var o=i("ca56"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},b906:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("bab4"),a=i("6f92"),n=i("d1ec"),r=i("f10f"),l=i("92b1");class c extends s.Layer{constructor(){super(...arguments),this.isVisionLayer=!0}draw(){if(!this.valid){const e=this.ctx;if(!r.gameStore.fowLOS||n.Settings.skipPlayerFOW)return e.clearRect(0,0,this.canvas.width,this.canvas.height),void(this.valid=!0);e.clearRect(0,0,this.canvas.width,this.canvas.height);const t=e.globalCompositeOperation;e.fillStyle="rgba(0, 0, 0, 1)",r.gameStore.IS_DM||super.draw(!r.gameStore.fullFOW);const i=e.canvas.width+e.canvas.height;for(const s of r.gameStore.ownedtokens){e.beginPath();let t=-1;const c=a.layerManager.UUIDMap.get(s);if(void 0===c)continue;const u=c.center(),d=l.g2l(u);for(let s=0;s<2*Math.PI;s+=n.Settings.angleSteps/2/180*Math.PI){const a=Math.cos(s),n=Math.sin(s),c=new o.Ray(u,new o.Vector(a,n)),h=r.gameStore.BV.intersect(c);h.hit?(-1!==t&&(e.arc(d.x,d.y,i,t,s),t=-1),e.lineTo(l.g2lx(h.intersect.x),l.g2ly(h.intersect.y))):-1===t&&(e.lineTo(d.x+i*a,d.y+i*n),t=s)}-1!==t?e.arc(d.x,d.y,i,t,2*Math.PI):e.closePath(),e.fill()}r.gameStore.IS_DM&&super.draw(!r.gameStore.fullFOW),e.globalCompositeOperation=t}}}t.FOWPlayersLayer=c},bab4:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("0bc6"),s=i("af17"),a=i("6f92"),n=i("206a"),r=i("f10f"),l=i("92b1");class c{constructor(e,t){this.selectable=!1,this.playerEditable=!1,this.isVisionLayer=!1,this.valid=!1,this.shapes=[],this.selection=[],this.selectionColor="#CC0000",this.selectionWidth=2,this.canvas=e,this.name=t,this.width=e.width,this.height=e.height,this.ctx=e.getContext("2d")}invalidate(e){this.valid=!1,e||a.layerManager.invalidateLight()}addShape(e,t,i){void 0===i&&(i=!1),e.layer=this.name,this.shapes.push(e),a.layerManager.UUIDMap.set(e.uuid,e),e.checkVisionSources(),e.setMovementBlock(e.movementObstruction),e.ownedBy(r.gameStore.username)&&e.isToken&&r.gameStore.ownedtokens.push(e.uuid),e.annotation.length&&r.gameStore.annotations.push(e.uuid),t&&o.socket.emit("Shape.Add",{shape:e.asDict(),temporary:i}),this.invalidate(!t)}setShapes(e){for(const t of e){const e=n.createShapeFromDict(t);if(void 0===e)return void console.log(`Shape with unknown type ${t.type_} could not be added`);this.addShape(e,!1,!1)}this.clearSelection(),this.invalidate(!1)}removeShape(e,t,i){void 0===i&&(i=!1),this.shapes.splice(this.shapes.indexOf(e),1),t&&o.socket.emit("Shape.Remove",{shape:e,temporary:i});const s=r.gameStore.visionSources.findIndex(t=>t.shape===e.uuid),n=r.gameStore.visionBlockers.findIndex(t=>t===e.uuid),l=r.gameStore.movementblockers.findIndex(t=>t===e.uuid),c=r.gameStore.annotations.findIndex(t=>t===e.uuid);s>=0&&r.gameStore.visionSources.splice(s,1),n>=0&&r.gameStore.visionBlockers.splice(n,1),l>=0&&r.gameStore.movementblockers.splice(l,1),c>=0&&r.gameStore.annotations.splice(c,1);const u=r.gameStore.annotations.indexOf(e.uuid);u>=0&&r.gameStore.annotations.splice(u,1);const d=r.gameStore.ownedtokens.indexOf(e.uuid);d>=0&&r.gameStore.ownedtokens.splice(d,1),a.layerManager.UUIDMap.delete(e.uuid);const h=this.selection.indexOf(e);h>=0&&this.selection.splice(h,1),n>=0&&r.gameStore.recalculateBV(),this.invalidate(!t)}clear(){this.ctx.clearRect(0,0,this.width,this.height)}clearSelection(){this.selection=[],s.EventBus.$emit("SelectionInfo.Shape.Set",null)}draw(e){if(!this.valid){const t=this.ctx,i=t.globalCompositeOperation;e=void 0===e||e,e&&this.clear();const o=this;if(this.shapes.forEach(e=>{e.options.has("skipDraw")&&e.options.get("skipDraw")||void 0!==a.layerManager.getLayer()&&e.visibleInCanvas(o.canvas)&&("fow"===o.name&&e.visionObstruction&&a.layerManager.getLayer().name!==o.name||e.drawAuras(t))}),this.shapes.forEach(e=>{e.options.has("skipDraw")&&e.options.get("skipDraw")||void 0!==a.layerManager.getLayer()&&e.visibleInCanvas(o.canvas)&&("fow"===o.name&&e.visionObstruction&&a.layerManager.getLayer().name!==o.name||e.draw(t))}),null!=this.selection){t.fillStyle=this.selectionColor,t.strokeStyle=this.selectionColor,t.lineWidth=this.selectionWidth;const e=r.gameStore.zoomFactor;this.selection.forEach(i=>{t.globalCompositeOperation=i.globalCompositeOperation;const o=i.getBoundingBox();t.strokeRect(l.g2lx(o.topLeft.x),l.g2ly(o.topLeft.y),o.w*e,o.h*e);const s=Math.min(6,o.w/2);t.fillRect(l.g2lx(o.topRight.x-s/2),l.g2ly(o.topLeft.y-s/2),s*e,s*e),t.fillRect(l.g2lx(o.topLeft.x-s/2),l.g2ly(o.topLeft.y-s/2),s*e,s*e),t.fillRect(l.g2lx(o.topRight.x-s/2),l.g2ly(o.botLeft.y-s/2),s*e,s*e),t.fillRect(l.g2lx(o.topLeft.x-s/2),l.g2ly(o.botLeft.y-s/2),s*e,s*e)})}t.globalCompositeOperation=i,this.valid=!0}}moveShapeOrder(e,t,i){const s=this.shapes.indexOf(e);s!==t&&(this.shapes.splice(s,1),this.shapes.splice(t,0,e),i&&o.socket.emit("Shape.Order.Set",{shape:e.asDict(),index:t}),this.invalidate(!0))}onShapeMove(e){e.checkVisionSources(),e.visionObstruction&&r.gameStore.recalculateBV(),this.invalidate(!1)}}t.Layer=c},bb17:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("f10f"),s=i("92b1"),a=i("5a5c");function n(e){if(!e.target||!e.target.tagName||"CANVAS"!==e.target.tagName)return;let t;t=-1*Math.sign(e.deltaY),o.gameStore.updateZoom({newZoomValue:o.gameStore.zoomFactor+.1*t,zoomLocation:s.l2g(a.getMouse(e))})}t.scrollZoom=n},befe:function(e,t,i){"use strict";var o=i("e0ac"),s=i.n(o);s.a},c266:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("8db6"),a=i("2469"),n=i("f10f"),r=i("2838"),l=i("92b1");class c extends a.Shape{constructor(e,t,i,o,s,a){super(e,o,s,a),this.w=t,this.h=i}getBaseDict(){return Object.assign(super.getBaseDict(),{width:this.w,height:this.h})}getBoundingBox(){return new s.BoundingRect(this.refPoint,this.w,this.h)}contains(e){return this.refPoint.x<=e.x&&this.refPoint.x+this.w>=e.x&&this.refPoint.y<=e.y&&this.refPoint.y+this.h>=e.y}inCorner(e,t){switch(t){case"ne":return this.refPoint.x+this.w-3<=e.x&&e.x<=this.refPoint.x+this.w+3&&this.refPoint.y-3<=e.y&&e.y<=this.refPoint.y+3;case"nw":return this.refPoint.x-3<=e.x&&e.x<=this.refPoint.x+3&&this.refPoint.y-3<=e.y&&e.y<=this.refPoint.y+3;case"sw":return this.refPoint.x-3<=e.x&&e.x<=this.refPoint.x+3&&this.refPoint.y+this.h-3<=e.y&&e.y<=this.refPoint.y+this.h+3;case"se":return this.refPoint.x+this.w-3<=e.x&&e.x<=this.refPoint.x+this.w+3&&this.refPoint.y+this.h-3<=e.y&&e.y<=this.refPoint.y+this.h+3;default:return!1}}getCorner(e){return this.inCorner(e,"ne")?"ne":this.inCorner(e,"nw")?"nw":this.inCorner(e,"se")?"se":this.inCorner(e,"sw")?"sw":void 0}center(e){if(void 0===e)return this.refPoint.add(new o.Vector(this.w/2,this.h/2));this.refPoint.x=e.x-this.w/2,this.refPoint.y=e.y-this.h/2}visibleInCanvas(e){if(super.visibleInCanvas(e))return!0;const t=!(l.g2lx(this.refPoint.x)>e.width||l.g2ly(this.refPoint.y)>e.height||l.g2lx(this.refPoint.x+this.w)<0||l.g2ly(this.refPoint.y+this.h)<0);return!!t}snapToGrid(){const e=n.gameStore.gridSize,t=this.center(),i=t.x,s=t.y;let a,l;a=this.w/e%2===0?Math.round(i/e)*e-this.w/2:(Math.round((i+e/2)/e)-.5)*e-this.w/2,l=this.h/e%2===0?Math.round(s/e)*e-this.h/2:(Math.round((s+e/2)/e)-.5)*e-this.h/2;const c=r.calculateDelta(new o.Vector(a-this.refPoint.x,l-this.refPoint.y),this);this.refPoint=this.refPoint.add(c),this.invalidate(!1)}resizeToGrid(){const e=n.gameStore.gridSize;this.refPoint.x=Math.round(this.refPoint.x/e)*e,this.refPoint.y=Math.round(this.refPoint.y/e)*e,this.w=Math.max(Math.round(this.w/e)*e,e),this.h=Math.max(Math.round(this.h/e)*e,e),this.invalidate(!1)}resize(e,t){const i=n.gameStore.zoomFactor;"nw"===e?(this.w=l.g2lx(this.refPoint.x)+this.w*i-t.x,this.h=l.g2ly(this.refPoint.y)+this.h*i-t.y,this.refPoint=l.l2g(t)):"ne"===e?(this.w=t.x-l.g2lx(this.refPoint.x),this.h=l.g2ly(this.refPoint.y)+this.h*i-t.y,this.refPoint.y=l.l2gy(t.y)):"se"===e?(this.w=t.x-l.g2lx(this.refPoint.x),this.h=t.y-l.g2ly(this.refPoint.y)):"sw"===e&&(this.w=l.g2lx(this.refPoint.x)+this.w*i-t.x,this.h=t.y-l.g2ly(this.refPoint.y),this.refPoint.x=l.l2gx(t.x)),this.w/=i,this.h/=i,this.w<0&&(this.refPoint.x+=this.w,this.w=Math.abs(this.w)),this.h<0&&(this.refPoint.y+=this.h,this.h=Math.abs(this.h))}}t.BaseRect=c},c277:function(e,t,i){"use strict";i.r(t);var o=i("c6dd"),s=i("e27a");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,null,null);r.options.__file="select.vue",t["default"]=r.exports},c6b4:function(e,t,i){"use strict";i.r(t);var o=i("8e60"),s=i("b0ac");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("d767");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"61eb1455",null);r.options.__file="main.vue",t["default"]=r.exports},c6dd:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("SelectContext",{ref:"selectcontext"})},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},c6fe:function(e,t,i){},c71e:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("4a5b"),s=i("5d0b"),a=i("6f92"),n=i("8db6"),r=i("92b1"),l=i("f10f");class c{constructor(e){if(this.totalNodes=0,this.buildData=[],this.orderedPrims=[],this.nodes=[],this.offset=0,this.shapes=e,0===this.shapes.length)return this.root=null,void(this.nodes=[]);for(let i=0;ie.center.center().get(r)0){if(i=!0,o=e.tMax=d.min,s=d.max,0===a||t)break;n=r[--a]}else c[u.dimension]?(r[a++]=n+1,n=u.secondChildOffset):(r[a++]=u.secondChildOffset,n++);else{if(0===a)break;n=r[--a]}}return{hit:i,intersect:e.get(o),tMin:o,tMax:s}}compact(){this.offset=0,null!==this.root&&this.flatten(this.root)}flatten(e){const t=this.offset,i=this.offset++;if(0===e.nPrimitives){this.flatten(e.children[0]);const i=this.flatten(e.children[1]);this.nodes[t]={bbox:e.bbox,dimension:e.dimension,nPrimitives:0,secondChildOffset:i}}else this.nodes[t]={bbox:e.bbox,primitivesOffset:e.firstPrimOffset,nPrimitives:e.nPrimitives};return i}createLeaf(e,t,i,o){const a=this.orderedPrims.length;for(let s=e;sthis.$children[0].$el.focus())}close(){this.visible=!1}bringPlayers(){c.gameStore.IS_DM&&(r.socket.emit("Players.Bring",{x:u.l2gx(this.x),y:u.l2gy(this.y)}),this.close())}createToken(){this.$parent.$parent.$refs.createtokendialog.open(this.x,this.y),this.close()}showInitiative(){l.EventBus.$emit("Initiative.Show"),this.close()}};d=o.__decorate([a.default({components:{ContextMenu:n.default}})],d),t.default=d},cad7:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("bc3a")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("65d9")),r=i("cc67");let l=class extends a.default{beforeRouteEnter(e,t,i){s.default.post("/api/logout").then(()=>{r.coreStore.setAuthenticated(!1),r.coreStore.setUsername(""),i({path:"/auth/login"})})}};l=o.__decorate([n.default({template:""})],l),t.default=l},cc67:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=i("6fc5"),a=i("3a0b");let n=class extends s.VuexModule{constructor(){super(...arguments),this.authenticated=!1,this.initialized=!1,this.username=""}setAuthenticated(e){this.authenticated=e}setInitialized(e){this.initialized=e}setUsername(e){this.username=e}};o.__decorate([s.Mutation],n.prototype,"setAuthenticated",null),o.__decorate([s.Mutation],n.prototype,"setInitialized",null),o.__decorate([s.Mutation],n.prototype,"setUsername",null),n=o.__decorate([s.Module({dynamic:!0,store:a.rootStore,name:"core"})],n),t.coreStore=s.getModule(n)},cd49:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("3dfd")),n=i("5f86"),r=i("3a0b");s.default.config.productionTip=!1,s.default.config.devtools=!0,s.default.config.performance=!0,t.app=new s.default({router:n.router,store:r.rootStore,render:e=>e(a.default)}).$mount("#app"),window.app=t.app},cde6:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9"));let n=class extends s.default{};n=o.__decorate([a.default({props:["visible","left","top"]})],n),t.default=n},ce87:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("bc3a")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("65d9"));let r=class extends a.default{beforeRouteEnter(e,t,i){s.default.post("/api/invite",{code:e.params.code}).then(e=>{i({path:e.data.sessionUrl})}).catch(e=>{console.error("Invitation code could not be redeemed"),i({path:"/dashboard"})})}};r=o.__decorate([n.default({template:""})],r),t.default=r},cec2:function(e,t,i){"use strict";i.r(t);var o=i("eb57"),s=i("255e");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("0584");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"0602c2e6",null);r.options.__file="prompt.vue",t["default"]=r.exports},cfc1:function(e,t,i){"use strict";var o=i("5e17"),s=i.n(o);s.a},d065:function(e,t,i){"use strict";i.r(t);var o=i("4b01"),s=i("f8b3");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("2f43");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"078b3b76",null);r.options.__file="edit_dialog.vue",t["default"]=r.exports},d06a:function(e,t,i){},d1ec:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class o{}o.angleSteps=4,o.drawAngleLines=!1,o.drawFirstLightHit=!1,o.skipPlayerFOW=!1,o.skipLightFOW=!1,o.tempFill="fog",t.Settings=o},d30b:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("bc3a")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("65d9")),r=i("cc67");let l=class extends a.default{constructor(){super(...arguments),this.username="",this.password="",this.error=""}login(){s.default.post("/api/login",{username:this.username,password:this.password}).then(e=>{r.coreStore.setUsername(this.username),r.coreStore.setAuthenticated(!0),this.$router.push(this.$route.query.redirect||"/")}).catch(e=>{e.response?this.error=e.response.statusText:this.error="Unknown error occured"})}register(){s.default.post("/api/register",{username:this.username,password:this.password}).then(e=>{r.coreStore.setUsername(this.username),r.coreStore.setAuthenticated(!0),this.$router.push(this.$route.query.redirect||"/")}).catch(e=>{e.response?this.error=e.response.statusText:this.error="Unknown error occured"})}focusin(e){if(e.target&&e.target.nextElementSibling){const t=e.target.nextElementSibling;t.style.opacity="0"}}focusout(e){if(e.target&&e.target.nextElementSibling){const t=e.target.nextElementSibling;t.style.opacity="1"}}};l=o.__decorate([n.default],l),t.default=l},d323:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div")},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},d445:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"modal"}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"mask",class:{"modal-mask":e.mask,"dialog-mask":!e.mask},on:{click:e.close,dragover:function(t){return t.preventDefault(),e.dragOver(t)}}},[i("div",{ref:"container",staticClass:"modal-container",on:{click:function(e){e.stopPropagation()}}},[e._t("header",null,{dragStart:e.dragStart,dragEnd:e.dragEnd}),e._t("default")],2)])])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},d588:function(e,t,i){"use strict";i.r(t);var o=i("91df"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},d5df:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("65d9")),a=o.__importDefault(i("ea6a")),n=i("0bc6"),r=i("6f92"),l=i("5e7c"),c=i("0180"),u=i("f10f"),d=i("92b1"),h=i("5a5c");let f=class extends a.default{constructor(){super(...arguments),this.name="Ruler",this.active=!1,this.startPoint=null,this.ruler=null,this.text=null}onMouseDown(e){const t=r.layerManager.getLayer("draw");void 0!==t?(this.active=!0,this.startPoint=d.l2g(h.getMouse(e)),this.ruler=new l.Line(this.startPoint,this.startPoint,3,u.gameStore.rulerColour),this.text=new c.Text(this.startPoint.clone(),"","bold 20px serif"),this.ruler.owners.push(u.gameStore.username),this.text.owners.push(u.gameStore.username),t.addShape(this.ruler,!0,!0),t.addShape(this.text,!0,!0)):console.log("No draw layer!")}onMouseMove(e){if(!this.active||null===this.ruler||null===this.startPoint||null===this.text)return;const t=r.layerManager.getLayer("draw");if(void 0===t)return void console.log("No draw layer!");const i=d.l2g(h.getMouse(e));this.ruler.endPoint=i,n.socket.emit("Shape.Update",{shape:this.ruler.asDict(),redraw:!0,temporary:!0});const o=Math.sign(i.x-this.startPoint.x)*Math.sign(i.y-this.startPoint.y),s=Math.abs(i.x-this.startPoint.x),a=Math.abs(i.y-this.startPoint.y),l=Math.round(Math.sqrt(Math.pow(s,2)+Math.pow(a,2))*u.gameStore.unitSize/u.gameStore.gridSize)+" ft",c=Math.atan2(o*a,s),f=Math.min(this.startPoint.x,i.x)+s/2,p=Math.min(this.startPoint.y,i.y)+a/2;this.text.refPoint.x=f,this.text.refPoint.y=p,this.text.text=l,this.text.angle=c,n.socket.emit("Shape.Update",{shape:this.text.asDict(),redraw:!0,temporary:!0}),t.invalidate(!0)}onMouseUp(e){if(!this.active||null===this.ruler||null===this.startPoint||null===this.text)return;const t=r.layerManager.getLayer("draw");void 0!==t?(this.active=!1,t.removeShape(this.ruler,!0,!0),t.removeShape(this.text,!0,!0),t.invalidate(!0),this.ruler=this.startPoint=this.text=null):console.log("No active layer!")}};f=o.__decorate([s.default],f),t.RulerTool=f},d638:function(e,t,i){"use strict";var o=i("dbbe"),s=i.n(o);s.a},d65f:function(e,t,i){"use strict";i.r(t);var o=i("d445"),s=i("7e15");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("26a5");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"12ed61ba",null);r.options.__file="modal.vue",t["default"]=r.exports},d71e:function(e,t,i){"use strict";var o=i("e198"),s=i.n(o);s.a},d767:function(e,t,i){"use strict";var o=i("0a75"),s=i.n(o);s.a},d7f0:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("form",{on:{focusin:e.focusin,focusout:e.focusout,submit:function(t){return t.preventDefault(),e.login(t)}}},[i("fieldset",[i("legend",{staticClass:"legend"},[e._v("PlanarAlly")]),i("div",{staticClass:"input"},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.username,expression:"username"}],attrs:{type:"text",name:"username",placeholder:"Username",required:""},domProps:{value:e.username},on:{input:function(t){t.target.composing||(e.username=t.target.value)}}}),e._m(0)]),i("div",{staticClass:"input"},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.password,expression:"password"}],attrs:{type:"password",name:"password",placeholder:"Password",required:""},domProps:{value:e.password},on:{input:function(t){t.target.composing||(e.password=t.target.value)}}}),e._m(1)]),i("div",{staticStyle:{display:"flex"}},[i("button",{staticStyle:{visibility:"hidden",display:"none"},attrs:{type:"submit",name:"login"}}),i("button",{staticClass:"submit",attrs:{type:"button",name:"register",title:"Register"},on:{click:e.register}},[i("i",{staticClass:"fas fa-plus"})]),e._m(2)])]),e.error?i("div",{staticClass:"feedback"},[i("p",{staticClass:"error"},[i("strong",[e._v("Error:")]),e._v("\n "+e._s(e.error)+"\n ")])]):e._e()])},s=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("i",{staticClass:"fas fa-user-circle"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("i",{staticClass:"fas fa-lock"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("button",{staticClass:"submit",attrs:{type:"submit",name:"login",title:"Login"}},[i("i",{staticClass:"fas fa-arrow-right"})])}];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},d8ee:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("3b36")),r=o.__importDefault(i("d65f")),l=i("4a5b"),c=i("0bc6"),u=i("6f92"),d=i("f10f"),h=i("60a3");let f=class extends s.default{constructor(){super(...arguments),this.visible=!1}updated(){this.addEmpty()}addEmpty(){""!==this.shape.owners[this.shape.owners.length-1]&&this.shape.owners.push(""),this.shape.trackers.length&&""===this.shape.trackers[this.shape.trackers.length-1].name&&0===this.shape.trackers[this.shape.trackers.length-1].value||this.shape.trackers.push({uuid:l.uuidv4(),name:"",value:0,maxvalue:0,visible:!1}),this.shape.auras.length&&""===this.shape.auras[this.shape.auras.length-1].name&&0===this.shape.auras[this.shape.auras.length-1].value||this.shape.auras.push({uuid:l.uuidv4(),name:"",value:0,dim:0,visionSource:!1,colour:"rgba(0,0,0,0)",visible:!1})}updateShape(e){c.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:e,temporary:!1}),e&&u.layerManager.invalidate(),this.addEmpty()}setToken(e){this.shape.setIsToken(e.target.checked),this.updateShape(!0)}setVisionBlocker(e){this.shape.checkVisionSources(),this.updateShape(!0)}setMovementBlocker(e){this.shape.setMovementBlock(e.target.checked),this.updateShape(!1)}updateAnnotation(e){const t=""!==this.shape.annotation;this.shape.annotation=e.target.value,""===this.shape.annotation||t?""===this.shape.annotation&&t&&(d.gameStore.annotations.splice(d.gameStore.annotations.findIndex(e=>e===this.shape.uuid)),u.layerManager.hasLayer("draw")&&u.layerManager.getLayer("draw").invalidate(!0)):(d.gameStore.annotations.push(this.shape.uuid),u.layerManager.hasLayer("draw")&&u.layerManager.getLayer("draw").invalidate(!0)),this.updateShape(!1)}updateOwner(e,t){const i=this.shape.owners.findIndex(e=>e===t);i>=0?this.shape.owners.splice(i,1,e.target.value):this.shape.owners.push(e.target.value),this.updateShape(d.gameStore.fowLOS)}removeOwner(e){const t=this.shape.owners.findIndex(t=>t===e);this.shape.owners.splice(t,1),this.updateShape(d.gameStore.fowLOS)}removeTracker(e){this.shape.trackers=this.shape.trackers.filter(t=>t.uuid!==e),this.updateShape(!1)}removeAura(e){this.shape.auras=this.shape.auras.filter(t=>t.uuid!==e),this.shape.checkVisionSources(),this.updateShape(!0)}updateAuraVisionSource(e){e.visionSource=!e.visionSource;const t=d.gameStore.visionSources.findIndex(t=>t.aura===e.uuid);e.visionSource&&-1===t?d.gameStore.visionSources.push({shape:this.shape.uuid,aura:e.uuid}):!e.visionSource&&t>=0&&d.gameStore.visionSources.splice(t,1),u.layerManager.invalidateLight(),this.updateShape(!0)}updateAuraColour(e,t){const i=u.layerManager.getLayer(this.shape.layer);void 0!==i&&i.invalidate(!e.visionSource)}};o.__decorate([h.Prop()],f.prototype,"shape",void 0),f=o.__decorate([a.default({components:{Modal:r.default,"color-picker":n.default}})],f),t.default=f},dbbe:function(e,t,i){},dc37:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("d65f"));let r=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.yes="Yes",this.no="No",this.title="",this.resolve=(e=>{}),this.reject=(()=>{})}confirm(){this.resolve(!0),this.close()}deny(){this.resolve(!1),this.close()}close(){this.reject(),this.visible=!1,this.title=""}open(e,t="yes",i="no"){return this.yes=t,this.no=i,this.title=e,this.visible=!0,this.$nextTick(()=>{this.$refs.confirm.focus()}),new Promise((e,t)=>{this.resolve=e,this.reject=t})}};r=o.__decorate([a.default({components:{Modal:n.default}})],r),t.default=r},de21:function(e,t,i){},dec1:function(e,t,i){"use strict";i.r(t);var o=i("f9e5"),s=i("3481");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,null,null);r.options.__file="map.vue",t["default"]=r.exports},df15:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContextMenu",{attrs:{visible:e.visible,left:e.left+"px",top:e.top+"px"},on:{close:e.close}},[i("li",{on:{click:e.rename}},[e._v("Rename")]),i("li",{on:{click:e.remove}},[e._v("Remove")])])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},e06e:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("modal",{attrs:{visible:e.visible},on:{close:e.close},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[e._v(e._s(e.title))])}}])},[i("div",{staticClass:"modal-body"},[i("button",{ref:"confirm",on:{click:e.confirm}},[e._v(e._s(e.yes))]),e.no?i("button",{on:{click:e.deny}},[e._v(e._s(e.no))]):e._e()])])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},e0ac:function(e,t,i){},e0e9:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("1c76")),r=i("5338"),l=i("2d5b"),c=i("4a5b");let u=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.left=0,this.top=0}open(e,t){l.assetStore.selected.includes(t)||c.getComponent().select(e,t),this.visible=!0,this.left=e.pageX,this.top=e.pageY,this.$nextTick(()=>{this.$children[0].$el.focus()})}close(){this.visible=!1}rename(){if(1!==l.assetStore.selected.length)return;const e=l.assetStore.idMap.get(l.assetStore.selected[0]);c.getRef("prompt").prompt("New name:",`Renaming ${e.name}`).then(t=>{r.socket.emit("Asset.Rename",{asset:e.id,name:t}),e.name=t,c.getComponent().$forceUpdate()},()=>{}),this.close()}remove(){0!==l.assetStore.selected.length&&(c.getRef("confirm").open("Are you sure you wish to remove this?").then(e=>{if(e){for(const e of l.assetStore.selected)r.socket.emit("Asset.Remove",e),l.assetStore.isFile(e)?l.assetStore.files.splice(l.assetStore.files.indexOf(e),1):l.assetStore.folders.splice(l.assetStore.folders.indexOf(e),1);l.assetStore.selected=[]}},()=>{}),this.close())}};u=o.__decorate([a.default({components:{ContextMenu:n.default}})],u),t.default=u},e198:function(e,t,i){},e27a:function(e,t,i){"use strict";i.r(t);var o=i("2756"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},e756:function(e,t,i){},e914:function(e,t,i){"use strict";i.r(t);var o=i("160b"),s=i("aa69");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("78c7");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,null,null);r.options.__file="manager.vue",t["default"]=r.exports},e94f:function(e,t,i){"use strict";i.r(t);var o=i("7aaa"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},ea6a:function(e,t,i){"use strict";i.r(t);var o=i("d323"),s=i("6465");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("12d3");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,null,null);r.options.__file="tool.vue",t["default"]=r.exports},eb57:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("Modal",{attrs:{visible:e.visible},on:{close:e.close},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[e._v(e._s(e.title))])}}])},[i("div",{staticClass:"modal-body"},[e._v("\n "+e._s(e.question)+"\n "),i("input",{directives:[{name:"model",rawName:"v-model",value:e.answer,expression:"answer"}],ref:"answer",attrs:{type:"text"},domProps:{value:e.answer},on:{keyup:function(t){return"button"in t||!e._k(t.keyCode,"enter",13,t.key,"Enter")?e.submit(t):null},input:function(t){t.target.composing||(e.answer=t.target.value)}}})]),i("div",{staticClass:"modal-footer"},[i("button",{on:{click:e.submit}},[e._v("Submit")])])])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},ebb9:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("1516"));s.default.component("draggable",n.default);const r=o.__importDefault(i("d65f")),l=i("4a5b"),c=i("0bc6"),u=i("af17"),d=i("6f92"),h=i("f10f");let f=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.data=[],this.currentActor=null,this.roundCounter=0}mounted(){u.EventBus.$on("Initiative.Clear",this.clear),u.EventBus.$on("Initiative.Remove",e=>this.removeInitiative(e)),u.EventBus.$on("Initiative.Show",()=>this.visible=!0),c.socket.on("Initiative.Set",e=>{this.data=e}),c.socket.on("Initiative.Turn.Update",e=>this.setTurn(e,!1)),c.socket.on("Initiative.Round.Update",e=>this.setRound(e,!1)),c.socket.on("Initiative.Effect.New",e=>{const t=this.getActor(e.actor);void 0!==t&&this.createEffect(t,e.effect,!1)}),c.socket.on("Initiative.Effect.Update",e=>this.updateEffect(e.actor,e.effect,!1))}beforeDestroy(){u.EventBus.$off()}clear(){this.data=[],this.currentActor=null}getActor(e){return this.data.find(t=>t.uuid===e)}contains(e){return this.data.some(t=>t.uuid===e)}owns(e){if(h.gameStore.IS_DM)return!0;const t=d.layerManager.UUIDMap.get(e.uuid);return void 0!==t&&t.owners.includes(h.gameStore.username)}getDefaultEffect(){return{uuid:l.uuidv4(),name:"New Effect",turns:10}}fakeSetData(e){e.setData("Hack","")}syncInitiative(e){c.socket.emit("Initiative.Update",e)}addInitiative(e){const t=this.data.findIndex(t=>t.uuid===e.uuid);t>=0||(void 0===e.initiative&&(e.initiative=0),this.syncInitiative(e))}removeInitiative(e){const t=this.data.findIndex(t=>t.uuid===e);if(t<0||this.data[t].group)return;this.syncInitiative({uuid:e});const i=d.layerManager.UUIDMap.get(e);void 0!==i&&i.showHighlight&&(i.showHighlight=!1,d.layerManager.getLayer(i.layer).invalidate(!0))}updateOrder(){h.gameStore.IS_DM&&c.socket.emit("Initiative.Set",this.data.map(e=>e.uuid))}setTurn(e,t){if(!h.gameStore.IS_DM&&t)return;this.currentActor=e;const i=this.data.find(t=>t.uuid===e);if(void 0!==i){if(i.effects)for(let e=i.effects.length-1;e>=0;e--)i.effects[e].turns<=0?i.effects.splice(e,1):i.effects[e].turns--;t&&c.socket.emit("Initiative.Turn.Update",e)}}setRound(e,t){!h.gameStore.IS_DM&&t||(this.roundCounter=e,t&&c.socket.emit("Initiative.Round.Update",e))}nextTurn(){if(!h.gameStore.IS_DM)return;const e=this.data,t=e[(e.findIndex(e=>e.uuid===this.currentActor)+1)%e.length];this.data[0].uuid===t.uuid&&this.setRound(this.roundCounter+1,!0),this.setTurn(t.uuid,!0)}toggleHighlight(e,t){const i=d.layerManager.UUIDMap.get(e.uuid);void 0!==i&&(i.showHighlight=t,d.layerManager.getLayer(i.layer).invalidate(!0))}toggleOption(e,t){this.owns(e)&&(e[t]=!e[t],this.syncInitiative(e))}createEffect(e,t,i){this.owns(e)&&(e.effects.push(t),i&&c.socket.emit("Initiative.Effect.New",{actor:e.uuid,effect:t}))}syncEffect(e,t){this.owns(e)&&c.socket.emit("Initiative.Effect.Update",{actor:e.uuid,effect:t})}updateEffect(e,t,i){const o=this.data.find(t=>t.uuid===e);if(void 0===o)return;const s=o.effects.findIndex(e=>e.uuid===t.uuid);void 0!==s&&(o.effects[s]=t,i?this.syncEffect(o,t):this.$forceUpdate())}};f=o.__decorate([a.default({components:{Modal:r.default,draggable:n.default}})],f),t.default=f},ee96:function(e,t,i){},f086:function(e,t,i){"use strict";i.r(t);var o=i("3427"),s=i("7ba5");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("831f");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"32cec914",null);r.options.__file="selection_info.vue",t["default"]=r.exports},f10f:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=i("6fc5"),a=i("0bc6"),n=i("2b48"),r=i("c71e"),l=i("6f92"),c=i("92b1"),u=i("3a0b");let d=class extends s.VuexModule{constructor(){super(...arguments),this.layers=[],this.selectedLayerIndex=-1,this.boardInitialized=!1,this.locations=[],this.assets={},this.notes=[],this.IS_DM=!1,this.gridSize=50,this.username="",this.roomName="",this.roomCreator="",this.invitationCode="",this.gridColour="rgba(0, 0, 0, 1)",this.fowColour="rgba(0, 0, 0, 1)",this.rulerColour="rgba(255, 0, 0, 1)",this.panX=0,this.panY=0,this.zoomFactor=1,this.unitSize=5,this.useGrid=!0,this.fullFOW=!1,this.fowOpacity=.3,this.fowLOS=!1,this.locationName="",this.visionSources=[],this.visionBlockers=[],this.annotations=[],this.movementblockers=[],this.ownedtokens=[],this.BV=Object.freeze(new r.BoundingVolume([]))}get selectedLayer(){return this.layers[this.selectedLayerIndex]}setBoardInitialized(e){this.boardInitialized=e}setDM(e){this.IS_DM=e}setUsername(e){this.username=e}setRoomName(e){this.roomName=e}setRoomCreator(e){this.roomCreator=e}setInvitationCode(e){this.invitationCode=e}addLayer(e){this.layers.push(e),-1===this.selectedLayerIndex&&(this.selectedLayerIndex=this.layers.indexOf(e))}selectLayer(e){const t=this.layers.indexOf(e.name);t>=0&&(this.selectedLayerIndex=t),e.sync&&a.socket.emit("Client.ActiveLayer.Set",e.name)}newNote(e){this.notes.push(e.note),e.sync&&a.socket.emit("Note.New",e.note)}setAssets(e){this.assets=e}setLocations(e){this.locations=e}resetLayerInfo(){this.layers=[],this.selectedLayerIndex=-1}recalculateBV(){if(this.boardInitialized){let t=!1,i=0;while(!t){t=!0;try{this.BV=Object.freeze(new r.BoundingVolume(this.visionBlockers))}catch(e){if(t=!1,i++,i>10)return void console.error(e)}}}}updateZoom(e){if(e.newZoomValue===this.zoomFactor)return;e.newZoomValue<.1&&(e.newZoomValue=.1),e.newZoomValue>5&&(e.newZoomValue=5);const t=c.g2l(e.zoomLocation);this.zoomFactor=e.newZoomValue;const i=c.l2g(t),o=i.subtract(e.zoomLocation);this.panX+=o.x,this.panY+=o.y,l.layerManager.invalidate(),n.sendClientOptions()}setGridColour(e){this.gridColour=e.colour,l.layerManager.getGridLayer().drawGrid(),e.sync&&a.socket.emit("Client.Options.Set",{gridColour:e.colour})}setFOWColour(e){this.fowColour=e.colour,l.layerManager.invalidate(),e.sync&&a.socket.emit("Client.Options.Set",{fowColour:e.colour})}setRulerColour(e){this.rulerColour=e.colour,e.sync&&a.socket.emit("Client.Options.Set",{rulerColour:e.colour})}setPanX(e){this.panX=e}setPanY(e){this.panY=e}setZoomFactor(e){this.zoomFactor=e}increasePanX(e){this.panX+=e}increasePanY(e){this.panY+=e}setUnitSize(e){this.unitSize!==e.unitSize&&e.unitSize>0&&e.unitSize<1/0&&(this.unitSize=e.unitSize,l.layerManager.invalidate(),e.sync&&a.socket.emit("Location.Options.Set",{unit_size:e.unitSize}))}setUseGrid(e){if(this.useGrid!==e.useGrid){this.useGrid=e.useGrid;const t=l.layerManager.getGridLayer();e.useGrid?t.canvas.style.display="block":t.canvas.style.display="none",e.sync&&a.socket.emit("Location.Options.Set",{use_grid:e.useGrid})}}setGridSize(e){if(this.gridSize!==e.gridSize&&e.gridSize>0){this.gridSize=e.gridSize;const t=l.layerManager.getGridLayer();void 0!==t&&t.drawGrid(),e.sync&&a.socket.emit("Gridsize.Set",e.gridSize)}}setFullFOW(e){this.fullFOW!==e.fullFOW&&(this.fullFOW=e.fullFOW,l.layerManager.invalidateLight(),e.sync&&a.socket.emit("Location.Options.Set",{full_fow:e.fullFOW}))}setFOWOpacity(e){this.fowOpacity=e.fowOpacity,l.layerManager.invalidateLight(),e.sync&&a.socket.emit("Location.Options.Set",{fow_opacity:e.fowOpacity})}setLineOfSight(e){this.fowLOS!==e.fowLOS&&(this.fowLOS=e.fowLOS,l.layerManager.invalidate(),e.sync&&a.socket.emit("Location.Options.Set",{fow_los:e.fowLOS}))}setLocationName(e){this.locationName=e}updateNote(e){const t=this.notes.find(t=>t.uuid===e.note.uuid);void 0!==t&&(t.title=e.note.title,t.text=e.note.text,e.sync&&a.socket.emit("Note.Update",t))}removeNote(e){this.notes=this.notes.filter(t=>t.uuid!==e.note.uuid),e.sync&&a.socket.emit("Note.Remove",e.note.uuid)}clear(){this.context.state.visionSources=[],this.context.state.visionBlockers=[],this.context.state.ownedtokens=[],this.context.state.annotations=[],this.context.state.movementblockers=[],this.context.commit("recalculateBV")}};o.__decorate([s.Mutation],d.prototype,"setBoardInitialized",null),o.__decorate([s.Mutation],d.prototype,"setDM",null),o.__decorate([s.Mutation],d.prototype,"setUsername",null),o.__decorate([s.Mutation],d.prototype,"setRoomName",null),o.__decorate([s.Mutation],d.prototype,"setRoomCreator",null),o.__decorate([s.Mutation],d.prototype,"setInvitationCode",null),o.__decorate([s.Mutation],d.prototype,"addLayer",null),o.__decorate([s.Mutation],d.prototype,"selectLayer",null),o.__decorate([s.Mutation],d.prototype,"newNote",null),o.__decorate([s.Mutation],d.prototype,"setAssets",null),o.__decorate([s.Mutation],d.prototype,"setLocations",null),o.__decorate([s.Mutation],d.prototype,"resetLayerInfo",null),o.__decorate([s.Mutation],d.prototype,"recalculateBV",null),o.__decorate([s.Mutation],d.prototype,"updateZoom",null),o.__decorate([s.Mutation],d.prototype,"setGridColour",null),o.__decorate([s.Mutation],d.prototype,"setFOWColour",null),o.__decorate([s.Mutation],d.prototype,"setRulerColour",null),o.__decorate([s.Mutation],d.prototype,"setPanX",null),o.__decorate([s.Mutation],d.prototype,"setPanY",null),o.__decorate([s.Mutation],d.prototype,"setZoomFactor",null),o.__decorate([s.Mutation],d.prototype,"increasePanX",null),o.__decorate([s.Mutation],d.prototype,"increasePanY",null),o.__decorate([s.Mutation],d.prototype,"setUnitSize",null),o.__decorate([s.Mutation],d.prototype,"setUseGrid",null),o.__decorate([s.Mutation],d.prototype,"setGridSize",null),o.__decorate([s.Mutation],d.prototype,"setFullFOW",null),o.__decorate([s.Mutation],d.prototype,"setFOWOpacity",null),o.__decorate([s.Mutation],d.prototype,"setLineOfSight",null),o.__decorate([s.Mutation],d.prototype,"setLocationName",null),o.__decorate([s.Mutation],d.prototype,"updateNote",null),o.__decorate([s.Mutation],d.prototype,"removeNote",null),o.__decorate([s.Action],d.prototype,"clear",null),d=o.__decorate([s.Module({dynamic:!0,store:u.rootStore,name:"game",namespaced:!0})],d),t.gameStore=s.getModule(d)},f2d0:function(e,t,i){},f30c:function(e,t,i){"use strict";i.r(t);var o=i("dc37"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},f312:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.aurasFromServer=(e=>{const t=[];for(const i of e)t.push({uuid:i.uuid,visionSource:i.vision_source,visible:i.visible,name:i.name,value:i.value,dim:i.dim,colour:i.colour});return t}),t.aurasToServer=(e=>{const t=[];for(const i of e)t.push({uuid:i.uuid,vision_source:i.visionSource,visible:i.visible,name:i.name,value:i.value,dim:i.dim,colour:i.colour});return t})},f51a:function(e,t,i){"use strict";i.r(t);var o=i("e0e9"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},f551:function(e,t,i){"use strict";i.r(t);var o=i("2686"),s=i("1dd6");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("28b6");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"7a3669fd",null);r.options.__file="note.vue",t["default"]=r.exports},f5fe:function(e,t,i){"use strict";i.r(t);var o=i("9d42"),s=i("7018");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("5b4c");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"ccaf03d6",null);r.options.__file="initiative.vue",t["default"]=r.exports},f692:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("4185"),s=i("b906"),a=i("38c9"),n=i("bab4"),r=i("6f92"),l=i("f10f");function c(e){const t=document.createElement("canvas");let i;t.style.zIndex=r.layerManager.layers.length.toString(),t.width=window.innerWidth,t.height=window.innerHeight,i="grid"===e.type_?new a.GridLayer(t,e.name):"fow"===e.type_?new o.FOWLayer(t,e.name):"fow-players"===e.type_?new s.FOWPlayersLayer(t,e.name):new n.Layer(t,e.name),i.selectable=e.selectable,i.playerEditable=e.player_editable,r.layerManager.addLayer(i);const c=document.getElementById("layers");null!==c?("fow-players"!==e.name&&c.appendChild(t),"grid"===e.type_&&e.size&&l.gameStore.setGridSize({gridSize:e.size,sync:!1}),i.setShapes(e.shapes)):console.warn("Layers div is missing, this will prevent the main game board from loading!")}t.createLayer=c},f8a4:function(e,t,i){},f8b3:function(e,t,i){"use strict";i.r(t);var o=i("d8ee"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},f9e5:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.selected?i("div",{staticClass:"tool-detail",style:{"--detailRight":e.detailRight,"--detailArrow":e.detailArrow}},[i("div",[e._v("#X")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.xCount,expression:"xCount"}],attrs:{type:"text"},domProps:{value:e.xCount},on:{input:function(t){t.target.composing||(e.xCount=t.target.value)}}}),i("div",[e._v("#Y")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.yCount,expression:"yCount"}],attrs:{type:"text"},domProps:{value:e.yCount},on:{input:function(t){t.target.composing||(e.yCount=t.target.value)}}})]):e._e()},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},fbdd:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("d065")),r=i("4a5b"),l=i("0bc6"),c=i("af17"),u=i("6f92");let d=class extends s.default{constructor(){super(...arguments),this.shape=null}mounted(){c.EventBus.$on("SelectionInfo.Shape.Set",e=>{this.shape=e})}beforeDestroy(){c.EventBus.$off()}openEditDialog(){this.$refs.editDialog.visible=!0}changeValue(e,t){null!==this.shape&&r.getRef("prompt").prompt(`New ${e.name} value:`,`Updating ${e.name}`).then(i=>{if(null===this.shape)return;const o=e.value;"+"===i[0]||"-"===i[0]?e.value+=parseInt(i,10):e.value=parseInt(i,10),isNaN(e.value)&&(e.value=o),l.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:t,temporary:!1}),t&&u.layerManager.invalidate()},()=>{})}};d=o.__decorate([a.default({components:{"edit-dialog":n.default}})],d),t.default=d},fe11:function(e,t,i){},fe80:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("0bc6"),s=i("af17"),a=i("8f0a"),n=i("6f92"),r=i("f692"),l=i("9cb7"),c=i("f10f"),u=i("5f86");o.socket.on("connect",()=>{console.log("Connected")}),o.socket.on("disconnect",()=>{console.log("Disconnected")}),o.socket.on("connect_error",e=>{console.error("Could not connect to game session."),u.router.push("/dashboard")}),o.socket.on("error",e=>{console.error("Game session does not exist."),u.router.push("/dashboard")}),o.socket.on("redirect",e=>{console.log("redirecting"),u.router.push(e)}),o.socket.on("Room.Info.Set",e=>{c.gameStore.setRoomName(e.name),c.gameStore.setRoomCreator(e.creator),c.gameStore.setInvitationCode(e.invitationCode)}),o.socket.on("Username.Set",e=>{c.gameStore.setUsername(e),c.gameStore.setDM(e===window.location.pathname.split("/")[2])}),o.socket.on("Client.Options.Set",e=>{c.gameStore.setGridColour({colour:e.grid_colour,sync:!1}),c.gameStore.setFOWColour({colour:e.fow_colour,sync:!1}),c.gameStore.setRulerColour({colour:e.ruler_colour,sync:!1}),c.gameStore.setPanX(e.pan_x),c.gameStore.setPanY(e.pan_y),c.gameStore.setZoomFactor(e.zoom_factor),e.active_layer&&n.layerManager.selectLayer(e.active_layer,!1),void 0!==n.layerManager.getGridLayer()&&n.layerManager.getGridLayer().invalidate()}),o.socket.on("Location.Set",e=>{void 0!==e.name&&c.gameStore.setLocationName(e.name),void 0!==e.unit_size&&c.gameStore.setUnitSize({unitSize:e.unit_size,sync:!1}),void 0!==e.use_grid&&c.gameStore.setUseGrid({useGrid:e.use_grid,sync:!1}),void 0!==e.full_fow&&c.gameStore.setFullFOW({fullFOW:e.full_fow,sync:!1}),void 0!==e.fow_opacity&&c.gameStore.setFOWOpacity({fowOpacity:e.fow_opacity,sync:!1}),void 0!==e.fow_los&&c.gameStore.setLineOfSight({fowLOS:e.fow_los,sync:!1})}),o.socket.on("Position.Set",e=>{l.gameManager.setCenterPosition(new a.GlobalPoint(e.x,e.y))}),o.socket.on("Notes.Set",e=>{for(const t of e)c.gameStore.newNote({note:t,sync:!1})}),o.socket.on("Asset.List.Set",e=>{c.gameStore.setAssets(e)}),o.socket.on("Board.Set",e=>{c.gameStore.clear(),c.gameStore.setLocations(e.locations),document.getElementById("layers").innerHTML="",c.gameStore.resetLayerInfo(),n.layerManager.reset();for(const t of e.layers)r.createLayer(t);n.layerManager.selectLayer(n.layerManager.getLayer().name,!1),s.EventBus.$emit("Initiative.Clear"),c.gameStore.setBoardInitialized(!0),c.gameStore.recalculateBV()}),o.socket.on("Gridsize.Set",e=>{c.gameStore.setGridSize({gridSize:e,sync:!1})}),o.socket.on("Shape.Add",e=>{l.gameManager.addShape(e)}),o.socket.on("Shape.Remove",e=>{if(!n.layerManager.UUIDMap.has(e.uuid))return void console.log("Attempted to remove an unknown shape");if(!n.layerManager.hasLayer(e.layer))return void console.log(`Attempted to remove shape from an unknown layer ${e.layer}`);const t=n.layerManager.getLayer(e.layer);t.removeShape(n.layerManager.UUIDMap.get(e.uuid),!1),t.invalidate(!1)}),o.socket.on("Shape.Order.Set",e=>{if(!n.layerManager.UUIDMap.has(e.shape.uuid))return void console.log("Attempted to move the shape order of an unknown shape");if(!n.layerManager.hasLayer(e.shape.layer))return void console.log(`Attempted to remove shape from an unknown layer ${e.shape.layer}`);const t=n.layerManager.UUIDMap.get(e.shape.uuid),i=n.layerManager.getLayer(t.layer);i.moveShapeOrder(t,e.index,!1)}),o.socket.on("Shape.Layer.Change",e=>{const t=n.layerManager.UUIDMap.get(e.uuid);void 0!==t&&t.moveLayer(e.layer,!1)}),o.socket.on("Shape.Update",e=>{l.gameManager.updateShape(e)}),o.socket.on("Temp.Clear",e=>{e.forEach(e=>{if(!n.layerManager.UUIDMap.has(e.uuid))return void console.log("Attempted to remove an unknown temporary shape");if(!n.layerManager.hasLayer(e.layer))return void console.log(`Attempted to remove shape from an unknown layer ${e.layer}`);const t=n.layerManager.UUIDMap.get(e.uuid);n.layerManager.getLayer(e.layer).removeShape(t,!1)})})}}); -//# sourceMappingURL=app-legacy.4b455705.js.map \ No newline at end of file diff --git a/server/static/js/app-legacy.4b455705.js.map b/server/static/js/app-legacy.4b455705.js.map deleted file mode 100644 index ab71b6b4c..000000000 --- a/server/static/js/app-legacy.4b455705.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/game/shapes/text.ts","webpack:///./src/game/ui/selection/shapecontext.vue","webpack:///./src/App.vue?5b85","webpack:///./src/core/components/modals/prompt.vue?d33d","webpack:///./src/core/components/colorpicker.vue?4d88","webpack:///./src/game/game.vue","webpack:///./src/game/api/socket.ts","webpack:///./src/assetManager/manager.vue?5633","webpack:///./src/game/ui/menu/asset_node.vue","webpack:///./src/game/ui/tools/selectcontext.vue?02dc","webpack:///./src/auth/login.vue","webpack:///./src/game/ui/tools/createtoken_modal.vue?9216","webpack:///./src/game/ui/tools/createtoken_modal.vue?3856","webpack:///./src/game/ui/tools/tool.vue?5b17","webpack:///./src/game/shapes/circulartoken.ts","webpack:///./src/assetManager/manager.vue?aaaa","webpack:///./src/assetManager/manager.vue?1f53","webpack:///./src/game/ui/annotation.ts","webpack:///./src/core/components/colorpicker.vue?8070","webpack:///./src/game/ui/menu/menu.vue","webpack:///./src/core/components/contextmenu.vue","webpack:///./src/game/ui/note.vue?49b7","webpack:///./src/auth/login.vue?c159","webpack:///./src/game/shapes/utils.ts","webpack:///./src/core/components/modals/confirm.vue?e6fb","webpack:///./src/game/shapes/shape.ts","webpack:///./src/core/components/modals/prompt.vue?d457","webpack:///./src/game/ui/note.vue?8ce6","webpack:///./src/game/ui/note.vue?23aa","webpack:///./src/core/components/modals/modal.vue?33b9","webpack:///./src/game/ui/tools/select.vue?49f9","webpack:///./src/game/ui/tools/utils.ts","webpack:///./src/game/ui/note.vue?a508","webpack:///./src/game/api/utils.ts","webpack:///./src/game/ui/menu/asset_node.vue?f519","webpack:///./src/game/game.vue?aa40","webpack:///./src/game/game.vue?94fe","webpack:///./src/core/components/contextmenu.vue?06bc","webpack:///./src/core/components/contextmenu.vue?7efa","webpack:///./src/assetManager/store.ts","webpack:///./src/game/ui/selection/edit_dialog.vue?03e8","webpack:///./src/core/components/contextmenu.vue?50e1","webpack:///./src/game/ui/selection/shapecontext.vue?1cf6","webpack:///./src/game/ui/selection/selection_info.vue?996c","webpack:///./src/game/ui/selection/selection_info.vue?8aba","webpack:///./src/game/ui/tools/map.vue?284a","webpack:///./src/game/layers/grid.ts","webpack:///./src/store.ts","webpack:///./src/core/components/colorpicker.vue","webpack:///./src/game/game.vue?e1c7","webpack:///./src/App.vue?d2ea","webpack:///./src/App.vue","webpack:///./src/game/layers/fow.ts","webpack:///./src/core/components/load.vue?18c2","webpack:///./src/game/shapes/circle.ts","webpack:///./src/game/ui/tools/map.vue?a3ab","webpack:///./src/core/components/load.vue","webpack:///./src/game/ui/tools/pan.ts","webpack:///./src/game/ui/tools/selectcontext.vue","webpack:///./src/core/utils.ts","webpack:///./src/assetManager/contextMenu.vue","webpack:///./src/game/ui/selection/edit_dialog.vue?cf9a","webpack:///./src/game/ui/selection/edit_dialog.vue?057b","webpack:///./src/game/ui/menu/asset_node.vue?1f27","webpack:///./src/game/ui/selection/shapecontext.vue?13ec","webpack:///./src/game/ui/selection/shapecontext.vue?3b0d","webpack:///./src/core/components/modals/modal.vue?44ae","webpack:///./src/assetManager/socket.ts","webpack:///./src/game/ui/tools/tools.vue?c96e","webpack:///./src/game/game.vue?5550","webpack:///./src/game/shapes/multiline.ts","webpack:///./src/core/components/colorpicker.vue?242f","webpack:///./src/core/components/colorpicker.vue?8615","webpack:///./src/game/ui/tools/draw.vue","webpack:///./src/game/utils.ts","webpack:///./src/game/ui/tools/createtoken_modal.vue?d0df","webpack:///./src/game/ui/note.vue?f9bd","webpack:///./src/game/ui/initiative.vue?f4e1","webpack:///./src/game/ui/tools/draw.vue?b96d","webpack:///./src/game/bvh/node.ts","webpack:///./src/game/shapes/line.ts","webpack:///./src/router.ts","webpack:///./src/game/ui/tools/tool.vue?d136","webpack:///./src/game/ui/tools/tools.vue","webpack:///./src/game/ui/tools/tool.vue?8ce3","webpack:///./src/game/shapes/asset.ts","webpack:///./src/game/ui/tools/draw.vue?1261","webpack:///./src/game/layers/manager.ts","webpack:///./src/game/ui/initiative.vue?c7e1","webpack:///./src/game/ui/tools/createtoken_modal.vue","webpack:///./src/game/ui/tools/createtoken_modal.vue?f918","webpack:///./src/game/events/keyboard.ts","webpack:///./src/assetManager/manager.vue?433f","webpack:///./src/game/ui/tools/tools.vue?25b2","webpack:///./src/game/ui/selection/selection_info.vue?2310","webpack:///./src/core/components/modals/modal.vue?09d2","webpack:///./src/core/components/contextmenu.vue?a0a2","webpack:///./src/game/ui/selection/selection_info.vue?b9a9","webpack:///./src/core/components/modals/prompt.vue?4e1b","webpack:///./src/game/ui/menu/asset_node.vue?8ac0","webpack:///./src/game/ui/menu/asset_node.vue?fc27","webpack:///./src/core/components/load.vue?141a","webpack:///./src/core/components/load.vue?0f87","webpack:///./src/game/ui/tools/tools.vue?78f7","webpack:///./src/game/ui/tools/tools.vue?35df","webpack:///./src/game/ui/menu/menu.vue?8b23","webpack:///./src/game/shapes/boundingrect.ts","webpack:///./src/dashboard/main.vue?7896","webpack:///./src/dashboard/main.vue?94d1","webpack:///./src/game/geom.ts","webpack:///./src/game/game.vue?5592","webpack:///./src/game/units.ts","webpack:///./src/game/ui/menu/menu.vue?ae57","webpack:///./src/game/ui/tools/draw.vue?c2fe","webpack:///./src/core/components/colorpicker.vue?1682","webpack:///./src/game/ui/tools/selectcontext.vue?46f1","webpack:///./src/game/ui/tools/selectcontext.vue?758c","webpack:///./src/game/ui/selection/shapecontext.vue?6173","webpack:///./src/game/manager.ts","webpack:///./src/game/ui/initiative.vue?c807","webpack:///./src/game/ui/initiative.vue?ca6b","webpack:///./src/core/components/load.vue?8cd0","webpack:///./src/dashboard/main.vue?3f72","webpack:///./src/core/components/modals/confirm.vue","webpack:///./src/game/ui/selection/shapecontext.vue?aac0","webpack:///./src/assetManager/manager.vue?a11e","webpack:///./src/game/ui/tools/draw.vue?c7ee","webpack:///./src/game/ui/tools/draw.vue?789d","webpack:///./src/game/event-bus.ts","webpack:///./src/dashboard/main.vue?d5a9","webpack:///./src/game/ui/menu/menu.vue?4372","webpack:///./src/game/ui/menu/menu.vue?90cd","webpack:///./src/game/shapes/rect.ts","webpack:///./src/game/ui/tools/selectcontext.vue?6f66","webpack:///./src/game/layers/fowplayers.ts","webpack:///./src/game/layers/layer.ts","webpack:///./src/game/events/mouse.ts","webpack:///./src/game/ui/menu/asset_node.vue?be10","webpack:///./src/game/shapes/baserect.ts","webpack:///./src/game/ui/tools/select.vue","webpack:///./src/dashboard/main.vue","webpack:///./src/game/ui/tools/select.vue?c408","webpack:///./src/game/ui/tools/select.vue?226c","webpack:///./src/game/bvh/bvh.ts","webpack:///./src/game/ui/tools/selectcontext.vue?d61f","webpack:///./src/auth/logout.ts","webpack:///./src/core/store.ts","webpack:///./src/main.ts","webpack:///./src/core/components/contextmenu.vue?f402","webpack:///./src/invitation/invitation.ts","webpack:///./src/core/components/modals/prompt.vue","webpack:///./src/auth/login.vue?5f02","webpack:///./src/game/ui/selection/edit_dialog.vue","webpack:///./src/game/settings.ts","webpack:///./src/auth/login.vue?283c","webpack:///./src/game/ui/tools/tool.vue?d6e5","webpack:///./src/game/ui/tools/tool.vue?f5ba","webpack:///./src/core/components/modals/modal.vue?dad5","webpack:///./src/core/components/modals/modal.vue?e329","webpack:///./src/game/game.vue?d01c","webpack:///./src/game/ui/tools/ruler.ts","webpack:///./src/game/ui/menu/menu.vue?f9de","webpack:///./src/core/components/modals/modal.vue","webpack:///./src/game/ui/tools/createtoken_modal.vue?41c9","webpack:///./src/dashboard/main.vue?1359","webpack:///./src/auth/login.vue?6585","webpack:///./src/auth/login.vue?7cce","webpack:///./src/game/ui/selection/edit_dialog.vue?9a84","webpack:///./src/core/components/modals/confirm.vue?f9ee","webpack:///./src/game/ui/tools/map.vue","webpack:///./src/assetManager/contextMenu.vue?b02b","webpack:///./src/assetManager/contextMenu.vue?b4b1","webpack:///./src/core/components/modals/confirm.vue?85a0","webpack:///./src/core/components/modals/confirm.vue?be48","webpack:///./src/assetManager/contextMenu.vue?1b1b","webpack:///./src/game/ui/tools/select.vue?b7fd","webpack:///./src/assetManager/manager.vue","webpack:///./src/game/ui/tools/tools.vue?fa4a","webpack:///./src/game/ui/tools/tool.vue","webpack:///./src/core/components/modals/prompt.vue?5578","webpack:///./src/core/components/modals/prompt.vue?36e2","webpack:///./src/game/ui/initiative.vue?36c8","webpack:///./src/game/ui/selection/selection_info.vue","webpack:///./src/game/store.ts","webpack:///./src/core/components/modals/confirm.vue?a22f","webpack:///./src/game/comm/conversion/aura.ts","webpack:///./src/assetManager/contextMenu.vue?1e9a","webpack:///./src/game/ui/note.vue","webpack:///./src/game/ui/initiative.vue","webpack:///./src/game/layers/utils.ts","webpack:///./src/game/ui/selection/edit_dialog.vue?3800","webpack:///./src/game/ui/tools/map.vue?5515","webpack:///./src/game/ui/tools/map.vue?9024","webpack:///./src/game/ui/selection/selection_info.vue?5d62","webpack:///./src/game/api/events.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","app","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","boundingrect_1","shape_1","units_1","Text","Shape","[object Object]","position","text","font","angle","fillColour","strokeColour","uuid","super","this","type","assign","getBaseDict","BoundingRect","refPoint","ctx","draw","fillStyle","save","dest","g2l","translate","x","y","rotate","textAlign","getLines","map","line","fillText","restore","point","centerPoint","canvas","resizeDir","lines","lineHeight","widths","measureText","width","Math","max","split","allLines","maxWidth","targetLine","words","word","testLine","metrics","testWidth","__webpack_exports__","_shapecontext_vue_vue_type_template_id_7111f3f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_shapecontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","__WEBPACK_IMPORT_KEY__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__","component","options","__file","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_style_index_0_id_0602c2e6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_style_index_0_id_0602c2e6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","tinycolor2_1","tslib_1","__importDefault","vue_1","vue_class_component_1","vue_color_1","vue_property_decorator_1","ColorPicker","default","display","left","top","transparent","$refs","chromePicker","val","rgba","a","setPosition","$nextTick","$children","$el","focus","newColor","toRgbString","$emit","color","rect","getBoundingClientRect","right","innerWidth","bottom","innerHeight","__decorate","Prop","String","components","chrome-picker","Chrome","_game_vue_vue_type_template_id_256b40b9_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_game_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__","socket_io_client_1","createConnection","route","socket","io","opts","query","params","creator","room","connect","location","protocol","host","autoConnect","contextMenu_vue_1","confirm_vue_1","prompt_vue_1","socket_1","store_1","utils_1","AssetManager","path","draggingSelection","folders","assetStore","files","selected","idMap","currentFolder","root","parentFolder","parent","undefined","firstSelectedFile","sel","file_hash","nextFolder","pop","clearSelected","emit","prompt","inode","target","isFile","indexOf","delete","event","shiftKey","inodes","start","end","ctrlKey","file","dataTransfer","setData","dropEffect","includes","classList","contains","add","remove","moveInode","upload","document","getElementById","click","fls","CHUNK_SIZE","uuidv4","slices","ceil","size","fr","FileReader","readAsArrayBuffer","min","onload","e","directory","totalSlices","Prompt","ConfirmDialog","AssetContextMenu","to","from","next","disconnect","_asset_node_vue_vue_type_template_id_62c91cd3_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_asset_node_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_style_index_0_id_44a31e42_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_style_index_0_id_44a31e42_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_login_vue_vue_type_template_id_6bbf3b79_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_login_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","render","_vm","_h","$createElement","_c","_self","attrs","visible","on","close","$event","scopedSlots","_u","fn","staticClass","draggable","dragstart","dragStart","dragend","dragEnd","_v","for","directives","rawName","expression","id","domProps","input","composing","update:color","borderColour","ref","height","submit","staticRenderFns","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","tinycolor","__importStar","circle_1","CircularToken","Circle","center","radius","fromDict","textBaseline","xs","calcFontScale","g2lz","ys","transform","mostReadable","toHexString","gameStore","IS_DM","group","source","has_img","effects","index","Infinity","dragover","preventDefault","moveDrag","drop","stopPropagation","stopDrag","_l","dir","_s","multiple","hidden","change","title","createDirectory","prepareUpload","dblclick","changeDirectory","dragleave","leaveDrag","staticStyle","font-size","_e","class","inode-selected","select","contextmenu","cm","open","startDrag","src","geom_1","manager_1","rect_1","text_1","AnnotationManager","shown","origin","GlobalPoint","annotationText","annotationRect","Rect","layer","layerManager","hasLayer","console","warn","getLayer","addShape","l2g","LocalPoint","getMaxWidth","getMaxHeight","w","zoomFactor","h","invalidate","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_style_index_0_id_b4f2c0b0_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_style_index_0_id_b4f2c0b0_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_menu_vue_vue_type_template_id_081515c4_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_menu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_contextmenu_vue_vue_type_template_id_256dde9c___WEBPACK_IMPORTED_MODULE_0__","_contextmenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","asset_1","circulartoken_1","line_1","multiline_1","createShapeFromDict","shape","dummy","UUIDMap","has","sh","type_","fill_colour","stroke_colour","circ","token","Line","x2","y2","line_width","multiline","MultiLine","points","asset","img","Image","startsWith","URL","pathname","Asset","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_style_index_0_id_1883e207_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_style_index_0_id_1883e207_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","aura_1","trackers","auras","owners","visionObstruction","movementObstruction","isToken","showHighlight","annotation","globalCompositeOperation","Map","skipLightUpdate","self","obstructionIndex","visionBlockers","changeBV","recalculateBV","forEach","au","ls","visionSources","findIndex","aura","visionSource","some","blocksMovement","movementblockers","ownedBy","ownedtokens","username","draw_operator","movement_obstruction","vision_obstruction","aurasToServer","is_token","JSON","stringify","aurasFromServer","parse","bbox","getBoundingBox","strokeStyle","strokeRect","g2lx","topLeft","g2ly","dim","beginPath","loc","innerRange","g2lr","colour","gradient","createRadialGradient","tc","addColorStop","setAlpha","lastPath","fill","arc","PI","sync","oldLayer","newLayer","shapes","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","note","mask","updateNote","$set","style","calcHeight","removeNote","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_style_index_0_id_12ed61ba_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_style_index_0_id_12ed61ba_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","selectcontext_vue_1","tool_vue_1","utils_2","utils_3","SelectOperations","SelectTool","showContextMenu","active","Noop","resizeDirection","deltaChanged","dragRay","Ray","Vector","selectionStartPoint","selectionHelper","log","mouse","getMouse","globalMouse","selectionStack","hit","selection","concat","corner","getCorner","getRef","Resize","Drag","localRefPoint","subtract","GroupSelect","endPoint","abs","og","direction","delta","multiply","ogDelta","calculateDelta","asDict","redraw","temporary","resize","bb","gm","inCorner","body","cursor","clearSelection","topRight","botLeft","useGrid","altKey","snapToGrid","resizeToGrid","$parent","shapecontext","selectcontext","SelectContext","done","ogSelBBox","newSelBBox","offset","refine","movementBlocker","blocker","blockerBBox","found","intersectsWithInner","ray","fromPoints","normalize","invDir","inverse","dirIsNegative","intersectP","bCenter","sCenter","ux","uy","dx","dot","dy","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_style_index_0_id_7a3669fd_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_style_index_0_id_7a3669fd_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","sendClientOptions","locationOptions","panX","panY","AssetNode","showImage","keys","filter","el","sort","alphSort","__files","b","toLowerCase","children","imageSource","querySelector","setDragImage","mouseleave","ready","mousedown","mouseup","mousemove","layers","layer-selected","selectedLayer","selectLayer","href","interval","dot-width","dot-height","tooltip-dir","tooltip","formatter","toFixed","slider-style","border-radius","bg-style","background-color","box-shadow","process-style","model","callback","$$v","tabindex","blur","_t","vuex_module_decorators_1","AssetStore","VuexModule","Mutation","Module","dynamic","store","rootStore","namespaced","getModule","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_style_index_0_id_078b3b76_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_style_index_0_id_078b3b76_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","contextmenu_vue_1","ShapeContext","activeLayer","pageX","pageY","selectable","playerEditable","moveLayer","getActiveLayer","moveShapeOrder","initiative","addInitiative","getInitiativeRepr","ContextMenu","openEditDialog","tracker","changeValue","maxvalue","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_map_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_map_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","layer_1","GridLayer","Layer","valid","doClear","drawGrid","clear","gs","gridSize","moveTo","lineTo","gridColour","lineWidth","stroke","vuex_1","use","Store","_colorpicker_vue_vue_type_template_id_b4f2c0b0_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_colorpicker_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_1_id_256b40b9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_1_id_256b40b9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","script","componentNormalizer","settings_1","FOWLayer","isVisionLayer","preFogShapes","idx","removeShape","Settings","skipLightFOW","clearRect","originalOperation","dctx","drawAngleLines","drawFirstLightHit","fullFOW","lcenter","alm","light","find","auraLength","getUnitDistance","auraCircle","visibleInCanvas","lastArcAngle","Path2D","firstPoint","angleSteps","anglePoint","cos","sin","lightRay","hitResult","BV","intersect","fowLOS","drawImage","preShape","ogComposite","getFogColour","fillRect","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_load_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_load_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","pow","targetX","targetY","round","resizedir","diff","sqrt","baserect_1","MapTool","xCount","yCount","startPoint","clone","BaseRect","_load_vue_vue_type_template_id_ff095222___WEBPACK_IMPORTED_MODULE_0__","_load_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__","PanTool","panStart","distance","increasePanX","increasePanY","_selectcontext_vue_vue_type_template_id_44a31e42_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_selectcontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","main_1","replace","random","v","toString","capitalize","charAt","toUpperCase","getHTMLFont","element","parentElement","getComputedStyle","getPropertyValue","getHTMLTextWidth","fakeElement","createElement","appendChild","getContext","partition","arr","predicate","ret","Number","fontWidth","fixedEncodeURIComponent","str","encodeURIComponent","charCodeAt","OrderedMap","values","getComponent","activeComponent","_contextMenu_vue_vue_type_template_id_d4f084a4___WEBPACK_IMPORTED_MODULE_0__","_contextMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","grid-column","updateShape","grid-column-start","checked","setToken","Array","isArray","_i","$$a","$$el","$$c","$$i","setVisionBlocker","setMovementBlocker","owner","placeholder","updateOwner","removeOwner","modifiers","number","_n","$forceUpdate","opacity","removeTracker","updateAuraColour","updateAuraVisionSource","removeAura","updateAnnotation","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","getLayers","setLayer","moveToBack","moveToFront","getInitiativeWord","Modal","positioned","offsetX","offsetY","screenX","screenY","dragging","updatePosition","container","offsetWidth","offsetHeight","clientX","clientY","parseInt","Boolean","destination","setRoot","folder","child","set","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_style_index_0_id_1fee50f5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_style_index_0_id_1fee50f5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","minx","maxx","miny","maxy","lineCap","lineJoin","currentTarget","closePicker","z-index","updateColor","_draw_vue_vue_type_template_id_5c4191ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_draw_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","opposite","fowColour","fowOpacity","colorpicker_vue_1","modal_vue_1","CreateTokenModal","updatePreview","newValue","oldValue","unitSize","Watch","color-picker","computed","mapState","NoteDialog","textarea","scrollHeight","then","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_style_index_0_id_ccaf03d6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_style_index_0_id_ccaf03d6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","DrawTool","brushHelper","shapeSelect","modeSelect","modes","brushSize","helperSize","onModeChange","fowLayer","normalLayer","setupBrush","onDeselect","onSelect","BoundingNode","nPrimitives","LeafNode","first","firstPrimOffset","InteriorNode","dimension","c1","c2","union","axios_1","vue_router_1","manager_vue_1","login_vue_1","logout_1","load_vue_1","main_vue_1","game_vue_1","invitation_1","router","base","routes","redirect","meta","auth","template","beforeEach","coreStore","initialized","matched","record","authenticated","response","setAuthenticated","setUsername","setInitialized","catch","error","Tool","detailRight","mid","detailArrow","$on","tool","onMouseDown","onMouseUp","onMouseMove","onContextMenu","_tools_vue_vue_type_template_id_1fee50f5_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_tools_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","topleft","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","LayerManager","drawLoop","requestAnimationFrame","addLayer","globalAlpha","getSelection","image","getData","l2gx","l2gy","l2gz","lm","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_createtoken_modal_vue_vue_type_template_id_66ccc134_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_createtoken_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","event_bus_1","onKeyUp","HTMLInputElement","HTMLTextAreaElement","selectTool","EventBus","onKeyDown","keyCode","hasSelection","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","shapecontext_vue_1","createtoken_modal_vue_1","draw_vue_1","map_vue_1","pan_1","select_vue_1","manager_2","ruler_1","Tools","currentTool","tools","dmTools","currentToolComponent","tagName","targetTool","button","buttons","annotations","gameManager","annotationManager","setActiveText","select-tool","pan-tool","draw-tool","ruler-tool","RulerTool","map-tool","shape-menu","createtoken-dialog","watch","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_style_index_0_id_32cec914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_style_index_0_id_32cec914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","question","answer","resolve","reject","Promise","toggle","mouseover","hash","mouseout","message","refInFor","tool-selected","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","botRight","vector","other","xmin","xmax","ymin","ymax","botright","dirIsNeg","txmin","getDiagCorner","txmax","tymin","tymax","tMax","sw","owned","joined","_m","createRoom","newSessionName","tag","getPointDistance","p1","p2","Point","vec","scale","maxT","t1","t2","vue_slider_component_1","lodash_1","initiative_vue_1","menu_vue_1","note_vue_1","selection_info_vue_1","tools_vue_1","keyboard_1","mouse_1","Game","manager","updateZoom","newZoomValue","zoomLocation","addEventListener","setWidth","setHeight","throttle","scrollZoom","confirm","dropAsset","tool-bar","selection-info","prompt-dialog","confirm-dialog","menu-bar","initiative-dialog","zoom-slider","note-dialog","obj","z","l2gr","asset_node_vue_1","MenuBar","settings","locations","setUseGrid","setFullFOW","setFOWOpacity","setLineOfSight","setUnitSize","setGridSize","setGridColour","setFOWColour","rulerColour","setRulerColour","nextElementSibling","newNote","openNote","asset-node","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_style_index_0_id_5c4191ca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_style_index_0_id_5c4191ca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","bringPlayers","createToken","showInitiative","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_style_index_0_id_7111f3f6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_style_index_0_id_7111f3f6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","annotation_1","GameManager","selectedTool","oldShape","redrawInitiative","checkVisionSources","setMovementBlock","setIsToken","move","localPos","fakeSetData","disabled","$store","state","game","updateOrder","actor","flex-direction","align-items","initiative-selected","currentActor","mouseenter","toggleHighlight","lazy","notAllowed","owns","syncInitiative","createEffect","getDefaultEffect","toggleOption","removeInitiative","effect","updateEffect","turns","roundCounter","setRound","setTurn","nextTurn","LoadComponent","registerHooks","Dashboard","vm","err","post","$router","_confirm_vue_vue_type_template_id_1883e207_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_confirm_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","--detailRight","--detailArrow","option-selected","max-width","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","rm-list-dm","enter","rm","transition","settingsClick","overflow-y","overflow-x","assets","createNote","notes","step","readonly","invitationCode","text-decoration","changeLocation","createLocation","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","FOWPlayersLayer","skipPlayerFOW","maxLength","tokenId","closePath","selectionColor","selectionWidth","invalidateLight","serverShape","lsI","lbI","mbI","anI","annotationIndex","ownedIndex","ogOP","drawAuras","destinationIndex","oldIdx","sign","deltaY","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_style_index_0_id_62c91cd3_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_style_index_0_id_62c91cd3_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","coreVisible","mx","my","_select_vue_vue_type_template_id_da20cb86___WEBPACK_IMPORTED_MODULE_0__","_select_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_main_vue_vue_type_template_id_61eb1455_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_main_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","node_1","BoundingVolume","totalNodes","buildData","orderedPrims","nodes","_a","Error","recursiveBuild","compact","node","createLeaf","centroidBbox","getMaxExtent","pMid","partitionedData","flattened","stopOnFirstHit","tMin","todoOffset","nodeNum","todo","secondChildOffset","flatten","myOffset","secondOffset","primitivesOffset","createtokendialog","Logout","CoreStore","init","App_vue_1","router_1","config","productionTip","devtools","performance","$mount","props","Initiative","code","sessionUrl","_prompt_vue_vue_type_template_id_0602c2e6_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_prompt_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_6bbf3b79_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_6bbf3b79_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_edit_dialog_vue_vue_type_template_id_078b3b76_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_edit_dialog_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","tempFill","Login","password","$route","statusText","span","modal-mask","dialog-mask","dragOver","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","ruler","diffsign","xdiff","ydiff","label","atan2","xmid","ymid","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_style_index_0_id_081515c4_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_style_index_0_id_081515c4_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_modal_vue_vue_type_template_id_12ed61ba_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_style_index_0_id_66ccc134_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_style_index_0_id_66ccc134_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_61eb1455_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_61eb1455_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","focusin","focusout","login","required","visibility","register","EditDialog","addEmpty","hadAnnotation","an","ownerIndex","tr","yes","no","ok","_map_vue_vue_type_template_id_f93438ce___WEBPACK_IMPORTED_MODULE_0__","_map_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","rename","deny","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_manager_vue_vue_type_template_id_d1ce9748___WEBPACK_IMPORTED_MODULE_0__","_manager_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_tool_vue_vue_type_template_id_1e034b42___WEBPACK_IMPORTED_MODULE_0__","_tool_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","keyup","_k","vuedraggable_1","getActor","$off","actorId","order","show","option","effectIndex","syncEffect","_selection_info_vue_vue_type_template_id_32cec914_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_selection_info_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","bvh_1","GameStore","selectedLayerIndex","boardInitialized","roomName","roomCreator","locationName","freeze","isDM","success","tries","oldLoc","newLoc","getGridLayer","increase","unit_size","gridLayer","use_grid","full_fow","fow_opacity","fow_los","actualNote","context","commit","Action","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","vision_source","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_note_vue_vue_type_template_id_7a3669fd_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_note_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_initiative_vue_vue_type_template_id_ccaf03d6_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_initiative_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","fow_1","fowplayers_1","grid_1","createLayer","layerInfo","zIndex","player_editable","setShapes","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","edit_dialog_vue_1","SelectionInfo","editDialog","ogValue","isNaN","edit-dialog","setRoomName","setRoomCreator","setInvitationCode","setDM","grid_colour","fow_colour","ruler_colour","setPanX","pan_x","setPanY","pan_y","setZoomFactor","zoom_factor","active_layer","setLocationName","setCenterPosition","setAssets","locationInfo","setLocations","innerHTML","resetLayerInfo","reset","setBoardInitialized","realShape"],"mappings":"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","file":"static/js/app-legacy.4b455705.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { g2l } from \"@/game/units\";\n\nexport class Text extends Shape {\n type = \"text\";\n text: string;\n font: string;\n angle: number;\n constructor(\n position: GlobalPoint,\n text: string,\n font: string,\n angle?: number,\n fillColour?: string,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(position, fillColour, strokeColour, uuid);\n this.text = text;\n this.font = font;\n this.angle = angle || 0;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n text: this.text,\n font: this.font,\n angle: this.angle,\n });\n }\n getBoundingBox(): BoundingRect {\n return new BoundingRect(this.refPoint, 5, 5); // TODO: fix this bounding box\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.font = this.font;\n ctx.fillStyle = this.fillColour;\n ctx.save();\n const dest = g2l(this.refPoint);\n ctx.translate(dest.x, dest.y);\n ctx.rotate(this.angle);\n ctx.textAlign = \"center\";\n this.getLines(ctx).map(line => ctx.fillText(line.text, line.x, line.y));\n ctx.restore();\n }\n contains(point: GlobalPoint): boolean {\n return false; // TODO\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {} // TODO\n getCorner(point: GlobalPoint): string | undefined {\n return \"\";\n } // TODO\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid(): void {}\n resizeToGrid(): void {}\n resize(resizeDir: string, point: LocalPoint): void {}\n\n getMaxHeight(ctx: CanvasRenderingContext2D) {\n const lines = this.getLines(ctx);\n const lineHeight = 30;\n return lineHeight * lines.length;\n }\n\n getMaxWidth(ctx: CanvasRenderingContext2D) {\n const lines = this.getLines(ctx);\n const widths = lines.map(line => ctx.measureText(line.text).width);\n return Math.max(...widths);\n }\n\n private getLines(ctx: CanvasRenderingContext2D) {\n const lines = this.text.split(\"\\n\");\n const allLines: { text: string; x: number; y: number }[] = [];\n const maxWidth = ctx.canvas.width;\n const lineHeight = 30;\n const x = 0; // this.refPoint.x;\n let y = 0; // this.refPoint.y;\n\n for (const line of lines) {\n let targetLine = \"\";\n const words = line.split(\" \");\n for (const word of words) {\n const testLine = targetLine + word + \" \";\n const metrics = ctx.measureText(testLine);\n const testWidth = metrics.width;\n if (testWidth > maxWidth) {\n ctx.fillText(targetLine, x, y);\n allLines.push({ text: targetLine, x, y });\n targetLine = word + \" \";\n y += lineHeight;\n } else {\n targetLine = testLine;\n }\n }\n allLines.push({ text: targetLine, x, y });\n y += lineHeight;\n }\n return allLines;\n }\n}\n","import { render, staticRenderFns } from \"./shapecontext.vue?vue&type=template&id=7111f3f6&scoped=true&\"\nimport script from \"./shapecontext.vue?vue&type=script&lang=ts&\"\nexport * from \"./shapecontext.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./shapecontext.vue?vue&type=style&index=0&id=7111f3f6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7111f3f6\",\n null\n \n)\n\ncomponent.options.__file = \"shapecontext.vue\"\nexport default component.exports","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=style&index=0&id=0602c2e6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=style&index=0&id=0602c2e6&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport tinycolor from \"tinycolor2\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { Chrome } from \"vue-color\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component({\n components: {\n \"chrome-picker\": Chrome,\n },\n})\nexport default class ColorPicker extends Vue {\n @Prop(String) color!: string;\n\n display = false;\n left = 0;\n top = 0;\n transparent = false;\n\n mounted() {\n this.transparent = (this.$refs.chromePicker).val.rgba.a === 0;\n this.setPosition();\n }\n\n open() {\n if (this.display) return; // click on the picker itself\n this.setPosition();\n this.display = true;\n this.$nextTick(() => this.$children[0].$el.focus());\n }\n updateColor(value: { rgba: { r: number; g: number; b: number; a: number } }) {\n this.transparent = value.rgba.a === 0;\n const newColor = tinycolor(value.rgba).toRgbString();\n this.$emit(\"update:color\", newColor);\n this.$emit(\"input\", newColor);\n }\n closePicker() {\n this.display = false;\n this.$emit(\"change\", this.color);\n }\n setPosition() {\n const rect = this.$el.getBoundingClientRect();\n // 224 is the width of the picker, 242 the height\n if (rect.right + 224 > window.innerWidth) this.left = rect.left - 224;\n else this.left = rect.right;\n if (rect.bottom + 242 > window.innerHeight) this.top = rect.top - 242;\n else this.top = rect.bottom;\n }\n}\n","import { render, staticRenderFns } from \"./game.vue?vue&type=template&id=256b40b9&scoped=true&\"\nimport script from \"./game.vue?vue&type=script&lang=ts&\"\nexport * from \"./game.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./game.vue?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./game.vue?vue&type=style&index=1&id=256b40b9&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"256b40b9\",\n null\n \n)\n\ncomponent.options.__file = \"game.vue\"\nexport default component.exports","import io from \"socket.io-client\";\nimport { Route } from \"vue-router\";\n\nexport const socket = io(location.protocol + \"//\" + location.host + \"/planarally\", { autoConnect: false });\n\nexport function createConnection(route: Route) {\n socket.io.opts.query = `user=${route.params.creator}&room=${route.params.room}`;\n socket.connect();\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport AssetContextMenu from \"@/assetManager/contextMenu.vue\";\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\n\nimport { socket } from \"@/assetManager/socket\";\nimport { assetStore } from \"@/assetManager/store\";\nimport { Asset } from \"@/core/comm/types\";\nimport { uuidv4 } from \"@/core/utils\";\n\n@Component({\n components: {\n Prompt,\n ConfirmDialog,\n AssetContextMenu,\n },\n beforeRouteEnter(to, from, next) {\n socket.connect();\n next();\n },\n beforeRouteLeave(to, from, next) {\n socket.disconnect();\n next();\n },\n})\nexport default class AssetManager extends Vue {\n path: number[] = [];\n draggingSelection = false;\n\n get folders(): number[] {\n return assetStore.folders;\n }\n\n get files(): number[] {\n return assetStore.files;\n }\n\n get selected(): number[] {\n return assetStore.selected;\n }\n\n get idMap() {\n return assetStore.idMap;\n }\n\n get currentFolder(): number {\n if (this.path.length) return this.path[this.path.length - 1];\n return assetStore.root;\n }\n get parentFolder(): number {\n let parent = this.path[this.path.length - 2];\n if (parent === undefined) parent = assetStore.root;\n return parent;\n }\n get firstSelectedFile(): Asset | null {\n for (const sel of assetStore.selected) {\n if (assetStore.idMap.get(sel)!.file_hash) {\n return assetStore.idMap.get(sel)!;\n }\n }\n return null;\n }\n changeDirectory(nextFolder: number) {\n if (nextFolder < 0) this.path.pop();\n else this.path.push(nextFolder);\n assetStore.clearSelected();\n socket.emit(\"Folder.Get\", this.currentFolder);\n }\n createDirectory() {\n const name = window.prompt(\"New folder name\");\n if (name !== null) {\n socket.emit(\"Folder.Create\", { name, parent: this.currentFolder });\n }\n }\n moveInode(inode: number, target: number) {\n if (assetStore.isFile(inode)) assetStore.files.splice(assetStore.files.indexOf(inode), 1);\n else assetStore.folders.splice(assetStore.folders.indexOf(inode), 1);\n assetStore.idMap.delete(inode);\n socket.emit(\"Inode.Move\", { inode, target });\n }\n select(event: MouseEvent, inode: number) {\n if (event.shiftKey && assetStore.selected.length > 0) {\n const inodes = [...assetStore.files, ...assetStore.folders];\n const start = inodes.indexOf(assetStore.selected[assetStore.selected.length - 1]);\n const end = inodes.indexOf(inode);\n for (let i = start; i !== end; start < end ? i++ : i--) assetStore.selected.push(inodes[i]);\n assetStore.selected.push(inodes[end]);\n } else {\n if (!event.ctrlKey) {\n assetStore.clearSelected();\n }\n assetStore.selected.push(inode);\n }\n }\n startDrag(event: DragEvent, file: number) {\n if (event.dataTransfer === null) return;\n event.dataTransfer.setData(\"Hack\", \"ittyHack\");\n event.dataTransfer.dropEffect = \"move\";\n if (!assetStore.selected.includes(file)) assetStore.selected.push(file);\n this.draggingSelection = true;\n }\n moveDrag(event: DragEvent) {\n if ((event.target).classList.contains(\"folder\"))\n (event.target).classList.add(\"inode-selected\");\n }\n leaveDrag(event: DragEvent) {\n if ((event.target).classList.contains(\"folder\"))\n (event.target).classList.remove(\"inode-selected\");\n }\n stopDrag(event: DragEvent, target: number) {\n (event.target).classList.remove(\"inode-selected\");\n if (this.draggingSelection) {\n if (\n (target === assetStore.root || assetStore.folders.includes(target)) &&\n !assetStore.selected.includes(target)\n ) {\n for (const inode of assetStore.selected) {\n this.moveInode(inode, target);\n }\n }\n assetStore.clearSelected();\n } else if (event.dataTransfer && event.dataTransfer.files.length > 0) {\n this.upload(event.dataTransfer.files, target);\n }\n this.draggingSelection = false;\n }\n prepareUpload() {\n document.getElementById(\"files\")!.click();\n }\n upload(fls?: FileList, target?: number) {\n const files = (document.getElementById(\"files\")!).files;\n if (fls === undefined) {\n if (files) fls = files;\n else return;\n }\n if (target === undefined) target = this.currentFolder;\n const CHUNK_SIZE = 100000;\n for (const file of fls) {\n const uuid = uuidv4();\n const slices = Math.ceil(file.size / CHUNK_SIZE);\n for (let slice = 0; slice < slices; slice++) {\n const fr = new FileReader();\n fr.readAsArrayBuffer(\n file.slice(\n slice * CHUNK_SIZE,\n slice * CHUNK_SIZE + Math.min(CHUNK_SIZE, file.size - slice * CHUNK_SIZE),\n ),\n );\n fr.onload = e => {\n socket.emit(\"Asset.Upload\", {\n name: file.name,\n directory: target,\n data: fr.result,\n slice,\n totalSlices: slices,\n uuid,\n });\n };\n }\n }\n }\n}\n","import { render, staticRenderFns } from \"./asset_node.vue?vue&type=template&id=62c91cd3&scoped=true&\"\nimport script from \"./asset_node.vue?vue&type=script&lang=ts&\"\nexport * from \"./asset_node.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./asset_node.vue?vue&type=style&index=0&id=62c91cd3&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62c91cd3\",\n null\n \n)\n\ncomponent.options.__file = \"asset_node.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=style&index=0&id=44a31e42&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=style&index=0&id=44a31e42&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=6bbf3b79&scoped=true&\"\nimport script from \"./login.vue?vue&type=script&lang=ts&\"\nexport * from \"./login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&id=6bbf3b79&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6bbf3b79\",\n null\n \n)\n\ncomponent.options.__file = \"login.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"visible\":_vm.visible},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_vm._v(\"Create basic token\")])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('label',{attrs:{\"for\":\"createtokendialog-text\"}},[_vm._v(\"Text\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.text),expression:\"text\"}],attrs:{\"type\":\"text\",\"id\":\"createtokendialog-name\"},domProps:{\"value\":(_vm.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.text=$event.target.value}}}),_c('label',[_vm._v(\"Colours\")]),_c('div',{staticClass:\"colours\"},[_c('span',[_vm._v(\"Fill:\")]),_c('color-picker',{attrs:{\"color\":_vm.fillColour},on:{\"update:color\":function($event){_vm.fillColour=$event}}}),_c('span',[_vm._v(\"Border:\")]),_c('color-picker',{attrs:{\"color\":_vm.borderColour},on:{\"update:color\":function($event){_vm.borderColour=$event}}})],1),_c('canvas',{ref:\"canvas\",attrs:{\"width\":\"100px\",\"height\":\"100px\"}})]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{on:{\"click\":_vm.submit}},[_vm._v(\"Submit\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=template&id=66ccc134&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=style&index=0&lang=css&\"","import * as tinycolor from \"tinycolor2\";\n\nimport { calcFontScale } from \"@/core/utils\";\nimport { InitiativeData } from \"@/game/comm/types/general\";\nimport { ServerCircularToken } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lz } from \"@/game/units\";\n\nexport class CircularToken extends Circle {\n type = \"circulartoken\";\n text: string;\n font: string;\n constructor(\n center: GlobalPoint,\n r: number,\n text: string,\n font: string,\n fillColour?: string,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(center, r, fillColour, strokeColour, uuid);\n this.text = text;\n this.font = font;\n }\n asDict(): ServerCircularToken {\n return Object.assign(this.getBaseDict(), {\n radius: this.r,\n text: this.text,\n font: this.font,\n });\n }\n fromDict(data: ServerCircularToken) {\n super.fromDict(data);\n this.r = data.radius;\n this.text = data.text;\n this.font = data.font;\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.font = this.font;\n ctx.save();\n const dest = g2l(this.center());\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n const xs = calcFontScale(ctx, this.text, g2lz(this.r), g2lz(this.r));\n const ys = 0;\n ctx.transform(xs, ys, -ys, xs, dest.x, dest.y);\n ctx.fillStyle = tinycolor.mostReadable(this.fillColour, [\"#000\", \"#fff\"]).toHexString();\n ctx.fillText(this.text, 0, 0);\n ctx.restore();\n }\n getInitiativeRepr(): InitiativeData {\n return {\n uuid: this.uuid,\n visible: !gameStore.IS_DM,\n group: false,\n source: this.name === \"\" || this.name === \"Unknown shape\" ? this.text : this.name,\n has_img: false,\n effects: [],\n index: Infinity,\n };\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"AssetManager\"}},[_c('div',{attrs:{\"id\":\"titlebar\"}},[_vm._v(\"Asset Manager\")]),_c('div',{attrs:{\"id\":\"main\"}},[_c('div',{attrs:{\"id\":\"assets\"},on:{\"dragover\":function($event){$event.preventDefault();return _vm.moveDrag($event)},\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.stopDrag($event, _vm.currentFolder)}}},[_c('div',{attrs:{\"id\":\"breadcrumbs\"}},[_c('div',[_vm._v(\"/\")]),_vm._l((_vm.path),function(dir){return _c('div',{key:dir},[_vm._v(_vm._s(_vm.idMap.get(dir).name))])})],2),_c('div',{attrs:{\"id\":\"actionbar\"}},[_c('input',{attrs:{\"id\":\"files\",\"type\":\"file\",\"multiple\":\"\",\"hidden\":\"\"},on:{\"change\":function($event){_vm.upload()}}}),_c('div',{attrs:{\"title\":\"Create folder\"},on:{\"click\":_vm.createDirectory}},[_c('i',{staticClass:\"fas fa-plus-square\"})]),_c('div',{attrs:{\"title\":\"Upload files\"},on:{\"click\":_vm.prepareUpload}},[_c('i',{staticClass:\"fas fa-upload\"})])]),_c('div',{attrs:{\"id\":\"explorer\"}},[(_vm.path.length)?_c('div',{staticClass:\"inode folder\",on:{\"dblclick\":function($event){_vm.changeDirectory(-1)},\"dragover\":function($event){$event.preventDefault();return _vm.moveDrag($event)},\"dragleave\":function($event){$event.preventDefault();return _vm.leaveDrag($event)},\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.stopDrag($event, _vm.parentFolder)}}},[_c('i',{staticClass:\"fas fa-folder\",staticStyle:{\"font-size\":\"50px\"}}),_c('div',{staticClass:\"title\"},[_vm._v(\"..\")])]):_vm._e(),_vm._l((_vm.folders),function(key){return _c('div',{key:key,staticClass:\"inode folder\",class:{'inode-selected': _vm.selected.includes(key)},attrs:{\"draggable\":\"true\"},on:{\"click\":function($event){_vm.select($event, key)},\"dblclick\":function($event){_vm.changeDirectory(key)},\"contextmenu\":function($event){$event.preventDefault();_vm.$refs.cm.open($event, key)},\"dragstart\":function($event){_vm.startDrag($event, key)},\"dragover\":function($event){$event.preventDefault();return _vm.moveDrag($event)},\"dragleave\":function($event){$event.preventDefault();return _vm.leaveDrag($event)},\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.stopDrag($event, key)}}},[_c('i',{staticClass:\"fas fa-folder\",staticStyle:{\"font-size\":\"50px\"}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.idMap.get(key).name))])])}),_vm._l((_vm.files),function(file){return _c('div',{key:file,staticClass:\"inode file\",class:{'inode-selected': _vm.selected.includes(file)},attrs:{\"draggable\":\"true\"},on:{\"click\":function($event){_vm.select($event, file)},\"contextmenu\":function($event){$event.preventDefault();_vm.$refs.cm.open($event, file)},\"dragstart\":function($event){_vm.startDrag($event, file)}}},[_c('img',{attrs:{\"src\":'/static/assets/' + _vm.idMap.get(file).file_hash,\"width\":\"50\"}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.idMap.get(file).name))])])})],2)]),(_vm.firstSelectedFile)?_c('div',{attrs:{\"id\":\"asset-details\"}},[_c('div',{attrs:{\"id\":\"asset-detail-title\"}},[_vm._v(_vm._s(_vm.firstSelectedFile.name))]),_c('img',{attrs:{\"src\":'/static/assets/' + _vm.firstSelectedFile.file_hash}})]):_vm._e()]),_c('AssetContextMenu',{ref:\"cm\"}),_c('Prompt',{ref:\"prompt\"}),_c('ConfirmDialog',{ref:\"confirm\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=template&id=d1ce9748&\"","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { Text } from \"@/game/shapes/text\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\n\nexport class AnnotationManager {\n annotationText: Text;\n annotationRect: Rect;\n layer: Layer | undefined;\n shown: boolean = false;\n\n constructor() {\n const origin = new GlobalPoint(0, 0);\n this.annotationText = new Text(origin, \"\", \"bold 20px serif\", 0, \"rgba(230, 230, 230, 1)\");\n this.annotationRect = new Rect(origin, 0, 0, \"rgba(0, 0, 0, 0.6)\");\n }\n\n setActiveText(text: string) {\n if (this.layer === undefined) {\n if (layerManager.hasLayer(\"draw\")) {\n this.layer = layerManager.getLayer(\"draw\")!;\n this.layer.addShape(this.annotationRect, false);\n this.layer.addShape(this.annotationText, false);\n } else {\n console.warn(\"There is no draw layer to draw annotations on!\");\n return;\n }\n }\n this.shown = text !== \"\";\n this.annotationText.refPoint = l2g(new LocalPoint(this.layer.canvas.width / 2, 50));\n this.annotationText.text = text;\n const width = this.shown ? this.annotationText.getMaxWidth(this.layer.ctx) + 10 : 0;\n const height = this.shown ? this.annotationText.getMaxHeight(this.layer.ctx) + 10 : 0;\n this.annotationRect.refPoint = l2g(new LocalPoint(this.layer.canvas.width / 2 - width / 2, 30));\n this.annotationRect.w = width / gameStore.zoomFactor;\n this.annotationRect.h = height / gameStore.zoomFactor;\n this.layer.invalidate(true);\n }\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=style&index=0&id=b4f2c0b0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=style&index=0&id=b4f2c0b0&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./menu.vue?vue&type=template&id=081515c4&scoped=true&\"\nimport script from \"./menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./menu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./menu.vue?vue&type=style&index=0&id=081515c4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"081515c4\",\n null\n \n)\n\ncomponent.options.__file = \"menu.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./contextmenu.vue?vue&type=template&id=256dde9c&\"\nimport script from \"./contextmenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./contextmenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./contextmenu.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"contextmenu.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=ts&\"","import {\n ServerAsset,\n ServerCircle,\n ServerCircularToken,\n ServerLine,\n ServerMultiLine,\n ServerRect,\n ServerShape,\n ServerText,\n} from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Asset } from \"@/game/shapes/asset\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { CircularToken } from \"@/game/shapes/circulartoken\";\nimport { Line } from \"@/game/shapes/line\";\nimport { MultiLine } from \"@/game/shapes/multiline\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { Text } from \"@/game/shapes/text\";\n\nexport function createShapeFromDict(shape: ServerShape, dummy?: boolean) {\n // TODO: is this dummy stuff actually needed, do we ever want to return the local shape?\n if (dummy === undefined) dummy = false;\n if (!dummy && layerManager.UUIDMap.has(shape.uuid)) return layerManager.UUIDMap.get(shape.uuid);\n\n let sh: Shape;\n\n // A fromJSON and toJSON on Shape would be cleaner but ts does not allow for static abstracts so yeah.\n\n // Shape Type specifics\n\n const refPoint = new GlobalPoint(shape.x, shape.y);\n if (shape.type_ === \"rect\") {\n const rect = shape;\n sh = new Rect(refPoint, rect.width, rect.height, rect.fill_colour, rect.stroke_colour, rect.uuid);\n } else if (shape.type_ === \"circle\") {\n const circ = shape;\n sh = new Circle(refPoint, circ.radius, circ.fill_colour, circ.stroke_colour, circ.uuid);\n } else if (shape.type_ === \"circulartoken\") {\n const token = shape;\n sh = new CircularToken(\n refPoint,\n token.radius,\n token.text,\n token.font,\n token.fill_colour,\n token.stroke_colour,\n token.uuid,\n );\n } else if (shape.type_ === \"line\") {\n const line = shape;\n sh = new Line(refPoint, new GlobalPoint(line.x2, line.y2), line.line_width, line.stroke_colour, line.uuid);\n } else if (shape.type_ === \"multiline\") {\n const multiline = shape;\n sh = new MultiLine(\n refPoint,\n multiline.points.map(p => new GlobalPoint(p.x, p.y)),\n multiline.line_width,\n multiline.stroke_colour,\n multiline.uuid,\n );\n } else if (shape.type_ === \"text\") {\n const text = shape;\n sh = new Text(refPoint, text.text, text.font, text.angle, text.fill_colour, text.stroke_colour, text.uuid);\n } else if (shape.type_ === \"assetrect\") {\n const asset = shape;\n const img = new Image(asset.width, asset.height);\n if (asset.src.startsWith(\"http\")) img.src = new URL(asset.src).pathname;\n else img.src = asset.src;\n sh = new Asset(img, refPoint, asset.width, asset.height, asset.uuid);\n img.onload = () => {\n layerManager.getLayer(shape.layer)!.invalidate(false);\n };\n } else {\n return undefined;\n }\n sh.fromDict(shape);\n return sh;\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=style&index=0&id=1883e207&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=style&index=0&id=1883e207&scoped=true&lang=css&\"","import tinycolor from \"tinycolor2\";\n\nimport { uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { aurasFromServer, aurasToServer } from \"@/game/comm/conversion/aura\";\nimport { InitiativeData } from \"@/game/comm/types/general\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lr, g2lx, g2ly, g2lz } from \"@/game/units\";\n\nexport abstract class Shape {\n // Used to create class instance from server shape data\n abstract type: string;\n // The unique ID of this shape\n uuid: string;\n // The layer the shape is currently on\n layer!: string;\n\n // A reference point regarding that specific shape's structure\n refPoint: GlobalPoint;\n\n // Fill colour of the shape\n fillColour: string = \"#000\";\n strokeColour: string = \"rgba(0,0,0,0)\";\n // The optional name associated with the shape\n name = \"Unknown shape\";\n\n // Associated trackers/auras/owners\n trackers: Tracker[] = [];\n auras: Aura[] = [];\n owners: string[] = [];\n\n // Block light sources\n visionObstruction = false;\n // Prevent shapes from overlapping with this shape\n movementObstruction = false;\n // Does this shape represent a playable token\n isToken = false;\n // Show a highlight box\n showHighlight = false;\n\n // Mouseover annotation\n annotation: string = \"\";\n\n // Draw modus to use\n globalCompositeOperation: string = \"source-over\";\n\n // Additional options for specialized uses\n options: Map = new Map();\n\n constructor(refPoint: GlobalPoint, fillColour?: string, strokeColour?: string, uuid?: string) {\n this.refPoint = refPoint;\n this.uuid = uuid || uuidv4();\n if (fillColour !== undefined) this.fillColour = fillColour;\n if (strokeColour !== undefined) this.strokeColour = strokeColour;\n }\n\n abstract getBoundingBox(): BoundingRect;\n\n // If inWorldCoord is\n abstract contains(point: GlobalPoint): boolean;\n\n abstract center(): GlobalPoint;\n abstract center(centerPoint: GlobalPoint): void;\n abstract getCorner(point: GlobalPoint): string | undefined;\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n // for (const aura of this.auras) {\n // if (aura.value > 0) {\n // const auraCircle = new Circle(this.center(), aura.value);\n // if (auraCircle.visibleInCanvas(canvas)) return true;\n // }\n // }\n return false;\n }\n\n // Code to snap a shape to the grid\n // This is shape dependent as the shape refPoints are shape specific in\n abstract snapToGrid(): void;\n abstract resizeToGrid(): void;\n abstract resize(resizeDir: string, point: LocalPoint): void;\n\n invalidate(skipLightUpdate: boolean) {\n const l = layerManager.getLayer(this.layer);\n if (l) l.invalidate(skipLightUpdate);\n }\n\n checkVisionSources() {\n const self = this;\n const obstructionIndex = gameStore.visionBlockers.indexOf(this.uuid);\n let changeBV = false;\n if (this.visionObstruction && obstructionIndex === -1) {\n gameStore.visionBlockers.push(this.uuid);\n changeBV = true;\n } else if (!this.visionObstruction && obstructionIndex >= 0) {\n gameStore.visionBlockers.splice(obstructionIndex, 1);\n changeBV = true;\n }\n if (changeBV) gameStore.recalculateBV();\n\n // Check if the visionsource auras are in the gameManager\n this.auras.forEach(au => {\n const ls = gameStore.visionSources;\n const i = ls.findIndex(o => o.aura === au.uuid);\n if (au.visionSource && i === -1) {\n ls.push({ shape: self.uuid, aura: au.uuid });\n } else if (!au.visionSource && i >= 0) {\n ls.splice(i, 1);\n }\n });\n // Check if anything in the gameManager referencing this shape is in fact still a visionsource\n for (let i = gameStore.visionSources.length - 1; i >= 0; i--) {\n const ls = gameStore.visionSources[i];\n if (ls.shape === self.uuid) {\n if (!self.auras.some(a => a.uuid === ls.aura && a.visionSource)) gameStore.visionSources.splice(i, 1);\n }\n }\n }\n\n setMovementBlock(blocksMovement: boolean) {\n this.movementObstruction = blocksMovement || false;\n const obstructionIndex = gameStore.movementblockers.indexOf(this.uuid);\n if (this.movementObstruction && obstructionIndex === -1) gameStore.movementblockers.push(this.uuid);\n else if (!this.movementObstruction && obstructionIndex >= 0)\n gameStore.movementblockers.splice(obstructionIndex, 1);\n }\n\n setIsToken(isToken: boolean) {\n this.isToken = isToken;\n if (this.ownedBy()) {\n const i = gameStore.ownedtokens.indexOf(this.uuid);\n if (this.isToken && i === -1) gameStore.ownedtokens.push(this.uuid);\n else if (!this.isToken && i >= 0) gameStore.ownedtokens.splice(i, 1);\n }\n }\n\n ownedBy(username?: string) {\n if (username === undefined) username = gameStore.username;\n return gameStore.IS_DM || this.owners.includes(username);\n }\n\n abstract asDict(): ServerShape;\n getBaseDict(): ServerShape {\n return {\n type_: this.type,\n uuid: this.uuid,\n x: this.refPoint.x,\n y: this.refPoint.y,\n layer: this.layer,\n draw_operator: this.globalCompositeOperation,\n movement_obstruction: this.movementObstruction,\n vision_obstruction: this.visionObstruction,\n auras: aurasToServer(this.auras),\n trackers: this.trackers,\n owners: this.owners,\n fill_colour: this.fillColour,\n stroke_colour: this.strokeColour,\n name: this.name,\n annotation: this.annotation,\n is_token: this.isToken,\n options: JSON.stringify([...this.options]),\n };\n }\n fromDict(data: ServerShape) {\n this.layer = data.layer;\n this.globalCompositeOperation = data.draw_operator;\n this.movementObstruction = data.movement_obstruction;\n this.visionObstruction = data.vision_obstruction;\n this.auras = aurasFromServer(data.auras);\n this.trackers = data.trackers;\n this.owners = data.owners;\n this.isToken = data.is_token;\n if (data.annotation) this.annotation = data.annotation;\n if (data.name) this.name = data.name;\n if (data.options) this.options = new Map(JSON.parse(data.options));\n }\n\n draw(ctx: CanvasRenderingContext2D) {\n if (this.globalCompositeOperation !== undefined) ctx.globalCompositeOperation = this.globalCompositeOperation;\n else ctx.globalCompositeOperation = \"source-over\";\n if (this.showHighlight) {\n const bbox = this.getBoundingBox();\n ctx.strokeStyle = \"red\";\n ctx.strokeRect(g2lx(bbox.topLeft.x) - 5, g2ly(bbox.topLeft.y) - 5, g2lz(bbox.w) + 10, g2lz(bbox.h) + 10);\n }\n }\n\n drawAuras(ctx: CanvasRenderingContext2D) {\n for (const aura of this.auras) {\n if (aura.value === 0 && aura.dim === 0) return;\n ctx.beginPath();\n\n const loc = g2l(this.center());\n const innerRange = g2lr(aura.value + aura.dim);\n\n if (aura.dim === 0) ctx.fillStyle = aura.colour;\n else {\n const gradient = ctx.createRadialGradient(\n loc.x,\n loc.y,\n g2lr(aura.value),\n loc.x,\n loc.y,\n g2lr(aura.value + aura.dim),\n );\n const tc = tinycolor(aura.colour);\n ctx.fillStyle = gradient;\n gradient.addColorStop(0, aura.colour);\n gradient.addColorStop(1, tc.setAlpha(0).toRgbString());\n }\n if (!aura.visionSource || aura.lastPath === undefined) {\n ctx.arc(loc.x, loc.y, innerRange, 0, 2 * Math.PI);\n ctx.fill();\n } else {\n try {\n ctx.fill(aura.lastPath);\n } catch (e) {\n ctx.arc(loc.x, loc.y, innerRange, 0, 2 * Math.PI);\n ctx.fill();\n console.warn(e);\n }\n }\n }\n }\n\n getInitiativeRepr(): InitiativeData {\n return {\n uuid: this.uuid,\n visible: !gameStore.IS_DM,\n group: false,\n source: this.name,\n has_img: false,\n effects: [],\n index: Infinity,\n };\n }\n\n moveLayer(layer: string, sync: boolean) {\n const oldLayer = layerManager.getLayer(this.layer);\n const newLayer = layerManager.getLayer(layer);\n if (oldLayer === undefined || newLayer === undefined) return;\n this.layer = layer;\n // Update layer shapes\n oldLayer.shapes.splice(oldLayer.shapes.indexOf(this), 1);\n newLayer.shapes.push(this);\n // Revalidate layers (light should at most be redone once)\n oldLayer.invalidate(true);\n newLayer.invalidate(false);\n // Sync!\n if (sync) socket.emit(\"Shape.Layer.Change\", { uuid: this.uuid, layer });\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.note !== null)?_c('modal',{attrs:{\"visible\":_vm.visible,\"mask\":false},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_c('span',{on:{\"click\":function($event){_vm.$refs.title.select()}}},[_c('i',{staticClass:\"fas fa-pencil-alt\",staticStyle:{\"font-size\":\"15px\"}})]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.note.title),expression:\"note.title\"}],ref:\"title\",domProps:{\"value\":(_vm.note.title)},on:{\"change\":_vm.updateNote,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.note, \"title\", $event.target.value)}}}),_c('div',{staticClass:\"header-close\",on:{\"click\":function($event){_vm.visible = false}}},[_c('i',{staticClass:\"far fa-window-close\"})])])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.note.text),expression:\"note.text\"}],ref:\"textarea\",style:({'height': _vm.calcHeight()}),domProps:{\"value\":(_vm.note.text)},on:{\"change\":_vm.updateNote,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.note, \"text\", $event.target.value)}}})]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{on:{\"click\":_vm.removeNote}},[_c('i',{staticClass:\"far fa-trash-alt\"}),_vm._v(\" Remove\\n \")])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=template&id=7a3669fd&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=style&index=0&id=12ed61ba&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=style&index=0&id=12ed61ba&scoped=true&lang=css&\"","\n\n\n\n\nimport SelectContext from \"@/game/ui/tools/selectcontext.vue\";\nimport Tool from \"@/game/ui/tools/tool.vue\";\nimport SelectionInfo from \"../selection/selection_info.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { GlobalPoint, LocalPoint, Ray, Vector } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\nimport { g2l, g2lx, g2ly, l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\nexport enum SelectOperations {\n Noop,\n Resize,\n Drag,\n GroupSelect,\n}\n\nconst start = new GlobalPoint(-1000, -1000);\n\n@Component({\n components: {\n SelectContext,\n },\n})\nexport default class SelectTool extends Tool {\n name = \"Select\";\n showContextMenu = false;\n active = false;\n\n mode = SelectOperations.Noop;\n resizeDirection = \"\";\n deltaChanged = false;\n // Because we never drag from the asset's (0, 0) coord and want a smoother drag experience\n // we keep track of the actual offset within the asset.\n dragRay = new Ray(new LocalPoint(0, 0), new Vector(0, 0));\n selectionStartPoint = start;\n selectionHelper = new Rect(start, 0, 0);\n created() {\n this.selectionHelper.globalCompositeOperation = \"source-over\";\n }\n onMouseDown(event: MouseEvent) {\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n\n if (!this.selectionHelper.owners.includes(gameStore.username)) {\n this.selectionHelper.owners.push(gameStore.username);\n }\n\n const mouse = getMouse(event);\n const globalMouse = l2g(mouse);\n\n let hit = false;\n // The selectionStack allows for lower positioned objects that are selected to have precedence during overlap.\n let selectionStack;\n if (!layer.selection.length) selectionStack = layer.shapes;\n else selectionStack = layer.shapes.concat(layer.selection);\n for (let i = selectionStack.length - 1; i >= 0; i--) {\n const shape = selectionStack[i];\n\n if (!shape.ownedBy()) continue;\n\n const corner = shape.getBoundingBox().getCorner(globalMouse);\n\n // Resize case, a corner is selected\n if (corner !== undefined) {\n layer.selection = [shape];\n getRef(\"selectionInfo\").shape = shape;\n this.mode = SelectOperations.Resize;\n this.resizeDirection = corner;\n layer.invalidate(true);\n hit = true;\n break;\n\n // Drag case, a shape is selected\n } else if (shape.contains(globalMouse)) {\n const selection = shape;\n if (layer.selection.indexOf(selection) === -1) {\n layer.selection = [selection];\n getRef(\"selectionInfo\").shape = selection;\n }\n this.mode = SelectOperations.Drag;\n const localRefPoint = g2l(selection.refPoint);\n this.dragRay = new Ray(localRefPoint, mouse.subtract(localRefPoint));\n layer.invalidate(true);\n hit = true;\n break;\n }\n }\n\n // GroupSelect case, draw a selection box to select multiple shapes\n if (!hit) {\n this.mode = SelectOperations.GroupSelect;\n for (const selection of layer.selection) getRef(\"selectionInfo\").shape = selection;\n\n this.selectionStartPoint = globalMouse;\n\n this.selectionHelper.refPoint = this.selectionStartPoint;\n this.selectionHelper.w = 0;\n this.selectionHelper.h = 0;\n\n layer.selection = [this.selectionHelper];\n layer.invalidate(true);\n }\n this.active = true;\n }\n onMouseMove(event: MouseEvent) {\n // if (!this.active) return; we require mousemove for the resize cursor\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n const mouse = getMouse(event);\n const globalMouse = l2g(mouse);\n this.deltaChanged = false;\n\n if (this.mode === SelectOperations.GroupSelect) {\n // Currently draw on active layer\n const endPoint = globalMouse;\n\n this.selectionHelper.w = Math.abs(endPoint.x - this.selectionStartPoint.x);\n this.selectionHelper.h = Math.abs(endPoint.y - this.selectionStartPoint.y);\n this.selectionHelper.refPoint = new GlobalPoint(\n Math.min(this.selectionStartPoint.x, endPoint.x),\n Math.min(this.selectionStartPoint.y, endPoint.y),\n );\n layer.invalidate(true);\n } else if (layer.selection.length) {\n const og = g2l(layer.selection[layer.selection.length - 1].refPoint);\n const origin = og.add(this.dragRay.direction);\n let delta = mouse.subtract(origin).multiply(1 / gameStore.zoomFactor);\n const ogDelta = delta;\n if (this.mode === SelectOperations.Drag) {\n // If we are on the tokens layer do a movement block check.\n if (layer.name === \"tokens\" && !(event.shiftKey && gameStore.IS_DM)) {\n for (const sel of layer.selection) {\n if (sel.uuid === this.selectionHelper.uuid) continue; // the selection helper should not be treated as a real shape.\n delta = calculateDelta(delta, sel);\n if (delta !== ogDelta) this.deltaChanged = true;\n }\n }\n // Actually apply the delta on all shapes\n for (const sel of layer.selection) {\n sel.refPoint = sel.refPoint.add(delta);\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: true });\n }\n }\n layer.invalidate(false);\n } else if (this.mode === SelectOperations.Resize) {\n for (const sel of layer.selection) {\n sel.resize(this.resizeDirection, mouse);\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: true });\n }\n layer.invalidate(false);\n }\n } else {\n for (const sel of layer.selection) {\n const bb = sel.getBoundingBox();\n const gm = globalMouse;\n if (bb.inCorner(gm, \"nw\")) {\n document.body.style.cursor = \"nw-resize\";\n } else if (bb.inCorner(gm, \"ne\")) {\n document.body.style.cursor = \"ne-resize\";\n } else if (bb.inCorner(gm, \"se\")) {\n document.body.style.cursor = \"se-resize\";\n } else if (bb.inCorner(gm, \"sw\")) {\n document.body.style.cursor = \"sw-resize\";\n } else {\n document.body.style.cursor = \"default\";\n }\n }\n }\n } else {\n document.body.style.cursor = \"default\";\n }\n }\n onMouseUp(e: MouseEvent): void {\n if (!this.active) return;\n if (layerManager.getLayer() === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n const layer = layerManager.getLayer()!;\n\n if (this.mode === SelectOperations.GroupSelect) {\n layer.clearSelection();\n layer.shapes.forEach(shape => {\n if (shape === this.selectionHelper) return;\n const bbox = shape.getBoundingBox();\n if (!shape.ownedBy()) return;\n if (\n this.selectionHelper!.refPoint.x <= bbox.topRight.x &&\n this.selectionHelper!.refPoint.x + this.selectionHelper!.w >= bbox.topLeft.x &&\n this.selectionHelper!.refPoint.y <= bbox.botLeft.y &&\n this.selectionHelper!.refPoint.y + this.selectionHelper!.h >= bbox.topLeft.y\n ) {\n layer.selection.push(shape);\n }\n });\n\n // Push the selection helper as the last element of the selection\n // This makes sure that it will be the first one to be hit in the hit detection onMouseDown\n if (layer.selection.length > 0) layer.selection.push(this.selectionHelper);\n\n layer.invalidate(true);\n } else if (layer.selection.length) {\n layer.selection.forEach(sel => {\n if (this.mode === SelectOperations.Drag) {\n if (\n this.dragRay.origin!.x === g2lx(sel.refPoint.x) &&\n this.dragRay.origin!.y === g2ly(sel.refPoint.y)\n )\n return;\n\n if (gameStore.useGrid && !e.altKey && !this.deltaChanged) {\n sel.snapToGrid();\n }\n\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: false });\n }\n layer.invalidate(false);\n }\n if (this.mode === SelectOperations.Resize) {\n if (gameStore.useGrid && !e.altKey) {\n sel.resizeToGrid();\n }\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: false });\n }\n layer.invalidate(false);\n }\n });\n }\n this.mode = SelectOperations.Noop;\n this.active = false;\n }\n onContextMenu(event: MouseEvent) {\n if (layerManager.getLayer() === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n const layer = layerManager.getLayer()!;\n const mouse = getMouse(event);\n const globalMouse = l2g(mouse);\n\n for (const shape of layer.selection) {\n if (shape.contains(globalMouse)) {\n layer.selection = [shape];\n getRef(\"selectionInfo\").shape = shape;\n layer.invalidate(true);\n (this.$parent.$refs.shapecontext).open(event, shape);\n return;\n }\n }\n (this.$refs.selectcontext).open(event);\n }\n}\n","import { Ray, Vector } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\n\n// First go through each shape in the selection and see if the delta has to be truncated due to movement blockers\n\n// This is definitely super convoluted and inefficient but I was tired and really wanted the smooth wall sliding collision stuff to work\n// And it does now, so hey ¯\\_(ツ)_/¯\nexport function calculateDelta(delta: Vector, sel: Shape, done?: string[]) {\n if (done === undefined) done = [];\n const ogSelBBox = sel.getBoundingBox();\n const newSelBBox = ogSelBBox.offset(delta);\n let refine = false;\n for (const movementBlocker of gameStore.movementblockers) {\n if (done.includes(movementBlocker)) continue;\n const blocker = layerManager.UUIDMap.get(movementBlocker)!;\n const blockerBBox = blocker.getBoundingBox();\n let found = blockerBBox.intersectsWithInner(newSelBBox);\n if (!found) {\n // This is an edge case, precalculating the rays is not worth in this case.\n const ray = Ray.fromPoints(ogSelBBox.topLeft.add(delta.normalize()), newSelBBox.topLeft);\n const invDir = ray.direction.inverse();\n const dirIsNegative = [invDir.x < 0, invDir.y < 0];\n found = blockerBBox.intersectP(ray, invDir, dirIsNegative).hit;\n }\n // Check if the bounding box of our destination would intersect with the bounding box of the movementblocker\n if (found) {\n const bCenter = blockerBBox.center();\n const sCenter = ogSelBBox.center();\n\n const d = sCenter.subtract(bCenter);\n const ux = new Vector(1, 0);\n const uy = new Vector(0, 1);\n let dx = d.dot(ux);\n let dy = d.dot(uy);\n if (dx > blockerBBox.w / 2) dx = blockerBBox.w / 2;\n if (dx < -blockerBBox.w / 2) dx = -blockerBBox.w / 2;\n if (dy > blockerBBox.h / 2) dy = blockerBBox.h / 2;\n if (dy < -blockerBBox.h / 2) dy = -blockerBBox.h / 2;\n\n // Closest point / intersection point between the two bboxes. Not the delta intersect!\n const p = bCenter.add(ux.multiply(dx)).add(uy.multiply(dy));\n\n if (p.x === ogSelBBox.topLeft.x || p.x === ogSelBBox.topRight.x) delta = new Vector(0, delta.y);\n else if (p.y === ogSelBBox.topLeft.y || p.y === ogSelBBox.botLeft.y) delta = new Vector(delta.x, 0);\n else {\n if (p.x < ogSelBBox.topLeft.x) delta = new Vector(p.x - ogSelBBox.topLeft.x, delta.y);\n else if (p.x > ogSelBBox.topRight.x) delta = new Vector(p.x - ogSelBBox.topRight.x, delta.y);\n else if (p.y < ogSelBBox.topLeft.y) delta = new Vector(delta.x, p.y - ogSelBBox.topLeft.y);\n else if (p.y > ogSelBBox.botLeft.y) delta = new Vector(delta.x, p.y - ogSelBBox.botLeft.y);\n }\n refine = true;\n done.push(movementBlocker);\n break;\n }\n }\n if (refine) delta = calculateDelta(delta, sel, done);\n return delta;\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=style&index=0&id=7a3669fd&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=style&index=0&id=7a3669fd&scoped=true&lang=css&\"","import { socket } from \"@/game/api/socket\";\nimport { gameStore } from \"@/game/store\";\n\nexport function sendClientOptions() {\n socket.emit(\"Client.Options.Set\", {\n locationOptions: {\n panX: gameStore.panX,\n panY: gameStore.panY,\n zoomFactor: gameStore.zoomFactor,\n },\n });\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Prop } from \"vue-property-decorator\";\n\nimport { AssetFile, AssetList } from \"@/core/comm/types\";\nimport { alphSort } from \"@/core/utils\";\n\n@Component({\n name: \"asset-node\",\n})\nexport default class AssetNode extends Vue {\n @Prop() asset!: AssetList;\n\n showImage = null;\n get folders(): string[] {\n return Object.keys(this.asset)\n .filter(el => ![\"__files\"].includes(el))\n .sort(alphSort);\n }\n\n get files(): AssetFile[] {\n if (this.asset.__files)\n return (this.asset.__files)\n .concat()\n .sort((a, b) => (a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1));\n return [];\n }\n\n toggle(event: { target: HTMLElement }) {\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < event.target.children.length; i++) {\n const el = event.target.children[i];\n el.style.display = el.style.display === \"\" ? \"block\" : \"\";\n }\n }\n\n dragStart(event: DragEvent, imageSource: string) {\n if (event === null || event.dataTransfer === null) return;\n const img = (event.target).querySelector(\".preview\")!;\n event.dataTransfer.setDragImage(img, 0, 0);\n event.dataTransfer.setData(\"text/plain\", imageSource);\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"main\"},on:{\"mouseleave\":_vm.mouseleave}},[_c('menu-bar'),_c('div',{attrs:{\"id\":\"board\"}},[(_vm.ready.manager)?[_c('tool-bar',{ref:\"tools\"})]:_vm._e(),_c('div',{attrs:{\"id\":\"layers\"},on:{\"mousedown\":_vm.mousedown,\"mouseup\":_vm.mouseup,\"mousemove\":_vm.mousemove,\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.contextmenu($event)},\"dragover\":function($event){$event.preventDefault();},\"drop\":_vm.drop}}),(_vm.layers.length > 1)?_c('div',{attrs:{\"id\":\"layerselect\"}},[_c('ul',_vm._l((_vm.layers),function(layer){return _c('li',{key:layer.name,class:{ 'layer-selected': layer === _vm.selectedLayer },on:{\"click\":function($event){_vm.selectLayer(layer)}}},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(layer))])])}))]):_vm._e()],2),_c('selection-info',{ref:\"selectionInfo\"}),_c('initiative-dialog',{ref:\"initiative\",attrs:{\"id\":\"initiativedialog\"}}),_c('note-dialog',{ref:\"note\"}),_c('zoom-slider',{attrs:{\"id\":\"zoomer\",\"height\":6,\"width\":200,\"min\":0.1,\"max\":5.0,\"interval\":0.1,\"dot-width\":8,\"dot-height\":20,\"tooltip-dir\":'bottom',\"tooltip\":'hover',\"formatter\":_vm.zoomFactor.toFixed(1),\"slider-style\":{'border-radius': '15%'},\"bg-style\":{'background-color': '#fff', 'box-shadow': '0.5px 0.5px 3px 1px rgba(0, 0, 0, .36)'},\"process-style\":{'background-color': '#fff'}},model:{value:(_vm.zoomFactor),callback:function ($$v) {_vm.zoomFactor=$$v},expression:\"zoomFactor\"}}),_c('prompt-dialog',{ref:\"prompt\"}),_c('confirm-dialog',{ref:\"confirm\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=template&id=256b40b9&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',{staticClass:\"ContextMenu\",style:({left:_vm.left, top:_vm.top}),attrs:{\"tabindex\":\"-1\"},on:{\"blur\":function($event){_vm.$emit('close')}}},[_c('ul',[_vm._t(\"default\")],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=template&id=256dde9c&\"","// import Vuex from \"vuex\";\nimport { getModule, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\n\nimport { Asset } from \"@/core/comm/types\";\nimport { rootStore } from \"@/store\";\n\nexport interface AssetState {\n root: number;\n files: number[];\n folders: number[];\n idMap: Map;\n selected: number[];\n}\n\n@Module({ dynamic: true, store: rootStore, name: \"assets\", namespaced: true })\nclass AssetStore extends VuexModule {\n root = -1;\n files: number[] = [];\n folders: number[] = [];\n idMap: Map = new Map();\n selected: number[] = [];\n\n @Mutation\n clear() {\n this.folders = [];\n this.files = [];\n }\n\n @Mutation\n clearSelected() {\n this.selected = [];\n }\n\n @Mutation\n setRoot(root: number) {\n this.root = root;\n }\n\n @Mutation\n isFile(inode: number): boolean {\n return this.files.includes(inode);\n }\n}\n\nexport const assetStore = getModule(AssetStore);\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=style&index=0&id=078b3b76&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=style&index=0&id=078b3b76&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=script&lang=ts&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ContextMenu from \"@/core/components/contextmenu.vue\";\nimport Initiative from \"@/game/ui/initiative.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n ContextMenu,\n },\n})\nexport default class ShapeContext extends Vue {\n visible = false;\n x = 0;\n y = 0;\n shape: Shape | null = null;\n get activeLayer(): string {\n const layer = layerManager.getLayer();\n return layer === undefined ? \"\" : layer.name;\n }\n open(event: MouseEvent, shape: Shape) {\n this.visible = true;\n this.x = event.pageX;\n this.y = event.pageY;\n this.shape = shape;\n this.$nextTick(() => this.$children[0].$el.focus());\n }\n close() {\n this.visible = false;\n this.shape = null;\n }\n getLayers() {\n return layerManager.layers.filter(l => l.selectable && (gameStore.IS_DM || l.playerEditable));\n }\n getActiveLayer() {\n return layerManager.getLayer();\n }\n getInitiativeWord() {\n if (this.shape === null) return \"\";\n return getRef(\"initiative\").contains(this.shape.uuid) ? \"Show\" : \"Add\";\n }\n setLayer(newLayer: string) {\n if (this.shape === null) return;\n this.shape.moveLayer(newLayer, true);\n this.close();\n }\n moveToBack() {\n if (this.shape === null) return;\n const layer = this.getActiveLayer()!;\n layer.moveShapeOrder(this.shape, 0, true);\n this.close();\n }\n moveToFront() {\n if (this.shape === null) return;\n const layer = this.getActiveLayer()!;\n layer.moveShapeOrder(this.shape, layer.shapes.length - 1, true);\n this.close();\n }\n addInitiative() {\n if (this.shape === null) return;\n const initiative = getRef(\"initiative\");\n if (!initiative.contains(this.shape.uuid)) initiative.addInitiative(this.shape.getInitiativeRepr());\n initiative.visible = true;\n this.close();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.shape !== null)?_c('div',[_c('div',{attrs:{\"id\":\"selection-menu\"}},[_c('div',{attrs:{\"id\":\"selection-edit-button\"},on:{\"click\":_vm.openEditDialog}},[_c('i',{staticClass:\"fas fa-edit\"})]),_c('div',{attrs:{\"id\":\"selection-name\"}},[_vm._v(_vm._s(_vm.shape.name))]),_c('div',{attrs:{\"id\":\"selection-trackers\"}},[_vm._l((_vm.shape.trackers),function(tracker){return (tracker.name !== '' || tracker.value !== 0)?[_c('div',{key:'name-' + tracker.uuid},[_vm._v(_vm._s(tracker.name))]),_c('div',{key:'value-' + tracker.uuid,staticClass:\"selection-tracker-value\",on:{\"click\":function($event){_vm.changeValue(tracker, false)}}},[(tracker.maxvalue === 0)?[_vm._v(_vm._s(tracker.value))]:[_vm._v(_vm._s(tracker.value)+\" / \"+_vm._s(tracker.maxvalue))]],2)]:_vm._e()})],2),_c('div',{attrs:{\"id\":\"selection-auras\"}},[_vm._l((_vm.shape.auras),function(aura){return (aura.name !== '' || aura.value !== 0)?[_c('div',{key:'name-' + aura.uuid},[_vm._v(_vm._s(aura.name))]),_c('div',{key:'value-' + aura.uuid,staticClass:\"selection-tracker-value\",on:{\"click\":function($event){_vm.changeValue(aura, true)}}},[(aura.dim === 0)?[_vm._v(_vm._s(aura.value))]:[_vm._v(_vm._s(aura.value)+\" / \"+_vm._s(aura.dim))]],2)]:_vm._e()})],2)]),_c('edit-dialog',{ref:\"editDialog\",attrs:{\"shape\":_vm.shape}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=template&id=32cec914&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./map.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./map.vue?vue&type=script&lang=ts&\"","import { Layer } from \"@/game/layers/layer\";\nimport { gameStore } from \"@/game/store\";\n\nexport class GridLayer extends Layer {\n invalidate(): void {\n this.valid = false;\n }\n draw(doClear?: boolean): void {\n if (!this.valid) {\n this.drawGrid();\n }\n }\n drawGrid(): void {\n const ctx = this.ctx;\n this.clear();\n ctx.beginPath();\n\n const gs = gameStore.gridSize;\n\n for (let i = 0; i < this.width; i += gs * gameStore.zoomFactor) {\n ctx.moveTo(i + (gameStore.panX % gs) * gameStore.zoomFactor, 0);\n ctx.lineTo(i + (gameStore.panX % gs) * gameStore.zoomFactor, this.height);\n ctx.moveTo(0, i + (gameStore.panY % gs) * gameStore.zoomFactor);\n ctx.lineTo(this.width, i + (gameStore.panY % gs) * gameStore.zoomFactor);\n }\n\n ctx.strokeStyle = gameStore.gridColour;\n ctx.lineWidth = 1;\n ctx.stroke();\n this.valid = true;\n }\n}\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\n\nimport { AssetState } from \"@/assetManager/store\";\nimport { CoreState } from \"@/core/store\";\nimport { GameState } from \"@/game/store\";\n\nVue.use(Vuex);\n\nexport interface RootState {\n assets: AssetState;\n core: CoreState;\n game: GameState;\n}\n\nexport const rootStore = new Vuex.Store({});\n","import { render, staticRenderFns } from \"./colorpicker.vue?vue&type=template&id=b4f2c0b0&scoped=true&\"\nimport script from \"./colorpicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./colorpicker.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./colorpicker.vue?vue&type=style&index=0&id=b4f2c0b0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b4f2c0b0\",\n null\n \n)\n\ncomponent.options.__file = \"colorpicker.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=1&id=256b40b9&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=1&id=256b40b9&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view',{ref:\"activeComponent\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=196415f0&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import { GlobalPoint, Ray } from \"@/game/geom\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Settings } from \"@/game/settings\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lr, g2lx, g2ly, g2lz, getUnitDistance } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class FOWLayer extends Layer {\n isVisionLayer: boolean = true;\n preFogShapes: Shape[] = [];\n\n addShape(shape: Shape, sync: boolean, temporary?: boolean): void {\n super.addShape(shape, sync, temporary);\n if (shape.options.has(\"preFogShape\") && shape.options.get(\"preFogShape\")) {\n this.preFogShapes.push(shape);\n }\n }\n\n removeShape(shape: Shape, sync: boolean, temporary?: boolean) {\n if (shape.options.has(\"preFogShape\") && shape.options.get(\"preFogShape\")) {\n const idx = this.preFogShapes.findIndex(s => s.uuid === shape.uuid);\n this.preFogShapes.splice(idx, 1);\n }\n super.removeShape(shape, sync, temporary);\n }\n\n draw(): void {\n if (!this.valid) {\n const ctx = this.ctx;\n\n if (Settings.skipLightFOW) {\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n this.valid = true;\n return;\n }\n\n const originalOperation = ctx.globalCompositeOperation;\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n ctx.fillStyle = \"rgba(0, 0, 0, 1)\";\n\n const dctx = layerManager.getLayer(\"draw\")!.ctx;\n if (Settings.drawAngleLines || Settings.drawFirstLightHit) {\n dctx.clearRect(0, 0, dctx.canvas.width, dctx.canvas.height);\n }\n\n // At all times provide a minimal vision range to prevent losing your tokens in fog.\n if (gameStore.fullFOW && layerManager.hasLayer(\"tokens\")) {\n layerManager.getLayer(\"tokens\")!.shapes.forEach(sh => {\n if (!sh.ownedBy() || !sh.isToken) return;\n const bb = sh.getBoundingBox();\n const lcenter = g2l(sh.center());\n const alm = 0.8 * g2lz(bb.w);\n ctx.beginPath();\n ctx.arc(lcenter.x, lcenter.y, alm, 0, 2 * Math.PI);\n const gradient = ctx.createRadialGradient(lcenter.x, lcenter.y, alm / 2, lcenter.x, lcenter.y, alm);\n gradient.addColorStop(0, \"rgba(0, 0, 0, 1)\");\n gradient.addColorStop(1, \"rgba(0, 0, 0, 0)\");\n ctx.fillStyle = gradient;\n ctx.fill();\n });\n }\n\n // First cut out all the light sources\n for (const light of gameStore.visionSources) {\n const shape = layerManager.UUIDMap.get(light.shape);\n if (shape === undefined) continue;\n const aura = shape.auras.find(a => a.uuid === light.aura);\n if (aura === undefined) continue;\n\n const auraLength = getUnitDistance(aura.value + aura.dim);\n const center = shape.center();\n const lcenter = g2l(center);\n\n const auraCircle = new Circle(center, auraLength);\n if (!auraCircle.visibleInCanvas(ctx.canvas)) continue;\n\n let lastArcAngle = -1;\n\n const path = new Path2D();\n path.moveTo(lcenter.x, lcenter.y);\n let firstPoint: GlobalPoint;\n\n for (let angle = 0; angle < 2 * Math.PI; angle += (Settings.angleSteps / 180) * Math.PI) {\n const anglePoint = new GlobalPoint(\n center.x + auraLength * Math.cos(angle),\n center.y + auraLength * Math.sin(angle),\n );\n if (Settings.drawAngleLines) {\n dctx!.beginPath();\n dctx!.moveTo(g2lx(center.x), g2ly(center.y));\n dctx!.lineTo(g2lx(anglePoint.x), g2ly(anglePoint.y));\n dctx!.stroke();\n }\n\n // Check if there is a hit with one of the nearby light blockers.\n const lightRay = Ray.fromPoints(center, anglePoint);\n const hitResult = gameStore.BV.intersect(lightRay);\n\n if (angle === 0) firstPoint = hitResult.hit ? hitResult.intersect : anglePoint;\n\n // We can move on to the next angle if nothing was hit.\n if (!hitResult.hit) {\n // If an earlier hit caused the aura to leave the arc, we need to go back to the arc\n if (lastArcAngle === -1) {\n // Set the start of a new arc beginning at the current angle\n lastArcAngle = angle;\n // Draw a line from the last non arc location back to the arc\n const dest = g2l(anglePoint);\n ctx.lineTo(dest.x, dest.y);\n }\n continue;\n }\n // If hit , first finish any ongoing arc, then move to the intersection point\n if (lastArcAngle !== -1) {\n path.arc(lcenter.x, lcenter.y, g2lr(aura.value + aura.dim), lastArcAngle, angle);\n lastArcAngle = -1;\n }\n path.lineTo(g2lx(hitResult.intersect.x), g2ly(hitResult.intersect.y));\n }\n\n // Finish the final arc.\n if (lastArcAngle === -1) path.lineTo(g2lx(firstPoint!.x), g2ly(firstPoint!.y));\n else path.arc(lcenter.x, lcenter.y, g2lr(aura.value + aura.dim), lastArcAngle, 2 * Math.PI);\n\n if (gameStore.fullFOW) {\n if (aura.dim > 0) {\n // Fill the light aura with a radial dropoff towards the outside.\n const gradient = ctx.createRadialGradient(\n lcenter.x,\n lcenter.y,\n g2lr(aura.value),\n lcenter.x,\n lcenter.y,\n g2lr(aura.value + aura.dim),\n );\n gradient.addColorStop(0, \"rgba(0, 0, 0, 1)\");\n gradient.addColorStop(1, \"rgba(0, 0, 0, 0)\");\n ctx.fillStyle = gradient;\n } else {\n ctx.fillStyle = \"rgba(0, 0, 0, 1)\";\n }\n ctx.fill(path);\n }\n\n aura.lastPath = path;\n }\n\n // At the DM Side due to opacity of the two fow layers, it looks strange if we just render them on top of eachother like players.\n if (gameStore.fowLOS) {\n ctx.globalCompositeOperation = \"source-in\";\n ctx.drawImage(layerManager.getLayer(\"fow-players\")!.canvas, 0, 0);\n }\n\n for (const preShape of this.preFogShapes) {\n if (!preShape.visibleInCanvas(this.canvas)) continue;\n const ogComposite = preShape.globalCompositeOperation;\n if (!gameStore.fullFOW) {\n if (preShape.globalCompositeOperation === \"source-over\")\n preShape.globalCompositeOperation = \"destination-out\";\n else if (preShape.globalCompositeOperation === \"destination-out\")\n preShape.globalCompositeOperation = \"source-over\";\n }\n preShape.draw(ctx);\n preShape.globalCompositeOperation = ogComposite;\n }\n\n if (gameStore.fullFOW) {\n ctx.globalCompositeOperation = \"source-out\";\n ctx.fillStyle = getFogColour();\n ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n }\n\n super.draw(false);\n\n ctx.globalCompositeOperation = originalOperation;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load.vue?vue&type=script&lang=ts&\"","import { ServerCircle } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint, LocalPoint, Vector } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\nimport { g2l, g2lz, l2g } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class Circle extends Shape {\n type = \"circle\";\n r: number;\n constructor(center: GlobalPoint, r: number, fillColour?: string, strokeColour?: string, uuid?: string) {\n super(center, fillColour, strokeColour, uuid);\n this.r = r || 1;\n }\n asDict(): ServerCircle {\n // const base = this.getBaseDict();\n // base.r = this.r;\n // base.border = this.border;\n // return base;\n return Object.assign(this.getBaseDict(), {\n radius: this.r,\n });\n }\n fromDict(data: ServerCircle) {\n super.fromDict(data);\n this.r = data.radius;\n }\n getBoundingBox(): BoundingRect {\n return new BoundingRect(\n new GlobalPoint(this.refPoint.x - this.r, this.refPoint.y - this.r),\n this.r * 2,\n this.r * 2,\n );\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.beginPath();\n if (this.fillColour === \"fog\") ctx.fillStyle = getFogColour();\n else ctx.fillStyle = this.fillColour;\n const loc = g2l(this.refPoint);\n ctx.arc(loc.x, loc.y, g2lz(this.r), 0, 2 * Math.PI);\n ctx.fill();\n if (this.strokeColour !== \"rgba(0, 0, 0, 0)\") {\n ctx.beginPath();\n ctx.lineWidth = g2lz(5);\n ctx.strokeStyle = this.strokeColour;\n ctx.arc(loc.x, loc.y, g2lz(this.r), 0, 2 * Math.PI);\n ctx.stroke();\n }\n }\n contains(point: GlobalPoint): boolean {\n return (point.x - this.refPoint.x) ** 2 + (point.y - this.refPoint.y) ** 2 < this.r ** 2;\n }\n inCorner(point: GlobalPoint, corner: string) {\n return false; // TODO\n }\n getCorner(point: GlobalPoint) {\n if (this.inCorner(point, \"ne\")) return \"ne\";\n else if (this.inCorner(point, \"nw\")) return \"nw\";\n else if (this.inCorner(point, \"se\")) return \"se\";\n else if (this.inCorner(point, \"sw\")) return \"sw\";\n }\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {\n if (centerPoint === undefined) return this.refPoint;\n this.refPoint = centerPoint;\n }\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid() {\n const gs = gameStore.gridSize;\n let targetX;\n let targetY;\n if (((2 * this.r) / gs) % 2 === 0) {\n targetX = Math.round(this.refPoint.x / gs) * gs;\n } else {\n targetX = Math.round((this.refPoint.x - gs / 2) / gs) * gs + this.r;\n }\n if (((2 * this.r) / gs) % 2 === 0) {\n targetY = Math.round(this.refPoint.y / gs) * gs;\n } else {\n targetY = Math.round((this.refPoint.y - gs / 2) / gs) * gs + this.r;\n }\n const delta = calculateDelta(new Vector(targetX - this.refPoint.x, targetY - this.refPoint.y), this);\n this.refPoint = this.refPoint.add(delta);\n this.invalidate(false);\n }\n resizeToGrid() {\n const gs = gameStore.gridSize;\n this.r = Math.max(Math.round(this.r / gs) * gs, gs / 2);\n this.invalidate(false);\n }\n resize(resizedir: string, point: LocalPoint) {\n const z = gameStore.zoomFactor;\n const diff = l2g(point).subtract(this.refPoint);\n this.r = Math.sqrt(Math.pow(diff.length(), 2) / 2);\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { BaseRect } from \"@/game/shapes/baserect\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class MapTool extends Tool {\n name = \"Map\";\n active = false;\n xCount = 3;\n yCount = 3;\n startPoint: GlobalPoint | null = null;\n rect: Rect | null = null;\n\n onMouseDown(event: MouseEvent) {\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = true;\n\n this.startPoint = l2g(getMouse(event));\n this.rect = new Rect(this.startPoint.clone(), 0, 0, \"rgba(0,0,0,0)\", \"black\");\n layer.addShape(this.rect, false, false);\n }\n onMouseMove(event: MouseEvent) {\n if (!this.active || this.rect === null || this.startPoint === null) return;\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n\n const endPoint = l2g(getMouse(event));\n\n this.rect.w = Math.abs(endPoint.x - this.startPoint.x);\n this.rect.h = Math.abs(endPoint.y - this.startPoint.y);\n this.rect.refPoint.x = Math.min(this.startPoint.x, endPoint.x);\n this.rect.refPoint.y = Math.min(this.startPoint.y, endPoint.y);\n layer.invalidate(false);\n }\n onMouseUp(event: MouseEvent) {\n if (!this.active || this.rect === null) return;\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = false;\n\n if (layer.selection.length !== 1) {\n layer.removeShape(this.rect, false, false);\n return;\n }\n\n const w = this.rect.w;\n const h = this.rect.h;\n const sel = layer.selection[0];\n\n if (sel instanceof BaseRect) {\n sel.w *= (this.xCount * gameStore.gridSize) / w;\n sel.h *= (this.yCount * gameStore.gridSize) / h;\n }\n\n layer.removeShape(this.rect, false, false);\n }\n}\n","import { render, staticRenderFns } from \"./load.vue?vue&type=template&id=ff095222&\"\nimport script from \"./load.vue?vue&type=script&lang=ts&\"\nexport * from \"./load.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"load.vue\"\nexport default component.exports","import Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { LocalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class PanTool extends Tool {\n name = \"Pan\";\n panStart = new LocalPoint(0, 0);\n active = false;\n\n onMouseDown(event: MouseEvent) {\n this.panStart = getMouse(event);\n this.active = true;\n }\n onMouseMove(event: MouseEvent) {\n if (!this.active) return;\n const mouse = getMouse(event);\n const distance = mouse.subtract(this.panStart).multiply(1 / gameStore.zoomFactor);\n gameStore.increasePanX(Math.round(distance.x));\n gameStore.increasePanY(Math.round(distance.y));\n this.panStart = mouse;\n layerManager.invalidate();\n }\n onMouseUp(event: MouseEvent) {\n this.active = false;\n sendClientOptions();\n }\n}\n","import { render, staticRenderFns } from \"./selectcontext.vue?vue&type=template&id=44a31e42&scoped=true&\"\nimport script from \"./selectcontext.vue?vue&type=script&lang=ts&\"\nexport * from \"./selectcontext.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./selectcontext.vue?vue&type=style&index=0&id=44a31e42&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44a31e42\",\n null\n \n)\n\ncomponent.options.__file = \"selectcontext.vue\"\nexport default component.exports","import Vue from \"vue\";\n\nimport { app } from \"@/main\";\n\n// Reference: https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript\nexport function uuidv4() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, c => {\n const r = (Math.random() * 16) | 0;\n const v = c === \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\nexport function capitalize(text: string) {\n return text.charAt(0).toUpperCase() + text.slice(1);\n}\n\nexport function alphSort(a: string, b: string) {\n if (a.toLowerCase() < b.toLowerCase()) return -1;\n else return 1;\n}\n\nexport function getHTMLFont(element: HTMLElement) {\n let font = element.style.font;\n while (font === null && element.parentElement !== null) {\n element = element.parentElement;\n font = element.style.font;\n }\n if (font === null) font = window.getComputedStyle(document.body).getPropertyValue(\"font\");\n return font;\n}\n\nexport function getHTMLTextWidth(text: string, font: string): number {\n let fakeElement = document.getElementById(\"emptycanvas\");\n if (fakeElement === null) {\n fakeElement = document.createElement(\"canvas\");\n fakeElement.id = \"emptycanvas\";\n fakeElement.style.display = \"\";\n document.body.appendChild(fakeElement);\n }\n const ctx = fakeElement.getContext(\"2d\")!;\n ctx.font = font;\n return Math.ceil(ctx.measureText(text).width);\n}\n\nexport function partition(arr: T[], predicate: (n: T) => boolean) {\n const ret: T[][] = [[], []];\n arr.forEach(n => (predicate(n) ? ret[1].push(n) : ret[0].push(n)));\n return ret;\n}\n\nexport function calcFontScale(ctx: CanvasRenderingContext2D, text: string, width: number, height: number) {\n const points = Number(ctx.font.split(\"px\")[0]) * 0.2;\n const fontWidth = ctx.measureText(text).width;\n return Math.min(width / fontWidth, height / points);\n}\n\nexport function fixedEncodeURIComponent(str: string) {\n return encodeURIComponent(str).replace(/[!'()*]/g, c => {\n return \"%\" + c.charCodeAt(0).toString(16);\n });\n}\n\nexport class OrderedMap {\n keys: K[] = [];\n values: V[] = [];\n get(key: K) {\n return this.values[this.keys.indexOf(key)];\n }\n getIndexValue(idx: number) {\n return this.values[idx];\n }\n getIndexKey(idx: number) {\n return this.keys[idx];\n }\n set(key: K, value: V) {\n this.keys.push(key);\n this.values.push(value);\n }\n indexOf(element: K) {\n return this.keys.indexOf(element);\n }\n remove(element: K) {\n const idx = this.indexOf(element);\n this.keys.splice(idx, 1);\n this.values.splice(idx, 1);\n }\n}\n\nexport function getComponent(): T {\n return app.$children[0].$refs.activeComponent;\n}\n\nexport function getRef(ref: string): T {\n const active = app.$children[0].$refs.activeComponent;\n return active.$refs[ref];\n}\n","import { render, staticRenderFns } from \"./contextMenu.vue?vue&type=template&id=d4f084a4&\"\nimport script from \"./contextMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./contextMenu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"contextMenu.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{attrs:{\"visible\":_vm.visible,\"mask\":false},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_c('div',[_vm._v(\"Edit asset\")]),_c('div',{staticClass:\"header-close\",on:{\"click\":function($event){_vm.visible = false}}},[_c('i',{staticClass:\"far fa-window-close\"})])])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('label',{attrs:{\"for\":\"shapeselectiondialog-name\"}},[_vm._v(\"Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shape.name),expression:\"shape.name\"}],staticStyle:{\"grid-column\":\"numerator / end\"},attrs:{\"type\":\"text\",\"id\":\"shapeselectiondialog-name\"},domProps:{\"value\":(_vm.shape.name)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.shape, \"name\", $event.target.value)}}}),_c('label',{attrs:{\"for\":\"shapeselectiondialog-istoken\"}},[_vm._v(\"Is a token\")]),_c('input',{staticStyle:{\"grid-column-start\":\"remove\",\"width\":\"15px\",\"height\":\"15px\"},attrs:{\"type\":\"checkbox\",\"id\":\"shapeselectiondialog-istoken\"},domProps:{\"checked\":_vm.shape.isToken},on:{\"click\":_vm.setToken}}),_c('label',{attrs:{\"for\":\"shapeselectiondialog-visionblocker\"}},[_vm._v(\"Blocks vision/light\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shape.visionObstruction),expression:\"shape.visionObstruction\"}],staticStyle:{\"grid-column-start\":\"remove\",\"width\":\"15px\",\"height\":\"15px\"},attrs:{\"type\":\"checkbox\",\"id\":\"shapeselectiondialog-visionblocker\"},domProps:{\"checked\":Array.isArray(_vm.shape.visionObstruction)?_vm._i(_vm.shape.visionObstruction,null)>-1:(_vm.shape.visionObstruction)},on:{\"change\":[function($event){var $$a=_vm.shape.visionObstruction,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.shape, \"visionObstruction\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.shape, \"visionObstruction\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.shape, \"visionObstruction\", $$c)}},_vm.setVisionBlocker]}}),_c('label',{attrs:{\"for\":\"shapeselectiondialog-moveblocker\"}},[_vm._v(\"Blocks movement\")]),_c('input',{staticStyle:{\"grid-column-start\":\"remove\",\"width\":\"15px\",\"height\":\"15px\"},attrs:{\"type\":\"checkbox\",\"id\":\"shapeselectiondialog-moveblocker\"},domProps:{\"checked\":_vm.shape.movementObstruction},on:{\"click\":_vm.setMovementBlocker}}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Access\")]),_vm._l((_vm.shape.owners),function(owner){return [_c('input',{key:owner,staticStyle:{\"grid-column-start\":\"name\"},attrs:{\"type\":\"text\",\"placeholder\":\"name\"},domProps:{\"value\":owner},on:{\"change\":function($event){_vm.updateOwner($event, owner)}}}),(owner !== '')?_c('div',{key:'remove-' + owner,staticStyle:{\"grid-column-start\":\"remove\"},on:{\"click\":function($event){_vm.removeOwner(owner)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e()]}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Trackers\")]),_vm._l((_vm.shape.trackers),function(tracker){return [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(tracker.name),expression:\"tracker.name\"}],key:'name-'+tracker.uuid,staticStyle:{\"grid-column-start\":\"name\"},attrs:{\"type\":\"text\",\"placeholder\":\"name\"},domProps:{\"value\":(tracker.name)},on:{\"change\":function($event){_vm.updateShape(false);},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(tracker, \"name\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(tracker.value),expression:\"tracker.value\",modifiers:{\"number\":true}}],key:'value-'+tracker.uuid,attrs:{\"type\":\"text\",\"title\":\"Current value\"},domProps:{\"value\":(tracker.value)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(tracker, \"value\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('span',{key:'fspan-'+tracker.uuid},[_vm._v(\"/\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(tracker.maxvalue),expression:\"tracker.maxvalue\",modifiers:{\"number\":true}}],key:'maxvalue-'+tracker.uuid,attrs:{\"type\":\"text\",\"title\":\"Current value\"},domProps:{\"value\":(tracker.maxvalue)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(tracker, \"maxvalue\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('span',{key:'sspan-'+tracker.uuid}),_c('div',{key:'visibility-'+tracker.uuid,style:({opacity: tracker.visible ? 1.0 : 0.3}),on:{\"click\":function($event){tracker.visible = !tracker.visible;_vm.updateShape(false)}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('span',{key:'tspan-'+tracker.uuid}),(tracker.name !== '' || tracker.value !== 0)?_c('div',{key:'remove-'+tracker.uuid,on:{\"click\":function($event){_vm.removeTracker(tracker.uuid)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e()]}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Auras\")]),_vm._l((_vm.shape.auras),function(aura){return [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(aura.name),expression:\"aura.name\"}],key:'name-'+aura.uuid,staticStyle:{\"grid-column-start\":\"name\"},attrs:{\"type\":\"text\",\"placeholder\":\"name\"},domProps:{\"value\":(aura.name)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(aura, \"name\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(aura.value),expression:\"aura.value\",modifiers:{\"number\":true}}],key:'value-'+aura.uuid,attrs:{\"type\":\"text\",\"title\":\"Current value\"},domProps:{\"value\":(aura.value)},on:{\"change\":function($event){_vm.updateShape(true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(aura, \"value\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('span',{key:'fspan-'+aura.uuid},[_vm._v(\"/\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(aura.dim),expression:\"aura.dim\",modifiers:{\"number\":true}}],key:'dimvalue-'+aura.uuid,attrs:{\"type\":\"text\",\"title\":\"Dim value\"},domProps:{\"value\":(aura.dim)},on:{\"change\":function($event){_vm.updateShape(true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(aura, \"dim\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('color-picker',{key:'colour-'+aura.uuid,attrs:{\"color\":aura.colour},on:{\"update:color\":function($event){_vm.$set(aura, \"colour\", $event)},\"input\":function($event){_vm.updateAuraColour(aura, $event)},\"change\":function($event){_vm.updateShape(true)}}}),_c('div',{key:'visibility-'+aura.uuid,style:({opacity: aura.visible ? 1.0 : 0.3}),on:{\"click\":function($event){aura.visible = !aura.visible;_vm.updateShape(true)}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('div',{key:'visionsource-'+aura.uuid,style:({opacity: aura.visionSource ? 1.0 : 0.3}),on:{\"click\":function($event){_vm.updateAuraVisionSource(aura)}}},[_c('i',{staticClass:\"fas fa-lightbulb\"})]),(aura.name !== '' || aura.value !== 0)?_c('div',{key:'remove-'+aura.uuid,on:{\"click\":function($event){_vm.removeAura(aura.uuid)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e()]}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Annotation\")]),_c('textarea',{staticClass:\"spanrow\",domProps:{\"value\":_vm.shape.annotation},on:{\"change\":_vm.updateAnnotation}})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=template&id=078b3b76&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.getActiveLayer() !== undefined)?_c('ContextMenu',{attrs:{\"visible\":_vm.visible,\"left\":_vm.x + 'px',\"top\":_vm.y + 'px'},on:{\"close\":_vm.close}},[(_vm.getLayers().length > 1)?_c('li',[_vm._v(\"Layer\\n \"),_c('ul',_vm._l((_vm.getLayers()),function(layer){return _c('li',{key:layer.name,style:([_vm.getActiveLayer().name === layer.name ? {'background-color':'#82c8a0'}: {}]),on:{\"click\":function($event){_vm.setLayer(layer.name)}}},[_vm._v(_vm._s(layer.name))])}))]):_vm._e(),_c('li',{on:{\"click\":_vm.moveToBack}},[_vm._v(\"Move to back\")]),_c('li',{on:{\"click\":_vm.moveToFront}},[_vm._v(\"Move to front\")]),_c('li',{on:{\"click\":_vm.addInitiative}},[_vm._v(_vm._s(_vm.getInitiativeWord())+\" initiative\")])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=template&id=7111f3f6&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component\nexport default class Modal extends Vue {\n @Prop(Boolean) visible!: boolean;\n @Prop({ type: Boolean, default: true }) mask!: boolean;\n\n $refs!: {\n container: HTMLElement;\n };\n\n positioned = false;\n offsetX = 0;\n offsetY = 0;\n screenX = 0;\n screenY = 0;\n dragging = false;\n\n // Example of mounted required: opening note\n mounted() {\n this.updatePosition();\n }\n // Example of updated required: opening initiative\n updated() {\n this.updatePosition();\n }\n\n close(event: MouseEvent) {\n this.$emit(\"close\");\n }\n updatePosition() {\n if (!this.positioned) {\n const container = this.$refs.container;\n if (container.offsetWidth === 0 && container.offsetHeight === 0) return;\n this.$refs.container.style.left = (window.innerWidth - container.offsetWidth) / 2 + \"px\";\n this.$refs.container.style.top = (window.innerHeight - container.offsetHeight) / 2 + \"px\";\n this.positioned = true;\n }\n }\n dragStart(event: DragEvent) {\n if (event === null || event.dataTransfer === null) return;\n event.dataTransfer.setData(\"Hack\", \"\");\n // Because the drag event is happening on the header, we have to change the drag image\n // in order to give the impression that the entire modal is dragged.\n event.dataTransfer.setDragImage(this.$refs.container, event.offsetX, event.offsetY);\n this.offsetX = event.offsetX;\n this.offsetY = event.offsetY;\n this.screenX = event.screenX;\n this.screenY = event.screenY;\n this.dragging = true;\n }\n dragEnd(event: DragEvent) {\n this.dragging = false;\n let left = event.clientX - this.offsetX;\n let top = event.clientY - this.offsetY;\n if (event.clientX === 0 && event.clientY === 0 && event.pageX === 0 && event.pageY === 0) {\n left = parseInt(this.$refs.container.style.left!, 10) - (this.screenX - event.screenX);\n top = parseInt(this.$refs.container.style.top!, 10) - (this.screenY - event.screenY);\n }\n if (left < 0) left = 0;\n if (left > window.innerWidth - 100) left = window.innerWidth - 100;\n if (top < 0) top = 0;\n if (top > window.innerHeight - 100) top = window.innerHeight - 100;\n this.$refs.container.style.left = left + \"px\";\n this.$refs.container.style.top = top + \"px\";\n this.$refs.container.style.display = \"block\";\n }\n dragOver(event: DragEvent) {\n if (this.dragging) this.$refs.container.style.display = \"none\";\n }\n}\n","import io from \"socket.io-client\";\n\nimport { Asset } from \"@/core/comm/types\";\nimport { assetStore } from \"./store\";\n\nexport const socket = io(location.protocol + \"//\" + location.host + \"/pa_assetmgmt\", { autoConnect: false });\n\n// export const socket = io.connect(location.protocol + \"//\" + location.host + \"/pa_assetmgmt\");\nsocket.on(\"connect\", () => {\n console.log(\"Connected\");\n});\nsocket.on(\"disconnect\", () => {\n console.log(\"Disconnected\");\n});\nsocket.on(\"redirect\", (destination: string) => {\n console.log(\"redirecting\");\n window.location.href = destination;\n});\nsocket.on(\"Folder.Root.Set\", (root: number) => {\n assetStore.setRoot(root);\n});\nsocket.on(\"Folder.Set\", (folder: Asset) => {\n assetStore.clear();\n if (folder.children) {\n for (const child of folder.children) {\n assetStore.idMap.set(child.id, child);\n if (child.file_hash) {\n assetStore.files.push(child.id);\n } else {\n assetStore.folders.push(child.id);\n }\n }\n }\n});\nsocket.on(\"Folder.Create\", (folder: Asset) => {\n assetStore.folders.push(folder.id);\n assetStore.idMap.set(folder.id, folder);\n});\nsocket.on(\"Asset.Upload.Finish\", (asset: Asset) => {\n assetStore.idMap.set(asset.id, asset);\n assetStore.files.push(asset.id);\n});\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=style&index=0&id=1fee50f5&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=style&index=0&id=1fee50f5&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=0&lang=css&\"","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { g2lx, g2ly, g2lz } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class MultiLine extends Shape {\n type = \"multiline\";\n points: GlobalPoint[] = [];\n lineWidth: number;\n constructor(\n startPoint: GlobalPoint,\n points?: GlobalPoint[],\n lineWidth?: number,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(startPoint, \"rgba(0, 0, 0, 0)\", strokeColour || \"#000\", uuid);\n this.points = points || [];\n this.lineWidth = lineWidth || 3;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n line_width: this.lineWidth,\n points: this.points.map(p => ({ x: p.x, y: p.y })),\n });\n }\n getBoundingBox(): BoundingRect {\n let minx: number = this.refPoint.x;\n let maxx: number = this.refPoint.y;\n let miny: number = this.refPoint.x;\n let maxy: number = this.refPoint.y;\n for (const p of this.points) {\n if (p.x < minx) minx = p.x;\n if (p.x > maxx) maxx = p.x;\n if (p.y < miny) miny = p.y;\n if (p.y > maxy) maxy = p.y;\n }\n return new BoundingRect(new GlobalPoint(minx, miny), maxx - minx, maxy - miny);\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.beginPath();\n ctx.lineCap = \"round\";\n ctx.lineJoin = \"round\";\n ctx.moveTo(g2lx(this.refPoint.x), g2ly(this.refPoint.y));\n for (const p of this.points) ctx.lineTo(g2lx(p.x), g2ly(p.y));\n if (this.strokeColour === \"fog\") ctx.strokeStyle = getFogColour();\n else ctx.strokeStyle = this.strokeColour;\n ctx.lineWidth = g2lz(this.lineWidth);\n ctx.stroke();\n }\n contains(point: GlobalPoint): boolean {\n return this.points.includes(point);\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {} // TODO\n getCorner(point: GlobalPoint): string | undefined {\n return \"\";\n } // TODO\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid(): void {}\n resizeToGrid(): void {}\n resize(resizeDir: string, point: LocalPoint): void {}\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"outer\",on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.open($event)}}},[_c('div',{staticClass:\"current-color\",style:(_vm.transparent ? 'background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)' : 'background-color:' + _vm.color),on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.open($event)}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.display),expression:\"display\"}],staticClass:\"mask\",on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.closePicker($event)}}}),_c('chrome-picker',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.display),expression:\"display\"}],ref:\"chromePicker\",style:({position: 'fixed', left:_vm.left + 'px', top:_vm.top + 'px', 'z-index': 9999}),attrs:{\"value\":_vm.color,\"tabindex\":\"-1\"},on:{\"input\":_vm.updateColor}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=template&id=b4f2c0b0&scoped=true&\"","import { render, staticRenderFns } from \"./draw.vue?vue&type=template&id=5c4191ca&scoped=true&\"\nimport script from \"./draw.vue?vue&type=script&lang=ts&\"\nexport * from \"./draw.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./draw.vue?vue&type=style&index=0&id=5c4191ca&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c4191ca\",\n null\n \n)\n\ncomponent.options.__file = \"draw.vue\"\nexport default component.exports","import tinycolor from \"tinycolor2\";\n\nimport { LocalPoint } from \"@/game/geom\";\nimport { gameStore } from \"@/game/store\";\n\nexport function getMouse(e: MouseEvent): LocalPoint {\n return new LocalPoint(e.pageX, e.pageY);\n}\n\nexport function getFogColour(opposite: boolean = false): string {\n const tc = tinycolor(gameStore.fowColour);\n if (gameStore.IS_DM) tc.setAlpha(opposite ? 1 : gameStore.fowOpacity);\n else tc.setAlpha(1);\n return tc.toRgbString();\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport * as tinycolor from \"tinycolor2\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { mapState } from \"vuex\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { calcFontScale } from \"@/core/utils\";\nimport { LocalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { CircularToken } from \"@/game/shapes/circulartoken\";\nimport { gameStore } from \"@/game/store\";\nimport { getUnitDistance, l2g } from \"@/game/units\";\nimport { Watch } from \"vue-property-decorator\";\n\n@Component({\n components: {\n Modal,\n \"color-picker\": ColorPicker,\n },\n computed: {\n ...mapState(\"game\", [\"unitSize\"]),\n },\n})\nexport default class CreateTokenModal extends Vue {\n x = 0;\n y = 0;\n visible = false;\n text = \"X\";\n fillColour = \"rgba(255, 255, 255, 1)\";\n borderColour = \"rgba(0, 0, 0, 1)\";\n\n mounted() {\n this.updatePreview();\n }\n\n @Watch(\"text\")\n onTextChange(newValue: string, oldValue: string) {\n this.updatePreview();\n }\n @Watch(\"fillColour\")\n onFillChange(newValue: string, oldValue: string) {\n this.updatePreview();\n }\n @Watch(\"borderColour\")\n onBorderChange(newValue: string, oldValue: string) {\n this.updatePreview();\n }\n\n open(x: number, y: number) {\n this.visible = true;\n this.x = x;\n this.y = y;\n }\n submit() {\n const layer = layerManager.getLayer();\n if (layer === undefined) return;\n const token = new CircularToken(\n l2g(new LocalPoint(this.x, this.y)),\n getUnitDistance(gameStore.unitSize / 2),\n this.text,\n \"10px serif\",\n this.fillColour,\n this.borderColour,\n );\n token.owners.push(gameStore.username);\n layer.addShape(token, true);\n layer.invalidate(false);\n this.visible = false;\n }\n updatePreview() {\n const ctx = (this.$refs.canvas).getContext(\"2d\")!;\n ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n ctx.beginPath();\n const dest = { x: ctx.canvas.width / 2, y: ctx.canvas.height / 2 };\n const r = Math.min(dest.x, dest.y) * 0.9;\n\n ctx.fillStyle = this.fillColour;\n\n ctx.arc(dest.x, dest.y, r, 0, 2 * Math.PI);\n ctx.fill();\n if (this.borderColour !== \"rgba(0, 0, 0, 0)\") {\n ctx.beginPath();\n ctx.lineWidth = 5;\n ctx.strokeStyle = this.borderColour;\n ctx.arc(dest.x, dest.y, r, 0, 2 * Math.PI);\n ctx.stroke();\n }\n ctx.save();\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n const xs = calcFontScale(ctx, this.text, r, r);\n const ys = 0;\n ctx.transform(xs, ys, -ys, xs, dest.x, dest.y);\n ctx.fillStyle = tinycolor.mostReadable(this.fillColour, [\"#000\", \"#fff\"]).toHexString();\n ctx.fillText(this.text, 0, 0);\n ctx.restore();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { Note } from \"@/game/comm/types/general\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n Modal,\n },\n})\nexport default class NoteDialog extends Vue {\n visible = false;\n note: Note | null = null;\n\n open(note: Note) {\n this.visible = true;\n this.note = note;\n }\n calcHeight() {\n if (this.$refs.textarea) {\n const el = this.$refs.textarea;\n el.style.height = \"auto\";\n el.style.height = el.scrollHeight + \"px\";\n // Using the return value without the above did not achieve what I want, so hey /shrug\n return el.scrollHeight + \"px\";\n }\n return \"100px\";\n }\n updateNote() {\n if (this.note) gameStore.updateNote({ note: this.note, sync: true });\n }\n removeNote() {\n getRef(\"confirm\")\n .open(\"Are you sure you wish to remove this?\")\n .then(\n (result: boolean) => {\n if (result && this.note) {\n gameStore.removeNote({ note: this.note, sync: true });\n this.visible = false;\n }\n },\n () => {},\n );\n }\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=style&index=0&id=ccaf03d6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=style&index=0&id=ccaf03d6&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from \"vue-class-component\";\n\nimport { Watch } from \"vue-property-decorator\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { socket } from \"@/game/api/socket\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { MultiLine } from \"@/game/shapes/multiline\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { getUnitDistance, l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\n\n@Component({\n components: {\n \"color-picker\": ColorPicker,\n },\n})\nexport default class DrawTool extends Tool {\n name = \"Draw\";\n active = false;\n\n startPoint: GlobalPoint | null = null;\n shape: Shape | null = null;\n brushHelper: Circle | null = null;\n\n fillColour = \"rgba(0, 0, 0, 1)\";\n borderColour = \"rgba(255, 255, 255, 0)\";\n\n shapeSelect = \"square\";\n shapes = [\"square\", \"circle\", \"paint-brush\"];\n modeSelect = \"normal\";\n modes = [\"normal\", \"reveal\", \"hide\"];\n\n brushSize = getUnitDistance(gameStore.unitSize);\n\n get helperSize(): number {\n if (this.shapeSelect === \"paint-brush\") return this.brushSize / 2;\n return getUnitDistance(this.unitSize) / 8;\n }\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n get unitSize(): number {\n return gameStore.unitSize;\n }\n get useGrid(): boolean {\n return gameStore.useGrid;\n }\n\n @Watch(\"fillColour\")\n onFillChange() {\n if (this.brushHelper) this.brushHelper.fillColour = this.fillColour;\n }\n\n @Watch(\"modeSelect\")\n onModeUpdate(newValue: string, oldValue: string) {\n this.onModeChange(newValue, oldValue);\n }\n\n setupBrush() {\n if (this.brushHelper === null) return;\n if (this.modeSelect === \"reveal\" || this.modeSelect === \"hide\") {\n this.brushHelper.options.set(\"preFogShape\", true);\n this.brushHelper.options.set(\"skipDraw\", true);\n this.brushHelper.fillColour = \"rgba(0, 0, 0, 1)\";\n\n if (this.modeSelect === \"reveal\") this.brushHelper.globalCompositeOperation = \"source-over\";\n else if (this.modeSelect === \"hide\") this.brushHelper.globalCompositeOperation = \"destination-out\";\n } else {\n this.brushHelper.options.delete(\"preFogShape\");\n this.brushHelper.options.delete(\"skipDraw\");\n this.brushHelper.globalCompositeOperation = \"source-over\";\n this.brushHelper.fillColour = this.fillColour;\n }\n }\n onModeChange(newValue: string, oldValue: string) {\n if (this.brushHelper === null) return;\n\n const fowLayer = layerManager.getLayer(\"fow\");\n const normalLayer = layerManager.getLayer();\n if (fowLayer === undefined || normalLayer === undefined) return;\n\n this.setupBrush();\n\n if (newValue !== \"normal\" && oldValue === \"normal\") {\n normalLayer.removeShape(this.brushHelper, false);\n fowLayer.addShape(this.brushHelper, false);\n } else if (newValue === \"normal\" && oldValue !== \"normal\") {\n normalLayer.addShape(this.brushHelper, false);\n fowLayer.removeShape(this.brushHelper, false);\n }\n }\n getLayer() {\n if (this.modeSelect === \"normal\") return layerManager.getLayer();\n return layerManager.getLayer(\"fow\");\n }\n onMouseDown(event: MouseEvent) {\n const layer = this.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = true;\n this.startPoint = l2g(getMouse(event));\n if (this.shapeSelect === \"square\")\n this.shape = new Rect(this.startPoint.clone(), 0, 0, this.fillColour, this.borderColour);\n else if (this.shapeSelect === \"circle\")\n this.shape = new Circle(this.startPoint.clone(), this.helperSize, this.fillColour, this.borderColour);\n else if (this.shapeSelect === \"paint-brush\") {\n this.shape = new MultiLine(this.startPoint.clone(), [], this.brushSize);\n this.shape.fillColour = this.fillColour;\n } else return;\n\n if (this.modeSelect !== \"normal\") {\n this.shape.options.set(\"preFogShape\", true);\n this.shape.options.set(\"skipDraw\", true);\n this.shape.fillColour = \"rgba(0, 0, 0, 1)\";\n }\n if (this.modeSelect === \"reveal\") this.shape.globalCompositeOperation = \"source-over\";\n else if (this.modeSelect === \"hide\") this.shape.globalCompositeOperation = \"destination-out\";\n\n this.shape.owners.push(gameStore.username);\n if (layer.name === \"fow\" && this.modeSelect === \"normal\") {\n this.shape.visionObstruction = true;\n this.shape.movementObstruction = true;\n }\n gameStore.visionBlockers.push(this.shape.uuid);\n layer.addShape(this.shape, true, false);\n\n // Push brushhelper to back\n this.onDeselect();\n this.onSelect();\n }\n onMouseMove(event: MouseEvent) {\n const endPoint = l2g(getMouse(event));\n const layer = this.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n\n if (this.brushHelper !== null) {\n this.brushHelper.r = this.helperSize;\n this.brushHelper.refPoint = endPoint;\n if (!this.active) layer.invalidate(false);\n }\n\n if (!this.active || this.startPoint === null || this.shape === null) return;\n\n if (this.shapeSelect === \"square\") {\n (this.shape).w = Math.abs(endPoint.x - this.startPoint.x);\n (this.shape).h = Math.abs(endPoint.y - this.startPoint.y);\n this.shape.refPoint.x = Math.min(this.startPoint.x, endPoint.x);\n this.shape.refPoint.y = Math.min(this.startPoint.y, endPoint.y);\n } else if (this.shapeSelect === \"circle\") {\n (this.shape).r = endPoint.subtract(this.startPoint).length();\n } else if (this.shapeSelect === \"paint-brush\") {\n (this.shape).points.push(endPoint);\n }\n socket.emit(\"Shape.Update\", { shape: this.shape!.asDict(), redraw: true, temporary: false });\n if (this.shape.visionObstruction) gameStore.recalculateBV();\n layer.invalidate(false);\n }\n onMouseUp(event: MouseEvent) {\n if (this.active && this.shape !== null && !event.altKey && this.useGrid) {\n this.shape.resizeToGrid();\n socket.emit(\"Shape.Update\", { shape: this.shape!.asDict(), redraw: true, temporary: false });\n }\n this.active = false;\n }\n onSelect() {\n const layer = this.getLayer();\n if (layer === undefined) return;\n this.brushHelper = new Circle(new GlobalPoint(-1000, -1000), this.brushSize / 2, this.fillColour);\n this.setupBrush();\n layer.addShape(this.brushHelper, false); // during mode change the shape is already added\n }\n onDeselect() {\n const layer = this.getLayer();\n if (this.brushHelper !== null && layer !== undefined) layer.removeShape(this.brushHelper, false);\n }\n}\n","import { BoundingRect } from \"@/game/shapes/boundingrect\";\n\nexport class BoundingNode {\n bbox: BoundingRect;\n nPrimitives: number;\n children: BoundingNode[] = [];\n constructor(nPrimitives: number, bbox: BoundingRect) {\n this.nPrimitives = nPrimitives;\n this.bbox = bbox;\n }\n}\n\nexport class LeafNode extends BoundingNode {\n firstPrimOffset: number;\n constructor(first: number, n: number, bbox: BoundingRect) {\n super(n, bbox);\n this.firstPrimOffset = first;\n }\n}\n\nexport class InteriorNode extends BoundingNode {\n dimension: number;\n constructor(dimension: number, c1: BoundingNode, c2: BoundingNode) {\n super(0, c1.bbox.union(c2.bbox));\n this.dimension = dimension;\n this.children.push(c1);\n this.children.push(c2);\n }\n}\n","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { g2lx, g2ly } from \"@/game/units\";\n\nexport class Line extends Shape {\n type = \"line\";\n endPoint: GlobalPoint;\n lineWidth: number;\n constructor(\n startPoint: GlobalPoint,\n endPoint: GlobalPoint,\n lineWidth?: number,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(startPoint, \"rgba(0, 0, 0, 0)\", strokeColour || \"#000\", uuid);\n this.endPoint = endPoint;\n this.lineWidth = lineWidth === undefined ? 1 : lineWidth;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n x2: this.endPoint.x,\n y2: this.endPoint.y,\n line_width: this.lineWidth,\n });\n }\n getBoundingBox(): BoundingRect {\n return new BoundingRect(\n new GlobalPoint(Math.min(this.refPoint.x, this.endPoint.x), Math.min(this.refPoint.x, this.endPoint.y)),\n Math.abs(this.refPoint.x - this.endPoint.x),\n Math.abs(this.refPoint.y - this.endPoint.y),\n );\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.strokeStyle = this.strokeColour;\n ctx.beginPath();\n ctx.moveTo(g2lx(this.refPoint.x), g2ly(this.refPoint.y));\n ctx.lineTo(g2lx(this.endPoint.x), g2ly(this.endPoint.y));\n ctx.lineWidth = this.lineWidth;\n ctx.stroke();\n }\n contains(point: GlobalPoint): boolean {\n return false; // TODO\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {} // TODO\n getCorner(point: GlobalPoint): string | undefined {\n return \"\";\n } // TODO\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid(): void {}\n resizeToGrid(): void {}\n resize(resizeDir: string, point: LocalPoint): void {}\n}\n","// import \"./class-component-hooks\";\n\nimport axios, { AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Router from \"vue-router\";\n\nVue.use(Router);\n\nimport AssetManager from \"@/assetManager/manager.vue\";\nimport Login from \"@/auth/login.vue\";\nimport Logout from \"@/auth/logout\";\nimport LoadComponent from \"@/core/components/load.vue\";\nimport Dashboard from \"@/dashboard/main.vue\";\nimport Game from \"@/game/game.vue\";\nimport Invitation from \"@/invitation/invitation\";\n\nimport { coreStore } from \"@/core/store\";\n// import { AssetManager } from \"./assetManager/assets\";\n// const AssetManager = () => import(\"./assetManager/assets\").then(m => m.AssetManager);\n\nexport const router = new Router({\n mode: \"history\",\n base: process.env.BASE_URL,\n routes: [\n {\n path: \"/\",\n redirect: \"/dashboard\",\n },\n {\n path: \"/_load\",\n name: \"load\",\n component: LoadComponent,\n },\n {\n path: \"/assets\",\n component: AssetManager,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/auth\",\n component: { template: \"\" },\n children: [{ path: \"login\", component: Login }, { path: \"logout\", component: Logout }],\n },\n {\n path: \"/invite/:code\",\n component: Invitation,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/dashboard\",\n component: Dashboard,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/game/:creator/:room\",\n component: Game,\n meta: {\n auth: true,\n },\n },\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n if (!coreStore.initialized && to.path !== \"/_load\") {\n next({ path: \"/_load\" });\n axios\n .get(\"/api/auth\")\n .then((response: AxiosResponse) => {\n if (response.data.auth) {\n coreStore.setAuthenticated(true);\n coreStore.setUsername(response.data.username);\n }\n coreStore.setInitialized(true);\n router.push(to.path);\n })\n .catch(() => {\n console.error(\"Authentication check could not be fulfilled.\");\n });\n } else if (to.matched.some(record => record.meta.auth) && !coreStore.authenticated) {\n next({ path: \"/auth/login\", query: { redirect: to.path } });\n } else {\n next();\n }\n});\n","\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class Tool extends Vue {\n name = \"\";\n selected = false;\n active = false;\n get detailRight(): string {\n const rect = (this.$parent.$refs[this.name + \"-selector\"])[0].getBoundingClientRect();\n const mid = rect.left + rect.width / 2;\n\n return `${window.innerWidth - Math.min(window.innerWidth - 25, mid + 75)}px`;\n }\n get detailArrow(): string {\n const rect = (this.$parent.$refs[this.name + \"-selector\"])[0].getBoundingClientRect();\n const mid = rect.left + rect.width / 2;\n const right = Math.min(window.innerWidth - 25, mid + 75);\n return `${right - mid - 14}px`; // border width\n }\n created() {\n this.$parent.$on(\"mousedown\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onMouseDown(event);\n });\n this.$parent.$on(\"mouseup\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onMouseUp(event);\n });\n this.$parent.$on(\"mousemove\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onMouseMove(event);\n });\n this.$parent.$on(\"contextmenu\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onContextMenu(event);\n });\n this.$parent.$on(\"tools-select-change\", (newValue: string, oldValue: string) => {\n if (oldValue === this.name) {\n this.selected = false;\n this.onDeselect();\n } else if (newValue === this.name) {\n this.selected = true;\n this.onSelect();\n }\n });\n }\n onSelect() {}\n onDeselect() {}\n onMouseDown(event: MouseEvent) {}\n onMouseUp(event: MouseEvent) {}\n onMouseMove(event: MouseEvent) {}\n onContextMenu(event: MouseEvent) {}\n}\n","import { render, staticRenderFns } from \"./tools.vue?vue&type=template&id=1fee50f5&scoped=true&\"\nimport script from \"./tools.vue?vue&type=script&lang=ts&\"\nexport * from \"./tools.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./tools.vue?vue&type=style&index=0&id=1fee50f5&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fee50f5\",\n null\n \n)\n\ncomponent.options.__file = \"tools.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=script&lang=ts&\"","import { InitiativeData } from \"@/game/comm/types/general\";\nimport { ServerAsset } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { BaseRect } from \"@/game/shapes/baserect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2lx, g2ly, g2lz } from \"@/game/units\";\n\nexport class Asset extends BaseRect {\n type = \"assetrect\";\n img: HTMLImageElement;\n src: string = \"\";\n constructor(img: HTMLImageElement, topleft: GlobalPoint, w: number, h: number, uuid?: string) {\n super(topleft, w, h);\n if (uuid !== undefined) this.uuid = uuid;\n this.img = img;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n src: this.src,\n });\n }\n fromDict(data: ServerAsset) {\n super.fromDict(data);\n this.src = data.src;\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n try {\n ctx.drawImage(this.img, g2lx(this.refPoint.x), g2ly(this.refPoint.y), g2lz(this.w), g2lz(this.h));\n } catch (error) {\n console.warn(`Shape ${this.uuid} could not load the image ${this.src}`);\n }\n }\n getInitiativeRepr(): InitiativeData {\n return {\n uuid: this.uuid,\n visible: !gameStore.IS_DM,\n group: false,\n source: this.src,\n has_img: true,\n effects: [],\n index: Infinity,\n };\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=script&lang=ts&\"","import { GlobalPoint } from \"@/game/geom\";\nimport { GridLayer } from \"@/game/layers/grid\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { Asset } from \"@/game/shapes/asset\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { l2gx, l2gy, l2gz } from \"@/game/units\";\n\nclass LayerManager {\n layers: Layer[] = [];\n width = window.innerWidth;\n height = window.innerHeight;\n\n UUIDMap: Map = new Map();\n\n // Refresh interval and redraw setter.\n interval = 30;\n\n constructor() {\n requestAnimationFrame(this.drawLoop);\n }\n\n reset() {\n this.layers = [];\n this.UUIDMap = new Map();\n }\n\n drawLoop = () => {\n for (let i = this.layers.length - 1; i >= 0; i--) {\n this.layers[i].draw();\n }\n requestAnimationFrame(this.drawLoop);\n };\n\n setWidth(width: number): void {\n this.width = width;\n for (const layer of this.layers) {\n layer.canvas.width = width;\n layer.width = width;\n }\n }\n\n setHeight(height: number): void {\n this.height = height;\n for (const layer of this.layers) {\n layer.canvas.height = height;\n layer.height = height;\n }\n }\n\n addLayer(layer: Layer): void {\n this.layers.push(layer);\n if (!gameStore.IS_DM && !layer.playerEditable) return;\n if (layer.selectable) gameStore.addLayer(layer.name);\n }\n\n hasLayer(name: string): boolean {\n return this.layers.some(l => l.name === name);\n }\n\n getLayer(name?: string) {\n name = name === undefined ? gameStore.selectedLayer : name;\n for (const layer of this.layers) {\n if (layer.name === name) return layer;\n }\n }\n\n selectLayer(name: string, sync: boolean = true): void {\n let found = false;\n for (const layer of this.layers) {\n if (!layer.selectable) continue;\n if (found && layer.name !== \"fow\") layer.ctx.globalAlpha = 0.3;\n else layer.ctx.globalAlpha = 1.0;\n\n if (name === layer.name) {\n gameStore.selectLayer({ name, sync });\n found = true;\n }\n\n layer.clearSelection();\n layer.invalidate(true);\n }\n }\n\n getGridLayer(): GridLayer | undefined {\n return this.getLayer(\"grid\");\n }\n\n hasSelection() {\n const selection = this.getSelection();\n return selection !== undefined && selection.length > 0;\n }\n\n // THIS INCLUDES POTENTIALLY THE SelectTool.SelectionHelper !!!\n getSelection() {\n const layer = this.getLayer();\n if (layer === undefined) return undefined;\n return layer.selection;\n }\n\n invalidate(): void {\n for (let i = this.layers.length - 1; i >= 0; i--) {\n this.layers[i].invalidate(true);\n }\n }\n\n invalidateLight() {\n for (let i = this.layers.length - 1; i >= 0; i--)\n if (this.layers[i].isVisionLayer) this.layers[i].invalidate(true);\n }\n\n dropAsset(event: DragEvent) {\n const layer = this.getLayer();\n if (layer === undefined || event === null || event.dataTransfer === null) return;\n const image = document.createElement(\"img\");\n image.src = event.dataTransfer.getData(\"text/plain\");\n const asset = new Asset(\n image,\n new GlobalPoint(l2gx(event.clientX), l2gy(event.clientY)),\n l2gz(image.width),\n l2gz(image.height),\n );\n asset.src = new URL(image.src).pathname;\n\n if (gameStore.useGrid) {\n const gs = gameStore.gridSize;\n asset.refPoint.x = Math.round(asset.refPoint.x / gs) * gs;\n asset.refPoint.y = Math.round(asset.refPoint.y / gs) * gs;\n asset.w = Math.max(Math.round(asset.w / gs) * gs, gs);\n asset.h = Math.max(Math.round(asset.h / gs) * gs, gs);\n }\n\n layer.addShape(asset, true);\n }\n}\n\nexport const layerManager = new LayerManager();\n(window).lm = layerManager;\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./createtoken_modal.vue?vue&type=template&id=66ccc134&scoped=true&\"\nimport script from \"./createtoken_modal.vue?vue&type=script&lang=ts&\"\nexport * from \"./createtoken_modal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./createtoken_modal.vue?vue&type=style&index=0&id=66ccc134&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"66ccc134\",\n null\n \n)\n\ncomponent.options.__file = \"createtoken_modal.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=script&lang=ts&\"","import Tools from \"../ui/tools/tools.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { Vector } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\n\nexport function onKeyUp(event: KeyboardEvent) {\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement) {\n } else {\n if (event.key === \"Delete\" || event.key === \"Del\" || event.key === \"Backspace\") {\n if (layerManager.getLayer === undefined) {\n console.log(\"No active layer selected for delete operation\");\n return;\n }\n const l = layerManager.getLayer()!;\n for (let i = l.selection.length - 1; i >= 0; i--) {\n const sel = l.selection[i];\n if ((getRef(\"tools\").$refs.selectTool).selectionHelper.uuid === sel.uuid) {\n l.selection.splice(i, 1);\n continue;\n }\n l.removeShape(sel, true, false);\n EventBus.$emit(\"SelectionInfo.Shape.Set\", null);\n EventBus.$emit(\"Initiative.Remove\", sel.uuid);\n }\n }\n }\n}\n\nexport function onKeyDown(event: KeyboardEvent) {\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement) {\n if (event.keyCode === 65 && event.ctrlKey) event.target!.select();\n } else {\n if (event.keyCode >= 37 && event.keyCode <= 40) {\n // todo: this should already be rounded\n const gridSize = Math.round(gameStore.gridSize);\n let offsetX = gridSize * (event.keyCode % 2);\n let offsetY = gridSize * (event.keyCode % 2 ? 0 : 1);\n if (layerManager.hasSelection()) {\n const selection = layerManager.getSelection()!;\n offsetX *= event.keyCode <= 38 ? -1 : 1;\n offsetY *= event.keyCode <= 38 ? -1 : 1;\n let delta = new Vector(offsetX, offsetY);\n if (!event.shiftKey || !gameStore.IS_DM) {\n // First check for collisions. Using the smooth wall slide collision check used on mouse move is overkill here.\n for (const sel of selection) delta = calculateDelta(delta, sel);\n }\n for (const sel of selection) {\n sel.refPoint.x += delta.x;\n sel.refPoint.y += delta.y;\n if (sel.refPoint.x % gridSize !== 0 || sel.refPoint.y % gridSize !== 0) sel.snapToGrid();\n socket.emit(\"Shape.Position.Update\", { shape: sel.asDict(), redraw: true, temporary: false });\n }\n layerManager.getLayer()!.invalidate(false);\n } else {\n // The pan offsets should be in the opposite direction to give the correct feel.\n gameStore.increasePanX(offsetX * (event.keyCode <= 38 ? 1 : -1));\n gameStore.increasePanY(offsetY * (event.keyCode <= 38 ? 1 : -1));\n layerManager.invalidate();\n sendClientOptions();\n }\n } else if (event.keyCode === 68) {\n const layer = layerManager.getLayer();\n if (layer) {\n layer.clearSelection();\n layer.invalidate(true);\n }\n }\n }\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=style&index=0&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\n\nimport ShapeContext from \"@/game/ui/selection/shapecontext.vue\";\nimport CreateTokenModal from \"@/game/ui/tools/createtoken_modal.vue\";\nimport DrawTool from \"@/game/ui/tools/draw.vue\";\nimport MapTool from \"@/game/ui/tools/map.vue\";\nimport PanTool from \"@/game/ui/tools/pan\";\nimport SelectTool from \"@/game/ui/tools/select.vue\";\n\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameManager } from \"@/game/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { RulerTool } from \"@/game/ui/tools/ruler\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\n@Component({\n components: {\n \"select-tool\": SelectTool,\n \"pan-tool\": PanTool,\n \"draw-tool\": DrawTool,\n \"ruler-tool\": RulerTool,\n \"map-tool\": MapTool,\n \"shape-menu\": ShapeContext,\n \"createtoken-dialog\": CreateTokenModal,\n },\n watch: {\n currentTool(newValue, oldValue) {\n this.$emit(\"tools-select-change\", newValue, oldValue);\n },\n },\n})\nexport default class Tools extends Vue {\n $refs!: {\n selectTool: InstanceType;\n };\n\n currentTool = \"Select\";\n tools = [\"Select\", \"Pan\", \"Draw\", \"Ruler\", \"Map\"];\n dmTools = [\"Map\"];\n\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n\n get currentToolComponent(): string {\n return `${this.currentTool.toLowerCase()}-tool`;\n }\n\n mousedown(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n\n let targetTool = this.currentTool;\n if (event.button === 1) {\n targetTool = \"Pan\";\n } else if (event.button !== 0) {\n return;\n }\n\n this.$emit(\"mousedown\", event, targetTool);\n }\n mouseup(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n\n let targetTool = this.currentTool;\n if (event.button === 1) {\n targetTool = \"Pan\";\n } else if (event.button !== 0) {\n return;\n }\n\n this.$emit(\"mouseup\", event, targetTool);\n }\n mousemove(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n\n let targetTool = this.currentTool;\n if ((event.buttons & 4) !== 0) {\n targetTool = \"Pan\";\n } else if ((event.button & 1) > 1) {\n return;\n }\n\n this.$emit(\"mousemove\", event, targetTool);\n\n // Annotation hover\n let found = false;\n for (const uuid of gameStore.annotations) {\n if (layerManager.UUIDMap.has(uuid) && layerManager.hasLayer(\"draw\")) {\n const shape = layerManager.UUIDMap.get(uuid)!;\n if (shape.contains(l2g(getMouse(event)))) {\n found = true;\n gameManager.annotationManager.setActiveText(shape.annotation);\n }\n }\n }\n if (!found && gameManager.annotationManager.shown) {\n gameManager.annotationManager.setActiveText(\"\");\n }\n }\n mouseleave(event: MouseEvent) {\n // When leaving the window while a mouse is pressed down, act as if it was released\n if ((event.buttons & 1) !== 0) {\n this.$emit(\"mouseup\", event, this.currentTool);\n }\n }\n contextmenu(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n if (event.button !== 2 || (event.target).tagName !== \"CANVAS\") return;\n this.$emit(\"contextmenu\", event, this.currentTool);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=style&index=0&id=32cec914&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=style&index=0&id=32cec914&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport Modal from \"@/core/components/modals/modal.vue\";\n\n@Component({\n components: {\n Modal,\n },\n})\nexport default class Prompt extends Vue {\n $refs!: {\n answer: HTMLElement;\n };\n\n visible = false;\n question = \"\";\n answer = \"\";\n title = \"\";\n\n resolve = (value: string) => {};\n reject = () => {};\n\n submit() {\n this.resolve(this.answer);\n this.close();\n }\n close() {\n this.reject();\n this.visible = false;\n this.question = \"\";\n this.answer = \"\";\n this.title = \"\";\n }\n prompt(question: string, title: string): Promise {\n this.question = question;\n this.title = title;\n this.visible = true;\n this.$nextTick(() => {\n this.$refs.answer.focus();\n });\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_vm._l((_vm.folders),function(folder){return _c('li',{key:folder,staticClass:\"folder\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle($event)}}},[_vm._v(\"\\n \"+_vm._s(folder)+\"\\n \"),_c('asset-node',{attrs:{\"asset\":_vm.asset[folder]}})],1)}),_vm._l((_vm.files),function(file){return _c('li',{key:file.name,staticClass:\"file draggable token\",attrs:{\"draggable\":\"true\"},on:{\"mouseover\":function($event){_vm.showImage = file.hash},\"mouseout\":function($event){_vm.showImage = null},\"dragstart\":function($event){_vm.dragStart($event, '/static/assets/' + file.hash)}}},[_vm._v(\"\\n \"+_vm._s(file.name)+\"\\n \"),(_vm.showImage == file.hash)?_c('div',{staticClass:\"preview\"},[_c('img',{staticClass:\"asset-preview-image\",attrs:{\"src\":'/static/assets/' + file.hash}})]):_vm._e()])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=template&id=62c91cd3&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(_vm._s(_vm.message))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load.vue?vue&type=template&id=ff095222&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{attrs:{\"id\":\"toolselect\"}},[_c('ul',_vm._l((_vm.tools),function(tool){return (!_vm.dmTools.includes(tool) || _vm.IS_DM)?_c('li',{key:tool,ref:tool + '-selector',refInFor:true,class:{'tool-selected': _vm.currentTool === tool},on:{\"click\":function($event){_vm.currentTool = tool}}},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(tool))])]):_vm._e()}))]),_c('div',[[_c('select-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Select'),expression:\"currentTool === 'Select'\"}],ref:\"selectTool\"}),_c('pan-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Pan'),expression:\"currentTool === 'Pan'\"}]}),_c('keep-alive',[_c('draw-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Draw'),expression:\"currentTool === 'Draw'\"}]})],1),_c('ruler-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Ruler'),expression:\"currentTool === 'Ruler'\"}]}),_c('map-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Map'),expression:\"currentTool === 'Map'\"}]}),_c('shape-menu',{ref:\"shapecontext\"}),_c('createtoken-dialog',{ref:\"createtokendialog\"})]],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=template&id=1fee50f5&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=script&lang=ts&\"","import { GlobalPoint, Point, Ray, Vector } from \"@/game/geom\";\n\nexport class BoundingRect {\n readonly w: number;\n readonly h: number;\n readonly topLeft: GlobalPoint;\n readonly topRight: GlobalPoint;\n readonly botRight: GlobalPoint;\n readonly botLeft: GlobalPoint;\n\n constructor(topleft: GlobalPoint, w: number, h: number) {\n this.w = w;\n this.h = h;\n this.topLeft = topleft;\n this.topRight = new GlobalPoint(topleft.x + w, topleft.y);\n this.botRight = new GlobalPoint(topleft.x + w, topleft.y + h);\n this.botLeft = new GlobalPoint(topleft.x, topleft.y + h);\n }\n\n contains(point: GlobalPoint): boolean {\n return (\n this.topLeft.x <= point.x &&\n this.topRight.x >= point.x &&\n this.topLeft.y <= point.y &&\n this.botLeft.y >= point.y\n );\n }\n\n offset(vector: Vector): BoundingRect {\n return new BoundingRect(this.topLeft.add(vector), this.w, this.h);\n }\n\n union(other: BoundingRect): BoundingRect {\n const xmin = Math.min(this.topLeft.x, other.topLeft.x);\n const xmax = Math.max(this.topRight.x, other.topRight.x);\n const ymin = Math.min(this.topLeft.y, other.topLeft.y);\n const ymax = Math.max(this.botLeft.y, other.botLeft.y);\n return new BoundingRect(new GlobalPoint(xmin, ymin), xmax - xmin, ymax - ymin);\n }\n\n getDiagCorner(botright: boolean) {\n return botright ? this.botRight : this.topLeft;\n }\n\n intersectsWith(other: BoundingRect): boolean {\n return !(\n other.topLeft.x > this.topRight.x ||\n other.topRight.x < this.topLeft.x ||\n other.topLeft.y > this.botLeft.y ||\n other.botLeft.y < this.topLeft.y\n );\n }\n\n intersectsWithInner(other: BoundingRect): boolean {\n return !(\n other.topLeft.x >= this.topRight.x ||\n other.topRight.x <= this.topLeft.x ||\n other.topLeft.y >= this.botLeft.y ||\n other.botLeft.y <= this.topLeft.y\n );\n }\n\n intersectP(ray: Ray, invDir: Vector, dirIsNeg: boolean[]) {\n let txmin = invDir.x * (this.getDiagCorner(dirIsNeg[0]).x - ray.origin!.x);\n let txmax = invDir.x * (this.getDiagCorner(!dirIsNeg[0]).x - ray.origin!.x);\n const tymin = invDir.y * (this.getDiagCorner(dirIsNeg[1]).y - ray.origin!.y);\n const tymax = invDir.y * (this.getDiagCorner(!dirIsNeg[1]).y - ray.origin!.y);\n if (txmin > tymax || tymin > txmax) return { hit: false, min: txmin, max: txmax };\n if (tymin > txmin) txmin = tymin;\n if (tymax < txmax) txmax = tymax;\n return { hit: txmin < ray.tMax! && txmax > 0, min: txmin, max: txmax };\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {\n if (centerPoint === undefined) return this.topLeft.add(new Vector(this.w / 2, this.h / 2));\n this.topLeft.x = centerPoint.x - this.w / 2;\n this.topLeft.y = centerPoint.y - this.h / 2;\n }\n inCorner(point: GlobalPoint, corner: string) {\n const sw = Math.min(6, this.w / 2) / 2;\n switch (corner) {\n case \"ne\":\n return (\n this.topRight.x - sw <= point.x &&\n point.x <= this.topRight.x + sw &&\n this.topLeft.y - sw <= point.y &&\n point.y <= this.topLeft.y + sw\n );\n case \"nw\":\n return (\n this.topLeft.x - sw <= point.x &&\n point.x <= this.topLeft.x + sw &&\n this.topLeft.y - sw <= point.y &&\n point.y <= this.topLeft.y + sw\n );\n case \"sw\":\n return (\n this.topLeft.x - sw <= point.x &&\n point.x <= this.topLeft.x + sw &&\n this.botLeft.y - sw <= point.y &&\n point.y <= this.botLeft.y + sw\n );\n case \"se\":\n return (\n this.topRight.x - sw <= point.x &&\n point.x <= this.topRight.x + sw &&\n this.botLeft.y - sw <= point.y &&\n point.y <= this.botLeft.y + sw\n );\n default:\n return false;\n }\n }\n getCorner(point: GlobalPoint): string | undefined {\n if (this.inCorner(point, \"ne\")) return \"ne\";\n else if (this.inCorner(point, \"nw\")) return \"nw\";\n else if (this.inCorner(point, \"se\")) return \"se\";\n else if (this.inCorner(point, \"sw\")) return \"sw\";\n }\n\n getMaxExtent() {\n return this.w > this.h ? 0 : 1;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"formcontainer\"}},[(_vm.owned || _vm.joined)?_c('form',[_c('fieldset',[_c('legend',{staticClass:\"legend\"},[_vm._v(\"Your sessions\")]),_c('div',{staticClass:\"input\"},[_vm._l((_vm.owned),function(room,i){return _c('router-link',{key:'o-'+i,attrs:{\"to\":'/game/' + room[1] + '/' + room[0]}},[_vm._v(_vm._s(room[0]))])}),_vm._l((_vm.joined),function(room,i){return _c('router-link',{key:'j-'+i,attrs:{\"to\":'/game/' + room[1] + '/' + room[0]}},[_vm._v(_vm._s(room[1])+\"/\"+_vm._s(room[0]))])})],2),(_vm.owned.length === 0)?_c('div',{staticClass:\"input\"},[_vm._v(\"No active sessions\")]):_vm._e()])]):_vm._e(),_vm._m(0),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.createRoom($event)}}},[_c('fieldset',[(!_vm.owned && !_vm.joined)?_c('legend',{staticClass:\"legend\"},[_vm._v(\"Create a session\")]):_c('div',{staticClass:\"input\"},[_vm._v(\"Create a new session\")]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newSessionName),expression:\"newSessionName\"}],attrs:{\"type\":\"text\",\"name\":\"room_name\",\"placeholder\":\"Session Name\"},domProps:{\"value\":(_vm.newSessionName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newSessionName=$event.target.value}}}),_vm._m(1)]),_vm._m(2)])]),_c('div',{attrs:{\"id\":\"account-options\"}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();}}},[_c('router-link',{staticClass:\"submit\",attrs:{\"tag\":\"button\",\"title\":\"Account Settings\",\"to\":\"/account\"}},[_c('i',{staticClass:\"fas fa-cog\"})])],1),_c('form',{on:{\"submit\":function($event){$event.preventDefault();}}},[_c('router-link',{staticClass:\"submit\",attrs:{\"tag\":\"button\",\"title\":\"Logout\",\"to\":\"/auth/logout\"}},[_c('i',{staticClass:\"fas fa-sign-out-alt\"})])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',[_c('span',[_vm._v(\"OR\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fab fa-d-and-d\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"submit\",attrs:{\"type\":\"submit\",\"title\":\"Create\"}},[_c('i',{staticClass:\"fas fa-arrow-right\"})])}]\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=template&id=61eb1455&scoped=true&\"","/*\nThis module defines some Point classes.\nA strong focus is made to ensure that at no time a global and a local point are mixed up with each other.\nAt first glance this adds weird looking hacks as ts does not support nominal typing.\n*/\n\nexport function getPointDistance(p1: Point, p2: Point) {\n const a = p1.x - p2.x;\n const b = p1.y - p2.y;\n return Math.sqrt(a * a + b * b);\n}\n\nexport class Point {\n x: number;\n y: number;\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n }\n add(vec: Vector) {\n return new Point(this.x + vec.x, this.y + vec.y);\n }\n subtract(other: Point) {\n return new Vector(this.x - other.x, this.y - other.y);\n }\n clone(): Point {\n return new Point(this.x, this.y);\n }\n get(dimension: 0 | 1) {\n if (dimension === 0) return this.x;\n return this.y;\n }\n}\nexport class GlobalPoint extends Point {\n // This is to differentiate with LocalPoint, is actually never used\n // We do ! to prevent errors that it never gets initialized\n // tslint:disable-next-line:variable-name\n _GlobalPoint!: string;\n add(vec: Vector): GlobalPoint {\n return super.add(vec);\n }\n subtract(other: GlobalPoint): Vector {\n return super.subtract(other);\n }\n clone(): GlobalPoint {\n return super.clone();\n }\n}\n\nexport class LocalPoint extends Point {\n // This is to differentiate with GlobalPoint, is actually never used\n // We do ! to prevent errors that it never gets initialized\n // tslint:disable-next-line:variable-name\n _LocalPoint!: string;\n add(vec: Vector): LocalPoint {\n return super.add(vec);\n }\n subtract(other: LocalPoint): Vector {\n return super.subtract(other);\n }\n clone(): LocalPoint {\n return super.clone();\n }\n}\n\nexport class Vector {\n readonly x: number;\n readonly y: number;\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n }\n dot(other: Vector) {\n return this.x * other.x + this.y * other.y;\n }\n inverse() {\n return new Vector(1 / this.x, 1 / this.y);\n }\n length() {\n return Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2));\n }\n normalize() {\n const l = this.length();\n return new Vector(this.x / l, this.y / l);\n }\n reverse() {\n return new Vector(-this.x, -this.y);\n }\n multiply(scale: number) {\n return new Vector(this.x * scale, this.y * scale);\n }\n}\n\nexport class Ray {\n readonly direction: Vector;\n readonly origin: T;\n tMax: number;\n constructor(origin: T, direction: Vector, tMax?: number) {\n this.direction = direction;\n this.origin = origin;\n if (tMax === undefined) tMax = Infinity;\n this.tMax = tMax;\n }\n static fromPoints(p1: T, p2: T): Ray {\n const vec = new Vector(p2.x - p1.x, p2.y - p1.y);\n let maxT;\n if (Math.abs(vec.x) > 0.01) maxT = (p2.x - p1.x) / vec.x;\n else maxT = (p2.y - p1.y) / vec.y;\n return new Ray(p1, vec, maxT);\n }\n get(t: number): T {\n return new Point(this.origin.x + t * this.direction.x, this.origin.y + t * this.direction.y);\n }\n getDistance(t1: number, t2: number) {\n return Math.sqrt(Math.pow(t2 - t1, 2) * (Math.pow(this.direction.x, 2) + Math.pow(this.direction.y, 2)));\n }\n getT(t1: number, distance: number) {\n return t1 + Math.sqrt(Math.pow(distance, 2) / (Math.pow(this.direction.x, 2) + Math.pow(this.direction.y, 2)));\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport vueSlider from \"vue-slider-component\";\n\nimport \"@/game/api/events\";\n\nimport { throttle } from \"lodash\";\nimport { mapGetters, mapState } from \"vuex\";\n\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\nimport Initiative from \"@/game/ui/initiative.vue\";\nimport MenuBar from \"@/game/ui/menu/menu.vue\";\nimport NoteDialog from \"@/game/ui/note.vue\";\nimport SelectionInfo from \"@/game/ui/selection/selection_info.vue\";\nimport Tools from \"@/game/ui/tools/tools.vue\";\n\nimport { createConnection, socket } from \"@/game/api/socket\";\nimport { onKeyDown, onKeyUp } from \"@/game/events/keyboard\";\nimport { scrollZoom } from \"@/game/events/mouse\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { LocalPoint } from \"./geom\";\n\n@Component({\n components: {\n \"tool-bar\": Tools,\n \"selection-info\": SelectionInfo,\n \"prompt-dialog\": Prompt,\n \"confirm-dialog\": ConfirmDialog,\n \"menu-bar\": MenuBar,\n \"initiative-dialog\": Initiative,\n \"zoom-slider\": vueSlider,\n \"note-dialog\": NoteDialog,\n },\n beforeRouteEnter(to, from, next) {\n createConnection(to);\n next();\n },\n beforeRouteLeave(to, from, next) {\n socket.disconnect();\n next();\n },\n})\nexport default class Game extends Vue {\n $refs!: {\n confirm: InstanceType;\n tools: InstanceType;\n };\n\n ready = {\n manager: false,\n tools: false,\n };\n\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n\n get layers(): string[] {\n return gameStore.layers;\n }\n\n get selectedLayer(): string {\n return gameStore.selectedLayer;\n }\n\n get zoomFactor(): number {\n return gameStore.zoomFactor;\n }\n\n set zoomFactor(value: number) {\n gameStore.updateZoom({\n newZoomValue: value,\n zoomLocation: l2g(new LocalPoint(window.innerWidth / 2, window.innerHeight / 2)),\n });\n }\n\n mounted() {\n window.addEventListener(\"resize\", () => {\n layerManager.setWidth(window.innerWidth);\n layerManager.setHeight(window.innerHeight);\n layerManager.invalidate();\n });\n window.addEventListener(\"wheel\", throttle(scrollZoom));\n window.addEventListener(\"keyup\", onKeyUp);\n window.addEventListener(\"keydown\", onKeyDown);\n // // prevent double clicking text selection\n window.addEventListener(\"selectstart\", e => {\n e.preventDefault();\n return false;\n });\n this.ready.manager = true;\n }\n\n mousedown(event: MouseEvent) {\n this.$refs.tools.mousedown(event);\n }\n mouseup(event: MouseEvent) {\n this.$refs.tools.mouseup(event);\n }\n mousemove(event: MouseEvent) {\n this.$refs.tools.mousemove(event);\n }\n mouseleave(event: MouseEvent) {\n this.$refs.tools.mouseleave(event);\n }\n contextmenu(event: MouseEvent) {\n this.$refs.tools.contextmenu(event);\n }\n selectLayer(layer: string) {\n layerManager.selectLayer(layer);\n }\n drop(event: DragEvent) {\n if (event === null || event.dataTransfer === null) return;\n if (event.dataTransfer.files.length > 0) {\n this.$refs.confirm\n .open(\"Uploading files should be done through the asset manager.\", \"Ok\", \"\")\n .then(() => {}, () => {});\n } else if (event.dataTransfer.getData(\"text/plain\") === \"\") {\n return;\n } else {\n layerManager.dropAsset(event);\n }\n }\n}\n","import { GlobalPoint, LocalPoint, Ray } from \"@/game/geom\";\nimport { gameStore } from \"@/game/store\";\n\nexport function g2l(obj: GlobalPoint): LocalPoint {\n const z = gameStore.zoomFactor;\n const panX = gameStore.panX;\n const panY = gameStore.panY;\n return new LocalPoint((obj.x + panX) * z, (obj.y + panY) * z);\n}\n\nexport function g2lx(x: number) {\n return g2l(new GlobalPoint(x, 0)).x;\n}\n\nexport function g2ly(y: number) {\n return g2l(new GlobalPoint(0, y)).y;\n}\n\nexport function g2lz(z: number) {\n return z * gameStore.zoomFactor;\n}\n\nexport function getUnitDistance(r: number) {\n return (r / gameStore.unitSize) * gameStore.gridSize;\n}\n\nexport function g2lr(r: number) {\n return g2lz(getUnitDistance(r));\n}\n\nexport function l2g(obj: LocalPoint): GlobalPoint;\nexport function l2g(obj: Ray): Ray;\nexport function l2g(obj: LocalPoint | Ray): GlobalPoint | Ray {\n const z = gameStore.zoomFactor;\n const panX = gameStore.panX;\n const panY = gameStore.panY;\n if (obj instanceof LocalPoint) {\n return new GlobalPoint(obj.x / z - panX, obj.y / z - panY);\n } else {\n return new Ray(l2g(obj.origin), obj.direction.multiply(1 / z), obj.tMax);\n }\n}\n\nexport function l2gx(x: number) {\n return l2g(new LocalPoint(x, 0)).x;\n}\n\nexport function l2gy(y: number) {\n return l2g(new LocalPoint(0, y)).y;\n}\n\nexport function l2gz(z: number) {\n return z / gameStore.zoomFactor;\n}\n\nexport function l2gr(r: number) {\n return l2gz(getUnitDistance(r));\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { mapState } from \"vuex\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\nimport AssetNode from \"@/game/ui/menu/asset_node.vue\";\nimport NoteDialog from \"@/game/ui/note.vue\";\n\nimport { getRef, uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { Note } from \"@/game/comm/types/general\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n \"color-picker\": ColorPicker,\n \"asset-node\": AssetNode,\n },\n computed: {\n ...mapState(\"game\", [\"invitationCode\", \"IS_DM\", \"locations\", \"assets\", \"notes\"]),\n },\n})\nexport default class MenuBar extends Vue {\n visible = {\n settings: false,\n locations: false,\n };\n\n get useGrid(): boolean {\n return gameStore.useGrid;\n }\n set useGrid(value: boolean) {\n gameStore.setUseGrid({ useGrid: value, sync: true });\n }\n get fullFOW(): boolean {\n return gameStore.fullFOW;\n }\n set fullFOW(value: boolean) {\n gameStore.setFullFOW({ fullFOW: value, sync: true });\n }\n get fowOpacity(): number {\n return gameStore.fowOpacity;\n }\n set fowOpacity(value: number) {\n if (typeof value !== \"number\") return;\n gameStore.setFOWOpacity({ fowOpacity: value, sync: true });\n }\n get fowLOS(): boolean {\n return gameStore.fowLOS;\n }\n set fowLOS(value: boolean) {\n gameStore.setLineOfSight({ fowLOS: value, sync: true });\n }\n get unitSize(): number {\n return gameStore.unitSize;\n }\n set unitSize(value: number) {\n if (typeof value !== \"number\") return;\n gameStore.setUnitSize({ unitSize: value, sync: true });\n }\n get gridSize(): number {\n return gameStore.gridSize;\n }\n set gridSize(value: number) {\n if (typeof value !== \"number\") return;\n gameStore.setGridSize({ gridSize: value, sync: true });\n }\n get gridColour(): string {\n return gameStore.gridColour;\n }\n set gridColour(value: string) {\n gameStore.setGridColour({ colour: value, sync: true });\n }\n get fowColour(): string {\n return gameStore.fowColour;\n }\n set fowColour(value: string) {\n gameStore.setFOWColour({ colour: value, sync: true });\n }\n get rulerColour(): string {\n return gameStore.rulerColour;\n }\n set rulerColour(value: string) {\n gameStore.setRulerColour({ colour: value, sync: true });\n }\n settingsClick(event: { target: HTMLElement }) {\n if (event.target.classList.contains(\"accordion\")) {\n event.target.classList.toggle(\"accordion-active\");\n const next = event.target.nextElementSibling;\n if (next !== null) next.style.display = next.style.display === \"\" ? \"block\" : \"\";\n }\n }\n changeLocation(name: string) {\n socket.emit(\"Location.Change\", name);\n }\n createLocation() {\n getRef(\"prompt\")\n .prompt(`New location name:`, `Create new location`)\n .then(\n (value: string) => {\n socket.emit(\"Location.New\", value);\n },\n () => {},\n );\n }\n createNote() {\n const note = { title: \"New note\", text: \"\", uuid: uuidv4() };\n gameStore.newNote({ note, sync: true });\n this.openNote(note);\n }\n openNote(note: Note) {\n getRef(\"note\").open(note);\n }\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=style&index=0&id=5c4191ca&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=style&index=0&id=5c4191ca&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ContextMenu',{attrs:{\"visible\":_vm.visible,\"left\":_vm.x + 'px',\"top\":_vm.y + 'px'},on:{\"close\":_vm.close}},[(_vm.IS_DM)?_c('li',{on:{\"click\":_vm.bringPlayers}},[_vm._v(\"Bring players\")]):_vm._e(),_c('li',{on:{\"click\":_vm.createToken}},[_vm._v(\"Create basic token\")]),_c('li',{on:{\"click\":_vm.showInitiative}},[_vm._v(\"Show initiative\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=template&id=44a31e42&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=style&index=0&id=7111f3f6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=style&index=0&id=7111f3f6&scoped=true&lang=css&\"","import Initiative from \"./ui/initiative.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { createShapeFromDict } from \"@/game/shapes/utils\";\nimport { gameStore } from \"@/game/store\";\nimport { AnnotationManager } from \"@/game/ui/annotation\";\nimport { g2l } from \"@/game/units\";\n\nexport class GameManager {\n selectedTool: number = 0;\n\n annotationManager = new AnnotationManager();\n\n addShape(shape: ServerShape): void {\n if (!layerManager.hasLayer(shape.layer)) {\n console.log(`Shape with unknown layer ${shape.layer} could not be added`);\n return;\n }\n const layer = layerManager.getLayer(shape.layer)!;\n const sh = createShapeFromDict(shape);\n if (sh === undefined) {\n console.log(`Shape with unknown type ${shape.type_} could not be added`);\n return;\n }\n layer.addShape(sh, false);\n layer.invalidate(false);\n }\n\n updateShape(data: { shape: ServerShape; redraw: boolean; move: boolean }): void {\n if (!layerManager.hasLayer(data.shape.layer)) {\n console.log(`Shape with unknown layer ${data.shape.layer} could not be added`);\n return;\n }\n const sh = createShapeFromDict(data.shape, true);\n if (sh === undefined) {\n console.log(`Shape with unknown type ${data.shape.type_} could not be added`);\n return;\n }\n const oldShape = layerManager.UUIDMap.get(data.shape.uuid);\n if (oldShape === undefined) {\n console.log(`Shape with unknown id could not be updated`);\n return;\n }\n const redrawInitiative = sh.owners !== oldShape.owners;\n const shape = Object.assign(oldShape, sh);\n shape.checkVisionSources();\n shape.setMovementBlock(shape.movementObstruction);\n shape.setIsToken(shape.isToken);\n if (data.move && shape.visionObstruction) gameStore.recalculateBV();\n if (data.redraw) layerManager.getLayer(data.shape.layer)!.invalidate(false);\n if (redrawInitiative) getRef(\"initiative\").$forceUpdate();\n }\n\n setCenterPosition(position: GlobalPoint) {\n const localPos = g2l(position);\n gameStore.increasePanX((window.innerWidth / 2 - localPos.x) / gameStore.zoomFactor);\n gameStore.increasePanY((window.innerHeight / 2 - localPos.y) / gameStore.zoomFactor);\n layerManager.invalidate();\n sendClientOptions();\n }\n}\n\nexport const gameManager = new GameManager();\n(window).gameManager = gameManager;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"visible\":_vm.visible,\"mask\":false},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_c('div',[_vm._v(\"Initiative\")]),_c('div',{staticClass:\"header-close\",on:{\"click\":function($event){_vm.visible = false}}},[_c('i',{staticClass:\"far fa-window-close\"})])])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('draggable',{attrs:{\"id\":\"initiative-list\",\"options\":{setData: _vm.fakeSetData, disabled: !_vm.$store.state.game.IS_DM}},on:{\"change\":_vm.updateOrder},model:{value:(_vm.data),callback:function ($$v) {_vm.data=$$v},expression:\"data\"}},[_vm._l((_vm.data),function(actor){return [_c('div',{key:actor.uuid,staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"align-items\":\"flex-end\"}},[_c('div',{staticClass:\"initiative-actor\",class:{'initiative-selected': _vm.currentActor === actor.uuid},style:({'cursor': _vm.$store.state.game.IS_DM && 'move'}),on:{\"mouseenter\":function($event){_vm.toggleHighlight(actor, true)},\"mouseleave\":function($event){_vm.toggleHighlight(actor, false)}}},[(actor.has_img)?[_c('img',{attrs:{\"src\":actor.source,\"width\":\"30px\",\"height\":\"30px\"}})]:[_c('span',{staticStyle:{\"width\":\"auto\"}},[_vm._v(_vm._s(actor.source))])],_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy.number\",value:(actor.initiative),expression:\"actor.initiative\",modifiers:{\"lazy\":true,\"number\":true}}],class:{'notAllowed': !_vm.owns(actor)},attrs:{\"type\":\"text\",\"placeholder\":\"value\",\"disabled\":!_vm.owns(actor)},domProps:{\"value\":(actor.initiative)},on:{\"change\":[function($event){_vm.$set(actor, \"initiative\", _vm._n($event.target.value))},function($event){_vm.syncInitiative(actor)}],\"blur\":function($event){_vm.$forceUpdate()}}}),_c('div',{staticClass:\"initiative-effects-icon\",class:{'notAllowed': !_vm.owns(actor)},staticStyle:{\"opacity\":\"0.6\"},on:{\"click\":function($event){_vm.createEffect(actor, _vm.getDefaultEffect(), true)}}},[_c('i',{staticClass:\"fas fa-stopwatch\"}),(actor.effects)?[_vm._v(_vm._s(actor.effects.length))]:[_vm._v(\"0\")]],2),_c('div',{class:{'notAllowed': !_vm.owns(actor)},style:({'opacity': actor.visible ? '1.0' : '0.3'}),on:{\"click\":function($event){_vm.toggleOption(actor, 'visible')}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('div',{class:{'notAllowed': !_vm.owns(actor)},style:({'opacity': actor.group ? '1.0' : '0.3'}),on:{\"click\":function($event){_vm.toggleOption(actor, 'group')}}},[_c('i',{staticClass:\"fas fa-users\"})]),_c('div',{class:{'notAllowed': !_vm.owns(actor)},style:({'opacity': _vm.owns(actor) ? '1.0' : '0.3'}),on:{\"click\":function($event){_vm.removeInitiative(actor.uuid, true, true)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})])],2),(actor.effects)?_c('div',{staticClass:\"initiative-effect\"},_vm._l((actor.effects),function(effect){return _c('div',{key:effect.uuid},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(effect.name),expression:\"effect.name\"}],attrs:{\"type\":\"text\",\"size\":effect.name.length || 1},domProps:{\"value\":(effect.name)},on:{\"change\":function($event){_vm.updateEffect(actor.uuid, effect, true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(effect, \"name\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(effect.turns),expression:\"effect.turns\"}],attrs:{\"type\":\"text\",\"size\":effect.turns.toString().length || 1},domProps:{\"value\":(effect.turns)},on:{\"change\":function($event){_vm.updateEffect(actor.uuid, effect, true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(effect, \"turns\", $event.target.value)}}})])})):_vm._e()])]})],2),_c('div',{attrs:{\"id\":\"initiative-bar\"}},[_c('div',{attrs:{\"id\":\"initiative-round\"}},[_vm._v(\"Round \"+_vm._s(_vm.roundCounter))]),_c('div',{staticStyle:{\"display\":\"flex\"}}),_c('div',{staticClass:\"initiative-bar-button\",class:{'notAllowed': !_vm.$store.state.game.IS_DM},on:{\"click\":function($event){_vm.setRound(0, true); _vm.setTurn(_vm.data[0].uuid, true)}}},[_c('i',{staticClass:\"fas fa-sync-alt\"})]),_c('div',{staticClass:\"initiative-bar-button\",class:{'notAllowed': !_vm.$store.state.game.IS_DM},on:{\"click\":_vm.nextTurn}},[_c('i',{staticClass:\"fas fa-chevron-right\"})])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=template&id=ccaf03d6&scoped=true&\"","\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class LoadComponent extends Vue {\n message = \"Loading...\";\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport axios, { AxiosError, AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Route } from \"vue-router\";\n\nimport { coreStore } from \"@/core/store\";\n\nComponent.registerHooks([\"beforeRouteEnter\"]);\n\n@Component\nexport default class Dashboard extends Vue {\n owned = [];\n joined = [];\n error = \"\";\n\n newSessionName = \"\";\n\n beforeRouteEnter(to: Route, from: Route, next: ({}) => {}) {\n axios\n .get(\"/api/rooms\")\n .then((response: AxiosResponse) => {\n next((vm: this) => {\n vm.owned = response.data.owned;\n vm.joined = response.data.joined;\n });\n })\n .catch((err: AxiosError) => {\n next((vm: this) => {\n vm.error = err.message;\n });\n });\n }\n\n createRoom(event: Event) {\n axios\n .post(\"/api/rooms\", {\n name: this.newSessionName,\n })\n .then((response: AxiosResponse) => {\n this.$router.push(`/game/${coreStore.username}/${this.newSessionName}`);\n })\n .catch((err: AxiosError) => {\n this.error = err.message;\n });\n }\n}\n","import { render, staticRenderFns } from \"./confirm.vue?vue&type=template&id=1883e207&scoped=true&\"\nimport script from \"./confirm.vue?vue&type=script&lang=ts&\"\nexport * from \"./confirm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./confirm.vue?vue&type=style&index=0&id=1883e207&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1883e207\",\n null\n \n)\n\ncomponent.options.__file = \"confirm.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.selected)?_c('div',{staticClass:\"tool-detail\",style:({'--detailRight': _vm.detailRight, '--detailArrow': _vm.detailArrow})},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.IS_DM),expression:\"IS_DM\"}]},[_vm._v(\"Mode\")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.IS_DM),expression:\"IS_DM\"}],staticClass:\"selectgroup\"},_vm._l((_vm.modes),function(mode){return _c('div',{key:mode,staticClass:\"option\",class:{'option-selected': _vm.modeSelect === mode},on:{\"click\":function($event){_vm.modeSelect = mode}}},[_vm._v(_vm._s(mode))])})),_c('div',[_vm._v(\"Shape\")]),_c('div',{staticClass:\"selectgroup\"},_vm._l((_vm.shapes),function(shape){return _c('div',{key:shape,staticClass:\"option\",class:{'option-selected': _vm.shapeSelect === shape},on:{\"click\":function($event){_vm.shapeSelect = shape}}},[_c('i',{staticClass:\"fas\",class:'fa-' + shape})])})),_c('div',[_vm._v(\"Colours\")]),_c('div',{staticClass:\"selectgroup\"},[_c('color-picker',{staticClass:\"option\",attrs:{\"color\":_vm.fillColour},on:{\"update:color\":function($event){_vm.fillColour=$event}}}),_c('color-picker',{staticClass:\"option\",attrs:{\"color\":_vm.borderColour},on:{\"update:color\":function($event){_vm.borderColour=$event}}})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shapeSelect === 'paint-brush'),expression:\"shapeSelect === 'paint-brush'\"}]},[_vm._v(\"Brush size\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.brushSize),expression:\"brushSize\"},{name:\"show\",rawName:\"v-show\",value:(_vm.shapeSelect === 'paint-brush'),expression:\"shapeSelect === 'paint-brush'\"}],staticStyle:{\"max-width\":\"100px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.brushSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.brushSize=$event.target.value}}})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=template&id=5c4191ca&scoped=true&\"","import Vue from \"vue\";\nexport const EventBus = new Vue();\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"menuContainer\"}},[_c('div',{ref:\"rm\",style:({\n left: _vm.visible.settings ? '200px' : '0',\n top: _vm.visible.locations ? '100px' : '0'\n }),attrs:{\"id\":\"radialmenu\"}},[_c('div',{staticClass:\"rm-wrapper\"},[_c('div',{staticClass:\"rm-toggler\"},[_c('ul',{staticClass:\"rm-list\",class:{ 'rm-list-dm': _vm.IS_DM }},[(_vm.IS_DM)?_c('li',{staticClass:\"rm-item\",attrs:{\"id\":\"rm-locations\"},on:{\"click\":function($event){_vm.visible.locations = !_vm.visible.locations}}},[_vm._m(0)]):_vm._e(),_c('li',{staticClass:\"rm-item\",attrs:{\"id\":\"rm-settings\"},on:{\"click\":function($event){_vm.visible.settings = !_vm.visible.settings}}},[_vm._m(1)])])]),_vm._m(2)])]),_c('transition',{attrs:{\"name\":\"settings\"},on:{\"enter\":function($event){_vm.$refs.rm.style.transition = 'left 500ms'}}},[(_vm.visible.settings)?_c('div',{ref:\"settings\",attrs:{\"id\":\"menu\"},on:{\"click\":_vm.settingsClick}},[_c('div',{staticStyle:{\"width\":\"200px\",\"height\":\"90%\",\"overflow-y\":\"auto\",\"overflow-x\":\"hidden\"}},[(_vm.IS_DM)?[_c('button',{staticClass:\"accordion\"},[_vm._v(\"Assets\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('a',{staticClass:\"actionButton\",attrs:{\"href\":\"/assets\",\"target\":\"blank\",\"title\":\"Open asset manager\"}},[_c('i',{staticClass:\"fas fa-external-link-alt\"})]),_c('div',{staticClass:\"directory\",attrs:{\"id\":\"menu-tokens\"}},[_c('asset-node',{attrs:{\"asset\":_vm.assets}}),(!_vm.assets)?_c('div',[_vm._v(\"No assets\")]):_vm._e()],1)]),_c('button',{staticClass:\"accordion\"},[_vm._v(\"Notes\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('div',{staticClass:\"accordion-subpanel\",attrs:{\"id\":\"menu-notes\"}},[_c('a',{staticClass:\"actionButton\",on:{\"click\":_vm.createNote}},[_c('i',{staticClass:\"far fa-plus-square\"})]),_vm._l((_vm.notes),function(note){return _c('div',{key:note.uuid,staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){_vm.openNote(note)}}},[_vm._v(_vm._s(note.title || \"[?]\"))])}),(!_vm.notes.length)?_c('div',[_vm._v(\"No notes\")]):_vm._e()],2)]),_c('button',{staticClass:\"accordion\"},[_vm._v(\"DM Options\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('div',{staticClass:\"accordion-subpanel\"},[_c('label',{attrs:{\"for\":\"useGridInput\"}},[_vm._v(\"Use grid:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.useGrid),expression:\"useGrid\"}],attrs:{\"id\":\"useGridInput\",\"type\":\"checkbox\",\"checked\":\"checked\"},domProps:{\"checked\":Array.isArray(_vm.useGrid)?_vm._i(_vm.useGrid,null)>-1:(_vm.useGrid)},on:{\"change\":function($event){var $$a=_vm.useGrid,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.useGrid=$$a.concat([$$v]))}else{$$i>-1&&(_vm.useGrid=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.useGrid=$$c}}}}),_c('label',{attrs:{\"for\":\"useFOWInput\"}},[_vm._v(\"Fill entire canvas with FOW:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.fullFOW),expression:\"fullFOW\"}],attrs:{\"id\":\"useFOWInput\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.fullFOW)?_vm._i(_vm.fullFOW,null)>-1:(_vm.fullFOW)},on:{\"change\":function($event){var $$a=_vm.fullFOW,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.fullFOW=$$a.concat([$$v]))}else{$$i>-1&&(_vm.fullFOW=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.fullFOW=$$c}}}}),_c('label',{attrs:{\"for\":\"fowOpacity\"}},[_vm._v(\"FOW opacity:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.fowOpacity),expression:\"fowOpacity\",modifiers:{\"number\":true}}],attrs:{\"id\":\"fowOpacity\",\"type\":\"number\",\"min\":\"0\",\"max\":\"1\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.fowOpacity)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.fowOpacity=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('label',{attrs:{\"for\":\"fowLOS\"}},[_vm._v(\"Only show lights in LoS:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.fowLOS),expression:\"fowLOS\"}],attrs:{\"id\":\"fowLOS\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.fowLOS)?_vm._i(_vm.fowLOS,null)>-1:(_vm.fowLOS)},on:{\"change\":function($event){var $$a=_vm.fowLOS,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.fowLOS=$$a.concat([$$v]))}else{$$i>-1&&(_vm.fowLOS=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.fowLOS=$$c}}}}),_c('label',{attrs:{\"for\":\"unitSizeInput\"}},[_vm._v(\"Unit Size (in ft.):\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.unitSize),expression:\"unitSize\",modifiers:{\"number\":true}}],attrs:{\"id\":\"unitSizeInput\",\"type\":\"number\"},domProps:{\"value\":(_vm.unitSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.unitSize=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('label',{attrs:{\"for\":\"gridSizeInput\"}},[_vm._v(\"Grid Size (in pixels):\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.gridSize),expression:\"gridSize\",modifiers:{\"number\":true}}],attrs:{\"id\":\"gridSizeInput\",\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.gridSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.gridSize=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('label',{attrs:{\"for\":\"invitation\"}},[_vm._v(\"Invitation Code:\")]),_c('input',{attrs:{\"id\":\"invitation\",\"type\":\"text\",\"readonly\":\"readonly\"},domProps:{\"value\":_vm.invitationCode}})])])]:_vm._e(),_c('button',{staticClass:\"accordion\"},[_vm._v(\"Client Options\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('div',{staticClass:\"accordion-subpanel\"},[_c('label',{attrs:{\"for\":\"gridColour\"}},[_vm._v(\"Grid Colour:\")]),_c('color-picker',{attrs:{\"id\":\"gridColour\",\"color\":_vm.gridColour},on:{\"update:color\":function($event){_vm.gridColour=$event}}}),_c('label',{attrs:{\"for\":\"fowColour\"}},[_vm._v(\"FOW Colour:\")]),_c('color-picker',{attrs:{\"id\":\"fowColour\",\"color\":_vm.fowColour},on:{\"update:color\":function($event){_vm.fowColour=$event}}}),_c('label',{attrs:{\"for\":\"rulerColour\"}},[_vm._v(\"Ruler Colour:\")]),_c('color-picker',{attrs:{\"id\":\"rulerColour\",\"color\":_vm.rulerColour},on:{\"update:color\":function($event){_vm.rulerColour=$event}}})],1)])],2),_c('router-link',{staticClass:\"accordion\",staticStyle:{\"text-decoration\":\"none\",\"display\":\"inline-block\",\"position\":\"absolute\",\"bottom\":\"0\"},attrs:{\"to\":\"/dashboard\"}},[_vm._v(\"Exit\")])],1):_vm._e()]),_c('transition',{attrs:{\"name\":\"locations\"},on:{\"enter\":function($event){_vm.$refs.rm.style.transition = 'top 500ms'}}},[(_vm.IS_DM && _vm.visible.locations)?_c('div',{attrs:{\"id\":\"locations-menu\"}},[_c('div',[_vm._l((_vm.locations),function(location){return _c('div',{key:location,on:{\"click\":function($event){_vm.changeLocation(location)}}},[_vm._v(_vm._s(location))])}),_c('div',{on:{\"click\":_vm.createLocation}},[_c('i',{staticClass:\"fas fa-plus\"})])],2)]):_vm._e()]),_c('img',{attrs:{\"id\":\"dragImage\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"#\"}},[_c('i',{staticClass:\"far fa-compass\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"#\"}},[_c('i',{staticClass:\"fas fa-cog\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"rm-topper\"},[_c('i',{staticClass:\"icon-share-alt\"})])}]\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=template&id=081515c4&scoped=true&\"","import { GlobalPoint } from \"@/game/geom\";\nimport { BaseRect } from \"@/game/shapes/baserect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class Rect extends BaseRect {\n type = \"rect\";\n constructor(topleft: GlobalPoint, w: number, h: number, fillColour?: string, strokeColour?: string, uuid?: string) {\n super(topleft, w, h, fillColour, strokeColour, uuid);\n }\n asDict() {\n return super.getBaseDict();\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n if (this.fillColour === \"fog\") ctx.fillStyle = getFogColour();\n else ctx.fillStyle = this.fillColour;\n const z = gameStore.zoomFactor;\n const loc = g2l(this.refPoint);\n ctx.fillRect(loc.x, loc.y, this.w * z, this.h * z);\n if (this.strokeColour !== \"rgba(0, 0, 0, 0)\") {\n ctx.strokeStyle = this.strokeColour;\n ctx.lineWidth = 5;\n ctx.strokeRect(loc.x, loc.y, this.w * z, this.h * z);\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=script&lang=ts&\"","import { Ray, Vector } from \"@/game/geom\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Settings } from \"@/game/settings\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lx, g2ly } from \"@/game/units\";\n\nexport class FOWPlayersLayer extends Layer {\n isVisionLayer: boolean = true;\n\n draw(): void {\n if (!this.valid) {\n const ctx = this.ctx;\n\n if (!gameStore.fowLOS || Settings.skipPlayerFOW) {\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n this.valid = true;\n return;\n }\n\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n const originalOperation = ctx.globalCompositeOperation;\n\n ctx.fillStyle = \"rgba(0, 0, 0, 1)\";\n\n // For the DM this is done at the end of this function. TODO: why the split up ???\n // This was done in commit be1e65cff1e7369375fe11cfa1643fab1d11beab.\n if (!gameStore.IS_DM) super.draw(!gameStore.fullFOW);\n\n // Then cut out all the player vision auras\n const maxLength = ctx.canvas.width + ctx.canvas.height;\n for (const tokenId of gameStore.ownedtokens) {\n ctx.beginPath();\n let lastArcAngle = -1;\n const token = layerManager.UUIDMap.get(tokenId);\n if (token === undefined) continue;\n const center = token.center();\n const lcenter = g2l(center);\n\n for (let angle = 0; angle < 2 * Math.PI; angle += (Settings.angleSteps / 2 / 180) * Math.PI) {\n const cos = Math.cos(angle);\n const sin = Math.sin(angle);\n // Check if there is a hit with one of the nearby light blockers.\n const lightRay = new Ray(center, new Vector(cos, sin));\n const hitResult = gameStore.BV.intersect(lightRay);\n\n // We can move on to the next angle if nothing was hit.\n if (!hitResult.hit) {\n // If an earlier hit caused the aura to leave the arc, we need to go back to the arc\n if (lastArcAngle === -1) {\n // Draw a line from the last non arc location back to the arc\n ctx.lineTo(lcenter.x + maxLength * cos, lcenter.y + maxLength * sin);\n // Set the start of a new arc beginning at the current angle\n lastArcAngle = angle;\n }\n continue;\n }\n // If hit , first finish any ongoing arc, then move to the intersection point\n if (lastArcAngle !== -1) {\n ctx.arc(lcenter.x, lcenter.y, maxLength, lastArcAngle, angle);\n lastArcAngle = -1;\n }\n ctx.lineTo(g2lx(hitResult.intersect.x), g2ly(hitResult.intersect.y));\n }\n\n // Finish the final arc.\n if (lastArcAngle !== -1) ctx.arc(lcenter.x, lcenter.y, maxLength, lastArcAngle, 2 * Math.PI);\n else ctx.closePath();\n ctx.fill();\n }\n\n // For the players this is done at the beginning of this function. TODO: why the split up ???\n // This was done in commit be1e65cff1e7369375fe11cfa1643fab1d11beab.\n if (gameStore.IS_DM) super.draw(!gameStore.fullFOW);\n\n ctx.globalCompositeOperation = originalOperation;\n }\n }\n}\n","import { socket } from \"@/game/api/socket\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { createShapeFromDict } from \"@/game/shapes/utils\";\nimport { gameStore } from \"@/game/store\";\nimport { g2lx, g2ly } from \"@/game/units\";\n\nexport class Layer {\n name: string;\n width: number;\n height: number;\n canvas: HTMLCanvasElement;\n ctx: CanvasRenderingContext2D;\n\n selectable: boolean = false;\n playerEditable: boolean = false;\n isVisionLayer: boolean = false;\n\n // When set to false, the layer will be redrawn on the next tick\n valid: boolean = false;\n // The collection of shapes that this layer contains.\n // These are ordered on a depth basis.\n shapes: Shape[] = [];\n\n // Collection of shapes that are currently selected\n selection: Shape[] = [];\n\n // Extra selection highlighting settings\n selectionColor = \"#CC0000\";\n selectionWidth = 2;\n\n constructor(canvas: HTMLCanvasElement, name: string) {\n this.canvas = canvas;\n this.name = name;\n this.width = canvas.width;\n this.height = canvas.height;\n this.ctx = canvas.getContext(\"2d\")!;\n }\n\n invalidate(skipLightUpdate: boolean): void {\n this.valid = false;\n if (!skipLightUpdate) {\n layerManager.invalidateLight();\n }\n }\n\n addShape(shape: Shape, sync: boolean, temporary?: boolean): void {\n if (temporary === undefined) temporary = false;\n shape.layer = this.name;\n this.shapes.push(shape);\n layerManager.UUIDMap.set(shape.uuid, shape);\n shape.checkVisionSources();\n shape.setMovementBlock(shape.movementObstruction);\n if (shape.ownedBy(gameStore.username) && shape.isToken) gameStore.ownedtokens.push(shape.uuid);\n if (shape.annotation.length) gameStore.annotations.push(shape.uuid);\n if (sync) socket.emit(\"Shape.Add\", { shape: shape.asDict(), temporary });\n this.invalidate(!sync);\n }\n\n setShapes(shapes: ServerShape[]): void {\n for (const serverShape of shapes) {\n const shape = createShapeFromDict(serverShape);\n if (shape === undefined) {\n console.log(`Shape with unknown type ${serverShape.type_} could not be added`);\n return;\n }\n this.addShape(shape, false, false);\n }\n this.clearSelection(); // TODO: Fix keeping selection on those items that are not moved.\n this.invalidate(false);\n }\n\n removeShape(shape: Shape, sync: boolean, temporary?: boolean) {\n if (temporary === undefined) temporary = false;\n this.shapes.splice(this.shapes.indexOf(shape), 1);\n\n if (sync) socket.emit(\"Shape.Remove\", { shape, temporary });\n const lsI = gameStore.visionSources.findIndex(ls => ls.shape === shape.uuid);\n const lbI = gameStore.visionBlockers.findIndex(ls => ls === shape.uuid);\n\n const mbI = gameStore.movementblockers.findIndex(ls => ls === shape.uuid);\n const anI = gameStore.annotations.findIndex(ls => ls === shape.uuid);\n if (lsI >= 0) gameStore.visionSources.splice(lsI, 1);\n if (lbI >= 0) gameStore.visionBlockers.splice(lbI, 1);\n if (mbI >= 0) gameStore.movementblockers.splice(mbI, 1);\n if (anI >= 0) gameStore.annotations.splice(anI, 1);\n\n const annotationIndex = gameStore.annotations.indexOf(shape.uuid);\n if (annotationIndex >= 0) gameStore.annotations.splice(annotationIndex, 1);\n\n const ownedIndex = gameStore.ownedtokens.indexOf(shape.uuid);\n if (ownedIndex >= 0) gameStore.ownedtokens.splice(ownedIndex, 1);\n\n layerManager.UUIDMap.delete(shape.uuid);\n\n const index = this.selection.indexOf(shape);\n if (index >= 0) this.selection.splice(index, 1);\n if (lbI >= 0) gameStore.recalculateBV();\n this.invalidate(!sync);\n }\n\n clear(): void {\n this.ctx.clearRect(0, 0, this.width, this.height);\n }\n\n clearSelection(): void {\n this.selection = [];\n EventBus.$emit(\"SelectionInfo.Shape.Set\", null);\n }\n\n draw(doClear?: boolean): void {\n if (!this.valid) {\n const ctx = this.ctx;\n const ogOP = ctx.globalCompositeOperation;\n doClear = doClear === undefined ? true : doClear;\n\n if (doClear) this.clear();\n\n const state = this;\n\n // We iteratre twice over all shapes\n // First to draw the auras and a second time to draw the shapes themselves\n // Otherwise auras from one shape could be overlapping another shape itself.\n\n this.shapes.forEach(shape => {\n if (shape.options.has(\"skipDraw\") && shape.options.get(\"skipDraw\")) return;\n if (layerManager.getLayer() === undefined) return;\n if (!shape.visibleInCanvas(state.canvas)) return;\n if (state.name === \"fow\" && shape.visionObstruction && layerManager.getLayer()!.name !== state.name)\n return;\n shape.drawAuras(ctx);\n });\n this.shapes.forEach(shape => {\n if (shape.options.has(\"skipDraw\") && shape.options.get(\"skipDraw\")) return;\n if (layerManager.getLayer() === undefined) return;\n if (!shape.visibleInCanvas(state.canvas)) return;\n if (state.name === \"fow\" && shape.visionObstruction && layerManager.getLayer()!.name !== state.name)\n return;\n shape.draw(ctx);\n });\n\n if (this.selection != null) {\n ctx.fillStyle = this.selectionColor;\n ctx.strokeStyle = this.selectionColor;\n ctx.lineWidth = this.selectionWidth;\n const z = gameStore.zoomFactor;\n this.selection.forEach(sel => {\n ctx.globalCompositeOperation = sel.globalCompositeOperation;\n const bb = sel.getBoundingBox();\n // TODO: REFACTOR THIS TO Shape.drawSelection(ctx);\n ctx.strokeRect(g2lx(bb.topLeft.x), g2ly(bb.topLeft.y), bb.w * z, bb.h * z);\n\n const sw = Math.min(6, bb.w / 2);\n\n // topright\n ctx.fillRect(g2lx(bb.topRight.x - sw / 2), g2ly(bb.topLeft.y - sw / 2), sw * z, sw * z);\n // topleft\n ctx.fillRect(g2lx(bb.topLeft.x - sw / 2), g2ly(bb.topLeft.y - sw / 2), sw * z, sw * z);\n // botright\n ctx.fillRect(g2lx(bb.topRight.x - sw / 2), g2ly(bb.botLeft.y - sw / 2), sw * z, sw * z);\n // botleft\n ctx.fillRect(g2lx(bb.topLeft.x - sw / 2), g2ly(bb.botLeft.y - sw / 2), sw * z, sw * z);\n });\n }\n ctx.globalCompositeOperation = ogOP;\n this.valid = true;\n }\n }\n\n moveShapeOrder(shape: Shape, destinationIndex: number, sync: boolean): void {\n const oldIdx = this.shapes.indexOf(shape);\n if (oldIdx === destinationIndex) return;\n this.shapes.splice(oldIdx, 1);\n this.shapes.splice(destinationIndex, 0, shape);\n if (sync) socket.emit(\"Shape.Order.Set\", { shape: shape.asDict(), index: destinationIndex });\n this.invalidate(true);\n }\n\n onShapeMove(shape: Shape): void {\n shape.checkVisionSources();\n if (shape.visionObstruction) gameStore.recalculateBV();\n this.invalidate(false);\n }\n}\n","import { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\n\nexport function scrollZoom(e: WheelEvent) {\n if (!e.target || !(e.target).tagName || (e.target).tagName !== \"CANVAS\") return;\n let delta: number;\n delta = Math.sign(e.deltaY) * -1;\n gameStore.updateZoom({ newZoomValue: gameStore.zoomFactor + 0.1 * delta, zoomLocation: l2g(getMouse(e)) });\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=style&index=0&id=62c91cd3&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=style&index=0&id=62c91cd3&scoped=true&lang=css&\"","import { GlobalPoint, LocalPoint, Vector } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\nimport { g2lx, g2ly, l2g, l2gx, l2gy } from \"@/game/units\";\n\nexport abstract class BaseRect extends Shape {\n w: number;\n h: number;\n constructor(topleft: GlobalPoint, w: number, h: number, fillColour?: string, strokeColour?: string, uuid?: string) {\n super(topleft, fillColour, strokeColour, uuid);\n this.w = w;\n this.h = h;\n }\n getBaseDict() {\n return Object.assign(super.getBaseDict(), {\n width: this.w,\n height: this.h,\n });\n }\n getBoundingBox() {\n return new BoundingRect(this.refPoint, this.w, this.h);\n }\n contains(point: GlobalPoint): boolean {\n return (\n this.refPoint.x <= point.x &&\n this.refPoint.x + this.w >= point.x &&\n this.refPoint.y <= point.y &&\n this.refPoint.y + this.h >= point.y\n );\n }\n inCorner(point: GlobalPoint, corner: string) {\n switch (corner) {\n case \"ne\":\n return (\n this.refPoint.x + this.w - 3 <= point.x &&\n point.x <= this.refPoint.x + this.w + 3 &&\n this.refPoint.y - 3 <= point.y &&\n point.y <= this.refPoint.y + 3\n );\n case \"nw\":\n return (\n this.refPoint.x - 3 <= point.x &&\n point.x <= this.refPoint.x + 3 &&\n this.refPoint.y - 3 <= point.y &&\n point.y <= this.refPoint.y + 3\n );\n case \"sw\":\n return (\n this.refPoint.x - 3 <= point.x &&\n point.x <= this.refPoint.x + 3 &&\n this.refPoint.y + this.h - 3 <= point.y &&\n point.y <= this.refPoint.y + this.h + 3\n );\n case \"se\":\n return (\n this.refPoint.x + this.w - 3 <= point.x &&\n point.x <= this.refPoint.x + this.w + 3 &&\n this.refPoint.y + this.h - 3 <= point.y &&\n point.y <= this.refPoint.y + this.h + 3\n );\n default:\n return false;\n }\n }\n getCorner(point: GlobalPoint): string | undefined {\n if (this.inCorner(point, \"ne\")) return \"ne\";\n else if (this.inCorner(point, \"nw\")) return \"nw\";\n else if (this.inCorner(point, \"se\")) return \"se\";\n else if (this.inCorner(point, \"sw\")) return \"sw\";\n }\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {\n if (centerPoint === undefined) return this.refPoint.add(new Vector(this.w / 2, this.h / 2));\n this.refPoint.x = centerPoint.x - this.w / 2;\n this.refPoint.y = centerPoint.y - this.h / 2;\n }\n\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n if (super.visibleInCanvas(canvas)) return true;\n const coreVisible = !(\n g2lx(this.refPoint.x) > canvas.width ||\n g2ly(this.refPoint.y) > canvas.height ||\n g2lx(this.refPoint.x + this.w) < 0 ||\n g2ly(this.refPoint.y + this.h) < 0\n );\n if (coreVisible) return true;\n return false;\n }\n snapToGrid() {\n const gs = gameStore.gridSize;\n const center = this.center();\n const mx = center.x;\n const my = center.y;\n\n let targetX;\n let targetY;\n\n if ((this.w / gs) % 2 === 0) {\n targetX = Math.round(mx / gs) * gs - this.w / 2;\n } else {\n targetX = (Math.round((mx + gs / 2) / gs) - 1 / 2) * gs - this.w / 2;\n }\n if ((this.h / gs) % 2 === 0) {\n targetY = Math.round(my / gs) * gs - this.h / 2;\n } else {\n targetY = (Math.round((my + gs / 2) / gs) - 1 / 2) * gs - this.h / 2;\n }\n\n const delta = calculateDelta(new Vector(targetX - this.refPoint.x, targetY - this.refPoint.y), this);\n this.refPoint = this.refPoint.add(delta);\n\n this.invalidate(false);\n }\n resizeToGrid() {\n const gs = gameStore.gridSize;\n this.refPoint.x = Math.round(this.refPoint.x / gs) * gs;\n this.refPoint.y = Math.round(this.refPoint.y / gs) * gs;\n this.w = Math.max(Math.round(this.w / gs) * gs, gs);\n this.h = Math.max(Math.round(this.h / gs) * gs, gs);\n this.invalidate(false);\n }\n resize(resizedir: string, point: LocalPoint) {\n const z = gameStore.zoomFactor;\n if (resizedir === \"nw\") {\n this.w = g2lx(this.refPoint.x) + this.w * z - point.x;\n this.h = g2ly(this.refPoint.y) + this.h * z - point.y;\n this.refPoint = l2g(point);\n } else if (resizedir === \"ne\") {\n this.w = point.x - g2lx(this.refPoint.x);\n this.h = g2ly(this.refPoint.y) + this.h * z - point.y;\n this.refPoint.y = l2gy(point.y);\n } else if (resizedir === \"se\") {\n this.w = point.x - g2lx(this.refPoint.x);\n this.h = point.y - g2ly(this.refPoint.y);\n } else if (resizedir === \"sw\") {\n this.w = g2lx(this.refPoint.x) + this.w * z - point.x;\n this.h = point.y - g2ly(this.refPoint.y);\n this.refPoint.x = l2gx(point.x);\n }\n this.w /= z;\n this.h /= z;\n\n if (this.w < 0) {\n this.refPoint.x += this.w;\n this.w = Math.abs(this.w);\n }\n if (this.h < 0) {\n this.refPoint.y += this.h;\n this.h = Math.abs(this.h);\n }\n }\n}\n","import { render, staticRenderFns } from \"./select.vue?vue&type=template&id=da20cb86&\"\nimport script from \"./select.vue?vue&type=script&lang=ts&\"\nexport * from \"./select.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"select.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=61eb1455&scoped=true&\"\nimport script from \"./main.vue?vue&type=script&lang=ts&\"\nexport * from \"./main.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./main.vue?vue&type=style&index=0&id=61eb1455&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61eb1455\",\n null\n \n)\n\ncomponent.options.__file = \"main.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SelectContext',{ref:\"selectcontext\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=template&id=da20cb86&\"","import { partition } from \"@/core/utils\";\nimport { BoundingNode, InteriorNode, LeafNode } from \"@/game/bvh/node\";\nimport { GlobalPoint, Ray } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { g2lx, g2ly, g2lz } from \"@/game/units\";\nimport { gameStore } from \"../store\";\n\ninterface BuildInfo {\n index: number;\n bbox: BoundingRect;\n center: BoundingRect;\n}\ninterface LinearBHVNode {\n bbox: BoundingRect;\n nPrimitives: number;\n}\ninterface LinearLeafNode extends LinearBHVNode {\n primitivesOffset: number;\n}\ninterface LinearInternalNode extends LinearBHVNode {\n secondChildOffset: number;\n dimension: number;\n}\n\nexport class BoundingVolume {\n totalNodes = 0;\n buildData: BuildInfo[] = [];\n shapes: string[];\n orderedPrims: string[] = [];\n root: BoundingNode | null;\n nodes: LinearBHVNode[] = [];\n\n offset = 0;\n\n constructor(shapes: string[]) {\n this.shapes = shapes;\n if (this.shapes.length === 0) {\n this.root = null;\n this.nodes = [];\n return;\n }\n for (let i = 0; i < shapes.length; i++) {\n const shape = layerManager.UUIDMap.get(shapes[i])!;\n try {\n this.buildData.push({\n index: i,\n bbox: shape.getBoundingBox(),\n center: new BoundingRect(shape.center(), 0, 0),\n });\n } catch {\n console.warn(`Shape ${shape.type} - ${shape.uuid} cannot be used for vision blocking !!!`);\n shape.visionObstruction = false;\n gameStore.visionBlockers.splice(i, 1);\n throw new Error();\n }\n }\n this.root = this.recursiveBuild(0, shapes.length);\n this.compact();\n }\n\n draw() {\n const ctx = layerManager.getLayer(\"draw\")!.ctx;\n for (const node of this.nodes) {\n const b = node.bbox;\n ctx.strokeRect(g2lx(b.topLeft.x), g2ly(b.topLeft.y), g2lz(b.w), g2lz(b.h));\n }\n }\n\n recursiveBuild(start: number, end: number): BoundingNode {\n this.totalNodes++;\n let bbox = this.buildData[start].bbox;\n for (let i = start + 1; i < end; i++) bbox = bbox.union(this.buildData[i].bbox);\n const nPrimitives = end - start;\n if (nPrimitives === 1) {\n return this.createLeaf(start, end, nPrimitives, bbox);\n } else {\n let centroidBbox = this.buildData[start].center;\n for (let i = start; i < end; i++) centroidBbox = centroidBbox.union(this.buildData[i].center);\n const dimension = centroidBbox.getMaxExtent();\n if (centroidBbox.botRight.get(dimension) === centroidBbox.topLeft.get(dimension)) {\n return this.createLeaf(start, end, nPrimitives, bbox);\n }\n // Use shitty Middle thingy until an introselect js algo is added\n const pMid = 0.5 * (centroidBbox.topLeft.get(dimension) + centroidBbox.botRight.get(dimension));\n const partitionedData = partition(\n this.buildData.slice(start, end),\n (n: BuildInfo) => n.center.center().get(dimension) < pMid,\n );\n const flattened = ([]).concat.apply([], partitionedData);\n if (partitionedData[0].length === 0 || partitionedData[1].length === 0) console.log(\"EMPTY\");\n this.buildData.splice(start, flattened.length, ...flattened);\n const mid = partitionedData[0].length + start;\n return new InteriorNode(dimension, this.recursiveBuild(start, mid), this.recursiveBuild(mid, end));\n }\n }\n\n intersect(ray: Ray, stopOnFirstHit?: boolean) {\n if (this.nodes.length === 0) return { hit: false, intersect: ray.get(0), tMin: 0, tMax: ray.tMax };\n if (stopOnFirstHit === undefined) stopOnFirstHit = false;\n // Initialize return values\n let hit = false;\n let tMin = 0;\n let tMax = ray.tMax;\n\n // Initialize work variables\n let todoOffset = 0;\n let nodeNum = 0;\n const todo: number[] = [];\n\n // Precalculate intersection vectors\n const invDir = ray.direction.inverse();\n const dirIsNegative = [invDir.x < 0, invDir.y < 0];\n\n while (true) {\n const node = this.nodes[nodeNum];\n\n const i = node.bbox.intersectP(ray, invDir, dirIsNegative);\n if (i.hit) {\n if (node.nPrimitives > 0) {\n // TODO: nPrimitives is currently always 1 , this could be generalised\n // for (let i=0; i < node.nPrimitives; i++) {\n // if (this.shapes[(node).primitivesOffset + i])\n // }\n hit = true;\n tMin = ray.tMax = i.min;\n tMax = i.max;\n if (todoOffset === 0 || stopOnFirstHit) break;\n nodeNum = todo[--todoOffset];\n } else {\n if (dirIsNegative[(node).dimension]) {\n todo[todoOffset++] = nodeNum + 1;\n nodeNum = (node).secondChildOffset;\n } else {\n todo[todoOffset++] = (node).secondChildOffset;\n nodeNum++;\n }\n }\n } else {\n if (todoOffset === 0) break;\n nodeNum = todo[--todoOffset];\n }\n }\n return { hit, intersect: ray.get(tMin), tMin, tMax };\n }\n\n private compact() {\n this.offset = 0;\n if (this.root !== null) this.flatten(this.root);\n }\n\n private flatten(node: BoundingNode) {\n const index = this.offset;\n const myOffset = this.offset++;\n if (node.nPrimitives === 0) {\n this.flatten(node.children[0]);\n const secondOffset = this.flatten(node.children[1]);\n this.nodes[index] = {\n bbox: node.bbox,\n dimension: (node).dimension,\n nPrimitives: 0,\n secondChildOffset: secondOffset,\n };\n } else {\n this.nodes[index] = {\n bbox: node.bbox,\n primitivesOffset: (node).firstPrimOffset,\n nPrimitives: node.nPrimitives,\n };\n }\n return myOffset;\n }\n\n private createLeaf(start: number, end: number, nPrimitives: number, bbox: BoundingRect) {\n const size = this.orderedPrims.length;\n for (let i = start; i < end; i++) this.orderedPrims.push(this.shapes[this.buildData[i].index]);\n return new LeafNode(size, nPrimitives, bbox);\n }\n}\n","\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ContextMenu from \"@/core/components/contextmenu.vue\";\n\nimport { socket } from \"@/game/api/socket\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { gameStore } from \"@/game/store\";\nimport { l2gx, l2gy } from \"@/game/units\";\n\n@Component({\n components: {\n ContextMenu,\n },\n})\nexport default class SelectContext extends Vue {\n visible = false;\n x = 0;\n y = 0;\n\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n\n open(event: MouseEvent) {\n this.visible = true;\n this.x = event.pageX;\n this.y = event.pageY;\n this.$nextTick(() => this.$children[0].$el.focus());\n }\n close() {\n this.visible = false;\n }\n bringPlayers() {\n if (!gameStore.IS_DM) return;\n socket.emit(\"Players.Bring\", { x: l2gx(this.x), y: l2gy(this.y) });\n this.close();\n }\n createToken() {\n (this.$parent.$parent.$refs.createtokendialog).open(this.x, this.y);\n this.close();\n }\n showInitiative() {\n EventBus.$emit(\"Initiative.Show\");\n this.close();\n }\n}\n","import Axios from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Route } from \"vue-router\";\n\nimport { coreStore } from \"@/core/store\";\n\n@Component({ template: \"\" })\nexport default class Logout extends Vue {\n beforeRouteEnter(to: Route, from: Route, next: ({}) => {}) {\n Axios.post(\"/api/logout\").then(() => {\n coreStore.setAuthenticated(false);\n coreStore.setUsername(\"\");\n next({ path: \"/auth/login\" });\n });\n }\n}\n","import { getModule, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\n\nimport { rootStore } from \"@/store\";\n\nexport interface CoreState {\n authenticated: boolean;\n initialized: boolean;\n}\n\n@Module({ dynamic: true, store: rootStore, name: \"core\" })\nclass CoreStore extends VuexModule {\n authenticated = false;\n initialized = false;\n username = \"\";\n\n @Mutation\n setAuthenticated(auth: boolean) {\n this.authenticated = auth;\n }\n\n @Mutation\n setInitialized(init: boolean) {\n this.initialized = init;\n }\n\n @Mutation\n setUsername(username: string) {\n this.username = username;\n }\n}\n\nexport const coreStore = getModule(CoreStore);\n","import Vue from \"vue\";\n\nimport App from \"@/App.vue\";\nimport { router } from \"@/router\";\nimport { rootStore } from \"@/store\";\n\nVue.config.productionTip = false;\nVue.config.devtools = true;\nVue.config.performance = true;\n\nexport const app = new Vue({\n router,\n store: rootStore,\n render: h => h(App),\n}).$mount(\"#app\");\n\n(window).app = app;\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\n@Component({\n props: [\"visible\", \"left\", \"top\"],\n})\nexport default class ContextMenu extends Vue {}\n","import Axios, { AxiosError, AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Route } from \"vue-router\";\n\n@Component({ template: \"\" })\nexport default class Initiative extends Vue {\n beforeRouteEnter(to: Route, from: Route, next: ({}) => {}) {\n Axios.post(\"/api/invite\", {\n code: to.params.code,\n })\n .then((response: AxiosResponse) => {\n next({ path: response.data.sessionUrl });\n })\n .catch((error: AxiosError) => {\n console.error(\"Invitation code could not be redeemed\");\n next({ path: \"/dashboard\" });\n });\n }\n}\n","import { render, staticRenderFns } from \"./prompt.vue?vue&type=template&id=0602c2e6&scoped=true&\"\nimport script from \"./prompt.vue?vue&type=script&lang=ts&\"\nexport * from \"./prompt.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prompt.vue?vue&type=style&index=0&id=0602c2e6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0602c2e6\",\n null\n \n)\n\ncomponent.options.__file = \"prompt.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=6bbf3b79&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=6bbf3b79&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./edit_dialog.vue?vue&type=template&id=078b3b76&scoped=true&\"\nimport script from \"./edit_dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit_dialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./edit_dialog.vue?vue&type=style&index=0&id=078b3b76&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"078b3b76\",\n null\n \n)\n\ncomponent.options.__file = \"edit_dialog.vue\"\nexport default component.exports","export class Settings {\n static angleSteps = 4;\n static drawAngleLines = false;\n static drawFirstLightHit = false;\n static skipPlayerFOW = false;\n static skipLightFOW = false;\n\n static tempFill: string = \"fog\";\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport axios, { AxiosError, AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { coreStore } from \"@/core/store\";\n\n@Component\nexport default class Login extends Vue {\n username = \"\";\n password = \"\";\n error = \"\";\n\n login() {\n axios\n .post(\"/api/login\", {\n username: this.username,\n password: this.password,\n })\n .then((response: AxiosResponse) => {\n coreStore.setUsername(this.username);\n coreStore.setAuthenticated(true);\n this.$router.push(this.$route.query.redirect || \"/\");\n })\n .catch((error: AxiosError) => {\n if (error.response) this.error = error.response.statusText;\n else this.error = \"Unknown error occured\";\n });\n }\n\n register() {\n axios\n .post(\"/api/register\", {\n username: this.username,\n password: this.password,\n })\n .then((response: AxiosResponse) => {\n coreStore.setUsername(this.username);\n coreStore.setAuthenticated(true);\n this.$router.push(this.$route.query.redirect || \"/\");\n })\n .catch((error: AxiosError) => {\n if (error.response) this.error = error.response.statusText;\n else this.error = \"Unknown error occured\";\n });\n }\n\n focusin(event: { target?: { nextElementSibling?: HTMLElement } }) {\n if (event.target && event.target.nextElementSibling) {\n const span = event.target.nextElementSibling;\n span.style.opacity = \"0\";\n }\n }\n\n focusout(event: { target?: { nextElementSibling?: HTMLElement } }) {\n if (event.target && event.target.nextElementSibling) {\n const span = event.target.nextElementSibling;\n span.style.opacity = \"1\";\n }\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\")}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=template&id=1e034b42&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"modal\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"mask\",class:{'modal-mask': _vm.mask, 'dialog-mask': !_vm.mask},on:{\"click\":_vm.close,\"dragover\":function($event){$event.preventDefault();return _vm.dragOver($event)}}},[_c('div',{ref:\"container\",staticClass:\"modal-container\",on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._t(\"header\",null,{dragStart:_vm.dragStart,dragEnd:_vm.dragEnd}),_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=template&id=12ed61ba&scoped=true&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=script&lang=ts&\"","import Component from \"vue-class-component\";\n\nimport Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { socket } from \"@/game/api/socket\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Line } from \"@/game/shapes/line\";\nimport { Text } from \"@/game/shapes/text\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\n\n@Component\nexport class RulerTool extends Tool {\n name = \"Ruler\";\n active = false;\n startPoint: GlobalPoint | null = null;\n ruler: Line | null = null;\n text: Text | null = null;\n onMouseDown(event: MouseEvent) {\n const layer = layerManager.getLayer(\"draw\");\n if (layer === undefined) {\n console.log(\"No draw layer!\");\n return;\n }\n this.active = true;\n this.startPoint = l2g(getMouse(event));\n this.ruler = new Line(this.startPoint, this.startPoint, 3, gameStore.rulerColour);\n this.text = new Text(this.startPoint.clone(), \"\", \"bold 20px serif\");\n this.ruler.owners.push(gameStore.username);\n this.text.owners.push(gameStore.username);\n layer.addShape(this.ruler, true, true);\n layer.addShape(this.text, true, true);\n }\n onMouseMove(event: MouseEvent) {\n if (!this.active || this.ruler === null || this.startPoint === null || this.text === null) return;\n\n const layer = layerManager.getLayer(\"draw\");\n if (layer === undefined) {\n console.log(\"No draw layer!\");\n return;\n }\n const endPoint = l2g(getMouse(event));\n\n this.ruler.endPoint = endPoint;\n socket.emit(\"Shape.Update\", { shape: this.ruler!.asDict(), redraw: true, temporary: true });\n\n const diffsign = Math.sign(endPoint.x - this.startPoint.x) * Math.sign(endPoint.y - this.startPoint.y);\n const xdiff = Math.abs(endPoint.x - this.startPoint.x);\n const ydiff = Math.abs(endPoint.y - this.startPoint.y);\n const label =\n Math.round((Math.sqrt(xdiff ** 2 + ydiff ** 2) * gameStore.unitSize) / gameStore.gridSize) + \" ft\";\n const angle = Math.atan2(diffsign * ydiff, xdiff);\n const xmid = Math.min(this.startPoint.x, endPoint.x) + xdiff / 2;\n const ymid = Math.min(this.startPoint.y, endPoint.y) + ydiff / 2;\n this.text.refPoint.x = xmid;\n this.text.refPoint.y = ymid;\n this.text.text = label;\n this.text.angle = angle;\n socket.emit(\"Shape.Update\", { shape: this.text.asDict(), redraw: true, temporary: true });\n layer.invalidate(true);\n }\n onMouseUp(event: MouseEvent) {\n if (!this.active || this.ruler === null || this.startPoint === null || this.text === null) return;\n\n const layer = layerManager.getLayer(\"draw\");\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = false;\n\n layer.removeShape(this.ruler, true, true);\n layer.removeShape(this.text, true, true);\n layer.invalidate(true);\n this.ruler = this.startPoint = this.text = null;\n }\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=style&index=0&id=081515c4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=style&index=0&id=081515c4&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./modal.vue?vue&type=template&id=12ed61ba&scoped=true&\"\nimport script from \"./modal.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./modal.vue?vue&type=style&index=0&id=12ed61ba&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"12ed61ba\",\n null\n \n)\n\ncomponent.options.__file = \"modal.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=style&index=0&id=66ccc134&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=style&index=0&id=66ccc134&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=style&index=0&id=61eb1455&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=style&index=0&id=61eb1455&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"focusin\":_vm.focusin,\"focusout\":_vm.focusout,\"submit\":function($event){$event.preventDefault();return _vm.login($event)}}},[_c('fieldset',[_c('legend',{staticClass:\"legend\"},[_vm._v(\"PlanarAlly\")]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],attrs:{\"type\":\"text\",\"name\":\"username\",\"placeholder\":\"Username\",\"required\":\"\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value}}}),_vm._m(0)]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"type\":\"password\",\"name\":\"password\",\"placeholder\":\"Password\",\"required\":\"\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}}),_vm._m(1)]),_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('button',{staticStyle:{\"visibility\":\"hidden\",\"display\":\"none\"},attrs:{\"type\":\"submit\",\"name\":\"login\"}}),_c('button',{staticClass:\"submit\",attrs:{\"type\":\"button\",\"name\":\"register\",\"title\":\"Register\"},on:{\"click\":_vm.register}},[_c('i',{staticClass:\"fas fa-plus\"})]),_vm._m(2)])]),(_vm.error)?_c('div',{staticClass:\"feedback\"},[_c('p',{staticClass:\"error\"},[_c('strong',[_vm._v(\"Error:\")]),_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \")])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fas fa-user-circle\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fas fa-lock\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"submit\",attrs:{\"type\":\"submit\",\"name\":\"login\",\"title\":\"Login\"}},[_c('i',{staticClass:\"fas fa-arrow-right\"})])}]\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=template&id=6bbf3b79&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component({\n components: {\n Modal,\n \"color-picker\": ColorPicker,\n },\n})\nexport default class EditDialog extends Vue {\n @Prop() shape!: Shape;\n\n visible = false;\n updated() {\n this.addEmpty();\n }\n addEmpty() {\n if (this.shape.owners[this.shape.owners.length - 1] !== \"\") this.shape.owners.push(\"\");\n if (\n !this.shape.trackers.length ||\n this.shape.trackers[this.shape.trackers.length - 1].name !== \"\" ||\n this.shape.trackers[this.shape.trackers.length - 1].value !== 0\n )\n this.shape.trackers.push({ uuid: uuidv4(), name: \"\", value: 0, maxvalue: 0, visible: false });\n if (\n !this.shape.auras.length ||\n this.shape.auras[this.shape.auras.length - 1].name !== \"\" ||\n this.shape.auras[this.shape.auras.length - 1].value !== 0\n )\n this.shape.auras.push({\n uuid: uuidv4(),\n name: \"\",\n value: 0,\n dim: 0,\n visionSource: false,\n colour: \"rgba(0,0,0,0)\",\n visible: false,\n });\n }\n updateShape(redraw: boolean) {\n socket.emit(\"Shape.Update\", { shape: this.shape.asDict(), redraw, temporary: false });\n if (redraw) layerManager.invalidate();\n this.addEmpty();\n }\n setToken(event: { target: HTMLInputElement }) {\n this.shape.setIsToken(event.target.checked);\n this.updateShape(true);\n }\n setVisionBlocker(event: { target: HTMLInputElement }) {\n this.shape.checkVisionSources();\n this.updateShape(true);\n }\n setMovementBlocker(event: { target: HTMLInputElement }) {\n this.shape.setMovementBlock(event.target.checked);\n this.updateShape(false);\n }\n updateAnnotation(event: { target: HTMLInputElement }) {\n const hadAnnotation = this.shape.annotation !== \"\";\n this.shape.annotation = event.target.value;\n if (this.shape.annotation !== \"\" && !hadAnnotation) {\n gameStore.annotations.push(this.shape.uuid);\n if (layerManager.hasLayer(\"draw\")) layerManager.getLayer(\"draw\")!.invalidate(true);\n } else if (this.shape.annotation === \"\" && hadAnnotation) {\n gameStore.annotations.splice(gameStore.annotations.findIndex(an => an === this.shape.uuid));\n if (layerManager.hasLayer(\"draw\")) layerManager.getLayer(\"draw\")!.invalidate(true);\n }\n this.updateShape(false);\n }\n updateOwner(event: { target: HTMLInputElement }, oldValue: string) {\n const ownerIndex = this.shape.owners.findIndex(o => o === oldValue);\n if (ownerIndex >= 0) this.shape.owners.splice(ownerIndex, 1, event.target.value);\n else this.shape.owners.push(event.target.value);\n this.updateShape(gameStore.fowLOS);\n }\n removeOwner(value: string) {\n const ownerIndex = this.shape.owners.findIndex(o => o === value);\n this.shape.owners.splice(ownerIndex, 1);\n this.updateShape(gameStore.fowLOS);\n }\n removeTracker(uuid: string) {\n this.shape.trackers = this.shape.trackers.filter(tr => tr.uuid !== uuid);\n this.updateShape(false);\n }\n removeAura(uuid: string) {\n this.shape.auras = this.shape.auras.filter(au => au.uuid !== uuid);\n this.shape.checkVisionSources();\n this.updateShape(true);\n }\n updateAuraVisionSource(aura: Aura) {\n aura.visionSource = !aura.visionSource;\n const i = gameStore.visionSources.findIndex(ls => ls.aura === aura.uuid);\n if (aura.visionSource && i === -1) gameStore.visionSources.push({ shape: this.shape.uuid, aura: aura.uuid });\n else if (!aura.visionSource && i >= 0) gameStore.visionSources.splice(i, 1);\n // aura.lastPath = undefined;\n layerManager.invalidateLight();\n this.updateShape(true);\n }\n updateAuraColour(aura: Aura, colour: string) {\n const layer = layerManager.getLayer(this.shape.layer);\n if (layer === undefined) return;\n layer.invalidate(!aura.visionSource);\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport Modal from \"@/core/components/modals/modal.vue\";\n\n@Component({\n components: {\n Modal,\n },\n})\nexport default class ConfirmDialog extends Vue {\n $refs!: {\n confirm: HTMLButtonElement;\n };\n\n visible = false;\n yes = \"Yes\";\n no = \"No\";\n title = \"\";\n\n resolve = (ok: boolean) => {};\n reject = () => {};\n\n confirm() {\n this.resolve(true);\n this.close();\n }\n deny() {\n this.resolve(false);\n this.close();\n }\n close() {\n this.reject();\n this.visible = false;\n this.title = \"\";\n }\n open(title: string, yes = \"yes\", no = \"no\"): Promise {\n this.yes = yes;\n this.no = no;\n this.title = title;\n\n this.visible = true;\n this.$nextTick(() => {\n this.$refs.confirm.focus();\n });\n\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n","import { render, staticRenderFns } from \"./map.vue?vue&type=template&id=f93438ce&\"\nimport script from \"./map.vue?vue&type=script&lang=ts&\"\nexport * from \"./map.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"map.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ContextMenu',{attrs:{\"visible\":_vm.visible,\"left\":_vm.left + 'px',\"top\":_vm.top + 'px'},on:{\"close\":_vm.close}},[_c('li',{on:{\"click\":_vm.rename}},[_vm._v(\"Rename\")]),_c('li',{on:{\"click\":_vm.remove}},[_vm._v(\"Remove\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=template&id=d4f084a4&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"visible\":_vm.visible},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_vm._v(_vm._s(_vm.title))])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('button',{ref:\"confirm\",on:{\"click\":_vm.confirm}},[_vm._v(_vm._s(_vm.yes))]),(!!_vm.no)?_c('button',{on:{\"click\":_vm.deny}},[_vm._v(_vm._s(_vm.no))]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=template&id=1883e207&scoped=true&\"","\n\n\n\n\n\n\n\nimport Vue from \"vue\";\n\nimport Component from \"vue-class-component\";\n\nimport AssetManager from \"@/assetManager/manager.vue\";\nimport ContextMenu from \"@/core/components/contextmenu.vue\";\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\n\nimport { socket } from \"@/assetManager/socket\";\nimport { assetStore } from \"@/assetManager/store\";\nimport { getComponent, getRef } from \"@/core/utils\";\n\n@Component({\n components: {\n ContextMenu,\n },\n})\nexport default class AssetContextMenu extends Vue {\n visible = false;\n left = 0;\n top = 0;\n open(event: MouseEvent, inode: number) {\n if (!assetStore.selected.includes(inode)) getComponent().select(event, inode);\n\n this.visible = true;\n this.left = event.pageX;\n this.top = event.pageY;\n this.$nextTick(() => {\n this.$children[0].$el.focus();\n });\n }\n close() {\n this.visible = false;\n }\n rename() {\n if (assetStore.selected.length !== 1) return;\n const asset = assetStore.idMap.get(assetStore.selected[0])!;\n\n getRef(\"prompt\")\n .prompt(\"New name:\", `Renaming ${asset.name}`)\n .then(\n (name: string) => {\n socket.emit(\"Asset.Rename\", {\n asset: asset.id,\n name,\n });\n asset.name = name;\n getComponent().$forceUpdate();\n },\n () => {},\n );\n this.close();\n }\n remove() {\n if (assetStore.selected.length === 0) return;\n getRef(\"confirm\")\n .open(\"Are you sure you wish to remove this?\")\n .then(\n (result: boolean) => {\n if (result) {\n for (const sel of assetStore.selected) {\n socket.emit(\"Asset.Remove\", sel);\n if (assetStore.isFile(sel)) assetStore.files.splice(assetStore.files.indexOf(sel), 1);\n else assetStore.folders.splice(assetStore.folders.indexOf(sel), 1);\n }\n assetStore.selected = [];\n }\n },\n () => {},\n );\n this.close();\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./manager.vue?vue&type=template&id=d1ce9748&\"\nimport script from \"./manager.vue?vue&type=script&lang=ts&\"\nexport * from \"./manager.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./manager.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"manager.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tool.vue?vue&type=template&id=1e034b42&\"\nimport script from \"./tool.vue?vue&type=script&lang=ts&\"\nexport * from \"./tool.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./tool.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"tool.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{attrs:{\"visible\":_vm.visible},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_vm._v(_vm._s(_vm.title))])}}])},[_c('div',{staticClass:\"modal-body\"},[_vm._v(\"\\n \"+_vm._s(_vm.question)+\"\\n \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.answer),expression:\"answer\"}],ref:\"answer\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.answer)},on:{\"keyup\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.submit($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.answer=$event.target.value}}})]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{on:{\"click\":_vm.submit}},[_vm._v(\"Submit\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=template&id=0602c2e6&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport draggable from \"vuedraggable\";\nVue.component(\"draggable\", draggable);\n\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { InitiativeData, InitiativeEffect } from \"@/game/comm/types/general\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n Modal,\n draggable,\n },\n})\nexport default class Initiative extends Vue {\n visible = false;\n data: InitiativeData[] = [];\n currentActor: string | null = null;\n roundCounter = 0;\n\n mounted() {\n EventBus.$on(\"Initiative.Clear\", this.clear);\n EventBus.$on(\"Initiative.Remove\", (data: string) => this.removeInitiative(data));\n EventBus.$on(\"Initiative.Show\", () => (this.visible = true));\n\n socket.on(\"Initiative.Set\", (data: InitiativeData[]) => {\n this.data = data;\n });\n socket.on(\"Initiative.Turn.Update\", (data: string) => this.setTurn(data, false));\n socket.on(\"Initiative.Round.Update\", (data: number) => this.setRound(data, false));\n socket.on(\"Initiative.Effect.New\", (data: { actor: string; effect: InitiativeEffect }) => {\n const actor = this.getActor(data.actor);\n if (actor === undefined) return;\n this.createEffect(actor, data.effect, false);\n });\n socket.on(\"Initiative.Effect.Update\", (data: { actor: string; effect: InitiativeEffect }) =>\n this.updateEffect(data.actor, data.effect, false),\n );\n }\n\n beforeDestroy() {\n EventBus.$off();\n }\n\n // Utilities\n clear() {\n this.data = [];\n this.currentActor = null;\n }\n getActor(actorId: string) {\n return this.data.find(a => a.uuid === actorId);\n }\n contains(uuid: string) {\n return this.data.some(d => d.uuid === uuid);\n }\n owns(actor: InitiativeData): boolean {\n if (gameStore.IS_DM) return true;\n const shape = layerManager.UUIDMap.get(actor.uuid);\n // Shapes that are unknown to this client are hidden from this client but owned by other clients\n if (shape === undefined) return false;\n return shape.owners.includes(gameStore.username);\n }\n getDefaultEffect() {\n return { uuid: uuidv4(), name: \"New Effect\", turns: 10 };\n }\n fakeSetData(dataTransfer: DataTransfer) {\n dataTransfer.setData(\"Hack\", \"\");\n }\n syncInitiative(data: InitiativeData | { uuid: string }) {\n socket.emit(\"Initiative.Update\", data);\n }\n // Events\n addInitiative(data: InitiativeData) {\n const d = this.data.findIndex(a => a.uuid === data.uuid);\n if (d >= 0) return;\n if (data.initiative === undefined) data.initiative = 0;\n this.syncInitiative(data);\n }\n removeInitiative(uuid: string) {\n const d = this.data.findIndex(a => a.uuid === uuid);\n if (d < 0 || this.data[d].group) return;\n this.syncInitiative({ uuid });\n // Remove highlight\n const shape = layerManager.UUIDMap.get(uuid);\n if (shape === undefined) return;\n if (shape.showHighlight) {\n shape.showHighlight = false;\n layerManager.getLayer(shape.layer)!.invalidate(true);\n }\n }\n updateOrder() {\n if (!gameStore.IS_DM) return;\n socket.emit(\"Initiative.Set\", this.data.map(d => d.uuid));\n }\n setTurn(actorId: string | null, sync: boolean) {\n if (!gameStore.IS_DM && sync) return;\n this.currentActor = actorId;\n const actor = this.data.find(a => a.uuid === actorId);\n if (actor === undefined) return;\n if (actor.effects) {\n for (let e = actor.effects.length - 1; e >= 0; e--) {\n if (actor.effects[e].turns <= 0) actor.effects.splice(e, 1);\n else actor.effects[e].turns--;\n }\n }\n if (sync) socket.emit(\"Initiative.Turn.Update\", actorId);\n }\n setRound(round: number, sync: boolean) {\n if (!gameStore.IS_DM && sync) return;\n this.roundCounter = round;\n if (sync) socket.emit(\"Initiative.Round.Update\", round);\n }\n nextTurn() {\n if (!gameStore.IS_DM) return;\n const order = this.data;\n const next = order[(order.findIndex(a => a.uuid === this.currentActor) + 1) % order.length];\n if (this.data[0].uuid === next.uuid) this.setRound(this.roundCounter + 1, true);\n this.setTurn(next.uuid, true);\n }\n toggleHighlight(actor: InitiativeData, show: boolean) {\n const shape = layerManager.UUIDMap.get(actor.uuid);\n if (shape === undefined) return;\n shape.showHighlight = show;\n layerManager.getLayer(shape.layer)!.invalidate(true);\n }\n toggleOption(actor: InitiativeData, option: \"visible\" | \"group\") {\n if (!this.owns(actor)) return;\n actor[option] = !actor[option];\n this.syncInitiative(actor);\n }\n createEffect(actor: InitiativeData, effect: InitiativeEffect, sync: boolean) {\n if (!this.owns(actor)) return;\n actor.effects.push(effect);\n if (sync) socket.emit(\"Initiative.Effect.New\", { actor: actor.uuid, effect });\n }\n syncEffect(actor: InitiativeData, effect: InitiativeEffect) {\n if (!this.owns(actor)) return;\n socket.emit(\"Initiative.Effect.Update\", { actor: actor.uuid, effect });\n }\n updateEffect(actorId: string, effect: InitiativeEffect, sync: boolean) {\n const actor = this.data.find(a => a.uuid === actorId);\n if (actor === undefined) return;\n const effectIndex = actor.effects.findIndex(e => e.uuid === effect.uuid);\n if (effectIndex === undefined) return;\n actor.effects[effectIndex] = effect;\n if (sync) this.syncEffect(actor, effect);\n else this.$forceUpdate();\n }\n}\n","import { render, staticRenderFns } from \"./selection_info.vue?vue&type=template&id=32cec914&scoped=true&\"\nimport script from \"./selection_info.vue?vue&type=script&lang=ts&\"\nexport * from \"./selection_info.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./selection_info.vue?vue&type=style&index=0&id=32cec914&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"32cec914\",\n null\n \n)\n\ncomponent.options.__file = \"selection_info.vue\"\nexport default component.exports","// import Vuex from \"vuex\";\nimport { Action, getModule, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\n\nimport { AssetList } from \"@/core/comm/types\";\nimport { socket } from \"@/game/api/socket\";\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { BoundingVolume } from \"@/game/bvh/bvh\";\nimport { Note } from \"@/game/comm/types/general\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { g2l, l2g } from \"@/game/units\";\nimport { rootStore } from \"@/store\";\n\nexport interface GameState {\n boardInitialized: boolean;\n}\n\n@Module({ dynamic: true, store: rootStore, name: \"game\", namespaced: true })\nclass GameStore extends VuexModule {\n // This is a limited view of selectable layers that is used to generate the layer selection UI and ability to switch layers\n // See the layerManager for proper layer management tools\n layers: string[] = [];\n selectedLayerIndex = -1;\n boardInitialized = false;\n\n locations: string[] = [];\n\n assets: AssetList = {};\n\n notes: Note[] = [];\n\n IS_DM = false;\n gridSize = 50;\n username = \"\";\n roomName = \"\";\n roomCreator = \"\";\n invitationCode = \"\";\n\n gridColour = \"rgba(0, 0, 0, 1)\";\n fowColour = \"rgba(0, 0, 0, 1)\";\n rulerColour = \"rgba(255, 0, 0, 1)\";\n panX = 0;\n panY = 0;\n zoomFactor = 1;\n\n unitSize = 5;\n useGrid = true;\n fullFOW = false;\n fowOpacity = 0.3;\n fowLOS = false;\n locationName = \"\";\n\n visionSources: { shape: string; aura: string }[] = [];\n visionBlockers: string[] = [];\n annotations: string[] = [];\n movementblockers: string[] = [];\n ownedtokens: string[] = [];\n\n BV = Object.freeze(new BoundingVolume([]));\n\n get selectedLayer() {\n return this.layers[this.selectedLayerIndex];\n }\n\n @Mutation\n setBoardInitialized(boardInitialized: boolean) {\n this.boardInitialized = boardInitialized;\n }\n\n @Mutation\n setDM(isDM: boolean) {\n this.IS_DM = isDM;\n }\n\n @Mutation\n setUsername(username: string) {\n this.username = username;\n }\n\n @Mutation\n setRoomName(name: string) {\n this.roomName = name;\n }\n\n @Mutation\n setRoomCreator(name: string) {\n this.roomCreator = name;\n }\n\n @Mutation\n setInvitationCode(code: string) {\n this.invitationCode = code;\n }\n\n @Mutation\n addLayer(name: string) {\n this.layers.push(name);\n if (this.selectedLayerIndex === -1) this.selectedLayerIndex = this.layers.indexOf(name);\n }\n\n @Mutation\n selectLayer(data: { name: string; sync: boolean }) {\n const index = this.layers.indexOf(data.name);\n if (index >= 0) this.selectedLayerIndex = index;\n if (data.sync) socket.emit(\"Client.ActiveLayer.Set\", data.name);\n }\n\n @Mutation\n newNote(data: { note: Note; sync: boolean }) {\n this.notes.push(data.note);\n if (data.sync) socket.emit(\"Note.New\", data.note);\n }\n\n @Mutation\n setAssets(assets: AssetList) {\n this.assets = assets;\n }\n\n @Mutation\n setLocations(locations: string[]) {\n this.locations = locations;\n }\n\n @Mutation\n resetLayerInfo() {\n this.layers = [];\n this.selectedLayerIndex = -1;\n }\n\n @Mutation\n recalculateBV() {\n // TODO: This needs to be cleaned up..\n if (this.boardInitialized) {\n let success = false;\n let tries = 0;\n while (!success) {\n success = true;\n try {\n this.BV = Object.freeze(new BoundingVolume(this.visionBlockers));\n } catch (error) {\n success = false;\n tries++;\n if (tries > 10) {\n console.error(error);\n return;\n }\n }\n }\n }\n }\n\n @Mutation\n updateZoom(data: { newZoomValue: number; zoomLocation: GlobalPoint }) {\n if (data.newZoomValue === this.zoomFactor) return;\n if (data.newZoomValue < 0.1) data.newZoomValue = 0.1;\n if (data.newZoomValue > 5) data.newZoomValue = 5;\n\n const oldLoc = g2l(data.zoomLocation);\n\n this.zoomFactor = data.newZoomValue;\n\n const newLoc = l2g(oldLoc);\n\n // Change the pan settings to keep the zoomLocation in the same exact location before and after the zoom.\n const diff = newLoc.subtract(data.zoomLocation);\n this.panX += diff.x;\n this.panY += diff.y;\n\n layerManager.invalidate();\n sendClientOptions();\n }\n\n @Mutation\n setGridColour(data: { colour: string; sync: boolean }) {\n this.gridColour = data.colour;\n layerManager.getGridLayer()!.drawGrid();\n if (data.sync) socket.emit(\"Client.Options.Set\", { gridColour: data.colour });\n }\n\n @Mutation\n setFOWColour(data: { colour: string; sync: boolean }) {\n this.fowColour = data.colour;\n layerManager.invalidate();\n if (data.sync) socket.emit(\"Client.Options.Set\", { fowColour: data.colour });\n }\n\n @Mutation\n setRulerColour(data: { colour: string; sync: boolean }) {\n this.rulerColour = data.colour;\n if (data.sync) socket.emit(\"Client.Options.Set\", { rulerColour: data.colour });\n }\n\n @Mutation\n setPanX(x: number) {\n this.panX = x;\n }\n\n @Mutation\n setPanY(y: number) {\n this.panY = y;\n }\n\n @Mutation\n setZoomFactor(zoomFactor: number) {\n this.zoomFactor = zoomFactor;\n }\n\n @Mutation\n increasePanX(increase: number) {\n this.panX += increase;\n }\n\n @Mutation\n increasePanY(increase: number) {\n this.panY += increase;\n }\n\n @Mutation\n setUnitSize(data: { unitSize: number; sync: boolean }) {\n if (this.unitSize !== data.unitSize && data.unitSize > 0 && data.unitSize < Infinity) {\n this.unitSize = data.unitSize;\n layerManager.invalidate();\n if (data.sync) socket.emit(\"Location.Options.Set\", { unit_size: data.unitSize });\n }\n }\n\n @Mutation\n setUseGrid(data: { useGrid: boolean; sync: boolean }) {\n if (this.useGrid !== data.useGrid) {\n this.useGrid = data.useGrid;\n const gridLayer = layerManager.getGridLayer()!;\n if (data.useGrid) gridLayer.canvas.style.display = \"block\";\n else gridLayer.canvas.style.display = \"none\";\n if (data.sync) socket.emit(\"Location.Options.Set\", { use_grid: data.useGrid });\n }\n }\n\n @Mutation\n setGridSize(data: { gridSize: number; sync: boolean }): void {\n if (this.gridSize !== data.gridSize && data.gridSize > 0) {\n this.gridSize = data.gridSize;\n const gridLayer = layerManager.getGridLayer();\n if (gridLayer !== undefined) gridLayer.drawGrid();\n if (data.sync) socket.emit(\"Gridsize.Set\", data.gridSize);\n }\n }\n\n @Mutation\n setFullFOW(data: { fullFOW: boolean; sync: boolean }) {\n if (this.fullFOW !== data.fullFOW) {\n this.fullFOW = data.fullFOW;\n layerManager.invalidateLight();\n if (data.sync) socket.emit(\"Location.Options.Set\", { full_fow: data.fullFOW });\n }\n }\n\n @Mutation\n setFOWOpacity(data: { fowOpacity: number; sync: boolean }) {\n this.fowOpacity = data.fowOpacity;\n layerManager.invalidateLight();\n if (data.sync) socket.emit(\"Location.Options.Set\", { fow_opacity: data.fowOpacity });\n }\n\n @Mutation\n setLineOfSight(data: { fowLOS: boolean; sync: boolean }) {\n if (this.fowLOS !== data.fowLOS) {\n this.fowLOS = data.fowLOS;\n layerManager.invalidate();\n if (data.sync) socket.emit(\"Location.Options.Set\", { fow_los: data.fowLOS });\n }\n }\n\n @Mutation\n setLocationName(name: string) {\n this.locationName = name;\n }\n\n @Mutation\n updateNote(data: { note: Note; sync: boolean }) {\n const actualNote = this.notes.find(n => n.uuid === data.note.uuid);\n if (actualNote === undefined) return;\n actualNote.title = data.note.title;\n actualNote.text = data.note.text;\n if (data.sync) socket.emit(\"Note.Update\", actualNote);\n }\n\n @Mutation\n removeNote(data: { note: Note; sync: boolean }) {\n this.notes = this.notes.filter(n => n.uuid !== data.note.uuid);\n if (data.sync) socket.emit(\"Note.Remove\", data.note.uuid);\n }\n\n @Action\n clear() {\n (this.context.state).visionSources = [];\n (this.context.state).visionBlockers = [];\n (this.context.state).ownedtokens = [];\n (this.context.state).annotations = [];\n (this.context.state).movementblockers = [];\n this.context.commit(\"recalculateBV\");\n }\n}\n\nexport const gameStore = getModule(GameStore);\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=script&lang=ts&\"","import { ServerAura } from \"@/game/comm/types/shapes\";\n\nexport const aurasFromServer = (auras: ServerAura[]): Aura[] => {\n const result = [];\n for (const aura of auras) {\n result.push({\n uuid: aura.uuid,\n visionSource: aura.vision_source,\n visible: aura.visible,\n name: aura.name,\n value: aura.value,\n dim: aura.dim,\n colour: aura.colour,\n });\n }\n return result;\n};\n\nexport const aurasToServer = (auras: Aura[]): ServerAura[] => {\n const result = [];\n for (const aura of auras) {\n result.push({\n uuid: aura.uuid,\n vision_source: aura.visionSource,\n visible: aura.visible,\n name: aura.name,\n value: aura.value,\n dim: aura.dim,\n colour: aura.colour,\n });\n }\n return result;\n};\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./note.vue?vue&type=template&id=7a3669fd&scoped=true&\"\nimport script from \"./note.vue?vue&type=script&lang=ts&\"\nexport * from \"./note.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./note.vue?vue&type=style&index=0&id=7a3669fd&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a3669fd\",\n null\n \n)\n\ncomponent.options.__file = \"note.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./initiative.vue?vue&type=template&id=ccaf03d6&scoped=true&\"\nimport script from \"./initiative.vue?vue&type=script&lang=ts&\"\nexport * from \"./initiative.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./initiative.vue?vue&type=style&index=0&id=ccaf03d6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ccaf03d6\",\n null\n \n)\n\ncomponent.options.__file = \"initiative.vue\"\nexport default component.exports","import { ServerLayer } from \"@/game/comm/types/general\";\nimport { FOWLayer } from \"@/game/layers/fow\";\nimport { FOWPlayersLayer } from \"@/game/layers/fowplayers\";\nimport { GridLayer } from \"@/game/layers/grid\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\n\nexport function createLayer(layerInfo: ServerLayer) {\n // Create canvas element\n const canvas = document.createElement(\"canvas\");\n canvas.style.zIndex = layerManager.layers.length.toString();\n canvas.width = window.innerWidth;\n canvas.height = window.innerHeight;\n\n // Create the Layer instance\n let layer: Layer;\n if (layerInfo.type_ === \"grid\") layer = new GridLayer(canvas, layerInfo.name);\n else if (layerInfo.type_ === \"fow\") layer = new FOWLayer(canvas, layerInfo.name);\n else if (layerInfo.type_ === \"fow-players\") layer = new FOWPlayersLayer(canvas, layerInfo.name);\n else layer = new Layer(canvas, layerInfo.name);\n layer.selectable = layerInfo.selectable;\n layer.playerEditable = layerInfo.player_editable;\n layerManager.addLayer(layer);\n\n // Add the element to the DOM\n const layers = document.getElementById(\"layers\");\n if (layers === null) {\n console.warn(\"Layers div is missing, this will prevent the main game board from loading!\");\n return;\n }\n if (layerInfo.name !== \"fow-players\") layers.appendChild(canvas);\n\n if (layerInfo.type_ === \"grid\" && layerInfo.size) gameStore.setGridSize({ gridSize: layerInfo.size, sync: false });\n // Load layer shapes\n layer.setShapes(layerInfo.shapes);\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.selected)?_c('div',{staticClass:\"tool-detail\",style:({'--detailRight': _vm.detailRight, '--detailArrow': _vm.detailArrow})},[_c('div',[_vm._v(\"#X\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.xCount),expression:\"xCount\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.xCount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.xCount=$event.target.value}}}),_c('div',[_vm._v(\"#Y\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.yCount),expression:\"yCount\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.yCount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.yCount=$event.target.value}}})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./map.vue?vue&type=template&id=f93438ce&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport Prompt from \"@/core/components/modals/prompt.vue\";\nimport EditDialog from \"@/game/ui/selection/edit_dialog.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\n\n@Component({\n components: {\n \"edit-dialog\": EditDialog,\n },\n})\nexport default class SelectionInfo extends Vue {\n shape: Shape | null = null;\n\n mounted() {\n EventBus.$on(\"SelectionInfo.Shape.Set\", (shape: Shape | null) => {\n this.shape = shape;\n });\n }\n\n beforeDestroy() {\n EventBus.$off();\n }\n\n openEditDialog() {\n (this.$refs.editDialog).visible = true;\n }\n changeValue(object: Tracker | Aura, redraw: boolean) {\n if (this.shape === null) return;\n getRef(\"prompt\")\n .prompt(`New ${object.name} value:`, `Updating ${object.name}`)\n .then(\n (value: string) => {\n if (this.shape === null) return;\n const ogValue = object.value;\n if (value[0] === \"+\" || value[0] === \"-\") object.value += parseInt(value, 10);\n else object.value = parseInt(value, 10);\n if (isNaN(object.value)) object.value = ogValue;\n socket.emit(\"Shape.Update\", { shape: this.shape.asDict(), redraw, temporary: false });\n if (redraw) layerManager.invalidate();\n },\n () => {},\n );\n }\n}\n","import { AssetList } from \"@/core/comm/types\";\nimport { socket } from \"@/game/api/socket\";\nimport { BoardInfo, Note, ServerClient, ServerLocation } from \"@/game/comm/types/general\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { createLayer } from \"@/game/layers/utils\";\nimport { gameManager } from \"@/game/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { router } from \"@/router\";\n\nsocket.on(\"connect\", () => {\n console.log(\"Connected\");\n});\nsocket.on(\"disconnect\", () => {\n console.log(\"Disconnected\");\n});\nsocket.on(\"connect_error\", (error: any) => {\n console.error(\"Could not connect to game session.\");\n router.push(\"/dashboard\");\n});\nsocket.on(\"error\", (error: any) => {\n console.error(\"Game session does not exist.\");\n router.push(\"/dashboard\");\n});\nsocket.on(\"redirect\", (destination: string) => {\n console.log(\"redirecting\");\n router.push(destination);\n});\nsocket.on(\"Room.Info.Set\", (data: { name: string; creator: string; invitationCode: string }) => {\n gameStore.setRoomName(data.name);\n gameStore.setRoomCreator(data.creator);\n gameStore.setInvitationCode(data.invitationCode);\n});\nsocket.on(\"Username.Set\", (username: string) => {\n gameStore.setUsername(username);\n gameStore.setDM(username === window.location.pathname.split(\"/\")[2]);\n});\nsocket.on(\"Client.Options.Set\", (options: ServerClient) => {\n gameStore.setGridColour({ colour: options.grid_colour, sync: false });\n gameStore.setFOWColour({ colour: options.fow_colour, sync: false });\n gameStore.setRulerColour({ colour: options.ruler_colour, sync: false });\n gameStore.setPanX(options.pan_x);\n gameStore.setPanY(options.pan_y);\n gameStore.setZoomFactor(options.zoom_factor);\n if (options.active_layer) layerManager.selectLayer(options.active_layer, false);\n if (layerManager.getGridLayer() !== undefined) layerManager.getGridLayer()!.invalidate();\n});\nsocket.on(\"Location.Set\", (data: Partial) => {\n if (data.name !== undefined) gameStore.setLocationName(data.name);\n if (data.unit_size !== undefined) gameStore.setUnitSize({ unitSize: data.unit_size, sync: false });\n if (data.use_grid !== undefined) gameStore.setUseGrid({ useGrid: data.use_grid, sync: false });\n if (data.full_fow !== undefined) gameStore.setFullFOW({ fullFOW: data.full_fow, sync: false });\n if (data.fow_opacity !== undefined) gameStore.setFOWOpacity({ fowOpacity: data.fow_opacity, sync: false });\n if (data.fow_los !== undefined) gameStore.setLineOfSight({ fowLOS: data.fow_los, sync: false });\n});\nsocket.on(\"Position.Set\", (data: { x: number; y: number }) => {\n gameManager.setCenterPosition(new GlobalPoint(data.x, data.y));\n});\nsocket.on(\"Notes.Set\", (notes: Note[]) => {\n for (const note of notes) gameStore.newNote({ note, sync: false });\n});\nsocket.on(\"Asset.List.Set\", (assets: AssetList) => {\n gameStore.setAssets(assets);\n});\nsocket.on(\"Board.Set\", (locationInfo: BoardInfo) => {\n gameStore.clear();\n gameStore.setLocations(locationInfo.locations);\n document.getElementById(\"layers\")!.innerHTML = \"\";\n gameStore.resetLayerInfo();\n layerManager.reset();\n for (const layer of locationInfo.layers) createLayer(layer);\n // Force the correct opacity render on other layers.\n layerManager.selectLayer(layerManager.getLayer()!.name, false);\n EventBus.$emit(\"Initiative.Clear\");\n gameStore.setBoardInitialized(true);\n gameStore.recalculateBV();\n});\nsocket.on(\"Gridsize.Set\", (gridSize: number) => {\n gameStore.setGridSize({ gridSize, sync: false });\n});\nsocket.on(\"Shape.Add\", (shape: ServerShape) => {\n gameManager.addShape(shape);\n});\nsocket.on(\"Shape.Remove\", (shape: ServerShape) => {\n if (!layerManager.UUIDMap.has(shape.uuid)) {\n console.log(`Attempted to remove an unknown shape`);\n return;\n }\n if (!layerManager.hasLayer(shape.layer)) {\n console.log(`Attempted to remove shape from an unknown layer ${shape.layer}`);\n return;\n }\n const layer = layerManager.getLayer(shape.layer)!;\n layer.removeShape(layerManager.UUIDMap.get(shape.uuid)!, false);\n layer.invalidate(false);\n});\nsocket.on(\"Shape.Order.Set\", (data: { shape: ServerShape; index: number }) => {\n if (!layerManager.UUIDMap.has(data.shape.uuid)) {\n console.log(`Attempted to move the shape order of an unknown shape`);\n return;\n }\n if (!layerManager.hasLayer(data.shape.layer)) {\n console.log(`Attempted to remove shape from an unknown layer ${data.shape.layer}`);\n return;\n }\n const shape = layerManager.UUIDMap.get(data.shape.uuid)!;\n const layer = layerManager.getLayer(shape.layer)!;\n layer.moveShapeOrder(shape, data.index, false);\n});\nsocket.on(\"Shape.Layer.Change\", (data: { uuid: string; layer: string }) => {\n const shape = layerManager.UUIDMap.get(data.uuid);\n if (shape === undefined) return;\n shape.moveLayer(data.layer, false);\n});\nsocket.on(\"Shape.Update\", (data: { shape: ServerShape; redraw: boolean; move: boolean }) => {\n gameManager.updateShape(data);\n});\nsocket.on(\"Temp.Clear\", (shapes: ServerShape[]) => {\n shapes.forEach(shape => {\n if (!layerManager.UUIDMap.has(shape.uuid)) {\n console.log(\"Attempted to remove an unknown temporary shape\");\n return;\n }\n if (!layerManager.hasLayer(shape.layer)) {\n console.log(`Attempted to remove shape from an unknown layer ${shape.layer}`);\n return;\n }\n const realShape = layerManager.UUIDMap.get(shape.uuid)!;\n layerManager.getLayer(shape.layer)!.removeShape(realShape, false);\n });\n});\n"],"sourceRoot":""} \ No newline at end of file diff --git a/server/static/js/app-legacy.e427aa98.js b/server/static/js/app-legacy.e427aa98.js new file mode 100644 index 000000000..61eb8f6f1 --- /dev/null +++ b/server/static/js/app-legacy.e427aa98.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var n,r,a=t[0],l=t[1],c=t[2],d=0,h=[];de.fillText(t.text,t.x,t.y)),e.restore()}contains(e){return!1}center(e){}getCorner(e){return""}visibleInCanvas(e){return!0}snapToGrid(){}resizeToGrid(){}resize(e,t){}getMaxHeight(e){const t=this.getLines(e),i=30;return i*t.length}getMaxWidth(e){const t=this.getLines(e),i=t.map(t=>e.measureText(t.text).width);return Math.max(...i)}getLines(e){const t=this.text.split("\n"),i=[],n=e.canvas.width,s=30,o=0;let r=0;for(const a of t){let t="";const l=a.split(" ");for(const a of l){const l=t+a+" ",c=e.measureText(l),u=c.width;u>n?(e.fillText(t,o,r),i.push({text:t,x:o,y:r}),t=a+" ",r+=s):t=l}i.push({text:t,x:o,y:r}),r+=s}return i}}t.Text=r},"033f":function(e,t,i){"use strict";i.r(t);var n=i("5050"),s=i("a68b");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("9b4d");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"7111f3f6",null);a.options.__file="shapecontext.vue",t["default"]=a.exports},"034f":function(e,t,i){"use strict";var n=i("64a9"),s=i.n(n);s.a},"0584":function(e,t,i){"use strict";var n=i("de21"),s=i.n(n);s.a},"0634":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("66cb")),o=n.__importDefault(i("a026")),r=n.__importDefault(i("65d9")),a=i("c345a"),l=i("60a3");let c=class extends o.default{constructor(){super(...arguments),this.display=!1,this.left=0,this.top=0,this.transparent=!1}mounted(){this.transparent=0===this.$refs.chromePicker.val.rgba.a,this.setPosition()}open(){this.display||(this.setPosition(),this.display=!0,this.$nextTick(()=>this.$children[0].$el.focus()))}updateColor(e){this.transparent=0===e.rgba.a;const t=s.default(e.rgba).toRgbString();this.$emit("update:color",t),this.$emit("input",t)}closePicker(){this.display=!1,this.$emit("change",this.color)}setPosition(){const e=this.$el.getBoundingClientRect();e.right+224>window.innerWidth?this.left=e.left-224:this.left=e.right,e.bottom+242>window.innerHeight?this.top=e.top-242:this.top=e.bottom}};n.__decorate([l.Prop(String)],c.prototype,"color",void 0),c=n.__decorate([r.default({components:{"chrome-picker":a.Chrome}})],c),t.default=c},"07f5":function(e,t,i){"use strict";i.r(t);var n=i("dbba"),s=i("d588");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("561b"),i("a21d");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"6d744362",null);a.options.__file="game.vue",t["default"]=a.exports},"0a75":function(e,t,i){},"0bc6":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("8055"));function o(e){t.socket.io.opts.query=`user=${e.params.creator}&room=${e.params.room}`,t.socket.connect()}t.socket=s.default(location.protocol+"//"+location.host+"/planarally",{autoConnect:!1}),t.createConnection=o},"0cf7":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("4aec")),a=n.__importDefault(i("a535")),l=n.__importDefault(i("cec2")),c=i("5338"),u=i("2d5b"),d=i("4a5b");let h=class extends s.default{constructor(){super(...arguments),this.path=[],this.draggingSelection=!1}get folders(){return u.assetStore.folders}get files(){return u.assetStore.files}get selected(){return u.assetStore.selected}get idMap(){return u.assetStore.idMap}get currentFolder(){return this.path.length?this.path[this.path.length-1]:u.assetStore.root}get parentFolder(){let e=this.path[this.path.length-2];return void 0===e&&(e=u.assetStore.root),e}get firstSelectedFile(){for(const e of u.assetStore.selected)if(u.assetStore.idMap.get(e).file_hash)return u.assetStore.idMap.get(e);return null}changeDirectory(e){e<0?this.path.pop():this.path.push(e),u.assetStore.clearSelected(),c.socket.emit("Folder.Get",this.currentFolder)}createDirectory(){const e=window.prompt("New folder name");null!==e&&c.socket.emit("Folder.Create",{name:e,parent:this.currentFolder})}moveInode(e,t){u.assetStore.isFile(e)?u.assetStore.files.splice(u.assetStore.files.indexOf(e),1):u.assetStore.folders.splice(u.assetStore.folders.indexOf(e),1),u.assetStore.idMap.delete(e),c.socket.emit("Inode.Move",{inode:e,target:t})}select(e,t){if(e.shiftKey&&u.assetStore.selected.length>0){const e=[...u.assetStore.files,...u.assetStore.folders],i=e.indexOf(u.assetStore.selected[u.assetStore.selected.length-1]),n=e.indexOf(t);for(let t=i;t!==n;i0&&this.upload(e.dataTransfer.files,t);this.draggingSelection=!1}prepareUpload(){document.getElementById("files").click()}upload(e,t){const i=document.getElementById("files").files;if(void 0===e){if(!i)return;e=i}void 0===t&&(t=this.currentFolder);const n=1e5;for(const s of e){const e=d.uuidv4(),i=Math.ceil(s.size/n);for(let o=0;o{c.socket.emit("Asset.Upload",{name:s.name,directory:t,data:r.result,slice:o,totalSlices:i,uuid:e})})}}}};h=n.__decorate([o.default({components:{Prompt:l.default,ConfirmDialog:a.default,AssetContextMenu:r.default},beforeRouteEnter(e,t,i){c.socket.connect(),i()},beforeRouteLeave(e,t,i){c.socket.disconnect(),i()}})],h),t.default=h},"0ddd":function(e,t,i){"use strict";i.r(t);var n=i("8577"),s=i("4bc3");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("befe");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"62c91cd3",null);a.options.__file="asset_node.vue",t["default"]=a.exports},1:function(e,t){},"104d":function(e,t,i){"use strict";var n=i("5722"),s=i.n(n);s.a},1077:function(e,t,i){"use strict";i.r(t);var n=i("d7f0"),s=i("1eee");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("cfc1");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"6bbf3b79",null);a.options.__file="login.vue",t["default"]=a.exports},1216:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("6f92"),s=i("92b1"),o=i("98ef"),r=i("4aee");function a(e,t){const i=n.layerManager.getLayer("draw");if(void 0===i)return;const o=i.ctx;o.lineJoin="round",o.lineJoin="round",o.beginPath(),o.strokeStyle=void 0===t?`rgb(${255*Math.random()}, ${255*Math.random()}, ${255*Math.random()})`:t,o.moveTo(s.g2lx(e[0][0]),s.g2ly(e[0][1]));for(const n of e)o.lineTo(s.g2lx(n[0]),s.g2ly(n[1]));o.closePath(),o.stroke()}function l(e,t){const i=n.layerManager.getLayer("draw");if(void 0===i)return;const s=i.ctx;s.lineJoin="round",s.lineJoin="round",s.beginPath(),s.strokeStyle=void 0===t?`rgb(${255*Math.random()}, ${255*Math.random()}, ${255*Math.random()})`:t,s.moveTo(e[0][0],e[0][1]);for(const n of e)s.lineTo(n[0],n[1]);s.closePath(),s.stroke()}function c(e,t){return t?e:s.g2lx(e)}function u(e,t){return t?e:s.g2ly(e)}t.drawPolygon=a,t.drawPolygonL=l;let d=0,h=0;function f(e,t,i,n,s){e.beginPath(),e.strokeStyle=n?"rgba(255, 0, 0, 0.30)":"rgba(0, 0, 0, 0.30)",e.moveTo(c(t[0],s),u(t[1],s)),e.lineTo(c(i[0],s),u(i[1],s)),e.closePath(),e.stroke()}function p(e,t=!0,i=!0){d=0,h=0;let s=0;const a=n.layerManager.getLayer("draw");if(void 0===a)return;const l=a.ctx;i&&l.clearRect(0,0,2e3,1e3),l.lineJoin="round",l.lineJoin="round";const p=new o.EdgeIterator(e);while(p.valid)p.next(),p.collect();p.collect();do{p.edge.first.vertices[r.ccw(p.edge.second)].point,p.edge.first.vertices[r.cw(p.edge.second)].point;h++;do{p.next(),p.collect()}while(p.valid)}while(null!==p.pos);for(const n of e.triangles){if(n.isInfinite())continue;s++;const e=[];l.fillStyle="red",void 0!==n.vertices[0]&&(e.push(n.vertices[0].point),l.beginPath(),l.arc(c(n.vertices[0].point[0],t),u(n.vertices[0].point[1],t),5,0,2*Math.PI),l.closePath(),l.fill()),void 0!==n.vertices[1]&&(e.push(n.vertices[1].point),l.arc(c(n.vertices[1].point[0],t),u(n.vertices[1].point[1],t),5,0,2*Math.PI),l.closePath(),l.fill()),void 0!==n.vertices[2]&&(e.push(n.vertices[2].point),l.arc(c(n.vertices[2].point[0],t),u(n.vertices[2].point[1],t),5,0,2*Math.PI),l.closePath(),l.fill()),l.moveTo(c(n.vertices[0].point[0],t),u(n.vertices[0].point[1],t)),void 0!==n.vertices[0]&&void 0!==n.vertices[1]&&f(l,n.vertices[0].point,n.vertices[1].point,n.constraints[2],t),void 0!==n.vertices[1]&&void 0!==n.vertices[2]&&f(l,n.vertices[1].point,n.vertices[2].point,n.constraints[0],t),void 0!==n.vertices[2]&&void 0!==n.vertices[0]&&f(l,n.vertices[2].point,n.vertices[0].point,n.constraints[1],t)}console.log(`Edges: ${d}/${h}`),console.log(`Faces: ${s}`)}window.DP=a,window.DPL=l,window.DPT=p},1298:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("modal",{attrs:{visible:e.visible},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[e._v("Create basic token")])}}])},[i("div",{staticClass:"modal-body"},[i("label",{attrs:{for:"createtokendialog-text"}},[e._v("Text")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.text,expression:"text"}],attrs:{type:"text",id:"createtokendialog-name"},domProps:{value:e.text},on:{input:function(t){t.target.composing||(e.text=t.target.value)}}}),i("label",[e._v("Colours")]),i("div",{staticClass:"colours"},[i("span",[e._v("Fill:")]),i("color-picker",{attrs:{color:e.fillColour},on:{"update:color":function(t){e.fillColour=t}}}),i("span",[e._v("Border:")]),i("color-picker",{attrs:{color:e.borderColour},on:{"update:color":function(t){e.borderColour=t}}})],1),i("canvas",{ref:"canvas",attrs:{width:"100px",height:"100px"}})]),i("div",{staticClass:"modal-footer"},[i("button",{on:{click:e.submit}},[e._v("Submit")])])])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"12d3":function(e,t,i){"use strict";var n=i("a260"),s=i.n(n);s.a},1327:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importStar(i("66cb")),o=i("4a5b"),r=i("4709"),a=i("f10f"),l=i("92b1");class c extends r.Circle{constructor(e,t,i,n,s,o,r){super(e,t,s,o,r),this.type="circulartoken",this.text=i,this.font=n}asDict(){return Object.assign(this.getBaseDict(),{radius:this.r,text:this.text,font:this.font})}fromDict(e){super.fromDict(e),this.r=e.radius,this.text=e.text,this.font=e.font}draw(e){super.draw(e),e.font=this.font,e.save();const t=l.g2l(this.center());e.textAlign="center",e.textBaseline="middle";const i=o.calcFontScale(e,this.text,l.g2lz(this.r),l.g2lz(this.r)),n=0;e.transform(i,n,-n,i,t.x,t.y),e.fillStyle=s.mostReadable(this.fillColour,["#000","#fff"]).toHexString(),e.fillText(this.text,0,0),e.restore()}getInitiativeRepr(){return{uuid:this.uuid,visible:!a.gameStore.IS_DM,group:!1,source:""===this.name||"Unknown shape"===this.name?this.text:this.name,has_img:!1,effects:[],index:1/0}}}t.CircularToken=c},"160b":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"AssetManager"}},[i("div",{attrs:{id:"titlebar"}},[e._v("Asset Manager")]),i("div",{attrs:{id:"main"}},[i("div",{attrs:{id:"assets"},on:{dragover:function(t){return t.preventDefault(),e.moveDrag(t)},drop:function(t){t.preventDefault(),t.stopPropagation(),e.stopDrag(t,e.currentFolder)}}},[i("div",{attrs:{id:"breadcrumbs"}},[i("div",[e._v("/")]),e._l(e.path,function(t){return i("div",{key:t},[e._v(e._s(e.idMap.get(t).name))])})],2),i("div",{attrs:{id:"actionbar"}},[i("input",{attrs:{id:"files",type:"file",multiple:"",hidden:""},on:{change:function(t){e.upload()}}}),i("div",{attrs:{title:"Create folder"},on:{click:e.createDirectory}},[i("i",{staticClass:"fas fa-plus-square"})]),i("div",{attrs:{title:"Upload files"},on:{click:e.prepareUpload}},[i("i",{staticClass:"fas fa-upload"})])]),i("div",{attrs:{id:"explorer"}},[e.path.length?i("div",{staticClass:"inode folder",on:{dblclick:function(t){e.changeDirectory(-1)},dragover:function(t){return t.preventDefault(),e.moveDrag(t)},dragleave:function(t){return t.preventDefault(),e.leaveDrag(t)},drop:function(t){t.preventDefault(),t.stopPropagation(),e.stopDrag(t,e.parentFolder)}}},[i("i",{staticClass:"fas fa-folder",staticStyle:{"font-size":"50px"}}),i("div",{staticClass:"title"},[e._v("..")])]):e._e(),e._l(e.folders,function(t){return i("div",{key:t,staticClass:"inode folder",class:{"inode-selected":e.selected.includes(t)},attrs:{draggable:"true"},on:{click:function(i){e.select(i,t)},dblclick:function(i){e.changeDirectory(t)},contextmenu:function(i){i.preventDefault(),e.$refs.cm.open(i,t)},dragstart:function(i){e.startDrag(i,t)},dragover:function(t){return t.preventDefault(),e.moveDrag(t)},dragleave:function(t){return t.preventDefault(),e.leaveDrag(t)},drop:function(i){i.preventDefault(),i.stopPropagation(),e.stopDrag(i,t)}}},[i("i",{staticClass:"fas fa-folder",staticStyle:{"font-size":"50px"}}),i("div",{staticClass:"title"},[e._v(e._s(e.idMap.get(t).name))])])}),e._l(e.files,function(t){return i("div",{key:t,staticClass:"inode file",class:{"inode-selected":e.selected.includes(t)},attrs:{draggable:"true"},on:{click:function(i){e.select(i,t)},contextmenu:function(i){i.preventDefault(),e.$refs.cm.open(i,t)},dragstart:function(i){e.startDrag(i,t)}}},[i("img",{attrs:{src:"/static/assets/"+e.idMap.get(t).file_hash,width:"50"}}),i("div",{staticClass:"title"},[e._v(e._s(e.idMap.get(t).name))])])})],2)]),e.firstSelectedFile?i("div",{attrs:{id:"asset-details"}},[i("div",{attrs:{id:"asset-detail-title"}},[e._v(e._s(e.firstSelectedFile.name))]),i("img",{attrs:{src:"/static/assets/"+e.firstSelectedFile.file_hash}})]):e._e()]),i("AssetContextMenu",{ref:"cm"}),i("Prompt",{ref:"prompt"}),i("ConfirmDialog",{ref:"confirm"})],1)},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},1625:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("6f92"),o=i("b2ed"),r=i("0180"),a=i("f10f"),l=i("92b1");class c{constructor(){this.shown=!1;const e=new n.GlobalPoint(0,0);this.annotationText=new r.Text(e,"","bold 20px serif",0,"rgba(230, 230, 230, 1)"),this.annotationRect=new o.Rect(e,0,0,"rgba(0, 0, 0, 0.6)")}setActiveText(e){if(void 0===this.layer){if(!s.layerManager.hasLayer("draw"))return void console.warn("There is no draw layer to draw annotations on!");this.layer=s.layerManager.getLayer("draw"),this.layer.addShape(this.annotationRect,!1),this.layer.addShape(this.annotationText,!1)}this.shown=""!==e,this.annotationText.refPoint=l.l2g(new n.LocalPoint(this.layer.canvas.width/2,50)),this.annotationText.text=e;const t=this.shown?this.annotationText.getMaxWidth(this.layer.ctx)+10:0,i=this.shown?this.annotationText.getMaxHeight(this.layer.ctx)+10:0;this.annotationRect.refPoint=l.l2g(new n.LocalPoint(this.layer.canvas.width/2-t/2,30)),this.annotationRect.w=t/a.gameStore.zoomFactor,this.annotationRect.h=i/a.gameStore.zoomFactor,this.layer.invalidate(!0)}}t.AnnotationManager=c},"165c":function(e,t,i){"use strict";var n=i("aaee"),s=i.n(n);s.a},"19f9":function(e,t,i){"use strict";i.r(t);var n=i("6f83"),s=i("8cd4");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("9c5c");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"21f210ea",null);a.options.__file="menu.vue",t["default"]=a.exports},"1c76":function(e,t,i){"use strict";i.r(t);var n=i("2c88"),s=i("300e");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("7f1e");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,null,null);a.options.__file="contextmenu.vue",t["default"]=a.exports},"1dd6":function(e,t,i){"use strict";i.r(t);var n=i("5ae5"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"1eee":function(e,t,i){"use strict";i.r(t);var n=i("d30b"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"206a":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("6f92"),o=i("6c30"),r=i("4709"),a=i("1327"),l=i("5e7c"),c=i("574e"),u=i("b2ed"),d=i("0180");function h(e,t){if(void 0===t&&(t=!1),!t&&s.layerManager.UUIDMap.has(e.uuid))return s.layerManager.UUIDMap.get(e.uuid);let i;const h=new n.GlobalPoint(e.x,e.y);if("rect"===e.type_){const t=e;i=new u.Rect(h,t.width,t.height,t.fill_colour,t.stroke_colour,t.uuid)}else if("circle"===e.type_){const t=e;i=new r.Circle(h,t.radius,t.fill_colour,t.stroke_colour,t.uuid)}else if("circulartoken"===e.type_){const t=e;i=new a.CircularToken(h,t.radius,t.text,t.font,t.fill_colour,t.stroke_colour,t.uuid)}else if("line"===e.type_){const t=e;i=new l.Line(h,new n.GlobalPoint(t.x2,t.y2),t.line_width,t.stroke_colour,t.uuid)}else if("multiline"===e.type_){const t=e;i=new c.MultiLine(h,t.points.map(e=>new n.GlobalPoint(e.x,e.y)),t.line_width,t.stroke_colour,t.uuid)}else if("text"===e.type_){const t=e;i=new d.Text(h,t.text,t.font,t.angle,t.fill_colour,t.stroke_colour,t.uuid)}else{if("assetrect"!==e.type_)return;{const t=e,n=new Image(t.width,t.height);t.src.startsWith("http")?n.src=new URL(t.src).pathname:n.src=t.src,i=new o.Asset(n,h,t.width,t.height,t.uuid),n.onload=(()=>{s.layerManager.getLayer(e.layer).invalidate(!1)})}}return i.fromDict(e),i}t.createShapeFromDict=h},"223d":function(e,t,i){"use strict";var n=i("e756"),s=i.n(n);s.a},2469:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("66cb")),o=i("4a5b"),r=i("0bc6"),a=i("f312"),l=i("6f92"),c=i("f10f"),u=i("92b1");class d{constructor(e,t,i,n){this.fillColour="#000",this.strokeColour="rgba(0,0,0,0)",this.name="Unknown shape",this.trackers=[],this.auras=[],this.owners=[],this.visionObstruction=!1,this.movementObstruction=!1,this.isToken=!1,this.showHighlight=!1,this.annotation="",this.globalCompositeOperation="source-over",this.options=new Map,this.refPoint=e,this.uuid=n||o.uuidv4(),void 0!==t&&(this.fillColour=t),void 0!==i&&(this.strokeColour=i)}visibleInCanvas(e){return!1}invalidate(e){const t=l.layerManager.getLayer(this.layer);t&&t.invalidate(e)}checkVisionSources(){const e=this,t=c.gameStore.visionBlockers.indexOf(this.uuid);let i=!1;this.visionObstruction&&-1===t?(c.gameStore.visionBlockers.push(this.uuid),i=!0):!this.visionObstruction&&t>=0&&(c.gameStore.visionBlockers.splice(t,1),i=!0),i&&c.gameStore.recalculateBV(),this.auras.forEach(t=>{const i=c.gameStore.visionSources,n=i.findIndex(e=>e.aura===t.uuid);t.visionSource&&-1===n?i.push({shape:e.uuid,aura:t.uuid}):!t.visionSource&&n>=0&&i.splice(n,1)});for(let n=c.gameStore.visionSources.length-1;n>=0;n--){const t=c.gameStore.visionSources[n];t.shape===e.uuid&&(e.auras.some(e=>e.uuid===t.aura&&e.visionSource)||c.gameStore.visionSources.splice(n,1))}}setMovementBlock(e){this.movementObstruction=e||!1;const t=c.gameStore.movementblockers.indexOf(this.uuid);this.movementObstruction&&-1===t?c.gameStore.movementblockers.push(this.uuid):!this.movementObstruction&&t>=0&&c.gameStore.movementblockers.splice(t,1)}setIsToken(e){if(this.isToken=e,this.ownedBy()){const e=c.gameStore.ownedtokens.indexOf(this.uuid);this.isToken&&-1===e?c.gameStore.ownedtokens.push(this.uuid):!this.isToken&&e>=0&&c.gameStore.ownedtokens.splice(e,1)}}ownedBy(e){return void 0===e&&(e=c.gameStore.username),c.gameStore.IS_DM||this.owners.includes(e)}getBaseDict(){return{type_:this.type,uuid:this.uuid,x:this.refPoint.x,y:this.refPoint.y,layer:this.layer,draw_operator:this.globalCompositeOperation,movement_obstruction:this.movementObstruction,vision_obstruction:this.visionObstruction,auras:a.aurasToServer(this.auras),trackers:this.trackers,owners:this.owners,fill_colour:this.fillColour,stroke_colour:this.strokeColour,name:this.name,annotation:this.annotation,is_token:this.isToken,options:JSON.stringify([...this.options])}}fromDict(e){this.layer=e.layer,this.globalCompositeOperation=e.draw_operator,this.movementObstruction=e.movement_obstruction,this.visionObstruction=e.vision_obstruction,this.auras=a.aurasFromServer(e.auras),this.trackers=e.trackers,this.owners=e.owners,this.isToken=e.is_token,e.annotation&&(this.annotation=e.annotation),e.name&&(this.name=e.name),e.options&&(this.options=new Map(JSON.parse(e.options)))}draw(e){if(void 0!==this.globalCompositeOperation?e.globalCompositeOperation=this.globalCompositeOperation:e.globalCompositeOperation="source-over",this.showHighlight){const t=this.getBoundingBox();e.strokeStyle="red",e.strokeRect(u.g2lx(t.topLeft.x)-5,u.g2ly(t.topLeft.y)-5,u.g2lz(t.w)+10,u.g2lz(t.h)+10)}}drawAuras(e){for(const i of this.auras){if(0===i.value&&0===i.dim)return;e.beginPath();const n=u.g2l(this.center()),o=u.g2lr(i.value+i.dim);if(0===i.dim)e.fillStyle=i.colour;else{const t=e.createRadialGradient(n.x,n.y,u.g2lr(i.value),n.x,n.y,u.g2lr(i.value+i.dim)),o=s.default(i.colour);e.fillStyle=t,t.addColorStop(0,i.colour),t.addColorStop(1,o.setAlpha(0).toRgbString())}if(i.visionSource&&void 0!==i.lastPath)try{e.fill(i.lastPath)}catch(t){e.arc(n.x,n.y,o,0,2*Math.PI),e.fill(),console.warn(t)}else e.arc(n.x,n.y,o,0,2*Math.PI),e.fill()}}getInitiativeRepr(){return{uuid:this.uuid,visible:!c.gameStore.IS_DM,group:!1,source:this.name,has_img:!1,effects:[],index:1/0}}moveLayer(e,t){const i=l.layerManager.getLayer(this.layer),n=l.layerManager.getLayer(e);void 0!==i&&void 0!==n&&(this.layer=e,i.shapes.splice(i.shapes.indexOf(this),1),n.shapes.push(this),i.invalidate(!0),n.invalidate(!1),t&&r.socket.emit("Shape.Layer.Change",{uuid:this.uuid,layer:e}))}}t.Shape=d},"255e":function(e,t,i){"use strict";i.r(t);var n=i("851c"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},2686:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return null!==e.note?i("modal",{attrs:{visible:e.visible,mask:!1},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[i("span",{on:{click:function(t){e.$refs.title.select()}}},[i("i",{staticClass:"fas fa-pencil-alt",staticStyle:{"font-size":"15px"}})]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.note.title,expression:"note.title"}],ref:"title",domProps:{value:e.note.title},on:{change:e.updateNote,input:function(t){t.target.composing||e.$set(e.note,"title",t.target.value)}}}),i("div",{staticClass:"header-close",on:{click:function(t){e.visible=!1}}},[i("i",{staticClass:"far fa-window-close"})])])}}])},[i("div",{staticClass:"modal-body"},[i("textarea",{directives:[{name:"model",rawName:"v-model",value:e.note.text,expression:"note.text"}],ref:"textarea",style:{height:e.calcHeight()},domProps:{value:e.note.text},on:{change:e.updateNote,input:function(t){t.target.composing||e.$set(e.note,"text",t.target.value)}}})]),i("div",{staticClass:"modal-footer"},[i("button",{on:{click:e.removeNote}},[i("i",{staticClass:"far fa-trash-alt"}),e._v(" Remove\n ")])])]):e._e()},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"26a5":function(e,t,i){"use strict";var n=i("f2d0"),s=i.n(n);s.a},2756:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("496c")),o=n.__importDefault(i("ea6a")),r=i("4a5b"),a=i("0bc6"),l=i("8f0a"),c=i("6f92"),u=i("b2ed"),d=i("f10f"),h=i("2838"),f=i("92b1"),p=i("5a5c"),g=n.__importDefault(i("65d9"));var v;(function(e){e[e["Noop"]=0]="Noop",e[e["Resize"]=1]="Resize",e[e["Drag"]=2]="Drag",e[e["GroupSelect"]=3]="GroupSelect"})(v=t.SelectOperations||(t.SelectOperations={}));const m=new l.GlobalPoint(-1e3,-1e3);let y=class extends o.default{constructor(){super(...arguments),this.name="Select",this.showContextMenu=!1,this.active=!1,this.mode=v.Noop,this.resizeDirection="",this.deltaChanged=!1,this.dragRay=new l.Ray(new l.LocalPoint(0,0),new l.Vector(0,0)),this.selectionStartPoint=m,this.selectionHelper=new u.Rect(m,0,0)}created(){this.selectionHelper.globalCompositeOperation="source-over"}onMouseDown(e){const t=c.layerManager.getLayer();if(void 0===t)return void console.log("No active layer!");this.selectionHelper.owners.includes(d.gameStore.username)||this.selectionHelper.owners.push(d.gameStore.username);const i=p.getMouse(e),n=f.l2g(i);let s,o=!1;s=t.selection.length?t.shapes.concat(t.selection):t.shapes;for(let a=s.length-1;a>=0;a--){const e=s[a];if(!e.ownedBy())continue;const c=e.getBoundingBox().getCorner(n);if(void 0!==c){t.selection=[e],r.getRef("selectionInfo").shape=e,this.mode=v.Resize,this.resizeDirection=c,t.invalidate(!0),o=!0;break}if(e.contains(n)){const n=e;-1===t.selection.indexOf(n)&&(t.selection=[n],r.getRef("selectionInfo").shape=n),this.mode=v.Drag;const s=f.g2l(n.refPoint);this.dragRay=new l.Ray(s,i.subtract(s)),t.invalidate(!0),o=!0;break}}if(!o){this.mode=v.GroupSelect;for(const e of t.selection)r.getRef("selectionInfo").shape=e;this.selectionStartPoint=n,this.selectionHelper.refPoint=this.selectionStartPoint,this.selectionHelper.w=0,this.selectionHelper.h=0,t.selection=[this.selectionHelper],t.invalidate(!0)}this.active=!0}onMouseMove(e){const t=c.layerManager.getLayer();if(void 0===t)return void console.log("No active layer!");const i=p.getMouse(e),n=f.l2g(i);if(this.deltaChanged=!1,this.mode===v.GroupSelect){const e=n;this.selectionHelper.w=Math.abs(e.x-this.selectionStartPoint.x),this.selectionHelper.h=Math.abs(e.y-this.selectionStartPoint.y),this.selectionHelper.refPoint=new l.GlobalPoint(Math.min(this.selectionStartPoint.x,e.x),Math.min(this.selectionStartPoint.y,e.y)),t.invalidate(!0)}else if(t.selection.length){const s=f.g2l(t.selection[t.selection.length-1].refPoint),o=s.add(this.dragRay.direction);let r=i.subtract(o).multiply(1/d.gameStore.zoomFactor);const l=r;if(this.mode===v.Drag){if("tokens"===t.name&&(!e.shiftKey||!d.gameStore.IS_DM))for(const e of t.selection)e.uuid!==this.selectionHelper.uuid&&(r=h.calculateDelta(r,e),r!==l&&(this.deltaChanged=!0));for(const e of t.selection)e.refPoint=e.refPoint.add(r),e!==this.selectionHelper&&(e.visionObstruction&&d.gameStore.recalculateBV(!0),a.socket.emit("Shape.Update",{shape:e.asDict(),redraw:!0,temporary:!0}));t.invalidate(!1)}else if(this.mode===v.Resize)for(const e of t.selection)e.resize(this.resizeDirection,i),e!==this.selectionHelper&&(e.visionObstruction&&d.gameStore.recalculateBV(!0),a.socket.emit("Shape.Update",{shape:e.asDict(),redraw:!0,temporary:!0})),t.invalidate(!1);else for(const e of t.selection){const t=e.getBoundingBox(),i=n;t.inCorner(i,"nw")?document.body.style.cursor="nw-resize":t.inCorner(i,"ne")?document.body.style.cursor="ne-resize":t.inCorner(i,"se")?document.body.style.cursor="se-resize":t.inCorner(i,"sw")?document.body.style.cursor="sw-resize":document.body.style.cursor="default"}}else document.body.style.cursor="default"}onMouseUp(e){if(!this.active)return;if(void 0===c.layerManager.getLayer())return void console.log("No active layer!");const t=c.layerManager.getLayer();this.mode===v.GroupSelect?(t.clearSelection(),t.shapes.forEach(e=>{if(e===this.selectionHelper)return;const i=e.getBoundingBox();e.ownedBy()&&this.selectionHelper.refPoint.x<=i.topRight.x&&this.selectionHelper.refPoint.x+this.selectionHelper.w>=i.topLeft.x&&this.selectionHelper.refPoint.y<=i.botLeft.y&&this.selectionHelper.refPoint.y+this.selectionHelper.h>=i.topLeft.y&&t.selection.push(e)}),t.selection.length>0&&t.selection.push(this.selectionHelper),t.invalidate(!0)):t.selection.length&&t.selection.forEach(i=>{if(this.mode===v.Drag){if(this.dragRay.origin.x===f.g2lx(i.refPoint.x)&&this.dragRay.origin.y===f.g2ly(i.refPoint.y))return;!d.gameStore.useGrid||e.altKey||this.deltaChanged||i.snapToGrid(),i!==this.selectionHelper&&(i.visionObstruction&&d.gameStore.recalculateBV(),a.socket.emit("Shape.Update",{shape:i.asDict(),redraw:!0,temporary:!1})),t.invalidate(!1)}this.mode===v.Resize&&(d.gameStore.useGrid&&!e.altKey&&i.resizeToGrid(),i!==this.selectionHelper&&(i.visionObstruction&&d.gameStore.recalculateBV(),a.socket.emit("Shape.Update",{shape:i.asDict(),redraw:!0,temporary:!1})),t.invalidate(!1))}),this.mode=v.Noop,this.active=!1}onContextMenu(e){if(void 0===c.layerManager.getLayer())return void console.log("No active layer!");const t=c.layerManager.getLayer(),i=p.getMouse(e),n=f.l2g(i);for(const s of t.selection)if(s.contains(n))return t.selection=[s],r.getRef("selectionInfo").shape=s,t.invalidate(!0),void this.$parent.$refs.shapecontext.open(e,s);this.$refs.selectcontext.open(e)}};y=n.__decorate([g.default({components:{SelectContext:s.default}})],y),t.default=y},2838:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("6f92"),o=i("f10f");function r(e,t,i){void 0===i&&(i=[]);const a=t.getBoundingBox(),l=a.offset(e);let c=!1;for(const r of o.gameStore.movementblockers){if(i.includes(r))continue;const t=s.layerManager.UUIDMap.get(r),o=t.getBoundingBox();let u=o.intersectsWithInner(l);if(!u){const t=n.Ray.fromPoints(a.topLeft.add(e.normalize()),l.topLeft),i=t.direction.inverse(),s=[i.x<0,i.y<0];u=o.intersectP(t,i,s).hit}if(u){const t=o.center(),s=a.center(),l=s.subtract(t),u=new n.Vector(1,0),d=new n.Vector(0,1);let h=l.dot(u),f=l.dot(d);h>o.w/2&&(h=o.w/2),h<-o.w/2&&(h=-o.w/2),f>o.h/2&&(f=o.h/2),f<-o.h/2&&(f=-o.h/2);const p=t.add(u.multiply(h)).add(d.multiply(f));p.x===a.topLeft.x||p.x===a.topRight.x?e=new n.Vector(0,e.y):p.y===a.topLeft.y||p.y===a.botLeft.y?e=new n.Vector(e.x,0):p.xa.topRight.x?e=new n.Vector(p.x-a.topRight.x,e.y):p.ya.botLeft.y&&(e=new n.Vector(e.x,p.y-a.botLeft.y)),c=!0,i.push(r);break}}return c&&(e=r(e,t,i)),e}t.calculateDelta=r},"28b6":function(e,t,i){"use strict";var n=i("ee96"),s=i.n(n);s.a},"2b48":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("0bc6"),s=i("f10f");function o(){n.socket.emit("Client.Options.Set",{locationOptions:{panX:s.gameStore.panX,panY:s.gameStore.panY,zoomFactor:s.gameStore.zoomFactor}})}t.sendClientOptions=o},"2baf":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=i("60a3"),a=i("4a5b");let l=class extends s.default{constructor(){super(...arguments),this.showImage=null}get folders(){return Object.keys(this.asset).filter(e=>!["__files"].includes(e)).sort(a.alphSort)}get files(){return this.asset.__files?this.asset.__files.concat().sort((e,t)=>e.name.toLowerCase()>t.name.toLowerCase()?1:-1):[]}toggle(e){for(let t=0;tthis.$children[0].$el.focus())}close(){this.visible=!1,this.shape=null}getLayers(){return l.layerManager.layers.filter(e=>e.selectable&&(c.gameStore.IS_DM||e.playerEditable))}getActiveLayer(){return l.layerManager.getLayer()}getInitiativeWord(){return null===this.shape?"":a.getRef("initiative").contains(this.shape.uuid)?"Show":"Add"}setLayer(e){null!==this.shape&&(this.shape.moveLayer(e,!0),this.close())}moveToBack(){if(null===this.shape)return;const e=this.getActiveLayer();e.moveShapeOrder(this.shape,0,!0),this.close()}moveToFront(){if(null===this.shape)return;const e=this.getActiveLayer();e.moveShapeOrder(this.shape,e.shapes.length-1,!0),this.close()}addInitiative(){if(null===this.shape)return;const e=a.getRef("initiative");e.contains(this.shape.uuid)||e.addInitiative(this.shape.getInitiativeRepr()),e.visible=!0,this.close()}};u=n.__decorate([o.default({components:{ContextMenu:r.default}})],u),t.default=u},3427:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return null!==e.shape?i("div",[i("div",{attrs:{id:"selection-menu"}},[i("div",{attrs:{id:"selection-edit-button"},on:{click:e.openEditDialog}},[i("i",{staticClass:"fas fa-edit"})]),i("div",{attrs:{id:"selection-name"}},[e._v(e._s(e.shape.name))]),i("div",{attrs:{id:"selection-trackers"}},[e._l(e.shape.trackers,function(t){return""!==t.name||0!==t.value?[i("div",{key:"name-"+t.uuid},[e._v(e._s(t.name))]),i("div",{key:"value-"+t.uuid,staticClass:"selection-tracker-value",on:{click:function(i){e.changeValue(t,!1)}}},[0===t.maxvalue?[e._v(e._s(t.value))]:[e._v(e._s(t.value)+" / "+e._s(t.maxvalue))]],2)]:e._e()})],2),i("div",{attrs:{id:"selection-auras"}},[e._l(e.shape.auras,function(t){return""!==t.name||0!==t.value?[i("div",{key:"name-"+t.uuid},[e._v(e._s(t.name))]),i("div",{key:"value-"+t.uuid,staticClass:"selection-tracker-value",on:{click:function(i){e.changeValue(t,!0)}}},[0===t.dim?[e._v(e._s(t.value))]:[e._v(e._s(t.value)+" / "+e._s(t.dim))]],2)]:e._e()})],2)]),i("edit-dialog",{ref:"editDialog",attrs:{shape:e.shape}})],1):e._e()},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},3481:function(e,t,i){"use strict";i.r(t);var n=i("47e6"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"38c9":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("bab4"),s=i("f10f");class o extends n.Layer{invalidate(){this.valid=!1}draw(e){this.valid||this.drawGrid()}drawGrid(){const e=this.ctx;this.clear(),e.beginPath();const t=s.gameStore.gridSize;for(let i=0;it.uuid===e.uuid);this.preFogShapes.splice(t,1)}super.removeShape(e,t,i)}draw(){if(!this.valid){const e=this.ctx;if(r.Settings.skipLightFOW)return e.clearRect(0,0,this.canvas.width,this.canvas.height),void(this.valid=!0);const t=e.globalCompositeOperation;e.clearRect(0,0,this.canvas.width,this.canvas.height),e.fillStyle="rgba(0, 0, 0, 1)";const i=o.layerManager.getLayer("draw").ctx;(r.Settings.drawAngleLines||r.Settings.drawFirstLightHit)&&i.clearRect(0,0,i.canvas.width,i.canvas.height),l.gameStore.fullFOW&&o.layerManager.hasLayer("tokens")&&o.layerManager.getLayer("tokens").shapes.forEach(t=>{if(!t.ownedBy()||!t.isToken)return;const i=t.getBoundingBox(),n=c.g2l(t.center()),s=.8*c.g2lz(i.w);e.beginPath(),e.arc(n.x,n.y,s,0,2*Math.PI);const o=e.createRadialGradient(n.x,n.y,s/2,n.x,n.y,s);o.addColorStop(0,"rgba(0, 0, 0, 1)"),o.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=o,e.fill()});for(const s of l.gameStore.visionSources){const t=o.layerManager.UUIDMap.get(s.shape);if(void 0===t)continue;const u=t.auras.find(e=>e.uuid===s.aura);if(void 0===u)continue;const d=c.getUnitDistance(u.value+u.dim),h=t.center(),f=c.g2l(h),p=new a.Circle(h,d);if(!p.visibleInCanvas(e.canvas))continue;let g=-1;const v=new Path2D;let m;v.moveTo(f.x,f.y);for(let s=0;s<2*Math.PI;s+=r.Settings.angleSteps/180*Math.PI){const t=new n.GlobalPoint(h.x+d*Math.cos(s),h.y+d*Math.sin(s));r.Settings.drawAngleLines&&(i.beginPath(),i.moveTo(c.g2lx(h.x),c.g2ly(h.y)),i.lineTo(c.g2lx(t.x),c.g2ly(t.y)),i.stroke());const o=n.Ray.fromPoints(h,t),a=l.gameStore.BV.intersect(o);if(0===s&&(m=a.hit?a.intersect:t),a.hit)-1!==g&&(v.arc(f.x,f.y,c.g2lr(u.value+u.dim),g,s),g=-1),v.lineTo(c.g2lx(a.intersect.x),c.g2ly(a.intersect.y));else if(-1===g){g=s;const i=c.g2l(t);e.lineTo(i.x,i.y)}}if(-1===g?v.lineTo(c.g2lx(m.x),c.g2ly(m.y)):v.arc(f.x,f.y,c.g2lr(u.value+u.dim),g,2*Math.PI),l.gameStore.fullFOW){if(u.dim>0){const t=e.createRadialGradient(f.x,f.y,c.g2lr(u.value),f.x,f.y,c.g2lr(u.value+u.dim));t.addColorStop(0,"rgba(0, 0, 0, 1)"),t.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=t}else e.fillStyle="rgba(0, 0, 0, 1)";e.fill(v)}u.lastPath=v}l.gameStore.fowLOS&&(e.globalCompositeOperation="source-in",e.drawImage(o.layerManager.getLayer("fow-players").canvas,0,0));for(const n of this.preFogShapes){if(!n.visibleInCanvas(this.canvas))continue;const t=n.globalCompositeOperation;l.gameStore.fullFOW||("source-over"===n.globalCompositeOperation?n.globalCompositeOperation="destination-out":"destination-out"===n.globalCompositeOperation&&(n.globalCompositeOperation="source-over")),n.draw(e),n.globalCompositeOperation=t}l.gameStore.fullFOW&&(e.globalCompositeOperation="source-out",e.fillStyle=u.getFogColour(),e.fillRect(0,0,e.canvas.width,e.canvas.height)),super.draw(!1),e.globalCompositeOperation=t}}}t.FOWLayer=d},4486:function(e,t,i){"use strict";i.r(t);var n=i("a097"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},4709:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("8db6"),o=i("2469"),r=i("f10f"),a=i("2838"),l=i("92b1"),c=i("5a5c");class u extends o.Shape{constructor(e,t,i,n,s){super(e,i,n,s),this.type="circle",this.r=t||1}asDict(){return Object.assign(this.getBaseDict(),{radius:this.r})}fromDict(e){super.fromDict(e),this.r=e.radius}getBoundingBox(){return new s.BoundingRect(new n.GlobalPoint(this.refPoint.x-this.r,this.refPoint.y-this.r),2*this.r,2*this.r)}get points(){return this.getBoundingBox().points}draw(e){super.draw(e),e.beginPath(),"fog"===this.fillColour?e.fillStyle=c.getFogColour():e.fillStyle=this.fillColour;const t=l.g2l(this.refPoint);e.arc(t.x,t.y,l.g2lz(this.r),0,2*Math.PI),e.fill(),"rgba(0, 0, 0, 0)"!==this.strokeColour&&(e.beginPath(),e.lineWidth=l.g2lz(5),e.strokeStyle=this.strokeColour,e.arc(t.x,t.y,l.g2lz(this.r),0,2*Math.PI),e.stroke())}contains(e){return Math.pow(e.x-this.refPoint.x,2)+Math.pow(e.y-this.refPoint.y,2){const t=16*Math.random()|0,i="x"===e?t:3&t|8;return i.toString(16)})}function o(e){return e.charAt(0).toUpperCase()+e.slice(1)}function r(e,t){return e.toLowerCase()t(e)?i[1].push(e):i[0].push(e)),i}function u(e,t,i,n){const s=.2*Number(e.font.split("px")[0]),o=e.measureText(t).width;return Math.min(i/o,n/s)}function d(e){return encodeURIComponent(e).replace(/[!'()*]/g,e=>{return"%"+e.charCodeAt(0).toString(16)})}t.uuidv4=s,t.capitalize=o,t.alphSort=r,t.getHTMLFont=a,t.getHTMLTextWidth=l,t.partition=c,t.calcFontScale=u,t.fixedEncodeURIComponent=d;class h{constructor(){this.keys=[],this.values=[]}get length(){return this.keys.length}get(e){return this.values[this.keys.indexOf(e)]}getIndexValue(e){return this.values[e]}getIndexKey(e){return this.keys[e]}set(e,t){this.keys.push(e),this.values.push(t)}has(e){return this.indexOf(e)>=0}indexOf(e){return this.keys.indexOf(e)}remove(e){const t=this.indexOf(e);this.keys.splice(t,1),this.values.splice(t,1)}}function f(){return n.app.$children[0].$refs.activeComponent}function p(e){const t=n.app.$children[0].$refs.activeComponent;return t.$refs[e]}t.OrderedMap=h,t.getComponent=f,t.getRef=p},"4aec":function(e,t,i){"use strict";i.r(t);var n=i("df15"),s=i("f51a");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,null,null);a.options.__file="contextMenu.vue",t["default"]=a.exports},"4aee":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("98ef");function s(e){return(e+2)%3}function o(e){return(e+1)%3}function r(e,t){const i=new n.EdgeCirculator(e,null);if(i.valid)do{const s=3-i.t.indexV(e)-i.ri,o=i.t.vertices[s];if(!o.infinite){if(o===t)return{includes:!0,vi:t,fr:i.t,i:i.ri};{const s=c(e.point,t.point,o.point);if(s===n.Sign.COLLINEAR&&a(e.point,o.point,t.point))return{includes:!0,vi:o,fr:i.t,i:i.ri}}}}while(i.next());return{includes:!1}}function a(e,t,i){let s,o;return l(0,e,i)===n.Sign.EQUAL?(s=l(1,e,t),o=l(1,t,i)):(s=l(0,e,t),o=l(0,t,i)),s===n.Sign.SMALLER&&o===n.Sign.SMALLER||s===n.Sign.LARGER&&o===n.Sign.LARGER}function l(e,t,i){return t[e]i[e]?n.Sign.LARGER:n.Sign.EQUAL}function c(e,t,i){const s=e[0],o=e[1],r=t[0],a=t[1],l=i[0],c=i[1],d=r-s,h=a-o,f=l-s,p=c-o,g=u(d,h,f,p);let v=Math.abs(d),m=Math.abs(h);const y=Math.abs(f),b=Math.abs(p);if(vm&&([v,m]=[m,v]),v<2e-162&&0===v)return n.Sign.ZERO;if(m<1e153){const e=Number.EPSILON*v*m;if(g>e)return n.Sign.POSITIVE;if(g<-e)return n.Sign.NEGATIVE}return n.Sign.ZERO}function u(e,t,i,n){return e*n-t*i}function d(e,t,i){return u(t[0]-e[0],t[1]-e[1],i[0]-e[0],i[1]-e[1])<0}function h(e,t,i){if(!e.isInfinite())return f(e.vertices[0].point,e.vertices[1].point,e.vertices[2].point,t,i);throw new Error("SSS")}function f(e,t,i,s,o){const r=m(e,t,i,s);if(r!==n.Sign.ON_ORIENTED_BOUNDARY||!o)return r;const a=[e,t,i,s];a.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);for(const l of a.reverse()){if(l===s)return n.Sign.ON_NEGATIVE_SIDE;let o=c(e,t,s);if(l===i&&o!==n.Sign.COLLINEAR)return o;if(o=c(e,s,i),l===t&&o!==n.Sign.COLLINEAR)return o;if(o=c(s,t,i),l===e&&o!==n.Sign.COLLINEAR)return o}return n.Sign.ON_NEGATIVE_SIDE}function p(e,t){return e[0]===t[0]&&e[1]===t[1]}function g(e,t){return e[0]<=t[0]&&e[1]<=t[1]}function v(e,t){return g(e,t)?n.Sign.SMALLER:p(e,t)?n.Sign.EQUAL:n.Sign.LARGER}function m(e,t,i,s){const o=t[0]-e[0],r=t[1]-e[1],a=i[0]-e[0],l=i[1]-e[1],c=s[0]-e[0],d=s[1]-e[1],h=s[0]-t[0],f=s[1]-t[1],p=i[0]-t[0],g=i[1]-t[1],v=u(o*d-r*c,c*h+d*f,o*l-r*a,a*p+l*g);let m=Math.abs(o),y=Math.abs(r);const b=Math.abs(a),_=Math.abs(l),S=Math.abs(h),w=Math.abs(f),x=Math.abs(c),M=Math.abs(d),C=Math.abs(p),L=Math.abs(g);if(my&&([m,y]=[y,m]),m<1e-73&&0===m)return n.Sign.ON_ORIENTED_BOUNDARY;if(y<1e76){const e=Number.EPSILON*m*y*(y*y);if(v>e)return n.Sign.ON_POSITIVE_SIDE;if(v<-e)return n.Sign.ON_NEGATIVE_SIDE}return n.Sign.ZERO}function y(e,t,i,s){switch(c(e,t,i)){case n.Sign.LEFT_TURN:return c(i,s,t)!==n.Sign.RIGHT_TURN;case n.Sign.RIGHT_TURN:return c(i,s,t)!==n.Sign.LEFT_TURN;case n.Sign.COLLINEAR:return!0}}function b(e,t,i,s){switch(c(e,t,i)){case n.Sign.LEFT_TURN:return c(e,t,s)!==n.Sign.LEFT_TURN;case n.Sign.RIGHT_TURN:return c(e,t,s)!==n.Sign.RIGHT_TURN;case n.Sign.COLLINEAR:return!0}}function _(e,t,i,n){const s=x(e,t,i,n);switch(s.intersectionType){case S.POINT:return s.point;case S.NO_INTERSECTION:return null}throw new Error("sdfgighowen")}var S;function w(e,t){if(e[0]===t[0])return[1,0,-e[0]];if(e[1]===t[1])return[0,1,-e[1]];const i=t[0]-e[0],n=t[1]-e[1];return[-n,i,-i+n]}function x(e,t,i,n){if(!C(e,t,i,n))return{intersectionType:S.NO_INTERSECTION,point:null};const s=w(e,t),o=w(i,n),r=M(s,o);switch(r.intersectionType){case S.POINT:return r}throw new Error("gzseuihgpib")}function M(e,t){const i=e[0]*t[1]-t[0]*e[1],n=e[1]*t[2]-t[1]*e[2],s=t[0]*e[2]-e[0]*t[2];return{intersectionType:S.POINT,point:[n/i,s/i]}}function C(e,t,i,s){if(g(e,t)){if(g(i,s)){if(g(t,i)||g(s,e))return!1}else if(g(t,s)||g(i,e))return!1}else if(g(i,s)){if(g(e,i)||g(s,t))return!1}else if(g(e,s)||g(i,t))return!1;if(g(e,t))if(g(i,s))switch(v(e,i)){case n.Sign.SMALLER:switch(v(t,i)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(t,s)){case n.Sign.SMALLER:return y(e,t,i,s);case n.Sign.EQUAL:return!0;default:return b(e,t,i,s)}}case n.Sign.EQUAL:return!0;default:switch(v(s,e)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(s,t)){case n.Sign.SMALLER:return y(i,s,e,t);case n.Sign.EQUAL:return!0;default:return b(i,s,e,t)}}}else switch(v(e,s)){case n.Sign.SMALLER:switch(v(t,s)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(t,i)){case n.Sign.SMALLER:return y(e,t,s,i);case n.Sign.EQUAL:return!0;default:return b(e,t,s,i)}}case n.Sign.EQUAL:return!0;default:switch(v(i,e)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(i,t)){case n.Sign.SMALLER:return y(s,i,e,t);case n.Sign.EQUAL:return!0;default:return b(s,i,e,t)}}}else if(g(i,s))switch(v(t,i)){case n.Sign.SMALLER:switch(v(e,i)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(e,s)){case n.Sign.SMALLER:return y(t,e,i,s);case n.Sign.EQUAL:return!0;default:return b(t,e,i,s)}}case n.Sign.EQUAL:return!0;default:switch(v(s,t)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(s,e)){case n.Sign.SMALLER:return y(i,s,t,e);case n.Sign.EQUAL:return!0;default:return b(i,s,t,e)}}}else switch(v(t,s)){case n.Sign.SMALLER:switch(v(e,s)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(e,i)){case n.Sign.SMALLER:return y(t,e,s,i);case n.Sign.EQUAL:return!0;default:return b(t,e,s,i)}}case n.Sign.EQUAL:return!0;default:switch(v(i,t)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(i,e)){case n.Sign.SMALLER:return y(s,i,t,e);case n.Sign.EQUAL:return!0;default:return b(s,i,t,e)}}}}t.cw=s,t.ccw=o,t.edgeInfo=r,t.collinearBetween=a,t.orientation=c,t.determinant=u,t.hasInexactNegativeOrientation=d,t.sideOfOrientedCircle=h,t.xyEqual=p,t.xySmaller=g,t.xyCompare=v,t.intersection=_,function(e){e[e["NO_INTERSECTION"]=0]="NO_INTERSECTION",e[e["POINT"]=1]="POINT",e[e["SEGMENT"]=2]="SEGMENT"}(S||(S={}))},"4b01":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("Modal",{attrs:{visible:e.visible,mask:!1},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[i("div",[e._v("Edit asset")]),i("div",{staticClass:"header-close",on:{click:function(t){e.visible=!1}}},[i("i",{staticClass:"far fa-window-close"})])])}}])},[i("div",{staticClass:"modal-body"},[i("label",{attrs:{for:"shapeselectiondialog-name"}},[e._v("Name")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.shape.name,expression:"shape.name"}],staticStyle:{"grid-column":"numerator / end"},attrs:{type:"text",id:"shapeselectiondialog-name"},domProps:{value:e.shape.name},on:{change:function(t){e.updateShape(!1)},input:function(t){t.target.composing||e.$set(e.shape,"name",t.target.value)}}}),i("label",{attrs:{for:"shapeselectiondialog-istoken"}},[e._v("Is a token")]),i("input",{staticStyle:{"grid-column-start":"remove",width:"15px",height:"15px"},attrs:{type:"checkbox",id:"shapeselectiondialog-istoken"},domProps:{checked:e.shape.isToken},on:{click:e.setToken}}),i("label",{attrs:{for:"shapeselectiondialog-visionblocker"}},[e._v("Blocks vision/light")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.shape.visionObstruction,expression:"shape.visionObstruction"}],staticStyle:{"grid-column-start":"remove",width:"15px",height:"15px"},attrs:{type:"checkbox",id:"shapeselectiondialog-visionblocker"},domProps:{checked:Array.isArray(e.shape.visionObstruction)?e._i(e.shape.visionObstruction,null)>-1:e.shape.visionObstruction},on:{change:[function(t){var i=e.shape.visionObstruction,n=t.target,s=!!n.checked;if(Array.isArray(i)){var o=null,r=e._i(i,o);n.checked?r<0&&e.$set(e.shape,"visionObstruction",i.concat([o])):r>-1&&e.$set(e.shape,"visionObstruction",i.slice(0,r).concat(i.slice(r+1)))}else e.$set(e.shape,"visionObstruction",s)},e.setVisionBlocker]}}),i("label",{attrs:{for:"shapeselectiondialog-moveblocker"}},[e._v("Blocks movement")]),i("input",{staticStyle:{"grid-column-start":"remove",width:"15px",height:"15px"},attrs:{type:"checkbox",id:"shapeselectiondialog-moveblocker"},domProps:{checked:e.shape.movementObstruction},on:{click:e.setMovementBlocker}}),i("div",{staticClass:"spanrow header"},[e._v("Access")]),e._l(e.shape.owners,function(t){return[i("input",{key:t,staticStyle:{"grid-column-start":"name"},attrs:{type:"text",placeholder:"name"},domProps:{value:t},on:{change:function(i){e.updateOwner(i,t)}}}),""!==t?i("div",{key:"remove-"+t,staticStyle:{"grid-column-start":"remove"},on:{click:function(i){e.removeOwner(t)}}},[i("i",{staticClass:"fas fa-trash-alt"})]):e._e()]}),i("div",{staticClass:"spanrow header"},[e._v("Trackers")]),e._l(e.shape.trackers,function(t){return[i("input",{directives:[{name:"model",rawName:"v-model",value:t.name,expression:"tracker.name"}],key:"name-"+t.uuid,staticStyle:{"grid-column-start":"name"},attrs:{type:"text",placeholder:"name"},domProps:{value:t.name},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"name",i.target.value)}}}),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.value,expression:"tracker.value",modifiers:{number:!0}}],key:"value-"+t.uuid,attrs:{type:"text",title:"Current value"},domProps:{value:t.value},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"value",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("span",{key:"fspan-"+t.uuid},[e._v("/")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.maxvalue,expression:"tracker.maxvalue",modifiers:{number:!0}}],key:"maxvalue-"+t.uuid,attrs:{type:"text",title:"Current value"},domProps:{value:t.maxvalue},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"maxvalue",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("span",{key:"sspan-"+t.uuid}),i("div",{key:"visibility-"+t.uuid,style:{opacity:t.visible?1:.3},on:{click:function(i){t.visible=!t.visible,e.updateShape(!1)}}},[i("i",{staticClass:"fas fa-eye"})]),i("span",{key:"tspan-"+t.uuid}),""!==t.name||0!==t.value?i("div",{key:"remove-"+t.uuid,on:{click:function(i){e.removeTracker(t.uuid)}}},[i("i",{staticClass:"fas fa-trash-alt"})]):e._e()]}),i("div",{staticClass:"spanrow header"},[e._v("Auras")]),e._l(e.shape.auras,function(t){return[i("input",{directives:[{name:"model",rawName:"v-model",value:t.name,expression:"aura.name"}],key:"name-"+t.uuid,staticStyle:{"grid-column-start":"name"},attrs:{type:"text",placeholder:"name"},domProps:{value:t.name},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"name",i.target.value)}}}),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.value,expression:"aura.value",modifiers:{number:!0}}],key:"value-"+t.uuid,attrs:{type:"text",title:"Current value"},domProps:{value:t.value},on:{change:function(t){e.updateShape(!0)},input:function(i){i.target.composing||e.$set(t,"value",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("span",{key:"fspan-"+t.uuid},[e._v("/")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.dim,expression:"aura.dim",modifiers:{number:!0}}],key:"dimvalue-"+t.uuid,attrs:{type:"text",title:"Dim value"},domProps:{value:t.dim},on:{change:function(t){e.updateShape(!0)},input:function(i){i.target.composing||e.$set(t,"dim",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("color-picker",{key:"colour-"+t.uuid,attrs:{color:t.colour},on:{"update:color":function(i){e.$set(t,"colour",i)},input:function(i){e.updateAuraColour(t,i)},change:function(t){e.updateShape(!0)}}}),i("div",{key:"visibility-"+t.uuid,style:{opacity:t.visible?1:.3},on:{click:function(i){t.visible=!t.visible,e.updateShape(!0)}}},[i("i",{staticClass:"fas fa-eye"})]),i("div",{key:"visionsource-"+t.uuid,style:{opacity:t.visionSource?1:.3},on:{click:function(i){e.updateAuraVisionSource(t)}}},[i("i",{staticClass:"fas fa-lightbulb"})]),""!==t.name||0!==t.value?i("div",{key:"remove-"+t.uuid,on:{click:function(i){e.removeAura(t.uuid)}}},[i("i",{staticClass:"fas fa-trash-alt"})]):e._e()]}),i("div",{staticClass:"spanrow header"},[e._v("Annotation")]),i("textarea",{staticClass:"spanrow",domProps:{value:e.shape.annotation},on:{change:e.updateAnnotation}})],2)])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"4bc3":function(e,t,i){"use strict";i.r(t);var n=i("2baf"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},5050:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return void 0!==e.getActiveLayer()?i("ContextMenu",{attrs:{visible:e.visible,left:e.x+"px",top:e.y+"px"},on:{close:e.close}},[e.getLayers().length>1?i("li",[e._v("Layer\n "),i("ul",e._l(e.getLayers(),function(t){return i("li",{key:t.name,style:[e.getActiveLayer().name===t.name?{"background-color":"#82c8a0"}:{}],on:{click:function(i){e.setLayer(t.name)}}},[e._v(e._s(t.name))])}))]):e._e(),i("li",{on:{click:e.moveToBack}},[e._v("Move to back")]),i("li",{on:{click:e.moveToFront}},[e._v("Move to front")]),i("li",{on:{click:e.addInitiative}},[e._v(e._s(e.getInitiativeWord())+" initiative")])]):e._e()},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"52a8":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=i("60a3");let a=class extends s.default{constructor(){super(...arguments),this.positioned=!1,this.offsetX=0,this.offsetY=0,this.screenX=0,this.screenY=0,this.dragging=!1}mounted(){this.updatePosition()}updated(){this.updatePosition()}close(e){this.$emit("close")}updatePosition(){if(!this.positioned){const e=this.$refs.container;if(0===e.offsetWidth&&0===e.offsetHeight)return;this.$refs.container.style.left=(window.innerWidth-e.offsetWidth)/2+"px",this.$refs.container.style.top=(window.innerHeight-e.offsetHeight)/2+"px",this.positioned=!0}}dragStart(e){null!==e&&null!==e.dataTransfer&&(e.dataTransfer.setData("Hack",""),e.dataTransfer.setDragImage(this.$refs.container,e.offsetX,e.offsetY),this.offsetX=e.offsetX,this.offsetY=e.offsetY,this.screenX=e.screenX,this.screenY=e.screenY,this.dragging=!0)}dragEnd(e){this.dragging=!1;let t=e.clientX-this.offsetX,i=e.clientY-this.offsetY;0===e.clientX&&0===e.clientY&&0===e.pageX&&0===e.pageY&&(t=parseInt(this.$refs.container.style.left,10)-(this.screenX-e.screenX),i=parseInt(this.$refs.container.style.top,10)-(this.screenY-e.screenY)),t<0&&(t=0),t>window.innerWidth-100&&(t=window.innerWidth-100),i<0&&(i=0),i>window.innerHeight-100&&(i=window.innerHeight-100),this.$refs.container.style.left=t+"px",this.$refs.container.style.top=i+"px",this.$refs.container.style.display="block"}dragOver(e){this.dragging&&(this.$refs.container.style.display="none")}};n.__decorate([r.Prop(Boolean)],a.prototype,"visible",void 0),n.__decorate([r.Prop({type:Boolean,default:!0})],a.prototype,"mask",void 0),a=n.__decorate([o.default],a),t.default=a},5338:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("8055")),o=i("2d5b");t.socket=s.default(location.protocol+"//"+location.host+"/pa_assetmgmt",{autoConnect:!1}),t.socket.on("connect",()=>{console.log("Connected")}),t.socket.on("disconnect",()=>{console.log("Disconnected")}),t.socket.on("redirect",e=>{console.log("redirecting"),window.location.href=e}),t.socket.on("Folder.Root.Set",e=>{o.assetStore.setRoot(e)}),t.socket.on("Folder.Set",e=>{if(o.assetStore.clear(),e.children)for(const t of e.children)o.assetStore.idMap.set(t.id,t),t.file_hash?o.assetStore.files.push(t.id):o.assetStore.folders.push(t.id)}),t.socket.on("Folder.Create",e=>{o.assetStore.folders.push(e.id),o.assetStore.idMap.set(e.id,e)}),t.socket.on("Asset.Upload.Finish",e=>{o.assetStore.idMap.set(e.id,e),o.assetStore.files.push(e.id)})},"550a":function(e,t,i){"use strict";var n=i("f8a4"),s=i.n(n);s.a},"561b":function(e,t,i){"use strict";var n=i("a450"),s=i.n(n);s.a},5722:function(e,t,i){},"574e":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("8db6"),o=i("2469"),r=i("92b1"),a=i("5a5c");class l extends o.Shape{constructor(e,t,i,n,s){super(e,"rgba(0, 0, 0, 0)",n||"#000",s),this.type="multiline",this._points=[],this._points=t||[],this.lineWidth=i||3}asDict(){return Object.assign(this.getBaseDict(),{line_width:this.lineWidth,points:this._points.map(e=>({x:e.x,y:e.y}))})}get points(){return this._points.map(e=>[e.x,e.y])}getBoundingBox(){let e=this.refPoint.x,t=this.refPoint.y,i=this.refPoint.x,o=this.refPoint.y;for(const n of this._points)n.xt&&(t=n.x),n.yo&&(o=n.y);return new s.BoundingRect(new n.GlobalPoint(e,i),t-e,o-i)}draw(e){super.draw(e),e.beginPath(),e.lineCap="round",e.lineJoin="round",e.moveTo(r.g2lx(this.refPoint.x),r.g2ly(this.refPoint.y));for(const t of this._points)e.lineTo(r.g2lx(t.x),r.g2ly(t.y));"fog"===this.strokeColour?e.strokeStyle=a.getFogColour():e.strokeStyle=this.strokeColour,e.lineWidth=r.g2lz(this.lineWidth),e.stroke()}contains(e){return this._points.includes(e)}center(e){}getCorner(e){return""}visibleInCanvas(e){return!0}snapToGrid(){}resizeToGrid(){}resize(e,t){}}t.MultiLine=l},"58c7":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"outer",on:{click:function(t){return t.target!==t.currentTarget?null:e.open(t)}}},[i("div",{staticClass:"current-color",style:e.transparent?"background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)":"background-color:"+e.color,on:{click:function(t){return t.target!==t.currentTarget?null:e.open(t)}}}),i("div",{directives:[{name:"show",rawName:"v-show",value:e.display,expression:"display"}],staticClass:"mask",on:{click:function(t){return t.target!==t.currentTarget?null:e.closePicker(t)}}}),i("chrome-picker",{directives:[{name:"show",rawName:"v-show",value:e.display,expression:"display"}],ref:"chromePicker",style:{position:"fixed",left:e.left+"px",top:e.top+"px","z-index":9999},attrs:{value:e.color,tabindex:"-1"},on:{input:e.updateColor}})],1)},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"59d8":function(e,t,i){"use strict";i.r(t);var n=i("605b"),s=i("6f8d");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("cec8");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"7abc7fe9",null);a.options.__file="draw.vue",t["default"]=a.exports},"5a5c":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("66cb")),o=i("8f0a"),r=i("f10f");function a(e){return new o.LocalPoint(e.pageX,e.pageY)}function l(e=!1){const t=s.default(r.gameStore.fowColour);return r.gameStore.IS_DM?t.setAlpha(e?1:r.gameStore.fowOpacity):t.setAlpha(1),t.toRgbString()}t.getMouse=a,t.getFogColour=l},"5a81":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importStar(i("66cb")),o=n.__importDefault(i("a026")),r=n.__importDefault(i("65d9")),a=i("2f62"),l=n.__importDefault(i("3b36")),c=n.__importDefault(i("d65f")),u=i("4a5b"),d=i("8f0a"),h=i("6f92"),f=i("1327"),p=i("f10f"),g=i("92b1"),v=i("60a3");let m=class extends o.default{constructor(){super(...arguments),this.x=0,this.y=0,this.visible=!1,this.text="X",this.fillColour="rgba(255, 255, 255, 1)",this.borderColour="rgba(0, 0, 0, 1)"}mounted(){this.updatePreview()}onTextChange(e,t){this.updatePreview()}onFillChange(e,t){this.updatePreview()}onBorderChange(e,t){this.updatePreview()}open(e,t){this.visible=!0,this.x=e,this.y=t}submit(){const e=h.layerManager.getLayer();if(void 0===e)return;const t=new f.CircularToken(g.l2g(new d.LocalPoint(this.x,this.y)),g.getUnitDistance(p.gameStore.unitSize/2),this.text,"10px serif",this.fillColour,this.borderColour);t.owners.push(p.gameStore.username),e.addShape(t,!0),e.invalidate(!1),this.visible=!1}updatePreview(){const e=this.$refs.canvas.getContext("2d");e.clearRect(0,0,e.canvas.width,e.canvas.height),e.beginPath();const t={x:e.canvas.width/2,y:e.canvas.height/2},i=.9*Math.min(t.x,t.y);e.fillStyle=this.fillColour,e.arc(t.x,t.y,i,0,2*Math.PI),e.fill(),"rgba(0, 0, 0, 0)"!==this.borderColour&&(e.beginPath(),e.lineWidth=5,e.strokeStyle=this.borderColour,e.arc(t.x,t.y,i,0,2*Math.PI),e.stroke()),e.save(),e.textAlign="center",e.textBaseline="middle";const n=u.calcFontScale(e,this.text,i,i),o=0;e.transform(n,o,-o,n,t.x,t.y),e.fillStyle=s.mostReadable(this.fillColour,["#000","#fff"]).toHexString(),e.fillText(this.text,0,0),e.restore()}};n.__decorate([v.Watch("text")],m.prototype,"onTextChange",null),n.__decorate([v.Watch("fillColour")],m.prototype,"onFillChange",null),n.__decorate([v.Watch("borderColour")],m.prototype,"onBorderChange",null),m=n.__decorate([r.default({components:{Modal:c.default,"color-picker":l.default},computed:Object.assign({},a.mapState("game",["unitSize"]))})],m),t.default=m},"5ae5":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("d65f")),a=i("4a5b"),l=i("f10f");let c=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.note=null}open(e){this.visible=!0,this.note=e}calcHeight(){if(this.$refs.textarea){const e=this.$refs.textarea;return e.style.height="auto",e.style.height=e.scrollHeight+"px",e.scrollHeight+"px"}return"100px"}updateNote(){this.note&&l.gameStore.updateNote({note:this.note,sync:!0})}removeNote(){a.getRef("confirm").open("Are you sure you wish to remove this?").then(e=>{e&&this.note&&(l.gameStore.removeNote({note:this.note,sync:!0}),this.visible=!1)},()=>{})}};c=n.__decorate([o.default({components:{Modal:r.default}})],c),t.default=c},"5b4c":function(e,t,i){"use strict";var n=i("c6fe"),s=i.n(n);s.a},"5b69":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("65d9")),o=i("60a3"),r=n.__importDefault(i("3b36")),a=n.__importDefault(i("ea6a")),l=i("0bc6"),c=i("8f0a"),u=i("6f92"),d=i("4709"),h=i("574e"),f=i("b2ed"),p=i("f10f"),g=i("92b1"),v=i("5a5c");let m=class extends a.default{constructor(){super(...arguments),this.name="Draw",this.active=!1,this.startPoint=null,this.shape=null,this.brushHelper=null,this.fillColour="rgba(0, 0, 0, 1)",this.borderColour="rgba(255, 255, 255, 0)",this.shapeSelect="square",this.shapes=["square","circle","paint-brush"],this.modeSelect="normal",this.modes=["normal","reveal","hide"],this.brushSize=g.getUnitDistance(p.gameStore.unitSize)}get helperSize(){return"paint-brush"===this.shapeSelect?this.brushSize/2:g.getUnitDistance(this.unitSize)/8}get IS_DM(){return p.gameStore.IS_DM}get unitSize(){return p.gameStore.unitSize}get useGrid(){return p.gameStore.useGrid}onFillChange(){this.brushHelper&&(this.brushHelper.fillColour=this.fillColour)}onModeUpdate(e,t){this.onModeChange(e,t)}setupBrush(){null!==this.brushHelper&&("reveal"===this.modeSelect||"hide"===this.modeSelect?(this.brushHelper.options.set("preFogShape",!0),this.brushHelper.options.set("skipDraw",!0),this.brushHelper.fillColour="rgba(0, 0, 0, 1)","reveal"===this.modeSelect?this.brushHelper.globalCompositeOperation="source-over":"hide"===this.modeSelect&&(this.brushHelper.globalCompositeOperation="destination-out")):(this.brushHelper.options.delete("preFogShape"),this.brushHelper.options.delete("skipDraw"),this.brushHelper.globalCompositeOperation="source-over",this.brushHelper.fillColour=this.fillColour))}onModeChange(e,t){if(null===this.brushHelper)return;const i=u.layerManager.getLayer("fow"),n=u.layerManager.getLayer();void 0!==i&&void 0!==n&&(this.setupBrush(),"normal"!==e&&"normal"===t?(n.removeShape(this.brushHelper,!1),i.addShape(this.brushHelper,!1)):"normal"===e&&"normal"!==t&&(n.addShape(this.brushHelper,!1),i.removeShape(this.brushHelper,!1)))}getLayer(){return"normal"===this.modeSelect?u.layerManager.getLayer():u.layerManager.getLayer("fow")}onMouseDown(e){const t=this.getLayer();if(void 0!==t){if(this.active=!0,this.startPoint=g.l2g(v.getMouse(e)),"square"===this.shapeSelect)this.shape=new f.Rect(this.startPoint.clone(),0,0,this.fillColour,this.borderColour);else if("circle"===this.shapeSelect)this.shape=new d.Circle(this.startPoint.clone(),this.helperSize,this.fillColour,this.borderColour);else{if("paint-brush"!==this.shapeSelect)return;this.shape=new h.MultiLine(this.startPoint.clone(),[],this.brushSize),this.shape.fillColour=this.fillColour}"normal"!==this.modeSelect&&(this.shape.options.set("preFogShape",!0),this.shape.options.set("skipDraw",!0),this.shape.fillColour="rgba(0, 0, 0, 1)"),"reveal"===this.modeSelect?this.shape.globalCompositeOperation="source-over":"hide"===this.modeSelect&&(this.shape.globalCompositeOperation="destination-out"),this.shape.owners.push(p.gameStore.username),"fow"===t.name&&"normal"===this.modeSelect&&(this.shape.visionObstruction=!0,this.shape.movementObstruction=!0),p.gameStore.visionBlockers.push(this.shape.uuid),t.addShape(this.shape,!0,!1),this.onDeselect(),this.onSelect()}else console.log("No active layer!")}onMouseMove(e){const t=g.l2g(v.getMouse(e)),i=this.getLayer();void 0!==i?(null!==this.brushHelper&&(this.brushHelper.r=this.helperSize,this.brushHelper.refPoint=t,this.active||i.invalidate(!1)),this.active&&null!==this.startPoint&&null!==this.shape&&("square"===this.shapeSelect?(this.shape.w=Math.abs(t.x-this.startPoint.x),this.shape.h=Math.abs(t.y-this.startPoint.y),this.shape.refPoint.x=Math.min(this.startPoint.x,t.x),this.shape.refPoint.y=Math.min(this.startPoint.y,t.y)):"circle"===this.shapeSelect?this.shape.r=t.subtract(this.startPoint).length():"paint-brush"===this.shapeSelect&&this.shape._points.push(t),l.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:!0,temporary:!0}),this.shape.visionObstruction&&p.gameStore.recalculateBV(!0),i.invalidate(!1))):console.log("No active layer!")}onMouseUp(e){this.active&&null!==this.shape&&(!e.altKey&&this.useGrid&&this.shape.resizeToGrid(),this.shape.visionObstruction&&p.gameStore.recalculateBV(),l.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:!0,temporary:!1}),this.active=!1)}onSelect(){const e=this.getLayer();void 0!==e&&(this.brushHelper=new d.Circle(new c.GlobalPoint(-1e3,-1e3),this.brushSize/2,this.fillColour),this.setupBrush(),e.addShape(this.brushHelper,!1))}onDeselect(){const e=this.getLayer();null!==this.brushHelper&&void 0!==e&&e.removeShape(this.brushHelper,!1)}};n.__decorate([o.Watch("fillColour")],m.prototype,"onFillChange",null),n.__decorate([o.Watch("modeSelect")],m.prototype,"onModeUpdate",null),m=n.__decorate([s.default({components:{"color-picker":r.default}})],m),t.default=m},"5e17":function(e,t,i){},"5e7c":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("8db6"),o=i("2469"),r=i("92b1");class a extends o.Shape{constructor(e,t,i,n,s){super(e,"rgba(0, 0, 0, 0)",n||"#000",s),this.type="line",this.endPoint=t,this.lineWidth=void 0===i?1:i}asDict(){return Object.assign(this.getBaseDict(),{x2:this.endPoint.x,y2:this.endPoint.y,line_width:this.lineWidth})}get points(){return[[this.refPoint.x,this.refPoint.y],[this.endPoint.x,this.endPoint.y]]}getBoundingBox(){return new s.BoundingRect(new n.GlobalPoint(Math.min(this.refPoint.x,this.endPoint.x),Math.min(this.refPoint.x,this.endPoint.y)),Math.abs(this.refPoint.x-this.endPoint.x),Math.abs(this.refPoint.y-this.endPoint.y))}draw(e){super.draw(e),e.strokeStyle=this.strokeColour,e.beginPath(),e.moveTo(r.g2lx(this.refPoint.x),r.g2ly(this.refPoint.y)),e.lineTo(r.g2lx(this.endPoint.x),r.g2ly(this.endPoint.y)),e.lineWidth=this.lineWidth,e.stroke()}contains(e){return!1}center(e){}getCorner(e){return""}visibleInCanvas(e){return!0}snapToGrid(){}resizeToGrid(){}resize(e,t){}}t.Line=a},"5f86":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("bc3a")),o=n.__importDefault(i("a026")),r=n.__importDefault(i("8c4f"));o.default.use(r.default);const a=n.__importDefault(i("e914")),l=n.__importDefault(i("1077")),c=n.__importDefault(i("cad7")),u=n.__importDefault(i("47f7")),d=n.__importDefault(i("c6b4")),h=n.__importDefault(i("07f5")),f=n.__importDefault(i("ce87")),p=i("cc67");t.router=new r.default({mode:"history",base:"/",routes:[{path:"/",redirect:"/dashboard"},{path:"/_load",name:"load",component:u.default},{path:"/assets",component:a.default,meta:{auth:!0}},{path:"/auth",component:{template:""},children:[{path:"login",component:l.default},{path:"logout",component:c.default}]},{path:"/invite/:code",component:f.default,meta:{auth:!0}},{path:"/dashboard",component:d.default,meta:{auth:!0}},{path:"/game/:creator/:room",component:h.default,meta:{auth:!0}}]}),t.router.beforeEach((e,i,n)=>{p.coreStore.initialized||"/_load"===e.path?e.matched.some(e=>e.meta.auth)&&!p.coreStore.authenticated?n({path:"/auth/login",query:{redirect:e.path}}):n():(n({path:"/_load"}),s.default.get("/api/auth").then(i=>{i.data.auth&&(p.coreStore.setAuthenticated(!0),p.coreStore.setUsername(i.data.username)),p.coreStore.setInitialized(!0),t.router.push(e.path)}).catch(()=>{console.error("Authentication check could not be fulfilled.")}))})},"5fa9":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9"));let r=class extends s.default{constructor(){super(...arguments),this.name="",this.selected=!1,this.active=!1}get detailRight(){const e=this.$parent.$refs[this.name+"-selector"][0].getBoundingClientRect(),t=e.left+e.width/2;return`${window.innerWidth-Math.min(window.innerWidth-25,t+75)}px`}get detailArrow(){const e=this.$parent.$refs[this.name+"-selector"][0].getBoundingClientRect(),t=e.left+e.width/2,i=Math.min(window.innerWidth-25,t+75);return`${i-t-14}px`}created(){this.$parent.$on("mousedown",(e,t)=>{t===this.name&&this.onMouseDown(e)}),this.$parent.$on("mouseup",(e,t)=>{t===this.name&&this.onMouseUp(e)}),this.$parent.$on("mousemove",(e,t)=>{t===this.name&&this.onMouseMove(e)}),this.$parent.$on("contextmenu",(e,t)=>{t===this.name&&this.onContextMenu(e)}),this.$parent.$on("tools-select-change",(e,t)=>{t===this.name?(this.selected=!1,this.onDeselect()):e===this.name&&(this.selected=!0,this.onSelect())})}onSelect(){}onDeselect(){}onMouseDown(e){}onMouseUp(e){}onMouseMove(e){}onContextMenu(e){}};r=n.__decorate([o.default],r),t.default=r},"605b":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.selected?i("div",{staticClass:"tool-detail",style:{"--detailRight":e.detailRight,"--detailArrow":e.detailArrow}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.IS_DM,expression:"IS_DM"}]},[e._v("Mode")]),i("div",{directives:[{name:"show",rawName:"v-show",value:e.IS_DM,expression:"IS_DM"}],staticClass:"selectgroup"},e._l(e.modes,function(t){return i("div",{key:t,staticClass:"option",class:{"option-selected":e.modeSelect===t},on:{click:function(i){e.modeSelect=t}}},[e._v(e._s(t))])})),i("div",[e._v("Shape")]),i("div",{staticClass:"selectgroup"},e._l(e.shapes,function(t){return i("div",{key:t,staticClass:"option",class:{"option-selected":e.shapeSelect===t},on:{click:function(i){e.shapeSelect=t}}},[i("i",{staticClass:"fas",class:"fa-"+t})])})),i("div",[e._v("Colours")]),i("div",{staticClass:"selectgroup"},[i("color-picker",{staticClass:"option",attrs:{color:e.fillColour},on:{"update:color":function(t){e.fillColour=t}}}),i("color-picker",{staticClass:"option",attrs:{color:e.borderColour},on:{"update:color":function(t){e.borderColour=t}}})],1),i("div",{directives:[{name:"show",rawName:"v-show",value:"paint-brush"===e.shapeSelect,expression:"shapeSelect === 'paint-brush'"}]},[e._v("Brush size")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.brushSize,expression:"brushSize"},{name:"show",rawName:"v-show",value:"paint-brush"===e.shapeSelect,expression:"shapeSelect === 'paint-brush'"}],staticStyle:{"max-width":"100px"},attrs:{type:"text"},domProps:{value:e.brushSize},on:{input:function(t){t.target.composing||(e.brushSize=t.target.value)}}})]):e._e()},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},6100:function(e,t,i){"use strict";i.r(t);var n=i("8a30"),s=i("e94f");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("550a");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"1fee50f5",null);a.options.__file="tools.vue",t["default"]=a.exports},6465:function(e,t,i){"use strict";i.r(t);var n=i("5fa9"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"64a9":function(e,t,i){},"6c30":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("c266"),s=i("f10f"),o=i("92b1");class r extends n.BaseRect{constructor(e,t,i,n,s){super(t,i,n),this.type="assetrect",this.src="",void 0!==s&&(this.uuid=s),this.img=e}asDict(){return Object.assign(this.getBaseDict(),{src:this.src})}fromDict(e){super.fromDict(e),this.src=e.src}draw(e){super.draw(e);try{e.drawImage(this.img,o.g2lx(this.refPoint.x),o.g2ly(this.refPoint.y),o.g2lz(this.w),o.g2lz(this.h))}catch(t){console.warn(`Shape ${this.uuid} could not load the image ${this.src}`)}}getInitiativeRepr(){return{uuid:this.uuid,visible:!s.gameStore.IS_DM,group:!1,source:this.src,has_img:!0,effects:[],index:1/0}}}t.Asset=r},"6e4a":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("98ef"),s=i("4aee");class o{constructor(){this.tds=new n.TDS,window.TDS=this.tds}insertConstraint(e,t){const i=this.insert(e),n=this.insert(t);i!==n&&this.insertConstraintV(i,n)}insertConstraintV(e,t){const i=[[e,t]];while(i.length>0){const e=i.pop(),t=s.edgeInfo(e[0],e[1]);if(t.includes){this.markConstraint(t.fr,t.i),t.vi!==e[1]&&i.push([t.vi,e[1]]);continue}const n=this.findIntersectedFaces(e[0],e[1]);n.found?n.vi!==e[0]&&n.vi!==e[1]?(i.push([e[0],n.vi]),i.push([n.vi,e[1]])):i.push(e):(this.triangulateHole(n.intersectedFaces,n.listAB,n.listBA),n.vi!==e[1]&&i.push([n.vi,e[1]]))}}triangulateHole(e,t,i){const n=[];this.triangulateHole2(e,t,i,n),this.propagatingFlipE(n)}triangulateHole2(e,t,i,n){if(t.length>0){this.triangulateHalfHole(t,n),this.triangulateHalfHole(i,n);const s=t[0][0],o=i[0][0];s.neighbours[2]=o,o.neighbours[2]=s,s.constraints[2]=!0,o.constraints[2]=!0;while(e.length>0)this.tds.deleteTriangle(e.shift())}}triangulateHalfHole(e,t){let i,o,r=0;const a=()=>e[r],l=()=>e[i],c=a()[0].vertices[s.ccw(a()[1])];let u,d,h,f,p,g;i=r,++i;do{d=a()[0],p=a()[1],null!==d.neighbours[p]&&(u=d.neighbours[p],f=s.cw(u.indexV(d.vertices[s.cw(p)])),d=u.neighbours[f],p=this.tds.mirrorIndex(u,f)),h=l()[0],g=l()[1],null!==h.neighbours[g]&&(u=h.neighbours[g],f=s.cw(u.indexV(h.vertices[s.cw(g)])),h=u.neighbours[f],g=this.tds.mirrorIndex(u,f));const v=d.vertices[s.ccw(p)],m=d.vertices[s.cw(p)],y=h.vertices[s.cw(g)],b=s.orientation(v.point,m.point,y.point);switch(b){case n.Sign.RIGHT_TURN:{const n=this.tds.createTriangle(v,y,m,null,null,null);t.push([n,2]),n.neighbours[1]=d,n.neighbours[0]=h,d.neighbours[p]=n,h.neighbours[g]=n,d.isConstrained(p)&&(n.constraints[1]=!0),h.isConstrained(g)&&(n.constraints[0]=!0),v.triangle=n,m.triangle=n,y.triangle=n,o=r+1,e.splice(r,0,[n,2]),e.splice(Math.max(o,i),1),e.splice(Math.min(o,i),1),i=r,v!==c?--r:++i;break}case n.Sign.LEFT_TURN:case n.Sign.COLLINEAR:++r,++i;break}}while(i0){t=r[0][0],a=r[0][1],l=t.neighbours[a],c=this.tds.mirrorIndex(t,a),u=[t,a],r.splice(r.findIndex(e=>e[0]===u[0]&&e[1]===u[1]),1),d[0]=[t,s.cw(a)],d[1]=[t,s.ccw(a)],d[2]=[l,s.cw(c)],d[3]=[l,s.ccw(c)];for(const e of d){const t=e[0],i=e[1];this.isFlipable(t,i)&&(n=[t.neighbours[i],this.tds.mirrorIndex(t,i)],this.lessEdge(e,n)?r.push(e):r.push(n))}}}flip(e,t){const i=e.neighbours[t],n=this.tds.mirrorIndex(e,t),o=e.neighbours[s.cw(t)],r=this.tds.mirrorIndex(e,s.cw(t)),a=e.neighbours[s.ccw(t)],l=this.tds.mirrorIndex(e,s.ccw(t)),c=i.neighbours[s.cw(n)],u=this.tds.mirrorIndex(i,s.cw(n)),d=i.neighbours[s.ccw(n)],h=this.tds.mirrorIndex(i,s.ccw(n));this.tds.flip(e,t),e.constraints[e.indexT(i)]=!1,i.constraints[i.indexT(e)]=!1,o.neighbours[r].constraints[this.tds.mirrorIndex(o,r)]=o.constraints[r],a.neighbours[l].constraints[this.tds.mirrorIndex(a,l)]=a.constraints[l],c.neighbours[u].constraints[this.tds.mirrorIndex(c,u)]=c.constraints[u],d.neighbours[h].constraints[this.tds.mirrorIndex(d,h)]=d.constraints[h]}isFlipable(e,t,i=!0){const o=e.neighbours[t];return!e.isInfinite()&&!o.isInfinite()&&(!e.constraints[t]&&s.sideOfOrientedCircle(o,e.vertices[t].point,i)===n.Sign.ON_POSITIVE_SIDE)}insertb(e,t,i,o){let r,a,l=!1;i===n.LocateType.EDGE&&t.isConstrained(o)&&(l=!0,r=t.vertices[s.ccw(o)],a=t.vertices[s.cw(o)]);const c=this.insertc(e,t,i,o);return l?this.updateConstraintsIncident(c,r,a):i!==n.LocateType.VERTEX&&this.clearConstraintsIncident(c),2===this.tds.dimension&&this.updateConstraintsOpposite(c),c}updateConstraintsIncident(e,t,i){if(0!==this.tds.dimension)if(1===this.tds.dimension){const t=new n.EdgeCirculator(e,null);do{t.t.constraints[2]=!0}while(t.next())}else{const o=new n.FaceCirculator(e,null);do{const n=o.t.indexV(e),r=s.cw(n),a=s.ccw(n);o.t.vertices[r]===t||o.t.vertices[r]===i?(o.t.constraints[a]=!0,o.t.constraints[r]=!1):(o.t.constraints[a]=!1,o.t.constraints[r]=!0)}while(o.next())}}clearConstraintsIncident(e){const t=new n.EdgeCirculator(e,null);if(t.valid)do{const e=t.t,i=t.ri;e.constraints[i]=!1,2===this.tds.dimension&&(e.neighbours[i].constraints[this.tds.mirrorIndex(e,i)]=!1)}while(t.next())}insertc(e,t,i,s){if(1===this.tds.vertices.length)return this.insertFirst(e);if(2===this.tds.vertices.length)return i===n.LocateType.VERTEX?this.tds.finiteVertex:this.insertSecond(e);switch(i){case n.LocateType.VERTEX:return t.vertices[s];case n.LocateType.OUTSIDE_AFFINE_HULL:return this.insertOutsideAffineHull(e);case n.LocateType.OUTSIDE_CONVEX_HULL:return this.insertOutsideConvexHull(e,t);case n.LocateType.EDGE:return this.insertInEdge(e,t,s);case n.LocateType.FACE:return this.insertInFace(e,t)}throw new Error("qwe")}insertInEdge(e,t,i){const n=this.tds.insertInEdge(t,i);return n.point=e,n}insertInFace(e,t){const i=this.tds.insertInFace(t);return i.point=e,i}insertFirst(e){const t=this.tds.insertDimUp();return t.point=e,t}insertSecond(e){const t=this.tds.insertDimUp(this.tds._infinite,!0);return t.point=e,t}insertOutsideAffineHull(e){let t=!1;if(1===this.tds.dimension){const i=this.tds.finiteEdge.first,o=s.orientation(i.vertices[0].point,i.vertices[1].point,e);t=o===n.Sign.COUNTERCLOCKWISE}const i=this.tds.insertDimUp(this.tds._infinite,t);return i.point=e,i}insertOutsideConvexHull(e,t){let i;if(1===this.tds.dimension)throw new Error("sdfasdasd");return i=this.insertOutsideConvexHull2(e,t),i.point=e,i}insertOutsideConvexHull2(e,t){let i=t.indexV(this.tds._infinite);const o=[],r=[];let a=new n.FaceCirculator(this.tds._infinite,t),l=!1;while(!l){a.prev(),i=a.t.indexV(this.tds._infinite);const t=a.t.vertices[s.ccw(i)].point,r=a.t.vertices[s.cw(i)].point;s.orientation(e,t,r)===n.Sign.LEFT_TURN?o.push(a.t):l=!0}a=new n.FaceCirculator(this.tds._infinite,t),l=!1;while(!l){a.next(),i=a.t.indexV(this.tds._infinite);const t=a.t.vertices[s.ccw(i)].point,o=a.t.vertices[s.cw(i)].point;s.orientation(e,t,o)===n.Sign.LEFT_TURN?r.push(a.t):l=!0}const c=this.tds.insertInFace(t);let u;c.point=e;while(o.length>0)u=o[0],i=s.ccw(u.indexV(this.tds._infinite)),this.tds.flip(u,i),o.shift();while(r.length>0)u=r[0],i=s.cw(u.indexV(this.tds._infinite)),this.tds.flip(u,i),r.shift();a=new n.FaceCirculator(c,null);while(!a.t.isInfinite())a.next();return this.tds._infinite.triangle=a.t,c}locate(e,t){let i=0,o=0;if(this.tds.dimension<0)return i=n.LocateType.OUTSIDE_AFFINE_HULL,o=4,{loc:null,lt:i,li:o};if(0===this.tds.dimension)return i=s.xyEqual(e,this.tds.finiteVertex.triangle.vertices[0].point)?n.LocateType.VERTEX:n.LocateType.OUTSIDE_AFFINE_HULL,o=4,{loc:null,lt:i,li:o};if(1===this.tds.dimension)return this.marchLocate1D(e);if(null===t){const e=this.tds._infinite.triangle;t=e.neighbours[e.indexV(this.tds._infinite)]}else t.isInfinite()&&(t=t.neighbours[t.indexV(this.tds._infinite)]);return this.marchLocate2D(t,e)}marchLocate1D(e){const t=this.tds._infinite.triangle,i=t.indexV(this.tds._infinite),o=t.neighbours[i],r=s.orientation(o.vertices[0].point,o.vertices[1].point,e);if(r===n.Sign.RIGHT_TURN||r===n.Sign.LEFT_TURN)return{loc:new n.Triangle,lt:n.LocateType.OUTSIDE_AFFINE_HULL,li:4};const a=o.indexT(t);if(s.collinearBetween(e,o.vertices[1-a].point,o.vertices[a].point))return{loc:t,lt:n.LocateType.OUTSIDE_CONVEX_HULL,li:i};if(s.xyEqual(e,o.vertices[1-a].point))return{loc:o,lt:n.LocateType.VERTEX,li:1-a};throw new Error("sdfsdf")}marchLocate2D(e,t){let i,o,r=null,a=!0;while(1){if(e.isInfinite())return{loc:e,lt:n.LocateType.OUTSIDE_CONVEX_HULL,li:e.indexV(this.tds._infinite)};const l=Math.round(Math.random()),c=e.vertices[0].point,u=e.vertices[1].point,d=e.vertices[2].point;let h,f,p;if(a){if(r=e,a=!1,h=s.orientation(c,u,t),h===n.Sign.NEGATIVE){e=e.neighbours[2];continue}if(f=s.orientation(u,d,t),f===n.Sign.NEGATIVE){e=e.neighbours[0];continue}if(p=s.orientation(d,c,t),p===n.Sign.NEGATIVE){e=e.neighbours[1];continue}}else if(l)if(e.neighbours[0]===r){if(r=e,h=s.orientation(c,u,t),h===n.Sign.NEGATIVE){e=e.neighbours[2];continue}if(p=s.orientation(d,c,t),p===n.Sign.NEGATIVE){e=e.neighbours[1];continue}f=n.Sign.POSITIVE}else if(e.neighbours[1]===r){if(r=e,f=s.orientation(u,d,t),f===n.Sign.NEGATIVE){e=e.neighbours[0];continue}if(h=s.orientation(c,u,t),h===n.Sign.NEGATIVE){e=e.neighbours[2];continue}p=n.Sign.POSITIVE}else{if(r=e,p=s.orientation(d,c,t),p===n.Sign.NEGATIVE){e=e.neighbours[1];continue}if(f=s.orientation(u,d,t),f===n.Sign.NEGATIVE){e=e.neighbours[0];continue}h=n.Sign.POSITIVE}else if(e.neighbours[0]===r){if(r=e,p=s.orientation(d,c,t),p===n.Sign.NEGATIVE){e=e.neighbours[1];continue}if(h=s.orientation(c,u,t),h===n.Sign.NEGATIVE){e=e.neighbours[2];continue}f=n.Sign.POSITIVE}else if(e.neighbours[1]===r){if(r=e,h=s.orientation(c,u,t),h===n.Sign.NEGATIVE){e=e.neighbours[2];continue}if(f=s.orientation(u,d,t),f===n.Sign.NEGATIVE){e=e.neighbours[0];continue}p=n.Sign.POSITIVE}else{if(r=e,f=s.orientation(u,d,t),f===n.Sign.NEGATIVE){e=e.neighbours[0];continue}if(p=s.orientation(d,c,t),p===n.Sign.NEGATIVE){e=e.neighbours[1];continue}h=n.Sign.POSITIVE}const g=(h===n.Sign.COLLINEAR?1:0)+(f===n.Sign.COLLINEAR?1:0)+(p===n.Sign.COLLINEAR?1:0);switch(g){case 0:i=n.LocateType.FACE,o=4;break;case 1:i=n.LocateType.EDGE,o=h===n.Sign.COLLINEAR?2:f===n.Sign.COLLINEAR?0:1;break;case 2:i=n.LocateType.VERTEX,o=h!==n.Sign.COLLINEAR?2:f!==n.Sign.COLLINEAR?0:1;break}if(void 0===i||void 0===o)throw new Error("ert");return{loc:e,lt:i,li:o}}}iLocate(e,t){if(this.tds.dimension<2)return t;if(null===t){const e=this.tds._infinite.triangle;t=e.neighbours[e.indexV(this.tds._infinite)]}else t.isInfinite()&&(t=t.neighbours[t.indexV(this.tds._infinite)]);let i=null,n=t,o=!0,r=2500;while(1){if(!r--)return n;if(n.isInfinite())return n;const t=n.vertices[0].point,a=n.vertices[1].point,l=n.vertices[2].point;if(o){if(i=n,o=!1,s.hasInexactNegativeOrientation(t,a,e)){n=n.neighbours[2];continue}if(s.hasInexactNegativeOrientation(a,l,e)){n=n.neighbours[0];continue}if(s.hasInexactNegativeOrientation(l,t,e)){n=n.neighbours[1];continue}}else if(n.neighbours[0]===i){if(i=n,s.hasInexactNegativeOrientation(t,a,e)){n=n.neighbours[2];continue}if(s.hasInexactNegativeOrientation(l,t,e)){n=n.neighbours[1];continue}}else if(n.neighbours[1]===i){if(i=n,s.hasInexactNegativeOrientation(t,a,e)){n=n.neighbours[2];continue}if(s.hasInexactNegativeOrientation(a,l,e)){n=n.neighbours[0];continue}}else{if(i=n,s.hasInexactNegativeOrientation(l,t,e)){n=n.neighbours[1];continue}if(s.hasInexactNegativeOrientation(a,l,e)){n=n.neighbours[0];continue}}break}return n}}t.CDT=o},"6f83":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"menuContainer"}},[i("div",{ref:"rm",style:{left:e.visible.settings?"200px":"0",top:e.visible.locations?"100px":"0"},attrs:{id:"radialmenu"}},[i("div",{staticClass:"rm-wrapper"},[i("div",{staticClass:"rm-toggler"},[i("ul",{staticClass:"rm-list",class:{"rm-list-dm":e.IS_DM}},[e.IS_DM?i("li",{staticClass:"rm-item",attrs:{id:"rm-locations"},on:{click:function(t){e.visible.locations=!e.visible.locations}}},[e._m(0)]):e._e(),i("li",{staticClass:"rm-item",attrs:{id:"rm-settings"},on:{click:function(t){e.visible.settings=!e.visible.settings}}},[e._m(1)])])]),e._m(2)])]),i("transition",{attrs:{name:"settings"},on:{enter:function(t){e.$refs.rm.style.transition="left 500ms"}}},[e.visible.settings?i("div",{ref:"settings",attrs:{id:"menu"},on:{click:e.settingsClick}},[i("div",{staticStyle:{width:"200px",height:"90%","overflow-y":"auto","overflow-x":"hidden"}},[e.IS_DM?[i("button",{staticClass:"accordion"},[e._v("Assets")]),i("div",{staticClass:"accordion-panel"},[i("a",{staticClass:"actionButton",attrs:{href:"/assets",target:"blank",title:"Open asset manager"}},[i("i",{staticClass:"fas fa-external-link-alt"})]),i("div",{staticClass:"directory",attrs:{id:"menu-tokens"}},[i("asset-node",{attrs:{asset:e.assets}}),e.assets?e._e():i("div",[e._v("No assets")])],1)]),i("button",{staticClass:"accordion"},[e._v("Notes")]),i("div",{staticClass:"accordion-panel"},[i("div",{staticClass:"accordion-subpanel",attrs:{id:"menu-notes"}},[i("a",{staticClass:"actionButton",on:{click:e.createNote}},[i("i",{staticClass:"far fa-plus-square"})]),e._l(e.notes,function(t){return i("div",{key:t.uuid,staticStyle:{cursor:"pointer"},on:{click:function(i){e.openNote(t)}}},[e._v(e._s(t.title||"[?]"))])}),e.notes.length?e._e():i("div",[e._v("No notes")])],2)]),i("button",{staticClass:"accordion"},[e._v("DM Options")]),i("div",{staticClass:"accordion-panel"},[i("div",{staticClass:"accordion-subpanel"},[i("label",{attrs:{for:"useGridInput"}},[e._v("Use grid:")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.useGrid,expression:"useGrid"}],attrs:{id:"useGridInput",type:"checkbox",checked:"checked"},domProps:{checked:Array.isArray(e.useGrid)?e._i(e.useGrid,null)>-1:e.useGrid},on:{change:function(t){var i=e.useGrid,n=t.target,s=!!n.checked;if(Array.isArray(i)){var o=null,r=e._i(i,o);n.checked?r<0&&(e.useGrid=i.concat([o])):r>-1&&(e.useGrid=i.slice(0,r).concat(i.slice(r+1)))}else e.useGrid=s}}}),i("label",{attrs:{for:"useFOWInput"}},[e._v("Fill entire canvas with FOW:")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.fullFOW,expression:"fullFOW"}],attrs:{id:"useFOWInput",type:"checkbox"},domProps:{checked:Array.isArray(e.fullFOW)?e._i(e.fullFOW,null)>-1:e.fullFOW},on:{change:function(t){var i=e.fullFOW,n=t.target,s=!!n.checked;if(Array.isArray(i)){var o=null,r=e._i(i,o);n.checked?r<0&&(e.fullFOW=i.concat([o])):r>-1&&(e.fullFOW=i.slice(0,r).concat(i.slice(r+1)))}else e.fullFOW=s}}}),i("label",{attrs:{for:"fowOpacity"}},[e._v("FOW opacity:")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:e.fowOpacity,expression:"fowOpacity",modifiers:{number:!0}}],attrs:{id:"fowOpacity",type:"number",min:"0",max:"1",step:"0.1"},domProps:{value:e.fowOpacity},on:{input:function(t){t.target.composing||(e.fowOpacity=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}}),i("label",{attrs:{for:"fowLOS"}},[e._v("Only show lights in LoS:")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.fowLOS,expression:"fowLOS"}],attrs:{id:"fowLOS",type:"checkbox"},domProps:{checked:Array.isArray(e.fowLOS)?e._i(e.fowLOS,null)>-1:e.fowLOS},on:{change:function(t){var i=e.fowLOS,n=t.target,s=!!n.checked;if(Array.isArray(i)){var o=null,r=e._i(i,o);n.checked?r<0&&(e.fowLOS=i.concat([o])):r>-1&&(e.fowLOS=i.slice(0,r).concat(i.slice(r+1)))}else e.fowLOS=s}}}),i("label",{attrs:{for:"unitSizeInput"}},[e._v("Unit Size (in ft.):")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:e.unitSize,expression:"unitSize",modifiers:{number:!0}}],attrs:{id:"unitSizeInput",type:"number"},domProps:{value:e.unitSize},on:{input:function(t){t.target.composing||(e.unitSize=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}}),i("label",{attrs:{for:"gridSizeInput"}},[e._v("Grid Size (in pixels):")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:e.gridSize,expression:"gridSize",modifiers:{number:!0}}],attrs:{id:"gridSizeInput",type:"number",min:"0"},domProps:{value:e.gridSize},on:{input:function(t){t.target.composing||(e.gridSize=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}}),i("label",{attrs:{for:"invitation"}},[e._v("Invitation Code:")]),i("input",{attrs:{id:"invitation",type:"text",readonly:"readonly"},domProps:{value:e.invitationCode}})])])]:e._e(),i("button",{staticClass:"accordion"},[e._v("Client Options")]),i("div",{staticClass:"accordion-panel"},[i("div",{staticClass:"accordion-subpanel"},[i("label",{attrs:{for:"gridColour"}},[e._v("Grid Colour:")]),i("color-picker",{attrs:{id:"gridColour",color:e.gridColour},on:{"update:color":function(t){e.gridColour=t}}}),i("label",{attrs:{for:"fowColour"}},[e._v("FOW Colour:")]),i("color-picker",{attrs:{id:"fowColour",color:e.fowColour},on:{"update:color":function(t){e.fowColour=t}}}),i("label",{attrs:{for:"rulerColour"}},[e._v("Ruler Colour:")]),i("color-picker",{attrs:{id:"rulerColour",color:e.rulerColour},on:{"update:color":function(t){e.rulerColour=t}}}),i("label",{attrs:{for:"visionMode"}},[e._v("Vision Mode:")]),i("select",{attrs:{id:"visionMode"},on:{change:e.changeVisionMode}},[i("option",[e._v("BVH")]),i("option",[e._v("Triangle")])])],1)])],2),i("router-link",{staticClass:"accordion",staticStyle:{"text-decoration":"none",display:"inline-block",position:"absolute",bottom:"0"},attrs:{to:"/dashboard"}},[e._v("Exit")])],1):e._e()]),i("transition",{attrs:{name:"locations"},on:{enter:function(t){e.$refs.rm.style.transition="top 500ms"}}},[e.IS_DM&&e.visible.locations?i("div",{attrs:{id:"locations-menu"}},[i("div",[e._l(e.locations,function(t){return i("div",{key:t,on:{click:function(i){e.changeLocation(t)}}},[e._v(e._s(t))])}),i("div",{on:{click:e.createLocation}},[i("i",{staticClass:"fas fa-plus"})])],2)]):e._e()]),i("img",{attrs:{id:"dragImage"}})],1)},s=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("a",{attrs:{href:"#"}},[i("i",{staticClass:"far fa-compass"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("a",{attrs:{href:"#"}},[i("i",{staticClass:"fas fa-cog"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",{staticClass:"rm-topper"},[i("i",{staticClass:"icon-share-alt"})])}];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"6f8d":function(e,t,i){"use strict";i.r(t);var n=i("5b69"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"6f92":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("6c30"),o=i("f10f"),r=i("92b1");class a{constructor(){this.layers=[],this.width=window.innerWidth,this.height=window.innerHeight,this.UUIDMap=new Map,this.interval=30,this.drawLoop=(()=>{for(let e=this.layers.length-1;e>=0;e--)this.layers[e].draw();requestAnimationFrame(this.drawLoop)}),requestAnimationFrame(this.drawLoop)}reset(){this.layers=[],this.UUIDMap=new Map}setWidth(e){this.width=e;for(const t of this.layers)t.canvas.width=e,t.width=e}setHeight(e){this.height=e;for(const t of this.layers)t.canvas.height=e,t.height=e}addLayer(e){this.layers.push(e),(o.gameStore.IS_DM||e.playerEditable)&&e.selectable&&o.gameStore.addLayer(e.name)}hasLayer(e){return this.layers.some(t=>t.name===e)}getLayer(e){e=void 0===e?o.gameStore.selectedLayer:e;for(const t of this.layers)if(t.name===e)return t}selectLayer(e,t=!0){let i=!1;for(const n of this.layers)n.selectable&&(i&&"fow"!==n.name?n.ctx.globalAlpha=.3:n.ctx.globalAlpha=1,e===n.name&&(o.gameStore.selectLayer({name:e,sync:t}),i=!0),n.clearSelection(),n.invalidate(!0))}getGridLayer(){return this.getLayer("grid")}hasSelection(){const e=this.getSelection();return void 0!==e&&e.length>0}getSelection(){const e=this.getLayer();if(void 0!==e)return e.selection}invalidate(){for(let e=this.layers.length-1;e>=0;e--)this.layers[e].invalidate(!0)}invalidateLight(){for(let e=this.layers.length-1;e>=0;e--)this.layers[e].isVisionLayer&&this.layers[e].invalidate(!0)}dropAsset(e){const t=this.getLayer();if(void 0===t||null===e||null===e.dataTransfer)return;const i=document.createElement("img");i.src=e.dataTransfer.getData("text/plain");const a=new s.Asset(i,new n.GlobalPoint(r.l2gx(e.clientX),r.l2gy(e.clientY)),r.l2gz(i.width),r.l2gz(i.height));if(a.src=new URL(i.src).pathname,o.gameStore.useGrid){const e=o.gameStore.gridSize;a.refPoint.x=Math.round(a.refPoint.x/e)*e,a.refPoint.y=Math.round(a.refPoint.y/e)*e,a.w=Math.max(Math.round(a.w/e)*e,e),a.h=Math.max(Math.round(a.h/e)*e,e)}t.addShape(a,!0)}}t.layerManager=new a,window.lm=t.layerManager},7018:function(e,t,i){"use strict";i.r(t);var n=i("ebb9"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},7019:function(e,t,i){},7420:function(e,t,i){"use strict";i.r(t);var n=i("1298"),s=i("778b");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("d71e");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"66ccc134",null);a.options.__file="createtoken_modal.vue",t["default"]=a.exports},"76b3":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(e,t){this.children=[],this.nPrimitives=e,this.bbox=t}}t.BoundingNode=n;class s extends n{constructor(e,t,i){super(t,i),this.firstPrimOffset=e}}t.LeafNode=s;class o extends n{constructor(e,t,i){super(0,t.bbox.union(i.bbox)),this.dimension=e,this.children.push(t),this.children.push(i)}}t.InteriorNode=o},"778b":function(e,t,i){"use strict";i.r(t);var n=i("5a81"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"77a6":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("4a5b"),s=i("0bc6"),o=i("2b48"),r=i("af17"),a=i("8f0a"),l=i("6f92"),c=i("f10f"),u=i("2838");function d(e){if(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement);else if("Delete"===e.key||"Del"===e.key||"Backspace"===e.key){if(void 0===l.layerManager.getLayer)return void console.log("No active layer selected for delete operation");const e=l.layerManager.getLayer();for(let t=e.selection.length-1;t>=0;t--){const i=e.selection[t];n.getRef("tools").$refs.selectTool.selectionHelper.uuid!==i.uuid?(e.removeShape(i,!0,!1),r.EventBus.$emit("SelectionInfo.Shape.Set",null),r.EventBus.$emit("Initiative.Remove",i.uuid)):e.selection.splice(t,1)}}}function h(e){if(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)65===e.keyCode&&e.ctrlKey&&e.target.select();else if(e.keyCode>=37&&e.keyCode<=40){const t=Math.round(c.gameStore.gridSize);let i=t*(e.keyCode%2),n=t*(e.keyCode%2?0:1);if(l.layerManager.hasSelection()){const o=l.layerManager.getSelection();i*=e.keyCode<=38?-1:1,n*=e.keyCode<=38?-1:1;let r=new a.Vector(i,n);if(!e.shiftKey||!c.gameStore.IS_DM)for(const e of o)r=u.calculateDelta(r,e);for(const e of o)e.refPoint.x+=r.x,e.refPoint.y+=r.y,e.refPoint.x%t===0&&e.refPoint.y%t===0||e.snapToGrid(),s.socket.emit("Shape.Position.Update",{shape:e.asDict(),redraw:!0,temporary:!1});l.layerManager.getLayer().invalidate(!1)}else c.gameStore.increasePanX(i*(e.keyCode<=38?1:-1)),c.gameStore.increasePanY(n*(e.keyCode<=38?1:-1)),l.layerManager.invalidate(),o.sendClientOptions()}else if(68===e.keyCode){const e=l.layerManager.getLayer();e&&(e.clearSelection(),e.invalidate(!0))}}t.onKeyUp=d,t.onKeyDown=h},"78c7":function(e,t,i){"use strict";var n=i("9227"),s=i.n(n);s.a},"7aaa":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("033f")),r=n.__importDefault(i("7420")),a=n.__importDefault(i("59d8")),l=n.__importDefault(i("dec1")),c=n.__importDefault(i("4899")),u=n.__importDefault(i("c277")),d=i("6f92"),h=i("9cb7"),f=i("f10f"),p=i("d5df"),g=i("92b1"),v=i("5a5c"),m=n.__importDefault(i("65d9"));let y=class extends s.default{constructor(){super(...arguments),this.currentTool="Select",this.tools=["Select","Pan","Draw","Ruler","Map"],this.dmTools=["Map"]}get IS_DM(){return f.gameStore.IS_DM}get currentToolComponent(){return`${this.currentTool.toLowerCase()}-tool`}mousedown(e){if("CANVAS"!==e.target.tagName)return;let t=this.currentTool;if(1===e.button)t="Pan";else if(0!==e.button)return;this.$emit("mousedown",e,t)}mouseup(e){if("CANVAS"!==e.target.tagName)return;let t=this.currentTool;if(1===e.button)t="Pan";else if(0!==e.button)return;this.$emit("mouseup",e,t)}mousemove(e){if("CANVAS"!==e.target.tagName)return;let t=this.currentTool;if(0!==(4&e.buttons))t="Pan";else if((1&e.button)>1)return;this.$emit("mousemove",e,t);let i=!1;for(const n of f.gameStore.annotations)if(d.layerManager.UUIDMap.has(n)&&d.layerManager.hasLayer("draw")){const t=d.layerManager.UUIDMap.get(n);t.contains(g.l2g(v.getMouse(e)))&&(i=!0,h.gameManager.annotationManager.setActiveText(t.annotation))}!i&&h.gameManager.annotationManager.shown&&h.gameManager.annotationManager.setActiveText("")}mouseleave(e){0!==(1&e.buttons)&&this.$emit("mouseup",e,this.currentTool)}contextmenu(e){"CANVAS"===e.target.tagName&&2===e.button&&"CANVAS"===e.target.tagName&&this.$emit("contextmenu",e,this.currentTool)}};y=n.__decorate([m.default({components:{"select-tool":u.default,"pan-tool":c.default,"draw-tool":a.default,"ruler-tool":p.RulerTool,"map-tool":l.default,"shape-menu":o.default,"createtoken-dialog":r.default},watch:{currentTool(e,t){this.$emit("tools-select-change",e,t)}}})],y),t.default=y},"7ba5":function(e,t,i){"use strict";i.r(t);var n=i("fbdd"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"7e15":function(e,t,i){"use strict";i.r(t);var n=i("52a8"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"7f1e":function(e,t,i){"use strict";var n=i("fe11"),s=i.n(n);s.a},8095:function(e,t,i){},"831f":function(e,t,i){"use strict";var n=i("8d53"),s=i.n(n);s.a},"851c":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("d65f"));let a=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.question="",this.answer="",this.title="",this.resolve=(e=>{}),this.reject=(()=>{})}submit(){this.resolve(this.answer),this.close()}close(){this.reject(),this.visible=!1,this.question="",this.answer="",this.title=""}prompt(e,t){return this.question=e,this.title=t,this.visible=!0,this.$nextTick(()=>{this.$refs.answer.focus()}),new Promise((e,t)=>{this.resolve=e,this.reject=t})}};a=n.__decorate([o.default({components:{Modal:r.default}})],a),t.default=a},8577:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ul",[e._l(e.folders,function(t){return i("li",{key:t,staticClass:"folder",on:{click:function(t){return t.stopPropagation(),e.toggle(t)}}},[e._v("\n "+e._s(t)+"\n "),i("asset-node",{attrs:{asset:e.asset[t]}})],1)}),e._l(e.files,function(t){return i("li",{key:t.name,staticClass:"file draggable token",attrs:{draggable:"true"},on:{mouseover:function(i){e.showImage=t.hash},mouseout:function(t){e.showImage=null},dragstart:function(i){e.dragStart(i,"/static/assets/"+t.hash)}}},[e._v("\n "+e._s(t.name)+"\n "),e.showImage==t.hash?i("div",{staticClass:"preview"},[i("img",{staticClass:"asset-preview-image",attrs:{src:"/static/assets/"+t.hash}})]):e._e()])})],2)},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"88af":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[e._v(e._s(e.message))])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"8a30":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{attrs:{id:"toolselect"}},[i("ul",e._l(e.tools,function(t){return!e.dmTools.includes(t)||e.IS_DM?i("li",{key:t,ref:t+"-selector",refInFor:!0,class:{"tool-selected":e.currentTool===t},on:{click:function(i){e.currentTool=t}}},[i("a",{attrs:{href:"#"}},[e._v(e._s(t))])]):e._e()}))]),i("div",[[i("select-tool",{directives:[{name:"show",rawName:"v-show",value:"Select"===e.currentTool,expression:"currentTool === 'Select'"}],ref:"selectTool"}),i("pan-tool",{directives:[{name:"show",rawName:"v-show",value:"Pan"===e.currentTool,expression:"currentTool === 'Pan'"}]}),i("keep-alive",[i("draw-tool",{directives:[{name:"show",rawName:"v-show",value:"Draw"===e.currentTool,expression:"currentTool === 'Draw'"}]})],1),i("ruler-tool",{directives:[{name:"show",rawName:"v-show",value:"Ruler"===e.currentTool,expression:"currentTool === 'Ruler'"}]}),i("map-tool",{directives:[{name:"show",rawName:"v-show",value:"Map"===e.currentTool,expression:"currentTool === 'Map'"}]}),i("shape-menu",{ref:"shapecontext"}),i("createtoken-dialog",{ref:"createtokendialog"})]],2)])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"8cd4":function(e,t,i){"use strict";i.r(t);var n=i("9587"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"8d53":function(e,t,i){},"8db6":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a");class s{constructor(e,t,i){this.w=t,this.h=i,this.topLeft=e,this.topRight=new n.GlobalPoint(e.x+t,e.y),this.botRight=new n.GlobalPoint(e.x+t,e.y+i),this.botLeft=new n.GlobalPoint(e.x,e.y+i)}contains(e){return this.topLeft.x<=e.x&&this.topRight.x>=e.x&&this.topLeft.y<=e.y&&this.botLeft.y>=e.y}get points(){return 0===this.w||0===this.h?[[this.topLeft.x,this.topLeft.y]]:[[this.topLeft.x,this.topLeft.y],[this.botLeft.x,this.botLeft.y],[this.botRight.x,this.botRight.y],[this.topRight.x,this.topRight.y]]}offset(e){return new s(this.topLeft.add(e),this.w,this.h)}union(e){const t=Math.min(this.topLeft.x,e.topLeft.x),i=Math.max(this.topRight.x,e.topRight.x),o=Math.min(this.topLeft.y,e.topLeft.y),r=Math.max(this.botLeft.y,e.botLeft.y);return new s(new n.GlobalPoint(t,o),i-t,r-o)}getDiagCorner(e){return e?this.botRight:this.topLeft}intersectsWith(e){return!(e.topLeft.x>this.topRight.x||e.topRight.xthis.botLeft.y||e.botLeft.y=this.topRight.x||e.topRight.x<=this.topLeft.x||e.topLeft.y>=this.botLeft.y||e.botLeft.y<=this.topLeft.y)}intersectP(e,t,i){let n=t.x*(this.getDiagCorner(i[0]).x-e.origin.x),s=t.x*(this.getDiagCorner(!i[0]).x-e.origin.x);const o=t.y*(this.getDiagCorner(i[1]).y-e.origin.y),r=t.y*(this.getDiagCorner(!i[1]).y-e.origin.y);return n>r||o>s?{hit:!1,min:n,max:s}:(o>n&&(n=o),r0,min:n,max:s})}center(e){if(void 0===e)return this.topLeft.add(new n.Vector(this.w/2,this.h/2));this.topLeft.x=e.x-this.w/2,this.topLeft.y=e.y-this.h/2}inCorner(e,t){const i=Math.min(6,this.w/2)/2;switch(t){case"ne":return this.topRight.x-i<=e.x&&e.x<=this.topRight.x+i&&this.topLeft.y-i<=e.y&&e.y<=this.topLeft.y+i;case"nw":return this.topLeft.x-i<=e.x&&e.x<=this.topLeft.x+i&&this.topLeft.y-i<=e.y&&e.y<=this.topLeft.y+i;case"sw":return this.topLeft.x-i<=e.x&&e.x<=this.topLeft.x+i&&this.botLeft.y-i<=e.y&&e.y<=this.botLeft.y+i;case"se":return this.topRight.x-i<=e.x&&e.x<=this.topRight.x+i&&this.botLeft.y-i<=e.y&&e.y<=this.botLeft.y+i;default:return!1}}getCorner(e){return this.inCorner(e,"ne")?"ne":this.inCorner(e,"nw")?"nw":this.inCorner(e,"se")?"se":this.inCorner(e,"sw")?"sw":void 0}getMaxExtent(){return this.w>this.h?0:1}}t.BoundingRect=s},"8e60":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"formcontainer"}},[e.owned||e.joined?i("form",[i("fieldset",[i("legend",{staticClass:"legend"},[e._v("Your sessions")]),i("div",{staticClass:"input"},[e._l(e.owned,function(t,n){return i("router-link",{key:"o-"+n,attrs:{to:"/game/"+t[1]+"/"+t[0]}},[e._v(e._s(t[0]))])}),e._l(e.joined,function(t,n){return i("router-link",{key:"j-"+n,attrs:{to:"/game/"+t[1]+"/"+t[0]}},[e._v(e._s(t[1])+"/"+e._s(t[0]))])})],2),0===e.owned.length?i("div",{staticClass:"input"},[e._v("No active sessions")]):e._e()])]):e._e(),e._m(0),i("form",{on:{submit:function(t){return t.preventDefault(),e.createRoom(t)}}},[i("fieldset",[e.owned||e.joined?i("div",{staticClass:"input"},[e._v("Create a new session")]):i("legend",{staticClass:"legend"},[e._v("Create a session")]),i("div",{staticClass:"input"},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.newSessionName,expression:"newSessionName"}],attrs:{type:"text",name:"room_name",placeholder:"Session Name"},domProps:{value:e.newSessionName},on:{input:function(t){t.target.composing||(e.newSessionName=t.target.value)}}}),e._m(1)]),e._m(2)])]),i("div",{attrs:{id:"account-options"}},[i("form",{on:{submit:function(e){e.preventDefault()}}},[i("router-link",{staticClass:"submit",attrs:{tag:"button",title:"Account Settings",to:"/account"}},[i("i",{staticClass:"fas fa-cog"})])],1),i("form",{on:{submit:function(e){e.preventDefault()}}},[i("router-link",{staticClass:"submit",attrs:{tag:"button",title:"Logout",to:"/auth/logout"}},[i("i",{staticClass:"fas fa-sign-out-alt"})])],1)])])},s=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("h4",[i("span",[e._v("OR")])])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("i",{staticClass:"fab fa-d-and-d"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("button",{staticClass:"submit",attrs:{type:"submit",title:"Create"}},[i("i",{staticClass:"fas fa-arrow-right"})])}];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"8f0a":function(e,t,i){"use strict";function n(e,t){const i=e.x-t.x,n=e.y-t.y;return Math.sqrt(i*i+n*n)}Object.defineProperty(t,"__esModule",{value:!0}),t.getPointDistance=n;class s{constructor(e,t){this.x=e,this.y=t}add(e){return new s(this.x+e.x,this.y+e.y)}subtract(e){return new a(this.x-e.x,this.y-e.y)}clone(){return new s(this.x,this.y)}get(e){return 0===e?this.x:this.y}}t.Point=s;class o extends s{add(e){return super.add(e)}subtract(e){return super.subtract(e)}clone(){return super.clone()}}t.GlobalPoint=o;class r extends s{add(e){return super.add(e)}subtract(e){return super.subtract(e)}clone(){return super.clone()}}t.LocalPoint=r;class a{constructor(e,t){this.x=e,this.y=t}dot(e){return this.x*e.x+this.y*e.y}inverse(){return new a(1/this.x,1/this.y)}length(){return Math.sqrt(Math.pow(this.x,2)+Math.pow(this.y,2))}normalize(){const e=this.length();return new a(this.x/e,this.y/e)}reverse(){return new a(-this.x,-this.y)}multiply(e){return new a(this.x*e,this.y*e)}}t.Vector=a;class l{constructor(e,t,i){this.direction=t,this.origin=e,void 0===i&&(i=1/0),this.tMax=i}static fromPoints(e,t){const i=new a(t.x-e.x,t.y-e.y);let n;return n=Math.abs(i.x)>.01?(t.x-e.x)/i.x:(t.y-e.y)/i.y,new l(e,i,n)}get(e){return new s(this.origin.x+e*this.direction.x,this.origin.y+e*this.direction.y)}getDistance(e,t){return Math.sqrt(Math.pow(t-e,2)*(Math.pow(this.direction.x,2)+Math.pow(this.direction.y,2)))}getT(e,t){return e+Math.sqrt(Math.pow(t,2)/(Math.pow(this.direction.x,2)+Math.pow(this.direction.y,2)))}}t.Ray=l},"91df":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("6f79"));i("fe80");const a=i("2ef0"),l=n.__importDefault(i("a535")),c=n.__importDefault(i("cec2")),u=n.__importDefault(i("f5fe")),d=n.__importDefault(i("19f9")),h=n.__importDefault(i("f551")),f=n.__importDefault(i("f086")),p=n.__importDefault(i("6100")),g=i("0bc6"),v=i("77a6"),m=i("bb17"),y=i("6f92"),b=i("f10f"),_=i("92b1"),S=i("8f0a");let w=class extends s.default{constructor(){super(...arguments),this.ready={manager:!1,tools:!1}}get IS_DM(){return b.gameStore.IS_DM}get layers(){return b.gameStore.layers}get selectedLayer(){return b.gameStore.selectedLayer}get zoomFactor(){return b.gameStore.zoomFactor}set zoomFactor(e){b.gameStore.updateZoom({newZoomValue:e,zoomLocation:_.l2g(new S.LocalPoint(window.innerWidth/2,window.innerHeight/2))})}mounted(){window.addEventListener("resize",()=>{y.layerManager.setWidth(window.innerWidth),y.layerManager.setHeight(window.innerHeight),y.layerManager.invalidate()}),window.addEventListener("wheel",a.throttle(m.scrollZoom)),window.addEventListener("keyup",v.onKeyUp),window.addEventListener("keydown",v.onKeyDown),window.addEventListener("selectstart",e=>{return e.preventDefault(),!1}),this.ready.manager=!0}mousedown(e){this.$refs.tools.mousedown(e)}mouseup(e){this.$refs.tools.mouseup(e)}mousemove(e){this.$refs.tools.mousemove(e)}mouseleave(e){this.$refs.tools.mouseleave(e)}contextmenu(e){this.$refs.tools.contextmenu(e)}selectLayer(e){y.layerManager.selectLayer(e)}drop(e){if(null!==e&&null!==e.dataTransfer)if(e.dataTransfer.files.length>0)this.$refs.confirm.open("Uploading files should be done through the asset manager.","Ok","").then(()=>{},()=>{});else{if(""===e.dataTransfer.getData("text/plain"))return;y.layerManager.dropAsset(e)}}};w=n.__decorate([o.default({components:{"tool-bar":p.default,"selection-info":f.default,"prompt-dialog":c.default,"confirm-dialog":l.default,"menu-bar":d.default,"initiative-dialog":u.default,"zoom-slider":r.default,"note-dialog":h.default},beforeRouteEnter(e,t,i){g.createConnection(e),i()},beforeRouteLeave(e,t,i){g.socket.disconnect(),i()}})],w),t.default=w},9227:function(e,t,i){},"92b1":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("f10f");function o(e){const t=s.gameStore.zoomFactor,i=s.gameStore.panX,o=s.gameStore.panY;return new n.LocalPoint((e.x+i)*t,(e.y+o)*t)}function r(e){return o(new n.GlobalPoint(e,0)).x}function a(e){return o(new n.GlobalPoint(0,e)).y}function l(e){return e*s.gameStore.zoomFactor}function c(e){return e/s.gameStore.unitSize*s.gameStore.gridSize}function u(e){return l(c(e))}function d(e){const t=s.gameStore.zoomFactor,i=s.gameStore.panX,o=s.gameStore.panY;return e instanceof n.LocalPoint?new n.GlobalPoint(e.x/t-i,e.y/t-o):new n.Ray(d(e.origin),e.direction.multiply(1/t),e.tMax)}function h(e){return d(new n.LocalPoint(e,0)).x}function f(e){return d(new n.LocalPoint(0,e)).y}function p(e){return e/s.gameStore.zoomFactor}function g(e){return p(c(e))}t.g2l=o,t.g2lx=r,t.g2ly=a,t.g2lz=l,t.getUnitDistance=c,t.g2lr=u,t.l2g=d,t.l2gx=h,t.l2gy=f,t.l2gz=p,t.l2gr=g,window.g2lx=r,window.g2ly=a},9587:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=i("2f62"),a=n.__importDefault(i("3b36")),l=n.__importDefault(i("0ddd")),c=i("4a5b"),u=i("0bc6"),d=i("f10f"),h=i("6f92");let f=class extends s.default{constructor(){super(...arguments),this.visible={settings:!1,locations:!1}}get useGrid(){return d.gameStore.useGrid}set useGrid(e){d.gameStore.setUseGrid({useGrid:e,sync:!0})}get fullFOW(){return d.gameStore.fullFOW}set fullFOW(e){d.gameStore.setFullFOW({fullFOW:e,sync:!0})}get fowOpacity(){return d.gameStore.fowOpacity}set fowOpacity(e){"number"===typeof e&&d.gameStore.setFOWOpacity({fowOpacity:e,sync:!0})}get fowLOS(){return d.gameStore.fowLOS}set fowLOS(e){d.gameStore.setLineOfSight({fowLOS:e,sync:!0})}get unitSize(){return d.gameStore.unitSize}set unitSize(e){"number"===typeof e&&d.gameStore.setUnitSize({unitSize:e,sync:!0})}get gridSize(){return d.gameStore.gridSize}set gridSize(e){"number"===typeof e&&d.gameStore.setGridSize({gridSize:e,sync:!0})}get gridColour(){return d.gameStore.gridColour}set gridColour(e){d.gameStore.setGridColour({colour:e,sync:!0})}get fowColour(){return d.gameStore.fowColour}set fowColour(e){d.gameStore.setFOWColour({colour:e,sync:!0})}get rulerColour(){return d.gameStore.rulerColour}set rulerColour(e){d.gameStore.setRulerColour({colour:e,sync:!0})}settingsClick(e){if(e.target.classList.contains("accordion")){e.target.classList.toggle("accordion-active");const t=e.target.nextElementSibling;null!==t&&(t.style.display=""===t.style.display?"block":"")}}changeLocation(e){u.socket.emit("Location.Change",e)}createLocation(){c.getRef("prompt").prompt("New location name:","Create new location").then(e=>{u.socket.emit("Location.New",e)},()=>{})}createNote(){const e={title:"New note",text:"",uuid:c.uuidv4()};d.gameStore.newNote({note:e,sync:!0}),this.openNote(e)}openNote(e){c.getRef("note").open(e)}changeVisionMode(e){const t=e.target.value.toLowerCase();"bvh"!==t&&"triangle"!==t||(d.gameStore.setVisionMode(t),d.gameStore.recalculateBV(),h.layerManager.invalidate())}};f=n.__decorate([o.default({components:{"color-picker":a.default,"asset-node":l.default},computed:Object.assign({},r.mapState("game",["invitationCode","IS_DM","locations","assets","notes"]))})],f),t.default=f},"979e":function(e,t,i){"use strict";i.r(t);var n=i("0634"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},9845:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContextMenu",{attrs:{visible:e.visible,left:e.x+"px",top:e.y+"px"},on:{close:e.close}},[e.IS_DM?i("li",{on:{click:e.bringPlayers}},[e._v("Bring players")]):e._e(),i("li",{on:{click:e.createToken}},[e._v("Create basic token")]),i("li",{on:{click:e.showInitiative}},[e._v("Show initiative")])])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"98ef":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("4a5b"),s=i("4aee");let o;var r,a;function l(){return[t.INFINITE,t.INFINITE]}t.INFINITE=-Infinity,function(e){e[e["NEGATIVE"]=-1]="NEGATIVE",e[e["ZERO"]=0]="ZERO",e[e["POSITIVE"]=1]="POSITIVE",e[e["RIGHT_TURN"]=-1]="RIGHT_TURN",e[e["LEFT_TURN"]=1]="LEFT_TURN",e[e["SMALLER"]=-1]="SMALLER",e[e["EQUAL"]=0]="EQUAL",e[e["LARGER"]=1]="LARGER",e[e["CLOCKWISE"]=-1]="CLOCKWISE",e[e["COUNTERCLOCKWISE"]=1]="COUNTERCLOCKWISE",e[e["COLLINEAR"]=0]="COLLINEAR",e[e["COPLANAR"]=0]="COPLANAR",e[e["DEGENERATE"]=0]="DEGENERATE",e[e["ON_NEGATIVE_SIDE"]=-1]="ON_NEGATIVE_SIDE",e[e["ON_ORIENTED_BOUNDARY"]=0]="ON_ORIENTED_BOUNDARY",e[e["ON_POSITIVE_SIDE"]=1]="ON_POSITIVE_SIDE"}(r=t.Sign||(t.Sign={})),function(e){e[e["UNDEFINED"]=-1]="UNDEFINED",e[e["VERTEX_VERTEX"]=0]="VERTEX_VERTEX",e[e["VERTEX_EDGE"]=1]="VERTEX_EDGE",e[e["EDGE_VERTEX"]=2]="EDGE_VERTEX",e[e["EDGE_EDGE"]=3]="EDGE_EDGE"}(a||(a={}));class c{constructor(...e){this.vertices=[],this.neighbours=[null,null,null],this.constraints=[!1,!1,!1],this.uuid=n.uuidv4(),this.vertices=e}from(e){return this.vertices=e.vertices.slice(0,e.vertices.length),this.neighbours=e.neighbours.slice(0,e.neighbours.length),this.constraints=e.constraints.slice(0,e.constraints.length),this}get dimension(){return this.vertices.length-1}addVertex(e){void 0===e&&console.log("UNDEFINED HIERE"),this.vertices.push(e),e.triangle=this}isConstrained(e){return this.constraints[e]}reorient(){this.vertices=[this.vertices[1],this.vertices[0],this.vertices[2]].slice(0,this.vertices.length),this.neighbours=[this.neighbours[1],this.neighbours[0],this.neighbours[2]],this.constraints=[this.constraints[1],this.constraints[0],this.constraints[2]]}indexV(e){return this.vertices.indexOf(e)}indexT(e){return this.neighbours.indexOf(e)}isInfinite(e){return void 0===e?this.vertices.includes(o):this.vertices[s.ccw(e)].infinite||this.vertices[s.cw(e)].infinite}}t.Triangle=c;class u{constructor(e){this.infinite=!1,this.uuid=n.uuidv4(),this._point=e}get point(){return this._point}set point(e){this._point=e,this.infinite=!1}}t.Vertex=u;class d{constructor(e,t){if(this.v=e,this.t=t,null===e?this.t=null:null===t&&(this.t=e.triangle),null==this.t||this.t.dimension<1)this.ri=0,this.v=null,this.t=null;else{const t=this.t.indexV(e);2===this.t.dimension?this.ri=s.ccw(t):this.ri=2}this._ri=this.ri,this._v=this.v,this._t=this.t}get valid(){return null!==this.t&&null!==this.v}next(){let e=this.t.indexV(this.v);return 1===this.t.dimension?this.t=this.t.neighbours[0===e?1:0]:(this.t=this.t.neighbours[s.ccw(e)],e=this.t.indexV(this.v),this.ri=s.ccw(e)),this.ri!==this._ri||this.v!==this._v||this.t!==this._t}}t.EdgeCirculator=d;class h{constructor(e){if(this.i=0,this.edge=new g,this._es=0,this.tds=e,this.edge.second=0,e.dimension<=0)this.pos=null;else{this.pos=e.triangles[0],1===e.dimension&&(this.edge.second=2);while(null!==this.pos&&!this.associatedEdge())throw new Error("[poi");1===e.dimension&&(this._es=2)}}get valid(){return(null!==this.pos||this._es!==this.edge.second)&&this.pos.isInfinite(this.edge.second)}next(){do{this.increment()}while(null!==this.pos&&!this.associatedEdge())}collect(){return this.edge.first=this.pos,this.edge}associatedEdge(){return 1===this.tds.dimension||this.tds.triangles.indexOf(this.pos)t!==e)}setAdjacency(e,t,i,n){e.neighbours[t]=i,i.neighbours[n]=e}get finiteVertex(){return this.vertices[1]}get infiniteVertex(){const e=new u(l());return e.infinite=!0,e}get finiteEdge(){if(this.dimension<1)throw new Error("aspo");const e=new h(this);while(e.valid)e.next();return e.collect()}insertDimUp(e=new u,t=!0){const i=this.createVertex();let n,s;switch(this.dimension++,this.dimension){case 0:n=this.triangles[0],s=new c(i),this.triangles.push(s),this.setAdjacency(n,0,s,0),i.triangle=s;break;case 1:case 2:{const o=[],r=this.triangles.slice(0,this.triangles.length);for(const t of r){const n=(new c).from(t);this.triangles.push(n),t.vertices[this.dimension]=i,n.vertices[this.dimension]=e,this.setAdjacency(t,this.dimension,n,this.dimension),t.vertices.includes(e)&&o.push(n)}for(const e of r){const t=e.neighbours[this.dimension];for(let i=0;ie.center.center().get(r)0){if(i=!0,n=e.tMax=d.min,s=d.max,0===o||t)break;r=a[--o]}else c[u.dimension]?(a[o++]=r+1,r=u.secondChildOffset):(a[o++]=u.secondChildOffset,r++);else{if(0===o)break;r=a[--o]}}return{hit:i,intersect:e.get(n),tMin:n,tMax:s}}compact(){this.offset=0,null!==this.root&&this.flatten(this.root)}flatten(e){const t=this.offset,i=this.offset++;if(0===e.nPrimitives){this.flatten(e.children[0]);const i=this.flatten(e.children[1]);this.nodes[t]={bbox:e.bbox,dimension:e.dimension,nPrimitives:0,secondChildOffset:i}}else this.nodes[t]={bbox:e.bbox,primitivesOffset:e.firstPrimOffset,nPrimitives:e.nPrimitives};return i}createLeaf(e,t,i,n){const s=this.orderedPrims.length;for(let o=e;o{i(t=>{t.owned=e.data.owned,t.joined=e.data.joined})}).catch(e=>{i(t=>{t.error=e.message})})}createRoom(e){s.default.post("/api/rooms",{name:this.newSessionName}).then(e=>{this.$router.push(`/game/${a.coreStore.username}/${this.newSessionName}`)}).catch(e=>{this.error=e.message})}};l=n.__decorate([r.default],l),t.default=l},a535:function(e,t,i){"use strict";i.r(t);var n=i("e06e"),s=i("f30c");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("223d");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"1883e207",null);a.options.__file="confirm.vue",t["default"]=a.exports},a68b:function(e,t,i){"use strict";i.r(t);var n=i("308b"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},aa69:function(e,t,i){"use strict";i.r(t);var n=i("0cf7"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},aaee:function(e,t,i){},af17:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026"));t.EventBus=new s.default},af26:function(e,t,i){},b0ac:function(e,t,i){"use strict";i.r(t);var n=i("a474"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},b2ed:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("c266"),s=i("f10f"),o=i("92b1"),r=i("5a5c");class a extends n.BaseRect{constructor(e,t,i,n,s,o){super(e,t,i,n,s,o),this.type="rect"}asDict(){return super.getBaseDict()}draw(e){super.draw(e),"fog"===this.fillColour?e.fillStyle=r.getFogColour():e.fillStyle=this.fillColour;const t=s.gameStore.zoomFactor,i=o.g2l(this.refPoint);e.fillRect(i.x,i.y,this.w*t,this.h*t),"rgba(0, 0, 0, 0)"!==this.strokeColour&&(e.strokeStyle=this.strokeColour,e.lineWidth=5,e.strokeRect(i.x,i.y,this.w*t,this.h*t))}}t.Rect=a},b809:function(e,t,i){"use strict";i.r(t);var n=i("ca56"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},b906:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("bab4"),o=i("6f92"),r=i("d1ec"),a=i("f10f"),l=i("92b1"),c=i("cee3");class u extends s.Layer{constructor(){super(...arguments),this.isVisionLayer=!0}draw(){if(!this.valid){const t=this.ctx;if(!a.gameStore.fowLOS||r.Settings.skipPlayerFOW)return t.clearRect(0,0,this.canvas.width,this.canvas.height),void(this.valid=!0);t.clearRect(0,0,this.canvas.width,this.canvas.height);const i=o.layerManager.getLayer("draw").ctx;i.clearRect(0,0,window.innerWidth,window.innerHeight);const s=t.globalCompositeOperation;t.fillStyle="rgba(0, 0, 0, 1)",a.gameStore.IS_DM||super.draw(!a.gameStore.fullFOW);const u=t.canvas.width+t.canvas.height;for(const d of a.gameStore.ownedtokens){const i=o.layerManager.UUIDMap.get(d);if(void 0!==i)if("bvh"===a.gameStore.visionMode){t.beginPath();let e=-1;const s=i.center(),o=l.g2l(s);for(let i=0;i<2*Math.PI;i+=r.Settings.angleSteps/2/180*Math.PI){const r=Math.cos(i),c=Math.sin(i),d=new n.Ray(s,new n.Vector(r,c)),h=a.gameStore.BV.intersect(d);h.hit?(-1!==e&&(t.arc(o.x,o.y,u,e,i),e=-1),t.lineTo(l.g2lx(h.intersect.x),l.g2ly(h.intersect.y))):-1===e&&(t.lineTo(o.x+u*r,o.y+u*c),e=i)}-1!==e?t.arc(o.x,o.y,u,e,2*Math.PI):t.closePath(),t.fill()}else try{const n=c.computeVisibility(i.center());t.beginPath(),t.moveTo(l.g2lx(n[0][0]),l.g2ly(n[0][1]));for(const e of n)t.lineTo(l.g2lx(e[0]),l.g2ly(e[1]));t.closePath(),t.fill()}catch(e){}}a.gameStore.IS_DM&&super.draw(!a.gameStore.fullFOW),t.globalCompositeOperation=s}}}t.FOWPlayersLayer=u},bab4:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("0bc6"),s=i("af17"),o=i("6f92"),r=i("206a"),a=i("f10f"),l=i("92b1");class c{constructor(e,t){this.selectable=!1,this.playerEditable=!1,this.isVisionLayer=!1,this.valid=!1,this.shapes=[],this.selection=[],this.selectionColor="#CC0000",this.selectionWidth=2,this.canvas=e,this.name=t,this.width=e.width,this.height=e.height,this.ctx=e.getContext("2d")}invalidate(e){this.valid=!1,e||o.layerManager.invalidateLight()}addShape(e,t,i){void 0===i&&(i=!1),e.layer=this.name,this.shapes.push(e),o.layerManager.UUIDMap.set(e.uuid,e),e.checkVisionSources(),e.setMovementBlock(e.movementObstruction),e.ownedBy(a.gameStore.username)&&e.isToken&&a.gameStore.ownedtokens.push(e.uuid),e.annotation.length&&a.gameStore.annotations.push(e.uuid),t&&n.socket.emit("Shape.Add",{shape:e.asDict(),temporary:i}),this.invalidate(!t)}setShapes(e){for(const t of e){const e=r.createShapeFromDict(t);if(void 0===e)return void console.log(`Shape with unknown type ${t.type_} could not be added`);this.addShape(e,!1,!1)}this.clearSelection(),this.invalidate(!1)}removeShape(e,t,i){void 0===i&&(i=!1),this.shapes.splice(this.shapes.indexOf(e),1),t&&n.socket.emit("Shape.Remove",{shape:e,temporary:i});const s=a.gameStore.visionSources.findIndex(t=>t.shape===e.uuid),r=a.gameStore.visionBlockers.findIndex(t=>t===e.uuid),l=a.gameStore.movementblockers.findIndex(t=>t===e.uuid),c=a.gameStore.annotations.findIndex(t=>t===e.uuid);s>=0&&a.gameStore.visionSources.splice(s,1),r>=0&&a.gameStore.visionBlockers.splice(r,1),l>=0&&a.gameStore.movementblockers.splice(l,1),c>=0&&a.gameStore.annotations.splice(c,1);const u=a.gameStore.annotations.indexOf(e.uuid);u>=0&&a.gameStore.annotations.splice(u,1);const d=a.gameStore.ownedtokens.indexOf(e.uuid);d>=0&&a.gameStore.ownedtokens.splice(d,1),o.layerManager.UUIDMap.delete(e.uuid);const h=this.selection.indexOf(e);h>=0&&this.selection.splice(h,1),r>=0&&a.gameStore.recalculateBV(),this.invalidate(!t)}clear(){this.ctx.clearRect(0,0,this.width,this.height)}clearSelection(){this.selection=[],s.EventBus.$emit("SelectionInfo.Shape.Set",null)}draw(e){if(!this.valid){const t=this.ctx,i=t.globalCompositeOperation;e=void 0===e||e,e&&this.clear();const n=this;if(this.shapes.forEach(e=>{e.options.has("skipDraw")&&e.options.get("skipDraw")||void 0!==o.layerManager.getLayer()&&e.visibleInCanvas(n.canvas)&&("fow"===n.name&&e.visionObstruction&&o.layerManager.getLayer().name!==n.name||e.drawAuras(t))}),this.shapes.forEach(e=>{e.options.has("skipDraw")&&e.options.get("skipDraw")||void 0!==o.layerManager.getLayer()&&e.visibleInCanvas(n.canvas)&&("fow"===n.name&&e.visionObstruction&&o.layerManager.getLayer().name!==n.name||e.draw(t))}),null!=this.selection){t.fillStyle=this.selectionColor,t.strokeStyle=this.selectionColor,t.lineWidth=this.selectionWidth;const e=a.gameStore.zoomFactor;this.selection.forEach(i=>{t.globalCompositeOperation=i.globalCompositeOperation;const n=i.getBoundingBox();t.strokeRect(l.g2lx(n.topLeft.x),l.g2ly(n.topLeft.y),n.w*e,n.h*e);const s=Math.min(6,n.w/2);t.fillRect(l.g2lx(n.topRight.x-s/2),l.g2ly(n.topLeft.y-s/2),s*e,s*e),t.fillRect(l.g2lx(n.topLeft.x-s/2),l.g2ly(n.topLeft.y-s/2),s*e,s*e),t.fillRect(l.g2lx(n.topRight.x-s/2),l.g2ly(n.botLeft.y-s/2),s*e,s*e),t.fillRect(l.g2lx(n.topLeft.x-s/2),l.g2ly(n.botLeft.y-s/2),s*e,s*e)})}t.globalCompositeOperation=i,this.valid=!0}}moveShapeOrder(e,t,i){const s=this.shapes.indexOf(e);s!==t&&(this.shapes.splice(s,1),this.shapes.splice(t,0,e),i&&n.socket.emit("Shape.Order.Set",{shape:e.asDict(),index:t}),this.invalidate(!0))}onShapeMove(e){e.checkVisionSources(),e.visionObstruction&&a.gameStore.recalculateBV(),this.invalidate(!1)}}t.Layer=c},baeb:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("SelectContext",{ref:"selectcontext"})},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},bb17:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("f10f"),s=i("92b1"),o=i("5a5c");function r(e){if(!e.target||!e.target.tagName||"CANVAS"!==e.target.tagName)return;let t;t=-1*Math.sign(e.deltaY),n.gameStore.updateZoom({newZoomValue:n.gameStore.zoomFactor+.1*t,zoomLocation:s.l2g(o.getMouse(e))})}t.scrollZoom=r},befe:function(e,t,i){"use strict";var n=i("e0ac"),s=i.n(n);s.a},c266:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("8db6"),o=i("2469"),r=i("f10f"),a=i("2838"),l=i("92b1");class c extends o.Shape{constructor(e,t,i,n,s,o){super(e,n,s,o),this.w=t,this.h=i}getBaseDict(){return Object.assign(super.getBaseDict(),{width:this.w,height:this.h})}getBoundingBox(){return new s.BoundingRect(this.refPoint,this.w,this.h)}get points(){if(0===this.w||0===this.h)return[[this.refPoint.x,this.refPoint.y]];const e=this.refPoint.add(new n.Vector(0,this.h)),t=this.refPoint.add(new n.Vector(this.w,this.h)),i=this.refPoint.add(new n.Vector(this.w,0));return[[this.refPoint.x,this.refPoint.y],[e.x,e.y],[t.x,t.y],[i.x,i.y]]}contains(e){return this.refPoint.x<=e.x&&this.refPoint.x+this.w>=e.x&&this.refPoint.y<=e.y&&this.refPoint.y+this.h>=e.y}inCorner(e,t){switch(t){case"ne":return this.refPoint.x+this.w-3<=e.x&&e.x<=this.refPoint.x+this.w+3&&this.refPoint.y-3<=e.y&&e.y<=this.refPoint.y+3;case"nw":return this.refPoint.x-3<=e.x&&e.x<=this.refPoint.x+3&&this.refPoint.y-3<=e.y&&e.y<=this.refPoint.y+3;case"sw":return this.refPoint.x-3<=e.x&&e.x<=this.refPoint.x+3&&this.refPoint.y+this.h-3<=e.y&&e.y<=this.refPoint.y+this.h+3;case"se":return this.refPoint.x+this.w-3<=e.x&&e.x<=this.refPoint.x+this.w+3&&this.refPoint.y+this.h-3<=e.y&&e.y<=this.refPoint.y+this.h+3;default:return!1}}getCorner(e){return this.inCorner(e,"ne")?"ne":this.inCorner(e,"nw")?"nw":this.inCorner(e,"se")?"se":this.inCorner(e,"sw")?"sw":void 0}center(e){if(void 0===e)return this.refPoint.add(new n.Vector(this.w/2,this.h/2));this.refPoint.x=e.x-this.w/2,this.refPoint.y=e.y-this.h/2}visibleInCanvas(e){if(super.visibleInCanvas(e))return!0;const t=!(l.g2lx(this.refPoint.x)>e.width||l.g2ly(this.refPoint.y)>e.height||l.g2lx(this.refPoint.x+this.w)<0||l.g2ly(this.refPoint.y+this.h)<0);return!!t}snapToGrid(){const e=r.gameStore.gridSize,t=this.center(),i=t.x,s=t.y;let o,l;o=this.w/e%2===0?Math.round(i/e)*e-this.w/2:(Math.round((i+e/2)/e)-.5)*e-this.w/2,l=this.h/e%2===0?Math.round(s/e)*e-this.h/2:(Math.round((s+e/2)/e)-.5)*e-this.h/2;const c=a.calculateDelta(new n.Vector(o-this.refPoint.x,l-this.refPoint.y),this);this.refPoint=this.refPoint.add(c),this.invalidate(!1)}resizeToGrid(){const e=r.gameStore.gridSize;this.refPoint.x=Math.round(this.refPoint.x/e)*e,this.refPoint.y=Math.round(this.refPoint.y/e)*e,this.w=Math.max(Math.round(this.w/e)*e,e),this.h=Math.max(Math.round(this.h/e)*e,e),this.invalidate(!1)}resize(e,t){const i=r.gameStore.zoomFactor;"nw"===e?(this.w=l.g2lx(this.refPoint.x)+this.w*i-t.x,this.h=l.g2ly(this.refPoint.y)+this.h*i-t.y,this.refPoint=l.l2g(t)):"ne"===e?(this.w=t.x-l.g2lx(this.refPoint.x),this.h=l.g2ly(this.refPoint.y)+this.h*i-t.y,this.refPoint.y=l.l2gy(t.y)):"se"===e?(this.w=t.x-l.g2lx(this.refPoint.x),this.h=t.y-l.g2ly(this.refPoint.y)):"sw"===e&&(this.w=l.g2lx(this.refPoint.x)+this.w*i-t.x,this.h=t.y-l.g2ly(this.refPoint.y),this.refPoint.x=l.l2gx(t.x)),this.w/=i,this.h/=i,this.w<0&&(this.refPoint.x+=this.w,this.w=Math.abs(this.w)),this.h<0&&(this.refPoint.y+=this.h,this.h=Math.abs(this.h))}}t.BaseRect=c},c277:function(e,t,i){"use strict";i.r(t);var n=i("baeb"),s=i("e27a");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,null,null);a.options.__file="select.vue",t["default"]=a.exports},c6b4:function(e,t,i){"use strict";i.r(t);var n=i("8e60"),s=i("b0ac");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("d767");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"61eb1455",null);a.options.__file="main.vue",t["default"]=a.exports},c6fe:function(e,t,i){},ca56:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("1c76")),a=i("0bc6"),l=i("af17"),c=i("f10f"),u=i("92b1");let d=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.x=0,this.y=0}get IS_DM(){return c.gameStore.IS_DM}open(e){this.visible=!0,this.x=e.pageX,this.y=e.pageY,this.$nextTick(()=>this.$children[0].$el.focus())}close(){this.visible=!1}bringPlayers(){c.gameStore.IS_DM&&(a.socket.emit("Players.Bring",{x:u.l2gx(this.x),y:u.l2gy(this.y)}),this.close())}createToken(){this.$parent.$parent.$refs.createtokendialog.open(this.x,this.y),this.close()}showInitiative(){l.EventBus.$emit("Initiative.Show"),this.close()}};d=n.__decorate([o.default({components:{ContextMenu:r.default}})],d),t.default=d},cad7:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("bc3a")),o=n.__importDefault(i("a026")),r=n.__importDefault(i("65d9")),a=i("cc67");let l=class extends o.default{beforeRouteEnter(e,t,i){s.default.post("/api/logout").then(()=>{a.coreStore.setAuthenticated(!1),a.coreStore.setUsername(""),i({path:"/auth/login"})})}};l=n.__decorate([r.default({template:""})],l),t.default=l},cc67:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=i("6fc5"),o=i("3a0b");let r=class extends s.VuexModule{constructor(){super(...arguments),this.authenticated=!1,this.initialized=!1,this.username=""}setAuthenticated(e){this.authenticated=e}setInitialized(e){this.initialized=e}setUsername(e){this.username=e}};n.__decorate([s.Mutation],r.prototype,"setAuthenticated",null),n.__decorate([s.Mutation],r.prototype,"setInitialized",null),n.__decorate([s.Mutation],r.prototype,"setUsername",null),r=n.__decorate([s.Module({dynamic:!0,store:o.rootStore,name:"core"})],r),t.coreStore=s.getModule(r)},ccf8:function(e,t,i){},cd49:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("3dfd")),r=i("5f86"),a=i("3a0b");s.default.config.productionTip=!1,s.default.config.devtools=!0,s.default.config.performance=!0,t.app=new s.default({router:r.router,store:a.rootStore,render:e=>e(o.default)}).$mount("#app"),window.app=t.app},cde6:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9"));let r=class extends s.default{};r=n.__decorate([o.default({props:["visible","left","top"]})],r),t.default=r},ce87:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("bc3a")),o=n.__importDefault(i("a026")),r=n.__importDefault(i("65d9"));let a=class extends o.default{beforeRouteEnter(e,t,i){s.default.post("/api/invite",{code:e.params.code}).then(e=>{i({path:e.data.sessionUrl})}).catch(e=>{console.error("Invitation code could not be redeemed"),i({path:"/dashboard"})})}};a=n.__decorate([r.default({template:""})],a),t.default=a},cec2:function(e,t,i){"use strict";i.r(t);var n=i("eb57"),s=i("255e");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("0584");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"0602c2e6",null);a.options.__file="prompt.vue",t["default"]=a.exports},cec8:function(e,t,i){"use strict";var n=i("d749"),s=i.n(n);s.a},cee3:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("1216"),s=i("d6be"),o=i("98ef"),r=i("4aee");function a(e,t=0,i=!1){const o=[e.x,e.y],r=[],a=s.PA_CDT.locate(o,null).loc;return null===a?(console.error("Triangle not found"),[]):(r.push(a.vertices[1].point),a.isConstrained(0)||l(o,a.vertices[2].point,a.vertices[1].point,a,0,r),r.push(a.vertices[2].point),a.isConstrained(1)||l(o,a.vertices[0].point,a.vertices[2].point,a,1,r),r.push(a.vertices[0].point),a.isConstrained(2)||l(o,a.vertices[1].point,a.vertices[0].point,a,2,r),i&&n.drawPolygon(r,"red"),r)}function l(e,t,i,n,s,a){const u=n.neighbours[s],d=u.indexT(n),h=r.ccw(d),f=r.cw(d),p=u.vertices[d],g=u.vertices[f],v=u.vertices[h],m=[u,h],y=[u,f],b=r.orientation(e,i,p.point),_=r.orientation(e,t,p.point);if(b===o.Sign.COUNTERCLOCKWISE)if(m[0].isConstrained(m[1]))i!==g.point&&a.push(c(e,i,p.point,g.point)),_===o.Sign.COUNTERCLOCKWISE&&a.push(c(e,t,p.point,g.point));else{if(_===o.Sign.COUNTERCLOCKWISE)return l(e,t,i,u,h,a);l(e,p.point,i,u,h,a)}if(b!==o.Sign.CLOCKWISE&&_!==o.Sign.COUNTERCLOCKWISE&&a.push(p.point),_===o.Sign.CLOCKWISE)return y[0].isConstrained(y[1])?(b===o.Sign.CLOCKWISE&&a.push(c(e,i,p.point,v.point)),void(t!==v.point&&a.push(c(e,t,p.point,v.point)))):b===o.Sign.CLOCKWISE?l(e,t,i,u,f,a):l(e,t,p.point,u,f,a)}function c(e,t,i,n){const s=(n[1]-i[1])*(t[0]-e[0])-(n[0]-i[0])*(t[1]-e[1]),o=((n[0]-i[0])*(e[1]-i[1])-(n[1]-i[1])*(e[0]-i[0]))/s,r=e[0]+o*(t[0]-e[0]),a=e[1]+o*(t[1]-e[1]);return[r,a]}t.computeVisibility=a},cfc1:function(e,t,i){"use strict";var n=i("5e17"),s=i.n(n);s.a},d065:function(e,t,i){"use strict";i.r(t);var n=i("4b01"),s=i("f8b3");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("2f43");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"078b3b76",null);a.options.__file="edit_dialog.vue",t["default"]=a.exports},d1ec:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{}n.angleSteps=4,n.drawAngleLines=!1,n.drawFirstLightHit=!1,n.skipPlayerFOW=!1,n.skipLightFOW=!1,n.tempFill="fog",t.Settings=n},d30b:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("bc3a")),o=n.__importDefault(i("a026")),r=n.__importDefault(i("65d9")),a=i("cc67");let l=class extends o.default{constructor(){super(...arguments),this.username="",this.password="",this.error=""}login(){s.default.post("/api/login",{username:this.username,password:this.password}).then(e=>{a.coreStore.setUsername(this.username),a.coreStore.setAuthenticated(!0),this.$router.push(this.$route.query.redirect||"/")}).catch(e=>{e.response?this.error=e.response.statusText:this.error="Unknown error occured"})}register(){s.default.post("/api/register",{username:this.username,password:this.password}).then(e=>{a.coreStore.setUsername(this.username),a.coreStore.setAuthenticated(!0),this.$router.push(this.$route.query.redirect||"/")}).catch(e=>{e.response?this.error=e.response.statusText:this.error="Unknown error occured"})}focusin(e){if(e.target&&e.target.nextElementSibling){const t=e.target.nextElementSibling;t.style.opacity="0"}}focusout(e){if(e.target&&e.target.nextElementSibling){const t=e.target.nextElementSibling;t.style.opacity="1"}}};l=n.__decorate([r.default],l),t.default=l},d323:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div")},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},d445:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"modal"}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"mask",class:{"modal-mask":e.mask,"dialog-mask":!e.mask},on:{click:e.close,dragover:function(t){return t.preventDefault(),e.dragOver(t)}}},[i("div",{ref:"container",staticClass:"modal-container",on:{click:function(e){e.stopPropagation()}}},[e._t("header",null,{dragStart:e.dragStart,dragEnd:e.dragEnd}),e._t("default")],2)])])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},d588:function(e,t,i){"use strict";i.r(t);var n=i("91df"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},d5df:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("65d9")),o=n.__importDefault(i("ea6a")),r=i("0bc6"),a=i("6f92"),l=i("5e7c"),c=i("0180"),u=i("f10f"),d=i("92b1"),h=i("5a5c");let f=class extends o.default{constructor(){super(...arguments),this.name="Ruler",this.active=!1,this.startPoint=null,this.ruler=null,this.text=null}onMouseDown(e){const t=a.layerManager.getLayer("draw");void 0!==t?(this.active=!0,this.startPoint=d.l2g(h.getMouse(e)),this.ruler=new l.Line(this.startPoint,this.startPoint,3,u.gameStore.rulerColour),this.text=new c.Text(this.startPoint.clone(),"","bold 20px serif"),this.ruler.owners.push(u.gameStore.username),this.text.owners.push(u.gameStore.username),t.addShape(this.ruler,!0,!0),t.addShape(this.text,!0,!0)):console.log("No draw layer!")}onMouseMove(e){if(!this.active||null===this.ruler||null===this.startPoint||null===this.text)return;const t=a.layerManager.getLayer("draw");if(void 0===t)return void console.log("No draw layer!");const i=d.l2g(h.getMouse(e));this.ruler.endPoint=i,r.socket.emit("Shape.Update",{shape:this.ruler.asDict(),redraw:!0,temporary:!0});const n=Math.sign(i.x-this.startPoint.x)*Math.sign(i.y-this.startPoint.y),s=Math.abs(i.x-this.startPoint.x),o=Math.abs(i.y-this.startPoint.y),l=Math.round(Math.sqrt(Math.pow(s,2)+Math.pow(o,2))*u.gameStore.unitSize/u.gameStore.gridSize)+" ft",c=Math.atan2(n*o,s),f=Math.min(this.startPoint.x,i.x)+s/2,p=Math.min(this.startPoint.y,i.y)+o/2;this.text.refPoint.x=f,this.text.refPoint.y=p,this.text.text=l,this.text.angle=c,r.socket.emit("Shape.Update",{shape:this.text.asDict(),redraw:!0,temporary:!0}),t.invalidate(!0)}onMouseUp(e){if(!this.active||null===this.ruler||null===this.startPoint||null===this.text)return;const t=a.layerManager.getLayer("draw");void 0!==t?(this.active=!1,t.removeShape(this.ruler,!0,!0),t.removeShape(this.text,!0,!0),t.invalidate(!0),this.ruler=this.startPoint=this.text=null):console.log("No active layer!")}};f=n.__decorate([s.default],f),t.RulerTool=f},d65f:function(e,t,i){"use strict";i.r(t);var n=i("d445"),s=i("7e15");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("26a5");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"12ed61ba",null);a.options.__file="modal.vue",t["default"]=a.exports},d6be:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("6f92"),s=i("f10f"),o=i("6e4a");function r(e=!1){const i=new o.CDT;for(const t of s.gameStore.visionBlockers){const s=n.layerManager.UUIDMap.get(t);if(!e||s.visibleInCanvas(n.layerManager.getLayer().canvas))for(let e=0;ee===this.shape.uuid)),u.layerManager.hasLayer("draw")&&u.layerManager.getLayer("draw").invalidate(!0)):(d.gameStore.annotations.push(this.shape.uuid),u.layerManager.hasLayer("draw")&&u.layerManager.getLayer("draw").invalidate(!0)),this.updateShape(!1)}updateOwner(e,t){const i=this.shape.owners.findIndex(e=>e===t);i>=0?this.shape.owners.splice(i,1,e.target.value):this.shape.owners.push(e.target.value),this.updateShape(d.gameStore.fowLOS)}removeOwner(e){const t=this.shape.owners.findIndex(t=>t===e);this.shape.owners.splice(t,1),this.updateShape(d.gameStore.fowLOS)}removeTracker(e){this.shape.trackers=this.shape.trackers.filter(t=>t.uuid!==e),this.updateShape(!1)}removeAura(e){this.shape.auras=this.shape.auras.filter(t=>t.uuid!==e),this.shape.checkVisionSources(),this.updateShape(!0)}updateAuraVisionSource(e){e.visionSource=!e.visionSource;const t=d.gameStore.visionSources.findIndex(t=>t.aura===e.uuid);e.visionSource&&-1===t?d.gameStore.visionSources.push({shape:this.shape.uuid,aura:e.uuid}):!e.visionSource&&t>=0&&d.gameStore.visionSources.splice(t,1),u.layerManager.invalidateLight(),this.updateShape(!0)}updateAuraColour(e,t){const i=u.layerManager.getLayer(this.shape.layer);void 0!==i&&i.invalidate(!e.visionSource)}};n.__decorate([h.Prop()],f.prototype,"shape",void 0),f=n.__decorate([o.default({components:{Modal:a.default,"color-picker":r.default}})],f),t.default=f},dbba:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"main"},on:{mouseleave:e.mouseleave}},[i("menu-bar"),i("div",{attrs:{id:"board"}},[e.ready.manager?[i("tool-bar",{ref:"tools"})]:e._e(),i("div",{attrs:{id:"layers"},on:{mousedown:e.mousedown,mouseup:e.mouseup,mousemove:e.mousemove,contextmenu:function(t){return t.preventDefault(),t.stopPropagation(),e.contextmenu(t)},dragover:function(e){e.preventDefault()},drop:e.drop}}),e.layers.length>1?i("div",{attrs:{id:"layerselect"}},[i("ul",e._l(e.layers,function(t){return i("li",{key:t.name,class:{"layer-selected":t===e.selectedLayer},on:{click:function(i){e.selectLayer(t)}}},[i("a",{attrs:{href:"#"}},[e._v(e._s(t))])])}))]):e._e()],2),i("selection-info",{ref:"selectionInfo"}),i("initiative-dialog",{ref:"initiative",attrs:{id:"initiativedialog"}}),i("note-dialog",{ref:"note"}),i("zoom-slider",{attrs:{id:"zoomer",height:6,width:200,min:.01,max:5,interval:.1,"dot-width":8,"dot-height":20,"tooltip-dir":"bottom",tooltip:"hover",formatter:e.zoomFactor.toFixed(1),"slider-style":{"border-radius":"15%"},"bg-style":{"background-color":"#fff","box-shadow":"0.5px 0.5px 3px 1px rgba(0, 0, 0, .36)"},"process-style":{"background-color":"#fff"}},model:{value:e.zoomFactor,callback:function(t){e.zoomFactor=t},expression:"zoomFactor"}}),i("prompt-dialog",{ref:"prompt"}),i("confirm-dialog",{ref:"confirm"})],1)},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},dc37:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("d65f"));let a=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.yes="Yes",this.no="No",this.title="",this.resolve=(e=>{}),this.reject=(()=>{})}confirm(){this.resolve(!0),this.close()}deny(){this.resolve(!1),this.close()}close(){this.reject(),this.visible=!1,this.title=""}open(e,t="yes",i="no"){return this.yes=t,this.no=i,this.title=e,this.visible=!0,this.$nextTick(()=>{this.$refs.confirm.focus()}),new Promise((e,t)=>{this.resolve=e,this.reject=t})}};a=n.__decorate([o.default({components:{Modal:r.default}})],a),t.default=a},de21:function(e,t,i){},dec1:function(e,t,i){"use strict";i.r(t);var n=i("f9e5"),s=i("3481");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,null,null);a.options.__file="map.vue",t["default"]=a.exports},df15:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContextMenu",{attrs:{visible:e.visible,left:e.left+"px",top:e.top+"px"},on:{close:e.close}},[i("li",{on:{click:e.rename}},[e._v("Rename")]),i("li",{on:{click:e.remove}},[e._v("Remove")])])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},e06e:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("modal",{attrs:{visible:e.visible},on:{close:e.close},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[e._v(e._s(e.title))])}}])},[i("div",{staticClass:"modal-body"},[i("button",{ref:"confirm",on:{click:e.confirm}},[e._v(e._s(e.yes))]),e.no?i("button",{on:{click:e.deny}},[e._v(e._s(e.no))]):e._e()])])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},e0ac:function(e,t,i){},e0e9:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("1c76")),a=i("5338"),l=i("2d5b"),c=i("4a5b");let u=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.left=0,this.top=0}open(e,t){l.assetStore.selected.includes(t)||c.getComponent().select(e,t),this.visible=!0,this.left=e.pageX,this.top=e.pageY,this.$nextTick(()=>{this.$children[0].$el.focus()})}close(){this.visible=!1}rename(){if(1!==l.assetStore.selected.length)return;const e=l.assetStore.idMap.get(l.assetStore.selected[0]);c.getRef("prompt").prompt("New name:",`Renaming ${e.name}`).then(t=>{a.socket.emit("Asset.Rename",{asset:e.id,name:t}),e.name=t,c.getComponent().$forceUpdate()},()=>{}),this.close()}remove(){0!==l.assetStore.selected.length&&(c.getRef("confirm").open("Are you sure you wish to remove this?").then(e=>{if(e){for(const e of l.assetStore.selected)a.socket.emit("Asset.Remove",e),l.assetStore.isFile(e)?l.assetStore.files.splice(l.assetStore.files.indexOf(e),1):l.assetStore.folders.splice(l.assetStore.folders.indexOf(e),1);l.assetStore.selected=[]}},()=>{}),this.close())}};u=n.__decorate([o.default({components:{ContextMenu:r.default}})],u),t.default=u},e198:function(e,t,i){},e27a:function(e,t,i){"use strict";i.r(t);var n=i("2756"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},e756:function(e,t,i){},e914:function(e,t,i){"use strict";i.r(t);var n=i("160b"),s=i("aa69");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("78c7");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,null,null);a.options.__file="manager.vue",t["default"]=a.exports},e94f:function(e,t,i){"use strict";i.r(t);var n=i("7aaa"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},ea6a:function(e,t,i){"use strict";i.r(t);var n=i("d323"),s=i("6465");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("12d3");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,null,null);a.options.__file="tool.vue",t["default"]=a.exports},eb57:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("Modal",{attrs:{visible:e.visible},on:{close:e.close},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[e._v(e._s(e.title))])}}])},[i("div",{staticClass:"modal-body"},[e._v("\n "+e._s(e.question)+"\n "),i("input",{directives:[{name:"model",rawName:"v-model",value:e.answer,expression:"answer"}],ref:"answer",attrs:{type:"text"},domProps:{value:e.answer},on:{keyup:function(t){return"button"in t||!e._k(t.keyCode,"enter",13,t.key,"Enter")?e.submit(t):null},input:function(t){t.target.composing||(e.answer=t.target.value)}}})]),i("div",{staticClass:"modal-footer"},[i("button",{on:{click:e.submit}},[e._v("Submit")])])])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},ebb9:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("1516"));s.default.component("draggable",r.default);const a=n.__importDefault(i("d65f")),l=i("4a5b"),c=i("0bc6"),u=i("af17"),d=i("6f92"),h=i("f10f");let f=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.data=[],this.currentActor=null,this.roundCounter=0}mounted(){u.EventBus.$on("Initiative.Clear",this.clear),u.EventBus.$on("Initiative.Remove",e=>this.removeInitiative(e)),u.EventBus.$on("Initiative.Show",()=>this.visible=!0),c.socket.on("Initiative.Set",e=>{this.data=e}),c.socket.on("Initiative.Turn.Update",e=>this.setTurn(e,!1)),c.socket.on("Initiative.Round.Update",e=>this.setRound(e,!1)),c.socket.on("Initiative.Effect.New",e=>{const t=this.getActor(e.actor);void 0!==t&&this.createEffect(t,e.effect,!1)}),c.socket.on("Initiative.Effect.Update",e=>this.updateEffect(e.actor,e.effect,!1))}beforeDestroy(){u.EventBus.$off()}clear(){this.data=[],this.currentActor=null}getActor(e){return this.data.find(t=>t.uuid===e)}contains(e){return this.data.some(t=>t.uuid===e)}owns(e){if(h.gameStore.IS_DM)return!0;const t=d.layerManager.UUIDMap.get(e.uuid);return void 0!==t&&t.owners.includes(h.gameStore.username)}getDefaultEffect(){return{uuid:l.uuidv4(),name:"New Effect",turns:10}}fakeSetData(e){e.setData("Hack","")}syncInitiative(e){c.socket.emit("Initiative.Update",e)}addInitiative(e){const t=this.data.findIndex(t=>t.uuid===e.uuid);t>=0||(void 0===e.initiative&&(e.initiative=0),this.syncInitiative(e))}removeInitiative(e){const t=this.data.findIndex(t=>t.uuid===e);if(t<0||this.data[t].group)return;this.syncInitiative({uuid:e});const i=d.layerManager.UUIDMap.get(e);void 0!==i&&i.showHighlight&&(i.showHighlight=!1,d.layerManager.getLayer(i.layer).invalidate(!0))}updateOrder(){h.gameStore.IS_DM&&c.socket.emit("Initiative.Set",this.data.map(e=>e.uuid))}setTurn(e,t){if(!h.gameStore.IS_DM&&t)return;this.currentActor=e;const i=this.data.find(t=>t.uuid===e);if(void 0!==i){if(i.effects)for(let e=i.effects.length-1;e>=0;e--)i.effects[e].turns<=0?i.effects.splice(e,1):i.effects[e].turns--;t&&c.socket.emit("Initiative.Turn.Update",e)}}setRound(e,t){!h.gameStore.IS_DM&&t||(this.roundCounter=e,t&&c.socket.emit("Initiative.Round.Update",e))}nextTurn(){if(!h.gameStore.IS_DM)return;const e=this.data,t=e[(e.findIndex(e=>e.uuid===this.currentActor)+1)%e.length];this.data[0].uuid===t.uuid&&this.setRound(this.roundCounter+1,!0),this.setTurn(t.uuid,!0)}toggleHighlight(e,t){const i=d.layerManager.UUIDMap.get(e.uuid);void 0!==i&&(i.showHighlight=t,d.layerManager.getLayer(i.layer).invalidate(!0))}toggleOption(e,t){this.owns(e)&&(e[t]=!e[t],this.syncInitiative(e))}createEffect(e,t,i){this.owns(e)&&(e.effects.push(t),i&&c.socket.emit("Initiative.Effect.New",{actor:e.uuid,effect:t}))}syncEffect(e,t){this.owns(e)&&c.socket.emit("Initiative.Effect.Update",{actor:e.uuid,effect:t})}updateEffect(e,t,i){const n=this.data.find(t=>t.uuid===e);if(void 0===n)return;const s=n.effects.findIndex(e=>e.uuid===t.uuid);void 0!==s&&(n.effects[s]=t,i?this.syncEffect(n,t):this.$forceUpdate())}};f=n.__decorate([o.default({components:{Modal:a.default,draggable:r.default}})],f),t.default=f},ee96:function(e,t,i){},f086:function(e,t,i){"use strict";i.r(t);var n=i("3427"),s=i("7ba5");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("831f");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"32cec914",null);a.options.__file="selection_info.vue",t["default"]=a.exports},f10f:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=i("6fc5"),o=i("0bc6"),r=i("2b48"),a=i("6f92"),l=i("92b1"),c=i("99e3"),u=i("3a0b"),d=i("d6be");let h=class extends s.VuexModule{constructor(){super(...arguments),this.layers=[],this.selectedLayerIndex=-1,this.boardInitialized=!1,this.locations=[],this.assets={},this.notes=[],this.IS_DM=!1,this.gridSize=50,this.username="",this.roomName="",this.roomCreator="",this.invitationCode="",this.gridColour="rgba(0, 0, 0, 1)",this.fowColour="rgba(0, 0, 0, 1)",this.rulerColour="rgba(255, 0, 0, 1)",this.panX=0,this.panY=0,this.zoomFactor=1,this.unitSize=5,this.useGrid=!0,this.fullFOW=!1,this.fowOpacity=.3,this.fowLOS=!1,this.locationName="",this.visionSources=[],this.visionBlockers=[],this.annotations=[],this.movementblockers=[],this.ownedtokens=[],this.BV=Object.freeze(new c.BoundingVolume([])),this.visionMode="bvh"}get selectedLayer(){return this.layers[this.selectedLayerIndex]}setVisionMode(e){this.visionMode=e}setBoardInitialized(e){this.boardInitialized=e}setDM(e){this.IS_DM=e}setUsername(e){this.username=e}setRoomName(e){this.roomName=e}setRoomCreator(e){this.roomCreator=e}setInvitationCode(e){this.invitationCode=e}addLayer(e){this.layers.push(e),-1===this.selectedLayerIndex&&(this.selectedLayerIndex=this.layers.indexOf(e))}selectLayer(e){const t=this.layers.indexOf(e.name);t>=0&&(this.selectedLayerIndex=t),e.sync&&o.socket.emit("Client.ActiveLayer.Set",e.name)}newNote(e){this.notes.push(e.note),e.sync&&o.socket.emit("Note.New",e.note)}setAssets(e){this.assets=e}setLocations(e){this.locations=e}resetLayerInfo(){this.layers=[],this.selectedLayerIndex=-1}recalculateBV(e=!1){if(this.boardInitialized)if("triangle"===this.visionMode)d.triangulate(e);else{let e=!1,i=0;while(!e){e=!0;try{this.BV=Object.freeze(new c.BoundingVolume(this.visionBlockers))}catch(t){if(e=!1,i++,i>10)return void console.error(t)}}}}updateZoom(e){if(e.newZoomValue===this.zoomFactor)return;e.newZoomValue<.1&&(e.newZoomValue=.01),e.newZoomValue>5&&(e.newZoomValue=5);const t=l.g2l(e.zoomLocation);this.zoomFactor=e.newZoomValue;const i=l.l2g(t),n=i.subtract(e.zoomLocation);this.panX+=n.x,this.panY+=n.y,a.layerManager.invalidate(),r.sendClientOptions()}setGridColour(e){this.gridColour=e.colour,a.layerManager.getGridLayer().drawGrid(),e.sync&&o.socket.emit("Client.Options.Set",{gridColour:e.colour})}setFOWColour(e){this.fowColour=e.colour,a.layerManager.invalidate(),e.sync&&o.socket.emit("Client.Options.Set",{fowColour:e.colour})}setRulerColour(e){this.rulerColour=e.colour,e.sync&&o.socket.emit("Client.Options.Set",{rulerColour:e.colour})}setPanX(e){this.panX=e}setPanY(e){this.panY=e}setZoomFactor(e){this.zoomFactor=e}increasePanX(e){this.panX+=e}increasePanY(e){this.panY+=e}setUnitSize(e){this.unitSize!==e.unitSize&&e.unitSize>0&&e.unitSize<1/0&&(this.unitSize=e.unitSize,a.layerManager.invalidate(),e.sync&&o.socket.emit("Location.Options.Set",{unit_size:e.unitSize}))}setUseGrid(e){if(this.useGrid!==e.useGrid){this.useGrid=e.useGrid;const t=a.layerManager.getGridLayer();e.useGrid?t.canvas.style.display="block":t.canvas.style.display="none",e.sync&&o.socket.emit("Location.Options.Set",{use_grid:e.useGrid})}}setGridSize(e){if(this.gridSize!==e.gridSize&&e.gridSize>0){this.gridSize=e.gridSize;const t=a.layerManager.getGridLayer();void 0!==t&&t.drawGrid(),e.sync&&o.socket.emit("Gridsize.Set",e.gridSize)}}setFullFOW(e){this.fullFOW!==e.fullFOW&&(this.fullFOW=e.fullFOW,a.layerManager.invalidateLight(),e.sync&&o.socket.emit("Location.Options.Set",{full_fow:e.fullFOW}))}setFOWOpacity(e){this.fowOpacity=e.fowOpacity,a.layerManager.invalidateLight(),e.sync&&o.socket.emit("Location.Options.Set",{fow_opacity:e.fowOpacity})}setLineOfSight(e){this.fowLOS!==e.fowLOS&&(this.fowLOS=e.fowLOS,a.layerManager.invalidate(),e.sync&&o.socket.emit("Location.Options.Set",{fow_los:e.fowLOS}))}setLocationName(e){this.locationName=e}updateNote(e){const t=this.notes.find(t=>t.uuid===e.note.uuid);void 0!==t&&(t.title=e.note.title,t.text=e.note.text,e.sync&&o.socket.emit("Note.Update",t))}removeNote(e){this.notes=this.notes.filter(t=>t.uuid!==e.note.uuid),e.sync&&o.socket.emit("Note.Remove",e.note.uuid)}clear(){this.context.state.visionSources=[],this.context.state.visionBlockers=[],this.context.state.ownedtokens=[],this.context.state.annotations=[],this.context.state.movementblockers=[],this.context.commit("recalculateBV")}};n.__decorate([s.Mutation],h.prototype,"setVisionMode",null),n.__decorate([s.Mutation],h.prototype,"setBoardInitialized",null),n.__decorate([s.Mutation],h.prototype,"setDM",null),n.__decorate([s.Mutation],h.prototype,"setUsername",null),n.__decorate([s.Mutation],h.prototype,"setRoomName",null),n.__decorate([s.Mutation],h.prototype,"setRoomCreator",null),n.__decorate([s.Mutation],h.prototype,"setInvitationCode",null),n.__decorate([s.Mutation],h.prototype,"addLayer",null),n.__decorate([s.Mutation],h.prototype,"selectLayer",null),n.__decorate([s.Mutation],h.prototype,"newNote",null),n.__decorate([s.Mutation],h.prototype,"setAssets",null),n.__decorate([s.Mutation],h.prototype,"setLocations",null),n.__decorate([s.Mutation],h.prototype,"resetLayerInfo",null),n.__decorate([s.Mutation],h.prototype,"recalculateBV",null),n.__decorate([s.Mutation],h.prototype,"updateZoom",null),n.__decorate([s.Mutation],h.prototype,"setGridColour",null),n.__decorate([s.Mutation],h.prototype,"setFOWColour",null),n.__decorate([s.Mutation],h.prototype,"setRulerColour",null),n.__decorate([s.Mutation],h.prototype,"setPanX",null),n.__decorate([s.Mutation],h.prototype,"setPanY",null),n.__decorate([s.Mutation],h.prototype,"setZoomFactor",null),n.__decorate([s.Mutation],h.prototype,"increasePanX",null),n.__decorate([s.Mutation],h.prototype,"increasePanY",null),n.__decorate([s.Mutation],h.prototype,"setUnitSize",null),n.__decorate([s.Mutation],h.prototype,"setUseGrid",null),n.__decorate([s.Mutation],h.prototype,"setGridSize",null),n.__decorate([s.Mutation],h.prototype,"setFullFOW",null),n.__decorate([s.Mutation],h.prototype,"setFOWOpacity",null),n.__decorate([s.Mutation],h.prototype,"setLineOfSight",null),n.__decorate([s.Mutation],h.prototype,"setLocationName",null),n.__decorate([s.Mutation],h.prototype,"updateNote",null),n.__decorate([s.Mutation],h.prototype,"removeNote",null),n.__decorate([s.Action],h.prototype,"clear",null),h=n.__decorate([s.Module({dynamic:!0,store:u.rootStore,name:"game",namespaced:!0})],h),t.gameStore=s.getModule(h)},f2d0:function(e,t,i){},f30c:function(e,t,i){"use strict";i.r(t);var n=i("dc37"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},f312:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.aurasFromServer=(e=>{const t=[];for(const i of e)t.push({uuid:i.uuid,visionSource:i.vision_source,visible:i.visible,name:i.name,value:i.value,dim:i.dim,colour:i.colour});return t}),t.aurasToServer=(e=>{const t=[];for(const i of e)t.push({uuid:i.uuid,vision_source:i.visionSource,visible:i.visible,name:i.name,value:i.value,dim:i.dim,colour:i.colour});return t})},f51a:function(e,t,i){"use strict";i.r(t);var n=i("e0e9"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},f551:function(e,t,i){"use strict";i.r(t);var n=i("2686"),s=i("1dd6");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("28b6");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"7a3669fd",null);a.options.__file="note.vue",t["default"]=a.exports},f5fe:function(e,t,i){"use strict";i.r(t);var n=i("9d42"),s=i("7018");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("5b4c");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"ccaf03d6",null);a.options.__file="initiative.vue",t["default"]=a.exports},f692:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("4185"),s=i("b906"),o=i("38c9"),r=i("bab4"),a=i("6f92"),l=i("f10f");function c(e){const t=document.createElement("canvas");let i;t.style.zIndex=a.layerManager.layers.length.toString(),t.width=window.innerWidth,t.height=window.innerHeight,i="grid"===e.type_?new o.GridLayer(t,e.name):"fow"===e.type_?new n.FOWLayer(t,e.name):"fow-players"===e.type_?new s.FOWPlayersLayer(t,e.name):new r.Layer(t,e.name),i.selectable=e.selectable,i.playerEditable=e.player_editable,a.layerManager.addLayer(i);const c=document.getElementById("layers");null!==c?("fow-players"!==e.name&&c.appendChild(t),"grid"===e.type_&&e.size&&l.gameStore.setGridSize({gridSize:e.size,sync:!1}),i.setShapes(e.shapes)):console.warn("Layers div is missing, this will prevent the main game board from loading!")}t.createLayer=c},f8a4:function(e,t,i){},f8b3:function(e,t,i){"use strict";i.r(t);var n=i("d8ee"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},f9e5:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.selected?i("div",{staticClass:"tool-detail",style:{"--detailRight":e.detailRight,"--detailArrow":e.detailArrow}},[i("div",[e._v("#X")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.xCount,expression:"xCount"}],attrs:{type:"text"},domProps:{value:e.xCount},on:{input:function(t){t.target.composing||(e.xCount=t.target.value)}}}),i("div",[e._v("#Y")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.yCount,expression:"yCount"}],attrs:{type:"text"},domProps:{value:e.yCount},on:{input:function(t){t.target.composing||(e.yCount=t.target.value)}}})]):e._e()},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},fbdd:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("d065")),a=i("4a5b"),l=i("0bc6"),c=i("af17"),u=i("6f92");let d=class extends s.default{constructor(){super(...arguments),this.shape=null}mounted(){c.EventBus.$on("SelectionInfo.Shape.Set",e=>{this.shape=e})}beforeDestroy(){c.EventBus.$off()}openEditDialog(){this.$refs.editDialog.visible=!0}changeValue(e,t){null!==this.shape&&a.getRef("prompt").prompt(`New ${e.name} value:`,`Updating ${e.name}`).then(i=>{if(null===this.shape)return;const n=e.value;"+"===i[0]||"-"===i[0]?e.value+=parseInt(i,10):e.value=parseInt(i,10),isNaN(e.value)&&(e.value=n),l.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:t,temporary:!1}),t&&u.layerManager.invalidate()},()=>{})}};d=n.__decorate([o.default({components:{"edit-dialog":r.default}})],d),t.default=d},fe11:function(e,t,i){},fe80:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("0bc6"),s=i("af17"),o=i("8f0a"),r=i("6f92"),a=i("f692"),l=i("9cb7"),c=i("f10f"),u=i("5f86");n.socket.on("connect",()=>{console.log("Connected")}),n.socket.on("disconnect",()=>{console.log("Disconnected")}),n.socket.on("connect_error",e=>{console.error("Could not connect to game session."),u.router.push("/dashboard")}),n.socket.on("error",e=>{console.error("Game session does not exist."),u.router.push("/dashboard")}),n.socket.on("redirect",e=>{console.log("redirecting"),u.router.push(e)}),n.socket.on("Room.Info.Set",e=>{c.gameStore.setRoomName(e.name),c.gameStore.setRoomCreator(e.creator),c.gameStore.setInvitationCode(e.invitationCode)}),n.socket.on("Username.Set",e=>{c.gameStore.setUsername(e),c.gameStore.setDM(e===window.location.pathname.split("/")[2])}),n.socket.on("Client.Options.Set",e=>{c.gameStore.setGridColour({colour:e.grid_colour,sync:!1}),c.gameStore.setFOWColour({colour:e.fow_colour,sync:!1}),c.gameStore.setRulerColour({colour:e.ruler_colour,sync:!1}),c.gameStore.setPanX(e.pan_x),c.gameStore.setPanY(e.pan_y),c.gameStore.setZoomFactor(e.zoom_factor),e.active_layer&&r.layerManager.selectLayer(e.active_layer,!1),void 0!==r.layerManager.getGridLayer()&&r.layerManager.getGridLayer().invalidate()}),n.socket.on("Location.Set",e=>{void 0!==e.name&&c.gameStore.setLocationName(e.name),void 0!==e.unit_size&&c.gameStore.setUnitSize({unitSize:e.unit_size,sync:!1}),void 0!==e.use_grid&&c.gameStore.setUseGrid({useGrid:e.use_grid,sync:!1}),void 0!==e.full_fow&&c.gameStore.setFullFOW({fullFOW:e.full_fow,sync:!1}),void 0!==e.fow_opacity&&c.gameStore.setFOWOpacity({fowOpacity:e.fow_opacity,sync:!1}),void 0!==e.fow_los&&c.gameStore.setLineOfSight({fowLOS:e.fow_los,sync:!1})}),n.socket.on("Position.Set",e=>{l.gameManager.setCenterPosition(new o.GlobalPoint(e.x,e.y))}),n.socket.on("Notes.Set",e=>{for(const t of e)c.gameStore.newNote({note:t,sync:!1})}),n.socket.on("Asset.List.Set",e=>{c.gameStore.setAssets(e)}),n.socket.on("Board.Set",e=>{c.gameStore.clear(),c.gameStore.setLocations(e.locations),document.getElementById("layers").innerHTML="",c.gameStore.resetLayerInfo(),r.layerManager.reset();for(const t of e.layers)a.createLayer(t);r.layerManager.selectLayer(r.layerManager.getLayer().name,!1),s.EventBus.$emit("Initiative.Clear"),c.gameStore.setBoardInitialized(!0),c.gameStore.recalculateBV()}),n.socket.on("Gridsize.Set",e=>{c.gameStore.setGridSize({gridSize:e,sync:!1})}),n.socket.on("Shape.Add",e=>{l.gameManager.addShape(e)}),n.socket.on("Shape.Remove",e=>{if(!r.layerManager.UUIDMap.has(e.uuid))return void console.log("Attempted to remove an unknown shape");if(!r.layerManager.hasLayer(e.layer))return void console.log(`Attempted to remove shape from an unknown layer ${e.layer}`);const t=r.layerManager.getLayer(e.layer);t.removeShape(r.layerManager.UUIDMap.get(e.uuid),!1),t.invalidate(!1)}),n.socket.on("Shape.Order.Set",e=>{if(!r.layerManager.UUIDMap.has(e.shape.uuid))return void console.log("Attempted to move the shape order of an unknown shape");if(!r.layerManager.hasLayer(e.shape.layer))return void console.log(`Attempted to remove shape from an unknown layer ${e.shape.layer}`);const t=r.layerManager.UUIDMap.get(e.shape.uuid),i=r.layerManager.getLayer(t.layer);i.moveShapeOrder(t,e.index,!1)}),n.socket.on("Shape.Layer.Change",e=>{const t=r.layerManager.UUIDMap.get(e.uuid);void 0!==t&&t.moveLayer(e.layer,!1)}),n.socket.on("Shape.Update",e=>{l.gameManager.updateShape(e)}),n.socket.on("Temp.Clear",e=>{e.forEach(e=>{if(!r.layerManager.UUIDMap.has(e.uuid))return void console.log("Attempted to remove an unknown temporary shape");if(!r.layerManager.hasLayer(e.layer))return void console.log(`Attempted to remove shape from an unknown layer ${e.layer}`);const t=r.layerManager.UUIDMap.get(e.uuid);r.layerManager.getLayer(e.layer).removeShape(t,!1)})})}}); +//# sourceMappingURL=app-legacy.e427aa98.js.map \ No newline at end of file diff --git a/server/static/js/app-legacy.e427aa98.js.map b/server/static/js/app-legacy.e427aa98.js.map new file mode 100644 index 000000000..d3bd1bc76 --- /dev/null +++ b/server/static/js/app-legacy.e427aa98.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/game/shapes/text.ts","webpack:///./src/game/ui/selection/shapecontext.vue","webpack:///./src/App.vue?5b85","webpack:///./src/core/components/modals/prompt.vue?d33d","webpack:///./src/core/components/colorpicker.vue?4d88","webpack:///./src/game/game.vue","webpack:///./src/game/api/socket.ts","webpack:///./src/assetManager/manager.vue?5633","webpack:///./src/game/ui/menu/asset_node.vue","webpack:///./src/game/ui/tools/selectcontext.vue?02dc","webpack:///./src/auth/login.vue","webpack:///./src/game/visibility/te/draw.ts","webpack:///./src/game/ui/tools/createtoken_modal.vue?ed6e","webpack:///./src/game/ui/tools/createtoken_modal.vue?3856","webpack:///./src/game/ui/tools/tool.vue?5b17","webpack:///./src/game/shapes/circulartoken.ts","webpack:///./src/assetManager/manager.vue?3cb9","webpack:///./src/assetManager/manager.vue?1f53","webpack:///./src/game/ui/annotation.ts","webpack:///./src/core/components/colorpicker.vue?8070","webpack:///./src/game/ui/menu/menu.vue","webpack:///./src/core/components/contextmenu.vue","webpack:///./src/game/ui/note.vue?49b7","webpack:///./src/auth/login.vue?c159","webpack:///./src/game/shapes/utils.ts","webpack:///./src/core/components/modals/confirm.vue?e6fb","webpack:///./src/game/shapes/shape.ts","webpack:///./src/core/components/modals/prompt.vue?d457","webpack:///./src/game/ui/note.vue?a34d","webpack:///./src/game/ui/note.vue?23aa","webpack:///./src/core/components/modals/modal.vue?33b9","webpack:///./src/game/ui/tools/select.vue?49f9","webpack:///./src/game/ui/tools/utils.ts","webpack:///./src/game/ui/note.vue?a508","webpack:///./src/game/api/utils.ts","webpack:///./src/game/ui/menu/asset_node.vue?f519","webpack:///./src/core/components/contextmenu.vue?f03a","webpack:///./src/core/components/contextmenu.vue?7efa","webpack:///./src/assetManager/store.ts","webpack:///./src/game/ui/selection/edit_dialog.vue?03e8","webpack:///./src/core/components/contextmenu.vue?50e1","webpack:///./src/game/ui/selection/shapecontext.vue?1cf6","webpack:///./src/game/ui/selection/selection_info.vue?321c","webpack:///./src/game/ui/selection/selection_info.vue?8aba","webpack:///./src/game/ui/tools/map.vue?284a","webpack:///./src/game/layers/grid.ts","webpack:///./src/store.ts","webpack:///./src/core/components/colorpicker.vue","webpack:///./src/App.vue?2e53","webpack:///./src/App.vue","webpack:///./src/game/layers/fow.ts","webpack:///./src/core/components/load.vue?18c2","webpack:///./src/game/shapes/circle.ts","webpack:///./src/game/ui/tools/map.vue?a3ab","webpack:///./src/core/components/load.vue","webpack:///./src/game/ui/tools/pan.ts","webpack:///./src/game/ui/tools/selectcontext.vue","webpack:///./src/core/utils.ts","webpack:///./src/assetManager/contextMenu.vue","webpack:///./src/game/visibility/te/triag.ts","webpack:///./src/game/ui/selection/edit_dialog.vue?391c","webpack:///./src/game/ui/selection/edit_dialog.vue?057b","webpack:///./src/game/ui/menu/asset_node.vue?1f27","webpack:///./src/game/ui/selection/shapecontext.vue?ab76","webpack:///./src/game/ui/selection/shapecontext.vue?3b0d","webpack:///./src/core/components/modals/modal.vue?44ae","webpack:///./src/assetManager/socket.ts","webpack:///./src/game/ui/tools/tools.vue?c96e","webpack:///./src/game/game.vue?5550","webpack:///./src/game/shapes/multiline.ts","webpack:///./src/core/components/colorpicker.vue?eaab","webpack:///./src/core/components/colorpicker.vue?8615","webpack:///./src/game/ui/tools/draw.vue","webpack:///./src/game/utils.ts","webpack:///./src/game/ui/tools/createtoken_modal.vue?d0df","webpack:///./src/game/ui/note.vue?f9bd","webpack:///./src/game/ui/initiative.vue?f4e1","webpack:///./src/game/ui/tools/draw.vue?b96d","webpack:///./src/game/shapes/line.ts","webpack:///./src/router.ts","webpack:///./src/game/ui/tools/tool.vue?d136","webpack:///./src/game/ui/tools/draw.vue?d046","webpack:///./src/game/ui/tools/draw.vue?57e4","webpack:///./src/game/ui/tools/tools.vue","webpack:///./src/game/ui/tools/tool.vue?8ce3","webpack:///./src/game/shapes/asset.ts","webpack:///./src/game/visibility/te/cdt.ts","webpack:///./src/game/ui/menu/menu.vue?ed47","webpack:///./src/game/ui/menu/menu.vue?6a3f","webpack:///./src/game/ui/tools/draw.vue?1261","webpack:///./src/game/layers/manager.ts","webpack:///./src/game/ui/initiative.vue?c7e1","webpack:///./src/game/ui/tools/createtoken_modal.vue","webpack:///./src/game/visibility/bvh/node.ts","webpack:///./src/game/ui/tools/createtoken_modal.vue?f918","webpack:///./src/game/events/keyboard.ts","webpack:///./src/assetManager/manager.vue?433f","webpack:///./src/game/ui/tools/tools.vue?25b2","webpack:///./src/game/ui/selection/selection_info.vue?2310","webpack:///./src/core/components/modals/modal.vue?09d2","webpack:///./src/core/components/contextmenu.vue?a0a2","webpack:///./src/game/ui/selection/selection_info.vue?b9a9","webpack:///./src/core/components/modals/prompt.vue?4e1b","webpack:///./src/game/ui/menu/asset_node.vue?4088","webpack:///./src/game/ui/menu/asset_node.vue?fc27","webpack:///./src/core/components/load.vue?4ab2","webpack:///./src/core/components/load.vue?0f87","webpack:///./src/game/ui/tools/tools.vue?d74c","webpack:///./src/game/ui/tools/tools.vue?35df","webpack:///./src/game/ui/menu/menu.vue?8b23","webpack:///./src/game/shapes/boundingrect.ts","webpack:///./src/dashboard/main.vue?5e14","webpack:///./src/dashboard/main.vue?94d1","webpack:///./src/game/geom.ts","webpack:///./src/game/game.vue?5592","webpack:///./src/game/units.ts","webpack:///./src/game/ui/menu/menu.vue?ae57","webpack:///./src/core/components/colorpicker.vue?1682","webpack:///./src/game/ui/tools/selectcontext.vue?0020","webpack:///./src/game/ui/tools/selectcontext.vue?758c","webpack:///./src/game/visibility/te/tds.ts","webpack:///./src/game/visibility/bvh/bvh.ts","webpack:///./src/game/ui/selection/shapecontext.vue?6173","webpack:///./src/game/ui/menu/menu.vue?0d5b","webpack:///./src/game/manager.ts","webpack:///./src/game/ui/initiative.vue?e806","webpack:///./src/game/ui/initiative.vue?ca6b","webpack:///./src/core/components/load.vue?8cd0","webpack:///./src/game/game.vue?9a3e","webpack:///./src/dashboard/main.vue?3f72","webpack:///./src/core/components/modals/confirm.vue","webpack:///./src/game/ui/selection/shapecontext.vue?aac0","webpack:///./src/assetManager/manager.vue?a11e","webpack:///./src/game/event-bus.ts","webpack:///./src/dashboard/main.vue?d5a9","webpack:///./src/game/shapes/rect.ts","webpack:///./src/game/ui/tools/selectcontext.vue?6f66","webpack:///./src/game/layers/fowplayers.ts","webpack:///./src/game/layers/layer.ts","webpack:///./src/game/ui/tools/select.vue?2a55","webpack:///./src/game/ui/tools/select.vue?b488","webpack:///./src/game/events/mouse.ts","webpack:///./src/game/ui/menu/asset_node.vue?be10","webpack:///./src/game/shapes/baserect.ts","webpack:///./src/game/ui/tools/select.vue","webpack:///./src/dashboard/main.vue","webpack:///./src/game/ui/tools/selectcontext.vue?d61f","webpack:///./src/auth/logout.ts","webpack:///./src/core/store.ts","webpack:///./src/main.ts","webpack:///./src/core/components/contextmenu.vue?f402","webpack:///./src/invitation/invitation.ts","webpack:///./src/core/components/modals/prompt.vue","webpack:///./src/game/ui/tools/draw.vue?6d03","webpack:///./src/game/visibility/te/te.ts","webpack:///./src/auth/login.vue?5f02","webpack:///./src/game/ui/selection/edit_dialog.vue","webpack:///./src/game/settings.ts","webpack:///./src/auth/login.vue?283c","webpack:///./src/game/ui/tools/tool.vue?6323","webpack:///./src/game/ui/tools/tool.vue?f5ba","webpack:///./src/core/components/modals/modal.vue?1854","webpack:///./src/core/components/modals/modal.vue?e329","webpack:///./src/game/game.vue?d01c","webpack:///./src/game/ui/tools/ruler.ts","webpack:///./src/core/components/modals/modal.vue","webpack:///./src/game/visibility/te/pa.ts","webpack:///./src/game/ui/tools/createtoken_modal.vue?41c9","webpack:///./src/dashboard/main.vue?1359","webpack:///./src/auth/login.vue?12cd","webpack:///./src/auth/login.vue?7cce","webpack:///./src/game/ui/selection/edit_dialog.vue?9a84","webpack:///./src/game/game.vue?5ab9","webpack:///./src/game/game.vue?07bd","webpack:///./src/core/components/modals/confirm.vue?f9ee","webpack:///./src/game/ui/tools/map.vue","webpack:///./src/assetManager/contextMenu.vue?d089","webpack:///./src/assetManager/contextMenu.vue?b4b1","webpack:///./src/core/components/modals/confirm.vue?e141","webpack:///./src/core/components/modals/confirm.vue?be48","webpack:///./src/assetManager/contextMenu.vue?1b1b","webpack:///./src/game/ui/tools/select.vue?b7fd","webpack:///./src/assetManager/manager.vue","webpack:///./src/game/ui/tools/tools.vue?fa4a","webpack:///./src/game/ui/tools/tool.vue","webpack:///./src/core/components/modals/prompt.vue?0a11","webpack:///./src/core/components/modals/prompt.vue?36e2","webpack:///./src/game/ui/initiative.vue?36c8","webpack:///./src/game/ui/selection/selection_info.vue","webpack:///./src/game/store.ts","webpack:///./src/core/components/modals/confirm.vue?a22f","webpack:///./src/game/comm/conversion/aura.ts","webpack:///./src/assetManager/contextMenu.vue?1e9a","webpack:///./src/game/ui/note.vue","webpack:///./src/game/ui/initiative.vue","webpack:///./src/game/layers/utils.ts","webpack:///./src/game/ui/selection/edit_dialog.vue?3800","webpack:///./src/game/ui/tools/map.vue?7416","webpack:///./src/game/ui/tools/map.vue?9024","webpack:///./src/game/ui/selection/selection_info.vue?5d62","webpack:///./src/game/api/events.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","app","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","boundingrect_1","shape_1","units_1","Text","Shape","[object Object]","position","text","font","angle","fillColour","strokeColour","uuid","super","this","type","assign","getBaseDict","points","refPoint","x","y","BoundingRect","ctx","draw","fillStyle","save","dest","g2l","translate","rotate","textAlign","getLines","map","line","fillText","restore","point","centerPoint","canvas","resizeDir","lines","lineHeight","widths","measureText","width","Math","max","split","allLines","maxWidth","targetLine","words","word","testLine","metrics","testWidth","__webpack_exports__","_shapecontext_vue_vue_type_template_id_7111f3f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_shapecontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","__WEBPACK_IMPORT_KEY__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__","component","options","__file","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_style_index_0_id_0602c2e6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_style_index_0_id_0602c2e6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","tinycolor2_1","tslib_1","__importDefault","vue_1","vue_class_component_1","vue_color_1","vue_property_decorator_1","ColorPicker","default","display","left","top","transparent","$refs","chromePicker","val","rgba","a","setPosition","$nextTick","$children","$el","focus","newColor","toRgbString","$emit","color","rect","getBoundingClientRect","right","innerWidth","bottom","innerHeight","__decorate","Prop","String","components","chrome-picker","Chrome","_game_vue_vue_type_template_id_6d744362_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_game_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__","socket_io_client_1","createConnection","route","socket","io","opts","query","params","creator","room","connect","location","protocol","host","autoConnect","contextMenu_vue_1","confirm_vue_1","prompt_vue_1","socket_1","store_1","utils_1","AssetManager","path","draggingSelection","folders","assetStore","files","selected","idMap","currentFolder","root","parentFolder","parent","undefined","firstSelectedFile","sel","file_hash","nextFolder","pop","clearSelected","emit","prompt","inode","target","isFile","indexOf","delete","event","shiftKey","inodes","start","end","ctrlKey","file","dataTransfer","setData","dropEffect","includes","classList","contains","add","remove","moveInode","upload","document","getElementById","click","fls","CHUNK_SIZE","uuidv4","slices","ceil","size","fr","FileReader","readAsArrayBuffer","min","onload","e","directory","totalSlices","Prompt","ConfirmDialog","AssetContextMenu","to","from","next","disconnect","_asset_node_vue_vue_type_template_id_62c91cd3_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_asset_node_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_style_index_0_id_44a31e42_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_style_index_0_id_44a31e42_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_login_vue_vue_type_template_id_6bbf3b79_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_login_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","manager_1","tds_1","triag_1","drawPolygon","polygon","colour","dl","layerManager","getLayer","lineJoin","beginPath","strokeStyle","random","moveTo","g2lx","g2ly","lineTo","closePath","stroke","drawPolygonL","xx","local","yy","I","J","drl","constrained","drawPolygonT","tds","clear","T","clearRect","ei","EdgeIterator","valid","collect","edge","first","vertices","ccw","second","cw","pos","triangles","isInfinite","po","arc","PI","fill","constraints","console","log","DP","DPL","DPT","render","_vm","_h","$createElement","_c","_self","attrs","visible","on","close","$event","scopedSlots","_u","fn","staticClass","draggable","dragstart","dragStart","dragend","dragEnd","_v","for","directives","rawName","expression","id","domProps","input","composing","update:color","borderColour","ref","height","submit","staticRenderFns","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","tinycolor","__importStar","circle_1","CircularToken","Circle","center","radius","fromDict","textBaseline","xs","calcFontScale","g2lz","ys","transform","mostReadable","toHexString","gameStore","IS_DM","group","source","has_img","effects","index","Infinity","dragover","preventDefault","moveDrag","drop","stopPropagation","stopDrag","_l","dir","_s","multiple","hidden","change","title","createDirectory","prepareUpload","dblclick","changeDirectory","dragleave","leaveDrag","staticStyle","font-size","_e","class","inode-selected","select","contextmenu","cm","open","startDrag","src","geom_1","rect_1","text_1","AnnotationManager","shown","origin","GlobalPoint","annotationText","annotationRect","Rect","layer","hasLayer","warn","addShape","l2g","LocalPoint","getMaxWidth","getMaxHeight","w","zoomFactor","h","invalidate","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_style_index_0_id_b4f2c0b0_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_style_index_0_id_b4f2c0b0_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_menu_vue_vue_type_template_id_21f210ea_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_menu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_contextmenu_vue_vue_type_template_id_256dde9c___WEBPACK_IMPORTED_MODULE_0__","_contextmenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","asset_1","circulartoken_1","line_1","multiline_1","createShapeFromDict","shape","dummy","UUIDMap","has","sh","type_","fill_colour","stroke_colour","circ","token","Line","x2","y2","line_width","multiline","MultiLine","asset","img","Image","startsWith","URL","pathname","Asset","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_style_index_0_id_1883e207_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_style_index_0_id_1883e207_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","aura_1","trackers","auras","owners","visionObstruction","movementObstruction","isToken","showHighlight","annotation","globalCompositeOperation","Map","skipLightUpdate","self","obstructionIndex","visionBlockers","changeBV","recalculateBV","forEach","au","ls","visionSources","findIndex","aura","visionSource","some","blocksMovement","movementblockers","ownedBy","ownedtokens","username","draw_operator","movement_obstruction","vision_obstruction","aurasToServer","is_token","JSON","stringify","aurasFromServer","parse","bbox","getBoundingBox","strokeRect","topLeft","dim","loc","innerRange","g2lr","gradient","createRadialGradient","tc","addColorStop","setAlpha","lastPath","sync","oldLayer","newLayer","shapes","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","note","mask","updateNote","$set","style","calcHeight","removeNote","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_style_index_0_id_12ed61ba_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_style_index_0_id_12ed61ba_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","selectcontext_vue_1","tool_vue_1","utils_2","utils_3","SelectOperations","SelectTool","showContextMenu","active","Noop","resizeDirection","deltaChanged","dragRay","Ray","Vector","selectionStartPoint","selectionHelper","mouse","getMouse","globalMouse","selectionStack","hit","selection","concat","corner","getCorner","getRef","Resize","Drag","localRefPoint","subtract","GroupSelect","endPoint","abs","og","direction","delta","multiply","ogDelta","calculateDelta","asDict","redraw","temporary","resize","bb","gm","inCorner","body","cursor","clearSelection","topRight","botLeft","useGrid","altKey","snapToGrid","resizeToGrid","$parent","shapecontext","selectcontext","SelectContext","done","ogSelBBox","newSelBBox","offset","refine","movementBlocker","blocker","blockerBBox","found","intersectsWithInner","ray","fromPoints","normalize","invDir","inverse","dirIsNegative","intersectP","bCenter","sCenter","ux","uy","dx","dot","dy","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_style_index_0_id_7a3669fd_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_style_index_0_id_7a3669fd_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","sendClientOptions","locationOptions","panX","panY","AssetNode","showImage","keys","filter","el","sort","alphSort","__files","b","toLowerCase","children","imageSource","querySelector","setDragImage","tabindex","blur","_t","vuex_module_decorators_1","AssetStore","VuexModule","Mutation","Module","dynamic","store","rootStore","namespaced","getModule","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_style_index_0_id_078b3b76_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_style_index_0_id_078b3b76_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","contextmenu_vue_1","ShapeContext","activeLayer","pageX","pageY","layers","selectable","playerEditable","moveLayer","getActiveLayer","moveShapeOrder","initiative","addInitiative","getInitiativeRepr","ContextMenu","openEditDialog","tracker","changeValue","maxvalue","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_map_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_map_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","layer_1","GridLayer","Layer","doClear","drawGrid","gs","gridSize","gridColour","lineWidth","vuex_1","use","Store","_colorpicker_vue_vue_type_template_id_b4f2c0b0_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_colorpicker_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","script","componentNormalizer","settings_1","FOWLayer","isVisionLayer","preFogShapes","idx","removeShape","Settings","skipLightFOW","originalOperation","dctx","drawAngleLines","drawFirstLightHit","fullFOW","lcenter","alm","light","find","auraLength","getUnitDistance","auraCircle","visibleInCanvas","lastArcAngle","Path2D","firstPoint","angleSteps","anglePoint","cos","sin","lightRay","hitResult","BV","intersect","fowLOS","drawImage","preShape","ogComposite","getFogColour","fillRect","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_load_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_load_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","pow","targetX","targetY","round","resizedir","diff","sqrt","baserect_1","MapTool","xCount","yCount","startPoint","clone","BaseRect","_load_vue_vue_type_template_id_ff095222___WEBPACK_IMPORTED_MODULE_0__","_load_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__","PanTool","panStart","distance","increasePanX","increasePanY","_selectcontext_vue_vue_type_template_id_44a31e42_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_selectcontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","main_1","replace","v","toString","capitalize","charAt","toUpperCase","getHTMLFont","element","parentElement","getComputedStyle","getPropertyValue","getHTMLTextWidth","fakeElement","createElement","appendChild","getContext","partition","arr","predicate","ret","Number","fontWidth","fixedEncodeURIComponent","str","encodeURIComponent","charCodeAt","OrderedMap","values","getComponent","activeComponent","_contextMenu_vue_vue_type_template_id_d4f084a4___WEBPACK_IMPORTED_MODULE_0__","_contextMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","edgeInfo","va","vb","ec","EdgeCirculator","indv","indexV","ri","infinite","vi","orient","orientation","Sign","COLLINEAR","collinearBetween","q","cPQ","cQR","compare","EQUAL","SMALLER","LARGER","px","py","qx","qy","rx","ry","pqx","pqy","prx","pry","det","determinant","maxX","maxY","aprX","aprY","ZERO","eps","EPSILON","POSITIVE","NEGATIVE","a00","a01","a10","a11","hasInexactNegativeOrientation","sideOfOrientedCircle","perturb","sideOfOrientedCircleP","Error","p0","p1","p2","os","getOrientedSide","ON_ORIENTED_BOUNDARY","reverse","ON_NEGATIVE_SIDE","xyEqual","xySmaller","xyCompare","qpx","qpy","rpx","rpy","tpx","tpy","tqx","tqy","rqx","rqy","maxx","maxy","arpx","arpy","atqx","atqy","atpx","atpy","arqx","arqy","ON_POSITIVE_SIDE","segSegDoIntersectCrossing","p3","p4","LEFT_TURN","RIGHT_TURN","segSegDoIntersectContained","intersection","pa","pb","pc","pd","getIntersectionType","intersectionType","IntersectionType","POINT","NO_INTERSECTION","getLine","doIntersect","l1","l2","info","getIntersectionTypeLine","la","lb","denom","nom1","nom2","A1","A2","B1","B2","grid-column","updateShape","grid-column-start","checked","setToken","Array","isArray","_i","$$a","$$el","$$c","$$v","$$i","setVisionBlocker","setMovementBlocker","owner","placeholder","updateOwner","removeOwner","modifiers","number","_n","$forceUpdate","opacity","removeTracker","updateAuraColour","updateAuraVisionSource","removeAura","updateAnnotation","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","getLayers","background-color","setLayer","moveToBack","moveToFront","getInitiativeWord","Modal","positioned","offsetX","offsetY","screenX","screenY","dragging","updatePosition","container","offsetWidth","offsetHeight","clientX","clientY","parseInt","Boolean","destination","href","setRoot","folder","child","set","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_style_index_0_id_1fee50f5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_style_index_0_id_1fee50f5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_points","minx","miny","lineCap","currentTarget","closePicker","z-index","updateColor","_draw_vue_vue_type_template_id_7abc7fe9_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_draw_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","opposite","fowColour","fowOpacity","colorpicker_vue_1","modal_vue_1","CreateTokenModal","updatePreview","newValue","oldValue","unitSize","Watch","color-picker","computed","mapState","NoteDialog","textarea","scrollHeight","then","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_style_index_0_id_ccaf03d6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_style_index_0_id_ccaf03d6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","DrawTool","brushHelper","shapeSelect","modeSelect","modes","brushSize","helperSize","onModeChange","fowLayer","normalLayer","setupBrush","onDeselect","onSelect","axios_1","vue_router_1","manager_vue_1","login_vue_1","logout_1","load_vue_1","main_vue_1","game_vue_1","invitation_1","router","base","routes","redirect","meta","auth","template","beforeEach","coreStore","initialized","matched","record","authenticated","response","setAuthenticated","setUsername","setInitialized","catch","error","Tool","detailRight","mid","detailArrow","$on","tool","onMouseDown","onMouseUp","onMouseMove","onContextMenu","--detailRight","--detailArrow","option-selected","max-width","_tools_vue_vue_type_template_id_1fee50f5_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_tools_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","topleft","CDT","TDS","insert","insertConstraintV","stack","markConstraint","intersectionInfo","findIntersectedFaces","triangulateHole","intersectedFaces","listAB","listBA","edges","triangulateHole2","propagatingFlipE","triangulateHalfHole","fl","neighbours","deleteTriangle","conflictBoundaries","iN","iT","iC","current","n1","n2","ind","ind1","ind2","mirrorIndex","v0","v1","v2","newlf","createTriangle","isConstrained","triangle","vaa","vbb","aa","lfc","LineFaceCirculator","lf","rf","indexT","unshift","previousFace","currentVertex","i1","i2","vcc","vdd","pi","removeConstrainedEdge","dimension","indf","locateInfo","locate","iLocate","insertb","lt","li","flipAround","propagatingFlip","depth","isFlipable","maxDepth","ni","flip","e1","e2","eni","eI","edgeSet","lessEdge","indn","ed","tt","ii","u","t1","t2","t3","i3","t4","i4","insertInConstrainedEdge","LocateType","EDGE","insertc","updateConstraintsIncident","VERTEX","clearConstraintsIncident","updateConstraintsOpposite","c1","c2","fc","FaceCirculator","cwi","ccwi","insertFirst","finiteVertex","insertSecond","OUTSIDE_AFFINE_HULL","insertOutsideAffineHull","OUTSIDE_CONVEX_HULL","insertOutsideConvexHull","insertInEdge","FACE","insertInFace","insertDimUp","_infinite","conform","finiteEdge","COUNTERCLOCKWISE","insertOutsideConvexHull2","ccwlist","cwlist","prev","th","marchLocate1D","marchLocate2D","ff","iv","pqt","Triangle","leftFirst","o0","o1","o2","sum","nTurns","settings","locations","rm-list-dm","_m","enter","rm","transition","settingsClick","overflow-y","overflow-x","assets","createNote","openNote","notes","step","readonly","invitationCode","rulerColour","changeVisionMode","text-decoration","changeLocation","createLocation","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","LayerManager","interval","drawLoop","requestAnimationFrame","addLayer","selectedLayer","globalAlpha","selectLayer","getSelection","image","getData","l2gx","l2gy","l2gz","lm","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_createtoken_modal_vue_vue_type_template_id_66ccc134_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_createtoken_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","BoundingNode","nPrimitives","LeafNode","firstPrimOffset","InteriorNode","union","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","event_bus_1","onKeyUp","HTMLInputElement","HTMLTextAreaElement","selectTool","EventBus","onKeyDown","keyCode","hasSelection","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","shapecontext_vue_1","createtoken_modal_vue_1","draw_vue_1","map_vue_1","pan_1","select_vue_1","manager_2","ruler_1","Tools","currentTool","tools","dmTools","currentToolComponent","tagName","targetTool","button","buttons","annotations","gameManager","annotationManager","setActiveText","select-tool","pan-tool","draw-tool","ruler-tool","RulerTool","map-tool","shape-menu","createtoken-dialog","watch","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_style_index_0_id_32cec914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_style_index_0_id_32cec914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","question","answer","resolve","reject","Promise","toggle","mouseover","hash","mouseout","message","refInFor","tool-selected","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","botRight","vector","other","xmin","xmax","ymin","ymax","botright","dirIsNeg","txmin","getDiagCorner","txmax","tymin","tymax","tMax","sw","owned","joined","createRoom","newSessionName","tag","getPointDistance","Point","vec","scale","maxT","vue_slider_component_1","lodash_1","initiative_vue_1","menu_vue_1","note_vue_1","selection_info_vue_1","tools_vue_1","keyboard_1","mouse_1","Game","ready","manager","updateZoom","newZoomValue","zoomLocation","addEventListener","setWidth","setHeight","throttle","scrollZoom","mousedown","mouseup","mousemove","mouseleave","confirm","dropAsset","tool-bar","selection-info","prompt-dialog","confirm-dialog","menu-bar","initiative-dialog","zoom-slider","note-dialog","obj","z","l2gr","asset_node_vue_1","MenuBar","setUseGrid","setFullFOW","setFOWOpacity","setLineOfSight","setUnitSize","setGridSize","setGridColour","setFOWColour","setRulerColour","nextElementSibling","newNote","setVisionMode","asset-node","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","bringPlayers","createToken","showInitiative","_INFINITE_VERTEX","LineFaceState","newPoint","INFINITE","vertex","Vertex","_point","_ri","Edge","_es","associatedEdge","increment","tr","UNDEFINED","_tr","ic","vt","vr","pqr","VERTEX_VERTEX","VERTEX_EDGE","EDGE_VERTEX","EDGE_EDGE","createVertex","addVertex","infiniteVertex","n0","trig","t0","i0","setAdjacency","deleteList","copy","neighbour","lfit","reorient","vCW","vCCW","tri","bl","bli","vv","g","node_1","BoundingVolume","totalNodes","buildData","orderedPrims","nodes","_a","recursiveBuild","compact","node","createLeaf","centroidBbox","getMaxExtent","pMid","partitionedData","flattened","stopOnFirstHit","tMin","todoOffset","nodeNum","todo","secondChildOffset","flatten","myOffset","secondOffset","primitivesOffset","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_style_index_0_id_7111f3f6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_style_index_0_id_7111f3f6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_style_index_0_id_21f210ea_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_style_index_0_id_21f210ea_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","annotation_1","GameManager","selectedTool","oldShape","redrawInitiative","checkVisionSources","setMovementBlock","setIsToken","move","localPos","fakeSetData","disabled","$store","state","game","updateOrder","model","callback","actor","flex-direction","align-items","initiative-selected","currentActor","mouseenter","toggleHighlight","lazy","notAllowed","owns","syncInitiative","createEffect","getDefaultEffect","toggleOption","removeInitiative","effect","updateEffect","turns","roundCounter","setRound","setTurn","nextTurn","LoadComponent","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_1_id_6d744362_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_1_id_6d744362_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","registerHooks","Dashboard","vm","err","post","$router","_confirm_vue_vue_type_template_id_1883e207_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_confirm_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","te_1","FOWPlayersLayer","skipPlayerFOW","drctx","maxLength","tokenId","visionMode","computeVisibility","selectionColor","selectionWidth","invalidateLight","serverShape","lsI","lbI","mbI","anI","annotationIndex","ownedIndex","ogOP","drawAuras","destinationIndex","oldIdx","sign","deltaY","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_style_index_0_id_62c91cd3_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_style_index_0_id_62c91cd3_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","topright","botleft","coreVisible","mx","my","_select_vue_vue_type_template_id_0ed49b21___WEBPACK_IMPORTED_MODULE_0__","_select_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_main_vue_vue_type_template_id_61eb1455_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_main_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","createtokendialog","Logout","CoreStore","init","App_vue_1","router_1","config","productionTip","devtools","performance","$mount","props","Initiative","code","sessionUrl","_prompt_vue_vue_type_template_id_0602c2e6_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_prompt_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_style_index_0_id_7abc7fe9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_style_index_0_id_7abc7fe9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","draw_1","pa_1","it","drawt","Q","rawOutput","PA_CDT","expandEdge","fh","nfh","nIndex","rIndex","lIndex","nvh","rvh","lvh","re","le","ro","lo","raySegIntersection","CLOCKWISE","denominator","ua","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_6bbf3b79_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_6bbf3b79_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_edit_dialog_vue_vue_type_template_id_078b3b76_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_edit_dialog_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","tempFill","Login","password","$route","statusText","span","modal-mask","dialog-mask","dragOver","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","ruler","diffsign","xdiff","ydiff","label","atan2","xmid","ymid","_modal_vue_vue_type_template_id_12ed61ba_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","cdt_1","triangulate","partial","cdt","insertConstraint","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_style_index_0_id_66ccc134_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_style_index_0_id_66ccc134_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_61eb1455_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_61eb1455_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","focusin","focusout","login","required","visibility","register","EditDialog","addEmpty","hadAnnotation","an","ownerIndex","layer-selected","dot-width","dot-height","tooltip-dir","tooltip","formatter","toFixed","slider-style","border-radius","bg-style","box-shadow","process-style","yes","no","ok","_map_vue_vue_type_template_id_f93438ce___WEBPACK_IMPORTED_MODULE_0__","_map_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","rename","deny","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_manager_vue_vue_type_template_id_d1ce9748___WEBPACK_IMPORTED_MODULE_0__","_manager_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_tool_vue_vue_type_template_id_1e034b42___WEBPACK_IMPORTED_MODULE_0__","_tool_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","keyup","_k","vuedraggable_1","getActor","$off","actorId","order","show","option","effectIndex","syncEffect","_selection_info_vue_vue_type_template_id_32cec914_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_selection_info_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","bvh_1","GameStore","selectedLayerIndex","boardInitialized","roomName","roomCreator","locationName","freeze","isDM","success","tries","oldLoc","newLoc","getGridLayer","increase","unit_size","gridLayer","use_grid","full_fow","fow_opacity","fow_los","actualNote","context","commit","Action","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","vision_source","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_note_vue_vue_type_template_id_7a3669fd_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_note_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_initiative_vue_vue_type_template_id_ccaf03d6_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_initiative_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","fow_1","fowplayers_1","grid_1","createLayer","layerInfo","zIndex","player_editable","setShapes","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","edit_dialog_vue_1","SelectionInfo","editDialog","ogValue","isNaN","edit-dialog","setRoomName","setRoomCreator","setInvitationCode","setDM","grid_colour","fow_colour","ruler_colour","setPanX","pan_x","setPanY","pan_y","setZoomFactor","zoom_factor","active_layer","setLocationName","setCenterPosition","setAssets","locationInfo","setLocations","innerHTML","resetLayerInfo","reset","setBoardInitialized","realShape"],"mappings":"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","file":"static/js/app-legacy.e427aa98.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { g2l } from \"@/game/units\";\n\nexport class Text extends Shape {\n type = \"text\";\n text: string;\n font: string;\n angle: number;\n constructor(\n position: GlobalPoint,\n text: string,\n font: string,\n angle?: number,\n fillColour?: string,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(position, fillColour, strokeColour, uuid);\n this.text = text;\n this.font = font;\n this.angle = angle || 0;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n text: this.text,\n font: this.font,\n angle: this.angle,\n });\n }\n get points() {\n return [[this.refPoint.x, this.refPoint.y]];\n }\n getBoundingBox(): BoundingRect {\n return new BoundingRect(this.refPoint, 5, 5); // TODO: fix this bounding box\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.font = this.font;\n ctx.fillStyle = this.fillColour;\n ctx.save();\n const dest = g2l(this.refPoint);\n ctx.translate(dest.x, dest.y);\n ctx.rotate(this.angle);\n ctx.textAlign = \"center\";\n this.getLines(ctx).map(line => ctx.fillText(line.text, line.x, line.y));\n ctx.restore();\n }\n contains(point: GlobalPoint): boolean {\n return false; // TODO\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {} // TODO\n getCorner(point: GlobalPoint): string | undefined {\n return \"\";\n } // TODO\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid(): void {}\n resizeToGrid(): void {}\n resize(resizeDir: string, point: LocalPoint): void {}\n\n getMaxHeight(ctx: CanvasRenderingContext2D) {\n const lines = this.getLines(ctx);\n const lineHeight = 30;\n return lineHeight * lines.length;\n }\n\n getMaxWidth(ctx: CanvasRenderingContext2D) {\n const lines = this.getLines(ctx);\n const widths = lines.map(line => ctx.measureText(line.text).width);\n return Math.max(...widths);\n }\n\n private getLines(ctx: CanvasRenderingContext2D) {\n const lines = this.text.split(\"\\n\");\n const allLines: { text: string; x: number; y: number }[] = [];\n const maxWidth = ctx.canvas.width;\n const lineHeight = 30;\n const x = 0; // this.refPoint.x;\n let y = 0; // this.refPoint.y;\n\n for (const line of lines) {\n let targetLine = \"\";\n const words = line.split(\" \");\n for (const word of words) {\n const testLine = targetLine + word + \" \";\n const metrics = ctx.measureText(testLine);\n const testWidth = metrics.width;\n if (testWidth > maxWidth) {\n ctx.fillText(targetLine, x, y);\n allLines.push({ text: targetLine, x, y });\n targetLine = word + \" \";\n y += lineHeight;\n } else {\n targetLine = testLine;\n }\n }\n allLines.push({ text: targetLine, x, y });\n y += lineHeight;\n }\n return allLines;\n }\n}\n","import { render, staticRenderFns } from \"./shapecontext.vue?vue&type=template&id=7111f3f6&scoped=true&\"\nimport script from \"./shapecontext.vue?vue&type=script&lang=ts&\"\nexport * from \"./shapecontext.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./shapecontext.vue?vue&type=style&index=0&id=7111f3f6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7111f3f6\",\n null\n \n)\n\ncomponent.options.__file = \"shapecontext.vue\"\nexport default component.exports","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=style&index=0&id=0602c2e6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=style&index=0&id=0602c2e6&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport tinycolor from \"tinycolor2\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { Chrome } from \"vue-color\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component({\n components: {\n \"chrome-picker\": Chrome,\n },\n})\nexport default class ColorPicker extends Vue {\n @Prop(String) color!: string;\n\n display = false;\n left = 0;\n top = 0;\n transparent = false;\n\n mounted() {\n this.transparent = (this.$refs.chromePicker).val.rgba.a === 0;\n this.setPosition();\n }\n\n open() {\n if (this.display) return; // click on the picker itself\n this.setPosition();\n this.display = true;\n this.$nextTick(() => this.$children[0].$el.focus());\n }\n updateColor(value: { rgba: { r: number; g: number; b: number; a: number } }) {\n this.transparent = value.rgba.a === 0;\n const newColor = tinycolor(value.rgba).toRgbString();\n this.$emit(\"update:color\", newColor);\n this.$emit(\"input\", newColor);\n }\n closePicker() {\n this.display = false;\n this.$emit(\"change\", this.color);\n }\n setPosition() {\n const rect = this.$el.getBoundingClientRect();\n // 224 is the width of the picker, 242 the height\n if (rect.right + 224 > window.innerWidth) this.left = rect.left - 224;\n else this.left = rect.right;\n if (rect.bottom + 242 > window.innerHeight) this.top = rect.top - 242;\n else this.top = rect.bottom;\n }\n}\n","import { render, staticRenderFns } from \"./game.vue?vue&type=template&id=6d744362&scoped=true&\"\nimport script from \"./game.vue?vue&type=script&lang=ts&\"\nexport * from \"./game.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./game.vue?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./game.vue?vue&type=style&index=1&id=6d744362&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d744362\",\n null\n \n)\n\ncomponent.options.__file = \"game.vue\"\nexport default component.exports","import io from \"socket.io-client\";\nimport { Route } from \"vue-router\";\n\nexport const socket = io(location.protocol + \"//\" + location.host + \"/planarally\", { autoConnect: false });\n\nexport function createConnection(route: Route) {\n socket.io.opts.query = `user=${route.params.creator}&room=${route.params.room}`;\n socket.connect();\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport AssetContextMenu from \"@/assetManager/contextMenu.vue\";\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\n\nimport { socket } from \"@/assetManager/socket\";\nimport { assetStore } from \"@/assetManager/store\";\nimport { Asset } from \"@/core/comm/types\";\nimport { uuidv4 } from \"@/core/utils\";\n\n@Component({\n components: {\n Prompt,\n ConfirmDialog,\n AssetContextMenu,\n },\n beforeRouteEnter(to, from, next) {\n socket.connect();\n next();\n },\n beforeRouteLeave(to, from, next) {\n socket.disconnect();\n next();\n },\n})\nexport default class AssetManager extends Vue {\n path: number[] = [];\n draggingSelection = false;\n\n get folders(): number[] {\n return assetStore.folders;\n }\n\n get files(): number[] {\n return assetStore.files;\n }\n\n get selected(): number[] {\n return assetStore.selected;\n }\n\n get idMap() {\n return assetStore.idMap;\n }\n\n get currentFolder(): number {\n if (this.path.length) return this.path[this.path.length - 1];\n return assetStore.root;\n }\n get parentFolder(): number {\n let parent = this.path[this.path.length - 2];\n if (parent === undefined) parent = assetStore.root;\n return parent;\n }\n get firstSelectedFile(): Asset | null {\n for (const sel of assetStore.selected) {\n if (assetStore.idMap.get(sel)!.file_hash) {\n return assetStore.idMap.get(sel)!;\n }\n }\n return null;\n }\n changeDirectory(nextFolder: number) {\n if (nextFolder < 0) this.path.pop();\n else this.path.push(nextFolder);\n assetStore.clearSelected();\n socket.emit(\"Folder.Get\", this.currentFolder);\n }\n createDirectory() {\n const name = window.prompt(\"New folder name\");\n if (name !== null) {\n socket.emit(\"Folder.Create\", { name, parent: this.currentFolder });\n }\n }\n moveInode(inode: number, target: number) {\n if (assetStore.isFile(inode)) assetStore.files.splice(assetStore.files.indexOf(inode), 1);\n else assetStore.folders.splice(assetStore.folders.indexOf(inode), 1);\n assetStore.idMap.delete(inode);\n socket.emit(\"Inode.Move\", { inode, target });\n }\n select(event: MouseEvent, inode: number) {\n if (event.shiftKey && assetStore.selected.length > 0) {\n const inodes = [...assetStore.files, ...assetStore.folders];\n const start = inodes.indexOf(assetStore.selected[assetStore.selected.length - 1]);\n const end = inodes.indexOf(inode);\n for (let i = start; i !== end; start < end ? i++ : i--) assetStore.selected.push(inodes[i]);\n assetStore.selected.push(inodes[end]);\n } else {\n if (!event.ctrlKey) {\n assetStore.clearSelected();\n }\n assetStore.selected.push(inode);\n }\n }\n startDrag(event: DragEvent, file: number) {\n if (event.dataTransfer === null) return;\n event.dataTransfer.setData(\"Hack\", \"ittyHack\");\n event.dataTransfer.dropEffect = \"move\";\n if (!assetStore.selected.includes(file)) assetStore.selected.push(file);\n this.draggingSelection = true;\n }\n moveDrag(event: DragEvent) {\n if ((event.target).classList.contains(\"folder\"))\n (event.target).classList.add(\"inode-selected\");\n }\n leaveDrag(event: DragEvent) {\n if ((event.target).classList.contains(\"folder\"))\n (event.target).classList.remove(\"inode-selected\");\n }\n stopDrag(event: DragEvent, target: number) {\n (event.target).classList.remove(\"inode-selected\");\n if (this.draggingSelection) {\n if (\n (target === assetStore.root || assetStore.folders.includes(target)) &&\n !assetStore.selected.includes(target)\n ) {\n for (const inode of assetStore.selected) {\n this.moveInode(inode, target);\n }\n }\n assetStore.clearSelected();\n } else if (event.dataTransfer && event.dataTransfer.files.length > 0) {\n this.upload(event.dataTransfer.files, target);\n }\n this.draggingSelection = false;\n }\n prepareUpload() {\n document.getElementById(\"files\")!.click();\n }\n upload(fls?: FileList, target?: number) {\n const files = (document.getElementById(\"files\")!).files;\n if (fls === undefined) {\n if (files) fls = files;\n else return;\n }\n if (target === undefined) target = this.currentFolder;\n const CHUNK_SIZE = 100000;\n for (const file of fls) {\n const uuid = uuidv4();\n const slices = Math.ceil(file.size / CHUNK_SIZE);\n for (let slice = 0; slice < slices; slice++) {\n const fr = new FileReader();\n fr.readAsArrayBuffer(\n file.slice(\n slice * CHUNK_SIZE,\n slice * CHUNK_SIZE + Math.min(CHUNK_SIZE, file.size - slice * CHUNK_SIZE),\n ),\n );\n fr.onload = e => {\n socket.emit(\"Asset.Upload\", {\n name: file.name,\n directory: target,\n data: fr.result,\n slice,\n totalSlices: slices,\n uuid,\n });\n };\n }\n }\n }\n}\n","import { render, staticRenderFns } from \"./asset_node.vue?vue&type=template&id=62c91cd3&scoped=true&\"\nimport script from \"./asset_node.vue?vue&type=script&lang=ts&\"\nexport * from \"./asset_node.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./asset_node.vue?vue&type=style&index=0&id=62c91cd3&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62c91cd3\",\n null\n \n)\n\ncomponent.options.__file = \"asset_node.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=style&index=0&id=44a31e42&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=style&index=0&id=44a31e42&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=6bbf3b79&scoped=true&\"\nimport script from \"./login.vue?vue&type=script&lang=ts&\"\nexport * from \"./login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&id=6bbf3b79&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6bbf3b79\",\n null\n \n)\n\ncomponent.options.__file = \"login.vue\"\nexport default component.exports","import { layerManager } from \"@/game/layers/manager\";\nimport { g2lx, g2ly } from \"@/game/units\";\nimport { EdgeIterator, TDS } from \"./tds\";\nimport { ccw, cw } from \"./triag\";\n\nexport function drawPolygon(polygon: number[][], colour?: string) {\n const dl = layerManager.getLayer(\"draw\");\n if (dl === undefined) return;\n const ctx = dl.ctx;\n ctx.lineJoin = \"round\";\n // ctx.clearRect(0, 0, window.innerWidth, window.innerHeight);\n ctx.lineJoin = \"round\";\n ctx.beginPath();\n ctx.strokeStyle =\n colour === undefined ? `rgb(${Math.random() * 255}, ${Math.random() * 255}, ${Math.random() * 255})` : colour;\n ctx.moveTo(g2lx(polygon[0][0]), g2ly(polygon[0][1]));\n for (const point of polygon) {\n ctx.lineTo(g2lx(point[0]), g2ly(point[1]));\n }\n ctx.closePath();\n ctx.stroke();\n}\n\nexport function drawPolygonL(polygon: number[][], colour?: string) {\n const dl = layerManager.getLayer(\"draw\");\n if (dl === undefined) return;\n const ctx = dl.ctx;\n ctx.lineJoin = \"round\";\n // ctx.clearRect(0, 0, window.innerWidth, window.innerHeight);\n ctx.lineJoin = \"round\";\n ctx.beginPath();\n ctx.strokeStyle =\n colour === undefined ? `rgb(${Math.random() * 255}, ${Math.random() * 255}, ${Math.random() * 255})` : colour;\n ctx.moveTo(polygon[0][0], polygon[0][1]);\n for (const point of polygon) {\n ctx.lineTo(point[0], point[1]);\n }\n ctx.closePath();\n ctx.stroke();\n}\n\nfunction x(xx: number, local: boolean) {\n if (local) return xx;\n else return g2lx(xx);\n}\n\nfunction y(yy: number, local: boolean) {\n if (local) return yy;\n else return g2ly(yy);\n}\n\nlet I = 0;\nlet J = 0;\n\nfunction drl(ctx: CanvasRenderingContext2D, from: number[], to: number[], constrained: boolean, local: boolean) {\n // J++;\n // if (constrained) {\n // I++;\n // console.log(\"*\", from, to);\n // } else {\n // console.log(\" \", from, to);\n // }\n ctx.beginPath();\n ctx.strokeStyle = constrained ? \"rgba(255, 0, 0, 0.30)\" : \"rgba(0, 0, 0, 0.30)\";\n ctx.moveTo(x(from[0], local), y(from[1], local));\n ctx.lineTo(x(to[0], local), y(to[1], local));\n ctx.closePath();\n ctx.stroke();\n}\n\nfunction drawPolygonT(tds: TDS, local = true, clear = true) {\n I = 0;\n J = 0;\n let T = 0;\n const dl = layerManager.getLayer(\"draw\");\n if (dl === undefined) return;\n const ctx = dl.ctx;\n if (clear) ctx.clearRect(0, 0, 2000, 1000);\n ctx.lineJoin = \"round\";\n // ctx.clearRect(0, 0, window.innerWidth, window.innerHeight);\n ctx.lineJoin = \"round\";\n const ei = new EdgeIterator(tds);\n while (ei.valid) {\n ei.next();\n ei.collect();\n }\n ei.collect();\n do {\n const fromP = ei.edge.first!.vertices[ccw(ei.edge.second)]!.point!;\n const toP = ei.edge.first!.vertices[cw(ei.edge.second)]!.point!;\n // if (fromP[0] === -Infinity || toP[0] === -Infinity) {\n // ei.next();\n // continue;\n // }\n J++;\n // if (ei.edge.first!.constraints[ei.edge.second]) {\n // I++;\n // console.log(`Edge: (*) ${fromP} > ${toP}`);\n // } else console.log(`Edge: ${fromP} > ${toP}`);\n do {\n ei.next();\n ei.collect();\n } while (ei.valid);\n } while (ei.pos !== null);\n for (const t of tds.triangles) {\n if (t.isInfinite()) continue;\n T++;\n const po = [];\n ctx.fillStyle = \"red\";\n if (t.vertices[0] !== undefined) {\n po.push(t.vertices[0]!.point);\n ctx.beginPath();\n ctx.arc(x(t.vertices[0]!.point![0], local), y(t.vertices[0]!.point![1], local), 5, 0, 2 * Math.PI);\n ctx.closePath();\n ctx.fill();\n }\n if (t.vertices[1] !== undefined) {\n po.push(t.vertices[1]!.point);\n ctx.arc(x(t.vertices[1]!.point![0], local), y(t.vertices[1]!.point![1], local), 5, 0, 2 * Math.PI);\n ctx.closePath();\n ctx.fill();\n }\n if (t.vertices[2] !== undefined) {\n po.push(t.vertices[2]!.point);\n ctx.arc(x(t.vertices[2]!.point![0], local), y(t.vertices[2]!.point![1], local), 5, 0, 2 * Math.PI);\n ctx.closePath();\n ctx.fill();\n }\n // console.log(\"[T] \", ...po, t.constraints);\n\n ctx.moveTo(x(t.vertices[0]!.point![0], local), y(t.vertices[0]!.point![1], local));\n if (t.vertices[0] !== undefined && t.vertices[1] !== undefined)\n drl(ctx, t.vertices[0]!.point!, t.vertices[1]!.point!, t.constraints[2], local);\n if (t.vertices[1] !== undefined && t.vertices[2] !== undefined)\n drl(ctx, t.vertices[1]!.point!, t.vertices[2]!.point!, t.constraints[0], local);\n if (t.vertices[2] !== undefined && t.vertices[0] !== undefined)\n drl(ctx, t.vertices[2]!.point!, t.vertices[0]!.point!, t.constraints[1], local);\n }\n console.log(`Edges: ${I}/${J}`);\n console.log(`Faces: ${T}`);\n}\n\n(window).DP = drawPolygon;\n(window).DPL = drawPolygonL;\n(window).DPT = drawPolygonT;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"visible\":_vm.visible},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_vm._v(\"Create basic token\")])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('label',{attrs:{\"for\":\"createtokendialog-text\"}},[_vm._v(\"Text\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.text),expression:\"text\"}],attrs:{\"type\":\"text\",\"id\":\"createtokendialog-name\"},domProps:{\"value\":(_vm.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.text=$event.target.value}}}),_c('label',[_vm._v(\"Colours\")]),_c('div',{staticClass:\"colours\"},[_c('span',[_vm._v(\"Fill:\")]),_c('color-picker',{attrs:{\"color\":_vm.fillColour},on:{\"update:color\":function($event){_vm.fillColour=$event}}}),_c('span',[_vm._v(\"Border:\")]),_c('color-picker',{attrs:{\"color\":_vm.borderColour},on:{\"update:color\":function($event){_vm.borderColour=$event}}})],1),_c('canvas',{ref:\"canvas\",attrs:{\"width\":\"100px\",\"height\":\"100px\"}})]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{on:{\"click\":_vm.submit}},[_vm._v(\"Submit\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=template&id=66ccc134&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=style&index=0&lang=css&\"","import * as tinycolor from \"tinycolor2\";\n\nimport { calcFontScale } from \"@/core/utils\";\nimport { InitiativeData } from \"@/game/comm/types/general\";\nimport { ServerCircularToken } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lz } from \"@/game/units\";\n\nexport class CircularToken extends Circle {\n type = \"circulartoken\";\n text: string;\n font: string;\n constructor(\n center: GlobalPoint,\n r: number,\n text: string,\n font: string,\n fillColour?: string,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(center, r, fillColour, strokeColour, uuid);\n this.text = text;\n this.font = font;\n }\n asDict(): ServerCircularToken {\n return Object.assign(this.getBaseDict(), {\n radius: this.r,\n text: this.text,\n font: this.font,\n });\n }\n fromDict(data: ServerCircularToken) {\n super.fromDict(data);\n this.r = data.radius;\n this.text = data.text;\n this.font = data.font;\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.font = this.font;\n ctx.save();\n const dest = g2l(this.center());\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n const xs = calcFontScale(ctx, this.text, g2lz(this.r), g2lz(this.r));\n const ys = 0;\n ctx.transform(xs, ys, -ys, xs, dest.x, dest.y);\n ctx.fillStyle = tinycolor.mostReadable(this.fillColour, [\"#000\", \"#fff\"]).toHexString();\n ctx.fillText(this.text, 0, 0);\n ctx.restore();\n }\n getInitiativeRepr(): InitiativeData {\n return {\n uuid: this.uuid,\n visible: !gameStore.IS_DM,\n group: false,\n source: this.name === \"\" || this.name === \"Unknown shape\" ? this.text : this.name,\n has_img: false,\n effects: [],\n index: Infinity,\n };\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"AssetManager\"}},[_c('div',{attrs:{\"id\":\"titlebar\"}},[_vm._v(\"Asset Manager\")]),_c('div',{attrs:{\"id\":\"main\"}},[_c('div',{attrs:{\"id\":\"assets\"},on:{\"dragover\":function($event){$event.preventDefault();return _vm.moveDrag($event)},\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.stopDrag($event, _vm.currentFolder)}}},[_c('div',{attrs:{\"id\":\"breadcrumbs\"}},[_c('div',[_vm._v(\"/\")]),_vm._l((_vm.path),function(dir){return _c('div',{key:dir},[_vm._v(_vm._s(_vm.idMap.get(dir).name))])})],2),_c('div',{attrs:{\"id\":\"actionbar\"}},[_c('input',{attrs:{\"id\":\"files\",\"type\":\"file\",\"multiple\":\"\",\"hidden\":\"\"},on:{\"change\":function($event){_vm.upload()}}}),_c('div',{attrs:{\"title\":\"Create folder\"},on:{\"click\":_vm.createDirectory}},[_c('i',{staticClass:\"fas fa-plus-square\"})]),_c('div',{attrs:{\"title\":\"Upload files\"},on:{\"click\":_vm.prepareUpload}},[_c('i',{staticClass:\"fas fa-upload\"})])]),_c('div',{attrs:{\"id\":\"explorer\"}},[(_vm.path.length)?_c('div',{staticClass:\"inode folder\",on:{\"dblclick\":function($event){_vm.changeDirectory(-1)},\"dragover\":function($event){$event.preventDefault();return _vm.moveDrag($event)},\"dragleave\":function($event){$event.preventDefault();return _vm.leaveDrag($event)},\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.stopDrag($event, _vm.parentFolder)}}},[_c('i',{staticClass:\"fas fa-folder\",staticStyle:{\"font-size\":\"50px\"}}),_c('div',{staticClass:\"title\"},[_vm._v(\"..\")])]):_vm._e(),_vm._l((_vm.folders),function(key){return _c('div',{key:key,staticClass:\"inode folder\",class:{'inode-selected': _vm.selected.includes(key)},attrs:{\"draggable\":\"true\"},on:{\"click\":function($event){_vm.select($event, key)},\"dblclick\":function($event){_vm.changeDirectory(key)},\"contextmenu\":function($event){$event.preventDefault();_vm.$refs.cm.open($event, key)},\"dragstart\":function($event){_vm.startDrag($event, key)},\"dragover\":function($event){$event.preventDefault();return _vm.moveDrag($event)},\"dragleave\":function($event){$event.preventDefault();return _vm.leaveDrag($event)},\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.stopDrag($event, key)}}},[_c('i',{staticClass:\"fas fa-folder\",staticStyle:{\"font-size\":\"50px\"}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.idMap.get(key).name))])])}),_vm._l((_vm.files),function(file){return _c('div',{key:file,staticClass:\"inode file\",class:{'inode-selected': _vm.selected.includes(file)},attrs:{\"draggable\":\"true\"},on:{\"click\":function($event){_vm.select($event, file)},\"contextmenu\":function($event){$event.preventDefault();_vm.$refs.cm.open($event, file)},\"dragstart\":function($event){_vm.startDrag($event, file)}}},[_c('img',{attrs:{\"src\":'/static/assets/' + _vm.idMap.get(file).file_hash,\"width\":\"50\"}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.idMap.get(file).name))])])})],2)]),(_vm.firstSelectedFile)?_c('div',{attrs:{\"id\":\"asset-details\"}},[_c('div',{attrs:{\"id\":\"asset-detail-title\"}},[_vm._v(_vm._s(_vm.firstSelectedFile.name))]),_c('img',{attrs:{\"src\":'/static/assets/' + _vm.firstSelectedFile.file_hash}})]):_vm._e()]),_c('AssetContextMenu',{ref:\"cm\"}),_c('Prompt',{ref:\"prompt\"}),_c('ConfirmDialog',{ref:\"confirm\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=template&id=d1ce9748&\"","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { Text } from \"@/game/shapes/text\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\n\nexport class AnnotationManager {\n annotationText: Text;\n annotationRect: Rect;\n layer: Layer | undefined;\n shown: boolean = false;\n\n constructor() {\n const origin = new GlobalPoint(0, 0);\n this.annotationText = new Text(origin, \"\", \"bold 20px serif\", 0, \"rgba(230, 230, 230, 1)\");\n this.annotationRect = new Rect(origin, 0, 0, \"rgba(0, 0, 0, 0.6)\");\n }\n\n setActiveText(text: string) {\n if (this.layer === undefined) {\n if (layerManager.hasLayer(\"draw\")) {\n this.layer = layerManager.getLayer(\"draw\")!;\n this.layer.addShape(this.annotationRect, false);\n this.layer.addShape(this.annotationText, false);\n } else {\n console.warn(\"There is no draw layer to draw annotations on!\");\n return;\n }\n }\n this.shown = text !== \"\";\n this.annotationText.refPoint = l2g(new LocalPoint(this.layer.canvas.width / 2, 50));\n this.annotationText.text = text;\n const width = this.shown ? this.annotationText.getMaxWidth(this.layer.ctx) + 10 : 0;\n const height = this.shown ? this.annotationText.getMaxHeight(this.layer.ctx) + 10 : 0;\n this.annotationRect.refPoint = l2g(new LocalPoint(this.layer.canvas.width / 2 - width / 2, 30));\n this.annotationRect.w = width / gameStore.zoomFactor;\n this.annotationRect.h = height / gameStore.zoomFactor;\n this.layer.invalidate(true);\n }\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=style&index=0&id=b4f2c0b0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=style&index=0&id=b4f2c0b0&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./menu.vue?vue&type=template&id=21f210ea&scoped=true&\"\nimport script from \"./menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./menu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./menu.vue?vue&type=style&index=0&id=21f210ea&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21f210ea\",\n null\n \n)\n\ncomponent.options.__file = \"menu.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./contextmenu.vue?vue&type=template&id=256dde9c&\"\nimport script from \"./contextmenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./contextmenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./contextmenu.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"contextmenu.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=ts&\"","import {\n ServerAsset,\n ServerCircle,\n ServerCircularToken,\n ServerLine,\n ServerMultiLine,\n ServerRect,\n ServerShape,\n ServerText,\n} from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Asset } from \"@/game/shapes/asset\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { CircularToken } from \"@/game/shapes/circulartoken\";\nimport { Line } from \"@/game/shapes/line\";\nimport { MultiLine } from \"@/game/shapes/multiline\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { Text } from \"@/game/shapes/text\";\n\nexport function createShapeFromDict(shape: ServerShape, dummy?: boolean) {\n // TODO: is this dummy stuff actually needed, do we ever want to return the local shape?\n if (dummy === undefined) dummy = false;\n if (!dummy && layerManager.UUIDMap.has(shape.uuid)) return layerManager.UUIDMap.get(shape.uuid);\n\n let sh: Shape;\n\n // A fromJSON and toJSON on Shape would be cleaner but ts does not allow for static abstracts so yeah.\n\n // Shape Type specifics\n\n const refPoint = new GlobalPoint(shape.x, shape.y);\n if (shape.type_ === \"rect\") {\n const rect = shape;\n sh = new Rect(refPoint, rect.width, rect.height, rect.fill_colour, rect.stroke_colour, rect.uuid);\n } else if (shape.type_ === \"circle\") {\n const circ = shape;\n sh = new Circle(refPoint, circ.radius, circ.fill_colour, circ.stroke_colour, circ.uuid);\n } else if (shape.type_ === \"circulartoken\") {\n const token = shape;\n sh = new CircularToken(\n refPoint,\n token.radius,\n token.text,\n token.font,\n token.fill_colour,\n token.stroke_colour,\n token.uuid,\n );\n } else if (shape.type_ === \"line\") {\n const line = shape;\n sh = new Line(refPoint, new GlobalPoint(line.x2, line.y2), line.line_width, line.stroke_colour, line.uuid);\n } else if (shape.type_ === \"multiline\") {\n const multiline = shape;\n sh = new MultiLine(\n refPoint,\n multiline.points.map(p => new GlobalPoint(p.x, p.y)),\n multiline.line_width,\n multiline.stroke_colour,\n multiline.uuid,\n );\n } else if (shape.type_ === \"text\") {\n const text = shape;\n sh = new Text(refPoint, text.text, text.font, text.angle, text.fill_colour, text.stroke_colour, text.uuid);\n } else if (shape.type_ === \"assetrect\") {\n const asset = shape;\n const img = new Image(asset.width, asset.height);\n if (asset.src.startsWith(\"http\")) img.src = new URL(asset.src).pathname;\n else img.src = asset.src;\n sh = new Asset(img, refPoint, asset.width, asset.height, asset.uuid);\n img.onload = () => {\n layerManager.getLayer(shape.layer)!.invalidate(false);\n };\n } else {\n return undefined;\n }\n sh.fromDict(shape);\n return sh;\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=style&index=0&id=1883e207&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=style&index=0&id=1883e207&scoped=true&lang=css&\"","import tinycolor from \"tinycolor2\";\n\nimport { uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { aurasFromServer, aurasToServer } from \"@/game/comm/conversion/aura\";\nimport { InitiativeData } from \"@/game/comm/types/general\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lr, g2lx, g2ly, g2lz } from \"@/game/units\";\n\nexport abstract class Shape {\n // Used to create class instance from server shape data\n abstract type: string;\n // The unique ID of this shape\n uuid: string;\n // The layer the shape is currently on\n layer!: string;\n\n // A reference point regarding that specific shape's structure\n refPoint: GlobalPoint;\n\n // Fill colour of the shape\n fillColour: string = \"#000\";\n strokeColour: string = \"rgba(0,0,0,0)\";\n // The optional name associated with the shape\n name = \"Unknown shape\";\n\n // Associated trackers/auras/owners\n trackers: Tracker[] = [];\n auras: Aura[] = [];\n owners: string[] = [];\n\n // Block light sources\n visionObstruction = false;\n // Prevent shapes from overlapping with this shape\n movementObstruction = false;\n // Does this shape represent a playable token\n isToken = false;\n // Show a highlight box\n showHighlight = false;\n\n // Mouseover annotation\n annotation: string = \"\";\n\n // Draw modus to use\n globalCompositeOperation: string = \"source-over\";\n\n // Additional options for specialized uses\n options: Map = new Map();\n\n constructor(refPoint: GlobalPoint, fillColour?: string, strokeColour?: string, uuid?: string) {\n this.refPoint = refPoint;\n this.uuid = uuid || uuidv4();\n if (fillColour !== undefined) this.fillColour = fillColour;\n if (strokeColour !== undefined) this.strokeColour = strokeColour;\n }\n\n abstract getBoundingBox(): BoundingRect;\n\n // If inWorldCoord is\n abstract contains(point: GlobalPoint): boolean;\n\n abstract center(): GlobalPoint;\n abstract center(centerPoint: GlobalPoint): void;\n abstract getCorner(point: GlobalPoint): string | undefined;\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n // for (const aura of this.auras) {\n // if (aura.value > 0) {\n // const auraCircle = new Circle(this.center(), aura.value);\n // if (auraCircle.visibleInCanvas(canvas)) return true;\n // }\n // }\n return false;\n }\n\n // Code to snap a shape to the grid\n // This is shape dependent as the shape refPoints are shape specific in\n abstract snapToGrid(): void;\n abstract resizeToGrid(): void;\n abstract resize(resizeDir: string, point: LocalPoint): void;\n\n abstract get points(): number[][];\n\n invalidate(skipLightUpdate: boolean) {\n const l = layerManager.getLayer(this.layer);\n if (l) l.invalidate(skipLightUpdate);\n }\n\n checkVisionSources() {\n const self = this;\n const obstructionIndex = gameStore.visionBlockers.indexOf(this.uuid);\n let changeBV = false;\n if (this.visionObstruction && obstructionIndex === -1) {\n gameStore.visionBlockers.push(this.uuid);\n changeBV = true;\n } else if (!this.visionObstruction && obstructionIndex >= 0) {\n gameStore.visionBlockers.splice(obstructionIndex, 1);\n changeBV = true;\n }\n if (changeBV) gameStore.recalculateBV();\n\n // Check if the visionsource auras are in the gameManager\n this.auras.forEach(au => {\n const ls = gameStore.visionSources;\n const i = ls.findIndex(o => o.aura === au.uuid);\n if (au.visionSource && i === -1) {\n ls.push({ shape: self.uuid, aura: au.uuid });\n } else if (!au.visionSource && i >= 0) {\n ls.splice(i, 1);\n }\n });\n // Check if anything in the gameManager referencing this shape is in fact still a visionsource\n for (let i = gameStore.visionSources.length - 1; i >= 0; i--) {\n const ls = gameStore.visionSources[i];\n if (ls.shape === self.uuid) {\n if (!self.auras.some(a => a.uuid === ls.aura && a.visionSource)) gameStore.visionSources.splice(i, 1);\n }\n }\n }\n\n setMovementBlock(blocksMovement: boolean) {\n this.movementObstruction = blocksMovement || false;\n const obstructionIndex = gameStore.movementblockers.indexOf(this.uuid);\n if (this.movementObstruction && obstructionIndex === -1) gameStore.movementblockers.push(this.uuid);\n else if (!this.movementObstruction && obstructionIndex >= 0)\n gameStore.movementblockers.splice(obstructionIndex, 1);\n }\n\n setIsToken(isToken: boolean) {\n this.isToken = isToken;\n if (this.ownedBy()) {\n const i = gameStore.ownedtokens.indexOf(this.uuid);\n if (this.isToken && i === -1) gameStore.ownedtokens.push(this.uuid);\n else if (!this.isToken && i >= 0) gameStore.ownedtokens.splice(i, 1);\n }\n }\n\n ownedBy(username?: string) {\n if (username === undefined) username = gameStore.username;\n return gameStore.IS_DM || this.owners.includes(username);\n }\n\n abstract asDict(): ServerShape;\n getBaseDict(): ServerShape {\n return {\n type_: this.type,\n uuid: this.uuid,\n x: this.refPoint.x,\n y: this.refPoint.y,\n layer: this.layer,\n draw_operator: this.globalCompositeOperation,\n movement_obstruction: this.movementObstruction,\n vision_obstruction: this.visionObstruction,\n auras: aurasToServer(this.auras),\n trackers: this.trackers,\n owners: this.owners,\n fill_colour: this.fillColour,\n stroke_colour: this.strokeColour,\n name: this.name,\n annotation: this.annotation,\n is_token: this.isToken,\n options: JSON.stringify([...this.options]),\n };\n }\n fromDict(data: ServerShape) {\n this.layer = data.layer;\n this.globalCompositeOperation = data.draw_operator;\n this.movementObstruction = data.movement_obstruction;\n this.visionObstruction = data.vision_obstruction;\n this.auras = aurasFromServer(data.auras);\n this.trackers = data.trackers;\n this.owners = data.owners;\n this.isToken = data.is_token;\n if (data.annotation) this.annotation = data.annotation;\n if (data.name) this.name = data.name;\n if (data.options) this.options = new Map(JSON.parse(data.options));\n }\n\n draw(ctx: CanvasRenderingContext2D) {\n if (this.globalCompositeOperation !== undefined) ctx.globalCompositeOperation = this.globalCompositeOperation;\n else ctx.globalCompositeOperation = \"source-over\";\n if (this.showHighlight) {\n const bbox = this.getBoundingBox();\n ctx.strokeStyle = \"red\";\n ctx.strokeRect(g2lx(bbox.topLeft.x) - 5, g2ly(bbox.topLeft.y) - 5, g2lz(bbox.w) + 10, g2lz(bbox.h) + 10);\n }\n }\n\n drawAuras(ctx: CanvasRenderingContext2D) {\n for (const aura of this.auras) {\n if (aura.value === 0 && aura.dim === 0) return;\n ctx.beginPath();\n\n const loc = g2l(this.center());\n const innerRange = g2lr(aura.value + aura.dim);\n\n if (aura.dim === 0) ctx.fillStyle = aura.colour;\n else {\n const gradient = ctx.createRadialGradient(\n loc.x,\n loc.y,\n g2lr(aura.value),\n loc.x,\n loc.y,\n g2lr(aura.value + aura.dim),\n );\n const tc = tinycolor(aura.colour);\n ctx.fillStyle = gradient;\n gradient.addColorStop(0, aura.colour);\n gradient.addColorStop(1, tc.setAlpha(0).toRgbString());\n }\n if (!aura.visionSource || aura.lastPath === undefined) {\n ctx.arc(loc.x, loc.y, innerRange, 0, 2 * Math.PI);\n ctx.fill();\n } else {\n try {\n ctx.fill(aura.lastPath);\n } catch (e) {\n ctx.arc(loc.x, loc.y, innerRange, 0, 2 * Math.PI);\n ctx.fill();\n console.warn(e);\n }\n }\n }\n }\n\n getInitiativeRepr(): InitiativeData {\n return {\n uuid: this.uuid,\n visible: !gameStore.IS_DM,\n group: false,\n source: this.name,\n has_img: false,\n effects: [],\n index: Infinity,\n };\n }\n\n moveLayer(layer: string, sync: boolean) {\n const oldLayer = layerManager.getLayer(this.layer);\n const newLayer = layerManager.getLayer(layer);\n if (oldLayer === undefined || newLayer === undefined) return;\n this.layer = layer;\n // Update layer shapes\n oldLayer.shapes.splice(oldLayer.shapes.indexOf(this), 1);\n newLayer.shapes.push(this);\n // Revalidate layers (light should at most be redone once)\n oldLayer.invalidate(true);\n newLayer.invalidate(false);\n // Sync!\n if (sync) socket.emit(\"Shape.Layer.Change\", { uuid: this.uuid, layer });\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.note !== null)?_c('modal',{attrs:{\"visible\":_vm.visible,\"mask\":false},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_c('span',{on:{\"click\":function($event){_vm.$refs.title.select()}}},[_c('i',{staticClass:\"fas fa-pencil-alt\",staticStyle:{\"font-size\":\"15px\"}})]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.note.title),expression:\"note.title\"}],ref:\"title\",domProps:{\"value\":(_vm.note.title)},on:{\"change\":_vm.updateNote,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.note, \"title\", $event.target.value)}}}),_c('div',{staticClass:\"header-close\",on:{\"click\":function($event){_vm.visible = false}}},[_c('i',{staticClass:\"far fa-window-close\"})])])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.note.text),expression:\"note.text\"}],ref:\"textarea\",style:({'height': _vm.calcHeight()}),domProps:{\"value\":(_vm.note.text)},on:{\"change\":_vm.updateNote,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.note, \"text\", $event.target.value)}}})]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{on:{\"click\":_vm.removeNote}},[_c('i',{staticClass:\"far fa-trash-alt\"}),_vm._v(\" Remove\\n \")])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=template&id=7a3669fd&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=style&index=0&id=12ed61ba&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=style&index=0&id=12ed61ba&scoped=true&lang=css&\"","\n\n\n\n\nimport SelectContext from \"@/game/ui/tools/selectcontext.vue\";\nimport Tool from \"@/game/ui/tools/tool.vue\";\nimport SelectionInfo from \"../selection/selection_info.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { GlobalPoint, LocalPoint, Ray, Vector } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\nimport { g2l, g2lx, g2ly, l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\nexport enum SelectOperations {\n Noop,\n Resize,\n Drag,\n GroupSelect,\n}\n\nconst start = new GlobalPoint(-1000, -1000);\n\n@Component({\n components: {\n SelectContext,\n },\n})\nexport default class SelectTool extends Tool {\n name = \"Select\";\n showContextMenu = false;\n active = false;\n\n mode = SelectOperations.Noop;\n resizeDirection = \"\";\n deltaChanged = false;\n // Because we never drag from the asset's (0, 0) coord and want a smoother drag experience\n // we keep track of the actual offset within the asset.\n dragRay = new Ray(new LocalPoint(0, 0), new Vector(0, 0));\n selectionStartPoint = start;\n selectionHelper = new Rect(start, 0, 0);\n created() {\n this.selectionHelper.globalCompositeOperation = \"source-over\";\n }\n onMouseDown(event: MouseEvent) {\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n\n if (!this.selectionHelper.owners.includes(gameStore.username)) {\n this.selectionHelper.owners.push(gameStore.username);\n }\n\n const mouse = getMouse(event);\n const globalMouse = l2g(mouse);\n\n let hit = false;\n // The selectionStack allows for lower positioned objects that are selected to have precedence during overlap.\n let selectionStack;\n if (!layer.selection.length) selectionStack = layer.shapes;\n else selectionStack = layer.shapes.concat(layer.selection);\n for (let i = selectionStack.length - 1; i >= 0; i--) {\n const shape = selectionStack[i];\n\n if (!shape.ownedBy()) continue;\n\n const corner = shape.getBoundingBox().getCorner(globalMouse);\n\n // Resize case, a corner is selected\n if (corner !== undefined) {\n layer.selection = [shape];\n getRef(\"selectionInfo\").shape = shape;\n this.mode = SelectOperations.Resize;\n this.resizeDirection = corner;\n layer.invalidate(true);\n hit = true;\n break;\n\n // Drag case, a shape is selected\n } else if (shape.contains(globalMouse)) {\n const selection = shape;\n if (layer.selection.indexOf(selection) === -1) {\n layer.selection = [selection];\n getRef(\"selectionInfo\").shape = selection;\n }\n this.mode = SelectOperations.Drag;\n const localRefPoint = g2l(selection.refPoint);\n this.dragRay = new Ray(localRefPoint, mouse.subtract(localRefPoint));\n layer.invalidate(true);\n hit = true;\n break;\n }\n }\n\n // GroupSelect case, draw a selection box to select multiple shapes\n if (!hit) {\n this.mode = SelectOperations.GroupSelect;\n for (const selection of layer.selection) getRef(\"selectionInfo\").shape = selection;\n\n this.selectionStartPoint = globalMouse;\n\n this.selectionHelper.refPoint = this.selectionStartPoint;\n this.selectionHelper.w = 0;\n this.selectionHelper.h = 0;\n\n layer.selection = [this.selectionHelper];\n layer.invalidate(true);\n }\n this.active = true;\n }\n onMouseMove(event: MouseEvent) {\n // if (!this.active) return; we require mousemove for the resize cursor\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n const mouse = getMouse(event);\n const globalMouse = l2g(mouse);\n this.deltaChanged = false;\n\n if (this.mode === SelectOperations.GroupSelect) {\n // Currently draw on active layer\n const endPoint = globalMouse;\n\n this.selectionHelper.w = Math.abs(endPoint.x - this.selectionStartPoint.x);\n this.selectionHelper.h = Math.abs(endPoint.y - this.selectionStartPoint.y);\n this.selectionHelper.refPoint = new GlobalPoint(\n Math.min(this.selectionStartPoint.x, endPoint.x),\n Math.min(this.selectionStartPoint.y, endPoint.y),\n );\n layer.invalidate(true);\n } else if (layer.selection.length) {\n const og = g2l(layer.selection[layer.selection.length - 1].refPoint);\n const origin = og.add(this.dragRay.direction);\n let delta = mouse.subtract(origin).multiply(1 / gameStore.zoomFactor);\n const ogDelta = delta;\n if (this.mode === SelectOperations.Drag) {\n // If we are on the tokens layer do a movement block check.\n if (layer.name === \"tokens\" && !(event.shiftKey && gameStore.IS_DM)) {\n for (const sel of layer.selection) {\n if (sel.uuid === this.selectionHelper.uuid) continue; // the selection helper should not be treated as a real shape.\n delta = calculateDelta(delta, sel);\n if (delta !== ogDelta) this.deltaChanged = true;\n }\n }\n // Actually apply the delta on all shapes\n for (const sel of layer.selection) {\n sel.refPoint = sel.refPoint.add(delta);\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV(true);\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: true });\n }\n }\n layer.invalidate(false);\n } else if (this.mode === SelectOperations.Resize) {\n for (const sel of layer.selection) {\n sel.resize(this.resizeDirection, mouse);\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV(true);\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: true });\n }\n layer.invalidate(false);\n }\n } else {\n for (const sel of layer.selection) {\n const bb = sel.getBoundingBox();\n const gm = globalMouse;\n if (bb.inCorner(gm, \"nw\")) {\n document.body.style.cursor = \"nw-resize\";\n } else if (bb.inCorner(gm, \"ne\")) {\n document.body.style.cursor = \"ne-resize\";\n } else if (bb.inCorner(gm, \"se\")) {\n document.body.style.cursor = \"se-resize\";\n } else if (bb.inCorner(gm, \"sw\")) {\n document.body.style.cursor = \"sw-resize\";\n } else {\n document.body.style.cursor = \"default\";\n }\n }\n }\n } else {\n document.body.style.cursor = \"default\";\n }\n }\n onMouseUp(e: MouseEvent): void {\n if (!this.active) return;\n if (layerManager.getLayer() === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n const layer = layerManager.getLayer()!;\n\n if (this.mode === SelectOperations.GroupSelect) {\n layer.clearSelection();\n layer.shapes.forEach(shape => {\n if (shape === this.selectionHelper) return;\n const bbox = shape.getBoundingBox();\n if (!shape.ownedBy()) return;\n if (\n this.selectionHelper!.refPoint.x <= bbox.topRight.x &&\n this.selectionHelper!.refPoint.x + this.selectionHelper!.w >= bbox.topLeft.x &&\n this.selectionHelper!.refPoint.y <= bbox.botLeft.y &&\n this.selectionHelper!.refPoint.y + this.selectionHelper!.h >= bbox.topLeft.y\n ) {\n layer.selection.push(shape);\n }\n });\n\n // Push the selection helper as the last element of the selection\n // This makes sure that it will be the first one to be hit in the hit detection onMouseDown\n if (layer.selection.length > 0) layer.selection.push(this.selectionHelper);\n\n layer.invalidate(true);\n } else if (layer.selection.length) {\n layer.selection.forEach(sel => {\n if (this.mode === SelectOperations.Drag) {\n if (\n this.dragRay.origin!.x === g2lx(sel.refPoint.x) &&\n this.dragRay.origin!.y === g2ly(sel.refPoint.y)\n )\n return;\n\n if (gameStore.useGrid && !e.altKey && !this.deltaChanged) {\n sel.snapToGrid();\n }\n\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: false });\n }\n layer.invalidate(false);\n }\n if (this.mode === SelectOperations.Resize) {\n if (gameStore.useGrid && !e.altKey) {\n sel.resizeToGrid();\n }\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: false });\n }\n layer.invalidate(false);\n }\n });\n }\n this.mode = SelectOperations.Noop;\n this.active = false;\n }\n onContextMenu(event: MouseEvent) {\n if (layerManager.getLayer() === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n const layer = layerManager.getLayer()!;\n const mouse = getMouse(event);\n const globalMouse = l2g(mouse);\n\n for (const shape of layer.selection) {\n if (shape.contains(globalMouse)) {\n layer.selection = [shape];\n getRef(\"selectionInfo\").shape = shape;\n layer.invalidate(true);\n (this.$parent.$refs.shapecontext).open(event, shape);\n return;\n }\n }\n (this.$refs.selectcontext).open(event);\n }\n}\n","import { Ray, Vector } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\n\n// First go through each shape in the selection and see if the delta has to be truncated due to movement blockers\n\n// This is definitely super convoluted and inefficient but I was tired and really wanted the smooth wall sliding collision stuff to work\n// And it does now, so hey ¯\\_(ツ)_/¯\nexport function calculateDelta(delta: Vector, sel: Shape, done?: string[]) {\n if (done === undefined) done = [];\n const ogSelBBox = sel.getBoundingBox();\n const newSelBBox = ogSelBBox.offset(delta);\n let refine = false;\n for (const movementBlocker of gameStore.movementblockers) {\n if (done.includes(movementBlocker)) continue;\n const blocker = layerManager.UUIDMap.get(movementBlocker)!;\n const blockerBBox = blocker.getBoundingBox();\n let found = blockerBBox.intersectsWithInner(newSelBBox);\n if (!found) {\n // This is an edge case, precalculating the rays is not worth in this case.\n const ray = Ray.fromPoints(ogSelBBox.topLeft.add(delta.normalize()), newSelBBox.topLeft);\n const invDir = ray.direction.inverse();\n const dirIsNegative = [invDir.x < 0, invDir.y < 0];\n found = blockerBBox.intersectP(ray, invDir, dirIsNegative).hit;\n }\n // Check if the bounding box of our destination would intersect with the bounding box of the movementblocker\n if (found) {\n const bCenter = blockerBBox.center();\n const sCenter = ogSelBBox.center();\n\n const d = sCenter.subtract(bCenter);\n const ux = new Vector(1, 0);\n const uy = new Vector(0, 1);\n let dx = d.dot(ux);\n let dy = d.dot(uy);\n if (dx > blockerBBox.w / 2) dx = blockerBBox.w / 2;\n if (dx < -blockerBBox.w / 2) dx = -blockerBBox.w / 2;\n if (dy > blockerBBox.h / 2) dy = blockerBBox.h / 2;\n if (dy < -blockerBBox.h / 2) dy = -blockerBBox.h / 2;\n\n // Closest point / intersection point between the two bboxes. Not the delta intersect!\n const p = bCenter.add(ux.multiply(dx)).add(uy.multiply(dy));\n\n if (p.x === ogSelBBox.topLeft.x || p.x === ogSelBBox.topRight.x) delta = new Vector(0, delta.y);\n else if (p.y === ogSelBBox.topLeft.y || p.y === ogSelBBox.botLeft.y) delta = new Vector(delta.x, 0);\n else {\n if (p.x < ogSelBBox.topLeft.x) delta = new Vector(p.x - ogSelBBox.topLeft.x, delta.y);\n else if (p.x > ogSelBBox.topRight.x) delta = new Vector(p.x - ogSelBBox.topRight.x, delta.y);\n else if (p.y < ogSelBBox.topLeft.y) delta = new Vector(delta.x, p.y - ogSelBBox.topLeft.y);\n else if (p.y > ogSelBBox.botLeft.y) delta = new Vector(delta.x, p.y - ogSelBBox.botLeft.y);\n }\n refine = true;\n done.push(movementBlocker);\n break;\n }\n }\n if (refine) delta = calculateDelta(delta, sel, done);\n return delta;\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=style&index=0&id=7a3669fd&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=style&index=0&id=7a3669fd&scoped=true&lang=css&\"","import { socket } from \"@/game/api/socket\";\nimport { gameStore } from \"@/game/store\";\n\nexport function sendClientOptions() {\n socket.emit(\"Client.Options.Set\", {\n locationOptions: {\n panX: gameStore.panX,\n panY: gameStore.panY,\n zoomFactor: gameStore.zoomFactor,\n },\n });\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Prop } from \"vue-property-decorator\";\n\nimport { AssetFile, AssetList } from \"@/core/comm/types\";\nimport { alphSort } from \"@/core/utils\";\n\n@Component({\n name: \"asset-node\",\n})\nexport default class AssetNode extends Vue {\n @Prop() asset!: AssetList;\n\n showImage = null;\n get folders(): string[] {\n return Object.keys(this.asset)\n .filter(el => ![\"__files\"].includes(el))\n .sort(alphSort);\n }\n\n get files(): AssetFile[] {\n if (this.asset.__files)\n return (this.asset.__files)\n .concat()\n .sort((a, b) => (a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1));\n return [];\n }\n\n toggle(event: { target: HTMLElement }) {\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < event.target.children.length; i++) {\n const el = event.target.children[i];\n el.style.display = el.style.display === \"\" ? \"block\" : \"\";\n }\n }\n\n dragStart(event: DragEvent, imageSource: string) {\n if (event === null || event.dataTransfer === null) return;\n const img = (event.target).querySelector(\".preview\")!;\n event.dataTransfer.setDragImage(img, 0, 0);\n event.dataTransfer.setData(\"text/plain\", imageSource);\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',{staticClass:\"ContextMenu\",style:({left:_vm.left, top:_vm.top}),attrs:{\"tabindex\":\"-1\"},on:{\"blur\":function($event){_vm.$emit('close')}}},[_c('ul',[_vm._t(\"default\")],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=template&id=256dde9c&\"","// import Vuex from \"vuex\";\nimport { getModule, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\n\nimport { Asset } from \"@/core/comm/types\";\nimport { rootStore } from \"@/store\";\n\nexport interface AssetState {\n root: number;\n files: number[];\n folders: number[];\n idMap: Map;\n selected: number[];\n}\n\n@Module({ dynamic: true, store: rootStore, name: \"assets\", namespaced: true })\nclass AssetStore extends VuexModule {\n root = -1;\n files: number[] = [];\n folders: number[] = [];\n idMap: Map = new Map();\n selected: number[] = [];\n\n @Mutation\n clear() {\n this.folders = [];\n this.files = [];\n }\n\n @Mutation\n clearSelected() {\n this.selected = [];\n }\n\n @Mutation\n setRoot(root: number) {\n this.root = root;\n }\n\n @Mutation\n isFile(inode: number): boolean {\n return this.files.includes(inode);\n }\n}\n\nexport const assetStore = getModule(AssetStore);\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=style&index=0&id=078b3b76&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=style&index=0&id=078b3b76&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=script&lang=ts&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ContextMenu from \"@/core/components/contextmenu.vue\";\nimport Initiative from \"@/game/ui/initiative.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n ContextMenu,\n },\n})\nexport default class ShapeContext extends Vue {\n visible = false;\n x = 0;\n y = 0;\n shape: Shape | null = null;\n get activeLayer(): string {\n const layer = layerManager.getLayer();\n return layer === undefined ? \"\" : layer.name;\n }\n open(event: MouseEvent, shape: Shape) {\n this.visible = true;\n this.x = event.pageX;\n this.y = event.pageY;\n this.shape = shape;\n this.$nextTick(() => this.$children[0].$el.focus());\n }\n close() {\n this.visible = false;\n this.shape = null;\n }\n getLayers() {\n return layerManager.layers.filter(l => l.selectable && (gameStore.IS_DM || l.playerEditable));\n }\n getActiveLayer() {\n return layerManager.getLayer();\n }\n getInitiativeWord() {\n if (this.shape === null) return \"\";\n return getRef(\"initiative\").contains(this.shape.uuid) ? \"Show\" : \"Add\";\n }\n setLayer(newLayer: string) {\n if (this.shape === null) return;\n this.shape.moveLayer(newLayer, true);\n this.close();\n }\n moveToBack() {\n if (this.shape === null) return;\n const layer = this.getActiveLayer()!;\n layer.moveShapeOrder(this.shape, 0, true);\n this.close();\n }\n moveToFront() {\n if (this.shape === null) return;\n const layer = this.getActiveLayer()!;\n layer.moveShapeOrder(this.shape, layer.shapes.length - 1, true);\n this.close();\n }\n addInitiative() {\n if (this.shape === null) return;\n const initiative = getRef(\"initiative\");\n if (!initiative.contains(this.shape.uuid)) initiative.addInitiative(this.shape.getInitiativeRepr());\n initiative.visible = true;\n this.close();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.shape !== null)?_c('div',[_c('div',{attrs:{\"id\":\"selection-menu\"}},[_c('div',{attrs:{\"id\":\"selection-edit-button\"},on:{\"click\":_vm.openEditDialog}},[_c('i',{staticClass:\"fas fa-edit\"})]),_c('div',{attrs:{\"id\":\"selection-name\"}},[_vm._v(_vm._s(_vm.shape.name))]),_c('div',{attrs:{\"id\":\"selection-trackers\"}},[_vm._l((_vm.shape.trackers),function(tracker){return (tracker.name !== '' || tracker.value !== 0)?[_c('div',{key:'name-' + tracker.uuid},[_vm._v(_vm._s(tracker.name))]),_c('div',{key:'value-' + tracker.uuid,staticClass:\"selection-tracker-value\",on:{\"click\":function($event){_vm.changeValue(tracker, false)}}},[(tracker.maxvalue === 0)?[_vm._v(_vm._s(tracker.value))]:[_vm._v(_vm._s(tracker.value)+\" / \"+_vm._s(tracker.maxvalue))]],2)]:_vm._e()})],2),_c('div',{attrs:{\"id\":\"selection-auras\"}},[_vm._l((_vm.shape.auras),function(aura){return (aura.name !== '' || aura.value !== 0)?[_c('div',{key:'name-' + aura.uuid},[_vm._v(_vm._s(aura.name))]),_c('div',{key:'value-' + aura.uuid,staticClass:\"selection-tracker-value\",on:{\"click\":function($event){_vm.changeValue(aura, true)}}},[(aura.dim === 0)?[_vm._v(_vm._s(aura.value))]:[_vm._v(_vm._s(aura.value)+\" / \"+_vm._s(aura.dim))]],2)]:_vm._e()})],2)]),_c('edit-dialog',{ref:\"editDialog\",attrs:{\"shape\":_vm.shape}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=template&id=32cec914&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./map.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./map.vue?vue&type=script&lang=ts&\"","import { Layer } from \"@/game/layers/layer\";\nimport { gameStore } from \"@/game/store\";\n\nexport class GridLayer extends Layer {\n invalidate(): void {\n this.valid = false;\n }\n draw(doClear?: boolean): void {\n if (!this.valid) {\n this.drawGrid();\n }\n }\n drawGrid(): void {\n const ctx = this.ctx;\n this.clear();\n ctx.beginPath();\n\n const gs = gameStore.gridSize;\n\n for (let i = 0; i < this.width; i += gs * gameStore.zoomFactor) {\n ctx.moveTo(i + (gameStore.panX % gs) * gameStore.zoomFactor, 0);\n ctx.lineTo(i + (gameStore.panX % gs) * gameStore.zoomFactor, this.height);\n ctx.moveTo(0, i + (gameStore.panY % gs) * gameStore.zoomFactor);\n ctx.lineTo(this.width, i + (gameStore.panY % gs) * gameStore.zoomFactor);\n }\n\n ctx.strokeStyle = gameStore.gridColour;\n ctx.lineWidth = 1;\n ctx.stroke();\n this.valid = true;\n }\n}\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\n\nimport { AssetState } from \"@/assetManager/store\";\nimport { CoreState } from \"@/core/store\";\nimport { GameState } from \"@/game/store\";\n\nVue.use(Vuex);\n\nexport interface RootState {\n assets: AssetState;\n core: CoreState;\n game: GameState;\n}\n\nexport const rootStore = new Vuex.Store({});\n","import { render, staticRenderFns } from \"./colorpicker.vue?vue&type=template&id=b4f2c0b0&scoped=true&\"\nimport script from \"./colorpicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./colorpicker.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./colorpicker.vue?vue&type=style&index=0&id=b4f2c0b0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b4f2c0b0\",\n null\n \n)\n\ncomponent.options.__file = \"colorpicker.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view',{ref:\"activeComponent\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=196415f0&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import { GlobalPoint, Ray } from \"@/game/geom\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Settings } from \"@/game/settings\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lr, g2lx, g2ly, g2lz, getUnitDistance } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class FOWLayer extends Layer {\n isVisionLayer: boolean = true;\n preFogShapes: Shape[] = [];\n\n addShape(shape: Shape, sync: boolean, temporary?: boolean): void {\n super.addShape(shape, sync, temporary);\n if (shape.options.has(\"preFogShape\") && shape.options.get(\"preFogShape\")) {\n this.preFogShapes.push(shape);\n }\n }\n\n removeShape(shape: Shape, sync: boolean, temporary?: boolean) {\n if (shape.options.has(\"preFogShape\") && shape.options.get(\"preFogShape\")) {\n const idx = this.preFogShapes.findIndex(s => s.uuid === shape.uuid);\n this.preFogShapes.splice(idx, 1);\n }\n super.removeShape(shape, sync, temporary);\n }\n\n draw(): void {\n if (!this.valid) {\n const ctx = this.ctx;\n\n if (Settings.skipLightFOW) {\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n this.valid = true;\n return;\n }\n\n const originalOperation = ctx.globalCompositeOperation;\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n ctx.fillStyle = \"rgba(0, 0, 0, 1)\";\n\n const dctx = layerManager.getLayer(\"draw\")!.ctx;\n if (Settings.drawAngleLines || Settings.drawFirstLightHit) {\n dctx.clearRect(0, 0, dctx.canvas.width, dctx.canvas.height);\n }\n\n // At all times provide a minimal vision range to prevent losing your tokens in fog.\n if (gameStore.fullFOW && layerManager.hasLayer(\"tokens\")) {\n layerManager.getLayer(\"tokens\")!.shapes.forEach(sh => {\n if (!sh.ownedBy() || !sh.isToken) return;\n const bb = sh.getBoundingBox();\n const lcenter = g2l(sh.center());\n const alm = 0.8 * g2lz(bb.w);\n ctx.beginPath();\n ctx.arc(lcenter.x, lcenter.y, alm, 0, 2 * Math.PI);\n const gradient = ctx.createRadialGradient(lcenter.x, lcenter.y, alm / 2, lcenter.x, lcenter.y, alm);\n gradient.addColorStop(0, \"rgba(0, 0, 0, 1)\");\n gradient.addColorStop(1, \"rgba(0, 0, 0, 0)\");\n ctx.fillStyle = gradient;\n ctx.fill();\n });\n }\n\n // First cut out all the light sources\n for (const light of gameStore.visionSources) {\n const shape = layerManager.UUIDMap.get(light.shape);\n if (shape === undefined) continue;\n const aura = shape.auras.find(a => a.uuid === light.aura);\n if (aura === undefined) continue;\n\n const auraLength = getUnitDistance(aura.value + aura.dim);\n const center = shape.center();\n const lcenter = g2l(center);\n\n const auraCircle = new Circle(center, auraLength);\n if (!auraCircle.visibleInCanvas(ctx.canvas)) continue;\n\n let lastArcAngle = -1;\n\n const path = new Path2D();\n path.moveTo(lcenter.x, lcenter.y);\n let firstPoint: GlobalPoint;\n\n for (let angle = 0; angle < 2 * Math.PI; angle += (Settings.angleSteps / 180) * Math.PI) {\n const anglePoint = new GlobalPoint(\n center.x + auraLength * Math.cos(angle),\n center.y + auraLength * Math.sin(angle),\n );\n if (Settings.drawAngleLines) {\n dctx!.beginPath();\n dctx!.moveTo(g2lx(center.x), g2ly(center.y));\n dctx!.lineTo(g2lx(anglePoint.x), g2ly(anglePoint.y));\n dctx!.stroke();\n }\n\n // Check if there is a hit with one of the nearby light blockers.\n const lightRay = Ray.fromPoints(center, anglePoint);\n const hitResult = gameStore.BV.intersect(lightRay);\n\n if (angle === 0) firstPoint = hitResult.hit ? hitResult.intersect : anglePoint;\n\n // We can move on to the next angle if nothing was hit.\n if (!hitResult.hit) {\n // If an earlier hit caused the aura to leave the arc, we need to go back to the arc\n if (lastArcAngle === -1) {\n // Set the start of a new arc beginning at the current angle\n lastArcAngle = angle;\n // Draw a line from the last non arc location back to the arc\n const dest = g2l(anglePoint);\n ctx.lineTo(dest.x, dest.y);\n }\n continue;\n }\n // If hit , first finish any ongoing arc, then move to the intersection point\n if (lastArcAngle !== -1) {\n path.arc(lcenter.x, lcenter.y, g2lr(aura.value + aura.dim), lastArcAngle, angle);\n lastArcAngle = -1;\n }\n path.lineTo(g2lx(hitResult.intersect.x), g2ly(hitResult.intersect.y));\n }\n\n // Finish the final arc.\n if (lastArcAngle === -1) path.lineTo(g2lx(firstPoint!.x), g2ly(firstPoint!.y));\n else path.arc(lcenter.x, lcenter.y, g2lr(aura.value + aura.dim), lastArcAngle, 2 * Math.PI);\n\n if (gameStore.fullFOW) {\n if (aura.dim > 0) {\n // Fill the light aura with a radial dropoff towards the outside.\n const gradient = ctx.createRadialGradient(\n lcenter.x,\n lcenter.y,\n g2lr(aura.value),\n lcenter.x,\n lcenter.y,\n g2lr(aura.value + aura.dim),\n );\n gradient.addColorStop(0, \"rgba(0, 0, 0, 1)\");\n gradient.addColorStop(1, \"rgba(0, 0, 0, 0)\");\n ctx.fillStyle = gradient;\n } else {\n ctx.fillStyle = \"rgba(0, 0, 0, 1)\";\n }\n ctx.fill(path);\n }\n\n aura.lastPath = path;\n }\n\n // At the DM Side due to opacity of the two fow layers, it looks strange if we just render them on top of eachother like players.\n if (gameStore.fowLOS) {\n ctx.globalCompositeOperation = \"source-in\";\n ctx.drawImage(layerManager.getLayer(\"fow-players\")!.canvas, 0, 0);\n }\n\n for (const preShape of this.preFogShapes) {\n if (!preShape.visibleInCanvas(this.canvas)) continue;\n const ogComposite = preShape.globalCompositeOperation;\n if (!gameStore.fullFOW) {\n if (preShape.globalCompositeOperation === \"source-over\")\n preShape.globalCompositeOperation = \"destination-out\";\n else if (preShape.globalCompositeOperation === \"destination-out\")\n preShape.globalCompositeOperation = \"source-over\";\n }\n preShape.draw(ctx);\n preShape.globalCompositeOperation = ogComposite;\n }\n\n if (gameStore.fullFOW) {\n ctx.globalCompositeOperation = \"source-out\";\n ctx.fillStyle = getFogColour();\n ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n }\n\n super.draw(false);\n\n ctx.globalCompositeOperation = originalOperation;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load.vue?vue&type=script&lang=ts&\"","import { ServerCircle } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint, LocalPoint, Vector } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\nimport { g2l, g2lz, l2g } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class Circle extends Shape {\n type = \"circle\";\n r: number;\n constructor(center: GlobalPoint, r: number, fillColour?: string, strokeColour?: string, uuid?: string) {\n super(center, fillColour, strokeColour, uuid);\n this.r = r || 1;\n }\n asDict(): ServerCircle {\n // const base = this.getBaseDict();\n // base.r = this.r;\n // base.border = this.border;\n // return base;\n return Object.assign(this.getBaseDict(), {\n radius: this.r,\n });\n }\n fromDict(data: ServerCircle) {\n super.fromDict(data);\n this.r = data.radius;\n }\n getBoundingBox(): BoundingRect {\n return new BoundingRect(\n new GlobalPoint(this.refPoint.x - this.r, this.refPoint.y - this.r),\n this.r * 2,\n this.r * 2,\n );\n }\n\n get points() {\n return this.getBoundingBox().points;\n }\n\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.beginPath();\n if (this.fillColour === \"fog\") ctx.fillStyle = getFogColour();\n else ctx.fillStyle = this.fillColour;\n const loc = g2l(this.refPoint);\n ctx.arc(loc.x, loc.y, g2lz(this.r), 0, 2 * Math.PI);\n ctx.fill();\n if (this.strokeColour !== \"rgba(0, 0, 0, 0)\") {\n ctx.beginPath();\n ctx.lineWidth = g2lz(5);\n ctx.strokeStyle = this.strokeColour;\n ctx.arc(loc.x, loc.y, g2lz(this.r), 0, 2 * Math.PI);\n ctx.stroke();\n }\n }\n contains(point: GlobalPoint): boolean {\n return (point.x - this.refPoint.x) ** 2 + (point.y - this.refPoint.y) ** 2 < this.r ** 2;\n }\n inCorner(point: GlobalPoint, corner: string) {\n return false; // TODO\n }\n getCorner(point: GlobalPoint) {\n if (this.inCorner(point, \"ne\")) return \"ne\";\n else if (this.inCorner(point, \"nw\")) return \"nw\";\n else if (this.inCorner(point, \"se\")) return \"se\";\n else if (this.inCorner(point, \"sw\")) return \"sw\";\n }\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {\n if (centerPoint === undefined) return this.refPoint;\n this.refPoint = centerPoint;\n }\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid() {\n const gs = gameStore.gridSize;\n let targetX;\n let targetY;\n if (((2 * this.r) / gs) % 2 === 0) {\n targetX = Math.round(this.refPoint.x / gs) * gs;\n } else {\n targetX = Math.round((this.refPoint.x - gs / 2) / gs) * gs + this.r;\n }\n if (((2 * this.r) / gs) % 2 === 0) {\n targetY = Math.round(this.refPoint.y / gs) * gs;\n } else {\n targetY = Math.round((this.refPoint.y - gs / 2) / gs) * gs + this.r;\n }\n const delta = calculateDelta(new Vector(targetX - this.refPoint.x, targetY - this.refPoint.y), this);\n this.refPoint = this.refPoint.add(delta);\n this.invalidate(false);\n }\n resizeToGrid() {\n const gs = gameStore.gridSize;\n this.r = Math.max(Math.round(this.r / gs) * gs, gs / 2);\n this.invalidate(false);\n }\n resize(resizedir: string, point: LocalPoint) {\n const z = gameStore.zoomFactor;\n const diff = l2g(point).subtract(this.refPoint);\n this.r = Math.sqrt(Math.pow(diff.length(), 2) / 2);\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { BaseRect } from \"@/game/shapes/baserect\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class MapTool extends Tool {\n name = \"Map\";\n active = false;\n xCount = 3;\n yCount = 3;\n startPoint: GlobalPoint | null = null;\n rect: Rect | null = null;\n\n onMouseDown(event: MouseEvent) {\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = true;\n\n this.startPoint = l2g(getMouse(event));\n this.rect = new Rect(this.startPoint.clone(), 0, 0, \"rgba(0,0,0,0)\", \"black\");\n layer.addShape(this.rect, false, false);\n }\n onMouseMove(event: MouseEvent) {\n if (!this.active || this.rect === null || this.startPoint === null) return;\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n\n const endPoint = l2g(getMouse(event));\n\n this.rect.w = Math.abs(endPoint.x - this.startPoint.x);\n this.rect.h = Math.abs(endPoint.y - this.startPoint.y);\n this.rect.refPoint.x = Math.min(this.startPoint.x, endPoint.x);\n this.rect.refPoint.y = Math.min(this.startPoint.y, endPoint.y);\n layer.invalidate(false);\n }\n onMouseUp(event: MouseEvent) {\n if (!this.active || this.rect === null) return;\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = false;\n\n if (layer.selection.length !== 1) {\n layer.removeShape(this.rect, false, false);\n return;\n }\n\n const w = this.rect.w;\n const h = this.rect.h;\n const sel = layer.selection[0];\n\n if (sel instanceof BaseRect) {\n sel.w *= (this.xCount * gameStore.gridSize) / w;\n sel.h *= (this.yCount * gameStore.gridSize) / h;\n }\n\n layer.removeShape(this.rect, false, false);\n }\n}\n","import { render, staticRenderFns } from \"./load.vue?vue&type=template&id=ff095222&\"\nimport script from \"./load.vue?vue&type=script&lang=ts&\"\nexport * from \"./load.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"load.vue\"\nexport default component.exports","import Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { LocalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class PanTool extends Tool {\n name = \"Pan\";\n panStart = new LocalPoint(0, 0);\n active = false;\n\n onMouseDown(event: MouseEvent) {\n this.panStart = getMouse(event);\n this.active = true;\n }\n onMouseMove(event: MouseEvent) {\n if (!this.active) return;\n const mouse = getMouse(event);\n const distance = mouse.subtract(this.panStart).multiply(1 / gameStore.zoomFactor);\n gameStore.increasePanX(Math.round(distance.x));\n gameStore.increasePanY(Math.round(distance.y));\n this.panStart = mouse;\n layerManager.invalidate();\n }\n onMouseUp(event: MouseEvent) {\n this.active = false;\n sendClientOptions();\n }\n}\n","import { render, staticRenderFns } from \"./selectcontext.vue?vue&type=template&id=44a31e42&scoped=true&\"\nimport script from \"./selectcontext.vue?vue&type=script&lang=ts&\"\nexport * from \"./selectcontext.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./selectcontext.vue?vue&type=style&index=0&id=44a31e42&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44a31e42\",\n null\n \n)\n\ncomponent.options.__file = \"selectcontext.vue\"\nexport default component.exports","import Vue from \"vue\";\n\nimport { app } from \"@/main\";\n\n// Reference: https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript\nexport function uuidv4() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, c => {\n const r = (Math.random() * 16) | 0;\n const v = c === \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\nexport function capitalize(text: string) {\n return text.charAt(0).toUpperCase() + text.slice(1);\n}\n\nexport function alphSort(a: string, b: string) {\n if (a.toLowerCase() < b.toLowerCase()) return -1;\n else return 1;\n}\n\nexport function getHTMLFont(element: HTMLElement) {\n let font = element.style.font;\n while (font === null && element.parentElement !== null) {\n element = element.parentElement;\n font = element.style.font;\n }\n if (font === null) font = window.getComputedStyle(document.body).getPropertyValue(\"font\");\n return font;\n}\n\nexport function getHTMLTextWidth(text: string, font: string): number {\n let fakeElement = document.getElementById(\"emptycanvas\");\n if (fakeElement === null) {\n fakeElement = document.createElement(\"canvas\");\n fakeElement.id = \"emptycanvas\";\n fakeElement.style.display = \"\";\n document.body.appendChild(fakeElement);\n }\n const ctx = fakeElement.getContext(\"2d\")!;\n ctx.font = font;\n return Math.ceil(ctx.measureText(text).width);\n}\n\nexport function partition(arr: T[], predicate: (n: T) => boolean) {\n const ret: T[][] = [[], []];\n arr.forEach(n => (predicate(n) ? ret[1].push(n) : ret[0].push(n)));\n return ret;\n}\n\nexport function calcFontScale(ctx: CanvasRenderingContext2D, text: string, width: number, height: number) {\n const points = Number(ctx.font.split(\"px\")[0]) * 0.2;\n const fontWidth = ctx.measureText(text).width;\n return Math.min(width / fontWidth, height / points);\n}\n\nexport function fixedEncodeURIComponent(str: string) {\n return encodeURIComponent(str).replace(/[!'()*]/g, c => {\n return \"%\" + c.charCodeAt(0).toString(16);\n });\n}\n\nexport class OrderedMap {\n keys: K[] = [];\n values: V[] = [];\n\n get length() {\n return this.keys.length;\n }\n\n get(key: K) {\n return this.values[this.keys.indexOf(key)];\n }\n getIndexValue(idx: number) {\n return this.values[idx];\n }\n getIndexKey(idx: number) {\n return this.keys[idx];\n }\n set(key: K, value: V) {\n this.keys.push(key);\n this.values.push(value);\n }\n has(key: K) {\n return this.indexOf(key) >= 0;\n }\n indexOf(element: K) {\n return this.keys.indexOf(element);\n }\n remove(element: K) {\n const idx = this.indexOf(element);\n this.keys.splice(idx, 1);\n this.values.splice(idx, 1);\n }\n}\n\nexport function getComponent(): T {\n return app.$children[0].$refs.activeComponent;\n}\n\nexport function getRef(ref: string): T {\n const active = app.$children[0].$refs.activeComponent;\n return active.$refs[ref];\n}\n","import { render, staticRenderFns } from \"./contextMenu.vue?vue&type=template&id=d4f084a4&\"\nimport script from \"./contextMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./contextMenu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"contextMenu.vue\"\nexport default component.exports","import { EdgeCirculator, Point, Sign, Triangle, Vertex } from \"./tds\";\n\ntype Line = number[];\n\nexport function cw(index: number) {\n return (index + 2) % 3;\n}\n\nexport function ccw(index: number) {\n return (index + 1) % 3;\n}\n\nexport function edgeInfo(va: Vertex, vb: Vertex) {\n const ec = new EdgeCirculator(va, null);\n if (ec.valid) {\n do {\n const indv = 3 - ec.t!.indexV(va) - ec.ri;\n const v = ec.t!.vertices[indv]!;\n if (!v.infinite) {\n if (v === vb) {\n return { includes: true, vi: vb, fr: ec.t!, i: ec.ri };\n } else {\n const orient = orientation(va.point!, vb.point!, v.point!);\n if (orient === Sign.COLLINEAR && collinearBetween(va.point!, v.point!, vb.point!)) {\n return { includes: true, vi: v, fr: ec.t!, i: ec.ri };\n }\n }\n }\n } while (ec.next());\n }\n return { includes: false };\n}\n\nexport function collinearBetween(p: Point, q: Point, r: Point): boolean {\n let cPQ: Sign;\n let cQR: Sign;\n if (compare(0, p, r) === Sign.EQUAL) {\n cPQ = compare(1, p, q);\n cQR = compare(1, q, r);\n } else {\n cPQ = compare(0, p, q);\n cQR = compare(0, q, r);\n }\n return (cPQ === Sign.SMALLER && cQR === Sign.SMALLER) || (cPQ === Sign.LARGER && cQR === Sign.LARGER);\n}\n\nfunction compare(index: number, a: Point, b: Point): Sign {\n if (a[index] < b[index]) return Sign.SMALLER;\n if (a[index] > b[index]) return Sign.LARGER;\n return Sign.EQUAL;\n}\n\nexport function orientation(p: Point, q: Point, r: Point) {\n const px = p[0];\n const py = p[1];\n const qx = q[0];\n const qy = q[1];\n const rx = r[0];\n const ry = r[1];\n const pqx = qx - px;\n const pqy = qy - py;\n const prx = rx - px;\n const pry = ry - py;\n const det = determinant(pqx, pqy, prx, pry);\n let maxX = Math.abs(pqx);\n let maxY = Math.abs(pqy);\n const aprX = Math.abs(prx);\n const aprY = Math.abs(pry);\n if (maxX < aprX) maxX = aprX;\n if (maxY < aprY) maxY = aprY;\n if (maxX > maxY) [maxX, maxY] = [maxY, maxX];\n // underflow proection in eps computation?? Math.sqrt(Number.MIN_VALUE, Number.EPSILON)\n if (maxX < 2e-162 && maxX === 0) {\n return Sign.ZERO;\n }\n // overflow protection in det computation\n if (maxY < 1e153) {\n const eps = Number.EPSILON * maxX * maxY;\n if (det > eps) return Sign.POSITIVE;\n if (det < -eps) return Sign.NEGATIVE;\n }\n return Sign.ZERO;\n}\n\nexport function determinant(a00: number, a01: number, a10: number, a11: number) {\n return a00 * a11 - a01 * a10;\n}\n\nexport function hasInexactNegativeOrientation(p: Point, q: Point, r: Point) {\n return determinant(q[0] - p[0], q[1] - p[1], r[0] - p[0], r[1] - p[1]) < 0;\n}\n\nexport function sideOfOrientedCircle(t: Triangle, p: Point, perturb: boolean): Sign {\n if (!t.isInfinite())\n return sideOfOrientedCircleP(t.vertices[0]!.point!, t.vertices[1]!.point!, t.vertices[2]!.point!, p, perturb);\n throw new Error(\"SSS\");\n}\n\nfunction sideOfOrientedCircleP(p0: Point, p1: Point, p2: Point, p: Point, perturb: boolean): Sign {\n const os = getOrientedSide(p0, p1, p2, p);\n if (os !== Sign.ON_ORIENTED_BOUNDARY || !perturb) return os;\n const points = [p0, p1, p2, p];\n points.sort((a, b) => a[0] - b[0] || a[1] - b[1]);\n for (const point of points.reverse()) {\n if (point === p) return Sign.ON_NEGATIVE_SIDE;\n let o = orientation(p0, p1, p);\n if (point === p2 && o !== Sign.COLLINEAR) return o;\n o = orientation(p0, p, p2);\n if (point === p1 && o !== Sign.COLLINEAR) return o;\n o = orientation(p, p1, p2);\n if (point === p0 && o !== Sign.COLLINEAR) return o;\n }\n return Sign.ON_NEGATIVE_SIDE;\n}\n\nexport function xyEqual(p: Point, q: Point) {\n return p[0] === q[0] && p[1] === q[1];\n}\n\nexport function xySmaller(p: Point, q: Point) {\n return p[0] <= q[0] && p[1] <= q[1];\n}\n\nexport function xyCompare(p: Point, q: Point) {\n if (xySmaller(p, q)) return Sign.SMALLER;\n if (xyEqual(p, q)) return Sign.EQUAL;\n return Sign.LARGER;\n}\n\nfunction getOrientedSide(p: Point, q: Point, r: Point, t: Point): Sign {\n const qpx = q[0] - p[0];\n const qpy = q[1] - p[1];\n const rpx = r[0] - p[0];\n const rpy = r[1] - p[1];\n const tpx = t[0] - p[0];\n const tpy = t[1] - p[1];\n const tqx = t[0] - q[0];\n const tqy = t[1] - q[1];\n const rqx = r[0] - q[0];\n const rqy = r[1] - q[1];\n\n const det = determinant(qpx * tpy - qpy * tpx, tpx * tqx + tpy * tqy, qpx * rpy - qpy * rpx, rpx * rqx + rpy * rqy);\n let maxx = Math.abs(qpx);\n let maxy = Math.abs(qpy);\n const arpx = Math.abs(rpx);\n const arpy = Math.abs(rpy);\n const atqx = Math.abs(tqx);\n const atqy = Math.abs(tqy);\n const atpx = Math.abs(tpx);\n const atpy = Math.abs(tpy);\n const arqx = Math.abs(rqx);\n const arqy = Math.abs(rqy);\n\n if (maxx < arpx) maxx = arpx;\n if (maxx < atpx) maxx = atpx;\n if (maxx < atqx) maxx = atqx;\n if (maxx < arqx) maxx = arqx;\n\n if (maxy < arpy) maxy = arpy;\n if (maxy < atpy) maxy = atpy;\n if (maxy < atqy) maxy = atqy;\n if (maxy < arqy) maxy = arqy;\n\n if (maxx > maxy) [maxx, maxy] = [maxy, maxx];\n\n if (maxx < 1e-73 && maxx === 0) return Sign.ON_ORIENTED_BOUNDARY;\n // sqrt(sqrt(max_double/16\n else if (maxy < 1e76) {\n const eps = Number.EPSILON * maxx * maxy * (maxy * maxy);\n if (det > eps) return Sign.ON_POSITIVE_SIDE;\n if (det < -eps) return Sign.ON_NEGATIVE_SIDE;\n }\n\n return Sign.ZERO;\n}\n\nfunction segSegDoIntersectCrossing(p1: Point, p2: Point, p3: Point, p4: Point): boolean {\n switch (orientation(p1, p2, p3)) {\n case Sign.LEFT_TURN:\n return orientation(p3, p4, p2) !== Sign.RIGHT_TURN;\n case Sign.RIGHT_TURN:\n return orientation(p3, p4, p2) !== Sign.LEFT_TURN;\n case Sign.COLLINEAR:\n return true;\n }\n}\n\nfunction segSegDoIntersectContained(p1: Point, p2: Point, p3: Point, p4: Point): boolean {\n switch (orientation(p1, p2, p3)) {\n case Sign.LEFT_TURN:\n return orientation(p1, p2, p4) !== Sign.LEFT_TURN;\n case Sign.RIGHT_TURN:\n return orientation(p1, p2, p4) !== Sign.RIGHT_TURN;\n case Sign.COLLINEAR:\n return true;\n }\n}\n\nexport function intersection(pa: Point, pb: Point, pc: Point, pd: Point) {\n const i = getIntersectionType(pa, pb, pc, pd);\n switch (i.intersectionType) {\n case IntersectionType.POINT:\n return i.point!;\n case IntersectionType.NO_INTERSECTION:\n return null;\n }\n throw new Error(\"sdfgighowen\");\n}\n\nenum IntersectionType {\n NO_INTERSECTION,\n POINT,\n SEGMENT,\n}\n\nfunction getLine(p0: Point, p1: Point): Line {\n if (p0[0] === p1[0]) return [1, 0, -p0[0]];\n if (p0[1] === p1[1]) return [0, 1, -p0[1]];\n const x = p1[0] - p0[0];\n const y = p1[1] - p0[1];\n return [-y, x, -x + y];\n}\n\nfunction getIntersectionType(pa: Point, pb: Point, pc: Point, pd: Point) {\n if (!doIntersect(pa, pb, pc, pd)) return { intersectionType: IntersectionType.NO_INTERSECTION, point: null };\n const l1 = getLine(pa, pb);\n const l2 = getLine(pc, pd);\n const info = getIntersectionTypeLine(l1, l2);\n switch (info.intersectionType) {\n case IntersectionType.POINT: {\n return info;\n }\n }\n throw new Error(\"gzseuihgpib\");\n}\n\nfunction getIntersectionTypeLine(la: Line, lb: Line) {\n const denom = la[0] * lb[1] - lb[0] * la[1];\n const nom1 = la[1] * lb[2] - lb[1] * la[2];\n const nom2 = lb[0] * la[2] - la[0] * lb[2];\n return {\n intersectionType: IntersectionType.POINT,\n point: [nom1 / denom, nom2 / denom],\n };\n}\n\nfunction doIntersect(A1: Point, A2: Point, B1: Point, B2: Point): boolean {\n if (xySmaller(A1, A2)) {\n if (xySmaller(B1, B2)) {\n if (xySmaller(A2, B1) || xySmaller(B2, A1)) return false;\n } else {\n if (xySmaller(A2, B2) || xySmaller(B1, A1)) return false;\n }\n } else {\n if (xySmaller(B1, B2)) {\n if (xySmaller(A1, B1) || xySmaller(B2, A2)) return false;\n } else {\n if (xySmaller(A1, B2) || xySmaller(B1, A2)) return false;\n }\n }\n if (xySmaller(A1, A2)) {\n if (xySmaller(B1, B2)) {\n switch (xyCompare(A1, B1)) {\n case Sign.SMALLER: {\n switch (xyCompare(A2, B1)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(A2, B2)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(A1, A2, B1, B2);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(A1, A2, B1, B2);\n }\n }\n }\n }\n case Sign.EQUAL:\n return true;\n default:\n switch (xyCompare(B2, A1)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(B2, A2)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(B1, B2, A1, A2);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(B1, B2, A1, A2);\n }\n }\n }\n }\n } else {\n switch (xyCompare(A1, B2)) {\n case Sign.SMALLER: {\n switch (xyCompare(A2, B2)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(A2, B1)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(A1, A2, B2, B1);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(A1, A2, B2, B1);\n }\n }\n }\n }\n case Sign.EQUAL:\n return true;\n default:\n switch (xyCompare(B1, A1)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(B1, A2)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(B2, B1, A1, A2);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(B2, B1, A1, A2);\n }\n }\n }\n }\n }\n } else {\n if (xySmaller(B1, B2)) {\n switch (xyCompare(A2, B1)) {\n case Sign.SMALLER: {\n switch (xyCompare(A1, B1)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(A1, B2)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(A2, A1, B1, B2);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(A2, A1, B1, B2);\n }\n }\n }\n }\n case Sign.EQUAL:\n return true;\n default:\n switch (xyCompare(B2, A2)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(B2, A1)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(B1, B2, A2, A1);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(B1, B2, A2, A1);\n }\n }\n }\n }\n } else {\n switch (xyCompare(A2, B2)) {\n case Sign.SMALLER: {\n switch (xyCompare(A1, B2)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(A1, B1)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(A2, A1, B2, B1);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(A2, A1, B2, B1);\n }\n }\n }\n }\n case Sign.EQUAL:\n return true;\n default:\n switch (xyCompare(B1, A2)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(B1, A1)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(B2, B1, A2, A1);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(B2, B1, A2, A1);\n }\n }\n }\n }\n }\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{attrs:{\"visible\":_vm.visible,\"mask\":false},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_c('div',[_vm._v(\"Edit asset\")]),_c('div',{staticClass:\"header-close\",on:{\"click\":function($event){_vm.visible = false}}},[_c('i',{staticClass:\"far fa-window-close\"})])])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('label',{attrs:{\"for\":\"shapeselectiondialog-name\"}},[_vm._v(\"Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shape.name),expression:\"shape.name\"}],staticStyle:{\"grid-column\":\"numerator / end\"},attrs:{\"type\":\"text\",\"id\":\"shapeselectiondialog-name\"},domProps:{\"value\":(_vm.shape.name)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.shape, \"name\", $event.target.value)}}}),_c('label',{attrs:{\"for\":\"shapeselectiondialog-istoken\"}},[_vm._v(\"Is a token\")]),_c('input',{staticStyle:{\"grid-column-start\":\"remove\",\"width\":\"15px\",\"height\":\"15px\"},attrs:{\"type\":\"checkbox\",\"id\":\"shapeselectiondialog-istoken\"},domProps:{\"checked\":_vm.shape.isToken},on:{\"click\":_vm.setToken}}),_c('label',{attrs:{\"for\":\"shapeselectiondialog-visionblocker\"}},[_vm._v(\"Blocks vision/light\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shape.visionObstruction),expression:\"shape.visionObstruction\"}],staticStyle:{\"grid-column-start\":\"remove\",\"width\":\"15px\",\"height\":\"15px\"},attrs:{\"type\":\"checkbox\",\"id\":\"shapeselectiondialog-visionblocker\"},domProps:{\"checked\":Array.isArray(_vm.shape.visionObstruction)?_vm._i(_vm.shape.visionObstruction,null)>-1:(_vm.shape.visionObstruction)},on:{\"change\":[function($event){var $$a=_vm.shape.visionObstruction,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.shape, \"visionObstruction\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.shape, \"visionObstruction\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.shape, \"visionObstruction\", $$c)}},_vm.setVisionBlocker]}}),_c('label',{attrs:{\"for\":\"shapeselectiondialog-moveblocker\"}},[_vm._v(\"Blocks movement\")]),_c('input',{staticStyle:{\"grid-column-start\":\"remove\",\"width\":\"15px\",\"height\":\"15px\"},attrs:{\"type\":\"checkbox\",\"id\":\"shapeselectiondialog-moveblocker\"},domProps:{\"checked\":_vm.shape.movementObstruction},on:{\"click\":_vm.setMovementBlocker}}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Access\")]),_vm._l((_vm.shape.owners),function(owner){return [_c('input',{key:owner,staticStyle:{\"grid-column-start\":\"name\"},attrs:{\"type\":\"text\",\"placeholder\":\"name\"},domProps:{\"value\":owner},on:{\"change\":function($event){_vm.updateOwner($event, owner)}}}),(owner !== '')?_c('div',{key:'remove-' + owner,staticStyle:{\"grid-column-start\":\"remove\"},on:{\"click\":function($event){_vm.removeOwner(owner)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e()]}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Trackers\")]),_vm._l((_vm.shape.trackers),function(tracker){return [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(tracker.name),expression:\"tracker.name\"}],key:'name-'+tracker.uuid,staticStyle:{\"grid-column-start\":\"name\"},attrs:{\"type\":\"text\",\"placeholder\":\"name\"},domProps:{\"value\":(tracker.name)},on:{\"change\":function($event){_vm.updateShape(false);},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(tracker, \"name\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(tracker.value),expression:\"tracker.value\",modifiers:{\"number\":true}}],key:'value-'+tracker.uuid,attrs:{\"type\":\"text\",\"title\":\"Current value\"},domProps:{\"value\":(tracker.value)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(tracker, \"value\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('span',{key:'fspan-'+tracker.uuid},[_vm._v(\"/\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(tracker.maxvalue),expression:\"tracker.maxvalue\",modifiers:{\"number\":true}}],key:'maxvalue-'+tracker.uuid,attrs:{\"type\":\"text\",\"title\":\"Current value\"},domProps:{\"value\":(tracker.maxvalue)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(tracker, \"maxvalue\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('span',{key:'sspan-'+tracker.uuid}),_c('div',{key:'visibility-'+tracker.uuid,style:({opacity: tracker.visible ? 1.0 : 0.3}),on:{\"click\":function($event){tracker.visible = !tracker.visible;_vm.updateShape(false)}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('span',{key:'tspan-'+tracker.uuid}),(tracker.name !== '' || tracker.value !== 0)?_c('div',{key:'remove-'+tracker.uuid,on:{\"click\":function($event){_vm.removeTracker(tracker.uuid)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e()]}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Auras\")]),_vm._l((_vm.shape.auras),function(aura){return [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(aura.name),expression:\"aura.name\"}],key:'name-'+aura.uuid,staticStyle:{\"grid-column-start\":\"name\"},attrs:{\"type\":\"text\",\"placeholder\":\"name\"},domProps:{\"value\":(aura.name)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(aura, \"name\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(aura.value),expression:\"aura.value\",modifiers:{\"number\":true}}],key:'value-'+aura.uuid,attrs:{\"type\":\"text\",\"title\":\"Current value\"},domProps:{\"value\":(aura.value)},on:{\"change\":function($event){_vm.updateShape(true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(aura, \"value\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('span',{key:'fspan-'+aura.uuid},[_vm._v(\"/\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(aura.dim),expression:\"aura.dim\",modifiers:{\"number\":true}}],key:'dimvalue-'+aura.uuid,attrs:{\"type\":\"text\",\"title\":\"Dim value\"},domProps:{\"value\":(aura.dim)},on:{\"change\":function($event){_vm.updateShape(true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(aura, \"dim\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('color-picker',{key:'colour-'+aura.uuid,attrs:{\"color\":aura.colour},on:{\"update:color\":function($event){_vm.$set(aura, \"colour\", $event)},\"input\":function($event){_vm.updateAuraColour(aura, $event)},\"change\":function($event){_vm.updateShape(true)}}}),_c('div',{key:'visibility-'+aura.uuid,style:({opacity: aura.visible ? 1.0 : 0.3}),on:{\"click\":function($event){aura.visible = !aura.visible;_vm.updateShape(true)}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('div',{key:'visionsource-'+aura.uuid,style:({opacity: aura.visionSource ? 1.0 : 0.3}),on:{\"click\":function($event){_vm.updateAuraVisionSource(aura)}}},[_c('i',{staticClass:\"fas fa-lightbulb\"})]),(aura.name !== '' || aura.value !== 0)?_c('div',{key:'remove-'+aura.uuid,on:{\"click\":function($event){_vm.removeAura(aura.uuid)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e()]}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Annotation\")]),_c('textarea',{staticClass:\"spanrow\",domProps:{\"value\":_vm.shape.annotation},on:{\"change\":_vm.updateAnnotation}})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=template&id=078b3b76&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.getActiveLayer() !== undefined)?_c('ContextMenu',{attrs:{\"visible\":_vm.visible,\"left\":_vm.x + 'px',\"top\":_vm.y + 'px'},on:{\"close\":_vm.close}},[(_vm.getLayers().length > 1)?_c('li',[_vm._v(\"Layer\\n \"),_c('ul',_vm._l((_vm.getLayers()),function(layer){return _c('li',{key:layer.name,style:([_vm.getActiveLayer().name === layer.name ? {'background-color':'#82c8a0'}: {}]),on:{\"click\":function($event){_vm.setLayer(layer.name)}}},[_vm._v(_vm._s(layer.name))])}))]):_vm._e(),_c('li',{on:{\"click\":_vm.moveToBack}},[_vm._v(\"Move to back\")]),_c('li',{on:{\"click\":_vm.moveToFront}},[_vm._v(\"Move to front\")]),_c('li',{on:{\"click\":_vm.addInitiative}},[_vm._v(_vm._s(_vm.getInitiativeWord())+\" initiative\")])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=template&id=7111f3f6&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component\nexport default class Modal extends Vue {\n @Prop(Boolean) visible!: boolean;\n @Prop({ type: Boolean, default: true }) mask!: boolean;\n\n $refs!: {\n container: HTMLElement;\n };\n\n positioned = false;\n offsetX = 0;\n offsetY = 0;\n screenX = 0;\n screenY = 0;\n dragging = false;\n\n // Example of mounted required: opening note\n mounted() {\n this.updatePosition();\n }\n // Example of updated required: opening initiative\n updated() {\n this.updatePosition();\n }\n\n close(event: MouseEvent) {\n this.$emit(\"close\");\n }\n updatePosition() {\n if (!this.positioned) {\n const container = this.$refs.container;\n if (container.offsetWidth === 0 && container.offsetHeight === 0) return;\n this.$refs.container.style.left = (window.innerWidth - container.offsetWidth) / 2 + \"px\";\n this.$refs.container.style.top = (window.innerHeight - container.offsetHeight) / 2 + \"px\";\n this.positioned = true;\n }\n }\n dragStart(event: DragEvent) {\n if (event === null || event.dataTransfer === null) return;\n event.dataTransfer.setData(\"Hack\", \"\");\n // Because the drag event is happening on the header, we have to change the drag image\n // in order to give the impression that the entire modal is dragged.\n event.dataTransfer.setDragImage(this.$refs.container, event.offsetX, event.offsetY);\n this.offsetX = event.offsetX;\n this.offsetY = event.offsetY;\n this.screenX = event.screenX;\n this.screenY = event.screenY;\n this.dragging = true;\n }\n dragEnd(event: DragEvent) {\n this.dragging = false;\n let left = event.clientX - this.offsetX;\n let top = event.clientY - this.offsetY;\n if (event.clientX === 0 && event.clientY === 0 && event.pageX === 0 && event.pageY === 0) {\n left = parseInt(this.$refs.container.style.left!, 10) - (this.screenX - event.screenX);\n top = parseInt(this.$refs.container.style.top!, 10) - (this.screenY - event.screenY);\n }\n if (left < 0) left = 0;\n if (left > window.innerWidth - 100) left = window.innerWidth - 100;\n if (top < 0) top = 0;\n if (top > window.innerHeight - 100) top = window.innerHeight - 100;\n this.$refs.container.style.left = left + \"px\";\n this.$refs.container.style.top = top + \"px\";\n this.$refs.container.style.display = \"block\";\n }\n dragOver(event: DragEvent) {\n if (this.dragging) this.$refs.container.style.display = \"none\";\n }\n}\n","import io from \"socket.io-client\";\n\nimport { Asset } from \"@/core/comm/types\";\nimport { assetStore } from \"./store\";\n\nexport const socket = io(location.protocol + \"//\" + location.host + \"/pa_assetmgmt\", { autoConnect: false });\n\n// export const socket = io.connect(location.protocol + \"//\" + location.host + \"/pa_assetmgmt\");\nsocket.on(\"connect\", () => {\n console.log(\"Connected\");\n});\nsocket.on(\"disconnect\", () => {\n console.log(\"Disconnected\");\n});\nsocket.on(\"redirect\", (destination: string) => {\n console.log(\"redirecting\");\n window.location.href = destination;\n});\nsocket.on(\"Folder.Root.Set\", (root: number) => {\n assetStore.setRoot(root);\n});\nsocket.on(\"Folder.Set\", (folder: Asset) => {\n assetStore.clear();\n if (folder.children) {\n for (const child of folder.children) {\n assetStore.idMap.set(child.id, child);\n if (child.file_hash) {\n assetStore.files.push(child.id);\n } else {\n assetStore.folders.push(child.id);\n }\n }\n }\n});\nsocket.on(\"Folder.Create\", (folder: Asset) => {\n assetStore.folders.push(folder.id);\n assetStore.idMap.set(folder.id, folder);\n});\nsocket.on(\"Asset.Upload.Finish\", (asset: Asset) => {\n assetStore.idMap.set(asset.id, asset);\n assetStore.files.push(asset.id);\n});\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=style&index=0&id=1fee50f5&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=style&index=0&id=1fee50f5&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=0&lang=css&\"","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { g2lx, g2ly, g2lz } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class MultiLine extends Shape {\n type = \"multiline\";\n _points: GlobalPoint[] = [];\n lineWidth: number;\n constructor(\n startPoint: GlobalPoint,\n points?: GlobalPoint[],\n lineWidth?: number,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(startPoint, \"rgba(0, 0, 0, 0)\", strokeColour || \"#000\", uuid);\n this._points = points || [];\n this.lineWidth = lineWidth || 3;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n line_width: this.lineWidth,\n points: this._points.map(p => ({ x: p.x, y: p.y })),\n });\n }\n get points() {\n return this._points.map(point => [point.x, point.y]);\n }\n getBoundingBox(): BoundingRect {\n let minx: number = this.refPoint.x;\n let maxx: number = this.refPoint.y;\n let miny: number = this.refPoint.x;\n let maxy: number = this.refPoint.y;\n for (const p of this._points) {\n if (p.x < minx) minx = p.x;\n if (p.x > maxx) maxx = p.x;\n if (p.y < miny) miny = p.y;\n if (p.y > maxy) maxy = p.y;\n }\n return new BoundingRect(new GlobalPoint(minx, miny), maxx - minx, maxy - miny);\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.beginPath();\n ctx.lineCap = \"round\";\n ctx.lineJoin = \"round\";\n ctx.moveTo(g2lx(this.refPoint.x), g2ly(this.refPoint.y));\n for (const p of this._points) ctx.lineTo(g2lx(p.x), g2ly(p.y));\n if (this.strokeColour === \"fog\") ctx.strokeStyle = getFogColour();\n else ctx.strokeStyle = this.strokeColour;\n ctx.lineWidth = g2lz(this.lineWidth);\n ctx.stroke();\n }\n contains(point: GlobalPoint): boolean {\n return this._points.includes(point);\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {} // TODO\n getCorner(point: GlobalPoint): string | undefined {\n return \"\";\n } // TODO\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid(): void {}\n resizeToGrid(): void {}\n resize(resizeDir: string, point: LocalPoint): void {}\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"outer\",on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.open($event)}}},[_c('div',{staticClass:\"current-color\",style:(_vm.transparent ? 'background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)' : 'background-color:' + _vm.color),on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.open($event)}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.display),expression:\"display\"}],staticClass:\"mask\",on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.closePicker($event)}}}),_c('chrome-picker',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.display),expression:\"display\"}],ref:\"chromePicker\",style:({position: 'fixed', left:_vm.left + 'px', top:_vm.top + 'px', 'z-index': 9999}),attrs:{\"value\":_vm.color,\"tabindex\":\"-1\"},on:{\"input\":_vm.updateColor}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=template&id=b4f2c0b0&scoped=true&\"","import { render, staticRenderFns } from \"./draw.vue?vue&type=template&id=7abc7fe9&scoped=true&\"\nimport script from \"./draw.vue?vue&type=script&lang=ts&\"\nexport * from \"./draw.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./draw.vue?vue&type=style&index=0&id=7abc7fe9&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7abc7fe9\",\n null\n \n)\n\ncomponent.options.__file = \"draw.vue\"\nexport default component.exports","import tinycolor from \"tinycolor2\";\n\nimport { LocalPoint } from \"@/game/geom\";\nimport { gameStore } from \"@/game/store\";\n\nexport function getMouse(e: MouseEvent): LocalPoint {\n return new LocalPoint(e.pageX, e.pageY);\n}\n\nexport function getFogColour(opposite: boolean = false): string {\n const tc = tinycolor(gameStore.fowColour);\n if (gameStore.IS_DM) tc.setAlpha(opposite ? 1 : gameStore.fowOpacity);\n else tc.setAlpha(1);\n return tc.toRgbString();\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport * as tinycolor from \"tinycolor2\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { mapState } from \"vuex\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { calcFontScale } from \"@/core/utils\";\nimport { LocalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { CircularToken } from \"@/game/shapes/circulartoken\";\nimport { gameStore } from \"@/game/store\";\nimport { getUnitDistance, l2g } from \"@/game/units\";\nimport { Watch } from \"vue-property-decorator\";\n\n@Component({\n components: {\n Modal,\n \"color-picker\": ColorPicker,\n },\n computed: {\n ...mapState(\"game\", [\"unitSize\"]),\n },\n})\nexport default class CreateTokenModal extends Vue {\n x = 0;\n y = 0;\n visible = false;\n text = \"X\";\n fillColour = \"rgba(255, 255, 255, 1)\";\n borderColour = \"rgba(0, 0, 0, 1)\";\n\n mounted() {\n this.updatePreview();\n }\n\n @Watch(\"text\")\n onTextChange(newValue: string, oldValue: string) {\n this.updatePreview();\n }\n @Watch(\"fillColour\")\n onFillChange(newValue: string, oldValue: string) {\n this.updatePreview();\n }\n @Watch(\"borderColour\")\n onBorderChange(newValue: string, oldValue: string) {\n this.updatePreview();\n }\n\n open(x: number, y: number) {\n this.visible = true;\n this.x = x;\n this.y = y;\n }\n submit() {\n const layer = layerManager.getLayer();\n if (layer === undefined) return;\n const token = new CircularToken(\n l2g(new LocalPoint(this.x, this.y)),\n getUnitDistance(gameStore.unitSize / 2),\n this.text,\n \"10px serif\",\n this.fillColour,\n this.borderColour,\n );\n token.owners.push(gameStore.username);\n layer.addShape(token, true);\n layer.invalidate(false);\n this.visible = false;\n }\n updatePreview() {\n const ctx = (this.$refs.canvas).getContext(\"2d\")!;\n ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n ctx.beginPath();\n const dest = { x: ctx.canvas.width / 2, y: ctx.canvas.height / 2 };\n const r = Math.min(dest.x, dest.y) * 0.9;\n\n ctx.fillStyle = this.fillColour;\n\n ctx.arc(dest.x, dest.y, r, 0, 2 * Math.PI);\n ctx.fill();\n if (this.borderColour !== \"rgba(0, 0, 0, 0)\") {\n ctx.beginPath();\n ctx.lineWidth = 5;\n ctx.strokeStyle = this.borderColour;\n ctx.arc(dest.x, dest.y, r, 0, 2 * Math.PI);\n ctx.stroke();\n }\n ctx.save();\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n const xs = calcFontScale(ctx, this.text, r, r);\n const ys = 0;\n ctx.transform(xs, ys, -ys, xs, dest.x, dest.y);\n ctx.fillStyle = tinycolor.mostReadable(this.fillColour, [\"#000\", \"#fff\"]).toHexString();\n ctx.fillText(this.text, 0, 0);\n ctx.restore();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { Note } from \"@/game/comm/types/general\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n Modal,\n },\n})\nexport default class NoteDialog extends Vue {\n visible = false;\n note: Note | null = null;\n\n open(note: Note) {\n this.visible = true;\n this.note = note;\n }\n calcHeight() {\n if (this.$refs.textarea) {\n const el = this.$refs.textarea;\n el.style.height = \"auto\";\n el.style.height = el.scrollHeight + \"px\";\n // Using the return value without the above did not achieve what I want, so hey /shrug\n return el.scrollHeight + \"px\";\n }\n return \"100px\";\n }\n updateNote() {\n if (this.note) gameStore.updateNote({ note: this.note, sync: true });\n }\n removeNote() {\n getRef(\"confirm\")\n .open(\"Are you sure you wish to remove this?\")\n .then(\n (result: boolean) => {\n if (result && this.note) {\n gameStore.removeNote({ note: this.note, sync: true });\n this.visible = false;\n }\n },\n () => {},\n );\n }\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=style&index=0&id=ccaf03d6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=style&index=0&id=ccaf03d6&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from \"vue-class-component\";\n\nimport { Watch } from \"vue-property-decorator\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { socket } from \"@/game/api/socket\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { MultiLine } from \"@/game/shapes/multiline\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { getUnitDistance, l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\n\n@Component({\n components: {\n \"color-picker\": ColorPicker,\n },\n})\nexport default class DrawTool extends Tool {\n name = \"Draw\";\n active = false;\n\n startPoint: GlobalPoint | null = null;\n shape: Shape | null = null;\n brushHelper: Circle | null = null;\n\n fillColour = \"rgba(0, 0, 0, 1)\";\n borderColour = \"rgba(255, 255, 255, 0)\";\n\n shapeSelect = \"square\";\n shapes = [\"square\", \"circle\", \"paint-brush\"];\n modeSelect = \"normal\";\n modes = [\"normal\", \"reveal\", \"hide\"];\n\n brushSize = getUnitDistance(gameStore.unitSize);\n\n get helperSize(): number {\n if (this.shapeSelect === \"paint-brush\") return this.brushSize / 2;\n return getUnitDistance(this.unitSize) / 8;\n }\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n get unitSize(): number {\n return gameStore.unitSize;\n }\n get useGrid(): boolean {\n return gameStore.useGrid;\n }\n\n @Watch(\"fillColour\")\n onFillChange() {\n if (this.brushHelper) this.brushHelper.fillColour = this.fillColour;\n }\n\n @Watch(\"modeSelect\")\n onModeUpdate(newValue: string, oldValue: string) {\n this.onModeChange(newValue, oldValue);\n }\n\n setupBrush() {\n if (this.brushHelper === null) return;\n if (this.modeSelect === \"reveal\" || this.modeSelect === \"hide\") {\n this.brushHelper.options.set(\"preFogShape\", true);\n this.brushHelper.options.set(\"skipDraw\", true);\n this.brushHelper.fillColour = \"rgba(0, 0, 0, 1)\";\n\n if (this.modeSelect === \"reveal\") this.brushHelper.globalCompositeOperation = \"source-over\";\n else if (this.modeSelect === \"hide\") this.brushHelper.globalCompositeOperation = \"destination-out\";\n } else {\n this.brushHelper.options.delete(\"preFogShape\");\n this.brushHelper.options.delete(\"skipDraw\");\n this.brushHelper.globalCompositeOperation = \"source-over\";\n this.brushHelper.fillColour = this.fillColour;\n }\n }\n onModeChange(newValue: string, oldValue: string) {\n if (this.brushHelper === null) return;\n\n const fowLayer = layerManager.getLayer(\"fow\");\n const normalLayer = layerManager.getLayer();\n if (fowLayer === undefined || normalLayer === undefined) return;\n\n this.setupBrush();\n\n if (newValue !== \"normal\" && oldValue === \"normal\") {\n normalLayer.removeShape(this.brushHelper, false);\n fowLayer.addShape(this.brushHelper, false);\n } else if (newValue === \"normal\" && oldValue !== \"normal\") {\n normalLayer.addShape(this.brushHelper, false);\n fowLayer.removeShape(this.brushHelper, false);\n }\n }\n getLayer() {\n if (this.modeSelect === \"normal\") return layerManager.getLayer();\n return layerManager.getLayer(\"fow\");\n }\n onMouseDown(event: MouseEvent) {\n const layer = this.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = true;\n this.startPoint = l2g(getMouse(event));\n if (this.shapeSelect === \"square\")\n this.shape = new Rect(this.startPoint.clone(), 0, 0, this.fillColour, this.borderColour);\n else if (this.shapeSelect === \"circle\")\n this.shape = new Circle(this.startPoint.clone(), this.helperSize, this.fillColour, this.borderColour);\n else if (this.shapeSelect === \"paint-brush\") {\n this.shape = new MultiLine(this.startPoint.clone(), [], this.brushSize);\n this.shape.fillColour = this.fillColour;\n } else return;\n\n if (this.modeSelect !== \"normal\") {\n this.shape.options.set(\"preFogShape\", true);\n this.shape.options.set(\"skipDraw\", true);\n this.shape.fillColour = \"rgba(0, 0, 0, 1)\";\n }\n if (this.modeSelect === \"reveal\") this.shape.globalCompositeOperation = \"source-over\";\n else if (this.modeSelect === \"hide\") this.shape.globalCompositeOperation = \"destination-out\";\n\n this.shape.owners.push(gameStore.username);\n if (layer.name === \"fow\" && this.modeSelect === \"normal\") {\n this.shape.visionObstruction = true;\n this.shape.movementObstruction = true;\n }\n gameStore.visionBlockers.push(this.shape.uuid);\n layer.addShape(this.shape, true, false);\n\n // Push brushhelper to back\n this.onDeselect();\n this.onSelect();\n }\n onMouseMove(event: MouseEvent) {\n const endPoint = l2g(getMouse(event));\n const layer = this.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n\n if (this.brushHelper !== null) {\n this.brushHelper.r = this.helperSize;\n this.brushHelper.refPoint = endPoint;\n if (!this.active) layer.invalidate(false);\n }\n\n if (!this.active || this.startPoint === null || this.shape === null) return;\n\n if (this.shapeSelect === \"square\") {\n (this.shape).w = Math.abs(endPoint.x - this.startPoint.x);\n (this.shape).h = Math.abs(endPoint.y - this.startPoint.y);\n this.shape.refPoint.x = Math.min(this.startPoint.x, endPoint.x);\n this.shape.refPoint.y = Math.min(this.startPoint.y, endPoint.y);\n } else if (this.shapeSelect === \"circle\") {\n (this.shape).r = endPoint.subtract(this.startPoint).length();\n } else if (this.shapeSelect === \"paint-brush\") {\n (this.shape)._points.push(endPoint);\n }\n socket.emit(\"Shape.Update\", { shape: this.shape!.asDict(), redraw: true, temporary: true });\n if (this.shape.visionObstruction) gameStore.recalculateBV(true);\n layer.invalidate(false);\n }\n onMouseUp(event: MouseEvent) {\n if (!this.active || this.shape === null) return;\n if (!event.altKey && this.useGrid) {\n this.shape.resizeToGrid();\n }\n if (this.shape.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: this.shape!.asDict(), redraw: true, temporary: false });\n this.active = false;\n }\n onSelect() {\n const layer = this.getLayer();\n if (layer === undefined) return;\n this.brushHelper = new Circle(new GlobalPoint(-1000, -1000), this.brushSize / 2, this.fillColour);\n this.setupBrush();\n layer.addShape(this.brushHelper, false); // during mode change the shape is already added\n }\n onDeselect() {\n const layer = this.getLayer();\n if (this.brushHelper !== null && layer !== undefined) layer.removeShape(this.brushHelper, false);\n }\n}\n","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { g2lx, g2ly } from \"@/game/units\";\n\nexport class Line extends Shape {\n type = \"line\";\n endPoint: GlobalPoint;\n lineWidth: number;\n constructor(\n startPoint: GlobalPoint,\n endPoint: GlobalPoint,\n lineWidth?: number,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(startPoint, \"rgba(0, 0, 0, 0)\", strokeColour || \"#000\", uuid);\n this.endPoint = endPoint;\n this.lineWidth = lineWidth === undefined ? 1 : lineWidth;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n x2: this.endPoint.x,\n y2: this.endPoint.y,\n line_width: this.lineWidth,\n });\n }\n get points() {\n return [[this.refPoint.x, this.refPoint.y], [this.endPoint.x, this.endPoint.y]];\n }\n getBoundingBox(): BoundingRect {\n return new BoundingRect(\n new GlobalPoint(Math.min(this.refPoint.x, this.endPoint.x), Math.min(this.refPoint.x, this.endPoint.y)),\n Math.abs(this.refPoint.x - this.endPoint.x),\n Math.abs(this.refPoint.y - this.endPoint.y),\n );\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.strokeStyle = this.strokeColour;\n ctx.beginPath();\n ctx.moveTo(g2lx(this.refPoint.x), g2ly(this.refPoint.y));\n ctx.lineTo(g2lx(this.endPoint.x), g2ly(this.endPoint.y));\n ctx.lineWidth = this.lineWidth;\n ctx.stroke();\n }\n contains(point: GlobalPoint): boolean {\n return false; // TODO\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {} // TODO\n getCorner(point: GlobalPoint): string | undefined {\n return \"\";\n } // TODO\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid(): void {}\n resizeToGrid(): void {}\n resize(resizeDir: string, point: LocalPoint): void {}\n}\n","// import \"./class-component-hooks\";\n\nimport axios, { AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Router from \"vue-router\";\n\nVue.use(Router);\n\nimport AssetManager from \"@/assetManager/manager.vue\";\nimport Login from \"@/auth/login.vue\";\nimport Logout from \"@/auth/logout\";\nimport LoadComponent from \"@/core/components/load.vue\";\nimport Dashboard from \"@/dashboard/main.vue\";\nimport Game from \"@/game/game.vue\";\nimport Invitation from \"@/invitation/invitation\";\n\nimport { coreStore } from \"@/core/store\";\n// import { AssetManager } from \"./assetManager/assets\";\n// const AssetManager = () => import(\"./assetManager/assets\").then(m => m.AssetManager);\n\nexport const router = new Router({\n mode: \"history\",\n base: process.env.BASE_URL,\n routes: [\n {\n path: \"/\",\n redirect: \"/dashboard\",\n },\n {\n path: \"/_load\",\n name: \"load\",\n component: LoadComponent,\n },\n {\n path: \"/assets\",\n component: AssetManager,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/auth\",\n component: { template: \"\" },\n children: [{ path: \"login\", component: Login }, { path: \"logout\", component: Logout }],\n },\n {\n path: \"/invite/:code\",\n component: Invitation,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/dashboard\",\n component: Dashboard,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/game/:creator/:room\",\n component: Game,\n meta: {\n auth: true,\n },\n },\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n if (!coreStore.initialized && to.path !== \"/_load\") {\n next({ path: \"/_load\" });\n axios\n .get(\"/api/auth\")\n .then((response: AxiosResponse) => {\n if (response.data.auth) {\n coreStore.setAuthenticated(true);\n coreStore.setUsername(response.data.username);\n }\n coreStore.setInitialized(true);\n router.push(to.path);\n })\n .catch(() => {\n console.error(\"Authentication check could not be fulfilled.\");\n });\n } else if (to.matched.some(record => record.meta.auth) && !coreStore.authenticated) {\n next({ path: \"/auth/login\", query: { redirect: to.path } });\n } else {\n next();\n }\n});\n","\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class Tool extends Vue {\n name = \"\";\n selected = false;\n active = false;\n get detailRight(): string {\n const rect = (this.$parent.$refs[this.name + \"-selector\"])[0].getBoundingClientRect();\n const mid = rect.left + rect.width / 2;\n\n return `${window.innerWidth - Math.min(window.innerWidth - 25, mid + 75)}px`;\n }\n get detailArrow(): string {\n const rect = (this.$parent.$refs[this.name + \"-selector\"])[0].getBoundingClientRect();\n const mid = rect.left + rect.width / 2;\n const right = Math.min(window.innerWidth - 25, mid + 75);\n return `${right - mid - 14}px`; // border width\n }\n created() {\n this.$parent.$on(\"mousedown\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onMouseDown(event);\n });\n this.$parent.$on(\"mouseup\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onMouseUp(event);\n });\n this.$parent.$on(\"mousemove\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onMouseMove(event);\n });\n this.$parent.$on(\"contextmenu\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onContextMenu(event);\n });\n this.$parent.$on(\"tools-select-change\", (newValue: string, oldValue: string) => {\n if (oldValue === this.name) {\n this.selected = false;\n this.onDeselect();\n } else if (newValue === this.name) {\n this.selected = true;\n this.onSelect();\n }\n });\n }\n onSelect() {}\n onDeselect() {}\n onMouseDown(event: MouseEvent) {}\n onMouseUp(event: MouseEvent) {}\n onMouseMove(event: MouseEvent) {}\n onContextMenu(event: MouseEvent) {}\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.selected)?_c('div',{staticClass:\"tool-detail\",style:({'--detailRight': _vm.detailRight, '--detailArrow': _vm.detailArrow})},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.IS_DM),expression:\"IS_DM\"}]},[_vm._v(\"Mode\")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.IS_DM),expression:\"IS_DM\"}],staticClass:\"selectgroup\"},_vm._l((_vm.modes),function(mode){return _c('div',{key:mode,staticClass:\"option\",class:{'option-selected': _vm.modeSelect === mode},on:{\"click\":function($event){_vm.modeSelect = mode}}},[_vm._v(_vm._s(mode))])})),_c('div',[_vm._v(\"Shape\")]),_c('div',{staticClass:\"selectgroup\"},_vm._l((_vm.shapes),function(shape){return _c('div',{key:shape,staticClass:\"option\",class:{'option-selected': _vm.shapeSelect === shape},on:{\"click\":function($event){_vm.shapeSelect = shape}}},[_c('i',{staticClass:\"fas\",class:'fa-' + shape})])})),_c('div',[_vm._v(\"Colours\")]),_c('div',{staticClass:\"selectgroup\"},[_c('color-picker',{staticClass:\"option\",attrs:{\"color\":_vm.fillColour},on:{\"update:color\":function($event){_vm.fillColour=$event}}}),_c('color-picker',{staticClass:\"option\",attrs:{\"color\":_vm.borderColour},on:{\"update:color\":function($event){_vm.borderColour=$event}}})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shapeSelect === 'paint-brush'),expression:\"shapeSelect === 'paint-brush'\"}]},[_vm._v(\"Brush size\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.brushSize),expression:\"brushSize\"},{name:\"show\",rawName:\"v-show\",value:(_vm.shapeSelect === 'paint-brush'),expression:\"shapeSelect === 'paint-brush'\"}],staticStyle:{\"max-width\":\"100px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.brushSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.brushSize=$event.target.value}}})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=template&id=7abc7fe9&scoped=true&\"","import { render, staticRenderFns } from \"./tools.vue?vue&type=template&id=1fee50f5&scoped=true&\"\nimport script from \"./tools.vue?vue&type=script&lang=ts&\"\nexport * from \"./tools.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./tools.vue?vue&type=style&index=0&id=1fee50f5&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fee50f5\",\n null\n \n)\n\ncomponent.options.__file = \"tools.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=script&lang=ts&\"","import { InitiativeData } from \"@/game/comm/types/general\";\nimport { ServerAsset } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { BaseRect } from \"@/game/shapes/baserect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2lx, g2ly, g2lz } from \"@/game/units\";\n\nexport class Asset extends BaseRect {\n type = \"assetrect\";\n img: HTMLImageElement;\n src: string = \"\";\n constructor(img: HTMLImageElement, topleft: GlobalPoint, w: number, h: number, uuid?: string) {\n super(topleft, w, h);\n if (uuid !== undefined) this.uuid = uuid;\n this.img = img;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n src: this.src,\n });\n }\n fromDict(data: ServerAsset) {\n super.fromDict(data);\n this.src = data.src;\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n try {\n ctx.drawImage(this.img, g2lx(this.refPoint.x), g2ly(this.refPoint.y), g2lz(this.w), g2lz(this.h));\n } catch (error) {\n console.warn(`Shape ${this.uuid} could not load the image ${this.src}`);\n }\n }\n getInitiativeRepr(): InitiativeData {\n return {\n uuid: this.uuid,\n visible: !gameStore.IS_DM,\n group: false,\n source: this.src,\n has_img: true,\n effects: [],\n index: Infinity,\n };\n }\n}\n","import {\n EdgeCirculator,\n FaceCirculator,\n LineFaceCirculator,\n LocateType,\n Point,\n Sign,\n TDS,\n Triangle,\n Vertex,\n} from \"./tds\";\nimport {\n ccw,\n collinearBetween,\n cw,\n edgeInfo,\n hasInexactNegativeOrientation,\n intersection,\n orientation,\n sideOfOrientedCircle,\n xyEqual,\n} from \"./triag\";\n\nexport type Edge = [Triangle, number];\n\nexport class CDT {\n tds: TDS;\n constructor() {\n this.tds = new TDS();\n (window).TDS = this.tds;\n }\n insertConstraint(a: Point, b: Point) {\n const va = this.insert(a);\n const vb = this.insert(b);\n if (va !== vb) this.insertConstraintV(va, vb);\n }\n\n insertConstraintV(va: Vertex, vb: Vertex) {\n const stack = [[va, vb]];\n while (stack.length > 0) {\n const v = stack.pop()!;\n const info = edgeInfo(v[0], v[1]);\n if (info.includes) {\n this.markConstraint(info.fr!, info.i!);\n if (info.vi! !== v[1]) {\n stack.push([info.vi!, v[1]]);\n }\n continue;\n }\n const intersectionInfo = this.findIntersectedFaces(v[0], v[1]);\n if (intersectionInfo.found) {\n if (intersectionInfo.vi !== v[0] && intersectionInfo.vi !== v[1]) {\n stack.push([v[0], intersectionInfo.vi]);\n stack.push([intersectionInfo.vi, v[1]]);\n } else {\n stack.push(v);\n }\n continue;\n }\n this.triangulateHole(intersectionInfo.intersectedFaces, intersectionInfo.listAB, intersectionInfo.listBA);\n if (intersectionInfo.vi !== v[1]) {\n stack.push([intersectionInfo.vi, v[1]]);\n }\n }\n }\n\n triangulateHole(intersectedFaces: Triangle[], listAB: Edge[], listBA: Edge[]) {\n const edges: Edge[] = [];\n this.triangulateHole2(intersectedFaces, listAB, listBA, edges);\n this.propagatingFlipE(edges);\n }\n\n triangulateHole2(intersectedFaces: Triangle[], listAB: Edge[], listBA: Edge[], edges: Edge[]) {\n if (listAB.length > 0) {\n this.triangulateHalfHole(listAB, edges);\n this.triangulateHalfHole(listBA, edges);\n const fl = listAB[0][0];\n const fr = listBA[0][0];\n fl.neighbours[2] = fr;\n fr.neighbours[2] = fl;\n fl.constraints[2] = true;\n fr.constraints[2] = true;\n\n while (intersectedFaces.length > 0) {\n this.tds.deleteTriangle(intersectedFaces.shift()!);\n }\n }\n }\n\n triangulateHalfHole(conflictBoundaries: Edge[], edges: Edge[]) {\n let iC = 0;\n let iN: number;\n let iT: number;\n const current = () => conflictBoundaries[iC];\n const next = () => conflictBoundaries[iN];\n const tempo = () => conflictBoundaries[iT];\n\n const va = current()[0].vertices[ccw(current()[1])]!;\n iN = iC;\n ++iN;\n\n let n: Triangle;\n let n1: Triangle;\n let n2: Triangle;\n let ind: number;\n let ind1: number;\n let ind2: number;\n do {\n n1 = current()[0];\n ind1 = current()[1];\n if (n1.neighbours[ind1] !== null) {\n n = n1.neighbours[ind1]!;\n ind = cw(n.indexV(n1.vertices[cw(ind1)]!));\n n1 = n.neighbours[ind]!;\n ind1 = this.tds.mirrorIndex(n, ind);\n }\n n2 = next()[0];\n ind2 = next()[1];\n if (n2.neighbours[ind2] !== null) {\n n = n2.neighbours[ind2]!;\n ind = cw(n.indexV(n2.vertices[cw(ind2)]!));\n n2 = n.neighbours[ind]!;\n ind2 = this.tds.mirrorIndex(n, ind);\n }\n const v0 = n1.vertices[ccw(ind1)]!;\n const v1 = n1.vertices[cw(ind1)]!;\n const v2 = n2.vertices[cw(ind2)]!;\n const orient = orientation(v0.point!, v1.point!, v2.point!);\n switch (orient) {\n case Sign.RIGHT_TURN: {\n const newlf = this.tds.createTriangle(v0, v2, v1, null, null, null);\n edges.push([newlf, 2]);\n newlf.neighbours[1] = n1;\n newlf.neighbours[0] = n2;\n n1.neighbours[ind1] = newlf;\n n2.neighbours[ind2] = newlf;\n if (n1.isConstrained(ind1)) newlf.constraints[1] = true;\n if (n2.isConstrained(ind2)) newlf.constraints[0] = true;\n v0.triangle = newlf;\n v1.triangle = newlf;\n v2.triangle = newlf;\n iT = iC + 1;\n conflictBoundaries.splice(iC, 0, [newlf, 2]);\n conflictBoundaries.splice(Math.max(iT, iN), 1);\n conflictBoundaries.splice(Math.min(iT, iN), 1);\n iN = iC;\n if (v0 !== va) --iC;\n else ++iN;\n break;\n }\n case Sign.LEFT_TURN:\n case Sign.COLLINEAR: {\n ++iC;\n ++iN;\n break;\n }\n }\n } while (iN < conflictBoundaries.length);\n }\n\n findIntersectedFaces(vaa: Vertex, vbb: Vertex) {\n const aa = vaa.point!;\n const bb = vbb.point!;\n const listAB: Edge[] = [];\n const listBA: Edge[] = [];\n const intersectedFaces: Triangle[] = [];\n const lfc = new LineFaceCirculator(vaa, this, bb);\n let ind = lfc.pos!.indexV(vaa);\n let vi: Vertex;\n if (lfc.pos!.isConstrained(ind)) {\n vi = this.intersect(lfc.pos!, ind, vaa, vbb);\n return { found: true, vi, listAB, listBA, intersectedFaces };\n }\n let lf = lfc.pos!.neighbours[ccw(ind)]!;\n let rf = lfc.pos!.neighbours[cw(ind)]!;\n listAB.push([lf, lf.indexT(lfc.pos!)]);\n listBA.unshift([rf, rf.indexT(lfc.pos!)]);\n intersectedFaces.unshift(lfc.pos!);\n let previousFace = lfc.pos!;\n lfc.next();\n ind = lfc.pos!.indexT(previousFace);\n let currentVertex = lfc.pos!.vertices[ind]!;\n let done = false;\n while (currentVertex !== vbb && !done) {\n let i1: number;\n let i2: number;\n const orient = orientation(aa, bb, currentVertex.point!);\n switch (orient) {\n case Sign.COLLINEAR: {\n done = true;\n break;\n }\n case Sign.LEFT_TURN:\n case Sign.RIGHT_TURN: {\n if (orient === Sign.LEFT_TURN) {\n i1 = ccw(ind);\n i2 = cw(ind);\n } else {\n i1 = cw(ind);\n i2 = ccw(ind);\n }\n if (lfc.pos!.isConstrained(i1)) {\n vi = this.intersect(lfc.pos!, i1, vaa, vbb);\n return { found: true, vi, listAB, listBA, intersectedFaces };\n } else {\n lf = lfc.pos!.neighbours[i2]!;\n intersectedFaces.unshift(lfc.pos!);\n if (orient === Sign.LEFT_TURN) listAB.push([lf, lf.indexT(lfc.pos!)]);\n else listBA.unshift([lf, lf.indexT(lfc.pos!)]);\n previousFace = lfc.pos!;\n lfc.next();\n ind = lfc.pos!.indexT(previousFace);\n currentVertex = lfc.pos!.vertices[ind]!;\n }\n break;\n }\n }\n }\n vi = currentVertex;\n intersectedFaces.unshift(lfc.pos!);\n lf = lfc.pos!.neighbours[cw(ind)]!;\n listAB.push([lf, lf.indexT(lfc.pos!)]);\n rf = lfc.pos!.neighbours[ccw(ind)]!;\n listBA.unshift([rf, rf.indexT(lfc.pos!)]);\n return { found: false, vi, listAB, listBA, intersectedFaces };\n }\n\n intersect(t: Triangle, i: number, vaa: Vertex, vbb: Vertex): Vertex {\n const vcc = t.vertices[cw(i)]!;\n const vdd = t.vertices[ccw(i)]!;\n const pa = vaa.point!;\n const pb = vbb.point!;\n const pc = vcc.point!;\n const pd = vdd.point!;\n const pi = intersection(pa, pb, pc, pd);\n let vi: Vertex;\n if (pi === null) throw new Error(\"what\");\n else {\n this.removeConstrainedEdge(t, i);\n vi = this.insert(pi, t);\n }\n\n if (vi !== vcc && vi !== vdd) {\n this.insertConstraintV(vcc, vi);\n this.insertConstraintV(vi, vdd);\n } else {\n this.insertConstraintV(vcc, vdd);\n }\n return vi;\n }\n\n removeConstrainedEdge(t: Triangle, i: number) {\n t.constraints[i] = false;\n if (this.tds.dimension === 2) t.neighbours[i]!.constraints[this.tds.mirrorIndex(t, i)] = false;\n }\n\n updateConstraintsOpposite(v: Vertex) {\n let t = v.triangle!;\n const start = t;\n let indf: number;\n do {\n indf = t.indexV(v);\n if (t.neighbours[indf]!.constraints[this.tds.mirrorIndex(t, indf)]) t.constraints[indf] = true;\n else t.constraints[indf] = false;\n t = t.neighbours[ccw(indf)]!;\n } while (t !== start);\n }\n\n markConstraint(t: Triangle, i: number) {\n if (this.tds.dimension === 1) t.constraints[2] = true;\n else {\n t.constraints[i] = true;\n t.neighbours[i]!.constraints[this.tds.mirrorIndex(t, i)] = true;\n }\n }\n\n insert(p: Point, start: Triangle | null = null) {\n const locateInfo = this.locate(p, this.iLocate(p, start));\n const va = this.insertb(p, locateInfo.loc, locateInfo.lt, locateInfo.li);\n this.flipAround(va);\n return va;\n }\n\n flipAround(v: Vertex) {\n if (this.tds.dimension <= 1) return;\n let t = v.triangle!;\n let i: number;\n let next: Triangle;\n const start = t;\n do {\n i = t.indexV(v);\n next = t.neighbours[ccw(i)]!;\n this.propagatingFlip(t, i);\n t = next;\n } while (next !== start);\n }\n\n propagatingFlip(t: Triangle, i: number, depth = 0) {\n if (!this.isFlipable(t, i)) return;\n const maxDepth = 100;\n if (depth === maxDepth) {\n throw new Error(\"maxde\");\n return;\n }\n const ni = t.neighbours[i]!;\n this.flip(t, i);\n this.propagatingFlip(t, i, depth + 1);\n i = ni.indexV(t.vertices[i]!);\n this.propagatingFlip(ni, i, depth + 1);\n }\n\n lessEdge(e1: Edge, e2: Edge) {\n const ind1 = e1[1];\n const ind2 = e2[1];\n /* return( (&(*e1.first) < &(*e2.first))\n || ( (&(*e1.first) == &(*e2.first)) && (ind1 < ind2)));*/\n // TODO: This is not proper.\n // console.error(\"This has to be done correctly\");\n return ind1 < ind2;\n }\n\n propagatingFlipE(edges: Edge[]) {\n let eI = 0;\n let t: Triangle;\n let i: number;\n let eni: Edge;\n const edgeSet: Edge[] = [];\n while (eI < edges.length) {\n t = edges[eI][0];\n i = edges[eI][1];\n if (this.isFlipable(t, i)) {\n eni = [t.neighbours[i]!, this.tds.mirrorIndex(t, i)];\n if (this.lessEdge(edges[eI], eni)) edgeSet.push(edges[eI]);\n else edgeSet.push(eni);\n }\n ++eI;\n }\n let indf: number;\n let ni: Triangle;\n let indn: number;\n let ei: Edge;\n const e: (Edge | null)[] = [null, null, null, null];\n while (edgeSet.length > 0) {\n t = edgeSet[0][0];\n indf = edgeSet[0][1];\n ni = t.neighbours[indf]!;\n indn = this.tds.mirrorIndex(t, indf);\n ei = [t, indf];\n edgeSet.splice(edgeSet.findIndex(ed => ed[0] === ei[0] && ed[1] === ei[1]), 1);\n e[0] = [t, cw(indf)];\n e[1] = [t, ccw(indf)];\n e[2] = [ni, cw(indn)];\n e[3] = [ni, ccw(indn)];\n\n for (const edge of e) {\n const tt = edge![0];\n const ii = edge![1];\n if (this.isFlipable(tt, ii)) {\n eni = [tt.neighbours[ii]!, this.tds.mirrorIndex(tt, ii)];\n if (this.lessEdge(edge!, eni)) edgeSet.push(edge!);\n else edgeSet.push(eni);\n }\n }\n }\n }\n\n flip(t: Triangle, i: number) {\n const u = t.neighbours[i]!;\n const j = this.tds.mirrorIndex(t, i);\n const t1 = t.neighbours[cw(i)]!;\n const i1 = this.tds.mirrorIndex(t, cw(i));\n const t2 = t.neighbours[ccw(i)]!;\n const i2 = this.tds.mirrorIndex(t, ccw(i));\n const t3 = u.neighbours[cw(j)]!;\n const i3 = this.tds.mirrorIndex(u, cw(j));\n const t4 = u.neighbours[ccw(j)]!;\n const i4 = this.tds.mirrorIndex(u, ccw(j));\n this.tds.flip(t, i);\n t.constraints[t.indexT(u)] = false;\n u.constraints[u.indexT(t)] = false;\n t1.neighbours[i1]!.constraints[this.tds.mirrorIndex(t1, i1)] = t1.constraints[i1];\n t2.neighbours[i2]!.constraints[this.tds.mirrorIndex(t2, i2)] = t2.constraints[i2];\n t3.neighbours[i3]!.constraints[this.tds.mirrorIndex(t3, i3)] = t3.constraints[i3];\n t4.neighbours[i4]!.constraints[this.tds.mirrorIndex(t4, i4)] = t4.constraints[i4];\n }\n\n isFlipable(t: Triangle, i: number, perturb = true) {\n const ni = t.neighbours[i]!;\n if (t.isInfinite() || ni.isInfinite()) return false;\n if (t.constraints[i]) return false;\n return sideOfOrientedCircle(ni, t.vertices[i]!.point!, perturb) === Sign.ON_POSITIVE_SIDE;\n }\n\n insertb(a: Point, loc: Triangle | null, lt: LocateType, li: number): Vertex {\n let insertInConstrainedEdge = false;\n let v1: Vertex;\n let v2: Vertex;\n if (lt === LocateType.EDGE && loc!.isConstrained(li)) {\n insertInConstrainedEdge = true;\n v1 = loc!.vertices[ccw(li)]!;\n v2 = loc!.vertices[cw(li)]!;\n }\n const va = this.insertc(a, loc, lt, li);\n if (insertInConstrainedEdge) this.updateConstraintsIncident(va, v1!, v2!);\n else if (lt !== LocateType.VERTEX) this.clearConstraintsIncident(va);\n if (this.tds.dimension === 2) this.updateConstraintsOpposite(va);\n return va;\n }\n\n updateConstraintsIncident(va: Vertex, c1: Vertex, c2: Vertex) {\n if (this.tds.dimension === 0) return;\n if (this.tds.dimension === 1) {\n const ec = new EdgeCirculator(va, null);\n do {\n ec.t!.constraints[2] = true;\n } while (ec.next());\n } else {\n const fc = new FaceCirculator(va, null);\n do {\n const indf = fc.t!.indexV(va);\n const cwi = cw(indf);\n const ccwi = ccw(indf);\n if (fc.t!.vertices[cwi] === c1 || fc.t!.vertices[cwi] === c2) {\n fc.t!.constraints[ccwi] = true;\n fc.t!.constraints[cwi] = false;\n } else {\n fc.t!.constraints[ccwi] = false;\n fc.t!.constraints[cwi] = true;\n }\n } while (fc.next());\n }\n }\n\n clearConstraintsIncident(v: Vertex) {\n const ec = new EdgeCirculator(v, null);\n if (ec.valid) {\n do {\n const t = ec.t!;\n const indf = ec.ri;\n t.constraints[indf] = false;\n if (this.tds.dimension === 2) t.neighbours[indf]!.constraints[this.tds.mirrorIndex(t, indf)] = false;\n } while (ec.next());\n }\n }\n\n insertc(p: Point, loc: Triangle | null, lt: LocateType, li: number): Vertex {\n if (this.tds.vertices.length === 1) {\n return this.insertFirst(p);\n } else if (this.tds.vertices.length === 2) {\n if (lt === LocateType.VERTEX) return this.tds.finiteVertex;\n else return this.insertSecond(p);\n }\n switch (lt) {\n case LocateType.VERTEX: {\n return loc!.vertices[li]!;\n }\n case LocateType.OUTSIDE_AFFINE_HULL: {\n return this.insertOutsideAffineHull(p);\n }\n case LocateType.OUTSIDE_CONVEX_HULL: {\n return this.insertOutsideConvexHull(p, loc!);\n }\n case LocateType.EDGE: {\n return this.insertInEdge(p, loc!, li);\n }\n case LocateType.FACE: {\n return this.insertInFace(p, loc!);\n }\n }\n throw new Error(\"qwe\");\n return new Vertex();\n }\n\n insertInEdge(p: Point, loc: Triangle, li: number): Vertex {\n const v = this.tds.insertInEdge(loc, li);\n v.point = p;\n return v;\n }\n\n insertInFace(p: Point, loc: Triangle): Vertex {\n const v = this.tds.insertInFace(loc);\n v.point = p;\n return v;\n }\n\n insertFirst(p: Point): Vertex {\n const v = this.tds.insertDimUp();\n v.point = p;\n return v;\n }\n\n insertSecond(p: Point): Vertex {\n const v = this.tds.insertDimUp(this.tds._infinite, true);\n v.point = p;\n return v;\n }\n\n insertOutsideAffineHull(p: Point): Vertex {\n let conform = false;\n if (this.tds.dimension === 1) {\n const t = this.tds.finiteEdge.first!;\n const orient = orientation(t.vertices[0]!.point!, t.vertices[1]!.point!, p);\n conform = orient === Sign.COUNTERCLOCKWISE;\n }\n const v = this.tds.insertDimUp(this.tds._infinite, conform);\n v.point = p;\n return v;\n }\n\n insertOutsideConvexHull(p: Point, t: Triangle): Vertex {\n let v: Vertex;\n if (this.tds.dimension === 1) {\n throw new Error(\"sdfasdasd\");\n } else {\n v = this.insertOutsideConvexHull2(p, t);\n }\n v.point = p;\n return v;\n }\n\n insertOutsideConvexHull2(p: Point, t: Triangle): Vertex {\n let li = t.indexV(this.tds._infinite);\n const ccwlist: Triangle[] = [];\n const cwlist: Triangle[] = [];\n let fc = new FaceCirculator(this.tds._infinite, t);\n let done = false;\n while (!done) {\n fc.prev();\n li = fc.t!.indexV(this.tds._infinite);\n const q = fc.t!.vertices[ccw(li)]!.point!;\n const r = fc.t!.vertices[cw(li)]!.point!;\n if (orientation(p, q, r) === Sign.LEFT_TURN) ccwlist.push(fc.t!);\n else done = true;\n }\n fc = new FaceCirculator(this.tds._infinite, t);\n done = false;\n while (!done) {\n fc.next();\n li = fc.t!.indexV(this.tds._infinite);\n const q = fc.t!.vertices[ccw(li)]!.point!;\n const r = fc.t!.vertices[cw(li)]!.point!;\n if (orientation(p, q, r) === Sign.LEFT_TURN) cwlist.push(fc.t!);\n else done = true;\n }\n const v = this.tds.insertInFace(t);\n v.point = p;\n let th;\n while (ccwlist.length > 0) {\n th = ccwlist[0];\n li = ccw(th.indexV(this.tds._infinite));\n this.tds.flip(th, li);\n ccwlist.shift();\n }\n while (cwlist.length > 0) {\n th = cwlist[0];\n li = cw(th.indexV(this.tds._infinite));\n this.tds.flip(th, li);\n cwlist.shift();\n }\n fc = new FaceCirculator(v, null);\n while (!fc.t!.isInfinite()) fc.next();\n this.tds._infinite.triangle = fc.t!;\n return v;\n }\n\n locate(p: Point, start: Triangle | null) {\n let lt = 0;\n let li = 0;\n if (this.tds.dimension < 0) {\n lt = LocateType.OUTSIDE_AFFINE_HULL;\n li = 4;\n return { loc: null, lt, li };\n } else if (this.tds.dimension === 0) {\n if (xyEqual(p, this.tds.finiteVertex.triangle!.vertices[0]!.point!)) {\n lt = LocateType.VERTEX;\n } else {\n lt = LocateType.OUTSIDE_AFFINE_HULL;\n }\n li = 4;\n return { loc: null, lt, li };\n } else if (this.tds.dimension === 1) {\n return this.marchLocate1D(p);\n }\n if (start === null) {\n const t = this.tds._infinite.triangle!;\n start = t.neighbours[t.indexV(this.tds._infinite)]!;\n } else if (start.isInfinite()) {\n start = start.neighbours[start.indexV(this.tds._infinite)]!;\n }\n return this.marchLocate2D(start, p);\n }\n\n marchLocate1D(p: Point) {\n const ff = this.tds._infinite.triangle!;\n const iv = ff.indexV(this.tds._infinite);\n const t = ff.neighbours[iv]!;\n const pqt = orientation(t.vertices[0]!.point!, t.vertices[1]!.point!, p);\n if (pqt === Sign.RIGHT_TURN || pqt === Sign.LEFT_TURN) {\n return { loc: new Triangle(), lt: LocateType.OUTSIDE_AFFINE_HULL, li: 4 };\n }\n const i = t.indexT(ff);\n if (collinearBetween(p, t.vertices[1 - i]!.point!, t.vertices[i]!.point!))\n return { loc: ff, lt: LocateType.OUTSIDE_CONVEX_HULL, li: iv };\n\n if (xyEqual(p, t.vertices[1 - i]!.point!)) return { loc: t, lt: LocateType.VERTEX, li: 1 - i };\n throw new Error(\"sdfsdf\");\n }\n\n marchLocate2D(c: Triangle, p: Point) {\n let prev = null;\n let first = true;\n let lt: LocateType | undefined;\n let li: number | undefined;\n while (true) {\n if (c.isInfinite()) {\n return { loc: c, lt: LocateType.OUTSIDE_CONVEX_HULL, li: c.indexV(this.tds._infinite) };\n }\n const leftFirst = Math.round(Math.random());\n const p0 = c.vertices[0]!.point!;\n const p1 = c.vertices[1]!.point!;\n const p2 = c.vertices[2]!.point!;\n let o0: Sign;\n let o1: Sign;\n let o2: Sign;\n if (first) {\n prev = c;\n first = false;\n o0 = orientation(p0, p1, p);\n if (o0 === Sign.NEGATIVE) {\n c = c.neighbours[2]!;\n continue;\n }\n o1 = orientation(p1, p2, p);\n if (o1 === Sign.NEGATIVE) {\n c = c.neighbours[0]!;\n continue;\n }\n o2 = orientation(p2, p0, p);\n if (o2 === Sign.NEGATIVE) {\n c = c.neighbours[1]!;\n continue;\n }\n } else if (leftFirst) {\n if (c.neighbours[0]! === prev) {\n prev = c;\n o0 = orientation(p0, p1, p);\n if (o0 === Sign.NEGATIVE) {\n c = c.neighbours[2]!;\n continue;\n }\n o2 = orientation(p2, p0, p);\n if (o2 === Sign.NEGATIVE) {\n c = c.neighbours[1]!;\n continue;\n }\n o1 = Sign.POSITIVE;\n } else if (c.neighbours[1]! === prev) {\n prev = c;\n o1 = orientation(p1, p2, p);\n if (o1 === Sign.NEGATIVE) {\n c = c.neighbours[0]!;\n continue;\n }\n o0 = orientation(p0, p1, p);\n if (o0 === Sign.NEGATIVE) {\n c = c.neighbours[2]!;\n continue;\n }\n o2 = Sign.POSITIVE;\n } else {\n prev = c;\n o2 = orientation(p2, p0, p);\n if (o2 === Sign.NEGATIVE) {\n c = c.neighbours[1]!;\n continue;\n }\n o1 = orientation(p1, p2, p);\n if (o1 === Sign.NEGATIVE) {\n c = c.neighbours[0]!;\n continue;\n }\n o0 = Sign.POSITIVE;\n }\n } else {\n if (c.neighbours[0] === prev) {\n prev = c;\n o2 = orientation(p2, p0, p);\n if (o2 === Sign.NEGATIVE) {\n c = c.neighbours[1]!;\n continue;\n }\n o0 = orientation(p0, p1, p);\n if (o0 === Sign.NEGATIVE) {\n c = c.neighbours[2]!;\n continue;\n }\n o1 = Sign.POSITIVE;\n } else if (c.neighbours[1] === prev) {\n prev = c;\n o0 = orientation(p0, p1, p);\n if (o0 === Sign.NEGATIVE) {\n c = c.neighbours[2]!;\n continue;\n }\n o1 = orientation(p1, p2, p);\n if (o1 === Sign.NEGATIVE) {\n c = c.neighbours[0]!;\n continue;\n }\n o2 = Sign.POSITIVE;\n } else {\n prev = c;\n o1 = orientation(p1, p2, p);\n if (o1 === Sign.NEGATIVE) {\n c = c.neighbours[0]!;\n continue;\n }\n o2 = orientation(p2, p0, p);\n if (o2 === Sign.NEGATIVE) {\n c = c.neighbours[1]!;\n continue;\n }\n o0 = Sign.POSITIVE;\n }\n }\n const sum =\n (o0 === Sign.COLLINEAR ? 1 : 0) + (o1 === Sign.COLLINEAR ? 1 : 0) + (o2 === Sign.COLLINEAR ? 1 : 0);\n switch (sum) {\n case 0: {\n lt = LocateType.FACE;\n li = 4;\n break;\n }\n case 1: {\n lt = LocateType.EDGE;\n li = o0 === Sign.COLLINEAR ? 2 : o1 === Sign.COLLINEAR ? 0 : 1;\n break;\n }\n case 2: {\n lt = LocateType.VERTEX;\n li = o0 !== Sign.COLLINEAR ? 2 : o1 !== Sign.COLLINEAR ? 0 : 1;\n break;\n }\n }\n if (lt === undefined || li === undefined) throw new Error(\"ert\");\n return { loc: c, lt, li };\n }\n }\n\n iLocate(p: Point, start: Triangle | null) {\n if (this.tds.dimension < 2) return start;\n if (start === null) {\n const t = this.tds._infinite.triangle!;\n start = t.neighbours[t.indexV(this.tds._infinite)];\n } else if (start.isInfinite()) {\n start = start.neighbours[start.indexV(this.tds._infinite)];\n }\n let prev = null;\n let c = start!;\n let first = true;\n let nTurns = 2500;\n while (true) {\n if (!nTurns--) return c;\n if (c.isInfinite()) return c;\n const p0 = c.vertices[0]!.point!;\n const p1 = c.vertices[1]!.point!;\n const p2 = c.vertices[2]!.point!;\n if (first) {\n prev = c;\n first = false;\n if (hasInexactNegativeOrientation(p0, p1, p)) {\n c = c.neighbours[2]!;\n continue;\n }\n if (hasInexactNegativeOrientation(p1, p2, p)) {\n c = c.neighbours[0]!;\n continue;\n }\n if (hasInexactNegativeOrientation(p2, p0, p)) {\n c = c.neighbours[1]!;\n continue;\n }\n } else {\n if (c.neighbours[0] === prev) {\n prev = c;\n if (hasInexactNegativeOrientation(p0, p1, p)) {\n c = c.neighbours[2]!;\n continue;\n }\n if (hasInexactNegativeOrientation(p2, p0, p)) {\n c = c.neighbours[1]!;\n continue;\n }\n } else if (c.neighbours[1] === prev) {\n prev = c;\n if (hasInexactNegativeOrientation(p0, p1, p)) {\n c = c.neighbours[2]!;\n continue;\n }\n if (hasInexactNegativeOrientation(p1, p2, p)) {\n c = c.neighbours[0]!;\n continue;\n }\n } else {\n prev = c;\n if (hasInexactNegativeOrientation(p2, p0, p)) {\n c = c.neighbours[1]!;\n continue;\n }\n if (hasInexactNegativeOrientation(p1, p2, p)) {\n c = c.neighbours[0]!;\n continue;\n }\n }\n }\n break;\n }\n return c;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"menuContainer\"}},[_c('div',{ref:\"rm\",style:({\n left: _vm.visible.settings ? '200px' : '0',\n top: _vm.visible.locations ? '100px' : '0'\n }),attrs:{\"id\":\"radialmenu\"}},[_c('div',{staticClass:\"rm-wrapper\"},[_c('div',{staticClass:\"rm-toggler\"},[_c('ul',{staticClass:\"rm-list\",class:{ 'rm-list-dm': _vm.IS_DM }},[(_vm.IS_DM)?_c('li',{staticClass:\"rm-item\",attrs:{\"id\":\"rm-locations\"},on:{\"click\":function($event){_vm.visible.locations = !_vm.visible.locations}}},[_vm._m(0)]):_vm._e(),_c('li',{staticClass:\"rm-item\",attrs:{\"id\":\"rm-settings\"},on:{\"click\":function($event){_vm.visible.settings = !_vm.visible.settings}}},[_vm._m(1)])])]),_vm._m(2)])]),_c('transition',{attrs:{\"name\":\"settings\"},on:{\"enter\":function($event){_vm.$refs.rm.style.transition = 'left 500ms'}}},[(_vm.visible.settings)?_c('div',{ref:\"settings\",attrs:{\"id\":\"menu\"},on:{\"click\":_vm.settingsClick}},[_c('div',{staticStyle:{\"width\":\"200px\",\"height\":\"90%\",\"overflow-y\":\"auto\",\"overflow-x\":\"hidden\"}},[(_vm.IS_DM)?[_c('button',{staticClass:\"accordion\"},[_vm._v(\"Assets\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('a',{staticClass:\"actionButton\",attrs:{\"href\":\"/assets\",\"target\":\"blank\",\"title\":\"Open asset manager\"}},[_c('i',{staticClass:\"fas fa-external-link-alt\"})]),_c('div',{staticClass:\"directory\",attrs:{\"id\":\"menu-tokens\"}},[_c('asset-node',{attrs:{\"asset\":_vm.assets}}),(!_vm.assets)?_c('div',[_vm._v(\"No assets\")]):_vm._e()],1)]),_c('button',{staticClass:\"accordion\"},[_vm._v(\"Notes\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('div',{staticClass:\"accordion-subpanel\",attrs:{\"id\":\"menu-notes\"}},[_c('a',{staticClass:\"actionButton\",on:{\"click\":_vm.createNote}},[_c('i',{staticClass:\"far fa-plus-square\"})]),_vm._l((_vm.notes),function(note){return _c('div',{key:note.uuid,staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){_vm.openNote(note)}}},[_vm._v(_vm._s(note.title || \"[?]\"))])}),(!_vm.notes.length)?_c('div',[_vm._v(\"No notes\")]):_vm._e()],2)]),_c('button',{staticClass:\"accordion\"},[_vm._v(\"DM Options\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('div',{staticClass:\"accordion-subpanel\"},[_c('label',{attrs:{\"for\":\"useGridInput\"}},[_vm._v(\"Use grid:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.useGrid),expression:\"useGrid\"}],attrs:{\"id\":\"useGridInput\",\"type\":\"checkbox\",\"checked\":\"checked\"},domProps:{\"checked\":Array.isArray(_vm.useGrid)?_vm._i(_vm.useGrid,null)>-1:(_vm.useGrid)},on:{\"change\":function($event){var $$a=_vm.useGrid,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.useGrid=$$a.concat([$$v]))}else{$$i>-1&&(_vm.useGrid=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.useGrid=$$c}}}}),_c('label',{attrs:{\"for\":\"useFOWInput\"}},[_vm._v(\"Fill entire canvas with FOW:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.fullFOW),expression:\"fullFOW\"}],attrs:{\"id\":\"useFOWInput\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.fullFOW)?_vm._i(_vm.fullFOW,null)>-1:(_vm.fullFOW)},on:{\"change\":function($event){var $$a=_vm.fullFOW,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.fullFOW=$$a.concat([$$v]))}else{$$i>-1&&(_vm.fullFOW=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.fullFOW=$$c}}}}),_c('label',{attrs:{\"for\":\"fowOpacity\"}},[_vm._v(\"FOW opacity:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.fowOpacity),expression:\"fowOpacity\",modifiers:{\"number\":true}}],attrs:{\"id\":\"fowOpacity\",\"type\":\"number\",\"min\":\"0\",\"max\":\"1\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.fowOpacity)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.fowOpacity=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('label',{attrs:{\"for\":\"fowLOS\"}},[_vm._v(\"Only show lights in LoS:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.fowLOS),expression:\"fowLOS\"}],attrs:{\"id\":\"fowLOS\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.fowLOS)?_vm._i(_vm.fowLOS,null)>-1:(_vm.fowLOS)},on:{\"change\":function($event){var $$a=_vm.fowLOS,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.fowLOS=$$a.concat([$$v]))}else{$$i>-1&&(_vm.fowLOS=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.fowLOS=$$c}}}}),_c('label',{attrs:{\"for\":\"unitSizeInput\"}},[_vm._v(\"Unit Size (in ft.):\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.unitSize),expression:\"unitSize\",modifiers:{\"number\":true}}],attrs:{\"id\":\"unitSizeInput\",\"type\":\"number\"},domProps:{\"value\":(_vm.unitSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.unitSize=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('label',{attrs:{\"for\":\"gridSizeInput\"}},[_vm._v(\"Grid Size (in pixels):\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.gridSize),expression:\"gridSize\",modifiers:{\"number\":true}}],attrs:{\"id\":\"gridSizeInput\",\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.gridSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.gridSize=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('label',{attrs:{\"for\":\"invitation\"}},[_vm._v(\"Invitation Code:\")]),_c('input',{attrs:{\"id\":\"invitation\",\"type\":\"text\",\"readonly\":\"readonly\"},domProps:{\"value\":_vm.invitationCode}})])])]:_vm._e(),_c('button',{staticClass:\"accordion\"},[_vm._v(\"Client Options\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('div',{staticClass:\"accordion-subpanel\"},[_c('label',{attrs:{\"for\":\"gridColour\"}},[_vm._v(\"Grid Colour:\")]),_c('color-picker',{attrs:{\"id\":\"gridColour\",\"color\":_vm.gridColour},on:{\"update:color\":function($event){_vm.gridColour=$event}}}),_c('label',{attrs:{\"for\":\"fowColour\"}},[_vm._v(\"FOW Colour:\")]),_c('color-picker',{attrs:{\"id\":\"fowColour\",\"color\":_vm.fowColour},on:{\"update:color\":function($event){_vm.fowColour=$event}}}),_c('label',{attrs:{\"for\":\"rulerColour\"}},[_vm._v(\"Ruler Colour:\")]),_c('color-picker',{attrs:{\"id\":\"rulerColour\",\"color\":_vm.rulerColour},on:{\"update:color\":function($event){_vm.rulerColour=$event}}}),_c('label',{attrs:{\"for\":\"visionMode\"}},[_vm._v(\"Vision Mode:\")]),_c('select',{attrs:{\"id\":\"visionMode\"},on:{\"change\":_vm.changeVisionMode}},[_c('option',[_vm._v(\"BVH\")]),_c('option',[_vm._v(\"Triangle\")])])],1)])],2),_c('router-link',{staticClass:\"accordion\",staticStyle:{\"text-decoration\":\"none\",\"display\":\"inline-block\",\"position\":\"absolute\",\"bottom\":\"0\"},attrs:{\"to\":\"/dashboard\"}},[_vm._v(\"Exit\")])],1):_vm._e()]),_c('transition',{attrs:{\"name\":\"locations\"},on:{\"enter\":function($event){_vm.$refs.rm.style.transition = 'top 500ms'}}},[(_vm.IS_DM && _vm.visible.locations)?_c('div',{attrs:{\"id\":\"locations-menu\"}},[_c('div',[_vm._l((_vm.locations),function(location){return _c('div',{key:location,on:{\"click\":function($event){_vm.changeLocation(location)}}},[_vm._v(_vm._s(location))])}),_c('div',{on:{\"click\":_vm.createLocation}},[_c('i',{staticClass:\"fas fa-plus\"})])],2)]):_vm._e()]),_c('img',{attrs:{\"id\":\"dragImage\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"#\"}},[_c('i',{staticClass:\"far fa-compass\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"#\"}},[_c('i',{staticClass:\"fas fa-cog\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"rm-topper\"},[_c('i',{staticClass:\"icon-share-alt\"})])}]\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=template&id=21f210ea&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=script&lang=ts&\"","import { GlobalPoint } from \"@/game/geom\";\nimport { GridLayer } from \"@/game/layers/grid\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { Asset } from \"@/game/shapes/asset\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { l2gx, l2gy, l2gz } from \"@/game/units\";\n\nclass LayerManager {\n layers: Layer[] = [];\n width = window.innerWidth;\n height = window.innerHeight;\n\n UUIDMap: Map = new Map();\n\n // Refresh interval and redraw setter.\n interval = 30;\n\n constructor() {\n requestAnimationFrame(this.drawLoop);\n }\n\n reset() {\n this.layers = [];\n this.UUIDMap = new Map();\n }\n\n drawLoop = () => {\n for (let i = this.layers.length - 1; i >= 0; i--) {\n this.layers[i].draw();\n }\n requestAnimationFrame(this.drawLoop);\n };\n\n setWidth(width: number): void {\n this.width = width;\n for (const layer of this.layers) {\n layer.canvas.width = width;\n layer.width = width;\n }\n }\n\n setHeight(height: number): void {\n this.height = height;\n for (const layer of this.layers) {\n layer.canvas.height = height;\n layer.height = height;\n }\n }\n\n addLayer(layer: Layer): void {\n this.layers.push(layer);\n if (!gameStore.IS_DM && !layer.playerEditable) return;\n if (layer.selectable) gameStore.addLayer(layer.name);\n }\n\n hasLayer(name: string): boolean {\n return this.layers.some(l => l.name === name);\n }\n\n getLayer(name?: string) {\n name = name === undefined ? gameStore.selectedLayer : name;\n for (const layer of this.layers) {\n if (layer.name === name) return layer;\n }\n }\n\n selectLayer(name: string, sync: boolean = true): void {\n let found = false;\n for (const layer of this.layers) {\n if (!layer.selectable) continue;\n if (found && layer.name !== \"fow\") layer.ctx.globalAlpha = 0.3;\n else layer.ctx.globalAlpha = 1.0;\n\n if (name === layer.name) {\n gameStore.selectLayer({ name, sync });\n found = true;\n }\n\n layer.clearSelection();\n layer.invalidate(true);\n }\n }\n\n getGridLayer(): GridLayer | undefined {\n return this.getLayer(\"grid\");\n }\n\n hasSelection() {\n const selection = this.getSelection();\n return selection !== undefined && selection.length > 0;\n }\n\n // THIS INCLUDES POTENTIALLY THE SelectTool.SelectionHelper !!!\n getSelection() {\n const layer = this.getLayer();\n if (layer === undefined) return undefined;\n return layer.selection;\n }\n\n invalidate(): void {\n for (let i = this.layers.length - 1; i >= 0; i--) {\n this.layers[i].invalidate(true);\n }\n }\n\n invalidateLight() {\n for (let i = this.layers.length - 1; i >= 0; i--)\n if (this.layers[i].isVisionLayer) this.layers[i].invalidate(true);\n }\n\n dropAsset(event: DragEvent) {\n const layer = this.getLayer();\n if (layer === undefined || event === null || event.dataTransfer === null) return;\n const image = document.createElement(\"img\");\n image.src = event.dataTransfer.getData(\"text/plain\");\n const asset = new Asset(\n image,\n new GlobalPoint(l2gx(event.clientX), l2gy(event.clientY)),\n l2gz(image.width),\n l2gz(image.height),\n );\n asset.src = new URL(image.src).pathname;\n\n if (gameStore.useGrid) {\n const gs = gameStore.gridSize;\n asset.refPoint.x = Math.round(asset.refPoint.x / gs) * gs;\n asset.refPoint.y = Math.round(asset.refPoint.y / gs) * gs;\n asset.w = Math.max(Math.round(asset.w / gs) * gs, gs);\n asset.h = Math.max(Math.round(asset.h / gs) * gs, gs);\n }\n\n layer.addShape(asset, true);\n }\n}\n\nexport const layerManager = new LayerManager();\n(window).lm = layerManager;\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./createtoken_modal.vue?vue&type=template&id=66ccc134&scoped=true&\"\nimport script from \"./createtoken_modal.vue?vue&type=script&lang=ts&\"\nexport * from \"./createtoken_modal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./createtoken_modal.vue?vue&type=style&index=0&id=66ccc134&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"66ccc134\",\n null\n \n)\n\ncomponent.options.__file = \"createtoken_modal.vue\"\nexport default component.exports","import { BoundingRect } from \"@/game/shapes/boundingrect\";\n\nexport class BoundingNode {\n bbox: BoundingRect;\n nPrimitives: number;\n children: BoundingNode[] = [];\n constructor(nPrimitives: number, bbox: BoundingRect) {\n this.nPrimitives = nPrimitives;\n this.bbox = bbox;\n }\n}\n\nexport class LeafNode extends BoundingNode {\n firstPrimOffset: number;\n constructor(first: number, n: number, bbox: BoundingRect) {\n super(n, bbox);\n this.firstPrimOffset = first;\n }\n}\n\nexport class InteriorNode extends BoundingNode {\n dimension: number;\n constructor(dimension: number, c1: BoundingNode, c2: BoundingNode) {\n super(0, c1.bbox.union(c2.bbox));\n this.dimension = dimension;\n this.children.push(c1);\n this.children.push(c2);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=script&lang=ts&\"","import Tools from \"../ui/tools/tools.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { Vector } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\n\nexport function onKeyUp(event: KeyboardEvent) {\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement) {\n } else {\n if (event.key === \"Delete\" || event.key === \"Del\" || event.key === \"Backspace\") {\n if (layerManager.getLayer === undefined) {\n console.log(\"No active layer selected for delete operation\");\n return;\n }\n const l = layerManager.getLayer()!;\n for (let i = l.selection.length - 1; i >= 0; i--) {\n const sel = l.selection[i];\n if ((getRef(\"tools\").$refs.selectTool).selectionHelper.uuid === sel.uuid) {\n l.selection.splice(i, 1);\n continue;\n }\n l.removeShape(sel, true, false);\n EventBus.$emit(\"SelectionInfo.Shape.Set\", null);\n EventBus.$emit(\"Initiative.Remove\", sel.uuid);\n }\n }\n }\n}\n\nexport function onKeyDown(event: KeyboardEvent) {\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement) {\n if (event.keyCode === 65 && event.ctrlKey) event.target!.select();\n } else {\n if (event.keyCode >= 37 && event.keyCode <= 40) {\n // todo: this should already be rounded\n const gridSize = Math.round(gameStore.gridSize);\n let offsetX = gridSize * (event.keyCode % 2);\n let offsetY = gridSize * (event.keyCode % 2 ? 0 : 1);\n if (layerManager.hasSelection()) {\n const selection = layerManager.getSelection()!;\n offsetX *= event.keyCode <= 38 ? -1 : 1;\n offsetY *= event.keyCode <= 38 ? -1 : 1;\n let delta = new Vector(offsetX, offsetY);\n if (!event.shiftKey || !gameStore.IS_DM) {\n // First check for collisions. Using the smooth wall slide collision check used on mouse move is overkill here.\n for (const sel of selection) delta = calculateDelta(delta, sel);\n }\n for (const sel of selection) {\n sel.refPoint.x += delta.x;\n sel.refPoint.y += delta.y;\n if (sel.refPoint.x % gridSize !== 0 || sel.refPoint.y % gridSize !== 0) sel.snapToGrid();\n socket.emit(\"Shape.Position.Update\", { shape: sel.asDict(), redraw: true, temporary: false });\n }\n layerManager.getLayer()!.invalidate(false);\n } else {\n // The pan offsets should be in the opposite direction to give the correct feel.\n gameStore.increasePanX(offsetX * (event.keyCode <= 38 ? 1 : -1));\n gameStore.increasePanY(offsetY * (event.keyCode <= 38 ? 1 : -1));\n layerManager.invalidate();\n sendClientOptions();\n }\n } else if (event.keyCode === 68) {\n const layer = layerManager.getLayer();\n if (layer) {\n layer.clearSelection();\n layer.invalidate(true);\n }\n }\n }\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=style&index=0&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\n\nimport ShapeContext from \"@/game/ui/selection/shapecontext.vue\";\nimport CreateTokenModal from \"@/game/ui/tools/createtoken_modal.vue\";\nimport DrawTool from \"@/game/ui/tools/draw.vue\";\nimport MapTool from \"@/game/ui/tools/map.vue\";\nimport PanTool from \"@/game/ui/tools/pan\";\nimport SelectTool from \"@/game/ui/tools/select.vue\";\n\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameManager } from \"@/game/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { RulerTool } from \"@/game/ui/tools/ruler\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\n@Component({\n components: {\n \"select-tool\": SelectTool,\n \"pan-tool\": PanTool,\n \"draw-tool\": DrawTool,\n \"ruler-tool\": RulerTool,\n \"map-tool\": MapTool,\n \"shape-menu\": ShapeContext,\n \"createtoken-dialog\": CreateTokenModal,\n },\n watch: {\n currentTool(newValue, oldValue) {\n this.$emit(\"tools-select-change\", newValue, oldValue);\n },\n },\n})\nexport default class Tools extends Vue {\n $refs!: {\n selectTool: InstanceType;\n };\n\n currentTool = \"Select\";\n tools = [\"Select\", \"Pan\", \"Draw\", \"Ruler\", \"Map\"];\n dmTools = [\"Map\"];\n\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n\n get currentToolComponent(): string {\n return `${this.currentTool.toLowerCase()}-tool`;\n }\n\n mousedown(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n\n let targetTool = this.currentTool;\n if (event.button === 1) {\n targetTool = \"Pan\";\n } else if (event.button !== 0) {\n return;\n }\n\n this.$emit(\"mousedown\", event, targetTool);\n }\n mouseup(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n\n let targetTool = this.currentTool;\n if (event.button === 1) {\n targetTool = \"Pan\";\n } else if (event.button !== 0) {\n return;\n }\n\n this.$emit(\"mouseup\", event, targetTool);\n }\n mousemove(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n\n let targetTool = this.currentTool;\n if ((event.buttons & 4) !== 0) {\n targetTool = \"Pan\";\n } else if ((event.button & 1) > 1) {\n return;\n }\n\n this.$emit(\"mousemove\", event, targetTool);\n\n // Annotation hover\n let found = false;\n for (const uuid of gameStore.annotations) {\n if (layerManager.UUIDMap.has(uuid) && layerManager.hasLayer(\"draw\")) {\n const shape = layerManager.UUIDMap.get(uuid)!;\n if (shape.contains(l2g(getMouse(event)))) {\n found = true;\n gameManager.annotationManager.setActiveText(shape.annotation);\n }\n }\n }\n if (!found && gameManager.annotationManager.shown) {\n gameManager.annotationManager.setActiveText(\"\");\n }\n }\n mouseleave(event: MouseEvent) {\n // When leaving the window while a mouse is pressed down, act as if it was released\n if ((event.buttons & 1) !== 0) {\n this.$emit(\"mouseup\", event, this.currentTool);\n }\n }\n contextmenu(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n if (event.button !== 2 || (event.target).tagName !== \"CANVAS\") return;\n this.$emit(\"contextmenu\", event, this.currentTool);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=style&index=0&id=32cec914&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=style&index=0&id=32cec914&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport Modal from \"@/core/components/modals/modal.vue\";\n\n@Component({\n components: {\n Modal,\n },\n})\nexport default class Prompt extends Vue {\n $refs!: {\n answer: HTMLElement;\n };\n\n visible = false;\n question = \"\";\n answer = \"\";\n title = \"\";\n\n resolve = (value: string) => {};\n reject = () => {};\n\n submit() {\n this.resolve(this.answer);\n this.close();\n }\n close() {\n this.reject();\n this.visible = false;\n this.question = \"\";\n this.answer = \"\";\n this.title = \"\";\n }\n prompt(question: string, title: string): Promise {\n this.question = question;\n this.title = title;\n this.visible = true;\n this.$nextTick(() => {\n this.$refs.answer.focus();\n });\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_vm._l((_vm.folders),function(folder){return _c('li',{key:folder,staticClass:\"folder\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle($event)}}},[_vm._v(\"\\n \"+_vm._s(folder)+\"\\n \"),_c('asset-node',{attrs:{\"asset\":_vm.asset[folder]}})],1)}),_vm._l((_vm.files),function(file){return _c('li',{key:file.name,staticClass:\"file draggable token\",attrs:{\"draggable\":\"true\"},on:{\"mouseover\":function($event){_vm.showImage = file.hash},\"mouseout\":function($event){_vm.showImage = null},\"dragstart\":function($event){_vm.dragStart($event, '/static/assets/' + file.hash)}}},[_vm._v(\"\\n \"+_vm._s(file.name)+\"\\n \"),(_vm.showImage == file.hash)?_c('div',{staticClass:\"preview\"},[_c('img',{staticClass:\"asset-preview-image\",attrs:{\"src\":'/static/assets/' + file.hash}})]):_vm._e()])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=template&id=62c91cd3&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(_vm._s(_vm.message))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load.vue?vue&type=template&id=ff095222&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{attrs:{\"id\":\"toolselect\"}},[_c('ul',_vm._l((_vm.tools),function(tool){return (!_vm.dmTools.includes(tool) || _vm.IS_DM)?_c('li',{key:tool,ref:tool + '-selector',refInFor:true,class:{'tool-selected': _vm.currentTool === tool},on:{\"click\":function($event){_vm.currentTool = tool}}},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(tool))])]):_vm._e()}))]),_c('div',[[_c('select-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Select'),expression:\"currentTool === 'Select'\"}],ref:\"selectTool\"}),_c('pan-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Pan'),expression:\"currentTool === 'Pan'\"}]}),_c('keep-alive',[_c('draw-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Draw'),expression:\"currentTool === 'Draw'\"}]})],1),_c('ruler-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Ruler'),expression:\"currentTool === 'Ruler'\"}]}),_c('map-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Map'),expression:\"currentTool === 'Map'\"}]}),_c('shape-menu',{ref:\"shapecontext\"}),_c('createtoken-dialog',{ref:\"createtokendialog\"})]],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=template&id=1fee50f5&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=script&lang=ts&\"","import { GlobalPoint, Point, Ray, Vector } from \"@/game/geom\";\n\nexport class BoundingRect {\n readonly w: number;\n readonly h: number;\n readonly topLeft: GlobalPoint;\n readonly topRight: GlobalPoint;\n readonly botRight: GlobalPoint;\n readonly botLeft: GlobalPoint;\n\n constructor(topleft: GlobalPoint, w: number, h: number) {\n this.w = w;\n this.h = h;\n this.topLeft = topleft;\n this.topRight = new GlobalPoint(topleft.x + w, topleft.y);\n this.botRight = new GlobalPoint(topleft.x + w, topleft.y + h);\n this.botLeft = new GlobalPoint(topleft.x, topleft.y + h);\n }\n\n contains(point: GlobalPoint): boolean {\n return (\n this.topLeft.x <= point.x &&\n this.topRight.x >= point.x &&\n this.topLeft.y <= point.y &&\n this.botLeft.y >= point.y\n );\n }\n\n get points() {\n if (this.w === 0 || this.h === 0) return [[this.topLeft.x, this.topLeft.y]];\n return [\n [this.topLeft.x, this.topLeft.y],\n [this.botLeft.x, this.botLeft.y],\n [this.botRight.x, this.botRight.y],\n [this.topRight.x, this.topRight.y],\n ];\n }\n\n offset(vector: Vector): BoundingRect {\n return new BoundingRect(this.topLeft.add(vector), this.w, this.h);\n }\n\n union(other: BoundingRect): BoundingRect {\n const xmin = Math.min(this.topLeft.x, other.topLeft.x);\n const xmax = Math.max(this.topRight.x, other.topRight.x);\n const ymin = Math.min(this.topLeft.y, other.topLeft.y);\n const ymax = Math.max(this.botLeft.y, other.botLeft.y);\n return new BoundingRect(new GlobalPoint(xmin, ymin), xmax - xmin, ymax - ymin);\n }\n\n getDiagCorner(botright: boolean) {\n return botright ? this.botRight : this.topLeft;\n }\n\n intersectsWith(other: BoundingRect): boolean {\n return !(\n other.topLeft.x > this.topRight.x ||\n other.topRight.x < this.topLeft.x ||\n other.topLeft.y > this.botLeft.y ||\n other.botLeft.y < this.topLeft.y\n );\n }\n\n intersectsWithInner(other: BoundingRect): boolean {\n return !(\n other.topLeft.x >= this.topRight.x ||\n other.topRight.x <= this.topLeft.x ||\n other.topLeft.y >= this.botLeft.y ||\n other.botLeft.y <= this.topLeft.y\n );\n }\n\n intersectP(ray: Ray, invDir: Vector, dirIsNeg: boolean[]) {\n let txmin = invDir.x * (this.getDiagCorner(dirIsNeg[0]).x - ray.origin!.x);\n let txmax = invDir.x * (this.getDiagCorner(!dirIsNeg[0]).x - ray.origin!.x);\n const tymin = invDir.y * (this.getDiagCorner(dirIsNeg[1]).y - ray.origin!.y);\n const tymax = invDir.y * (this.getDiagCorner(!dirIsNeg[1]).y - ray.origin!.y);\n if (txmin > tymax || tymin > txmax) return { hit: false, min: txmin, max: txmax };\n if (tymin > txmin) txmin = tymin;\n if (tymax < txmax) txmax = tymax;\n return { hit: txmin < ray.tMax! && txmax > 0, min: txmin, max: txmax };\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {\n if (centerPoint === undefined) return this.topLeft.add(new Vector(this.w / 2, this.h / 2));\n this.topLeft.x = centerPoint.x - this.w / 2;\n this.topLeft.y = centerPoint.y - this.h / 2;\n }\n inCorner(point: GlobalPoint, corner: string) {\n const sw = Math.min(6, this.w / 2) / 2;\n switch (corner) {\n case \"ne\":\n return (\n this.topRight.x - sw <= point.x &&\n point.x <= this.topRight.x + sw &&\n this.topLeft.y - sw <= point.y &&\n point.y <= this.topLeft.y + sw\n );\n case \"nw\":\n return (\n this.topLeft.x - sw <= point.x &&\n point.x <= this.topLeft.x + sw &&\n this.topLeft.y - sw <= point.y &&\n point.y <= this.topLeft.y + sw\n );\n case \"sw\":\n return (\n this.topLeft.x - sw <= point.x &&\n point.x <= this.topLeft.x + sw &&\n this.botLeft.y - sw <= point.y &&\n point.y <= this.botLeft.y + sw\n );\n case \"se\":\n return (\n this.topRight.x - sw <= point.x &&\n point.x <= this.topRight.x + sw &&\n this.botLeft.y - sw <= point.y &&\n point.y <= this.botLeft.y + sw\n );\n default:\n return false;\n }\n }\n getCorner(point: GlobalPoint): string | undefined {\n if (this.inCorner(point, \"ne\")) return \"ne\";\n else if (this.inCorner(point, \"nw\")) return \"nw\";\n else if (this.inCorner(point, \"se\")) return \"se\";\n else if (this.inCorner(point, \"sw\")) return \"sw\";\n }\n\n getMaxExtent() {\n return this.w > this.h ? 0 : 1;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"formcontainer\"}},[(_vm.owned || _vm.joined)?_c('form',[_c('fieldset',[_c('legend',{staticClass:\"legend\"},[_vm._v(\"Your sessions\")]),_c('div',{staticClass:\"input\"},[_vm._l((_vm.owned),function(room,i){return _c('router-link',{key:'o-'+i,attrs:{\"to\":'/game/' + room[1] + '/' + room[0]}},[_vm._v(_vm._s(room[0]))])}),_vm._l((_vm.joined),function(room,i){return _c('router-link',{key:'j-'+i,attrs:{\"to\":'/game/' + room[1] + '/' + room[0]}},[_vm._v(_vm._s(room[1])+\"/\"+_vm._s(room[0]))])})],2),(_vm.owned.length === 0)?_c('div',{staticClass:\"input\"},[_vm._v(\"No active sessions\")]):_vm._e()])]):_vm._e(),_vm._m(0),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.createRoom($event)}}},[_c('fieldset',[(!_vm.owned && !_vm.joined)?_c('legend',{staticClass:\"legend\"},[_vm._v(\"Create a session\")]):_c('div',{staticClass:\"input\"},[_vm._v(\"Create a new session\")]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newSessionName),expression:\"newSessionName\"}],attrs:{\"type\":\"text\",\"name\":\"room_name\",\"placeholder\":\"Session Name\"},domProps:{\"value\":(_vm.newSessionName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newSessionName=$event.target.value}}}),_vm._m(1)]),_vm._m(2)])]),_c('div',{attrs:{\"id\":\"account-options\"}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();}}},[_c('router-link',{staticClass:\"submit\",attrs:{\"tag\":\"button\",\"title\":\"Account Settings\",\"to\":\"/account\"}},[_c('i',{staticClass:\"fas fa-cog\"})])],1),_c('form',{on:{\"submit\":function($event){$event.preventDefault();}}},[_c('router-link',{staticClass:\"submit\",attrs:{\"tag\":\"button\",\"title\":\"Logout\",\"to\":\"/auth/logout\"}},[_c('i',{staticClass:\"fas fa-sign-out-alt\"})])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',[_c('span',[_vm._v(\"OR\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fab fa-d-and-d\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"submit\",attrs:{\"type\":\"submit\",\"title\":\"Create\"}},[_c('i',{staticClass:\"fas fa-arrow-right\"})])}]\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=template&id=61eb1455&scoped=true&\"","/*\nThis module defines some Point classes.\nA strong focus is made to ensure that at no time a global and a local point are mixed up with each other.\nAt first glance this adds weird looking hacks as ts does not support nominal typing.\n*/\n\nexport function getPointDistance(p1: Point, p2: Point) {\n const a = p1.x - p2.x;\n const b = p1.y - p2.y;\n return Math.sqrt(a * a + b * b);\n}\n\nexport class Point {\n x: number;\n y: number;\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n }\n add(vec: Vector) {\n return new Point(this.x + vec.x, this.y + vec.y);\n }\n subtract(other: Point) {\n return new Vector(this.x - other.x, this.y - other.y);\n }\n clone(): Point {\n return new Point(this.x, this.y);\n }\n get(dimension: 0 | 1) {\n if (dimension === 0) return this.x;\n return this.y;\n }\n}\nexport class GlobalPoint extends Point {\n // This is to differentiate with LocalPoint, is actually never used\n // We do ! to prevent errors that it never gets initialized\n // tslint:disable-next-line:variable-name\n _GlobalPoint!: string;\n add(vec: Vector): GlobalPoint {\n return super.add(vec);\n }\n subtract(other: GlobalPoint): Vector {\n return super.subtract(other);\n }\n clone(): GlobalPoint {\n return super.clone();\n }\n}\n\nexport class LocalPoint extends Point {\n // This is to differentiate with GlobalPoint, is actually never used\n // We do ! to prevent errors that it never gets initialized\n // tslint:disable-next-line:variable-name\n _LocalPoint!: string;\n add(vec: Vector): LocalPoint {\n return super.add(vec);\n }\n subtract(other: LocalPoint): Vector {\n return super.subtract(other);\n }\n clone(): LocalPoint {\n return super.clone();\n }\n}\n\nexport class Vector {\n readonly x: number;\n readonly y: number;\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n }\n dot(other: Vector) {\n return this.x * other.x + this.y * other.y;\n }\n inverse() {\n return new Vector(1 / this.x, 1 / this.y);\n }\n length() {\n return Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2));\n }\n normalize() {\n const l = this.length();\n return new Vector(this.x / l, this.y / l);\n }\n reverse() {\n return new Vector(-this.x, -this.y);\n }\n multiply(scale: number) {\n return new Vector(this.x * scale, this.y * scale);\n }\n}\n\nexport class Ray {\n readonly direction: Vector;\n readonly origin: T;\n tMax: number;\n constructor(origin: T, direction: Vector, tMax?: number) {\n this.direction = direction;\n this.origin = origin;\n if (tMax === undefined) tMax = Infinity;\n this.tMax = tMax;\n }\n static fromPoints(p1: T, p2: T): Ray {\n const vec = new Vector(p2.x - p1.x, p2.y - p1.y);\n let maxT;\n if (Math.abs(vec.x) > 0.01) maxT = (p2.x - p1.x) / vec.x;\n else maxT = (p2.y - p1.y) / vec.y;\n return new Ray(p1, vec, maxT);\n }\n get(t: number): T {\n return new Point(this.origin.x + t * this.direction.x, this.origin.y + t * this.direction.y);\n }\n getDistance(t1: number, t2: number) {\n return Math.sqrt(Math.pow(t2 - t1, 2) * (Math.pow(this.direction.x, 2) + Math.pow(this.direction.y, 2)));\n }\n getT(t1: number, distance: number) {\n return t1 + Math.sqrt(Math.pow(distance, 2) / (Math.pow(this.direction.x, 2) + Math.pow(this.direction.y, 2)));\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport vueSlider from \"vue-slider-component\";\n\nimport \"@/game/api/events\";\n\nimport { throttle } from \"lodash\";\nimport { mapGetters, mapState } from \"vuex\";\n\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\nimport Initiative from \"@/game/ui/initiative.vue\";\nimport MenuBar from \"@/game/ui/menu/menu.vue\";\nimport NoteDialog from \"@/game/ui/note.vue\";\nimport SelectionInfo from \"@/game/ui/selection/selection_info.vue\";\nimport Tools from \"@/game/ui/tools/tools.vue\";\n\nimport { createConnection, socket } from \"@/game/api/socket\";\nimport { onKeyDown, onKeyUp } from \"@/game/events/keyboard\";\nimport { scrollZoom } from \"@/game/events/mouse\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { LocalPoint } from \"./geom\";\n\n@Component({\n components: {\n \"tool-bar\": Tools,\n \"selection-info\": SelectionInfo,\n \"prompt-dialog\": Prompt,\n \"confirm-dialog\": ConfirmDialog,\n \"menu-bar\": MenuBar,\n \"initiative-dialog\": Initiative,\n \"zoom-slider\": vueSlider,\n \"note-dialog\": NoteDialog,\n },\n beforeRouteEnter(to, from, next) {\n createConnection(to);\n next();\n },\n beforeRouteLeave(to, from, next) {\n socket.disconnect();\n next();\n },\n})\nexport default class Game extends Vue {\n $refs!: {\n confirm: InstanceType;\n tools: InstanceType;\n };\n\n ready = {\n manager: false,\n tools: false,\n };\n\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n\n get layers(): string[] {\n return gameStore.layers;\n }\n\n get selectedLayer(): string {\n return gameStore.selectedLayer;\n }\n\n get zoomFactor(): number {\n return gameStore.zoomFactor;\n }\n\n set zoomFactor(value: number) {\n gameStore.updateZoom({\n newZoomValue: value,\n zoomLocation: l2g(new LocalPoint(window.innerWidth / 2, window.innerHeight / 2)),\n });\n }\n\n mounted() {\n window.addEventListener(\"resize\", () => {\n layerManager.setWidth(window.innerWidth);\n layerManager.setHeight(window.innerHeight);\n layerManager.invalidate();\n });\n window.addEventListener(\"wheel\", throttle(scrollZoom));\n window.addEventListener(\"keyup\", onKeyUp);\n window.addEventListener(\"keydown\", onKeyDown);\n // // prevent double clicking text selection\n window.addEventListener(\"selectstart\", e => {\n e.preventDefault();\n return false;\n });\n this.ready.manager = true;\n }\n\n mousedown(event: MouseEvent) {\n this.$refs.tools.mousedown(event);\n }\n mouseup(event: MouseEvent) {\n this.$refs.tools.mouseup(event);\n }\n mousemove(event: MouseEvent) {\n this.$refs.tools.mousemove(event);\n }\n mouseleave(event: MouseEvent) {\n this.$refs.tools.mouseleave(event);\n }\n contextmenu(event: MouseEvent) {\n this.$refs.tools.contextmenu(event);\n }\n selectLayer(layer: string) {\n layerManager.selectLayer(layer);\n }\n drop(event: DragEvent) {\n if (event === null || event.dataTransfer === null) return;\n if (event.dataTransfer.files.length > 0) {\n this.$refs.confirm\n .open(\"Uploading files should be done through the asset manager.\", \"Ok\", \"\")\n .then(() => {}, () => {});\n } else if (event.dataTransfer.getData(\"text/plain\") === \"\") {\n return;\n } else {\n layerManager.dropAsset(event);\n }\n }\n}\n","import { GlobalPoint, LocalPoint, Ray } from \"@/game/geom\";\nimport { gameStore } from \"@/game/store\";\n\nexport function g2l(obj: GlobalPoint): LocalPoint {\n const z = gameStore.zoomFactor;\n const panX = gameStore.panX;\n const panY = gameStore.panY;\n return new LocalPoint((obj.x + panX) * z, (obj.y + panY) * z);\n}\n\nexport function g2lx(x: number) {\n return g2l(new GlobalPoint(x, 0)).x;\n}\n\nexport function g2ly(y: number) {\n return g2l(new GlobalPoint(0, y)).y;\n}\n\nexport function g2lz(z: number) {\n return z * gameStore.zoomFactor;\n}\n\nexport function getUnitDistance(r: number) {\n return (r / gameStore.unitSize) * gameStore.gridSize;\n}\n\nexport function g2lr(r: number) {\n return g2lz(getUnitDistance(r));\n}\n\nexport function l2g(obj: LocalPoint): GlobalPoint;\nexport function l2g(obj: Ray): Ray;\nexport function l2g(obj: LocalPoint | Ray): GlobalPoint | Ray {\n const z = gameStore.zoomFactor;\n const panX = gameStore.panX;\n const panY = gameStore.panY;\n if (obj instanceof LocalPoint) {\n return new GlobalPoint(obj.x / z - panX, obj.y / z - panY);\n } else {\n return new Ray(l2g(obj.origin), obj.direction.multiply(1 / z), obj.tMax);\n }\n}\n\nexport function l2gx(x: number) {\n return l2g(new LocalPoint(x, 0)).x;\n}\n\nexport function l2gy(y: number) {\n return l2g(new LocalPoint(0, y)).y;\n}\n\nexport function l2gz(z: number) {\n return z / gameStore.zoomFactor;\n}\n\nexport function l2gr(r: number) {\n return l2gz(getUnitDistance(r));\n}\n\n(window).g2lx = g2lx;\n(window).g2ly = g2ly;\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { mapState } from \"vuex\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\nimport AssetNode from \"@/game/ui/menu/asset_node.vue\";\nimport NoteDialog from \"@/game/ui/note.vue\";\n\nimport { getRef, uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { Note } from \"@/game/comm/types/general\";\nimport { gameStore } from \"@/game/store\";\nimport { layerManager } from \"@/game/layers/manager\";\n\n@Component({\n components: {\n \"color-picker\": ColorPicker,\n \"asset-node\": AssetNode,\n },\n computed: {\n ...mapState(\"game\", [\"invitationCode\", \"IS_DM\", \"locations\", \"assets\", \"notes\"]),\n },\n})\nexport default class MenuBar extends Vue {\n visible = {\n settings: false,\n locations: false,\n };\n\n get useGrid(): boolean {\n return gameStore.useGrid;\n }\n set useGrid(value: boolean) {\n gameStore.setUseGrid({ useGrid: value, sync: true });\n }\n get fullFOW(): boolean {\n return gameStore.fullFOW;\n }\n set fullFOW(value: boolean) {\n gameStore.setFullFOW({ fullFOW: value, sync: true });\n }\n get fowOpacity(): number {\n return gameStore.fowOpacity;\n }\n set fowOpacity(value: number) {\n if (typeof value !== \"number\") return;\n gameStore.setFOWOpacity({ fowOpacity: value, sync: true });\n }\n get fowLOS(): boolean {\n return gameStore.fowLOS;\n }\n set fowLOS(value: boolean) {\n gameStore.setLineOfSight({ fowLOS: value, sync: true });\n }\n get unitSize(): number {\n return gameStore.unitSize;\n }\n set unitSize(value: number) {\n if (typeof value !== \"number\") return;\n gameStore.setUnitSize({ unitSize: value, sync: true });\n }\n get gridSize(): number {\n return gameStore.gridSize;\n }\n set gridSize(value: number) {\n if (typeof value !== \"number\") return;\n gameStore.setGridSize({ gridSize: value, sync: true });\n }\n get gridColour(): string {\n return gameStore.gridColour;\n }\n set gridColour(value: string) {\n gameStore.setGridColour({ colour: value, sync: true });\n }\n get fowColour(): string {\n return gameStore.fowColour;\n }\n set fowColour(value: string) {\n gameStore.setFOWColour({ colour: value, sync: true });\n }\n get rulerColour(): string {\n return gameStore.rulerColour;\n }\n set rulerColour(value: string) {\n gameStore.setRulerColour({ colour: value, sync: true });\n }\n settingsClick(event: { target: HTMLElement }) {\n if (event.target.classList.contains(\"accordion\")) {\n event.target.classList.toggle(\"accordion-active\");\n const next = event.target.nextElementSibling;\n if (next !== null) next.style.display = next.style.display === \"\" ? \"block\" : \"\";\n }\n }\n changeLocation(name: string) {\n socket.emit(\"Location.Change\", name);\n }\n createLocation() {\n getRef(\"prompt\")\n .prompt(`New location name:`, `Create new location`)\n .then(\n (value: string) => {\n socket.emit(\"Location.New\", value);\n },\n () => {},\n );\n }\n createNote() {\n const note = { title: \"New note\", text: \"\", uuid: uuidv4() };\n gameStore.newNote({ note, sync: true });\n this.openNote(note);\n }\n openNote(note: Note) {\n getRef(\"note\").open(note);\n }\n changeVisionMode(event: { target: HTMLSelectElement }) {\n const value = event.target.value.toLowerCase();\n if (value !== \"bvh\" && value !== \"triangle\") return;\n gameStore.setVisionMode(value);\n gameStore.recalculateBV();\n layerManager.invalidate();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ContextMenu',{attrs:{\"visible\":_vm.visible,\"left\":_vm.x + 'px',\"top\":_vm.y + 'px'},on:{\"close\":_vm.close}},[(_vm.IS_DM)?_c('li',{on:{\"click\":_vm.bringPlayers}},[_vm._v(\"Bring players\")]):_vm._e(),_c('li',{on:{\"click\":_vm.createToken}},[_vm._v(\"Create basic token\")]),_c('li',{on:{\"click\":_vm.showInitiative}},[_vm._v(\"Show initiative\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=template&id=44a31e42&scoped=true&\"","import { uuidv4 } from \"@/core/utils\";\nimport { CDT } from \"./cdt\";\nimport { ccw, cw, orientation } from \"./triag\";\n\nexport type Point = number[];\n\nexport const INFINITE = -7e310;\n\nlet _INFINITE_VERTEX: Vertex;\n\nexport enum Sign {\n NEGATIVE = -1,\n ZERO = 0,\n POSITIVE = 1,\n\n RIGHT_TURN = -1,\n LEFT_TURN = 1,\n\n SMALLER = -1,\n EQUAL = 0,\n LARGER = 1,\n\n CLOCKWISE = -1,\n COUNTERCLOCKWISE = 1,\n\n COLLINEAR = 0,\n COPLANAR = 0,\n DEGENERATE = 0,\n\n ON_NEGATIVE_SIDE = -1,\n ON_ORIENTED_BOUNDARY = 0,\n ON_POSITIVE_SIDE = 1,\n}\n\nenum LineFaceState {\n UNDEFINED = -1,\n VERTEX_VERTEX = 0,\n VERTEX_EDGE = 1,\n EDGE_VERTEX = 2,\n EDGE_EDGE = 3,\n}\n\nfunction newPoint(): Point {\n return [INFINITE, INFINITE];\n}\n\nexport class Triangle {\n vertices: (Vertex | null)[] = [];\n neighbours: (Triangle | null)[] = [null, null, null];\n constraints = [false, false, false];\n uuid = uuidv4();\n\n constructor(...vertices: (Vertex | null)[]) {\n this.vertices = vertices;\n }\n\n from(t: Triangle): this {\n this.vertices = t.vertices.slice(0, t.vertices.length);\n this.neighbours = t.neighbours.slice(0, t.neighbours.length);\n this.constraints = t.constraints.slice(0, t.constraints.length);\n return this;\n }\n\n get dimension() {\n return this.vertices.length - 1;\n }\n\n addVertex(vertex: Vertex) {\n if (vertex === undefined) {\n console.log(\"UNDEFINED HIERE\");\n }\n this.vertices.push(vertex);\n vertex.triangle = this;\n }\n\n isConstrained(index: number): boolean {\n return this.constraints[index];\n }\n\n reorient() {\n // If certain indices do not exist yet thay will append faulty undefined's, thus we slice them\n this.vertices = [this.vertices[1], this.vertices[0], this.vertices[2]].slice(0, this.vertices.length);\n this.neighbours = [this.neighbours[1], this.neighbours[0], this.neighbours[2]];\n this.constraints = [this.constraints[1], this.constraints[0], this.constraints[2]];\n }\n\n indexV(v: Vertex): number {\n return this.vertices.indexOf(v);\n }\n\n indexT(t: Triangle): number {\n return this.neighbours.indexOf(t);\n }\n\n isInfinite(index?: number): boolean {\n if (index === undefined) {\n return this.vertices.includes(_INFINITE_VERTEX);\n } else {\n return this.vertices[ccw(index)]!.infinite || this.vertices[cw(index)]!.infinite;\n }\n }\n}\n\nexport class Vertex {\n infinite = false;\n private _point: Point | undefined;\n triangle: Triangle | undefined;\n uuid = uuidv4();\n\n constructor(point?: Point) {\n this._point = point;\n }\n\n get point(): Point | undefined {\n return this._point;\n }\n\n set point(point: Point | undefined) {\n this._point = point;\n this.infinite = false;\n }\n}\n\nexport class EdgeCirculator {\n ri: number;\n v: Vertex | null;\n t: Triangle | null;\n _ri: number;\n _v: Vertex | null;\n _t: Triangle | null;\n\n constructor(v: Vertex | null, t: Triangle | null) {\n this.v = v;\n this.t = t;\n if (v === null) {\n this.t = null;\n } else if (t === null) {\n this.t = v.triangle!;\n }\n if (this.t == null || this.t.dimension < 1) {\n this.ri = 0;\n this.v = null;\n this.t = null;\n } else {\n const i = this.t.indexV(v!);\n if (this.t.dimension === 2) this.ri = ccw(i);\n else this.ri = 2;\n }\n this._ri = this.ri;\n this._v = this.v;\n this._t = this.t;\n }\n\n get valid() {\n return this.t !== null && this.v !== null;\n }\n\n next(): boolean {\n let i = this.t!.indexV(this.v!);\n if (this.t!.dimension === 1) {\n this.t = this.t!.neighbours[i === 0 ? 1 : 0];\n } else {\n this.t = this.t!.neighbours[ccw(i)];\n i = this.t!.indexV(this.v!);\n this.ri = ccw(i);\n }\n return this.ri !== this._ri || this.v !== this._v || this.t !== this._t;\n }\n}\n\nexport class EdgeIterator {\n private i = 0;\n pos: Triangle | null;\n edge: Edge = new Edge();\n tds: TDS;\n _es = 0;\n constructor(tds: TDS) {\n this.tds = tds;\n this.edge.second = 0;\n if (tds.dimension <= 0) {\n this.pos = null;\n return;\n }\n this.pos = tds.triangles[0];\n if (tds.dimension === 1) this.edge.second = 2;\n while (this.pos !== null && !this.associatedEdge()) {\n throw new Error(\"[poi\");\n }\n\n if (tds.dimension === 1) this._es = 2;\n }\n\n get valid(): boolean {\n return (this.pos !== null || this._es !== this.edge.second) && this.pos!.isInfinite(this.edge.second);\n }\n\n next() {\n do {\n this.increment();\n } while (this.pos !== null && !this.associatedEdge());\n }\n\n collect(): Edge {\n this.edge.first = this.pos;\n return this.edge;\n }\n\n associatedEdge(): boolean {\n if (this.tds.dimension === 1) return true;\n return (\n this.tds.triangles.indexOf(this.pos!) < this.tds.triangles.indexOf(this.pos!.neighbours[this.edge.second]!)\n );\n }\n\n increment() {\n if (this.tds.dimension === 1) {\n this.i++;\n if (this.tds.triangles.length <= this.i) this.pos = null;\n else this.pos = this.tds.triangles[this.i];\n } else if (this.edge.second === 2) {\n this.edge.second = 0;\n this.i++;\n if (this.tds.triangles.length <= this.i) this.pos = null;\n else this.pos = this.tds.triangles[this.i];\n } else {\n this.edge.second++;\n }\n }\n}\n\nexport class FaceCirculator {\n v: Vertex | null;\n t: Triangle | null;\n _v: Vertex | null;\n _t: Triangle | null;\n\n constructor(v: Vertex | null, t: Triangle | null) {\n this.v = v;\n this.t = t;\n if (v === null) {\n this.t = null;\n } else if (t === null) {\n this.t = v.triangle!;\n }\n if (this.t == null || this.t.dimension < 2) {\n this.v = null;\n this.t = null;\n }\n this._v = this.v;\n this._t = this.t;\n }\n\n get valid() {\n return this.t !== null && this.v !== null;\n }\n\n prev() {\n const i = this.t!.indexV(this.v!);\n this.t = this.t!.neighbours[cw(i)];\n }\n\n next(): boolean {\n const i = this.t!.indexV(this.v!);\n this.t = this.t!.neighbours[ccw(i)];\n return this.v !== this._v || this.t !== this._t;\n }\n}\n\nexport class LineFaceCirculator {\n private i = 0;\n pos: Triangle | null = null;\n _tr: CDT;\n s: LineFaceState = LineFaceState.UNDEFINED;\n p: Point;\n q: Point;\n\n constructor(v: Vertex, tr: CDT, dir: Point) {\n this._tr = tr;\n this.p = v.point!;\n this.q = dir;\n\n const fc = new FaceCirculator(v, null);\n let ic = fc.t!.indexV(v);\n let vt = fc.t!.vertices[cw(ic)]!;\n while (v === _INFINITE_VERTEX || orientation(this.p, this.q, vt.point!) !== Sign.LEFT_TURN) {\n fc.next();\n ic = fc.t!.indexV(v);\n vt = fc.t!.vertices[cw(ic)]!;\n if (!fc.valid) {\n return;\n }\n }\n\n let vr = fc.t!.vertices[ccw(ic)]!;\n let pqr: Sign = Sign.RIGHT_TURN;\n // tslint:disable:no-conditional-assignment\n while (vr !== _INFINITE_VERTEX && (pqr = orientation(this.p, this.q, vr.point!)) === Sign.LEFT_TURN) {\n fc.prev();\n ic = fc.t!.indexV(v);\n vr = fc.t!.vertices[ccw(ic)]!;\n }\n\n ic = fc.t!.indexV(v);\n vt = fc.t!.vertices[cw(ic)]!;\n\n if (vr === _INFINITE_VERTEX) {\n fc.prev();\n ic = fc.t!.indexV(v);\n vr = fc.t!.vertices[ccw(ic)]!;\n pqr = orientation(this.p, this.q, vr.point!);\n switch (pqr) {\n case Sign.RIGHT_TURN:\n case Sign.COLLINEAR: {\n fc.next();\n ic = fc.t!.indexV(_INFINITE_VERTEX);\n this.pos = fc.t!;\n this.s = LineFaceState.VERTEX_VERTEX;\n this.i = ic;\n break;\n }\n case Sign.LEFT_TURN: {\n break;\n }\n }\n } else if (pqr === Sign.COLLINEAR) {\n this.pos = fc.t!;\n this.s = LineFaceState.VERTEX_VERTEX;\n this.i = ccw(ic);\n } else {\n this.pos = fc.t!;\n this.s = LineFaceState.VERTEX_EDGE;\n this.i = ic;\n }\n }\n\n next() {\n this.increment();\n }\n\n increment() {\n let o: Sign;\n if (this.s === LineFaceState.VERTEX_VERTEX || this.s === LineFaceState.EDGE_VERTEX) {\n do {\n const n = this.pos!.neighbours[cw(this.i)]!;\n this.i = n.indexT(this.pos!);\n this.pos = n;\n if (this.pos!.vertices[this.i] === _INFINITE_VERTEX) {\n o = Sign.COLLINEAR;\n this.i = cw(this.i);\n break;\n }\n o = orientation(this.p, this.q, this.pos!.vertices[this.i]!.point!);\n this.i = cw(this.i);\n } while (o === Sign.LEFT_TURN);\n if (o === Sign.COLLINEAR) {\n this.s = LineFaceState.VERTEX_VERTEX;\n this.i = ccw(this.i);\n } else {\n this.s = LineFaceState.VERTEX_EDGE;\n }\n } else {\n const n = this.pos!.neighbours[this.i]!;\n const ni = n.indexT(this.pos!);\n this.pos = n;\n o =\n this.pos!.vertices[ni]! === _INFINITE_VERTEX\n ? Sign.COLLINEAR\n : orientation(this.p, this.q, this.pos!.vertices[ni]!.point!);\n switch (o) {\n case Sign.LEFT_TURN: {\n this.s = LineFaceState.EDGE_EDGE;\n this.i = ccw(ni);\n break;\n }\n case Sign.RIGHT_TURN: {\n this.s = LineFaceState.EDGE_EDGE;\n this.i = cw(ni);\n break;\n }\n default: {\n this.s = LineFaceState.EDGE_VERTEX;\n this.i = ni;\n }\n }\n }\n }\n}\n\nclass Edge {\n first: Triangle | null = null;\n second: number = 0;\n}\n\nexport enum LocateType {\n VERTEX,\n EDGE,\n FACE,\n OUTSIDE_CONVEX_HULL,\n OUTSIDE_AFFINE_HULL,\n}\n\nexport class TDS {\n dimension = -1;\n vertices: Vertex[] = [];\n triangles: Triangle[] = [];\n _infinite: Vertex;\n\n constructor() {\n this._infinite = this.createVertex();\n _INFINITE_VERTEX = this._infinite;\n const t = new Triangle();\n t.addVertex(this._infinite);\n this.triangles.push(t);\n }\n\n createVertex(): Vertex {\n const v = this.infiniteVertex;\n if (v === undefined) {\n console.log(\"UNDEFINED HIERE\");\n }\n this.vertices.push(v);\n return v;\n }\n\n createTriangle(\n v0: Vertex | null,\n v1: Vertex | null,\n v2: Vertex | null,\n n0: Triangle | null,\n n1: Triangle | null,\n n2: Triangle | null,\n ) {\n const t = new Triangle(v0, v1, v2);\n t.neighbours[0] = n0;\n t.neighbours[1] = n1;\n t.neighbours[2] = n2;\n this.triangles.push(t);\n return t;\n }\n\n deleteTriangle(trig: Triangle) {\n this.triangles = this.triangles.filter(t => t !== trig);\n }\n\n setAdjacency(t0: Triangle, i0: number, t1: Triangle, i1: number) {\n t0.neighbours[i0] = t1;\n t1.neighbours[i1] = t0;\n }\n\n get finiteVertex(): Vertex {\n return this.vertices[1];\n }\n\n get infiniteVertex(): Vertex {\n const v = new Vertex(newPoint());\n v.infinite = true;\n return v;\n }\n\n get finiteEdge(): Edge {\n if (this.dimension < 1) throw new Error(\"aspo\");\n const ei = new EdgeIterator(this);\n while (ei.valid) ei.next();\n return ei.collect();\n }\n\n insertDimUp(w: Vertex = new Vertex(), orient: boolean = true): Vertex {\n const v = this.createVertex();\n this.dimension++;\n let t1: Triangle;\n let t2: Triangle;\n switch (this.dimension) {\n case 0: {\n t1 = this.triangles[0];\n t2 = new Triangle(v);\n this.triangles.push(t2);\n this.setAdjacency(t1, 0, t2, 0);\n v.triangle = t2;\n break;\n }\n case 1:\n case 2: {\n const deleteList: Triangle[] = [];\n const triangles = this.triangles.slice(0, this.triangles.length);\n for (const trig of triangles) {\n const copy = new Triangle().from(trig);\n this.triangles.push(copy);\n trig.vertices[this.dimension] = v;\n copy.vertices[this.dimension] = w;\n this.setAdjacency(trig, this.dimension, copy, this.dimension);\n if (trig.vertices.includes(w)) deleteList.push(copy);\n }\n for (const trig of triangles) {\n const neighbour = trig.neighbours[this.dimension];\n for (let j = 0; j < this.dimension; ++j) {\n neighbour!.neighbours[j] = trig.neighbours[j]!.neighbours[this.dimension];\n }\n }\n\n let lfit = 0;\n if (this.dimension === 1) {\n if (orient) {\n triangles[lfit].reorient();\n lfit++;\n triangles[lfit].neighbours[1]!.reorient();\n } else {\n triangles[lfit].neighbours[1]!.reorient();\n lfit++;\n triangles[lfit].reorient();\n }\n } else {\n for (const trig of triangles) {\n if (orient) trig.neighbours[2]!.reorient();\n else trig.reorient();\n }\n }\n\n for (const trig of deleteList) {\n let j = 1;\n if (trig.vertices[0] === w) j = 0;\n t1 = trig.neighbours[this.dimension]!;\n const i1 = this.mirrorIndex(trig, this.dimension);\n t2 = trig.neighbours[j]!;\n const i2 = this.mirrorIndex(trig, j);\n this.setAdjacency(t1, i1, t2, i2);\n this.deleteTriangle(trig);\n }\n v.triangle = triangles[0];\n break;\n }\n default: {\n throw new Error(\"Dimension unknown\");\n }\n }\n return v;\n }\n\n mirrorIndex(t: Triangle, i: number): number {\n if (t.dimension === 1) {\n const j = t.neighbours[i]!.indexV(t.vertices[i === 0 ? 1 : 0]!);\n return j === 0 ? 1 : 0;\n }\n return ccw(t.neighbours[i]!.indexV(t.vertices[ccw(i)]!));\n }\n\n insertInFace(t: Triangle) {\n const v = this.createVertex();\n const v0 = t.vertices[0]!;\n const v1 = t.vertices[1]!;\n const v2 = t.vertices[2]!;\n const n1 = t.neighbours[1]!;\n const n2 = t.neighbours[2]!;\n const t1 = this.createTriangle(v0, v, v2, t, n1, null);\n const t2 = this.createTriangle(v0, v1, v, t, null, n2);\n this.setAdjacency(t1, 2, t2, 1);\n if (n1 !== null) {\n const i1 = this.mirrorIndex(t, 1);\n n1.neighbours[i1] = t1;\n }\n if (n2 !== null) {\n const i2 = this.mirrorIndex(t, 2);\n n2.neighbours[i2] = t2;\n }\n t.vertices[0] = v;\n t.neighbours[1] = t1;\n t.neighbours[2] = t2;\n if (v0.triangle === t) v0.triangle = t2;\n v.triangle = t;\n return v;\n }\n\n flip(t: Triangle, i: number) {\n const n = t.neighbours[i]!;\n const ni = this.mirrorIndex(t, i);\n const vCW = t.vertices[cw(i)]!;\n const vCCW = t.vertices[ccw(i)]!;\n const tr = t.neighbours[ccw(i)]!;\n const tri = this.mirrorIndex(t, ccw(i));\n const bl = n.neighbours[ccw(ni)]!;\n const bli = this.mirrorIndex(n, ccw(ni));\n\n t.vertices[cw(i)] = n.vertices[ni]!;\n n.vertices[cw(ni)] = t.vertices[i]!;\n\n this.setAdjacency(t, i, bl, bli);\n this.setAdjacency(t, ccw(i), n, ccw(ni));\n this.setAdjacency(n, ni, tr, tri);\n\n if (vCW.triangle! === t) vCW.triangle = n;\n if (vCCW.triangle! === n) vCCW.triangle = t;\n }\n\n insertInEdge(t: Triangle, i: number) {\n let v: Vertex;\n if (this.dimension === 1) {\n v = this.createVertex();\n const ff = t.neighbours[0]!;\n const vv = t.vertices[1]!;\n const g = this.createTriangle(v, vv, null, ff, t, null);\n t.vertices[1] = v;\n t.neighbours[0] = g;\n ff.neighbours[1] = g;\n v.triangle = g;\n vv.triangle = ff;\n } else {\n const n = t.neighbours[i]!;\n const ni = this.mirrorIndex(t, i);\n v = this.insertInFace(t);\n this.flip(n, ni);\n }\n return v;\n }\n}\n","import { partition } from \"@/core/utils\";\nimport { GlobalPoint, Ray } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2lx, g2ly, g2lz } from \"@/game/units\";\nimport { BoundingNode, InteriorNode, LeafNode } from \"@/game/visibility/bvh/node\";\n\ninterface BuildInfo {\n index: number;\n bbox: BoundingRect;\n center: BoundingRect;\n}\ninterface LinearBHVNode {\n bbox: BoundingRect;\n nPrimitives: number;\n}\ninterface LinearLeafNode extends LinearBHVNode {\n primitivesOffset: number;\n}\ninterface LinearInternalNode extends LinearBHVNode {\n secondChildOffset: number;\n dimension: number;\n}\n\nexport class BoundingVolume {\n totalNodes = 0;\n buildData: BuildInfo[] = [];\n shapes: string[];\n orderedPrims: string[] = [];\n root: BoundingNode | null;\n nodes: LinearBHVNode[] = [];\n\n offset = 0;\n\n constructor(shapes: string[]) {\n this.shapes = shapes;\n if (this.shapes.length === 0) {\n this.root = null;\n this.nodes = [];\n return;\n }\n for (let i = 0; i < shapes.length; i++) {\n const shape = layerManager.UUIDMap.get(shapes[i])!;\n try {\n this.buildData.push({\n index: i,\n bbox: shape.getBoundingBox(),\n center: new BoundingRect(shape.center(), 0, 0),\n });\n } catch {\n console.warn(`Shape ${shape.type} - ${shape.uuid} cannot be used for vision blocking !!!`);\n shape.visionObstruction = false;\n gameStore.visionBlockers.splice(i, 1);\n throw new Error();\n }\n }\n this.root = this.recursiveBuild(0, shapes.length);\n this.compact();\n }\n\n draw() {\n const ctx = layerManager.getLayer(\"draw\")!.ctx;\n for (const node of this.nodes) {\n const b = node.bbox;\n ctx.strokeRect(g2lx(b.topLeft.x), g2ly(b.topLeft.y), g2lz(b.w), g2lz(b.h));\n }\n }\n\n recursiveBuild(start: number, end: number): BoundingNode {\n this.totalNodes++;\n let bbox = this.buildData[start].bbox;\n for (let i = start + 1; i < end; i++) bbox = bbox.union(this.buildData[i].bbox);\n const nPrimitives = end - start;\n if (nPrimitives === 1) {\n return this.createLeaf(start, end, nPrimitives, bbox);\n } else {\n let centroidBbox = this.buildData[start].center;\n for (let i = start; i < end; i++) centroidBbox = centroidBbox.union(this.buildData[i].center);\n const dimension = centroidBbox.getMaxExtent();\n if (centroidBbox.botRight.get(dimension) === centroidBbox.topLeft.get(dimension)) {\n return this.createLeaf(start, end, nPrimitives, bbox);\n }\n // Use shitty Middle thingy until an introselect js algo is added\n const pMid = 0.5 * (centroidBbox.topLeft.get(dimension) + centroidBbox.botRight.get(dimension));\n const partitionedData = partition(\n this.buildData.slice(start, end),\n (n: BuildInfo) => n.center.center().get(dimension) < pMid,\n );\n const flattened = ([]).concat.apply([], partitionedData);\n if (partitionedData[0].length === 0 || partitionedData[1].length === 0) console.log(\"EMPTY\");\n this.buildData.splice(start, flattened.length, ...flattened);\n const mid = partitionedData[0].length + start;\n return new InteriorNode(dimension, this.recursiveBuild(start, mid), this.recursiveBuild(mid, end));\n }\n }\n\n intersect(ray: Ray, stopOnFirstHit?: boolean) {\n if (this.nodes.length === 0) return { hit: false, intersect: ray.get(0), tMin: 0, tMax: ray.tMax };\n if (stopOnFirstHit === undefined) stopOnFirstHit = false;\n // Initialize return values\n let hit = false;\n let tMin = 0;\n let tMax = ray.tMax;\n\n // Initialize work variables\n let todoOffset = 0;\n let nodeNum = 0;\n const todo: number[] = [];\n\n // Precalculate intersection vectors\n const invDir = ray.direction.inverse();\n const dirIsNegative = [invDir.x < 0, invDir.y < 0];\n\n while (true) {\n const node = this.nodes[nodeNum];\n\n const i = node.bbox.intersectP(ray, invDir, dirIsNegative);\n if (i.hit) {\n if (node.nPrimitives > 0) {\n // TODO: nPrimitives is currently always 1 , this could be generalised\n // for (let i=0; i < node.nPrimitives; i++) {\n // if (this.shapes[(node).primitivesOffset + i])\n // }\n hit = true;\n tMin = ray.tMax = i.min;\n tMax = i.max;\n if (todoOffset === 0 || stopOnFirstHit) break;\n nodeNum = todo[--todoOffset];\n } else {\n if (dirIsNegative[(node).dimension]) {\n todo[todoOffset++] = nodeNum + 1;\n nodeNum = (node).secondChildOffset;\n } else {\n todo[todoOffset++] = (node).secondChildOffset;\n nodeNum++;\n }\n }\n } else {\n if (todoOffset === 0) break;\n nodeNum = todo[--todoOffset];\n }\n }\n return { hit, intersect: ray.get(tMin), tMin, tMax };\n }\n\n private compact() {\n this.offset = 0;\n if (this.root !== null) this.flatten(this.root);\n }\n\n private flatten(node: BoundingNode) {\n const index = this.offset;\n const myOffset = this.offset++;\n if (node.nPrimitives === 0) {\n this.flatten(node.children[0]);\n const secondOffset = this.flatten(node.children[1]);\n this.nodes[index] = {\n bbox: node.bbox,\n dimension: (node).dimension,\n nPrimitives: 0,\n secondChildOffset: secondOffset,\n };\n } else {\n this.nodes[index] = {\n bbox: node.bbox,\n primitivesOffset: (node).firstPrimOffset,\n nPrimitives: node.nPrimitives,\n };\n }\n return myOffset;\n }\n\n private createLeaf(start: number, end: number, nPrimitives: number, bbox: BoundingRect) {\n const size = this.orderedPrims.length;\n for (let i = start; i < end; i++) this.orderedPrims.push(this.shapes[this.buildData[i].index]);\n return new LeafNode(size, nPrimitives, bbox);\n }\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=style&index=0&id=7111f3f6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=style&index=0&id=7111f3f6&scoped=true&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=style&index=0&id=21f210ea&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=style&index=0&id=21f210ea&scoped=true&lang=css&\"","import Initiative from \"./ui/initiative.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { createShapeFromDict } from \"@/game/shapes/utils\";\nimport { gameStore } from \"@/game/store\";\nimport { AnnotationManager } from \"@/game/ui/annotation\";\nimport { g2l } from \"@/game/units\";\n\nexport class GameManager {\n selectedTool: number = 0;\n\n annotationManager = new AnnotationManager();\n\n addShape(shape: ServerShape): void {\n if (!layerManager.hasLayer(shape.layer)) {\n console.log(`Shape with unknown layer ${shape.layer} could not be added`);\n return;\n }\n const layer = layerManager.getLayer(shape.layer)!;\n const sh = createShapeFromDict(shape);\n if (sh === undefined) {\n console.log(`Shape with unknown type ${shape.type_} could not be added`);\n return;\n }\n layer.addShape(sh, false);\n layer.invalidate(false);\n }\n\n updateShape(data: { shape: ServerShape; redraw: boolean; move: boolean }): void {\n if (!layerManager.hasLayer(data.shape.layer)) {\n console.log(`Shape with unknown layer ${data.shape.layer} could not be added`);\n return;\n }\n const sh = createShapeFromDict(data.shape, true);\n if (sh === undefined) {\n console.log(`Shape with unknown type ${data.shape.type_} could not be added`);\n return;\n }\n const oldShape = layerManager.UUIDMap.get(data.shape.uuid);\n if (oldShape === undefined) {\n console.log(`Shape with unknown id could not be updated`);\n return;\n }\n const redrawInitiative = sh.owners !== oldShape.owners;\n const shape = Object.assign(oldShape, sh);\n shape.checkVisionSources();\n shape.setMovementBlock(shape.movementObstruction);\n shape.setIsToken(shape.isToken);\n if (data.move && shape.visionObstruction) gameStore.recalculateBV();\n if (data.redraw) layerManager.getLayer(data.shape.layer)!.invalidate(false);\n if (redrawInitiative) getRef(\"initiative\").$forceUpdate();\n }\n\n setCenterPosition(position: GlobalPoint) {\n const localPos = g2l(position);\n gameStore.increasePanX((window.innerWidth / 2 - localPos.x) / gameStore.zoomFactor);\n gameStore.increasePanY((window.innerHeight / 2 - localPos.y) / gameStore.zoomFactor);\n layerManager.invalidate();\n sendClientOptions();\n }\n}\n\nexport const gameManager = new GameManager();\n(window).gameManager = gameManager;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"visible\":_vm.visible,\"mask\":false},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_c('div',[_vm._v(\"Initiative\")]),_c('div',{staticClass:\"header-close\",on:{\"click\":function($event){_vm.visible = false}}},[_c('i',{staticClass:\"far fa-window-close\"})])])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('draggable',{attrs:{\"id\":\"initiative-list\",\"options\":{setData: _vm.fakeSetData, disabled: !_vm.$store.state.game.IS_DM}},on:{\"change\":_vm.updateOrder},model:{value:(_vm.data),callback:function ($$v) {_vm.data=$$v},expression:\"data\"}},[_vm._l((_vm.data),function(actor){return [_c('div',{key:actor.uuid,staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"align-items\":\"flex-end\"}},[_c('div',{staticClass:\"initiative-actor\",class:{'initiative-selected': _vm.currentActor === actor.uuid},style:({'cursor': _vm.$store.state.game.IS_DM && 'move'}),on:{\"mouseenter\":function($event){_vm.toggleHighlight(actor, true)},\"mouseleave\":function($event){_vm.toggleHighlight(actor, false)}}},[(actor.has_img)?[_c('img',{attrs:{\"src\":actor.source,\"width\":\"30px\",\"height\":\"30px\"}})]:[_c('span',{staticStyle:{\"width\":\"auto\"}},[_vm._v(_vm._s(actor.source))])],_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy.number\",value:(actor.initiative),expression:\"actor.initiative\",modifiers:{\"lazy\":true,\"number\":true}}],class:{'notAllowed': !_vm.owns(actor)},attrs:{\"type\":\"text\",\"placeholder\":\"value\",\"disabled\":!_vm.owns(actor)},domProps:{\"value\":(actor.initiative)},on:{\"change\":[function($event){_vm.$set(actor, \"initiative\", _vm._n($event.target.value))},function($event){_vm.syncInitiative(actor)}],\"blur\":function($event){_vm.$forceUpdate()}}}),_c('div',{staticClass:\"initiative-effects-icon\",class:{'notAllowed': !_vm.owns(actor)},staticStyle:{\"opacity\":\"0.6\"},on:{\"click\":function($event){_vm.createEffect(actor, _vm.getDefaultEffect(), true)}}},[_c('i',{staticClass:\"fas fa-stopwatch\"}),(actor.effects)?[_vm._v(_vm._s(actor.effects.length))]:[_vm._v(\"0\")]],2),_c('div',{class:{'notAllowed': !_vm.owns(actor)},style:({'opacity': actor.visible ? '1.0' : '0.3'}),on:{\"click\":function($event){_vm.toggleOption(actor, 'visible')}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('div',{class:{'notAllowed': !_vm.owns(actor)},style:({'opacity': actor.group ? '1.0' : '0.3'}),on:{\"click\":function($event){_vm.toggleOption(actor, 'group')}}},[_c('i',{staticClass:\"fas fa-users\"})]),_c('div',{class:{'notAllowed': !_vm.owns(actor)},style:({'opacity': _vm.owns(actor) ? '1.0' : '0.3'}),on:{\"click\":function($event){_vm.removeInitiative(actor.uuid, true, true)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})])],2),(actor.effects)?_c('div',{staticClass:\"initiative-effect\"},_vm._l((actor.effects),function(effect){return _c('div',{key:effect.uuid},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(effect.name),expression:\"effect.name\"}],attrs:{\"type\":\"text\",\"size\":effect.name.length || 1},domProps:{\"value\":(effect.name)},on:{\"change\":function($event){_vm.updateEffect(actor.uuid, effect, true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(effect, \"name\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(effect.turns),expression:\"effect.turns\"}],attrs:{\"type\":\"text\",\"size\":effect.turns.toString().length || 1},domProps:{\"value\":(effect.turns)},on:{\"change\":function($event){_vm.updateEffect(actor.uuid, effect, true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(effect, \"turns\", $event.target.value)}}})])})):_vm._e()])]})],2),_c('div',{attrs:{\"id\":\"initiative-bar\"}},[_c('div',{attrs:{\"id\":\"initiative-round\"}},[_vm._v(\"Round \"+_vm._s(_vm.roundCounter))]),_c('div',{staticStyle:{\"display\":\"flex\"}}),_c('div',{staticClass:\"initiative-bar-button\",class:{'notAllowed': !_vm.$store.state.game.IS_DM},on:{\"click\":function($event){_vm.setRound(0, true); _vm.setTurn(_vm.data[0].uuid, true)}}},[_c('i',{staticClass:\"fas fa-sync-alt\"})]),_c('div',{staticClass:\"initiative-bar-button\",class:{'notAllowed': !_vm.$store.state.game.IS_DM},on:{\"click\":_vm.nextTurn}},[_c('i',{staticClass:\"fas fa-chevron-right\"})])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=template&id=ccaf03d6&scoped=true&\"","\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class LoadComponent extends Vue {\n message = \"Loading...\";\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=1&id=6d744362&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=1&id=6d744362&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport axios, { AxiosError, AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Route } from \"vue-router\";\n\nimport { coreStore } from \"@/core/store\";\n\nComponent.registerHooks([\"beforeRouteEnter\"]);\n\n@Component\nexport default class Dashboard extends Vue {\n owned = [];\n joined = [];\n error = \"\";\n\n newSessionName = \"\";\n\n beforeRouteEnter(to: Route, from: Route, next: ({}) => {}) {\n axios\n .get(\"/api/rooms\")\n .then((response: AxiosResponse) => {\n next((vm: this) => {\n vm.owned = response.data.owned;\n vm.joined = response.data.joined;\n });\n })\n .catch((err: AxiosError) => {\n next((vm: this) => {\n vm.error = err.message;\n });\n });\n }\n\n createRoom(event: Event) {\n axios\n .post(\"/api/rooms\", {\n name: this.newSessionName,\n })\n .then((response: AxiosResponse) => {\n this.$router.push(`/game/${coreStore.username}/${this.newSessionName}`);\n })\n .catch((err: AxiosError) => {\n this.error = err.message;\n });\n }\n}\n","import { render, staticRenderFns } from \"./confirm.vue?vue&type=template&id=1883e207&scoped=true&\"\nimport script from \"./confirm.vue?vue&type=script&lang=ts&\"\nexport * from \"./confirm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./confirm.vue?vue&type=style&index=0&id=1883e207&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1883e207\",\n null\n \n)\n\ncomponent.options.__file = \"confirm.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=script&lang=ts&\"","import Vue from \"vue\";\nexport const EventBus = new Vue();\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=ts&\"","import { GlobalPoint } from \"@/game/geom\";\nimport { BaseRect } from \"@/game/shapes/baserect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class Rect extends BaseRect {\n type = \"rect\";\n constructor(topleft: GlobalPoint, w: number, h: number, fillColour?: string, strokeColour?: string, uuid?: string) {\n super(topleft, w, h, fillColour, strokeColour, uuid);\n }\n asDict() {\n return super.getBaseDict();\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n if (this.fillColour === \"fog\") ctx.fillStyle = getFogColour();\n else ctx.fillStyle = this.fillColour;\n const z = gameStore.zoomFactor;\n const loc = g2l(this.refPoint);\n ctx.fillRect(loc.x, loc.y, this.w * z, this.h * z);\n if (this.strokeColour !== \"rgba(0, 0, 0, 0)\") {\n ctx.strokeStyle = this.strokeColour;\n ctx.lineWidth = 5;\n ctx.strokeRect(loc.x, loc.y, this.w * z, this.h * z);\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=script&lang=ts&\"","import { Ray, Vector } from \"@/game/geom\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Settings } from \"@/game/settings\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lx, g2ly } from \"@/game/units\";\nimport { computeVisibility } from \"../visibility/te/te\";\n\nexport class FOWPlayersLayer extends Layer {\n isVisionLayer: boolean = true;\n\n draw(): void {\n if (!this.valid) {\n // console.time(\"VI\");\n const ctx = this.ctx;\n\n if (!gameStore.fowLOS || Settings.skipPlayerFOW) {\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n this.valid = true;\n return;\n }\n\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n const drctx = layerManager.getLayer(\"draw\")!.ctx;\n drctx.clearRect(0, 0, window.innerWidth, window.innerHeight);\n\n const originalOperation = ctx.globalCompositeOperation;\n\n ctx.fillStyle = \"rgba(0, 0, 0, 1)\";\n\n // For the DM this is done at the end of this function. TODO: why the split up ???\n // This was done in commit be1e65cff1e7369375fe11cfa1643fab1d11beab.\n if (!gameStore.IS_DM) super.draw(!gameStore.fullFOW);\n\n // Then cut out all the player vision auras\n const maxLength = ctx.canvas.width + ctx.canvas.height;\n\n for (const tokenId of gameStore.ownedtokens) {\n const token = layerManager.UUIDMap.get(tokenId);\n if (token === undefined) continue;\n if (gameStore.visionMode === \"bvh\") {\n ctx.beginPath();\n let lastArcAngle = -1;\n const center = token.center();\n const lcenter = g2l(center);\n\n for (let angle = 0; angle < 2 * Math.PI; angle += (Settings.angleSteps / 2 / 180) * Math.PI) {\n const cos = Math.cos(angle);\n const sin = Math.sin(angle);\n // Check if there is a hit with one of the nearby light blockers.\n const lightRay = new Ray(center, new Vector(cos, sin));\n const hitResult = gameStore.BV.intersect(lightRay);\n\n // We can move on to the next angle if nothing was hit.\n if (!hitResult.hit) {\n // If an earlier hit caused the aura to leave the arc, we need to go back to the arc\n if (lastArcAngle === -1) {\n // Draw a line from the last non arc location back to the arc\n ctx.lineTo(lcenter.x + maxLength * cos, lcenter.y + maxLength * sin);\n // Set the start of a new arc beginning at the current angle\n lastArcAngle = angle;\n }\n continue;\n }\n // If hit , first finish any ongoing arc, then move to the intersection point\n if (lastArcAngle !== -1) {\n ctx.arc(lcenter.x, lcenter.y, maxLength, lastArcAngle, angle);\n lastArcAngle = -1;\n }\n ctx.lineTo(g2lx(hitResult.intersect.x), g2ly(hitResult.intersect.y));\n }\n\n // Finish the final arc.\n if (lastArcAngle !== -1) ctx.arc(lcenter.x, lcenter.y, maxLength, lastArcAngle, 2 * Math.PI);\n else ctx.closePath();\n ctx.fill();\n } else {\n try {\n const polygon = computeVisibility(token.center());\n ctx.beginPath();\n ctx.moveTo(g2lx(polygon[0][0]), g2ly(polygon[0][1]));\n for (const point of polygon) ctx.lineTo(g2lx(point[0]), g2ly(point[1]));\n ctx.closePath();\n ctx.fill();\n } catch {}\n }\n }\n\n // For the players this is done at the beginning of this function. TODO: why the split up ???\n // This was done in commit be1e65cff1e7369375fe11cfa1643fab1d11beab.\n if (gameStore.IS_DM) super.draw(!gameStore.fullFOW);\n\n ctx.globalCompositeOperation = originalOperation;\n // console.timeEnd(\"VI\");\n }\n }\n}\n","import { socket } from \"@/game/api/socket\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { createShapeFromDict } from \"@/game/shapes/utils\";\nimport { gameStore } from \"@/game/store\";\nimport { g2lx, g2ly } from \"@/game/units\";\n\nexport class Layer {\n name: string;\n width: number;\n height: number;\n canvas: HTMLCanvasElement;\n ctx: CanvasRenderingContext2D;\n\n selectable: boolean = false;\n playerEditable: boolean = false;\n isVisionLayer: boolean = false;\n\n // When set to false, the layer will be redrawn on the next tick\n valid: boolean = false;\n // The collection of shapes that this layer contains.\n // These are ordered on a depth basis.\n shapes: Shape[] = [];\n\n // Collection of shapes that are currently selected\n selection: Shape[] = [];\n\n // Extra selection highlighting settings\n selectionColor = \"#CC0000\";\n selectionWidth = 2;\n\n constructor(canvas: HTMLCanvasElement, name: string) {\n this.canvas = canvas;\n this.name = name;\n this.width = canvas.width;\n this.height = canvas.height;\n this.ctx = canvas.getContext(\"2d\")!;\n }\n\n invalidate(skipLightUpdate: boolean): void {\n this.valid = false;\n if (!skipLightUpdate) {\n layerManager.invalidateLight();\n }\n }\n\n addShape(shape: Shape, sync: boolean, temporary?: boolean): void {\n if (temporary === undefined) temporary = false;\n shape.layer = this.name;\n this.shapes.push(shape);\n layerManager.UUIDMap.set(shape.uuid, shape);\n shape.checkVisionSources();\n shape.setMovementBlock(shape.movementObstruction);\n if (shape.ownedBy(gameStore.username) && shape.isToken) gameStore.ownedtokens.push(shape.uuid);\n if (shape.annotation.length) gameStore.annotations.push(shape.uuid);\n if (sync) socket.emit(\"Shape.Add\", { shape: shape.asDict(), temporary });\n this.invalidate(!sync);\n }\n\n setShapes(shapes: ServerShape[]): void {\n for (const serverShape of shapes) {\n const shape = createShapeFromDict(serverShape);\n if (shape === undefined) {\n console.log(`Shape with unknown type ${serverShape.type_} could not be added`);\n return;\n }\n this.addShape(shape, false, false);\n }\n this.clearSelection(); // TODO: Fix keeping selection on those items that are not moved.\n this.invalidate(false);\n }\n\n removeShape(shape: Shape, sync: boolean, temporary?: boolean) {\n if (temporary === undefined) temporary = false;\n this.shapes.splice(this.shapes.indexOf(shape), 1);\n\n if (sync) socket.emit(\"Shape.Remove\", { shape, temporary });\n const lsI = gameStore.visionSources.findIndex(ls => ls.shape === shape.uuid);\n const lbI = gameStore.visionBlockers.findIndex(ls => ls === shape.uuid);\n\n const mbI = gameStore.movementblockers.findIndex(ls => ls === shape.uuid);\n const anI = gameStore.annotations.findIndex(ls => ls === shape.uuid);\n if (lsI >= 0) gameStore.visionSources.splice(lsI, 1);\n if (lbI >= 0) gameStore.visionBlockers.splice(lbI, 1);\n if (mbI >= 0) gameStore.movementblockers.splice(mbI, 1);\n if (anI >= 0) gameStore.annotations.splice(anI, 1);\n\n const annotationIndex = gameStore.annotations.indexOf(shape.uuid);\n if (annotationIndex >= 0) gameStore.annotations.splice(annotationIndex, 1);\n\n const ownedIndex = gameStore.ownedtokens.indexOf(shape.uuid);\n if (ownedIndex >= 0) gameStore.ownedtokens.splice(ownedIndex, 1);\n\n layerManager.UUIDMap.delete(shape.uuid);\n\n const index = this.selection.indexOf(shape);\n if (index >= 0) this.selection.splice(index, 1);\n if (lbI >= 0) gameStore.recalculateBV();\n this.invalidate(!sync);\n }\n\n clear(): void {\n this.ctx.clearRect(0, 0, this.width, this.height);\n }\n\n clearSelection(): void {\n this.selection = [];\n EventBus.$emit(\"SelectionInfo.Shape.Set\", null);\n }\n\n draw(doClear?: boolean): void {\n if (!this.valid) {\n const ctx = this.ctx;\n const ogOP = ctx.globalCompositeOperation;\n doClear = doClear === undefined ? true : doClear;\n\n if (doClear) this.clear();\n\n const state = this;\n\n // We iteratre twice over all shapes\n // First to draw the auras and a second time to draw the shapes themselves\n // Otherwise auras from one shape could be overlapping another shape itself.\n\n this.shapes.forEach(shape => {\n if (shape.options.has(\"skipDraw\") && shape.options.get(\"skipDraw\")) return;\n if (layerManager.getLayer() === undefined) return;\n if (!shape.visibleInCanvas(state.canvas)) return;\n if (state.name === \"fow\" && shape.visionObstruction && layerManager.getLayer()!.name !== state.name)\n return;\n shape.drawAuras(ctx);\n });\n this.shapes.forEach(shape => {\n if (shape.options.has(\"skipDraw\") && shape.options.get(\"skipDraw\")) return;\n if (layerManager.getLayer() === undefined) return;\n if (!shape.visibleInCanvas(state.canvas)) return;\n if (state.name === \"fow\" && shape.visionObstruction && layerManager.getLayer()!.name !== state.name)\n return;\n shape.draw(ctx);\n });\n\n if (this.selection != null) {\n ctx.fillStyle = this.selectionColor;\n ctx.strokeStyle = this.selectionColor;\n ctx.lineWidth = this.selectionWidth;\n const z = gameStore.zoomFactor;\n this.selection.forEach(sel => {\n ctx.globalCompositeOperation = sel.globalCompositeOperation;\n const bb = sel.getBoundingBox();\n // TODO: REFACTOR THIS TO Shape.drawSelection(ctx);\n ctx.strokeRect(g2lx(bb.topLeft.x), g2ly(bb.topLeft.y), bb.w * z, bb.h * z);\n\n const sw = Math.min(6, bb.w / 2);\n\n // topright\n ctx.fillRect(g2lx(bb.topRight.x - sw / 2), g2ly(bb.topLeft.y - sw / 2), sw * z, sw * z);\n // topleft\n ctx.fillRect(g2lx(bb.topLeft.x - sw / 2), g2ly(bb.topLeft.y - sw / 2), sw * z, sw * z);\n // botright\n ctx.fillRect(g2lx(bb.topRight.x - sw / 2), g2ly(bb.botLeft.y - sw / 2), sw * z, sw * z);\n // botleft\n ctx.fillRect(g2lx(bb.topLeft.x - sw / 2), g2ly(bb.botLeft.y - sw / 2), sw * z, sw * z);\n });\n }\n ctx.globalCompositeOperation = ogOP;\n this.valid = true;\n }\n }\n\n moveShapeOrder(shape: Shape, destinationIndex: number, sync: boolean): void {\n const oldIdx = this.shapes.indexOf(shape);\n if (oldIdx === destinationIndex) return;\n this.shapes.splice(oldIdx, 1);\n this.shapes.splice(destinationIndex, 0, shape);\n if (sync) socket.emit(\"Shape.Order.Set\", { shape: shape.asDict(), index: destinationIndex });\n this.invalidate(true);\n }\n\n onShapeMove(shape: Shape): void {\n shape.checkVisionSources();\n if (shape.visionObstruction) gameStore.recalculateBV();\n this.invalidate(false);\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SelectContext',{ref:\"selectcontext\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=template&id=0ed49b21&\"","import { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\n\nexport function scrollZoom(e: WheelEvent) {\n if (!e.target || !(e.target).tagName || (e.target).tagName !== \"CANVAS\") return;\n let delta: number;\n delta = Math.sign(e.deltaY) * -1;\n gameStore.updateZoom({ newZoomValue: gameStore.zoomFactor + 0.1 * delta, zoomLocation: l2g(getMouse(e)) });\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=style&index=0&id=62c91cd3&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=style&index=0&id=62c91cd3&scoped=true&lang=css&\"","import { GlobalPoint, LocalPoint, Vector } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\nimport { g2lx, g2ly, l2g, l2gx, l2gy } from \"@/game/units\";\n\nexport abstract class BaseRect extends Shape {\n w: number;\n h: number;\n constructor(topleft: GlobalPoint, w: number, h: number, fillColour?: string, strokeColour?: string, uuid?: string) {\n super(topleft, fillColour, strokeColour, uuid);\n this.w = w;\n this.h = h;\n }\n getBaseDict() {\n return Object.assign(super.getBaseDict(), {\n width: this.w,\n height: this.h,\n });\n }\n getBoundingBox() {\n return new BoundingRect(this.refPoint, this.w, this.h);\n }\n\n get points() {\n if (this.w === 0 || this.h === 0) return [[this.refPoint.x, this.refPoint.y]];\n // note to self: topright and botleft are swapped because I'm retarded.\n const topright = this.refPoint.add(new Vector(0, this.h));\n const botright = this.refPoint.add(new Vector(this.w, this.h));\n const botleft = this.refPoint.add(new Vector(this.w, 0));\n return [\n [this.refPoint.x, this.refPoint.y],\n [topright.x, topright.y],\n [botright.x, botright.y],\n [botleft.x, botleft.y],\n ];\n }\n\n contains(point: GlobalPoint): boolean {\n return (\n this.refPoint.x <= point.x &&\n this.refPoint.x + this.w >= point.x &&\n this.refPoint.y <= point.y &&\n this.refPoint.y + this.h >= point.y\n );\n }\n inCorner(point: GlobalPoint, corner: string) {\n switch (corner) {\n case \"ne\":\n return (\n this.refPoint.x + this.w - 3 <= point.x &&\n point.x <= this.refPoint.x + this.w + 3 &&\n this.refPoint.y - 3 <= point.y &&\n point.y <= this.refPoint.y + 3\n );\n case \"nw\":\n return (\n this.refPoint.x - 3 <= point.x &&\n point.x <= this.refPoint.x + 3 &&\n this.refPoint.y - 3 <= point.y &&\n point.y <= this.refPoint.y + 3\n );\n case \"sw\":\n return (\n this.refPoint.x - 3 <= point.x &&\n point.x <= this.refPoint.x + 3 &&\n this.refPoint.y + this.h - 3 <= point.y &&\n point.y <= this.refPoint.y + this.h + 3\n );\n case \"se\":\n return (\n this.refPoint.x + this.w - 3 <= point.x &&\n point.x <= this.refPoint.x + this.w + 3 &&\n this.refPoint.y + this.h - 3 <= point.y &&\n point.y <= this.refPoint.y + this.h + 3\n );\n default:\n return false;\n }\n }\n getCorner(point: GlobalPoint): string | undefined {\n if (this.inCorner(point, \"ne\")) return \"ne\";\n else if (this.inCorner(point, \"nw\")) return \"nw\";\n else if (this.inCorner(point, \"se\")) return \"se\";\n else if (this.inCorner(point, \"sw\")) return \"sw\";\n }\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {\n if (centerPoint === undefined) return this.refPoint.add(new Vector(this.w / 2, this.h / 2));\n this.refPoint.x = centerPoint.x - this.w / 2;\n this.refPoint.y = centerPoint.y - this.h / 2;\n }\n\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n if (super.visibleInCanvas(canvas)) return true;\n const coreVisible = !(\n g2lx(this.refPoint.x) > canvas.width ||\n g2ly(this.refPoint.y) > canvas.height ||\n g2lx(this.refPoint.x + this.w) < 0 ||\n g2ly(this.refPoint.y + this.h) < 0\n );\n if (coreVisible) return true;\n return false;\n }\n snapToGrid() {\n const gs = gameStore.gridSize;\n const center = this.center();\n const mx = center.x;\n const my = center.y;\n\n let targetX;\n let targetY;\n\n if ((this.w / gs) % 2 === 0) {\n targetX = Math.round(mx / gs) * gs - this.w / 2;\n } else {\n targetX = (Math.round((mx + gs / 2) / gs) - 1 / 2) * gs - this.w / 2;\n }\n if ((this.h / gs) % 2 === 0) {\n targetY = Math.round(my / gs) * gs - this.h / 2;\n } else {\n targetY = (Math.round((my + gs / 2) / gs) - 1 / 2) * gs - this.h / 2;\n }\n\n const delta = calculateDelta(new Vector(targetX - this.refPoint.x, targetY - this.refPoint.y), this);\n this.refPoint = this.refPoint.add(delta);\n\n this.invalidate(false);\n }\n resizeToGrid() {\n const gs = gameStore.gridSize;\n this.refPoint.x = Math.round(this.refPoint.x / gs) * gs;\n this.refPoint.y = Math.round(this.refPoint.y / gs) * gs;\n this.w = Math.max(Math.round(this.w / gs) * gs, gs);\n this.h = Math.max(Math.round(this.h / gs) * gs, gs);\n this.invalidate(false);\n }\n resize(resizedir: string, point: LocalPoint) {\n const z = gameStore.zoomFactor;\n if (resizedir === \"nw\") {\n this.w = g2lx(this.refPoint.x) + this.w * z - point.x;\n this.h = g2ly(this.refPoint.y) + this.h * z - point.y;\n this.refPoint = l2g(point);\n } else if (resizedir === \"ne\") {\n this.w = point.x - g2lx(this.refPoint.x);\n this.h = g2ly(this.refPoint.y) + this.h * z - point.y;\n this.refPoint.y = l2gy(point.y);\n } else if (resizedir === \"se\") {\n this.w = point.x - g2lx(this.refPoint.x);\n this.h = point.y - g2ly(this.refPoint.y);\n } else if (resizedir === \"sw\") {\n this.w = g2lx(this.refPoint.x) + this.w * z - point.x;\n this.h = point.y - g2ly(this.refPoint.y);\n this.refPoint.x = l2gx(point.x);\n }\n this.w /= z;\n this.h /= z;\n\n if (this.w < 0) {\n this.refPoint.x += this.w;\n this.w = Math.abs(this.w);\n }\n if (this.h < 0) {\n this.refPoint.y += this.h;\n this.h = Math.abs(this.h);\n }\n }\n}\n","import { render, staticRenderFns } from \"./select.vue?vue&type=template&id=0ed49b21&\"\nimport script from \"./select.vue?vue&type=script&lang=ts&\"\nexport * from \"./select.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"select.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=61eb1455&scoped=true&\"\nimport script from \"./main.vue?vue&type=script&lang=ts&\"\nexport * from \"./main.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./main.vue?vue&type=style&index=0&id=61eb1455&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61eb1455\",\n null\n \n)\n\ncomponent.options.__file = \"main.vue\"\nexport default component.exports","\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ContextMenu from \"@/core/components/contextmenu.vue\";\n\nimport { socket } from \"@/game/api/socket\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { gameStore } from \"@/game/store\";\nimport { l2gx, l2gy } from \"@/game/units\";\n\n@Component({\n components: {\n ContextMenu,\n },\n})\nexport default class SelectContext extends Vue {\n visible = false;\n x = 0;\n y = 0;\n\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n\n open(event: MouseEvent) {\n this.visible = true;\n this.x = event.pageX;\n this.y = event.pageY;\n this.$nextTick(() => this.$children[0].$el.focus());\n }\n close() {\n this.visible = false;\n }\n bringPlayers() {\n if (!gameStore.IS_DM) return;\n socket.emit(\"Players.Bring\", { x: l2gx(this.x), y: l2gy(this.y) });\n this.close();\n }\n createToken() {\n (this.$parent.$parent.$refs.createtokendialog).open(this.x, this.y);\n this.close();\n }\n showInitiative() {\n EventBus.$emit(\"Initiative.Show\");\n this.close();\n }\n}\n","import Axios from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Route } from \"vue-router\";\n\nimport { coreStore } from \"@/core/store\";\n\n@Component({ template: \"\" })\nexport default class Logout extends Vue {\n beforeRouteEnter(to: Route, from: Route, next: ({}) => {}) {\n Axios.post(\"/api/logout\").then(() => {\n coreStore.setAuthenticated(false);\n coreStore.setUsername(\"\");\n next({ path: \"/auth/login\" });\n });\n }\n}\n","import { getModule, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\n\nimport { rootStore } from \"@/store\";\n\nexport interface CoreState {\n authenticated: boolean;\n initialized: boolean;\n}\n\n@Module({ dynamic: true, store: rootStore, name: \"core\" })\nclass CoreStore extends VuexModule {\n authenticated = false;\n initialized = false;\n username = \"\";\n\n @Mutation\n setAuthenticated(auth: boolean) {\n this.authenticated = auth;\n }\n\n @Mutation\n setInitialized(init: boolean) {\n this.initialized = init;\n }\n\n @Mutation\n setUsername(username: string) {\n this.username = username;\n }\n}\n\nexport const coreStore = getModule(CoreStore);\n","import Vue from \"vue\";\n\nimport App from \"@/App.vue\";\nimport { router } from \"@/router\";\nimport { rootStore } from \"@/store\";\n\nVue.config.productionTip = false;\nVue.config.devtools = true;\nVue.config.performance = true;\n\nexport const app = new Vue({\n router,\n store: rootStore,\n render: h => h(App),\n}).$mount(\"#app\");\n\n(window).app = app;\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\n@Component({\n props: [\"visible\", \"left\", \"top\"],\n})\nexport default class ContextMenu extends Vue {}\n","import Axios, { AxiosError, AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Route } from \"vue-router\";\n\n@Component({ template: \"\" })\nexport default class Initiative extends Vue {\n beforeRouteEnter(to: Route, from: Route, next: ({}) => {}) {\n Axios.post(\"/api/invite\", {\n code: to.params.code,\n })\n .then((response: AxiosResponse) => {\n next({ path: response.data.sessionUrl });\n })\n .catch((error: AxiosError) => {\n console.error(\"Invitation code could not be redeemed\");\n next({ path: \"/dashboard\" });\n });\n }\n}\n","import { render, staticRenderFns } from \"./prompt.vue?vue&type=template&id=0602c2e6&scoped=true&\"\nimport script from \"./prompt.vue?vue&type=script&lang=ts&\"\nexport * from \"./prompt.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prompt.vue?vue&type=style&index=0&id=0602c2e6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0602c2e6\",\n null\n \n)\n\ncomponent.options.__file = \"prompt.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=style&index=0&id=7abc7fe9&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=style&index=0&id=7abc7fe9&scoped=true&lang=css&\"","import { GlobalPoint } from \"@/game/geom\";\n\nimport { Edge } from \"./cdt\";\nimport { drawPolygon } from \"./draw\";\nimport { PA_CDT } from \"./pa\";\nimport { Point, Sign, Triangle } from \"./tds\";\nimport { ccw, cw, orientation } from \"./triag\";\n\nexport function computeVisibility(q: GlobalPoint, it = 0, drawt = false): number[][] {\n // console.time(\"CV\");\n const Q: Point = [q.x, q.y];\n const rawOutput: number[][] = [];\n const triangle = PA_CDT.locate(Q, null).loc;\n if (triangle === null) {\n console.error(\"Triangle not found\");\n return [];\n }\n // triangle.fill();\n rawOutput.push(triangle.vertices[1]!.point!);\n if (!triangle.isConstrained(0))\n expandEdge(Q, triangle.vertices[2]!.point!, triangle.vertices[1]!.point!, triangle, 0, rawOutput);\n rawOutput.push(triangle.vertices[2]!.point!);\n if (!triangle.isConstrained(1))\n expandEdge(Q, triangle.vertices[0]!.point!, triangle.vertices[2]!.point!, triangle, 1, rawOutput);\n rawOutput.push(triangle.vertices[0]!.point!);\n if (!triangle.isConstrained(2))\n expandEdge(Q, triangle.vertices[1]!.point!, triangle.vertices[0]!.point!, triangle, 2, rawOutput);\n // console.timeEnd(\"CV\");\n\n if (drawt) drawPolygon(rawOutput, \"red\");\n\n return rawOutput;\n}\n\nfunction expandEdge(\n q: Point,\n left: number[],\n right: number[],\n fh: Triangle,\n index: number,\n rawOutput: number[][],\n): void {\n // fh.edge(index).draw();\n const nfh = fh.neighbours[index]!;\n // nfh.fill(\"rgba(255, 0, 0, 0.25)\");\n const nIndex = nfh.indexT(fh);\n const rIndex = ccw(nIndex);\n const lIndex = cw(nIndex);\n const nvh = nfh.vertices[nIndex]!;\n const rvh = nfh.vertices[lIndex]!;\n const lvh = nfh.vertices[rIndex]!;\n\n const re: Edge = [nfh, rIndex];\n const le: Edge = [nfh, lIndex];\n\n const ro = orientation(q, right, nvh.point!);\n const lo = orientation(q, left, nvh.point!);\n\n // const ctx = layerManager.getLayer(\"draw\")!.ctx;\n // ctx.beginPath();\n // ctx.strokeStyle = \"red\";\n // ctx.lineJoin = \"round\";\n // ctx.moveTo(g2lx(q.x), g2ly(q.y));\n // ctx.lineTo(g2lx(left[0]), g2ly(left[1]));\n // ctx.moveTo(g2lx(q.x), g2ly(q.y));\n // ctx.lineTo(g2lx(nvh[0]), g2ly(nvh[1]));\n // ctx.strokeStyle = \"blue\";\n // ctx.moveTo(g2lx(q.x), g2ly(q.y));\n // ctx.lineTo(g2lx(right[0]), g2ly(right[1]));\n // ctx.moveTo(g2lx(q.x), g2ly(q.y));\n // ctx.lineTo(g2lx(nvh[0]), g2ly(nvh[1]));\n // ctx.closePath();\n // ctx.stroke();\n\n // Right edge is seen if the new vertex is ccw of the right ray\n if (ro === Sign.COUNTERCLOCKWISE) {\n if (re[0].isConstrained(re[1])) {\n // See if current right ray is rvh\n if (right !== rvh.point!) rawOutput.push(raySegIntersection(q, right, nvh.point!, rvh.point!));\n if (lo === Sign.COUNTERCLOCKWISE) rawOutput.push(raySegIntersection(q, left, nvh.point!, rvh.point!));\n } else {\n if (lo === Sign.COUNTERCLOCKWISE) return expandEdge(q, left, right, nfh, rIndex, rawOutput);\n else expandEdge(q, nvh.point!, right, nfh, rIndex, rawOutput);\n }\n }\n\n if (ro !== Sign.CLOCKWISE && lo !== Sign.COUNTERCLOCKWISE) {\n rawOutput.push(nvh.point!);\n }\n\n if (lo === Sign.CLOCKWISE) {\n if (le[0].isConstrained(le[1])) {\n if (ro === Sign.CLOCKWISE) {\n rawOutput.push(raySegIntersection(q, right, nvh.point!, lvh.point!));\n }\n if (left !== lvh.point!) {\n rawOutput.push(raySegIntersection(q, left, nvh.point!, lvh.point!));\n }\n return;\n } else {\n if (ro === Sign.CLOCKWISE) {\n return expandEdge(q, left, right, nfh, lIndex, rawOutput);\n } else {\n return expandEdge(q, left, nvh.point!, nfh, lIndex, rawOutput);\n }\n }\n }\n}\n\nfunction raySegIntersection(q: Point, b: Point, s: Point, t: Point) {\n const denominator = (t[1] - s[1]) * (b[0] - q[0]) - (t[0] - s[0]) * (b[1] - q[1]);\n const ua = ((t[0] - s[0]) * (q[1] - s[1]) - (t[1] - s[1]) * (q[0] - s[0])) / denominator;\n // const ub = ((b[0] - q.x) * (q.y - s[1]) - (b[1] - q.y) * (q.x - s[0])) / denominator;\n const x = q[0] + ua * (b[0] - q[0]);\n const y = q[1] + ua * (b[1] - q[1]);\n\n return [x, y];\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=6bbf3b79&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=6bbf3b79&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./edit_dialog.vue?vue&type=template&id=078b3b76&scoped=true&\"\nimport script from \"./edit_dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit_dialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./edit_dialog.vue?vue&type=style&index=0&id=078b3b76&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"078b3b76\",\n null\n \n)\n\ncomponent.options.__file = \"edit_dialog.vue\"\nexport default component.exports","export class Settings {\n static angleSteps = 4;\n static drawAngleLines = false;\n static drawFirstLightHit = false;\n static skipPlayerFOW = false;\n static skipLightFOW = false;\n\n static tempFill: string = \"fog\";\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport axios, { AxiosError, AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { coreStore } from \"@/core/store\";\n\n@Component\nexport default class Login extends Vue {\n username = \"\";\n password = \"\";\n error = \"\";\n\n login() {\n axios\n .post(\"/api/login\", {\n username: this.username,\n password: this.password,\n })\n .then((response: AxiosResponse) => {\n coreStore.setUsername(this.username);\n coreStore.setAuthenticated(true);\n this.$router.push(this.$route.query.redirect || \"/\");\n })\n .catch((error: AxiosError) => {\n if (error.response) this.error = error.response.statusText;\n else this.error = \"Unknown error occured\";\n });\n }\n\n register() {\n axios\n .post(\"/api/register\", {\n username: this.username,\n password: this.password,\n })\n .then((response: AxiosResponse) => {\n coreStore.setUsername(this.username);\n coreStore.setAuthenticated(true);\n this.$router.push(this.$route.query.redirect || \"/\");\n })\n .catch((error: AxiosError) => {\n if (error.response) this.error = error.response.statusText;\n else this.error = \"Unknown error occured\";\n });\n }\n\n focusin(event: { target?: { nextElementSibling?: HTMLElement } }) {\n if (event.target && event.target.nextElementSibling) {\n const span = event.target.nextElementSibling;\n span.style.opacity = \"0\";\n }\n }\n\n focusout(event: { target?: { nextElementSibling?: HTMLElement } }) {\n if (event.target && event.target.nextElementSibling) {\n const span = event.target.nextElementSibling;\n span.style.opacity = \"1\";\n }\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\")}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=template&id=1e034b42&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"modal\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"mask\",class:{'modal-mask': _vm.mask, 'dialog-mask': !_vm.mask},on:{\"click\":_vm.close,\"dragover\":function($event){$event.preventDefault();return _vm.dragOver($event)}}},[_c('div',{ref:\"container\",staticClass:\"modal-container\",on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._t(\"header\",null,{dragStart:_vm.dragStart,dragEnd:_vm.dragEnd}),_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=template&id=12ed61ba&scoped=true&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=script&lang=ts&\"","import Component from \"vue-class-component\";\n\nimport Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { socket } from \"@/game/api/socket\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Line } from \"@/game/shapes/line\";\nimport { Text } from \"@/game/shapes/text\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\n\n@Component\nexport class RulerTool extends Tool {\n name = \"Ruler\";\n active = false;\n startPoint: GlobalPoint | null = null;\n ruler: Line | null = null;\n text: Text | null = null;\n onMouseDown(event: MouseEvent) {\n const layer = layerManager.getLayer(\"draw\");\n if (layer === undefined) {\n console.log(\"No draw layer!\");\n return;\n }\n this.active = true;\n this.startPoint = l2g(getMouse(event));\n this.ruler = new Line(this.startPoint, this.startPoint, 3, gameStore.rulerColour);\n this.text = new Text(this.startPoint.clone(), \"\", \"bold 20px serif\");\n this.ruler.owners.push(gameStore.username);\n this.text.owners.push(gameStore.username);\n layer.addShape(this.ruler, true, true);\n layer.addShape(this.text, true, true);\n }\n onMouseMove(event: MouseEvent) {\n if (!this.active || this.ruler === null || this.startPoint === null || this.text === null) return;\n\n const layer = layerManager.getLayer(\"draw\");\n if (layer === undefined) {\n console.log(\"No draw layer!\");\n return;\n }\n const endPoint = l2g(getMouse(event));\n\n this.ruler.endPoint = endPoint;\n socket.emit(\"Shape.Update\", { shape: this.ruler!.asDict(), redraw: true, temporary: true });\n\n const diffsign = Math.sign(endPoint.x - this.startPoint.x) * Math.sign(endPoint.y - this.startPoint.y);\n const xdiff = Math.abs(endPoint.x - this.startPoint.x);\n const ydiff = Math.abs(endPoint.y - this.startPoint.y);\n const label =\n Math.round((Math.sqrt(xdiff ** 2 + ydiff ** 2) * gameStore.unitSize) / gameStore.gridSize) + \" ft\";\n const angle = Math.atan2(diffsign * ydiff, xdiff);\n const xmid = Math.min(this.startPoint.x, endPoint.x) + xdiff / 2;\n const ymid = Math.min(this.startPoint.y, endPoint.y) + ydiff / 2;\n this.text.refPoint.x = xmid;\n this.text.refPoint.y = ymid;\n this.text.text = label;\n this.text.angle = angle;\n socket.emit(\"Shape.Update\", { shape: this.text.asDict(), redraw: true, temporary: true });\n layer.invalidate(true);\n }\n onMouseUp(event: MouseEvent) {\n if (!this.active || this.ruler === null || this.startPoint === null || this.text === null) return;\n\n const layer = layerManager.getLayer(\"draw\");\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = false;\n\n layer.removeShape(this.ruler, true, true);\n layer.removeShape(this.text, true, true);\n layer.invalidate(true);\n this.ruler = this.startPoint = this.text = null;\n }\n}\n","import { render, staticRenderFns } from \"./modal.vue?vue&type=template&id=12ed61ba&scoped=true&\"\nimport script from \"./modal.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./modal.vue?vue&type=style&index=0&id=12ed61ba&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"12ed61ba\",\n null\n \n)\n\ncomponent.options.__file = \"modal.vue\"\nexport default component.exports","import { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\n\nimport { CDT } from \"./cdt\";\n\nexport let PA_CDT = new CDT();\n\nexport function triangulate(partial: boolean = false) {\n const cdt = new CDT();\n for (const sh of gameStore.visionBlockers) {\n const shape = layerManager.UUIDMap.get(sh)!;\n if (partial && !shape.visibleInCanvas(layerManager.getLayer()!.canvas)) continue;\n for (let i = 0; i < shape.points.length; i++) {\n cdt.insertConstraint(shape.points[i], shape.points[(i + 1) % shape.points.length]);\n }\n }\n PA_CDT = cdt;\n (window).CDT = PA_CDT;\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=style&index=0&id=66ccc134&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=style&index=0&id=66ccc134&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=style&index=0&id=61eb1455&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=style&index=0&id=61eb1455&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"focusin\":_vm.focusin,\"focusout\":_vm.focusout,\"submit\":function($event){$event.preventDefault();return _vm.login($event)}}},[_c('fieldset',[_c('legend',{staticClass:\"legend\"},[_vm._v(\"PlanarAlly\")]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],attrs:{\"type\":\"text\",\"name\":\"username\",\"placeholder\":\"Username\",\"required\":\"\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value}}}),_vm._m(0)]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"type\":\"password\",\"name\":\"password\",\"placeholder\":\"Password\",\"required\":\"\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}}),_vm._m(1)]),_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('button',{staticStyle:{\"visibility\":\"hidden\",\"display\":\"none\"},attrs:{\"type\":\"submit\",\"name\":\"login\"}}),_c('button',{staticClass:\"submit\",attrs:{\"type\":\"button\",\"name\":\"register\",\"title\":\"Register\"},on:{\"click\":_vm.register}},[_c('i',{staticClass:\"fas fa-plus\"})]),_vm._m(2)])]),(_vm.error)?_c('div',{staticClass:\"feedback\"},[_c('p',{staticClass:\"error\"},[_c('strong',[_vm._v(\"Error:\")]),_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \")])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fas fa-user-circle\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fas fa-lock\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"submit\",attrs:{\"type\":\"submit\",\"name\":\"login\",\"title\":\"Login\"}},[_c('i',{staticClass:\"fas fa-arrow-right\"})])}]\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=template&id=6bbf3b79&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component({\n components: {\n Modal,\n \"color-picker\": ColorPicker,\n },\n})\nexport default class EditDialog extends Vue {\n @Prop() shape!: Shape;\n\n visible = false;\n updated() {\n this.addEmpty();\n }\n addEmpty() {\n if (this.shape.owners[this.shape.owners.length - 1] !== \"\") this.shape.owners.push(\"\");\n if (\n !this.shape.trackers.length ||\n this.shape.trackers[this.shape.trackers.length - 1].name !== \"\" ||\n this.shape.trackers[this.shape.trackers.length - 1].value !== 0\n )\n this.shape.trackers.push({ uuid: uuidv4(), name: \"\", value: 0, maxvalue: 0, visible: false });\n if (\n !this.shape.auras.length ||\n this.shape.auras[this.shape.auras.length - 1].name !== \"\" ||\n this.shape.auras[this.shape.auras.length - 1].value !== 0\n )\n this.shape.auras.push({\n uuid: uuidv4(),\n name: \"\",\n value: 0,\n dim: 0,\n visionSource: false,\n colour: \"rgba(0,0,0,0)\",\n visible: false,\n });\n }\n updateShape(redraw: boolean) {\n socket.emit(\"Shape.Update\", { shape: this.shape.asDict(), redraw, temporary: false });\n if (redraw) layerManager.invalidate();\n this.addEmpty();\n }\n setToken(event: { target: HTMLInputElement }) {\n this.shape.setIsToken(event.target.checked);\n this.updateShape(true);\n }\n setVisionBlocker(event: { target: HTMLInputElement }) {\n this.shape.checkVisionSources();\n this.updateShape(true);\n }\n setMovementBlocker(event: { target: HTMLInputElement }) {\n this.shape.setMovementBlock(event.target.checked);\n this.updateShape(false);\n }\n updateAnnotation(event: { target: HTMLInputElement }) {\n const hadAnnotation = this.shape.annotation !== \"\";\n this.shape.annotation = event.target.value;\n if (this.shape.annotation !== \"\" && !hadAnnotation) {\n gameStore.annotations.push(this.shape.uuid);\n if (layerManager.hasLayer(\"draw\")) layerManager.getLayer(\"draw\")!.invalidate(true);\n } else if (this.shape.annotation === \"\" && hadAnnotation) {\n gameStore.annotations.splice(gameStore.annotations.findIndex(an => an === this.shape.uuid));\n if (layerManager.hasLayer(\"draw\")) layerManager.getLayer(\"draw\")!.invalidate(true);\n }\n this.updateShape(false);\n }\n updateOwner(event: { target: HTMLInputElement }, oldValue: string) {\n const ownerIndex = this.shape.owners.findIndex(o => o === oldValue);\n if (ownerIndex >= 0) this.shape.owners.splice(ownerIndex, 1, event.target.value);\n else this.shape.owners.push(event.target.value);\n this.updateShape(gameStore.fowLOS);\n }\n removeOwner(value: string) {\n const ownerIndex = this.shape.owners.findIndex(o => o === value);\n this.shape.owners.splice(ownerIndex, 1);\n this.updateShape(gameStore.fowLOS);\n }\n removeTracker(uuid: string) {\n this.shape.trackers = this.shape.trackers.filter(tr => tr.uuid !== uuid);\n this.updateShape(false);\n }\n removeAura(uuid: string) {\n this.shape.auras = this.shape.auras.filter(au => au.uuid !== uuid);\n this.shape.checkVisionSources();\n this.updateShape(true);\n }\n updateAuraVisionSource(aura: Aura) {\n aura.visionSource = !aura.visionSource;\n const i = gameStore.visionSources.findIndex(ls => ls.aura === aura.uuid);\n if (aura.visionSource && i === -1) gameStore.visionSources.push({ shape: this.shape.uuid, aura: aura.uuid });\n else if (!aura.visionSource && i >= 0) gameStore.visionSources.splice(i, 1);\n // aura.lastPath = undefined;\n layerManager.invalidateLight();\n this.updateShape(true);\n }\n updateAuraColour(aura: Aura, colour: string) {\n const layer = layerManager.getLayer(this.shape.layer);\n if (layer === undefined) return;\n layer.invalidate(!aura.visionSource);\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"main\"},on:{\"mouseleave\":_vm.mouseleave}},[_c('menu-bar'),_c('div',{attrs:{\"id\":\"board\"}},[(_vm.ready.manager)?[_c('tool-bar',{ref:\"tools\"})]:_vm._e(),_c('div',{attrs:{\"id\":\"layers\"},on:{\"mousedown\":_vm.mousedown,\"mouseup\":_vm.mouseup,\"mousemove\":_vm.mousemove,\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.contextmenu($event)},\"dragover\":function($event){$event.preventDefault();},\"drop\":_vm.drop}}),(_vm.layers.length > 1)?_c('div',{attrs:{\"id\":\"layerselect\"}},[_c('ul',_vm._l((_vm.layers),function(layer){return _c('li',{key:layer.name,class:{ 'layer-selected': layer === _vm.selectedLayer },on:{\"click\":function($event){_vm.selectLayer(layer)}}},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(layer))])])}))]):_vm._e()],2),_c('selection-info',{ref:\"selectionInfo\"}),_c('initiative-dialog',{ref:\"initiative\",attrs:{\"id\":\"initiativedialog\"}}),_c('note-dialog',{ref:\"note\"}),_c('zoom-slider',{attrs:{\"id\":\"zoomer\",\"height\":6,\"width\":200,\"min\":0.01,\"max\":5.0,\"interval\":0.1,\"dot-width\":8,\"dot-height\":20,\"tooltip-dir\":'bottom',\"tooltip\":'hover',\"formatter\":_vm.zoomFactor.toFixed(1),\"slider-style\":{'border-radius': '15%'},\"bg-style\":{'background-color': '#fff', 'box-shadow': '0.5px 0.5px 3px 1px rgba(0, 0, 0, .36)'},\"process-style\":{'background-color': '#fff'}},model:{value:(_vm.zoomFactor),callback:function ($$v) {_vm.zoomFactor=$$v},expression:\"zoomFactor\"}}),_c('prompt-dialog',{ref:\"prompt\"}),_c('confirm-dialog',{ref:\"confirm\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=template&id=6d744362&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport Modal from \"@/core/components/modals/modal.vue\";\n\n@Component({\n components: {\n Modal,\n },\n})\nexport default class ConfirmDialog extends Vue {\n $refs!: {\n confirm: HTMLButtonElement;\n };\n\n visible = false;\n yes = \"Yes\";\n no = \"No\";\n title = \"\";\n\n resolve = (ok: boolean) => {};\n reject = () => {};\n\n confirm() {\n this.resolve(true);\n this.close();\n }\n deny() {\n this.resolve(false);\n this.close();\n }\n close() {\n this.reject();\n this.visible = false;\n this.title = \"\";\n }\n open(title: string, yes = \"yes\", no = \"no\"): Promise {\n this.yes = yes;\n this.no = no;\n this.title = title;\n\n this.visible = true;\n this.$nextTick(() => {\n this.$refs.confirm.focus();\n });\n\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n","import { render, staticRenderFns } from \"./map.vue?vue&type=template&id=f93438ce&\"\nimport script from \"./map.vue?vue&type=script&lang=ts&\"\nexport * from \"./map.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"map.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ContextMenu',{attrs:{\"visible\":_vm.visible,\"left\":_vm.left + 'px',\"top\":_vm.top + 'px'},on:{\"close\":_vm.close}},[_c('li',{on:{\"click\":_vm.rename}},[_vm._v(\"Rename\")]),_c('li',{on:{\"click\":_vm.remove}},[_vm._v(\"Remove\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=template&id=d4f084a4&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"visible\":_vm.visible},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_vm._v(_vm._s(_vm.title))])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('button',{ref:\"confirm\",on:{\"click\":_vm.confirm}},[_vm._v(_vm._s(_vm.yes))]),(!!_vm.no)?_c('button',{on:{\"click\":_vm.deny}},[_vm._v(_vm._s(_vm.no))]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=template&id=1883e207&scoped=true&\"","\n\n\n\n\n\n\n\nimport Vue from \"vue\";\n\nimport Component from \"vue-class-component\";\n\nimport AssetManager from \"@/assetManager/manager.vue\";\nimport ContextMenu from \"@/core/components/contextmenu.vue\";\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\n\nimport { socket } from \"@/assetManager/socket\";\nimport { assetStore } from \"@/assetManager/store\";\nimport { getComponent, getRef } from \"@/core/utils\";\n\n@Component({\n components: {\n ContextMenu,\n },\n})\nexport default class AssetContextMenu extends Vue {\n visible = false;\n left = 0;\n top = 0;\n open(event: MouseEvent, inode: number) {\n if (!assetStore.selected.includes(inode)) getComponent().select(event, inode);\n\n this.visible = true;\n this.left = event.pageX;\n this.top = event.pageY;\n this.$nextTick(() => {\n this.$children[0].$el.focus();\n });\n }\n close() {\n this.visible = false;\n }\n rename() {\n if (assetStore.selected.length !== 1) return;\n const asset = assetStore.idMap.get(assetStore.selected[0])!;\n\n getRef(\"prompt\")\n .prompt(\"New name:\", `Renaming ${asset.name}`)\n .then(\n (name: string) => {\n socket.emit(\"Asset.Rename\", {\n asset: asset.id,\n name,\n });\n asset.name = name;\n getComponent().$forceUpdate();\n },\n () => {},\n );\n this.close();\n }\n remove() {\n if (assetStore.selected.length === 0) return;\n getRef(\"confirm\")\n .open(\"Are you sure you wish to remove this?\")\n .then(\n (result: boolean) => {\n if (result) {\n for (const sel of assetStore.selected) {\n socket.emit(\"Asset.Remove\", sel);\n if (assetStore.isFile(sel)) assetStore.files.splice(assetStore.files.indexOf(sel), 1);\n else assetStore.folders.splice(assetStore.folders.indexOf(sel), 1);\n }\n assetStore.selected = [];\n }\n },\n () => {},\n );\n this.close();\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./manager.vue?vue&type=template&id=d1ce9748&\"\nimport script from \"./manager.vue?vue&type=script&lang=ts&\"\nexport * from \"./manager.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./manager.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"manager.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tool.vue?vue&type=template&id=1e034b42&\"\nimport script from \"./tool.vue?vue&type=script&lang=ts&\"\nexport * from \"./tool.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./tool.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"tool.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{attrs:{\"visible\":_vm.visible},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_vm._v(_vm._s(_vm.title))])}}])},[_c('div',{staticClass:\"modal-body\"},[_vm._v(\"\\n \"+_vm._s(_vm.question)+\"\\n \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.answer),expression:\"answer\"}],ref:\"answer\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.answer)},on:{\"keyup\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.submit($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.answer=$event.target.value}}})]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{on:{\"click\":_vm.submit}},[_vm._v(\"Submit\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=template&id=0602c2e6&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport draggable from \"vuedraggable\";\nVue.component(\"draggable\", draggable);\n\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { InitiativeData, InitiativeEffect } from \"@/game/comm/types/general\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n Modal,\n draggable,\n },\n})\nexport default class Initiative extends Vue {\n visible = false;\n data: InitiativeData[] = [];\n currentActor: string | null = null;\n roundCounter = 0;\n\n mounted() {\n EventBus.$on(\"Initiative.Clear\", this.clear);\n EventBus.$on(\"Initiative.Remove\", (data: string) => this.removeInitiative(data));\n EventBus.$on(\"Initiative.Show\", () => (this.visible = true));\n\n socket.on(\"Initiative.Set\", (data: InitiativeData[]) => {\n this.data = data;\n });\n socket.on(\"Initiative.Turn.Update\", (data: string) => this.setTurn(data, false));\n socket.on(\"Initiative.Round.Update\", (data: number) => this.setRound(data, false));\n socket.on(\"Initiative.Effect.New\", (data: { actor: string; effect: InitiativeEffect }) => {\n const actor = this.getActor(data.actor);\n if (actor === undefined) return;\n this.createEffect(actor, data.effect, false);\n });\n socket.on(\"Initiative.Effect.Update\", (data: { actor: string; effect: InitiativeEffect }) =>\n this.updateEffect(data.actor, data.effect, false),\n );\n }\n\n beforeDestroy() {\n EventBus.$off();\n }\n\n // Utilities\n clear() {\n this.data = [];\n this.currentActor = null;\n }\n getActor(actorId: string) {\n return this.data.find(a => a.uuid === actorId);\n }\n contains(uuid: string) {\n return this.data.some(d => d.uuid === uuid);\n }\n owns(actor: InitiativeData): boolean {\n if (gameStore.IS_DM) return true;\n const shape = layerManager.UUIDMap.get(actor.uuid);\n // Shapes that are unknown to this client are hidden from this client but owned by other clients\n if (shape === undefined) return false;\n return shape.owners.includes(gameStore.username);\n }\n getDefaultEffect() {\n return { uuid: uuidv4(), name: \"New Effect\", turns: 10 };\n }\n fakeSetData(dataTransfer: DataTransfer) {\n dataTransfer.setData(\"Hack\", \"\");\n }\n syncInitiative(data: InitiativeData | { uuid: string }) {\n socket.emit(\"Initiative.Update\", data);\n }\n // Events\n addInitiative(data: InitiativeData) {\n const d = this.data.findIndex(a => a.uuid === data.uuid);\n if (d >= 0) return;\n if (data.initiative === undefined) data.initiative = 0;\n this.syncInitiative(data);\n }\n removeInitiative(uuid: string) {\n const d = this.data.findIndex(a => a.uuid === uuid);\n if (d < 0 || this.data[d].group) return;\n this.syncInitiative({ uuid });\n // Remove highlight\n const shape = layerManager.UUIDMap.get(uuid);\n if (shape === undefined) return;\n if (shape.showHighlight) {\n shape.showHighlight = false;\n layerManager.getLayer(shape.layer)!.invalidate(true);\n }\n }\n updateOrder() {\n if (!gameStore.IS_DM) return;\n socket.emit(\"Initiative.Set\", this.data.map(d => d.uuid));\n }\n setTurn(actorId: string | null, sync: boolean) {\n if (!gameStore.IS_DM && sync) return;\n this.currentActor = actorId;\n const actor = this.data.find(a => a.uuid === actorId);\n if (actor === undefined) return;\n if (actor.effects) {\n for (let e = actor.effects.length - 1; e >= 0; e--) {\n if (actor.effects[e].turns <= 0) actor.effects.splice(e, 1);\n else actor.effects[e].turns--;\n }\n }\n if (sync) socket.emit(\"Initiative.Turn.Update\", actorId);\n }\n setRound(round: number, sync: boolean) {\n if (!gameStore.IS_DM && sync) return;\n this.roundCounter = round;\n if (sync) socket.emit(\"Initiative.Round.Update\", round);\n }\n nextTurn() {\n if (!gameStore.IS_DM) return;\n const order = this.data;\n const next = order[(order.findIndex(a => a.uuid === this.currentActor) + 1) % order.length];\n if (this.data[0].uuid === next.uuid) this.setRound(this.roundCounter + 1, true);\n this.setTurn(next.uuid, true);\n }\n toggleHighlight(actor: InitiativeData, show: boolean) {\n const shape = layerManager.UUIDMap.get(actor.uuid);\n if (shape === undefined) return;\n shape.showHighlight = show;\n layerManager.getLayer(shape.layer)!.invalidate(true);\n }\n toggleOption(actor: InitiativeData, option: \"visible\" | \"group\") {\n if (!this.owns(actor)) return;\n actor[option] = !actor[option];\n this.syncInitiative(actor);\n }\n createEffect(actor: InitiativeData, effect: InitiativeEffect, sync: boolean) {\n if (!this.owns(actor)) return;\n actor.effects.push(effect);\n if (sync) socket.emit(\"Initiative.Effect.New\", { actor: actor.uuid, effect });\n }\n syncEffect(actor: InitiativeData, effect: InitiativeEffect) {\n if (!this.owns(actor)) return;\n socket.emit(\"Initiative.Effect.Update\", { actor: actor.uuid, effect });\n }\n updateEffect(actorId: string, effect: InitiativeEffect, sync: boolean) {\n const actor = this.data.find(a => a.uuid === actorId);\n if (actor === undefined) return;\n const effectIndex = actor.effects.findIndex(e => e.uuid === effect.uuid);\n if (effectIndex === undefined) return;\n actor.effects[effectIndex] = effect;\n if (sync) this.syncEffect(actor, effect);\n else this.$forceUpdate();\n }\n}\n","import { render, staticRenderFns } from \"./selection_info.vue?vue&type=template&id=32cec914&scoped=true&\"\nimport script from \"./selection_info.vue?vue&type=script&lang=ts&\"\nexport * from \"./selection_info.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./selection_info.vue?vue&type=style&index=0&id=32cec914&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"32cec914\",\n null\n \n)\n\ncomponent.options.__file = \"selection_info.vue\"\nexport default component.exports","// import Vuex from \"vuex\";\nimport { Action, getModule, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\n\nimport { AssetList } from \"@/core/comm/types\";\nimport { socket } from \"@/game/api/socket\";\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { Note } from \"@/game/comm/types/general\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { g2l, l2g } from \"@/game/units\";\nimport { BoundingVolume } from \"@/game/visibility/bvh/bvh\";\nimport { rootStore } from \"@/store\";\nimport { triangulate } from \"./visibility/te/pa\";\n\nexport interface GameState {\n boardInitialized: boolean;\n}\n\n@Module({ dynamic: true, store: rootStore, name: \"game\", namespaced: true })\nclass GameStore extends VuexModule {\n // This is a limited view of selectable layers that is used to generate the layer selection UI and ability to switch layers\n // See the layerManager for proper layer management tools\n layers: string[] = [];\n selectedLayerIndex = -1;\n boardInitialized = false;\n\n locations: string[] = [];\n\n assets: AssetList = {};\n\n notes: Note[] = [];\n\n IS_DM = false;\n gridSize = 50;\n username = \"\";\n roomName = \"\";\n roomCreator = \"\";\n invitationCode = \"\";\n\n gridColour = \"rgba(0, 0, 0, 1)\";\n fowColour = \"rgba(0, 0, 0, 1)\";\n rulerColour = \"rgba(255, 0, 0, 1)\";\n panX = 0;\n panY = 0;\n zoomFactor = 1;\n\n unitSize = 5;\n useGrid = true;\n fullFOW = false;\n fowOpacity = 0.3;\n fowLOS = false;\n locationName = \"\";\n\n visionSources: { shape: string; aura: string }[] = [];\n visionBlockers: string[] = [];\n annotations: string[] = [];\n movementblockers: string[] = [];\n ownedtokens: string[] = [];\n\n BV = Object.freeze(new BoundingVolume([]));\n\n visionMode: \"bvh\" | \"triangle\" = \"bvh\";\n\n get selectedLayer() {\n return this.layers[this.selectedLayerIndex];\n }\n\n @Mutation\n setVisionMode(visionMode: \"bvh\" | \"triangle\") {\n this.visionMode = visionMode;\n }\n\n @Mutation\n setBoardInitialized(boardInitialized: boolean) {\n this.boardInitialized = boardInitialized;\n }\n\n @Mutation\n setDM(isDM: boolean) {\n this.IS_DM = isDM;\n }\n\n @Mutation\n setUsername(username: string) {\n this.username = username;\n }\n\n @Mutation\n setRoomName(name: string) {\n this.roomName = name;\n }\n\n @Mutation\n setRoomCreator(name: string) {\n this.roomCreator = name;\n }\n\n @Mutation\n setInvitationCode(code: string) {\n this.invitationCode = code;\n }\n\n @Mutation\n addLayer(name: string) {\n this.layers.push(name);\n if (this.selectedLayerIndex === -1) this.selectedLayerIndex = this.layers.indexOf(name);\n }\n\n @Mutation\n selectLayer(data: { name: string; sync: boolean }) {\n const index = this.layers.indexOf(data.name);\n if (index >= 0) this.selectedLayerIndex = index;\n if (data.sync) socket.emit(\"Client.ActiveLayer.Set\", data.name);\n }\n\n @Mutation\n newNote(data: { note: Note; sync: boolean }) {\n this.notes.push(data.note);\n if (data.sync) socket.emit(\"Note.New\", data.note);\n }\n\n @Mutation\n setAssets(assets: AssetList) {\n this.assets = assets;\n }\n\n @Mutation\n setLocations(locations: string[]) {\n this.locations = locations;\n }\n\n @Mutation\n resetLayerInfo() {\n this.layers = [];\n this.selectedLayerIndex = -1;\n }\n\n @Mutation\n recalculateBV(partial = false) {\n // TODO: This needs to be cleaned up..\n if (this.boardInitialized) {\n if (this.visionMode === \"triangle\") triangulate(partial);\n else {\n let success = false;\n let tries = 0;\n while (!success) {\n success = true;\n try {\n this.BV = Object.freeze(new BoundingVolume(this.visionBlockers));\n } catch (error) {\n success = false;\n tries++;\n if (tries > 10) {\n console.error(error);\n return;\n }\n }\n }\n }\n }\n }\n\n @Mutation\n updateZoom(data: { newZoomValue: number; zoomLocation: GlobalPoint }) {\n if (data.newZoomValue === this.zoomFactor) return;\n if (data.newZoomValue < 0.1) data.newZoomValue = 0.01;\n if (data.newZoomValue > 5) data.newZoomValue = 5;\n\n const oldLoc = g2l(data.zoomLocation);\n\n this.zoomFactor = data.newZoomValue;\n\n const newLoc = l2g(oldLoc);\n\n // Change the pan settings to keep the zoomLocation in the same exact location before and after the zoom.\n const diff = newLoc.subtract(data.zoomLocation);\n this.panX += diff.x;\n this.panY += diff.y;\n\n layerManager.invalidate();\n sendClientOptions();\n }\n\n @Mutation\n setGridColour(data: { colour: string; sync: boolean }) {\n this.gridColour = data.colour;\n layerManager.getGridLayer()!.drawGrid();\n if (data.sync) socket.emit(\"Client.Options.Set\", { gridColour: data.colour });\n }\n\n @Mutation\n setFOWColour(data: { colour: string; sync: boolean }) {\n this.fowColour = data.colour;\n layerManager.invalidate();\n if (data.sync) socket.emit(\"Client.Options.Set\", { fowColour: data.colour });\n }\n\n @Mutation\n setRulerColour(data: { colour: string; sync: boolean }) {\n this.rulerColour = data.colour;\n if (data.sync) socket.emit(\"Client.Options.Set\", { rulerColour: data.colour });\n }\n\n @Mutation\n setPanX(x: number) {\n this.panX = x;\n }\n\n @Mutation\n setPanY(y: number) {\n this.panY = y;\n }\n\n @Mutation\n setZoomFactor(zoomFactor: number) {\n this.zoomFactor = zoomFactor;\n }\n\n @Mutation\n increasePanX(increase: number) {\n this.panX += increase;\n }\n\n @Mutation\n increasePanY(increase: number) {\n this.panY += increase;\n }\n\n @Mutation\n setUnitSize(data: { unitSize: number; sync: boolean }) {\n if (this.unitSize !== data.unitSize && data.unitSize > 0 && data.unitSize < Infinity) {\n this.unitSize = data.unitSize;\n layerManager.invalidate();\n if (data.sync) socket.emit(\"Location.Options.Set\", { unit_size: data.unitSize });\n }\n }\n\n @Mutation\n setUseGrid(data: { useGrid: boolean; sync: boolean }) {\n if (this.useGrid !== data.useGrid) {\n this.useGrid = data.useGrid;\n const gridLayer = layerManager.getGridLayer()!;\n if (data.useGrid) gridLayer.canvas.style.display = \"block\";\n else gridLayer.canvas.style.display = \"none\";\n if (data.sync) socket.emit(\"Location.Options.Set\", { use_grid: data.useGrid });\n }\n }\n\n @Mutation\n setGridSize(data: { gridSize: number; sync: boolean }): void {\n if (this.gridSize !== data.gridSize && data.gridSize > 0) {\n this.gridSize = data.gridSize;\n const gridLayer = layerManager.getGridLayer();\n if (gridLayer !== undefined) gridLayer.drawGrid();\n if (data.sync) socket.emit(\"Gridsize.Set\", data.gridSize);\n }\n }\n\n @Mutation\n setFullFOW(data: { fullFOW: boolean; sync: boolean }) {\n if (this.fullFOW !== data.fullFOW) {\n this.fullFOW = data.fullFOW;\n layerManager.invalidateLight();\n if (data.sync) socket.emit(\"Location.Options.Set\", { full_fow: data.fullFOW });\n }\n }\n\n @Mutation\n setFOWOpacity(data: { fowOpacity: number; sync: boolean }) {\n this.fowOpacity = data.fowOpacity;\n layerManager.invalidateLight();\n if (data.sync) socket.emit(\"Location.Options.Set\", { fow_opacity: data.fowOpacity });\n }\n\n @Mutation\n setLineOfSight(data: { fowLOS: boolean; sync: boolean }) {\n if (this.fowLOS !== data.fowLOS) {\n this.fowLOS = data.fowLOS;\n layerManager.invalidate();\n if (data.sync) socket.emit(\"Location.Options.Set\", { fow_los: data.fowLOS });\n }\n }\n\n @Mutation\n setLocationName(name: string) {\n this.locationName = name;\n }\n\n @Mutation\n updateNote(data: { note: Note; sync: boolean }) {\n const actualNote = this.notes.find(n => n.uuid === data.note.uuid);\n if (actualNote === undefined) return;\n actualNote.title = data.note.title;\n actualNote.text = data.note.text;\n if (data.sync) socket.emit(\"Note.Update\", actualNote);\n }\n\n @Mutation\n removeNote(data: { note: Note; sync: boolean }) {\n this.notes = this.notes.filter(n => n.uuid !== data.note.uuid);\n if (data.sync) socket.emit(\"Note.Remove\", data.note.uuid);\n }\n\n @Action\n clear() {\n (this.context.state).visionSources = [];\n (this.context.state).visionBlockers = [];\n (this.context.state).ownedtokens = [];\n (this.context.state).annotations = [];\n (this.context.state).movementblockers = [];\n this.context.commit(\"recalculateBV\");\n }\n}\n\nexport const gameStore = getModule(GameStore);\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=script&lang=ts&\"","import { ServerAura } from \"@/game/comm/types/shapes\";\n\nexport const aurasFromServer = (auras: ServerAura[]): Aura[] => {\n const result = [];\n for (const aura of auras) {\n result.push({\n uuid: aura.uuid,\n visionSource: aura.vision_source,\n visible: aura.visible,\n name: aura.name,\n value: aura.value,\n dim: aura.dim,\n colour: aura.colour,\n });\n }\n return result;\n};\n\nexport const aurasToServer = (auras: Aura[]): ServerAura[] => {\n const result = [];\n for (const aura of auras) {\n result.push({\n uuid: aura.uuid,\n vision_source: aura.visionSource,\n visible: aura.visible,\n name: aura.name,\n value: aura.value,\n dim: aura.dim,\n colour: aura.colour,\n });\n }\n return result;\n};\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./note.vue?vue&type=template&id=7a3669fd&scoped=true&\"\nimport script from \"./note.vue?vue&type=script&lang=ts&\"\nexport * from \"./note.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./note.vue?vue&type=style&index=0&id=7a3669fd&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a3669fd\",\n null\n \n)\n\ncomponent.options.__file = \"note.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./initiative.vue?vue&type=template&id=ccaf03d6&scoped=true&\"\nimport script from \"./initiative.vue?vue&type=script&lang=ts&\"\nexport * from \"./initiative.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./initiative.vue?vue&type=style&index=0&id=ccaf03d6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ccaf03d6\",\n null\n \n)\n\ncomponent.options.__file = \"initiative.vue\"\nexport default component.exports","import { ServerLayer } from \"@/game/comm/types/general\";\nimport { FOWLayer } from \"@/game/layers/fow\";\nimport { FOWPlayersLayer } from \"@/game/layers/fowplayers\";\nimport { GridLayer } from \"@/game/layers/grid\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\n\nexport function createLayer(layerInfo: ServerLayer) {\n // Create canvas element\n const canvas = document.createElement(\"canvas\");\n canvas.style.zIndex = layerManager.layers.length.toString();\n canvas.width = window.innerWidth;\n canvas.height = window.innerHeight;\n\n // Create the Layer instance\n let layer: Layer;\n if (layerInfo.type_ === \"grid\") layer = new GridLayer(canvas, layerInfo.name);\n else if (layerInfo.type_ === \"fow\") layer = new FOWLayer(canvas, layerInfo.name);\n else if (layerInfo.type_ === \"fow-players\") layer = new FOWPlayersLayer(canvas, layerInfo.name);\n else layer = new Layer(canvas, layerInfo.name);\n layer.selectable = layerInfo.selectable;\n layer.playerEditable = layerInfo.player_editable;\n layerManager.addLayer(layer);\n\n // Add the element to the DOM\n const layers = document.getElementById(\"layers\");\n if (layers === null) {\n console.warn(\"Layers div is missing, this will prevent the main game board from loading!\");\n return;\n }\n if (layerInfo.name !== \"fow-players\") layers.appendChild(canvas);\n\n if (layerInfo.type_ === \"grid\" && layerInfo.size) gameStore.setGridSize({ gridSize: layerInfo.size, sync: false });\n // Load layer shapes\n layer.setShapes(layerInfo.shapes);\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.selected)?_c('div',{staticClass:\"tool-detail\",style:({'--detailRight': _vm.detailRight, '--detailArrow': _vm.detailArrow})},[_c('div',[_vm._v(\"#X\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.xCount),expression:\"xCount\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.xCount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.xCount=$event.target.value}}}),_c('div',[_vm._v(\"#Y\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.yCount),expression:\"yCount\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.yCount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.yCount=$event.target.value}}})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./map.vue?vue&type=template&id=f93438ce&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport Prompt from \"@/core/components/modals/prompt.vue\";\nimport EditDialog from \"@/game/ui/selection/edit_dialog.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\n\n@Component({\n components: {\n \"edit-dialog\": EditDialog,\n },\n})\nexport default class SelectionInfo extends Vue {\n shape: Shape | null = null;\n\n mounted() {\n EventBus.$on(\"SelectionInfo.Shape.Set\", (shape: Shape | null) => {\n this.shape = shape;\n });\n }\n\n beforeDestroy() {\n EventBus.$off();\n }\n\n openEditDialog() {\n (this.$refs.editDialog).visible = true;\n }\n changeValue(object: Tracker | Aura, redraw: boolean) {\n if (this.shape === null) return;\n getRef(\"prompt\")\n .prompt(`New ${object.name} value:`, `Updating ${object.name}`)\n .then(\n (value: string) => {\n if (this.shape === null) return;\n const ogValue = object.value;\n if (value[0] === \"+\" || value[0] === \"-\") object.value += parseInt(value, 10);\n else object.value = parseInt(value, 10);\n if (isNaN(object.value)) object.value = ogValue;\n socket.emit(\"Shape.Update\", { shape: this.shape.asDict(), redraw, temporary: false });\n if (redraw) layerManager.invalidate();\n },\n () => {},\n );\n }\n}\n","import { AssetList } from \"@/core/comm/types\";\nimport { socket } from \"@/game/api/socket\";\nimport { BoardInfo, Note, ServerClient, ServerLocation } from \"@/game/comm/types/general\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { createLayer } from \"@/game/layers/utils\";\nimport { gameManager } from \"@/game/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { router } from \"@/router\";\n\nsocket.on(\"connect\", () => {\n console.log(\"Connected\");\n});\nsocket.on(\"disconnect\", () => {\n console.log(\"Disconnected\");\n});\nsocket.on(\"connect_error\", (error: any) => {\n console.error(\"Could not connect to game session.\");\n router.push(\"/dashboard\");\n});\nsocket.on(\"error\", (error: any) => {\n console.error(\"Game session does not exist.\");\n router.push(\"/dashboard\");\n});\nsocket.on(\"redirect\", (destination: string) => {\n console.log(\"redirecting\");\n router.push(destination);\n});\nsocket.on(\"Room.Info.Set\", (data: { name: string; creator: string; invitationCode: string }) => {\n gameStore.setRoomName(data.name);\n gameStore.setRoomCreator(data.creator);\n gameStore.setInvitationCode(data.invitationCode);\n});\nsocket.on(\"Username.Set\", (username: string) => {\n gameStore.setUsername(username);\n gameStore.setDM(username === window.location.pathname.split(\"/\")[2]);\n});\nsocket.on(\"Client.Options.Set\", (options: ServerClient) => {\n gameStore.setGridColour({ colour: options.grid_colour, sync: false });\n gameStore.setFOWColour({ colour: options.fow_colour, sync: false });\n gameStore.setRulerColour({ colour: options.ruler_colour, sync: false });\n gameStore.setPanX(options.pan_x);\n gameStore.setPanY(options.pan_y);\n gameStore.setZoomFactor(options.zoom_factor);\n if (options.active_layer) layerManager.selectLayer(options.active_layer, false);\n if (layerManager.getGridLayer() !== undefined) layerManager.getGridLayer()!.invalidate();\n});\nsocket.on(\"Location.Set\", (data: Partial) => {\n if (data.name !== undefined) gameStore.setLocationName(data.name);\n if (data.unit_size !== undefined) gameStore.setUnitSize({ unitSize: data.unit_size, sync: false });\n if (data.use_grid !== undefined) gameStore.setUseGrid({ useGrid: data.use_grid, sync: false });\n if (data.full_fow !== undefined) gameStore.setFullFOW({ fullFOW: data.full_fow, sync: false });\n if (data.fow_opacity !== undefined) gameStore.setFOWOpacity({ fowOpacity: data.fow_opacity, sync: false });\n if (data.fow_los !== undefined) gameStore.setLineOfSight({ fowLOS: data.fow_los, sync: false });\n});\nsocket.on(\"Position.Set\", (data: { x: number; y: number }) => {\n gameManager.setCenterPosition(new GlobalPoint(data.x, data.y));\n});\nsocket.on(\"Notes.Set\", (notes: Note[]) => {\n for (const note of notes) gameStore.newNote({ note, sync: false });\n});\nsocket.on(\"Asset.List.Set\", (assets: AssetList) => {\n gameStore.setAssets(assets);\n});\nsocket.on(\"Board.Set\", (locationInfo: BoardInfo) => {\n gameStore.clear();\n gameStore.setLocations(locationInfo.locations);\n document.getElementById(\"layers\")!.innerHTML = \"\";\n gameStore.resetLayerInfo();\n layerManager.reset();\n for (const layer of locationInfo.layers) createLayer(layer);\n // Force the correct opacity render on other layers.\n layerManager.selectLayer(layerManager.getLayer()!.name, false);\n EventBus.$emit(\"Initiative.Clear\");\n gameStore.setBoardInitialized(true);\n gameStore.recalculateBV();\n});\nsocket.on(\"Gridsize.Set\", (gridSize: number) => {\n gameStore.setGridSize({ gridSize, sync: false });\n});\nsocket.on(\"Shape.Add\", (shape: ServerShape) => {\n gameManager.addShape(shape);\n});\nsocket.on(\"Shape.Remove\", (shape: ServerShape) => {\n if (!layerManager.UUIDMap.has(shape.uuid)) {\n console.log(`Attempted to remove an unknown shape`);\n return;\n }\n if (!layerManager.hasLayer(shape.layer)) {\n console.log(`Attempted to remove shape from an unknown layer ${shape.layer}`);\n return;\n }\n const layer = layerManager.getLayer(shape.layer)!;\n layer.removeShape(layerManager.UUIDMap.get(shape.uuid)!, false);\n layer.invalidate(false);\n});\nsocket.on(\"Shape.Order.Set\", (data: { shape: ServerShape; index: number }) => {\n if (!layerManager.UUIDMap.has(data.shape.uuid)) {\n console.log(`Attempted to move the shape order of an unknown shape`);\n return;\n }\n if (!layerManager.hasLayer(data.shape.layer)) {\n console.log(`Attempted to remove shape from an unknown layer ${data.shape.layer}`);\n return;\n }\n const shape = layerManager.UUIDMap.get(data.shape.uuid)!;\n const layer = layerManager.getLayer(shape.layer)!;\n layer.moveShapeOrder(shape, data.index, false);\n});\nsocket.on(\"Shape.Layer.Change\", (data: { uuid: string; layer: string }) => {\n const shape = layerManager.UUIDMap.get(data.uuid);\n if (shape === undefined) return;\n shape.moveLayer(data.layer, false);\n});\nsocket.on(\"Shape.Update\", (data: { shape: ServerShape; redraw: boolean; move: boolean }) => {\n gameManager.updateShape(data);\n});\nsocket.on(\"Temp.Clear\", (shapes: ServerShape[]) => {\n shapes.forEach(shape => {\n if (!layerManager.UUIDMap.has(shape.uuid)) {\n console.log(\"Attempted to remove an unknown temporary shape\");\n return;\n }\n if (!layerManager.hasLayer(shape.layer)) {\n console.log(`Attempted to remove shape from an unknown layer ${shape.layer}`);\n return;\n }\n const realShape = layerManager.UUIDMap.get(shape.uuid)!;\n layerManager.getLayer(shape.layer)!.removeShape(realShape, false);\n });\n});\n"],"sourceRoot":""} \ No newline at end of file diff --git a/server/static/js/app.4b455705.js b/server/static/js/app.4b455705.js deleted file mode 100644 index 39fcd18d0..000000000 --- a/server/static/js/app.4b455705.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var o,n,r=t[0],l=t[1],c=t[2],d=0,h=[];de.fillText(t.text,t.x,t.y)),e.restore()}contains(e){return!1}center(e){}getCorner(e){return""}visibleInCanvas(e){return!0}snapToGrid(){}resizeToGrid(){}resize(e,t){}getMaxHeight(e){const t=this.getLines(e),i=30;return i*t.length}getMaxWidth(e){const t=this.getLines(e),i=t.map(t=>e.measureText(t.text).width);return Math.max(...i)}getLines(e){const t=this.text.split("\n"),i=[],o=e.canvas.width,s=30,a=0;let n=0;for(const r of t){let t="";const l=r.split(" ");for(const r of l){const l=t+r+" ",c=e.measureText(l),u=c.width;u>o?(e.fillText(t,a,n),i.push({text:t,x:a,y:n}),t=r+" ",n+=s):t=l}i.push({text:t,x:a,y:n}),n+=s}return i}}t.Text=n},"033f":function(e,t,i){"use strict";i.r(t);var o=i("5050"),s=i("a68b");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("9b4d");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"7111f3f6",null);r.options.__file="shapecontext.vue",t["default"]=r.exports},"034f":function(e,t,i){"use strict";var o=i("64a9"),s=i.n(o);s.a},"0584":function(e,t,i){"use strict";var o=i("de21"),s=i.n(o);s.a},"0634":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("66cb")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("65d9")),r=i("c345a"),l=i("60a3");let c=class extends a.default{constructor(){super(...arguments),this.display=!1,this.left=0,this.top=0,this.transparent=!1}mounted(){this.transparent=0===this.$refs.chromePicker.val.rgba.a,this.setPosition()}open(){this.display||(this.setPosition(),this.display=!0,this.$nextTick(()=>this.$children[0].$el.focus()))}updateColor(e){this.transparent=0===e.rgba.a;const t=s.default(e.rgba).toRgbString();this.$emit("update:color",t),this.$emit("input",t)}closePicker(){this.display=!1,this.$emit("change",this.color)}setPosition(){const e=this.$el.getBoundingClientRect();e.right+224>window.innerWidth?this.left=e.left-224:this.left=e.right,e.bottom+242>window.innerHeight?this.top=e.top-242:this.top=e.bottom}};o.__decorate([l.Prop(String)],c.prototype,"color",void 0),c=o.__decorate([n.default({components:{"chrome-picker":r.Chrome}})],c),t.default=c},"07f5":function(e,t,i){"use strict";i.r(t);var o=i("2be7"),s=i("d588");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("561b"),i("3d3c");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"256b40b9",null);r.options.__file="game.vue",t["default"]=r.exports},"0a75":function(e,t,i){},"0bc6":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("8055"));function a(e){t.socket.io.opts.query=`user=${e.params.creator}&room=${e.params.room}`,t.socket.connect()}t.socket=s.default(location.protocol+"//"+location.host+"/planarally",{autoConnect:!1}),t.createConnection=a},"0cf7":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("4aec")),r=o.__importDefault(i("a535")),l=o.__importDefault(i("cec2")),c=i("5338"),u=i("2d5b"),d=i("4a5b");let h=class extends s.default{constructor(){super(...arguments),this.path=[],this.draggingSelection=!1}get folders(){return u.assetStore.folders}get files(){return u.assetStore.files}get selected(){return u.assetStore.selected}get idMap(){return u.assetStore.idMap}get currentFolder(){return this.path.length?this.path[this.path.length-1]:u.assetStore.root}get parentFolder(){let e=this.path[this.path.length-2];return void 0===e&&(e=u.assetStore.root),e}get firstSelectedFile(){for(const e of u.assetStore.selected)if(u.assetStore.idMap.get(e).file_hash)return u.assetStore.idMap.get(e);return null}changeDirectory(e){e<0?this.path.pop():this.path.push(e),u.assetStore.clearSelected(),c.socket.emit("Folder.Get",this.currentFolder)}createDirectory(){const e=window.prompt("New folder name");null!==e&&c.socket.emit("Folder.Create",{name:e,parent:this.currentFolder})}moveInode(e,t){u.assetStore.isFile(e)?u.assetStore.files.splice(u.assetStore.files.indexOf(e),1):u.assetStore.folders.splice(u.assetStore.folders.indexOf(e),1),u.assetStore.idMap.delete(e),c.socket.emit("Inode.Move",{inode:e,target:t})}select(e,t){if(e.shiftKey&&u.assetStore.selected.length>0){const e=[...u.assetStore.files,...u.assetStore.folders],i=e.indexOf(u.assetStore.selected[u.assetStore.selected.length-1]),o=e.indexOf(t);for(let t=i;t!==o;i0&&this.upload(e.dataTransfer.files,t);this.draggingSelection=!1}prepareUpload(){document.getElementById("files").click()}upload(e,t){const i=document.getElementById("files").files;if(void 0===e){if(!i)return;e=i}void 0===t&&(t=this.currentFolder);const o=1e5;for(const s of e){const e=d.uuidv4(),i=Math.ceil(s.size/o);for(let a=0;a{c.socket.emit("Asset.Upload",{name:s.name,directory:t,data:n.result,slice:a,totalSlices:i,uuid:e})})}}}};h=o.__decorate([a.default({components:{Prompt:l.default,ConfirmDialog:r.default,AssetContextMenu:n.default},beforeRouteEnter(e,t,i){c.socket.connect(),i()},beforeRouteLeave(e,t,i){c.socket.disconnect(),i()}})],h),t.default=h},"0ddd":function(e,t,i){"use strict";i.r(t);var o=i("8577"),s=i("4bc3");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("befe");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"62c91cd3",null);r.options.__file="asset_node.vue",t["default"]=r.exports},1:function(e,t){},"104d":function(e,t,i){"use strict";var o=i("5722"),s=i.n(o);s.a},1077:function(e,t,i){"use strict";i.r(t);var o=i("d7f0"),s=i("1eee");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("cfc1");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"6bbf3b79",null);r.options.__file="login.vue",t["default"]=r.exports},1298:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("modal",{attrs:{visible:e.visible},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[e._v("Create basic token")])}}])},[i("div",{staticClass:"modal-body"},[i("label",{attrs:{for:"createtokendialog-text"}},[e._v("Text")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.text,expression:"text"}],attrs:{type:"text",id:"createtokendialog-name"},domProps:{value:e.text},on:{input:function(t){t.target.composing||(e.text=t.target.value)}}}),i("label",[e._v("Colours")]),i("div",{staticClass:"colours"},[i("span",[e._v("Fill:")]),i("color-picker",{attrs:{color:e.fillColour},on:{"update:color":function(t){e.fillColour=t}}}),i("span",[e._v("Border:")]),i("color-picker",{attrs:{color:e.borderColour},on:{"update:color":function(t){e.borderColour=t}}})],1),i("canvas",{ref:"canvas",attrs:{width:"100px",height:"100px"}})]),i("div",{staticClass:"modal-footer"},[i("button",{on:{click:e.submit}},[e._v("Submit")])])])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"12d3":function(e,t,i){"use strict";var o=i("a260"),s=i.n(o);s.a},1327:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importStar(i("66cb")),a=i("4a5b"),n=i("4709"),r=i("f10f"),l=i("92b1");class c extends n.Circle{constructor(e,t,i,o,s,a,n){super(e,t,s,a,n),this.type="circulartoken",this.text=i,this.font=o}asDict(){return Object.assign(this.getBaseDict(),{radius:this.r,text:this.text,font:this.font})}fromDict(e){super.fromDict(e),this.r=e.radius,this.text=e.text,this.font=e.font}draw(e){super.draw(e),e.font=this.font,e.save();const t=l.g2l(this.center());e.textAlign="center",e.textBaseline="middle";const i=a.calcFontScale(e,this.text,l.g2lz(this.r),l.g2lz(this.r)),o=0;e.transform(i,o,-o,i,t.x,t.y),e.fillStyle=s.mostReadable(this.fillColour,["#000","#fff"]).toHexString(),e.fillText(this.text,0,0),e.restore()}getInitiativeRepr(){return{uuid:this.uuid,visible:!r.gameStore.IS_DM,group:!1,source:""===this.name||"Unknown shape"===this.name?this.text:this.name,has_img:!1,effects:[],index:1/0}}}t.CircularToken=c},"160b":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"AssetManager"}},[i("div",{attrs:{id:"titlebar"}},[e._v("Asset Manager")]),i("div",{attrs:{id:"main"}},[i("div",{attrs:{id:"assets"},on:{dragover:function(t){return t.preventDefault(),e.moveDrag(t)},drop:function(t){t.preventDefault(),t.stopPropagation(),e.stopDrag(t,e.currentFolder)}}},[i("div",{attrs:{id:"breadcrumbs"}},[i("div",[e._v("/")]),e._l(e.path,function(t){return i("div",{key:t},[e._v(e._s(e.idMap.get(t).name))])})],2),i("div",{attrs:{id:"actionbar"}},[i("input",{attrs:{id:"files",type:"file",multiple:"",hidden:""},on:{change:function(t){e.upload()}}}),i("div",{attrs:{title:"Create folder"},on:{click:e.createDirectory}},[i("i",{staticClass:"fas fa-plus-square"})]),i("div",{attrs:{title:"Upload files"},on:{click:e.prepareUpload}},[i("i",{staticClass:"fas fa-upload"})])]),i("div",{attrs:{id:"explorer"}},[e.path.length?i("div",{staticClass:"inode folder",on:{dblclick:function(t){e.changeDirectory(-1)},dragover:function(t){return t.preventDefault(),e.moveDrag(t)},dragleave:function(t){return t.preventDefault(),e.leaveDrag(t)},drop:function(t){t.preventDefault(),t.stopPropagation(),e.stopDrag(t,e.parentFolder)}}},[i("i",{staticClass:"fas fa-folder",staticStyle:{"font-size":"50px"}}),i("div",{staticClass:"title"},[e._v("..")])]):e._e(),e._l(e.folders,function(t){return i("div",{key:t,staticClass:"inode folder",class:{"inode-selected":e.selected.includes(t)},attrs:{draggable:"true"},on:{click:function(i){e.select(i,t)},dblclick:function(i){e.changeDirectory(t)},contextmenu:function(i){i.preventDefault(),e.$refs.cm.open(i,t)},dragstart:function(i){e.startDrag(i,t)},dragover:function(t){return t.preventDefault(),e.moveDrag(t)},dragleave:function(t){return t.preventDefault(),e.leaveDrag(t)},drop:function(i){i.preventDefault(),i.stopPropagation(),e.stopDrag(i,t)}}},[i("i",{staticClass:"fas fa-folder",staticStyle:{"font-size":"50px"}}),i("div",{staticClass:"title"},[e._v(e._s(e.idMap.get(t).name))])])}),e._l(e.files,function(t){return i("div",{key:t,staticClass:"inode file",class:{"inode-selected":e.selected.includes(t)},attrs:{draggable:"true"},on:{click:function(i){e.select(i,t)},contextmenu:function(i){i.preventDefault(),e.$refs.cm.open(i,t)},dragstart:function(i){e.startDrag(i,t)}}},[i("img",{attrs:{src:"/static/assets/"+e.idMap.get(t).file_hash,width:"50"}}),i("div",{staticClass:"title"},[e._v(e._s(e.idMap.get(t).name))])])})],2)]),e.firstSelectedFile?i("div",{attrs:{id:"asset-details"}},[i("div",{attrs:{id:"asset-detail-title"}},[e._v(e._s(e.firstSelectedFile.name))]),i("img",{attrs:{src:"/static/assets/"+e.firstSelectedFile.file_hash}})]):e._e()]),i("AssetContextMenu",{ref:"cm"}),i("Prompt",{ref:"prompt"}),i("ConfirmDialog",{ref:"confirm"})],1)},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},1625:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("6f92"),a=i("b2ed"),n=i("0180"),r=i("f10f"),l=i("92b1");class c{constructor(){this.shown=!1;const e=new o.GlobalPoint(0,0);this.annotationText=new n.Text(e,"","bold 20px serif",0,"rgba(230, 230, 230, 1)"),this.annotationRect=new a.Rect(e,0,0,"rgba(0, 0, 0, 0.6)")}setActiveText(e){if(void 0===this.layer){if(!s.layerManager.hasLayer("draw"))return void console.warn("There is no draw layer to draw annotations on!");this.layer=s.layerManager.getLayer("draw"),this.layer.addShape(this.annotationRect,!1),this.layer.addShape(this.annotationText,!1)}this.shown=""!==e,this.annotationText.refPoint=l.l2g(new o.LocalPoint(this.layer.canvas.width/2,50)),this.annotationText.text=e;const t=this.shown?this.annotationText.getMaxWidth(this.layer.ctx)+10:0,i=this.shown?this.annotationText.getMaxHeight(this.layer.ctx)+10:0;this.annotationRect.refPoint=l.l2g(new o.LocalPoint(this.layer.canvas.width/2-t/2,30)),this.annotationRect.w=t/r.gameStore.zoomFactor,this.annotationRect.h=i/r.gameStore.zoomFactor,this.layer.invalidate(!0)}}t.AnnotationManager=c},"165c":function(e,t,i){"use strict";var o=i("aaee"),s=i.n(o);s.a},"19f9":function(e,t,i){"use strict";i.r(t);var o=i("b0ca"),s=i("8cd4");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("d638");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"081515c4",null);r.options.__file="menu.vue",t["default"]=r.exports},"1c76":function(e,t,i){"use strict";i.r(t);var o=i("2c88"),s=i("300e");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("7f1e");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,null,null);r.options.__file="contextmenu.vue",t["default"]=r.exports},"1dd6":function(e,t,i){"use strict";i.r(t);var o=i("5ae5"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"1eee":function(e,t,i){"use strict";i.r(t);var o=i("d30b"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"206a":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("6f92"),a=i("6c30"),n=i("4709"),r=i("1327"),l=i("5e7c"),c=i("574e"),u=i("b2ed"),d=i("0180");function h(e,t){if(void 0===t&&(t=!1),!t&&s.layerManager.UUIDMap.has(e.uuid))return s.layerManager.UUIDMap.get(e.uuid);let i;const h=new o.GlobalPoint(e.x,e.y);if("rect"===e.type_){const t=e;i=new u.Rect(h,t.width,t.height,t.fill_colour,t.stroke_colour,t.uuid)}else if("circle"===e.type_){const t=e;i=new n.Circle(h,t.radius,t.fill_colour,t.stroke_colour,t.uuid)}else if("circulartoken"===e.type_){const t=e;i=new r.CircularToken(h,t.radius,t.text,t.font,t.fill_colour,t.stroke_colour,t.uuid)}else if("line"===e.type_){const t=e;i=new l.Line(h,new o.GlobalPoint(t.x2,t.y2),t.line_width,t.stroke_colour,t.uuid)}else if("multiline"===e.type_){const t=e;i=new c.MultiLine(h,t.points.map(e=>new o.GlobalPoint(e.x,e.y)),t.line_width,t.stroke_colour,t.uuid)}else if("text"===e.type_){const t=e;i=new d.Text(h,t.text,t.font,t.angle,t.fill_colour,t.stroke_colour,t.uuid)}else{if("assetrect"!==e.type_)return;{const t=e,o=new Image(t.width,t.height);t.src.startsWith("http")?o.src=new URL(t.src).pathname:o.src=t.src,i=new a.Asset(o,h,t.width,t.height,t.uuid),o.onload=(()=>{s.layerManager.getLayer(e.layer).invalidate(!1)})}}return i.fromDict(e),i}t.createShapeFromDict=h},"223d":function(e,t,i){"use strict";var o=i("e756"),s=i.n(o);s.a},2469:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("66cb")),a=i("4a5b"),n=i("0bc6"),r=i("f312"),l=i("6f92"),c=i("f10f"),u=i("92b1");class d{constructor(e,t,i,o){this.fillColour="#000",this.strokeColour="rgba(0,0,0,0)",this.name="Unknown shape",this.trackers=[],this.auras=[],this.owners=[],this.visionObstruction=!1,this.movementObstruction=!1,this.isToken=!1,this.showHighlight=!1,this.annotation="",this.globalCompositeOperation="source-over",this.options=new Map,this.refPoint=e,this.uuid=o||a.uuidv4(),void 0!==t&&(this.fillColour=t),void 0!==i&&(this.strokeColour=i)}visibleInCanvas(e){return!1}invalidate(e){const t=l.layerManager.getLayer(this.layer);t&&t.invalidate(e)}checkVisionSources(){const e=this,t=c.gameStore.visionBlockers.indexOf(this.uuid);let i=!1;this.visionObstruction&&-1===t?(c.gameStore.visionBlockers.push(this.uuid),i=!0):!this.visionObstruction&&t>=0&&(c.gameStore.visionBlockers.splice(t,1),i=!0),i&&c.gameStore.recalculateBV(),this.auras.forEach(t=>{const i=c.gameStore.visionSources,o=i.findIndex(e=>e.aura===t.uuid);t.visionSource&&-1===o?i.push({shape:e.uuid,aura:t.uuid}):!t.visionSource&&o>=0&&i.splice(o,1)});for(let o=c.gameStore.visionSources.length-1;o>=0;o--){const t=c.gameStore.visionSources[o];t.shape===e.uuid&&(e.auras.some(e=>e.uuid===t.aura&&e.visionSource)||c.gameStore.visionSources.splice(o,1))}}setMovementBlock(e){this.movementObstruction=e||!1;const t=c.gameStore.movementblockers.indexOf(this.uuid);this.movementObstruction&&-1===t?c.gameStore.movementblockers.push(this.uuid):!this.movementObstruction&&t>=0&&c.gameStore.movementblockers.splice(t,1)}setIsToken(e){if(this.isToken=e,this.ownedBy()){const e=c.gameStore.ownedtokens.indexOf(this.uuid);this.isToken&&-1===e?c.gameStore.ownedtokens.push(this.uuid):!this.isToken&&e>=0&&c.gameStore.ownedtokens.splice(e,1)}}ownedBy(e){return void 0===e&&(e=c.gameStore.username),c.gameStore.IS_DM||this.owners.includes(e)}getBaseDict(){return{type_:this.type,uuid:this.uuid,x:this.refPoint.x,y:this.refPoint.y,layer:this.layer,draw_operator:this.globalCompositeOperation,movement_obstruction:this.movementObstruction,vision_obstruction:this.visionObstruction,auras:r.aurasToServer(this.auras),trackers:this.trackers,owners:this.owners,fill_colour:this.fillColour,stroke_colour:this.strokeColour,name:this.name,annotation:this.annotation,is_token:this.isToken,options:JSON.stringify([...this.options])}}fromDict(e){this.layer=e.layer,this.globalCompositeOperation=e.draw_operator,this.movementObstruction=e.movement_obstruction,this.visionObstruction=e.vision_obstruction,this.auras=r.aurasFromServer(e.auras),this.trackers=e.trackers,this.owners=e.owners,this.isToken=e.is_token,e.annotation&&(this.annotation=e.annotation),e.name&&(this.name=e.name),e.options&&(this.options=new Map(JSON.parse(e.options)))}draw(e){if(void 0!==this.globalCompositeOperation?e.globalCompositeOperation=this.globalCompositeOperation:e.globalCompositeOperation="source-over",this.showHighlight){const t=this.getBoundingBox();e.strokeStyle="red",e.strokeRect(u.g2lx(t.topLeft.x)-5,u.g2ly(t.topLeft.y)-5,u.g2lz(t.w)+10,u.g2lz(t.h)+10)}}drawAuras(e){for(const i of this.auras){if(0===i.value&&0===i.dim)return;e.beginPath();const o=u.g2l(this.center()),a=u.g2lr(i.value+i.dim);if(0===i.dim)e.fillStyle=i.colour;else{const t=e.createRadialGradient(o.x,o.y,u.g2lr(i.value),o.x,o.y,u.g2lr(i.value+i.dim)),a=s.default(i.colour);e.fillStyle=t,t.addColorStop(0,i.colour),t.addColorStop(1,a.setAlpha(0).toRgbString())}if(i.visionSource&&void 0!==i.lastPath)try{e.fill(i.lastPath)}catch(t){e.arc(o.x,o.y,a,0,2*Math.PI),e.fill(),console.warn(t)}else e.arc(o.x,o.y,a,0,2*Math.PI),e.fill()}}getInitiativeRepr(){return{uuid:this.uuid,visible:!c.gameStore.IS_DM,group:!1,source:this.name,has_img:!1,effects:[],index:1/0}}moveLayer(e,t){const i=l.layerManager.getLayer(this.layer),o=l.layerManager.getLayer(e);void 0!==i&&void 0!==o&&(this.layer=e,i.shapes.splice(i.shapes.indexOf(this),1),o.shapes.push(this),i.invalidate(!0),o.invalidate(!1),t&&n.socket.emit("Shape.Layer.Change",{uuid:this.uuid,layer:e}))}}t.Shape=d},"255e":function(e,t,i){"use strict";i.r(t);var o=i("851c"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},2686:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return null!==e.note?i("modal",{attrs:{visible:e.visible,mask:!1},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[i("span",{on:{click:function(t){e.$refs.title.select()}}},[i("i",{staticClass:"fas fa-pencil-alt",staticStyle:{"font-size":"15px"}})]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.note.title,expression:"note.title"}],ref:"title",domProps:{value:e.note.title},on:{change:e.updateNote,input:function(t){t.target.composing||e.$set(e.note,"title",t.target.value)}}}),i("div",{staticClass:"header-close",on:{click:function(t){e.visible=!1}}},[i("i",{staticClass:"far fa-window-close"})])])}}])},[i("div",{staticClass:"modal-body"},[i("textarea",{directives:[{name:"model",rawName:"v-model",value:e.note.text,expression:"note.text"}],ref:"textarea",style:{height:e.calcHeight()},domProps:{value:e.note.text},on:{change:e.updateNote,input:function(t){t.target.composing||e.$set(e.note,"text",t.target.value)}}})]),i("div",{staticClass:"modal-footer"},[i("button",{on:{click:e.removeNote}},[i("i",{staticClass:"far fa-trash-alt"}),e._v(" Remove\n ")])])]):e._e()},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"26a5":function(e,t,i){"use strict";var o=i("f2d0"),s=i.n(o);s.a},2756:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("496c")),a=o.__importDefault(i("ea6a")),n=i("4a5b"),r=i("0bc6"),l=i("8f0a"),c=i("6f92"),u=i("b2ed"),d=i("f10f"),h=i("2838"),f=i("92b1"),p=i("5a5c"),g=o.__importDefault(i("65d9"));var m;(function(e){e[e["Noop"]=0]="Noop",e[e["Resize"]=1]="Resize",e[e["Drag"]=2]="Drag",e[e["GroupSelect"]=3]="GroupSelect"})(m=t.SelectOperations||(t.SelectOperations={}));const v=new l.GlobalPoint(-1e3,-1e3);let y=class extends a.default{constructor(){super(...arguments),this.name="Select",this.showContextMenu=!1,this.active=!1,this.mode=m.Noop,this.resizeDirection="",this.deltaChanged=!1,this.dragRay=new l.Ray(new l.LocalPoint(0,0),new l.Vector(0,0)),this.selectionStartPoint=v,this.selectionHelper=new u.Rect(v,0,0)}created(){this.selectionHelper.globalCompositeOperation="source-over"}onMouseDown(e){const t=c.layerManager.getLayer();if(void 0===t)return void console.log("No active layer!");this.selectionHelper.owners.includes(d.gameStore.username)||this.selectionHelper.owners.push(d.gameStore.username);const i=p.getMouse(e),o=f.l2g(i);let s,a=!1;s=t.selection.length?t.shapes.concat(t.selection):t.shapes;for(let r=s.length-1;r>=0;r--){const e=s[r];if(!e.ownedBy())continue;const c=e.getBoundingBox().getCorner(o);if(void 0!==c){t.selection=[e],n.getRef("selectionInfo").shape=e,this.mode=m.Resize,this.resizeDirection=c,t.invalidate(!0),a=!0;break}if(e.contains(o)){const o=e;-1===t.selection.indexOf(o)&&(t.selection=[o],n.getRef("selectionInfo").shape=o),this.mode=m.Drag;const s=f.g2l(o.refPoint);this.dragRay=new l.Ray(s,i.subtract(s)),t.invalidate(!0),a=!0;break}}if(!a){this.mode=m.GroupSelect;for(const e of t.selection)n.getRef("selectionInfo").shape=e;this.selectionStartPoint=o,this.selectionHelper.refPoint=this.selectionStartPoint,this.selectionHelper.w=0,this.selectionHelper.h=0,t.selection=[this.selectionHelper],t.invalidate(!0)}this.active=!0}onMouseMove(e){const t=c.layerManager.getLayer();if(void 0===t)return void console.log("No active layer!");const i=p.getMouse(e),o=f.l2g(i);if(this.deltaChanged=!1,this.mode===m.GroupSelect){const e=o;this.selectionHelper.w=Math.abs(e.x-this.selectionStartPoint.x),this.selectionHelper.h=Math.abs(e.y-this.selectionStartPoint.y),this.selectionHelper.refPoint=new l.GlobalPoint(Math.min(this.selectionStartPoint.x,e.x),Math.min(this.selectionStartPoint.y,e.y)),t.invalidate(!0)}else if(t.selection.length){const s=f.g2l(t.selection[t.selection.length-1].refPoint),a=s.add(this.dragRay.direction);let n=i.subtract(a).multiply(1/d.gameStore.zoomFactor);const l=n;if(this.mode===m.Drag){if("tokens"===t.name&&(!e.shiftKey||!d.gameStore.IS_DM))for(const e of t.selection)e.uuid!==this.selectionHelper.uuid&&(n=h.calculateDelta(n,e),n!==l&&(this.deltaChanged=!0));for(const e of t.selection)e.refPoint=e.refPoint.add(n),e!==this.selectionHelper&&(e.visionObstruction&&d.gameStore.recalculateBV(),r.socket.emit("Shape.Update",{shape:e.asDict(),redraw:!0,temporary:!0}));t.invalidate(!1)}else if(this.mode===m.Resize)for(const e of t.selection)e.resize(this.resizeDirection,i),e!==this.selectionHelper&&(e.visionObstruction&&d.gameStore.recalculateBV(),r.socket.emit("Shape.Update",{shape:e.asDict(),redraw:!0,temporary:!0})),t.invalidate(!1);else for(const e of t.selection){const t=e.getBoundingBox(),i=o;t.inCorner(i,"nw")?document.body.style.cursor="nw-resize":t.inCorner(i,"ne")?document.body.style.cursor="ne-resize":t.inCorner(i,"se")?document.body.style.cursor="se-resize":t.inCorner(i,"sw")?document.body.style.cursor="sw-resize":document.body.style.cursor="default"}}else document.body.style.cursor="default"}onMouseUp(e){if(!this.active)return;if(void 0===c.layerManager.getLayer())return void console.log("No active layer!");const t=c.layerManager.getLayer();this.mode===m.GroupSelect?(t.clearSelection(),t.shapes.forEach(e=>{if(e===this.selectionHelper)return;const i=e.getBoundingBox();e.ownedBy()&&this.selectionHelper.refPoint.x<=i.topRight.x&&this.selectionHelper.refPoint.x+this.selectionHelper.w>=i.topLeft.x&&this.selectionHelper.refPoint.y<=i.botLeft.y&&this.selectionHelper.refPoint.y+this.selectionHelper.h>=i.topLeft.y&&t.selection.push(e)}),t.selection.length>0&&t.selection.push(this.selectionHelper),t.invalidate(!0)):t.selection.length&&t.selection.forEach(i=>{if(this.mode===m.Drag){if(this.dragRay.origin.x===f.g2lx(i.refPoint.x)&&this.dragRay.origin.y===f.g2ly(i.refPoint.y))return;!d.gameStore.useGrid||e.altKey||this.deltaChanged||i.snapToGrid(),i!==this.selectionHelper&&(i.visionObstruction&&d.gameStore.recalculateBV(),r.socket.emit("Shape.Update",{shape:i.asDict(),redraw:!0,temporary:!1})),t.invalidate(!1)}this.mode===m.Resize&&(d.gameStore.useGrid&&!e.altKey&&i.resizeToGrid(),i!==this.selectionHelper&&(i.visionObstruction&&d.gameStore.recalculateBV(),r.socket.emit("Shape.Update",{shape:i.asDict(),redraw:!0,temporary:!1})),t.invalidate(!1))}),this.mode=m.Noop,this.active=!1}onContextMenu(e){if(void 0===c.layerManager.getLayer())return void console.log("No active layer!");const t=c.layerManager.getLayer(),i=p.getMouse(e),o=f.l2g(i);for(const s of t.selection)if(s.contains(o))return t.selection=[s],n.getRef("selectionInfo").shape=s,t.invalidate(!0),void this.$parent.$refs.shapecontext.open(e,s);this.$refs.selectcontext.open(e)}};y=o.__decorate([g.default({components:{SelectContext:s.default}})],y),t.default=y},2838:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("6f92"),a=i("f10f");function n(e,t,i){void 0===i&&(i=[]);const r=t.getBoundingBox(),l=r.offset(e);let c=!1;for(const n of a.gameStore.movementblockers){if(i.includes(n))continue;const t=s.layerManager.UUIDMap.get(n),a=t.getBoundingBox();let u=a.intersectsWithInner(l);if(!u){const t=o.Ray.fromPoints(r.topLeft.add(e.normalize()),l.topLeft),i=t.direction.inverse(),s=[i.x<0,i.y<0];u=a.intersectP(t,i,s).hit}if(u){const t=a.center(),s=r.center(),l=s.subtract(t),u=new o.Vector(1,0),d=new o.Vector(0,1);let h=l.dot(u),f=l.dot(d);h>a.w/2&&(h=a.w/2),h<-a.w/2&&(h=-a.w/2),f>a.h/2&&(f=a.h/2),f<-a.h/2&&(f=-a.h/2);const p=t.add(u.multiply(h)).add(d.multiply(f));p.x===r.topLeft.x||p.x===r.topRight.x?e=new o.Vector(0,e.y):p.y===r.topLeft.y||p.y===r.botLeft.y?e=new o.Vector(e.x,0):p.xr.topRight.x?e=new o.Vector(p.x-r.topRight.x,e.y):p.yr.botLeft.y&&(e=new o.Vector(e.x,p.y-r.botLeft.y)),c=!0,i.push(n);break}}return c&&(e=n(e,t,i)),e}t.calculateDelta=n},"28b6":function(e,t,i){"use strict";var o=i("ee96"),s=i.n(o);s.a},"2b48":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("0bc6"),s=i("f10f");function a(){o.socket.emit("Client.Options.Set",{locationOptions:{panX:s.gameStore.panX,panY:s.gameStore.panY,zoomFactor:s.gameStore.zoomFactor}})}t.sendClientOptions=a},"2baf":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=i("60a3"),r=i("4a5b");let l=class extends s.default{constructor(){super(...arguments),this.showImage=null}get folders(){return Object.keys(this.asset).filter(e=>!["__files"].includes(e)).sort(r.alphSort)}get files(){return this.asset.__files?this.asset.__files.concat().sort((e,t)=>e.name.toLowerCase()>t.name.toLowerCase()?1:-1):[]}toggle(e){for(let t=0;t1?i("div",{attrs:{id:"layerselect"}},[i("ul",e._l(e.layers,function(t){return i("li",{key:t.name,class:{"layer-selected":t===e.selectedLayer},on:{click:function(i){e.selectLayer(t)}}},[i("a",{attrs:{href:"#"}},[e._v(e._s(t))])])}))]):e._e()],2),i("selection-info",{ref:"selectionInfo"}),i("initiative-dialog",{ref:"initiative",attrs:{id:"initiativedialog"}}),i("note-dialog",{ref:"note"}),i("zoom-slider",{attrs:{id:"zoomer",height:6,width:200,min:.1,max:5,interval:.1,"dot-width":8,"dot-height":20,"tooltip-dir":"bottom",tooltip:"hover",formatter:e.zoomFactor.toFixed(1),"slider-style":{"border-radius":"15%"},"bg-style":{"background-color":"#fff","box-shadow":"0.5px 0.5px 3px 1px rgba(0, 0, 0, .36)"},"process-style":{"background-color":"#fff"}},model:{value:e.zoomFactor,callback:function(t){e.zoomFactor=t},expression:"zoomFactor"}}),i("prompt-dialog",{ref:"prompt"}),i("confirm-dialog",{ref:"confirm"})],1)},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"2c88":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.visible?i("div",{staticClass:"ContextMenu",style:{left:e.left,top:e.top},attrs:{tabindex:"-1"},on:{blur:function(t){e.$emit("close")}}},[i("ul",[e._t("default")],2)]):e._e()},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"2d5b":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=i("6fc5"),a=i("3a0b");let n=class extends s.VuexModule{constructor(){super(...arguments),this.root=-1,this.files=[],this.folders=[],this.idMap=new Map,this.selected=[]}clear(){this.folders=[],this.files=[]}clearSelected(){this.selected=[]}setRoot(e){this.root=e}isFile(e){return this.files.includes(e)}};o.__decorate([s.Mutation],n.prototype,"clear",null),o.__decorate([s.Mutation],n.prototype,"clearSelected",null),o.__decorate([s.Mutation],n.prototype,"setRoot",null),o.__decorate([s.Mutation],n.prototype,"isFile",null),n=o.__decorate([s.Module({dynamic:!0,store:a.rootStore,name:"assets",namespaced:!0})],n),t.assetStore=s.getModule(n)},"2f2a":function(e,t,i){},"2f43":function(e,t,i){"use strict";var o=i("af26"),s=i.n(o);s.a},"300e":function(e,t,i){"use strict";i.r(t);var o=i("cde6"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"308b":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("1c76")),r=i("4a5b"),l=i("6f92"),c=i("f10f");let u=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.x=0,this.y=0,this.shape=null}get activeLayer(){const e=l.layerManager.getLayer();return void 0===e?"":e.name}open(e,t){this.visible=!0,this.x=e.pageX,this.y=e.pageY,this.shape=t,this.$nextTick(()=>this.$children[0].$el.focus())}close(){this.visible=!1,this.shape=null}getLayers(){return l.layerManager.layers.filter(e=>e.selectable&&(c.gameStore.IS_DM||e.playerEditable))}getActiveLayer(){return l.layerManager.getLayer()}getInitiativeWord(){return null===this.shape?"":r.getRef("initiative").contains(this.shape.uuid)?"Show":"Add"}setLayer(e){null!==this.shape&&(this.shape.moveLayer(e,!0),this.close())}moveToBack(){if(null===this.shape)return;const e=this.getActiveLayer();e.moveShapeOrder(this.shape,0,!0),this.close()}moveToFront(){if(null===this.shape)return;const e=this.getActiveLayer();e.moveShapeOrder(this.shape,e.shapes.length-1,!0),this.close()}addInitiative(){if(null===this.shape)return;const e=r.getRef("initiative");e.contains(this.shape.uuid)||e.addInitiative(this.shape.getInitiativeRepr()),e.visible=!0,this.close()}};u=o.__decorate([a.default({components:{ContextMenu:n.default}})],u),t.default=u},3427:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return null!==e.shape?i("div",[i("div",{attrs:{id:"selection-menu"}},[i("div",{attrs:{id:"selection-edit-button"},on:{click:e.openEditDialog}},[i("i",{staticClass:"fas fa-edit"})]),i("div",{attrs:{id:"selection-name"}},[e._v(e._s(e.shape.name))]),i("div",{attrs:{id:"selection-trackers"}},[e._l(e.shape.trackers,function(t){return""!==t.name||0!==t.value?[i("div",{key:"name-"+t.uuid},[e._v(e._s(t.name))]),i("div",{key:"value-"+t.uuid,staticClass:"selection-tracker-value",on:{click:function(i){e.changeValue(t,!1)}}},[0===t.maxvalue?[e._v(e._s(t.value))]:[e._v(e._s(t.value)+" / "+e._s(t.maxvalue))]],2)]:e._e()})],2),i("div",{attrs:{id:"selection-auras"}},[e._l(e.shape.auras,function(t){return""!==t.name||0!==t.value?[i("div",{key:"name-"+t.uuid},[e._v(e._s(t.name))]),i("div",{key:"value-"+t.uuid,staticClass:"selection-tracker-value",on:{click:function(i){e.changeValue(t,!0)}}},[0===t.dim?[e._v(e._s(t.value))]:[e._v(e._s(t.value)+" / "+e._s(t.dim))]],2)]:e._e()})],2)]),i("edit-dialog",{ref:"editDialog",attrs:{shape:e.shape}})],1):e._e()},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},3481:function(e,t,i){"use strict";i.r(t);var o=i("47e6"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"38c9":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("bab4"),s=i("f10f");class a extends o.Layer{invalidate(){this.valid=!1}draw(e){this.valid||this.drawGrid()}drawGrid(){const e=this.ctx;this.clear(),e.beginPath();const t=s.gameStore.gridSize;for(let i=0;it.uuid===e.uuid);this.preFogShapes.splice(t,1)}super.removeShape(e,t,i)}draw(){if(!this.valid){const e=this.ctx;if(n.Settings.skipLightFOW)return e.clearRect(0,0,this.canvas.width,this.canvas.height),void(this.valid=!0);const t=e.globalCompositeOperation;e.clearRect(0,0,this.canvas.width,this.canvas.height),e.fillStyle="rgba(0, 0, 0, 1)";const i=a.layerManager.getLayer("draw").ctx;(n.Settings.drawAngleLines||n.Settings.drawFirstLightHit)&&i.clearRect(0,0,i.canvas.width,i.canvas.height),l.gameStore.fullFOW&&a.layerManager.hasLayer("tokens")&&a.layerManager.getLayer("tokens").shapes.forEach(t=>{if(!t.ownedBy()||!t.isToken)return;const i=t.getBoundingBox(),o=c.g2l(t.center()),s=.8*c.g2lz(i.w);e.beginPath(),e.arc(o.x,o.y,s,0,2*Math.PI);const a=e.createRadialGradient(o.x,o.y,s/2,o.x,o.y,s);a.addColorStop(0,"rgba(0, 0, 0, 1)"),a.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=a,e.fill()});for(const s of l.gameStore.visionSources){const t=a.layerManager.UUIDMap.get(s.shape);if(void 0===t)continue;const u=t.auras.find(e=>e.uuid===s.aura);if(void 0===u)continue;const d=c.getUnitDistance(u.value+u.dim),h=t.center(),f=c.g2l(h),p=new r.Circle(h,d);if(!p.visibleInCanvas(e.canvas))continue;let g=-1;const m=new Path2D;let v;m.moveTo(f.x,f.y);for(let s=0;s<2*Math.PI;s+=n.Settings.angleSteps/180*Math.PI){const t=new o.GlobalPoint(h.x+d*Math.cos(s),h.y+d*Math.sin(s));n.Settings.drawAngleLines&&(i.beginPath(),i.moveTo(c.g2lx(h.x),c.g2ly(h.y)),i.lineTo(c.g2lx(t.x),c.g2ly(t.y)),i.stroke());const a=o.Ray.fromPoints(h,t),r=l.gameStore.BV.intersect(a);if(0===s&&(v=r.hit?r.intersect:t),r.hit)-1!==g&&(m.arc(f.x,f.y,c.g2lr(u.value+u.dim),g,s),g=-1),m.lineTo(c.g2lx(r.intersect.x),c.g2ly(r.intersect.y));else if(-1===g){g=s;const i=c.g2l(t);e.lineTo(i.x,i.y)}}if(-1===g?m.lineTo(c.g2lx(v.x),c.g2ly(v.y)):m.arc(f.x,f.y,c.g2lr(u.value+u.dim),g,2*Math.PI),l.gameStore.fullFOW){if(u.dim>0){const t=e.createRadialGradient(f.x,f.y,c.g2lr(u.value),f.x,f.y,c.g2lr(u.value+u.dim));t.addColorStop(0,"rgba(0, 0, 0, 1)"),t.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=t}else e.fillStyle="rgba(0, 0, 0, 1)";e.fill(m)}u.lastPath=m}l.gameStore.fowLOS&&(e.globalCompositeOperation="source-in",e.drawImage(a.layerManager.getLayer("fow-players").canvas,0,0));for(const o of this.preFogShapes){if(!o.visibleInCanvas(this.canvas))continue;const t=o.globalCompositeOperation;l.gameStore.fullFOW||("source-over"===o.globalCompositeOperation?o.globalCompositeOperation="destination-out":"destination-out"===o.globalCompositeOperation&&(o.globalCompositeOperation="source-over")),o.draw(e),o.globalCompositeOperation=t}l.gameStore.fullFOW&&(e.globalCompositeOperation="source-out",e.fillStyle=u.getFogColour(),e.fillRect(0,0,e.canvas.width,e.canvas.height)),super.draw(!1),e.globalCompositeOperation=t}}}t.FOWLayer=d},4486:function(e,t,i){"use strict";i.r(t);var o=i("a097"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},4709:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("8db6"),a=i("2469"),n=i("f10f"),r=i("2838"),l=i("92b1"),c=i("5a5c");class u extends a.Shape{constructor(e,t,i,o,s){super(e,i,o,s),this.type="circle",this.r=t||1}asDict(){return Object.assign(this.getBaseDict(),{radius:this.r})}fromDict(e){super.fromDict(e),this.r=e.radius}getBoundingBox(){return new s.BoundingRect(new o.GlobalPoint(this.refPoint.x-this.r,this.refPoint.y-this.r),2*this.r,2*this.r)}draw(e){super.draw(e),e.beginPath(),"fog"===this.fillColour?e.fillStyle=c.getFogColour():e.fillStyle=this.fillColour;const t=l.g2l(this.refPoint);e.arc(t.x,t.y,l.g2lz(this.r),0,2*Math.PI),e.fill(),"rgba(0, 0, 0, 0)"!==this.strokeColour&&(e.beginPath(),e.lineWidth=l.g2lz(5),e.strokeStyle=this.strokeColour,e.arc(t.x,t.y,l.g2lz(this.r),0,2*Math.PI),e.stroke())}contains(e){return Math.pow(e.x-this.refPoint.x,2)+Math.pow(e.y-this.refPoint.y,2){const t=16*Math.random()|0,i="x"===e?t:3&t|8;return i.toString(16)})}function a(e){return e.charAt(0).toUpperCase()+e.slice(1)}function n(e,t){return e.toLowerCase()t(e)?i[1].push(e):i[0].push(e)),i}function u(e,t,i,o){const s=.2*Number(e.font.split("px")[0]),a=e.measureText(t).width;return Math.min(i/a,o/s)}function d(e){return encodeURIComponent(e).replace(/[!'()*]/g,e=>{return"%"+e.charCodeAt(0).toString(16)})}t.uuidv4=s,t.capitalize=a,t.alphSort=n,t.getHTMLFont=r,t.getHTMLTextWidth=l,t.partition=c,t.calcFontScale=u,t.fixedEncodeURIComponent=d;class h{constructor(){this.keys=[],this.values=[]}get(e){return this.values[this.keys.indexOf(e)]}getIndexValue(e){return this.values[e]}getIndexKey(e){return this.keys[e]}set(e,t){this.keys.push(e),this.values.push(t)}indexOf(e){return this.keys.indexOf(e)}remove(e){const t=this.indexOf(e);this.keys.splice(t,1),this.values.splice(t,1)}}function f(){return o.app.$children[0].$refs.activeComponent}function p(e){const t=o.app.$children[0].$refs.activeComponent;return t.$refs[e]}t.OrderedMap=h,t.getComponent=f,t.getRef=p},"4aec":function(e,t,i){"use strict";i.r(t);var o=i("df15"),s=i("f51a");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,null,null);r.options.__file="contextMenu.vue",t["default"]=r.exports},"4b01":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("Modal",{attrs:{visible:e.visible,mask:!1},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[i("div",[e._v("Edit asset")]),i("div",{staticClass:"header-close",on:{click:function(t){e.visible=!1}}},[i("i",{staticClass:"far fa-window-close"})])])}}])},[i("div",{staticClass:"modal-body"},[i("label",{attrs:{for:"shapeselectiondialog-name"}},[e._v("Name")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.shape.name,expression:"shape.name"}],staticStyle:{"grid-column":"numerator / end"},attrs:{type:"text",id:"shapeselectiondialog-name"},domProps:{value:e.shape.name},on:{change:function(t){e.updateShape(!1)},input:function(t){t.target.composing||e.$set(e.shape,"name",t.target.value)}}}),i("label",{attrs:{for:"shapeselectiondialog-istoken"}},[e._v("Is a token")]),i("input",{staticStyle:{"grid-column-start":"remove",width:"15px",height:"15px"},attrs:{type:"checkbox",id:"shapeselectiondialog-istoken"},domProps:{checked:e.shape.isToken},on:{click:e.setToken}}),i("label",{attrs:{for:"shapeselectiondialog-visionblocker"}},[e._v("Blocks vision/light")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.shape.visionObstruction,expression:"shape.visionObstruction"}],staticStyle:{"grid-column-start":"remove",width:"15px",height:"15px"},attrs:{type:"checkbox",id:"shapeselectiondialog-visionblocker"},domProps:{checked:Array.isArray(e.shape.visionObstruction)?e._i(e.shape.visionObstruction,null)>-1:e.shape.visionObstruction},on:{change:[function(t){var i=e.shape.visionObstruction,o=t.target,s=!!o.checked;if(Array.isArray(i)){var a=null,n=e._i(i,a);o.checked?n<0&&e.$set(e.shape,"visionObstruction",i.concat([a])):n>-1&&e.$set(e.shape,"visionObstruction",i.slice(0,n).concat(i.slice(n+1)))}else e.$set(e.shape,"visionObstruction",s)},e.setVisionBlocker]}}),i("label",{attrs:{for:"shapeselectiondialog-moveblocker"}},[e._v("Blocks movement")]),i("input",{staticStyle:{"grid-column-start":"remove",width:"15px",height:"15px"},attrs:{type:"checkbox",id:"shapeselectiondialog-moveblocker"},domProps:{checked:e.shape.movementObstruction},on:{click:e.setMovementBlocker}}),i("div",{staticClass:"spanrow header"},[e._v("Access")]),e._l(e.shape.owners,function(t){return[i("input",{key:t,staticStyle:{"grid-column-start":"name"},attrs:{type:"text",placeholder:"name"},domProps:{value:t},on:{change:function(i){e.updateOwner(i,t)}}}),""!==t?i("div",{key:"remove-"+t,staticStyle:{"grid-column-start":"remove"},on:{click:function(i){e.removeOwner(t)}}},[i("i",{staticClass:"fas fa-trash-alt"})]):e._e()]}),i("div",{staticClass:"spanrow header"},[e._v("Trackers")]),e._l(e.shape.trackers,function(t){return[i("input",{directives:[{name:"model",rawName:"v-model",value:t.name,expression:"tracker.name"}],key:"name-"+t.uuid,staticStyle:{"grid-column-start":"name"},attrs:{type:"text",placeholder:"name"},domProps:{value:t.name},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"name",i.target.value)}}}),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.value,expression:"tracker.value",modifiers:{number:!0}}],key:"value-"+t.uuid,attrs:{type:"text",title:"Current value"},domProps:{value:t.value},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"value",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("span",{key:"fspan-"+t.uuid},[e._v("/")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.maxvalue,expression:"tracker.maxvalue",modifiers:{number:!0}}],key:"maxvalue-"+t.uuid,attrs:{type:"text",title:"Current value"},domProps:{value:t.maxvalue},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"maxvalue",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("span",{key:"sspan-"+t.uuid}),i("div",{key:"visibility-"+t.uuid,style:{opacity:t.visible?1:.3},on:{click:function(i){t.visible=!t.visible,e.updateShape(!1)}}},[i("i",{staticClass:"fas fa-eye"})]),i("span",{key:"tspan-"+t.uuid}),""!==t.name||0!==t.value?i("div",{key:"remove-"+t.uuid,on:{click:function(i){e.removeTracker(t.uuid)}}},[i("i",{staticClass:"fas fa-trash-alt"})]):e._e()]}),i("div",{staticClass:"spanrow header"},[e._v("Auras")]),e._l(e.shape.auras,function(t){return[i("input",{directives:[{name:"model",rawName:"v-model",value:t.name,expression:"aura.name"}],key:"name-"+t.uuid,staticStyle:{"grid-column-start":"name"},attrs:{type:"text",placeholder:"name"},domProps:{value:t.name},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"name",i.target.value)}}}),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.value,expression:"aura.value",modifiers:{number:!0}}],key:"value-"+t.uuid,attrs:{type:"text",title:"Current value"},domProps:{value:t.value},on:{change:function(t){e.updateShape(!0)},input:function(i){i.target.composing||e.$set(t,"value",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("span",{key:"fspan-"+t.uuid},[e._v("/")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.dim,expression:"aura.dim",modifiers:{number:!0}}],key:"dimvalue-"+t.uuid,attrs:{type:"text",title:"Dim value"},domProps:{value:t.dim},on:{change:function(t){e.updateShape(!0)},input:function(i){i.target.composing||e.$set(t,"dim",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("color-picker",{key:"colour-"+t.uuid,attrs:{color:t.colour},on:{"update:color":function(i){e.$set(t,"colour",i)},input:function(i){e.updateAuraColour(t,i)},change:function(t){e.updateShape(!0)}}}),i("div",{key:"visibility-"+t.uuid,style:{opacity:t.visible?1:.3},on:{click:function(i){t.visible=!t.visible,e.updateShape(!0)}}},[i("i",{staticClass:"fas fa-eye"})]),i("div",{key:"visionsource-"+t.uuid,style:{opacity:t.visionSource?1:.3},on:{click:function(i){e.updateAuraVisionSource(t)}}},[i("i",{staticClass:"fas fa-lightbulb"})]),""!==t.name||0!==t.value?i("div",{key:"remove-"+t.uuid,on:{click:function(i){e.removeAura(t.uuid)}}},[i("i",{staticClass:"fas fa-trash-alt"})]):e._e()]}),i("div",{staticClass:"spanrow header"},[e._v("Annotation")]),i("textarea",{staticClass:"spanrow",domProps:{value:e.shape.annotation},on:{change:e.updateAnnotation}})],2)])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"4bc3":function(e,t,i){"use strict";i.r(t);var o=i("2baf"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},5050:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return void 0!==e.getActiveLayer()?i("ContextMenu",{attrs:{visible:e.visible,left:e.x+"px",top:e.y+"px"},on:{close:e.close}},[e.getLayers().length>1?i("li",[e._v("Layer\n "),i("ul",e._l(e.getLayers(),function(t){return i("li",{key:t.name,style:[e.getActiveLayer().name===t.name?{"background-color":"#82c8a0"}:{}],on:{click:function(i){e.setLayer(t.name)}}},[e._v(e._s(t.name))])}))]):e._e(),i("li",{on:{click:e.moveToBack}},[e._v("Move to back")]),i("li",{on:{click:e.moveToFront}},[e._v("Move to front")]),i("li",{on:{click:e.addInitiative}},[e._v(e._s(e.getInitiativeWord())+" initiative")])]):e._e()},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"52a8":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=i("60a3");let r=class extends s.default{constructor(){super(...arguments),this.positioned=!1,this.offsetX=0,this.offsetY=0,this.screenX=0,this.screenY=0,this.dragging=!1}mounted(){this.updatePosition()}updated(){this.updatePosition()}close(e){this.$emit("close")}updatePosition(){if(!this.positioned){const e=this.$refs.container;if(0===e.offsetWidth&&0===e.offsetHeight)return;this.$refs.container.style.left=(window.innerWidth-e.offsetWidth)/2+"px",this.$refs.container.style.top=(window.innerHeight-e.offsetHeight)/2+"px",this.positioned=!0}}dragStart(e){null!==e&&null!==e.dataTransfer&&(e.dataTransfer.setData("Hack",""),e.dataTransfer.setDragImage(this.$refs.container,e.offsetX,e.offsetY),this.offsetX=e.offsetX,this.offsetY=e.offsetY,this.screenX=e.screenX,this.screenY=e.screenY,this.dragging=!0)}dragEnd(e){this.dragging=!1;let t=e.clientX-this.offsetX,i=e.clientY-this.offsetY;0===e.clientX&&0===e.clientY&&0===e.pageX&&0===e.pageY&&(t=parseInt(this.$refs.container.style.left,10)-(this.screenX-e.screenX),i=parseInt(this.$refs.container.style.top,10)-(this.screenY-e.screenY)),t<0&&(t=0),t>window.innerWidth-100&&(t=window.innerWidth-100),i<0&&(i=0),i>window.innerHeight-100&&(i=window.innerHeight-100),this.$refs.container.style.left=t+"px",this.$refs.container.style.top=i+"px",this.$refs.container.style.display="block"}dragOver(e){this.dragging&&(this.$refs.container.style.display="none")}};o.__decorate([n.Prop(Boolean)],r.prototype,"visible",void 0),o.__decorate([n.Prop({type:Boolean,default:!0})],r.prototype,"mask",void 0),r=o.__decorate([a.default],r),t.default=r},5338:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("8055")),a=i("2d5b");t.socket=s.default(location.protocol+"//"+location.host+"/pa_assetmgmt",{autoConnect:!1}),t.socket.on("connect",()=>{console.log("Connected")}),t.socket.on("disconnect",()=>{console.log("Disconnected")}),t.socket.on("redirect",e=>{console.log("redirecting"),window.location.href=e}),t.socket.on("Folder.Root.Set",e=>{a.assetStore.setRoot(e)}),t.socket.on("Folder.Set",e=>{if(a.assetStore.clear(),e.children)for(const t of e.children)a.assetStore.idMap.set(t.id,t),t.file_hash?a.assetStore.files.push(t.id):a.assetStore.folders.push(t.id)}),t.socket.on("Folder.Create",e=>{a.assetStore.folders.push(e.id),a.assetStore.idMap.set(e.id,e)}),t.socket.on("Asset.Upload.Finish",e=>{a.assetStore.idMap.set(e.id,e),a.assetStore.files.push(e.id)})},"550a":function(e,t,i){"use strict";var o=i("f8a4"),s=i.n(o);s.a},"561b":function(e,t,i){"use strict";var o=i("a450"),s=i.n(o);s.a},5722:function(e,t,i){},"574e":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("8db6"),a=i("2469"),n=i("92b1"),r=i("5a5c");class l extends a.Shape{constructor(e,t,i,o,s){super(e,"rgba(0, 0, 0, 0)",o||"#000",s),this.type="multiline",this.points=[],this.points=t||[],this.lineWidth=i||3}asDict(){return Object.assign(this.getBaseDict(),{line_width:this.lineWidth,points:this.points.map(e=>({x:e.x,y:e.y}))})}getBoundingBox(){let e=this.refPoint.x,t=this.refPoint.y,i=this.refPoint.x,a=this.refPoint.y;for(const o of this.points)o.xt&&(t=o.x),o.ya&&(a=o.y);return new s.BoundingRect(new o.GlobalPoint(e,i),t-e,a-i)}draw(e){super.draw(e),e.beginPath(),e.lineCap="round",e.lineJoin="round",e.moveTo(n.g2lx(this.refPoint.x),n.g2ly(this.refPoint.y));for(const t of this.points)e.lineTo(n.g2lx(t.x),n.g2ly(t.y));"fog"===this.strokeColour?e.strokeStyle=r.getFogColour():e.strokeStyle=this.strokeColour,e.lineWidth=n.g2lz(this.lineWidth),e.stroke()}contains(e){return this.points.includes(e)}center(e){}getCorner(e){return""}visibleInCanvas(e){return!0}snapToGrid(){}resizeToGrid(){}resize(e,t){}}t.MultiLine=l},"58c7":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"outer",on:{click:function(t){return t.target!==t.currentTarget?null:e.open(t)}}},[i("div",{staticClass:"current-color",style:e.transparent?"background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)":"background-color:"+e.color,on:{click:function(t){return t.target!==t.currentTarget?null:e.open(t)}}}),i("div",{directives:[{name:"show",rawName:"v-show",value:e.display,expression:"display"}],staticClass:"mask",on:{click:function(t){return t.target!==t.currentTarget?null:e.closePicker(t)}}}),i("chrome-picker",{directives:[{name:"show",rawName:"v-show",value:e.display,expression:"display"}],ref:"chromePicker",style:{position:"fixed",left:e.left+"px",top:e.top+"px","z-index":9999},attrs:{value:e.color,tabindex:"-1"},on:{input:e.updateColor}})],1)},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"59d8":function(e,t,i){"use strict";i.r(t);var o=i("aae4"),s=i("6f8d");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("9726");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"5c4191ca",null);r.options.__file="draw.vue",t["default"]=r.exports},"5a5c":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("66cb")),a=i("8f0a"),n=i("f10f");function r(e){return new a.LocalPoint(e.pageX,e.pageY)}function l(e=!1){const t=s.default(n.gameStore.fowColour);return n.gameStore.IS_DM?t.setAlpha(e?1:n.gameStore.fowOpacity):t.setAlpha(1),t.toRgbString()}t.getMouse=r,t.getFogColour=l},"5a81":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importStar(i("66cb")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("65d9")),r=i("2f62"),l=o.__importDefault(i("3b36")),c=o.__importDefault(i("d65f")),u=i("4a5b"),d=i("8f0a"),h=i("6f92"),f=i("1327"),p=i("f10f"),g=i("92b1"),m=i("60a3");let v=class extends a.default{constructor(){super(...arguments),this.x=0,this.y=0,this.visible=!1,this.text="X",this.fillColour="rgba(255, 255, 255, 1)",this.borderColour="rgba(0, 0, 0, 1)"}mounted(){this.updatePreview()}onTextChange(e,t){this.updatePreview()}onFillChange(e,t){this.updatePreview()}onBorderChange(e,t){this.updatePreview()}open(e,t){this.visible=!0,this.x=e,this.y=t}submit(){const e=h.layerManager.getLayer();if(void 0===e)return;const t=new f.CircularToken(g.l2g(new d.LocalPoint(this.x,this.y)),g.getUnitDistance(p.gameStore.unitSize/2),this.text,"10px serif",this.fillColour,this.borderColour);t.owners.push(p.gameStore.username),e.addShape(t,!0),e.invalidate(!1),this.visible=!1}updatePreview(){const e=this.$refs.canvas.getContext("2d");e.clearRect(0,0,e.canvas.width,e.canvas.height),e.beginPath();const t={x:e.canvas.width/2,y:e.canvas.height/2},i=.9*Math.min(t.x,t.y);e.fillStyle=this.fillColour,e.arc(t.x,t.y,i,0,2*Math.PI),e.fill(),"rgba(0, 0, 0, 0)"!==this.borderColour&&(e.beginPath(),e.lineWidth=5,e.strokeStyle=this.borderColour,e.arc(t.x,t.y,i,0,2*Math.PI),e.stroke()),e.save(),e.textAlign="center",e.textBaseline="middle";const o=u.calcFontScale(e,this.text,i,i),a=0;e.transform(o,a,-a,o,t.x,t.y),e.fillStyle=s.mostReadable(this.fillColour,["#000","#fff"]).toHexString(),e.fillText(this.text,0,0),e.restore()}};o.__decorate([m.Watch("text")],v.prototype,"onTextChange",null),o.__decorate([m.Watch("fillColour")],v.prototype,"onFillChange",null),o.__decorate([m.Watch("borderColour")],v.prototype,"onBorderChange",null),v=o.__decorate([n.default({components:{Modal:c.default,"color-picker":l.default},computed:Object.assign({},r.mapState("game",["unitSize"]))})],v),t.default=v},"5ae5":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("d65f")),r=i("4a5b"),l=i("f10f");let c=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.note=null}open(e){this.visible=!0,this.note=e}calcHeight(){if(this.$refs.textarea){const e=this.$refs.textarea;return e.style.height="auto",e.style.height=e.scrollHeight+"px",e.scrollHeight+"px"}return"100px"}updateNote(){this.note&&l.gameStore.updateNote({note:this.note,sync:!0})}removeNote(){r.getRef("confirm").open("Are you sure you wish to remove this?").then(e=>{e&&this.note&&(l.gameStore.removeNote({note:this.note,sync:!0}),this.visible=!1)},()=>{})}};c=o.__decorate([a.default({components:{Modal:n.default}})],c),t.default=c},"5b4c":function(e,t,i){"use strict";var o=i("c6fe"),s=i.n(o);s.a},"5b69":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("65d9")),a=i("60a3"),n=o.__importDefault(i("3b36")),r=o.__importDefault(i("ea6a")),l=i("0bc6"),c=i("8f0a"),u=i("6f92"),d=i("4709"),h=i("574e"),f=i("b2ed"),p=i("f10f"),g=i("92b1"),m=i("5a5c");let v=class extends r.default{constructor(){super(...arguments),this.name="Draw",this.active=!1,this.startPoint=null,this.shape=null,this.brushHelper=null,this.fillColour="rgba(0, 0, 0, 1)",this.borderColour="rgba(255, 255, 255, 0)",this.shapeSelect="square",this.shapes=["square","circle","paint-brush"],this.modeSelect="normal",this.modes=["normal","reveal","hide"],this.brushSize=g.getUnitDistance(p.gameStore.unitSize)}get helperSize(){return"paint-brush"===this.shapeSelect?this.brushSize/2:g.getUnitDistance(this.unitSize)/8}get IS_DM(){return p.gameStore.IS_DM}get unitSize(){return p.gameStore.unitSize}get useGrid(){return p.gameStore.useGrid}onFillChange(){this.brushHelper&&(this.brushHelper.fillColour=this.fillColour)}onModeUpdate(e,t){this.onModeChange(e,t)}setupBrush(){null!==this.brushHelper&&("reveal"===this.modeSelect||"hide"===this.modeSelect?(this.brushHelper.options.set("preFogShape",!0),this.brushHelper.options.set("skipDraw",!0),this.brushHelper.fillColour="rgba(0, 0, 0, 1)","reveal"===this.modeSelect?this.brushHelper.globalCompositeOperation="source-over":"hide"===this.modeSelect&&(this.brushHelper.globalCompositeOperation="destination-out")):(this.brushHelper.options.delete("preFogShape"),this.brushHelper.options.delete("skipDraw"),this.brushHelper.globalCompositeOperation="source-over",this.brushHelper.fillColour=this.fillColour))}onModeChange(e,t){if(null===this.brushHelper)return;const i=u.layerManager.getLayer("fow"),o=u.layerManager.getLayer();void 0!==i&&void 0!==o&&(this.setupBrush(),"normal"!==e&&"normal"===t?(o.removeShape(this.brushHelper,!1),i.addShape(this.brushHelper,!1)):"normal"===e&&"normal"!==t&&(o.addShape(this.brushHelper,!1),i.removeShape(this.brushHelper,!1)))}getLayer(){return"normal"===this.modeSelect?u.layerManager.getLayer():u.layerManager.getLayer("fow")}onMouseDown(e){const t=this.getLayer();if(void 0!==t){if(this.active=!0,this.startPoint=g.l2g(m.getMouse(e)),"square"===this.shapeSelect)this.shape=new f.Rect(this.startPoint.clone(),0,0,this.fillColour,this.borderColour);else if("circle"===this.shapeSelect)this.shape=new d.Circle(this.startPoint.clone(),this.helperSize,this.fillColour,this.borderColour);else{if("paint-brush"!==this.shapeSelect)return;this.shape=new h.MultiLine(this.startPoint.clone(),[],this.brushSize),this.shape.fillColour=this.fillColour}"normal"!==this.modeSelect&&(this.shape.options.set("preFogShape",!0),this.shape.options.set("skipDraw",!0),this.shape.fillColour="rgba(0, 0, 0, 1)"),"reveal"===this.modeSelect?this.shape.globalCompositeOperation="source-over":"hide"===this.modeSelect&&(this.shape.globalCompositeOperation="destination-out"),this.shape.owners.push(p.gameStore.username),"fow"===t.name&&"normal"===this.modeSelect&&(this.shape.visionObstruction=!0,this.shape.movementObstruction=!0),p.gameStore.visionBlockers.push(this.shape.uuid),t.addShape(this.shape,!0,!1),this.onDeselect(),this.onSelect()}else console.log("No active layer!")}onMouseMove(e){const t=g.l2g(m.getMouse(e)),i=this.getLayer();void 0!==i?(null!==this.brushHelper&&(this.brushHelper.r=this.helperSize,this.brushHelper.refPoint=t,this.active||i.invalidate(!1)),this.active&&null!==this.startPoint&&null!==this.shape&&("square"===this.shapeSelect?(this.shape.w=Math.abs(t.x-this.startPoint.x),this.shape.h=Math.abs(t.y-this.startPoint.y),this.shape.refPoint.x=Math.min(this.startPoint.x,t.x),this.shape.refPoint.y=Math.min(this.startPoint.y,t.y)):"circle"===this.shapeSelect?this.shape.r=t.subtract(this.startPoint).length():"paint-brush"===this.shapeSelect&&this.shape.points.push(t),l.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:!0,temporary:!1}),this.shape.visionObstruction&&p.gameStore.recalculateBV(),i.invalidate(!1))):console.log("No active layer!")}onMouseUp(e){this.active&&null!==this.shape&&!e.altKey&&this.useGrid&&(this.shape.resizeToGrid(),l.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:!0,temporary:!1})),this.active=!1}onSelect(){const e=this.getLayer();void 0!==e&&(this.brushHelper=new d.Circle(new c.GlobalPoint(-1e3,-1e3),this.brushSize/2,this.fillColour),this.setupBrush(),e.addShape(this.brushHelper,!1))}onDeselect(){const e=this.getLayer();null!==this.brushHelper&&void 0!==e&&e.removeShape(this.brushHelper,!1)}};o.__decorate([a.Watch("fillColour")],v.prototype,"onFillChange",null),o.__decorate([a.Watch("modeSelect")],v.prototype,"onModeUpdate",null),v=o.__decorate([s.default({components:{"color-picker":n.default}})],v),t.default=v},"5d0b":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class o{constructor(e,t){this.children=[],this.nPrimitives=e,this.bbox=t}}t.BoundingNode=o;class s extends o{constructor(e,t,i){super(t,i),this.firstPrimOffset=e}}t.LeafNode=s;class a extends o{constructor(e,t,i){super(0,t.bbox.union(i.bbox)),this.dimension=e,this.children.push(t),this.children.push(i)}}t.InteriorNode=a},"5e17":function(e,t,i){},"5e7c":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("8db6"),a=i("2469"),n=i("92b1");class r extends a.Shape{constructor(e,t,i,o,s){super(e,"rgba(0, 0, 0, 0)",o||"#000",s),this.type="line",this.endPoint=t,this.lineWidth=void 0===i?1:i}asDict(){return Object.assign(this.getBaseDict(),{x2:this.endPoint.x,y2:this.endPoint.y,line_width:this.lineWidth})}getBoundingBox(){return new s.BoundingRect(new o.GlobalPoint(Math.min(this.refPoint.x,this.endPoint.x),Math.min(this.refPoint.x,this.endPoint.y)),Math.abs(this.refPoint.x-this.endPoint.x),Math.abs(this.refPoint.y-this.endPoint.y))}draw(e){super.draw(e),e.strokeStyle=this.strokeColour,e.beginPath(),e.moveTo(n.g2lx(this.refPoint.x),n.g2ly(this.refPoint.y)),e.lineTo(n.g2lx(this.endPoint.x),n.g2ly(this.endPoint.y)),e.lineWidth=this.lineWidth,e.stroke()}contains(e){return!1}center(e){}getCorner(e){return""}visibleInCanvas(e){return!0}snapToGrid(){}resizeToGrid(){}resize(e,t){}}t.Line=r},"5f86":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("bc3a")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("8c4f"));a.default.use(n.default);const r=o.__importDefault(i("e914")),l=o.__importDefault(i("1077")),c=o.__importDefault(i("cad7")),u=o.__importDefault(i("47f7")),d=o.__importDefault(i("c6b4")),h=o.__importDefault(i("07f5")),f=o.__importDefault(i("ce87")),p=i("cc67");t.router=new n.default({mode:"history",base:"/",routes:[{path:"/",redirect:"/dashboard"},{path:"/_load",name:"load",component:u.default},{path:"/assets",component:r.default,meta:{auth:!0}},{path:"/auth",component:{template:""},children:[{path:"login",component:l.default},{path:"logout",component:c.default}]},{path:"/invite/:code",component:f.default,meta:{auth:!0}},{path:"/dashboard",component:d.default,meta:{auth:!0}},{path:"/game/:creator/:room",component:h.default,meta:{auth:!0}}]}),t.router.beforeEach((e,i,o)=>{p.coreStore.initialized||"/_load"===e.path?e.matched.some(e=>e.meta.auth)&&!p.coreStore.authenticated?o({path:"/auth/login",query:{redirect:e.path}}):o():(o({path:"/_load"}),s.default.get("/api/auth").then(i=>{i.data.auth&&(p.coreStore.setAuthenticated(!0),p.coreStore.setUsername(i.data.username)),p.coreStore.setInitialized(!0),t.router.push(e.path)}).catch(()=>{console.error("Authentication check could not be fulfilled.")}))})},"5fa9":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9"));let n=class extends s.default{constructor(){super(...arguments),this.name="",this.selected=!1,this.active=!1}get detailRight(){const e=this.$parent.$refs[this.name+"-selector"][0].getBoundingClientRect(),t=e.left+e.width/2;return`${window.innerWidth-Math.min(window.innerWidth-25,t+75)}px`}get detailArrow(){const e=this.$parent.$refs[this.name+"-selector"][0].getBoundingClientRect(),t=e.left+e.width/2,i=Math.min(window.innerWidth-25,t+75);return`${i-t-14}px`}created(){this.$parent.$on("mousedown",(e,t)=>{t===this.name&&this.onMouseDown(e)}),this.$parent.$on("mouseup",(e,t)=>{t===this.name&&this.onMouseUp(e)}),this.$parent.$on("mousemove",(e,t)=>{t===this.name&&this.onMouseMove(e)}),this.$parent.$on("contextmenu",(e,t)=>{t===this.name&&this.onContextMenu(e)}),this.$parent.$on("tools-select-change",(e,t)=>{t===this.name?(this.selected=!1,this.onDeselect()):e===this.name&&(this.selected=!0,this.onSelect())})}onSelect(){}onDeselect(){}onMouseDown(e){}onMouseUp(e){}onMouseMove(e){}onContextMenu(e){}};n=o.__decorate([a.default],n),t.default=n},6100:function(e,t,i){"use strict";i.r(t);var o=i("8a30"),s=i("e94f");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("550a");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"1fee50f5",null);r.options.__file="tools.vue",t["default"]=r.exports},6465:function(e,t,i){"use strict";i.r(t);var o=i("5fa9"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"64a9":function(e,t,i){},"6c30":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("c266"),s=i("f10f"),a=i("92b1");class n extends o.BaseRect{constructor(e,t,i,o,s){super(t,i,o),this.type="assetrect",this.src="",void 0!==s&&(this.uuid=s),this.img=e}asDict(){return Object.assign(this.getBaseDict(),{src:this.src})}fromDict(e){super.fromDict(e),this.src=e.src}draw(e){super.draw(e);try{e.drawImage(this.img,a.g2lx(this.refPoint.x),a.g2ly(this.refPoint.y),a.g2lz(this.w),a.g2lz(this.h))}catch(t){console.warn(`Shape ${this.uuid} could not load the image ${this.src}`)}}getInitiativeRepr(){return{uuid:this.uuid,visible:!s.gameStore.IS_DM,group:!1,source:this.src,has_img:!0,effects:[],index:1/0}}}t.Asset=n},"6f8d":function(e,t,i){"use strict";i.r(t);var o=i("5b69"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"6f92":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("6c30"),a=i("f10f"),n=i("92b1");class r{constructor(){this.layers=[],this.width=window.innerWidth,this.height=window.innerHeight,this.UUIDMap=new Map,this.interval=30,this.drawLoop=(()=>{for(let e=this.layers.length-1;e>=0;e--)this.layers[e].draw();requestAnimationFrame(this.drawLoop)}),requestAnimationFrame(this.drawLoop)}reset(){this.layers=[],this.UUIDMap=new Map}setWidth(e){this.width=e;for(const t of this.layers)t.canvas.width=e,t.width=e}setHeight(e){this.height=e;for(const t of this.layers)t.canvas.height=e,t.height=e}addLayer(e){this.layers.push(e),(a.gameStore.IS_DM||e.playerEditable)&&e.selectable&&a.gameStore.addLayer(e.name)}hasLayer(e){return this.layers.some(t=>t.name===e)}getLayer(e){e=void 0===e?a.gameStore.selectedLayer:e;for(const t of this.layers)if(t.name===e)return t}selectLayer(e,t=!0){let i=!1;for(const o of this.layers)o.selectable&&(i&&"fow"!==o.name?o.ctx.globalAlpha=.3:o.ctx.globalAlpha=1,e===o.name&&(a.gameStore.selectLayer({name:e,sync:t}),i=!0),o.clearSelection(),o.invalidate(!0))}getGridLayer(){return this.getLayer("grid")}hasSelection(){const e=this.getSelection();return void 0!==e&&e.length>0}getSelection(){const e=this.getLayer();if(void 0!==e)return e.selection}invalidate(){for(let e=this.layers.length-1;e>=0;e--)this.layers[e].invalidate(!0)}invalidateLight(){for(let e=this.layers.length-1;e>=0;e--)this.layers[e].isVisionLayer&&this.layers[e].invalidate(!0)}dropAsset(e){const t=this.getLayer();if(void 0===t||null===e||null===e.dataTransfer)return;const i=document.createElement("img");i.src=e.dataTransfer.getData("text/plain");const r=new s.Asset(i,new o.GlobalPoint(n.l2gx(e.clientX),n.l2gy(e.clientY)),n.l2gz(i.width),n.l2gz(i.height));if(r.src=new URL(i.src).pathname,a.gameStore.useGrid){const e=a.gameStore.gridSize;r.refPoint.x=Math.round(r.refPoint.x/e)*e,r.refPoint.y=Math.round(r.refPoint.y/e)*e,r.w=Math.max(Math.round(r.w/e)*e,e),r.h=Math.max(Math.round(r.h/e)*e,e)}t.addShape(r,!0)}}t.layerManager=new r,window.lm=t.layerManager},7018:function(e,t,i){"use strict";i.r(t);var o=i("ebb9"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},7420:function(e,t,i){"use strict";i.r(t);var o=i("1298"),s=i("778b");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("d71e");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"66ccc134",null);r.options.__file="createtoken_modal.vue",t["default"]=r.exports},"778b":function(e,t,i){"use strict";i.r(t);var o=i("5a81"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"77a6":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("4a5b"),s=i("0bc6"),a=i("2b48"),n=i("af17"),r=i("8f0a"),l=i("6f92"),c=i("f10f"),u=i("2838");function d(e){if(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement);else if("Delete"===e.key||"Del"===e.key||"Backspace"===e.key){if(void 0===l.layerManager.getLayer)return void console.log("No active layer selected for delete operation");const e=l.layerManager.getLayer();for(let t=e.selection.length-1;t>=0;t--){const i=e.selection[t];o.getRef("tools").$refs.selectTool.selectionHelper.uuid!==i.uuid?(e.removeShape(i,!0,!1),n.EventBus.$emit("SelectionInfo.Shape.Set",null),n.EventBus.$emit("Initiative.Remove",i.uuid)):e.selection.splice(t,1)}}}function h(e){if(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)65===e.keyCode&&e.ctrlKey&&e.target.select();else if(e.keyCode>=37&&e.keyCode<=40){const t=Math.round(c.gameStore.gridSize);let i=t*(e.keyCode%2),o=t*(e.keyCode%2?0:1);if(l.layerManager.hasSelection()){const a=l.layerManager.getSelection();i*=e.keyCode<=38?-1:1,o*=e.keyCode<=38?-1:1;let n=new r.Vector(i,o);if(!e.shiftKey||!c.gameStore.IS_DM)for(const e of a)n=u.calculateDelta(n,e);for(const e of a)e.refPoint.x+=n.x,e.refPoint.y+=n.y,e.refPoint.x%t===0&&e.refPoint.y%t===0||e.snapToGrid(),s.socket.emit("Shape.Position.Update",{shape:e.asDict(),redraw:!0,temporary:!1});l.layerManager.getLayer().invalidate(!1)}else c.gameStore.increasePanX(i*(e.keyCode<=38?1:-1)),c.gameStore.increasePanY(o*(e.keyCode<=38?1:-1)),l.layerManager.invalidate(),a.sendClientOptions()}else if(68===e.keyCode){const e=l.layerManager.getLayer();e&&(e.clearSelection(),e.invalidate(!0))}}t.onKeyUp=d,t.onKeyDown=h},"78c7":function(e,t,i){"use strict";var o=i("9227"),s=i.n(o);s.a},"7aaa":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("033f")),n=o.__importDefault(i("7420")),r=o.__importDefault(i("59d8")),l=o.__importDefault(i("dec1")),c=o.__importDefault(i("4899")),u=o.__importDefault(i("c277")),d=i("6f92"),h=i("9cb7"),f=i("f10f"),p=i("d5df"),g=i("92b1"),m=i("5a5c"),v=o.__importDefault(i("65d9"));let y=class extends s.default{constructor(){super(...arguments),this.currentTool="Select",this.tools=["Select","Pan","Draw","Ruler","Map"],this.dmTools=["Map"]}get IS_DM(){return f.gameStore.IS_DM}get currentToolComponent(){return`${this.currentTool.toLowerCase()}-tool`}mousedown(e){if("CANVAS"!==e.target.tagName)return;let t=this.currentTool;if(1===e.button)t="Pan";else if(0!==e.button)return;this.$emit("mousedown",e,t)}mouseup(e){if("CANVAS"!==e.target.tagName)return;let t=this.currentTool;if(1===e.button)t="Pan";else if(0!==e.button)return;this.$emit("mouseup",e,t)}mousemove(e){if("CANVAS"!==e.target.tagName)return;let t=this.currentTool;if(0!==(4&e.buttons))t="Pan";else if((1&e.button)>1)return;this.$emit("mousemove",e,t);let i=!1;for(const o of f.gameStore.annotations)if(d.layerManager.UUIDMap.has(o)&&d.layerManager.hasLayer("draw")){const t=d.layerManager.UUIDMap.get(o);t.contains(g.l2g(m.getMouse(e)))&&(i=!0,h.gameManager.annotationManager.setActiveText(t.annotation))}!i&&h.gameManager.annotationManager.shown&&h.gameManager.annotationManager.setActiveText("")}mouseleave(e){0!==(1&e.buttons)&&this.$emit("mouseup",e,this.currentTool)}contextmenu(e){"CANVAS"===e.target.tagName&&2===e.button&&"CANVAS"===e.target.tagName&&this.$emit("contextmenu",e,this.currentTool)}};y=o.__decorate([v.default({components:{"select-tool":u.default,"pan-tool":c.default,"draw-tool":r.default,"ruler-tool":p.RulerTool,"map-tool":l.default,"shape-menu":a.default,"createtoken-dialog":n.default},watch:{currentTool(e,t){this.$emit("tools-select-change",e,t)}}})],y),t.default=y},"7ba5":function(e,t,i){"use strict";i.r(t);var o=i("fbdd"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"7e15":function(e,t,i){"use strict";i.r(t);var o=i("52a8"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"7f1e":function(e,t,i){"use strict";var o=i("fe11"),s=i.n(o);s.a},8095:function(e,t,i){},"831f":function(e,t,i){"use strict";var o=i("8d53"),s=i.n(o);s.a},"851c":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("d65f"));let r=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.question="",this.answer="",this.title="",this.resolve=(e=>{}),this.reject=(()=>{})}submit(){this.resolve(this.answer),this.close()}close(){this.reject(),this.visible=!1,this.question="",this.answer="",this.title=""}prompt(e,t){return this.question=e,this.title=t,this.visible=!0,this.$nextTick(()=>{this.$refs.answer.focus()}),new Promise((e,t)=>{this.resolve=e,this.reject=t})}};r=o.__decorate([a.default({components:{Modal:n.default}})],r),t.default=r},8577:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ul",[e._l(e.folders,function(t){return i("li",{key:t,staticClass:"folder",on:{click:function(t){return t.stopPropagation(),e.toggle(t)}}},[e._v("\n "+e._s(t)+"\n "),i("asset-node",{attrs:{asset:e.asset[t]}})],1)}),e._l(e.files,function(t){return i("li",{key:t.name,staticClass:"file draggable token",attrs:{draggable:"true"},on:{mouseover:function(i){e.showImage=t.hash},mouseout:function(t){e.showImage=null},dragstart:function(i){e.dragStart(i,"/static/assets/"+t.hash)}}},[e._v("\n "+e._s(t.name)+"\n "),e.showImage==t.hash?i("div",{staticClass:"preview"},[i("img",{staticClass:"asset-preview-image",attrs:{src:"/static/assets/"+t.hash}})]):e._e()])})],2)},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"88af":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[e._v(e._s(e.message))])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"8a30":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{attrs:{id:"toolselect"}},[i("ul",e._l(e.tools,function(t){return!e.dmTools.includes(t)||e.IS_DM?i("li",{key:t,ref:t+"-selector",refInFor:!0,class:{"tool-selected":e.currentTool===t},on:{click:function(i){e.currentTool=t}}},[i("a",{attrs:{href:"#"}},[e._v(e._s(t))])]):e._e()}))]),i("div",[[i("select-tool",{directives:[{name:"show",rawName:"v-show",value:"Select"===e.currentTool,expression:"currentTool === 'Select'"}],ref:"selectTool"}),i("pan-tool",{directives:[{name:"show",rawName:"v-show",value:"Pan"===e.currentTool,expression:"currentTool === 'Pan'"}]}),i("keep-alive",[i("draw-tool",{directives:[{name:"show",rawName:"v-show",value:"Draw"===e.currentTool,expression:"currentTool === 'Draw'"}]})],1),i("ruler-tool",{directives:[{name:"show",rawName:"v-show",value:"Ruler"===e.currentTool,expression:"currentTool === 'Ruler'"}]}),i("map-tool",{directives:[{name:"show",rawName:"v-show",value:"Map"===e.currentTool,expression:"currentTool === 'Map'"}]}),i("shape-menu",{ref:"shapecontext"}),i("createtoken-dialog",{ref:"createtokendialog"})]],2)])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"8cd4":function(e,t,i){"use strict";i.r(t);var o=i("9587"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},"8d53":function(e,t,i){},"8db6":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a");class s{constructor(e,t,i){this.w=t,this.h=i,this.topLeft=e,this.topRight=new o.GlobalPoint(e.x+t,e.y),this.botRight=new o.GlobalPoint(e.x+t,e.y+i),this.botLeft=new o.GlobalPoint(e.x,e.y+i)}contains(e){return this.topLeft.x<=e.x&&this.topRight.x>=e.x&&this.topLeft.y<=e.y&&this.botLeft.y>=e.y}offset(e){return new s(this.topLeft.add(e),this.w,this.h)}union(e){const t=Math.min(this.topLeft.x,e.topLeft.x),i=Math.max(this.topRight.x,e.topRight.x),a=Math.min(this.topLeft.y,e.topLeft.y),n=Math.max(this.botLeft.y,e.botLeft.y);return new s(new o.GlobalPoint(t,a),i-t,n-a)}getDiagCorner(e){return e?this.botRight:this.topLeft}intersectsWith(e){return!(e.topLeft.x>this.topRight.x||e.topRight.xthis.botLeft.y||e.botLeft.y=this.topRight.x||e.topRight.x<=this.topLeft.x||e.topLeft.y>=this.botLeft.y||e.botLeft.y<=this.topLeft.y)}intersectP(e,t,i){let o=t.x*(this.getDiagCorner(i[0]).x-e.origin.x),s=t.x*(this.getDiagCorner(!i[0]).x-e.origin.x);const a=t.y*(this.getDiagCorner(i[1]).y-e.origin.y),n=t.y*(this.getDiagCorner(!i[1]).y-e.origin.y);return o>n||a>s?{hit:!1,min:o,max:s}:(a>o&&(o=a),n0,min:o,max:s})}center(e){if(void 0===e)return this.topLeft.add(new o.Vector(this.w/2,this.h/2));this.topLeft.x=e.x-this.w/2,this.topLeft.y=e.y-this.h/2}inCorner(e,t){const i=Math.min(6,this.w/2)/2;switch(t){case"ne":return this.topRight.x-i<=e.x&&e.x<=this.topRight.x+i&&this.topLeft.y-i<=e.y&&e.y<=this.topLeft.y+i;case"nw":return this.topLeft.x-i<=e.x&&e.x<=this.topLeft.x+i&&this.topLeft.y-i<=e.y&&e.y<=this.topLeft.y+i;case"sw":return this.topLeft.x-i<=e.x&&e.x<=this.topLeft.x+i&&this.botLeft.y-i<=e.y&&e.y<=this.botLeft.y+i;case"se":return this.topRight.x-i<=e.x&&e.x<=this.topRight.x+i&&this.botLeft.y-i<=e.y&&e.y<=this.botLeft.y+i;default:return!1}}getCorner(e){return this.inCorner(e,"ne")?"ne":this.inCorner(e,"nw")?"nw":this.inCorner(e,"se")?"se":this.inCorner(e,"sw")?"sw":void 0}getMaxExtent(){return this.w>this.h?0:1}}t.BoundingRect=s},"8e60":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"formcontainer"}},[e.owned||e.joined?i("form",[i("fieldset",[i("legend",{staticClass:"legend"},[e._v("Your sessions")]),i("div",{staticClass:"input"},[e._l(e.owned,function(t,o){return i("router-link",{key:"o-"+o,attrs:{to:"/game/"+t[1]+"/"+t[0]}},[e._v(e._s(t[0]))])}),e._l(e.joined,function(t,o){return i("router-link",{key:"j-"+o,attrs:{to:"/game/"+t[1]+"/"+t[0]}},[e._v(e._s(t[1])+"/"+e._s(t[0]))])})],2),0===e.owned.length?i("div",{staticClass:"input"},[e._v("No active sessions")]):e._e()])]):e._e(),e._m(0),i("form",{on:{submit:function(t){return t.preventDefault(),e.createRoom(t)}}},[i("fieldset",[e.owned||e.joined?i("div",{staticClass:"input"},[e._v("Create a new session")]):i("legend",{staticClass:"legend"},[e._v("Create a session")]),i("div",{staticClass:"input"},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.newSessionName,expression:"newSessionName"}],attrs:{type:"text",name:"room_name",placeholder:"Session Name"},domProps:{value:e.newSessionName},on:{input:function(t){t.target.composing||(e.newSessionName=t.target.value)}}}),e._m(1)]),e._m(2)])]),i("div",{attrs:{id:"account-options"}},[i("form",{on:{submit:function(e){e.preventDefault()}}},[i("router-link",{staticClass:"submit",attrs:{tag:"button",title:"Account Settings",to:"/account"}},[i("i",{staticClass:"fas fa-cog"})])],1),i("form",{on:{submit:function(e){e.preventDefault()}}},[i("router-link",{staticClass:"submit",attrs:{tag:"button",title:"Logout",to:"/auth/logout"}},[i("i",{staticClass:"fas fa-sign-out-alt"})])],1)])])},s=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("h4",[i("span",[e._v("OR")])])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("i",{staticClass:"fab fa-d-and-d"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("button",{staticClass:"submit",attrs:{type:"submit",title:"Create"}},[i("i",{staticClass:"fas fa-arrow-right"})])}];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"8f0a":function(e,t,i){"use strict";function o(e,t){const i=e.x-t.x,o=e.y-t.y;return Math.sqrt(i*i+o*o)}Object.defineProperty(t,"__esModule",{value:!0}),t.getPointDistance=o;class s{constructor(e,t){this.x=e,this.y=t}add(e){return new s(this.x+e.x,this.y+e.y)}subtract(e){return new r(this.x-e.x,this.y-e.y)}clone(){return new s(this.x,this.y)}get(e){return 0===e?this.x:this.y}}t.Point=s;class a extends s{add(e){return super.add(e)}subtract(e){return super.subtract(e)}clone(){return super.clone()}}t.GlobalPoint=a;class n extends s{add(e){return super.add(e)}subtract(e){return super.subtract(e)}clone(){return super.clone()}}t.LocalPoint=n;class r{constructor(e,t){this.x=e,this.y=t}dot(e){return this.x*e.x+this.y*e.y}inverse(){return new r(1/this.x,1/this.y)}length(){return Math.sqrt(Math.pow(this.x,2)+Math.pow(this.y,2))}normalize(){const e=this.length();return new r(this.x/e,this.y/e)}reverse(){return new r(-this.x,-this.y)}multiply(e){return new r(this.x*e,this.y*e)}}t.Vector=r;class l{constructor(e,t,i){this.direction=t,this.origin=e,void 0===i&&(i=1/0),this.tMax=i}static fromPoints(e,t){const i=new r(t.x-e.x,t.y-e.y);let o;return o=Math.abs(i.x)>.01?(t.x-e.x)/i.x:(t.y-e.y)/i.y,new l(e,i,o)}get(e){return new s(this.origin.x+e*this.direction.x,this.origin.y+e*this.direction.y)}getDistance(e,t){return Math.sqrt(Math.pow(t-e,2)*(Math.pow(this.direction.x,2)+Math.pow(this.direction.y,2)))}getT(e,t){return e+Math.sqrt(Math.pow(t,2)/(Math.pow(this.direction.x,2)+Math.pow(this.direction.y,2)))}}t.Ray=l},"91df":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("6f79"));i("fe80");const r=i("2ef0"),l=o.__importDefault(i("a535")),c=o.__importDefault(i("cec2")),u=o.__importDefault(i("f5fe")),d=o.__importDefault(i("19f9")),h=o.__importDefault(i("f551")),f=o.__importDefault(i("f086")),p=o.__importDefault(i("6100")),g=i("0bc6"),m=i("77a6"),v=i("bb17"),y=i("6f92"),b=i("f10f"),_=i("92b1"),S=i("8f0a");let x=class extends s.default{constructor(){super(...arguments),this.ready={manager:!1,tools:!1}}get IS_DM(){return b.gameStore.IS_DM}get layers(){return b.gameStore.layers}get selectedLayer(){return b.gameStore.selectedLayer}get zoomFactor(){return b.gameStore.zoomFactor}set zoomFactor(e){b.gameStore.updateZoom({newZoomValue:e,zoomLocation:_.l2g(new S.LocalPoint(window.innerWidth/2,window.innerHeight/2))})}mounted(){window.addEventListener("resize",()=>{y.layerManager.setWidth(window.innerWidth),y.layerManager.setHeight(window.innerHeight),y.layerManager.invalidate()}),window.addEventListener("wheel",r.throttle(v.scrollZoom)),window.addEventListener("keyup",m.onKeyUp),window.addEventListener("keydown",m.onKeyDown),window.addEventListener("selectstart",e=>{return e.preventDefault(),!1}),this.ready.manager=!0}mousedown(e){this.$refs.tools.mousedown(e)}mouseup(e){this.$refs.tools.mouseup(e)}mousemove(e){this.$refs.tools.mousemove(e)}mouseleave(e){this.$refs.tools.mouseleave(e)}contextmenu(e){this.$refs.tools.contextmenu(e)}selectLayer(e){y.layerManager.selectLayer(e)}drop(e){if(null!==e&&null!==e.dataTransfer)if(e.dataTransfer.files.length>0)this.$refs.confirm.open("Uploading files should be done through the asset manager.","Ok","").then(()=>{},()=>{});else{if(""===e.dataTransfer.getData("text/plain"))return;y.layerManager.dropAsset(e)}}};x=o.__decorate([a.default({components:{"tool-bar":p.default,"selection-info":f.default,"prompt-dialog":c.default,"confirm-dialog":l.default,"menu-bar":d.default,"initiative-dialog":u.default,"zoom-slider":n.default,"note-dialog":h.default},beforeRouteEnter(e,t,i){g.createConnection(e),i()},beforeRouteLeave(e,t,i){g.socket.disconnect(),i()}})],x),t.default=x},9227:function(e,t,i){},"92b1":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("f10f");function a(e){const t=s.gameStore.zoomFactor,i=s.gameStore.panX,a=s.gameStore.panY;return new o.LocalPoint((e.x+i)*t,(e.y+a)*t)}function n(e){return a(new o.GlobalPoint(e,0)).x}function r(e){return a(new o.GlobalPoint(0,e)).y}function l(e){return e*s.gameStore.zoomFactor}function c(e){return e/s.gameStore.unitSize*s.gameStore.gridSize}function u(e){return l(c(e))}function d(e){const t=s.gameStore.zoomFactor,i=s.gameStore.panX,a=s.gameStore.panY;return e instanceof o.LocalPoint?new o.GlobalPoint(e.x/t-i,e.y/t-a):new o.Ray(d(e.origin),e.direction.multiply(1/t),e.tMax)}function h(e){return d(new o.LocalPoint(e,0)).x}function f(e){return d(new o.LocalPoint(0,e)).y}function p(e){return e/s.gameStore.zoomFactor}function g(e){return p(c(e))}t.g2l=a,t.g2lx=n,t.g2ly=r,t.g2lz=l,t.getUnitDistance=c,t.g2lr=u,t.l2g=d,t.l2gx=h,t.l2gy=f,t.l2gz=p,t.l2gr=g},9587:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=i("2f62"),r=o.__importDefault(i("3b36")),l=o.__importDefault(i("0ddd")),c=i("4a5b"),u=i("0bc6"),d=i("f10f");let h=class extends s.default{constructor(){super(...arguments),this.visible={settings:!1,locations:!1}}get useGrid(){return d.gameStore.useGrid}set useGrid(e){d.gameStore.setUseGrid({useGrid:e,sync:!0})}get fullFOW(){return d.gameStore.fullFOW}set fullFOW(e){d.gameStore.setFullFOW({fullFOW:e,sync:!0})}get fowOpacity(){return d.gameStore.fowOpacity}set fowOpacity(e){"number"===typeof e&&d.gameStore.setFOWOpacity({fowOpacity:e,sync:!0})}get fowLOS(){return d.gameStore.fowLOS}set fowLOS(e){d.gameStore.setLineOfSight({fowLOS:e,sync:!0})}get unitSize(){return d.gameStore.unitSize}set unitSize(e){"number"===typeof e&&d.gameStore.setUnitSize({unitSize:e,sync:!0})}get gridSize(){return d.gameStore.gridSize}set gridSize(e){"number"===typeof e&&d.gameStore.setGridSize({gridSize:e,sync:!0})}get gridColour(){return d.gameStore.gridColour}set gridColour(e){d.gameStore.setGridColour({colour:e,sync:!0})}get fowColour(){return d.gameStore.fowColour}set fowColour(e){d.gameStore.setFOWColour({colour:e,sync:!0})}get rulerColour(){return d.gameStore.rulerColour}set rulerColour(e){d.gameStore.setRulerColour({colour:e,sync:!0})}settingsClick(e){if(e.target.classList.contains("accordion")){e.target.classList.toggle("accordion-active");const t=e.target.nextElementSibling;null!==t&&(t.style.display=""===t.style.display?"block":"")}}changeLocation(e){u.socket.emit("Location.Change",e)}createLocation(){c.getRef("prompt").prompt("New location name:","Create new location").then(e=>{u.socket.emit("Location.New",e)},()=>{})}createNote(){const e={title:"New note",text:"",uuid:c.uuidv4()};d.gameStore.newNote({note:e,sync:!0}),this.openNote(e)}openNote(e){c.getRef("note").open(e)}};h=o.__decorate([a.default({components:{"color-picker":r.default,"asset-node":l.default},computed:Object.assign({},n.mapState("game",["invitationCode","IS_DM","locations","assets","notes"]))})],h),t.default=h},9726:function(e,t,i){"use strict";var o=i("2f2a"),s=i.n(o);s.a},"979e":function(e,t,i){"use strict";i.r(t);var o=i("0634"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},9845:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContextMenu",{attrs:{visible:e.visible,left:e.x+"px",top:e.y+"px"},on:{close:e.close}},[e.IS_DM?i("li",{on:{click:e.bringPlayers}},[e._v("Bring players")]):e._e(),i("li",{on:{click:e.createToken}},[e._v("Create basic token")]),i("li",{on:{click:e.showInitiative}},[e._v("Show initiative")])])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},"9b4d":function(e,t,i){"use strict";var o=i("8095"),s=i.n(o);s.a},"9cb7":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("4a5b"),s=i("2b48"),a=i("6f92"),n=i("206a"),r=i("f10f"),l=i("1625"),c=i("92b1");class u{constructor(){this.selectedTool=0,this.annotationManager=new l.AnnotationManager}addShape(e){if(!a.layerManager.hasLayer(e.layer))return void console.log(`Shape with unknown layer ${e.layer} could not be added`);const t=a.layerManager.getLayer(e.layer),i=n.createShapeFromDict(e);void 0!==i?(t.addShape(i,!1),t.invalidate(!1)):console.log(`Shape with unknown type ${e.type_} could not be added`)}updateShape(e){if(!a.layerManager.hasLayer(e.shape.layer))return void console.log(`Shape with unknown layer ${e.shape.layer} could not be added`);const t=n.createShapeFromDict(e.shape,!0);if(void 0===t)return void console.log(`Shape with unknown type ${e.shape.type_} could not be added`);const i=a.layerManager.UUIDMap.get(e.shape.uuid);if(void 0===i)return void console.log("Shape with unknown id could not be updated");const s=t.owners!==i.owners,l=Object.assign(i,t);l.checkVisionSources(),l.setMovementBlock(l.movementObstruction),l.setIsToken(l.isToken),e.move&&l.visionObstruction&&r.gameStore.recalculateBV(),e.redraw&&a.layerManager.getLayer(e.shape.layer).invalidate(!1),s&&o.getRef("initiative").$forceUpdate()}setCenterPosition(e){const t=c.g2l(e);r.gameStore.increasePanX((window.innerWidth/2-t.x)/r.gameStore.zoomFactor),r.gameStore.increasePanY((window.innerHeight/2-t.y)/r.gameStore.zoomFactor),a.layerManager.invalidate(),s.sendClientOptions()}}t.GameManager=u,t.gameManager=new u,window.gameManager=t.gameManager},"9d42":function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("modal",{attrs:{visible:e.visible,mask:!1},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[i("div",[e._v("Initiative")]),i("div",{staticClass:"header-close",on:{click:function(t){e.visible=!1}}},[i("i",{staticClass:"far fa-window-close"})])])}}])},[i("div",{staticClass:"modal-body"},[i("draggable",{attrs:{id:"initiative-list",options:{setData:e.fakeSetData,disabled:!e.$store.state.game.IS_DM}},on:{change:e.updateOrder},model:{value:e.data,callback:function(t){e.data=t},expression:"data"}},[e._l(e.data,function(t){return[i("div",{key:t.uuid,staticStyle:{display:"flex","flex-direction":"column","align-items":"flex-end"}},[i("div",{staticClass:"initiative-actor",class:{"initiative-selected":e.currentActor===t.uuid},style:{cursor:e.$store.state.game.IS_DM&&"move"},on:{mouseenter:function(i){e.toggleHighlight(t,!0)},mouseleave:function(i){e.toggleHighlight(t,!1)}}},[t.has_img?[i("img",{attrs:{src:t.source,width:"30px",height:"30px"}})]:[i("span",{staticStyle:{width:"auto"}},[e._v(e._s(t.source))])],i("input",{directives:[{name:"model",rawName:"v-model.lazy.number",value:t.initiative,expression:"actor.initiative",modifiers:{lazy:!0,number:!0}}],class:{notAllowed:!e.owns(t)},attrs:{type:"text",placeholder:"value",disabled:!e.owns(t)},domProps:{value:t.initiative},on:{change:[function(i){e.$set(t,"initiative",e._n(i.target.value))},function(i){e.syncInitiative(t)}],blur:function(t){e.$forceUpdate()}}}),i("div",{staticClass:"initiative-effects-icon",class:{notAllowed:!e.owns(t)},staticStyle:{opacity:"0.6"},on:{click:function(i){e.createEffect(t,e.getDefaultEffect(),!0)}}},[i("i",{staticClass:"fas fa-stopwatch"}),t.effects?[e._v(e._s(t.effects.length))]:[e._v("0")]],2),i("div",{class:{notAllowed:!e.owns(t)},style:{opacity:t.visible?"1.0":"0.3"},on:{click:function(i){e.toggleOption(t,"visible")}}},[i("i",{staticClass:"fas fa-eye"})]),i("div",{class:{notAllowed:!e.owns(t)},style:{opacity:t.group?"1.0":"0.3"},on:{click:function(i){e.toggleOption(t,"group")}}},[i("i",{staticClass:"fas fa-users"})]),i("div",{class:{notAllowed:!e.owns(t)},style:{opacity:e.owns(t)?"1.0":"0.3"},on:{click:function(i){e.removeInitiative(t.uuid,!0,!0)}}},[i("i",{staticClass:"fas fa-trash-alt"})])],2),t.effects?i("div",{staticClass:"initiative-effect"},e._l(t.effects,function(o){return i("div",{key:o.uuid},[i("input",{directives:[{name:"model",rawName:"v-model",value:o.name,expression:"effect.name"}],attrs:{type:"text",size:o.name.length||1},domProps:{value:o.name},on:{change:function(i){e.updateEffect(t.uuid,o,!0)},input:function(t){t.target.composing||e.$set(o,"name",t.target.value)}}}),i("input",{directives:[{name:"model",rawName:"v-model",value:o.turns,expression:"effect.turns"}],attrs:{type:"text",size:o.turns.toString().length||1},domProps:{value:o.turns},on:{change:function(i){e.updateEffect(t.uuid,o,!0)},input:function(t){t.target.composing||e.$set(o,"turns",t.target.value)}}})])})):e._e()])]})],2),i("div",{attrs:{id:"initiative-bar"}},[i("div",{attrs:{id:"initiative-round"}},[e._v("Round "+e._s(e.roundCounter))]),i("div",{staticStyle:{display:"flex"}}),i("div",{staticClass:"initiative-bar-button",class:{notAllowed:!e.$store.state.game.IS_DM},on:{click:function(t){e.setRound(0,!0),e.setTurn(e.data[0].uuid,!0)}}},[i("i",{staticClass:"fas fa-sync-alt"})]),i("div",{staticClass:"initiative-bar-button",class:{notAllowed:!e.$store.state.game.IS_DM},on:{click:e.nextTurn}},[i("i",{staticClass:"fas fa-chevron-right"})])])],1)])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},a097:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9"));let n=class extends s.default{constructor(){super(...arguments),this.message="Loading..."}};n=o.__decorate([a.default],n),t.default=n},a260:function(e,t,i){},a450:function(e,t,i){},a474:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("bc3a")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("65d9")),r=i("cc67");n.default.registerHooks(["beforeRouteEnter"]);let l=class extends a.default{constructor(){super(...arguments),this.owned=[],this.joined=[],this.error="",this.newSessionName=""}beforeRouteEnter(e,t,i){s.default.get("/api/rooms").then(e=>{i(t=>{t.owned=e.data.owned,t.joined=e.data.joined})}).catch(e=>{i(t=>{t.error=e.message})})}createRoom(e){s.default.post("/api/rooms",{name:this.newSessionName}).then(e=>{this.$router.push(`/game/${r.coreStore.username}/${this.newSessionName}`)}).catch(e=>{this.error=e.message})}};l=o.__decorate([n.default],l),t.default=l},a535:function(e,t,i){"use strict";i.r(t);var o=i("e06e"),s=i("f30c");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("223d");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"1883e207",null);r.options.__file="confirm.vue",t["default"]=r.exports},a68b:function(e,t,i){"use strict";i.r(t);var o=i("308b"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},aa69:function(e,t,i){"use strict";i.r(t);var o=i("0cf7"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},aae4:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.selected?i("div",{staticClass:"tool-detail",style:{"--detailRight":e.detailRight,"--detailArrow":e.detailArrow}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.IS_DM,expression:"IS_DM"}]},[e._v("Mode")]),i("div",{directives:[{name:"show",rawName:"v-show",value:e.IS_DM,expression:"IS_DM"}],staticClass:"selectgroup"},e._l(e.modes,function(t){return i("div",{key:t,staticClass:"option",class:{"option-selected":e.modeSelect===t},on:{click:function(i){e.modeSelect=t}}},[e._v(e._s(t))])})),i("div",[e._v("Shape")]),i("div",{staticClass:"selectgroup"},e._l(e.shapes,function(t){return i("div",{key:t,staticClass:"option",class:{"option-selected":e.shapeSelect===t},on:{click:function(i){e.shapeSelect=t}}},[i("i",{staticClass:"fas",class:"fa-"+t})])})),i("div",[e._v("Colours")]),i("div",{staticClass:"selectgroup"},[i("color-picker",{staticClass:"option",attrs:{color:e.fillColour},on:{"update:color":function(t){e.fillColour=t}}}),i("color-picker",{staticClass:"option",attrs:{color:e.borderColour},on:{"update:color":function(t){e.borderColour=t}}})],1),i("div",{directives:[{name:"show",rawName:"v-show",value:"paint-brush"===e.shapeSelect,expression:"shapeSelect === 'paint-brush'"}]},[e._v("Brush size")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.brushSize,expression:"brushSize"},{name:"show",rawName:"v-show",value:"paint-brush"===e.shapeSelect,expression:"shapeSelect === 'paint-brush'"}],staticStyle:{"max-width":"100px"},attrs:{type:"text"},domProps:{value:e.brushSize},on:{input:function(t){t.target.composing||(e.brushSize=t.target.value)}}})]):e._e()},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},aaee:function(e,t,i){},af17:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026"));t.EventBus=new s.default},af26:function(e,t,i){},b0ac:function(e,t,i){"use strict";i.r(t);var o=i("a474"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},b0ca:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"menuContainer"}},[i("div",{ref:"rm",style:{left:e.visible.settings?"200px":"0",top:e.visible.locations?"100px":"0"},attrs:{id:"radialmenu"}},[i("div",{staticClass:"rm-wrapper"},[i("div",{staticClass:"rm-toggler"},[i("ul",{staticClass:"rm-list",class:{"rm-list-dm":e.IS_DM}},[e.IS_DM?i("li",{staticClass:"rm-item",attrs:{id:"rm-locations"},on:{click:function(t){e.visible.locations=!e.visible.locations}}},[e._m(0)]):e._e(),i("li",{staticClass:"rm-item",attrs:{id:"rm-settings"},on:{click:function(t){e.visible.settings=!e.visible.settings}}},[e._m(1)])])]),e._m(2)])]),i("transition",{attrs:{name:"settings"},on:{enter:function(t){e.$refs.rm.style.transition="left 500ms"}}},[e.visible.settings?i("div",{ref:"settings",attrs:{id:"menu"},on:{click:e.settingsClick}},[i("div",{staticStyle:{width:"200px",height:"90%","overflow-y":"auto","overflow-x":"hidden"}},[e.IS_DM?[i("button",{staticClass:"accordion"},[e._v("Assets")]),i("div",{staticClass:"accordion-panel"},[i("a",{staticClass:"actionButton",attrs:{href:"/assets",target:"blank",title:"Open asset manager"}},[i("i",{staticClass:"fas fa-external-link-alt"})]),i("div",{staticClass:"directory",attrs:{id:"menu-tokens"}},[i("asset-node",{attrs:{asset:e.assets}}),e.assets?e._e():i("div",[e._v("No assets")])],1)]),i("button",{staticClass:"accordion"},[e._v("Notes")]),i("div",{staticClass:"accordion-panel"},[i("div",{staticClass:"accordion-subpanel",attrs:{id:"menu-notes"}},[i("a",{staticClass:"actionButton",on:{click:e.createNote}},[i("i",{staticClass:"far fa-plus-square"})]),e._l(e.notes,function(t){return i("div",{key:t.uuid,staticStyle:{cursor:"pointer"},on:{click:function(i){e.openNote(t)}}},[e._v(e._s(t.title||"[?]"))])}),e.notes.length?e._e():i("div",[e._v("No notes")])],2)]),i("button",{staticClass:"accordion"},[e._v("DM Options")]),i("div",{staticClass:"accordion-panel"},[i("div",{staticClass:"accordion-subpanel"},[i("label",{attrs:{for:"useGridInput"}},[e._v("Use grid:")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.useGrid,expression:"useGrid"}],attrs:{id:"useGridInput",type:"checkbox",checked:"checked"},domProps:{checked:Array.isArray(e.useGrid)?e._i(e.useGrid,null)>-1:e.useGrid},on:{change:function(t){var i=e.useGrid,o=t.target,s=!!o.checked;if(Array.isArray(i)){var a=null,n=e._i(i,a);o.checked?n<0&&(e.useGrid=i.concat([a])):n>-1&&(e.useGrid=i.slice(0,n).concat(i.slice(n+1)))}else e.useGrid=s}}}),i("label",{attrs:{for:"useFOWInput"}},[e._v("Fill entire canvas with FOW:")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.fullFOW,expression:"fullFOW"}],attrs:{id:"useFOWInput",type:"checkbox"},domProps:{checked:Array.isArray(e.fullFOW)?e._i(e.fullFOW,null)>-1:e.fullFOW},on:{change:function(t){var i=e.fullFOW,o=t.target,s=!!o.checked;if(Array.isArray(i)){var a=null,n=e._i(i,a);o.checked?n<0&&(e.fullFOW=i.concat([a])):n>-1&&(e.fullFOW=i.slice(0,n).concat(i.slice(n+1)))}else e.fullFOW=s}}}),i("label",{attrs:{for:"fowOpacity"}},[e._v("FOW opacity:")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:e.fowOpacity,expression:"fowOpacity",modifiers:{number:!0}}],attrs:{id:"fowOpacity",type:"number",min:"0",max:"1",step:"0.1"},domProps:{value:e.fowOpacity},on:{input:function(t){t.target.composing||(e.fowOpacity=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}}),i("label",{attrs:{for:"fowLOS"}},[e._v("Only show lights in LoS:")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.fowLOS,expression:"fowLOS"}],attrs:{id:"fowLOS",type:"checkbox"},domProps:{checked:Array.isArray(e.fowLOS)?e._i(e.fowLOS,null)>-1:e.fowLOS},on:{change:function(t){var i=e.fowLOS,o=t.target,s=!!o.checked;if(Array.isArray(i)){var a=null,n=e._i(i,a);o.checked?n<0&&(e.fowLOS=i.concat([a])):n>-1&&(e.fowLOS=i.slice(0,n).concat(i.slice(n+1)))}else e.fowLOS=s}}}),i("label",{attrs:{for:"unitSizeInput"}},[e._v("Unit Size (in ft.):")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:e.unitSize,expression:"unitSize",modifiers:{number:!0}}],attrs:{id:"unitSizeInput",type:"number"},domProps:{value:e.unitSize},on:{input:function(t){t.target.composing||(e.unitSize=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}}),i("label",{attrs:{for:"gridSizeInput"}},[e._v("Grid Size (in pixels):")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:e.gridSize,expression:"gridSize",modifiers:{number:!0}}],attrs:{id:"gridSizeInput",type:"number",min:"0"},domProps:{value:e.gridSize},on:{input:function(t){t.target.composing||(e.gridSize=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}}),i("label",{attrs:{for:"invitation"}},[e._v("Invitation Code:")]),i("input",{attrs:{id:"invitation",type:"text",readonly:"readonly"},domProps:{value:e.invitationCode}})])])]:e._e(),i("button",{staticClass:"accordion"},[e._v("Client Options")]),i("div",{staticClass:"accordion-panel"},[i("div",{staticClass:"accordion-subpanel"},[i("label",{attrs:{for:"gridColour"}},[e._v("Grid Colour:")]),i("color-picker",{attrs:{id:"gridColour",color:e.gridColour},on:{"update:color":function(t){e.gridColour=t}}}),i("label",{attrs:{for:"fowColour"}},[e._v("FOW Colour:")]),i("color-picker",{attrs:{id:"fowColour",color:e.fowColour},on:{"update:color":function(t){e.fowColour=t}}}),i("label",{attrs:{for:"rulerColour"}},[e._v("Ruler Colour:")]),i("color-picker",{attrs:{id:"rulerColour",color:e.rulerColour},on:{"update:color":function(t){e.rulerColour=t}}})],1)])],2),i("router-link",{staticClass:"accordion",staticStyle:{"text-decoration":"none",display:"inline-block",position:"absolute",bottom:"0"},attrs:{to:"/dashboard"}},[e._v("Exit")])],1):e._e()]),i("transition",{attrs:{name:"locations"},on:{enter:function(t){e.$refs.rm.style.transition="top 500ms"}}},[e.IS_DM&&e.visible.locations?i("div",{attrs:{id:"locations-menu"}},[i("div",[e._l(e.locations,function(t){return i("div",{key:t,on:{click:function(i){e.changeLocation(t)}}},[e._v(e._s(t))])}),i("div",{on:{click:e.createLocation}},[i("i",{staticClass:"fas fa-plus"})])],2)]):e._e()]),i("img",{attrs:{id:"dragImage"}})],1)},s=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("a",{attrs:{href:"#"}},[i("i",{staticClass:"far fa-compass"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("a",{attrs:{href:"#"}},[i("i",{staticClass:"fas fa-cog"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",{staticClass:"rm-topper"},[i("i",{staticClass:"icon-share-alt"})])}];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},b2ed:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("c266"),s=i("f10f"),a=i("92b1"),n=i("5a5c");class r extends o.BaseRect{constructor(e,t,i,o,s,a){super(e,t,i,o,s,a),this.type="rect"}asDict(){return super.getBaseDict()}draw(e){super.draw(e),"fog"===this.fillColour?e.fillStyle=n.getFogColour():e.fillStyle=this.fillColour;const t=s.gameStore.zoomFactor,i=a.g2l(this.refPoint);e.fillRect(i.x,i.y,this.w*t,this.h*t),"rgba(0, 0, 0, 0)"!==this.strokeColour&&(e.strokeStyle=this.strokeColour,e.lineWidth=5,e.strokeRect(i.x,i.y,this.w*t,this.h*t))}}t.Rect=r},b809:function(e,t,i){"use strict";i.r(t);var o=i("ca56"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},b906:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("bab4"),a=i("6f92"),n=i("d1ec"),r=i("f10f"),l=i("92b1");class c extends s.Layer{constructor(){super(...arguments),this.isVisionLayer=!0}draw(){if(!this.valid){const e=this.ctx;if(!r.gameStore.fowLOS||n.Settings.skipPlayerFOW)return e.clearRect(0,0,this.canvas.width,this.canvas.height),void(this.valid=!0);e.clearRect(0,0,this.canvas.width,this.canvas.height);const t=e.globalCompositeOperation;e.fillStyle="rgba(0, 0, 0, 1)",r.gameStore.IS_DM||super.draw(!r.gameStore.fullFOW);const i=e.canvas.width+e.canvas.height;for(const s of r.gameStore.ownedtokens){e.beginPath();let t=-1;const c=a.layerManager.UUIDMap.get(s);if(void 0===c)continue;const u=c.center(),d=l.g2l(u);for(let s=0;s<2*Math.PI;s+=n.Settings.angleSteps/2/180*Math.PI){const a=Math.cos(s),n=Math.sin(s),c=new o.Ray(u,new o.Vector(a,n)),h=r.gameStore.BV.intersect(c);h.hit?(-1!==t&&(e.arc(d.x,d.y,i,t,s),t=-1),e.lineTo(l.g2lx(h.intersect.x),l.g2ly(h.intersect.y))):-1===t&&(e.lineTo(d.x+i*a,d.y+i*n),t=s)}-1!==t?e.arc(d.x,d.y,i,t,2*Math.PI):e.closePath(),e.fill()}r.gameStore.IS_DM&&super.draw(!r.gameStore.fullFOW),e.globalCompositeOperation=t}}}t.FOWPlayersLayer=c},bab4:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("0bc6"),s=i("af17"),a=i("6f92"),n=i("206a"),r=i("f10f"),l=i("92b1");class c{constructor(e,t){this.selectable=!1,this.playerEditable=!1,this.isVisionLayer=!1,this.valid=!1,this.shapes=[],this.selection=[],this.selectionColor="#CC0000",this.selectionWidth=2,this.canvas=e,this.name=t,this.width=e.width,this.height=e.height,this.ctx=e.getContext("2d")}invalidate(e){this.valid=!1,e||a.layerManager.invalidateLight()}addShape(e,t,i){void 0===i&&(i=!1),e.layer=this.name,this.shapes.push(e),a.layerManager.UUIDMap.set(e.uuid,e),e.checkVisionSources(),e.setMovementBlock(e.movementObstruction),e.ownedBy(r.gameStore.username)&&e.isToken&&r.gameStore.ownedtokens.push(e.uuid),e.annotation.length&&r.gameStore.annotations.push(e.uuid),t&&o.socket.emit("Shape.Add",{shape:e.asDict(),temporary:i}),this.invalidate(!t)}setShapes(e){for(const t of e){const e=n.createShapeFromDict(t);if(void 0===e)return void console.log(`Shape with unknown type ${t.type_} could not be added`);this.addShape(e,!1,!1)}this.clearSelection(),this.invalidate(!1)}removeShape(e,t,i){void 0===i&&(i=!1),this.shapes.splice(this.shapes.indexOf(e),1),t&&o.socket.emit("Shape.Remove",{shape:e,temporary:i});const s=r.gameStore.visionSources.findIndex(t=>t.shape===e.uuid),n=r.gameStore.visionBlockers.findIndex(t=>t===e.uuid),l=r.gameStore.movementblockers.findIndex(t=>t===e.uuid),c=r.gameStore.annotations.findIndex(t=>t===e.uuid);s>=0&&r.gameStore.visionSources.splice(s,1),n>=0&&r.gameStore.visionBlockers.splice(n,1),l>=0&&r.gameStore.movementblockers.splice(l,1),c>=0&&r.gameStore.annotations.splice(c,1);const u=r.gameStore.annotations.indexOf(e.uuid);u>=0&&r.gameStore.annotations.splice(u,1);const d=r.gameStore.ownedtokens.indexOf(e.uuid);d>=0&&r.gameStore.ownedtokens.splice(d,1),a.layerManager.UUIDMap.delete(e.uuid);const h=this.selection.indexOf(e);h>=0&&this.selection.splice(h,1),n>=0&&r.gameStore.recalculateBV(),this.invalidate(!t)}clear(){this.ctx.clearRect(0,0,this.width,this.height)}clearSelection(){this.selection=[],s.EventBus.$emit("SelectionInfo.Shape.Set",null)}draw(e){if(!this.valid){const t=this.ctx,i=t.globalCompositeOperation;e=void 0===e||e,e&&this.clear();const o=this;if(this.shapes.forEach(e=>{e.options.has("skipDraw")&&e.options.get("skipDraw")||void 0!==a.layerManager.getLayer()&&e.visibleInCanvas(o.canvas)&&("fow"===o.name&&e.visionObstruction&&a.layerManager.getLayer().name!==o.name||e.drawAuras(t))}),this.shapes.forEach(e=>{e.options.has("skipDraw")&&e.options.get("skipDraw")||void 0!==a.layerManager.getLayer()&&e.visibleInCanvas(o.canvas)&&("fow"===o.name&&e.visionObstruction&&a.layerManager.getLayer().name!==o.name||e.draw(t))}),null!=this.selection){t.fillStyle=this.selectionColor,t.strokeStyle=this.selectionColor,t.lineWidth=this.selectionWidth;const e=r.gameStore.zoomFactor;this.selection.forEach(i=>{t.globalCompositeOperation=i.globalCompositeOperation;const o=i.getBoundingBox();t.strokeRect(l.g2lx(o.topLeft.x),l.g2ly(o.topLeft.y),o.w*e,o.h*e);const s=Math.min(6,o.w/2);t.fillRect(l.g2lx(o.topRight.x-s/2),l.g2ly(o.topLeft.y-s/2),s*e,s*e),t.fillRect(l.g2lx(o.topLeft.x-s/2),l.g2ly(o.topLeft.y-s/2),s*e,s*e),t.fillRect(l.g2lx(o.topRight.x-s/2),l.g2ly(o.botLeft.y-s/2),s*e,s*e),t.fillRect(l.g2lx(o.topLeft.x-s/2),l.g2ly(o.botLeft.y-s/2),s*e,s*e)})}t.globalCompositeOperation=i,this.valid=!0}}moveShapeOrder(e,t,i){const s=this.shapes.indexOf(e);s!==t&&(this.shapes.splice(s,1),this.shapes.splice(t,0,e),i&&o.socket.emit("Shape.Order.Set",{shape:e.asDict(),index:t}),this.invalidate(!0))}onShapeMove(e){e.checkVisionSources(),e.visionObstruction&&r.gameStore.recalculateBV(),this.invalidate(!1)}}t.Layer=c},bb17:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("f10f"),s=i("92b1"),a=i("5a5c");function n(e){if(!e.target||!e.target.tagName||"CANVAS"!==e.target.tagName)return;let t;t=-1*Math.sign(e.deltaY),o.gameStore.updateZoom({newZoomValue:o.gameStore.zoomFactor+.1*t,zoomLocation:s.l2g(a.getMouse(e))})}t.scrollZoom=n},befe:function(e,t,i){"use strict";var o=i("e0ac"),s=i.n(o);s.a},c266:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("8f0a"),s=i("8db6"),a=i("2469"),n=i("f10f"),r=i("2838"),l=i("92b1");class c extends a.Shape{constructor(e,t,i,o,s,a){super(e,o,s,a),this.w=t,this.h=i}getBaseDict(){return Object.assign(super.getBaseDict(),{width:this.w,height:this.h})}getBoundingBox(){return new s.BoundingRect(this.refPoint,this.w,this.h)}contains(e){return this.refPoint.x<=e.x&&this.refPoint.x+this.w>=e.x&&this.refPoint.y<=e.y&&this.refPoint.y+this.h>=e.y}inCorner(e,t){switch(t){case"ne":return this.refPoint.x+this.w-3<=e.x&&e.x<=this.refPoint.x+this.w+3&&this.refPoint.y-3<=e.y&&e.y<=this.refPoint.y+3;case"nw":return this.refPoint.x-3<=e.x&&e.x<=this.refPoint.x+3&&this.refPoint.y-3<=e.y&&e.y<=this.refPoint.y+3;case"sw":return this.refPoint.x-3<=e.x&&e.x<=this.refPoint.x+3&&this.refPoint.y+this.h-3<=e.y&&e.y<=this.refPoint.y+this.h+3;case"se":return this.refPoint.x+this.w-3<=e.x&&e.x<=this.refPoint.x+this.w+3&&this.refPoint.y+this.h-3<=e.y&&e.y<=this.refPoint.y+this.h+3;default:return!1}}getCorner(e){return this.inCorner(e,"ne")?"ne":this.inCorner(e,"nw")?"nw":this.inCorner(e,"se")?"se":this.inCorner(e,"sw")?"sw":void 0}center(e){if(void 0===e)return this.refPoint.add(new o.Vector(this.w/2,this.h/2));this.refPoint.x=e.x-this.w/2,this.refPoint.y=e.y-this.h/2}visibleInCanvas(e){if(super.visibleInCanvas(e))return!0;const t=!(l.g2lx(this.refPoint.x)>e.width||l.g2ly(this.refPoint.y)>e.height||l.g2lx(this.refPoint.x+this.w)<0||l.g2ly(this.refPoint.y+this.h)<0);return!!t}snapToGrid(){const e=n.gameStore.gridSize,t=this.center(),i=t.x,s=t.y;let a,l;a=this.w/e%2===0?Math.round(i/e)*e-this.w/2:(Math.round((i+e/2)/e)-.5)*e-this.w/2,l=this.h/e%2===0?Math.round(s/e)*e-this.h/2:(Math.round((s+e/2)/e)-.5)*e-this.h/2;const c=r.calculateDelta(new o.Vector(a-this.refPoint.x,l-this.refPoint.y),this);this.refPoint=this.refPoint.add(c),this.invalidate(!1)}resizeToGrid(){const e=n.gameStore.gridSize;this.refPoint.x=Math.round(this.refPoint.x/e)*e,this.refPoint.y=Math.round(this.refPoint.y/e)*e,this.w=Math.max(Math.round(this.w/e)*e,e),this.h=Math.max(Math.round(this.h/e)*e,e),this.invalidate(!1)}resize(e,t){const i=n.gameStore.zoomFactor;"nw"===e?(this.w=l.g2lx(this.refPoint.x)+this.w*i-t.x,this.h=l.g2ly(this.refPoint.y)+this.h*i-t.y,this.refPoint=l.l2g(t)):"ne"===e?(this.w=t.x-l.g2lx(this.refPoint.x),this.h=l.g2ly(this.refPoint.y)+this.h*i-t.y,this.refPoint.y=l.l2gy(t.y)):"se"===e?(this.w=t.x-l.g2lx(this.refPoint.x),this.h=t.y-l.g2ly(this.refPoint.y)):"sw"===e&&(this.w=l.g2lx(this.refPoint.x)+this.w*i-t.x,this.h=t.y-l.g2ly(this.refPoint.y),this.refPoint.x=l.l2gx(t.x)),this.w/=i,this.h/=i,this.w<0&&(this.refPoint.x+=this.w,this.w=Math.abs(this.w)),this.h<0&&(this.refPoint.y+=this.h,this.h=Math.abs(this.h))}}t.BaseRect=c},c277:function(e,t,i){"use strict";i.r(t);var o=i("c6dd"),s=i("e27a");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,null,null);r.options.__file="select.vue",t["default"]=r.exports},c6b4:function(e,t,i){"use strict";i.r(t);var o=i("8e60"),s=i("b0ac");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("d767");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"61eb1455",null);r.options.__file="main.vue",t["default"]=r.exports},c6dd:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("SelectContext",{ref:"selectcontext"})},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},c6fe:function(e,t,i){},c71e:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("4a5b"),s=i("5d0b"),a=i("6f92"),n=i("8db6"),r=i("92b1"),l=i("f10f");class c{constructor(e){if(this.totalNodes=0,this.buildData=[],this.orderedPrims=[],this.nodes=[],this.offset=0,this.shapes=e,0===this.shapes.length)return this.root=null,void(this.nodes=[]);for(let i=0;ie.center.center().get(r)0){if(i=!0,o=e.tMax=d.min,s=d.max,0===a||t)break;n=r[--a]}else c[u.dimension]?(r[a++]=n+1,n=u.secondChildOffset):(r[a++]=u.secondChildOffset,n++);else{if(0===a)break;n=r[--a]}}return{hit:i,intersect:e.get(o),tMin:o,tMax:s}}compact(){this.offset=0,null!==this.root&&this.flatten(this.root)}flatten(e){const t=this.offset,i=this.offset++;if(0===e.nPrimitives){this.flatten(e.children[0]);const i=this.flatten(e.children[1]);this.nodes[t]={bbox:e.bbox,dimension:e.dimension,nPrimitives:0,secondChildOffset:i}}else this.nodes[t]={bbox:e.bbox,primitivesOffset:e.firstPrimOffset,nPrimitives:e.nPrimitives};return i}createLeaf(e,t,i,o){const a=this.orderedPrims.length;for(let s=e;sthis.$children[0].$el.focus())}close(){this.visible=!1}bringPlayers(){c.gameStore.IS_DM&&(r.socket.emit("Players.Bring",{x:u.l2gx(this.x),y:u.l2gy(this.y)}),this.close())}createToken(){this.$parent.$parent.$refs.createtokendialog.open(this.x,this.y),this.close()}showInitiative(){l.EventBus.$emit("Initiative.Show"),this.close()}};d=o.__decorate([a.default({components:{ContextMenu:n.default}})],d),t.default=d},cad7:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("bc3a")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("65d9")),r=i("cc67");let l=class extends a.default{beforeRouteEnter(e,t,i){s.default.post("/api/logout").then(()=>{r.coreStore.setAuthenticated(!1),r.coreStore.setUsername(""),i({path:"/auth/login"})})}};l=o.__decorate([n.default({template:""})],l),t.default=l},cc67:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=i("6fc5"),a=i("3a0b");let n=class extends s.VuexModule{constructor(){super(...arguments),this.authenticated=!1,this.initialized=!1,this.username=""}setAuthenticated(e){this.authenticated=e}setInitialized(e){this.initialized=e}setUsername(e){this.username=e}};o.__decorate([s.Mutation],n.prototype,"setAuthenticated",null),o.__decorate([s.Mutation],n.prototype,"setInitialized",null),o.__decorate([s.Mutation],n.prototype,"setUsername",null),n=o.__decorate([s.Module({dynamic:!0,store:a.rootStore,name:"core"})],n),t.coreStore=s.getModule(n)},cd49:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("3dfd")),n=i("5f86"),r=i("3a0b");s.default.config.productionTip=!1,s.default.config.devtools=!0,s.default.config.performance=!0,t.app=new s.default({router:n.router,store:r.rootStore,render:e=>e(a.default)}).$mount("#app"),window.app=t.app},cde6:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9"));let n=class extends s.default{};n=o.__decorate([a.default({props:["visible","left","top"]})],n),t.default=n},ce87:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("bc3a")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("65d9"));let r=class extends a.default{beforeRouteEnter(e,t,i){s.default.post("/api/invite",{code:e.params.code}).then(e=>{i({path:e.data.sessionUrl})}).catch(e=>{console.error("Invitation code could not be redeemed"),i({path:"/dashboard"})})}};r=o.__decorate([n.default({template:""})],r),t.default=r},cec2:function(e,t,i){"use strict";i.r(t);var o=i("eb57"),s=i("255e");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("0584");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"0602c2e6",null);r.options.__file="prompt.vue",t["default"]=r.exports},cfc1:function(e,t,i){"use strict";var o=i("5e17"),s=i.n(o);s.a},d065:function(e,t,i){"use strict";i.r(t);var o=i("4b01"),s=i("f8b3");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("2f43");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"078b3b76",null);r.options.__file="edit_dialog.vue",t["default"]=r.exports},d06a:function(e,t,i){},d1ec:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class o{}o.angleSteps=4,o.drawAngleLines=!1,o.drawFirstLightHit=!1,o.skipPlayerFOW=!1,o.skipLightFOW=!1,o.tempFill="fog",t.Settings=o},d30b:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("bc3a")),a=o.__importDefault(i("a026")),n=o.__importDefault(i("65d9")),r=i("cc67");let l=class extends a.default{constructor(){super(...arguments),this.username="",this.password="",this.error=""}login(){s.default.post("/api/login",{username:this.username,password:this.password}).then(e=>{r.coreStore.setUsername(this.username),r.coreStore.setAuthenticated(!0),this.$router.push(this.$route.query.redirect||"/")}).catch(e=>{e.response?this.error=e.response.statusText:this.error="Unknown error occured"})}register(){s.default.post("/api/register",{username:this.username,password:this.password}).then(e=>{r.coreStore.setUsername(this.username),r.coreStore.setAuthenticated(!0),this.$router.push(this.$route.query.redirect||"/")}).catch(e=>{e.response?this.error=e.response.statusText:this.error="Unknown error occured"})}focusin(e){if(e.target&&e.target.nextElementSibling){const t=e.target.nextElementSibling;t.style.opacity="0"}}focusout(e){if(e.target&&e.target.nextElementSibling){const t=e.target.nextElementSibling;t.style.opacity="1"}}};l=o.__decorate([n.default],l),t.default=l},d323:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div")},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},d445:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"modal"}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"mask",class:{"modal-mask":e.mask,"dialog-mask":!e.mask},on:{click:e.close,dragover:function(t){return t.preventDefault(),e.dragOver(t)}}},[i("div",{ref:"container",staticClass:"modal-container",on:{click:function(e){e.stopPropagation()}}},[e._t("header",null,{dragStart:e.dragStart,dragEnd:e.dragEnd}),e._t("default")],2)])])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},d588:function(e,t,i){"use strict";i.r(t);var o=i("91df"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},d5df:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("65d9")),a=o.__importDefault(i("ea6a")),n=i("0bc6"),r=i("6f92"),l=i("5e7c"),c=i("0180"),u=i("f10f"),d=i("92b1"),h=i("5a5c");let f=class extends a.default{constructor(){super(...arguments),this.name="Ruler",this.active=!1,this.startPoint=null,this.ruler=null,this.text=null}onMouseDown(e){const t=r.layerManager.getLayer("draw");void 0!==t?(this.active=!0,this.startPoint=d.l2g(h.getMouse(e)),this.ruler=new l.Line(this.startPoint,this.startPoint,3,u.gameStore.rulerColour),this.text=new c.Text(this.startPoint.clone(),"","bold 20px serif"),this.ruler.owners.push(u.gameStore.username),this.text.owners.push(u.gameStore.username),t.addShape(this.ruler,!0,!0),t.addShape(this.text,!0,!0)):console.log("No draw layer!")}onMouseMove(e){if(!this.active||null===this.ruler||null===this.startPoint||null===this.text)return;const t=r.layerManager.getLayer("draw");if(void 0===t)return void console.log("No draw layer!");const i=d.l2g(h.getMouse(e));this.ruler.endPoint=i,n.socket.emit("Shape.Update",{shape:this.ruler.asDict(),redraw:!0,temporary:!0});const o=Math.sign(i.x-this.startPoint.x)*Math.sign(i.y-this.startPoint.y),s=Math.abs(i.x-this.startPoint.x),a=Math.abs(i.y-this.startPoint.y),l=Math.round(Math.sqrt(Math.pow(s,2)+Math.pow(a,2))*u.gameStore.unitSize/u.gameStore.gridSize)+" ft",c=Math.atan2(o*a,s),f=Math.min(this.startPoint.x,i.x)+s/2,p=Math.min(this.startPoint.y,i.y)+a/2;this.text.refPoint.x=f,this.text.refPoint.y=p,this.text.text=l,this.text.angle=c,n.socket.emit("Shape.Update",{shape:this.text.asDict(),redraw:!0,temporary:!0}),t.invalidate(!0)}onMouseUp(e){if(!this.active||null===this.ruler||null===this.startPoint||null===this.text)return;const t=r.layerManager.getLayer("draw");void 0!==t?(this.active=!1,t.removeShape(this.ruler,!0,!0),t.removeShape(this.text,!0,!0),t.invalidate(!0),this.ruler=this.startPoint=this.text=null):console.log("No active layer!")}};f=o.__decorate([s.default],f),t.RulerTool=f},d638:function(e,t,i){"use strict";var o=i("dbbe"),s=i.n(o);s.a},d65f:function(e,t,i){"use strict";i.r(t);var o=i("d445"),s=i("7e15");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("26a5");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"12ed61ba",null);r.options.__file="modal.vue",t["default"]=r.exports},d71e:function(e,t,i){"use strict";var o=i("e198"),s=i.n(o);s.a},d767:function(e,t,i){"use strict";var o=i("0a75"),s=i.n(o);s.a},d7f0:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("form",{on:{focusin:e.focusin,focusout:e.focusout,submit:function(t){return t.preventDefault(),e.login(t)}}},[i("fieldset",[i("legend",{staticClass:"legend"},[e._v("PlanarAlly")]),i("div",{staticClass:"input"},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.username,expression:"username"}],attrs:{type:"text",name:"username",placeholder:"Username",required:""},domProps:{value:e.username},on:{input:function(t){t.target.composing||(e.username=t.target.value)}}}),e._m(0)]),i("div",{staticClass:"input"},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.password,expression:"password"}],attrs:{type:"password",name:"password",placeholder:"Password",required:""},domProps:{value:e.password},on:{input:function(t){t.target.composing||(e.password=t.target.value)}}}),e._m(1)]),i("div",{staticStyle:{display:"flex"}},[i("button",{staticStyle:{visibility:"hidden",display:"none"},attrs:{type:"submit",name:"login"}}),i("button",{staticClass:"submit",attrs:{type:"button",name:"register",title:"Register"},on:{click:e.register}},[i("i",{staticClass:"fas fa-plus"})]),e._m(2)])]),e.error?i("div",{staticClass:"feedback"},[i("p",{staticClass:"error"},[i("strong",[e._v("Error:")]),e._v("\n "+e._s(e.error)+"\n ")])]):e._e()])},s=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("i",{staticClass:"fas fa-user-circle"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("i",{staticClass:"fas fa-lock"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("button",{staticClass:"submit",attrs:{type:"submit",name:"login",title:"Login"}},[i("i",{staticClass:"fas fa-arrow-right"})])}];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},d8ee:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("3b36")),r=o.__importDefault(i("d65f")),l=i("4a5b"),c=i("0bc6"),u=i("6f92"),d=i("f10f"),h=i("60a3");let f=class extends s.default{constructor(){super(...arguments),this.visible=!1}updated(){this.addEmpty()}addEmpty(){""!==this.shape.owners[this.shape.owners.length-1]&&this.shape.owners.push(""),this.shape.trackers.length&&""===this.shape.trackers[this.shape.trackers.length-1].name&&0===this.shape.trackers[this.shape.trackers.length-1].value||this.shape.trackers.push({uuid:l.uuidv4(),name:"",value:0,maxvalue:0,visible:!1}),this.shape.auras.length&&""===this.shape.auras[this.shape.auras.length-1].name&&0===this.shape.auras[this.shape.auras.length-1].value||this.shape.auras.push({uuid:l.uuidv4(),name:"",value:0,dim:0,visionSource:!1,colour:"rgba(0,0,0,0)",visible:!1})}updateShape(e){c.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:e,temporary:!1}),e&&u.layerManager.invalidate(),this.addEmpty()}setToken(e){this.shape.setIsToken(e.target.checked),this.updateShape(!0)}setVisionBlocker(e){this.shape.checkVisionSources(),this.updateShape(!0)}setMovementBlocker(e){this.shape.setMovementBlock(e.target.checked),this.updateShape(!1)}updateAnnotation(e){const t=""!==this.shape.annotation;this.shape.annotation=e.target.value,""===this.shape.annotation||t?""===this.shape.annotation&&t&&(d.gameStore.annotations.splice(d.gameStore.annotations.findIndex(e=>e===this.shape.uuid)),u.layerManager.hasLayer("draw")&&u.layerManager.getLayer("draw").invalidate(!0)):(d.gameStore.annotations.push(this.shape.uuid),u.layerManager.hasLayer("draw")&&u.layerManager.getLayer("draw").invalidate(!0)),this.updateShape(!1)}updateOwner(e,t){const i=this.shape.owners.findIndex(e=>e===t);i>=0?this.shape.owners.splice(i,1,e.target.value):this.shape.owners.push(e.target.value),this.updateShape(d.gameStore.fowLOS)}removeOwner(e){const t=this.shape.owners.findIndex(t=>t===e);this.shape.owners.splice(t,1),this.updateShape(d.gameStore.fowLOS)}removeTracker(e){this.shape.trackers=this.shape.trackers.filter(t=>t.uuid!==e),this.updateShape(!1)}removeAura(e){this.shape.auras=this.shape.auras.filter(t=>t.uuid!==e),this.shape.checkVisionSources(),this.updateShape(!0)}updateAuraVisionSource(e){e.visionSource=!e.visionSource;const t=d.gameStore.visionSources.findIndex(t=>t.aura===e.uuid);e.visionSource&&-1===t?d.gameStore.visionSources.push({shape:this.shape.uuid,aura:e.uuid}):!e.visionSource&&t>=0&&d.gameStore.visionSources.splice(t,1),u.layerManager.invalidateLight(),this.updateShape(!0)}updateAuraColour(e,t){const i=u.layerManager.getLayer(this.shape.layer);void 0!==i&&i.invalidate(!e.visionSource)}};o.__decorate([h.Prop()],f.prototype,"shape",void 0),f=o.__decorate([a.default({components:{Modal:r.default,"color-picker":n.default}})],f),t.default=f},dbbe:function(e,t,i){},dc37:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("d65f"));let r=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.yes="Yes",this.no="No",this.title="",this.resolve=(e=>{}),this.reject=(()=>{})}confirm(){this.resolve(!0),this.close()}deny(){this.resolve(!1),this.close()}close(){this.reject(),this.visible=!1,this.title=""}open(e,t="yes",i="no"){return this.yes=t,this.no=i,this.title=e,this.visible=!0,this.$nextTick(()=>{this.$refs.confirm.focus()}),new Promise((e,t)=>{this.resolve=e,this.reject=t})}};r=o.__decorate([a.default({components:{Modal:n.default}})],r),t.default=r},de21:function(e,t,i){},dec1:function(e,t,i){"use strict";i.r(t);var o=i("f9e5"),s=i("3481");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,null,null);r.options.__file="map.vue",t["default"]=r.exports},df15:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContextMenu",{attrs:{visible:e.visible,left:e.left+"px",top:e.top+"px"},on:{close:e.close}},[i("li",{on:{click:e.rename}},[e._v("Rename")]),i("li",{on:{click:e.remove}},[e._v("Remove")])])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},e06e:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("modal",{attrs:{visible:e.visible},on:{close:e.close},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[e._v(e._s(e.title))])}}])},[i("div",{staticClass:"modal-body"},[i("button",{ref:"confirm",on:{click:e.confirm}},[e._v(e._s(e.yes))]),e.no?i("button",{on:{click:e.deny}},[e._v(e._s(e.no))]):e._e()])])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},e0ac:function(e,t,i){},e0e9:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("1c76")),r=i("5338"),l=i("2d5b"),c=i("4a5b");let u=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.left=0,this.top=0}open(e,t){l.assetStore.selected.includes(t)||c.getComponent().select(e,t),this.visible=!0,this.left=e.pageX,this.top=e.pageY,this.$nextTick(()=>{this.$children[0].$el.focus()})}close(){this.visible=!1}rename(){if(1!==l.assetStore.selected.length)return;const e=l.assetStore.idMap.get(l.assetStore.selected[0]);c.getRef("prompt").prompt("New name:",`Renaming ${e.name}`).then(t=>{r.socket.emit("Asset.Rename",{asset:e.id,name:t}),e.name=t,c.getComponent().$forceUpdate()},()=>{}),this.close()}remove(){0!==l.assetStore.selected.length&&(c.getRef("confirm").open("Are you sure you wish to remove this?").then(e=>{if(e){for(const e of l.assetStore.selected)r.socket.emit("Asset.Remove",e),l.assetStore.isFile(e)?l.assetStore.files.splice(l.assetStore.files.indexOf(e),1):l.assetStore.folders.splice(l.assetStore.folders.indexOf(e),1);l.assetStore.selected=[]}},()=>{}),this.close())}};u=o.__decorate([a.default({components:{ContextMenu:n.default}})],u),t.default=u},e198:function(e,t,i){},e27a:function(e,t,i){"use strict";i.r(t);var o=i("2756"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},e756:function(e,t,i){},e914:function(e,t,i){"use strict";i.r(t);var o=i("160b"),s=i("aa69");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("78c7");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,null,null);r.options.__file="manager.vue",t["default"]=r.exports},e94f:function(e,t,i){"use strict";i.r(t);var o=i("7aaa"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},ea6a:function(e,t,i){"use strict";i.r(t);var o=i("d323"),s=i("6465");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("12d3");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,null,null);r.options.__file="tool.vue",t["default"]=r.exports},eb57:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("Modal",{attrs:{visible:e.visible},on:{close:e.close},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[e._v(e._s(e.title))])}}])},[i("div",{staticClass:"modal-body"},[e._v("\n "+e._s(e.question)+"\n "),i("input",{directives:[{name:"model",rawName:"v-model",value:e.answer,expression:"answer"}],ref:"answer",attrs:{type:"text"},domProps:{value:e.answer},on:{keyup:function(t){return"button"in t||!e._k(t.keyCode,"enter",13,t.key,"Enter")?e.submit(t):null},input:function(t){t.target.composing||(e.answer=t.target.value)}}})]),i("div",{staticClass:"modal-footer"},[i("button",{on:{click:e.submit}},[e._v("Submit")])])])},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},ebb9:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("1516"));s.default.component("draggable",n.default);const r=o.__importDefault(i("d65f")),l=i("4a5b"),c=i("0bc6"),u=i("af17"),d=i("6f92"),h=i("f10f");let f=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.data=[],this.currentActor=null,this.roundCounter=0}mounted(){u.EventBus.$on("Initiative.Clear",this.clear),u.EventBus.$on("Initiative.Remove",e=>this.removeInitiative(e)),u.EventBus.$on("Initiative.Show",()=>this.visible=!0),c.socket.on("Initiative.Set",e=>{this.data=e}),c.socket.on("Initiative.Turn.Update",e=>this.setTurn(e,!1)),c.socket.on("Initiative.Round.Update",e=>this.setRound(e,!1)),c.socket.on("Initiative.Effect.New",e=>{const t=this.getActor(e.actor);void 0!==t&&this.createEffect(t,e.effect,!1)}),c.socket.on("Initiative.Effect.Update",e=>this.updateEffect(e.actor,e.effect,!1))}beforeDestroy(){u.EventBus.$off()}clear(){this.data=[],this.currentActor=null}getActor(e){return this.data.find(t=>t.uuid===e)}contains(e){return this.data.some(t=>t.uuid===e)}owns(e){if(h.gameStore.IS_DM)return!0;const t=d.layerManager.UUIDMap.get(e.uuid);return void 0!==t&&t.owners.includes(h.gameStore.username)}getDefaultEffect(){return{uuid:l.uuidv4(),name:"New Effect",turns:10}}fakeSetData(e){e.setData("Hack","")}syncInitiative(e){c.socket.emit("Initiative.Update",e)}addInitiative(e){const t=this.data.findIndex(t=>t.uuid===e.uuid);t>=0||(void 0===e.initiative&&(e.initiative=0),this.syncInitiative(e))}removeInitiative(e){const t=this.data.findIndex(t=>t.uuid===e);if(t<0||this.data[t].group)return;this.syncInitiative({uuid:e});const i=d.layerManager.UUIDMap.get(e);void 0!==i&&i.showHighlight&&(i.showHighlight=!1,d.layerManager.getLayer(i.layer).invalidate(!0))}updateOrder(){h.gameStore.IS_DM&&c.socket.emit("Initiative.Set",this.data.map(e=>e.uuid))}setTurn(e,t){if(!h.gameStore.IS_DM&&t)return;this.currentActor=e;const i=this.data.find(t=>t.uuid===e);if(void 0!==i){if(i.effects)for(let e=i.effects.length-1;e>=0;e--)i.effects[e].turns<=0?i.effects.splice(e,1):i.effects[e].turns--;t&&c.socket.emit("Initiative.Turn.Update",e)}}setRound(e,t){!h.gameStore.IS_DM&&t||(this.roundCounter=e,t&&c.socket.emit("Initiative.Round.Update",e))}nextTurn(){if(!h.gameStore.IS_DM)return;const e=this.data,t=e[(e.findIndex(e=>e.uuid===this.currentActor)+1)%e.length];this.data[0].uuid===t.uuid&&this.setRound(this.roundCounter+1,!0),this.setTurn(t.uuid,!0)}toggleHighlight(e,t){const i=d.layerManager.UUIDMap.get(e.uuid);void 0!==i&&(i.showHighlight=t,d.layerManager.getLayer(i.layer).invalidate(!0))}toggleOption(e,t){this.owns(e)&&(e[t]=!e[t],this.syncInitiative(e))}createEffect(e,t,i){this.owns(e)&&(e.effects.push(t),i&&c.socket.emit("Initiative.Effect.New",{actor:e.uuid,effect:t}))}syncEffect(e,t){this.owns(e)&&c.socket.emit("Initiative.Effect.Update",{actor:e.uuid,effect:t})}updateEffect(e,t,i){const o=this.data.find(t=>t.uuid===e);if(void 0===o)return;const s=o.effects.findIndex(e=>e.uuid===t.uuid);void 0!==s&&(o.effects[s]=t,i?this.syncEffect(o,t):this.$forceUpdate())}};f=o.__decorate([a.default({components:{Modal:r.default,draggable:n.default}})],f),t.default=f},ee96:function(e,t,i){},f086:function(e,t,i){"use strict";i.r(t);var o=i("3427"),s=i("7ba5");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("831f");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"32cec914",null);r.options.__file="selection_info.vue",t["default"]=r.exports},f10f:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=i("6fc5"),a=i("0bc6"),n=i("2b48"),r=i("c71e"),l=i("6f92"),c=i("92b1"),u=i("3a0b");let d=class extends s.VuexModule{constructor(){super(...arguments),this.layers=[],this.selectedLayerIndex=-1,this.boardInitialized=!1,this.locations=[],this.assets={},this.notes=[],this.IS_DM=!1,this.gridSize=50,this.username="",this.roomName="",this.roomCreator="",this.invitationCode="",this.gridColour="rgba(0, 0, 0, 1)",this.fowColour="rgba(0, 0, 0, 1)",this.rulerColour="rgba(255, 0, 0, 1)",this.panX=0,this.panY=0,this.zoomFactor=1,this.unitSize=5,this.useGrid=!0,this.fullFOW=!1,this.fowOpacity=.3,this.fowLOS=!1,this.locationName="",this.visionSources=[],this.visionBlockers=[],this.annotations=[],this.movementblockers=[],this.ownedtokens=[],this.BV=Object.freeze(new r.BoundingVolume([]))}get selectedLayer(){return this.layers[this.selectedLayerIndex]}setBoardInitialized(e){this.boardInitialized=e}setDM(e){this.IS_DM=e}setUsername(e){this.username=e}setRoomName(e){this.roomName=e}setRoomCreator(e){this.roomCreator=e}setInvitationCode(e){this.invitationCode=e}addLayer(e){this.layers.push(e),-1===this.selectedLayerIndex&&(this.selectedLayerIndex=this.layers.indexOf(e))}selectLayer(e){const t=this.layers.indexOf(e.name);t>=0&&(this.selectedLayerIndex=t),e.sync&&a.socket.emit("Client.ActiveLayer.Set",e.name)}newNote(e){this.notes.push(e.note),e.sync&&a.socket.emit("Note.New",e.note)}setAssets(e){this.assets=e}setLocations(e){this.locations=e}resetLayerInfo(){this.layers=[],this.selectedLayerIndex=-1}recalculateBV(){if(this.boardInitialized){let t=!1,i=0;while(!t){t=!0;try{this.BV=Object.freeze(new r.BoundingVolume(this.visionBlockers))}catch(e){if(t=!1,i++,i>10)return void console.error(e)}}}}updateZoom(e){if(e.newZoomValue===this.zoomFactor)return;e.newZoomValue<.1&&(e.newZoomValue=.1),e.newZoomValue>5&&(e.newZoomValue=5);const t=c.g2l(e.zoomLocation);this.zoomFactor=e.newZoomValue;const i=c.l2g(t),o=i.subtract(e.zoomLocation);this.panX+=o.x,this.panY+=o.y,l.layerManager.invalidate(),n.sendClientOptions()}setGridColour(e){this.gridColour=e.colour,l.layerManager.getGridLayer().drawGrid(),e.sync&&a.socket.emit("Client.Options.Set",{gridColour:e.colour})}setFOWColour(e){this.fowColour=e.colour,l.layerManager.invalidate(),e.sync&&a.socket.emit("Client.Options.Set",{fowColour:e.colour})}setRulerColour(e){this.rulerColour=e.colour,e.sync&&a.socket.emit("Client.Options.Set",{rulerColour:e.colour})}setPanX(e){this.panX=e}setPanY(e){this.panY=e}setZoomFactor(e){this.zoomFactor=e}increasePanX(e){this.panX+=e}increasePanY(e){this.panY+=e}setUnitSize(e){this.unitSize!==e.unitSize&&e.unitSize>0&&e.unitSize<1/0&&(this.unitSize=e.unitSize,l.layerManager.invalidate(),e.sync&&a.socket.emit("Location.Options.Set",{unit_size:e.unitSize}))}setUseGrid(e){if(this.useGrid!==e.useGrid){this.useGrid=e.useGrid;const t=l.layerManager.getGridLayer();e.useGrid?t.canvas.style.display="block":t.canvas.style.display="none",e.sync&&a.socket.emit("Location.Options.Set",{use_grid:e.useGrid})}}setGridSize(e){if(this.gridSize!==e.gridSize&&e.gridSize>0){this.gridSize=e.gridSize;const t=l.layerManager.getGridLayer();void 0!==t&&t.drawGrid(),e.sync&&a.socket.emit("Gridsize.Set",e.gridSize)}}setFullFOW(e){this.fullFOW!==e.fullFOW&&(this.fullFOW=e.fullFOW,l.layerManager.invalidateLight(),e.sync&&a.socket.emit("Location.Options.Set",{full_fow:e.fullFOW}))}setFOWOpacity(e){this.fowOpacity=e.fowOpacity,l.layerManager.invalidateLight(),e.sync&&a.socket.emit("Location.Options.Set",{fow_opacity:e.fowOpacity})}setLineOfSight(e){this.fowLOS!==e.fowLOS&&(this.fowLOS=e.fowLOS,l.layerManager.invalidate(),e.sync&&a.socket.emit("Location.Options.Set",{fow_los:e.fowLOS}))}setLocationName(e){this.locationName=e}updateNote(e){const t=this.notes.find(t=>t.uuid===e.note.uuid);void 0!==t&&(t.title=e.note.title,t.text=e.note.text,e.sync&&a.socket.emit("Note.Update",t))}removeNote(e){this.notes=this.notes.filter(t=>t.uuid!==e.note.uuid),e.sync&&a.socket.emit("Note.Remove",e.note.uuid)}clear(){this.context.state.visionSources=[],this.context.state.visionBlockers=[],this.context.state.ownedtokens=[],this.context.state.annotations=[],this.context.state.movementblockers=[],this.context.commit("recalculateBV")}};o.__decorate([s.Mutation],d.prototype,"setBoardInitialized",null),o.__decorate([s.Mutation],d.prototype,"setDM",null),o.__decorate([s.Mutation],d.prototype,"setUsername",null),o.__decorate([s.Mutation],d.prototype,"setRoomName",null),o.__decorate([s.Mutation],d.prototype,"setRoomCreator",null),o.__decorate([s.Mutation],d.prototype,"setInvitationCode",null),o.__decorate([s.Mutation],d.prototype,"addLayer",null),o.__decorate([s.Mutation],d.prototype,"selectLayer",null),o.__decorate([s.Mutation],d.prototype,"newNote",null),o.__decorate([s.Mutation],d.prototype,"setAssets",null),o.__decorate([s.Mutation],d.prototype,"setLocations",null),o.__decorate([s.Mutation],d.prototype,"resetLayerInfo",null),o.__decorate([s.Mutation],d.prototype,"recalculateBV",null),o.__decorate([s.Mutation],d.prototype,"updateZoom",null),o.__decorate([s.Mutation],d.prototype,"setGridColour",null),o.__decorate([s.Mutation],d.prototype,"setFOWColour",null),o.__decorate([s.Mutation],d.prototype,"setRulerColour",null),o.__decorate([s.Mutation],d.prototype,"setPanX",null),o.__decorate([s.Mutation],d.prototype,"setPanY",null),o.__decorate([s.Mutation],d.prototype,"setZoomFactor",null),o.__decorate([s.Mutation],d.prototype,"increasePanX",null),o.__decorate([s.Mutation],d.prototype,"increasePanY",null),o.__decorate([s.Mutation],d.prototype,"setUnitSize",null),o.__decorate([s.Mutation],d.prototype,"setUseGrid",null),o.__decorate([s.Mutation],d.prototype,"setGridSize",null),o.__decorate([s.Mutation],d.prototype,"setFullFOW",null),o.__decorate([s.Mutation],d.prototype,"setFOWOpacity",null),o.__decorate([s.Mutation],d.prototype,"setLineOfSight",null),o.__decorate([s.Mutation],d.prototype,"setLocationName",null),o.__decorate([s.Mutation],d.prototype,"updateNote",null),o.__decorate([s.Mutation],d.prototype,"removeNote",null),o.__decorate([s.Action],d.prototype,"clear",null),d=o.__decorate([s.Module({dynamic:!0,store:u.rootStore,name:"game",namespaced:!0})],d),t.gameStore=s.getModule(d)},f2d0:function(e,t,i){},f30c:function(e,t,i){"use strict";i.r(t);var o=i("dc37"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},f312:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.aurasFromServer=(e=>{const t=[];for(const i of e)t.push({uuid:i.uuid,visionSource:i.vision_source,visible:i.visible,name:i.name,value:i.value,dim:i.dim,colour:i.colour});return t}),t.aurasToServer=(e=>{const t=[];for(const i of e)t.push({uuid:i.uuid,vision_source:i.visionSource,visible:i.visible,name:i.name,value:i.value,dim:i.dim,colour:i.colour});return t})},f51a:function(e,t,i){"use strict";i.r(t);var o=i("e0e9"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},f551:function(e,t,i){"use strict";i.r(t);var o=i("2686"),s=i("1dd6");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("28b6");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"7a3669fd",null);r.options.__file="note.vue",t["default"]=r.exports},f5fe:function(e,t,i){"use strict";i.r(t);var o=i("9d42"),s=i("7018");for(var a in s)"default"!==a&&function(e){i.d(t,e,function(){return s[e]})}(a);i("5b4c");var n=i("2877"),r=Object(n["a"])(s["default"],o["a"],o["b"],!1,null,"ccaf03d6",null);r.options.__file="initiative.vue",t["default"]=r.exports},f692:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("4185"),s=i("b906"),a=i("38c9"),n=i("bab4"),r=i("6f92"),l=i("f10f");function c(e){const t=document.createElement("canvas");let i;t.style.zIndex=r.layerManager.layers.length.toString(),t.width=window.innerWidth,t.height=window.innerHeight,i="grid"===e.type_?new a.GridLayer(t,e.name):"fow"===e.type_?new o.FOWLayer(t,e.name):"fow-players"===e.type_?new s.FOWPlayersLayer(t,e.name):new n.Layer(t,e.name),i.selectable=e.selectable,i.playerEditable=e.player_editable,r.layerManager.addLayer(i);const c=document.getElementById("layers");null!==c?("fow-players"!==e.name&&c.appendChild(t),"grid"===e.type_&&e.size&&l.gameStore.setGridSize({gridSize:e.size,sync:!1}),i.setShapes(e.shapes)):console.warn("Layers div is missing, this will prevent the main game board from loading!")}t.createLayer=c},f8a4:function(e,t,i){},f8b3:function(e,t,i){"use strict";i.r(t);var o=i("d8ee"),s=i.n(o);for(var a in o)"default"!==a&&function(e){i.d(t,e,function(){return o[e]})}(a);t["default"]=s.a},f9e5:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.selected?i("div",{staticClass:"tool-detail",style:{"--detailRight":e.detailRight,"--detailArrow":e.detailArrow}},[i("div",[e._v("#X")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.xCount,expression:"xCount"}],attrs:{type:"text"},domProps:{value:e.xCount},on:{input:function(t){t.target.composing||(e.xCount=t.target.value)}}}),i("div",[e._v("#Y")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.yCount,expression:"yCount"}],attrs:{type:"text"},domProps:{value:e.yCount},on:{input:function(t){t.target.composing||(e.yCount=t.target.value)}}})]):e._e()},s=[];i.d(t,"a",function(){return o}),i.d(t,"b",function(){return s})},fbdd:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("9ab4"),s=o.__importDefault(i("a026")),a=o.__importDefault(i("65d9")),n=o.__importDefault(i("d065")),r=i("4a5b"),l=i("0bc6"),c=i("af17"),u=i("6f92");let d=class extends s.default{constructor(){super(...arguments),this.shape=null}mounted(){c.EventBus.$on("SelectionInfo.Shape.Set",e=>{this.shape=e})}beforeDestroy(){c.EventBus.$off()}openEditDialog(){this.$refs.editDialog.visible=!0}changeValue(e,t){null!==this.shape&&r.getRef("prompt").prompt(`New ${e.name} value:`,`Updating ${e.name}`).then(i=>{if(null===this.shape)return;const o=e.value;"+"===i[0]||"-"===i[0]?e.value+=parseInt(i,10):e.value=parseInt(i,10),isNaN(e.value)&&(e.value=o),l.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:t,temporary:!1}),t&&u.layerManager.invalidate()},()=>{})}};d=o.__decorate([a.default({components:{"edit-dialog":n.default}})],d),t.default=d},fe11:function(e,t,i){},fe80:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=i("0bc6"),s=i("af17"),a=i("8f0a"),n=i("6f92"),r=i("f692"),l=i("9cb7"),c=i("f10f"),u=i("5f86");o.socket.on("connect",()=>{console.log("Connected")}),o.socket.on("disconnect",()=>{console.log("Disconnected")}),o.socket.on("connect_error",e=>{console.error("Could not connect to game session."),u.router.push("/dashboard")}),o.socket.on("error",e=>{console.error("Game session does not exist."),u.router.push("/dashboard")}),o.socket.on("redirect",e=>{console.log("redirecting"),u.router.push(e)}),o.socket.on("Room.Info.Set",e=>{c.gameStore.setRoomName(e.name),c.gameStore.setRoomCreator(e.creator),c.gameStore.setInvitationCode(e.invitationCode)}),o.socket.on("Username.Set",e=>{c.gameStore.setUsername(e),c.gameStore.setDM(e===window.location.pathname.split("/")[2])}),o.socket.on("Client.Options.Set",e=>{c.gameStore.setGridColour({colour:e.grid_colour,sync:!1}),c.gameStore.setFOWColour({colour:e.fow_colour,sync:!1}),c.gameStore.setRulerColour({colour:e.ruler_colour,sync:!1}),c.gameStore.setPanX(e.pan_x),c.gameStore.setPanY(e.pan_y),c.gameStore.setZoomFactor(e.zoom_factor),e.active_layer&&n.layerManager.selectLayer(e.active_layer,!1),void 0!==n.layerManager.getGridLayer()&&n.layerManager.getGridLayer().invalidate()}),o.socket.on("Location.Set",e=>{void 0!==e.name&&c.gameStore.setLocationName(e.name),void 0!==e.unit_size&&c.gameStore.setUnitSize({unitSize:e.unit_size,sync:!1}),void 0!==e.use_grid&&c.gameStore.setUseGrid({useGrid:e.use_grid,sync:!1}),void 0!==e.full_fow&&c.gameStore.setFullFOW({fullFOW:e.full_fow,sync:!1}),void 0!==e.fow_opacity&&c.gameStore.setFOWOpacity({fowOpacity:e.fow_opacity,sync:!1}),void 0!==e.fow_los&&c.gameStore.setLineOfSight({fowLOS:e.fow_los,sync:!1})}),o.socket.on("Position.Set",e=>{l.gameManager.setCenterPosition(new a.GlobalPoint(e.x,e.y))}),o.socket.on("Notes.Set",e=>{for(const t of e)c.gameStore.newNote({note:t,sync:!1})}),o.socket.on("Asset.List.Set",e=>{c.gameStore.setAssets(e)}),o.socket.on("Board.Set",e=>{c.gameStore.clear(),c.gameStore.setLocations(e.locations),document.getElementById("layers").innerHTML="",c.gameStore.resetLayerInfo(),n.layerManager.reset();for(const t of e.layers)r.createLayer(t);n.layerManager.selectLayer(n.layerManager.getLayer().name,!1),s.EventBus.$emit("Initiative.Clear"),c.gameStore.setBoardInitialized(!0),c.gameStore.recalculateBV()}),o.socket.on("Gridsize.Set",e=>{c.gameStore.setGridSize({gridSize:e,sync:!1})}),o.socket.on("Shape.Add",e=>{l.gameManager.addShape(e)}),o.socket.on("Shape.Remove",e=>{if(!n.layerManager.UUIDMap.has(e.uuid))return void console.log("Attempted to remove an unknown shape");if(!n.layerManager.hasLayer(e.layer))return void console.log(`Attempted to remove shape from an unknown layer ${e.layer}`);const t=n.layerManager.getLayer(e.layer);t.removeShape(n.layerManager.UUIDMap.get(e.uuid),!1),t.invalidate(!1)}),o.socket.on("Shape.Order.Set",e=>{if(!n.layerManager.UUIDMap.has(e.shape.uuid))return void console.log("Attempted to move the shape order of an unknown shape");if(!n.layerManager.hasLayer(e.shape.layer))return void console.log(`Attempted to remove shape from an unknown layer ${e.shape.layer}`);const t=n.layerManager.UUIDMap.get(e.shape.uuid),i=n.layerManager.getLayer(t.layer);i.moveShapeOrder(t,e.index,!1)}),o.socket.on("Shape.Layer.Change",e=>{const t=n.layerManager.UUIDMap.get(e.uuid);void 0!==t&&t.moveLayer(e.layer,!1)}),o.socket.on("Shape.Update",e=>{l.gameManager.updateShape(e)}),o.socket.on("Temp.Clear",e=>{e.forEach(e=>{if(!n.layerManager.UUIDMap.has(e.uuid))return void console.log("Attempted to remove an unknown temporary shape");if(!n.layerManager.hasLayer(e.layer))return void console.log(`Attempted to remove shape from an unknown layer ${e.layer}`);const t=n.layerManager.UUIDMap.get(e.uuid);n.layerManager.getLayer(e.layer).removeShape(t,!1)})})}}); -//# sourceMappingURL=app.4b455705.js.map \ No newline at end of file diff --git a/server/static/js/app.4b455705.js.map b/server/static/js/app.4b455705.js.map deleted file mode 100644 index f755930b1..000000000 --- a/server/static/js/app.4b455705.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/game/shapes/text.ts","webpack:///./src/game/ui/selection/shapecontext.vue","webpack:///./src/App.vue?5b85","webpack:///./src/core/components/modals/prompt.vue?d33d","webpack:///./src/core/components/colorpicker.vue?4d88","webpack:///./src/game/game.vue","webpack:///./src/game/api/socket.ts","webpack:///./src/assetManager/manager.vue?5633","webpack:///./src/game/ui/menu/asset_node.vue","webpack:///./src/game/ui/tools/selectcontext.vue?02dc","webpack:///./src/auth/login.vue","webpack:///./src/game/ui/tools/createtoken_modal.vue?9216","webpack:///./src/game/ui/tools/createtoken_modal.vue?3856","webpack:///./src/game/ui/tools/tool.vue?5b17","webpack:///./src/game/shapes/circulartoken.ts","webpack:///./src/assetManager/manager.vue?aaaa","webpack:///./src/assetManager/manager.vue?1f53","webpack:///./src/game/ui/annotation.ts","webpack:///./src/core/components/colorpicker.vue?8070","webpack:///./src/game/ui/menu/menu.vue","webpack:///./src/core/components/contextmenu.vue","webpack:///./src/game/ui/note.vue?49b7","webpack:///./src/auth/login.vue?c159","webpack:///./src/game/shapes/utils.ts","webpack:///./src/core/components/modals/confirm.vue?e6fb","webpack:///./src/game/shapes/shape.ts","webpack:///./src/core/components/modals/prompt.vue?d457","webpack:///./src/game/ui/note.vue?8ce6","webpack:///./src/game/ui/note.vue?23aa","webpack:///./src/core/components/modals/modal.vue?33b9","webpack:///./src/game/ui/tools/select.vue?49f9","webpack:///./src/game/ui/tools/utils.ts","webpack:///./src/game/ui/note.vue?a508","webpack:///./src/game/api/utils.ts","webpack:///./src/game/ui/menu/asset_node.vue?f519","webpack:///./src/game/game.vue?aa40","webpack:///./src/game/game.vue?94fe","webpack:///./src/core/components/contextmenu.vue?06bc","webpack:///./src/core/components/contextmenu.vue?7efa","webpack:///./src/assetManager/store.ts","webpack:///./src/game/ui/selection/edit_dialog.vue?03e8","webpack:///./src/core/components/contextmenu.vue?50e1","webpack:///./src/game/ui/selection/shapecontext.vue?1cf6","webpack:///./src/game/ui/selection/selection_info.vue?996c","webpack:///./src/game/ui/selection/selection_info.vue?8aba","webpack:///./src/game/ui/tools/map.vue?284a","webpack:///./src/game/layers/grid.ts","webpack:///./src/store.ts","webpack:///./src/core/components/colorpicker.vue","webpack:///./src/game/game.vue?e1c7","webpack:///./src/App.vue?d2ea","webpack:///./src/App.vue","webpack:///./src/game/layers/fow.ts","webpack:///./src/core/components/load.vue?18c2","webpack:///./src/game/shapes/circle.ts","webpack:///./src/game/ui/tools/map.vue?a3ab","webpack:///./src/core/components/load.vue","webpack:///./src/game/ui/tools/pan.ts","webpack:///./src/game/ui/tools/selectcontext.vue","webpack:///./src/core/utils.ts","webpack:///./src/assetManager/contextMenu.vue","webpack:///./src/game/ui/selection/edit_dialog.vue?cf9a","webpack:///./src/game/ui/selection/edit_dialog.vue?057b","webpack:///./src/game/ui/menu/asset_node.vue?1f27","webpack:///./src/game/ui/selection/shapecontext.vue?13ec","webpack:///./src/game/ui/selection/shapecontext.vue?3b0d","webpack:///./src/core/components/modals/modal.vue?44ae","webpack:///./src/assetManager/socket.ts","webpack:///./src/game/ui/tools/tools.vue?c96e","webpack:///./src/game/game.vue?5550","webpack:///./src/game/shapes/multiline.ts","webpack:///./src/core/components/colorpicker.vue?242f","webpack:///./src/core/components/colorpicker.vue?8615","webpack:///./src/game/ui/tools/draw.vue","webpack:///./src/game/utils.ts","webpack:///./src/game/ui/tools/createtoken_modal.vue?d0df","webpack:///./src/game/ui/note.vue?f9bd","webpack:///./src/game/ui/initiative.vue?f4e1","webpack:///./src/game/ui/tools/draw.vue?b96d","webpack:///./src/game/bvh/node.ts","webpack:///./src/game/shapes/line.ts","webpack:///./src/router.ts","webpack:///./src/game/ui/tools/tool.vue?d136","webpack:///./src/game/ui/tools/tools.vue","webpack:///./src/game/ui/tools/tool.vue?8ce3","webpack:///./src/game/shapes/asset.ts","webpack:///./src/game/ui/tools/draw.vue?1261","webpack:///./src/game/layers/manager.ts","webpack:///./src/game/ui/initiative.vue?c7e1","webpack:///./src/game/ui/tools/createtoken_modal.vue","webpack:///./src/game/ui/tools/createtoken_modal.vue?f918","webpack:///./src/game/events/keyboard.ts","webpack:///./src/assetManager/manager.vue?433f","webpack:///./src/game/ui/tools/tools.vue?25b2","webpack:///./src/game/ui/selection/selection_info.vue?2310","webpack:///./src/core/components/modals/modal.vue?09d2","webpack:///./src/core/components/contextmenu.vue?a0a2","webpack:///./src/game/ui/selection/selection_info.vue?b9a9","webpack:///./src/core/components/modals/prompt.vue?4e1b","webpack:///./src/game/ui/menu/asset_node.vue?8ac0","webpack:///./src/game/ui/menu/asset_node.vue?fc27","webpack:///./src/core/components/load.vue?141a","webpack:///./src/core/components/load.vue?0f87","webpack:///./src/game/ui/tools/tools.vue?78f7","webpack:///./src/game/ui/tools/tools.vue?35df","webpack:///./src/game/ui/menu/menu.vue?8b23","webpack:///./src/game/shapes/boundingrect.ts","webpack:///./src/dashboard/main.vue?7896","webpack:///./src/dashboard/main.vue?94d1","webpack:///./src/game/geom.ts","webpack:///./src/game/game.vue?5592","webpack:///./src/game/units.ts","webpack:///./src/game/ui/menu/menu.vue?ae57","webpack:///./src/game/ui/tools/draw.vue?c2fe","webpack:///./src/core/components/colorpicker.vue?1682","webpack:///./src/game/ui/tools/selectcontext.vue?46f1","webpack:///./src/game/ui/tools/selectcontext.vue?758c","webpack:///./src/game/ui/selection/shapecontext.vue?6173","webpack:///./src/game/manager.ts","webpack:///./src/game/ui/initiative.vue?c807","webpack:///./src/game/ui/initiative.vue?ca6b","webpack:///./src/core/components/load.vue?8cd0","webpack:///./src/dashboard/main.vue?3f72","webpack:///./src/core/components/modals/confirm.vue","webpack:///./src/game/ui/selection/shapecontext.vue?aac0","webpack:///./src/assetManager/manager.vue?a11e","webpack:///./src/game/ui/tools/draw.vue?c7ee","webpack:///./src/game/ui/tools/draw.vue?789d","webpack:///./src/game/event-bus.ts","webpack:///./src/dashboard/main.vue?d5a9","webpack:///./src/game/ui/menu/menu.vue?4372","webpack:///./src/game/ui/menu/menu.vue?90cd","webpack:///./src/game/shapes/rect.ts","webpack:///./src/game/ui/tools/selectcontext.vue?6f66","webpack:///./src/game/layers/fowplayers.ts","webpack:///./src/game/layers/layer.ts","webpack:///./src/game/events/mouse.ts","webpack:///./src/game/ui/menu/asset_node.vue?be10","webpack:///./src/game/shapes/baserect.ts","webpack:///./src/game/ui/tools/select.vue","webpack:///./src/dashboard/main.vue","webpack:///./src/game/ui/tools/select.vue?c408","webpack:///./src/game/ui/tools/select.vue?226c","webpack:///./src/game/bvh/bvh.ts","webpack:///./src/game/ui/tools/selectcontext.vue?d61f","webpack:///./src/auth/logout.ts","webpack:///./src/core/store.ts","webpack:///./src/main.ts","webpack:///./src/core/components/contextmenu.vue?f402","webpack:///./src/invitation/invitation.ts","webpack:///./src/core/components/modals/prompt.vue","webpack:///./src/auth/login.vue?5f02","webpack:///./src/game/ui/selection/edit_dialog.vue","webpack:///./src/game/settings.ts","webpack:///./src/auth/login.vue?283c","webpack:///./src/game/ui/tools/tool.vue?d6e5","webpack:///./src/game/ui/tools/tool.vue?f5ba","webpack:///./src/core/components/modals/modal.vue?dad5","webpack:///./src/core/components/modals/modal.vue?e329","webpack:///./src/game/game.vue?d01c","webpack:///./src/game/ui/tools/ruler.ts","webpack:///./src/game/ui/menu/menu.vue?f9de","webpack:///./src/core/components/modals/modal.vue","webpack:///./src/game/ui/tools/createtoken_modal.vue?41c9","webpack:///./src/dashboard/main.vue?1359","webpack:///./src/auth/login.vue?6585","webpack:///./src/auth/login.vue?7cce","webpack:///./src/game/ui/selection/edit_dialog.vue?9a84","webpack:///./src/core/components/modals/confirm.vue?f9ee","webpack:///./src/game/ui/tools/map.vue","webpack:///./src/assetManager/contextMenu.vue?b02b","webpack:///./src/assetManager/contextMenu.vue?b4b1","webpack:///./src/core/components/modals/confirm.vue?85a0","webpack:///./src/core/components/modals/confirm.vue?be48","webpack:///./src/assetManager/contextMenu.vue?1b1b","webpack:///./src/game/ui/tools/select.vue?b7fd","webpack:///./src/assetManager/manager.vue","webpack:///./src/game/ui/tools/tools.vue?fa4a","webpack:///./src/game/ui/tools/tool.vue","webpack:///./src/core/components/modals/prompt.vue?5578","webpack:///./src/core/components/modals/prompt.vue?36e2","webpack:///./src/game/ui/initiative.vue?36c8","webpack:///./src/game/ui/selection/selection_info.vue","webpack:///./src/game/store.ts","webpack:///./src/core/components/modals/confirm.vue?a22f","webpack:///./src/game/comm/conversion/aura.ts","webpack:///./src/assetManager/contextMenu.vue?1e9a","webpack:///./src/game/ui/note.vue","webpack:///./src/game/ui/initiative.vue","webpack:///./src/game/layers/utils.ts","webpack:///./src/game/ui/selection/edit_dialog.vue?3800","webpack:///./src/game/ui/tools/map.vue?5515","webpack:///./src/game/ui/tools/map.vue?9024","webpack:///./src/game/ui/selection/selection_info.vue?5d62","webpack:///./src/game/api/events.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","app","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","boundingrect_1","shape_1","units_1","Text","Shape","[object Object]","position","text","font","angle","fillColour","strokeColour","uuid","super","this","type","assign","getBaseDict","BoundingRect","refPoint","ctx","draw","fillStyle","save","dest","g2l","translate","x","y","rotate","textAlign","getLines","map","line","fillText","restore","point","centerPoint","canvas","resizeDir","lines","lineHeight","widths","measureText","width","Math","max","split","allLines","maxWidth","targetLine","words","word","testLine","metrics","testWidth","__webpack_exports__","_shapecontext_vue_vue_type_template_id_7111f3f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_shapecontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","__WEBPACK_IMPORT_KEY__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__","component","options","__file","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_style_index_0_id_0602c2e6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_style_index_0_id_0602c2e6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","tinycolor2_1","tslib_1","__importDefault","vue_1","vue_class_component_1","vue_color_1","vue_property_decorator_1","ColorPicker","default","display","left","top","transparent","$refs","chromePicker","val","rgba","a","setPosition","$nextTick","$children","$el","focus","newColor","toRgbString","$emit","color","rect","getBoundingClientRect","right","innerWidth","bottom","innerHeight","__decorate","Prop","String","components","chrome-picker","Chrome","_game_vue_vue_type_template_id_256b40b9_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_game_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__","socket_io_client_1","createConnection","route","socket","io","opts","query","params","creator","room","connect","location","protocol","host","autoConnect","contextMenu_vue_1","confirm_vue_1","prompt_vue_1","socket_1","store_1","utils_1","AssetManager","path","draggingSelection","folders","assetStore","files","selected","idMap","currentFolder","root","parentFolder","parent","undefined","firstSelectedFile","sel","file_hash","nextFolder","pop","clearSelected","emit","prompt","inode","target","isFile","indexOf","delete","event","shiftKey","inodes","start","end","ctrlKey","file","dataTransfer","setData","dropEffect","includes","classList","contains","add","remove","moveInode","upload","document","getElementById","click","fls","CHUNK_SIZE","uuidv4","slices","ceil","size","fr","FileReader","readAsArrayBuffer","min","onload","e","directory","totalSlices","Prompt","ConfirmDialog","AssetContextMenu","to","from","next","disconnect","_asset_node_vue_vue_type_template_id_62c91cd3_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_asset_node_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_style_index_0_id_44a31e42_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_style_index_0_id_44a31e42_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_login_vue_vue_type_template_id_6bbf3b79_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_login_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","render","_vm","_h","$createElement","_c","_self","attrs","visible","on","close","$event","scopedSlots","_u","fn","staticClass","draggable","dragstart","dragStart","dragend","dragEnd","_v","for","directives","rawName","expression","id","domProps","input","composing","update:color","borderColour","ref","height","submit","staticRenderFns","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","tinycolor","__importStar","circle_1","CircularToken","Circle","center","radius","fromDict","textBaseline","xs","calcFontScale","g2lz","ys","transform","mostReadable","toHexString","gameStore","IS_DM","group","source","has_img","effects","index","Infinity","dragover","preventDefault","moveDrag","drop","stopPropagation","stopDrag","_l","dir","_s","multiple","hidden","change","title","createDirectory","prepareUpload","dblclick","changeDirectory","dragleave","leaveDrag","staticStyle","font-size","_e","class","inode-selected","select","contextmenu","cm","open","startDrag","src","geom_1","manager_1","rect_1","text_1","AnnotationManager","shown","origin","GlobalPoint","annotationText","annotationRect","Rect","layer","layerManager","hasLayer","console","warn","getLayer","addShape","l2g","LocalPoint","getMaxWidth","getMaxHeight","w","zoomFactor","h","invalidate","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_style_index_0_id_b4f2c0b0_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_style_index_0_id_b4f2c0b0_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_menu_vue_vue_type_template_id_081515c4_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_menu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_contextmenu_vue_vue_type_template_id_256dde9c___WEBPACK_IMPORTED_MODULE_0__","_contextmenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","asset_1","circulartoken_1","line_1","multiline_1","createShapeFromDict","shape","dummy","UUIDMap","has","sh","type_","fill_colour","stroke_colour","circ","token","Line","x2","y2","line_width","multiline","MultiLine","points","asset","img","Image","startsWith","URL","pathname","Asset","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_style_index_0_id_1883e207_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_style_index_0_id_1883e207_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","aura_1","trackers","auras","owners","visionObstruction","movementObstruction","isToken","showHighlight","annotation","globalCompositeOperation","Map","skipLightUpdate","self","obstructionIndex","visionBlockers","changeBV","recalculateBV","forEach","au","ls","visionSources","findIndex","aura","visionSource","some","blocksMovement","movementblockers","ownedBy","ownedtokens","username","draw_operator","movement_obstruction","vision_obstruction","aurasToServer","is_token","JSON","stringify","aurasFromServer","parse","bbox","getBoundingBox","strokeStyle","strokeRect","g2lx","topLeft","g2ly","dim","beginPath","loc","innerRange","g2lr","colour","gradient","createRadialGradient","tc","addColorStop","setAlpha","lastPath","fill","arc","PI","sync","oldLayer","newLayer","shapes","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","note","mask","updateNote","$set","style","calcHeight","removeNote","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_style_index_0_id_12ed61ba_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_style_index_0_id_12ed61ba_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","selectcontext_vue_1","tool_vue_1","utils_2","utils_3","SelectOperations","SelectTool","showContextMenu","active","Noop","resizeDirection","deltaChanged","dragRay","Ray","Vector","selectionStartPoint","selectionHelper","log","mouse","getMouse","globalMouse","selectionStack","hit","selection","concat","corner","getCorner","getRef","Resize","Drag","localRefPoint","subtract","GroupSelect","endPoint","abs","og","direction","delta","multiply","ogDelta","calculateDelta","asDict","redraw","temporary","resize","bb","gm","inCorner","body","cursor","clearSelection","topRight","botLeft","useGrid","altKey","snapToGrid","resizeToGrid","$parent","shapecontext","selectcontext","SelectContext","done","ogSelBBox","newSelBBox","offset","refine","movementBlocker","blocker","blockerBBox","found","intersectsWithInner","ray","fromPoints","normalize","invDir","inverse","dirIsNegative","intersectP","bCenter","sCenter","ux","uy","dx","dot","dy","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_style_index_0_id_7a3669fd_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_style_index_0_id_7a3669fd_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","sendClientOptions","locationOptions","panX","panY","AssetNode","showImage","keys","filter","el","sort","alphSort","__files","b","toLowerCase","children","imageSource","querySelector","setDragImage","mouseleave","ready","mousedown","mouseup","mousemove","layers","layer-selected","selectedLayer","selectLayer","href","interval","dot-width","dot-height","tooltip-dir","tooltip","formatter","toFixed","slider-style","border-radius","bg-style","background-color","box-shadow","process-style","model","callback","$$v","tabindex","blur","_t","vuex_module_decorators_1","AssetStore","VuexModule","Mutation","Module","dynamic","store","rootStore","namespaced","getModule","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_style_index_0_id_078b3b76_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_style_index_0_id_078b3b76_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","contextmenu_vue_1","ShapeContext","activeLayer","pageX","pageY","selectable","playerEditable","moveLayer","getActiveLayer","moveShapeOrder","initiative","addInitiative","getInitiativeRepr","ContextMenu","openEditDialog","tracker","changeValue","maxvalue","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_map_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_map_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","layer_1","GridLayer","Layer","valid","doClear","drawGrid","clear","gs","gridSize","moveTo","lineTo","gridColour","lineWidth","stroke","vuex_1","use","Store","_colorpicker_vue_vue_type_template_id_b4f2c0b0_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_colorpicker_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_1_id_256b40b9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_1_id_256b40b9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","script","componentNormalizer","settings_1","FOWLayer","isVisionLayer","preFogShapes","idx","removeShape","Settings","skipLightFOW","clearRect","originalOperation","dctx","drawAngleLines","drawFirstLightHit","fullFOW","lcenter","alm","light","find","auraLength","getUnitDistance","auraCircle","visibleInCanvas","lastArcAngle","Path2D","firstPoint","angleSteps","anglePoint","cos","sin","lightRay","hitResult","BV","intersect","fowLOS","drawImage","preShape","ogComposite","getFogColour","fillRect","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_load_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_load_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","pow","targetX","targetY","round","resizedir","diff","sqrt","baserect_1","MapTool","xCount","yCount","startPoint","clone","BaseRect","_load_vue_vue_type_template_id_ff095222___WEBPACK_IMPORTED_MODULE_0__","_load_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__","PanTool","panStart","distance","increasePanX","increasePanY","_selectcontext_vue_vue_type_template_id_44a31e42_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_selectcontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","main_1","replace","random","v","toString","capitalize","charAt","toUpperCase","getHTMLFont","element","parentElement","getComputedStyle","getPropertyValue","getHTMLTextWidth","fakeElement","createElement","appendChild","getContext","partition","arr","predicate","ret","Number","fontWidth","fixedEncodeURIComponent","str","encodeURIComponent","charCodeAt","OrderedMap","values","getComponent","activeComponent","_contextMenu_vue_vue_type_template_id_d4f084a4___WEBPACK_IMPORTED_MODULE_0__","_contextMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","grid-column","updateShape","grid-column-start","checked","setToken","Array","isArray","_i","$$a","$$el","$$c","$$i","setVisionBlocker","setMovementBlocker","owner","placeholder","updateOwner","removeOwner","modifiers","number","_n","$forceUpdate","opacity","removeTracker","updateAuraColour","updateAuraVisionSource","removeAura","updateAnnotation","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","getLayers","setLayer","moveToBack","moveToFront","getInitiativeWord","Modal","positioned","offsetX","offsetY","screenX","screenY","dragging","updatePosition","container","offsetWidth","offsetHeight","clientX","clientY","parseInt","Boolean","destination","setRoot","folder","child","set","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_style_index_0_id_1fee50f5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_style_index_0_id_1fee50f5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","minx","maxx","miny","maxy","lineCap","lineJoin","currentTarget","closePicker","z-index","updateColor","_draw_vue_vue_type_template_id_5c4191ca_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_draw_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","opposite","fowColour","fowOpacity","colorpicker_vue_1","modal_vue_1","CreateTokenModal","updatePreview","newValue","oldValue","unitSize","Watch","color-picker","computed","mapState","NoteDialog","textarea","scrollHeight","then","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_style_index_0_id_ccaf03d6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_style_index_0_id_ccaf03d6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","DrawTool","brushHelper","shapeSelect","modeSelect","modes","brushSize","helperSize","onModeChange","fowLayer","normalLayer","setupBrush","onDeselect","onSelect","BoundingNode","nPrimitives","LeafNode","first","firstPrimOffset","InteriorNode","dimension","c1","c2","union","axios_1","vue_router_1","manager_vue_1","login_vue_1","logout_1","load_vue_1","main_vue_1","game_vue_1","invitation_1","router","base","routes","redirect","meta","auth","template","beforeEach","coreStore","initialized","matched","record","authenticated","response","setAuthenticated","setUsername","setInitialized","catch","error","Tool","detailRight","mid","detailArrow","$on","tool","onMouseDown","onMouseUp","onMouseMove","onContextMenu","_tools_vue_vue_type_template_id_1fee50f5_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_tools_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","topleft","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","LayerManager","drawLoop","requestAnimationFrame","addLayer","globalAlpha","getSelection","image","getData","l2gx","l2gy","l2gz","lm","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_createtoken_modal_vue_vue_type_template_id_66ccc134_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_createtoken_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","event_bus_1","onKeyUp","HTMLInputElement","HTMLTextAreaElement","selectTool","EventBus","onKeyDown","keyCode","hasSelection","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","shapecontext_vue_1","createtoken_modal_vue_1","draw_vue_1","map_vue_1","pan_1","select_vue_1","manager_2","ruler_1","Tools","currentTool","tools","dmTools","currentToolComponent","tagName","targetTool","button","buttons","annotations","gameManager","annotationManager","setActiveText","select-tool","pan-tool","draw-tool","ruler-tool","RulerTool","map-tool","shape-menu","createtoken-dialog","watch","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_style_index_0_id_32cec914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_style_index_0_id_32cec914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","question","answer","resolve","reject","Promise","toggle","mouseover","hash","mouseout","message","refInFor","tool-selected","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","botRight","vector","other","xmin","xmax","ymin","ymax","botright","dirIsNeg","txmin","getDiagCorner","txmax","tymin","tymax","tMax","sw","owned","joined","_m","createRoom","newSessionName","tag","getPointDistance","p1","p2","Point","vec","scale","maxT","t1","t2","vue_slider_component_1","lodash_1","initiative_vue_1","menu_vue_1","note_vue_1","selection_info_vue_1","tools_vue_1","keyboard_1","mouse_1","Game","manager","updateZoom","newZoomValue","zoomLocation","addEventListener","setWidth","setHeight","throttle","scrollZoom","confirm","dropAsset","tool-bar","selection-info","prompt-dialog","confirm-dialog","menu-bar","initiative-dialog","zoom-slider","note-dialog","obj","z","l2gr","asset_node_vue_1","MenuBar","settings","locations","setUseGrid","setFullFOW","setFOWOpacity","setLineOfSight","setUnitSize","setGridSize","setGridColour","setFOWColour","rulerColour","setRulerColour","nextElementSibling","newNote","openNote","asset-node","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_style_index_0_id_5c4191ca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_style_index_0_id_5c4191ca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","bringPlayers","createToken","showInitiative","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_style_index_0_id_7111f3f6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_style_index_0_id_7111f3f6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","annotation_1","GameManager","selectedTool","oldShape","redrawInitiative","checkVisionSources","setMovementBlock","setIsToken","move","localPos","fakeSetData","disabled","$store","state","game","updateOrder","actor","flex-direction","align-items","initiative-selected","currentActor","mouseenter","toggleHighlight","lazy","notAllowed","owns","syncInitiative","createEffect","getDefaultEffect","toggleOption","removeInitiative","effect","updateEffect","turns","roundCounter","setRound","setTurn","nextTurn","LoadComponent","registerHooks","Dashboard","vm","err","post","$router","_confirm_vue_vue_type_template_id_1883e207_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_confirm_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","--detailRight","--detailArrow","option-selected","max-width","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","rm-list-dm","enter","rm","transition","settingsClick","overflow-y","overflow-x","assets","createNote","notes","step","readonly","invitationCode","text-decoration","changeLocation","createLocation","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","FOWPlayersLayer","skipPlayerFOW","maxLength","tokenId","closePath","selectionColor","selectionWidth","invalidateLight","serverShape","lsI","lbI","mbI","anI","annotationIndex","ownedIndex","ogOP","drawAuras","destinationIndex","oldIdx","sign","deltaY","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_style_index_0_id_62c91cd3_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_style_index_0_id_62c91cd3_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","coreVisible","mx","my","_select_vue_vue_type_template_id_da20cb86___WEBPACK_IMPORTED_MODULE_0__","_select_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_main_vue_vue_type_template_id_61eb1455_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_main_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","node_1","BoundingVolume","totalNodes","buildData","orderedPrims","nodes","_a","Error","recursiveBuild","compact","node","createLeaf","centroidBbox","getMaxExtent","pMid","partitionedData","flattened","stopOnFirstHit","tMin","todoOffset","nodeNum","todo","secondChildOffset","flatten","myOffset","secondOffset","primitivesOffset","createtokendialog","Logout","CoreStore","init","App_vue_1","router_1","config","productionTip","devtools","performance","$mount","props","Initiative","code","sessionUrl","_prompt_vue_vue_type_template_id_0602c2e6_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_prompt_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_6bbf3b79_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_6bbf3b79_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_edit_dialog_vue_vue_type_template_id_078b3b76_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_edit_dialog_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","tempFill","Login","password","$route","statusText","span","modal-mask","dialog-mask","dragOver","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","ruler","diffsign","xdiff","ydiff","label","atan2","xmid","ymid","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_style_index_0_id_081515c4_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_style_index_0_id_081515c4_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_modal_vue_vue_type_template_id_12ed61ba_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_style_index_0_id_66ccc134_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_style_index_0_id_66ccc134_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_61eb1455_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_61eb1455_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","focusin","focusout","login","required","visibility","register","EditDialog","addEmpty","hadAnnotation","an","ownerIndex","tr","yes","no","ok","_map_vue_vue_type_template_id_f93438ce___WEBPACK_IMPORTED_MODULE_0__","_map_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","rename","deny","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_manager_vue_vue_type_template_id_d1ce9748___WEBPACK_IMPORTED_MODULE_0__","_manager_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_tool_vue_vue_type_template_id_1e034b42___WEBPACK_IMPORTED_MODULE_0__","_tool_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","keyup","_k","vuedraggable_1","getActor","$off","actorId","order","show","option","effectIndex","syncEffect","_selection_info_vue_vue_type_template_id_32cec914_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_selection_info_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","bvh_1","GameStore","selectedLayerIndex","boardInitialized","roomName","roomCreator","locationName","freeze","isDM","success","tries","oldLoc","newLoc","getGridLayer","increase","unit_size","gridLayer","use_grid","full_fow","fow_opacity","fow_los","actualNote","context","commit","Action","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","vision_source","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_note_vue_vue_type_template_id_7a3669fd_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_note_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_initiative_vue_vue_type_template_id_ccaf03d6_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_initiative_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","fow_1","fowplayers_1","grid_1","createLayer","layerInfo","zIndex","player_editable","setShapes","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","edit_dialog_vue_1","SelectionInfo","editDialog","ogValue","isNaN","edit-dialog","setRoomName","setRoomCreator","setInvitationCode","setDM","grid_colour","fow_colour","ruler_colour","setPanX","pan_x","setPanY","pan_y","setZoomFactor","zoom_factor","active_layer","setLocationName","setCenterPosition","setAssets","locationInfo","setLocations","innerHTML","resetLayerInfo","reset","setBoardInitialized","realShape"],"mappings":"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","file":"static/js/app.4b455705.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { g2l } from \"@/game/units\";\n\nexport class Text extends Shape {\n type = \"text\";\n text: string;\n font: string;\n angle: number;\n constructor(\n position: GlobalPoint,\n text: string,\n font: string,\n angle?: number,\n fillColour?: string,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(position, fillColour, strokeColour, uuid);\n this.text = text;\n this.font = font;\n this.angle = angle || 0;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n text: this.text,\n font: this.font,\n angle: this.angle,\n });\n }\n getBoundingBox(): BoundingRect {\n return new BoundingRect(this.refPoint, 5, 5); // TODO: fix this bounding box\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.font = this.font;\n ctx.fillStyle = this.fillColour;\n ctx.save();\n const dest = g2l(this.refPoint);\n ctx.translate(dest.x, dest.y);\n ctx.rotate(this.angle);\n ctx.textAlign = \"center\";\n this.getLines(ctx).map(line => ctx.fillText(line.text, line.x, line.y));\n ctx.restore();\n }\n contains(point: GlobalPoint): boolean {\n return false; // TODO\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {} // TODO\n getCorner(point: GlobalPoint): string | undefined {\n return \"\";\n } // TODO\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid(): void {}\n resizeToGrid(): void {}\n resize(resizeDir: string, point: LocalPoint): void {}\n\n getMaxHeight(ctx: CanvasRenderingContext2D) {\n const lines = this.getLines(ctx);\n const lineHeight = 30;\n return lineHeight * lines.length;\n }\n\n getMaxWidth(ctx: CanvasRenderingContext2D) {\n const lines = this.getLines(ctx);\n const widths = lines.map(line => ctx.measureText(line.text).width);\n return Math.max(...widths);\n }\n\n private getLines(ctx: CanvasRenderingContext2D) {\n const lines = this.text.split(\"\\n\");\n const allLines: { text: string; x: number; y: number }[] = [];\n const maxWidth = ctx.canvas.width;\n const lineHeight = 30;\n const x = 0; // this.refPoint.x;\n let y = 0; // this.refPoint.y;\n\n for (const line of lines) {\n let targetLine = \"\";\n const words = line.split(\" \");\n for (const word of words) {\n const testLine = targetLine + word + \" \";\n const metrics = ctx.measureText(testLine);\n const testWidth = metrics.width;\n if (testWidth > maxWidth) {\n ctx.fillText(targetLine, x, y);\n allLines.push({ text: targetLine, x, y });\n targetLine = word + \" \";\n y += lineHeight;\n } else {\n targetLine = testLine;\n }\n }\n allLines.push({ text: targetLine, x, y });\n y += lineHeight;\n }\n return allLines;\n }\n}\n","import { render, staticRenderFns } from \"./shapecontext.vue?vue&type=template&id=7111f3f6&scoped=true&\"\nimport script from \"./shapecontext.vue?vue&type=script&lang=ts&\"\nexport * from \"./shapecontext.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./shapecontext.vue?vue&type=style&index=0&id=7111f3f6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7111f3f6\",\n null\n \n)\n\ncomponent.options.__file = \"shapecontext.vue\"\nexport default component.exports","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=style&index=0&id=0602c2e6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=style&index=0&id=0602c2e6&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport tinycolor from \"tinycolor2\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { Chrome } from \"vue-color\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component({\n components: {\n \"chrome-picker\": Chrome,\n },\n})\nexport default class ColorPicker extends Vue {\n @Prop(String) color!: string;\n\n display = false;\n left = 0;\n top = 0;\n transparent = false;\n\n mounted() {\n this.transparent = (this.$refs.chromePicker).val.rgba.a === 0;\n this.setPosition();\n }\n\n open() {\n if (this.display) return; // click on the picker itself\n this.setPosition();\n this.display = true;\n this.$nextTick(() => this.$children[0].$el.focus());\n }\n updateColor(value: { rgba: { r: number; g: number; b: number; a: number } }) {\n this.transparent = value.rgba.a === 0;\n const newColor = tinycolor(value.rgba).toRgbString();\n this.$emit(\"update:color\", newColor);\n this.$emit(\"input\", newColor);\n }\n closePicker() {\n this.display = false;\n this.$emit(\"change\", this.color);\n }\n setPosition() {\n const rect = this.$el.getBoundingClientRect();\n // 224 is the width of the picker, 242 the height\n if (rect.right + 224 > window.innerWidth) this.left = rect.left - 224;\n else this.left = rect.right;\n if (rect.bottom + 242 > window.innerHeight) this.top = rect.top - 242;\n else this.top = rect.bottom;\n }\n}\n","import { render, staticRenderFns } from \"./game.vue?vue&type=template&id=256b40b9&scoped=true&\"\nimport script from \"./game.vue?vue&type=script&lang=ts&\"\nexport * from \"./game.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./game.vue?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./game.vue?vue&type=style&index=1&id=256b40b9&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"256b40b9\",\n null\n \n)\n\ncomponent.options.__file = \"game.vue\"\nexport default component.exports","import io from \"socket.io-client\";\nimport { Route } from \"vue-router\";\n\nexport const socket = io(location.protocol + \"//\" + location.host + \"/planarally\", { autoConnect: false });\n\nexport function createConnection(route: Route) {\n socket.io.opts.query = `user=${route.params.creator}&room=${route.params.room}`;\n socket.connect();\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport AssetContextMenu from \"@/assetManager/contextMenu.vue\";\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\n\nimport { socket } from \"@/assetManager/socket\";\nimport { assetStore } from \"@/assetManager/store\";\nimport { Asset } from \"@/core/comm/types\";\nimport { uuidv4 } from \"@/core/utils\";\n\n@Component({\n components: {\n Prompt,\n ConfirmDialog,\n AssetContextMenu,\n },\n beforeRouteEnter(to, from, next) {\n socket.connect();\n next();\n },\n beforeRouteLeave(to, from, next) {\n socket.disconnect();\n next();\n },\n})\nexport default class AssetManager extends Vue {\n path: number[] = [];\n draggingSelection = false;\n\n get folders(): number[] {\n return assetStore.folders;\n }\n\n get files(): number[] {\n return assetStore.files;\n }\n\n get selected(): number[] {\n return assetStore.selected;\n }\n\n get idMap() {\n return assetStore.idMap;\n }\n\n get currentFolder(): number {\n if (this.path.length) return this.path[this.path.length - 1];\n return assetStore.root;\n }\n get parentFolder(): number {\n let parent = this.path[this.path.length - 2];\n if (parent === undefined) parent = assetStore.root;\n return parent;\n }\n get firstSelectedFile(): Asset | null {\n for (const sel of assetStore.selected) {\n if (assetStore.idMap.get(sel)!.file_hash) {\n return assetStore.idMap.get(sel)!;\n }\n }\n return null;\n }\n changeDirectory(nextFolder: number) {\n if (nextFolder < 0) this.path.pop();\n else this.path.push(nextFolder);\n assetStore.clearSelected();\n socket.emit(\"Folder.Get\", this.currentFolder);\n }\n createDirectory() {\n const name = window.prompt(\"New folder name\");\n if (name !== null) {\n socket.emit(\"Folder.Create\", { name, parent: this.currentFolder });\n }\n }\n moveInode(inode: number, target: number) {\n if (assetStore.isFile(inode)) assetStore.files.splice(assetStore.files.indexOf(inode), 1);\n else assetStore.folders.splice(assetStore.folders.indexOf(inode), 1);\n assetStore.idMap.delete(inode);\n socket.emit(\"Inode.Move\", { inode, target });\n }\n select(event: MouseEvent, inode: number) {\n if (event.shiftKey && assetStore.selected.length > 0) {\n const inodes = [...assetStore.files, ...assetStore.folders];\n const start = inodes.indexOf(assetStore.selected[assetStore.selected.length - 1]);\n const end = inodes.indexOf(inode);\n for (let i = start; i !== end; start < end ? i++ : i--) assetStore.selected.push(inodes[i]);\n assetStore.selected.push(inodes[end]);\n } else {\n if (!event.ctrlKey) {\n assetStore.clearSelected();\n }\n assetStore.selected.push(inode);\n }\n }\n startDrag(event: DragEvent, file: number) {\n if (event.dataTransfer === null) return;\n event.dataTransfer.setData(\"Hack\", \"ittyHack\");\n event.dataTransfer.dropEffect = \"move\";\n if (!assetStore.selected.includes(file)) assetStore.selected.push(file);\n this.draggingSelection = true;\n }\n moveDrag(event: DragEvent) {\n if ((event.target).classList.contains(\"folder\"))\n (event.target).classList.add(\"inode-selected\");\n }\n leaveDrag(event: DragEvent) {\n if ((event.target).classList.contains(\"folder\"))\n (event.target).classList.remove(\"inode-selected\");\n }\n stopDrag(event: DragEvent, target: number) {\n (event.target).classList.remove(\"inode-selected\");\n if (this.draggingSelection) {\n if (\n (target === assetStore.root || assetStore.folders.includes(target)) &&\n !assetStore.selected.includes(target)\n ) {\n for (const inode of assetStore.selected) {\n this.moveInode(inode, target);\n }\n }\n assetStore.clearSelected();\n } else if (event.dataTransfer && event.dataTransfer.files.length > 0) {\n this.upload(event.dataTransfer.files, target);\n }\n this.draggingSelection = false;\n }\n prepareUpload() {\n document.getElementById(\"files\")!.click();\n }\n upload(fls?: FileList, target?: number) {\n const files = (document.getElementById(\"files\")!).files;\n if (fls === undefined) {\n if (files) fls = files;\n else return;\n }\n if (target === undefined) target = this.currentFolder;\n const CHUNK_SIZE = 100000;\n for (const file of fls) {\n const uuid = uuidv4();\n const slices = Math.ceil(file.size / CHUNK_SIZE);\n for (let slice = 0; slice < slices; slice++) {\n const fr = new FileReader();\n fr.readAsArrayBuffer(\n file.slice(\n slice * CHUNK_SIZE,\n slice * CHUNK_SIZE + Math.min(CHUNK_SIZE, file.size - slice * CHUNK_SIZE),\n ),\n );\n fr.onload = e => {\n socket.emit(\"Asset.Upload\", {\n name: file.name,\n directory: target,\n data: fr.result,\n slice,\n totalSlices: slices,\n uuid,\n });\n };\n }\n }\n }\n}\n","import { render, staticRenderFns } from \"./asset_node.vue?vue&type=template&id=62c91cd3&scoped=true&\"\nimport script from \"./asset_node.vue?vue&type=script&lang=ts&\"\nexport * from \"./asset_node.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./asset_node.vue?vue&type=style&index=0&id=62c91cd3&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62c91cd3\",\n null\n \n)\n\ncomponent.options.__file = \"asset_node.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=style&index=0&id=44a31e42&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=style&index=0&id=44a31e42&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=6bbf3b79&scoped=true&\"\nimport script from \"./login.vue?vue&type=script&lang=ts&\"\nexport * from \"./login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&id=6bbf3b79&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6bbf3b79\",\n null\n \n)\n\ncomponent.options.__file = \"login.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"visible\":_vm.visible},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_vm._v(\"Create basic token\")])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('label',{attrs:{\"for\":\"createtokendialog-text\"}},[_vm._v(\"Text\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.text),expression:\"text\"}],attrs:{\"type\":\"text\",\"id\":\"createtokendialog-name\"},domProps:{\"value\":(_vm.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.text=$event.target.value}}}),_c('label',[_vm._v(\"Colours\")]),_c('div',{staticClass:\"colours\"},[_c('span',[_vm._v(\"Fill:\")]),_c('color-picker',{attrs:{\"color\":_vm.fillColour},on:{\"update:color\":function($event){_vm.fillColour=$event}}}),_c('span',[_vm._v(\"Border:\")]),_c('color-picker',{attrs:{\"color\":_vm.borderColour},on:{\"update:color\":function($event){_vm.borderColour=$event}}})],1),_c('canvas',{ref:\"canvas\",attrs:{\"width\":\"100px\",\"height\":\"100px\"}})]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{on:{\"click\":_vm.submit}},[_vm._v(\"Submit\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=template&id=66ccc134&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=style&index=0&lang=css&\"","import * as tinycolor from \"tinycolor2\";\n\nimport { calcFontScale } from \"@/core/utils\";\nimport { InitiativeData } from \"@/game/comm/types/general\";\nimport { ServerCircularToken } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lz } from \"@/game/units\";\n\nexport class CircularToken extends Circle {\n type = \"circulartoken\";\n text: string;\n font: string;\n constructor(\n center: GlobalPoint,\n r: number,\n text: string,\n font: string,\n fillColour?: string,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(center, r, fillColour, strokeColour, uuid);\n this.text = text;\n this.font = font;\n }\n asDict(): ServerCircularToken {\n return Object.assign(this.getBaseDict(), {\n radius: this.r,\n text: this.text,\n font: this.font,\n });\n }\n fromDict(data: ServerCircularToken) {\n super.fromDict(data);\n this.r = data.radius;\n this.text = data.text;\n this.font = data.font;\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.font = this.font;\n ctx.save();\n const dest = g2l(this.center());\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n const xs = calcFontScale(ctx, this.text, g2lz(this.r), g2lz(this.r));\n const ys = 0;\n ctx.transform(xs, ys, -ys, xs, dest.x, dest.y);\n ctx.fillStyle = tinycolor.mostReadable(this.fillColour, [\"#000\", \"#fff\"]).toHexString();\n ctx.fillText(this.text, 0, 0);\n ctx.restore();\n }\n getInitiativeRepr(): InitiativeData {\n return {\n uuid: this.uuid,\n visible: !gameStore.IS_DM,\n group: false,\n source: this.name === \"\" || this.name === \"Unknown shape\" ? this.text : this.name,\n has_img: false,\n effects: [],\n index: Infinity,\n };\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"AssetManager\"}},[_c('div',{attrs:{\"id\":\"titlebar\"}},[_vm._v(\"Asset Manager\")]),_c('div',{attrs:{\"id\":\"main\"}},[_c('div',{attrs:{\"id\":\"assets\"},on:{\"dragover\":function($event){$event.preventDefault();return _vm.moveDrag($event)},\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.stopDrag($event, _vm.currentFolder)}}},[_c('div',{attrs:{\"id\":\"breadcrumbs\"}},[_c('div',[_vm._v(\"/\")]),_vm._l((_vm.path),function(dir){return _c('div',{key:dir},[_vm._v(_vm._s(_vm.idMap.get(dir).name))])})],2),_c('div',{attrs:{\"id\":\"actionbar\"}},[_c('input',{attrs:{\"id\":\"files\",\"type\":\"file\",\"multiple\":\"\",\"hidden\":\"\"},on:{\"change\":function($event){_vm.upload()}}}),_c('div',{attrs:{\"title\":\"Create folder\"},on:{\"click\":_vm.createDirectory}},[_c('i',{staticClass:\"fas fa-plus-square\"})]),_c('div',{attrs:{\"title\":\"Upload files\"},on:{\"click\":_vm.prepareUpload}},[_c('i',{staticClass:\"fas fa-upload\"})])]),_c('div',{attrs:{\"id\":\"explorer\"}},[(_vm.path.length)?_c('div',{staticClass:\"inode folder\",on:{\"dblclick\":function($event){_vm.changeDirectory(-1)},\"dragover\":function($event){$event.preventDefault();return _vm.moveDrag($event)},\"dragleave\":function($event){$event.preventDefault();return _vm.leaveDrag($event)},\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.stopDrag($event, _vm.parentFolder)}}},[_c('i',{staticClass:\"fas fa-folder\",staticStyle:{\"font-size\":\"50px\"}}),_c('div',{staticClass:\"title\"},[_vm._v(\"..\")])]):_vm._e(),_vm._l((_vm.folders),function(key){return _c('div',{key:key,staticClass:\"inode folder\",class:{'inode-selected': _vm.selected.includes(key)},attrs:{\"draggable\":\"true\"},on:{\"click\":function($event){_vm.select($event, key)},\"dblclick\":function($event){_vm.changeDirectory(key)},\"contextmenu\":function($event){$event.preventDefault();_vm.$refs.cm.open($event, key)},\"dragstart\":function($event){_vm.startDrag($event, key)},\"dragover\":function($event){$event.preventDefault();return _vm.moveDrag($event)},\"dragleave\":function($event){$event.preventDefault();return _vm.leaveDrag($event)},\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.stopDrag($event, key)}}},[_c('i',{staticClass:\"fas fa-folder\",staticStyle:{\"font-size\":\"50px\"}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.idMap.get(key).name))])])}),_vm._l((_vm.files),function(file){return _c('div',{key:file,staticClass:\"inode file\",class:{'inode-selected': _vm.selected.includes(file)},attrs:{\"draggable\":\"true\"},on:{\"click\":function($event){_vm.select($event, file)},\"contextmenu\":function($event){$event.preventDefault();_vm.$refs.cm.open($event, file)},\"dragstart\":function($event){_vm.startDrag($event, file)}}},[_c('img',{attrs:{\"src\":'/static/assets/' + _vm.idMap.get(file).file_hash,\"width\":\"50\"}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.idMap.get(file).name))])])})],2)]),(_vm.firstSelectedFile)?_c('div',{attrs:{\"id\":\"asset-details\"}},[_c('div',{attrs:{\"id\":\"asset-detail-title\"}},[_vm._v(_vm._s(_vm.firstSelectedFile.name))]),_c('img',{attrs:{\"src\":'/static/assets/' + _vm.firstSelectedFile.file_hash}})]):_vm._e()]),_c('AssetContextMenu',{ref:\"cm\"}),_c('Prompt',{ref:\"prompt\"}),_c('ConfirmDialog',{ref:\"confirm\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=template&id=d1ce9748&\"","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { Text } from \"@/game/shapes/text\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\n\nexport class AnnotationManager {\n annotationText: Text;\n annotationRect: Rect;\n layer: Layer | undefined;\n shown: boolean = false;\n\n constructor() {\n const origin = new GlobalPoint(0, 0);\n this.annotationText = new Text(origin, \"\", \"bold 20px serif\", 0, \"rgba(230, 230, 230, 1)\");\n this.annotationRect = new Rect(origin, 0, 0, \"rgba(0, 0, 0, 0.6)\");\n }\n\n setActiveText(text: string) {\n if (this.layer === undefined) {\n if (layerManager.hasLayer(\"draw\")) {\n this.layer = layerManager.getLayer(\"draw\")!;\n this.layer.addShape(this.annotationRect, false);\n this.layer.addShape(this.annotationText, false);\n } else {\n console.warn(\"There is no draw layer to draw annotations on!\");\n return;\n }\n }\n this.shown = text !== \"\";\n this.annotationText.refPoint = l2g(new LocalPoint(this.layer.canvas.width / 2, 50));\n this.annotationText.text = text;\n const width = this.shown ? this.annotationText.getMaxWidth(this.layer.ctx) + 10 : 0;\n const height = this.shown ? this.annotationText.getMaxHeight(this.layer.ctx) + 10 : 0;\n this.annotationRect.refPoint = l2g(new LocalPoint(this.layer.canvas.width / 2 - width / 2, 30));\n this.annotationRect.w = width / gameStore.zoomFactor;\n this.annotationRect.h = height / gameStore.zoomFactor;\n this.layer.invalidate(true);\n }\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=style&index=0&id=b4f2c0b0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=style&index=0&id=b4f2c0b0&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./menu.vue?vue&type=template&id=081515c4&scoped=true&\"\nimport script from \"./menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./menu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./menu.vue?vue&type=style&index=0&id=081515c4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"081515c4\",\n null\n \n)\n\ncomponent.options.__file = \"menu.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./contextmenu.vue?vue&type=template&id=256dde9c&\"\nimport script from \"./contextmenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./contextmenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./contextmenu.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"contextmenu.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=ts&\"","import {\n ServerAsset,\n ServerCircle,\n ServerCircularToken,\n ServerLine,\n ServerMultiLine,\n ServerRect,\n ServerShape,\n ServerText,\n} from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Asset } from \"@/game/shapes/asset\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { CircularToken } from \"@/game/shapes/circulartoken\";\nimport { Line } from \"@/game/shapes/line\";\nimport { MultiLine } from \"@/game/shapes/multiline\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { Text } from \"@/game/shapes/text\";\n\nexport function createShapeFromDict(shape: ServerShape, dummy?: boolean) {\n // TODO: is this dummy stuff actually needed, do we ever want to return the local shape?\n if (dummy === undefined) dummy = false;\n if (!dummy && layerManager.UUIDMap.has(shape.uuid)) return layerManager.UUIDMap.get(shape.uuid);\n\n let sh: Shape;\n\n // A fromJSON and toJSON on Shape would be cleaner but ts does not allow for static abstracts so yeah.\n\n // Shape Type specifics\n\n const refPoint = new GlobalPoint(shape.x, shape.y);\n if (shape.type_ === \"rect\") {\n const rect = shape;\n sh = new Rect(refPoint, rect.width, rect.height, rect.fill_colour, rect.stroke_colour, rect.uuid);\n } else if (shape.type_ === \"circle\") {\n const circ = shape;\n sh = new Circle(refPoint, circ.radius, circ.fill_colour, circ.stroke_colour, circ.uuid);\n } else if (shape.type_ === \"circulartoken\") {\n const token = shape;\n sh = new CircularToken(\n refPoint,\n token.radius,\n token.text,\n token.font,\n token.fill_colour,\n token.stroke_colour,\n token.uuid,\n );\n } else if (shape.type_ === \"line\") {\n const line = shape;\n sh = new Line(refPoint, new GlobalPoint(line.x2, line.y2), line.line_width, line.stroke_colour, line.uuid);\n } else if (shape.type_ === \"multiline\") {\n const multiline = shape;\n sh = new MultiLine(\n refPoint,\n multiline.points.map(p => new GlobalPoint(p.x, p.y)),\n multiline.line_width,\n multiline.stroke_colour,\n multiline.uuid,\n );\n } else if (shape.type_ === \"text\") {\n const text = shape;\n sh = new Text(refPoint, text.text, text.font, text.angle, text.fill_colour, text.stroke_colour, text.uuid);\n } else if (shape.type_ === \"assetrect\") {\n const asset = shape;\n const img = new Image(asset.width, asset.height);\n if (asset.src.startsWith(\"http\")) img.src = new URL(asset.src).pathname;\n else img.src = asset.src;\n sh = new Asset(img, refPoint, asset.width, asset.height, asset.uuid);\n img.onload = () => {\n layerManager.getLayer(shape.layer)!.invalidate(false);\n };\n } else {\n return undefined;\n }\n sh.fromDict(shape);\n return sh;\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=style&index=0&id=1883e207&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=style&index=0&id=1883e207&scoped=true&lang=css&\"","import tinycolor from \"tinycolor2\";\n\nimport { uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { aurasFromServer, aurasToServer } from \"@/game/comm/conversion/aura\";\nimport { InitiativeData } from \"@/game/comm/types/general\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lr, g2lx, g2ly, g2lz } from \"@/game/units\";\n\nexport abstract class Shape {\n // Used to create class instance from server shape data\n abstract type: string;\n // The unique ID of this shape\n uuid: string;\n // The layer the shape is currently on\n layer!: string;\n\n // A reference point regarding that specific shape's structure\n refPoint: GlobalPoint;\n\n // Fill colour of the shape\n fillColour: string = \"#000\";\n strokeColour: string = \"rgba(0,0,0,0)\";\n // The optional name associated with the shape\n name = \"Unknown shape\";\n\n // Associated trackers/auras/owners\n trackers: Tracker[] = [];\n auras: Aura[] = [];\n owners: string[] = [];\n\n // Block light sources\n visionObstruction = false;\n // Prevent shapes from overlapping with this shape\n movementObstruction = false;\n // Does this shape represent a playable token\n isToken = false;\n // Show a highlight box\n showHighlight = false;\n\n // Mouseover annotation\n annotation: string = \"\";\n\n // Draw modus to use\n globalCompositeOperation: string = \"source-over\";\n\n // Additional options for specialized uses\n options: Map = new Map();\n\n constructor(refPoint: GlobalPoint, fillColour?: string, strokeColour?: string, uuid?: string) {\n this.refPoint = refPoint;\n this.uuid = uuid || uuidv4();\n if (fillColour !== undefined) this.fillColour = fillColour;\n if (strokeColour !== undefined) this.strokeColour = strokeColour;\n }\n\n abstract getBoundingBox(): BoundingRect;\n\n // If inWorldCoord is\n abstract contains(point: GlobalPoint): boolean;\n\n abstract center(): GlobalPoint;\n abstract center(centerPoint: GlobalPoint): void;\n abstract getCorner(point: GlobalPoint): string | undefined;\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n // for (const aura of this.auras) {\n // if (aura.value > 0) {\n // const auraCircle = new Circle(this.center(), aura.value);\n // if (auraCircle.visibleInCanvas(canvas)) return true;\n // }\n // }\n return false;\n }\n\n // Code to snap a shape to the grid\n // This is shape dependent as the shape refPoints are shape specific in\n abstract snapToGrid(): void;\n abstract resizeToGrid(): void;\n abstract resize(resizeDir: string, point: LocalPoint): void;\n\n invalidate(skipLightUpdate: boolean) {\n const l = layerManager.getLayer(this.layer);\n if (l) l.invalidate(skipLightUpdate);\n }\n\n checkVisionSources() {\n const self = this;\n const obstructionIndex = gameStore.visionBlockers.indexOf(this.uuid);\n let changeBV = false;\n if (this.visionObstruction && obstructionIndex === -1) {\n gameStore.visionBlockers.push(this.uuid);\n changeBV = true;\n } else if (!this.visionObstruction && obstructionIndex >= 0) {\n gameStore.visionBlockers.splice(obstructionIndex, 1);\n changeBV = true;\n }\n if (changeBV) gameStore.recalculateBV();\n\n // Check if the visionsource auras are in the gameManager\n this.auras.forEach(au => {\n const ls = gameStore.visionSources;\n const i = ls.findIndex(o => o.aura === au.uuid);\n if (au.visionSource && i === -1) {\n ls.push({ shape: self.uuid, aura: au.uuid });\n } else if (!au.visionSource && i >= 0) {\n ls.splice(i, 1);\n }\n });\n // Check if anything in the gameManager referencing this shape is in fact still a visionsource\n for (let i = gameStore.visionSources.length - 1; i >= 0; i--) {\n const ls = gameStore.visionSources[i];\n if (ls.shape === self.uuid) {\n if (!self.auras.some(a => a.uuid === ls.aura && a.visionSource)) gameStore.visionSources.splice(i, 1);\n }\n }\n }\n\n setMovementBlock(blocksMovement: boolean) {\n this.movementObstruction = blocksMovement || false;\n const obstructionIndex = gameStore.movementblockers.indexOf(this.uuid);\n if (this.movementObstruction && obstructionIndex === -1) gameStore.movementblockers.push(this.uuid);\n else if (!this.movementObstruction && obstructionIndex >= 0)\n gameStore.movementblockers.splice(obstructionIndex, 1);\n }\n\n setIsToken(isToken: boolean) {\n this.isToken = isToken;\n if (this.ownedBy()) {\n const i = gameStore.ownedtokens.indexOf(this.uuid);\n if (this.isToken && i === -1) gameStore.ownedtokens.push(this.uuid);\n else if (!this.isToken && i >= 0) gameStore.ownedtokens.splice(i, 1);\n }\n }\n\n ownedBy(username?: string) {\n if (username === undefined) username = gameStore.username;\n return gameStore.IS_DM || this.owners.includes(username);\n }\n\n abstract asDict(): ServerShape;\n getBaseDict(): ServerShape {\n return {\n type_: this.type,\n uuid: this.uuid,\n x: this.refPoint.x,\n y: this.refPoint.y,\n layer: this.layer,\n draw_operator: this.globalCompositeOperation,\n movement_obstruction: this.movementObstruction,\n vision_obstruction: this.visionObstruction,\n auras: aurasToServer(this.auras),\n trackers: this.trackers,\n owners: this.owners,\n fill_colour: this.fillColour,\n stroke_colour: this.strokeColour,\n name: this.name,\n annotation: this.annotation,\n is_token: this.isToken,\n options: JSON.stringify([...this.options]),\n };\n }\n fromDict(data: ServerShape) {\n this.layer = data.layer;\n this.globalCompositeOperation = data.draw_operator;\n this.movementObstruction = data.movement_obstruction;\n this.visionObstruction = data.vision_obstruction;\n this.auras = aurasFromServer(data.auras);\n this.trackers = data.trackers;\n this.owners = data.owners;\n this.isToken = data.is_token;\n if (data.annotation) this.annotation = data.annotation;\n if (data.name) this.name = data.name;\n if (data.options) this.options = new Map(JSON.parse(data.options));\n }\n\n draw(ctx: CanvasRenderingContext2D) {\n if (this.globalCompositeOperation !== undefined) ctx.globalCompositeOperation = this.globalCompositeOperation;\n else ctx.globalCompositeOperation = \"source-over\";\n if (this.showHighlight) {\n const bbox = this.getBoundingBox();\n ctx.strokeStyle = \"red\";\n ctx.strokeRect(g2lx(bbox.topLeft.x) - 5, g2ly(bbox.topLeft.y) - 5, g2lz(bbox.w) + 10, g2lz(bbox.h) + 10);\n }\n }\n\n drawAuras(ctx: CanvasRenderingContext2D) {\n for (const aura of this.auras) {\n if (aura.value === 0 && aura.dim === 0) return;\n ctx.beginPath();\n\n const loc = g2l(this.center());\n const innerRange = g2lr(aura.value + aura.dim);\n\n if (aura.dim === 0) ctx.fillStyle = aura.colour;\n else {\n const gradient = ctx.createRadialGradient(\n loc.x,\n loc.y,\n g2lr(aura.value),\n loc.x,\n loc.y,\n g2lr(aura.value + aura.dim),\n );\n const tc = tinycolor(aura.colour);\n ctx.fillStyle = gradient;\n gradient.addColorStop(0, aura.colour);\n gradient.addColorStop(1, tc.setAlpha(0).toRgbString());\n }\n if (!aura.visionSource || aura.lastPath === undefined) {\n ctx.arc(loc.x, loc.y, innerRange, 0, 2 * Math.PI);\n ctx.fill();\n } else {\n try {\n ctx.fill(aura.lastPath);\n } catch (e) {\n ctx.arc(loc.x, loc.y, innerRange, 0, 2 * Math.PI);\n ctx.fill();\n console.warn(e);\n }\n }\n }\n }\n\n getInitiativeRepr(): InitiativeData {\n return {\n uuid: this.uuid,\n visible: !gameStore.IS_DM,\n group: false,\n source: this.name,\n has_img: false,\n effects: [],\n index: Infinity,\n };\n }\n\n moveLayer(layer: string, sync: boolean) {\n const oldLayer = layerManager.getLayer(this.layer);\n const newLayer = layerManager.getLayer(layer);\n if (oldLayer === undefined || newLayer === undefined) return;\n this.layer = layer;\n // Update layer shapes\n oldLayer.shapes.splice(oldLayer.shapes.indexOf(this), 1);\n newLayer.shapes.push(this);\n // Revalidate layers (light should at most be redone once)\n oldLayer.invalidate(true);\n newLayer.invalidate(false);\n // Sync!\n if (sync) socket.emit(\"Shape.Layer.Change\", { uuid: this.uuid, layer });\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.note !== null)?_c('modal',{attrs:{\"visible\":_vm.visible,\"mask\":false},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_c('span',{on:{\"click\":function($event){_vm.$refs.title.select()}}},[_c('i',{staticClass:\"fas fa-pencil-alt\",staticStyle:{\"font-size\":\"15px\"}})]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.note.title),expression:\"note.title\"}],ref:\"title\",domProps:{\"value\":(_vm.note.title)},on:{\"change\":_vm.updateNote,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.note, \"title\", $event.target.value)}}}),_c('div',{staticClass:\"header-close\",on:{\"click\":function($event){_vm.visible = false}}},[_c('i',{staticClass:\"far fa-window-close\"})])])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.note.text),expression:\"note.text\"}],ref:\"textarea\",style:({'height': _vm.calcHeight()}),domProps:{\"value\":(_vm.note.text)},on:{\"change\":_vm.updateNote,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.note, \"text\", $event.target.value)}}})]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{on:{\"click\":_vm.removeNote}},[_c('i',{staticClass:\"far fa-trash-alt\"}),_vm._v(\" Remove\\n \")])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=template&id=7a3669fd&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=style&index=0&id=12ed61ba&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=style&index=0&id=12ed61ba&scoped=true&lang=css&\"","\n\n\n\n\nimport SelectContext from \"@/game/ui/tools/selectcontext.vue\";\nimport Tool from \"@/game/ui/tools/tool.vue\";\nimport SelectionInfo from \"../selection/selection_info.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { GlobalPoint, LocalPoint, Ray, Vector } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\nimport { g2l, g2lx, g2ly, l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\nexport enum SelectOperations {\n Noop,\n Resize,\n Drag,\n GroupSelect,\n}\n\nconst start = new GlobalPoint(-1000, -1000);\n\n@Component({\n components: {\n SelectContext,\n },\n})\nexport default class SelectTool extends Tool {\n name = \"Select\";\n showContextMenu = false;\n active = false;\n\n mode = SelectOperations.Noop;\n resizeDirection = \"\";\n deltaChanged = false;\n // Because we never drag from the asset's (0, 0) coord and want a smoother drag experience\n // we keep track of the actual offset within the asset.\n dragRay = new Ray(new LocalPoint(0, 0), new Vector(0, 0));\n selectionStartPoint = start;\n selectionHelper = new Rect(start, 0, 0);\n created() {\n this.selectionHelper.globalCompositeOperation = \"source-over\";\n }\n onMouseDown(event: MouseEvent) {\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n\n if (!this.selectionHelper.owners.includes(gameStore.username)) {\n this.selectionHelper.owners.push(gameStore.username);\n }\n\n const mouse = getMouse(event);\n const globalMouse = l2g(mouse);\n\n let hit = false;\n // The selectionStack allows for lower positioned objects that are selected to have precedence during overlap.\n let selectionStack;\n if (!layer.selection.length) selectionStack = layer.shapes;\n else selectionStack = layer.shapes.concat(layer.selection);\n for (let i = selectionStack.length - 1; i >= 0; i--) {\n const shape = selectionStack[i];\n\n if (!shape.ownedBy()) continue;\n\n const corner = shape.getBoundingBox().getCorner(globalMouse);\n\n // Resize case, a corner is selected\n if (corner !== undefined) {\n layer.selection = [shape];\n getRef(\"selectionInfo\").shape = shape;\n this.mode = SelectOperations.Resize;\n this.resizeDirection = corner;\n layer.invalidate(true);\n hit = true;\n break;\n\n // Drag case, a shape is selected\n } else if (shape.contains(globalMouse)) {\n const selection = shape;\n if (layer.selection.indexOf(selection) === -1) {\n layer.selection = [selection];\n getRef(\"selectionInfo\").shape = selection;\n }\n this.mode = SelectOperations.Drag;\n const localRefPoint = g2l(selection.refPoint);\n this.dragRay = new Ray(localRefPoint, mouse.subtract(localRefPoint));\n layer.invalidate(true);\n hit = true;\n break;\n }\n }\n\n // GroupSelect case, draw a selection box to select multiple shapes\n if (!hit) {\n this.mode = SelectOperations.GroupSelect;\n for (const selection of layer.selection) getRef(\"selectionInfo\").shape = selection;\n\n this.selectionStartPoint = globalMouse;\n\n this.selectionHelper.refPoint = this.selectionStartPoint;\n this.selectionHelper.w = 0;\n this.selectionHelper.h = 0;\n\n layer.selection = [this.selectionHelper];\n layer.invalidate(true);\n }\n this.active = true;\n }\n onMouseMove(event: MouseEvent) {\n // if (!this.active) return; we require mousemove for the resize cursor\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n const mouse = getMouse(event);\n const globalMouse = l2g(mouse);\n this.deltaChanged = false;\n\n if (this.mode === SelectOperations.GroupSelect) {\n // Currently draw on active layer\n const endPoint = globalMouse;\n\n this.selectionHelper.w = Math.abs(endPoint.x - this.selectionStartPoint.x);\n this.selectionHelper.h = Math.abs(endPoint.y - this.selectionStartPoint.y);\n this.selectionHelper.refPoint = new GlobalPoint(\n Math.min(this.selectionStartPoint.x, endPoint.x),\n Math.min(this.selectionStartPoint.y, endPoint.y),\n );\n layer.invalidate(true);\n } else if (layer.selection.length) {\n const og = g2l(layer.selection[layer.selection.length - 1].refPoint);\n const origin = og.add(this.dragRay.direction);\n let delta = mouse.subtract(origin).multiply(1 / gameStore.zoomFactor);\n const ogDelta = delta;\n if (this.mode === SelectOperations.Drag) {\n // If we are on the tokens layer do a movement block check.\n if (layer.name === \"tokens\" && !(event.shiftKey && gameStore.IS_DM)) {\n for (const sel of layer.selection) {\n if (sel.uuid === this.selectionHelper.uuid) continue; // the selection helper should not be treated as a real shape.\n delta = calculateDelta(delta, sel);\n if (delta !== ogDelta) this.deltaChanged = true;\n }\n }\n // Actually apply the delta on all shapes\n for (const sel of layer.selection) {\n sel.refPoint = sel.refPoint.add(delta);\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: true });\n }\n }\n layer.invalidate(false);\n } else if (this.mode === SelectOperations.Resize) {\n for (const sel of layer.selection) {\n sel.resize(this.resizeDirection, mouse);\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: true });\n }\n layer.invalidate(false);\n }\n } else {\n for (const sel of layer.selection) {\n const bb = sel.getBoundingBox();\n const gm = globalMouse;\n if (bb.inCorner(gm, \"nw\")) {\n document.body.style.cursor = \"nw-resize\";\n } else if (bb.inCorner(gm, \"ne\")) {\n document.body.style.cursor = \"ne-resize\";\n } else if (bb.inCorner(gm, \"se\")) {\n document.body.style.cursor = \"se-resize\";\n } else if (bb.inCorner(gm, \"sw\")) {\n document.body.style.cursor = \"sw-resize\";\n } else {\n document.body.style.cursor = \"default\";\n }\n }\n }\n } else {\n document.body.style.cursor = \"default\";\n }\n }\n onMouseUp(e: MouseEvent): void {\n if (!this.active) return;\n if (layerManager.getLayer() === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n const layer = layerManager.getLayer()!;\n\n if (this.mode === SelectOperations.GroupSelect) {\n layer.clearSelection();\n layer.shapes.forEach(shape => {\n if (shape === this.selectionHelper) return;\n const bbox = shape.getBoundingBox();\n if (!shape.ownedBy()) return;\n if (\n this.selectionHelper!.refPoint.x <= bbox.topRight.x &&\n this.selectionHelper!.refPoint.x + this.selectionHelper!.w >= bbox.topLeft.x &&\n this.selectionHelper!.refPoint.y <= bbox.botLeft.y &&\n this.selectionHelper!.refPoint.y + this.selectionHelper!.h >= bbox.topLeft.y\n ) {\n layer.selection.push(shape);\n }\n });\n\n // Push the selection helper as the last element of the selection\n // This makes sure that it will be the first one to be hit in the hit detection onMouseDown\n if (layer.selection.length > 0) layer.selection.push(this.selectionHelper);\n\n layer.invalidate(true);\n } else if (layer.selection.length) {\n layer.selection.forEach(sel => {\n if (this.mode === SelectOperations.Drag) {\n if (\n this.dragRay.origin!.x === g2lx(sel.refPoint.x) &&\n this.dragRay.origin!.y === g2ly(sel.refPoint.y)\n )\n return;\n\n if (gameStore.useGrid && !e.altKey && !this.deltaChanged) {\n sel.snapToGrid();\n }\n\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: false });\n }\n layer.invalidate(false);\n }\n if (this.mode === SelectOperations.Resize) {\n if (gameStore.useGrid && !e.altKey) {\n sel.resizeToGrid();\n }\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: false });\n }\n layer.invalidate(false);\n }\n });\n }\n this.mode = SelectOperations.Noop;\n this.active = false;\n }\n onContextMenu(event: MouseEvent) {\n if (layerManager.getLayer() === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n const layer = layerManager.getLayer()!;\n const mouse = getMouse(event);\n const globalMouse = l2g(mouse);\n\n for (const shape of layer.selection) {\n if (shape.contains(globalMouse)) {\n layer.selection = [shape];\n getRef(\"selectionInfo\").shape = shape;\n layer.invalidate(true);\n (this.$parent.$refs.shapecontext).open(event, shape);\n return;\n }\n }\n (this.$refs.selectcontext).open(event);\n }\n}\n","import { Ray, Vector } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\n\n// First go through each shape in the selection and see if the delta has to be truncated due to movement blockers\n\n// This is definitely super convoluted and inefficient but I was tired and really wanted the smooth wall sliding collision stuff to work\n// And it does now, so hey ¯\\_(ツ)_/¯\nexport function calculateDelta(delta: Vector, sel: Shape, done?: string[]) {\n if (done === undefined) done = [];\n const ogSelBBox = sel.getBoundingBox();\n const newSelBBox = ogSelBBox.offset(delta);\n let refine = false;\n for (const movementBlocker of gameStore.movementblockers) {\n if (done.includes(movementBlocker)) continue;\n const blocker = layerManager.UUIDMap.get(movementBlocker)!;\n const blockerBBox = blocker.getBoundingBox();\n let found = blockerBBox.intersectsWithInner(newSelBBox);\n if (!found) {\n // This is an edge case, precalculating the rays is not worth in this case.\n const ray = Ray.fromPoints(ogSelBBox.topLeft.add(delta.normalize()), newSelBBox.topLeft);\n const invDir = ray.direction.inverse();\n const dirIsNegative = [invDir.x < 0, invDir.y < 0];\n found = blockerBBox.intersectP(ray, invDir, dirIsNegative).hit;\n }\n // Check if the bounding box of our destination would intersect with the bounding box of the movementblocker\n if (found) {\n const bCenter = blockerBBox.center();\n const sCenter = ogSelBBox.center();\n\n const d = sCenter.subtract(bCenter);\n const ux = new Vector(1, 0);\n const uy = new Vector(0, 1);\n let dx = d.dot(ux);\n let dy = d.dot(uy);\n if (dx > blockerBBox.w / 2) dx = blockerBBox.w / 2;\n if (dx < -blockerBBox.w / 2) dx = -blockerBBox.w / 2;\n if (dy > blockerBBox.h / 2) dy = blockerBBox.h / 2;\n if (dy < -blockerBBox.h / 2) dy = -blockerBBox.h / 2;\n\n // Closest point / intersection point between the two bboxes. Not the delta intersect!\n const p = bCenter.add(ux.multiply(dx)).add(uy.multiply(dy));\n\n if (p.x === ogSelBBox.topLeft.x || p.x === ogSelBBox.topRight.x) delta = new Vector(0, delta.y);\n else if (p.y === ogSelBBox.topLeft.y || p.y === ogSelBBox.botLeft.y) delta = new Vector(delta.x, 0);\n else {\n if (p.x < ogSelBBox.topLeft.x) delta = new Vector(p.x - ogSelBBox.topLeft.x, delta.y);\n else if (p.x > ogSelBBox.topRight.x) delta = new Vector(p.x - ogSelBBox.topRight.x, delta.y);\n else if (p.y < ogSelBBox.topLeft.y) delta = new Vector(delta.x, p.y - ogSelBBox.topLeft.y);\n else if (p.y > ogSelBBox.botLeft.y) delta = new Vector(delta.x, p.y - ogSelBBox.botLeft.y);\n }\n refine = true;\n done.push(movementBlocker);\n break;\n }\n }\n if (refine) delta = calculateDelta(delta, sel, done);\n return delta;\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=style&index=0&id=7a3669fd&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=style&index=0&id=7a3669fd&scoped=true&lang=css&\"","import { socket } from \"@/game/api/socket\";\nimport { gameStore } from \"@/game/store\";\n\nexport function sendClientOptions() {\n socket.emit(\"Client.Options.Set\", {\n locationOptions: {\n panX: gameStore.panX,\n panY: gameStore.panY,\n zoomFactor: gameStore.zoomFactor,\n },\n });\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Prop } from \"vue-property-decorator\";\n\nimport { AssetFile, AssetList } from \"@/core/comm/types\";\nimport { alphSort } from \"@/core/utils\";\n\n@Component({\n name: \"asset-node\",\n})\nexport default class AssetNode extends Vue {\n @Prop() asset!: AssetList;\n\n showImage = null;\n get folders(): string[] {\n return Object.keys(this.asset)\n .filter(el => ![\"__files\"].includes(el))\n .sort(alphSort);\n }\n\n get files(): AssetFile[] {\n if (this.asset.__files)\n return (this.asset.__files)\n .concat()\n .sort((a, b) => (a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1));\n return [];\n }\n\n toggle(event: { target: HTMLElement }) {\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < event.target.children.length; i++) {\n const el = event.target.children[i];\n el.style.display = el.style.display === \"\" ? \"block\" : \"\";\n }\n }\n\n dragStart(event: DragEvent, imageSource: string) {\n if (event === null || event.dataTransfer === null) return;\n const img = (event.target).querySelector(\".preview\")!;\n event.dataTransfer.setDragImage(img, 0, 0);\n event.dataTransfer.setData(\"text/plain\", imageSource);\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"main\"},on:{\"mouseleave\":_vm.mouseleave}},[_c('menu-bar'),_c('div',{attrs:{\"id\":\"board\"}},[(_vm.ready.manager)?[_c('tool-bar',{ref:\"tools\"})]:_vm._e(),_c('div',{attrs:{\"id\":\"layers\"},on:{\"mousedown\":_vm.mousedown,\"mouseup\":_vm.mouseup,\"mousemove\":_vm.mousemove,\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.contextmenu($event)},\"dragover\":function($event){$event.preventDefault();},\"drop\":_vm.drop}}),(_vm.layers.length > 1)?_c('div',{attrs:{\"id\":\"layerselect\"}},[_c('ul',_vm._l((_vm.layers),function(layer){return _c('li',{key:layer.name,class:{ 'layer-selected': layer === _vm.selectedLayer },on:{\"click\":function($event){_vm.selectLayer(layer)}}},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(layer))])])}))]):_vm._e()],2),_c('selection-info',{ref:\"selectionInfo\"}),_c('initiative-dialog',{ref:\"initiative\",attrs:{\"id\":\"initiativedialog\"}}),_c('note-dialog',{ref:\"note\"}),_c('zoom-slider',{attrs:{\"id\":\"zoomer\",\"height\":6,\"width\":200,\"min\":0.1,\"max\":5.0,\"interval\":0.1,\"dot-width\":8,\"dot-height\":20,\"tooltip-dir\":'bottom',\"tooltip\":'hover',\"formatter\":_vm.zoomFactor.toFixed(1),\"slider-style\":{'border-radius': '15%'},\"bg-style\":{'background-color': '#fff', 'box-shadow': '0.5px 0.5px 3px 1px rgba(0, 0, 0, .36)'},\"process-style\":{'background-color': '#fff'}},model:{value:(_vm.zoomFactor),callback:function ($$v) {_vm.zoomFactor=$$v},expression:\"zoomFactor\"}}),_c('prompt-dialog',{ref:\"prompt\"}),_c('confirm-dialog',{ref:\"confirm\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=template&id=256b40b9&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',{staticClass:\"ContextMenu\",style:({left:_vm.left, top:_vm.top}),attrs:{\"tabindex\":\"-1\"},on:{\"blur\":function($event){_vm.$emit('close')}}},[_c('ul',[_vm._t(\"default\")],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=template&id=256dde9c&\"","// import Vuex from \"vuex\";\nimport { getModule, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\n\nimport { Asset } from \"@/core/comm/types\";\nimport { rootStore } from \"@/store\";\n\nexport interface AssetState {\n root: number;\n files: number[];\n folders: number[];\n idMap: Map;\n selected: number[];\n}\n\n@Module({ dynamic: true, store: rootStore, name: \"assets\", namespaced: true })\nclass AssetStore extends VuexModule {\n root = -1;\n files: number[] = [];\n folders: number[] = [];\n idMap: Map = new Map();\n selected: number[] = [];\n\n @Mutation\n clear() {\n this.folders = [];\n this.files = [];\n }\n\n @Mutation\n clearSelected() {\n this.selected = [];\n }\n\n @Mutation\n setRoot(root: number) {\n this.root = root;\n }\n\n @Mutation\n isFile(inode: number): boolean {\n return this.files.includes(inode);\n }\n}\n\nexport const assetStore = getModule(AssetStore);\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=style&index=0&id=078b3b76&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=style&index=0&id=078b3b76&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=script&lang=ts&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ContextMenu from \"@/core/components/contextmenu.vue\";\nimport Initiative from \"@/game/ui/initiative.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n ContextMenu,\n },\n})\nexport default class ShapeContext extends Vue {\n visible = false;\n x = 0;\n y = 0;\n shape: Shape | null = null;\n get activeLayer(): string {\n const layer = layerManager.getLayer();\n return layer === undefined ? \"\" : layer.name;\n }\n open(event: MouseEvent, shape: Shape) {\n this.visible = true;\n this.x = event.pageX;\n this.y = event.pageY;\n this.shape = shape;\n this.$nextTick(() => this.$children[0].$el.focus());\n }\n close() {\n this.visible = false;\n this.shape = null;\n }\n getLayers() {\n return layerManager.layers.filter(l => l.selectable && (gameStore.IS_DM || l.playerEditable));\n }\n getActiveLayer() {\n return layerManager.getLayer();\n }\n getInitiativeWord() {\n if (this.shape === null) return \"\";\n return getRef(\"initiative\").contains(this.shape.uuid) ? \"Show\" : \"Add\";\n }\n setLayer(newLayer: string) {\n if (this.shape === null) return;\n this.shape.moveLayer(newLayer, true);\n this.close();\n }\n moveToBack() {\n if (this.shape === null) return;\n const layer = this.getActiveLayer()!;\n layer.moveShapeOrder(this.shape, 0, true);\n this.close();\n }\n moveToFront() {\n if (this.shape === null) return;\n const layer = this.getActiveLayer()!;\n layer.moveShapeOrder(this.shape, layer.shapes.length - 1, true);\n this.close();\n }\n addInitiative() {\n if (this.shape === null) return;\n const initiative = getRef(\"initiative\");\n if (!initiative.contains(this.shape.uuid)) initiative.addInitiative(this.shape.getInitiativeRepr());\n initiative.visible = true;\n this.close();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.shape !== null)?_c('div',[_c('div',{attrs:{\"id\":\"selection-menu\"}},[_c('div',{attrs:{\"id\":\"selection-edit-button\"},on:{\"click\":_vm.openEditDialog}},[_c('i',{staticClass:\"fas fa-edit\"})]),_c('div',{attrs:{\"id\":\"selection-name\"}},[_vm._v(_vm._s(_vm.shape.name))]),_c('div',{attrs:{\"id\":\"selection-trackers\"}},[_vm._l((_vm.shape.trackers),function(tracker){return (tracker.name !== '' || tracker.value !== 0)?[_c('div',{key:'name-' + tracker.uuid},[_vm._v(_vm._s(tracker.name))]),_c('div',{key:'value-' + tracker.uuid,staticClass:\"selection-tracker-value\",on:{\"click\":function($event){_vm.changeValue(tracker, false)}}},[(tracker.maxvalue === 0)?[_vm._v(_vm._s(tracker.value))]:[_vm._v(_vm._s(tracker.value)+\" / \"+_vm._s(tracker.maxvalue))]],2)]:_vm._e()})],2),_c('div',{attrs:{\"id\":\"selection-auras\"}},[_vm._l((_vm.shape.auras),function(aura){return (aura.name !== '' || aura.value !== 0)?[_c('div',{key:'name-' + aura.uuid},[_vm._v(_vm._s(aura.name))]),_c('div',{key:'value-' + aura.uuid,staticClass:\"selection-tracker-value\",on:{\"click\":function($event){_vm.changeValue(aura, true)}}},[(aura.dim === 0)?[_vm._v(_vm._s(aura.value))]:[_vm._v(_vm._s(aura.value)+\" / \"+_vm._s(aura.dim))]],2)]:_vm._e()})],2)]),_c('edit-dialog',{ref:\"editDialog\",attrs:{\"shape\":_vm.shape}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=template&id=32cec914&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./map.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./map.vue?vue&type=script&lang=ts&\"","import { Layer } from \"@/game/layers/layer\";\nimport { gameStore } from \"@/game/store\";\n\nexport class GridLayer extends Layer {\n invalidate(): void {\n this.valid = false;\n }\n draw(doClear?: boolean): void {\n if (!this.valid) {\n this.drawGrid();\n }\n }\n drawGrid(): void {\n const ctx = this.ctx;\n this.clear();\n ctx.beginPath();\n\n const gs = gameStore.gridSize;\n\n for (let i = 0; i < this.width; i += gs * gameStore.zoomFactor) {\n ctx.moveTo(i + (gameStore.panX % gs) * gameStore.zoomFactor, 0);\n ctx.lineTo(i + (gameStore.panX % gs) * gameStore.zoomFactor, this.height);\n ctx.moveTo(0, i + (gameStore.panY % gs) * gameStore.zoomFactor);\n ctx.lineTo(this.width, i + (gameStore.panY % gs) * gameStore.zoomFactor);\n }\n\n ctx.strokeStyle = gameStore.gridColour;\n ctx.lineWidth = 1;\n ctx.stroke();\n this.valid = true;\n }\n}\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\n\nimport { AssetState } from \"@/assetManager/store\";\nimport { CoreState } from \"@/core/store\";\nimport { GameState } from \"@/game/store\";\n\nVue.use(Vuex);\n\nexport interface RootState {\n assets: AssetState;\n core: CoreState;\n game: GameState;\n}\n\nexport const rootStore = new Vuex.Store({});\n","import { render, staticRenderFns } from \"./colorpicker.vue?vue&type=template&id=b4f2c0b0&scoped=true&\"\nimport script from \"./colorpicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./colorpicker.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./colorpicker.vue?vue&type=style&index=0&id=b4f2c0b0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b4f2c0b0\",\n null\n \n)\n\ncomponent.options.__file = \"colorpicker.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=1&id=256b40b9&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=1&id=256b40b9&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view',{ref:\"activeComponent\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=196415f0&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import { GlobalPoint, Ray } from \"@/game/geom\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Settings } from \"@/game/settings\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lr, g2lx, g2ly, g2lz, getUnitDistance } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class FOWLayer extends Layer {\n isVisionLayer: boolean = true;\n preFogShapes: Shape[] = [];\n\n addShape(shape: Shape, sync: boolean, temporary?: boolean): void {\n super.addShape(shape, sync, temporary);\n if (shape.options.has(\"preFogShape\") && shape.options.get(\"preFogShape\")) {\n this.preFogShapes.push(shape);\n }\n }\n\n removeShape(shape: Shape, sync: boolean, temporary?: boolean) {\n if (shape.options.has(\"preFogShape\") && shape.options.get(\"preFogShape\")) {\n const idx = this.preFogShapes.findIndex(s => s.uuid === shape.uuid);\n this.preFogShapes.splice(idx, 1);\n }\n super.removeShape(shape, sync, temporary);\n }\n\n draw(): void {\n if (!this.valid) {\n const ctx = this.ctx;\n\n if (Settings.skipLightFOW) {\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n this.valid = true;\n return;\n }\n\n const originalOperation = ctx.globalCompositeOperation;\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n ctx.fillStyle = \"rgba(0, 0, 0, 1)\";\n\n const dctx = layerManager.getLayer(\"draw\")!.ctx;\n if (Settings.drawAngleLines || Settings.drawFirstLightHit) {\n dctx.clearRect(0, 0, dctx.canvas.width, dctx.canvas.height);\n }\n\n // At all times provide a minimal vision range to prevent losing your tokens in fog.\n if (gameStore.fullFOW && layerManager.hasLayer(\"tokens\")) {\n layerManager.getLayer(\"tokens\")!.shapes.forEach(sh => {\n if (!sh.ownedBy() || !sh.isToken) return;\n const bb = sh.getBoundingBox();\n const lcenter = g2l(sh.center());\n const alm = 0.8 * g2lz(bb.w);\n ctx.beginPath();\n ctx.arc(lcenter.x, lcenter.y, alm, 0, 2 * Math.PI);\n const gradient = ctx.createRadialGradient(lcenter.x, lcenter.y, alm / 2, lcenter.x, lcenter.y, alm);\n gradient.addColorStop(0, \"rgba(0, 0, 0, 1)\");\n gradient.addColorStop(1, \"rgba(0, 0, 0, 0)\");\n ctx.fillStyle = gradient;\n ctx.fill();\n });\n }\n\n // First cut out all the light sources\n for (const light of gameStore.visionSources) {\n const shape = layerManager.UUIDMap.get(light.shape);\n if (shape === undefined) continue;\n const aura = shape.auras.find(a => a.uuid === light.aura);\n if (aura === undefined) continue;\n\n const auraLength = getUnitDistance(aura.value + aura.dim);\n const center = shape.center();\n const lcenter = g2l(center);\n\n const auraCircle = new Circle(center, auraLength);\n if (!auraCircle.visibleInCanvas(ctx.canvas)) continue;\n\n let lastArcAngle = -1;\n\n const path = new Path2D();\n path.moveTo(lcenter.x, lcenter.y);\n let firstPoint: GlobalPoint;\n\n for (let angle = 0; angle < 2 * Math.PI; angle += (Settings.angleSteps / 180) * Math.PI) {\n const anglePoint = new GlobalPoint(\n center.x + auraLength * Math.cos(angle),\n center.y + auraLength * Math.sin(angle),\n );\n if (Settings.drawAngleLines) {\n dctx!.beginPath();\n dctx!.moveTo(g2lx(center.x), g2ly(center.y));\n dctx!.lineTo(g2lx(anglePoint.x), g2ly(anglePoint.y));\n dctx!.stroke();\n }\n\n // Check if there is a hit with one of the nearby light blockers.\n const lightRay = Ray.fromPoints(center, anglePoint);\n const hitResult = gameStore.BV.intersect(lightRay);\n\n if (angle === 0) firstPoint = hitResult.hit ? hitResult.intersect : anglePoint;\n\n // We can move on to the next angle if nothing was hit.\n if (!hitResult.hit) {\n // If an earlier hit caused the aura to leave the arc, we need to go back to the arc\n if (lastArcAngle === -1) {\n // Set the start of a new arc beginning at the current angle\n lastArcAngle = angle;\n // Draw a line from the last non arc location back to the arc\n const dest = g2l(anglePoint);\n ctx.lineTo(dest.x, dest.y);\n }\n continue;\n }\n // If hit , first finish any ongoing arc, then move to the intersection point\n if (lastArcAngle !== -1) {\n path.arc(lcenter.x, lcenter.y, g2lr(aura.value + aura.dim), lastArcAngle, angle);\n lastArcAngle = -1;\n }\n path.lineTo(g2lx(hitResult.intersect.x), g2ly(hitResult.intersect.y));\n }\n\n // Finish the final arc.\n if (lastArcAngle === -1) path.lineTo(g2lx(firstPoint!.x), g2ly(firstPoint!.y));\n else path.arc(lcenter.x, lcenter.y, g2lr(aura.value + aura.dim), lastArcAngle, 2 * Math.PI);\n\n if (gameStore.fullFOW) {\n if (aura.dim > 0) {\n // Fill the light aura with a radial dropoff towards the outside.\n const gradient = ctx.createRadialGradient(\n lcenter.x,\n lcenter.y,\n g2lr(aura.value),\n lcenter.x,\n lcenter.y,\n g2lr(aura.value + aura.dim),\n );\n gradient.addColorStop(0, \"rgba(0, 0, 0, 1)\");\n gradient.addColorStop(1, \"rgba(0, 0, 0, 0)\");\n ctx.fillStyle = gradient;\n } else {\n ctx.fillStyle = \"rgba(0, 0, 0, 1)\";\n }\n ctx.fill(path);\n }\n\n aura.lastPath = path;\n }\n\n // At the DM Side due to opacity of the two fow layers, it looks strange if we just render them on top of eachother like players.\n if (gameStore.fowLOS) {\n ctx.globalCompositeOperation = \"source-in\";\n ctx.drawImage(layerManager.getLayer(\"fow-players\")!.canvas, 0, 0);\n }\n\n for (const preShape of this.preFogShapes) {\n if (!preShape.visibleInCanvas(this.canvas)) continue;\n const ogComposite = preShape.globalCompositeOperation;\n if (!gameStore.fullFOW) {\n if (preShape.globalCompositeOperation === \"source-over\")\n preShape.globalCompositeOperation = \"destination-out\";\n else if (preShape.globalCompositeOperation === \"destination-out\")\n preShape.globalCompositeOperation = \"source-over\";\n }\n preShape.draw(ctx);\n preShape.globalCompositeOperation = ogComposite;\n }\n\n if (gameStore.fullFOW) {\n ctx.globalCompositeOperation = \"source-out\";\n ctx.fillStyle = getFogColour();\n ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n }\n\n super.draw(false);\n\n ctx.globalCompositeOperation = originalOperation;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load.vue?vue&type=script&lang=ts&\"","import { ServerCircle } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint, LocalPoint, Vector } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\nimport { g2l, g2lz, l2g } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class Circle extends Shape {\n type = \"circle\";\n r: number;\n constructor(center: GlobalPoint, r: number, fillColour?: string, strokeColour?: string, uuid?: string) {\n super(center, fillColour, strokeColour, uuid);\n this.r = r || 1;\n }\n asDict(): ServerCircle {\n // const base = this.getBaseDict();\n // base.r = this.r;\n // base.border = this.border;\n // return base;\n return Object.assign(this.getBaseDict(), {\n radius: this.r,\n });\n }\n fromDict(data: ServerCircle) {\n super.fromDict(data);\n this.r = data.radius;\n }\n getBoundingBox(): BoundingRect {\n return new BoundingRect(\n new GlobalPoint(this.refPoint.x - this.r, this.refPoint.y - this.r),\n this.r * 2,\n this.r * 2,\n );\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.beginPath();\n if (this.fillColour === \"fog\") ctx.fillStyle = getFogColour();\n else ctx.fillStyle = this.fillColour;\n const loc = g2l(this.refPoint);\n ctx.arc(loc.x, loc.y, g2lz(this.r), 0, 2 * Math.PI);\n ctx.fill();\n if (this.strokeColour !== \"rgba(0, 0, 0, 0)\") {\n ctx.beginPath();\n ctx.lineWidth = g2lz(5);\n ctx.strokeStyle = this.strokeColour;\n ctx.arc(loc.x, loc.y, g2lz(this.r), 0, 2 * Math.PI);\n ctx.stroke();\n }\n }\n contains(point: GlobalPoint): boolean {\n return (point.x - this.refPoint.x) ** 2 + (point.y - this.refPoint.y) ** 2 < this.r ** 2;\n }\n inCorner(point: GlobalPoint, corner: string) {\n return false; // TODO\n }\n getCorner(point: GlobalPoint) {\n if (this.inCorner(point, \"ne\")) return \"ne\";\n else if (this.inCorner(point, \"nw\")) return \"nw\";\n else if (this.inCorner(point, \"se\")) return \"se\";\n else if (this.inCorner(point, \"sw\")) return \"sw\";\n }\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {\n if (centerPoint === undefined) return this.refPoint;\n this.refPoint = centerPoint;\n }\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid() {\n const gs = gameStore.gridSize;\n let targetX;\n let targetY;\n if (((2 * this.r) / gs) % 2 === 0) {\n targetX = Math.round(this.refPoint.x / gs) * gs;\n } else {\n targetX = Math.round((this.refPoint.x - gs / 2) / gs) * gs + this.r;\n }\n if (((2 * this.r) / gs) % 2 === 0) {\n targetY = Math.round(this.refPoint.y / gs) * gs;\n } else {\n targetY = Math.round((this.refPoint.y - gs / 2) / gs) * gs + this.r;\n }\n const delta = calculateDelta(new Vector(targetX - this.refPoint.x, targetY - this.refPoint.y), this);\n this.refPoint = this.refPoint.add(delta);\n this.invalidate(false);\n }\n resizeToGrid() {\n const gs = gameStore.gridSize;\n this.r = Math.max(Math.round(this.r / gs) * gs, gs / 2);\n this.invalidate(false);\n }\n resize(resizedir: string, point: LocalPoint) {\n const z = gameStore.zoomFactor;\n const diff = l2g(point).subtract(this.refPoint);\n this.r = Math.sqrt(Math.pow(diff.length(), 2) / 2);\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { BaseRect } from \"@/game/shapes/baserect\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class MapTool extends Tool {\n name = \"Map\";\n active = false;\n xCount = 3;\n yCount = 3;\n startPoint: GlobalPoint | null = null;\n rect: Rect | null = null;\n\n onMouseDown(event: MouseEvent) {\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = true;\n\n this.startPoint = l2g(getMouse(event));\n this.rect = new Rect(this.startPoint.clone(), 0, 0, \"rgba(0,0,0,0)\", \"black\");\n layer.addShape(this.rect, false, false);\n }\n onMouseMove(event: MouseEvent) {\n if (!this.active || this.rect === null || this.startPoint === null) return;\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n\n const endPoint = l2g(getMouse(event));\n\n this.rect.w = Math.abs(endPoint.x - this.startPoint.x);\n this.rect.h = Math.abs(endPoint.y - this.startPoint.y);\n this.rect.refPoint.x = Math.min(this.startPoint.x, endPoint.x);\n this.rect.refPoint.y = Math.min(this.startPoint.y, endPoint.y);\n layer.invalidate(false);\n }\n onMouseUp(event: MouseEvent) {\n if (!this.active || this.rect === null) return;\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = false;\n\n if (layer.selection.length !== 1) {\n layer.removeShape(this.rect, false, false);\n return;\n }\n\n const w = this.rect.w;\n const h = this.rect.h;\n const sel = layer.selection[0];\n\n if (sel instanceof BaseRect) {\n sel.w *= (this.xCount * gameStore.gridSize) / w;\n sel.h *= (this.yCount * gameStore.gridSize) / h;\n }\n\n layer.removeShape(this.rect, false, false);\n }\n}\n","import { render, staticRenderFns } from \"./load.vue?vue&type=template&id=ff095222&\"\nimport script from \"./load.vue?vue&type=script&lang=ts&\"\nexport * from \"./load.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"load.vue\"\nexport default component.exports","import Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { LocalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class PanTool extends Tool {\n name = \"Pan\";\n panStart = new LocalPoint(0, 0);\n active = false;\n\n onMouseDown(event: MouseEvent) {\n this.panStart = getMouse(event);\n this.active = true;\n }\n onMouseMove(event: MouseEvent) {\n if (!this.active) return;\n const mouse = getMouse(event);\n const distance = mouse.subtract(this.panStart).multiply(1 / gameStore.zoomFactor);\n gameStore.increasePanX(Math.round(distance.x));\n gameStore.increasePanY(Math.round(distance.y));\n this.panStart = mouse;\n layerManager.invalidate();\n }\n onMouseUp(event: MouseEvent) {\n this.active = false;\n sendClientOptions();\n }\n}\n","import { render, staticRenderFns } from \"./selectcontext.vue?vue&type=template&id=44a31e42&scoped=true&\"\nimport script from \"./selectcontext.vue?vue&type=script&lang=ts&\"\nexport * from \"./selectcontext.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./selectcontext.vue?vue&type=style&index=0&id=44a31e42&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44a31e42\",\n null\n \n)\n\ncomponent.options.__file = \"selectcontext.vue\"\nexport default component.exports","import Vue from \"vue\";\n\nimport { app } from \"@/main\";\n\n// Reference: https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript\nexport function uuidv4() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, c => {\n const r = (Math.random() * 16) | 0;\n const v = c === \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\nexport function capitalize(text: string) {\n return text.charAt(0).toUpperCase() + text.slice(1);\n}\n\nexport function alphSort(a: string, b: string) {\n if (a.toLowerCase() < b.toLowerCase()) return -1;\n else return 1;\n}\n\nexport function getHTMLFont(element: HTMLElement) {\n let font = element.style.font;\n while (font === null && element.parentElement !== null) {\n element = element.parentElement;\n font = element.style.font;\n }\n if (font === null) font = window.getComputedStyle(document.body).getPropertyValue(\"font\");\n return font;\n}\n\nexport function getHTMLTextWidth(text: string, font: string): number {\n let fakeElement = document.getElementById(\"emptycanvas\");\n if (fakeElement === null) {\n fakeElement = document.createElement(\"canvas\");\n fakeElement.id = \"emptycanvas\";\n fakeElement.style.display = \"\";\n document.body.appendChild(fakeElement);\n }\n const ctx = fakeElement.getContext(\"2d\")!;\n ctx.font = font;\n return Math.ceil(ctx.measureText(text).width);\n}\n\nexport function partition(arr: T[], predicate: (n: T) => boolean) {\n const ret: T[][] = [[], []];\n arr.forEach(n => (predicate(n) ? ret[1].push(n) : ret[0].push(n)));\n return ret;\n}\n\nexport function calcFontScale(ctx: CanvasRenderingContext2D, text: string, width: number, height: number) {\n const points = Number(ctx.font.split(\"px\")[0]) * 0.2;\n const fontWidth = ctx.measureText(text).width;\n return Math.min(width / fontWidth, height / points);\n}\n\nexport function fixedEncodeURIComponent(str: string) {\n return encodeURIComponent(str).replace(/[!'()*]/g, c => {\n return \"%\" + c.charCodeAt(0).toString(16);\n });\n}\n\nexport class OrderedMap {\n keys: K[] = [];\n values: V[] = [];\n get(key: K) {\n return this.values[this.keys.indexOf(key)];\n }\n getIndexValue(idx: number) {\n return this.values[idx];\n }\n getIndexKey(idx: number) {\n return this.keys[idx];\n }\n set(key: K, value: V) {\n this.keys.push(key);\n this.values.push(value);\n }\n indexOf(element: K) {\n return this.keys.indexOf(element);\n }\n remove(element: K) {\n const idx = this.indexOf(element);\n this.keys.splice(idx, 1);\n this.values.splice(idx, 1);\n }\n}\n\nexport function getComponent(): T {\n return app.$children[0].$refs.activeComponent;\n}\n\nexport function getRef(ref: string): T {\n const active = app.$children[0].$refs.activeComponent;\n return active.$refs[ref];\n}\n","import { render, staticRenderFns } from \"./contextMenu.vue?vue&type=template&id=d4f084a4&\"\nimport script from \"./contextMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./contextMenu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"contextMenu.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{attrs:{\"visible\":_vm.visible,\"mask\":false},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_c('div',[_vm._v(\"Edit asset\")]),_c('div',{staticClass:\"header-close\",on:{\"click\":function($event){_vm.visible = false}}},[_c('i',{staticClass:\"far fa-window-close\"})])])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('label',{attrs:{\"for\":\"shapeselectiondialog-name\"}},[_vm._v(\"Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shape.name),expression:\"shape.name\"}],staticStyle:{\"grid-column\":\"numerator / end\"},attrs:{\"type\":\"text\",\"id\":\"shapeselectiondialog-name\"},domProps:{\"value\":(_vm.shape.name)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.shape, \"name\", $event.target.value)}}}),_c('label',{attrs:{\"for\":\"shapeselectiondialog-istoken\"}},[_vm._v(\"Is a token\")]),_c('input',{staticStyle:{\"grid-column-start\":\"remove\",\"width\":\"15px\",\"height\":\"15px\"},attrs:{\"type\":\"checkbox\",\"id\":\"shapeselectiondialog-istoken\"},domProps:{\"checked\":_vm.shape.isToken},on:{\"click\":_vm.setToken}}),_c('label',{attrs:{\"for\":\"shapeselectiondialog-visionblocker\"}},[_vm._v(\"Blocks vision/light\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shape.visionObstruction),expression:\"shape.visionObstruction\"}],staticStyle:{\"grid-column-start\":\"remove\",\"width\":\"15px\",\"height\":\"15px\"},attrs:{\"type\":\"checkbox\",\"id\":\"shapeselectiondialog-visionblocker\"},domProps:{\"checked\":Array.isArray(_vm.shape.visionObstruction)?_vm._i(_vm.shape.visionObstruction,null)>-1:(_vm.shape.visionObstruction)},on:{\"change\":[function($event){var $$a=_vm.shape.visionObstruction,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.shape, \"visionObstruction\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.shape, \"visionObstruction\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.shape, \"visionObstruction\", $$c)}},_vm.setVisionBlocker]}}),_c('label',{attrs:{\"for\":\"shapeselectiondialog-moveblocker\"}},[_vm._v(\"Blocks movement\")]),_c('input',{staticStyle:{\"grid-column-start\":\"remove\",\"width\":\"15px\",\"height\":\"15px\"},attrs:{\"type\":\"checkbox\",\"id\":\"shapeselectiondialog-moveblocker\"},domProps:{\"checked\":_vm.shape.movementObstruction},on:{\"click\":_vm.setMovementBlocker}}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Access\")]),_vm._l((_vm.shape.owners),function(owner){return [_c('input',{key:owner,staticStyle:{\"grid-column-start\":\"name\"},attrs:{\"type\":\"text\",\"placeholder\":\"name\"},domProps:{\"value\":owner},on:{\"change\":function($event){_vm.updateOwner($event, owner)}}}),(owner !== '')?_c('div',{key:'remove-' + owner,staticStyle:{\"grid-column-start\":\"remove\"},on:{\"click\":function($event){_vm.removeOwner(owner)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e()]}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Trackers\")]),_vm._l((_vm.shape.trackers),function(tracker){return [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(tracker.name),expression:\"tracker.name\"}],key:'name-'+tracker.uuid,staticStyle:{\"grid-column-start\":\"name\"},attrs:{\"type\":\"text\",\"placeholder\":\"name\"},domProps:{\"value\":(tracker.name)},on:{\"change\":function($event){_vm.updateShape(false);},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(tracker, \"name\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(tracker.value),expression:\"tracker.value\",modifiers:{\"number\":true}}],key:'value-'+tracker.uuid,attrs:{\"type\":\"text\",\"title\":\"Current value\"},domProps:{\"value\":(tracker.value)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(tracker, \"value\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('span',{key:'fspan-'+tracker.uuid},[_vm._v(\"/\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(tracker.maxvalue),expression:\"tracker.maxvalue\",modifiers:{\"number\":true}}],key:'maxvalue-'+tracker.uuid,attrs:{\"type\":\"text\",\"title\":\"Current value\"},domProps:{\"value\":(tracker.maxvalue)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(tracker, \"maxvalue\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('span',{key:'sspan-'+tracker.uuid}),_c('div',{key:'visibility-'+tracker.uuid,style:({opacity: tracker.visible ? 1.0 : 0.3}),on:{\"click\":function($event){tracker.visible = !tracker.visible;_vm.updateShape(false)}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('span',{key:'tspan-'+tracker.uuid}),(tracker.name !== '' || tracker.value !== 0)?_c('div',{key:'remove-'+tracker.uuid,on:{\"click\":function($event){_vm.removeTracker(tracker.uuid)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e()]}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Auras\")]),_vm._l((_vm.shape.auras),function(aura){return [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(aura.name),expression:\"aura.name\"}],key:'name-'+aura.uuid,staticStyle:{\"grid-column-start\":\"name\"},attrs:{\"type\":\"text\",\"placeholder\":\"name\"},domProps:{\"value\":(aura.name)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(aura, \"name\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(aura.value),expression:\"aura.value\",modifiers:{\"number\":true}}],key:'value-'+aura.uuid,attrs:{\"type\":\"text\",\"title\":\"Current value\"},domProps:{\"value\":(aura.value)},on:{\"change\":function($event){_vm.updateShape(true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(aura, \"value\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('span',{key:'fspan-'+aura.uuid},[_vm._v(\"/\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(aura.dim),expression:\"aura.dim\",modifiers:{\"number\":true}}],key:'dimvalue-'+aura.uuid,attrs:{\"type\":\"text\",\"title\":\"Dim value\"},domProps:{\"value\":(aura.dim)},on:{\"change\":function($event){_vm.updateShape(true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(aura, \"dim\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('color-picker',{key:'colour-'+aura.uuid,attrs:{\"color\":aura.colour},on:{\"update:color\":function($event){_vm.$set(aura, \"colour\", $event)},\"input\":function($event){_vm.updateAuraColour(aura, $event)},\"change\":function($event){_vm.updateShape(true)}}}),_c('div',{key:'visibility-'+aura.uuid,style:({opacity: aura.visible ? 1.0 : 0.3}),on:{\"click\":function($event){aura.visible = !aura.visible;_vm.updateShape(true)}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('div',{key:'visionsource-'+aura.uuid,style:({opacity: aura.visionSource ? 1.0 : 0.3}),on:{\"click\":function($event){_vm.updateAuraVisionSource(aura)}}},[_c('i',{staticClass:\"fas fa-lightbulb\"})]),(aura.name !== '' || aura.value !== 0)?_c('div',{key:'remove-'+aura.uuid,on:{\"click\":function($event){_vm.removeAura(aura.uuid)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e()]}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Annotation\")]),_c('textarea',{staticClass:\"spanrow\",domProps:{\"value\":_vm.shape.annotation},on:{\"change\":_vm.updateAnnotation}})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=template&id=078b3b76&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.getActiveLayer() !== undefined)?_c('ContextMenu',{attrs:{\"visible\":_vm.visible,\"left\":_vm.x + 'px',\"top\":_vm.y + 'px'},on:{\"close\":_vm.close}},[(_vm.getLayers().length > 1)?_c('li',[_vm._v(\"Layer\\n \"),_c('ul',_vm._l((_vm.getLayers()),function(layer){return _c('li',{key:layer.name,style:([_vm.getActiveLayer().name === layer.name ? {'background-color':'#82c8a0'}: {}]),on:{\"click\":function($event){_vm.setLayer(layer.name)}}},[_vm._v(_vm._s(layer.name))])}))]):_vm._e(),_c('li',{on:{\"click\":_vm.moveToBack}},[_vm._v(\"Move to back\")]),_c('li',{on:{\"click\":_vm.moveToFront}},[_vm._v(\"Move to front\")]),_c('li',{on:{\"click\":_vm.addInitiative}},[_vm._v(_vm._s(_vm.getInitiativeWord())+\" initiative\")])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=template&id=7111f3f6&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component\nexport default class Modal extends Vue {\n @Prop(Boolean) visible!: boolean;\n @Prop({ type: Boolean, default: true }) mask!: boolean;\n\n $refs!: {\n container: HTMLElement;\n };\n\n positioned = false;\n offsetX = 0;\n offsetY = 0;\n screenX = 0;\n screenY = 0;\n dragging = false;\n\n // Example of mounted required: opening note\n mounted() {\n this.updatePosition();\n }\n // Example of updated required: opening initiative\n updated() {\n this.updatePosition();\n }\n\n close(event: MouseEvent) {\n this.$emit(\"close\");\n }\n updatePosition() {\n if (!this.positioned) {\n const container = this.$refs.container;\n if (container.offsetWidth === 0 && container.offsetHeight === 0) return;\n this.$refs.container.style.left = (window.innerWidth - container.offsetWidth) / 2 + \"px\";\n this.$refs.container.style.top = (window.innerHeight - container.offsetHeight) / 2 + \"px\";\n this.positioned = true;\n }\n }\n dragStart(event: DragEvent) {\n if (event === null || event.dataTransfer === null) return;\n event.dataTransfer.setData(\"Hack\", \"\");\n // Because the drag event is happening on the header, we have to change the drag image\n // in order to give the impression that the entire modal is dragged.\n event.dataTransfer.setDragImage(this.$refs.container, event.offsetX, event.offsetY);\n this.offsetX = event.offsetX;\n this.offsetY = event.offsetY;\n this.screenX = event.screenX;\n this.screenY = event.screenY;\n this.dragging = true;\n }\n dragEnd(event: DragEvent) {\n this.dragging = false;\n let left = event.clientX - this.offsetX;\n let top = event.clientY - this.offsetY;\n if (event.clientX === 0 && event.clientY === 0 && event.pageX === 0 && event.pageY === 0) {\n left = parseInt(this.$refs.container.style.left!, 10) - (this.screenX - event.screenX);\n top = parseInt(this.$refs.container.style.top!, 10) - (this.screenY - event.screenY);\n }\n if (left < 0) left = 0;\n if (left > window.innerWidth - 100) left = window.innerWidth - 100;\n if (top < 0) top = 0;\n if (top > window.innerHeight - 100) top = window.innerHeight - 100;\n this.$refs.container.style.left = left + \"px\";\n this.$refs.container.style.top = top + \"px\";\n this.$refs.container.style.display = \"block\";\n }\n dragOver(event: DragEvent) {\n if (this.dragging) this.$refs.container.style.display = \"none\";\n }\n}\n","import io from \"socket.io-client\";\n\nimport { Asset } from \"@/core/comm/types\";\nimport { assetStore } from \"./store\";\n\nexport const socket = io(location.protocol + \"//\" + location.host + \"/pa_assetmgmt\", { autoConnect: false });\n\n// export const socket = io.connect(location.protocol + \"//\" + location.host + \"/pa_assetmgmt\");\nsocket.on(\"connect\", () => {\n console.log(\"Connected\");\n});\nsocket.on(\"disconnect\", () => {\n console.log(\"Disconnected\");\n});\nsocket.on(\"redirect\", (destination: string) => {\n console.log(\"redirecting\");\n window.location.href = destination;\n});\nsocket.on(\"Folder.Root.Set\", (root: number) => {\n assetStore.setRoot(root);\n});\nsocket.on(\"Folder.Set\", (folder: Asset) => {\n assetStore.clear();\n if (folder.children) {\n for (const child of folder.children) {\n assetStore.idMap.set(child.id, child);\n if (child.file_hash) {\n assetStore.files.push(child.id);\n } else {\n assetStore.folders.push(child.id);\n }\n }\n }\n});\nsocket.on(\"Folder.Create\", (folder: Asset) => {\n assetStore.folders.push(folder.id);\n assetStore.idMap.set(folder.id, folder);\n});\nsocket.on(\"Asset.Upload.Finish\", (asset: Asset) => {\n assetStore.idMap.set(asset.id, asset);\n assetStore.files.push(asset.id);\n});\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=style&index=0&id=1fee50f5&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=style&index=0&id=1fee50f5&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=0&lang=css&\"","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { g2lx, g2ly, g2lz } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class MultiLine extends Shape {\n type = \"multiline\";\n points: GlobalPoint[] = [];\n lineWidth: number;\n constructor(\n startPoint: GlobalPoint,\n points?: GlobalPoint[],\n lineWidth?: number,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(startPoint, \"rgba(0, 0, 0, 0)\", strokeColour || \"#000\", uuid);\n this.points = points || [];\n this.lineWidth = lineWidth || 3;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n line_width: this.lineWidth,\n points: this.points.map(p => ({ x: p.x, y: p.y })),\n });\n }\n getBoundingBox(): BoundingRect {\n let minx: number = this.refPoint.x;\n let maxx: number = this.refPoint.y;\n let miny: number = this.refPoint.x;\n let maxy: number = this.refPoint.y;\n for (const p of this.points) {\n if (p.x < minx) minx = p.x;\n if (p.x > maxx) maxx = p.x;\n if (p.y < miny) miny = p.y;\n if (p.y > maxy) maxy = p.y;\n }\n return new BoundingRect(new GlobalPoint(minx, miny), maxx - minx, maxy - miny);\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.beginPath();\n ctx.lineCap = \"round\";\n ctx.lineJoin = \"round\";\n ctx.moveTo(g2lx(this.refPoint.x), g2ly(this.refPoint.y));\n for (const p of this.points) ctx.lineTo(g2lx(p.x), g2ly(p.y));\n if (this.strokeColour === \"fog\") ctx.strokeStyle = getFogColour();\n else ctx.strokeStyle = this.strokeColour;\n ctx.lineWidth = g2lz(this.lineWidth);\n ctx.stroke();\n }\n contains(point: GlobalPoint): boolean {\n return this.points.includes(point);\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {} // TODO\n getCorner(point: GlobalPoint): string | undefined {\n return \"\";\n } // TODO\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid(): void {}\n resizeToGrid(): void {}\n resize(resizeDir: string, point: LocalPoint): void {}\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"outer\",on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.open($event)}}},[_c('div',{staticClass:\"current-color\",style:(_vm.transparent ? 'background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)' : 'background-color:' + _vm.color),on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.open($event)}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.display),expression:\"display\"}],staticClass:\"mask\",on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.closePicker($event)}}}),_c('chrome-picker',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.display),expression:\"display\"}],ref:\"chromePicker\",style:({position: 'fixed', left:_vm.left + 'px', top:_vm.top + 'px', 'z-index': 9999}),attrs:{\"value\":_vm.color,\"tabindex\":\"-1\"},on:{\"input\":_vm.updateColor}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=template&id=b4f2c0b0&scoped=true&\"","import { render, staticRenderFns } from \"./draw.vue?vue&type=template&id=5c4191ca&scoped=true&\"\nimport script from \"./draw.vue?vue&type=script&lang=ts&\"\nexport * from \"./draw.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./draw.vue?vue&type=style&index=0&id=5c4191ca&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c4191ca\",\n null\n \n)\n\ncomponent.options.__file = \"draw.vue\"\nexport default component.exports","import tinycolor from \"tinycolor2\";\n\nimport { LocalPoint } from \"@/game/geom\";\nimport { gameStore } from \"@/game/store\";\n\nexport function getMouse(e: MouseEvent): LocalPoint {\n return new LocalPoint(e.pageX, e.pageY);\n}\n\nexport function getFogColour(opposite: boolean = false): string {\n const tc = tinycolor(gameStore.fowColour);\n if (gameStore.IS_DM) tc.setAlpha(opposite ? 1 : gameStore.fowOpacity);\n else tc.setAlpha(1);\n return tc.toRgbString();\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport * as tinycolor from \"tinycolor2\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { mapState } from \"vuex\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { calcFontScale } from \"@/core/utils\";\nimport { LocalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { CircularToken } from \"@/game/shapes/circulartoken\";\nimport { gameStore } from \"@/game/store\";\nimport { getUnitDistance, l2g } from \"@/game/units\";\nimport { Watch } from \"vue-property-decorator\";\n\n@Component({\n components: {\n Modal,\n \"color-picker\": ColorPicker,\n },\n computed: {\n ...mapState(\"game\", [\"unitSize\"]),\n },\n})\nexport default class CreateTokenModal extends Vue {\n x = 0;\n y = 0;\n visible = false;\n text = \"X\";\n fillColour = \"rgba(255, 255, 255, 1)\";\n borderColour = \"rgba(0, 0, 0, 1)\";\n\n mounted() {\n this.updatePreview();\n }\n\n @Watch(\"text\")\n onTextChange(newValue: string, oldValue: string) {\n this.updatePreview();\n }\n @Watch(\"fillColour\")\n onFillChange(newValue: string, oldValue: string) {\n this.updatePreview();\n }\n @Watch(\"borderColour\")\n onBorderChange(newValue: string, oldValue: string) {\n this.updatePreview();\n }\n\n open(x: number, y: number) {\n this.visible = true;\n this.x = x;\n this.y = y;\n }\n submit() {\n const layer = layerManager.getLayer();\n if (layer === undefined) return;\n const token = new CircularToken(\n l2g(new LocalPoint(this.x, this.y)),\n getUnitDistance(gameStore.unitSize / 2),\n this.text,\n \"10px serif\",\n this.fillColour,\n this.borderColour,\n );\n token.owners.push(gameStore.username);\n layer.addShape(token, true);\n layer.invalidate(false);\n this.visible = false;\n }\n updatePreview() {\n const ctx = (this.$refs.canvas).getContext(\"2d\")!;\n ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n ctx.beginPath();\n const dest = { x: ctx.canvas.width / 2, y: ctx.canvas.height / 2 };\n const r = Math.min(dest.x, dest.y) * 0.9;\n\n ctx.fillStyle = this.fillColour;\n\n ctx.arc(dest.x, dest.y, r, 0, 2 * Math.PI);\n ctx.fill();\n if (this.borderColour !== \"rgba(0, 0, 0, 0)\") {\n ctx.beginPath();\n ctx.lineWidth = 5;\n ctx.strokeStyle = this.borderColour;\n ctx.arc(dest.x, dest.y, r, 0, 2 * Math.PI);\n ctx.stroke();\n }\n ctx.save();\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n const xs = calcFontScale(ctx, this.text, r, r);\n const ys = 0;\n ctx.transform(xs, ys, -ys, xs, dest.x, dest.y);\n ctx.fillStyle = tinycolor.mostReadable(this.fillColour, [\"#000\", \"#fff\"]).toHexString();\n ctx.fillText(this.text, 0, 0);\n ctx.restore();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { Note } from \"@/game/comm/types/general\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n Modal,\n },\n})\nexport default class NoteDialog extends Vue {\n visible = false;\n note: Note | null = null;\n\n open(note: Note) {\n this.visible = true;\n this.note = note;\n }\n calcHeight() {\n if (this.$refs.textarea) {\n const el = this.$refs.textarea;\n el.style.height = \"auto\";\n el.style.height = el.scrollHeight + \"px\";\n // Using the return value without the above did not achieve what I want, so hey /shrug\n return el.scrollHeight + \"px\";\n }\n return \"100px\";\n }\n updateNote() {\n if (this.note) gameStore.updateNote({ note: this.note, sync: true });\n }\n removeNote() {\n getRef(\"confirm\")\n .open(\"Are you sure you wish to remove this?\")\n .then(\n (result: boolean) => {\n if (result && this.note) {\n gameStore.removeNote({ note: this.note, sync: true });\n this.visible = false;\n }\n },\n () => {},\n );\n }\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=style&index=0&id=ccaf03d6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=style&index=0&id=ccaf03d6&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from \"vue-class-component\";\n\nimport { Watch } from \"vue-property-decorator\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { socket } from \"@/game/api/socket\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { MultiLine } from \"@/game/shapes/multiline\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { getUnitDistance, l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\n\n@Component({\n components: {\n \"color-picker\": ColorPicker,\n },\n})\nexport default class DrawTool extends Tool {\n name = \"Draw\";\n active = false;\n\n startPoint: GlobalPoint | null = null;\n shape: Shape | null = null;\n brushHelper: Circle | null = null;\n\n fillColour = \"rgba(0, 0, 0, 1)\";\n borderColour = \"rgba(255, 255, 255, 0)\";\n\n shapeSelect = \"square\";\n shapes = [\"square\", \"circle\", \"paint-brush\"];\n modeSelect = \"normal\";\n modes = [\"normal\", \"reveal\", \"hide\"];\n\n brushSize = getUnitDistance(gameStore.unitSize);\n\n get helperSize(): number {\n if (this.shapeSelect === \"paint-brush\") return this.brushSize / 2;\n return getUnitDistance(this.unitSize) / 8;\n }\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n get unitSize(): number {\n return gameStore.unitSize;\n }\n get useGrid(): boolean {\n return gameStore.useGrid;\n }\n\n @Watch(\"fillColour\")\n onFillChange() {\n if (this.brushHelper) this.brushHelper.fillColour = this.fillColour;\n }\n\n @Watch(\"modeSelect\")\n onModeUpdate(newValue: string, oldValue: string) {\n this.onModeChange(newValue, oldValue);\n }\n\n setupBrush() {\n if (this.brushHelper === null) return;\n if (this.modeSelect === \"reveal\" || this.modeSelect === \"hide\") {\n this.brushHelper.options.set(\"preFogShape\", true);\n this.brushHelper.options.set(\"skipDraw\", true);\n this.brushHelper.fillColour = \"rgba(0, 0, 0, 1)\";\n\n if (this.modeSelect === \"reveal\") this.brushHelper.globalCompositeOperation = \"source-over\";\n else if (this.modeSelect === \"hide\") this.brushHelper.globalCompositeOperation = \"destination-out\";\n } else {\n this.brushHelper.options.delete(\"preFogShape\");\n this.brushHelper.options.delete(\"skipDraw\");\n this.brushHelper.globalCompositeOperation = \"source-over\";\n this.brushHelper.fillColour = this.fillColour;\n }\n }\n onModeChange(newValue: string, oldValue: string) {\n if (this.brushHelper === null) return;\n\n const fowLayer = layerManager.getLayer(\"fow\");\n const normalLayer = layerManager.getLayer();\n if (fowLayer === undefined || normalLayer === undefined) return;\n\n this.setupBrush();\n\n if (newValue !== \"normal\" && oldValue === \"normal\") {\n normalLayer.removeShape(this.brushHelper, false);\n fowLayer.addShape(this.brushHelper, false);\n } else if (newValue === \"normal\" && oldValue !== \"normal\") {\n normalLayer.addShape(this.brushHelper, false);\n fowLayer.removeShape(this.brushHelper, false);\n }\n }\n getLayer() {\n if (this.modeSelect === \"normal\") return layerManager.getLayer();\n return layerManager.getLayer(\"fow\");\n }\n onMouseDown(event: MouseEvent) {\n const layer = this.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = true;\n this.startPoint = l2g(getMouse(event));\n if (this.shapeSelect === \"square\")\n this.shape = new Rect(this.startPoint.clone(), 0, 0, this.fillColour, this.borderColour);\n else if (this.shapeSelect === \"circle\")\n this.shape = new Circle(this.startPoint.clone(), this.helperSize, this.fillColour, this.borderColour);\n else if (this.shapeSelect === \"paint-brush\") {\n this.shape = new MultiLine(this.startPoint.clone(), [], this.brushSize);\n this.shape.fillColour = this.fillColour;\n } else return;\n\n if (this.modeSelect !== \"normal\") {\n this.shape.options.set(\"preFogShape\", true);\n this.shape.options.set(\"skipDraw\", true);\n this.shape.fillColour = \"rgba(0, 0, 0, 1)\";\n }\n if (this.modeSelect === \"reveal\") this.shape.globalCompositeOperation = \"source-over\";\n else if (this.modeSelect === \"hide\") this.shape.globalCompositeOperation = \"destination-out\";\n\n this.shape.owners.push(gameStore.username);\n if (layer.name === \"fow\" && this.modeSelect === \"normal\") {\n this.shape.visionObstruction = true;\n this.shape.movementObstruction = true;\n }\n gameStore.visionBlockers.push(this.shape.uuid);\n layer.addShape(this.shape, true, false);\n\n // Push brushhelper to back\n this.onDeselect();\n this.onSelect();\n }\n onMouseMove(event: MouseEvent) {\n const endPoint = l2g(getMouse(event));\n const layer = this.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n\n if (this.brushHelper !== null) {\n this.brushHelper.r = this.helperSize;\n this.brushHelper.refPoint = endPoint;\n if (!this.active) layer.invalidate(false);\n }\n\n if (!this.active || this.startPoint === null || this.shape === null) return;\n\n if (this.shapeSelect === \"square\") {\n (this.shape).w = Math.abs(endPoint.x - this.startPoint.x);\n (this.shape).h = Math.abs(endPoint.y - this.startPoint.y);\n this.shape.refPoint.x = Math.min(this.startPoint.x, endPoint.x);\n this.shape.refPoint.y = Math.min(this.startPoint.y, endPoint.y);\n } else if (this.shapeSelect === \"circle\") {\n (this.shape).r = endPoint.subtract(this.startPoint).length();\n } else if (this.shapeSelect === \"paint-brush\") {\n (this.shape).points.push(endPoint);\n }\n socket.emit(\"Shape.Update\", { shape: this.shape!.asDict(), redraw: true, temporary: false });\n if (this.shape.visionObstruction) gameStore.recalculateBV();\n layer.invalidate(false);\n }\n onMouseUp(event: MouseEvent) {\n if (this.active && this.shape !== null && !event.altKey && this.useGrid) {\n this.shape.resizeToGrid();\n socket.emit(\"Shape.Update\", { shape: this.shape!.asDict(), redraw: true, temporary: false });\n }\n this.active = false;\n }\n onSelect() {\n const layer = this.getLayer();\n if (layer === undefined) return;\n this.brushHelper = new Circle(new GlobalPoint(-1000, -1000), this.brushSize / 2, this.fillColour);\n this.setupBrush();\n layer.addShape(this.brushHelper, false); // during mode change the shape is already added\n }\n onDeselect() {\n const layer = this.getLayer();\n if (this.brushHelper !== null && layer !== undefined) layer.removeShape(this.brushHelper, false);\n }\n}\n","import { BoundingRect } from \"@/game/shapes/boundingrect\";\n\nexport class BoundingNode {\n bbox: BoundingRect;\n nPrimitives: number;\n children: BoundingNode[] = [];\n constructor(nPrimitives: number, bbox: BoundingRect) {\n this.nPrimitives = nPrimitives;\n this.bbox = bbox;\n }\n}\n\nexport class LeafNode extends BoundingNode {\n firstPrimOffset: number;\n constructor(first: number, n: number, bbox: BoundingRect) {\n super(n, bbox);\n this.firstPrimOffset = first;\n }\n}\n\nexport class InteriorNode extends BoundingNode {\n dimension: number;\n constructor(dimension: number, c1: BoundingNode, c2: BoundingNode) {\n super(0, c1.bbox.union(c2.bbox));\n this.dimension = dimension;\n this.children.push(c1);\n this.children.push(c2);\n }\n}\n","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { g2lx, g2ly } from \"@/game/units\";\n\nexport class Line extends Shape {\n type = \"line\";\n endPoint: GlobalPoint;\n lineWidth: number;\n constructor(\n startPoint: GlobalPoint,\n endPoint: GlobalPoint,\n lineWidth?: number,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(startPoint, \"rgba(0, 0, 0, 0)\", strokeColour || \"#000\", uuid);\n this.endPoint = endPoint;\n this.lineWidth = lineWidth === undefined ? 1 : lineWidth;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n x2: this.endPoint.x,\n y2: this.endPoint.y,\n line_width: this.lineWidth,\n });\n }\n getBoundingBox(): BoundingRect {\n return new BoundingRect(\n new GlobalPoint(Math.min(this.refPoint.x, this.endPoint.x), Math.min(this.refPoint.x, this.endPoint.y)),\n Math.abs(this.refPoint.x - this.endPoint.x),\n Math.abs(this.refPoint.y - this.endPoint.y),\n );\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.strokeStyle = this.strokeColour;\n ctx.beginPath();\n ctx.moveTo(g2lx(this.refPoint.x), g2ly(this.refPoint.y));\n ctx.lineTo(g2lx(this.endPoint.x), g2ly(this.endPoint.y));\n ctx.lineWidth = this.lineWidth;\n ctx.stroke();\n }\n contains(point: GlobalPoint): boolean {\n return false; // TODO\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {} // TODO\n getCorner(point: GlobalPoint): string | undefined {\n return \"\";\n } // TODO\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid(): void {}\n resizeToGrid(): void {}\n resize(resizeDir: string, point: LocalPoint): void {}\n}\n","// import \"./class-component-hooks\";\n\nimport axios, { AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Router from \"vue-router\";\n\nVue.use(Router);\n\nimport AssetManager from \"@/assetManager/manager.vue\";\nimport Login from \"@/auth/login.vue\";\nimport Logout from \"@/auth/logout\";\nimport LoadComponent from \"@/core/components/load.vue\";\nimport Dashboard from \"@/dashboard/main.vue\";\nimport Game from \"@/game/game.vue\";\nimport Invitation from \"@/invitation/invitation\";\n\nimport { coreStore } from \"@/core/store\";\n// import { AssetManager } from \"./assetManager/assets\";\n// const AssetManager = () => import(\"./assetManager/assets\").then(m => m.AssetManager);\n\nexport const router = new Router({\n mode: \"history\",\n base: process.env.BASE_URL,\n routes: [\n {\n path: \"/\",\n redirect: \"/dashboard\",\n },\n {\n path: \"/_load\",\n name: \"load\",\n component: LoadComponent,\n },\n {\n path: \"/assets\",\n component: AssetManager,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/auth\",\n component: { template: \"\" },\n children: [{ path: \"login\", component: Login }, { path: \"logout\", component: Logout }],\n },\n {\n path: \"/invite/:code\",\n component: Invitation,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/dashboard\",\n component: Dashboard,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/game/:creator/:room\",\n component: Game,\n meta: {\n auth: true,\n },\n },\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n if (!coreStore.initialized && to.path !== \"/_load\") {\n next({ path: \"/_load\" });\n axios\n .get(\"/api/auth\")\n .then((response: AxiosResponse) => {\n if (response.data.auth) {\n coreStore.setAuthenticated(true);\n coreStore.setUsername(response.data.username);\n }\n coreStore.setInitialized(true);\n router.push(to.path);\n })\n .catch(() => {\n console.error(\"Authentication check could not be fulfilled.\");\n });\n } else if (to.matched.some(record => record.meta.auth) && !coreStore.authenticated) {\n next({ path: \"/auth/login\", query: { redirect: to.path } });\n } else {\n next();\n }\n});\n","\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class Tool extends Vue {\n name = \"\";\n selected = false;\n active = false;\n get detailRight(): string {\n const rect = (this.$parent.$refs[this.name + \"-selector\"])[0].getBoundingClientRect();\n const mid = rect.left + rect.width / 2;\n\n return `${window.innerWidth - Math.min(window.innerWidth - 25, mid + 75)}px`;\n }\n get detailArrow(): string {\n const rect = (this.$parent.$refs[this.name + \"-selector\"])[0].getBoundingClientRect();\n const mid = rect.left + rect.width / 2;\n const right = Math.min(window.innerWidth - 25, mid + 75);\n return `${right - mid - 14}px`; // border width\n }\n created() {\n this.$parent.$on(\"mousedown\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onMouseDown(event);\n });\n this.$parent.$on(\"mouseup\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onMouseUp(event);\n });\n this.$parent.$on(\"mousemove\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onMouseMove(event);\n });\n this.$parent.$on(\"contextmenu\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onContextMenu(event);\n });\n this.$parent.$on(\"tools-select-change\", (newValue: string, oldValue: string) => {\n if (oldValue === this.name) {\n this.selected = false;\n this.onDeselect();\n } else if (newValue === this.name) {\n this.selected = true;\n this.onSelect();\n }\n });\n }\n onSelect() {}\n onDeselect() {}\n onMouseDown(event: MouseEvent) {}\n onMouseUp(event: MouseEvent) {}\n onMouseMove(event: MouseEvent) {}\n onContextMenu(event: MouseEvent) {}\n}\n","import { render, staticRenderFns } from \"./tools.vue?vue&type=template&id=1fee50f5&scoped=true&\"\nimport script from \"./tools.vue?vue&type=script&lang=ts&\"\nexport * from \"./tools.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./tools.vue?vue&type=style&index=0&id=1fee50f5&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fee50f5\",\n null\n \n)\n\ncomponent.options.__file = \"tools.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=script&lang=ts&\"","import { InitiativeData } from \"@/game/comm/types/general\";\nimport { ServerAsset } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { BaseRect } from \"@/game/shapes/baserect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2lx, g2ly, g2lz } from \"@/game/units\";\n\nexport class Asset extends BaseRect {\n type = \"assetrect\";\n img: HTMLImageElement;\n src: string = \"\";\n constructor(img: HTMLImageElement, topleft: GlobalPoint, w: number, h: number, uuid?: string) {\n super(topleft, w, h);\n if (uuid !== undefined) this.uuid = uuid;\n this.img = img;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n src: this.src,\n });\n }\n fromDict(data: ServerAsset) {\n super.fromDict(data);\n this.src = data.src;\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n try {\n ctx.drawImage(this.img, g2lx(this.refPoint.x), g2ly(this.refPoint.y), g2lz(this.w), g2lz(this.h));\n } catch (error) {\n console.warn(`Shape ${this.uuid} could not load the image ${this.src}`);\n }\n }\n getInitiativeRepr(): InitiativeData {\n return {\n uuid: this.uuid,\n visible: !gameStore.IS_DM,\n group: false,\n source: this.src,\n has_img: true,\n effects: [],\n index: Infinity,\n };\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=script&lang=ts&\"","import { GlobalPoint } from \"@/game/geom\";\nimport { GridLayer } from \"@/game/layers/grid\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { Asset } from \"@/game/shapes/asset\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { l2gx, l2gy, l2gz } from \"@/game/units\";\n\nclass LayerManager {\n layers: Layer[] = [];\n width = window.innerWidth;\n height = window.innerHeight;\n\n UUIDMap: Map = new Map();\n\n // Refresh interval and redraw setter.\n interval = 30;\n\n constructor() {\n requestAnimationFrame(this.drawLoop);\n }\n\n reset() {\n this.layers = [];\n this.UUIDMap = new Map();\n }\n\n drawLoop = () => {\n for (let i = this.layers.length - 1; i >= 0; i--) {\n this.layers[i].draw();\n }\n requestAnimationFrame(this.drawLoop);\n };\n\n setWidth(width: number): void {\n this.width = width;\n for (const layer of this.layers) {\n layer.canvas.width = width;\n layer.width = width;\n }\n }\n\n setHeight(height: number): void {\n this.height = height;\n for (const layer of this.layers) {\n layer.canvas.height = height;\n layer.height = height;\n }\n }\n\n addLayer(layer: Layer): void {\n this.layers.push(layer);\n if (!gameStore.IS_DM && !layer.playerEditable) return;\n if (layer.selectable) gameStore.addLayer(layer.name);\n }\n\n hasLayer(name: string): boolean {\n return this.layers.some(l => l.name === name);\n }\n\n getLayer(name?: string) {\n name = name === undefined ? gameStore.selectedLayer : name;\n for (const layer of this.layers) {\n if (layer.name === name) return layer;\n }\n }\n\n selectLayer(name: string, sync: boolean = true): void {\n let found = false;\n for (const layer of this.layers) {\n if (!layer.selectable) continue;\n if (found && layer.name !== \"fow\") layer.ctx.globalAlpha = 0.3;\n else layer.ctx.globalAlpha = 1.0;\n\n if (name === layer.name) {\n gameStore.selectLayer({ name, sync });\n found = true;\n }\n\n layer.clearSelection();\n layer.invalidate(true);\n }\n }\n\n getGridLayer(): GridLayer | undefined {\n return this.getLayer(\"grid\");\n }\n\n hasSelection() {\n const selection = this.getSelection();\n return selection !== undefined && selection.length > 0;\n }\n\n // THIS INCLUDES POTENTIALLY THE SelectTool.SelectionHelper !!!\n getSelection() {\n const layer = this.getLayer();\n if (layer === undefined) return undefined;\n return layer.selection;\n }\n\n invalidate(): void {\n for (let i = this.layers.length - 1; i >= 0; i--) {\n this.layers[i].invalidate(true);\n }\n }\n\n invalidateLight() {\n for (let i = this.layers.length - 1; i >= 0; i--)\n if (this.layers[i].isVisionLayer) this.layers[i].invalidate(true);\n }\n\n dropAsset(event: DragEvent) {\n const layer = this.getLayer();\n if (layer === undefined || event === null || event.dataTransfer === null) return;\n const image = document.createElement(\"img\");\n image.src = event.dataTransfer.getData(\"text/plain\");\n const asset = new Asset(\n image,\n new GlobalPoint(l2gx(event.clientX), l2gy(event.clientY)),\n l2gz(image.width),\n l2gz(image.height),\n );\n asset.src = new URL(image.src).pathname;\n\n if (gameStore.useGrid) {\n const gs = gameStore.gridSize;\n asset.refPoint.x = Math.round(asset.refPoint.x / gs) * gs;\n asset.refPoint.y = Math.round(asset.refPoint.y / gs) * gs;\n asset.w = Math.max(Math.round(asset.w / gs) * gs, gs);\n asset.h = Math.max(Math.round(asset.h / gs) * gs, gs);\n }\n\n layer.addShape(asset, true);\n }\n}\n\nexport const layerManager = new LayerManager();\n(window).lm = layerManager;\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./createtoken_modal.vue?vue&type=template&id=66ccc134&scoped=true&\"\nimport script from \"./createtoken_modal.vue?vue&type=script&lang=ts&\"\nexport * from \"./createtoken_modal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./createtoken_modal.vue?vue&type=style&index=0&id=66ccc134&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"66ccc134\",\n null\n \n)\n\ncomponent.options.__file = \"createtoken_modal.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=script&lang=ts&\"","import Tools from \"../ui/tools/tools.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { Vector } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\n\nexport function onKeyUp(event: KeyboardEvent) {\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement) {\n } else {\n if (event.key === \"Delete\" || event.key === \"Del\" || event.key === \"Backspace\") {\n if (layerManager.getLayer === undefined) {\n console.log(\"No active layer selected for delete operation\");\n return;\n }\n const l = layerManager.getLayer()!;\n for (let i = l.selection.length - 1; i >= 0; i--) {\n const sel = l.selection[i];\n if ((getRef(\"tools\").$refs.selectTool).selectionHelper.uuid === sel.uuid) {\n l.selection.splice(i, 1);\n continue;\n }\n l.removeShape(sel, true, false);\n EventBus.$emit(\"SelectionInfo.Shape.Set\", null);\n EventBus.$emit(\"Initiative.Remove\", sel.uuid);\n }\n }\n }\n}\n\nexport function onKeyDown(event: KeyboardEvent) {\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement) {\n if (event.keyCode === 65 && event.ctrlKey) event.target!.select();\n } else {\n if (event.keyCode >= 37 && event.keyCode <= 40) {\n // todo: this should already be rounded\n const gridSize = Math.round(gameStore.gridSize);\n let offsetX = gridSize * (event.keyCode % 2);\n let offsetY = gridSize * (event.keyCode % 2 ? 0 : 1);\n if (layerManager.hasSelection()) {\n const selection = layerManager.getSelection()!;\n offsetX *= event.keyCode <= 38 ? -1 : 1;\n offsetY *= event.keyCode <= 38 ? -1 : 1;\n let delta = new Vector(offsetX, offsetY);\n if (!event.shiftKey || !gameStore.IS_DM) {\n // First check for collisions. Using the smooth wall slide collision check used on mouse move is overkill here.\n for (const sel of selection) delta = calculateDelta(delta, sel);\n }\n for (const sel of selection) {\n sel.refPoint.x += delta.x;\n sel.refPoint.y += delta.y;\n if (sel.refPoint.x % gridSize !== 0 || sel.refPoint.y % gridSize !== 0) sel.snapToGrid();\n socket.emit(\"Shape.Position.Update\", { shape: sel.asDict(), redraw: true, temporary: false });\n }\n layerManager.getLayer()!.invalidate(false);\n } else {\n // The pan offsets should be in the opposite direction to give the correct feel.\n gameStore.increasePanX(offsetX * (event.keyCode <= 38 ? 1 : -1));\n gameStore.increasePanY(offsetY * (event.keyCode <= 38 ? 1 : -1));\n layerManager.invalidate();\n sendClientOptions();\n }\n } else if (event.keyCode === 68) {\n const layer = layerManager.getLayer();\n if (layer) {\n layer.clearSelection();\n layer.invalidate(true);\n }\n }\n }\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=style&index=0&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\n\nimport ShapeContext from \"@/game/ui/selection/shapecontext.vue\";\nimport CreateTokenModal from \"@/game/ui/tools/createtoken_modal.vue\";\nimport DrawTool from \"@/game/ui/tools/draw.vue\";\nimport MapTool from \"@/game/ui/tools/map.vue\";\nimport PanTool from \"@/game/ui/tools/pan\";\nimport SelectTool from \"@/game/ui/tools/select.vue\";\n\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameManager } from \"@/game/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { RulerTool } from \"@/game/ui/tools/ruler\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\n@Component({\n components: {\n \"select-tool\": SelectTool,\n \"pan-tool\": PanTool,\n \"draw-tool\": DrawTool,\n \"ruler-tool\": RulerTool,\n \"map-tool\": MapTool,\n \"shape-menu\": ShapeContext,\n \"createtoken-dialog\": CreateTokenModal,\n },\n watch: {\n currentTool(newValue, oldValue) {\n this.$emit(\"tools-select-change\", newValue, oldValue);\n },\n },\n})\nexport default class Tools extends Vue {\n $refs!: {\n selectTool: InstanceType;\n };\n\n currentTool = \"Select\";\n tools = [\"Select\", \"Pan\", \"Draw\", \"Ruler\", \"Map\"];\n dmTools = [\"Map\"];\n\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n\n get currentToolComponent(): string {\n return `${this.currentTool.toLowerCase()}-tool`;\n }\n\n mousedown(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n\n let targetTool = this.currentTool;\n if (event.button === 1) {\n targetTool = \"Pan\";\n } else if (event.button !== 0) {\n return;\n }\n\n this.$emit(\"mousedown\", event, targetTool);\n }\n mouseup(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n\n let targetTool = this.currentTool;\n if (event.button === 1) {\n targetTool = \"Pan\";\n } else if (event.button !== 0) {\n return;\n }\n\n this.$emit(\"mouseup\", event, targetTool);\n }\n mousemove(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n\n let targetTool = this.currentTool;\n if ((event.buttons & 4) !== 0) {\n targetTool = \"Pan\";\n } else if ((event.button & 1) > 1) {\n return;\n }\n\n this.$emit(\"mousemove\", event, targetTool);\n\n // Annotation hover\n let found = false;\n for (const uuid of gameStore.annotations) {\n if (layerManager.UUIDMap.has(uuid) && layerManager.hasLayer(\"draw\")) {\n const shape = layerManager.UUIDMap.get(uuid)!;\n if (shape.contains(l2g(getMouse(event)))) {\n found = true;\n gameManager.annotationManager.setActiveText(shape.annotation);\n }\n }\n }\n if (!found && gameManager.annotationManager.shown) {\n gameManager.annotationManager.setActiveText(\"\");\n }\n }\n mouseleave(event: MouseEvent) {\n // When leaving the window while a mouse is pressed down, act as if it was released\n if ((event.buttons & 1) !== 0) {\n this.$emit(\"mouseup\", event, this.currentTool);\n }\n }\n contextmenu(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n if (event.button !== 2 || (event.target).tagName !== \"CANVAS\") return;\n this.$emit(\"contextmenu\", event, this.currentTool);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=style&index=0&id=32cec914&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=style&index=0&id=32cec914&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport Modal from \"@/core/components/modals/modal.vue\";\n\n@Component({\n components: {\n Modal,\n },\n})\nexport default class Prompt extends Vue {\n $refs!: {\n answer: HTMLElement;\n };\n\n visible = false;\n question = \"\";\n answer = \"\";\n title = \"\";\n\n resolve = (value: string) => {};\n reject = () => {};\n\n submit() {\n this.resolve(this.answer);\n this.close();\n }\n close() {\n this.reject();\n this.visible = false;\n this.question = \"\";\n this.answer = \"\";\n this.title = \"\";\n }\n prompt(question: string, title: string): Promise {\n this.question = question;\n this.title = title;\n this.visible = true;\n this.$nextTick(() => {\n this.$refs.answer.focus();\n });\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_vm._l((_vm.folders),function(folder){return _c('li',{key:folder,staticClass:\"folder\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle($event)}}},[_vm._v(\"\\n \"+_vm._s(folder)+\"\\n \"),_c('asset-node',{attrs:{\"asset\":_vm.asset[folder]}})],1)}),_vm._l((_vm.files),function(file){return _c('li',{key:file.name,staticClass:\"file draggable token\",attrs:{\"draggable\":\"true\"},on:{\"mouseover\":function($event){_vm.showImage = file.hash},\"mouseout\":function($event){_vm.showImage = null},\"dragstart\":function($event){_vm.dragStart($event, '/static/assets/' + file.hash)}}},[_vm._v(\"\\n \"+_vm._s(file.name)+\"\\n \"),(_vm.showImage == file.hash)?_c('div',{staticClass:\"preview\"},[_c('img',{staticClass:\"asset-preview-image\",attrs:{\"src\":'/static/assets/' + file.hash}})]):_vm._e()])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=template&id=62c91cd3&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(_vm._s(_vm.message))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load.vue?vue&type=template&id=ff095222&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{attrs:{\"id\":\"toolselect\"}},[_c('ul',_vm._l((_vm.tools),function(tool){return (!_vm.dmTools.includes(tool) || _vm.IS_DM)?_c('li',{key:tool,ref:tool + '-selector',refInFor:true,class:{'tool-selected': _vm.currentTool === tool},on:{\"click\":function($event){_vm.currentTool = tool}}},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(tool))])]):_vm._e()}))]),_c('div',[[_c('select-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Select'),expression:\"currentTool === 'Select'\"}],ref:\"selectTool\"}),_c('pan-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Pan'),expression:\"currentTool === 'Pan'\"}]}),_c('keep-alive',[_c('draw-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Draw'),expression:\"currentTool === 'Draw'\"}]})],1),_c('ruler-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Ruler'),expression:\"currentTool === 'Ruler'\"}]}),_c('map-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Map'),expression:\"currentTool === 'Map'\"}]}),_c('shape-menu',{ref:\"shapecontext\"}),_c('createtoken-dialog',{ref:\"createtokendialog\"})]],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=template&id=1fee50f5&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=script&lang=ts&\"","import { GlobalPoint, Point, Ray, Vector } from \"@/game/geom\";\n\nexport class BoundingRect {\n readonly w: number;\n readonly h: number;\n readonly topLeft: GlobalPoint;\n readonly topRight: GlobalPoint;\n readonly botRight: GlobalPoint;\n readonly botLeft: GlobalPoint;\n\n constructor(topleft: GlobalPoint, w: number, h: number) {\n this.w = w;\n this.h = h;\n this.topLeft = topleft;\n this.topRight = new GlobalPoint(topleft.x + w, topleft.y);\n this.botRight = new GlobalPoint(topleft.x + w, topleft.y + h);\n this.botLeft = new GlobalPoint(topleft.x, topleft.y + h);\n }\n\n contains(point: GlobalPoint): boolean {\n return (\n this.topLeft.x <= point.x &&\n this.topRight.x >= point.x &&\n this.topLeft.y <= point.y &&\n this.botLeft.y >= point.y\n );\n }\n\n offset(vector: Vector): BoundingRect {\n return new BoundingRect(this.topLeft.add(vector), this.w, this.h);\n }\n\n union(other: BoundingRect): BoundingRect {\n const xmin = Math.min(this.topLeft.x, other.topLeft.x);\n const xmax = Math.max(this.topRight.x, other.topRight.x);\n const ymin = Math.min(this.topLeft.y, other.topLeft.y);\n const ymax = Math.max(this.botLeft.y, other.botLeft.y);\n return new BoundingRect(new GlobalPoint(xmin, ymin), xmax - xmin, ymax - ymin);\n }\n\n getDiagCorner(botright: boolean) {\n return botright ? this.botRight : this.topLeft;\n }\n\n intersectsWith(other: BoundingRect): boolean {\n return !(\n other.topLeft.x > this.topRight.x ||\n other.topRight.x < this.topLeft.x ||\n other.topLeft.y > this.botLeft.y ||\n other.botLeft.y < this.topLeft.y\n );\n }\n\n intersectsWithInner(other: BoundingRect): boolean {\n return !(\n other.topLeft.x >= this.topRight.x ||\n other.topRight.x <= this.topLeft.x ||\n other.topLeft.y >= this.botLeft.y ||\n other.botLeft.y <= this.topLeft.y\n );\n }\n\n intersectP(ray: Ray, invDir: Vector, dirIsNeg: boolean[]) {\n let txmin = invDir.x * (this.getDiagCorner(dirIsNeg[0]).x - ray.origin!.x);\n let txmax = invDir.x * (this.getDiagCorner(!dirIsNeg[0]).x - ray.origin!.x);\n const tymin = invDir.y * (this.getDiagCorner(dirIsNeg[1]).y - ray.origin!.y);\n const tymax = invDir.y * (this.getDiagCorner(!dirIsNeg[1]).y - ray.origin!.y);\n if (txmin > tymax || tymin > txmax) return { hit: false, min: txmin, max: txmax };\n if (tymin > txmin) txmin = tymin;\n if (tymax < txmax) txmax = tymax;\n return { hit: txmin < ray.tMax! && txmax > 0, min: txmin, max: txmax };\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {\n if (centerPoint === undefined) return this.topLeft.add(new Vector(this.w / 2, this.h / 2));\n this.topLeft.x = centerPoint.x - this.w / 2;\n this.topLeft.y = centerPoint.y - this.h / 2;\n }\n inCorner(point: GlobalPoint, corner: string) {\n const sw = Math.min(6, this.w / 2) / 2;\n switch (corner) {\n case \"ne\":\n return (\n this.topRight.x - sw <= point.x &&\n point.x <= this.topRight.x + sw &&\n this.topLeft.y - sw <= point.y &&\n point.y <= this.topLeft.y + sw\n );\n case \"nw\":\n return (\n this.topLeft.x - sw <= point.x &&\n point.x <= this.topLeft.x + sw &&\n this.topLeft.y - sw <= point.y &&\n point.y <= this.topLeft.y + sw\n );\n case \"sw\":\n return (\n this.topLeft.x - sw <= point.x &&\n point.x <= this.topLeft.x + sw &&\n this.botLeft.y - sw <= point.y &&\n point.y <= this.botLeft.y + sw\n );\n case \"se\":\n return (\n this.topRight.x - sw <= point.x &&\n point.x <= this.topRight.x + sw &&\n this.botLeft.y - sw <= point.y &&\n point.y <= this.botLeft.y + sw\n );\n default:\n return false;\n }\n }\n getCorner(point: GlobalPoint): string | undefined {\n if (this.inCorner(point, \"ne\")) return \"ne\";\n else if (this.inCorner(point, \"nw\")) return \"nw\";\n else if (this.inCorner(point, \"se\")) return \"se\";\n else if (this.inCorner(point, \"sw\")) return \"sw\";\n }\n\n getMaxExtent() {\n return this.w > this.h ? 0 : 1;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"formcontainer\"}},[(_vm.owned || _vm.joined)?_c('form',[_c('fieldset',[_c('legend',{staticClass:\"legend\"},[_vm._v(\"Your sessions\")]),_c('div',{staticClass:\"input\"},[_vm._l((_vm.owned),function(room,i){return _c('router-link',{key:'o-'+i,attrs:{\"to\":'/game/' + room[1] + '/' + room[0]}},[_vm._v(_vm._s(room[0]))])}),_vm._l((_vm.joined),function(room,i){return _c('router-link',{key:'j-'+i,attrs:{\"to\":'/game/' + room[1] + '/' + room[0]}},[_vm._v(_vm._s(room[1])+\"/\"+_vm._s(room[0]))])})],2),(_vm.owned.length === 0)?_c('div',{staticClass:\"input\"},[_vm._v(\"No active sessions\")]):_vm._e()])]):_vm._e(),_vm._m(0),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.createRoom($event)}}},[_c('fieldset',[(!_vm.owned && !_vm.joined)?_c('legend',{staticClass:\"legend\"},[_vm._v(\"Create a session\")]):_c('div',{staticClass:\"input\"},[_vm._v(\"Create a new session\")]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newSessionName),expression:\"newSessionName\"}],attrs:{\"type\":\"text\",\"name\":\"room_name\",\"placeholder\":\"Session Name\"},domProps:{\"value\":(_vm.newSessionName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newSessionName=$event.target.value}}}),_vm._m(1)]),_vm._m(2)])]),_c('div',{attrs:{\"id\":\"account-options\"}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();}}},[_c('router-link',{staticClass:\"submit\",attrs:{\"tag\":\"button\",\"title\":\"Account Settings\",\"to\":\"/account\"}},[_c('i',{staticClass:\"fas fa-cog\"})])],1),_c('form',{on:{\"submit\":function($event){$event.preventDefault();}}},[_c('router-link',{staticClass:\"submit\",attrs:{\"tag\":\"button\",\"title\":\"Logout\",\"to\":\"/auth/logout\"}},[_c('i',{staticClass:\"fas fa-sign-out-alt\"})])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',[_c('span',[_vm._v(\"OR\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fab fa-d-and-d\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"submit\",attrs:{\"type\":\"submit\",\"title\":\"Create\"}},[_c('i',{staticClass:\"fas fa-arrow-right\"})])}]\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=template&id=61eb1455&scoped=true&\"","/*\nThis module defines some Point classes.\nA strong focus is made to ensure that at no time a global and a local point are mixed up with each other.\nAt first glance this adds weird looking hacks as ts does not support nominal typing.\n*/\n\nexport function getPointDistance(p1: Point, p2: Point) {\n const a = p1.x - p2.x;\n const b = p1.y - p2.y;\n return Math.sqrt(a * a + b * b);\n}\n\nexport class Point {\n x: number;\n y: number;\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n }\n add(vec: Vector) {\n return new Point(this.x + vec.x, this.y + vec.y);\n }\n subtract(other: Point) {\n return new Vector(this.x - other.x, this.y - other.y);\n }\n clone(): Point {\n return new Point(this.x, this.y);\n }\n get(dimension: 0 | 1) {\n if (dimension === 0) return this.x;\n return this.y;\n }\n}\nexport class GlobalPoint extends Point {\n // This is to differentiate with LocalPoint, is actually never used\n // We do ! to prevent errors that it never gets initialized\n // tslint:disable-next-line:variable-name\n _GlobalPoint!: string;\n add(vec: Vector): GlobalPoint {\n return super.add(vec);\n }\n subtract(other: GlobalPoint): Vector {\n return super.subtract(other);\n }\n clone(): GlobalPoint {\n return super.clone();\n }\n}\n\nexport class LocalPoint extends Point {\n // This is to differentiate with GlobalPoint, is actually never used\n // We do ! to prevent errors that it never gets initialized\n // tslint:disable-next-line:variable-name\n _LocalPoint!: string;\n add(vec: Vector): LocalPoint {\n return super.add(vec);\n }\n subtract(other: LocalPoint): Vector {\n return super.subtract(other);\n }\n clone(): LocalPoint {\n return super.clone();\n }\n}\n\nexport class Vector {\n readonly x: number;\n readonly y: number;\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n }\n dot(other: Vector) {\n return this.x * other.x + this.y * other.y;\n }\n inverse() {\n return new Vector(1 / this.x, 1 / this.y);\n }\n length() {\n return Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2));\n }\n normalize() {\n const l = this.length();\n return new Vector(this.x / l, this.y / l);\n }\n reverse() {\n return new Vector(-this.x, -this.y);\n }\n multiply(scale: number) {\n return new Vector(this.x * scale, this.y * scale);\n }\n}\n\nexport class Ray {\n readonly direction: Vector;\n readonly origin: T;\n tMax: number;\n constructor(origin: T, direction: Vector, tMax?: number) {\n this.direction = direction;\n this.origin = origin;\n if (tMax === undefined) tMax = Infinity;\n this.tMax = tMax;\n }\n static fromPoints(p1: T, p2: T): Ray {\n const vec = new Vector(p2.x - p1.x, p2.y - p1.y);\n let maxT;\n if (Math.abs(vec.x) > 0.01) maxT = (p2.x - p1.x) / vec.x;\n else maxT = (p2.y - p1.y) / vec.y;\n return new Ray(p1, vec, maxT);\n }\n get(t: number): T {\n return new Point(this.origin.x + t * this.direction.x, this.origin.y + t * this.direction.y);\n }\n getDistance(t1: number, t2: number) {\n return Math.sqrt(Math.pow(t2 - t1, 2) * (Math.pow(this.direction.x, 2) + Math.pow(this.direction.y, 2)));\n }\n getT(t1: number, distance: number) {\n return t1 + Math.sqrt(Math.pow(distance, 2) / (Math.pow(this.direction.x, 2) + Math.pow(this.direction.y, 2)));\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport vueSlider from \"vue-slider-component\";\n\nimport \"@/game/api/events\";\n\nimport { throttle } from \"lodash\";\nimport { mapGetters, mapState } from \"vuex\";\n\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\nimport Initiative from \"@/game/ui/initiative.vue\";\nimport MenuBar from \"@/game/ui/menu/menu.vue\";\nimport NoteDialog from \"@/game/ui/note.vue\";\nimport SelectionInfo from \"@/game/ui/selection/selection_info.vue\";\nimport Tools from \"@/game/ui/tools/tools.vue\";\n\nimport { createConnection, socket } from \"@/game/api/socket\";\nimport { onKeyDown, onKeyUp } from \"@/game/events/keyboard\";\nimport { scrollZoom } from \"@/game/events/mouse\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { LocalPoint } from \"./geom\";\n\n@Component({\n components: {\n \"tool-bar\": Tools,\n \"selection-info\": SelectionInfo,\n \"prompt-dialog\": Prompt,\n \"confirm-dialog\": ConfirmDialog,\n \"menu-bar\": MenuBar,\n \"initiative-dialog\": Initiative,\n \"zoom-slider\": vueSlider,\n \"note-dialog\": NoteDialog,\n },\n beforeRouteEnter(to, from, next) {\n createConnection(to);\n next();\n },\n beforeRouteLeave(to, from, next) {\n socket.disconnect();\n next();\n },\n})\nexport default class Game extends Vue {\n $refs!: {\n confirm: InstanceType;\n tools: InstanceType;\n };\n\n ready = {\n manager: false,\n tools: false,\n };\n\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n\n get layers(): string[] {\n return gameStore.layers;\n }\n\n get selectedLayer(): string {\n return gameStore.selectedLayer;\n }\n\n get zoomFactor(): number {\n return gameStore.zoomFactor;\n }\n\n set zoomFactor(value: number) {\n gameStore.updateZoom({\n newZoomValue: value,\n zoomLocation: l2g(new LocalPoint(window.innerWidth / 2, window.innerHeight / 2)),\n });\n }\n\n mounted() {\n window.addEventListener(\"resize\", () => {\n layerManager.setWidth(window.innerWidth);\n layerManager.setHeight(window.innerHeight);\n layerManager.invalidate();\n });\n window.addEventListener(\"wheel\", throttle(scrollZoom));\n window.addEventListener(\"keyup\", onKeyUp);\n window.addEventListener(\"keydown\", onKeyDown);\n // // prevent double clicking text selection\n window.addEventListener(\"selectstart\", e => {\n e.preventDefault();\n return false;\n });\n this.ready.manager = true;\n }\n\n mousedown(event: MouseEvent) {\n this.$refs.tools.mousedown(event);\n }\n mouseup(event: MouseEvent) {\n this.$refs.tools.mouseup(event);\n }\n mousemove(event: MouseEvent) {\n this.$refs.tools.mousemove(event);\n }\n mouseleave(event: MouseEvent) {\n this.$refs.tools.mouseleave(event);\n }\n contextmenu(event: MouseEvent) {\n this.$refs.tools.contextmenu(event);\n }\n selectLayer(layer: string) {\n layerManager.selectLayer(layer);\n }\n drop(event: DragEvent) {\n if (event === null || event.dataTransfer === null) return;\n if (event.dataTransfer.files.length > 0) {\n this.$refs.confirm\n .open(\"Uploading files should be done through the asset manager.\", \"Ok\", \"\")\n .then(() => {}, () => {});\n } else if (event.dataTransfer.getData(\"text/plain\") === \"\") {\n return;\n } else {\n layerManager.dropAsset(event);\n }\n }\n}\n","import { GlobalPoint, LocalPoint, Ray } from \"@/game/geom\";\nimport { gameStore } from \"@/game/store\";\n\nexport function g2l(obj: GlobalPoint): LocalPoint {\n const z = gameStore.zoomFactor;\n const panX = gameStore.panX;\n const panY = gameStore.panY;\n return new LocalPoint((obj.x + panX) * z, (obj.y + panY) * z);\n}\n\nexport function g2lx(x: number) {\n return g2l(new GlobalPoint(x, 0)).x;\n}\n\nexport function g2ly(y: number) {\n return g2l(new GlobalPoint(0, y)).y;\n}\n\nexport function g2lz(z: number) {\n return z * gameStore.zoomFactor;\n}\n\nexport function getUnitDistance(r: number) {\n return (r / gameStore.unitSize) * gameStore.gridSize;\n}\n\nexport function g2lr(r: number) {\n return g2lz(getUnitDistance(r));\n}\n\nexport function l2g(obj: LocalPoint): GlobalPoint;\nexport function l2g(obj: Ray): Ray;\nexport function l2g(obj: LocalPoint | Ray): GlobalPoint | Ray {\n const z = gameStore.zoomFactor;\n const panX = gameStore.panX;\n const panY = gameStore.panY;\n if (obj instanceof LocalPoint) {\n return new GlobalPoint(obj.x / z - panX, obj.y / z - panY);\n } else {\n return new Ray(l2g(obj.origin), obj.direction.multiply(1 / z), obj.tMax);\n }\n}\n\nexport function l2gx(x: number) {\n return l2g(new LocalPoint(x, 0)).x;\n}\n\nexport function l2gy(y: number) {\n return l2g(new LocalPoint(0, y)).y;\n}\n\nexport function l2gz(z: number) {\n return z / gameStore.zoomFactor;\n}\n\nexport function l2gr(r: number) {\n return l2gz(getUnitDistance(r));\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { mapState } from \"vuex\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\nimport AssetNode from \"@/game/ui/menu/asset_node.vue\";\nimport NoteDialog from \"@/game/ui/note.vue\";\n\nimport { getRef, uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { Note } from \"@/game/comm/types/general\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n \"color-picker\": ColorPicker,\n \"asset-node\": AssetNode,\n },\n computed: {\n ...mapState(\"game\", [\"invitationCode\", \"IS_DM\", \"locations\", \"assets\", \"notes\"]),\n },\n})\nexport default class MenuBar extends Vue {\n visible = {\n settings: false,\n locations: false,\n };\n\n get useGrid(): boolean {\n return gameStore.useGrid;\n }\n set useGrid(value: boolean) {\n gameStore.setUseGrid({ useGrid: value, sync: true });\n }\n get fullFOW(): boolean {\n return gameStore.fullFOW;\n }\n set fullFOW(value: boolean) {\n gameStore.setFullFOW({ fullFOW: value, sync: true });\n }\n get fowOpacity(): number {\n return gameStore.fowOpacity;\n }\n set fowOpacity(value: number) {\n if (typeof value !== \"number\") return;\n gameStore.setFOWOpacity({ fowOpacity: value, sync: true });\n }\n get fowLOS(): boolean {\n return gameStore.fowLOS;\n }\n set fowLOS(value: boolean) {\n gameStore.setLineOfSight({ fowLOS: value, sync: true });\n }\n get unitSize(): number {\n return gameStore.unitSize;\n }\n set unitSize(value: number) {\n if (typeof value !== \"number\") return;\n gameStore.setUnitSize({ unitSize: value, sync: true });\n }\n get gridSize(): number {\n return gameStore.gridSize;\n }\n set gridSize(value: number) {\n if (typeof value !== \"number\") return;\n gameStore.setGridSize({ gridSize: value, sync: true });\n }\n get gridColour(): string {\n return gameStore.gridColour;\n }\n set gridColour(value: string) {\n gameStore.setGridColour({ colour: value, sync: true });\n }\n get fowColour(): string {\n return gameStore.fowColour;\n }\n set fowColour(value: string) {\n gameStore.setFOWColour({ colour: value, sync: true });\n }\n get rulerColour(): string {\n return gameStore.rulerColour;\n }\n set rulerColour(value: string) {\n gameStore.setRulerColour({ colour: value, sync: true });\n }\n settingsClick(event: { target: HTMLElement }) {\n if (event.target.classList.contains(\"accordion\")) {\n event.target.classList.toggle(\"accordion-active\");\n const next = event.target.nextElementSibling;\n if (next !== null) next.style.display = next.style.display === \"\" ? \"block\" : \"\";\n }\n }\n changeLocation(name: string) {\n socket.emit(\"Location.Change\", name);\n }\n createLocation() {\n getRef(\"prompt\")\n .prompt(`New location name:`, `Create new location`)\n .then(\n (value: string) => {\n socket.emit(\"Location.New\", value);\n },\n () => {},\n );\n }\n createNote() {\n const note = { title: \"New note\", text: \"\", uuid: uuidv4() };\n gameStore.newNote({ note, sync: true });\n this.openNote(note);\n }\n openNote(note: Note) {\n getRef(\"note\").open(note);\n }\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=style&index=0&id=5c4191ca&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=style&index=0&id=5c4191ca&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ContextMenu',{attrs:{\"visible\":_vm.visible,\"left\":_vm.x + 'px',\"top\":_vm.y + 'px'},on:{\"close\":_vm.close}},[(_vm.IS_DM)?_c('li',{on:{\"click\":_vm.bringPlayers}},[_vm._v(\"Bring players\")]):_vm._e(),_c('li',{on:{\"click\":_vm.createToken}},[_vm._v(\"Create basic token\")]),_c('li',{on:{\"click\":_vm.showInitiative}},[_vm._v(\"Show initiative\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=template&id=44a31e42&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=style&index=0&id=7111f3f6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=style&index=0&id=7111f3f6&scoped=true&lang=css&\"","import Initiative from \"./ui/initiative.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { createShapeFromDict } from \"@/game/shapes/utils\";\nimport { gameStore } from \"@/game/store\";\nimport { AnnotationManager } from \"@/game/ui/annotation\";\nimport { g2l } from \"@/game/units\";\n\nexport class GameManager {\n selectedTool: number = 0;\n\n annotationManager = new AnnotationManager();\n\n addShape(shape: ServerShape): void {\n if (!layerManager.hasLayer(shape.layer)) {\n console.log(`Shape with unknown layer ${shape.layer} could not be added`);\n return;\n }\n const layer = layerManager.getLayer(shape.layer)!;\n const sh = createShapeFromDict(shape);\n if (sh === undefined) {\n console.log(`Shape with unknown type ${shape.type_} could not be added`);\n return;\n }\n layer.addShape(sh, false);\n layer.invalidate(false);\n }\n\n updateShape(data: { shape: ServerShape; redraw: boolean; move: boolean }): void {\n if (!layerManager.hasLayer(data.shape.layer)) {\n console.log(`Shape with unknown layer ${data.shape.layer} could not be added`);\n return;\n }\n const sh = createShapeFromDict(data.shape, true);\n if (sh === undefined) {\n console.log(`Shape with unknown type ${data.shape.type_} could not be added`);\n return;\n }\n const oldShape = layerManager.UUIDMap.get(data.shape.uuid);\n if (oldShape === undefined) {\n console.log(`Shape with unknown id could not be updated`);\n return;\n }\n const redrawInitiative = sh.owners !== oldShape.owners;\n const shape = Object.assign(oldShape, sh);\n shape.checkVisionSources();\n shape.setMovementBlock(shape.movementObstruction);\n shape.setIsToken(shape.isToken);\n if (data.move && shape.visionObstruction) gameStore.recalculateBV();\n if (data.redraw) layerManager.getLayer(data.shape.layer)!.invalidate(false);\n if (redrawInitiative) getRef(\"initiative\").$forceUpdate();\n }\n\n setCenterPosition(position: GlobalPoint) {\n const localPos = g2l(position);\n gameStore.increasePanX((window.innerWidth / 2 - localPos.x) / gameStore.zoomFactor);\n gameStore.increasePanY((window.innerHeight / 2 - localPos.y) / gameStore.zoomFactor);\n layerManager.invalidate();\n sendClientOptions();\n }\n}\n\nexport const gameManager = new GameManager();\n(window).gameManager = gameManager;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"visible\":_vm.visible,\"mask\":false},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_c('div',[_vm._v(\"Initiative\")]),_c('div',{staticClass:\"header-close\",on:{\"click\":function($event){_vm.visible = false}}},[_c('i',{staticClass:\"far fa-window-close\"})])])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('draggable',{attrs:{\"id\":\"initiative-list\",\"options\":{setData: _vm.fakeSetData, disabled: !_vm.$store.state.game.IS_DM}},on:{\"change\":_vm.updateOrder},model:{value:(_vm.data),callback:function ($$v) {_vm.data=$$v},expression:\"data\"}},[_vm._l((_vm.data),function(actor){return [_c('div',{key:actor.uuid,staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"align-items\":\"flex-end\"}},[_c('div',{staticClass:\"initiative-actor\",class:{'initiative-selected': _vm.currentActor === actor.uuid},style:({'cursor': _vm.$store.state.game.IS_DM && 'move'}),on:{\"mouseenter\":function($event){_vm.toggleHighlight(actor, true)},\"mouseleave\":function($event){_vm.toggleHighlight(actor, false)}}},[(actor.has_img)?[_c('img',{attrs:{\"src\":actor.source,\"width\":\"30px\",\"height\":\"30px\"}})]:[_c('span',{staticStyle:{\"width\":\"auto\"}},[_vm._v(_vm._s(actor.source))])],_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy.number\",value:(actor.initiative),expression:\"actor.initiative\",modifiers:{\"lazy\":true,\"number\":true}}],class:{'notAllowed': !_vm.owns(actor)},attrs:{\"type\":\"text\",\"placeholder\":\"value\",\"disabled\":!_vm.owns(actor)},domProps:{\"value\":(actor.initiative)},on:{\"change\":[function($event){_vm.$set(actor, \"initiative\", _vm._n($event.target.value))},function($event){_vm.syncInitiative(actor)}],\"blur\":function($event){_vm.$forceUpdate()}}}),_c('div',{staticClass:\"initiative-effects-icon\",class:{'notAllowed': !_vm.owns(actor)},staticStyle:{\"opacity\":\"0.6\"},on:{\"click\":function($event){_vm.createEffect(actor, _vm.getDefaultEffect(), true)}}},[_c('i',{staticClass:\"fas fa-stopwatch\"}),(actor.effects)?[_vm._v(_vm._s(actor.effects.length))]:[_vm._v(\"0\")]],2),_c('div',{class:{'notAllowed': !_vm.owns(actor)},style:({'opacity': actor.visible ? '1.0' : '0.3'}),on:{\"click\":function($event){_vm.toggleOption(actor, 'visible')}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('div',{class:{'notAllowed': !_vm.owns(actor)},style:({'opacity': actor.group ? '1.0' : '0.3'}),on:{\"click\":function($event){_vm.toggleOption(actor, 'group')}}},[_c('i',{staticClass:\"fas fa-users\"})]),_c('div',{class:{'notAllowed': !_vm.owns(actor)},style:({'opacity': _vm.owns(actor) ? '1.0' : '0.3'}),on:{\"click\":function($event){_vm.removeInitiative(actor.uuid, true, true)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})])],2),(actor.effects)?_c('div',{staticClass:\"initiative-effect\"},_vm._l((actor.effects),function(effect){return _c('div',{key:effect.uuid},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(effect.name),expression:\"effect.name\"}],attrs:{\"type\":\"text\",\"size\":effect.name.length || 1},domProps:{\"value\":(effect.name)},on:{\"change\":function($event){_vm.updateEffect(actor.uuid, effect, true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(effect, \"name\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(effect.turns),expression:\"effect.turns\"}],attrs:{\"type\":\"text\",\"size\":effect.turns.toString().length || 1},domProps:{\"value\":(effect.turns)},on:{\"change\":function($event){_vm.updateEffect(actor.uuid, effect, true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(effect, \"turns\", $event.target.value)}}})])})):_vm._e()])]})],2),_c('div',{attrs:{\"id\":\"initiative-bar\"}},[_c('div',{attrs:{\"id\":\"initiative-round\"}},[_vm._v(\"Round \"+_vm._s(_vm.roundCounter))]),_c('div',{staticStyle:{\"display\":\"flex\"}}),_c('div',{staticClass:\"initiative-bar-button\",class:{'notAllowed': !_vm.$store.state.game.IS_DM},on:{\"click\":function($event){_vm.setRound(0, true); _vm.setTurn(_vm.data[0].uuid, true)}}},[_c('i',{staticClass:\"fas fa-sync-alt\"})]),_c('div',{staticClass:\"initiative-bar-button\",class:{'notAllowed': !_vm.$store.state.game.IS_DM},on:{\"click\":_vm.nextTurn}},[_c('i',{staticClass:\"fas fa-chevron-right\"})])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=template&id=ccaf03d6&scoped=true&\"","\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class LoadComponent extends Vue {\n message = \"Loading...\";\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport axios, { AxiosError, AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Route } from \"vue-router\";\n\nimport { coreStore } from \"@/core/store\";\n\nComponent.registerHooks([\"beforeRouteEnter\"]);\n\n@Component\nexport default class Dashboard extends Vue {\n owned = [];\n joined = [];\n error = \"\";\n\n newSessionName = \"\";\n\n beforeRouteEnter(to: Route, from: Route, next: ({}) => {}) {\n axios\n .get(\"/api/rooms\")\n .then((response: AxiosResponse) => {\n next((vm: this) => {\n vm.owned = response.data.owned;\n vm.joined = response.data.joined;\n });\n })\n .catch((err: AxiosError) => {\n next((vm: this) => {\n vm.error = err.message;\n });\n });\n }\n\n createRoom(event: Event) {\n axios\n .post(\"/api/rooms\", {\n name: this.newSessionName,\n })\n .then((response: AxiosResponse) => {\n this.$router.push(`/game/${coreStore.username}/${this.newSessionName}`);\n })\n .catch((err: AxiosError) => {\n this.error = err.message;\n });\n }\n}\n","import { render, staticRenderFns } from \"./confirm.vue?vue&type=template&id=1883e207&scoped=true&\"\nimport script from \"./confirm.vue?vue&type=script&lang=ts&\"\nexport * from \"./confirm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./confirm.vue?vue&type=style&index=0&id=1883e207&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1883e207\",\n null\n \n)\n\ncomponent.options.__file = \"confirm.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.selected)?_c('div',{staticClass:\"tool-detail\",style:({'--detailRight': _vm.detailRight, '--detailArrow': _vm.detailArrow})},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.IS_DM),expression:\"IS_DM\"}]},[_vm._v(\"Mode\")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.IS_DM),expression:\"IS_DM\"}],staticClass:\"selectgroup\"},_vm._l((_vm.modes),function(mode){return _c('div',{key:mode,staticClass:\"option\",class:{'option-selected': _vm.modeSelect === mode},on:{\"click\":function($event){_vm.modeSelect = mode}}},[_vm._v(_vm._s(mode))])})),_c('div',[_vm._v(\"Shape\")]),_c('div',{staticClass:\"selectgroup\"},_vm._l((_vm.shapes),function(shape){return _c('div',{key:shape,staticClass:\"option\",class:{'option-selected': _vm.shapeSelect === shape},on:{\"click\":function($event){_vm.shapeSelect = shape}}},[_c('i',{staticClass:\"fas\",class:'fa-' + shape})])})),_c('div',[_vm._v(\"Colours\")]),_c('div',{staticClass:\"selectgroup\"},[_c('color-picker',{staticClass:\"option\",attrs:{\"color\":_vm.fillColour},on:{\"update:color\":function($event){_vm.fillColour=$event}}}),_c('color-picker',{staticClass:\"option\",attrs:{\"color\":_vm.borderColour},on:{\"update:color\":function($event){_vm.borderColour=$event}}})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shapeSelect === 'paint-brush'),expression:\"shapeSelect === 'paint-brush'\"}]},[_vm._v(\"Brush size\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.brushSize),expression:\"brushSize\"},{name:\"show\",rawName:\"v-show\",value:(_vm.shapeSelect === 'paint-brush'),expression:\"shapeSelect === 'paint-brush'\"}],staticStyle:{\"max-width\":\"100px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.brushSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.brushSize=$event.target.value}}})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=template&id=5c4191ca&scoped=true&\"","import Vue from \"vue\";\nexport const EventBus = new Vue();\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"menuContainer\"}},[_c('div',{ref:\"rm\",style:({\n left: _vm.visible.settings ? '200px' : '0',\n top: _vm.visible.locations ? '100px' : '0'\n }),attrs:{\"id\":\"radialmenu\"}},[_c('div',{staticClass:\"rm-wrapper\"},[_c('div',{staticClass:\"rm-toggler\"},[_c('ul',{staticClass:\"rm-list\",class:{ 'rm-list-dm': _vm.IS_DM }},[(_vm.IS_DM)?_c('li',{staticClass:\"rm-item\",attrs:{\"id\":\"rm-locations\"},on:{\"click\":function($event){_vm.visible.locations = !_vm.visible.locations}}},[_vm._m(0)]):_vm._e(),_c('li',{staticClass:\"rm-item\",attrs:{\"id\":\"rm-settings\"},on:{\"click\":function($event){_vm.visible.settings = !_vm.visible.settings}}},[_vm._m(1)])])]),_vm._m(2)])]),_c('transition',{attrs:{\"name\":\"settings\"},on:{\"enter\":function($event){_vm.$refs.rm.style.transition = 'left 500ms'}}},[(_vm.visible.settings)?_c('div',{ref:\"settings\",attrs:{\"id\":\"menu\"},on:{\"click\":_vm.settingsClick}},[_c('div',{staticStyle:{\"width\":\"200px\",\"height\":\"90%\",\"overflow-y\":\"auto\",\"overflow-x\":\"hidden\"}},[(_vm.IS_DM)?[_c('button',{staticClass:\"accordion\"},[_vm._v(\"Assets\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('a',{staticClass:\"actionButton\",attrs:{\"href\":\"/assets\",\"target\":\"blank\",\"title\":\"Open asset manager\"}},[_c('i',{staticClass:\"fas fa-external-link-alt\"})]),_c('div',{staticClass:\"directory\",attrs:{\"id\":\"menu-tokens\"}},[_c('asset-node',{attrs:{\"asset\":_vm.assets}}),(!_vm.assets)?_c('div',[_vm._v(\"No assets\")]):_vm._e()],1)]),_c('button',{staticClass:\"accordion\"},[_vm._v(\"Notes\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('div',{staticClass:\"accordion-subpanel\",attrs:{\"id\":\"menu-notes\"}},[_c('a',{staticClass:\"actionButton\",on:{\"click\":_vm.createNote}},[_c('i',{staticClass:\"far fa-plus-square\"})]),_vm._l((_vm.notes),function(note){return _c('div',{key:note.uuid,staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){_vm.openNote(note)}}},[_vm._v(_vm._s(note.title || \"[?]\"))])}),(!_vm.notes.length)?_c('div',[_vm._v(\"No notes\")]):_vm._e()],2)]),_c('button',{staticClass:\"accordion\"},[_vm._v(\"DM Options\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('div',{staticClass:\"accordion-subpanel\"},[_c('label',{attrs:{\"for\":\"useGridInput\"}},[_vm._v(\"Use grid:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.useGrid),expression:\"useGrid\"}],attrs:{\"id\":\"useGridInput\",\"type\":\"checkbox\",\"checked\":\"checked\"},domProps:{\"checked\":Array.isArray(_vm.useGrid)?_vm._i(_vm.useGrid,null)>-1:(_vm.useGrid)},on:{\"change\":function($event){var $$a=_vm.useGrid,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.useGrid=$$a.concat([$$v]))}else{$$i>-1&&(_vm.useGrid=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.useGrid=$$c}}}}),_c('label',{attrs:{\"for\":\"useFOWInput\"}},[_vm._v(\"Fill entire canvas with FOW:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.fullFOW),expression:\"fullFOW\"}],attrs:{\"id\":\"useFOWInput\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.fullFOW)?_vm._i(_vm.fullFOW,null)>-1:(_vm.fullFOW)},on:{\"change\":function($event){var $$a=_vm.fullFOW,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.fullFOW=$$a.concat([$$v]))}else{$$i>-1&&(_vm.fullFOW=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.fullFOW=$$c}}}}),_c('label',{attrs:{\"for\":\"fowOpacity\"}},[_vm._v(\"FOW opacity:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.fowOpacity),expression:\"fowOpacity\",modifiers:{\"number\":true}}],attrs:{\"id\":\"fowOpacity\",\"type\":\"number\",\"min\":\"0\",\"max\":\"1\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.fowOpacity)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.fowOpacity=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('label',{attrs:{\"for\":\"fowLOS\"}},[_vm._v(\"Only show lights in LoS:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.fowLOS),expression:\"fowLOS\"}],attrs:{\"id\":\"fowLOS\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.fowLOS)?_vm._i(_vm.fowLOS,null)>-1:(_vm.fowLOS)},on:{\"change\":function($event){var $$a=_vm.fowLOS,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.fowLOS=$$a.concat([$$v]))}else{$$i>-1&&(_vm.fowLOS=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.fowLOS=$$c}}}}),_c('label',{attrs:{\"for\":\"unitSizeInput\"}},[_vm._v(\"Unit Size (in ft.):\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.unitSize),expression:\"unitSize\",modifiers:{\"number\":true}}],attrs:{\"id\":\"unitSizeInput\",\"type\":\"number\"},domProps:{\"value\":(_vm.unitSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.unitSize=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('label',{attrs:{\"for\":\"gridSizeInput\"}},[_vm._v(\"Grid Size (in pixels):\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.gridSize),expression:\"gridSize\",modifiers:{\"number\":true}}],attrs:{\"id\":\"gridSizeInput\",\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.gridSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.gridSize=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('label',{attrs:{\"for\":\"invitation\"}},[_vm._v(\"Invitation Code:\")]),_c('input',{attrs:{\"id\":\"invitation\",\"type\":\"text\",\"readonly\":\"readonly\"},domProps:{\"value\":_vm.invitationCode}})])])]:_vm._e(),_c('button',{staticClass:\"accordion\"},[_vm._v(\"Client Options\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('div',{staticClass:\"accordion-subpanel\"},[_c('label',{attrs:{\"for\":\"gridColour\"}},[_vm._v(\"Grid Colour:\")]),_c('color-picker',{attrs:{\"id\":\"gridColour\",\"color\":_vm.gridColour},on:{\"update:color\":function($event){_vm.gridColour=$event}}}),_c('label',{attrs:{\"for\":\"fowColour\"}},[_vm._v(\"FOW Colour:\")]),_c('color-picker',{attrs:{\"id\":\"fowColour\",\"color\":_vm.fowColour},on:{\"update:color\":function($event){_vm.fowColour=$event}}}),_c('label',{attrs:{\"for\":\"rulerColour\"}},[_vm._v(\"Ruler Colour:\")]),_c('color-picker',{attrs:{\"id\":\"rulerColour\",\"color\":_vm.rulerColour},on:{\"update:color\":function($event){_vm.rulerColour=$event}}})],1)])],2),_c('router-link',{staticClass:\"accordion\",staticStyle:{\"text-decoration\":\"none\",\"display\":\"inline-block\",\"position\":\"absolute\",\"bottom\":\"0\"},attrs:{\"to\":\"/dashboard\"}},[_vm._v(\"Exit\")])],1):_vm._e()]),_c('transition',{attrs:{\"name\":\"locations\"},on:{\"enter\":function($event){_vm.$refs.rm.style.transition = 'top 500ms'}}},[(_vm.IS_DM && _vm.visible.locations)?_c('div',{attrs:{\"id\":\"locations-menu\"}},[_c('div',[_vm._l((_vm.locations),function(location){return _c('div',{key:location,on:{\"click\":function($event){_vm.changeLocation(location)}}},[_vm._v(_vm._s(location))])}),_c('div',{on:{\"click\":_vm.createLocation}},[_c('i',{staticClass:\"fas fa-plus\"})])],2)]):_vm._e()]),_c('img',{attrs:{\"id\":\"dragImage\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"#\"}},[_c('i',{staticClass:\"far fa-compass\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"#\"}},[_c('i',{staticClass:\"fas fa-cog\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"rm-topper\"},[_c('i',{staticClass:\"icon-share-alt\"})])}]\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=template&id=081515c4&scoped=true&\"","import { GlobalPoint } from \"@/game/geom\";\nimport { BaseRect } from \"@/game/shapes/baserect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class Rect extends BaseRect {\n type = \"rect\";\n constructor(topleft: GlobalPoint, w: number, h: number, fillColour?: string, strokeColour?: string, uuid?: string) {\n super(topleft, w, h, fillColour, strokeColour, uuid);\n }\n asDict() {\n return super.getBaseDict();\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n if (this.fillColour === \"fog\") ctx.fillStyle = getFogColour();\n else ctx.fillStyle = this.fillColour;\n const z = gameStore.zoomFactor;\n const loc = g2l(this.refPoint);\n ctx.fillRect(loc.x, loc.y, this.w * z, this.h * z);\n if (this.strokeColour !== \"rgba(0, 0, 0, 0)\") {\n ctx.strokeStyle = this.strokeColour;\n ctx.lineWidth = 5;\n ctx.strokeRect(loc.x, loc.y, this.w * z, this.h * z);\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=script&lang=ts&\"","import { Ray, Vector } from \"@/game/geom\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Settings } from \"@/game/settings\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lx, g2ly } from \"@/game/units\";\n\nexport class FOWPlayersLayer extends Layer {\n isVisionLayer: boolean = true;\n\n draw(): void {\n if (!this.valid) {\n const ctx = this.ctx;\n\n if (!gameStore.fowLOS || Settings.skipPlayerFOW) {\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n this.valid = true;\n return;\n }\n\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n const originalOperation = ctx.globalCompositeOperation;\n\n ctx.fillStyle = \"rgba(0, 0, 0, 1)\";\n\n // For the DM this is done at the end of this function. TODO: why the split up ???\n // This was done in commit be1e65cff1e7369375fe11cfa1643fab1d11beab.\n if (!gameStore.IS_DM) super.draw(!gameStore.fullFOW);\n\n // Then cut out all the player vision auras\n const maxLength = ctx.canvas.width + ctx.canvas.height;\n for (const tokenId of gameStore.ownedtokens) {\n ctx.beginPath();\n let lastArcAngle = -1;\n const token = layerManager.UUIDMap.get(tokenId);\n if (token === undefined) continue;\n const center = token.center();\n const lcenter = g2l(center);\n\n for (let angle = 0; angle < 2 * Math.PI; angle += (Settings.angleSteps / 2 / 180) * Math.PI) {\n const cos = Math.cos(angle);\n const sin = Math.sin(angle);\n // Check if there is a hit with one of the nearby light blockers.\n const lightRay = new Ray(center, new Vector(cos, sin));\n const hitResult = gameStore.BV.intersect(lightRay);\n\n // We can move on to the next angle if nothing was hit.\n if (!hitResult.hit) {\n // If an earlier hit caused the aura to leave the arc, we need to go back to the arc\n if (lastArcAngle === -1) {\n // Draw a line from the last non arc location back to the arc\n ctx.lineTo(lcenter.x + maxLength * cos, lcenter.y + maxLength * sin);\n // Set the start of a new arc beginning at the current angle\n lastArcAngle = angle;\n }\n continue;\n }\n // If hit , first finish any ongoing arc, then move to the intersection point\n if (lastArcAngle !== -1) {\n ctx.arc(lcenter.x, lcenter.y, maxLength, lastArcAngle, angle);\n lastArcAngle = -1;\n }\n ctx.lineTo(g2lx(hitResult.intersect.x), g2ly(hitResult.intersect.y));\n }\n\n // Finish the final arc.\n if (lastArcAngle !== -1) ctx.arc(lcenter.x, lcenter.y, maxLength, lastArcAngle, 2 * Math.PI);\n else ctx.closePath();\n ctx.fill();\n }\n\n // For the players this is done at the beginning of this function. TODO: why the split up ???\n // This was done in commit be1e65cff1e7369375fe11cfa1643fab1d11beab.\n if (gameStore.IS_DM) super.draw(!gameStore.fullFOW);\n\n ctx.globalCompositeOperation = originalOperation;\n }\n }\n}\n","import { socket } from \"@/game/api/socket\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { createShapeFromDict } from \"@/game/shapes/utils\";\nimport { gameStore } from \"@/game/store\";\nimport { g2lx, g2ly } from \"@/game/units\";\n\nexport class Layer {\n name: string;\n width: number;\n height: number;\n canvas: HTMLCanvasElement;\n ctx: CanvasRenderingContext2D;\n\n selectable: boolean = false;\n playerEditable: boolean = false;\n isVisionLayer: boolean = false;\n\n // When set to false, the layer will be redrawn on the next tick\n valid: boolean = false;\n // The collection of shapes that this layer contains.\n // These are ordered on a depth basis.\n shapes: Shape[] = [];\n\n // Collection of shapes that are currently selected\n selection: Shape[] = [];\n\n // Extra selection highlighting settings\n selectionColor = \"#CC0000\";\n selectionWidth = 2;\n\n constructor(canvas: HTMLCanvasElement, name: string) {\n this.canvas = canvas;\n this.name = name;\n this.width = canvas.width;\n this.height = canvas.height;\n this.ctx = canvas.getContext(\"2d\")!;\n }\n\n invalidate(skipLightUpdate: boolean): void {\n this.valid = false;\n if (!skipLightUpdate) {\n layerManager.invalidateLight();\n }\n }\n\n addShape(shape: Shape, sync: boolean, temporary?: boolean): void {\n if (temporary === undefined) temporary = false;\n shape.layer = this.name;\n this.shapes.push(shape);\n layerManager.UUIDMap.set(shape.uuid, shape);\n shape.checkVisionSources();\n shape.setMovementBlock(shape.movementObstruction);\n if (shape.ownedBy(gameStore.username) && shape.isToken) gameStore.ownedtokens.push(shape.uuid);\n if (shape.annotation.length) gameStore.annotations.push(shape.uuid);\n if (sync) socket.emit(\"Shape.Add\", { shape: shape.asDict(), temporary });\n this.invalidate(!sync);\n }\n\n setShapes(shapes: ServerShape[]): void {\n for (const serverShape of shapes) {\n const shape = createShapeFromDict(serverShape);\n if (shape === undefined) {\n console.log(`Shape with unknown type ${serverShape.type_} could not be added`);\n return;\n }\n this.addShape(shape, false, false);\n }\n this.clearSelection(); // TODO: Fix keeping selection on those items that are not moved.\n this.invalidate(false);\n }\n\n removeShape(shape: Shape, sync: boolean, temporary?: boolean) {\n if (temporary === undefined) temporary = false;\n this.shapes.splice(this.shapes.indexOf(shape), 1);\n\n if (sync) socket.emit(\"Shape.Remove\", { shape, temporary });\n const lsI = gameStore.visionSources.findIndex(ls => ls.shape === shape.uuid);\n const lbI = gameStore.visionBlockers.findIndex(ls => ls === shape.uuid);\n\n const mbI = gameStore.movementblockers.findIndex(ls => ls === shape.uuid);\n const anI = gameStore.annotations.findIndex(ls => ls === shape.uuid);\n if (lsI >= 0) gameStore.visionSources.splice(lsI, 1);\n if (lbI >= 0) gameStore.visionBlockers.splice(lbI, 1);\n if (mbI >= 0) gameStore.movementblockers.splice(mbI, 1);\n if (anI >= 0) gameStore.annotations.splice(anI, 1);\n\n const annotationIndex = gameStore.annotations.indexOf(shape.uuid);\n if (annotationIndex >= 0) gameStore.annotations.splice(annotationIndex, 1);\n\n const ownedIndex = gameStore.ownedtokens.indexOf(shape.uuid);\n if (ownedIndex >= 0) gameStore.ownedtokens.splice(ownedIndex, 1);\n\n layerManager.UUIDMap.delete(shape.uuid);\n\n const index = this.selection.indexOf(shape);\n if (index >= 0) this.selection.splice(index, 1);\n if (lbI >= 0) gameStore.recalculateBV();\n this.invalidate(!sync);\n }\n\n clear(): void {\n this.ctx.clearRect(0, 0, this.width, this.height);\n }\n\n clearSelection(): void {\n this.selection = [];\n EventBus.$emit(\"SelectionInfo.Shape.Set\", null);\n }\n\n draw(doClear?: boolean): void {\n if (!this.valid) {\n const ctx = this.ctx;\n const ogOP = ctx.globalCompositeOperation;\n doClear = doClear === undefined ? true : doClear;\n\n if (doClear) this.clear();\n\n const state = this;\n\n // We iteratre twice over all shapes\n // First to draw the auras and a second time to draw the shapes themselves\n // Otherwise auras from one shape could be overlapping another shape itself.\n\n this.shapes.forEach(shape => {\n if (shape.options.has(\"skipDraw\") && shape.options.get(\"skipDraw\")) return;\n if (layerManager.getLayer() === undefined) return;\n if (!shape.visibleInCanvas(state.canvas)) return;\n if (state.name === \"fow\" && shape.visionObstruction && layerManager.getLayer()!.name !== state.name)\n return;\n shape.drawAuras(ctx);\n });\n this.shapes.forEach(shape => {\n if (shape.options.has(\"skipDraw\") && shape.options.get(\"skipDraw\")) return;\n if (layerManager.getLayer() === undefined) return;\n if (!shape.visibleInCanvas(state.canvas)) return;\n if (state.name === \"fow\" && shape.visionObstruction && layerManager.getLayer()!.name !== state.name)\n return;\n shape.draw(ctx);\n });\n\n if (this.selection != null) {\n ctx.fillStyle = this.selectionColor;\n ctx.strokeStyle = this.selectionColor;\n ctx.lineWidth = this.selectionWidth;\n const z = gameStore.zoomFactor;\n this.selection.forEach(sel => {\n ctx.globalCompositeOperation = sel.globalCompositeOperation;\n const bb = sel.getBoundingBox();\n // TODO: REFACTOR THIS TO Shape.drawSelection(ctx);\n ctx.strokeRect(g2lx(bb.topLeft.x), g2ly(bb.topLeft.y), bb.w * z, bb.h * z);\n\n const sw = Math.min(6, bb.w / 2);\n\n // topright\n ctx.fillRect(g2lx(bb.topRight.x - sw / 2), g2ly(bb.topLeft.y - sw / 2), sw * z, sw * z);\n // topleft\n ctx.fillRect(g2lx(bb.topLeft.x - sw / 2), g2ly(bb.topLeft.y - sw / 2), sw * z, sw * z);\n // botright\n ctx.fillRect(g2lx(bb.topRight.x - sw / 2), g2ly(bb.botLeft.y - sw / 2), sw * z, sw * z);\n // botleft\n ctx.fillRect(g2lx(bb.topLeft.x - sw / 2), g2ly(bb.botLeft.y - sw / 2), sw * z, sw * z);\n });\n }\n ctx.globalCompositeOperation = ogOP;\n this.valid = true;\n }\n }\n\n moveShapeOrder(shape: Shape, destinationIndex: number, sync: boolean): void {\n const oldIdx = this.shapes.indexOf(shape);\n if (oldIdx === destinationIndex) return;\n this.shapes.splice(oldIdx, 1);\n this.shapes.splice(destinationIndex, 0, shape);\n if (sync) socket.emit(\"Shape.Order.Set\", { shape: shape.asDict(), index: destinationIndex });\n this.invalidate(true);\n }\n\n onShapeMove(shape: Shape): void {\n shape.checkVisionSources();\n if (shape.visionObstruction) gameStore.recalculateBV();\n this.invalidate(false);\n }\n}\n","import { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\n\nexport function scrollZoom(e: WheelEvent) {\n if (!e.target || !(e.target).tagName || (e.target).tagName !== \"CANVAS\") return;\n let delta: number;\n delta = Math.sign(e.deltaY) * -1;\n gameStore.updateZoom({ newZoomValue: gameStore.zoomFactor + 0.1 * delta, zoomLocation: l2g(getMouse(e)) });\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=style&index=0&id=62c91cd3&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=style&index=0&id=62c91cd3&scoped=true&lang=css&\"","import { GlobalPoint, LocalPoint, Vector } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\nimport { g2lx, g2ly, l2g, l2gx, l2gy } from \"@/game/units\";\n\nexport abstract class BaseRect extends Shape {\n w: number;\n h: number;\n constructor(topleft: GlobalPoint, w: number, h: number, fillColour?: string, strokeColour?: string, uuid?: string) {\n super(topleft, fillColour, strokeColour, uuid);\n this.w = w;\n this.h = h;\n }\n getBaseDict() {\n return Object.assign(super.getBaseDict(), {\n width: this.w,\n height: this.h,\n });\n }\n getBoundingBox() {\n return new BoundingRect(this.refPoint, this.w, this.h);\n }\n contains(point: GlobalPoint): boolean {\n return (\n this.refPoint.x <= point.x &&\n this.refPoint.x + this.w >= point.x &&\n this.refPoint.y <= point.y &&\n this.refPoint.y + this.h >= point.y\n );\n }\n inCorner(point: GlobalPoint, corner: string) {\n switch (corner) {\n case \"ne\":\n return (\n this.refPoint.x + this.w - 3 <= point.x &&\n point.x <= this.refPoint.x + this.w + 3 &&\n this.refPoint.y - 3 <= point.y &&\n point.y <= this.refPoint.y + 3\n );\n case \"nw\":\n return (\n this.refPoint.x - 3 <= point.x &&\n point.x <= this.refPoint.x + 3 &&\n this.refPoint.y - 3 <= point.y &&\n point.y <= this.refPoint.y + 3\n );\n case \"sw\":\n return (\n this.refPoint.x - 3 <= point.x &&\n point.x <= this.refPoint.x + 3 &&\n this.refPoint.y + this.h - 3 <= point.y &&\n point.y <= this.refPoint.y + this.h + 3\n );\n case \"se\":\n return (\n this.refPoint.x + this.w - 3 <= point.x &&\n point.x <= this.refPoint.x + this.w + 3 &&\n this.refPoint.y + this.h - 3 <= point.y &&\n point.y <= this.refPoint.y + this.h + 3\n );\n default:\n return false;\n }\n }\n getCorner(point: GlobalPoint): string | undefined {\n if (this.inCorner(point, \"ne\")) return \"ne\";\n else if (this.inCorner(point, \"nw\")) return \"nw\";\n else if (this.inCorner(point, \"se\")) return \"se\";\n else if (this.inCorner(point, \"sw\")) return \"sw\";\n }\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {\n if (centerPoint === undefined) return this.refPoint.add(new Vector(this.w / 2, this.h / 2));\n this.refPoint.x = centerPoint.x - this.w / 2;\n this.refPoint.y = centerPoint.y - this.h / 2;\n }\n\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n if (super.visibleInCanvas(canvas)) return true;\n const coreVisible = !(\n g2lx(this.refPoint.x) > canvas.width ||\n g2ly(this.refPoint.y) > canvas.height ||\n g2lx(this.refPoint.x + this.w) < 0 ||\n g2ly(this.refPoint.y + this.h) < 0\n );\n if (coreVisible) return true;\n return false;\n }\n snapToGrid() {\n const gs = gameStore.gridSize;\n const center = this.center();\n const mx = center.x;\n const my = center.y;\n\n let targetX;\n let targetY;\n\n if ((this.w / gs) % 2 === 0) {\n targetX = Math.round(mx / gs) * gs - this.w / 2;\n } else {\n targetX = (Math.round((mx + gs / 2) / gs) - 1 / 2) * gs - this.w / 2;\n }\n if ((this.h / gs) % 2 === 0) {\n targetY = Math.round(my / gs) * gs - this.h / 2;\n } else {\n targetY = (Math.round((my + gs / 2) / gs) - 1 / 2) * gs - this.h / 2;\n }\n\n const delta = calculateDelta(new Vector(targetX - this.refPoint.x, targetY - this.refPoint.y), this);\n this.refPoint = this.refPoint.add(delta);\n\n this.invalidate(false);\n }\n resizeToGrid() {\n const gs = gameStore.gridSize;\n this.refPoint.x = Math.round(this.refPoint.x / gs) * gs;\n this.refPoint.y = Math.round(this.refPoint.y / gs) * gs;\n this.w = Math.max(Math.round(this.w / gs) * gs, gs);\n this.h = Math.max(Math.round(this.h / gs) * gs, gs);\n this.invalidate(false);\n }\n resize(resizedir: string, point: LocalPoint) {\n const z = gameStore.zoomFactor;\n if (resizedir === \"nw\") {\n this.w = g2lx(this.refPoint.x) + this.w * z - point.x;\n this.h = g2ly(this.refPoint.y) + this.h * z - point.y;\n this.refPoint = l2g(point);\n } else if (resizedir === \"ne\") {\n this.w = point.x - g2lx(this.refPoint.x);\n this.h = g2ly(this.refPoint.y) + this.h * z - point.y;\n this.refPoint.y = l2gy(point.y);\n } else if (resizedir === \"se\") {\n this.w = point.x - g2lx(this.refPoint.x);\n this.h = point.y - g2ly(this.refPoint.y);\n } else if (resizedir === \"sw\") {\n this.w = g2lx(this.refPoint.x) + this.w * z - point.x;\n this.h = point.y - g2ly(this.refPoint.y);\n this.refPoint.x = l2gx(point.x);\n }\n this.w /= z;\n this.h /= z;\n\n if (this.w < 0) {\n this.refPoint.x += this.w;\n this.w = Math.abs(this.w);\n }\n if (this.h < 0) {\n this.refPoint.y += this.h;\n this.h = Math.abs(this.h);\n }\n }\n}\n","import { render, staticRenderFns } from \"./select.vue?vue&type=template&id=da20cb86&\"\nimport script from \"./select.vue?vue&type=script&lang=ts&\"\nexport * from \"./select.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"select.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=61eb1455&scoped=true&\"\nimport script from \"./main.vue?vue&type=script&lang=ts&\"\nexport * from \"./main.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./main.vue?vue&type=style&index=0&id=61eb1455&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61eb1455\",\n null\n \n)\n\ncomponent.options.__file = \"main.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SelectContext',{ref:\"selectcontext\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=template&id=da20cb86&\"","import { partition } from \"@/core/utils\";\nimport { BoundingNode, InteriorNode, LeafNode } from \"@/game/bvh/node\";\nimport { GlobalPoint, Ray } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { g2lx, g2ly, g2lz } from \"@/game/units\";\nimport { gameStore } from \"../store\";\n\ninterface BuildInfo {\n index: number;\n bbox: BoundingRect;\n center: BoundingRect;\n}\ninterface LinearBHVNode {\n bbox: BoundingRect;\n nPrimitives: number;\n}\ninterface LinearLeafNode extends LinearBHVNode {\n primitivesOffset: number;\n}\ninterface LinearInternalNode extends LinearBHVNode {\n secondChildOffset: number;\n dimension: number;\n}\n\nexport class BoundingVolume {\n totalNodes = 0;\n buildData: BuildInfo[] = [];\n shapes: string[];\n orderedPrims: string[] = [];\n root: BoundingNode | null;\n nodes: LinearBHVNode[] = [];\n\n offset = 0;\n\n constructor(shapes: string[]) {\n this.shapes = shapes;\n if (this.shapes.length === 0) {\n this.root = null;\n this.nodes = [];\n return;\n }\n for (let i = 0; i < shapes.length; i++) {\n const shape = layerManager.UUIDMap.get(shapes[i])!;\n try {\n this.buildData.push({\n index: i,\n bbox: shape.getBoundingBox(),\n center: new BoundingRect(shape.center(), 0, 0),\n });\n } catch {\n console.warn(`Shape ${shape.type} - ${shape.uuid} cannot be used for vision blocking !!!`);\n shape.visionObstruction = false;\n gameStore.visionBlockers.splice(i, 1);\n throw new Error();\n }\n }\n this.root = this.recursiveBuild(0, shapes.length);\n this.compact();\n }\n\n draw() {\n const ctx = layerManager.getLayer(\"draw\")!.ctx;\n for (const node of this.nodes) {\n const b = node.bbox;\n ctx.strokeRect(g2lx(b.topLeft.x), g2ly(b.topLeft.y), g2lz(b.w), g2lz(b.h));\n }\n }\n\n recursiveBuild(start: number, end: number): BoundingNode {\n this.totalNodes++;\n let bbox = this.buildData[start].bbox;\n for (let i = start + 1; i < end; i++) bbox = bbox.union(this.buildData[i].bbox);\n const nPrimitives = end - start;\n if (nPrimitives === 1) {\n return this.createLeaf(start, end, nPrimitives, bbox);\n } else {\n let centroidBbox = this.buildData[start].center;\n for (let i = start; i < end; i++) centroidBbox = centroidBbox.union(this.buildData[i].center);\n const dimension = centroidBbox.getMaxExtent();\n if (centroidBbox.botRight.get(dimension) === centroidBbox.topLeft.get(dimension)) {\n return this.createLeaf(start, end, nPrimitives, bbox);\n }\n // Use shitty Middle thingy until an introselect js algo is added\n const pMid = 0.5 * (centroidBbox.topLeft.get(dimension) + centroidBbox.botRight.get(dimension));\n const partitionedData = partition(\n this.buildData.slice(start, end),\n (n: BuildInfo) => n.center.center().get(dimension) < pMid,\n );\n const flattened = ([]).concat.apply([], partitionedData);\n if (partitionedData[0].length === 0 || partitionedData[1].length === 0) console.log(\"EMPTY\");\n this.buildData.splice(start, flattened.length, ...flattened);\n const mid = partitionedData[0].length + start;\n return new InteriorNode(dimension, this.recursiveBuild(start, mid), this.recursiveBuild(mid, end));\n }\n }\n\n intersect(ray: Ray, stopOnFirstHit?: boolean) {\n if (this.nodes.length === 0) return { hit: false, intersect: ray.get(0), tMin: 0, tMax: ray.tMax };\n if (stopOnFirstHit === undefined) stopOnFirstHit = false;\n // Initialize return values\n let hit = false;\n let tMin = 0;\n let tMax = ray.tMax;\n\n // Initialize work variables\n let todoOffset = 0;\n let nodeNum = 0;\n const todo: number[] = [];\n\n // Precalculate intersection vectors\n const invDir = ray.direction.inverse();\n const dirIsNegative = [invDir.x < 0, invDir.y < 0];\n\n while (true) {\n const node = this.nodes[nodeNum];\n\n const i = node.bbox.intersectP(ray, invDir, dirIsNegative);\n if (i.hit) {\n if (node.nPrimitives > 0) {\n // TODO: nPrimitives is currently always 1 , this could be generalised\n // for (let i=0; i < node.nPrimitives; i++) {\n // if (this.shapes[(node).primitivesOffset + i])\n // }\n hit = true;\n tMin = ray.tMax = i.min;\n tMax = i.max;\n if (todoOffset === 0 || stopOnFirstHit) break;\n nodeNum = todo[--todoOffset];\n } else {\n if (dirIsNegative[(node).dimension]) {\n todo[todoOffset++] = nodeNum + 1;\n nodeNum = (node).secondChildOffset;\n } else {\n todo[todoOffset++] = (node).secondChildOffset;\n nodeNum++;\n }\n }\n } else {\n if (todoOffset === 0) break;\n nodeNum = todo[--todoOffset];\n }\n }\n return { hit, intersect: ray.get(tMin), tMin, tMax };\n }\n\n private compact() {\n this.offset = 0;\n if (this.root !== null) this.flatten(this.root);\n }\n\n private flatten(node: BoundingNode) {\n const index = this.offset;\n const myOffset = this.offset++;\n if (node.nPrimitives === 0) {\n this.flatten(node.children[0]);\n const secondOffset = this.flatten(node.children[1]);\n this.nodes[index] = {\n bbox: node.bbox,\n dimension: (node).dimension,\n nPrimitives: 0,\n secondChildOffset: secondOffset,\n };\n } else {\n this.nodes[index] = {\n bbox: node.bbox,\n primitivesOffset: (node).firstPrimOffset,\n nPrimitives: node.nPrimitives,\n };\n }\n return myOffset;\n }\n\n private createLeaf(start: number, end: number, nPrimitives: number, bbox: BoundingRect) {\n const size = this.orderedPrims.length;\n for (let i = start; i < end; i++) this.orderedPrims.push(this.shapes[this.buildData[i].index]);\n return new LeafNode(size, nPrimitives, bbox);\n }\n}\n","\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ContextMenu from \"@/core/components/contextmenu.vue\";\n\nimport { socket } from \"@/game/api/socket\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { gameStore } from \"@/game/store\";\nimport { l2gx, l2gy } from \"@/game/units\";\n\n@Component({\n components: {\n ContextMenu,\n },\n})\nexport default class SelectContext extends Vue {\n visible = false;\n x = 0;\n y = 0;\n\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n\n open(event: MouseEvent) {\n this.visible = true;\n this.x = event.pageX;\n this.y = event.pageY;\n this.$nextTick(() => this.$children[0].$el.focus());\n }\n close() {\n this.visible = false;\n }\n bringPlayers() {\n if (!gameStore.IS_DM) return;\n socket.emit(\"Players.Bring\", { x: l2gx(this.x), y: l2gy(this.y) });\n this.close();\n }\n createToken() {\n (this.$parent.$parent.$refs.createtokendialog).open(this.x, this.y);\n this.close();\n }\n showInitiative() {\n EventBus.$emit(\"Initiative.Show\");\n this.close();\n }\n}\n","import Axios from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Route } from \"vue-router\";\n\nimport { coreStore } from \"@/core/store\";\n\n@Component({ template: \"\" })\nexport default class Logout extends Vue {\n beforeRouteEnter(to: Route, from: Route, next: ({}) => {}) {\n Axios.post(\"/api/logout\").then(() => {\n coreStore.setAuthenticated(false);\n coreStore.setUsername(\"\");\n next({ path: \"/auth/login\" });\n });\n }\n}\n","import { getModule, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\n\nimport { rootStore } from \"@/store\";\n\nexport interface CoreState {\n authenticated: boolean;\n initialized: boolean;\n}\n\n@Module({ dynamic: true, store: rootStore, name: \"core\" })\nclass CoreStore extends VuexModule {\n authenticated = false;\n initialized = false;\n username = \"\";\n\n @Mutation\n setAuthenticated(auth: boolean) {\n this.authenticated = auth;\n }\n\n @Mutation\n setInitialized(init: boolean) {\n this.initialized = init;\n }\n\n @Mutation\n setUsername(username: string) {\n this.username = username;\n }\n}\n\nexport const coreStore = getModule(CoreStore);\n","import Vue from \"vue\";\n\nimport App from \"@/App.vue\";\nimport { router } from \"@/router\";\nimport { rootStore } from \"@/store\";\n\nVue.config.productionTip = false;\nVue.config.devtools = true;\nVue.config.performance = true;\n\nexport const app = new Vue({\n router,\n store: rootStore,\n render: h => h(App),\n}).$mount(\"#app\");\n\n(window).app = app;\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\n@Component({\n props: [\"visible\", \"left\", \"top\"],\n})\nexport default class ContextMenu extends Vue {}\n","import Axios, { AxiosError, AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Route } from \"vue-router\";\n\n@Component({ template: \"\" })\nexport default class Initiative extends Vue {\n beforeRouteEnter(to: Route, from: Route, next: ({}) => {}) {\n Axios.post(\"/api/invite\", {\n code: to.params.code,\n })\n .then((response: AxiosResponse) => {\n next({ path: response.data.sessionUrl });\n })\n .catch((error: AxiosError) => {\n console.error(\"Invitation code could not be redeemed\");\n next({ path: \"/dashboard\" });\n });\n }\n}\n","import { render, staticRenderFns } from \"./prompt.vue?vue&type=template&id=0602c2e6&scoped=true&\"\nimport script from \"./prompt.vue?vue&type=script&lang=ts&\"\nexport * from \"./prompt.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prompt.vue?vue&type=style&index=0&id=0602c2e6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0602c2e6\",\n null\n \n)\n\ncomponent.options.__file = \"prompt.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=6bbf3b79&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=6bbf3b79&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./edit_dialog.vue?vue&type=template&id=078b3b76&scoped=true&\"\nimport script from \"./edit_dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit_dialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./edit_dialog.vue?vue&type=style&index=0&id=078b3b76&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"078b3b76\",\n null\n \n)\n\ncomponent.options.__file = \"edit_dialog.vue\"\nexport default component.exports","export class Settings {\n static angleSteps = 4;\n static drawAngleLines = false;\n static drawFirstLightHit = false;\n static skipPlayerFOW = false;\n static skipLightFOW = false;\n\n static tempFill: string = \"fog\";\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport axios, { AxiosError, AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { coreStore } from \"@/core/store\";\n\n@Component\nexport default class Login extends Vue {\n username = \"\";\n password = \"\";\n error = \"\";\n\n login() {\n axios\n .post(\"/api/login\", {\n username: this.username,\n password: this.password,\n })\n .then((response: AxiosResponse) => {\n coreStore.setUsername(this.username);\n coreStore.setAuthenticated(true);\n this.$router.push(this.$route.query.redirect || \"/\");\n })\n .catch((error: AxiosError) => {\n if (error.response) this.error = error.response.statusText;\n else this.error = \"Unknown error occured\";\n });\n }\n\n register() {\n axios\n .post(\"/api/register\", {\n username: this.username,\n password: this.password,\n })\n .then((response: AxiosResponse) => {\n coreStore.setUsername(this.username);\n coreStore.setAuthenticated(true);\n this.$router.push(this.$route.query.redirect || \"/\");\n })\n .catch((error: AxiosError) => {\n if (error.response) this.error = error.response.statusText;\n else this.error = \"Unknown error occured\";\n });\n }\n\n focusin(event: { target?: { nextElementSibling?: HTMLElement } }) {\n if (event.target && event.target.nextElementSibling) {\n const span = event.target.nextElementSibling;\n span.style.opacity = \"0\";\n }\n }\n\n focusout(event: { target?: { nextElementSibling?: HTMLElement } }) {\n if (event.target && event.target.nextElementSibling) {\n const span = event.target.nextElementSibling;\n span.style.opacity = \"1\";\n }\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\")}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=template&id=1e034b42&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"modal\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"mask\",class:{'modal-mask': _vm.mask, 'dialog-mask': !_vm.mask},on:{\"click\":_vm.close,\"dragover\":function($event){$event.preventDefault();return _vm.dragOver($event)}}},[_c('div',{ref:\"container\",staticClass:\"modal-container\",on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._t(\"header\",null,{dragStart:_vm.dragStart,dragEnd:_vm.dragEnd}),_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=template&id=12ed61ba&scoped=true&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=script&lang=ts&\"","import Component from \"vue-class-component\";\n\nimport Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { socket } from \"@/game/api/socket\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Line } from \"@/game/shapes/line\";\nimport { Text } from \"@/game/shapes/text\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\n\n@Component\nexport class RulerTool extends Tool {\n name = \"Ruler\";\n active = false;\n startPoint: GlobalPoint | null = null;\n ruler: Line | null = null;\n text: Text | null = null;\n onMouseDown(event: MouseEvent) {\n const layer = layerManager.getLayer(\"draw\");\n if (layer === undefined) {\n console.log(\"No draw layer!\");\n return;\n }\n this.active = true;\n this.startPoint = l2g(getMouse(event));\n this.ruler = new Line(this.startPoint, this.startPoint, 3, gameStore.rulerColour);\n this.text = new Text(this.startPoint.clone(), \"\", \"bold 20px serif\");\n this.ruler.owners.push(gameStore.username);\n this.text.owners.push(gameStore.username);\n layer.addShape(this.ruler, true, true);\n layer.addShape(this.text, true, true);\n }\n onMouseMove(event: MouseEvent) {\n if (!this.active || this.ruler === null || this.startPoint === null || this.text === null) return;\n\n const layer = layerManager.getLayer(\"draw\");\n if (layer === undefined) {\n console.log(\"No draw layer!\");\n return;\n }\n const endPoint = l2g(getMouse(event));\n\n this.ruler.endPoint = endPoint;\n socket.emit(\"Shape.Update\", { shape: this.ruler!.asDict(), redraw: true, temporary: true });\n\n const diffsign = Math.sign(endPoint.x - this.startPoint.x) * Math.sign(endPoint.y - this.startPoint.y);\n const xdiff = Math.abs(endPoint.x - this.startPoint.x);\n const ydiff = Math.abs(endPoint.y - this.startPoint.y);\n const label =\n Math.round((Math.sqrt(xdiff ** 2 + ydiff ** 2) * gameStore.unitSize) / gameStore.gridSize) + \" ft\";\n const angle = Math.atan2(diffsign * ydiff, xdiff);\n const xmid = Math.min(this.startPoint.x, endPoint.x) + xdiff / 2;\n const ymid = Math.min(this.startPoint.y, endPoint.y) + ydiff / 2;\n this.text.refPoint.x = xmid;\n this.text.refPoint.y = ymid;\n this.text.text = label;\n this.text.angle = angle;\n socket.emit(\"Shape.Update\", { shape: this.text.asDict(), redraw: true, temporary: true });\n layer.invalidate(true);\n }\n onMouseUp(event: MouseEvent) {\n if (!this.active || this.ruler === null || this.startPoint === null || this.text === null) return;\n\n const layer = layerManager.getLayer(\"draw\");\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = false;\n\n layer.removeShape(this.ruler, true, true);\n layer.removeShape(this.text, true, true);\n layer.invalidate(true);\n this.ruler = this.startPoint = this.text = null;\n }\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=style&index=0&id=081515c4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=style&index=0&id=081515c4&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./modal.vue?vue&type=template&id=12ed61ba&scoped=true&\"\nimport script from \"./modal.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./modal.vue?vue&type=style&index=0&id=12ed61ba&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"12ed61ba\",\n null\n \n)\n\ncomponent.options.__file = \"modal.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=style&index=0&id=66ccc134&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=style&index=0&id=66ccc134&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=style&index=0&id=61eb1455&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=style&index=0&id=61eb1455&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"focusin\":_vm.focusin,\"focusout\":_vm.focusout,\"submit\":function($event){$event.preventDefault();return _vm.login($event)}}},[_c('fieldset',[_c('legend',{staticClass:\"legend\"},[_vm._v(\"PlanarAlly\")]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],attrs:{\"type\":\"text\",\"name\":\"username\",\"placeholder\":\"Username\",\"required\":\"\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value}}}),_vm._m(0)]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"type\":\"password\",\"name\":\"password\",\"placeholder\":\"Password\",\"required\":\"\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}}),_vm._m(1)]),_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('button',{staticStyle:{\"visibility\":\"hidden\",\"display\":\"none\"},attrs:{\"type\":\"submit\",\"name\":\"login\"}}),_c('button',{staticClass:\"submit\",attrs:{\"type\":\"button\",\"name\":\"register\",\"title\":\"Register\"},on:{\"click\":_vm.register}},[_c('i',{staticClass:\"fas fa-plus\"})]),_vm._m(2)])]),(_vm.error)?_c('div',{staticClass:\"feedback\"},[_c('p',{staticClass:\"error\"},[_c('strong',[_vm._v(\"Error:\")]),_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \")])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fas fa-user-circle\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fas fa-lock\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"submit\",attrs:{\"type\":\"submit\",\"name\":\"login\",\"title\":\"Login\"}},[_c('i',{staticClass:\"fas fa-arrow-right\"})])}]\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=template&id=6bbf3b79&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component({\n components: {\n Modal,\n \"color-picker\": ColorPicker,\n },\n})\nexport default class EditDialog extends Vue {\n @Prop() shape!: Shape;\n\n visible = false;\n updated() {\n this.addEmpty();\n }\n addEmpty() {\n if (this.shape.owners[this.shape.owners.length - 1] !== \"\") this.shape.owners.push(\"\");\n if (\n !this.shape.trackers.length ||\n this.shape.trackers[this.shape.trackers.length - 1].name !== \"\" ||\n this.shape.trackers[this.shape.trackers.length - 1].value !== 0\n )\n this.shape.trackers.push({ uuid: uuidv4(), name: \"\", value: 0, maxvalue: 0, visible: false });\n if (\n !this.shape.auras.length ||\n this.shape.auras[this.shape.auras.length - 1].name !== \"\" ||\n this.shape.auras[this.shape.auras.length - 1].value !== 0\n )\n this.shape.auras.push({\n uuid: uuidv4(),\n name: \"\",\n value: 0,\n dim: 0,\n visionSource: false,\n colour: \"rgba(0,0,0,0)\",\n visible: false,\n });\n }\n updateShape(redraw: boolean) {\n socket.emit(\"Shape.Update\", { shape: this.shape.asDict(), redraw, temporary: false });\n if (redraw) layerManager.invalidate();\n this.addEmpty();\n }\n setToken(event: { target: HTMLInputElement }) {\n this.shape.setIsToken(event.target.checked);\n this.updateShape(true);\n }\n setVisionBlocker(event: { target: HTMLInputElement }) {\n this.shape.checkVisionSources();\n this.updateShape(true);\n }\n setMovementBlocker(event: { target: HTMLInputElement }) {\n this.shape.setMovementBlock(event.target.checked);\n this.updateShape(false);\n }\n updateAnnotation(event: { target: HTMLInputElement }) {\n const hadAnnotation = this.shape.annotation !== \"\";\n this.shape.annotation = event.target.value;\n if (this.shape.annotation !== \"\" && !hadAnnotation) {\n gameStore.annotations.push(this.shape.uuid);\n if (layerManager.hasLayer(\"draw\")) layerManager.getLayer(\"draw\")!.invalidate(true);\n } else if (this.shape.annotation === \"\" && hadAnnotation) {\n gameStore.annotations.splice(gameStore.annotations.findIndex(an => an === this.shape.uuid));\n if (layerManager.hasLayer(\"draw\")) layerManager.getLayer(\"draw\")!.invalidate(true);\n }\n this.updateShape(false);\n }\n updateOwner(event: { target: HTMLInputElement }, oldValue: string) {\n const ownerIndex = this.shape.owners.findIndex(o => o === oldValue);\n if (ownerIndex >= 0) this.shape.owners.splice(ownerIndex, 1, event.target.value);\n else this.shape.owners.push(event.target.value);\n this.updateShape(gameStore.fowLOS);\n }\n removeOwner(value: string) {\n const ownerIndex = this.shape.owners.findIndex(o => o === value);\n this.shape.owners.splice(ownerIndex, 1);\n this.updateShape(gameStore.fowLOS);\n }\n removeTracker(uuid: string) {\n this.shape.trackers = this.shape.trackers.filter(tr => tr.uuid !== uuid);\n this.updateShape(false);\n }\n removeAura(uuid: string) {\n this.shape.auras = this.shape.auras.filter(au => au.uuid !== uuid);\n this.shape.checkVisionSources();\n this.updateShape(true);\n }\n updateAuraVisionSource(aura: Aura) {\n aura.visionSource = !aura.visionSource;\n const i = gameStore.visionSources.findIndex(ls => ls.aura === aura.uuid);\n if (aura.visionSource && i === -1) gameStore.visionSources.push({ shape: this.shape.uuid, aura: aura.uuid });\n else if (!aura.visionSource && i >= 0) gameStore.visionSources.splice(i, 1);\n // aura.lastPath = undefined;\n layerManager.invalidateLight();\n this.updateShape(true);\n }\n updateAuraColour(aura: Aura, colour: string) {\n const layer = layerManager.getLayer(this.shape.layer);\n if (layer === undefined) return;\n layer.invalidate(!aura.visionSource);\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport Modal from \"@/core/components/modals/modal.vue\";\n\n@Component({\n components: {\n Modal,\n },\n})\nexport default class ConfirmDialog extends Vue {\n $refs!: {\n confirm: HTMLButtonElement;\n };\n\n visible = false;\n yes = \"Yes\";\n no = \"No\";\n title = \"\";\n\n resolve = (ok: boolean) => {};\n reject = () => {};\n\n confirm() {\n this.resolve(true);\n this.close();\n }\n deny() {\n this.resolve(false);\n this.close();\n }\n close() {\n this.reject();\n this.visible = false;\n this.title = \"\";\n }\n open(title: string, yes = \"yes\", no = \"no\"): Promise {\n this.yes = yes;\n this.no = no;\n this.title = title;\n\n this.visible = true;\n this.$nextTick(() => {\n this.$refs.confirm.focus();\n });\n\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n","import { render, staticRenderFns } from \"./map.vue?vue&type=template&id=f93438ce&\"\nimport script from \"./map.vue?vue&type=script&lang=ts&\"\nexport * from \"./map.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"map.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ContextMenu',{attrs:{\"visible\":_vm.visible,\"left\":_vm.left + 'px',\"top\":_vm.top + 'px'},on:{\"close\":_vm.close}},[_c('li',{on:{\"click\":_vm.rename}},[_vm._v(\"Rename\")]),_c('li',{on:{\"click\":_vm.remove}},[_vm._v(\"Remove\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=template&id=d4f084a4&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"visible\":_vm.visible},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_vm._v(_vm._s(_vm.title))])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('button',{ref:\"confirm\",on:{\"click\":_vm.confirm}},[_vm._v(_vm._s(_vm.yes))]),(!!_vm.no)?_c('button',{on:{\"click\":_vm.deny}},[_vm._v(_vm._s(_vm.no))]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=template&id=1883e207&scoped=true&\"","\n\n\n\n\n\n\n\nimport Vue from \"vue\";\n\nimport Component from \"vue-class-component\";\n\nimport AssetManager from \"@/assetManager/manager.vue\";\nimport ContextMenu from \"@/core/components/contextmenu.vue\";\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\n\nimport { socket } from \"@/assetManager/socket\";\nimport { assetStore } from \"@/assetManager/store\";\nimport { getComponent, getRef } from \"@/core/utils\";\n\n@Component({\n components: {\n ContextMenu,\n },\n})\nexport default class AssetContextMenu extends Vue {\n visible = false;\n left = 0;\n top = 0;\n open(event: MouseEvent, inode: number) {\n if (!assetStore.selected.includes(inode)) getComponent().select(event, inode);\n\n this.visible = true;\n this.left = event.pageX;\n this.top = event.pageY;\n this.$nextTick(() => {\n this.$children[0].$el.focus();\n });\n }\n close() {\n this.visible = false;\n }\n rename() {\n if (assetStore.selected.length !== 1) return;\n const asset = assetStore.idMap.get(assetStore.selected[0])!;\n\n getRef(\"prompt\")\n .prompt(\"New name:\", `Renaming ${asset.name}`)\n .then(\n (name: string) => {\n socket.emit(\"Asset.Rename\", {\n asset: asset.id,\n name,\n });\n asset.name = name;\n getComponent().$forceUpdate();\n },\n () => {},\n );\n this.close();\n }\n remove() {\n if (assetStore.selected.length === 0) return;\n getRef(\"confirm\")\n .open(\"Are you sure you wish to remove this?\")\n .then(\n (result: boolean) => {\n if (result) {\n for (const sel of assetStore.selected) {\n socket.emit(\"Asset.Remove\", sel);\n if (assetStore.isFile(sel)) assetStore.files.splice(assetStore.files.indexOf(sel), 1);\n else assetStore.folders.splice(assetStore.folders.indexOf(sel), 1);\n }\n assetStore.selected = [];\n }\n },\n () => {},\n );\n this.close();\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./manager.vue?vue&type=template&id=d1ce9748&\"\nimport script from \"./manager.vue?vue&type=script&lang=ts&\"\nexport * from \"./manager.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./manager.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"manager.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tool.vue?vue&type=template&id=1e034b42&\"\nimport script from \"./tool.vue?vue&type=script&lang=ts&\"\nexport * from \"./tool.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./tool.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"tool.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{attrs:{\"visible\":_vm.visible},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_vm._v(_vm._s(_vm.title))])}}])},[_c('div',{staticClass:\"modal-body\"},[_vm._v(\"\\n \"+_vm._s(_vm.question)+\"\\n \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.answer),expression:\"answer\"}],ref:\"answer\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.answer)},on:{\"keyup\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.submit($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.answer=$event.target.value}}})]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{on:{\"click\":_vm.submit}},[_vm._v(\"Submit\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=template&id=0602c2e6&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport draggable from \"vuedraggable\";\nVue.component(\"draggable\", draggable);\n\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { InitiativeData, InitiativeEffect } from \"@/game/comm/types/general\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n Modal,\n draggable,\n },\n})\nexport default class Initiative extends Vue {\n visible = false;\n data: InitiativeData[] = [];\n currentActor: string | null = null;\n roundCounter = 0;\n\n mounted() {\n EventBus.$on(\"Initiative.Clear\", this.clear);\n EventBus.$on(\"Initiative.Remove\", (data: string) => this.removeInitiative(data));\n EventBus.$on(\"Initiative.Show\", () => (this.visible = true));\n\n socket.on(\"Initiative.Set\", (data: InitiativeData[]) => {\n this.data = data;\n });\n socket.on(\"Initiative.Turn.Update\", (data: string) => this.setTurn(data, false));\n socket.on(\"Initiative.Round.Update\", (data: number) => this.setRound(data, false));\n socket.on(\"Initiative.Effect.New\", (data: { actor: string; effect: InitiativeEffect }) => {\n const actor = this.getActor(data.actor);\n if (actor === undefined) return;\n this.createEffect(actor, data.effect, false);\n });\n socket.on(\"Initiative.Effect.Update\", (data: { actor: string; effect: InitiativeEffect }) =>\n this.updateEffect(data.actor, data.effect, false),\n );\n }\n\n beforeDestroy() {\n EventBus.$off();\n }\n\n // Utilities\n clear() {\n this.data = [];\n this.currentActor = null;\n }\n getActor(actorId: string) {\n return this.data.find(a => a.uuid === actorId);\n }\n contains(uuid: string) {\n return this.data.some(d => d.uuid === uuid);\n }\n owns(actor: InitiativeData): boolean {\n if (gameStore.IS_DM) return true;\n const shape = layerManager.UUIDMap.get(actor.uuid);\n // Shapes that are unknown to this client are hidden from this client but owned by other clients\n if (shape === undefined) return false;\n return shape.owners.includes(gameStore.username);\n }\n getDefaultEffect() {\n return { uuid: uuidv4(), name: \"New Effect\", turns: 10 };\n }\n fakeSetData(dataTransfer: DataTransfer) {\n dataTransfer.setData(\"Hack\", \"\");\n }\n syncInitiative(data: InitiativeData | { uuid: string }) {\n socket.emit(\"Initiative.Update\", data);\n }\n // Events\n addInitiative(data: InitiativeData) {\n const d = this.data.findIndex(a => a.uuid === data.uuid);\n if (d >= 0) return;\n if (data.initiative === undefined) data.initiative = 0;\n this.syncInitiative(data);\n }\n removeInitiative(uuid: string) {\n const d = this.data.findIndex(a => a.uuid === uuid);\n if (d < 0 || this.data[d].group) return;\n this.syncInitiative({ uuid });\n // Remove highlight\n const shape = layerManager.UUIDMap.get(uuid);\n if (shape === undefined) return;\n if (shape.showHighlight) {\n shape.showHighlight = false;\n layerManager.getLayer(shape.layer)!.invalidate(true);\n }\n }\n updateOrder() {\n if (!gameStore.IS_DM) return;\n socket.emit(\"Initiative.Set\", this.data.map(d => d.uuid));\n }\n setTurn(actorId: string | null, sync: boolean) {\n if (!gameStore.IS_DM && sync) return;\n this.currentActor = actorId;\n const actor = this.data.find(a => a.uuid === actorId);\n if (actor === undefined) return;\n if (actor.effects) {\n for (let e = actor.effects.length - 1; e >= 0; e--) {\n if (actor.effects[e].turns <= 0) actor.effects.splice(e, 1);\n else actor.effects[e].turns--;\n }\n }\n if (sync) socket.emit(\"Initiative.Turn.Update\", actorId);\n }\n setRound(round: number, sync: boolean) {\n if (!gameStore.IS_DM && sync) return;\n this.roundCounter = round;\n if (sync) socket.emit(\"Initiative.Round.Update\", round);\n }\n nextTurn() {\n if (!gameStore.IS_DM) return;\n const order = this.data;\n const next = order[(order.findIndex(a => a.uuid === this.currentActor) + 1) % order.length];\n if (this.data[0].uuid === next.uuid) this.setRound(this.roundCounter + 1, true);\n this.setTurn(next.uuid, true);\n }\n toggleHighlight(actor: InitiativeData, show: boolean) {\n const shape = layerManager.UUIDMap.get(actor.uuid);\n if (shape === undefined) return;\n shape.showHighlight = show;\n layerManager.getLayer(shape.layer)!.invalidate(true);\n }\n toggleOption(actor: InitiativeData, option: \"visible\" | \"group\") {\n if (!this.owns(actor)) return;\n actor[option] = !actor[option];\n this.syncInitiative(actor);\n }\n createEffect(actor: InitiativeData, effect: InitiativeEffect, sync: boolean) {\n if (!this.owns(actor)) return;\n actor.effects.push(effect);\n if (sync) socket.emit(\"Initiative.Effect.New\", { actor: actor.uuid, effect });\n }\n syncEffect(actor: InitiativeData, effect: InitiativeEffect) {\n if (!this.owns(actor)) return;\n socket.emit(\"Initiative.Effect.Update\", { actor: actor.uuid, effect });\n }\n updateEffect(actorId: string, effect: InitiativeEffect, sync: boolean) {\n const actor = this.data.find(a => a.uuid === actorId);\n if (actor === undefined) return;\n const effectIndex = actor.effects.findIndex(e => e.uuid === effect.uuid);\n if (effectIndex === undefined) return;\n actor.effects[effectIndex] = effect;\n if (sync) this.syncEffect(actor, effect);\n else this.$forceUpdate();\n }\n}\n","import { render, staticRenderFns } from \"./selection_info.vue?vue&type=template&id=32cec914&scoped=true&\"\nimport script from \"./selection_info.vue?vue&type=script&lang=ts&\"\nexport * from \"./selection_info.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./selection_info.vue?vue&type=style&index=0&id=32cec914&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"32cec914\",\n null\n \n)\n\ncomponent.options.__file = \"selection_info.vue\"\nexport default component.exports","// import Vuex from \"vuex\";\nimport { Action, getModule, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\n\nimport { AssetList } from \"@/core/comm/types\";\nimport { socket } from \"@/game/api/socket\";\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { BoundingVolume } from \"@/game/bvh/bvh\";\nimport { Note } from \"@/game/comm/types/general\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { g2l, l2g } from \"@/game/units\";\nimport { rootStore } from \"@/store\";\n\nexport interface GameState {\n boardInitialized: boolean;\n}\n\n@Module({ dynamic: true, store: rootStore, name: \"game\", namespaced: true })\nclass GameStore extends VuexModule {\n // This is a limited view of selectable layers that is used to generate the layer selection UI and ability to switch layers\n // See the layerManager for proper layer management tools\n layers: string[] = [];\n selectedLayerIndex = -1;\n boardInitialized = false;\n\n locations: string[] = [];\n\n assets: AssetList = {};\n\n notes: Note[] = [];\n\n IS_DM = false;\n gridSize = 50;\n username = \"\";\n roomName = \"\";\n roomCreator = \"\";\n invitationCode = \"\";\n\n gridColour = \"rgba(0, 0, 0, 1)\";\n fowColour = \"rgba(0, 0, 0, 1)\";\n rulerColour = \"rgba(255, 0, 0, 1)\";\n panX = 0;\n panY = 0;\n zoomFactor = 1;\n\n unitSize = 5;\n useGrid = true;\n fullFOW = false;\n fowOpacity = 0.3;\n fowLOS = false;\n locationName = \"\";\n\n visionSources: { shape: string; aura: string }[] = [];\n visionBlockers: string[] = [];\n annotations: string[] = [];\n movementblockers: string[] = [];\n ownedtokens: string[] = [];\n\n BV = Object.freeze(new BoundingVolume([]));\n\n get selectedLayer() {\n return this.layers[this.selectedLayerIndex];\n }\n\n @Mutation\n setBoardInitialized(boardInitialized: boolean) {\n this.boardInitialized = boardInitialized;\n }\n\n @Mutation\n setDM(isDM: boolean) {\n this.IS_DM = isDM;\n }\n\n @Mutation\n setUsername(username: string) {\n this.username = username;\n }\n\n @Mutation\n setRoomName(name: string) {\n this.roomName = name;\n }\n\n @Mutation\n setRoomCreator(name: string) {\n this.roomCreator = name;\n }\n\n @Mutation\n setInvitationCode(code: string) {\n this.invitationCode = code;\n }\n\n @Mutation\n addLayer(name: string) {\n this.layers.push(name);\n if (this.selectedLayerIndex === -1) this.selectedLayerIndex = this.layers.indexOf(name);\n }\n\n @Mutation\n selectLayer(data: { name: string; sync: boolean }) {\n const index = this.layers.indexOf(data.name);\n if (index >= 0) this.selectedLayerIndex = index;\n if (data.sync) socket.emit(\"Client.ActiveLayer.Set\", data.name);\n }\n\n @Mutation\n newNote(data: { note: Note; sync: boolean }) {\n this.notes.push(data.note);\n if (data.sync) socket.emit(\"Note.New\", data.note);\n }\n\n @Mutation\n setAssets(assets: AssetList) {\n this.assets = assets;\n }\n\n @Mutation\n setLocations(locations: string[]) {\n this.locations = locations;\n }\n\n @Mutation\n resetLayerInfo() {\n this.layers = [];\n this.selectedLayerIndex = -1;\n }\n\n @Mutation\n recalculateBV() {\n // TODO: This needs to be cleaned up..\n if (this.boardInitialized) {\n let success = false;\n let tries = 0;\n while (!success) {\n success = true;\n try {\n this.BV = Object.freeze(new BoundingVolume(this.visionBlockers));\n } catch (error) {\n success = false;\n tries++;\n if (tries > 10) {\n console.error(error);\n return;\n }\n }\n }\n }\n }\n\n @Mutation\n updateZoom(data: { newZoomValue: number; zoomLocation: GlobalPoint }) {\n if (data.newZoomValue === this.zoomFactor) return;\n if (data.newZoomValue < 0.1) data.newZoomValue = 0.1;\n if (data.newZoomValue > 5) data.newZoomValue = 5;\n\n const oldLoc = g2l(data.zoomLocation);\n\n this.zoomFactor = data.newZoomValue;\n\n const newLoc = l2g(oldLoc);\n\n // Change the pan settings to keep the zoomLocation in the same exact location before and after the zoom.\n const diff = newLoc.subtract(data.zoomLocation);\n this.panX += diff.x;\n this.panY += diff.y;\n\n layerManager.invalidate();\n sendClientOptions();\n }\n\n @Mutation\n setGridColour(data: { colour: string; sync: boolean }) {\n this.gridColour = data.colour;\n layerManager.getGridLayer()!.drawGrid();\n if (data.sync) socket.emit(\"Client.Options.Set\", { gridColour: data.colour });\n }\n\n @Mutation\n setFOWColour(data: { colour: string; sync: boolean }) {\n this.fowColour = data.colour;\n layerManager.invalidate();\n if (data.sync) socket.emit(\"Client.Options.Set\", { fowColour: data.colour });\n }\n\n @Mutation\n setRulerColour(data: { colour: string; sync: boolean }) {\n this.rulerColour = data.colour;\n if (data.sync) socket.emit(\"Client.Options.Set\", { rulerColour: data.colour });\n }\n\n @Mutation\n setPanX(x: number) {\n this.panX = x;\n }\n\n @Mutation\n setPanY(y: number) {\n this.panY = y;\n }\n\n @Mutation\n setZoomFactor(zoomFactor: number) {\n this.zoomFactor = zoomFactor;\n }\n\n @Mutation\n increasePanX(increase: number) {\n this.panX += increase;\n }\n\n @Mutation\n increasePanY(increase: number) {\n this.panY += increase;\n }\n\n @Mutation\n setUnitSize(data: { unitSize: number; sync: boolean }) {\n if (this.unitSize !== data.unitSize && data.unitSize > 0 && data.unitSize < Infinity) {\n this.unitSize = data.unitSize;\n layerManager.invalidate();\n if (data.sync) socket.emit(\"Location.Options.Set\", { unit_size: data.unitSize });\n }\n }\n\n @Mutation\n setUseGrid(data: { useGrid: boolean; sync: boolean }) {\n if (this.useGrid !== data.useGrid) {\n this.useGrid = data.useGrid;\n const gridLayer = layerManager.getGridLayer()!;\n if (data.useGrid) gridLayer.canvas.style.display = \"block\";\n else gridLayer.canvas.style.display = \"none\";\n if (data.sync) socket.emit(\"Location.Options.Set\", { use_grid: data.useGrid });\n }\n }\n\n @Mutation\n setGridSize(data: { gridSize: number; sync: boolean }): void {\n if (this.gridSize !== data.gridSize && data.gridSize > 0) {\n this.gridSize = data.gridSize;\n const gridLayer = layerManager.getGridLayer();\n if (gridLayer !== undefined) gridLayer.drawGrid();\n if (data.sync) socket.emit(\"Gridsize.Set\", data.gridSize);\n }\n }\n\n @Mutation\n setFullFOW(data: { fullFOW: boolean; sync: boolean }) {\n if (this.fullFOW !== data.fullFOW) {\n this.fullFOW = data.fullFOW;\n layerManager.invalidateLight();\n if (data.sync) socket.emit(\"Location.Options.Set\", { full_fow: data.fullFOW });\n }\n }\n\n @Mutation\n setFOWOpacity(data: { fowOpacity: number; sync: boolean }) {\n this.fowOpacity = data.fowOpacity;\n layerManager.invalidateLight();\n if (data.sync) socket.emit(\"Location.Options.Set\", { fow_opacity: data.fowOpacity });\n }\n\n @Mutation\n setLineOfSight(data: { fowLOS: boolean; sync: boolean }) {\n if (this.fowLOS !== data.fowLOS) {\n this.fowLOS = data.fowLOS;\n layerManager.invalidate();\n if (data.sync) socket.emit(\"Location.Options.Set\", { fow_los: data.fowLOS });\n }\n }\n\n @Mutation\n setLocationName(name: string) {\n this.locationName = name;\n }\n\n @Mutation\n updateNote(data: { note: Note; sync: boolean }) {\n const actualNote = this.notes.find(n => n.uuid === data.note.uuid);\n if (actualNote === undefined) return;\n actualNote.title = data.note.title;\n actualNote.text = data.note.text;\n if (data.sync) socket.emit(\"Note.Update\", actualNote);\n }\n\n @Mutation\n removeNote(data: { note: Note; sync: boolean }) {\n this.notes = this.notes.filter(n => n.uuid !== data.note.uuid);\n if (data.sync) socket.emit(\"Note.Remove\", data.note.uuid);\n }\n\n @Action\n clear() {\n (this.context.state).visionSources = [];\n (this.context.state).visionBlockers = [];\n (this.context.state).ownedtokens = [];\n (this.context.state).annotations = [];\n (this.context.state).movementblockers = [];\n this.context.commit(\"recalculateBV\");\n }\n}\n\nexport const gameStore = getModule(GameStore);\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=script&lang=ts&\"","import { ServerAura } from \"@/game/comm/types/shapes\";\n\nexport const aurasFromServer = (auras: ServerAura[]): Aura[] => {\n const result = [];\n for (const aura of auras) {\n result.push({\n uuid: aura.uuid,\n visionSource: aura.vision_source,\n visible: aura.visible,\n name: aura.name,\n value: aura.value,\n dim: aura.dim,\n colour: aura.colour,\n });\n }\n return result;\n};\n\nexport const aurasToServer = (auras: Aura[]): ServerAura[] => {\n const result = [];\n for (const aura of auras) {\n result.push({\n uuid: aura.uuid,\n vision_source: aura.visionSource,\n visible: aura.visible,\n name: aura.name,\n value: aura.value,\n dim: aura.dim,\n colour: aura.colour,\n });\n }\n return result;\n};\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./note.vue?vue&type=template&id=7a3669fd&scoped=true&\"\nimport script from \"./note.vue?vue&type=script&lang=ts&\"\nexport * from \"./note.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./note.vue?vue&type=style&index=0&id=7a3669fd&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a3669fd\",\n null\n \n)\n\ncomponent.options.__file = \"note.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./initiative.vue?vue&type=template&id=ccaf03d6&scoped=true&\"\nimport script from \"./initiative.vue?vue&type=script&lang=ts&\"\nexport * from \"./initiative.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./initiative.vue?vue&type=style&index=0&id=ccaf03d6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ccaf03d6\",\n null\n \n)\n\ncomponent.options.__file = \"initiative.vue\"\nexport default component.exports","import { ServerLayer } from \"@/game/comm/types/general\";\nimport { FOWLayer } from \"@/game/layers/fow\";\nimport { FOWPlayersLayer } from \"@/game/layers/fowplayers\";\nimport { GridLayer } from \"@/game/layers/grid\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\n\nexport function createLayer(layerInfo: ServerLayer) {\n // Create canvas element\n const canvas = document.createElement(\"canvas\");\n canvas.style.zIndex = layerManager.layers.length.toString();\n canvas.width = window.innerWidth;\n canvas.height = window.innerHeight;\n\n // Create the Layer instance\n let layer: Layer;\n if (layerInfo.type_ === \"grid\") layer = new GridLayer(canvas, layerInfo.name);\n else if (layerInfo.type_ === \"fow\") layer = new FOWLayer(canvas, layerInfo.name);\n else if (layerInfo.type_ === \"fow-players\") layer = new FOWPlayersLayer(canvas, layerInfo.name);\n else layer = new Layer(canvas, layerInfo.name);\n layer.selectable = layerInfo.selectable;\n layer.playerEditable = layerInfo.player_editable;\n layerManager.addLayer(layer);\n\n // Add the element to the DOM\n const layers = document.getElementById(\"layers\");\n if (layers === null) {\n console.warn(\"Layers div is missing, this will prevent the main game board from loading!\");\n return;\n }\n if (layerInfo.name !== \"fow-players\") layers.appendChild(canvas);\n\n if (layerInfo.type_ === \"grid\" && layerInfo.size) gameStore.setGridSize({ gridSize: layerInfo.size, sync: false });\n // Load layer shapes\n layer.setShapes(layerInfo.shapes);\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.selected)?_c('div',{staticClass:\"tool-detail\",style:({'--detailRight': _vm.detailRight, '--detailArrow': _vm.detailArrow})},[_c('div',[_vm._v(\"#X\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.xCount),expression:\"xCount\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.xCount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.xCount=$event.target.value}}}),_c('div',[_vm._v(\"#Y\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.yCount),expression:\"yCount\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.yCount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.yCount=$event.target.value}}})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"339cf1e4-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./map.vue?vue&type=template&id=f93438ce&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport Prompt from \"@/core/components/modals/prompt.vue\";\nimport EditDialog from \"@/game/ui/selection/edit_dialog.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\n\n@Component({\n components: {\n \"edit-dialog\": EditDialog,\n },\n})\nexport default class SelectionInfo extends Vue {\n shape: Shape | null = null;\n\n mounted() {\n EventBus.$on(\"SelectionInfo.Shape.Set\", (shape: Shape | null) => {\n this.shape = shape;\n });\n }\n\n beforeDestroy() {\n EventBus.$off();\n }\n\n openEditDialog() {\n (this.$refs.editDialog).visible = true;\n }\n changeValue(object: Tracker | Aura, redraw: boolean) {\n if (this.shape === null) return;\n getRef(\"prompt\")\n .prompt(`New ${object.name} value:`, `Updating ${object.name}`)\n .then(\n (value: string) => {\n if (this.shape === null) return;\n const ogValue = object.value;\n if (value[0] === \"+\" || value[0] === \"-\") object.value += parseInt(value, 10);\n else object.value = parseInt(value, 10);\n if (isNaN(object.value)) object.value = ogValue;\n socket.emit(\"Shape.Update\", { shape: this.shape.asDict(), redraw, temporary: false });\n if (redraw) layerManager.invalidate();\n },\n () => {},\n );\n }\n}\n","import { AssetList } from \"@/core/comm/types\";\nimport { socket } from \"@/game/api/socket\";\nimport { BoardInfo, Note, ServerClient, ServerLocation } from \"@/game/comm/types/general\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { createLayer } from \"@/game/layers/utils\";\nimport { gameManager } from \"@/game/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { router } from \"@/router\";\n\nsocket.on(\"connect\", () => {\n console.log(\"Connected\");\n});\nsocket.on(\"disconnect\", () => {\n console.log(\"Disconnected\");\n});\nsocket.on(\"connect_error\", (error: any) => {\n console.error(\"Could not connect to game session.\");\n router.push(\"/dashboard\");\n});\nsocket.on(\"error\", (error: any) => {\n console.error(\"Game session does not exist.\");\n router.push(\"/dashboard\");\n});\nsocket.on(\"redirect\", (destination: string) => {\n console.log(\"redirecting\");\n router.push(destination);\n});\nsocket.on(\"Room.Info.Set\", (data: { name: string; creator: string; invitationCode: string }) => {\n gameStore.setRoomName(data.name);\n gameStore.setRoomCreator(data.creator);\n gameStore.setInvitationCode(data.invitationCode);\n});\nsocket.on(\"Username.Set\", (username: string) => {\n gameStore.setUsername(username);\n gameStore.setDM(username === window.location.pathname.split(\"/\")[2]);\n});\nsocket.on(\"Client.Options.Set\", (options: ServerClient) => {\n gameStore.setGridColour({ colour: options.grid_colour, sync: false });\n gameStore.setFOWColour({ colour: options.fow_colour, sync: false });\n gameStore.setRulerColour({ colour: options.ruler_colour, sync: false });\n gameStore.setPanX(options.pan_x);\n gameStore.setPanY(options.pan_y);\n gameStore.setZoomFactor(options.zoom_factor);\n if (options.active_layer) layerManager.selectLayer(options.active_layer, false);\n if (layerManager.getGridLayer() !== undefined) layerManager.getGridLayer()!.invalidate();\n});\nsocket.on(\"Location.Set\", (data: Partial) => {\n if (data.name !== undefined) gameStore.setLocationName(data.name);\n if (data.unit_size !== undefined) gameStore.setUnitSize({ unitSize: data.unit_size, sync: false });\n if (data.use_grid !== undefined) gameStore.setUseGrid({ useGrid: data.use_grid, sync: false });\n if (data.full_fow !== undefined) gameStore.setFullFOW({ fullFOW: data.full_fow, sync: false });\n if (data.fow_opacity !== undefined) gameStore.setFOWOpacity({ fowOpacity: data.fow_opacity, sync: false });\n if (data.fow_los !== undefined) gameStore.setLineOfSight({ fowLOS: data.fow_los, sync: false });\n});\nsocket.on(\"Position.Set\", (data: { x: number; y: number }) => {\n gameManager.setCenterPosition(new GlobalPoint(data.x, data.y));\n});\nsocket.on(\"Notes.Set\", (notes: Note[]) => {\n for (const note of notes) gameStore.newNote({ note, sync: false });\n});\nsocket.on(\"Asset.List.Set\", (assets: AssetList) => {\n gameStore.setAssets(assets);\n});\nsocket.on(\"Board.Set\", (locationInfo: BoardInfo) => {\n gameStore.clear();\n gameStore.setLocations(locationInfo.locations);\n document.getElementById(\"layers\")!.innerHTML = \"\";\n gameStore.resetLayerInfo();\n layerManager.reset();\n for (const layer of locationInfo.layers) createLayer(layer);\n // Force the correct opacity render on other layers.\n layerManager.selectLayer(layerManager.getLayer()!.name, false);\n EventBus.$emit(\"Initiative.Clear\");\n gameStore.setBoardInitialized(true);\n gameStore.recalculateBV();\n});\nsocket.on(\"Gridsize.Set\", (gridSize: number) => {\n gameStore.setGridSize({ gridSize, sync: false });\n});\nsocket.on(\"Shape.Add\", (shape: ServerShape) => {\n gameManager.addShape(shape);\n});\nsocket.on(\"Shape.Remove\", (shape: ServerShape) => {\n if (!layerManager.UUIDMap.has(shape.uuid)) {\n console.log(`Attempted to remove an unknown shape`);\n return;\n }\n if (!layerManager.hasLayer(shape.layer)) {\n console.log(`Attempted to remove shape from an unknown layer ${shape.layer}`);\n return;\n }\n const layer = layerManager.getLayer(shape.layer)!;\n layer.removeShape(layerManager.UUIDMap.get(shape.uuid)!, false);\n layer.invalidate(false);\n});\nsocket.on(\"Shape.Order.Set\", (data: { shape: ServerShape; index: number }) => {\n if (!layerManager.UUIDMap.has(data.shape.uuid)) {\n console.log(`Attempted to move the shape order of an unknown shape`);\n return;\n }\n if (!layerManager.hasLayer(data.shape.layer)) {\n console.log(`Attempted to remove shape from an unknown layer ${data.shape.layer}`);\n return;\n }\n const shape = layerManager.UUIDMap.get(data.shape.uuid)!;\n const layer = layerManager.getLayer(shape.layer)!;\n layer.moveShapeOrder(shape, data.index, false);\n});\nsocket.on(\"Shape.Layer.Change\", (data: { uuid: string; layer: string }) => {\n const shape = layerManager.UUIDMap.get(data.uuid);\n if (shape === undefined) return;\n shape.moveLayer(data.layer, false);\n});\nsocket.on(\"Shape.Update\", (data: { shape: ServerShape; redraw: boolean; move: boolean }) => {\n gameManager.updateShape(data);\n});\nsocket.on(\"Temp.Clear\", (shapes: ServerShape[]) => {\n shapes.forEach(shape => {\n if (!layerManager.UUIDMap.has(shape.uuid)) {\n console.log(\"Attempted to remove an unknown temporary shape\");\n return;\n }\n if (!layerManager.hasLayer(shape.layer)) {\n console.log(`Attempted to remove shape from an unknown layer ${shape.layer}`);\n return;\n }\n const realShape = layerManager.UUIDMap.get(shape.uuid)!;\n layerManager.getLayer(shape.layer)!.removeShape(realShape, false);\n });\n});\n"],"sourceRoot":""} \ No newline at end of file diff --git a/server/static/js/app.e427aa98.js b/server/static/js/app.e427aa98.js new file mode 100644 index 000000000..06007470b --- /dev/null +++ b/server/static/js/app.e427aa98.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var n,r,a=t[0],l=t[1],c=t[2],d=0,h=[];de.fillText(t.text,t.x,t.y)),e.restore()}contains(e){return!1}center(e){}getCorner(e){return""}visibleInCanvas(e){return!0}snapToGrid(){}resizeToGrid(){}resize(e,t){}getMaxHeight(e){const t=this.getLines(e),i=30;return i*t.length}getMaxWidth(e){const t=this.getLines(e),i=t.map(t=>e.measureText(t.text).width);return Math.max(...i)}getLines(e){const t=this.text.split("\n"),i=[],n=e.canvas.width,s=30,o=0;let r=0;for(const a of t){let t="";const l=a.split(" ");for(const a of l){const l=t+a+" ",c=e.measureText(l),u=c.width;u>n?(e.fillText(t,o,r),i.push({text:t,x:o,y:r}),t=a+" ",r+=s):t=l}i.push({text:t,x:o,y:r}),r+=s}return i}}t.Text=r},"033f":function(e,t,i){"use strict";i.r(t);var n=i("5050"),s=i("a68b");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("9b4d");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"7111f3f6",null);a.options.__file="shapecontext.vue",t["default"]=a.exports},"034f":function(e,t,i){"use strict";var n=i("64a9"),s=i.n(n);s.a},"0584":function(e,t,i){"use strict";var n=i("de21"),s=i.n(n);s.a},"0634":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("66cb")),o=n.__importDefault(i("a026")),r=n.__importDefault(i("65d9")),a=i("c345a"),l=i("60a3");let c=class extends o.default{constructor(){super(...arguments),this.display=!1,this.left=0,this.top=0,this.transparent=!1}mounted(){this.transparent=0===this.$refs.chromePicker.val.rgba.a,this.setPosition()}open(){this.display||(this.setPosition(),this.display=!0,this.$nextTick(()=>this.$children[0].$el.focus()))}updateColor(e){this.transparent=0===e.rgba.a;const t=s.default(e.rgba).toRgbString();this.$emit("update:color",t),this.$emit("input",t)}closePicker(){this.display=!1,this.$emit("change",this.color)}setPosition(){const e=this.$el.getBoundingClientRect();e.right+224>window.innerWidth?this.left=e.left-224:this.left=e.right,e.bottom+242>window.innerHeight?this.top=e.top-242:this.top=e.bottom}};n.__decorate([l.Prop(String)],c.prototype,"color",void 0),c=n.__decorate([r.default({components:{"chrome-picker":a.Chrome}})],c),t.default=c},"07f5":function(e,t,i){"use strict";i.r(t);var n=i("dbba"),s=i("d588");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("561b"),i("a21d");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"6d744362",null);a.options.__file="game.vue",t["default"]=a.exports},"0a75":function(e,t,i){},"0bc6":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("8055"));function o(e){t.socket.io.opts.query=`user=${e.params.creator}&room=${e.params.room}`,t.socket.connect()}t.socket=s.default(location.protocol+"//"+location.host+"/planarally",{autoConnect:!1}),t.createConnection=o},"0cf7":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("4aec")),a=n.__importDefault(i("a535")),l=n.__importDefault(i("cec2")),c=i("5338"),u=i("2d5b"),d=i("4a5b");let h=class extends s.default{constructor(){super(...arguments),this.path=[],this.draggingSelection=!1}get folders(){return u.assetStore.folders}get files(){return u.assetStore.files}get selected(){return u.assetStore.selected}get idMap(){return u.assetStore.idMap}get currentFolder(){return this.path.length?this.path[this.path.length-1]:u.assetStore.root}get parentFolder(){let e=this.path[this.path.length-2];return void 0===e&&(e=u.assetStore.root),e}get firstSelectedFile(){for(const e of u.assetStore.selected)if(u.assetStore.idMap.get(e).file_hash)return u.assetStore.idMap.get(e);return null}changeDirectory(e){e<0?this.path.pop():this.path.push(e),u.assetStore.clearSelected(),c.socket.emit("Folder.Get",this.currentFolder)}createDirectory(){const e=window.prompt("New folder name");null!==e&&c.socket.emit("Folder.Create",{name:e,parent:this.currentFolder})}moveInode(e,t){u.assetStore.isFile(e)?u.assetStore.files.splice(u.assetStore.files.indexOf(e),1):u.assetStore.folders.splice(u.assetStore.folders.indexOf(e),1),u.assetStore.idMap.delete(e),c.socket.emit("Inode.Move",{inode:e,target:t})}select(e,t){if(e.shiftKey&&u.assetStore.selected.length>0){const e=[...u.assetStore.files,...u.assetStore.folders],i=e.indexOf(u.assetStore.selected[u.assetStore.selected.length-1]),n=e.indexOf(t);for(let t=i;t!==n;i0&&this.upload(e.dataTransfer.files,t);this.draggingSelection=!1}prepareUpload(){document.getElementById("files").click()}upload(e,t){const i=document.getElementById("files").files;if(void 0===e){if(!i)return;e=i}void 0===t&&(t=this.currentFolder);const n=1e5;for(const s of e){const e=d.uuidv4(),i=Math.ceil(s.size/n);for(let o=0;o{c.socket.emit("Asset.Upload",{name:s.name,directory:t,data:r.result,slice:o,totalSlices:i,uuid:e})})}}}};h=n.__decorate([o.default({components:{Prompt:l.default,ConfirmDialog:a.default,AssetContextMenu:r.default},beforeRouteEnter(e,t,i){c.socket.connect(),i()},beforeRouteLeave(e,t,i){c.socket.disconnect(),i()}})],h),t.default=h},"0ddd":function(e,t,i){"use strict";i.r(t);var n=i("8577"),s=i("4bc3");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("befe");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"62c91cd3",null);a.options.__file="asset_node.vue",t["default"]=a.exports},1:function(e,t){},"104d":function(e,t,i){"use strict";var n=i("5722"),s=i.n(n);s.a},1077:function(e,t,i){"use strict";i.r(t);var n=i("d7f0"),s=i("1eee");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("cfc1");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"6bbf3b79",null);a.options.__file="login.vue",t["default"]=a.exports},1216:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("6f92"),s=i("92b1"),o=i("98ef"),r=i("4aee");function a(e,t){const i=n.layerManager.getLayer("draw");if(void 0===i)return;const o=i.ctx;o.lineJoin="round",o.lineJoin="round",o.beginPath(),o.strokeStyle=void 0===t?`rgb(${255*Math.random()}, ${255*Math.random()}, ${255*Math.random()})`:t,o.moveTo(s.g2lx(e[0][0]),s.g2ly(e[0][1]));for(const n of e)o.lineTo(s.g2lx(n[0]),s.g2ly(n[1]));o.closePath(),o.stroke()}function l(e,t){const i=n.layerManager.getLayer("draw");if(void 0===i)return;const s=i.ctx;s.lineJoin="round",s.lineJoin="round",s.beginPath(),s.strokeStyle=void 0===t?`rgb(${255*Math.random()}, ${255*Math.random()}, ${255*Math.random()})`:t,s.moveTo(e[0][0],e[0][1]);for(const n of e)s.lineTo(n[0],n[1]);s.closePath(),s.stroke()}function c(e,t){return t?e:s.g2lx(e)}function u(e,t){return t?e:s.g2ly(e)}t.drawPolygon=a,t.drawPolygonL=l;let d=0,h=0;function f(e,t,i,n,s){e.beginPath(),e.strokeStyle=n?"rgba(255, 0, 0, 0.30)":"rgba(0, 0, 0, 0.30)",e.moveTo(c(t[0],s),u(t[1],s)),e.lineTo(c(i[0],s),u(i[1],s)),e.closePath(),e.stroke()}function p(e,t=!0,i=!0){d=0,h=0;let s=0;const a=n.layerManager.getLayer("draw");if(void 0===a)return;const l=a.ctx;i&&l.clearRect(0,0,2e3,1e3),l.lineJoin="round",l.lineJoin="round";const p=new o.EdgeIterator(e);while(p.valid)p.next(),p.collect();p.collect();do{p.edge.first.vertices[r.ccw(p.edge.second)].point,p.edge.first.vertices[r.cw(p.edge.second)].point;h++;do{p.next(),p.collect()}while(p.valid)}while(null!==p.pos);for(const n of e.triangles){if(n.isInfinite())continue;s++;const e=[];l.fillStyle="red",void 0!==n.vertices[0]&&(e.push(n.vertices[0].point),l.beginPath(),l.arc(c(n.vertices[0].point[0],t),u(n.vertices[0].point[1],t),5,0,2*Math.PI),l.closePath(),l.fill()),void 0!==n.vertices[1]&&(e.push(n.vertices[1].point),l.arc(c(n.vertices[1].point[0],t),u(n.vertices[1].point[1],t),5,0,2*Math.PI),l.closePath(),l.fill()),void 0!==n.vertices[2]&&(e.push(n.vertices[2].point),l.arc(c(n.vertices[2].point[0],t),u(n.vertices[2].point[1],t),5,0,2*Math.PI),l.closePath(),l.fill()),l.moveTo(c(n.vertices[0].point[0],t),u(n.vertices[0].point[1],t)),void 0!==n.vertices[0]&&void 0!==n.vertices[1]&&f(l,n.vertices[0].point,n.vertices[1].point,n.constraints[2],t),void 0!==n.vertices[1]&&void 0!==n.vertices[2]&&f(l,n.vertices[1].point,n.vertices[2].point,n.constraints[0],t),void 0!==n.vertices[2]&&void 0!==n.vertices[0]&&f(l,n.vertices[2].point,n.vertices[0].point,n.constraints[1],t)}console.log(`Edges: ${d}/${h}`),console.log(`Faces: ${s}`)}window.DP=a,window.DPL=l,window.DPT=p},1298:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("modal",{attrs:{visible:e.visible},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[e._v("Create basic token")])}}])},[i("div",{staticClass:"modal-body"},[i("label",{attrs:{for:"createtokendialog-text"}},[e._v("Text")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.text,expression:"text"}],attrs:{type:"text",id:"createtokendialog-name"},domProps:{value:e.text},on:{input:function(t){t.target.composing||(e.text=t.target.value)}}}),i("label",[e._v("Colours")]),i("div",{staticClass:"colours"},[i("span",[e._v("Fill:")]),i("color-picker",{attrs:{color:e.fillColour},on:{"update:color":function(t){e.fillColour=t}}}),i("span",[e._v("Border:")]),i("color-picker",{attrs:{color:e.borderColour},on:{"update:color":function(t){e.borderColour=t}}})],1),i("canvas",{ref:"canvas",attrs:{width:"100px",height:"100px"}})]),i("div",{staticClass:"modal-footer"},[i("button",{on:{click:e.submit}},[e._v("Submit")])])])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"12d3":function(e,t,i){"use strict";var n=i("a260"),s=i.n(n);s.a},1327:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importStar(i("66cb")),o=i("4a5b"),r=i("4709"),a=i("f10f"),l=i("92b1");class c extends r.Circle{constructor(e,t,i,n,s,o,r){super(e,t,s,o,r),this.type="circulartoken",this.text=i,this.font=n}asDict(){return Object.assign(this.getBaseDict(),{radius:this.r,text:this.text,font:this.font})}fromDict(e){super.fromDict(e),this.r=e.radius,this.text=e.text,this.font=e.font}draw(e){super.draw(e),e.font=this.font,e.save();const t=l.g2l(this.center());e.textAlign="center",e.textBaseline="middle";const i=o.calcFontScale(e,this.text,l.g2lz(this.r),l.g2lz(this.r)),n=0;e.transform(i,n,-n,i,t.x,t.y),e.fillStyle=s.mostReadable(this.fillColour,["#000","#fff"]).toHexString(),e.fillText(this.text,0,0),e.restore()}getInitiativeRepr(){return{uuid:this.uuid,visible:!a.gameStore.IS_DM,group:!1,source:""===this.name||"Unknown shape"===this.name?this.text:this.name,has_img:!1,effects:[],index:1/0}}}t.CircularToken=c},"160b":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"AssetManager"}},[i("div",{attrs:{id:"titlebar"}},[e._v("Asset Manager")]),i("div",{attrs:{id:"main"}},[i("div",{attrs:{id:"assets"},on:{dragover:function(t){return t.preventDefault(),e.moveDrag(t)},drop:function(t){t.preventDefault(),t.stopPropagation(),e.stopDrag(t,e.currentFolder)}}},[i("div",{attrs:{id:"breadcrumbs"}},[i("div",[e._v("/")]),e._l(e.path,function(t){return i("div",{key:t},[e._v(e._s(e.idMap.get(t).name))])})],2),i("div",{attrs:{id:"actionbar"}},[i("input",{attrs:{id:"files",type:"file",multiple:"",hidden:""},on:{change:function(t){e.upload()}}}),i("div",{attrs:{title:"Create folder"},on:{click:e.createDirectory}},[i("i",{staticClass:"fas fa-plus-square"})]),i("div",{attrs:{title:"Upload files"},on:{click:e.prepareUpload}},[i("i",{staticClass:"fas fa-upload"})])]),i("div",{attrs:{id:"explorer"}},[e.path.length?i("div",{staticClass:"inode folder",on:{dblclick:function(t){e.changeDirectory(-1)},dragover:function(t){return t.preventDefault(),e.moveDrag(t)},dragleave:function(t){return t.preventDefault(),e.leaveDrag(t)},drop:function(t){t.preventDefault(),t.stopPropagation(),e.stopDrag(t,e.parentFolder)}}},[i("i",{staticClass:"fas fa-folder",staticStyle:{"font-size":"50px"}}),i("div",{staticClass:"title"},[e._v("..")])]):e._e(),e._l(e.folders,function(t){return i("div",{key:t,staticClass:"inode folder",class:{"inode-selected":e.selected.includes(t)},attrs:{draggable:"true"},on:{click:function(i){e.select(i,t)},dblclick:function(i){e.changeDirectory(t)},contextmenu:function(i){i.preventDefault(),e.$refs.cm.open(i,t)},dragstart:function(i){e.startDrag(i,t)},dragover:function(t){return t.preventDefault(),e.moveDrag(t)},dragleave:function(t){return t.preventDefault(),e.leaveDrag(t)},drop:function(i){i.preventDefault(),i.stopPropagation(),e.stopDrag(i,t)}}},[i("i",{staticClass:"fas fa-folder",staticStyle:{"font-size":"50px"}}),i("div",{staticClass:"title"},[e._v(e._s(e.idMap.get(t).name))])])}),e._l(e.files,function(t){return i("div",{key:t,staticClass:"inode file",class:{"inode-selected":e.selected.includes(t)},attrs:{draggable:"true"},on:{click:function(i){e.select(i,t)},contextmenu:function(i){i.preventDefault(),e.$refs.cm.open(i,t)},dragstart:function(i){e.startDrag(i,t)}}},[i("img",{attrs:{src:"/static/assets/"+e.idMap.get(t).file_hash,width:"50"}}),i("div",{staticClass:"title"},[e._v(e._s(e.idMap.get(t).name))])])})],2)]),e.firstSelectedFile?i("div",{attrs:{id:"asset-details"}},[i("div",{attrs:{id:"asset-detail-title"}},[e._v(e._s(e.firstSelectedFile.name))]),i("img",{attrs:{src:"/static/assets/"+e.firstSelectedFile.file_hash}})]):e._e()]),i("AssetContextMenu",{ref:"cm"}),i("Prompt",{ref:"prompt"}),i("ConfirmDialog",{ref:"confirm"})],1)},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},1625:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("6f92"),o=i("b2ed"),r=i("0180"),a=i("f10f"),l=i("92b1");class c{constructor(){this.shown=!1;const e=new n.GlobalPoint(0,0);this.annotationText=new r.Text(e,"","bold 20px serif",0,"rgba(230, 230, 230, 1)"),this.annotationRect=new o.Rect(e,0,0,"rgba(0, 0, 0, 0.6)")}setActiveText(e){if(void 0===this.layer){if(!s.layerManager.hasLayer("draw"))return void console.warn("There is no draw layer to draw annotations on!");this.layer=s.layerManager.getLayer("draw"),this.layer.addShape(this.annotationRect,!1),this.layer.addShape(this.annotationText,!1)}this.shown=""!==e,this.annotationText.refPoint=l.l2g(new n.LocalPoint(this.layer.canvas.width/2,50)),this.annotationText.text=e;const t=this.shown?this.annotationText.getMaxWidth(this.layer.ctx)+10:0,i=this.shown?this.annotationText.getMaxHeight(this.layer.ctx)+10:0;this.annotationRect.refPoint=l.l2g(new n.LocalPoint(this.layer.canvas.width/2-t/2,30)),this.annotationRect.w=t/a.gameStore.zoomFactor,this.annotationRect.h=i/a.gameStore.zoomFactor,this.layer.invalidate(!0)}}t.AnnotationManager=c},"165c":function(e,t,i){"use strict";var n=i("aaee"),s=i.n(n);s.a},"19f9":function(e,t,i){"use strict";i.r(t);var n=i("6f83"),s=i("8cd4");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("9c5c");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"21f210ea",null);a.options.__file="menu.vue",t["default"]=a.exports},"1c76":function(e,t,i){"use strict";i.r(t);var n=i("2c88"),s=i("300e");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("7f1e");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,null,null);a.options.__file="contextmenu.vue",t["default"]=a.exports},"1dd6":function(e,t,i){"use strict";i.r(t);var n=i("5ae5"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"1eee":function(e,t,i){"use strict";i.r(t);var n=i("d30b"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"206a":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("6f92"),o=i("6c30"),r=i("4709"),a=i("1327"),l=i("5e7c"),c=i("574e"),u=i("b2ed"),d=i("0180");function h(e,t){if(void 0===t&&(t=!1),!t&&s.layerManager.UUIDMap.has(e.uuid))return s.layerManager.UUIDMap.get(e.uuid);let i;const h=new n.GlobalPoint(e.x,e.y);if("rect"===e.type_){const t=e;i=new u.Rect(h,t.width,t.height,t.fill_colour,t.stroke_colour,t.uuid)}else if("circle"===e.type_){const t=e;i=new r.Circle(h,t.radius,t.fill_colour,t.stroke_colour,t.uuid)}else if("circulartoken"===e.type_){const t=e;i=new a.CircularToken(h,t.radius,t.text,t.font,t.fill_colour,t.stroke_colour,t.uuid)}else if("line"===e.type_){const t=e;i=new l.Line(h,new n.GlobalPoint(t.x2,t.y2),t.line_width,t.stroke_colour,t.uuid)}else if("multiline"===e.type_){const t=e;i=new c.MultiLine(h,t.points.map(e=>new n.GlobalPoint(e.x,e.y)),t.line_width,t.stroke_colour,t.uuid)}else if("text"===e.type_){const t=e;i=new d.Text(h,t.text,t.font,t.angle,t.fill_colour,t.stroke_colour,t.uuid)}else{if("assetrect"!==e.type_)return;{const t=e,n=new Image(t.width,t.height);t.src.startsWith("http")?n.src=new URL(t.src).pathname:n.src=t.src,i=new o.Asset(n,h,t.width,t.height,t.uuid),n.onload=(()=>{s.layerManager.getLayer(e.layer).invalidate(!1)})}}return i.fromDict(e),i}t.createShapeFromDict=h},"223d":function(e,t,i){"use strict";var n=i("e756"),s=i.n(n);s.a},2469:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("66cb")),o=i("4a5b"),r=i("0bc6"),a=i("f312"),l=i("6f92"),c=i("f10f"),u=i("92b1");class d{constructor(e,t,i,n){this.fillColour="#000",this.strokeColour="rgba(0,0,0,0)",this.name="Unknown shape",this.trackers=[],this.auras=[],this.owners=[],this.visionObstruction=!1,this.movementObstruction=!1,this.isToken=!1,this.showHighlight=!1,this.annotation="",this.globalCompositeOperation="source-over",this.options=new Map,this.refPoint=e,this.uuid=n||o.uuidv4(),void 0!==t&&(this.fillColour=t),void 0!==i&&(this.strokeColour=i)}visibleInCanvas(e){return!1}invalidate(e){const t=l.layerManager.getLayer(this.layer);t&&t.invalidate(e)}checkVisionSources(){const e=this,t=c.gameStore.visionBlockers.indexOf(this.uuid);let i=!1;this.visionObstruction&&-1===t?(c.gameStore.visionBlockers.push(this.uuid),i=!0):!this.visionObstruction&&t>=0&&(c.gameStore.visionBlockers.splice(t,1),i=!0),i&&c.gameStore.recalculateBV(),this.auras.forEach(t=>{const i=c.gameStore.visionSources,n=i.findIndex(e=>e.aura===t.uuid);t.visionSource&&-1===n?i.push({shape:e.uuid,aura:t.uuid}):!t.visionSource&&n>=0&&i.splice(n,1)});for(let n=c.gameStore.visionSources.length-1;n>=0;n--){const t=c.gameStore.visionSources[n];t.shape===e.uuid&&(e.auras.some(e=>e.uuid===t.aura&&e.visionSource)||c.gameStore.visionSources.splice(n,1))}}setMovementBlock(e){this.movementObstruction=e||!1;const t=c.gameStore.movementblockers.indexOf(this.uuid);this.movementObstruction&&-1===t?c.gameStore.movementblockers.push(this.uuid):!this.movementObstruction&&t>=0&&c.gameStore.movementblockers.splice(t,1)}setIsToken(e){if(this.isToken=e,this.ownedBy()){const e=c.gameStore.ownedtokens.indexOf(this.uuid);this.isToken&&-1===e?c.gameStore.ownedtokens.push(this.uuid):!this.isToken&&e>=0&&c.gameStore.ownedtokens.splice(e,1)}}ownedBy(e){return void 0===e&&(e=c.gameStore.username),c.gameStore.IS_DM||this.owners.includes(e)}getBaseDict(){return{type_:this.type,uuid:this.uuid,x:this.refPoint.x,y:this.refPoint.y,layer:this.layer,draw_operator:this.globalCompositeOperation,movement_obstruction:this.movementObstruction,vision_obstruction:this.visionObstruction,auras:a.aurasToServer(this.auras),trackers:this.trackers,owners:this.owners,fill_colour:this.fillColour,stroke_colour:this.strokeColour,name:this.name,annotation:this.annotation,is_token:this.isToken,options:JSON.stringify([...this.options])}}fromDict(e){this.layer=e.layer,this.globalCompositeOperation=e.draw_operator,this.movementObstruction=e.movement_obstruction,this.visionObstruction=e.vision_obstruction,this.auras=a.aurasFromServer(e.auras),this.trackers=e.trackers,this.owners=e.owners,this.isToken=e.is_token,e.annotation&&(this.annotation=e.annotation),e.name&&(this.name=e.name),e.options&&(this.options=new Map(JSON.parse(e.options)))}draw(e){if(void 0!==this.globalCompositeOperation?e.globalCompositeOperation=this.globalCompositeOperation:e.globalCompositeOperation="source-over",this.showHighlight){const t=this.getBoundingBox();e.strokeStyle="red",e.strokeRect(u.g2lx(t.topLeft.x)-5,u.g2ly(t.topLeft.y)-5,u.g2lz(t.w)+10,u.g2lz(t.h)+10)}}drawAuras(e){for(const i of this.auras){if(0===i.value&&0===i.dim)return;e.beginPath();const n=u.g2l(this.center()),o=u.g2lr(i.value+i.dim);if(0===i.dim)e.fillStyle=i.colour;else{const t=e.createRadialGradient(n.x,n.y,u.g2lr(i.value),n.x,n.y,u.g2lr(i.value+i.dim)),o=s.default(i.colour);e.fillStyle=t,t.addColorStop(0,i.colour),t.addColorStop(1,o.setAlpha(0).toRgbString())}if(i.visionSource&&void 0!==i.lastPath)try{e.fill(i.lastPath)}catch(t){e.arc(n.x,n.y,o,0,2*Math.PI),e.fill(),console.warn(t)}else e.arc(n.x,n.y,o,0,2*Math.PI),e.fill()}}getInitiativeRepr(){return{uuid:this.uuid,visible:!c.gameStore.IS_DM,group:!1,source:this.name,has_img:!1,effects:[],index:1/0}}moveLayer(e,t){const i=l.layerManager.getLayer(this.layer),n=l.layerManager.getLayer(e);void 0!==i&&void 0!==n&&(this.layer=e,i.shapes.splice(i.shapes.indexOf(this),1),n.shapes.push(this),i.invalidate(!0),n.invalidate(!1),t&&r.socket.emit("Shape.Layer.Change",{uuid:this.uuid,layer:e}))}}t.Shape=d},"255e":function(e,t,i){"use strict";i.r(t);var n=i("851c"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},2686:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return null!==e.note?i("modal",{attrs:{visible:e.visible,mask:!1},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[i("span",{on:{click:function(t){e.$refs.title.select()}}},[i("i",{staticClass:"fas fa-pencil-alt",staticStyle:{"font-size":"15px"}})]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.note.title,expression:"note.title"}],ref:"title",domProps:{value:e.note.title},on:{change:e.updateNote,input:function(t){t.target.composing||e.$set(e.note,"title",t.target.value)}}}),i("div",{staticClass:"header-close",on:{click:function(t){e.visible=!1}}},[i("i",{staticClass:"far fa-window-close"})])])}}])},[i("div",{staticClass:"modal-body"},[i("textarea",{directives:[{name:"model",rawName:"v-model",value:e.note.text,expression:"note.text"}],ref:"textarea",style:{height:e.calcHeight()},domProps:{value:e.note.text},on:{change:e.updateNote,input:function(t){t.target.composing||e.$set(e.note,"text",t.target.value)}}})]),i("div",{staticClass:"modal-footer"},[i("button",{on:{click:e.removeNote}},[i("i",{staticClass:"far fa-trash-alt"}),e._v(" Remove\n ")])])]):e._e()},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"26a5":function(e,t,i){"use strict";var n=i("f2d0"),s=i.n(n);s.a},2756:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("496c")),o=n.__importDefault(i("ea6a")),r=i("4a5b"),a=i("0bc6"),l=i("8f0a"),c=i("6f92"),u=i("b2ed"),d=i("f10f"),h=i("2838"),f=i("92b1"),p=i("5a5c"),g=n.__importDefault(i("65d9"));var v;(function(e){e[e["Noop"]=0]="Noop",e[e["Resize"]=1]="Resize",e[e["Drag"]=2]="Drag",e[e["GroupSelect"]=3]="GroupSelect"})(v=t.SelectOperations||(t.SelectOperations={}));const m=new l.GlobalPoint(-1e3,-1e3);let y=class extends o.default{constructor(){super(...arguments),this.name="Select",this.showContextMenu=!1,this.active=!1,this.mode=v.Noop,this.resizeDirection="",this.deltaChanged=!1,this.dragRay=new l.Ray(new l.LocalPoint(0,0),new l.Vector(0,0)),this.selectionStartPoint=m,this.selectionHelper=new u.Rect(m,0,0)}created(){this.selectionHelper.globalCompositeOperation="source-over"}onMouseDown(e){const t=c.layerManager.getLayer();if(void 0===t)return void console.log("No active layer!");this.selectionHelper.owners.includes(d.gameStore.username)||this.selectionHelper.owners.push(d.gameStore.username);const i=p.getMouse(e),n=f.l2g(i);let s,o=!1;s=t.selection.length?t.shapes.concat(t.selection):t.shapes;for(let a=s.length-1;a>=0;a--){const e=s[a];if(!e.ownedBy())continue;const c=e.getBoundingBox().getCorner(n);if(void 0!==c){t.selection=[e],r.getRef("selectionInfo").shape=e,this.mode=v.Resize,this.resizeDirection=c,t.invalidate(!0),o=!0;break}if(e.contains(n)){const n=e;-1===t.selection.indexOf(n)&&(t.selection=[n],r.getRef("selectionInfo").shape=n),this.mode=v.Drag;const s=f.g2l(n.refPoint);this.dragRay=new l.Ray(s,i.subtract(s)),t.invalidate(!0),o=!0;break}}if(!o){this.mode=v.GroupSelect;for(const e of t.selection)r.getRef("selectionInfo").shape=e;this.selectionStartPoint=n,this.selectionHelper.refPoint=this.selectionStartPoint,this.selectionHelper.w=0,this.selectionHelper.h=0,t.selection=[this.selectionHelper],t.invalidate(!0)}this.active=!0}onMouseMove(e){const t=c.layerManager.getLayer();if(void 0===t)return void console.log("No active layer!");const i=p.getMouse(e),n=f.l2g(i);if(this.deltaChanged=!1,this.mode===v.GroupSelect){const e=n;this.selectionHelper.w=Math.abs(e.x-this.selectionStartPoint.x),this.selectionHelper.h=Math.abs(e.y-this.selectionStartPoint.y),this.selectionHelper.refPoint=new l.GlobalPoint(Math.min(this.selectionStartPoint.x,e.x),Math.min(this.selectionStartPoint.y,e.y)),t.invalidate(!0)}else if(t.selection.length){const s=f.g2l(t.selection[t.selection.length-1].refPoint),o=s.add(this.dragRay.direction);let r=i.subtract(o).multiply(1/d.gameStore.zoomFactor);const l=r;if(this.mode===v.Drag){if("tokens"===t.name&&(!e.shiftKey||!d.gameStore.IS_DM))for(const e of t.selection)e.uuid!==this.selectionHelper.uuid&&(r=h.calculateDelta(r,e),r!==l&&(this.deltaChanged=!0));for(const e of t.selection)e.refPoint=e.refPoint.add(r),e!==this.selectionHelper&&(e.visionObstruction&&d.gameStore.recalculateBV(!0),a.socket.emit("Shape.Update",{shape:e.asDict(),redraw:!0,temporary:!0}));t.invalidate(!1)}else if(this.mode===v.Resize)for(const e of t.selection)e.resize(this.resizeDirection,i),e!==this.selectionHelper&&(e.visionObstruction&&d.gameStore.recalculateBV(!0),a.socket.emit("Shape.Update",{shape:e.asDict(),redraw:!0,temporary:!0})),t.invalidate(!1);else for(const e of t.selection){const t=e.getBoundingBox(),i=n;t.inCorner(i,"nw")?document.body.style.cursor="nw-resize":t.inCorner(i,"ne")?document.body.style.cursor="ne-resize":t.inCorner(i,"se")?document.body.style.cursor="se-resize":t.inCorner(i,"sw")?document.body.style.cursor="sw-resize":document.body.style.cursor="default"}}else document.body.style.cursor="default"}onMouseUp(e){if(!this.active)return;if(void 0===c.layerManager.getLayer())return void console.log("No active layer!");const t=c.layerManager.getLayer();this.mode===v.GroupSelect?(t.clearSelection(),t.shapes.forEach(e=>{if(e===this.selectionHelper)return;const i=e.getBoundingBox();e.ownedBy()&&this.selectionHelper.refPoint.x<=i.topRight.x&&this.selectionHelper.refPoint.x+this.selectionHelper.w>=i.topLeft.x&&this.selectionHelper.refPoint.y<=i.botLeft.y&&this.selectionHelper.refPoint.y+this.selectionHelper.h>=i.topLeft.y&&t.selection.push(e)}),t.selection.length>0&&t.selection.push(this.selectionHelper),t.invalidate(!0)):t.selection.length&&t.selection.forEach(i=>{if(this.mode===v.Drag){if(this.dragRay.origin.x===f.g2lx(i.refPoint.x)&&this.dragRay.origin.y===f.g2ly(i.refPoint.y))return;!d.gameStore.useGrid||e.altKey||this.deltaChanged||i.snapToGrid(),i!==this.selectionHelper&&(i.visionObstruction&&d.gameStore.recalculateBV(),a.socket.emit("Shape.Update",{shape:i.asDict(),redraw:!0,temporary:!1})),t.invalidate(!1)}this.mode===v.Resize&&(d.gameStore.useGrid&&!e.altKey&&i.resizeToGrid(),i!==this.selectionHelper&&(i.visionObstruction&&d.gameStore.recalculateBV(),a.socket.emit("Shape.Update",{shape:i.asDict(),redraw:!0,temporary:!1})),t.invalidate(!1))}),this.mode=v.Noop,this.active=!1}onContextMenu(e){if(void 0===c.layerManager.getLayer())return void console.log("No active layer!");const t=c.layerManager.getLayer(),i=p.getMouse(e),n=f.l2g(i);for(const s of t.selection)if(s.contains(n))return t.selection=[s],r.getRef("selectionInfo").shape=s,t.invalidate(!0),void this.$parent.$refs.shapecontext.open(e,s);this.$refs.selectcontext.open(e)}};y=n.__decorate([g.default({components:{SelectContext:s.default}})],y),t.default=y},2838:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("6f92"),o=i("f10f");function r(e,t,i){void 0===i&&(i=[]);const a=t.getBoundingBox(),l=a.offset(e);let c=!1;for(const r of o.gameStore.movementblockers){if(i.includes(r))continue;const t=s.layerManager.UUIDMap.get(r),o=t.getBoundingBox();let u=o.intersectsWithInner(l);if(!u){const t=n.Ray.fromPoints(a.topLeft.add(e.normalize()),l.topLeft),i=t.direction.inverse(),s=[i.x<0,i.y<0];u=o.intersectP(t,i,s).hit}if(u){const t=o.center(),s=a.center(),l=s.subtract(t),u=new n.Vector(1,0),d=new n.Vector(0,1);let h=l.dot(u),f=l.dot(d);h>o.w/2&&(h=o.w/2),h<-o.w/2&&(h=-o.w/2),f>o.h/2&&(f=o.h/2),f<-o.h/2&&(f=-o.h/2);const p=t.add(u.multiply(h)).add(d.multiply(f));p.x===a.topLeft.x||p.x===a.topRight.x?e=new n.Vector(0,e.y):p.y===a.topLeft.y||p.y===a.botLeft.y?e=new n.Vector(e.x,0):p.xa.topRight.x?e=new n.Vector(p.x-a.topRight.x,e.y):p.ya.botLeft.y&&(e=new n.Vector(e.x,p.y-a.botLeft.y)),c=!0,i.push(r);break}}return c&&(e=r(e,t,i)),e}t.calculateDelta=r},"28b6":function(e,t,i){"use strict";var n=i("ee96"),s=i.n(n);s.a},"2b48":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("0bc6"),s=i("f10f");function o(){n.socket.emit("Client.Options.Set",{locationOptions:{panX:s.gameStore.panX,panY:s.gameStore.panY,zoomFactor:s.gameStore.zoomFactor}})}t.sendClientOptions=o},"2baf":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=i("60a3"),a=i("4a5b");let l=class extends s.default{constructor(){super(...arguments),this.showImage=null}get folders(){return Object.keys(this.asset).filter(e=>!["__files"].includes(e)).sort(a.alphSort)}get files(){return this.asset.__files?this.asset.__files.concat().sort((e,t)=>e.name.toLowerCase()>t.name.toLowerCase()?1:-1):[]}toggle(e){for(let t=0;tthis.$children[0].$el.focus())}close(){this.visible=!1,this.shape=null}getLayers(){return l.layerManager.layers.filter(e=>e.selectable&&(c.gameStore.IS_DM||e.playerEditable))}getActiveLayer(){return l.layerManager.getLayer()}getInitiativeWord(){return null===this.shape?"":a.getRef("initiative").contains(this.shape.uuid)?"Show":"Add"}setLayer(e){null!==this.shape&&(this.shape.moveLayer(e,!0),this.close())}moveToBack(){if(null===this.shape)return;const e=this.getActiveLayer();e.moveShapeOrder(this.shape,0,!0),this.close()}moveToFront(){if(null===this.shape)return;const e=this.getActiveLayer();e.moveShapeOrder(this.shape,e.shapes.length-1,!0),this.close()}addInitiative(){if(null===this.shape)return;const e=a.getRef("initiative");e.contains(this.shape.uuid)||e.addInitiative(this.shape.getInitiativeRepr()),e.visible=!0,this.close()}};u=n.__decorate([o.default({components:{ContextMenu:r.default}})],u),t.default=u},3427:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return null!==e.shape?i("div",[i("div",{attrs:{id:"selection-menu"}},[i("div",{attrs:{id:"selection-edit-button"},on:{click:e.openEditDialog}},[i("i",{staticClass:"fas fa-edit"})]),i("div",{attrs:{id:"selection-name"}},[e._v(e._s(e.shape.name))]),i("div",{attrs:{id:"selection-trackers"}},[e._l(e.shape.trackers,function(t){return""!==t.name||0!==t.value?[i("div",{key:"name-"+t.uuid},[e._v(e._s(t.name))]),i("div",{key:"value-"+t.uuid,staticClass:"selection-tracker-value",on:{click:function(i){e.changeValue(t,!1)}}},[0===t.maxvalue?[e._v(e._s(t.value))]:[e._v(e._s(t.value)+" / "+e._s(t.maxvalue))]],2)]:e._e()})],2),i("div",{attrs:{id:"selection-auras"}},[e._l(e.shape.auras,function(t){return""!==t.name||0!==t.value?[i("div",{key:"name-"+t.uuid},[e._v(e._s(t.name))]),i("div",{key:"value-"+t.uuid,staticClass:"selection-tracker-value",on:{click:function(i){e.changeValue(t,!0)}}},[0===t.dim?[e._v(e._s(t.value))]:[e._v(e._s(t.value)+" / "+e._s(t.dim))]],2)]:e._e()})],2)]),i("edit-dialog",{ref:"editDialog",attrs:{shape:e.shape}})],1):e._e()},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},3481:function(e,t,i){"use strict";i.r(t);var n=i("47e6"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"38c9":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("bab4"),s=i("f10f");class o extends n.Layer{invalidate(){this.valid=!1}draw(e){this.valid||this.drawGrid()}drawGrid(){const e=this.ctx;this.clear(),e.beginPath();const t=s.gameStore.gridSize;for(let i=0;it.uuid===e.uuid);this.preFogShapes.splice(t,1)}super.removeShape(e,t,i)}draw(){if(!this.valid){const e=this.ctx;if(r.Settings.skipLightFOW)return e.clearRect(0,0,this.canvas.width,this.canvas.height),void(this.valid=!0);const t=e.globalCompositeOperation;e.clearRect(0,0,this.canvas.width,this.canvas.height),e.fillStyle="rgba(0, 0, 0, 1)";const i=o.layerManager.getLayer("draw").ctx;(r.Settings.drawAngleLines||r.Settings.drawFirstLightHit)&&i.clearRect(0,0,i.canvas.width,i.canvas.height),l.gameStore.fullFOW&&o.layerManager.hasLayer("tokens")&&o.layerManager.getLayer("tokens").shapes.forEach(t=>{if(!t.ownedBy()||!t.isToken)return;const i=t.getBoundingBox(),n=c.g2l(t.center()),s=.8*c.g2lz(i.w);e.beginPath(),e.arc(n.x,n.y,s,0,2*Math.PI);const o=e.createRadialGradient(n.x,n.y,s/2,n.x,n.y,s);o.addColorStop(0,"rgba(0, 0, 0, 1)"),o.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=o,e.fill()});for(const s of l.gameStore.visionSources){const t=o.layerManager.UUIDMap.get(s.shape);if(void 0===t)continue;const u=t.auras.find(e=>e.uuid===s.aura);if(void 0===u)continue;const d=c.getUnitDistance(u.value+u.dim),h=t.center(),f=c.g2l(h),p=new a.Circle(h,d);if(!p.visibleInCanvas(e.canvas))continue;let g=-1;const v=new Path2D;let m;v.moveTo(f.x,f.y);for(let s=0;s<2*Math.PI;s+=r.Settings.angleSteps/180*Math.PI){const t=new n.GlobalPoint(h.x+d*Math.cos(s),h.y+d*Math.sin(s));r.Settings.drawAngleLines&&(i.beginPath(),i.moveTo(c.g2lx(h.x),c.g2ly(h.y)),i.lineTo(c.g2lx(t.x),c.g2ly(t.y)),i.stroke());const o=n.Ray.fromPoints(h,t),a=l.gameStore.BV.intersect(o);if(0===s&&(m=a.hit?a.intersect:t),a.hit)-1!==g&&(v.arc(f.x,f.y,c.g2lr(u.value+u.dim),g,s),g=-1),v.lineTo(c.g2lx(a.intersect.x),c.g2ly(a.intersect.y));else if(-1===g){g=s;const i=c.g2l(t);e.lineTo(i.x,i.y)}}if(-1===g?v.lineTo(c.g2lx(m.x),c.g2ly(m.y)):v.arc(f.x,f.y,c.g2lr(u.value+u.dim),g,2*Math.PI),l.gameStore.fullFOW){if(u.dim>0){const t=e.createRadialGradient(f.x,f.y,c.g2lr(u.value),f.x,f.y,c.g2lr(u.value+u.dim));t.addColorStop(0,"rgba(0, 0, 0, 1)"),t.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=t}else e.fillStyle="rgba(0, 0, 0, 1)";e.fill(v)}u.lastPath=v}l.gameStore.fowLOS&&(e.globalCompositeOperation="source-in",e.drawImage(o.layerManager.getLayer("fow-players").canvas,0,0));for(const n of this.preFogShapes){if(!n.visibleInCanvas(this.canvas))continue;const t=n.globalCompositeOperation;l.gameStore.fullFOW||("source-over"===n.globalCompositeOperation?n.globalCompositeOperation="destination-out":"destination-out"===n.globalCompositeOperation&&(n.globalCompositeOperation="source-over")),n.draw(e),n.globalCompositeOperation=t}l.gameStore.fullFOW&&(e.globalCompositeOperation="source-out",e.fillStyle=u.getFogColour(),e.fillRect(0,0,e.canvas.width,e.canvas.height)),super.draw(!1),e.globalCompositeOperation=t}}}t.FOWLayer=d},4486:function(e,t,i){"use strict";i.r(t);var n=i("a097"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},4709:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("8db6"),o=i("2469"),r=i("f10f"),a=i("2838"),l=i("92b1"),c=i("5a5c");class u extends o.Shape{constructor(e,t,i,n,s){super(e,i,n,s),this.type="circle",this.r=t||1}asDict(){return Object.assign(this.getBaseDict(),{radius:this.r})}fromDict(e){super.fromDict(e),this.r=e.radius}getBoundingBox(){return new s.BoundingRect(new n.GlobalPoint(this.refPoint.x-this.r,this.refPoint.y-this.r),2*this.r,2*this.r)}get points(){return this.getBoundingBox().points}draw(e){super.draw(e),e.beginPath(),"fog"===this.fillColour?e.fillStyle=c.getFogColour():e.fillStyle=this.fillColour;const t=l.g2l(this.refPoint);e.arc(t.x,t.y,l.g2lz(this.r),0,2*Math.PI),e.fill(),"rgba(0, 0, 0, 0)"!==this.strokeColour&&(e.beginPath(),e.lineWidth=l.g2lz(5),e.strokeStyle=this.strokeColour,e.arc(t.x,t.y,l.g2lz(this.r),0,2*Math.PI),e.stroke())}contains(e){return Math.pow(e.x-this.refPoint.x,2)+Math.pow(e.y-this.refPoint.y,2){const t=16*Math.random()|0,i="x"===e?t:3&t|8;return i.toString(16)})}function o(e){return e.charAt(0).toUpperCase()+e.slice(1)}function r(e,t){return e.toLowerCase()t(e)?i[1].push(e):i[0].push(e)),i}function u(e,t,i,n){const s=.2*Number(e.font.split("px")[0]),o=e.measureText(t).width;return Math.min(i/o,n/s)}function d(e){return encodeURIComponent(e).replace(/[!'()*]/g,e=>{return"%"+e.charCodeAt(0).toString(16)})}t.uuidv4=s,t.capitalize=o,t.alphSort=r,t.getHTMLFont=a,t.getHTMLTextWidth=l,t.partition=c,t.calcFontScale=u,t.fixedEncodeURIComponent=d;class h{constructor(){this.keys=[],this.values=[]}get length(){return this.keys.length}get(e){return this.values[this.keys.indexOf(e)]}getIndexValue(e){return this.values[e]}getIndexKey(e){return this.keys[e]}set(e,t){this.keys.push(e),this.values.push(t)}has(e){return this.indexOf(e)>=0}indexOf(e){return this.keys.indexOf(e)}remove(e){const t=this.indexOf(e);this.keys.splice(t,1),this.values.splice(t,1)}}function f(){return n.app.$children[0].$refs.activeComponent}function p(e){const t=n.app.$children[0].$refs.activeComponent;return t.$refs[e]}t.OrderedMap=h,t.getComponent=f,t.getRef=p},"4aec":function(e,t,i){"use strict";i.r(t);var n=i("df15"),s=i("f51a");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,null,null);a.options.__file="contextMenu.vue",t["default"]=a.exports},"4aee":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("98ef");function s(e){return(e+2)%3}function o(e){return(e+1)%3}function r(e,t){const i=new n.EdgeCirculator(e,null);if(i.valid)do{const s=3-i.t.indexV(e)-i.ri,o=i.t.vertices[s];if(!o.infinite){if(o===t)return{includes:!0,vi:t,fr:i.t,i:i.ri};{const s=c(e.point,t.point,o.point);if(s===n.Sign.COLLINEAR&&a(e.point,o.point,t.point))return{includes:!0,vi:o,fr:i.t,i:i.ri}}}}while(i.next());return{includes:!1}}function a(e,t,i){let s,o;return l(0,e,i)===n.Sign.EQUAL?(s=l(1,e,t),o=l(1,t,i)):(s=l(0,e,t),o=l(0,t,i)),s===n.Sign.SMALLER&&o===n.Sign.SMALLER||s===n.Sign.LARGER&&o===n.Sign.LARGER}function l(e,t,i){return t[e]i[e]?n.Sign.LARGER:n.Sign.EQUAL}function c(e,t,i){const s=e[0],o=e[1],r=t[0],a=t[1],l=i[0],c=i[1],d=r-s,h=a-o,f=l-s,p=c-o,g=u(d,h,f,p);let v=Math.abs(d),m=Math.abs(h);const y=Math.abs(f),b=Math.abs(p);if(vm&&([v,m]=[m,v]),v<2e-162&&0===v)return n.Sign.ZERO;if(m<1e153){const e=Number.EPSILON*v*m;if(g>e)return n.Sign.POSITIVE;if(g<-e)return n.Sign.NEGATIVE}return n.Sign.ZERO}function u(e,t,i,n){return e*n-t*i}function d(e,t,i){return u(t[0]-e[0],t[1]-e[1],i[0]-e[0],i[1]-e[1])<0}function h(e,t,i){if(!e.isInfinite())return f(e.vertices[0].point,e.vertices[1].point,e.vertices[2].point,t,i);throw new Error("SSS")}function f(e,t,i,s,o){const r=m(e,t,i,s);if(r!==n.Sign.ON_ORIENTED_BOUNDARY||!o)return r;const a=[e,t,i,s];a.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);for(const l of a.reverse()){if(l===s)return n.Sign.ON_NEGATIVE_SIDE;let o=c(e,t,s);if(l===i&&o!==n.Sign.COLLINEAR)return o;if(o=c(e,s,i),l===t&&o!==n.Sign.COLLINEAR)return o;if(o=c(s,t,i),l===e&&o!==n.Sign.COLLINEAR)return o}return n.Sign.ON_NEGATIVE_SIDE}function p(e,t){return e[0]===t[0]&&e[1]===t[1]}function g(e,t){return e[0]<=t[0]&&e[1]<=t[1]}function v(e,t){return g(e,t)?n.Sign.SMALLER:p(e,t)?n.Sign.EQUAL:n.Sign.LARGER}function m(e,t,i,s){const o=t[0]-e[0],r=t[1]-e[1],a=i[0]-e[0],l=i[1]-e[1],c=s[0]-e[0],d=s[1]-e[1],h=s[0]-t[0],f=s[1]-t[1],p=i[0]-t[0],g=i[1]-t[1],v=u(o*d-r*c,c*h+d*f,o*l-r*a,a*p+l*g);let m=Math.abs(o),y=Math.abs(r);const b=Math.abs(a),_=Math.abs(l),S=Math.abs(h),w=Math.abs(f),x=Math.abs(c),M=Math.abs(d),C=Math.abs(p),L=Math.abs(g);if(my&&([m,y]=[y,m]),m<1e-73&&0===m)return n.Sign.ON_ORIENTED_BOUNDARY;if(y<1e76){const e=Number.EPSILON*m*y*(y*y);if(v>e)return n.Sign.ON_POSITIVE_SIDE;if(v<-e)return n.Sign.ON_NEGATIVE_SIDE}return n.Sign.ZERO}function y(e,t,i,s){switch(c(e,t,i)){case n.Sign.LEFT_TURN:return c(i,s,t)!==n.Sign.RIGHT_TURN;case n.Sign.RIGHT_TURN:return c(i,s,t)!==n.Sign.LEFT_TURN;case n.Sign.COLLINEAR:return!0}}function b(e,t,i,s){switch(c(e,t,i)){case n.Sign.LEFT_TURN:return c(e,t,s)!==n.Sign.LEFT_TURN;case n.Sign.RIGHT_TURN:return c(e,t,s)!==n.Sign.RIGHT_TURN;case n.Sign.COLLINEAR:return!0}}function _(e,t,i,n){const s=x(e,t,i,n);switch(s.intersectionType){case S.POINT:return s.point;case S.NO_INTERSECTION:return null}throw new Error("sdfgighowen")}var S;function w(e,t){if(e[0]===t[0])return[1,0,-e[0]];if(e[1]===t[1])return[0,1,-e[1]];const i=t[0]-e[0],n=t[1]-e[1];return[-n,i,-i+n]}function x(e,t,i,n){if(!C(e,t,i,n))return{intersectionType:S.NO_INTERSECTION,point:null};const s=w(e,t),o=w(i,n),r=M(s,o);switch(r.intersectionType){case S.POINT:return r}throw new Error("gzseuihgpib")}function M(e,t){const i=e[0]*t[1]-t[0]*e[1],n=e[1]*t[2]-t[1]*e[2],s=t[0]*e[2]-e[0]*t[2];return{intersectionType:S.POINT,point:[n/i,s/i]}}function C(e,t,i,s){if(g(e,t)){if(g(i,s)){if(g(t,i)||g(s,e))return!1}else if(g(t,s)||g(i,e))return!1}else if(g(i,s)){if(g(e,i)||g(s,t))return!1}else if(g(e,s)||g(i,t))return!1;if(g(e,t))if(g(i,s))switch(v(e,i)){case n.Sign.SMALLER:switch(v(t,i)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(t,s)){case n.Sign.SMALLER:return y(e,t,i,s);case n.Sign.EQUAL:return!0;default:return b(e,t,i,s)}}case n.Sign.EQUAL:return!0;default:switch(v(s,e)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(s,t)){case n.Sign.SMALLER:return y(i,s,e,t);case n.Sign.EQUAL:return!0;default:return b(i,s,e,t)}}}else switch(v(e,s)){case n.Sign.SMALLER:switch(v(t,s)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(t,i)){case n.Sign.SMALLER:return y(e,t,s,i);case n.Sign.EQUAL:return!0;default:return b(e,t,s,i)}}case n.Sign.EQUAL:return!0;default:switch(v(i,e)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(i,t)){case n.Sign.SMALLER:return y(s,i,e,t);case n.Sign.EQUAL:return!0;default:return b(s,i,e,t)}}}else if(g(i,s))switch(v(t,i)){case n.Sign.SMALLER:switch(v(e,i)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(e,s)){case n.Sign.SMALLER:return y(t,e,i,s);case n.Sign.EQUAL:return!0;default:return b(t,e,i,s)}}case n.Sign.EQUAL:return!0;default:switch(v(s,t)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(s,e)){case n.Sign.SMALLER:return y(i,s,t,e);case n.Sign.EQUAL:return!0;default:return b(i,s,t,e)}}}else switch(v(t,s)){case n.Sign.SMALLER:switch(v(e,s)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(e,i)){case n.Sign.SMALLER:return y(t,e,s,i);case n.Sign.EQUAL:return!0;default:return b(t,e,s,i)}}case n.Sign.EQUAL:return!0;default:switch(v(i,t)){case n.Sign.SMALLER:return!1;case n.Sign.EQUAL:return!0;default:switch(v(i,e)){case n.Sign.SMALLER:return y(s,i,t,e);case n.Sign.EQUAL:return!0;default:return b(s,i,t,e)}}}}t.cw=s,t.ccw=o,t.edgeInfo=r,t.collinearBetween=a,t.orientation=c,t.determinant=u,t.hasInexactNegativeOrientation=d,t.sideOfOrientedCircle=h,t.xyEqual=p,t.xySmaller=g,t.xyCompare=v,t.intersection=_,function(e){e[e["NO_INTERSECTION"]=0]="NO_INTERSECTION",e[e["POINT"]=1]="POINT",e[e["SEGMENT"]=2]="SEGMENT"}(S||(S={}))},"4b01":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("Modal",{attrs:{visible:e.visible,mask:!1},on:{close:function(t){e.visible=!1}},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[i("div",[e._v("Edit asset")]),i("div",{staticClass:"header-close",on:{click:function(t){e.visible=!1}}},[i("i",{staticClass:"far fa-window-close"})])])}}])},[i("div",{staticClass:"modal-body"},[i("label",{attrs:{for:"shapeselectiondialog-name"}},[e._v("Name")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.shape.name,expression:"shape.name"}],staticStyle:{"grid-column":"numerator / end"},attrs:{type:"text",id:"shapeselectiondialog-name"},domProps:{value:e.shape.name},on:{change:function(t){e.updateShape(!1)},input:function(t){t.target.composing||e.$set(e.shape,"name",t.target.value)}}}),i("label",{attrs:{for:"shapeselectiondialog-istoken"}},[e._v("Is a token")]),i("input",{staticStyle:{"grid-column-start":"remove",width:"15px",height:"15px"},attrs:{type:"checkbox",id:"shapeselectiondialog-istoken"},domProps:{checked:e.shape.isToken},on:{click:e.setToken}}),i("label",{attrs:{for:"shapeselectiondialog-visionblocker"}},[e._v("Blocks vision/light")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.shape.visionObstruction,expression:"shape.visionObstruction"}],staticStyle:{"grid-column-start":"remove",width:"15px",height:"15px"},attrs:{type:"checkbox",id:"shapeselectiondialog-visionblocker"},domProps:{checked:Array.isArray(e.shape.visionObstruction)?e._i(e.shape.visionObstruction,null)>-1:e.shape.visionObstruction},on:{change:[function(t){var i=e.shape.visionObstruction,n=t.target,s=!!n.checked;if(Array.isArray(i)){var o=null,r=e._i(i,o);n.checked?r<0&&e.$set(e.shape,"visionObstruction",i.concat([o])):r>-1&&e.$set(e.shape,"visionObstruction",i.slice(0,r).concat(i.slice(r+1)))}else e.$set(e.shape,"visionObstruction",s)},e.setVisionBlocker]}}),i("label",{attrs:{for:"shapeselectiondialog-moveblocker"}},[e._v("Blocks movement")]),i("input",{staticStyle:{"grid-column-start":"remove",width:"15px",height:"15px"},attrs:{type:"checkbox",id:"shapeselectiondialog-moveblocker"},domProps:{checked:e.shape.movementObstruction},on:{click:e.setMovementBlocker}}),i("div",{staticClass:"spanrow header"},[e._v("Access")]),e._l(e.shape.owners,function(t){return[i("input",{key:t,staticStyle:{"grid-column-start":"name"},attrs:{type:"text",placeholder:"name"},domProps:{value:t},on:{change:function(i){e.updateOwner(i,t)}}}),""!==t?i("div",{key:"remove-"+t,staticStyle:{"grid-column-start":"remove"},on:{click:function(i){e.removeOwner(t)}}},[i("i",{staticClass:"fas fa-trash-alt"})]):e._e()]}),i("div",{staticClass:"spanrow header"},[e._v("Trackers")]),e._l(e.shape.trackers,function(t){return[i("input",{directives:[{name:"model",rawName:"v-model",value:t.name,expression:"tracker.name"}],key:"name-"+t.uuid,staticStyle:{"grid-column-start":"name"},attrs:{type:"text",placeholder:"name"},domProps:{value:t.name},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"name",i.target.value)}}}),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.value,expression:"tracker.value",modifiers:{number:!0}}],key:"value-"+t.uuid,attrs:{type:"text",title:"Current value"},domProps:{value:t.value},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"value",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("span",{key:"fspan-"+t.uuid},[e._v("/")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.maxvalue,expression:"tracker.maxvalue",modifiers:{number:!0}}],key:"maxvalue-"+t.uuid,attrs:{type:"text",title:"Current value"},domProps:{value:t.maxvalue},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"maxvalue",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("span",{key:"sspan-"+t.uuid}),i("div",{key:"visibility-"+t.uuid,style:{opacity:t.visible?1:.3},on:{click:function(i){t.visible=!t.visible,e.updateShape(!1)}}},[i("i",{staticClass:"fas fa-eye"})]),i("span",{key:"tspan-"+t.uuid}),""!==t.name||0!==t.value?i("div",{key:"remove-"+t.uuid,on:{click:function(i){e.removeTracker(t.uuid)}}},[i("i",{staticClass:"fas fa-trash-alt"})]):e._e()]}),i("div",{staticClass:"spanrow header"},[e._v("Auras")]),e._l(e.shape.auras,function(t){return[i("input",{directives:[{name:"model",rawName:"v-model",value:t.name,expression:"aura.name"}],key:"name-"+t.uuid,staticStyle:{"grid-column-start":"name"},attrs:{type:"text",placeholder:"name"},domProps:{value:t.name},on:{change:function(t){e.updateShape(!1)},input:function(i){i.target.composing||e.$set(t,"name",i.target.value)}}}),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.value,expression:"aura.value",modifiers:{number:!0}}],key:"value-"+t.uuid,attrs:{type:"text",title:"Current value"},domProps:{value:t.value},on:{change:function(t){e.updateShape(!0)},input:function(i){i.target.composing||e.$set(t,"value",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("span",{key:"fspan-"+t.uuid},[e._v("/")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:t.dim,expression:"aura.dim",modifiers:{number:!0}}],key:"dimvalue-"+t.uuid,attrs:{type:"text",title:"Dim value"},domProps:{value:t.dim},on:{change:function(t){e.updateShape(!0)},input:function(i){i.target.composing||e.$set(t,"dim",e._n(i.target.value))},blur:function(t){e.$forceUpdate()}}}),i("color-picker",{key:"colour-"+t.uuid,attrs:{color:t.colour},on:{"update:color":function(i){e.$set(t,"colour",i)},input:function(i){e.updateAuraColour(t,i)},change:function(t){e.updateShape(!0)}}}),i("div",{key:"visibility-"+t.uuid,style:{opacity:t.visible?1:.3},on:{click:function(i){t.visible=!t.visible,e.updateShape(!0)}}},[i("i",{staticClass:"fas fa-eye"})]),i("div",{key:"visionsource-"+t.uuid,style:{opacity:t.visionSource?1:.3},on:{click:function(i){e.updateAuraVisionSource(t)}}},[i("i",{staticClass:"fas fa-lightbulb"})]),""!==t.name||0!==t.value?i("div",{key:"remove-"+t.uuid,on:{click:function(i){e.removeAura(t.uuid)}}},[i("i",{staticClass:"fas fa-trash-alt"})]):e._e()]}),i("div",{staticClass:"spanrow header"},[e._v("Annotation")]),i("textarea",{staticClass:"spanrow",domProps:{value:e.shape.annotation},on:{change:e.updateAnnotation}})],2)])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"4bc3":function(e,t,i){"use strict";i.r(t);var n=i("2baf"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},5050:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return void 0!==e.getActiveLayer()?i("ContextMenu",{attrs:{visible:e.visible,left:e.x+"px",top:e.y+"px"},on:{close:e.close}},[e.getLayers().length>1?i("li",[e._v("Layer\n "),i("ul",e._l(e.getLayers(),function(t){return i("li",{key:t.name,style:[e.getActiveLayer().name===t.name?{"background-color":"#82c8a0"}:{}],on:{click:function(i){e.setLayer(t.name)}}},[e._v(e._s(t.name))])}))]):e._e(),i("li",{on:{click:e.moveToBack}},[e._v("Move to back")]),i("li",{on:{click:e.moveToFront}},[e._v("Move to front")]),i("li",{on:{click:e.addInitiative}},[e._v(e._s(e.getInitiativeWord())+" initiative")])]):e._e()},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"52a8":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=i("60a3");let a=class extends s.default{constructor(){super(...arguments),this.positioned=!1,this.offsetX=0,this.offsetY=0,this.screenX=0,this.screenY=0,this.dragging=!1}mounted(){this.updatePosition()}updated(){this.updatePosition()}close(e){this.$emit("close")}updatePosition(){if(!this.positioned){const e=this.$refs.container;if(0===e.offsetWidth&&0===e.offsetHeight)return;this.$refs.container.style.left=(window.innerWidth-e.offsetWidth)/2+"px",this.$refs.container.style.top=(window.innerHeight-e.offsetHeight)/2+"px",this.positioned=!0}}dragStart(e){null!==e&&null!==e.dataTransfer&&(e.dataTransfer.setData("Hack",""),e.dataTransfer.setDragImage(this.$refs.container,e.offsetX,e.offsetY),this.offsetX=e.offsetX,this.offsetY=e.offsetY,this.screenX=e.screenX,this.screenY=e.screenY,this.dragging=!0)}dragEnd(e){this.dragging=!1;let t=e.clientX-this.offsetX,i=e.clientY-this.offsetY;0===e.clientX&&0===e.clientY&&0===e.pageX&&0===e.pageY&&(t=parseInt(this.$refs.container.style.left,10)-(this.screenX-e.screenX),i=parseInt(this.$refs.container.style.top,10)-(this.screenY-e.screenY)),t<0&&(t=0),t>window.innerWidth-100&&(t=window.innerWidth-100),i<0&&(i=0),i>window.innerHeight-100&&(i=window.innerHeight-100),this.$refs.container.style.left=t+"px",this.$refs.container.style.top=i+"px",this.$refs.container.style.display="block"}dragOver(e){this.dragging&&(this.$refs.container.style.display="none")}};n.__decorate([r.Prop(Boolean)],a.prototype,"visible",void 0),n.__decorate([r.Prop({type:Boolean,default:!0})],a.prototype,"mask",void 0),a=n.__decorate([o.default],a),t.default=a},5338:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("8055")),o=i("2d5b");t.socket=s.default(location.protocol+"//"+location.host+"/pa_assetmgmt",{autoConnect:!1}),t.socket.on("connect",()=>{console.log("Connected")}),t.socket.on("disconnect",()=>{console.log("Disconnected")}),t.socket.on("redirect",e=>{console.log("redirecting"),window.location.href=e}),t.socket.on("Folder.Root.Set",e=>{o.assetStore.setRoot(e)}),t.socket.on("Folder.Set",e=>{if(o.assetStore.clear(),e.children)for(const t of e.children)o.assetStore.idMap.set(t.id,t),t.file_hash?o.assetStore.files.push(t.id):o.assetStore.folders.push(t.id)}),t.socket.on("Folder.Create",e=>{o.assetStore.folders.push(e.id),o.assetStore.idMap.set(e.id,e)}),t.socket.on("Asset.Upload.Finish",e=>{o.assetStore.idMap.set(e.id,e),o.assetStore.files.push(e.id)})},"550a":function(e,t,i){"use strict";var n=i("f8a4"),s=i.n(n);s.a},"561b":function(e,t,i){"use strict";var n=i("a450"),s=i.n(n);s.a},5722:function(e,t,i){},"574e":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("8db6"),o=i("2469"),r=i("92b1"),a=i("5a5c");class l extends o.Shape{constructor(e,t,i,n,s){super(e,"rgba(0, 0, 0, 0)",n||"#000",s),this.type="multiline",this._points=[],this._points=t||[],this.lineWidth=i||3}asDict(){return Object.assign(this.getBaseDict(),{line_width:this.lineWidth,points:this._points.map(e=>({x:e.x,y:e.y}))})}get points(){return this._points.map(e=>[e.x,e.y])}getBoundingBox(){let e=this.refPoint.x,t=this.refPoint.y,i=this.refPoint.x,o=this.refPoint.y;for(const n of this._points)n.xt&&(t=n.x),n.yo&&(o=n.y);return new s.BoundingRect(new n.GlobalPoint(e,i),t-e,o-i)}draw(e){super.draw(e),e.beginPath(),e.lineCap="round",e.lineJoin="round",e.moveTo(r.g2lx(this.refPoint.x),r.g2ly(this.refPoint.y));for(const t of this._points)e.lineTo(r.g2lx(t.x),r.g2ly(t.y));"fog"===this.strokeColour?e.strokeStyle=a.getFogColour():e.strokeStyle=this.strokeColour,e.lineWidth=r.g2lz(this.lineWidth),e.stroke()}contains(e){return this._points.includes(e)}center(e){}getCorner(e){return""}visibleInCanvas(e){return!0}snapToGrid(){}resizeToGrid(){}resize(e,t){}}t.MultiLine=l},"58c7":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"outer",on:{click:function(t){return t.target!==t.currentTarget?null:e.open(t)}}},[i("div",{staticClass:"current-color",style:e.transparent?"background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)":"background-color:"+e.color,on:{click:function(t){return t.target!==t.currentTarget?null:e.open(t)}}}),i("div",{directives:[{name:"show",rawName:"v-show",value:e.display,expression:"display"}],staticClass:"mask",on:{click:function(t){return t.target!==t.currentTarget?null:e.closePicker(t)}}}),i("chrome-picker",{directives:[{name:"show",rawName:"v-show",value:e.display,expression:"display"}],ref:"chromePicker",style:{position:"fixed",left:e.left+"px",top:e.top+"px","z-index":9999},attrs:{value:e.color,tabindex:"-1"},on:{input:e.updateColor}})],1)},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"59d8":function(e,t,i){"use strict";i.r(t);var n=i("605b"),s=i("6f8d");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("cec8");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"7abc7fe9",null);a.options.__file="draw.vue",t["default"]=a.exports},"5a5c":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("66cb")),o=i("8f0a"),r=i("f10f");function a(e){return new o.LocalPoint(e.pageX,e.pageY)}function l(e=!1){const t=s.default(r.gameStore.fowColour);return r.gameStore.IS_DM?t.setAlpha(e?1:r.gameStore.fowOpacity):t.setAlpha(1),t.toRgbString()}t.getMouse=a,t.getFogColour=l},"5a81":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importStar(i("66cb")),o=n.__importDefault(i("a026")),r=n.__importDefault(i("65d9")),a=i("2f62"),l=n.__importDefault(i("3b36")),c=n.__importDefault(i("d65f")),u=i("4a5b"),d=i("8f0a"),h=i("6f92"),f=i("1327"),p=i("f10f"),g=i("92b1"),v=i("60a3");let m=class extends o.default{constructor(){super(...arguments),this.x=0,this.y=0,this.visible=!1,this.text="X",this.fillColour="rgba(255, 255, 255, 1)",this.borderColour="rgba(0, 0, 0, 1)"}mounted(){this.updatePreview()}onTextChange(e,t){this.updatePreview()}onFillChange(e,t){this.updatePreview()}onBorderChange(e,t){this.updatePreview()}open(e,t){this.visible=!0,this.x=e,this.y=t}submit(){const e=h.layerManager.getLayer();if(void 0===e)return;const t=new f.CircularToken(g.l2g(new d.LocalPoint(this.x,this.y)),g.getUnitDistance(p.gameStore.unitSize/2),this.text,"10px serif",this.fillColour,this.borderColour);t.owners.push(p.gameStore.username),e.addShape(t,!0),e.invalidate(!1),this.visible=!1}updatePreview(){const e=this.$refs.canvas.getContext("2d");e.clearRect(0,0,e.canvas.width,e.canvas.height),e.beginPath();const t={x:e.canvas.width/2,y:e.canvas.height/2},i=.9*Math.min(t.x,t.y);e.fillStyle=this.fillColour,e.arc(t.x,t.y,i,0,2*Math.PI),e.fill(),"rgba(0, 0, 0, 0)"!==this.borderColour&&(e.beginPath(),e.lineWidth=5,e.strokeStyle=this.borderColour,e.arc(t.x,t.y,i,0,2*Math.PI),e.stroke()),e.save(),e.textAlign="center",e.textBaseline="middle";const n=u.calcFontScale(e,this.text,i,i),o=0;e.transform(n,o,-o,n,t.x,t.y),e.fillStyle=s.mostReadable(this.fillColour,["#000","#fff"]).toHexString(),e.fillText(this.text,0,0),e.restore()}};n.__decorate([v.Watch("text")],m.prototype,"onTextChange",null),n.__decorate([v.Watch("fillColour")],m.prototype,"onFillChange",null),n.__decorate([v.Watch("borderColour")],m.prototype,"onBorderChange",null),m=n.__decorate([r.default({components:{Modal:c.default,"color-picker":l.default},computed:Object.assign({},a.mapState("game",["unitSize"]))})],m),t.default=m},"5ae5":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("d65f")),a=i("4a5b"),l=i("f10f");let c=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.note=null}open(e){this.visible=!0,this.note=e}calcHeight(){if(this.$refs.textarea){const e=this.$refs.textarea;return e.style.height="auto",e.style.height=e.scrollHeight+"px",e.scrollHeight+"px"}return"100px"}updateNote(){this.note&&l.gameStore.updateNote({note:this.note,sync:!0})}removeNote(){a.getRef("confirm").open("Are you sure you wish to remove this?").then(e=>{e&&this.note&&(l.gameStore.removeNote({note:this.note,sync:!0}),this.visible=!1)},()=>{})}};c=n.__decorate([o.default({components:{Modal:r.default}})],c),t.default=c},"5b4c":function(e,t,i){"use strict";var n=i("c6fe"),s=i.n(n);s.a},"5b69":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("65d9")),o=i("60a3"),r=n.__importDefault(i("3b36")),a=n.__importDefault(i("ea6a")),l=i("0bc6"),c=i("8f0a"),u=i("6f92"),d=i("4709"),h=i("574e"),f=i("b2ed"),p=i("f10f"),g=i("92b1"),v=i("5a5c");let m=class extends a.default{constructor(){super(...arguments),this.name="Draw",this.active=!1,this.startPoint=null,this.shape=null,this.brushHelper=null,this.fillColour="rgba(0, 0, 0, 1)",this.borderColour="rgba(255, 255, 255, 0)",this.shapeSelect="square",this.shapes=["square","circle","paint-brush"],this.modeSelect="normal",this.modes=["normal","reveal","hide"],this.brushSize=g.getUnitDistance(p.gameStore.unitSize)}get helperSize(){return"paint-brush"===this.shapeSelect?this.brushSize/2:g.getUnitDistance(this.unitSize)/8}get IS_DM(){return p.gameStore.IS_DM}get unitSize(){return p.gameStore.unitSize}get useGrid(){return p.gameStore.useGrid}onFillChange(){this.brushHelper&&(this.brushHelper.fillColour=this.fillColour)}onModeUpdate(e,t){this.onModeChange(e,t)}setupBrush(){null!==this.brushHelper&&("reveal"===this.modeSelect||"hide"===this.modeSelect?(this.brushHelper.options.set("preFogShape",!0),this.brushHelper.options.set("skipDraw",!0),this.brushHelper.fillColour="rgba(0, 0, 0, 1)","reveal"===this.modeSelect?this.brushHelper.globalCompositeOperation="source-over":"hide"===this.modeSelect&&(this.brushHelper.globalCompositeOperation="destination-out")):(this.brushHelper.options.delete("preFogShape"),this.brushHelper.options.delete("skipDraw"),this.brushHelper.globalCompositeOperation="source-over",this.brushHelper.fillColour=this.fillColour))}onModeChange(e,t){if(null===this.brushHelper)return;const i=u.layerManager.getLayer("fow"),n=u.layerManager.getLayer();void 0!==i&&void 0!==n&&(this.setupBrush(),"normal"!==e&&"normal"===t?(n.removeShape(this.brushHelper,!1),i.addShape(this.brushHelper,!1)):"normal"===e&&"normal"!==t&&(n.addShape(this.brushHelper,!1),i.removeShape(this.brushHelper,!1)))}getLayer(){return"normal"===this.modeSelect?u.layerManager.getLayer():u.layerManager.getLayer("fow")}onMouseDown(e){const t=this.getLayer();if(void 0!==t){if(this.active=!0,this.startPoint=g.l2g(v.getMouse(e)),"square"===this.shapeSelect)this.shape=new f.Rect(this.startPoint.clone(),0,0,this.fillColour,this.borderColour);else if("circle"===this.shapeSelect)this.shape=new d.Circle(this.startPoint.clone(),this.helperSize,this.fillColour,this.borderColour);else{if("paint-brush"!==this.shapeSelect)return;this.shape=new h.MultiLine(this.startPoint.clone(),[],this.brushSize),this.shape.fillColour=this.fillColour}"normal"!==this.modeSelect&&(this.shape.options.set("preFogShape",!0),this.shape.options.set("skipDraw",!0),this.shape.fillColour="rgba(0, 0, 0, 1)"),"reveal"===this.modeSelect?this.shape.globalCompositeOperation="source-over":"hide"===this.modeSelect&&(this.shape.globalCompositeOperation="destination-out"),this.shape.owners.push(p.gameStore.username),"fow"===t.name&&"normal"===this.modeSelect&&(this.shape.visionObstruction=!0,this.shape.movementObstruction=!0),p.gameStore.visionBlockers.push(this.shape.uuid),t.addShape(this.shape,!0,!1),this.onDeselect(),this.onSelect()}else console.log("No active layer!")}onMouseMove(e){const t=g.l2g(v.getMouse(e)),i=this.getLayer();void 0!==i?(null!==this.brushHelper&&(this.brushHelper.r=this.helperSize,this.brushHelper.refPoint=t,this.active||i.invalidate(!1)),this.active&&null!==this.startPoint&&null!==this.shape&&("square"===this.shapeSelect?(this.shape.w=Math.abs(t.x-this.startPoint.x),this.shape.h=Math.abs(t.y-this.startPoint.y),this.shape.refPoint.x=Math.min(this.startPoint.x,t.x),this.shape.refPoint.y=Math.min(this.startPoint.y,t.y)):"circle"===this.shapeSelect?this.shape.r=t.subtract(this.startPoint).length():"paint-brush"===this.shapeSelect&&this.shape._points.push(t),l.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:!0,temporary:!0}),this.shape.visionObstruction&&p.gameStore.recalculateBV(!0),i.invalidate(!1))):console.log("No active layer!")}onMouseUp(e){this.active&&null!==this.shape&&(!e.altKey&&this.useGrid&&this.shape.resizeToGrid(),this.shape.visionObstruction&&p.gameStore.recalculateBV(),l.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:!0,temporary:!1}),this.active=!1)}onSelect(){const e=this.getLayer();void 0!==e&&(this.brushHelper=new d.Circle(new c.GlobalPoint(-1e3,-1e3),this.brushSize/2,this.fillColour),this.setupBrush(),e.addShape(this.brushHelper,!1))}onDeselect(){const e=this.getLayer();null!==this.brushHelper&&void 0!==e&&e.removeShape(this.brushHelper,!1)}};n.__decorate([o.Watch("fillColour")],m.prototype,"onFillChange",null),n.__decorate([o.Watch("modeSelect")],m.prototype,"onModeUpdate",null),m=n.__decorate([s.default({components:{"color-picker":r.default}})],m),t.default=m},"5e17":function(e,t,i){},"5e7c":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("8db6"),o=i("2469"),r=i("92b1");class a extends o.Shape{constructor(e,t,i,n,s){super(e,"rgba(0, 0, 0, 0)",n||"#000",s),this.type="line",this.endPoint=t,this.lineWidth=void 0===i?1:i}asDict(){return Object.assign(this.getBaseDict(),{x2:this.endPoint.x,y2:this.endPoint.y,line_width:this.lineWidth})}get points(){return[[this.refPoint.x,this.refPoint.y],[this.endPoint.x,this.endPoint.y]]}getBoundingBox(){return new s.BoundingRect(new n.GlobalPoint(Math.min(this.refPoint.x,this.endPoint.x),Math.min(this.refPoint.x,this.endPoint.y)),Math.abs(this.refPoint.x-this.endPoint.x),Math.abs(this.refPoint.y-this.endPoint.y))}draw(e){super.draw(e),e.strokeStyle=this.strokeColour,e.beginPath(),e.moveTo(r.g2lx(this.refPoint.x),r.g2ly(this.refPoint.y)),e.lineTo(r.g2lx(this.endPoint.x),r.g2ly(this.endPoint.y)),e.lineWidth=this.lineWidth,e.stroke()}contains(e){return!1}center(e){}getCorner(e){return""}visibleInCanvas(e){return!0}snapToGrid(){}resizeToGrid(){}resize(e,t){}}t.Line=a},"5f86":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("bc3a")),o=n.__importDefault(i("a026")),r=n.__importDefault(i("8c4f"));o.default.use(r.default);const a=n.__importDefault(i("e914")),l=n.__importDefault(i("1077")),c=n.__importDefault(i("cad7")),u=n.__importDefault(i("47f7")),d=n.__importDefault(i("c6b4")),h=n.__importDefault(i("07f5")),f=n.__importDefault(i("ce87")),p=i("cc67");t.router=new r.default({mode:"history",base:"/",routes:[{path:"/",redirect:"/dashboard"},{path:"/_load",name:"load",component:u.default},{path:"/assets",component:a.default,meta:{auth:!0}},{path:"/auth",component:{template:""},children:[{path:"login",component:l.default},{path:"logout",component:c.default}]},{path:"/invite/:code",component:f.default,meta:{auth:!0}},{path:"/dashboard",component:d.default,meta:{auth:!0}},{path:"/game/:creator/:room",component:h.default,meta:{auth:!0}}]}),t.router.beforeEach((e,i,n)=>{p.coreStore.initialized||"/_load"===e.path?e.matched.some(e=>e.meta.auth)&&!p.coreStore.authenticated?n({path:"/auth/login",query:{redirect:e.path}}):n():(n({path:"/_load"}),s.default.get("/api/auth").then(i=>{i.data.auth&&(p.coreStore.setAuthenticated(!0),p.coreStore.setUsername(i.data.username)),p.coreStore.setInitialized(!0),t.router.push(e.path)}).catch(()=>{console.error("Authentication check could not be fulfilled.")}))})},"5fa9":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9"));let r=class extends s.default{constructor(){super(...arguments),this.name="",this.selected=!1,this.active=!1}get detailRight(){const e=this.$parent.$refs[this.name+"-selector"][0].getBoundingClientRect(),t=e.left+e.width/2;return`${window.innerWidth-Math.min(window.innerWidth-25,t+75)}px`}get detailArrow(){const e=this.$parent.$refs[this.name+"-selector"][0].getBoundingClientRect(),t=e.left+e.width/2,i=Math.min(window.innerWidth-25,t+75);return`${i-t-14}px`}created(){this.$parent.$on("mousedown",(e,t)=>{t===this.name&&this.onMouseDown(e)}),this.$parent.$on("mouseup",(e,t)=>{t===this.name&&this.onMouseUp(e)}),this.$parent.$on("mousemove",(e,t)=>{t===this.name&&this.onMouseMove(e)}),this.$parent.$on("contextmenu",(e,t)=>{t===this.name&&this.onContextMenu(e)}),this.$parent.$on("tools-select-change",(e,t)=>{t===this.name?(this.selected=!1,this.onDeselect()):e===this.name&&(this.selected=!0,this.onSelect())})}onSelect(){}onDeselect(){}onMouseDown(e){}onMouseUp(e){}onMouseMove(e){}onContextMenu(e){}};r=n.__decorate([o.default],r),t.default=r},"605b":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.selected?i("div",{staticClass:"tool-detail",style:{"--detailRight":e.detailRight,"--detailArrow":e.detailArrow}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.IS_DM,expression:"IS_DM"}]},[e._v("Mode")]),i("div",{directives:[{name:"show",rawName:"v-show",value:e.IS_DM,expression:"IS_DM"}],staticClass:"selectgroup"},e._l(e.modes,function(t){return i("div",{key:t,staticClass:"option",class:{"option-selected":e.modeSelect===t},on:{click:function(i){e.modeSelect=t}}},[e._v(e._s(t))])})),i("div",[e._v("Shape")]),i("div",{staticClass:"selectgroup"},e._l(e.shapes,function(t){return i("div",{key:t,staticClass:"option",class:{"option-selected":e.shapeSelect===t},on:{click:function(i){e.shapeSelect=t}}},[i("i",{staticClass:"fas",class:"fa-"+t})])})),i("div",[e._v("Colours")]),i("div",{staticClass:"selectgroup"},[i("color-picker",{staticClass:"option",attrs:{color:e.fillColour},on:{"update:color":function(t){e.fillColour=t}}}),i("color-picker",{staticClass:"option",attrs:{color:e.borderColour},on:{"update:color":function(t){e.borderColour=t}}})],1),i("div",{directives:[{name:"show",rawName:"v-show",value:"paint-brush"===e.shapeSelect,expression:"shapeSelect === 'paint-brush'"}]},[e._v("Brush size")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.brushSize,expression:"brushSize"},{name:"show",rawName:"v-show",value:"paint-brush"===e.shapeSelect,expression:"shapeSelect === 'paint-brush'"}],staticStyle:{"max-width":"100px"},attrs:{type:"text"},domProps:{value:e.brushSize},on:{input:function(t){t.target.composing||(e.brushSize=t.target.value)}}})]):e._e()},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},6100:function(e,t,i){"use strict";i.r(t);var n=i("8a30"),s=i("e94f");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("550a");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"1fee50f5",null);a.options.__file="tools.vue",t["default"]=a.exports},6465:function(e,t,i){"use strict";i.r(t);var n=i("5fa9"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"64a9":function(e,t,i){},"6c30":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("c266"),s=i("f10f"),o=i("92b1");class r extends n.BaseRect{constructor(e,t,i,n,s){super(t,i,n),this.type="assetrect",this.src="",void 0!==s&&(this.uuid=s),this.img=e}asDict(){return Object.assign(this.getBaseDict(),{src:this.src})}fromDict(e){super.fromDict(e),this.src=e.src}draw(e){super.draw(e);try{e.drawImage(this.img,o.g2lx(this.refPoint.x),o.g2ly(this.refPoint.y),o.g2lz(this.w),o.g2lz(this.h))}catch(t){console.warn(`Shape ${this.uuid} could not load the image ${this.src}`)}}getInitiativeRepr(){return{uuid:this.uuid,visible:!s.gameStore.IS_DM,group:!1,source:this.src,has_img:!0,effects:[],index:1/0}}}t.Asset=r},"6e4a":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("98ef"),s=i("4aee");class o{constructor(){this.tds=new n.TDS,window.TDS=this.tds}insertConstraint(e,t){const i=this.insert(e),n=this.insert(t);i!==n&&this.insertConstraintV(i,n)}insertConstraintV(e,t){const i=[[e,t]];while(i.length>0){const e=i.pop(),t=s.edgeInfo(e[0],e[1]);if(t.includes){this.markConstraint(t.fr,t.i),t.vi!==e[1]&&i.push([t.vi,e[1]]);continue}const n=this.findIntersectedFaces(e[0],e[1]);n.found?n.vi!==e[0]&&n.vi!==e[1]?(i.push([e[0],n.vi]),i.push([n.vi,e[1]])):i.push(e):(this.triangulateHole(n.intersectedFaces,n.listAB,n.listBA),n.vi!==e[1]&&i.push([n.vi,e[1]]))}}triangulateHole(e,t,i){const n=[];this.triangulateHole2(e,t,i,n),this.propagatingFlipE(n)}triangulateHole2(e,t,i,n){if(t.length>0){this.triangulateHalfHole(t,n),this.triangulateHalfHole(i,n);const s=t[0][0],o=i[0][0];s.neighbours[2]=o,o.neighbours[2]=s,s.constraints[2]=!0,o.constraints[2]=!0;while(e.length>0)this.tds.deleteTriangle(e.shift())}}triangulateHalfHole(e,t){let i,o,r=0;const a=()=>e[r],l=()=>e[i],c=a()[0].vertices[s.ccw(a()[1])];let u,d,h,f,p,g;i=r,++i;do{d=a()[0],p=a()[1],null!==d.neighbours[p]&&(u=d.neighbours[p],f=s.cw(u.indexV(d.vertices[s.cw(p)])),d=u.neighbours[f],p=this.tds.mirrorIndex(u,f)),h=l()[0],g=l()[1],null!==h.neighbours[g]&&(u=h.neighbours[g],f=s.cw(u.indexV(h.vertices[s.cw(g)])),h=u.neighbours[f],g=this.tds.mirrorIndex(u,f));const v=d.vertices[s.ccw(p)],m=d.vertices[s.cw(p)],y=h.vertices[s.cw(g)],b=s.orientation(v.point,m.point,y.point);switch(b){case n.Sign.RIGHT_TURN:{const n=this.tds.createTriangle(v,y,m,null,null,null);t.push([n,2]),n.neighbours[1]=d,n.neighbours[0]=h,d.neighbours[p]=n,h.neighbours[g]=n,d.isConstrained(p)&&(n.constraints[1]=!0),h.isConstrained(g)&&(n.constraints[0]=!0),v.triangle=n,m.triangle=n,y.triangle=n,o=r+1,e.splice(r,0,[n,2]),e.splice(Math.max(o,i),1),e.splice(Math.min(o,i),1),i=r,v!==c?--r:++i;break}case n.Sign.LEFT_TURN:case n.Sign.COLLINEAR:++r,++i;break}}while(i0){t=r[0][0],a=r[0][1],l=t.neighbours[a],c=this.tds.mirrorIndex(t,a),u=[t,a],r.splice(r.findIndex(e=>e[0]===u[0]&&e[1]===u[1]),1),d[0]=[t,s.cw(a)],d[1]=[t,s.ccw(a)],d[2]=[l,s.cw(c)],d[3]=[l,s.ccw(c)];for(const e of d){const t=e[0],i=e[1];this.isFlipable(t,i)&&(n=[t.neighbours[i],this.tds.mirrorIndex(t,i)],this.lessEdge(e,n)?r.push(e):r.push(n))}}}flip(e,t){const i=e.neighbours[t],n=this.tds.mirrorIndex(e,t),o=e.neighbours[s.cw(t)],r=this.tds.mirrorIndex(e,s.cw(t)),a=e.neighbours[s.ccw(t)],l=this.tds.mirrorIndex(e,s.ccw(t)),c=i.neighbours[s.cw(n)],u=this.tds.mirrorIndex(i,s.cw(n)),d=i.neighbours[s.ccw(n)],h=this.tds.mirrorIndex(i,s.ccw(n));this.tds.flip(e,t),e.constraints[e.indexT(i)]=!1,i.constraints[i.indexT(e)]=!1,o.neighbours[r].constraints[this.tds.mirrorIndex(o,r)]=o.constraints[r],a.neighbours[l].constraints[this.tds.mirrorIndex(a,l)]=a.constraints[l],c.neighbours[u].constraints[this.tds.mirrorIndex(c,u)]=c.constraints[u],d.neighbours[h].constraints[this.tds.mirrorIndex(d,h)]=d.constraints[h]}isFlipable(e,t,i=!0){const o=e.neighbours[t];return!e.isInfinite()&&!o.isInfinite()&&(!e.constraints[t]&&s.sideOfOrientedCircle(o,e.vertices[t].point,i)===n.Sign.ON_POSITIVE_SIDE)}insertb(e,t,i,o){let r,a,l=!1;i===n.LocateType.EDGE&&t.isConstrained(o)&&(l=!0,r=t.vertices[s.ccw(o)],a=t.vertices[s.cw(o)]);const c=this.insertc(e,t,i,o);return l?this.updateConstraintsIncident(c,r,a):i!==n.LocateType.VERTEX&&this.clearConstraintsIncident(c),2===this.tds.dimension&&this.updateConstraintsOpposite(c),c}updateConstraintsIncident(e,t,i){if(0!==this.tds.dimension)if(1===this.tds.dimension){const t=new n.EdgeCirculator(e,null);do{t.t.constraints[2]=!0}while(t.next())}else{const o=new n.FaceCirculator(e,null);do{const n=o.t.indexV(e),r=s.cw(n),a=s.ccw(n);o.t.vertices[r]===t||o.t.vertices[r]===i?(o.t.constraints[a]=!0,o.t.constraints[r]=!1):(o.t.constraints[a]=!1,o.t.constraints[r]=!0)}while(o.next())}}clearConstraintsIncident(e){const t=new n.EdgeCirculator(e,null);if(t.valid)do{const e=t.t,i=t.ri;e.constraints[i]=!1,2===this.tds.dimension&&(e.neighbours[i].constraints[this.tds.mirrorIndex(e,i)]=!1)}while(t.next())}insertc(e,t,i,s){if(1===this.tds.vertices.length)return this.insertFirst(e);if(2===this.tds.vertices.length)return i===n.LocateType.VERTEX?this.tds.finiteVertex:this.insertSecond(e);switch(i){case n.LocateType.VERTEX:return t.vertices[s];case n.LocateType.OUTSIDE_AFFINE_HULL:return this.insertOutsideAffineHull(e);case n.LocateType.OUTSIDE_CONVEX_HULL:return this.insertOutsideConvexHull(e,t);case n.LocateType.EDGE:return this.insertInEdge(e,t,s);case n.LocateType.FACE:return this.insertInFace(e,t)}throw new Error("qwe")}insertInEdge(e,t,i){const n=this.tds.insertInEdge(t,i);return n.point=e,n}insertInFace(e,t){const i=this.tds.insertInFace(t);return i.point=e,i}insertFirst(e){const t=this.tds.insertDimUp();return t.point=e,t}insertSecond(e){const t=this.tds.insertDimUp(this.tds._infinite,!0);return t.point=e,t}insertOutsideAffineHull(e){let t=!1;if(1===this.tds.dimension){const i=this.tds.finiteEdge.first,o=s.orientation(i.vertices[0].point,i.vertices[1].point,e);t=o===n.Sign.COUNTERCLOCKWISE}const i=this.tds.insertDimUp(this.tds._infinite,t);return i.point=e,i}insertOutsideConvexHull(e,t){let i;if(1===this.tds.dimension)throw new Error("sdfasdasd");return i=this.insertOutsideConvexHull2(e,t),i.point=e,i}insertOutsideConvexHull2(e,t){let i=t.indexV(this.tds._infinite);const o=[],r=[];let a=new n.FaceCirculator(this.tds._infinite,t),l=!1;while(!l){a.prev(),i=a.t.indexV(this.tds._infinite);const t=a.t.vertices[s.ccw(i)].point,r=a.t.vertices[s.cw(i)].point;s.orientation(e,t,r)===n.Sign.LEFT_TURN?o.push(a.t):l=!0}a=new n.FaceCirculator(this.tds._infinite,t),l=!1;while(!l){a.next(),i=a.t.indexV(this.tds._infinite);const t=a.t.vertices[s.ccw(i)].point,o=a.t.vertices[s.cw(i)].point;s.orientation(e,t,o)===n.Sign.LEFT_TURN?r.push(a.t):l=!0}const c=this.tds.insertInFace(t);let u;c.point=e;while(o.length>0)u=o[0],i=s.ccw(u.indexV(this.tds._infinite)),this.tds.flip(u,i),o.shift();while(r.length>0)u=r[0],i=s.cw(u.indexV(this.tds._infinite)),this.tds.flip(u,i),r.shift();a=new n.FaceCirculator(c,null);while(!a.t.isInfinite())a.next();return this.tds._infinite.triangle=a.t,c}locate(e,t){let i=0,o=0;if(this.tds.dimension<0)return i=n.LocateType.OUTSIDE_AFFINE_HULL,o=4,{loc:null,lt:i,li:o};if(0===this.tds.dimension)return i=s.xyEqual(e,this.tds.finiteVertex.triangle.vertices[0].point)?n.LocateType.VERTEX:n.LocateType.OUTSIDE_AFFINE_HULL,o=4,{loc:null,lt:i,li:o};if(1===this.tds.dimension)return this.marchLocate1D(e);if(null===t){const e=this.tds._infinite.triangle;t=e.neighbours[e.indexV(this.tds._infinite)]}else t.isInfinite()&&(t=t.neighbours[t.indexV(this.tds._infinite)]);return this.marchLocate2D(t,e)}marchLocate1D(e){const t=this.tds._infinite.triangle,i=t.indexV(this.tds._infinite),o=t.neighbours[i],r=s.orientation(o.vertices[0].point,o.vertices[1].point,e);if(r===n.Sign.RIGHT_TURN||r===n.Sign.LEFT_TURN)return{loc:new n.Triangle,lt:n.LocateType.OUTSIDE_AFFINE_HULL,li:4};const a=o.indexT(t);if(s.collinearBetween(e,o.vertices[1-a].point,o.vertices[a].point))return{loc:t,lt:n.LocateType.OUTSIDE_CONVEX_HULL,li:i};if(s.xyEqual(e,o.vertices[1-a].point))return{loc:o,lt:n.LocateType.VERTEX,li:1-a};throw new Error("sdfsdf")}marchLocate2D(e,t){let i,o,r=null,a=!0;while(1){if(e.isInfinite())return{loc:e,lt:n.LocateType.OUTSIDE_CONVEX_HULL,li:e.indexV(this.tds._infinite)};const l=Math.round(Math.random()),c=e.vertices[0].point,u=e.vertices[1].point,d=e.vertices[2].point;let h,f,p;if(a){if(r=e,a=!1,h=s.orientation(c,u,t),h===n.Sign.NEGATIVE){e=e.neighbours[2];continue}if(f=s.orientation(u,d,t),f===n.Sign.NEGATIVE){e=e.neighbours[0];continue}if(p=s.orientation(d,c,t),p===n.Sign.NEGATIVE){e=e.neighbours[1];continue}}else if(l)if(e.neighbours[0]===r){if(r=e,h=s.orientation(c,u,t),h===n.Sign.NEGATIVE){e=e.neighbours[2];continue}if(p=s.orientation(d,c,t),p===n.Sign.NEGATIVE){e=e.neighbours[1];continue}f=n.Sign.POSITIVE}else if(e.neighbours[1]===r){if(r=e,f=s.orientation(u,d,t),f===n.Sign.NEGATIVE){e=e.neighbours[0];continue}if(h=s.orientation(c,u,t),h===n.Sign.NEGATIVE){e=e.neighbours[2];continue}p=n.Sign.POSITIVE}else{if(r=e,p=s.orientation(d,c,t),p===n.Sign.NEGATIVE){e=e.neighbours[1];continue}if(f=s.orientation(u,d,t),f===n.Sign.NEGATIVE){e=e.neighbours[0];continue}h=n.Sign.POSITIVE}else if(e.neighbours[0]===r){if(r=e,p=s.orientation(d,c,t),p===n.Sign.NEGATIVE){e=e.neighbours[1];continue}if(h=s.orientation(c,u,t),h===n.Sign.NEGATIVE){e=e.neighbours[2];continue}f=n.Sign.POSITIVE}else if(e.neighbours[1]===r){if(r=e,h=s.orientation(c,u,t),h===n.Sign.NEGATIVE){e=e.neighbours[2];continue}if(f=s.orientation(u,d,t),f===n.Sign.NEGATIVE){e=e.neighbours[0];continue}p=n.Sign.POSITIVE}else{if(r=e,f=s.orientation(u,d,t),f===n.Sign.NEGATIVE){e=e.neighbours[0];continue}if(p=s.orientation(d,c,t),p===n.Sign.NEGATIVE){e=e.neighbours[1];continue}h=n.Sign.POSITIVE}const g=(h===n.Sign.COLLINEAR?1:0)+(f===n.Sign.COLLINEAR?1:0)+(p===n.Sign.COLLINEAR?1:0);switch(g){case 0:i=n.LocateType.FACE,o=4;break;case 1:i=n.LocateType.EDGE,o=h===n.Sign.COLLINEAR?2:f===n.Sign.COLLINEAR?0:1;break;case 2:i=n.LocateType.VERTEX,o=h!==n.Sign.COLLINEAR?2:f!==n.Sign.COLLINEAR?0:1;break}if(void 0===i||void 0===o)throw new Error("ert");return{loc:e,lt:i,li:o}}}iLocate(e,t){if(this.tds.dimension<2)return t;if(null===t){const e=this.tds._infinite.triangle;t=e.neighbours[e.indexV(this.tds._infinite)]}else t.isInfinite()&&(t=t.neighbours[t.indexV(this.tds._infinite)]);let i=null,n=t,o=!0,r=2500;while(1){if(!r--)return n;if(n.isInfinite())return n;const t=n.vertices[0].point,a=n.vertices[1].point,l=n.vertices[2].point;if(o){if(i=n,o=!1,s.hasInexactNegativeOrientation(t,a,e)){n=n.neighbours[2];continue}if(s.hasInexactNegativeOrientation(a,l,e)){n=n.neighbours[0];continue}if(s.hasInexactNegativeOrientation(l,t,e)){n=n.neighbours[1];continue}}else if(n.neighbours[0]===i){if(i=n,s.hasInexactNegativeOrientation(t,a,e)){n=n.neighbours[2];continue}if(s.hasInexactNegativeOrientation(l,t,e)){n=n.neighbours[1];continue}}else if(n.neighbours[1]===i){if(i=n,s.hasInexactNegativeOrientation(t,a,e)){n=n.neighbours[2];continue}if(s.hasInexactNegativeOrientation(a,l,e)){n=n.neighbours[0];continue}}else{if(i=n,s.hasInexactNegativeOrientation(l,t,e)){n=n.neighbours[1];continue}if(s.hasInexactNegativeOrientation(a,l,e)){n=n.neighbours[0];continue}}break}return n}}t.CDT=o},"6f83":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"menuContainer"}},[i("div",{ref:"rm",style:{left:e.visible.settings?"200px":"0",top:e.visible.locations?"100px":"0"},attrs:{id:"radialmenu"}},[i("div",{staticClass:"rm-wrapper"},[i("div",{staticClass:"rm-toggler"},[i("ul",{staticClass:"rm-list",class:{"rm-list-dm":e.IS_DM}},[e.IS_DM?i("li",{staticClass:"rm-item",attrs:{id:"rm-locations"},on:{click:function(t){e.visible.locations=!e.visible.locations}}},[e._m(0)]):e._e(),i("li",{staticClass:"rm-item",attrs:{id:"rm-settings"},on:{click:function(t){e.visible.settings=!e.visible.settings}}},[e._m(1)])])]),e._m(2)])]),i("transition",{attrs:{name:"settings"},on:{enter:function(t){e.$refs.rm.style.transition="left 500ms"}}},[e.visible.settings?i("div",{ref:"settings",attrs:{id:"menu"},on:{click:e.settingsClick}},[i("div",{staticStyle:{width:"200px",height:"90%","overflow-y":"auto","overflow-x":"hidden"}},[e.IS_DM?[i("button",{staticClass:"accordion"},[e._v("Assets")]),i("div",{staticClass:"accordion-panel"},[i("a",{staticClass:"actionButton",attrs:{href:"/assets",target:"blank",title:"Open asset manager"}},[i("i",{staticClass:"fas fa-external-link-alt"})]),i("div",{staticClass:"directory",attrs:{id:"menu-tokens"}},[i("asset-node",{attrs:{asset:e.assets}}),e.assets?e._e():i("div",[e._v("No assets")])],1)]),i("button",{staticClass:"accordion"},[e._v("Notes")]),i("div",{staticClass:"accordion-panel"},[i("div",{staticClass:"accordion-subpanel",attrs:{id:"menu-notes"}},[i("a",{staticClass:"actionButton",on:{click:e.createNote}},[i("i",{staticClass:"far fa-plus-square"})]),e._l(e.notes,function(t){return i("div",{key:t.uuid,staticStyle:{cursor:"pointer"},on:{click:function(i){e.openNote(t)}}},[e._v(e._s(t.title||"[?]"))])}),e.notes.length?e._e():i("div",[e._v("No notes")])],2)]),i("button",{staticClass:"accordion"},[e._v("DM Options")]),i("div",{staticClass:"accordion-panel"},[i("div",{staticClass:"accordion-subpanel"},[i("label",{attrs:{for:"useGridInput"}},[e._v("Use grid:")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.useGrid,expression:"useGrid"}],attrs:{id:"useGridInput",type:"checkbox",checked:"checked"},domProps:{checked:Array.isArray(e.useGrid)?e._i(e.useGrid,null)>-1:e.useGrid},on:{change:function(t){var i=e.useGrid,n=t.target,s=!!n.checked;if(Array.isArray(i)){var o=null,r=e._i(i,o);n.checked?r<0&&(e.useGrid=i.concat([o])):r>-1&&(e.useGrid=i.slice(0,r).concat(i.slice(r+1)))}else e.useGrid=s}}}),i("label",{attrs:{for:"useFOWInput"}},[e._v("Fill entire canvas with FOW:")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.fullFOW,expression:"fullFOW"}],attrs:{id:"useFOWInput",type:"checkbox"},domProps:{checked:Array.isArray(e.fullFOW)?e._i(e.fullFOW,null)>-1:e.fullFOW},on:{change:function(t){var i=e.fullFOW,n=t.target,s=!!n.checked;if(Array.isArray(i)){var o=null,r=e._i(i,o);n.checked?r<0&&(e.fullFOW=i.concat([o])):r>-1&&(e.fullFOW=i.slice(0,r).concat(i.slice(r+1)))}else e.fullFOW=s}}}),i("label",{attrs:{for:"fowOpacity"}},[e._v("FOW opacity:")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:e.fowOpacity,expression:"fowOpacity",modifiers:{number:!0}}],attrs:{id:"fowOpacity",type:"number",min:"0",max:"1",step:"0.1"},domProps:{value:e.fowOpacity},on:{input:function(t){t.target.composing||(e.fowOpacity=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}}),i("label",{attrs:{for:"fowLOS"}},[e._v("Only show lights in LoS:")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.fowLOS,expression:"fowLOS"}],attrs:{id:"fowLOS",type:"checkbox"},domProps:{checked:Array.isArray(e.fowLOS)?e._i(e.fowLOS,null)>-1:e.fowLOS},on:{change:function(t){var i=e.fowLOS,n=t.target,s=!!n.checked;if(Array.isArray(i)){var o=null,r=e._i(i,o);n.checked?r<0&&(e.fowLOS=i.concat([o])):r>-1&&(e.fowLOS=i.slice(0,r).concat(i.slice(r+1)))}else e.fowLOS=s}}}),i("label",{attrs:{for:"unitSizeInput"}},[e._v("Unit Size (in ft.):")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:e.unitSize,expression:"unitSize",modifiers:{number:!0}}],attrs:{id:"unitSizeInput",type:"number"},domProps:{value:e.unitSize},on:{input:function(t){t.target.composing||(e.unitSize=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}}),i("label",{attrs:{for:"gridSizeInput"}},[e._v("Grid Size (in pixels):")]),i("input",{directives:[{name:"model",rawName:"v-model.number",value:e.gridSize,expression:"gridSize",modifiers:{number:!0}}],attrs:{id:"gridSizeInput",type:"number",min:"0"},domProps:{value:e.gridSize},on:{input:function(t){t.target.composing||(e.gridSize=e._n(t.target.value))},blur:function(t){e.$forceUpdate()}}}),i("label",{attrs:{for:"invitation"}},[e._v("Invitation Code:")]),i("input",{attrs:{id:"invitation",type:"text",readonly:"readonly"},domProps:{value:e.invitationCode}})])])]:e._e(),i("button",{staticClass:"accordion"},[e._v("Client Options")]),i("div",{staticClass:"accordion-panel"},[i("div",{staticClass:"accordion-subpanel"},[i("label",{attrs:{for:"gridColour"}},[e._v("Grid Colour:")]),i("color-picker",{attrs:{id:"gridColour",color:e.gridColour},on:{"update:color":function(t){e.gridColour=t}}}),i("label",{attrs:{for:"fowColour"}},[e._v("FOW Colour:")]),i("color-picker",{attrs:{id:"fowColour",color:e.fowColour},on:{"update:color":function(t){e.fowColour=t}}}),i("label",{attrs:{for:"rulerColour"}},[e._v("Ruler Colour:")]),i("color-picker",{attrs:{id:"rulerColour",color:e.rulerColour},on:{"update:color":function(t){e.rulerColour=t}}}),i("label",{attrs:{for:"visionMode"}},[e._v("Vision Mode:")]),i("select",{attrs:{id:"visionMode"},on:{change:e.changeVisionMode}},[i("option",[e._v("BVH")]),i("option",[e._v("Triangle")])])],1)])],2),i("router-link",{staticClass:"accordion",staticStyle:{"text-decoration":"none",display:"inline-block",position:"absolute",bottom:"0"},attrs:{to:"/dashboard"}},[e._v("Exit")])],1):e._e()]),i("transition",{attrs:{name:"locations"},on:{enter:function(t){e.$refs.rm.style.transition="top 500ms"}}},[e.IS_DM&&e.visible.locations?i("div",{attrs:{id:"locations-menu"}},[i("div",[e._l(e.locations,function(t){return i("div",{key:t,on:{click:function(i){e.changeLocation(t)}}},[e._v(e._s(t))])}),i("div",{on:{click:e.createLocation}},[i("i",{staticClass:"fas fa-plus"})])],2)]):e._e()]),i("img",{attrs:{id:"dragImage"}})],1)},s=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("a",{attrs:{href:"#"}},[i("i",{staticClass:"far fa-compass"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("a",{attrs:{href:"#"}},[i("i",{staticClass:"fas fa-cog"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",{staticClass:"rm-topper"},[i("i",{staticClass:"icon-share-alt"})])}];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"6f8d":function(e,t,i){"use strict";i.r(t);var n=i("5b69"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"6f92":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("6c30"),o=i("f10f"),r=i("92b1");class a{constructor(){this.layers=[],this.width=window.innerWidth,this.height=window.innerHeight,this.UUIDMap=new Map,this.interval=30,this.drawLoop=(()=>{for(let e=this.layers.length-1;e>=0;e--)this.layers[e].draw();requestAnimationFrame(this.drawLoop)}),requestAnimationFrame(this.drawLoop)}reset(){this.layers=[],this.UUIDMap=new Map}setWidth(e){this.width=e;for(const t of this.layers)t.canvas.width=e,t.width=e}setHeight(e){this.height=e;for(const t of this.layers)t.canvas.height=e,t.height=e}addLayer(e){this.layers.push(e),(o.gameStore.IS_DM||e.playerEditable)&&e.selectable&&o.gameStore.addLayer(e.name)}hasLayer(e){return this.layers.some(t=>t.name===e)}getLayer(e){e=void 0===e?o.gameStore.selectedLayer:e;for(const t of this.layers)if(t.name===e)return t}selectLayer(e,t=!0){let i=!1;for(const n of this.layers)n.selectable&&(i&&"fow"!==n.name?n.ctx.globalAlpha=.3:n.ctx.globalAlpha=1,e===n.name&&(o.gameStore.selectLayer({name:e,sync:t}),i=!0),n.clearSelection(),n.invalidate(!0))}getGridLayer(){return this.getLayer("grid")}hasSelection(){const e=this.getSelection();return void 0!==e&&e.length>0}getSelection(){const e=this.getLayer();if(void 0!==e)return e.selection}invalidate(){for(let e=this.layers.length-1;e>=0;e--)this.layers[e].invalidate(!0)}invalidateLight(){for(let e=this.layers.length-1;e>=0;e--)this.layers[e].isVisionLayer&&this.layers[e].invalidate(!0)}dropAsset(e){const t=this.getLayer();if(void 0===t||null===e||null===e.dataTransfer)return;const i=document.createElement("img");i.src=e.dataTransfer.getData("text/plain");const a=new s.Asset(i,new n.GlobalPoint(r.l2gx(e.clientX),r.l2gy(e.clientY)),r.l2gz(i.width),r.l2gz(i.height));if(a.src=new URL(i.src).pathname,o.gameStore.useGrid){const e=o.gameStore.gridSize;a.refPoint.x=Math.round(a.refPoint.x/e)*e,a.refPoint.y=Math.round(a.refPoint.y/e)*e,a.w=Math.max(Math.round(a.w/e)*e,e),a.h=Math.max(Math.round(a.h/e)*e,e)}t.addShape(a,!0)}}t.layerManager=new a,window.lm=t.layerManager},7018:function(e,t,i){"use strict";i.r(t);var n=i("ebb9"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},7019:function(e,t,i){},7420:function(e,t,i){"use strict";i.r(t);var n=i("1298"),s=i("778b");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("d71e");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"66ccc134",null);a.options.__file="createtoken_modal.vue",t["default"]=a.exports},"76b3":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(e,t){this.children=[],this.nPrimitives=e,this.bbox=t}}t.BoundingNode=n;class s extends n{constructor(e,t,i){super(t,i),this.firstPrimOffset=e}}t.LeafNode=s;class o extends n{constructor(e,t,i){super(0,t.bbox.union(i.bbox)),this.dimension=e,this.children.push(t),this.children.push(i)}}t.InteriorNode=o},"778b":function(e,t,i){"use strict";i.r(t);var n=i("5a81"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"77a6":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("4a5b"),s=i("0bc6"),o=i("2b48"),r=i("af17"),a=i("8f0a"),l=i("6f92"),c=i("f10f"),u=i("2838");function d(e){if(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement);else if("Delete"===e.key||"Del"===e.key||"Backspace"===e.key){if(void 0===l.layerManager.getLayer)return void console.log("No active layer selected for delete operation");const e=l.layerManager.getLayer();for(let t=e.selection.length-1;t>=0;t--){const i=e.selection[t];n.getRef("tools").$refs.selectTool.selectionHelper.uuid!==i.uuid?(e.removeShape(i,!0,!1),r.EventBus.$emit("SelectionInfo.Shape.Set",null),r.EventBus.$emit("Initiative.Remove",i.uuid)):e.selection.splice(t,1)}}}function h(e){if(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)65===e.keyCode&&e.ctrlKey&&e.target.select();else if(e.keyCode>=37&&e.keyCode<=40){const t=Math.round(c.gameStore.gridSize);let i=t*(e.keyCode%2),n=t*(e.keyCode%2?0:1);if(l.layerManager.hasSelection()){const o=l.layerManager.getSelection();i*=e.keyCode<=38?-1:1,n*=e.keyCode<=38?-1:1;let r=new a.Vector(i,n);if(!e.shiftKey||!c.gameStore.IS_DM)for(const e of o)r=u.calculateDelta(r,e);for(const e of o)e.refPoint.x+=r.x,e.refPoint.y+=r.y,e.refPoint.x%t===0&&e.refPoint.y%t===0||e.snapToGrid(),s.socket.emit("Shape.Position.Update",{shape:e.asDict(),redraw:!0,temporary:!1});l.layerManager.getLayer().invalidate(!1)}else c.gameStore.increasePanX(i*(e.keyCode<=38?1:-1)),c.gameStore.increasePanY(n*(e.keyCode<=38?1:-1)),l.layerManager.invalidate(),o.sendClientOptions()}else if(68===e.keyCode){const e=l.layerManager.getLayer();e&&(e.clearSelection(),e.invalidate(!0))}}t.onKeyUp=d,t.onKeyDown=h},"78c7":function(e,t,i){"use strict";var n=i("9227"),s=i.n(n);s.a},"7aaa":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("033f")),r=n.__importDefault(i("7420")),a=n.__importDefault(i("59d8")),l=n.__importDefault(i("dec1")),c=n.__importDefault(i("4899")),u=n.__importDefault(i("c277")),d=i("6f92"),h=i("9cb7"),f=i("f10f"),p=i("d5df"),g=i("92b1"),v=i("5a5c"),m=n.__importDefault(i("65d9"));let y=class extends s.default{constructor(){super(...arguments),this.currentTool="Select",this.tools=["Select","Pan","Draw","Ruler","Map"],this.dmTools=["Map"]}get IS_DM(){return f.gameStore.IS_DM}get currentToolComponent(){return`${this.currentTool.toLowerCase()}-tool`}mousedown(e){if("CANVAS"!==e.target.tagName)return;let t=this.currentTool;if(1===e.button)t="Pan";else if(0!==e.button)return;this.$emit("mousedown",e,t)}mouseup(e){if("CANVAS"!==e.target.tagName)return;let t=this.currentTool;if(1===e.button)t="Pan";else if(0!==e.button)return;this.$emit("mouseup",e,t)}mousemove(e){if("CANVAS"!==e.target.tagName)return;let t=this.currentTool;if(0!==(4&e.buttons))t="Pan";else if((1&e.button)>1)return;this.$emit("mousemove",e,t);let i=!1;for(const n of f.gameStore.annotations)if(d.layerManager.UUIDMap.has(n)&&d.layerManager.hasLayer("draw")){const t=d.layerManager.UUIDMap.get(n);t.contains(g.l2g(v.getMouse(e)))&&(i=!0,h.gameManager.annotationManager.setActiveText(t.annotation))}!i&&h.gameManager.annotationManager.shown&&h.gameManager.annotationManager.setActiveText("")}mouseleave(e){0!==(1&e.buttons)&&this.$emit("mouseup",e,this.currentTool)}contextmenu(e){"CANVAS"===e.target.tagName&&2===e.button&&"CANVAS"===e.target.tagName&&this.$emit("contextmenu",e,this.currentTool)}};y=n.__decorate([m.default({components:{"select-tool":u.default,"pan-tool":c.default,"draw-tool":a.default,"ruler-tool":p.RulerTool,"map-tool":l.default,"shape-menu":o.default,"createtoken-dialog":r.default},watch:{currentTool(e,t){this.$emit("tools-select-change",e,t)}}})],y),t.default=y},"7ba5":function(e,t,i){"use strict";i.r(t);var n=i("fbdd"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"7e15":function(e,t,i){"use strict";i.r(t);var n=i("52a8"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"7f1e":function(e,t,i){"use strict";var n=i("fe11"),s=i.n(n);s.a},8095:function(e,t,i){},"831f":function(e,t,i){"use strict";var n=i("8d53"),s=i.n(n);s.a},"851c":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("d65f"));let a=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.question="",this.answer="",this.title="",this.resolve=(e=>{}),this.reject=(()=>{})}submit(){this.resolve(this.answer),this.close()}close(){this.reject(),this.visible=!1,this.question="",this.answer="",this.title=""}prompt(e,t){return this.question=e,this.title=t,this.visible=!0,this.$nextTick(()=>{this.$refs.answer.focus()}),new Promise((e,t)=>{this.resolve=e,this.reject=t})}};a=n.__decorate([o.default({components:{Modal:r.default}})],a),t.default=a},8577:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ul",[e._l(e.folders,function(t){return i("li",{key:t,staticClass:"folder",on:{click:function(t){return t.stopPropagation(),e.toggle(t)}}},[e._v("\n "+e._s(t)+"\n "),i("asset-node",{attrs:{asset:e.asset[t]}})],1)}),e._l(e.files,function(t){return i("li",{key:t.name,staticClass:"file draggable token",attrs:{draggable:"true"},on:{mouseover:function(i){e.showImage=t.hash},mouseout:function(t){e.showImage=null},dragstart:function(i){e.dragStart(i,"/static/assets/"+t.hash)}}},[e._v("\n "+e._s(t.name)+"\n "),e.showImage==t.hash?i("div",{staticClass:"preview"},[i("img",{staticClass:"asset-preview-image",attrs:{src:"/static/assets/"+t.hash}})]):e._e()])})],2)},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"88af":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[e._v(e._s(e.message))])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"8a30":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("div",{attrs:{id:"toolselect"}},[i("ul",e._l(e.tools,function(t){return!e.dmTools.includes(t)||e.IS_DM?i("li",{key:t,ref:t+"-selector",refInFor:!0,class:{"tool-selected":e.currentTool===t},on:{click:function(i){e.currentTool=t}}},[i("a",{attrs:{href:"#"}},[e._v(e._s(t))])]):e._e()}))]),i("div",[[i("select-tool",{directives:[{name:"show",rawName:"v-show",value:"Select"===e.currentTool,expression:"currentTool === 'Select'"}],ref:"selectTool"}),i("pan-tool",{directives:[{name:"show",rawName:"v-show",value:"Pan"===e.currentTool,expression:"currentTool === 'Pan'"}]}),i("keep-alive",[i("draw-tool",{directives:[{name:"show",rawName:"v-show",value:"Draw"===e.currentTool,expression:"currentTool === 'Draw'"}]})],1),i("ruler-tool",{directives:[{name:"show",rawName:"v-show",value:"Ruler"===e.currentTool,expression:"currentTool === 'Ruler'"}]}),i("map-tool",{directives:[{name:"show",rawName:"v-show",value:"Map"===e.currentTool,expression:"currentTool === 'Map'"}]}),i("shape-menu",{ref:"shapecontext"}),i("createtoken-dialog",{ref:"createtokendialog"})]],2)])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"8cd4":function(e,t,i){"use strict";i.r(t);var n=i("9587"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},"8d53":function(e,t,i){},"8db6":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a");class s{constructor(e,t,i){this.w=t,this.h=i,this.topLeft=e,this.topRight=new n.GlobalPoint(e.x+t,e.y),this.botRight=new n.GlobalPoint(e.x+t,e.y+i),this.botLeft=new n.GlobalPoint(e.x,e.y+i)}contains(e){return this.topLeft.x<=e.x&&this.topRight.x>=e.x&&this.topLeft.y<=e.y&&this.botLeft.y>=e.y}get points(){return 0===this.w||0===this.h?[[this.topLeft.x,this.topLeft.y]]:[[this.topLeft.x,this.topLeft.y],[this.botLeft.x,this.botLeft.y],[this.botRight.x,this.botRight.y],[this.topRight.x,this.topRight.y]]}offset(e){return new s(this.topLeft.add(e),this.w,this.h)}union(e){const t=Math.min(this.topLeft.x,e.topLeft.x),i=Math.max(this.topRight.x,e.topRight.x),o=Math.min(this.topLeft.y,e.topLeft.y),r=Math.max(this.botLeft.y,e.botLeft.y);return new s(new n.GlobalPoint(t,o),i-t,r-o)}getDiagCorner(e){return e?this.botRight:this.topLeft}intersectsWith(e){return!(e.topLeft.x>this.topRight.x||e.topRight.xthis.botLeft.y||e.botLeft.y=this.topRight.x||e.topRight.x<=this.topLeft.x||e.topLeft.y>=this.botLeft.y||e.botLeft.y<=this.topLeft.y)}intersectP(e,t,i){let n=t.x*(this.getDiagCorner(i[0]).x-e.origin.x),s=t.x*(this.getDiagCorner(!i[0]).x-e.origin.x);const o=t.y*(this.getDiagCorner(i[1]).y-e.origin.y),r=t.y*(this.getDiagCorner(!i[1]).y-e.origin.y);return n>r||o>s?{hit:!1,min:n,max:s}:(o>n&&(n=o),r0,min:n,max:s})}center(e){if(void 0===e)return this.topLeft.add(new n.Vector(this.w/2,this.h/2));this.topLeft.x=e.x-this.w/2,this.topLeft.y=e.y-this.h/2}inCorner(e,t){const i=Math.min(6,this.w/2)/2;switch(t){case"ne":return this.topRight.x-i<=e.x&&e.x<=this.topRight.x+i&&this.topLeft.y-i<=e.y&&e.y<=this.topLeft.y+i;case"nw":return this.topLeft.x-i<=e.x&&e.x<=this.topLeft.x+i&&this.topLeft.y-i<=e.y&&e.y<=this.topLeft.y+i;case"sw":return this.topLeft.x-i<=e.x&&e.x<=this.topLeft.x+i&&this.botLeft.y-i<=e.y&&e.y<=this.botLeft.y+i;case"se":return this.topRight.x-i<=e.x&&e.x<=this.topRight.x+i&&this.botLeft.y-i<=e.y&&e.y<=this.botLeft.y+i;default:return!1}}getCorner(e){return this.inCorner(e,"ne")?"ne":this.inCorner(e,"nw")?"nw":this.inCorner(e,"se")?"se":this.inCorner(e,"sw")?"sw":void 0}getMaxExtent(){return this.w>this.h?0:1}}t.BoundingRect=s},"8e60":function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"formcontainer"}},[e.owned||e.joined?i("form",[i("fieldset",[i("legend",{staticClass:"legend"},[e._v("Your sessions")]),i("div",{staticClass:"input"},[e._l(e.owned,function(t,n){return i("router-link",{key:"o-"+n,attrs:{to:"/game/"+t[1]+"/"+t[0]}},[e._v(e._s(t[0]))])}),e._l(e.joined,function(t,n){return i("router-link",{key:"j-"+n,attrs:{to:"/game/"+t[1]+"/"+t[0]}},[e._v(e._s(t[1])+"/"+e._s(t[0]))])})],2),0===e.owned.length?i("div",{staticClass:"input"},[e._v("No active sessions")]):e._e()])]):e._e(),e._m(0),i("form",{on:{submit:function(t){return t.preventDefault(),e.createRoom(t)}}},[i("fieldset",[e.owned||e.joined?i("div",{staticClass:"input"},[e._v("Create a new session")]):i("legend",{staticClass:"legend"},[e._v("Create a session")]),i("div",{staticClass:"input"},[i("input",{directives:[{name:"model",rawName:"v-model",value:e.newSessionName,expression:"newSessionName"}],attrs:{type:"text",name:"room_name",placeholder:"Session Name"},domProps:{value:e.newSessionName},on:{input:function(t){t.target.composing||(e.newSessionName=t.target.value)}}}),e._m(1)]),e._m(2)])]),i("div",{attrs:{id:"account-options"}},[i("form",{on:{submit:function(e){e.preventDefault()}}},[i("router-link",{staticClass:"submit",attrs:{tag:"button",title:"Account Settings",to:"/account"}},[i("i",{staticClass:"fas fa-cog"})])],1),i("form",{on:{submit:function(e){e.preventDefault()}}},[i("router-link",{staticClass:"submit",attrs:{tag:"button",title:"Logout",to:"/auth/logout"}},[i("i",{staticClass:"fas fa-sign-out-alt"})])],1)])])},s=[function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("h4",[i("span",[e._v("OR")])])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("span",[i("i",{staticClass:"fab fa-d-and-d"})])},function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("button",{staticClass:"submit",attrs:{type:"submit",title:"Create"}},[i("i",{staticClass:"fas fa-arrow-right"})])}];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"8f0a":function(e,t,i){"use strict";function n(e,t){const i=e.x-t.x,n=e.y-t.y;return Math.sqrt(i*i+n*n)}Object.defineProperty(t,"__esModule",{value:!0}),t.getPointDistance=n;class s{constructor(e,t){this.x=e,this.y=t}add(e){return new s(this.x+e.x,this.y+e.y)}subtract(e){return new a(this.x-e.x,this.y-e.y)}clone(){return new s(this.x,this.y)}get(e){return 0===e?this.x:this.y}}t.Point=s;class o extends s{add(e){return super.add(e)}subtract(e){return super.subtract(e)}clone(){return super.clone()}}t.GlobalPoint=o;class r extends s{add(e){return super.add(e)}subtract(e){return super.subtract(e)}clone(){return super.clone()}}t.LocalPoint=r;class a{constructor(e,t){this.x=e,this.y=t}dot(e){return this.x*e.x+this.y*e.y}inverse(){return new a(1/this.x,1/this.y)}length(){return Math.sqrt(Math.pow(this.x,2)+Math.pow(this.y,2))}normalize(){const e=this.length();return new a(this.x/e,this.y/e)}reverse(){return new a(-this.x,-this.y)}multiply(e){return new a(this.x*e,this.y*e)}}t.Vector=a;class l{constructor(e,t,i){this.direction=t,this.origin=e,void 0===i&&(i=1/0),this.tMax=i}static fromPoints(e,t){const i=new a(t.x-e.x,t.y-e.y);let n;return n=Math.abs(i.x)>.01?(t.x-e.x)/i.x:(t.y-e.y)/i.y,new l(e,i,n)}get(e){return new s(this.origin.x+e*this.direction.x,this.origin.y+e*this.direction.y)}getDistance(e,t){return Math.sqrt(Math.pow(t-e,2)*(Math.pow(this.direction.x,2)+Math.pow(this.direction.y,2)))}getT(e,t){return e+Math.sqrt(Math.pow(t,2)/(Math.pow(this.direction.x,2)+Math.pow(this.direction.y,2)))}}t.Ray=l},"91df":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("6f79"));i("fe80");const a=i("2ef0"),l=n.__importDefault(i("a535")),c=n.__importDefault(i("cec2")),u=n.__importDefault(i("f5fe")),d=n.__importDefault(i("19f9")),h=n.__importDefault(i("f551")),f=n.__importDefault(i("f086")),p=n.__importDefault(i("6100")),g=i("0bc6"),v=i("77a6"),m=i("bb17"),y=i("6f92"),b=i("f10f"),_=i("92b1"),S=i("8f0a");let w=class extends s.default{constructor(){super(...arguments),this.ready={manager:!1,tools:!1}}get IS_DM(){return b.gameStore.IS_DM}get layers(){return b.gameStore.layers}get selectedLayer(){return b.gameStore.selectedLayer}get zoomFactor(){return b.gameStore.zoomFactor}set zoomFactor(e){b.gameStore.updateZoom({newZoomValue:e,zoomLocation:_.l2g(new S.LocalPoint(window.innerWidth/2,window.innerHeight/2))})}mounted(){window.addEventListener("resize",()=>{y.layerManager.setWidth(window.innerWidth),y.layerManager.setHeight(window.innerHeight),y.layerManager.invalidate()}),window.addEventListener("wheel",a.throttle(m.scrollZoom)),window.addEventListener("keyup",v.onKeyUp),window.addEventListener("keydown",v.onKeyDown),window.addEventListener("selectstart",e=>{return e.preventDefault(),!1}),this.ready.manager=!0}mousedown(e){this.$refs.tools.mousedown(e)}mouseup(e){this.$refs.tools.mouseup(e)}mousemove(e){this.$refs.tools.mousemove(e)}mouseleave(e){this.$refs.tools.mouseleave(e)}contextmenu(e){this.$refs.tools.contextmenu(e)}selectLayer(e){y.layerManager.selectLayer(e)}drop(e){if(null!==e&&null!==e.dataTransfer)if(e.dataTransfer.files.length>0)this.$refs.confirm.open("Uploading files should be done through the asset manager.","Ok","").then(()=>{},()=>{});else{if(""===e.dataTransfer.getData("text/plain"))return;y.layerManager.dropAsset(e)}}};w=n.__decorate([o.default({components:{"tool-bar":p.default,"selection-info":f.default,"prompt-dialog":c.default,"confirm-dialog":l.default,"menu-bar":d.default,"initiative-dialog":u.default,"zoom-slider":r.default,"note-dialog":h.default},beforeRouteEnter(e,t,i){g.createConnection(e),i()},beforeRouteLeave(e,t,i){g.socket.disconnect(),i()}})],w),t.default=w},9227:function(e,t,i){},"92b1":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("f10f");function o(e){const t=s.gameStore.zoomFactor,i=s.gameStore.panX,o=s.gameStore.panY;return new n.LocalPoint((e.x+i)*t,(e.y+o)*t)}function r(e){return o(new n.GlobalPoint(e,0)).x}function a(e){return o(new n.GlobalPoint(0,e)).y}function l(e){return e*s.gameStore.zoomFactor}function c(e){return e/s.gameStore.unitSize*s.gameStore.gridSize}function u(e){return l(c(e))}function d(e){const t=s.gameStore.zoomFactor,i=s.gameStore.panX,o=s.gameStore.panY;return e instanceof n.LocalPoint?new n.GlobalPoint(e.x/t-i,e.y/t-o):new n.Ray(d(e.origin),e.direction.multiply(1/t),e.tMax)}function h(e){return d(new n.LocalPoint(e,0)).x}function f(e){return d(new n.LocalPoint(0,e)).y}function p(e){return e/s.gameStore.zoomFactor}function g(e){return p(c(e))}t.g2l=o,t.g2lx=r,t.g2ly=a,t.g2lz=l,t.getUnitDistance=c,t.g2lr=u,t.l2g=d,t.l2gx=h,t.l2gy=f,t.l2gz=p,t.l2gr=g,window.g2lx=r,window.g2ly=a},9587:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=i("2f62"),a=n.__importDefault(i("3b36")),l=n.__importDefault(i("0ddd")),c=i("4a5b"),u=i("0bc6"),d=i("f10f"),h=i("6f92");let f=class extends s.default{constructor(){super(...arguments),this.visible={settings:!1,locations:!1}}get useGrid(){return d.gameStore.useGrid}set useGrid(e){d.gameStore.setUseGrid({useGrid:e,sync:!0})}get fullFOW(){return d.gameStore.fullFOW}set fullFOW(e){d.gameStore.setFullFOW({fullFOW:e,sync:!0})}get fowOpacity(){return d.gameStore.fowOpacity}set fowOpacity(e){"number"===typeof e&&d.gameStore.setFOWOpacity({fowOpacity:e,sync:!0})}get fowLOS(){return d.gameStore.fowLOS}set fowLOS(e){d.gameStore.setLineOfSight({fowLOS:e,sync:!0})}get unitSize(){return d.gameStore.unitSize}set unitSize(e){"number"===typeof e&&d.gameStore.setUnitSize({unitSize:e,sync:!0})}get gridSize(){return d.gameStore.gridSize}set gridSize(e){"number"===typeof e&&d.gameStore.setGridSize({gridSize:e,sync:!0})}get gridColour(){return d.gameStore.gridColour}set gridColour(e){d.gameStore.setGridColour({colour:e,sync:!0})}get fowColour(){return d.gameStore.fowColour}set fowColour(e){d.gameStore.setFOWColour({colour:e,sync:!0})}get rulerColour(){return d.gameStore.rulerColour}set rulerColour(e){d.gameStore.setRulerColour({colour:e,sync:!0})}settingsClick(e){if(e.target.classList.contains("accordion")){e.target.classList.toggle("accordion-active");const t=e.target.nextElementSibling;null!==t&&(t.style.display=""===t.style.display?"block":"")}}changeLocation(e){u.socket.emit("Location.Change",e)}createLocation(){c.getRef("prompt").prompt("New location name:","Create new location").then(e=>{u.socket.emit("Location.New",e)},()=>{})}createNote(){const e={title:"New note",text:"",uuid:c.uuidv4()};d.gameStore.newNote({note:e,sync:!0}),this.openNote(e)}openNote(e){c.getRef("note").open(e)}changeVisionMode(e){const t=e.target.value.toLowerCase();"bvh"!==t&&"triangle"!==t||(d.gameStore.setVisionMode(t),d.gameStore.recalculateBV(),h.layerManager.invalidate())}};f=n.__decorate([o.default({components:{"color-picker":a.default,"asset-node":l.default},computed:Object.assign({},r.mapState("game",["invitationCode","IS_DM","locations","assets","notes"]))})],f),t.default=f},"979e":function(e,t,i){"use strict";i.r(t);var n=i("0634"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},9845:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContextMenu",{attrs:{visible:e.visible,left:e.x+"px",top:e.y+"px"},on:{close:e.close}},[e.IS_DM?i("li",{on:{click:e.bringPlayers}},[e._v("Bring players")]):e._e(),i("li",{on:{click:e.createToken}},[e._v("Create basic token")]),i("li",{on:{click:e.showInitiative}},[e._v("Show initiative")])])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},"98ef":function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("4a5b"),s=i("4aee");let o;var r,a;function l(){return[t.INFINITE,t.INFINITE]}t.INFINITE=-Infinity,function(e){e[e["NEGATIVE"]=-1]="NEGATIVE",e[e["ZERO"]=0]="ZERO",e[e["POSITIVE"]=1]="POSITIVE",e[e["RIGHT_TURN"]=-1]="RIGHT_TURN",e[e["LEFT_TURN"]=1]="LEFT_TURN",e[e["SMALLER"]=-1]="SMALLER",e[e["EQUAL"]=0]="EQUAL",e[e["LARGER"]=1]="LARGER",e[e["CLOCKWISE"]=-1]="CLOCKWISE",e[e["COUNTERCLOCKWISE"]=1]="COUNTERCLOCKWISE",e[e["COLLINEAR"]=0]="COLLINEAR",e[e["COPLANAR"]=0]="COPLANAR",e[e["DEGENERATE"]=0]="DEGENERATE",e[e["ON_NEGATIVE_SIDE"]=-1]="ON_NEGATIVE_SIDE",e[e["ON_ORIENTED_BOUNDARY"]=0]="ON_ORIENTED_BOUNDARY",e[e["ON_POSITIVE_SIDE"]=1]="ON_POSITIVE_SIDE"}(r=t.Sign||(t.Sign={})),function(e){e[e["UNDEFINED"]=-1]="UNDEFINED",e[e["VERTEX_VERTEX"]=0]="VERTEX_VERTEX",e[e["VERTEX_EDGE"]=1]="VERTEX_EDGE",e[e["EDGE_VERTEX"]=2]="EDGE_VERTEX",e[e["EDGE_EDGE"]=3]="EDGE_EDGE"}(a||(a={}));class c{constructor(...e){this.vertices=[],this.neighbours=[null,null,null],this.constraints=[!1,!1,!1],this.uuid=n.uuidv4(),this.vertices=e}from(e){return this.vertices=e.vertices.slice(0,e.vertices.length),this.neighbours=e.neighbours.slice(0,e.neighbours.length),this.constraints=e.constraints.slice(0,e.constraints.length),this}get dimension(){return this.vertices.length-1}addVertex(e){void 0===e&&console.log("UNDEFINED HIERE"),this.vertices.push(e),e.triangle=this}isConstrained(e){return this.constraints[e]}reorient(){this.vertices=[this.vertices[1],this.vertices[0],this.vertices[2]].slice(0,this.vertices.length),this.neighbours=[this.neighbours[1],this.neighbours[0],this.neighbours[2]],this.constraints=[this.constraints[1],this.constraints[0],this.constraints[2]]}indexV(e){return this.vertices.indexOf(e)}indexT(e){return this.neighbours.indexOf(e)}isInfinite(e){return void 0===e?this.vertices.includes(o):this.vertices[s.ccw(e)].infinite||this.vertices[s.cw(e)].infinite}}t.Triangle=c;class u{constructor(e){this.infinite=!1,this.uuid=n.uuidv4(),this._point=e}get point(){return this._point}set point(e){this._point=e,this.infinite=!1}}t.Vertex=u;class d{constructor(e,t){if(this.v=e,this.t=t,null===e?this.t=null:null===t&&(this.t=e.triangle),null==this.t||this.t.dimension<1)this.ri=0,this.v=null,this.t=null;else{const t=this.t.indexV(e);2===this.t.dimension?this.ri=s.ccw(t):this.ri=2}this._ri=this.ri,this._v=this.v,this._t=this.t}get valid(){return null!==this.t&&null!==this.v}next(){let e=this.t.indexV(this.v);return 1===this.t.dimension?this.t=this.t.neighbours[0===e?1:0]:(this.t=this.t.neighbours[s.ccw(e)],e=this.t.indexV(this.v),this.ri=s.ccw(e)),this.ri!==this._ri||this.v!==this._v||this.t!==this._t}}t.EdgeCirculator=d;class h{constructor(e){if(this.i=0,this.edge=new g,this._es=0,this.tds=e,this.edge.second=0,e.dimension<=0)this.pos=null;else{this.pos=e.triangles[0],1===e.dimension&&(this.edge.second=2);while(null!==this.pos&&!this.associatedEdge())throw new Error("[poi");1===e.dimension&&(this._es=2)}}get valid(){return(null!==this.pos||this._es!==this.edge.second)&&this.pos.isInfinite(this.edge.second)}next(){do{this.increment()}while(null!==this.pos&&!this.associatedEdge())}collect(){return this.edge.first=this.pos,this.edge}associatedEdge(){return 1===this.tds.dimension||this.tds.triangles.indexOf(this.pos)t!==e)}setAdjacency(e,t,i,n){e.neighbours[t]=i,i.neighbours[n]=e}get finiteVertex(){return this.vertices[1]}get infiniteVertex(){const e=new u(l());return e.infinite=!0,e}get finiteEdge(){if(this.dimension<1)throw new Error("aspo");const e=new h(this);while(e.valid)e.next();return e.collect()}insertDimUp(e=new u,t=!0){const i=this.createVertex();let n,s;switch(this.dimension++,this.dimension){case 0:n=this.triangles[0],s=new c(i),this.triangles.push(s),this.setAdjacency(n,0,s,0),i.triangle=s;break;case 1:case 2:{const o=[],r=this.triangles.slice(0,this.triangles.length);for(const t of r){const n=(new c).from(t);this.triangles.push(n),t.vertices[this.dimension]=i,n.vertices[this.dimension]=e,this.setAdjacency(t,this.dimension,n,this.dimension),t.vertices.includes(e)&&o.push(n)}for(const e of r){const t=e.neighbours[this.dimension];for(let i=0;ie.center.center().get(r)0){if(i=!0,n=e.tMax=d.min,s=d.max,0===o||t)break;r=a[--o]}else c[u.dimension]?(a[o++]=r+1,r=u.secondChildOffset):(a[o++]=u.secondChildOffset,r++);else{if(0===o)break;r=a[--o]}}return{hit:i,intersect:e.get(n),tMin:n,tMax:s}}compact(){this.offset=0,null!==this.root&&this.flatten(this.root)}flatten(e){const t=this.offset,i=this.offset++;if(0===e.nPrimitives){this.flatten(e.children[0]);const i=this.flatten(e.children[1]);this.nodes[t]={bbox:e.bbox,dimension:e.dimension,nPrimitives:0,secondChildOffset:i}}else this.nodes[t]={bbox:e.bbox,primitivesOffset:e.firstPrimOffset,nPrimitives:e.nPrimitives};return i}createLeaf(e,t,i,n){const s=this.orderedPrims.length;for(let o=e;o{i(t=>{t.owned=e.data.owned,t.joined=e.data.joined})}).catch(e=>{i(t=>{t.error=e.message})})}createRoom(e){s.default.post("/api/rooms",{name:this.newSessionName}).then(e=>{this.$router.push(`/game/${a.coreStore.username}/${this.newSessionName}`)}).catch(e=>{this.error=e.message})}};l=n.__decorate([r.default],l),t.default=l},a535:function(e,t,i){"use strict";i.r(t);var n=i("e06e"),s=i("f30c");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("223d");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"1883e207",null);a.options.__file="confirm.vue",t["default"]=a.exports},a68b:function(e,t,i){"use strict";i.r(t);var n=i("308b"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},aa69:function(e,t,i){"use strict";i.r(t);var n=i("0cf7"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},aaee:function(e,t,i){},af17:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026"));t.EventBus=new s.default},af26:function(e,t,i){},b0ac:function(e,t,i){"use strict";i.r(t);var n=i("a474"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},b2ed:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("c266"),s=i("f10f"),o=i("92b1"),r=i("5a5c");class a extends n.BaseRect{constructor(e,t,i,n,s,o){super(e,t,i,n,s,o),this.type="rect"}asDict(){return super.getBaseDict()}draw(e){super.draw(e),"fog"===this.fillColour?e.fillStyle=r.getFogColour():e.fillStyle=this.fillColour;const t=s.gameStore.zoomFactor,i=o.g2l(this.refPoint);e.fillRect(i.x,i.y,this.w*t,this.h*t),"rgba(0, 0, 0, 0)"!==this.strokeColour&&(e.strokeStyle=this.strokeColour,e.lineWidth=5,e.strokeRect(i.x,i.y,this.w*t,this.h*t))}}t.Rect=a},b809:function(e,t,i){"use strict";i.r(t);var n=i("ca56"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},b906:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("bab4"),o=i("6f92"),r=i("d1ec"),a=i("f10f"),l=i("92b1"),c=i("cee3");class u extends s.Layer{constructor(){super(...arguments),this.isVisionLayer=!0}draw(){if(!this.valid){const t=this.ctx;if(!a.gameStore.fowLOS||r.Settings.skipPlayerFOW)return t.clearRect(0,0,this.canvas.width,this.canvas.height),void(this.valid=!0);t.clearRect(0,0,this.canvas.width,this.canvas.height);const i=o.layerManager.getLayer("draw").ctx;i.clearRect(0,0,window.innerWidth,window.innerHeight);const s=t.globalCompositeOperation;t.fillStyle="rgba(0, 0, 0, 1)",a.gameStore.IS_DM||super.draw(!a.gameStore.fullFOW);const u=t.canvas.width+t.canvas.height;for(const d of a.gameStore.ownedtokens){const i=o.layerManager.UUIDMap.get(d);if(void 0!==i)if("bvh"===a.gameStore.visionMode){t.beginPath();let e=-1;const s=i.center(),o=l.g2l(s);for(let i=0;i<2*Math.PI;i+=r.Settings.angleSteps/2/180*Math.PI){const r=Math.cos(i),c=Math.sin(i),d=new n.Ray(s,new n.Vector(r,c)),h=a.gameStore.BV.intersect(d);h.hit?(-1!==e&&(t.arc(o.x,o.y,u,e,i),e=-1),t.lineTo(l.g2lx(h.intersect.x),l.g2ly(h.intersect.y))):-1===e&&(t.lineTo(o.x+u*r,o.y+u*c),e=i)}-1!==e?t.arc(o.x,o.y,u,e,2*Math.PI):t.closePath(),t.fill()}else try{const n=c.computeVisibility(i.center());t.beginPath(),t.moveTo(l.g2lx(n[0][0]),l.g2ly(n[0][1]));for(const e of n)t.lineTo(l.g2lx(e[0]),l.g2ly(e[1]));t.closePath(),t.fill()}catch(e){}}a.gameStore.IS_DM&&super.draw(!a.gameStore.fullFOW),t.globalCompositeOperation=s}}}t.FOWPlayersLayer=u},bab4:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("0bc6"),s=i("af17"),o=i("6f92"),r=i("206a"),a=i("f10f"),l=i("92b1");class c{constructor(e,t){this.selectable=!1,this.playerEditable=!1,this.isVisionLayer=!1,this.valid=!1,this.shapes=[],this.selection=[],this.selectionColor="#CC0000",this.selectionWidth=2,this.canvas=e,this.name=t,this.width=e.width,this.height=e.height,this.ctx=e.getContext("2d")}invalidate(e){this.valid=!1,e||o.layerManager.invalidateLight()}addShape(e,t,i){void 0===i&&(i=!1),e.layer=this.name,this.shapes.push(e),o.layerManager.UUIDMap.set(e.uuid,e),e.checkVisionSources(),e.setMovementBlock(e.movementObstruction),e.ownedBy(a.gameStore.username)&&e.isToken&&a.gameStore.ownedtokens.push(e.uuid),e.annotation.length&&a.gameStore.annotations.push(e.uuid),t&&n.socket.emit("Shape.Add",{shape:e.asDict(),temporary:i}),this.invalidate(!t)}setShapes(e){for(const t of e){const e=r.createShapeFromDict(t);if(void 0===e)return void console.log(`Shape with unknown type ${t.type_} could not be added`);this.addShape(e,!1,!1)}this.clearSelection(),this.invalidate(!1)}removeShape(e,t,i){void 0===i&&(i=!1),this.shapes.splice(this.shapes.indexOf(e),1),t&&n.socket.emit("Shape.Remove",{shape:e,temporary:i});const s=a.gameStore.visionSources.findIndex(t=>t.shape===e.uuid),r=a.gameStore.visionBlockers.findIndex(t=>t===e.uuid),l=a.gameStore.movementblockers.findIndex(t=>t===e.uuid),c=a.gameStore.annotations.findIndex(t=>t===e.uuid);s>=0&&a.gameStore.visionSources.splice(s,1),r>=0&&a.gameStore.visionBlockers.splice(r,1),l>=0&&a.gameStore.movementblockers.splice(l,1),c>=0&&a.gameStore.annotations.splice(c,1);const u=a.gameStore.annotations.indexOf(e.uuid);u>=0&&a.gameStore.annotations.splice(u,1);const d=a.gameStore.ownedtokens.indexOf(e.uuid);d>=0&&a.gameStore.ownedtokens.splice(d,1),o.layerManager.UUIDMap.delete(e.uuid);const h=this.selection.indexOf(e);h>=0&&this.selection.splice(h,1),r>=0&&a.gameStore.recalculateBV(),this.invalidate(!t)}clear(){this.ctx.clearRect(0,0,this.width,this.height)}clearSelection(){this.selection=[],s.EventBus.$emit("SelectionInfo.Shape.Set",null)}draw(e){if(!this.valid){const t=this.ctx,i=t.globalCompositeOperation;e=void 0===e||e,e&&this.clear();const n=this;if(this.shapes.forEach(e=>{e.options.has("skipDraw")&&e.options.get("skipDraw")||void 0!==o.layerManager.getLayer()&&e.visibleInCanvas(n.canvas)&&("fow"===n.name&&e.visionObstruction&&o.layerManager.getLayer().name!==n.name||e.drawAuras(t))}),this.shapes.forEach(e=>{e.options.has("skipDraw")&&e.options.get("skipDraw")||void 0!==o.layerManager.getLayer()&&e.visibleInCanvas(n.canvas)&&("fow"===n.name&&e.visionObstruction&&o.layerManager.getLayer().name!==n.name||e.draw(t))}),null!=this.selection){t.fillStyle=this.selectionColor,t.strokeStyle=this.selectionColor,t.lineWidth=this.selectionWidth;const e=a.gameStore.zoomFactor;this.selection.forEach(i=>{t.globalCompositeOperation=i.globalCompositeOperation;const n=i.getBoundingBox();t.strokeRect(l.g2lx(n.topLeft.x),l.g2ly(n.topLeft.y),n.w*e,n.h*e);const s=Math.min(6,n.w/2);t.fillRect(l.g2lx(n.topRight.x-s/2),l.g2ly(n.topLeft.y-s/2),s*e,s*e),t.fillRect(l.g2lx(n.topLeft.x-s/2),l.g2ly(n.topLeft.y-s/2),s*e,s*e),t.fillRect(l.g2lx(n.topRight.x-s/2),l.g2ly(n.botLeft.y-s/2),s*e,s*e),t.fillRect(l.g2lx(n.topLeft.x-s/2),l.g2ly(n.botLeft.y-s/2),s*e,s*e)})}t.globalCompositeOperation=i,this.valid=!0}}moveShapeOrder(e,t,i){const s=this.shapes.indexOf(e);s!==t&&(this.shapes.splice(s,1),this.shapes.splice(t,0,e),i&&n.socket.emit("Shape.Order.Set",{shape:e.asDict(),index:t}),this.invalidate(!0))}onShapeMove(e){e.checkVisionSources(),e.visionObstruction&&a.gameStore.recalculateBV(),this.invalidate(!1)}}t.Layer=c},baeb:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("SelectContext",{ref:"selectcontext"})},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},bb17:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("f10f"),s=i("92b1"),o=i("5a5c");function r(e){if(!e.target||!e.target.tagName||"CANVAS"!==e.target.tagName)return;let t;t=-1*Math.sign(e.deltaY),n.gameStore.updateZoom({newZoomValue:n.gameStore.zoomFactor+.1*t,zoomLocation:s.l2g(o.getMouse(e))})}t.scrollZoom=r},befe:function(e,t,i){"use strict";var n=i("e0ac"),s=i.n(n);s.a},c266:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("8f0a"),s=i("8db6"),o=i("2469"),r=i("f10f"),a=i("2838"),l=i("92b1");class c extends o.Shape{constructor(e,t,i,n,s,o){super(e,n,s,o),this.w=t,this.h=i}getBaseDict(){return Object.assign(super.getBaseDict(),{width:this.w,height:this.h})}getBoundingBox(){return new s.BoundingRect(this.refPoint,this.w,this.h)}get points(){if(0===this.w||0===this.h)return[[this.refPoint.x,this.refPoint.y]];const e=this.refPoint.add(new n.Vector(0,this.h)),t=this.refPoint.add(new n.Vector(this.w,this.h)),i=this.refPoint.add(new n.Vector(this.w,0));return[[this.refPoint.x,this.refPoint.y],[e.x,e.y],[t.x,t.y],[i.x,i.y]]}contains(e){return this.refPoint.x<=e.x&&this.refPoint.x+this.w>=e.x&&this.refPoint.y<=e.y&&this.refPoint.y+this.h>=e.y}inCorner(e,t){switch(t){case"ne":return this.refPoint.x+this.w-3<=e.x&&e.x<=this.refPoint.x+this.w+3&&this.refPoint.y-3<=e.y&&e.y<=this.refPoint.y+3;case"nw":return this.refPoint.x-3<=e.x&&e.x<=this.refPoint.x+3&&this.refPoint.y-3<=e.y&&e.y<=this.refPoint.y+3;case"sw":return this.refPoint.x-3<=e.x&&e.x<=this.refPoint.x+3&&this.refPoint.y+this.h-3<=e.y&&e.y<=this.refPoint.y+this.h+3;case"se":return this.refPoint.x+this.w-3<=e.x&&e.x<=this.refPoint.x+this.w+3&&this.refPoint.y+this.h-3<=e.y&&e.y<=this.refPoint.y+this.h+3;default:return!1}}getCorner(e){return this.inCorner(e,"ne")?"ne":this.inCorner(e,"nw")?"nw":this.inCorner(e,"se")?"se":this.inCorner(e,"sw")?"sw":void 0}center(e){if(void 0===e)return this.refPoint.add(new n.Vector(this.w/2,this.h/2));this.refPoint.x=e.x-this.w/2,this.refPoint.y=e.y-this.h/2}visibleInCanvas(e){if(super.visibleInCanvas(e))return!0;const t=!(l.g2lx(this.refPoint.x)>e.width||l.g2ly(this.refPoint.y)>e.height||l.g2lx(this.refPoint.x+this.w)<0||l.g2ly(this.refPoint.y+this.h)<0);return!!t}snapToGrid(){const e=r.gameStore.gridSize,t=this.center(),i=t.x,s=t.y;let o,l;o=this.w/e%2===0?Math.round(i/e)*e-this.w/2:(Math.round((i+e/2)/e)-.5)*e-this.w/2,l=this.h/e%2===0?Math.round(s/e)*e-this.h/2:(Math.round((s+e/2)/e)-.5)*e-this.h/2;const c=a.calculateDelta(new n.Vector(o-this.refPoint.x,l-this.refPoint.y),this);this.refPoint=this.refPoint.add(c),this.invalidate(!1)}resizeToGrid(){const e=r.gameStore.gridSize;this.refPoint.x=Math.round(this.refPoint.x/e)*e,this.refPoint.y=Math.round(this.refPoint.y/e)*e,this.w=Math.max(Math.round(this.w/e)*e,e),this.h=Math.max(Math.round(this.h/e)*e,e),this.invalidate(!1)}resize(e,t){const i=r.gameStore.zoomFactor;"nw"===e?(this.w=l.g2lx(this.refPoint.x)+this.w*i-t.x,this.h=l.g2ly(this.refPoint.y)+this.h*i-t.y,this.refPoint=l.l2g(t)):"ne"===e?(this.w=t.x-l.g2lx(this.refPoint.x),this.h=l.g2ly(this.refPoint.y)+this.h*i-t.y,this.refPoint.y=l.l2gy(t.y)):"se"===e?(this.w=t.x-l.g2lx(this.refPoint.x),this.h=t.y-l.g2ly(this.refPoint.y)):"sw"===e&&(this.w=l.g2lx(this.refPoint.x)+this.w*i-t.x,this.h=t.y-l.g2ly(this.refPoint.y),this.refPoint.x=l.l2gx(t.x)),this.w/=i,this.h/=i,this.w<0&&(this.refPoint.x+=this.w,this.w=Math.abs(this.w)),this.h<0&&(this.refPoint.y+=this.h,this.h=Math.abs(this.h))}}t.BaseRect=c},c277:function(e,t,i){"use strict";i.r(t);var n=i("baeb"),s=i("e27a");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,null,null);a.options.__file="select.vue",t["default"]=a.exports},c6b4:function(e,t,i){"use strict";i.r(t);var n=i("8e60"),s=i("b0ac");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("d767");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"61eb1455",null);a.options.__file="main.vue",t["default"]=a.exports},c6fe:function(e,t,i){},ca56:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("1c76")),a=i("0bc6"),l=i("af17"),c=i("f10f"),u=i("92b1");let d=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.x=0,this.y=0}get IS_DM(){return c.gameStore.IS_DM}open(e){this.visible=!0,this.x=e.pageX,this.y=e.pageY,this.$nextTick(()=>this.$children[0].$el.focus())}close(){this.visible=!1}bringPlayers(){c.gameStore.IS_DM&&(a.socket.emit("Players.Bring",{x:u.l2gx(this.x),y:u.l2gy(this.y)}),this.close())}createToken(){this.$parent.$parent.$refs.createtokendialog.open(this.x,this.y),this.close()}showInitiative(){l.EventBus.$emit("Initiative.Show"),this.close()}};d=n.__decorate([o.default({components:{ContextMenu:r.default}})],d),t.default=d},cad7:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("bc3a")),o=n.__importDefault(i("a026")),r=n.__importDefault(i("65d9")),a=i("cc67");let l=class extends o.default{beforeRouteEnter(e,t,i){s.default.post("/api/logout").then(()=>{a.coreStore.setAuthenticated(!1),a.coreStore.setUsername(""),i({path:"/auth/login"})})}};l=n.__decorate([r.default({template:""})],l),t.default=l},cc67:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=i("6fc5"),o=i("3a0b");let r=class extends s.VuexModule{constructor(){super(...arguments),this.authenticated=!1,this.initialized=!1,this.username=""}setAuthenticated(e){this.authenticated=e}setInitialized(e){this.initialized=e}setUsername(e){this.username=e}};n.__decorate([s.Mutation],r.prototype,"setAuthenticated",null),n.__decorate([s.Mutation],r.prototype,"setInitialized",null),n.__decorate([s.Mutation],r.prototype,"setUsername",null),r=n.__decorate([s.Module({dynamic:!0,store:o.rootStore,name:"core"})],r),t.coreStore=s.getModule(r)},ccf8:function(e,t,i){},cd49:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("3dfd")),r=i("5f86"),a=i("3a0b");s.default.config.productionTip=!1,s.default.config.devtools=!0,s.default.config.performance=!0,t.app=new s.default({router:r.router,store:a.rootStore,render:e=>e(o.default)}).$mount("#app"),window.app=t.app},cde6:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9"));let r=class extends s.default{};r=n.__decorate([o.default({props:["visible","left","top"]})],r),t.default=r},ce87:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("bc3a")),o=n.__importDefault(i("a026")),r=n.__importDefault(i("65d9"));let a=class extends o.default{beforeRouteEnter(e,t,i){s.default.post("/api/invite",{code:e.params.code}).then(e=>{i({path:e.data.sessionUrl})}).catch(e=>{console.error("Invitation code could not be redeemed"),i({path:"/dashboard"})})}};a=n.__decorate([r.default({template:""})],a),t.default=a},cec2:function(e,t,i){"use strict";i.r(t);var n=i("eb57"),s=i("255e");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("0584");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"0602c2e6",null);a.options.__file="prompt.vue",t["default"]=a.exports},cec8:function(e,t,i){"use strict";var n=i("d749"),s=i.n(n);s.a},cee3:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("1216"),s=i("d6be"),o=i("98ef"),r=i("4aee");function a(e,t=0,i=!1){const o=[e.x,e.y],r=[],a=s.PA_CDT.locate(o,null).loc;return null===a?(console.error("Triangle not found"),[]):(r.push(a.vertices[1].point),a.isConstrained(0)||l(o,a.vertices[2].point,a.vertices[1].point,a,0,r),r.push(a.vertices[2].point),a.isConstrained(1)||l(o,a.vertices[0].point,a.vertices[2].point,a,1,r),r.push(a.vertices[0].point),a.isConstrained(2)||l(o,a.vertices[1].point,a.vertices[0].point,a,2,r),i&&n.drawPolygon(r,"red"),r)}function l(e,t,i,n,s,a){const u=n.neighbours[s],d=u.indexT(n),h=r.ccw(d),f=r.cw(d),p=u.vertices[d],g=u.vertices[f],v=u.vertices[h],m=[u,h],y=[u,f],b=r.orientation(e,i,p.point),_=r.orientation(e,t,p.point);if(b===o.Sign.COUNTERCLOCKWISE)if(m[0].isConstrained(m[1]))i!==g.point&&a.push(c(e,i,p.point,g.point)),_===o.Sign.COUNTERCLOCKWISE&&a.push(c(e,t,p.point,g.point));else{if(_===o.Sign.COUNTERCLOCKWISE)return l(e,t,i,u,h,a);l(e,p.point,i,u,h,a)}if(b!==o.Sign.CLOCKWISE&&_!==o.Sign.COUNTERCLOCKWISE&&a.push(p.point),_===o.Sign.CLOCKWISE)return y[0].isConstrained(y[1])?(b===o.Sign.CLOCKWISE&&a.push(c(e,i,p.point,v.point)),void(t!==v.point&&a.push(c(e,t,p.point,v.point)))):b===o.Sign.CLOCKWISE?l(e,t,i,u,f,a):l(e,t,p.point,u,f,a)}function c(e,t,i,n){const s=(n[1]-i[1])*(t[0]-e[0])-(n[0]-i[0])*(t[1]-e[1]),o=((n[0]-i[0])*(e[1]-i[1])-(n[1]-i[1])*(e[0]-i[0]))/s,r=e[0]+o*(t[0]-e[0]),a=e[1]+o*(t[1]-e[1]);return[r,a]}t.computeVisibility=a},cfc1:function(e,t,i){"use strict";var n=i("5e17"),s=i.n(n);s.a},d065:function(e,t,i){"use strict";i.r(t);var n=i("4b01"),s=i("f8b3");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("2f43");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"078b3b76",null);a.options.__file="edit_dialog.vue",t["default"]=a.exports},d1ec:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{}n.angleSteps=4,n.drawAngleLines=!1,n.drawFirstLightHit=!1,n.skipPlayerFOW=!1,n.skipLightFOW=!1,n.tempFill="fog",t.Settings=n},d30b:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("bc3a")),o=n.__importDefault(i("a026")),r=n.__importDefault(i("65d9")),a=i("cc67");let l=class extends o.default{constructor(){super(...arguments),this.username="",this.password="",this.error=""}login(){s.default.post("/api/login",{username:this.username,password:this.password}).then(e=>{a.coreStore.setUsername(this.username),a.coreStore.setAuthenticated(!0),this.$router.push(this.$route.query.redirect||"/")}).catch(e=>{e.response?this.error=e.response.statusText:this.error="Unknown error occured"})}register(){s.default.post("/api/register",{username:this.username,password:this.password}).then(e=>{a.coreStore.setUsername(this.username),a.coreStore.setAuthenticated(!0),this.$router.push(this.$route.query.redirect||"/")}).catch(e=>{e.response?this.error=e.response.statusText:this.error="Unknown error occured"})}focusin(e){if(e.target&&e.target.nextElementSibling){const t=e.target.nextElementSibling;t.style.opacity="0"}}focusout(e){if(e.target&&e.target.nextElementSibling){const t=e.target.nextElementSibling;t.style.opacity="1"}}};l=n.__decorate([r.default],l),t.default=l},d323:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div")},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},d445:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("transition",{attrs:{name:"modal"}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"mask",class:{"modal-mask":e.mask,"dialog-mask":!e.mask},on:{click:e.close,dragover:function(t){return t.preventDefault(),e.dragOver(t)}}},[i("div",{ref:"container",staticClass:"modal-container",on:{click:function(e){e.stopPropagation()}}},[e._t("header",null,{dragStart:e.dragStart,dragEnd:e.dragEnd}),e._t("default")],2)])])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},d588:function(e,t,i){"use strict";i.r(t);var n=i("91df"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},d5df:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("65d9")),o=n.__importDefault(i("ea6a")),r=i("0bc6"),a=i("6f92"),l=i("5e7c"),c=i("0180"),u=i("f10f"),d=i("92b1"),h=i("5a5c");let f=class extends o.default{constructor(){super(...arguments),this.name="Ruler",this.active=!1,this.startPoint=null,this.ruler=null,this.text=null}onMouseDown(e){const t=a.layerManager.getLayer("draw");void 0!==t?(this.active=!0,this.startPoint=d.l2g(h.getMouse(e)),this.ruler=new l.Line(this.startPoint,this.startPoint,3,u.gameStore.rulerColour),this.text=new c.Text(this.startPoint.clone(),"","bold 20px serif"),this.ruler.owners.push(u.gameStore.username),this.text.owners.push(u.gameStore.username),t.addShape(this.ruler,!0,!0),t.addShape(this.text,!0,!0)):console.log("No draw layer!")}onMouseMove(e){if(!this.active||null===this.ruler||null===this.startPoint||null===this.text)return;const t=a.layerManager.getLayer("draw");if(void 0===t)return void console.log("No draw layer!");const i=d.l2g(h.getMouse(e));this.ruler.endPoint=i,r.socket.emit("Shape.Update",{shape:this.ruler.asDict(),redraw:!0,temporary:!0});const n=Math.sign(i.x-this.startPoint.x)*Math.sign(i.y-this.startPoint.y),s=Math.abs(i.x-this.startPoint.x),o=Math.abs(i.y-this.startPoint.y),l=Math.round(Math.sqrt(Math.pow(s,2)+Math.pow(o,2))*u.gameStore.unitSize/u.gameStore.gridSize)+" ft",c=Math.atan2(n*o,s),f=Math.min(this.startPoint.x,i.x)+s/2,p=Math.min(this.startPoint.y,i.y)+o/2;this.text.refPoint.x=f,this.text.refPoint.y=p,this.text.text=l,this.text.angle=c,r.socket.emit("Shape.Update",{shape:this.text.asDict(),redraw:!0,temporary:!0}),t.invalidate(!0)}onMouseUp(e){if(!this.active||null===this.ruler||null===this.startPoint||null===this.text)return;const t=a.layerManager.getLayer("draw");void 0!==t?(this.active=!1,t.removeShape(this.ruler,!0,!0),t.removeShape(this.text,!0,!0),t.invalidate(!0),this.ruler=this.startPoint=this.text=null):console.log("No active layer!")}};f=n.__decorate([s.default],f),t.RulerTool=f},d65f:function(e,t,i){"use strict";i.r(t);var n=i("d445"),s=i("7e15");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("26a5");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"12ed61ba",null);a.options.__file="modal.vue",t["default"]=a.exports},d6be:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("6f92"),s=i("f10f"),o=i("6e4a");function r(e=!1){const i=new o.CDT;for(const t of s.gameStore.visionBlockers){const s=n.layerManager.UUIDMap.get(t);if(!e||s.visibleInCanvas(n.layerManager.getLayer().canvas))for(let e=0;ee===this.shape.uuid)),u.layerManager.hasLayer("draw")&&u.layerManager.getLayer("draw").invalidate(!0)):(d.gameStore.annotations.push(this.shape.uuid),u.layerManager.hasLayer("draw")&&u.layerManager.getLayer("draw").invalidate(!0)),this.updateShape(!1)}updateOwner(e,t){const i=this.shape.owners.findIndex(e=>e===t);i>=0?this.shape.owners.splice(i,1,e.target.value):this.shape.owners.push(e.target.value),this.updateShape(d.gameStore.fowLOS)}removeOwner(e){const t=this.shape.owners.findIndex(t=>t===e);this.shape.owners.splice(t,1),this.updateShape(d.gameStore.fowLOS)}removeTracker(e){this.shape.trackers=this.shape.trackers.filter(t=>t.uuid!==e),this.updateShape(!1)}removeAura(e){this.shape.auras=this.shape.auras.filter(t=>t.uuid!==e),this.shape.checkVisionSources(),this.updateShape(!0)}updateAuraVisionSource(e){e.visionSource=!e.visionSource;const t=d.gameStore.visionSources.findIndex(t=>t.aura===e.uuid);e.visionSource&&-1===t?d.gameStore.visionSources.push({shape:this.shape.uuid,aura:e.uuid}):!e.visionSource&&t>=0&&d.gameStore.visionSources.splice(t,1),u.layerManager.invalidateLight(),this.updateShape(!0)}updateAuraColour(e,t){const i=u.layerManager.getLayer(this.shape.layer);void 0!==i&&i.invalidate(!e.visionSource)}};n.__decorate([h.Prop()],f.prototype,"shape",void 0),f=n.__decorate([o.default({components:{Modal:a.default,"color-picker":r.default}})],f),t.default=f},dbba:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{attrs:{id:"main"},on:{mouseleave:e.mouseleave}},[i("menu-bar"),i("div",{attrs:{id:"board"}},[e.ready.manager?[i("tool-bar",{ref:"tools"})]:e._e(),i("div",{attrs:{id:"layers"},on:{mousedown:e.mousedown,mouseup:e.mouseup,mousemove:e.mousemove,contextmenu:function(t){return t.preventDefault(),t.stopPropagation(),e.contextmenu(t)},dragover:function(e){e.preventDefault()},drop:e.drop}}),e.layers.length>1?i("div",{attrs:{id:"layerselect"}},[i("ul",e._l(e.layers,function(t){return i("li",{key:t.name,class:{"layer-selected":t===e.selectedLayer},on:{click:function(i){e.selectLayer(t)}}},[i("a",{attrs:{href:"#"}},[e._v(e._s(t))])])}))]):e._e()],2),i("selection-info",{ref:"selectionInfo"}),i("initiative-dialog",{ref:"initiative",attrs:{id:"initiativedialog"}}),i("note-dialog",{ref:"note"}),i("zoom-slider",{attrs:{id:"zoomer",height:6,width:200,min:.01,max:5,interval:.1,"dot-width":8,"dot-height":20,"tooltip-dir":"bottom",tooltip:"hover",formatter:e.zoomFactor.toFixed(1),"slider-style":{"border-radius":"15%"},"bg-style":{"background-color":"#fff","box-shadow":"0.5px 0.5px 3px 1px rgba(0, 0, 0, .36)"},"process-style":{"background-color":"#fff"}},model:{value:e.zoomFactor,callback:function(t){e.zoomFactor=t},expression:"zoomFactor"}}),i("prompt-dialog",{ref:"prompt"}),i("confirm-dialog",{ref:"confirm"})],1)},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},dc37:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("d65f"));let a=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.yes="Yes",this.no="No",this.title="",this.resolve=(e=>{}),this.reject=(()=>{})}confirm(){this.resolve(!0),this.close()}deny(){this.resolve(!1),this.close()}close(){this.reject(),this.visible=!1,this.title=""}open(e,t="yes",i="no"){return this.yes=t,this.no=i,this.title=e,this.visible=!0,this.$nextTick(()=>{this.$refs.confirm.focus()}),new Promise((e,t)=>{this.resolve=e,this.reject=t})}};a=n.__decorate([o.default({components:{Modal:r.default}})],a),t.default=a},de21:function(e,t,i){},dec1:function(e,t,i){"use strict";i.r(t);var n=i("f9e5"),s=i("3481");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,null,null);a.options.__file="map.vue",t["default"]=a.exports},df15:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContextMenu",{attrs:{visible:e.visible,left:e.left+"px",top:e.top+"px"},on:{close:e.close}},[i("li",{on:{click:e.rename}},[e._v("Rename")]),i("li",{on:{click:e.remove}},[e._v("Remove")])])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},e06e:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("modal",{attrs:{visible:e.visible},on:{close:e.close},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[e._v(e._s(e.title))])}}])},[i("div",{staticClass:"modal-body"},[i("button",{ref:"confirm",on:{click:e.confirm}},[e._v(e._s(e.yes))]),e.no?i("button",{on:{click:e.deny}},[e._v(e._s(e.no))]):e._e()])])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},e0ac:function(e,t,i){},e0e9:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("1c76")),a=i("5338"),l=i("2d5b"),c=i("4a5b");let u=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.left=0,this.top=0}open(e,t){l.assetStore.selected.includes(t)||c.getComponent().select(e,t),this.visible=!0,this.left=e.pageX,this.top=e.pageY,this.$nextTick(()=>{this.$children[0].$el.focus()})}close(){this.visible=!1}rename(){if(1!==l.assetStore.selected.length)return;const e=l.assetStore.idMap.get(l.assetStore.selected[0]);c.getRef("prompt").prompt("New name:",`Renaming ${e.name}`).then(t=>{a.socket.emit("Asset.Rename",{asset:e.id,name:t}),e.name=t,c.getComponent().$forceUpdate()},()=>{}),this.close()}remove(){0!==l.assetStore.selected.length&&(c.getRef("confirm").open("Are you sure you wish to remove this?").then(e=>{if(e){for(const e of l.assetStore.selected)a.socket.emit("Asset.Remove",e),l.assetStore.isFile(e)?l.assetStore.files.splice(l.assetStore.files.indexOf(e),1):l.assetStore.folders.splice(l.assetStore.folders.indexOf(e),1);l.assetStore.selected=[]}},()=>{}),this.close())}};u=n.__decorate([o.default({components:{ContextMenu:r.default}})],u),t.default=u},e198:function(e,t,i){},e27a:function(e,t,i){"use strict";i.r(t);var n=i("2756"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},e756:function(e,t,i){},e914:function(e,t,i){"use strict";i.r(t);var n=i("160b"),s=i("aa69");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("78c7");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,null,null);a.options.__file="manager.vue",t["default"]=a.exports},e94f:function(e,t,i){"use strict";i.r(t);var n=i("7aaa"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},ea6a:function(e,t,i){"use strict";i.r(t);var n=i("d323"),s=i("6465");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("12d3");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,null,null);a.options.__file="tool.vue",t["default"]=a.exports},eb57:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("Modal",{attrs:{visible:e.visible},on:{close:e.close},scopedSlots:e._u([{key:"header",fn:function(t){return i("div",{staticClass:"modal-header",attrs:{draggable:"true"},on:{dragstart:t.dragStart,dragend:t.dragEnd}},[e._v(e._s(e.title))])}}])},[i("div",{staticClass:"modal-body"},[e._v("\n "+e._s(e.question)+"\n "),i("input",{directives:[{name:"model",rawName:"v-model",value:e.answer,expression:"answer"}],ref:"answer",attrs:{type:"text"},domProps:{value:e.answer},on:{keyup:function(t){return"button"in t||!e._k(t.keyCode,"enter",13,t.key,"Enter")?e.submit(t):null},input:function(t){t.target.composing||(e.answer=t.target.value)}}})]),i("div",{staticClass:"modal-footer"},[i("button",{on:{click:e.submit}},[e._v("Submit")])])])},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},ebb9:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("1516"));s.default.component("draggable",r.default);const a=n.__importDefault(i("d65f")),l=i("4a5b"),c=i("0bc6"),u=i("af17"),d=i("6f92"),h=i("f10f");let f=class extends s.default{constructor(){super(...arguments),this.visible=!1,this.data=[],this.currentActor=null,this.roundCounter=0}mounted(){u.EventBus.$on("Initiative.Clear",this.clear),u.EventBus.$on("Initiative.Remove",e=>this.removeInitiative(e)),u.EventBus.$on("Initiative.Show",()=>this.visible=!0),c.socket.on("Initiative.Set",e=>{this.data=e}),c.socket.on("Initiative.Turn.Update",e=>this.setTurn(e,!1)),c.socket.on("Initiative.Round.Update",e=>this.setRound(e,!1)),c.socket.on("Initiative.Effect.New",e=>{const t=this.getActor(e.actor);void 0!==t&&this.createEffect(t,e.effect,!1)}),c.socket.on("Initiative.Effect.Update",e=>this.updateEffect(e.actor,e.effect,!1))}beforeDestroy(){u.EventBus.$off()}clear(){this.data=[],this.currentActor=null}getActor(e){return this.data.find(t=>t.uuid===e)}contains(e){return this.data.some(t=>t.uuid===e)}owns(e){if(h.gameStore.IS_DM)return!0;const t=d.layerManager.UUIDMap.get(e.uuid);return void 0!==t&&t.owners.includes(h.gameStore.username)}getDefaultEffect(){return{uuid:l.uuidv4(),name:"New Effect",turns:10}}fakeSetData(e){e.setData("Hack","")}syncInitiative(e){c.socket.emit("Initiative.Update",e)}addInitiative(e){const t=this.data.findIndex(t=>t.uuid===e.uuid);t>=0||(void 0===e.initiative&&(e.initiative=0),this.syncInitiative(e))}removeInitiative(e){const t=this.data.findIndex(t=>t.uuid===e);if(t<0||this.data[t].group)return;this.syncInitiative({uuid:e});const i=d.layerManager.UUIDMap.get(e);void 0!==i&&i.showHighlight&&(i.showHighlight=!1,d.layerManager.getLayer(i.layer).invalidate(!0))}updateOrder(){h.gameStore.IS_DM&&c.socket.emit("Initiative.Set",this.data.map(e=>e.uuid))}setTurn(e,t){if(!h.gameStore.IS_DM&&t)return;this.currentActor=e;const i=this.data.find(t=>t.uuid===e);if(void 0!==i){if(i.effects)for(let e=i.effects.length-1;e>=0;e--)i.effects[e].turns<=0?i.effects.splice(e,1):i.effects[e].turns--;t&&c.socket.emit("Initiative.Turn.Update",e)}}setRound(e,t){!h.gameStore.IS_DM&&t||(this.roundCounter=e,t&&c.socket.emit("Initiative.Round.Update",e))}nextTurn(){if(!h.gameStore.IS_DM)return;const e=this.data,t=e[(e.findIndex(e=>e.uuid===this.currentActor)+1)%e.length];this.data[0].uuid===t.uuid&&this.setRound(this.roundCounter+1,!0),this.setTurn(t.uuid,!0)}toggleHighlight(e,t){const i=d.layerManager.UUIDMap.get(e.uuid);void 0!==i&&(i.showHighlight=t,d.layerManager.getLayer(i.layer).invalidate(!0))}toggleOption(e,t){this.owns(e)&&(e[t]=!e[t],this.syncInitiative(e))}createEffect(e,t,i){this.owns(e)&&(e.effects.push(t),i&&c.socket.emit("Initiative.Effect.New",{actor:e.uuid,effect:t}))}syncEffect(e,t){this.owns(e)&&c.socket.emit("Initiative.Effect.Update",{actor:e.uuid,effect:t})}updateEffect(e,t,i){const n=this.data.find(t=>t.uuid===e);if(void 0===n)return;const s=n.effects.findIndex(e=>e.uuid===t.uuid);void 0!==s&&(n.effects[s]=t,i?this.syncEffect(n,t):this.$forceUpdate())}};f=n.__decorate([o.default({components:{Modal:a.default,draggable:r.default}})],f),t.default=f},ee96:function(e,t,i){},f086:function(e,t,i){"use strict";i.r(t);var n=i("3427"),s=i("7ba5");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("831f");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"32cec914",null);a.options.__file="selection_info.vue",t["default"]=a.exports},f10f:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=i("6fc5"),o=i("0bc6"),r=i("2b48"),a=i("6f92"),l=i("92b1"),c=i("99e3"),u=i("3a0b"),d=i("d6be");let h=class extends s.VuexModule{constructor(){super(...arguments),this.layers=[],this.selectedLayerIndex=-1,this.boardInitialized=!1,this.locations=[],this.assets={},this.notes=[],this.IS_DM=!1,this.gridSize=50,this.username="",this.roomName="",this.roomCreator="",this.invitationCode="",this.gridColour="rgba(0, 0, 0, 1)",this.fowColour="rgba(0, 0, 0, 1)",this.rulerColour="rgba(255, 0, 0, 1)",this.panX=0,this.panY=0,this.zoomFactor=1,this.unitSize=5,this.useGrid=!0,this.fullFOW=!1,this.fowOpacity=.3,this.fowLOS=!1,this.locationName="",this.visionSources=[],this.visionBlockers=[],this.annotations=[],this.movementblockers=[],this.ownedtokens=[],this.BV=Object.freeze(new c.BoundingVolume([])),this.visionMode="bvh"}get selectedLayer(){return this.layers[this.selectedLayerIndex]}setVisionMode(e){this.visionMode=e}setBoardInitialized(e){this.boardInitialized=e}setDM(e){this.IS_DM=e}setUsername(e){this.username=e}setRoomName(e){this.roomName=e}setRoomCreator(e){this.roomCreator=e}setInvitationCode(e){this.invitationCode=e}addLayer(e){this.layers.push(e),-1===this.selectedLayerIndex&&(this.selectedLayerIndex=this.layers.indexOf(e))}selectLayer(e){const t=this.layers.indexOf(e.name);t>=0&&(this.selectedLayerIndex=t),e.sync&&o.socket.emit("Client.ActiveLayer.Set",e.name)}newNote(e){this.notes.push(e.note),e.sync&&o.socket.emit("Note.New",e.note)}setAssets(e){this.assets=e}setLocations(e){this.locations=e}resetLayerInfo(){this.layers=[],this.selectedLayerIndex=-1}recalculateBV(e=!1){if(this.boardInitialized)if("triangle"===this.visionMode)d.triangulate(e);else{let e=!1,i=0;while(!e){e=!0;try{this.BV=Object.freeze(new c.BoundingVolume(this.visionBlockers))}catch(t){if(e=!1,i++,i>10)return void console.error(t)}}}}updateZoom(e){if(e.newZoomValue===this.zoomFactor)return;e.newZoomValue<.1&&(e.newZoomValue=.01),e.newZoomValue>5&&(e.newZoomValue=5);const t=l.g2l(e.zoomLocation);this.zoomFactor=e.newZoomValue;const i=l.l2g(t),n=i.subtract(e.zoomLocation);this.panX+=n.x,this.panY+=n.y,a.layerManager.invalidate(),r.sendClientOptions()}setGridColour(e){this.gridColour=e.colour,a.layerManager.getGridLayer().drawGrid(),e.sync&&o.socket.emit("Client.Options.Set",{gridColour:e.colour})}setFOWColour(e){this.fowColour=e.colour,a.layerManager.invalidate(),e.sync&&o.socket.emit("Client.Options.Set",{fowColour:e.colour})}setRulerColour(e){this.rulerColour=e.colour,e.sync&&o.socket.emit("Client.Options.Set",{rulerColour:e.colour})}setPanX(e){this.panX=e}setPanY(e){this.panY=e}setZoomFactor(e){this.zoomFactor=e}increasePanX(e){this.panX+=e}increasePanY(e){this.panY+=e}setUnitSize(e){this.unitSize!==e.unitSize&&e.unitSize>0&&e.unitSize<1/0&&(this.unitSize=e.unitSize,a.layerManager.invalidate(),e.sync&&o.socket.emit("Location.Options.Set",{unit_size:e.unitSize}))}setUseGrid(e){if(this.useGrid!==e.useGrid){this.useGrid=e.useGrid;const t=a.layerManager.getGridLayer();e.useGrid?t.canvas.style.display="block":t.canvas.style.display="none",e.sync&&o.socket.emit("Location.Options.Set",{use_grid:e.useGrid})}}setGridSize(e){if(this.gridSize!==e.gridSize&&e.gridSize>0){this.gridSize=e.gridSize;const t=a.layerManager.getGridLayer();void 0!==t&&t.drawGrid(),e.sync&&o.socket.emit("Gridsize.Set",e.gridSize)}}setFullFOW(e){this.fullFOW!==e.fullFOW&&(this.fullFOW=e.fullFOW,a.layerManager.invalidateLight(),e.sync&&o.socket.emit("Location.Options.Set",{full_fow:e.fullFOW}))}setFOWOpacity(e){this.fowOpacity=e.fowOpacity,a.layerManager.invalidateLight(),e.sync&&o.socket.emit("Location.Options.Set",{fow_opacity:e.fowOpacity})}setLineOfSight(e){this.fowLOS!==e.fowLOS&&(this.fowLOS=e.fowLOS,a.layerManager.invalidate(),e.sync&&o.socket.emit("Location.Options.Set",{fow_los:e.fowLOS}))}setLocationName(e){this.locationName=e}updateNote(e){const t=this.notes.find(t=>t.uuid===e.note.uuid);void 0!==t&&(t.title=e.note.title,t.text=e.note.text,e.sync&&o.socket.emit("Note.Update",t))}removeNote(e){this.notes=this.notes.filter(t=>t.uuid!==e.note.uuid),e.sync&&o.socket.emit("Note.Remove",e.note.uuid)}clear(){this.context.state.visionSources=[],this.context.state.visionBlockers=[],this.context.state.ownedtokens=[],this.context.state.annotations=[],this.context.state.movementblockers=[],this.context.commit("recalculateBV")}};n.__decorate([s.Mutation],h.prototype,"setVisionMode",null),n.__decorate([s.Mutation],h.prototype,"setBoardInitialized",null),n.__decorate([s.Mutation],h.prototype,"setDM",null),n.__decorate([s.Mutation],h.prototype,"setUsername",null),n.__decorate([s.Mutation],h.prototype,"setRoomName",null),n.__decorate([s.Mutation],h.prototype,"setRoomCreator",null),n.__decorate([s.Mutation],h.prototype,"setInvitationCode",null),n.__decorate([s.Mutation],h.prototype,"addLayer",null),n.__decorate([s.Mutation],h.prototype,"selectLayer",null),n.__decorate([s.Mutation],h.prototype,"newNote",null),n.__decorate([s.Mutation],h.prototype,"setAssets",null),n.__decorate([s.Mutation],h.prototype,"setLocations",null),n.__decorate([s.Mutation],h.prototype,"resetLayerInfo",null),n.__decorate([s.Mutation],h.prototype,"recalculateBV",null),n.__decorate([s.Mutation],h.prototype,"updateZoom",null),n.__decorate([s.Mutation],h.prototype,"setGridColour",null),n.__decorate([s.Mutation],h.prototype,"setFOWColour",null),n.__decorate([s.Mutation],h.prototype,"setRulerColour",null),n.__decorate([s.Mutation],h.prototype,"setPanX",null),n.__decorate([s.Mutation],h.prototype,"setPanY",null),n.__decorate([s.Mutation],h.prototype,"setZoomFactor",null),n.__decorate([s.Mutation],h.prototype,"increasePanX",null),n.__decorate([s.Mutation],h.prototype,"increasePanY",null),n.__decorate([s.Mutation],h.prototype,"setUnitSize",null),n.__decorate([s.Mutation],h.prototype,"setUseGrid",null),n.__decorate([s.Mutation],h.prototype,"setGridSize",null),n.__decorate([s.Mutation],h.prototype,"setFullFOW",null),n.__decorate([s.Mutation],h.prototype,"setFOWOpacity",null),n.__decorate([s.Mutation],h.prototype,"setLineOfSight",null),n.__decorate([s.Mutation],h.prototype,"setLocationName",null),n.__decorate([s.Mutation],h.prototype,"updateNote",null),n.__decorate([s.Mutation],h.prototype,"removeNote",null),n.__decorate([s.Action],h.prototype,"clear",null),h=n.__decorate([s.Module({dynamic:!0,store:u.rootStore,name:"game",namespaced:!0})],h),t.gameStore=s.getModule(h)},f2d0:function(e,t,i){},f30c:function(e,t,i){"use strict";i.r(t);var n=i("dc37"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},f312:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.aurasFromServer=(e=>{const t=[];for(const i of e)t.push({uuid:i.uuid,visionSource:i.vision_source,visible:i.visible,name:i.name,value:i.value,dim:i.dim,colour:i.colour});return t}),t.aurasToServer=(e=>{const t=[];for(const i of e)t.push({uuid:i.uuid,vision_source:i.visionSource,visible:i.visible,name:i.name,value:i.value,dim:i.dim,colour:i.colour});return t})},f51a:function(e,t,i){"use strict";i.r(t);var n=i("e0e9"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},f551:function(e,t,i){"use strict";i.r(t);var n=i("2686"),s=i("1dd6");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("28b6");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"7a3669fd",null);a.options.__file="note.vue",t["default"]=a.exports},f5fe:function(e,t,i){"use strict";i.r(t);var n=i("9d42"),s=i("7018");for(var o in s)"default"!==o&&function(e){i.d(t,e,function(){return s[e]})}(o);i("5b4c");var r=i("2877"),a=Object(r["a"])(s["default"],n["a"],n["b"],!1,null,"ccaf03d6",null);a.options.__file="initiative.vue",t["default"]=a.exports},f692:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("4185"),s=i("b906"),o=i("38c9"),r=i("bab4"),a=i("6f92"),l=i("f10f");function c(e){const t=document.createElement("canvas");let i;t.style.zIndex=a.layerManager.layers.length.toString(),t.width=window.innerWidth,t.height=window.innerHeight,i="grid"===e.type_?new o.GridLayer(t,e.name):"fow"===e.type_?new n.FOWLayer(t,e.name):"fow-players"===e.type_?new s.FOWPlayersLayer(t,e.name):new r.Layer(t,e.name),i.selectable=e.selectable,i.playerEditable=e.player_editable,a.layerManager.addLayer(i);const c=document.getElementById("layers");null!==c?("fow-players"!==e.name&&c.appendChild(t),"grid"===e.type_&&e.size&&l.gameStore.setGridSize({gridSize:e.size,sync:!1}),i.setShapes(e.shapes)):console.warn("Layers div is missing, this will prevent the main game board from loading!")}t.createLayer=c},f8a4:function(e,t,i){},f8b3:function(e,t,i){"use strict";i.r(t);var n=i("d8ee"),s=i.n(n);for(var o in n)"default"!==o&&function(e){i.d(t,e,function(){return n[e]})}(o);t["default"]=s.a},f9e5:function(e,t,i){"use strict";var n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return e.selected?i("div",{staticClass:"tool-detail",style:{"--detailRight":e.detailRight,"--detailArrow":e.detailArrow}},[i("div",[e._v("#X")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.xCount,expression:"xCount"}],attrs:{type:"text"},domProps:{value:e.xCount},on:{input:function(t){t.target.composing||(e.xCount=t.target.value)}}}),i("div",[e._v("#Y")]),i("input",{directives:[{name:"model",rawName:"v-model",value:e.yCount,expression:"yCount"}],attrs:{type:"text"},domProps:{value:e.yCount},on:{input:function(t){t.target.composing||(e.yCount=t.target.value)}}})]):e._e()},s=[];i.d(t,"a",function(){return n}),i.d(t,"b",function(){return s})},fbdd:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("9ab4"),s=n.__importDefault(i("a026")),o=n.__importDefault(i("65d9")),r=n.__importDefault(i("d065")),a=i("4a5b"),l=i("0bc6"),c=i("af17"),u=i("6f92");let d=class extends s.default{constructor(){super(...arguments),this.shape=null}mounted(){c.EventBus.$on("SelectionInfo.Shape.Set",e=>{this.shape=e})}beforeDestroy(){c.EventBus.$off()}openEditDialog(){this.$refs.editDialog.visible=!0}changeValue(e,t){null!==this.shape&&a.getRef("prompt").prompt(`New ${e.name} value:`,`Updating ${e.name}`).then(i=>{if(null===this.shape)return;const n=e.value;"+"===i[0]||"-"===i[0]?e.value+=parseInt(i,10):e.value=parseInt(i,10),isNaN(e.value)&&(e.value=n),l.socket.emit("Shape.Update",{shape:this.shape.asDict(),redraw:t,temporary:!1}),t&&u.layerManager.invalidate()},()=>{})}};d=n.__decorate([o.default({components:{"edit-dialog":r.default}})],d),t.default=d},fe11:function(e,t,i){},fe80:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=i("0bc6"),s=i("af17"),o=i("8f0a"),r=i("6f92"),a=i("f692"),l=i("9cb7"),c=i("f10f"),u=i("5f86");n.socket.on("connect",()=>{console.log("Connected")}),n.socket.on("disconnect",()=>{console.log("Disconnected")}),n.socket.on("connect_error",e=>{console.error("Could not connect to game session."),u.router.push("/dashboard")}),n.socket.on("error",e=>{console.error("Game session does not exist."),u.router.push("/dashboard")}),n.socket.on("redirect",e=>{console.log("redirecting"),u.router.push(e)}),n.socket.on("Room.Info.Set",e=>{c.gameStore.setRoomName(e.name),c.gameStore.setRoomCreator(e.creator),c.gameStore.setInvitationCode(e.invitationCode)}),n.socket.on("Username.Set",e=>{c.gameStore.setUsername(e),c.gameStore.setDM(e===window.location.pathname.split("/")[2])}),n.socket.on("Client.Options.Set",e=>{c.gameStore.setGridColour({colour:e.grid_colour,sync:!1}),c.gameStore.setFOWColour({colour:e.fow_colour,sync:!1}),c.gameStore.setRulerColour({colour:e.ruler_colour,sync:!1}),c.gameStore.setPanX(e.pan_x),c.gameStore.setPanY(e.pan_y),c.gameStore.setZoomFactor(e.zoom_factor),e.active_layer&&r.layerManager.selectLayer(e.active_layer,!1),void 0!==r.layerManager.getGridLayer()&&r.layerManager.getGridLayer().invalidate()}),n.socket.on("Location.Set",e=>{void 0!==e.name&&c.gameStore.setLocationName(e.name),void 0!==e.unit_size&&c.gameStore.setUnitSize({unitSize:e.unit_size,sync:!1}),void 0!==e.use_grid&&c.gameStore.setUseGrid({useGrid:e.use_grid,sync:!1}),void 0!==e.full_fow&&c.gameStore.setFullFOW({fullFOW:e.full_fow,sync:!1}),void 0!==e.fow_opacity&&c.gameStore.setFOWOpacity({fowOpacity:e.fow_opacity,sync:!1}),void 0!==e.fow_los&&c.gameStore.setLineOfSight({fowLOS:e.fow_los,sync:!1})}),n.socket.on("Position.Set",e=>{l.gameManager.setCenterPosition(new o.GlobalPoint(e.x,e.y))}),n.socket.on("Notes.Set",e=>{for(const t of e)c.gameStore.newNote({note:t,sync:!1})}),n.socket.on("Asset.List.Set",e=>{c.gameStore.setAssets(e)}),n.socket.on("Board.Set",e=>{c.gameStore.clear(),c.gameStore.setLocations(e.locations),document.getElementById("layers").innerHTML="",c.gameStore.resetLayerInfo(),r.layerManager.reset();for(const t of e.layers)a.createLayer(t);r.layerManager.selectLayer(r.layerManager.getLayer().name,!1),s.EventBus.$emit("Initiative.Clear"),c.gameStore.setBoardInitialized(!0),c.gameStore.recalculateBV()}),n.socket.on("Gridsize.Set",e=>{c.gameStore.setGridSize({gridSize:e,sync:!1})}),n.socket.on("Shape.Add",e=>{l.gameManager.addShape(e)}),n.socket.on("Shape.Remove",e=>{if(!r.layerManager.UUIDMap.has(e.uuid))return void console.log("Attempted to remove an unknown shape");if(!r.layerManager.hasLayer(e.layer))return void console.log(`Attempted to remove shape from an unknown layer ${e.layer}`);const t=r.layerManager.getLayer(e.layer);t.removeShape(r.layerManager.UUIDMap.get(e.uuid),!1),t.invalidate(!1)}),n.socket.on("Shape.Order.Set",e=>{if(!r.layerManager.UUIDMap.has(e.shape.uuid))return void console.log("Attempted to move the shape order of an unknown shape");if(!r.layerManager.hasLayer(e.shape.layer))return void console.log(`Attempted to remove shape from an unknown layer ${e.shape.layer}`);const t=r.layerManager.UUIDMap.get(e.shape.uuid),i=r.layerManager.getLayer(t.layer);i.moveShapeOrder(t,e.index,!1)}),n.socket.on("Shape.Layer.Change",e=>{const t=r.layerManager.UUIDMap.get(e.uuid);void 0!==t&&t.moveLayer(e.layer,!1)}),n.socket.on("Shape.Update",e=>{l.gameManager.updateShape(e)}),n.socket.on("Temp.Clear",e=>{e.forEach(e=>{if(!r.layerManager.UUIDMap.has(e.uuid))return void console.log("Attempted to remove an unknown temporary shape");if(!r.layerManager.hasLayer(e.layer))return void console.log(`Attempted to remove shape from an unknown layer ${e.layer}`);const t=r.layerManager.UUIDMap.get(e.uuid);r.layerManager.getLayer(e.layer).removeShape(t,!1)})})}}); +//# sourceMappingURL=app.e427aa98.js.map \ No newline at end of file diff --git a/server/static/js/app.e427aa98.js.map b/server/static/js/app.e427aa98.js.map new file mode 100644 index 000000000..e5109cc00 --- /dev/null +++ b/server/static/js/app.e427aa98.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/game/shapes/text.ts","webpack:///./src/game/ui/selection/shapecontext.vue","webpack:///./src/App.vue?5b85","webpack:///./src/core/components/modals/prompt.vue?d33d","webpack:///./src/core/components/colorpicker.vue?4d88","webpack:///./src/game/game.vue","webpack:///./src/game/api/socket.ts","webpack:///./src/assetManager/manager.vue?5633","webpack:///./src/game/ui/menu/asset_node.vue","webpack:///./src/game/ui/tools/selectcontext.vue?02dc","webpack:///./src/auth/login.vue","webpack:///./src/game/visibility/te/draw.ts","webpack:///./src/game/ui/tools/createtoken_modal.vue?ed6e","webpack:///./src/game/ui/tools/createtoken_modal.vue?3856","webpack:///./src/game/ui/tools/tool.vue?5b17","webpack:///./src/game/shapes/circulartoken.ts","webpack:///./src/assetManager/manager.vue?3cb9","webpack:///./src/assetManager/manager.vue?1f53","webpack:///./src/game/ui/annotation.ts","webpack:///./src/core/components/colorpicker.vue?8070","webpack:///./src/game/ui/menu/menu.vue","webpack:///./src/core/components/contextmenu.vue","webpack:///./src/game/ui/note.vue?49b7","webpack:///./src/auth/login.vue?c159","webpack:///./src/game/shapes/utils.ts","webpack:///./src/core/components/modals/confirm.vue?e6fb","webpack:///./src/game/shapes/shape.ts","webpack:///./src/core/components/modals/prompt.vue?d457","webpack:///./src/game/ui/note.vue?a34d","webpack:///./src/game/ui/note.vue?23aa","webpack:///./src/core/components/modals/modal.vue?33b9","webpack:///./src/game/ui/tools/select.vue?49f9","webpack:///./src/game/ui/tools/utils.ts","webpack:///./src/game/ui/note.vue?a508","webpack:///./src/game/api/utils.ts","webpack:///./src/game/ui/menu/asset_node.vue?f519","webpack:///./src/core/components/contextmenu.vue?f03a","webpack:///./src/core/components/contextmenu.vue?7efa","webpack:///./src/assetManager/store.ts","webpack:///./src/game/ui/selection/edit_dialog.vue?03e8","webpack:///./src/core/components/contextmenu.vue?50e1","webpack:///./src/game/ui/selection/shapecontext.vue?1cf6","webpack:///./src/game/ui/selection/selection_info.vue?321c","webpack:///./src/game/ui/selection/selection_info.vue?8aba","webpack:///./src/game/ui/tools/map.vue?284a","webpack:///./src/game/layers/grid.ts","webpack:///./src/store.ts","webpack:///./src/core/components/colorpicker.vue","webpack:///./src/App.vue?2e53","webpack:///./src/App.vue","webpack:///./src/game/layers/fow.ts","webpack:///./src/core/components/load.vue?18c2","webpack:///./src/game/shapes/circle.ts","webpack:///./src/game/ui/tools/map.vue?a3ab","webpack:///./src/core/components/load.vue","webpack:///./src/game/ui/tools/pan.ts","webpack:///./src/game/ui/tools/selectcontext.vue","webpack:///./src/core/utils.ts","webpack:///./src/assetManager/contextMenu.vue","webpack:///./src/game/visibility/te/triag.ts","webpack:///./src/game/ui/selection/edit_dialog.vue?391c","webpack:///./src/game/ui/selection/edit_dialog.vue?057b","webpack:///./src/game/ui/menu/asset_node.vue?1f27","webpack:///./src/game/ui/selection/shapecontext.vue?ab76","webpack:///./src/game/ui/selection/shapecontext.vue?3b0d","webpack:///./src/core/components/modals/modal.vue?44ae","webpack:///./src/assetManager/socket.ts","webpack:///./src/game/ui/tools/tools.vue?c96e","webpack:///./src/game/game.vue?5550","webpack:///./src/game/shapes/multiline.ts","webpack:///./src/core/components/colorpicker.vue?eaab","webpack:///./src/core/components/colorpicker.vue?8615","webpack:///./src/game/ui/tools/draw.vue","webpack:///./src/game/utils.ts","webpack:///./src/game/ui/tools/createtoken_modal.vue?d0df","webpack:///./src/game/ui/note.vue?f9bd","webpack:///./src/game/ui/initiative.vue?f4e1","webpack:///./src/game/ui/tools/draw.vue?b96d","webpack:///./src/game/shapes/line.ts","webpack:///./src/router.ts","webpack:///./src/game/ui/tools/tool.vue?d136","webpack:///./src/game/ui/tools/draw.vue?d046","webpack:///./src/game/ui/tools/draw.vue?57e4","webpack:///./src/game/ui/tools/tools.vue","webpack:///./src/game/ui/tools/tool.vue?8ce3","webpack:///./src/game/shapes/asset.ts","webpack:///./src/game/visibility/te/cdt.ts","webpack:///./src/game/ui/menu/menu.vue?ed47","webpack:///./src/game/ui/menu/menu.vue?6a3f","webpack:///./src/game/ui/tools/draw.vue?1261","webpack:///./src/game/layers/manager.ts","webpack:///./src/game/ui/initiative.vue?c7e1","webpack:///./src/game/ui/tools/createtoken_modal.vue","webpack:///./src/game/visibility/bvh/node.ts","webpack:///./src/game/ui/tools/createtoken_modal.vue?f918","webpack:///./src/game/events/keyboard.ts","webpack:///./src/assetManager/manager.vue?433f","webpack:///./src/game/ui/tools/tools.vue?25b2","webpack:///./src/game/ui/selection/selection_info.vue?2310","webpack:///./src/core/components/modals/modal.vue?09d2","webpack:///./src/core/components/contextmenu.vue?a0a2","webpack:///./src/game/ui/selection/selection_info.vue?b9a9","webpack:///./src/core/components/modals/prompt.vue?4e1b","webpack:///./src/game/ui/menu/asset_node.vue?4088","webpack:///./src/game/ui/menu/asset_node.vue?fc27","webpack:///./src/core/components/load.vue?4ab2","webpack:///./src/core/components/load.vue?0f87","webpack:///./src/game/ui/tools/tools.vue?d74c","webpack:///./src/game/ui/tools/tools.vue?35df","webpack:///./src/game/ui/menu/menu.vue?8b23","webpack:///./src/game/shapes/boundingrect.ts","webpack:///./src/dashboard/main.vue?5e14","webpack:///./src/dashboard/main.vue?94d1","webpack:///./src/game/geom.ts","webpack:///./src/game/game.vue?5592","webpack:///./src/game/units.ts","webpack:///./src/game/ui/menu/menu.vue?ae57","webpack:///./src/core/components/colorpicker.vue?1682","webpack:///./src/game/ui/tools/selectcontext.vue?0020","webpack:///./src/game/ui/tools/selectcontext.vue?758c","webpack:///./src/game/visibility/te/tds.ts","webpack:///./src/game/visibility/bvh/bvh.ts","webpack:///./src/game/ui/selection/shapecontext.vue?6173","webpack:///./src/game/ui/menu/menu.vue?0d5b","webpack:///./src/game/manager.ts","webpack:///./src/game/ui/initiative.vue?e806","webpack:///./src/game/ui/initiative.vue?ca6b","webpack:///./src/core/components/load.vue?8cd0","webpack:///./src/game/game.vue?9a3e","webpack:///./src/dashboard/main.vue?3f72","webpack:///./src/core/components/modals/confirm.vue","webpack:///./src/game/ui/selection/shapecontext.vue?aac0","webpack:///./src/assetManager/manager.vue?a11e","webpack:///./src/game/event-bus.ts","webpack:///./src/dashboard/main.vue?d5a9","webpack:///./src/game/shapes/rect.ts","webpack:///./src/game/ui/tools/selectcontext.vue?6f66","webpack:///./src/game/layers/fowplayers.ts","webpack:///./src/game/layers/layer.ts","webpack:///./src/game/ui/tools/select.vue?2a55","webpack:///./src/game/ui/tools/select.vue?b488","webpack:///./src/game/events/mouse.ts","webpack:///./src/game/ui/menu/asset_node.vue?be10","webpack:///./src/game/shapes/baserect.ts","webpack:///./src/game/ui/tools/select.vue","webpack:///./src/dashboard/main.vue","webpack:///./src/game/ui/tools/selectcontext.vue?d61f","webpack:///./src/auth/logout.ts","webpack:///./src/core/store.ts","webpack:///./src/main.ts","webpack:///./src/core/components/contextmenu.vue?f402","webpack:///./src/invitation/invitation.ts","webpack:///./src/core/components/modals/prompt.vue","webpack:///./src/game/ui/tools/draw.vue?6d03","webpack:///./src/game/visibility/te/te.ts","webpack:///./src/auth/login.vue?5f02","webpack:///./src/game/ui/selection/edit_dialog.vue","webpack:///./src/game/settings.ts","webpack:///./src/auth/login.vue?283c","webpack:///./src/game/ui/tools/tool.vue?6323","webpack:///./src/game/ui/tools/tool.vue?f5ba","webpack:///./src/core/components/modals/modal.vue?1854","webpack:///./src/core/components/modals/modal.vue?e329","webpack:///./src/game/game.vue?d01c","webpack:///./src/game/ui/tools/ruler.ts","webpack:///./src/core/components/modals/modal.vue","webpack:///./src/game/visibility/te/pa.ts","webpack:///./src/game/ui/tools/createtoken_modal.vue?41c9","webpack:///./src/dashboard/main.vue?1359","webpack:///./src/auth/login.vue?12cd","webpack:///./src/auth/login.vue?7cce","webpack:///./src/game/ui/selection/edit_dialog.vue?9a84","webpack:///./src/game/game.vue?5ab9","webpack:///./src/game/game.vue?07bd","webpack:///./src/core/components/modals/confirm.vue?f9ee","webpack:///./src/game/ui/tools/map.vue","webpack:///./src/assetManager/contextMenu.vue?d089","webpack:///./src/assetManager/contextMenu.vue?b4b1","webpack:///./src/core/components/modals/confirm.vue?e141","webpack:///./src/core/components/modals/confirm.vue?be48","webpack:///./src/assetManager/contextMenu.vue?1b1b","webpack:///./src/game/ui/tools/select.vue?b7fd","webpack:///./src/assetManager/manager.vue","webpack:///./src/game/ui/tools/tools.vue?fa4a","webpack:///./src/game/ui/tools/tool.vue","webpack:///./src/core/components/modals/prompt.vue?0a11","webpack:///./src/core/components/modals/prompt.vue?36e2","webpack:///./src/game/ui/initiative.vue?36c8","webpack:///./src/game/ui/selection/selection_info.vue","webpack:///./src/game/store.ts","webpack:///./src/core/components/modals/confirm.vue?a22f","webpack:///./src/game/comm/conversion/aura.ts","webpack:///./src/assetManager/contextMenu.vue?1e9a","webpack:///./src/game/ui/note.vue","webpack:///./src/game/ui/initiative.vue","webpack:///./src/game/layers/utils.ts","webpack:///./src/game/ui/selection/edit_dialog.vue?3800","webpack:///./src/game/ui/tools/map.vue?7416","webpack:///./src/game/ui/tools/map.vue?9024","webpack:///./src/game/ui/selection/selection_info.vue?5d62","webpack:///./src/game/api/events.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","app","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","boundingrect_1","shape_1","units_1","Text","Shape","[object Object]","position","text","font","angle","fillColour","strokeColour","uuid","super","this","type","assign","getBaseDict","points","refPoint","x","y","BoundingRect","ctx","draw","fillStyle","save","dest","g2l","translate","rotate","textAlign","getLines","map","line","fillText","restore","point","centerPoint","canvas","resizeDir","lines","lineHeight","widths","measureText","width","Math","max","split","allLines","maxWidth","targetLine","words","word","testLine","metrics","testWidth","__webpack_exports__","_shapecontext_vue_vue_type_template_id_7111f3f6_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_shapecontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","__WEBPACK_IMPORT_KEY__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__","component","options","__file","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_style_index_0_id_0602c2e6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_style_index_0_id_0602c2e6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","tinycolor2_1","tslib_1","__importDefault","vue_1","vue_class_component_1","vue_color_1","vue_property_decorator_1","ColorPicker","default","display","left","top","transparent","$refs","chromePicker","val","rgba","a","setPosition","$nextTick","$children","$el","focus","newColor","toRgbString","$emit","color","rect","getBoundingClientRect","right","innerWidth","bottom","innerHeight","__decorate","Prop","String","components","chrome-picker","Chrome","_game_vue_vue_type_template_id_6d744362_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_game_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__","socket_io_client_1","createConnection","route","socket","io","opts","query","params","creator","room","connect","location","protocol","host","autoConnect","contextMenu_vue_1","confirm_vue_1","prompt_vue_1","socket_1","store_1","utils_1","AssetManager","path","draggingSelection","folders","assetStore","files","selected","idMap","currentFolder","root","parentFolder","parent","undefined","firstSelectedFile","sel","file_hash","nextFolder","pop","clearSelected","emit","prompt","inode","target","isFile","indexOf","delete","event","shiftKey","inodes","start","end","ctrlKey","file","dataTransfer","setData","dropEffect","includes","classList","contains","add","remove","moveInode","upload","document","getElementById","click","fls","CHUNK_SIZE","uuidv4","slices","ceil","size","fr","FileReader","readAsArrayBuffer","min","onload","e","directory","totalSlices","Prompt","ConfirmDialog","AssetContextMenu","to","from","next","disconnect","_asset_node_vue_vue_type_template_id_62c91cd3_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_asset_node_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_style_index_0_id_44a31e42_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_style_index_0_id_44a31e42_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_login_vue_vue_type_template_id_6bbf3b79_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_login_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","manager_1","tds_1","triag_1","drawPolygon","polygon","colour","dl","layerManager","getLayer","lineJoin","beginPath","strokeStyle","random","moveTo","g2lx","g2ly","lineTo","closePath","stroke","drawPolygonL","xx","local","yy","I","J","drl","constrained","drawPolygonT","tds","clear","T","clearRect","ei","EdgeIterator","valid","collect","edge","first","vertices","ccw","second","cw","pos","triangles","isInfinite","po","arc","PI","fill","constraints","console","log","DP","DPL","DPT","render","_vm","_h","$createElement","_c","_self","attrs","visible","on","close","$event","scopedSlots","_u","fn","staticClass","draggable","dragstart","dragStart","dragend","dragEnd","_v","for","directives","rawName","expression","id","domProps","input","composing","update:color","borderColour","ref","height","submit","staticRenderFns","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","tinycolor","__importStar","circle_1","CircularToken","Circle","center","radius","fromDict","textBaseline","xs","calcFontScale","g2lz","ys","transform","mostReadable","toHexString","gameStore","IS_DM","group","source","has_img","effects","index","Infinity","dragover","preventDefault","moveDrag","drop","stopPropagation","stopDrag","_l","dir","_s","multiple","hidden","change","title","createDirectory","prepareUpload","dblclick","changeDirectory","dragleave","leaveDrag","staticStyle","font-size","_e","class","inode-selected","select","contextmenu","cm","open","startDrag","src","geom_1","rect_1","text_1","AnnotationManager","shown","origin","GlobalPoint","annotationText","annotationRect","Rect","layer","hasLayer","warn","addShape","l2g","LocalPoint","getMaxWidth","getMaxHeight","w","zoomFactor","h","invalidate","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_style_index_0_id_b4f2c0b0_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_style_index_0_id_b4f2c0b0_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_menu_vue_vue_type_template_id_21f210ea_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_menu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_contextmenu_vue_vue_type_template_id_256dde9c___WEBPACK_IMPORTED_MODULE_0__","_contextmenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","asset_1","circulartoken_1","line_1","multiline_1","createShapeFromDict","shape","dummy","UUIDMap","has","sh","type_","fill_colour","stroke_colour","circ","token","Line","x2","y2","line_width","multiline","MultiLine","asset","img","Image","startsWith","URL","pathname","Asset","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_style_index_0_id_1883e207_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_style_index_0_id_1883e207_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","aura_1","trackers","auras","owners","visionObstruction","movementObstruction","isToken","showHighlight","annotation","globalCompositeOperation","Map","skipLightUpdate","self","obstructionIndex","visionBlockers","changeBV","recalculateBV","forEach","au","ls","visionSources","findIndex","aura","visionSource","some","blocksMovement","movementblockers","ownedBy","ownedtokens","username","draw_operator","movement_obstruction","vision_obstruction","aurasToServer","is_token","JSON","stringify","aurasFromServer","parse","bbox","getBoundingBox","strokeRect","topLeft","dim","loc","innerRange","g2lr","gradient","createRadialGradient","tc","addColorStop","setAlpha","lastPath","sync","oldLayer","newLayer","shapes","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_prompt_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","note","mask","updateNote","$set","style","calcHeight","removeNote","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_style_index_0_id_12ed61ba_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_style_index_0_id_12ed61ba_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","selectcontext_vue_1","tool_vue_1","utils_2","utils_3","SelectOperations","SelectTool","showContextMenu","active","Noop","resizeDirection","deltaChanged","dragRay","Ray","Vector","selectionStartPoint","selectionHelper","mouse","getMouse","globalMouse","selectionStack","hit","selection","concat","corner","getCorner","getRef","Resize","Drag","localRefPoint","subtract","GroupSelect","endPoint","abs","og","direction","delta","multiply","ogDelta","calculateDelta","asDict","redraw","temporary","resize","bb","gm","inCorner","body","cursor","clearSelection","topRight","botLeft","useGrid","altKey","snapToGrid","resizeToGrid","$parent","shapecontext","selectcontext","SelectContext","done","ogSelBBox","newSelBBox","offset","refine","movementBlocker","blocker","blockerBBox","found","intersectsWithInner","ray","fromPoints","normalize","invDir","inverse","dirIsNegative","intersectP","bCenter","sCenter","ux","uy","dx","dot","dy","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_style_index_0_id_7a3669fd_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_note_vue_vue_type_style_index_0_id_7a3669fd_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","sendClientOptions","locationOptions","panX","panY","AssetNode","showImage","keys","filter","el","sort","alphSort","__files","b","toLowerCase","children","imageSource","querySelector","setDragImage","tabindex","blur","_t","vuex_module_decorators_1","AssetStore","VuexModule","Mutation","Module","dynamic","store","rootStore","namespaced","getModule","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_style_index_0_id_078b3b76_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_style_index_0_id_078b3b76_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","contextmenu_vue_1","ShapeContext","activeLayer","pageX","pageY","layers","selectable","playerEditable","moveLayer","getActiveLayer","moveShapeOrder","initiative","addInitiative","getInitiativeRepr","ContextMenu","openEditDialog","tracker","changeValue","maxvalue","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_map_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_map_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","layer_1","GridLayer","Layer","doClear","drawGrid","gs","gridSize","gridColour","lineWidth","vuex_1","use","Store","_colorpicker_vue_vue_type_template_id_b4f2c0b0_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_colorpicker_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","script","componentNormalizer","settings_1","FOWLayer","isVisionLayer","preFogShapes","idx","removeShape","Settings","skipLightFOW","originalOperation","dctx","drawAngleLines","drawFirstLightHit","fullFOW","lcenter","alm","light","find","auraLength","getUnitDistance","auraCircle","visibleInCanvas","lastArcAngle","Path2D","firstPoint","angleSteps","anglePoint","cos","sin","lightRay","hitResult","BV","intersect","fowLOS","drawImage","preShape","ogComposite","getFogColour","fillRect","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_load_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_load_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","pow","targetX","targetY","round","resizedir","diff","sqrt","baserect_1","MapTool","xCount","yCount","startPoint","clone","BaseRect","_load_vue_vue_type_template_id_ff095222___WEBPACK_IMPORTED_MODULE_0__","_load_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__","PanTool","panStart","distance","increasePanX","increasePanY","_selectcontext_vue_vue_type_template_id_44a31e42_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_selectcontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","main_1","replace","v","toString","capitalize","charAt","toUpperCase","getHTMLFont","element","parentElement","getComputedStyle","getPropertyValue","getHTMLTextWidth","fakeElement","createElement","appendChild","getContext","partition","arr","predicate","ret","Number","fontWidth","fixedEncodeURIComponent","str","encodeURIComponent","charCodeAt","OrderedMap","values","getComponent","activeComponent","_contextMenu_vue_vue_type_template_id_d4f084a4___WEBPACK_IMPORTED_MODULE_0__","_contextMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","edgeInfo","va","vb","ec","EdgeCirculator","indv","indexV","ri","infinite","vi","orient","orientation","Sign","COLLINEAR","collinearBetween","q","cPQ","cQR","compare","EQUAL","SMALLER","LARGER","px","py","qx","qy","rx","ry","pqx","pqy","prx","pry","det","determinant","maxX","maxY","aprX","aprY","ZERO","eps","EPSILON","POSITIVE","NEGATIVE","a00","a01","a10","a11","hasInexactNegativeOrientation","sideOfOrientedCircle","perturb","sideOfOrientedCircleP","Error","p0","p1","p2","os","getOrientedSide","ON_ORIENTED_BOUNDARY","reverse","ON_NEGATIVE_SIDE","xyEqual","xySmaller","xyCompare","qpx","qpy","rpx","rpy","tpx","tpy","tqx","tqy","rqx","rqy","maxx","maxy","arpx","arpy","atqx","atqy","atpx","atpy","arqx","arqy","ON_POSITIVE_SIDE","segSegDoIntersectCrossing","p3","p4","LEFT_TURN","RIGHT_TURN","segSegDoIntersectContained","intersection","pa","pb","pc","pd","getIntersectionType","intersectionType","IntersectionType","POINT","NO_INTERSECTION","getLine","doIntersect","l1","l2","info","getIntersectionTypeLine","la","lb","denom","nom1","nom2","A1","A2","B1","B2","grid-column","updateShape","grid-column-start","checked","setToken","Array","isArray","_i","$$a","$$el","$$c","$$v","$$i","setVisionBlocker","setMovementBlocker","owner","placeholder","updateOwner","removeOwner","modifiers","number","_n","$forceUpdate","opacity","removeTracker","updateAuraColour","updateAuraVisionSource","removeAura","updateAnnotation","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","getLayers","background-color","setLayer","moveToBack","moveToFront","getInitiativeWord","Modal","positioned","offsetX","offsetY","screenX","screenY","dragging","updatePosition","container","offsetWidth","offsetHeight","clientX","clientY","parseInt","Boolean","destination","href","setRoot","folder","child","set","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_style_index_0_id_1fee50f5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_style_index_0_id_1fee50f5_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_points","minx","miny","lineCap","currentTarget","closePicker","z-index","updateColor","_draw_vue_vue_type_template_id_7abc7fe9_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_draw_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","opposite","fowColour","fowOpacity","colorpicker_vue_1","modal_vue_1","CreateTokenModal","updatePreview","newValue","oldValue","unitSize","Watch","color-picker","computed","mapState","NoteDialog","textarea","scrollHeight","then","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_style_index_0_id_ccaf03d6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_style_index_0_id_ccaf03d6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","DrawTool","brushHelper","shapeSelect","modeSelect","modes","brushSize","helperSize","onModeChange","fowLayer","normalLayer","setupBrush","onDeselect","onSelect","axios_1","vue_router_1","manager_vue_1","login_vue_1","logout_1","load_vue_1","main_vue_1","game_vue_1","invitation_1","router","base","routes","redirect","meta","auth","template","beforeEach","coreStore","initialized","matched","record","authenticated","response","setAuthenticated","setUsername","setInitialized","catch","error","Tool","detailRight","mid","detailArrow","$on","tool","onMouseDown","onMouseUp","onMouseMove","onContextMenu","--detailRight","--detailArrow","option-selected","max-width","_tools_vue_vue_type_template_id_1fee50f5_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_tools_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tool_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","topleft","CDT","TDS","insert","insertConstraintV","stack","markConstraint","intersectionInfo","findIntersectedFaces","triangulateHole","intersectedFaces","listAB","listBA","edges","triangulateHole2","propagatingFlipE","triangulateHalfHole","fl","neighbours","deleteTriangle","conflictBoundaries","iN","iT","iC","current","n1","n2","ind","ind1","ind2","mirrorIndex","v0","v1","v2","newlf","createTriangle","isConstrained","triangle","vaa","vbb","aa","lfc","LineFaceCirculator","lf","rf","indexT","unshift","previousFace","currentVertex","i1","i2","vcc","vdd","pi","removeConstrainedEdge","dimension","indf","locateInfo","locate","iLocate","insertb","lt","li","flipAround","propagatingFlip","depth","isFlipable","maxDepth","ni","flip","e1","e2","eni","eI","edgeSet","lessEdge","indn","ed","tt","ii","u","t1","t2","t3","i3","t4","i4","insertInConstrainedEdge","LocateType","EDGE","insertc","updateConstraintsIncident","VERTEX","clearConstraintsIncident","updateConstraintsOpposite","c1","c2","fc","FaceCirculator","cwi","ccwi","insertFirst","finiteVertex","insertSecond","OUTSIDE_AFFINE_HULL","insertOutsideAffineHull","OUTSIDE_CONVEX_HULL","insertOutsideConvexHull","insertInEdge","FACE","insertInFace","insertDimUp","_infinite","conform","finiteEdge","COUNTERCLOCKWISE","insertOutsideConvexHull2","ccwlist","cwlist","prev","th","marchLocate1D","marchLocate2D","ff","iv","pqt","Triangle","leftFirst","o0","o1","o2","sum","nTurns","settings","locations","rm-list-dm","_m","enter","rm","transition","settingsClick","overflow-y","overflow-x","assets","createNote","openNote","notes","step","readonly","invitationCode","rulerColour","changeVisionMode","text-decoration","changeLocation","createLocation","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","LayerManager","interval","drawLoop","requestAnimationFrame","addLayer","selectedLayer","globalAlpha","selectLayer","getSelection","image","getData","l2gx","l2gy","l2gz","lm","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_initiative_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_createtoken_modal_vue_vue_type_template_id_66ccc134_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_createtoken_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","BoundingNode","nPrimitives","LeafNode","firstPrimOffset","InteriorNode","union","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","event_bus_1","onKeyUp","HTMLInputElement","HTMLTextAreaElement","selectTool","EventBus","onKeyDown","keyCode","hasSelection","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","shapecontext_vue_1","createtoken_modal_vue_1","draw_vue_1","map_vue_1","pan_1","select_vue_1","manager_2","ruler_1","Tools","currentTool","tools","dmTools","currentToolComponent","tagName","targetTool","button","buttons","annotations","gameManager","annotationManager","setActiveText","select-tool","pan-tool","draw-tool","ruler-tool","RulerTool","map-tool","shape-menu","createtoken-dialog","watch","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextmenu_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_style_index_0_id_32cec914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selection_info_vue_vue_type_style_index_0_id_32cec914_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","question","answer","resolve","reject","Promise","toggle","mouseover","hash","mouseout","message","refInFor","tool-selected","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","botRight","vector","other","xmin","xmax","ymin","ymax","botright","dirIsNeg","txmin","getDiagCorner","txmax","tymin","tymax","tMax","sw","owned","joined","createRoom","newSessionName","tag","getPointDistance","Point","vec","scale","maxT","vue_slider_component_1","lodash_1","initiative_vue_1","menu_vue_1","note_vue_1","selection_info_vue_1","tools_vue_1","keyboard_1","mouse_1","Game","ready","manager","updateZoom","newZoomValue","zoomLocation","addEventListener","setWidth","setHeight","throttle","scrollZoom","mousedown","mouseup","mousemove","mouseleave","confirm","dropAsset","tool-bar","selection-info","prompt-dialog","confirm-dialog","menu-bar","initiative-dialog","zoom-slider","note-dialog","obj","z","l2gr","asset_node_vue_1","MenuBar","setUseGrid","setFullFOW","setFOWOpacity","setLineOfSight","setUnitSize","setGridSize","setGridColour","setFOWColour","setRulerColour","nextElementSibling","newNote","setVisionMode","asset-node","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_colorpicker_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","bringPlayers","createToken","showInitiative","_INFINITE_VERTEX","LineFaceState","newPoint","INFINITE","vertex","Vertex","_point","_ri","Edge","_es","associatedEdge","increment","tr","UNDEFINED","_tr","ic","vt","vr","pqr","VERTEX_VERTEX","VERTEX_EDGE","EDGE_VERTEX","EDGE_EDGE","createVertex","addVertex","infiniteVertex","n0","trig","t0","i0","setAdjacency","deleteList","copy","neighbour","lfit","reorient","vCW","vCCW","tri","bl","bli","vv","g","node_1","BoundingVolume","totalNodes","buildData","orderedPrims","nodes","_a","recursiveBuild","compact","node","createLeaf","centroidBbox","getMaxExtent","pMid","partitionedData","flattened","stopOnFirstHit","tMin","todoOffset","nodeNum","todo","secondChildOffset","flatten","myOffset","secondOffset","primitivesOffset","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_style_index_0_id_7111f3f6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_style_index_0_id_7111f3f6_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_style_index_0_id_21f210ea_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_menu_vue_vue_type_style_index_0_id_21f210ea_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","annotation_1","GameManager","selectedTool","oldShape","redrawInitiative","checkVisionSources","setMovementBlock","setIsToken","move","localPos","fakeSetData","disabled","$store","state","game","updateOrder","model","callback","actor","flex-direction","align-items","initiative-selected","currentActor","mouseenter","toggleHighlight","lazy","notAllowed","owns","syncInitiative","createEffect","getDefaultEffect","toggleOption","removeInitiative","effect","updateEffect","turns","roundCounter","setRound","setTurn","nextTurn","LoadComponent","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_1_id_6d744362_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_style_index_1_id_6d744362_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","registerHooks","Dashboard","vm","err","post","$router","_confirm_vue_vue_type_template_id_1883e207_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_confirm_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_shapecontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_manager_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_selectcontext_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","te_1","FOWPlayersLayer","skipPlayerFOW","drctx","maxLength","tokenId","visionMode","computeVisibility","selectionColor","selectionWidth","invalidateLight","serverShape","lsI","lbI","mbI","anI","annotationIndex","ownedIndex","ogOP","drawAuras","destinationIndex","oldIdx","sign","deltaY","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_style_index_0_id_62c91cd3_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_asset_node_vue_vue_type_style_index_0_id_62c91cd3_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","topright","botleft","coreVisible","mx","my","_select_vue_vue_type_template_id_0ed49b21___WEBPACK_IMPORTED_MODULE_0__","_select_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_main_vue_vue_type_template_id_61eb1455_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_main_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","createtokendialog","Logout","CoreStore","init","App_vue_1","router_1","config","productionTip","devtools","performance","$mount","props","Initiative","code","sessionUrl","_prompt_vue_vue_type_template_id_0602c2e6_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_prompt_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_style_index_0_id_7abc7fe9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_draw_vue_vue_type_style_index_0_id_7abc7fe9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","draw_1","pa_1","it","drawt","Q","rawOutput","PA_CDT","expandEdge","fh","nfh","nIndex","rIndex","lIndex","nvh","rvh","lvh","re","le","ro","lo","raySegIntersection","CLOCKWISE","denominator","ua","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_6bbf3b79_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_style_index_0_id_6bbf3b79_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_edit_dialog_vue_vue_type_template_id_078b3b76_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_edit_dialog_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","tempFill","Login","password","$route","statusText","span","modal-mask","dialog-mask","dragOver","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_game_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","ruler","diffsign","xdiff","ydiff","label","atan2","xmid","ymid","_modal_vue_vue_type_template_id_12ed61ba_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_modal_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","cdt_1","triangulate","partial","cdt","insertConstraint","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_style_index_0_id_66ccc134_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_createtoken_modal_vue_vue_type_style_index_0_id_66ccc134_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_61eb1455_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_index_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_main_vue_vue_type_style_index_0_id_61eb1455_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default","focusin","focusout","login","required","visibility","register","EditDialog","addEmpty","hadAnnotation","an","ownerIndex","layer-selected","dot-width","dot-height","tooltip-dir","tooltip","formatter","toFixed","slider-style","border-radius","bg-style","box-shadow","process-style","yes","no","ok","_map_vue_vue_type_template_id_f93438ce___WEBPACK_IMPORTED_MODULE_0__","_map_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","rename","deny","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_manager_vue_vue_type_template_id_d1ce9748___WEBPACK_IMPORTED_MODULE_0__","_manager_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tools_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_tool_vue_vue_type_template_id_1e034b42___WEBPACK_IMPORTED_MODULE_0__","_tool_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","keyup","_k","vuedraggable_1","getActor","$off","actorId","order","show","option","effectIndex","syncEffect","_selection_info_vue_vue_type_template_id_32cec914_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_selection_info_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","bvh_1","GameStore","selectedLayerIndex","boardInitialized","roomName","roomCreator","locationName","freeze","isDM","success","tries","oldLoc","newLoc","getGridLayer","increase","unit_size","gridLayer","use_grid","full_fow","fow_opacity","fow_los","actualNote","context","commit","Action","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_confirm_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","vision_source","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_contextMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","_note_vue_vue_type_template_id_7a3669fd_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_note_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","_initiative_vue_vue_type_template_id_ccaf03d6_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_initiative_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__","fow_1","fowplayers_1","grid_1","createLayer","layerInfo","zIndex","player_editable","setShapes","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__","_node_modules_cache_loader_dist_cjs_js_ref_12_0_node_modules_thread_loader_dist_cjs_js_node_modules_ts_loader_index_js_ref_12_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_edit_dialog_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default","edit_dialog_vue_1","SelectionInfo","editDialog","ogValue","isNaN","edit-dialog","setRoomName","setRoomCreator","setInvitationCode","setDM","grid_colour","fow_colour","ruler_colour","setPanX","pan_x","setPanY","pan_y","setZoomFactor","zoom_factor","active_layer","setLocationName","setCenterPosition","setAssets","locationInfo","setLocations","innerHTML","resetLayerInfo","reset","setBoardInitialized","realShape"],"mappings":"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","file":"static/js/app.e427aa98.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { g2l } from \"@/game/units\";\n\nexport class Text extends Shape {\n type = \"text\";\n text: string;\n font: string;\n angle: number;\n constructor(\n position: GlobalPoint,\n text: string,\n font: string,\n angle?: number,\n fillColour?: string,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(position, fillColour, strokeColour, uuid);\n this.text = text;\n this.font = font;\n this.angle = angle || 0;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n text: this.text,\n font: this.font,\n angle: this.angle,\n });\n }\n get points() {\n return [[this.refPoint.x, this.refPoint.y]];\n }\n getBoundingBox(): BoundingRect {\n return new BoundingRect(this.refPoint, 5, 5); // TODO: fix this bounding box\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.font = this.font;\n ctx.fillStyle = this.fillColour;\n ctx.save();\n const dest = g2l(this.refPoint);\n ctx.translate(dest.x, dest.y);\n ctx.rotate(this.angle);\n ctx.textAlign = \"center\";\n this.getLines(ctx).map(line => ctx.fillText(line.text, line.x, line.y));\n ctx.restore();\n }\n contains(point: GlobalPoint): boolean {\n return false; // TODO\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {} // TODO\n getCorner(point: GlobalPoint): string | undefined {\n return \"\";\n } // TODO\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid(): void {}\n resizeToGrid(): void {}\n resize(resizeDir: string, point: LocalPoint): void {}\n\n getMaxHeight(ctx: CanvasRenderingContext2D) {\n const lines = this.getLines(ctx);\n const lineHeight = 30;\n return lineHeight * lines.length;\n }\n\n getMaxWidth(ctx: CanvasRenderingContext2D) {\n const lines = this.getLines(ctx);\n const widths = lines.map(line => ctx.measureText(line.text).width);\n return Math.max(...widths);\n }\n\n private getLines(ctx: CanvasRenderingContext2D) {\n const lines = this.text.split(\"\\n\");\n const allLines: { text: string; x: number; y: number }[] = [];\n const maxWidth = ctx.canvas.width;\n const lineHeight = 30;\n const x = 0; // this.refPoint.x;\n let y = 0; // this.refPoint.y;\n\n for (const line of lines) {\n let targetLine = \"\";\n const words = line.split(\" \");\n for (const word of words) {\n const testLine = targetLine + word + \" \";\n const metrics = ctx.measureText(testLine);\n const testWidth = metrics.width;\n if (testWidth > maxWidth) {\n ctx.fillText(targetLine, x, y);\n allLines.push({ text: targetLine, x, y });\n targetLine = word + \" \";\n y += lineHeight;\n } else {\n targetLine = testLine;\n }\n }\n allLines.push({ text: targetLine, x, y });\n y += lineHeight;\n }\n return allLines;\n }\n}\n","import { render, staticRenderFns } from \"./shapecontext.vue?vue&type=template&id=7111f3f6&scoped=true&\"\nimport script from \"./shapecontext.vue?vue&type=script&lang=ts&\"\nexport * from \"./shapecontext.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./shapecontext.vue?vue&type=style&index=0&id=7111f3f6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7111f3f6\",\n null\n \n)\n\ncomponent.options.__file = \"shapecontext.vue\"\nexport default component.exports","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=style&index=0&id=0602c2e6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=style&index=0&id=0602c2e6&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport tinycolor from \"tinycolor2\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { Chrome } from \"vue-color\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component({\n components: {\n \"chrome-picker\": Chrome,\n },\n})\nexport default class ColorPicker extends Vue {\n @Prop(String) color!: string;\n\n display = false;\n left = 0;\n top = 0;\n transparent = false;\n\n mounted() {\n this.transparent = (this.$refs.chromePicker).val.rgba.a === 0;\n this.setPosition();\n }\n\n open() {\n if (this.display) return; // click on the picker itself\n this.setPosition();\n this.display = true;\n this.$nextTick(() => this.$children[0].$el.focus());\n }\n updateColor(value: { rgba: { r: number; g: number; b: number; a: number } }) {\n this.transparent = value.rgba.a === 0;\n const newColor = tinycolor(value.rgba).toRgbString();\n this.$emit(\"update:color\", newColor);\n this.$emit(\"input\", newColor);\n }\n closePicker() {\n this.display = false;\n this.$emit(\"change\", this.color);\n }\n setPosition() {\n const rect = this.$el.getBoundingClientRect();\n // 224 is the width of the picker, 242 the height\n if (rect.right + 224 > window.innerWidth) this.left = rect.left - 224;\n else this.left = rect.right;\n if (rect.bottom + 242 > window.innerHeight) this.top = rect.top - 242;\n else this.top = rect.bottom;\n }\n}\n","import { render, staticRenderFns } from \"./game.vue?vue&type=template&id=6d744362&scoped=true&\"\nimport script from \"./game.vue?vue&type=script&lang=ts&\"\nexport * from \"./game.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./game.vue?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./game.vue?vue&type=style&index=1&id=6d744362&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d744362\",\n null\n \n)\n\ncomponent.options.__file = \"game.vue\"\nexport default component.exports","import io from \"socket.io-client\";\nimport { Route } from \"vue-router\";\n\nexport const socket = io(location.protocol + \"//\" + location.host + \"/planarally\", { autoConnect: false });\n\nexport function createConnection(route: Route) {\n socket.io.opts.query = `user=${route.params.creator}&room=${route.params.room}`;\n socket.connect();\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport AssetContextMenu from \"@/assetManager/contextMenu.vue\";\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\n\nimport { socket } from \"@/assetManager/socket\";\nimport { assetStore } from \"@/assetManager/store\";\nimport { Asset } from \"@/core/comm/types\";\nimport { uuidv4 } from \"@/core/utils\";\n\n@Component({\n components: {\n Prompt,\n ConfirmDialog,\n AssetContextMenu,\n },\n beforeRouteEnter(to, from, next) {\n socket.connect();\n next();\n },\n beforeRouteLeave(to, from, next) {\n socket.disconnect();\n next();\n },\n})\nexport default class AssetManager extends Vue {\n path: number[] = [];\n draggingSelection = false;\n\n get folders(): number[] {\n return assetStore.folders;\n }\n\n get files(): number[] {\n return assetStore.files;\n }\n\n get selected(): number[] {\n return assetStore.selected;\n }\n\n get idMap() {\n return assetStore.idMap;\n }\n\n get currentFolder(): number {\n if (this.path.length) return this.path[this.path.length - 1];\n return assetStore.root;\n }\n get parentFolder(): number {\n let parent = this.path[this.path.length - 2];\n if (parent === undefined) parent = assetStore.root;\n return parent;\n }\n get firstSelectedFile(): Asset | null {\n for (const sel of assetStore.selected) {\n if (assetStore.idMap.get(sel)!.file_hash) {\n return assetStore.idMap.get(sel)!;\n }\n }\n return null;\n }\n changeDirectory(nextFolder: number) {\n if (nextFolder < 0) this.path.pop();\n else this.path.push(nextFolder);\n assetStore.clearSelected();\n socket.emit(\"Folder.Get\", this.currentFolder);\n }\n createDirectory() {\n const name = window.prompt(\"New folder name\");\n if (name !== null) {\n socket.emit(\"Folder.Create\", { name, parent: this.currentFolder });\n }\n }\n moveInode(inode: number, target: number) {\n if (assetStore.isFile(inode)) assetStore.files.splice(assetStore.files.indexOf(inode), 1);\n else assetStore.folders.splice(assetStore.folders.indexOf(inode), 1);\n assetStore.idMap.delete(inode);\n socket.emit(\"Inode.Move\", { inode, target });\n }\n select(event: MouseEvent, inode: number) {\n if (event.shiftKey && assetStore.selected.length > 0) {\n const inodes = [...assetStore.files, ...assetStore.folders];\n const start = inodes.indexOf(assetStore.selected[assetStore.selected.length - 1]);\n const end = inodes.indexOf(inode);\n for (let i = start; i !== end; start < end ? i++ : i--) assetStore.selected.push(inodes[i]);\n assetStore.selected.push(inodes[end]);\n } else {\n if (!event.ctrlKey) {\n assetStore.clearSelected();\n }\n assetStore.selected.push(inode);\n }\n }\n startDrag(event: DragEvent, file: number) {\n if (event.dataTransfer === null) return;\n event.dataTransfer.setData(\"Hack\", \"ittyHack\");\n event.dataTransfer.dropEffect = \"move\";\n if (!assetStore.selected.includes(file)) assetStore.selected.push(file);\n this.draggingSelection = true;\n }\n moveDrag(event: DragEvent) {\n if ((event.target).classList.contains(\"folder\"))\n (event.target).classList.add(\"inode-selected\");\n }\n leaveDrag(event: DragEvent) {\n if ((event.target).classList.contains(\"folder\"))\n (event.target).classList.remove(\"inode-selected\");\n }\n stopDrag(event: DragEvent, target: number) {\n (event.target).classList.remove(\"inode-selected\");\n if (this.draggingSelection) {\n if (\n (target === assetStore.root || assetStore.folders.includes(target)) &&\n !assetStore.selected.includes(target)\n ) {\n for (const inode of assetStore.selected) {\n this.moveInode(inode, target);\n }\n }\n assetStore.clearSelected();\n } else if (event.dataTransfer && event.dataTransfer.files.length > 0) {\n this.upload(event.dataTransfer.files, target);\n }\n this.draggingSelection = false;\n }\n prepareUpload() {\n document.getElementById(\"files\")!.click();\n }\n upload(fls?: FileList, target?: number) {\n const files = (document.getElementById(\"files\")!).files;\n if (fls === undefined) {\n if (files) fls = files;\n else return;\n }\n if (target === undefined) target = this.currentFolder;\n const CHUNK_SIZE = 100000;\n for (const file of fls) {\n const uuid = uuidv4();\n const slices = Math.ceil(file.size / CHUNK_SIZE);\n for (let slice = 0; slice < slices; slice++) {\n const fr = new FileReader();\n fr.readAsArrayBuffer(\n file.slice(\n slice * CHUNK_SIZE,\n slice * CHUNK_SIZE + Math.min(CHUNK_SIZE, file.size - slice * CHUNK_SIZE),\n ),\n );\n fr.onload = e => {\n socket.emit(\"Asset.Upload\", {\n name: file.name,\n directory: target,\n data: fr.result,\n slice,\n totalSlices: slices,\n uuid,\n });\n };\n }\n }\n }\n}\n","import { render, staticRenderFns } from \"./asset_node.vue?vue&type=template&id=62c91cd3&scoped=true&\"\nimport script from \"./asset_node.vue?vue&type=script&lang=ts&\"\nexport * from \"./asset_node.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./asset_node.vue?vue&type=style&index=0&id=62c91cd3&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62c91cd3\",\n null\n \n)\n\ncomponent.options.__file = \"asset_node.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=style&index=0&id=44a31e42&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=style&index=0&id=44a31e42&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=6bbf3b79&scoped=true&\"\nimport script from \"./login.vue?vue&type=script&lang=ts&\"\nexport * from \"./login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&id=6bbf3b79&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6bbf3b79\",\n null\n \n)\n\ncomponent.options.__file = \"login.vue\"\nexport default component.exports","import { layerManager } from \"@/game/layers/manager\";\nimport { g2lx, g2ly } from \"@/game/units\";\nimport { EdgeIterator, TDS } from \"./tds\";\nimport { ccw, cw } from \"./triag\";\n\nexport function drawPolygon(polygon: number[][], colour?: string) {\n const dl = layerManager.getLayer(\"draw\");\n if (dl === undefined) return;\n const ctx = dl.ctx;\n ctx.lineJoin = \"round\";\n // ctx.clearRect(0, 0, window.innerWidth, window.innerHeight);\n ctx.lineJoin = \"round\";\n ctx.beginPath();\n ctx.strokeStyle =\n colour === undefined ? `rgb(${Math.random() * 255}, ${Math.random() * 255}, ${Math.random() * 255})` : colour;\n ctx.moveTo(g2lx(polygon[0][0]), g2ly(polygon[0][1]));\n for (const point of polygon) {\n ctx.lineTo(g2lx(point[0]), g2ly(point[1]));\n }\n ctx.closePath();\n ctx.stroke();\n}\n\nexport function drawPolygonL(polygon: number[][], colour?: string) {\n const dl = layerManager.getLayer(\"draw\");\n if (dl === undefined) return;\n const ctx = dl.ctx;\n ctx.lineJoin = \"round\";\n // ctx.clearRect(0, 0, window.innerWidth, window.innerHeight);\n ctx.lineJoin = \"round\";\n ctx.beginPath();\n ctx.strokeStyle =\n colour === undefined ? `rgb(${Math.random() * 255}, ${Math.random() * 255}, ${Math.random() * 255})` : colour;\n ctx.moveTo(polygon[0][0], polygon[0][1]);\n for (const point of polygon) {\n ctx.lineTo(point[0], point[1]);\n }\n ctx.closePath();\n ctx.stroke();\n}\n\nfunction x(xx: number, local: boolean) {\n if (local) return xx;\n else return g2lx(xx);\n}\n\nfunction y(yy: number, local: boolean) {\n if (local) return yy;\n else return g2ly(yy);\n}\n\nlet I = 0;\nlet J = 0;\n\nfunction drl(ctx: CanvasRenderingContext2D, from: number[], to: number[], constrained: boolean, local: boolean) {\n // J++;\n // if (constrained) {\n // I++;\n // console.log(\"*\", from, to);\n // } else {\n // console.log(\" \", from, to);\n // }\n ctx.beginPath();\n ctx.strokeStyle = constrained ? \"rgba(255, 0, 0, 0.30)\" : \"rgba(0, 0, 0, 0.30)\";\n ctx.moveTo(x(from[0], local), y(from[1], local));\n ctx.lineTo(x(to[0], local), y(to[1], local));\n ctx.closePath();\n ctx.stroke();\n}\n\nfunction drawPolygonT(tds: TDS, local = true, clear = true) {\n I = 0;\n J = 0;\n let T = 0;\n const dl = layerManager.getLayer(\"draw\");\n if (dl === undefined) return;\n const ctx = dl.ctx;\n if (clear) ctx.clearRect(0, 0, 2000, 1000);\n ctx.lineJoin = \"round\";\n // ctx.clearRect(0, 0, window.innerWidth, window.innerHeight);\n ctx.lineJoin = \"round\";\n const ei = new EdgeIterator(tds);\n while (ei.valid) {\n ei.next();\n ei.collect();\n }\n ei.collect();\n do {\n const fromP = ei.edge.first!.vertices[ccw(ei.edge.second)]!.point!;\n const toP = ei.edge.first!.vertices[cw(ei.edge.second)]!.point!;\n // if (fromP[0] === -Infinity || toP[0] === -Infinity) {\n // ei.next();\n // continue;\n // }\n J++;\n // if (ei.edge.first!.constraints[ei.edge.second]) {\n // I++;\n // console.log(`Edge: (*) ${fromP} > ${toP}`);\n // } else console.log(`Edge: ${fromP} > ${toP}`);\n do {\n ei.next();\n ei.collect();\n } while (ei.valid);\n } while (ei.pos !== null);\n for (const t of tds.triangles) {\n if (t.isInfinite()) continue;\n T++;\n const po = [];\n ctx.fillStyle = \"red\";\n if (t.vertices[0] !== undefined) {\n po.push(t.vertices[0]!.point);\n ctx.beginPath();\n ctx.arc(x(t.vertices[0]!.point![0], local), y(t.vertices[0]!.point![1], local), 5, 0, 2 * Math.PI);\n ctx.closePath();\n ctx.fill();\n }\n if (t.vertices[1] !== undefined) {\n po.push(t.vertices[1]!.point);\n ctx.arc(x(t.vertices[1]!.point![0], local), y(t.vertices[1]!.point![1], local), 5, 0, 2 * Math.PI);\n ctx.closePath();\n ctx.fill();\n }\n if (t.vertices[2] !== undefined) {\n po.push(t.vertices[2]!.point);\n ctx.arc(x(t.vertices[2]!.point![0], local), y(t.vertices[2]!.point![1], local), 5, 0, 2 * Math.PI);\n ctx.closePath();\n ctx.fill();\n }\n // console.log(\"[T] \", ...po, t.constraints);\n\n ctx.moveTo(x(t.vertices[0]!.point![0], local), y(t.vertices[0]!.point![1], local));\n if (t.vertices[0] !== undefined && t.vertices[1] !== undefined)\n drl(ctx, t.vertices[0]!.point!, t.vertices[1]!.point!, t.constraints[2], local);\n if (t.vertices[1] !== undefined && t.vertices[2] !== undefined)\n drl(ctx, t.vertices[1]!.point!, t.vertices[2]!.point!, t.constraints[0], local);\n if (t.vertices[2] !== undefined && t.vertices[0] !== undefined)\n drl(ctx, t.vertices[2]!.point!, t.vertices[0]!.point!, t.constraints[1], local);\n }\n console.log(`Edges: ${I}/${J}`);\n console.log(`Faces: ${T}`);\n}\n\n(window).DP = drawPolygon;\n(window).DPL = drawPolygonL;\n(window).DPT = drawPolygonT;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"visible\":_vm.visible},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_vm._v(\"Create basic token\")])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('label',{attrs:{\"for\":\"createtokendialog-text\"}},[_vm._v(\"Text\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.text),expression:\"text\"}],attrs:{\"type\":\"text\",\"id\":\"createtokendialog-name\"},domProps:{\"value\":(_vm.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.text=$event.target.value}}}),_c('label',[_vm._v(\"Colours\")]),_c('div',{staticClass:\"colours\"},[_c('span',[_vm._v(\"Fill:\")]),_c('color-picker',{attrs:{\"color\":_vm.fillColour},on:{\"update:color\":function($event){_vm.fillColour=$event}}}),_c('span',[_vm._v(\"Border:\")]),_c('color-picker',{attrs:{\"color\":_vm.borderColour},on:{\"update:color\":function($event){_vm.borderColour=$event}}})],1),_c('canvas',{ref:\"canvas\",attrs:{\"width\":\"100px\",\"height\":\"100px\"}})]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{on:{\"click\":_vm.submit}},[_vm._v(\"Submit\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=template&id=66ccc134&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=style&index=0&lang=css&\"","import * as tinycolor from \"tinycolor2\";\n\nimport { calcFontScale } from \"@/core/utils\";\nimport { InitiativeData } from \"@/game/comm/types/general\";\nimport { ServerCircularToken } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lz } from \"@/game/units\";\n\nexport class CircularToken extends Circle {\n type = \"circulartoken\";\n text: string;\n font: string;\n constructor(\n center: GlobalPoint,\n r: number,\n text: string,\n font: string,\n fillColour?: string,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(center, r, fillColour, strokeColour, uuid);\n this.text = text;\n this.font = font;\n }\n asDict(): ServerCircularToken {\n return Object.assign(this.getBaseDict(), {\n radius: this.r,\n text: this.text,\n font: this.font,\n });\n }\n fromDict(data: ServerCircularToken) {\n super.fromDict(data);\n this.r = data.radius;\n this.text = data.text;\n this.font = data.font;\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.font = this.font;\n ctx.save();\n const dest = g2l(this.center());\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n const xs = calcFontScale(ctx, this.text, g2lz(this.r), g2lz(this.r));\n const ys = 0;\n ctx.transform(xs, ys, -ys, xs, dest.x, dest.y);\n ctx.fillStyle = tinycolor.mostReadable(this.fillColour, [\"#000\", \"#fff\"]).toHexString();\n ctx.fillText(this.text, 0, 0);\n ctx.restore();\n }\n getInitiativeRepr(): InitiativeData {\n return {\n uuid: this.uuid,\n visible: !gameStore.IS_DM,\n group: false,\n source: this.name === \"\" || this.name === \"Unknown shape\" ? this.text : this.name,\n has_img: false,\n effects: [],\n index: Infinity,\n };\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"AssetManager\"}},[_c('div',{attrs:{\"id\":\"titlebar\"}},[_vm._v(\"Asset Manager\")]),_c('div',{attrs:{\"id\":\"main\"}},[_c('div',{attrs:{\"id\":\"assets\"},on:{\"dragover\":function($event){$event.preventDefault();return _vm.moveDrag($event)},\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.stopDrag($event, _vm.currentFolder)}}},[_c('div',{attrs:{\"id\":\"breadcrumbs\"}},[_c('div',[_vm._v(\"/\")]),_vm._l((_vm.path),function(dir){return _c('div',{key:dir},[_vm._v(_vm._s(_vm.idMap.get(dir).name))])})],2),_c('div',{attrs:{\"id\":\"actionbar\"}},[_c('input',{attrs:{\"id\":\"files\",\"type\":\"file\",\"multiple\":\"\",\"hidden\":\"\"},on:{\"change\":function($event){_vm.upload()}}}),_c('div',{attrs:{\"title\":\"Create folder\"},on:{\"click\":_vm.createDirectory}},[_c('i',{staticClass:\"fas fa-plus-square\"})]),_c('div',{attrs:{\"title\":\"Upload files\"},on:{\"click\":_vm.prepareUpload}},[_c('i',{staticClass:\"fas fa-upload\"})])]),_c('div',{attrs:{\"id\":\"explorer\"}},[(_vm.path.length)?_c('div',{staticClass:\"inode folder\",on:{\"dblclick\":function($event){_vm.changeDirectory(-1)},\"dragover\":function($event){$event.preventDefault();return _vm.moveDrag($event)},\"dragleave\":function($event){$event.preventDefault();return _vm.leaveDrag($event)},\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.stopDrag($event, _vm.parentFolder)}}},[_c('i',{staticClass:\"fas fa-folder\",staticStyle:{\"font-size\":\"50px\"}}),_c('div',{staticClass:\"title\"},[_vm._v(\"..\")])]):_vm._e(),_vm._l((_vm.folders),function(key){return _c('div',{key:key,staticClass:\"inode folder\",class:{'inode-selected': _vm.selected.includes(key)},attrs:{\"draggable\":\"true\"},on:{\"click\":function($event){_vm.select($event, key)},\"dblclick\":function($event){_vm.changeDirectory(key)},\"contextmenu\":function($event){$event.preventDefault();_vm.$refs.cm.open($event, key)},\"dragstart\":function($event){_vm.startDrag($event, key)},\"dragover\":function($event){$event.preventDefault();return _vm.moveDrag($event)},\"dragleave\":function($event){$event.preventDefault();return _vm.leaveDrag($event)},\"drop\":function($event){$event.preventDefault();$event.stopPropagation();_vm.stopDrag($event, key)}}},[_c('i',{staticClass:\"fas fa-folder\",staticStyle:{\"font-size\":\"50px\"}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.idMap.get(key).name))])])}),_vm._l((_vm.files),function(file){return _c('div',{key:file,staticClass:\"inode file\",class:{'inode-selected': _vm.selected.includes(file)},attrs:{\"draggable\":\"true\"},on:{\"click\":function($event){_vm.select($event, file)},\"contextmenu\":function($event){$event.preventDefault();_vm.$refs.cm.open($event, file)},\"dragstart\":function($event){_vm.startDrag($event, file)}}},[_c('img',{attrs:{\"src\":'/static/assets/' + _vm.idMap.get(file).file_hash,\"width\":\"50\"}}),_c('div',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.idMap.get(file).name))])])})],2)]),(_vm.firstSelectedFile)?_c('div',{attrs:{\"id\":\"asset-details\"}},[_c('div',{attrs:{\"id\":\"asset-detail-title\"}},[_vm._v(_vm._s(_vm.firstSelectedFile.name))]),_c('img',{attrs:{\"src\":'/static/assets/' + _vm.firstSelectedFile.file_hash}})]):_vm._e()]),_c('AssetContextMenu',{ref:\"cm\"}),_c('Prompt',{ref:\"prompt\"}),_c('ConfirmDialog',{ref:\"confirm\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=template&id=d1ce9748&\"","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { Text } from \"@/game/shapes/text\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\n\nexport class AnnotationManager {\n annotationText: Text;\n annotationRect: Rect;\n layer: Layer | undefined;\n shown: boolean = false;\n\n constructor() {\n const origin = new GlobalPoint(0, 0);\n this.annotationText = new Text(origin, \"\", \"bold 20px serif\", 0, \"rgba(230, 230, 230, 1)\");\n this.annotationRect = new Rect(origin, 0, 0, \"rgba(0, 0, 0, 0.6)\");\n }\n\n setActiveText(text: string) {\n if (this.layer === undefined) {\n if (layerManager.hasLayer(\"draw\")) {\n this.layer = layerManager.getLayer(\"draw\")!;\n this.layer.addShape(this.annotationRect, false);\n this.layer.addShape(this.annotationText, false);\n } else {\n console.warn(\"There is no draw layer to draw annotations on!\");\n return;\n }\n }\n this.shown = text !== \"\";\n this.annotationText.refPoint = l2g(new LocalPoint(this.layer.canvas.width / 2, 50));\n this.annotationText.text = text;\n const width = this.shown ? this.annotationText.getMaxWidth(this.layer.ctx) + 10 : 0;\n const height = this.shown ? this.annotationText.getMaxHeight(this.layer.ctx) + 10 : 0;\n this.annotationRect.refPoint = l2g(new LocalPoint(this.layer.canvas.width / 2 - width / 2, 30));\n this.annotationRect.w = width / gameStore.zoomFactor;\n this.annotationRect.h = height / gameStore.zoomFactor;\n this.layer.invalidate(true);\n }\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=style&index=0&id=b4f2c0b0&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=style&index=0&id=b4f2c0b0&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./menu.vue?vue&type=template&id=21f210ea&scoped=true&\"\nimport script from \"./menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./menu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./menu.vue?vue&type=style&index=0&id=21f210ea&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21f210ea\",\n null\n \n)\n\ncomponent.options.__file = \"menu.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./contextmenu.vue?vue&type=template&id=256dde9c&\"\nimport script from \"./contextmenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./contextmenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./contextmenu.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"contextmenu.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=ts&\"","import {\n ServerAsset,\n ServerCircle,\n ServerCircularToken,\n ServerLine,\n ServerMultiLine,\n ServerRect,\n ServerShape,\n ServerText,\n} from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Asset } from \"@/game/shapes/asset\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { CircularToken } from \"@/game/shapes/circulartoken\";\nimport { Line } from \"@/game/shapes/line\";\nimport { MultiLine } from \"@/game/shapes/multiline\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { Text } from \"@/game/shapes/text\";\n\nexport function createShapeFromDict(shape: ServerShape, dummy?: boolean) {\n // TODO: is this dummy stuff actually needed, do we ever want to return the local shape?\n if (dummy === undefined) dummy = false;\n if (!dummy && layerManager.UUIDMap.has(shape.uuid)) return layerManager.UUIDMap.get(shape.uuid);\n\n let sh: Shape;\n\n // A fromJSON and toJSON on Shape would be cleaner but ts does not allow for static abstracts so yeah.\n\n // Shape Type specifics\n\n const refPoint = new GlobalPoint(shape.x, shape.y);\n if (shape.type_ === \"rect\") {\n const rect = shape;\n sh = new Rect(refPoint, rect.width, rect.height, rect.fill_colour, rect.stroke_colour, rect.uuid);\n } else if (shape.type_ === \"circle\") {\n const circ = shape;\n sh = new Circle(refPoint, circ.radius, circ.fill_colour, circ.stroke_colour, circ.uuid);\n } else if (shape.type_ === \"circulartoken\") {\n const token = shape;\n sh = new CircularToken(\n refPoint,\n token.radius,\n token.text,\n token.font,\n token.fill_colour,\n token.stroke_colour,\n token.uuid,\n );\n } else if (shape.type_ === \"line\") {\n const line = shape;\n sh = new Line(refPoint, new GlobalPoint(line.x2, line.y2), line.line_width, line.stroke_colour, line.uuid);\n } else if (shape.type_ === \"multiline\") {\n const multiline = shape;\n sh = new MultiLine(\n refPoint,\n multiline.points.map(p => new GlobalPoint(p.x, p.y)),\n multiline.line_width,\n multiline.stroke_colour,\n multiline.uuid,\n );\n } else if (shape.type_ === \"text\") {\n const text = shape;\n sh = new Text(refPoint, text.text, text.font, text.angle, text.fill_colour, text.stroke_colour, text.uuid);\n } else if (shape.type_ === \"assetrect\") {\n const asset = shape;\n const img = new Image(asset.width, asset.height);\n if (asset.src.startsWith(\"http\")) img.src = new URL(asset.src).pathname;\n else img.src = asset.src;\n sh = new Asset(img, refPoint, asset.width, asset.height, asset.uuid);\n img.onload = () => {\n layerManager.getLayer(shape.layer)!.invalidate(false);\n };\n } else {\n return undefined;\n }\n sh.fromDict(shape);\n return sh;\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=style&index=0&id=1883e207&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=style&index=0&id=1883e207&scoped=true&lang=css&\"","import tinycolor from \"tinycolor2\";\n\nimport { uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { aurasFromServer, aurasToServer } from \"@/game/comm/conversion/aura\";\nimport { InitiativeData } from \"@/game/comm/types/general\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lr, g2lx, g2ly, g2lz } from \"@/game/units\";\n\nexport abstract class Shape {\n // Used to create class instance from server shape data\n abstract type: string;\n // The unique ID of this shape\n uuid: string;\n // The layer the shape is currently on\n layer!: string;\n\n // A reference point regarding that specific shape's structure\n refPoint: GlobalPoint;\n\n // Fill colour of the shape\n fillColour: string = \"#000\";\n strokeColour: string = \"rgba(0,0,0,0)\";\n // The optional name associated with the shape\n name = \"Unknown shape\";\n\n // Associated trackers/auras/owners\n trackers: Tracker[] = [];\n auras: Aura[] = [];\n owners: string[] = [];\n\n // Block light sources\n visionObstruction = false;\n // Prevent shapes from overlapping with this shape\n movementObstruction = false;\n // Does this shape represent a playable token\n isToken = false;\n // Show a highlight box\n showHighlight = false;\n\n // Mouseover annotation\n annotation: string = \"\";\n\n // Draw modus to use\n globalCompositeOperation: string = \"source-over\";\n\n // Additional options for specialized uses\n options: Map = new Map();\n\n constructor(refPoint: GlobalPoint, fillColour?: string, strokeColour?: string, uuid?: string) {\n this.refPoint = refPoint;\n this.uuid = uuid || uuidv4();\n if (fillColour !== undefined) this.fillColour = fillColour;\n if (strokeColour !== undefined) this.strokeColour = strokeColour;\n }\n\n abstract getBoundingBox(): BoundingRect;\n\n // If inWorldCoord is\n abstract contains(point: GlobalPoint): boolean;\n\n abstract center(): GlobalPoint;\n abstract center(centerPoint: GlobalPoint): void;\n abstract getCorner(point: GlobalPoint): string | undefined;\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n // for (const aura of this.auras) {\n // if (aura.value > 0) {\n // const auraCircle = new Circle(this.center(), aura.value);\n // if (auraCircle.visibleInCanvas(canvas)) return true;\n // }\n // }\n return false;\n }\n\n // Code to snap a shape to the grid\n // This is shape dependent as the shape refPoints are shape specific in\n abstract snapToGrid(): void;\n abstract resizeToGrid(): void;\n abstract resize(resizeDir: string, point: LocalPoint): void;\n\n abstract get points(): number[][];\n\n invalidate(skipLightUpdate: boolean) {\n const l = layerManager.getLayer(this.layer);\n if (l) l.invalidate(skipLightUpdate);\n }\n\n checkVisionSources() {\n const self = this;\n const obstructionIndex = gameStore.visionBlockers.indexOf(this.uuid);\n let changeBV = false;\n if (this.visionObstruction && obstructionIndex === -1) {\n gameStore.visionBlockers.push(this.uuid);\n changeBV = true;\n } else if (!this.visionObstruction && obstructionIndex >= 0) {\n gameStore.visionBlockers.splice(obstructionIndex, 1);\n changeBV = true;\n }\n if (changeBV) gameStore.recalculateBV();\n\n // Check if the visionsource auras are in the gameManager\n this.auras.forEach(au => {\n const ls = gameStore.visionSources;\n const i = ls.findIndex(o => o.aura === au.uuid);\n if (au.visionSource && i === -1) {\n ls.push({ shape: self.uuid, aura: au.uuid });\n } else if (!au.visionSource && i >= 0) {\n ls.splice(i, 1);\n }\n });\n // Check if anything in the gameManager referencing this shape is in fact still a visionsource\n for (let i = gameStore.visionSources.length - 1; i >= 0; i--) {\n const ls = gameStore.visionSources[i];\n if (ls.shape === self.uuid) {\n if (!self.auras.some(a => a.uuid === ls.aura && a.visionSource)) gameStore.visionSources.splice(i, 1);\n }\n }\n }\n\n setMovementBlock(blocksMovement: boolean) {\n this.movementObstruction = blocksMovement || false;\n const obstructionIndex = gameStore.movementblockers.indexOf(this.uuid);\n if (this.movementObstruction && obstructionIndex === -1) gameStore.movementblockers.push(this.uuid);\n else if (!this.movementObstruction && obstructionIndex >= 0)\n gameStore.movementblockers.splice(obstructionIndex, 1);\n }\n\n setIsToken(isToken: boolean) {\n this.isToken = isToken;\n if (this.ownedBy()) {\n const i = gameStore.ownedtokens.indexOf(this.uuid);\n if (this.isToken && i === -1) gameStore.ownedtokens.push(this.uuid);\n else if (!this.isToken && i >= 0) gameStore.ownedtokens.splice(i, 1);\n }\n }\n\n ownedBy(username?: string) {\n if (username === undefined) username = gameStore.username;\n return gameStore.IS_DM || this.owners.includes(username);\n }\n\n abstract asDict(): ServerShape;\n getBaseDict(): ServerShape {\n return {\n type_: this.type,\n uuid: this.uuid,\n x: this.refPoint.x,\n y: this.refPoint.y,\n layer: this.layer,\n draw_operator: this.globalCompositeOperation,\n movement_obstruction: this.movementObstruction,\n vision_obstruction: this.visionObstruction,\n auras: aurasToServer(this.auras),\n trackers: this.trackers,\n owners: this.owners,\n fill_colour: this.fillColour,\n stroke_colour: this.strokeColour,\n name: this.name,\n annotation: this.annotation,\n is_token: this.isToken,\n options: JSON.stringify([...this.options]),\n };\n }\n fromDict(data: ServerShape) {\n this.layer = data.layer;\n this.globalCompositeOperation = data.draw_operator;\n this.movementObstruction = data.movement_obstruction;\n this.visionObstruction = data.vision_obstruction;\n this.auras = aurasFromServer(data.auras);\n this.trackers = data.trackers;\n this.owners = data.owners;\n this.isToken = data.is_token;\n if (data.annotation) this.annotation = data.annotation;\n if (data.name) this.name = data.name;\n if (data.options) this.options = new Map(JSON.parse(data.options));\n }\n\n draw(ctx: CanvasRenderingContext2D) {\n if (this.globalCompositeOperation !== undefined) ctx.globalCompositeOperation = this.globalCompositeOperation;\n else ctx.globalCompositeOperation = \"source-over\";\n if (this.showHighlight) {\n const bbox = this.getBoundingBox();\n ctx.strokeStyle = \"red\";\n ctx.strokeRect(g2lx(bbox.topLeft.x) - 5, g2ly(bbox.topLeft.y) - 5, g2lz(bbox.w) + 10, g2lz(bbox.h) + 10);\n }\n }\n\n drawAuras(ctx: CanvasRenderingContext2D) {\n for (const aura of this.auras) {\n if (aura.value === 0 && aura.dim === 0) return;\n ctx.beginPath();\n\n const loc = g2l(this.center());\n const innerRange = g2lr(aura.value + aura.dim);\n\n if (aura.dim === 0) ctx.fillStyle = aura.colour;\n else {\n const gradient = ctx.createRadialGradient(\n loc.x,\n loc.y,\n g2lr(aura.value),\n loc.x,\n loc.y,\n g2lr(aura.value + aura.dim),\n );\n const tc = tinycolor(aura.colour);\n ctx.fillStyle = gradient;\n gradient.addColorStop(0, aura.colour);\n gradient.addColorStop(1, tc.setAlpha(0).toRgbString());\n }\n if (!aura.visionSource || aura.lastPath === undefined) {\n ctx.arc(loc.x, loc.y, innerRange, 0, 2 * Math.PI);\n ctx.fill();\n } else {\n try {\n ctx.fill(aura.lastPath);\n } catch (e) {\n ctx.arc(loc.x, loc.y, innerRange, 0, 2 * Math.PI);\n ctx.fill();\n console.warn(e);\n }\n }\n }\n }\n\n getInitiativeRepr(): InitiativeData {\n return {\n uuid: this.uuid,\n visible: !gameStore.IS_DM,\n group: false,\n source: this.name,\n has_img: false,\n effects: [],\n index: Infinity,\n };\n }\n\n moveLayer(layer: string, sync: boolean) {\n const oldLayer = layerManager.getLayer(this.layer);\n const newLayer = layerManager.getLayer(layer);\n if (oldLayer === undefined || newLayer === undefined) return;\n this.layer = layer;\n // Update layer shapes\n oldLayer.shapes.splice(oldLayer.shapes.indexOf(this), 1);\n newLayer.shapes.push(this);\n // Revalidate layers (light should at most be redone once)\n oldLayer.invalidate(true);\n newLayer.invalidate(false);\n // Sync!\n if (sync) socket.emit(\"Shape.Layer.Change\", { uuid: this.uuid, layer });\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.note !== null)?_c('modal',{attrs:{\"visible\":_vm.visible,\"mask\":false},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_c('span',{on:{\"click\":function($event){_vm.$refs.title.select()}}},[_c('i',{staticClass:\"fas fa-pencil-alt\",staticStyle:{\"font-size\":\"15px\"}})]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.note.title),expression:\"note.title\"}],ref:\"title\",domProps:{\"value\":(_vm.note.title)},on:{\"change\":_vm.updateNote,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.note, \"title\", $event.target.value)}}}),_c('div',{staticClass:\"header-close\",on:{\"click\":function($event){_vm.visible = false}}},[_c('i',{staticClass:\"far fa-window-close\"})])])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.note.text),expression:\"note.text\"}],ref:\"textarea\",style:({'height': _vm.calcHeight()}),domProps:{\"value\":(_vm.note.text)},on:{\"change\":_vm.updateNote,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.note, \"text\", $event.target.value)}}})]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{on:{\"click\":_vm.removeNote}},[_c('i',{staticClass:\"far fa-trash-alt\"}),_vm._v(\" Remove\\n \")])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=template&id=7a3669fd&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=style&index=0&id=12ed61ba&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=style&index=0&id=12ed61ba&scoped=true&lang=css&\"","\n\n\n\n\nimport SelectContext from \"@/game/ui/tools/selectcontext.vue\";\nimport Tool from \"@/game/ui/tools/tool.vue\";\nimport SelectionInfo from \"../selection/selection_info.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { GlobalPoint, LocalPoint, Ray, Vector } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\nimport { g2l, g2lx, g2ly, l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\nexport enum SelectOperations {\n Noop,\n Resize,\n Drag,\n GroupSelect,\n}\n\nconst start = new GlobalPoint(-1000, -1000);\n\n@Component({\n components: {\n SelectContext,\n },\n})\nexport default class SelectTool extends Tool {\n name = \"Select\";\n showContextMenu = false;\n active = false;\n\n mode = SelectOperations.Noop;\n resizeDirection = \"\";\n deltaChanged = false;\n // Because we never drag from the asset's (0, 0) coord and want a smoother drag experience\n // we keep track of the actual offset within the asset.\n dragRay = new Ray(new LocalPoint(0, 0), new Vector(0, 0));\n selectionStartPoint = start;\n selectionHelper = new Rect(start, 0, 0);\n created() {\n this.selectionHelper.globalCompositeOperation = \"source-over\";\n }\n onMouseDown(event: MouseEvent) {\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n\n if (!this.selectionHelper.owners.includes(gameStore.username)) {\n this.selectionHelper.owners.push(gameStore.username);\n }\n\n const mouse = getMouse(event);\n const globalMouse = l2g(mouse);\n\n let hit = false;\n // The selectionStack allows for lower positioned objects that are selected to have precedence during overlap.\n let selectionStack;\n if (!layer.selection.length) selectionStack = layer.shapes;\n else selectionStack = layer.shapes.concat(layer.selection);\n for (let i = selectionStack.length - 1; i >= 0; i--) {\n const shape = selectionStack[i];\n\n if (!shape.ownedBy()) continue;\n\n const corner = shape.getBoundingBox().getCorner(globalMouse);\n\n // Resize case, a corner is selected\n if (corner !== undefined) {\n layer.selection = [shape];\n getRef(\"selectionInfo\").shape = shape;\n this.mode = SelectOperations.Resize;\n this.resizeDirection = corner;\n layer.invalidate(true);\n hit = true;\n break;\n\n // Drag case, a shape is selected\n } else if (shape.contains(globalMouse)) {\n const selection = shape;\n if (layer.selection.indexOf(selection) === -1) {\n layer.selection = [selection];\n getRef(\"selectionInfo\").shape = selection;\n }\n this.mode = SelectOperations.Drag;\n const localRefPoint = g2l(selection.refPoint);\n this.dragRay = new Ray(localRefPoint, mouse.subtract(localRefPoint));\n layer.invalidate(true);\n hit = true;\n break;\n }\n }\n\n // GroupSelect case, draw a selection box to select multiple shapes\n if (!hit) {\n this.mode = SelectOperations.GroupSelect;\n for (const selection of layer.selection) getRef(\"selectionInfo\").shape = selection;\n\n this.selectionStartPoint = globalMouse;\n\n this.selectionHelper.refPoint = this.selectionStartPoint;\n this.selectionHelper.w = 0;\n this.selectionHelper.h = 0;\n\n layer.selection = [this.selectionHelper];\n layer.invalidate(true);\n }\n this.active = true;\n }\n onMouseMove(event: MouseEvent) {\n // if (!this.active) return; we require mousemove for the resize cursor\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n const mouse = getMouse(event);\n const globalMouse = l2g(mouse);\n this.deltaChanged = false;\n\n if (this.mode === SelectOperations.GroupSelect) {\n // Currently draw on active layer\n const endPoint = globalMouse;\n\n this.selectionHelper.w = Math.abs(endPoint.x - this.selectionStartPoint.x);\n this.selectionHelper.h = Math.abs(endPoint.y - this.selectionStartPoint.y);\n this.selectionHelper.refPoint = new GlobalPoint(\n Math.min(this.selectionStartPoint.x, endPoint.x),\n Math.min(this.selectionStartPoint.y, endPoint.y),\n );\n layer.invalidate(true);\n } else if (layer.selection.length) {\n const og = g2l(layer.selection[layer.selection.length - 1].refPoint);\n const origin = og.add(this.dragRay.direction);\n let delta = mouse.subtract(origin).multiply(1 / gameStore.zoomFactor);\n const ogDelta = delta;\n if (this.mode === SelectOperations.Drag) {\n // If we are on the tokens layer do a movement block check.\n if (layer.name === \"tokens\" && !(event.shiftKey && gameStore.IS_DM)) {\n for (const sel of layer.selection) {\n if (sel.uuid === this.selectionHelper.uuid) continue; // the selection helper should not be treated as a real shape.\n delta = calculateDelta(delta, sel);\n if (delta !== ogDelta) this.deltaChanged = true;\n }\n }\n // Actually apply the delta on all shapes\n for (const sel of layer.selection) {\n sel.refPoint = sel.refPoint.add(delta);\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV(true);\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: true });\n }\n }\n layer.invalidate(false);\n } else if (this.mode === SelectOperations.Resize) {\n for (const sel of layer.selection) {\n sel.resize(this.resizeDirection, mouse);\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV(true);\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: true });\n }\n layer.invalidate(false);\n }\n } else {\n for (const sel of layer.selection) {\n const bb = sel.getBoundingBox();\n const gm = globalMouse;\n if (bb.inCorner(gm, \"nw\")) {\n document.body.style.cursor = \"nw-resize\";\n } else if (bb.inCorner(gm, \"ne\")) {\n document.body.style.cursor = \"ne-resize\";\n } else if (bb.inCorner(gm, \"se\")) {\n document.body.style.cursor = \"se-resize\";\n } else if (bb.inCorner(gm, \"sw\")) {\n document.body.style.cursor = \"sw-resize\";\n } else {\n document.body.style.cursor = \"default\";\n }\n }\n }\n } else {\n document.body.style.cursor = \"default\";\n }\n }\n onMouseUp(e: MouseEvent): void {\n if (!this.active) return;\n if (layerManager.getLayer() === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n const layer = layerManager.getLayer()!;\n\n if (this.mode === SelectOperations.GroupSelect) {\n layer.clearSelection();\n layer.shapes.forEach(shape => {\n if (shape === this.selectionHelper) return;\n const bbox = shape.getBoundingBox();\n if (!shape.ownedBy()) return;\n if (\n this.selectionHelper!.refPoint.x <= bbox.topRight.x &&\n this.selectionHelper!.refPoint.x + this.selectionHelper!.w >= bbox.topLeft.x &&\n this.selectionHelper!.refPoint.y <= bbox.botLeft.y &&\n this.selectionHelper!.refPoint.y + this.selectionHelper!.h >= bbox.topLeft.y\n ) {\n layer.selection.push(shape);\n }\n });\n\n // Push the selection helper as the last element of the selection\n // This makes sure that it will be the first one to be hit in the hit detection onMouseDown\n if (layer.selection.length > 0) layer.selection.push(this.selectionHelper);\n\n layer.invalidate(true);\n } else if (layer.selection.length) {\n layer.selection.forEach(sel => {\n if (this.mode === SelectOperations.Drag) {\n if (\n this.dragRay.origin!.x === g2lx(sel.refPoint.x) &&\n this.dragRay.origin!.y === g2ly(sel.refPoint.y)\n )\n return;\n\n if (gameStore.useGrid && !e.altKey && !this.deltaChanged) {\n sel.snapToGrid();\n }\n\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: false });\n }\n layer.invalidate(false);\n }\n if (this.mode === SelectOperations.Resize) {\n if (gameStore.useGrid && !e.altKey) {\n sel.resizeToGrid();\n }\n if (sel !== this.selectionHelper) {\n if (sel.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: sel.asDict(), redraw: true, temporary: false });\n }\n layer.invalidate(false);\n }\n });\n }\n this.mode = SelectOperations.Noop;\n this.active = false;\n }\n onContextMenu(event: MouseEvent) {\n if (layerManager.getLayer() === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n const layer = layerManager.getLayer()!;\n const mouse = getMouse(event);\n const globalMouse = l2g(mouse);\n\n for (const shape of layer.selection) {\n if (shape.contains(globalMouse)) {\n layer.selection = [shape];\n getRef(\"selectionInfo\").shape = shape;\n layer.invalidate(true);\n (this.$parent.$refs.shapecontext).open(event, shape);\n return;\n }\n }\n (this.$refs.selectcontext).open(event);\n }\n}\n","import { Ray, Vector } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\n\n// First go through each shape in the selection and see if the delta has to be truncated due to movement blockers\n\n// This is definitely super convoluted and inefficient but I was tired and really wanted the smooth wall sliding collision stuff to work\n// And it does now, so hey ¯\\_(ツ)_/¯\nexport function calculateDelta(delta: Vector, sel: Shape, done?: string[]) {\n if (done === undefined) done = [];\n const ogSelBBox = sel.getBoundingBox();\n const newSelBBox = ogSelBBox.offset(delta);\n let refine = false;\n for (const movementBlocker of gameStore.movementblockers) {\n if (done.includes(movementBlocker)) continue;\n const blocker = layerManager.UUIDMap.get(movementBlocker)!;\n const blockerBBox = blocker.getBoundingBox();\n let found = blockerBBox.intersectsWithInner(newSelBBox);\n if (!found) {\n // This is an edge case, precalculating the rays is not worth in this case.\n const ray = Ray.fromPoints(ogSelBBox.topLeft.add(delta.normalize()), newSelBBox.topLeft);\n const invDir = ray.direction.inverse();\n const dirIsNegative = [invDir.x < 0, invDir.y < 0];\n found = blockerBBox.intersectP(ray, invDir, dirIsNegative).hit;\n }\n // Check if the bounding box of our destination would intersect with the bounding box of the movementblocker\n if (found) {\n const bCenter = blockerBBox.center();\n const sCenter = ogSelBBox.center();\n\n const d = sCenter.subtract(bCenter);\n const ux = new Vector(1, 0);\n const uy = new Vector(0, 1);\n let dx = d.dot(ux);\n let dy = d.dot(uy);\n if (dx > blockerBBox.w / 2) dx = blockerBBox.w / 2;\n if (dx < -blockerBBox.w / 2) dx = -blockerBBox.w / 2;\n if (dy > blockerBBox.h / 2) dy = blockerBBox.h / 2;\n if (dy < -blockerBBox.h / 2) dy = -blockerBBox.h / 2;\n\n // Closest point / intersection point between the two bboxes. Not the delta intersect!\n const p = bCenter.add(ux.multiply(dx)).add(uy.multiply(dy));\n\n if (p.x === ogSelBBox.topLeft.x || p.x === ogSelBBox.topRight.x) delta = new Vector(0, delta.y);\n else if (p.y === ogSelBBox.topLeft.y || p.y === ogSelBBox.botLeft.y) delta = new Vector(delta.x, 0);\n else {\n if (p.x < ogSelBBox.topLeft.x) delta = new Vector(p.x - ogSelBBox.topLeft.x, delta.y);\n else if (p.x > ogSelBBox.topRight.x) delta = new Vector(p.x - ogSelBBox.topRight.x, delta.y);\n else if (p.y < ogSelBBox.topLeft.y) delta = new Vector(delta.x, p.y - ogSelBBox.topLeft.y);\n else if (p.y > ogSelBBox.botLeft.y) delta = new Vector(delta.x, p.y - ogSelBBox.botLeft.y);\n }\n refine = true;\n done.push(movementBlocker);\n break;\n }\n }\n if (refine) delta = calculateDelta(delta, sel, done);\n return delta;\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=style&index=0&id=7a3669fd&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note.vue?vue&type=style&index=0&id=7a3669fd&scoped=true&lang=css&\"","import { socket } from \"@/game/api/socket\";\nimport { gameStore } from \"@/game/store\";\n\nexport function sendClientOptions() {\n socket.emit(\"Client.Options.Set\", {\n locationOptions: {\n panX: gameStore.panX,\n panY: gameStore.panY,\n zoomFactor: gameStore.zoomFactor,\n },\n });\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Prop } from \"vue-property-decorator\";\n\nimport { AssetFile, AssetList } from \"@/core/comm/types\";\nimport { alphSort } from \"@/core/utils\";\n\n@Component({\n name: \"asset-node\",\n})\nexport default class AssetNode extends Vue {\n @Prop() asset!: AssetList;\n\n showImage = null;\n get folders(): string[] {\n return Object.keys(this.asset)\n .filter(el => ![\"__files\"].includes(el))\n .sort(alphSort);\n }\n\n get files(): AssetFile[] {\n if (this.asset.__files)\n return (this.asset.__files)\n .concat()\n .sort((a, b) => (a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1));\n return [];\n }\n\n toggle(event: { target: HTMLElement }) {\n // tslint:disable-next-line:prefer-for-of\n for (let i = 0; i < event.target.children.length; i++) {\n const el = event.target.children[i];\n el.style.display = el.style.display === \"\" ? \"block\" : \"\";\n }\n }\n\n dragStart(event: DragEvent, imageSource: string) {\n if (event === null || event.dataTransfer === null) return;\n const img = (event.target).querySelector(\".preview\")!;\n event.dataTransfer.setDragImage(img, 0, 0);\n event.dataTransfer.setData(\"text/plain\", imageSource);\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('div',{staticClass:\"ContextMenu\",style:({left:_vm.left, top:_vm.top}),attrs:{\"tabindex\":\"-1\"},on:{\"blur\":function($event){_vm.$emit('close')}}},[_c('ul',[_vm._t(\"default\")],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=template&id=256dde9c&\"","// import Vuex from \"vuex\";\nimport { getModule, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\n\nimport { Asset } from \"@/core/comm/types\";\nimport { rootStore } from \"@/store\";\n\nexport interface AssetState {\n root: number;\n files: number[];\n folders: number[];\n idMap: Map;\n selected: number[];\n}\n\n@Module({ dynamic: true, store: rootStore, name: \"assets\", namespaced: true })\nclass AssetStore extends VuexModule {\n root = -1;\n files: number[] = [];\n folders: number[] = [];\n idMap: Map = new Map();\n selected: number[] = [];\n\n @Mutation\n clear() {\n this.folders = [];\n this.files = [];\n }\n\n @Mutation\n clearSelected() {\n this.selected = [];\n }\n\n @Mutation\n setRoot(root: number) {\n this.root = root;\n }\n\n @Mutation\n isFile(inode: number): boolean {\n return this.files.includes(inode);\n }\n}\n\nexport const assetStore = getModule(AssetStore);\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=style&index=0&id=078b3b76&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=style&index=0&id=078b3b76&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=script&lang=ts&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ContextMenu from \"@/core/components/contextmenu.vue\";\nimport Initiative from \"@/game/ui/initiative.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n ContextMenu,\n },\n})\nexport default class ShapeContext extends Vue {\n visible = false;\n x = 0;\n y = 0;\n shape: Shape | null = null;\n get activeLayer(): string {\n const layer = layerManager.getLayer();\n return layer === undefined ? \"\" : layer.name;\n }\n open(event: MouseEvent, shape: Shape) {\n this.visible = true;\n this.x = event.pageX;\n this.y = event.pageY;\n this.shape = shape;\n this.$nextTick(() => this.$children[0].$el.focus());\n }\n close() {\n this.visible = false;\n this.shape = null;\n }\n getLayers() {\n return layerManager.layers.filter(l => l.selectable && (gameStore.IS_DM || l.playerEditable));\n }\n getActiveLayer() {\n return layerManager.getLayer();\n }\n getInitiativeWord() {\n if (this.shape === null) return \"\";\n return getRef(\"initiative\").contains(this.shape.uuid) ? \"Show\" : \"Add\";\n }\n setLayer(newLayer: string) {\n if (this.shape === null) return;\n this.shape.moveLayer(newLayer, true);\n this.close();\n }\n moveToBack() {\n if (this.shape === null) return;\n const layer = this.getActiveLayer()!;\n layer.moveShapeOrder(this.shape, 0, true);\n this.close();\n }\n moveToFront() {\n if (this.shape === null) return;\n const layer = this.getActiveLayer()!;\n layer.moveShapeOrder(this.shape, layer.shapes.length - 1, true);\n this.close();\n }\n addInitiative() {\n if (this.shape === null) return;\n const initiative = getRef(\"initiative\");\n if (!initiative.contains(this.shape.uuid)) initiative.addInitiative(this.shape.getInitiativeRepr());\n initiative.visible = true;\n this.close();\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.shape !== null)?_c('div',[_c('div',{attrs:{\"id\":\"selection-menu\"}},[_c('div',{attrs:{\"id\":\"selection-edit-button\"},on:{\"click\":_vm.openEditDialog}},[_c('i',{staticClass:\"fas fa-edit\"})]),_c('div',{attrs:{\"id\":\"selection-name\"}},[_vm._v(_vm._s(_vm.shape.name))]),_c('div',{attrs:{\"id\":\"selection-trackers\"}},[_vm._l((_vm.shape.trackers),function(tracker){return (tracker.name !== '' || tracker.value !== 0)?[_c('div',{key:'name-' + tracker.uuid},[_vm._v(_vm._s(tracker.name))]),_c('div',{key:'value-' + tracker.uuid,staticClass:\"selection-tracker-value\",on:{\"click\":function($event){_vm.changeValue(tracker, false)}}},[(tracker.maxvalue === 0)?[_vm._v(_vm._s(tracker.value))]:[_vm._v(_vm._s(tracker.value)+\" / \"+_vm._s(tracker.maxvalue))]],2)]:_vm._e()})],2),_c('div',{attrs:{\"id\":\"selection-auras\"}},[_vm._l((_vm.shape.auras),function(aura){return (aura.name !== '' || aura.value !== 0)?[_c('div',{key:'name-' + aura.uuid},[_vm._v(_vm._s(aura.name))]),_c('div',{key:'value-' + aura.uuid,staticClass:\"selection-tracker-value\",on:{\"click\":function($event){_vm.changeValue(aura, true)}}},[(aura.dim === 0)?[_vm._v(_vm._s(aura.value))]:[_vm._v(_vm._s(aura.value)+\" / \"+_vm._s(aura.dim))]],2)]:_vm._e()})],2)]),_c('edit-dialog',{ref:\"editDialog\",attrs:{\"shape\":_vm.shape}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=template&id=32cec914&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./map.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./map.vue?vue&type=script&lang=ts&\"","import { Layer } from \"@/game/layers/layer\";\nimport { gameStore } from \"@/game/store\";\n\nexport class GridLayer extends Layer {\n invalidate(): void {\n this.valid = false;\n }\n draw(doClear?: boolean): void {\n if (!this.valid) {\n this.drawGrid();\n }\n }\n drawGrid(): void {\n const ctx = this.ctx;\n this.clear();\n ctx.beginPath();\n\n const gs = gameStore.gridSize;\n\n for (let i = 0; i < this.width; i += gs * gameStore.zoomFactor) {\n ctx.moveTo(i + (gameStore.panX % gs) * gameStore.zoomFactor, 0);\n ctx.lineTo(i + (gameStore.panX % gs) * gameStore.zoomFactor, this.height);\n ctx.moveTo(0, i + (gameStore.panY % gs) * gameStore.zoomFactor);\n ctx.lineTo(this.width, i + (gameStore.panY % gs) * gameStore.zoomFactor);\n }\n\n ctx.strokeStyle = gameStore.gridColour;\n ctx.lineWidth = 1;\n ctx.stroke();\n this.valid = true;\n }\n}\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\n\nimport { AssetState } from \"@/assetManager/store\";\nimport { CoreState } from \"@/core/store\";\nimport { GameState } from \"@/game/store\";\n\nVue.use(Vuex);\n\nexport interface RootState {\n assets: AssetState;\n core: CoreState;\n game: GameState;\n}\n\nexport const rootStore = new Vuex.Store({});\n","import { render, staticRenderFns } from \"./colorpicker.vue?vue&type=template&id=b4f2c0b0&scoped=true&\"\nimport script from \"./colorpicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./colorpicker.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./colorpicker.vue?vue&type=style&index=0&id=b4f2c0b0&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b4f2c0b0\",\n null\n \n)\n\ncomponent.options.__file = \"colorpicker.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view',{ref:\"activeComponent\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=196415f0&\"\nvar script = {}\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import { GlobalPoint, Ray } from \"@/game/geom\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Settings } from \"@/game/settings\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lr, g2lx, g2ly, g2lz, getUnitDistance } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class FOWLayer extends Layer {\n isVisionLayer: boolean = true;\n preFogShapes: Shape[] = [];\n\n addShape(shape: Shape, sync: boolean, temporary?: boolean): void {\n super.addShape(shape, sync, temporary);\n if (shape.options.has(\"preFogShape\") && shape.options.get(\"preFogShape\")) {\n this.preFogShapes.push(shape);\n }\n }\n\n removeShape(shape: Shape, sync: boolean, temporary?: boolean) {\n if (shape.options.has(\"preFogShape\") && shape.options.get(\"preFogShape\")) {\n const idx = this.preFogShapes.findIndex(s => s.uuid === shape.uuid);\n this.preFogShapes.splice(idx, 1);\n }\n super.removeShape(shape, sync, temporary);\n }\n\n draw(): void {\n if (!this.valid) {\n const ctx = this.ctx;\n\n if (Settings.skipLightFOW) {\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n this.valid = true;\n return;\n }\n\n const originalOperation = ctx.globalCompositeOperation;\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n ctx.fillStyle = \"rgba(0, 0, 0, 1)\";\n\n const dctx = layerManager.getLayer(\"draw\")!.ctx;\n if (Settings.drawAngleLines || Settings.drawFirstLightHit) {\n dctx.clearRect(0, 0, dctx.canvas.width, dctx.canvas.height);\n }\n\n // At all times provide a minimal vision range to prevent losing your tokens in fog.\n if (gameStore.fullFOW && layerManager.hasLayer(\"tokens\")) {\n layerManager.getLayer(\"tokens\")!.shapes.forEach(sh => {\n if (!sh.ownedBy() || !sh.isToken) return;\n const bb = sh.getBoundingBox();\n const lcenter = g2l(sh.center());\n const alm = 0.8 * g2lz(bb.w);\n ctx.beginPath();\n ctx.arc(lcenter.x, lcenter.y, alm, 0, 2 * Math.PI);\n const gradient = ctx.createRadialGradient(lcenter.x, lcenter.y, alm / 2, lcenter.x, lcenter.y, alm);\n gradient.addColorStop(0, \"rgba(0, 0, 0, 1)\");\n gradient.addColorStop(1, \"rgba(0, 0, 0, 0)\");\n ctx.fillStyle = gradient;\n ctx.fill();\n });\n }\n\n // First cut out all the light sources\n for (const light of gameStore.visionSources) {\n const shape = layerManager.UUIDMap.get(light.shape);\n if (shape === undefined) continue;\n const aura = shape.auras.find(a => a.uuid === light.aura);\n if (aura === undefined) continue;\n\n const auraLength = getUnitDistance(aura.value + aura.dim);\n const center = shape.center();\n const lcenter = g2l(center);\n\n const auraCircle = new Circle(center, auraLength);\n if (!auraCircle.visibleInCanvas(ctx.canvas)) continue;\n\n let lastArcAngle = -1;\n\n const path = new Path2D();\n path.moveTo(lcenter.x, lcenter.y);\n let firstPoint: GlobalPoint;\n\n for (let angle = 0; angle < 2 * Math.PI; angle += (Settings.angleSteps / 180) * Math.PI) {\n const anglePoint = new GlobalPoint(\n center.x + auraLength * Math.cos(angle),\n center.y + auraLength * Math.sin(angle),\n );\n if (Settings.drawAngleLines) {\n dctx!.beginPath();\n dctx!.moveTo(g2lx(center.x), g2ly(center.y));\n dctx!.lineTo(g2lx(anglePoint.x), g2ly(anglePoint.y));\n dctx!.stroke();\n }\n\n // Check if there is a hit with one of the nearby light blockers.\n const lightRay = Ray.fromPoints(center, anglePoint);\n const hitResult = gameStore.BV.intersect(lightRay);\n\n if (angle === 0) firstPoint = hitResult.hit ? hitResult.intersect : anglePoint;\n\n // We can move on to the next angle if nothing was hit.\n if (!hitResult.hit) {\n // If an earlier hit caused the aura to leave the arc, we need to go back to the arc\n if (lastArcAngle === -1) {\n // Set the start of a new arc beginning at the current angle\n lastArcAngle = angle;\n // Draw a line from the last non arc location back to the arc\n const dest = g2l(anglePoint);\n ctx.lineTo(dest.x, dest.y);\n }\n continue;\n }\n // If hit , first finish any ongoing arc, then move to the intersection point\n if (lastArcAngle !== -1) {\n path.arc(lcenter.x, lcenter.y, g2lr(aura.value + aura.dim), lastArcAngle, angle);\n lastArcAngle = -1;\n }\n path.lineTo(g2lx(hitResult.intersect.x), g2ly(hitResult.intersect.y));\n }\n\n // Finish the final arc.\n if (lastArcAngle === -1) path.lineTo(g2lx(firstPoint!.x), g2ly(firstPoint!.y));\n else path.arc(lcenter.x, lcenter.y, g2lr(aura.value + aura.dim), lastArcAngle, 2 * Math.PI);\n\n if (gameStore.fullFOW) {\n if (aura.dim > 0) {\n // Fill the light aura with a radial dropoff towards the outside.\n const gradient = ctx.createRadialGradient(\n lcenter.x,\n lcenter.y,\n g2lr(aura.value),\n lcenter.x,\n lcenter.y,\n g2lr(aura.value + aura.dim),\n );\n gradient.addColorStop(0, \"rgba(0, 0, 0, 1)\");\n gradient.addColorStop(1, \"rgba(0, 0, 0, 0)\");\n ctx.fillStyle = gradient;\n } else {\n ctx.fillStyle = \"rgba(0, 0, 0, 1)\";\n }\n ctx.fill(path);\n }\n\n aura.lastPath = path;\n }\n\n // At the DM Side due to opacity of the two fow layers, it looks strange if we just render them on top of eachother like players.\n if (gameStore.fowLOS) {\n ctx.globalCompositeOperation = \"source-in\";\n ctx.drawImage(layerManager.getLayer(\"fow-players\")!.canvas, 0, 0);\n }\n\n for (const preShape of this.preFogShapes) {\n if (!preShape.visibleInCanvas(this.canvas)) continue;\n const ogComposite = preShape.globalCompositeOperation;\n if (!gameStore.fullFOW) {\n if (preShape.globalCompositeOperation === \"source-over\")\n preShape.globalCompositeOperation = \"destination-out\";\n else if (preShape.globalCompositeOperation === \"destination-out\")\n preShape.globalCompositeOperation = \"source-over\";\n }\n preShape.draw(ctx);\n preShape.globalCompositeOperation = ogComposite;\n }\n\n if (gameStore.fullFOW) {\n ctx.globalCompositeOperation = \"source-out\";\n ctx.fillStyle = getFogColour();\n ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n }\n\n super.draw(false);\n\n ctx.globalCompositeOperation = originalOperation;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load.vue?vue&type=script&lang=ts&\"","import { ServerCircle } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint, LocalPoint, Vector } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\nimport { g2l, g2lz, l2g } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class Circle extends Shape {\n type = \"circle\";\n r: number;\n constructor(center: GlobalPoint, r: number, fillColour?: string, strokeColour?: string, uuid?: string) {\n super(center, fillColour, strokeColour, uuid);\n this.r = r || 1;\n }\n asDict(): ServerCircle {\n // const base = this.getBaseDict();\n // base.r = this.r;\n // base.border = this.border;\n // return base;\n return Object.assign(this.getBaseDict(), {\n radius: this.r,\n });\n }\n fromDict(data: ServerCircle) {\n super.fromDict(data);\n this.r = data.radius;\n }\n getBoundingBox(): BoundingRect {\n return new BoundingRect(\n new GlobalPoint(this.refPoint.x - this.r, this.refPoint.y - this.r),\n this.r * 2,\n this.r * 2,\n );\n }\n\n get points() {\n return this.getBoundingBox().points;\n }\n\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.beginPath();\n if (this.fillColour === \"fog\") ctx.fillStyle = getFogColour();\n else ctx.fillStyle = this.fillColour;\n const loc = g2l(this.refPoint);\n ctx.arc(loc.x, loc.y, g2lz(this.r), 0, 2 * Math.PI);\n ctx.fill();\n if (this.strokeColour !== \"rgba(0, 0, 0, 0)\") {\n ctx.beginPath();\n ctx.lineWidth = g2lz(5);\n ctx.strokeStyle = this.strokeColour;\n ctx.arc(loc.x, loc.y, g2lz(this.r), 0, 2 * Math.PI);\n ctx.stroke();\n }\n }\n contains(point: GlobalPoint): boolean {\n return (point.x - this.refPoint.x) ** 2 + (point.y - this.refPoint.y) ** 2 < this.r ** 2;\n }\n inCorner(point: GlobalPoint, corner: string) {\n return false; // TODO\n }\n getCorner(point: GlobalPoint) {\n if (this.inCorner(point, \"ne\")) return \"ne\";\n else if (this.inCorner(point, \"nw\")) return \"nw\";\n else if (this.inCorner(point, \"se\")) return \"se\";\n else if (this.inCorner(point, \"sw\")) return \"sw\";\n }\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {\n if (centerPoint === undefined) return this.refPoint;\n this.refPoint = centerPoint;\n }\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid() {\n const gs = gameStore.gridSize;\n let targetX;\n let targetY;\n if (((2 * this.r) / gs) % 2 === 0) {\n targetX = Math.round(this.refPoint.x / gs) * gs;\n } else {\n targetX = Math.round((this.refPoint.x - gs / 2) / gs) * gs + this.r;\n }\n if (((2 * this.r) / gs) % 2 === 0) {\n targetY = Math.round(this.refPoint.y / gs) * gs;\n } else {\n targetY = Math.round((this.refPoint.y - gs / 2) / gs) * gs + this.r;\n }\n const delta = calculateDelta(new Vector(targetX - this.refPoint.x, targetY - this.refPoint.y), this);\n this.refPoint = this.refPoint.add(delta);\n this.invalidate(false);\n }\n resizeToGrid() {\n const gs = gameStore.gridSize;\n this.r = Math.max(Math.round(this.r / gs) * gs, gs / 2);\n this.invalidate(false);\n }\n resize(resizedir: string, point: LocalPoint) {\n const z = gameStore.zoomFactor;\n const diff = l2g(point).subtract(this.refPoint);\n this.r = Math.sqrt(Math.pow(diff.length(), 2) / 2);\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { BaseRect } from \"@/game/shapes/baserect\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class MapTool extends Tool {\n name = \"Map\";\n active = false;\n xCount = 3;\n yCount = 3;\n startPoint: GlobalPoint | null = null;\n rect: Rect | null = null;\n\n onMouseDown(event: MouseEvent) {\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = true;\n\n this.startPoint = l2g(getMouse(event));\n this.rect = new Rect(this.startPoint.clone(), 0, 0, \"rgba(0,0,0,0)\", \"black\");\n layer.addShape(this.rect, false, false);\n }\n onMouseMove(event: MouseEvent) {\n if (!this.active || this.rect === null || this.startPoint === null) return;\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n\n const endPoint = l2g(getMouse(event));\n\n this.rect.w = Math.abs(endPoint.x - this.startPoint.x);\n this.rect.h = Math.abs(endPoint.y - this.startPoint.y);\n this.rect.refPoint.x = Math.min(this.startPoint.x, endPoint.x);\n this.rect.refPoint.y = Math.min(this.startPoint.y, endPoint.y);\n layer.invalidate(false);\n }\n onMouseUp(event: MouseEvent) {\n if (!this.active || this.rect === null) return;\n const layer = layerManager.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = false;\n\n if (layer.selection.length !== 1) {\n layer.removeShape(this.rect, false, false);\n return;\n }\n\n const w = this.rect.w;\n const h = this.rect.h;\n const sel = layer.selection[0];\n\n if (sel instanceof BaseRect) {\n sel.w *= (this.xCount * gameStore.gridSize) / w;\n sel.h *= (this.yCount * gameStore.gridSize) / h;\n }\n\n layer.removeShape(this.rect, false, false);\n }\n}\n","import { render, staticRenderFns } from \"./load.vue?vue&type=template&id=ff095222&\"\nimport script from \"./load.vue?vue&type=script&lang=ts&\"\nexport * from \"./load.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"load.vue\"\nexport default component.exports","import Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { LocalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class PanTool extends Tool {\n name = \"Pan\";\n panStart = new LocalPoint(0, 0);\n active = false;\n\n onMouseDown(event: MouseEvent) {\n this.panStart = getMouse(event);\n this.active = true;\n }\n onMouseMove(event: MouseEvent) {\n if (!this.active) return;\n const mouse = getMouse(event);\n const distance = mouse.subtract(this.panStart).multiply(1 / gameStore.zoomFactor);\n gameStore.increasePanX(Math.round(distance.x));\n gameStore.increasePanY(Math.round(distance.y));\n this.panStart = mouse;\n layerManager.invalidate();\n }\n onMouseUp(event: MouseEvent) {\n this.active = false;\n sendClientOptions();\n }\n}\n","import { render, staticRenderFns } from \"./selectcontext.vue?vue&type=template&id=44a31e42&scoped=true&\"\nimport script from \"./selectcontext.vue?vue&type=script&lang=ts&\"\nexport * from \"./selectcontext.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./selectcontext.vue?vue&type=style&index=0&id=44a31e42&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44a31e42\",\n null\n \n)\n\ncomponent.options.__file = \"selectcontext.vue\"\nexport default component.exports","import Vue from \"vue\";\n\nimport { app } from \"@/main\";\n\n// Reference: https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript\nexport function uuidv4() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, c => {\n const r = (Math.random() * 16) | 0;\n const v = c === \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\nexport function capitalize(text: string) {\n return text.charAt(0).toUpperCase() + text.slice(1);\n}\n\nexport function alphSort(a: string, b: string) {\n if (a.toLowerCase() < b.toLowerCase()) return -1;\n else return 1;\n}\n\nexport function getHTMLFont(element: HTMLElement) {\n let font = element.style.font;\n while (font === null && element.parentElement !== null) {\n element = element.parentElement;\n font = element.style.font;\n }\n if (font === null) font = window.getComputedStyle(document.body).getPropertyValue(\"font\");\n return font;\n}\n\nexport function getHTMLTextWidth(text: string, font: string): number {\n let fakeElement = document.getElementById(\"emptycanvas\");\n if (fakeElement === null) {\n fakeElement = document.createElement(\"canvas\");\n fakeElement.id = \"emptycanvas\";\n fakeElement.style.display = \"\";\n document.body.appendChild(fakeElement);\n }\n const ctx = fakeElement.getContext(\"2d\")!;\n ctx.font = font;\n return Math.ceil(ctx.measureText(text).width);\n}\n\nexport function partition(arr: T[], predicate: (n: T) => boolean) {\n const ret: T[][] = [[], []];\n arr.forEach(n => (predicate(n) ? ret[1].push(n) : ret[0].push(n)));\n return ret;\n}\n\nexport function calcFontScale(ctx: CanvasRenderingContext2D, text: string, width: number, height: number) {\n const points = Number(ctx.font.split(\"px\")[0]) * 0.2;\n const fontWidth = ctx.measureText(text).width;\n return Math.min(width / fontWidth, height / points);\n}\n\nexport function fixedEncodeURIComponent(str: string) {\n return encodeURIComponent(str).replace(/[!'()*]/g, c => {\n return \"%\" + c.charCodeAt(0).toString(16);\n });\n}\n\nexport class OrderedMap {\n keys: K[] = [];\n values: V[] = [];\n\n get length() {\n return this.keys.length;\n }\n\n get(key: K) {\n return this.values[this.keys.indexOf(key)];\n }\n getIndexValue(idx: number) {\n return this.values[idx];\n }\n getIndexKey(idx: number) {\n return this.keys[idx];\n }\n set(key: K, value: V) {\n this.keys.push(key);\n this.values.push(value);\n }\n has(key: K) {\n return this.indexOf(key) >= 0;\n }\n indexOf(element: K) {\n return this.keys.indexOf(element);\n }\n remove(element: K) {\n const idx = this.indexOf(element);\n this.keys.splice(idx, 1);\n this.values.splice(idx, 1);\n }\n}\n\nexport function getComponent(): T {\n return app.$children[0].$refs.activeComponent;\n}\n\nexport function getRef(ref: string): T {\n const active = app.$children[0].$refs.activeComponent;\n return active.$refs[ref];\n}\n","import { render, staticRenderFns } from \"./contextMenu.vue?vue&type=template&id=d4f084a4&\"\nimport script from \"./contextMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./contextMenu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"contextMenu.vue\"\nexport default component.exports","import { EdgeCirculator, Point, Sign, Triangle, Vertex } from \"./tds\";\n\ntype Line = number[];\n\nexport function cw(index: number) {\n return (index + 2) % 3;\n}\n\nexport function ccw(index: number) {\n return (index + 1) % 3;\n}\n\nexport function edgeInfo(va: Vertex, vb: Vertex) {\n const ec = new EdgeCirculator(va, null);\n if (ec.valid) {\n do {\n const indv = 3 - ec.t!.indexV(va) - ec.ri;\n const v = ec.t!.vertices[indv]!;\n if (!v.infinite) {\n if (v === vb) {\n return { includes: true, vi: vb, fr: ec.t!, i: ec.ri };\n } else {\n const orient = orientation(va.point!, vb.point!, v.point!);\n if (orient === Sign.COLLINEAR && collinearBetween(va.point!, v.point!, vb.point!)) {\n return { includes: true, vi: v, fr: ec.t!, i: ec.ri };\n }\n }\n }\n } while (ec.next());\n }\n return { includes: false };\n}\n\nexport function collinearBetween(p: Point, q: Point, r: Point): boolean {\n let cPQ: Sign;\n let cQR: Sign;\n if (compare(0, p, r) === Sign.EQUAL) {\n cPQ = compare(1, p, q);\n cQR = compare(1, q, r);\n } else {\n cPQ = compare(0, p, q);\n cQR = compare(0, q, r);\n }\n return (cPQ === Sign.SMALLER && cQR === Sign.SMALLER) || (cPQ === Sign.LARGER && cQR === Sign.LARGER);\n}\n\nfunction compare(index: number, a: Point, b: Point): Sign {\n if (a[index] < b[index]) return Sign.SMALLER;\n if (a[index] > b[index]) return Sign.LARGER;\n return Sign.EQUAL;\n}\n\nexport function orientation(p: Point, q: Point, r: Point) {\n const px = p[0];\n const py = p[1];\n const qx = q[0];\n const qy = q[1];\n const rx = r[0];\n const ry = r[1];\n const pqx = qx - px;\n const pqy = qy - py;\n const prx = rx - px;\n const pry = ry - py;\n const det = determinant(pqx, pqy, prx, pry);\n let maxX = Math.abs(pqx);\n let maxY = Math.abs(pqy);\n const aprX = Math.abs(prx);\n const aprY = Math.abs(pry);\n if (maxX < aprX) maxX = aprX;\n if (maxY < aprY) maxY = aprY;\n if (maxX > maxY) [maxX, maxY] = [maxY, maxX];\n // underflow proection in eps computation?? Math.sqrt(Number.MIN_VALUE, Number.EPSILON)\n if (maxX < 2e-162 && maxX === 0) {\n return Sign.ZERO;\n }\n // overflow protection in det computation\n if (maxY < 1e153) {\n const eps = Number.EPSILON * maxX * maxY;\n if (det > eps) return Sign.POSITIVE;\n if (det < -eps) return Sign.NEGATIVE;\n }\n return Sign.ZERO;\n}\n\nexport function determinant(a00: number, a01: number, a10: number, a11: number) {\n return a00 * a11 - a01 * a10;\n}\n\nexport function hasInexactNegativeOrientation(p: Point, q: Point, r: Point) {\n return determinant(q[0] - p[0], q[1] - p[1], r[0] - p[0], r[1] - p[1]) < 0;\n}\n\nexport function sideOfOrientedCircle(t: Triangle, p: Point, perturb: boolean): Sign {\n if (!t.isInfinite())\n return sideOfOrientedCircleP(t.vertices[0]!.point!, t.vertices[1]!.point!, t.vertices[2]!.point!, p, perturb);\n throw new Error(\"SSS\");\n}\n\nfunction sideOfOrientedCircleP(p0: Point, p1: Point, p2: Point, p: Point, perturb: boolean): Sign {\n const os = getOrientedSide(p0, p1, p2, p);\n if (os !== Sign.ON_ORIENTED_BOUNDARY || !perturb) return os;\n const points = [p0, p1, p2, p];\n points.sort((a, b) => a[0] - b[0] || a[1] - b[1]);\n for (const point of points.reverse()) {\n if (point === p) return Sign.ON_NEGATIVE_SIDE;\n let o = orientation(p0, p1, p);\n if (point === p2 && o !== Sign.COLLINEAR) return o;\n o = orientation(p0, p, p2);\n if (point === p1 && o !== Sign.COLLINEAR) return o;\n o = orientation(p, p1, p2);\n if (point === p0 && o !== Sign.COLLINEAR) return o;\n }\n return Sign.ON_NEGATIVE_SIDE;\n}\n\nexport function xyEqual(p: Point, q: Point) {\n return p[0] === q[0] && p[1] === q[1];\n}\n\nexport function xySmaller(p: Point, q: Point) {\n return p[0] <= q[0] && p[1] <= q[1];\n}\n\nexport function xyCompare(p: Point, q: Point) {\n if (xySmaller(p, q)) return Sign.SMALLER;\n if (xyEqual(p, q)) return Sign.EQUAL;\n return Sign.LARGER;\n}\n\nfunction getOrientedSide(p: Point, q: Point, r: Point, t: Point): Sign {\n const qpx = q[0] - p[0];\n const qpy = q[1] - p[1];\n const rpx = r[0] - p[0];\n const rpy = r[1] - p[1];\n const tpx = t[0] - p[0];\n const tpy = t[1] - p[1];\n const tqx = t[0] - q[0];\n const tqy = t[1] - q[1];\n const rqx = r[0] - q[0];\n const rqy = r[1] - q[1];\n\n const det = determinant(qpx * tpy - qpy * tpx, tpx * tqx + tpy * tqy, qpx * rpy - qpy * rpx, rpx * rqx + rpy * rqy);\n let maxx = Math.abs(qpx);\n let maxy = Math.abs(qpy);\n const arpx = Math.abs(rpx);\n const arpy = Math.abs(rpy);\n const atqx = Math.abs(tqx);\n const atqy = Math.abs(tqy);\n const atpx = Math.abs(tpx);\n const atpy = Math.abs(tpy);\n const arqx = Math.abs(rqx);\n const arqy = Math.abs(rqy);\n\n if (maxx < arpx) maxx = arpx;\n if (maxx < atpx) maxx = atpx;\n if (maxx < atqx) maxx = atqx;\n if (maxx < arqx) maxx = arqx;\n\n if (maxy < arpy) maxy = arpy;\n if (maxy < atpy) maxy = atpy;\n if (maxy < atqy) maxy = atqy;\n if (maxy < arqy) maxy = arqy;\n\n if (maxx > maxy) [maxx, maxy] = [maxy, maxx];\n\n if (maxx < 1e-73 && maxx === 0) return Sign.ON_ORIENTED_BOUNDARY;\n // sqrt(sqrt(max_double/16\n else if (maxy < 1e76) {\n const eps = Number.EPSILON * maxx * maxy * (maxy * maxy);\n if (det > eps) return Sign.ON_POSITIVE_SIDE;\n if (det < -eps) return Sign.ON_NEGATIVE_SIDE;\n }\n\n return Sign.ZERO;\n}\n\nfunction segSegDoIntersectCrossing(p1: Point, p2: Point, p3: Point, p4: Point): boolean {\n switch (orientation(p1, p2, p3)) {\n case Sign.LEFT_TURN:\n return orientation(p3, p4, p2) !== Sign.RIGHT_TURN;\n case Sign.RIGHT_TURN:\n return orientation(p3, p4, p2) !== Sign.LEFT_TURN;\n case Sign.COLLINEAR:\n return true;\n }\n}\n\nfunction segSegDoIntersectContained(p1: Point, p2: Point, p3: Point, p4: Point): boolean {\n switch (orientation(p1, p2, p3)) {\n case Sign.LEFT_TURN:\n return orientation(p1, p2, p4) !== Sign.LEFT_TURN;\n case Sign.RIGHT_TURN:\n return orientation(p1, p2, p4) !== Sign.RIGHT_TURN;\n case Sign.COLLINEAR:\n return true;\n }\n}\n\nexport function intersection(pa: Point, pb: Point, pc: Point, pd: Point) {\n const i = getIntersectionType(pa, pb, pc, pd);\n switch (i.intersectionType) {\n case IntersectionType.POINT:\n return i.point!;\n case IntersectionType.NO_INTERSECTION:\n return null;\n }\n throw new Error(\"sdfgighowen\");\n}\n\nenum IntersectionType {\n NO_INTERSECTION,\n POINT,\n SEGMENT,\n}\n\nfunction getLine(p0: Point, p1: Point): Line {\n if (p0[0] === p1[0]) return [1, 0, -p0[0]];\n if (p0[1] === p1[1]) return [0, 1, -p0[1]];\n const x = p1[0] - p0[0];\n const y = p1[1] - p0[1];\n return [-y, x, -x + y];\n}\n\nfunction getIntersectionType(pa: Point, pb: Point, pc: Point, pd: Point) {\n if (!doIntersect(pa, pb, pc, pd)) return { intersectionType: IntersectionType.NO_INTERSECTION, point: null };\n const l1 = getLine(pa, pb);\n const l2 = getLine(pc, pd);\n const info = getIntersectionTypeLine(l1, l2);\n switch (info.intersectionType) {\n case IntersectionType.POINT: {\n return info;\n }\n }\n throw new Error(\"gzseuihgpib\");\n}\n\nfunction getIntersectionTypeLine(la: Line, lb: Line) {\n const denom = la[0] * lb[1] - lb[0] * la[1];\n const nom1 = la[1] * lb[2] - lb[1] * la[2];\n const nom2 = lb[0] * la[2] - la[0] * lb[2];\n return {\n intersectionType: IntersectionType.POINT,\n point: [nom1 / denom, nom2 / denom],\n };\n}\n\nfunction doIntersect(A1: Point, A2: Point, B1: Point, B2: Point): boolean {\n if (xySmaller(A1, A2)) {\n if (xySmaller(B1, B2)) {\n if (xySmaller(A2, B1) || xySmaller(B2, A1)) return false;\n } else {\n if (xySmaller(A2, B2) || xySmaller(B1, A1)) return false;\n }\n } else {\n if (xySmaller(B1, B2)) {\n if (xySmaller(A1, B1) || xySmaller(B2, A2)) return false;\n } else {\n if (xySmaller(A1, B2) || xySmaller(B1, A2)) return false;\n }\n }\n if (xySmaller(A1, A2)) {\n if (xySmaller(B1, B2)) {\n switch (xyCompare(A1, B1)) {\n case Sign.SMALLER: {\n switch (xyCompare(A2, B1)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(A2, B2)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(A1, A2, B1, B2);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(A1, A2, B1, B2);\n }\n }\n }\n }\n case Sign.EQUAL:\n return true;\n default:\n switch (xyCompare(B2, A1)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(B2, A2)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(B1, B2, A1, A2);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(B1, B2, A1, A2);\n }\n }\n }\n }\n } else {\n switch (xyCompare(A1, B2)) {\n case Sign.SMALLER: {\n switch (xyCompare(A2, B2)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(A2, B1)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(A1, A2, B2, B1);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(A1, A2, B2, B1);\n }\n }\n }\n }\n case Sign.EQUAL:\n return true;\n default:\n switch (xyCompare(B1, A1)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(B1, A2)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(B2, B1, A1, A2);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(B2, B1, A1, A2);\n }\n }\n }\n }\n }\n } else {\n if (xySmaller(B1, B2)) {\n switch (xyCompare(A2, B1)) {\n case Sign.SMALLER: {\n switch (xyCompare(A1, B1)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(A1, B2)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(A2, A1, B1, B2);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(A2, A1, B1, B2);\n }\n }\n }\n }\n case Sign.EQUAL:\n return true;\n default:\n switch (xyCompare(B2, A2)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(B2, A1)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(B1, B2, A2, A1);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(B1, B2, A2, A1);\n }\n }\n }\n }\n } else {\n switch (xyCompare(A2, B2)) {\n case Sign.SMALLER: {\n switch (xyCompare(A1, B2)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(A1, B1)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(A2, A1, B2, B1);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(A2, A1, B2, B1);\n }\n }\n }\n }\n case Sign.EQUAL:\n return true;\n default:\n switch (xyCompare(B1, A2)) {\n case Sign.SMALLER:\n return false;\n case Sign.EQUAL:\n return true;\n default: {\n switch (xyCompare(B1, A1)) {\n case Sign.SMALLER:\n return segSegDoIntersectCrossing(B2, B1, A2, A1);\n case Sign.EQUAL:\n return true;\n default:\n return segSegDoIntersectContained(B2, B1, A2, A1);\n }\n }\n }\n }\n }\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{attrs:{\"visible\":_vm.visible,\"mask\":false},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_c('div',[_vm._v(\"Edit asset\")]),_c('div',{staticClass:\"header-close\",on:{\"click\":function($event){_vm.visible = false}}},[_c('i',{staticClass:\"far fa-window-close\"})])])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('label',{attrs:{\"for\":\"shapeselectiondialog-name\"}},[_vm._v(\"Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shape.name),expression:\"shape.name\"}],staticStyle:{\"grid-column\":\"numerator / end\"},attrs:{\"type\":\"text\",\"id\":\"shapeselectiondialog-name\"},domProps:{\"value\":(_vm.shape.name)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.shape, \"name\", $event.target.value)}}}),_c('label',{attrs:{\"for\":\"shapeselectiondialog-istoken\"}},[_vm._v(\"Is a token\")]),_c('input',{staticStyle:{\"grid-column-start\":\"remove\",\"width\":\"15px\",\"height\":\"15px\"},attrs:{\"type\":\"checkbox\",\"id\":\"shapeselectiondialog-istoken\"},domProps:{\"checked\":_vm.shape.isToken},on:{\"click\":_vm.setToken}}),_c('label',{attrs:{\"for\":\"shapeselectiondialog-visionblocker\"}},[_vm._v(\"Blocks vision/light\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.shape.visionObstruction),expression:\"shape.visionObstruction\"}],staticStyle:{\"grid-column-start\":\"remove\",\"width\":\"15px\",\"height\":\"15px\"},attrs:{\"type\":\"checkbox\",\"id\":\"shapeselectiondialog-visionblocker\"},domProps:{\"checked\":Array.isArray(_vm.shape.visionObstruction)?_vm._i(_vm.shape.visionObstruction,null)>-1:(_vm.shape.visionObstruction)},on:{\"change\":[function($event){var $$a=_vm.shape.visionObstruction,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.shape, \"visionObstruction\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.shape, \"visionObstruction\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.shape, \"visionObstruction\", $$c)}},_vm.setVisionBlocker]}}),_c('label',{attrs:{\"for\":\"shapeselectiondialog-moveblocker\"}},[_vm._v(\"Blocks movement\")]),_c('input',{staticStyle:{\"grid-column-start\":\"remove\",\"width\":\"15px\",\"height\":\"15px\"},attrs:{\"type\":\"checkbox\",\"id\":\"shapeselectiondialog-moveblocker\"},domProps:{\"checked\":_vm.shape.movementObstruction},on:{\"click\":_vm.setMovementBlocker}}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Access\")]),_vm._l((_vm.shape.owners),function(owner){return [_c('input',{key:owner,staticStyle:{\"grid-column-start\":\"name\"},attrs:{\"type\":\"text\",\"placeholder\":\"name\"},domProps:{\"value\":owner},on:{\"change\":function($event){_vm.updateOwner($event, owner)}}}),(owner !== '')?_c('div',{key:'remove-' + owner,staticStyle:{\"grid-column-start\":\"remove\"},on:{\"click\":function($event){_vm.removeOwner(owner)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e()]}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Trackers\")]),_vm._l((_vm.shape.trackers),function(tracker){return [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(tracker.name),expression:\"tracker.name\"}],key:'name-'+tracker.uuid,staticStyle:{\"grid-column-start\":\"name\"},attrs:{\"type\":\"text\",\"placeholder\":\"name\"},domProps:{\"value\":(tracker.name)},on:{\"change\":function($event){_vm.updateShape(false);},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(tracker, \"name\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(tracker.value),expression:\"tracker.value\",modifiers:{\"number\":true}}],key:'value-'+tracker.uuid,attrs:{\"type\":\"text\",\"title\":\"Current value\"},domProps:{\"value\":(tracker.value)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(tracker, \"value\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('span',{key:'fspan-'+tracker.uuid},[_vm._v(\"/\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(tracker.maxvalue),expression:\"tracker.maxvalue\",modifiers:{\"number\":true}}],key:'maxvalue-'+tracker.uuid,attrs:{\"type\":\"text\",\"title\":\"Current value\"},domProps:{\"value\":(tracker.maxvalue)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(tracker, \"maxvalue\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('span',{key:'sspan-'+tracker.uuid}),_c('div',{key:'visibility-'+tracker.uuid,style:({opacity: tracker.visible ? 1.0 : 0.3}),on:{\"click\":function($event){tracker.visible = !tracker.visible;_vm.updateShape(false)}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('span',{key:'tspan-'+tracker.uuid}),(tracker.name !== '' || tracker.value !== 0)?_c('div',{key:'remove-'+tracker.uuid,on:{\"click\":function($event){_vm.removeTracker(tracker.uuid)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e()]}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Auras\")]),_vm._l((_vm.shape.auras),function(aura){return [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(aura.name),expression:\"aura.name\"}],key:'name-'+aura.uuid,staticStyle:{\"grid-column-start\":\"name\"},attrs:{\"type\":\"text\",\"placeholder\":\"name\"},domProps:{\"value\":(aura.name)},on:{\"change\":function($event){_vm.updateShape(false)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(aura, \"name\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(aura.value),expression:\"aura.value\",modifiers:{\"number\":true}}],key:'value-'+aura.uuid,attrs:{\"type\":\"text\",\"title\":\"Current value\"},domProps:{\"value\":(aura.value)},on:{\"change\":function($event){_vm.updateShape(true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(aura, \"value\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('span',{key:'fspan-'+aura.uuid},[_vm._v(\"/\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(aura.dim),expression:\"aura.dim\",modifiers:{\"number\":true}}],key:'dimvalue-'+aura.uuid,attrs:{\"type\":\"text\",\"title\":\"Dim value\"},domProps:{\"value\":(aura.dim)},on:{\"change\":function($event){_vm.updateShape(true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(aura, \"dim\", _vm._n($event.target.value))},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('color-picker',{key:'colour-'+aura.uuid,attrs:{\"color\":aura.colour},on:{\"update:color\":function($event){_vm.$set(aura, \"colour\", $event)},\"input\":function($event){_vm.updateAuraColour(aura, $event)},\"change\":function($event){_vm.updateShape(true)}}}),_c('div',{key:'visibility-'+aura.uuid,style:({opacity: aura.visible ? 1.0 : 0.3}),on:{\"click\":function($event){aura.visible = !aura.visible;_vm.updateShape(true)}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('div',{key:'visionsource-'+aura.uuid,style:({opacity: aura.visionSource ? 1.0 : 0.3}),on:{\"click\":function($event){_vm.updateAuraVisionSource(aura)}}},[_c('i',{staticClass:\"fas fa-lightbulb\"})]),(aura.name !== '' || aura.value !== 0)?_c('div',{key:'remove-'+aura.uuid,on:{\"click\":function($event){_vm.removeAura(aura.uuid)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})]):_vm._e()]}),_c('div',{staticClass:\"spanrow header\"},[_vm._v(\"Annotation\")]),_c('textarea',{staticClass:\"spanrow\",domProps:{\"value\":_vm.shape.annotation},on:{\"change\":_vm.updateAnnotation}})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=template&id=078b3b76&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.getActiveLayer() !== undefined)?_c('ContextMenu',{attrs:{\"visible\":_vm.visible,\"left\":_vm.x + 'px',\"top\":_vm.y + 'px'},on:{\"close\":_vm.close}},[(_vm.getLayers().length > 1)?_c('li',[_vm._v(\"Layer\\n \"),_c('ul',_vm._l((_vm.getLayers()),function(layer){return _c('li',{key:layer.name,style:([_vm.getActiveLayer().name === layer.name ? {'background-color':'#82c8a0'}: {}]),on:{\"click\":function($event){_vm.setLayer(layer.name)}}},[_vm._v(_vm._s(layer.name))])}))]):_vm._e(),_c('li',{on:{\"click\":_vm.moveToBack}},[_vm._v(\"Move to back\")]),_c('li',{on:{\"click\":_vm.moveToFront}},[_vm._v(\"Move to front\")]),_c('li',{on:{\"click\":_vm.addInitiative}},[_vm._v(_vm._s(_vm.getInitiativeWord())+\" initiative\")])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=template&id=7111f3f6&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component\nexport default class Modal extends Vue {\n @Prop(Boolean) visible!: boolean;\n @Prop({ type: Boolean, default: true }) mask!: boolean;\n\n $refs!: {\n container: HTMLElement;\n };\n\n positioned = false;\n offsetX = 0;\n offsetY = 0;\n screenX = 0;\n screenY = 0;\n dragging = false;\n\n // Example of mounted required: opening note\n mounted() {\n this.updatePosition();\n }\n // Example of updated required: opening initiative\n updated() {\n this.updatePosition();\n }\n\n close(event: MouseEvent) {\n this.$emit(\"close\");\n }\n updatePosition() {\n if (!this.positioned) {\n const container = this.$refs.container;\n if (container.offsetWidth === 0 && container.offsetHeight === 0) return;\n this.$refs.container.style.left = (window.innerWidth - container.offsetWidth) / 2 + \"px\";\n this.$refs.container.style.top = (window.innerHeight - container.offsetHeight) / 2 + \"px\";\n this.positioned = true;\n }\n }\n dragStart(event: DragEvent) {\n if (event === null || event.dataTransfer === null) return;\n event.dataTransfer.setData(\"Hack\", \"\");\n // Because the drag event is happening on the header, we have to change the drag image\n // in order to give the impression that the entire modal is dragged.\n event.dataTransfer.setDragImage(this.$refs.container, event.offsetX, event.offsetY);\n this.offsetX = event.offsetX;\n this.offsetY = event.offsetY;\n this.screenX = event.screenX;\n this.screenY = event.screenY;\n this.dragging = true;\n }\n dragEnd(event: DragEvent) {\n this.dragging = false;\n let left = event.clientX - this.offsetX;\n let top = event.clientY - this.offsetY;\n if (event.clientX === 0 && event.clientY === 0 && event.pageX === 0 && event.pageY === 0) {\n left = parseInt(this.$refs.container.style.left!, 10) - (this.screenX - event.screenX);\n top = parseInt(this.$refs.container.style.top!, 10) - (this.screenY - event.screenY);\n }\n if (left < 0) left = 0;\n if (left > window.innerWidth - 100) left = window.innerWidth - 100;\n if (top < 0) top = 0;\n if (top > window.innerHeight - 100) top = window.innerHeight - 100;\n this.$refs.container.style.left = left + \"px\";\n this.$refs.container.style.top = top + \"px\";\n this.$refs.container.style.display = \"block\";\n }\n dragOver(event: DragEvent) {\n if (this.dragging) this.$refs.container.style.display = \"none\";\n }\n}\n","import io from \"socket.io-client\";\n\nimport { Asset } from \"@/core/comm/types\";\nimport { assetStore } from \"./store\";\n\nexport const socket = io(location.protocol + \"//\" + location.host + \"/pa_assetmgmt\", { autoConnect: false });\n\n// export const socket = io.connect(location.protocol + \"//\" + location.host + \"/pa_assetmgmt\");\nsocket.on(\"connect\", () => {\n console.log(\"Connected\");\n});\nsocket.on(\"disconnect\", () => {\n console.log(\"Disconnected\");\n});\nsocket.on(\"redirect\", (destination: string) => {\n console.log(\"redirecting\");\n window.location.href = destination;\n});\nsocket.on(\"Folder.Root.Set\", (root: number) => {\n assetStore.setRoot(root);\n});\nsocket.on(\"Folder.Set\", (folder: Asset) => {\n assetStore.clear();\n if (folder.children) {\n for (const child of folder.children) {\n assetStore.idMap.set(child.id, child);\n if (child.file_hash) {\n assetStore.files.push(child.id);\n } else {\n assetStore.folders.push(child.id);\n }\n }\n }\n});\nsocket.on(\"Folder.Create\", (folder: Asset) => {\n assetStore.folders.push(folder.id);\n assetStore.idMap.set(folder.id, folder);\n});\nsocket.on(\"Asset.Upload.Finish\", (asset: Asset) => {\n assetStore.idMap.set(asset.id, asset);\n assetStore.files.push(asset.id);\n});\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=style&index=0&id=1fee50f5&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=style&index=0&id=1fee50f5&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=0&lang=css&\"","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { g2lx, g2ly, g2lz } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class MultiLine extends Shape {\n type = \"multiline\";\n _points: GlobalPoint[] = [];\n lineWidth: number;\n constructor(\n startPoint: GlobalPoint,\n points?: GlobalPoint[],\n lineWidth?: number,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(startPoint, \"rgba(0, 0, 0, 0)\", strokeColour || \"#000\", uuid);\n this._points = points || [];\n this.lineWidth = lineWidth || 3;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n line_width: this.lineWidth,\n points: this._points.map(p => ({ x: p.x, y: p.y })),\n });\n }\n get points() {\n return this._points.map(point => [point.x, point.y]);\n }\n getBoundingBox(): BoundingRect {\n let minx: number = this.refPoint.x;\n let maxx: number = this.refPoint.y;\n let miny: number = this.refPoint.x;\n let maxy: number = this.refPoint.y;\n for (const p of this._points) {\n if (p.x < minx) minx = p.x;\n if (p.x > maxx) maxx = p.x;\n if (p.y < miny) miny = p.y;\n if (p.y > maxy) maxy = p.y;\n }\n return new BoundingRect(new GlobalPoint(minx, miny), maxx - minx, maxy - miny);\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.beginPath();\n ctx.lineCap = \"round\";\n ctx.lineJoin = \"round\";\n ctx.moveTo(g2lx(this.refPoint.x), g2ly(this.refPoint.y));\n for (const p of this._points) ctx.lineTo(g2lx(p.x), g2ly(p.y));\n if (this.strokeColour === \"fog\") ctx.strokeStyle = getFogColour();\n else ctx.strokeStyle = this.strokeColour;\n ctx.lineWidth = g2lz(this.lineWidth);\n ctx.stroke();\n }\n contains(point: GlobalPoint): boolean {\n return this._points.includes(point);\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {} // TODO\n getCorner(point: GlobalPoint): string | undefined {\n return \"\";\n } // TODO\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid(): void {}\n resizeToGrid(): void {}\n resize(resizeDir: string, point: LocalPoint): void {}\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"outer\",on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.open($event)}}},[_c('div',{staticClass:\"current-color\",style:(_vm.transparent ? 'background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)' : 'background-color:' + _vm.color),on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.open($event)}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.display),expression:\"display\"}],staticClass:\"mask\",on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.closePicker($event)}}}),_c('chrome-picker',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.display),expression:\"display\"}],ref:\"chromePicker\",style:({position: 'fixed', left:_vm.left + 'px', top:_vm.top + 'px', 'z-index': 9999}),attrs:{\"value\":_vm.color,\"tabindex\":\"-1\"},on:{\"input\":_vm.updateColor}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=template&id=b4f2c0b0&scoped=true&\"","import { render, staticRenderFns } from \"./draw.vue?vue&type=template&id=7abc7fe9&scoped=true&\"\nimport script from \"./draw.vue?vue&type=script&lang=ts&\"\nexport * from \"./draw.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./draw.vue?vue&type=style&index=0&id=7abc7fe9&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7abc7fe9\",\n null\n \n)\n\ncomponent.options.__file = \"draw.vue\"\nexport default component.exports","import tinycolor from \"tinycolor2\";\n\nimport { LocalPoint } from \"@/game/geom\";\nimport { gameStore } from \"@/game/store\";\n\nexport function getMouse(e: MouseEvent): LocalPoint {\n return new LocalPoint(e.pageX, e.pageY);\n}\n\nexport function getFogColour(opposite: boolean = false): string {\n const tc = tinycolor(gameStore.fowColour);\n if (gameStore.IS_DM) tc.setAlpha(opposite ? 1 : gameStore.fowOpacity);\n else tc.setAlpha(1);\n return tc.toRgbString();\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport * as tinycolor from \"tinycolor2\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { mapState } from \"vuex\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { calcFontScale } from \"@/core/utils\";\nimport { LocalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { CircularToken } from \"@/game/shapes/circulartoken\";\nimport { gameStore } from \"@/game/store\";\nimport { getUnitDistance, l2g } from \"@/game/units\";\nimport { Watch } from \"vue-property-decorator\";\n\n@Component({\n components: {\n Modal,\n \"color-picker\": ColorPicker,\n },\n computed: {\n ...mapState(\"game\", [\"unitSize\"]),\n },\n})\nexport default class CreateTokenModal extends Vue {\n x = 0;\n y = 0;\n visible = false;\n text = \"X\";\n fillColour = \"rgba(255, 255, 255, 1)\";\n borderColour = \"rgba(0, 0, 0, 1)\";\n\n mounted() {\n this.updatePreview();\n }\n\n @Watch(\"text\")\n onTextChange(newValue: string, oldValue: string) {\n this.updatePreview();\n }\n @Watch(\"fillColour\")\n onFillChange(newValue: string, oldValue: string) {\n this.updatePreview();\n }\n @Watch(\"borderColour\")\n onBorderChange(newValue: string, oldValue: string) {\n this.updatePreview();\n }\n\n open(x: number, y: number) {\n this.visible = true;\n this.x = x;\n this.y = y;\n }\n submit() {\n const layer = layerManager.getLayer();\n if (layer === undefined) return;\n const token = new CircularToken(\n l2g(new LocalPoint(this.x, this.y)),\n getUnitDistance(gameStore.unitSize / 2),\n this.text,\n \"10px serif\",\n this.fillColour,\n this.borderColour,\n );\n token.owners.push(gameStore.username);\n layer.addShape(token, true);\n layer.invalidate(false);\n this.visible = false;\n }\n updatePreview() {\n const ctx = (this.$refs.canvas).getContext(\"2d\")!;\n ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n ctx.beginPath();\n const dest = { x: ctx.canvas.width / 2, y: ctx.canvas.height / 2 };\n const r = Math.min(dest.x, dest.y) * 0.9;\n\n ctx.fillStyle = this.fillColour;\n\n ctx.arc(dest.x, dest.y, r, 0, 2 * Math.PI);\n ctx.fill();\n if (this.borderColour !== \"rgba(0, 0, 0, 0)\") {\n ctx.beginPath();\n ctx.lineWidth = 5;\n ctx.strokeStyle = this.borderColour;\n ctx.arc(dest.x, dest.y, r, 0, 2 * Math.PI);\n ctx.stroke();\n }\n ctx.save();\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n const xs = calcFontScale(ctx, this.text, r, r);\n const ys = 0;\n ctx.transform(xs, ys, -ys, xs, dest.x, dest.y);\n ctx.fillStyle = tinycolor.mostReadable(this.fillColour, [\"#000\", \"#fff\"]).toHexString();\n ctx.fillText(this.text, 0, 0);\n ctx.restore();\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { Note } from \"@/game/comm/types/general\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n Modal,\n },\n})\nexport default class NoteDialog extends Vue {\n visible = false;\n note: Note | null = null;\n\n open(note: Note) {\n this.visible = true;\n this.note = note;\n }\n calcHeight() {\n if (this.$refs.textarea) {\n const el = this.$refs.textarea;\n el.style.height = \"auto\";\n el.style.height = el.scrollHeight + \"px\";\n // Using the return value without the above did not achieve what I want, so hey /shrug\n return el.scrollHeight + \"px\";\n }\n return \"100px\";\n }\n updateNote() {\n if (this.note) gameStore.updateNote({ note: this.note, sync: true });\n }\n removeNote() {\n getRef(\"confirm\")\n .open(\"Are you sure you wish to remove this?\")\n .then(\n (result: boolean) => {\n if (result && this.note) {\n gameStore.removeNote({ note: this.note, sync: true });\n this.visible = false;\n }\n },\n () => {},\n );\n }\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=style&index=0&id=ccaf03d6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=style&index=0&id=ccaf03d6&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Component from \"vue-class-component\";\n\nimport { Watch } from \"vue-property-decorator\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { socket } from \"@/game/api/socket\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Circle } from \"@/game/shapes/circle\";\nimport { MultiLine } from \"@/game/shapes/multiline\";\nimport { Rect } from \"@/game/shapes/rect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { getUnitDistance, l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\n\n@Component({\n components: {\n \"color-picker\": ColorPicker,\n },\n})\nexport default class DrawTool extends Tool {\n name = \"Draw\";\n active = false;\n\n startPoint: GlobalPoint | null = null;\n shape: Shape | null = null;\n brushHelper: Circle | null = null;\n\n fillColour = \"rgba(0, 0, 0, 1)\";\n borderColour = \"rgba(255, 255, 255, 0)\";\n\n shapeSelect = \"square\";\n shapes = [\"square\", \"circle\", \"paint-brush\"];\n modeSelect = \"normal\";\n modes = [\"normal\", \"reveal\", \"hide\"];\n\n brushSize = getUnitDistance(gameStore.unitSize);\n\n get helperSize(): number {\n if (this.shapeSelect === \"paint-brush\") return this.brushSize / 2;\n return getUnitDistance(this.unitSize) / 8;\n }\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n get unitSize(): number {\n return gameStore.unitSize;\n }\n get useGrid(): boolean {\n return gameStore.useGrid;\n }\n\n @Watch(\"fillColour\")\n onFillChange() {\n if (this.brushHelper) this.brushHelper.fillColour = this.fillColour;\n }\n\n @Watch(\"modeSelect\")\n onModeUpdate(newValue: string, oldValue: string) {\n this.onModeChange(newValue, oldValue);\n }\n\n setupBrush() {\n if (this.brushHelper === null) return;\n if (this.modeSelect === \"reveal\" || this.modeSelect === \"hide\") {\n this.brushHelper.options.set(\"preFogShape\", true);\n this.brushHelper.options.set(\"skipDraw\", true);\n this.brushHelper.fillColour = \"rgba(0, 0, 0, 1)\";\n\n if (this.modeSelect === \"reveal\") this.brushHelper.globalCompositeOperation = \"source-over\";\n else if (this.modeSelect === \"hide\") this.brushHelper.globalCompositeOperation = \"destination-out\";\n } else {\n this.brushHelper.options.delete(\"preFogShape\");\n this.brushHelper.options.delete(\"skipDraw\");\n this.brushHelper.globalCompositeOperation = \"source-over\";\n this.brushHelper.fillColour = this.fillColour;\n }\n }\n onModeChange(newValue: string, oldValue: string) {\n if (this.brushHelper === null) return;\n\n const fowLayer = layerManager.getLayer(\"fow\");\n const normalLayer = layerManager.getLayer();\n if (fowLayer === undefined || normalLayer === undefined) return;\n\n this.setupBrush();\n\n if (newValue !== \"normal\" && oldValue === \"normal\") {\n normalLayer.removeShape(this.brushHelper, false);\n fowLayer.addShape(this.brushHelper, false);\n } else if (newValue === \"normal\" && oldValue !== \"normal\") {\n normalLayer.addShape(this.brushHelper, false);\n fowLayer.removeShape(this.brushHelper, false);\n }\n }\n getLayer() {\n if (this.modeSelect === \"normal\") return layerManager.getLayer();\n return layerManager.getLayer(\"fow\");\n }\n onMouseDown(event: MouseEvent) {\n const layer = this.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = true;\n this.startPoint = l2g(getMouse(event));\n if (this.shapeSelect === \"square\")\n this.shape = new Rect(this.startPoint.clone(), 0, 0, this.fillColour, this.borderColour);\n else if (this.shapeSelect === \"circle\")\n this.shape = new Circle(this.startPoint.clone(), this.helperSize, this.fillColour, this.borderColour);\n else if (this.shapeSelect === \"paint-brush\") {\n this.shape = new MultiLine(this.startPoint.clone(), [], this.brushSize);\n this.shape.fillColour = this.fillColour;\n } else return;\n\n if (this.modeSelect !== \"normal\") {\n this.shape.options.set(\"preFogShape\", true);\n this.shape.options.set(\"skipDraw\", true);\n this.shape.fillColour = \"rgba(0, 0, 0, 1)\";\n }\n if (this.modeSelect === \"reveal\") this.shape.globalCompositeOperation = \"source-over\";\n else if (this.modeSelect === \"hide\") this.shape.globalCompositeOperation = \"destination-out\";\n\n this.shape.owners.push(gameStore.username);\n if (layer.name === \"fow\" && this.modeSelect === \"normal\") {\n this.shape.visionObstruction = true;\n this.shape.movementObstruction = true;\n }\n gameStore.visionBlockers.push(this.shape.uuid);\n layer.addShape(this.shape, true, false);\n\n // Push brushhelper to back\n this.onDeselect();\n this.onSelect();\n }\n onMouseMove(event: MouseEvent) {\n const endPoint = l2g(getMouse(event));\n const layer = this.getLayer();\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n\n if (this.brushHelper !== null) {\n this.brushHelper.r = this.helperSize;\n this.brushHelper.refPoint = endPoint;\n if (!this.active) layer.invalidate(false);\n }\n\n if (!this.active || this.startPoint === null || this.shape === null) return;\n\n if (this.shapeSelect === \"square\") {\n (this.shape).w = Math.abs(endPoint.x - this.startPoint.x);\n (this.shape).h = Math.abs(endPoint.y - this.startPoint.y);\n this.shape.refPoint.x = Math.min(this.startPoint.x, endPoint.x);\n this.shape.refPoint.y = Math.min(this.startPoint.y, endPoint.y);\n } else if (this.shapeSelect === \"circle\") {\n (this.shape).r = endPoint.subtract(this.startPoint).length();\n } else if (this.shapeSelect === \"paint-brush\") {\n (this.shape)._points.push(endPoint);\n }\n socket.emit(\"Shape.Update\", { shape: this.shape!.asDict(), redraw: true, temporary: true });\n if (this.shape.visionObstruction) gameStore.recalculateBV(true);\n layer.invalidate(false);\n }\n onMouseUp(event: MouseEvent) {\n if (!this.active || this.shape === null) return;\n if (!event.altKey && this.useGrid) {\n this.shape.resizeToGrid();\n }\n if (this.shape.visionObstruction) gameStore.recalculateBV();\n socket.emit(\"Shape.Update\", { shape: this.shape!.asDict(), redraw: true, temporary: false });\n this.active = false;\n }\n onSelect() {\n const layer = this.getLayer();\n if (layer === undefined) return;\n this.brushHelper = new Circle(new GlobalPoint(-1000, -1000), this.brushSize / 2, this.fillColour);\n this.setupBrush();\n layer.addShape(this.brushHelper, false); // during mode change the shape is already added\n }\n onDeselect() {\n const layer = this.getLayer();\n if (this.brushHelper !== null && layer !== undefined) layer.removeShape(this.brushHelper, false);\n }\n}\n","import { GlobalPoint, LocalPoint } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { g2lx, g2ly } from \"@/game/units\";\n\nexport class Line extends Shape {\n type = \"line\";\n endPoint: GlobalPoint;\n lineWidth: number;\n constructor(\n startPoint: GlobalPoint,\n endPoint: GlobalPoint,\n lineWidth?: number,\n strokeColour?: string,\n uuid?: string,\n ) {\n super(startPoint, \"rgba(0, 0, 0, 0)\", strokeColour || \"#000\", uuid);\n this.endPoint = endPoint;\n this.lineWidth = lineWidth === undefined ? 1 : lineWidth;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n x2: this.endPoint.x,\n y2: this.endPoint.y,\n line_width: this.lineWidth,\n });\n }\n get points() {\n return [[this.refPoint.x, this.refPoint.y], [this.endPoint.x, this.endPoint.y]];\n }\n getBoundingBox(): BoundingRect {\n return new BoundingRect(\n new GlobalPoint(Math.min(this.refPoint.x, this.endPoint.x), Math.min(this.refPoint.x, this.endPoint.y)),\n Math.abs(this.refPoint.x - this.endPoint.x),\n Math.abs(this.refPoint.y - this.endPoint.y),\n );\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n ctx.strokeStyle = this.strokeColour;\n ctx.beginPath();\n ctx.moveTo(g2lx(this.refPoint.x), g2ly(this.refPoint.y));\n ctx.lineTo(g2lx(this.endPoint.x), g2ly(this.endPoint.y));\n ctx.lineWidth = this.lineWidth;\n ctx.stroke();\n }\n contains(point: GlobalPoint): boolean {\n return false; // TODO\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {} // TODO\n getCorner(point: GlobalPoint): string | undefined {\n return \"\";\n } // TODO\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n return true;\n } // TODO\n snapToGrid(): void {}\n resizeToGrid(): void {}\n resize(resizeDir: string, point: LocalPoint): void {}\n}\n","// import \"./class-component-hooks\";\n\nimport axios, { AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Router from \"vue-router\";\n\nVue.use(Router);\n\nimport AssetManager from \"@/assetManager/manager.vue\";\nimport Login from \"@/auth/login.vue\";\nimport Logout from \"@/auth/logout\";\nimport LoadComponent from \"@/core/components/load.vue\";\nimport Dashboard from \"@/dashboard/main.vue\";\nimport Game from \"@/game/game.vue\";\nimport Invitation from \"@/invitation/invitation\";\n\nimport { coreStore } from \"@/core/store\";\n// import { AssetManager } from \"./assetManager/assets\";\n// const AssetManager = () => import(\"./assetManager/assets\").then(m => m.AssetManager);\n\nexport const router = new Router({\n mode: \"history\",\n base: process.env.BASE_URL,\n routes: [\n {\n path: \"/\",\n redirect: \"/dashboard\",\n },\n {\n path: \"/_load\",\n name: \"load\",\n component: LoadComponent,\n },\n {\n path: \"/assets\",\n component: AssetManager,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/auth\",\n component: { template: \"\" },\n children: [{ path: \"login\", component: Login }, { path: \"logout\", component: Logout }],\n },\n {\n path: \"/invite/:code\",\n component: Invitation,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/dashboard\",\n component: Dashboard,\n meta: {\n auth: true,\n },\n },\n {\n path: \"/game/:creator/:room\",\n component: Game,\n meta: {\n auth: true,\n },\n },\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n if (!coreStore.initialized && to.path !== \"/_load\") {\n next({ path: \"/_load\" });\n axios\n .get(\"/api/auth\")\n .then((response: AxiosResponse) => {\n if (response.data.auth) {\n coreStore.setAuthenticated(true);\n coreStore.setUsername(response.data.username);\n }\n coreStore.setInitialized(true);\n router.push(to.path);\n })\n .catch(() => {\n console.error(\"Authentication check could not be fulfilled.\");\n });\n } else if (to.matched.some(record => record.meta.auth) && !coreStore.authenticated) {\n next({ path: \"/auth/login\", query: { redirect: to.path } });\n } else {\n next();\n }\n});\n","\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class Tool extends Vue {\n name = \"\";\n selected = false;\n active = false;\n get detailRight(): string {\n const rect = (this.$parent.$refs[this.name + \"-selector\"])[0].getBoundingClientRect();\n const mid = rect.left + rect.width / 2;\n\n return `${window.innerWidth - Math.min(window.innerWidth - 25, mid + 75)}px`;\n }\n get detailArrow(): string {\n const rect = (this.$parent.$refs[this.name + \"-selector\"])[0].getBoundingClientRect();\n const mid = rect.left + rect.width / 2;\n const right = Math.min(window.innerWidth - 25, mid + 75);\n return `${right - mid - 14}px`; // border width\n }\n created() {\n this.$parent.$on(\"mousedown\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onMouseDown(event);\n });\n this.$parent.$on(\"mouseup\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onMouseUp(event);\n });\n this.$parent.$on(\"mousemove\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onMouseMove(event);\n });\n this.$parent.$on(\"contextmenu\", (event: MouseEvent, tool: string) => {\n if (tool === this.name) this.onContextMenu(event);\n });\n this.$parent.$on(\"tools-select-change\", (newValue: string, oldValue: string) => {\n if (oldValue === this.name) {\n this.selected = false;\n this.onDeselect();\n } else if (newValue === this.name) {\n this.selected = true;\n this.onSelect();\n }\n });\n }\n onSelect() {}\n onDeselect() {}\n onMouseDown(event: MouseEvent) {}\n onMouseUp(event: MouseEvent) {}\n onMouseMove(event: MouseEvent) {}\n onContextMenu(event: MouseEvent) {}\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.selected)?_c('div',{staticClass:\"tool-detail\",style:({'--detailRight': _vm.detailRight, '--detailArrow': _vm.detailArrow})},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.IS_DM),expression:\"IS_DM\"}]},[_vm._v(\"Mode\")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.IS_DM),expression:\"IS_DM\"}],staticClass:\"selectgroup\"},_vm._l((_vm.modes),function(mode){return _c('div',{key:mode,staticClass:\"option\",class:{'option-selected': _vm.modeSelect === mode},on:{\"click\":function($event){_vm.modeSelect = mode}}},[_vm._v(_vm._s(mode))])})),_c('div',[_vm._v(\"Shape\")]),_c('div',{staticClass:\"selectgroup\"},_vm._l((_vm.shapes),function(shape){return _c('div',{key:shape,staticClass:\"option\",class:{'option-selected': _vm.shapeSelect === shape},on:{\"click\":function($event){_vm.shapeSelect = shape}}},[_c('i',{staticClass:\"fas\",class:'fa-' + shape})])})),_c('div',[_vm._v(\"Colours\")]),_c('div',{staticClass:\"selectgroup\"},[_c('color-picker',{staticClass:\"option\",attrs:{\"color\":_vm.fillColour},on:{\"update:color\":function($event){_vm.fillColour=$event}}}),_c('color-picker',{staticClass:\"option\",attrs:{\"color\":_vm.borderColour},on:{\"update:color\":function($event){_vm.borderColour=$event}}})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shapeSelect === 'paint-brush'),expression:\"shapeSelect === 'paint-brush'\"}]},[_vm._v(\"Brush size\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.brushSize),expression:\"brushSize\"},{name:\"show\",rawName:\"v-show\",value:(_vm.shapeSelect === 'paint-brush'),expression:\"shapeSelect === 'paint-brush'\"}],staticStyle:{\"max-width\":\"100px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.brushSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.brushSize=$event.target.value}}})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=template&id=7abc7fe9&scoped=true&\"","import { render, staticRenderFns } from \"./tools.vue?vue&type=template&id=1fee50f5&scoped=true&\"\nimport script from \"./tools.vue?vue&type=script&lang=ts&\"\nexport * from \"./tools.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./tools.vue?vue&type=style&index=0&id=1fee50f5&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fee50f5\",\n null\n \n)\n\ncomponent.options.__file = \"tools.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=script&lang=ts&\"","import { InitiativeData } from \"@/game/comm/types/general\";\nimport { ServerAsset } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { BaseRect } from \"@/game/shapes/baserect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2lx, g2ly, g2lz } from \"@/game/units\";\n\nexport class Asset extends BaseRect {\n type = \"assetrect\";\n img: HTMLImageElement;\n src: string = \"\";\n constructor(img: HTMLImageElement, topleft: GlobalPoint, w: number, h: number, uuid?: string) {\n super(topleft, w, h);\n if (uuid !== undefined) this.uuid = uuid;\n this.img = img;\n }\n asDict() {\n return Object.assign(this.getBaseDict(), {\n src: this.src,\n });\n }\n fromDict(data: ServerAsset) {\n super.fromDict(data);\n this.src = data.src;\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n try {\n ctx.drawImage(this.img, g2lx(this.refPoint.x), g2ly(this.refPoint.y), g2lz(this.w), g2lz(this.h));\n } catch (error) {\n console.warn(`Shape ${this.uuid} could not load the image ${this.src}`);\n }\n }\n getInitiativeRepr(): InitiativeData {\n return {\n uuid: this.uuid,\n visible: !gameStore.IS_DM,\n group: false,\n source: this.src,\n has_img: true,\n effects: [],\n index: Infinity,\n };\n }\n}\n","import {\n EdgeCirculator,\n FaceCirculator,\n LineFaceCirculator,\n LocateType,\n Point,\n Sign,\n TDS,\n Triangle,\n Vertex,\n} from \"./tds\";\nimport {\n ccw,\n collinearBetween,\n cw,\n edgeInfo,\n hasInexactNegativeOrientation,\n intersection,\n orientation,\n sideOfOrientedCircle,\n xyEqual,\n} from \"./triag\";\n\nexport type Edge = [Triangle, number];\n\nexport class CDT {\n tds: TDS;\n constructor() {\n this.tds = new TDS();\n (window).TDS = this.tds;\n }\n insertConstraint(a: Point, b: Point) {\n const va = this.insert(a);\n const vb = this.insert(b);\n if (va !== vb) this.insertConstraintV(va, vb);\n }\n\n insertConstraintV(va: Vertex, vb: Vertex) {\n const stack = [[va, vb]];\n while (stack.length > 0) {\n const v = stack.pop()!;\n const info = edgeInfo(v[0], v[1]);\n if (info.includes) {\n this.markConstraint(info.fr!, info.i!);\n if (info.vi! !== v[1]) {\n stack.push([info.vi!, v[1]]);\n }\n continue;\n }\n const intersectionInfo = this.findIntersectedFaces(v[0], v[1]);\n if (intersectionInfo.found) {\n if (intersectionInfo.vi !== v[0] && intersectionInfo.vi !== v[1]) {\n stack.push([v[0], intersectionInfo.vi]);\n stack.push([intersectionInfo.vi, v[1]]);\n } else {\n stack.push(v);\n }\n continue;\n }\n this.triangulateHole(intersectionInfo.intersectedFaces, intersectionInfo.listAB, intersectionInfo.listBA);\n if (intersectionInfo.vi !== v[1]) {\n stack.push([intersectionInfo.vi, v[1]]);\n }\n }\n }\n\n triangulateHole(intersectedFaces: Triangle[], listAB: Edge[], listBA: Edge[]) {\n const edges: Edge[] = [];\n this.triangulateHole2(intersectedFaces, listAB, listBA, edges);\n this.propagatingFlipE(edges);\n }\n\n triangulateHole2(intersectedFaces: Triangle[], listAB: Edge[], listBA: Edge[], edges: Edge[]) {\n if (listAB.length > 0) {\n this.triangulateHalfHole(listAB, edges);\n this.triangulateHalfHole(listBA, edges);\n const fl = listAB[0][0];\n const fr = listBA[0][0];\n fl.neighbours[2] = fr;\n fr.neighbours[2] = fl;\n fl.constraints[2] = true;\n fr.constraints[2] = true;\n\n while (intersectedFaces.length > 0) {\n this.tds.deleteTriangle(intersectedFaces.shift()!);\n }\n }\n }\n\n triangulateHalfHole(conflictBoundaries: Edge[], edges: Edge[]) {\n let iC = 0;\n let iN: number;\n let iT: number;\n const current = () => conflictBoundaries[iC];\n const next = () => conflictBoundaries[iN];\n const tempo = () => conflictBoundaries[iT];\n\n const va = current()[0].vertices[ccw(current()[1])]!;\n iN = iC;\n ++iN;\n\n let n: Triangle;\n let n1: Triangle;\n let n2: Triangle;\n let ind: number;\n let ind1: number;\n let ind2: number;\n do {\n n1 = current()[0];\n ind1 = current()[1];\n if (n1.neighbours[ind1] !== null) {\n n = n1.neighbours[ind1]!;\n ind = cw(n.indexV(n1.vertices[cw(ind1)]!));\n n1 = n.neighbours[ind]!;\n ind1 = this.tds.mirrorIndex(n, ind);\n }\n n2 = next()[0];\n ind2 = next()[1];\n if (n2.neighbours[ind2] !== null) {\n n = n2.neighbours[ind2]!;\n ind = cw(n.indexV(n2.vertices[cw(ind2)]!));\n n2 = n.neighbours[ind]!;\n ind2 = this.tds.mirrorIndex(n, ind);\n }\n const v0 = n1.vertices[ccw(ind1)]!;\n const v1 = n1.vertices[cw(ind1)]!;\n const v2 = n2.vertices[cw(ind2)]!;\n const orient = orientation(v0.point!, v1.point!, v2.point!);\n switch (orient) {\n case Sign.RIGHT_TURN: {\n const newlf = this.tds.createTriangle(v0, v2, v1, null, null, null);\n edges.push([newlf, 2]);\n newlf.neighbours[1] = n1;\n newlf.neighbours[0] = n2;\n n1.neighbours[ind1] = newlf;\n n2.neighbours[ind2] = newlf;\n if (n1.isConstrained(ind1)) newlf.constraints[1] = true;\n if (n2.isConstrained(ind2)) newlf.constraints[0] = true;\n v0.triangle = newlf;\n v1.triangle = newlf;\n v2.triangle = newlf;\n iT = iC + 1;\n conflictBoundaries.splice(iC, 0, [newlf, 2]);\n conflictBoundaries.splice(Math.max(iT, iN), 1);\n conflictBoundaries.splice(Math.min(iT, iN), 1);\n iN = iC;\n if (v0 !== va) --iC;\n else ++iN;\n break;\n }\n case Sign.LEFT_TURN:\n case Sign.COLLINEAR: {\n ++iC;\n ++iN;\n break;\n }\n }\n } while (iN < conflictBoundaries.length);\n }\n\n findIntersectedFaces(vaa: Vertex, vbb: Vertex) {\n const aa = vaa.point!;\n const bb = vbb.point!;\n const listAB: Edge[] = [];\n const listBA: Edge[] = [];\n const intersectedFaces: Triangle[] = [];\n const lfc = new LineFaceCirculator(vaa, this, bb);\n let ind = lfc.pos!.indexV(vaa);\n let vi: Vertex;\n if (lfc.pos!.isConstrained(ind)) {\n vi = this.intersect(lfc.pos!, ind, vaa, vbb);\n return { found: true, vi, listAB, listBA, intersectedFaces };\n }\n let lf = lfc.pos!.neighbours[ccw(ind)]!;\n let rf = lfc.pos!.neighbours[cw(ind)]!;\n listAB.push([lf, lf.indexT(lfc.pos!)]);\n listBA.unshift([rf, rf.indexT(lfc.pos!)]);\n intersectedFaces.unshift(lfc.pos!);\n let previousFace = lfc.pos!;\n lfc.next();\n ind = lfc.pos!.indexT(previousFace);\n let currentVertex = lfc.pos!.vertices[ind]!;\n let done = false;\n while (currentVertex !== vbb && !done) {\n let i1: number;\n let i2: number;\n const orient = orientation(aa, bb, currentVertex.point!);\n switch (orient) {\n case Sign.COLLINEAR: {\n done = true;\n break;\n }\n case Sign.LEFT_TURN:\n case Sign.RIGHT_TURN: {\n if (orient === Sign.LEFT_TURN) {\n i1 = ccw(ind);\n i2 = cw(ind);\n } else {\n i1 = cw(ind);\n i2 = ccw(ind);\n }\n if (lfc.pos!.isConstrained(i1)) {\n vi = this.intersect(lfc.pos!, i1, vaa, vbb);\n return { found: true, vi, listAB, listBA, intersectedFaces };\n } else {\n lf = lfc.pos!.neighbours[i2]!;\n intersectedFaces.unshift(lfc.pos!);\n if (orient === Sign.LEFT_TURN) listAB.push([lf, lf.indexT(lfc.pos!)]);\n else listBA.unshift([lf, lf.indexT(lfc.pos!)]);\n previousFace = lfc.pos!;\n lfc.next();\n ind = lfc.pos!.indexT(previousFace);\n currentVertex = lfc.pos!.vertices[ind]!;\n }\n break;\n }\n }\n }\n vi = currentVertex;\n intersectedFaces.unshift(lfc.pos!);\n lf = lfc.pos!.neighbours[cw(ind)]!;\n listAB.push([lf, lf.indexT(lfc.pos!)]);\n rf = lfc.pos!.neighbours[ccw(ind)]!;\n listBA.unshift([rf, rf.indexT(lfc.pos!)]);\n return { found: false, vi, listAB, listBA, intersectedFaces };\n }\n\n intersect(t: Triangle, i: number, vaa: Vertex, vbb: Vertex): Vertex {\n const vcc = t.vertices[cw(i)]!;\n const vdd = t.vertices[ccw(i)]!;\n const pa = vaa.point!;\n const pb = vbb.point!;\n const pc = vcc.point!;\n const pd = vdd.point!;\n const pi = intersection(pa, pb, pc, pd);\n let vi: Vertex;\n if (pi === null) throw new Error(\"what\");\n else {\n this.removeConstrainedEdge(t, i);\n vi = this.insert(pi, t);\n }\n\n if (vi !== vcc && vi !== vdd) {\n this.insertConstraintV(vcc, vi);\n this.insertConstraintV(vi, vdd);\n } else {\n this.insertConstraintV(vcc, vdd);\n }\n return vi;\n }\n\n removeConstrainedEdge(t: Triangle, i: number) {\n t.constraints[i] = false;\n if (this.tds.dimension === 2) t.neighbours[i]!.constraints[this.tds.mirrorIndex(t, i)] = false;\n }\n\n updateConstraintsOpposite(v: Vertex) {\n let t = v.triangle!;\n const start = t;\n let indf: number;\n do {\n indf = t.indexV(v);\n if (t.neighbours[indf]!.constraints[this.tds.mirrorIndex(t, indf)]) t.constraints[indf] = true;\n else t.constraints[indf] = false;\n t = t.neighbours[ccw(indf)]!;\n } while (t !== start);\n }\n\n markConstraint(t: Triangle, i: number) {\n if (this.tds.dimension === 1) t.constraints[2] = true;\n else {\n t.constraints[i] = true;\n t.neighbours[i]!.constraints[this.tds.mirrorIndex(t, i)] = true;\n }\n }\n\n insert(p: Point, start: Triangle | null = null) {\n const locateInfo = this.locate(p, this.iLocate(p, start));\n const va = this.insertb(p, locateInfo.loc, locateInfo.lt, locateInfo.li);\n this.flipAround(va);\n return va;\n }\n\n flipAround(v: Vertex) {\n if (this.tds.dimension <= 1) return;\n let t = v.triangle!;\n let i: number;\n let next: Triangle;\n const start = t;\n do {\n i = t.indexV(v);\n next = t.neighbours[ccw(i)]!;\n this.propagatingFlip(t, i);\n t = next;\n } while (next !== start);\n }\n\n propagatingFlip(t: Triangle, i: number, depth = 0) {\n if (!this.isFlipable(t, i)) return;\n const maxDepth = 100;\n if (depth === maxDepth) {\n throw new Error(\"maxde\");\n return;\n }\n const ni = t.neighbours[i]!;\n this.flip(t, i);\n this.propagatingFlip(t, i, depth + 1);\n i = ni.indexV(t.vertices[i]!);\n this.propagatingFlip(ni, i, depth + 1);\n }\n\n lessEdge(e1: Edge, e2: Edge) {\n const ind1 = e1[1];\n const ind2 = e2[1];\n /* return( (&(*e1.first) < &(*e2.first))\n || ( (&(*e1.first) == &(*e2.first)) && (ind1 < ind2)));*/\n // TODO: This is not proper.\n // console.error(\"This has to be done correctly\");\n return ind1 < ind2;\n }\n\n propagatingFlipE(edges: Edge[]) {\n let eI = 0;\n let t: Triangle;\n let i: number;\n let eni: Edge;\n const edgeSet: Edge[] = [];\n while (eI < edges.length) {\n t = edges[eI][0];\n i = edges[eI][1];\n if (this.isFlipable(t, i)) {\n eni = [t.neighbours[i]!, this.tds.mirrorIndex(t, i)];\n if (this.lessEdge(edges[eI], eni)) edgeSet.push(edges[eI]);\n else edgeSet.push(eni);\n }\n ++eI;\n }\n let indf: number;\n let ni: Triangle;\n let indn: number;\n let ei: Edge;\n const e: (Edge | null)[] = [null, null, null, null];\n while (edgeSet.length > 0) {\n t = edgeSet[0][0];\n indf = edgeSet[0][1];\n ni = t.neighbours[indf]!;\n indn = this.tds.mirrorIndex(t, indf);\n ei = [t, indf];\n edgeSet.splice(edgeSet.findIndex(ed => ed[0] === ei[0] && ed[1] === ei[1]), 1);\n e[0] = [t, cw(indf)];\n e[1] = [t, ccw(indf)];\n e[2] = [ni, cw(indn)];\n e[3] = [ni, ccw(indn)];\n\n for (const edge of e) {\n const tt = edge![0];\n const ii = edge![1];\n if (this.isFlipable(tt, ii)) {\n eni = [tt.neighbours[ii]!, this.tds.mirrorIndex(tt, ii)];\n if (this.lessEdge(edge!, eni)) edgeSet.push(edge!);\n else edgeSet.push(eni);\n }\n }\n }\n }\n\n flip(t: Triangle, i: number) {\n const u = t.neighbours[i]!;\n const j = this.tds.mirrorIndex(t, i);\n const t1 = t.neighbours[cw(i)]!;\n const i1 = this.tds.mirrorIndex(t, cw(i));\n const t2 = t.neighbours[ccw(i)]!;\n const i2 = this.tds.mirrorIndex(t, ccw(i));\n const t3 = u.neighbours[cw(j)]!;\n const i3 = this.tds.mirrorIndex(u, cw(j));\n const t4 = u.neighbours[ccw(j)]!;\n const i4 = this.tds.mirrorIndex(u, ccw(j));\n this.tds.flip(t, i);\n t.constraints[t.indexT(u)] = false;\n u.constraints[u.indexT(t)] = false;\n t1.neighbours[i1]!.constraints[this.tds.mirrorIndex(t1, i1)] = t1.constraints[i1];\n t2.neighbours[i2]!.constraints[this.tds.mirrorIndex(t2, i2)] = t2.constraints[i2];\n t3.neighbours[i3]!.constraints[this.tds.mirrorIndex(t3, i3)] = t3.constraints[i3];\n t4.neighbours[i4]!.constraints[this.tds.mirrorIndex(t4, i4)] = t4.constraints[i4];\n }\n\n isFlipable(t: Triangle, i: number, perturb = true) {\n const ni = t.neighbours[i]!;\n if (t.isInfinite() || ni.isInfinite()) return false;\n if (t.constraints[i]) return false;\n return sideOfOrientedCircle(ni, t.vertices[i]!.point!, perturb) === Sign.ON_POSITIVE_SIDE;\n }\n\n insertb(a: Point, loc: Triangle | null, lt: LocateType, li: number): Vertex {\n let insertInConstrainedEdge = false;\n let v1: Vertex;\n let v2: Vertex;\n if (lt === LocateType.EDGE && loc!.isConstrained(li)) {\n insertInConstrainedEdge = true;\n v1 = loc!.vertices[ccw(li)]!;\n v2 = loc!.vertices[cw(li)]!;\n }\n const va = this.insertc(a, loc, lt, li);\n if (insertInConstrainedEdge) this.updateConstraintsIncident(va, v1!, v2!);\n else if (lt !== LocateType.VERTEX) this.clearConstraintsIncident(va);\n if (this.tds.dimension === 2) this.updateConstraintsOpposite(va);\n return va;\n }\n\n updateConstraintsIncident(va: Vertex, c1: Vertex, c2: Vertex) {\n if (this.tds.dimension === 0) return;\n if (this.tds.dimension === 1) {\n const ec = new EdgeCirculator(va, null);\n do {\n ec.t!.constraints[2] = true;\n } while (ec.next());\n } else {\n const fc = new FaceCirculator(va, null);\n do {\n const indf = fc.t!.indexV(va);\n const cwi = cw(indf);\n const ccwi = ccw(indf);\n if (fc.t!.vertices[cwi] === c1 || fc.t!.vertices[cwi] === c2) {\n fc.t!.constraints[ccwi] = true;\n fc.t!.constraints[cwi] = false;\n } else {\n fc.t!.constraints[ccwi] = false;\n fc.t!.constraints[cwi] = true;\n }\n } while (fc.next());\n }\n }\n\n clearConstraintsIncident(v: Vertex) {\n const ec = new EdgeCirculator(v, null);\n if (ec.valid) {\n do {\n const t = ec.t!;\n const indf = ec.ri;\n t.constraints[indf] = false;\n if (this.tds.dimension === 2) t.neighbours[indf]!.constraints[this.tds.mirrorIndex(t, indf)] = false;\n } while (ec.next());\n }\n }\n\n insertc(p: Point, loc: Triangle | null, lt: LocateType, li: number): Vertex {\n if (this.tds.vertices.length === 1) {\n return this.insertFirst(p);\n } else if (this.tds.vertices.length === 2) {\n if (lt === LocateType.VERTEX) return this.tds.finiteVertex;\n else return this.insertSecond(p);\n }\n switch (lt) {\n case LocateType.VERTEX: {\n return loc!.vertices[li]!;\n }\n case LocateType.OUTSIDE_AFFINE_HULL: {\n return this.insertOutsideAffineHull(p);\n }\n case LocateType.OUTSIDE_CONVEX_HULL: {\n return this.insertOutsideConvexHull(p, loc!);\n }\n case LocateType.EDGE: {\n return this.insertInEdge(p, loc!, li);\n }\n case LocateType.FACE: {\n return this.insertInFace(p, loc!);\n }\n }\n throw new Error(\"qwe\");\n return new Vertex();\n }\n\n insertInEdge(p: Point, loc: Triangle, li: number): Vertex {\n const v = this.tds.insertInEdge(loc, li);\n v.point = p;\n return v;\n }\n\n insertInFace(p: Point, loc: Triangle): Vertex {\n const v = this.tds.insertInFace(loc);\n v.point = p;\n return v;\n }\n\n insertFirst(p: Point): Vertex {\n const v = this.tds.insertDimUp();\n v.point = p;\n return v;\n }\n\n insertSecond(p: Point): Vertex {\n const v = this.tds.insertDimUp(this.tds._infinite, true);\n v.point = p;\n return v;\n }\n\n insertOutsideAffineHull(p: Point): Vertex {\n let conform = false;\n if (this.tds.dimension === 1) {\n const t = this.tds.finiteEdge.first!;\n const orient = orientation(t.vertices[0]!.point!, t.vertices[1]!.point!, p);\n conform = orient === Sign.COUNTERCLOCKWISE;\n }\n const v = this.tds.insertDimUp(this.tds._infinite, conform);\n v.point = p;\n return v;\n }\n\n insertOutsideConvexHull(p: Point, t: Triangle): Vertex {\n let v: Vertex;\n if (this.tds.dimension === 1) {\n throw new Error(\"sdfasdasd\");\n } else {\n v = this.insertOutsideConvexHull2(p, t);\n }\n v.point = p;\n return v;\n }\n\n insertOutsideConvexHull2(p: Point, t: Triangle): Vertex {\n let li = t.indexV(this.tds._infinite);\n const ccwlist: Triangle[] = [];\n const cwlist: Triangle[] = [];\n let fc = new FaceCirculator(this.tds._infinite, t);\n let done = false;\n while (!done) {\n fc.prev();\n li = fc.t!.indexV(this.tds._infinite);\n const q = fc.t!.vertices[ccw(li)]!.point!;\n const r = fc.t!.vertices[cw(li)]!.point!;\n if (orientation(p, q, r) === Sign.LEFT_TURN) ccwlist.push(fc.t!);\n else done = true;\n }\n fc = new FaceCirculator(this.tds._infinite, t);\n done = false;\n while (!done) {\n fc.next();\n li = fc.t!.indexV(this.tds._infinite);\n const q = fc.t!.vertices[ccw(li)]!.point!;\n const r = fc.t!.vertices[cw(li)]!.point!;\n if (orientation(p, q, r) === Sign.LEFT_TURN) cwlist.push(fc.t!);\n else done = true;\n }\n const v = this.tds.insertInFace(t);\n v.point = p;\n let th;\n while (ccwlist.length > 0) {\n th = ccwlist[0];\n li = ccw(th.indexV(this.tds._infinite));\n this.tds.flip(th, li);\n ccwlist.shift();\n }\n while (cwlist.length > 0) {\n th = cwlist[0];\n li = cw(th.indexV(this.tds._infinite));\n this.tds.flip(th, li);\n cwlist.shift();\n }\n fc = new FaceCirculator(v, null);\n while (!fc.t!.isInfinite()) fc.next();\n this.tds._infinite.triangle = fc.t!;\n return v;\n }\n\n locate(p: Point, start: Triangle | null) {\n let lt = 0;\n let li = 0;\n if (this.tds.dimension < 0) {\n lt = LocateType.OUTSIDE_AFFINE_HULL;\n li = 4;\n return { loc: null, lt, li };\n } else if (this.tds.dimension === 0) {\n if (xyEqual(p, this.tds.finiteVertex.triangle!.vertices[0]!.point!)) {\n lt = LocateType.VERTEX;\n } else {\n lt = LocateType.OUTSIDE_AFFINE_HULL;\n }\n li = 4;\n return { loc: null, lt, li };\n } else if (this.tds.dimension === 1) {\n return this.marchLocate1D(p);\n }\n if (start === null) {\n const t = this.tds._infinite.triangle!;\n start = t.neighbours[t.indexV(this.tds._infinite)]!;\n } else if (start.isInfinite()) {\n start = start.neighbours[start.indexV(this.tds._infinite)]!;\n }\n return this.marchLocate2D(start, p);\n }\n\n marchLocate1D(p: Point) {\n const ff = this.tds._infinite.triangle!;\n const iv = ff.indexV(this.tds._infinite);\n const t = ff.neighbours[iv]!;\n const pqt = orientation(t.vertices[0]!.point!, t.vertices[1]!.point!, p);\n if (pqt === Sign.RIGHT_TURN || pqt === Sign.LEFT_TURN) {\n return { loc: new Triangle(), lt: LocateType.OUTSIDE_AFFINE_HULL, li: 4 };\n }\n const i = t.indexT(ff);\n if (collinearBetween(p, t.vertices[1 - i]!.point!, t.vertices[i]!.point!))\n return { loc: ff, lt: LocateType.OUTSIDE_CONVEX_HULL, li: iv };\n\n if (xyEqual(p, t.vertices[1 - i]!.point!)) return { loc: t, lt: LocateType.VERTEX, li: 1 - i };\n throw new Error(\"sdfsdf\");\n }\n\n marchLocate2D(c: Triangle, p: Point) {\n let prev = null;\n let first = true;\n let lt: LocateType | undefined;\n let li: number | undefined;\n while (true) {\n if (c.isInfinite()) {\n return { loc: c, lt: LocateType.OUTSIDE_CONVEX_HULL, li: c.indexV(this.tds._infinite) };\n }\n const leftFirst = Math.round(Math.random());\n const p0 = c.vertices[0]!.point!;\n const p1 = c.vertices[1]!.point!;\n const p2 = c.vertices[2]!.point!;\n let o0: Sign;\n let o1: Sign;\n let o2: Sign;\n if (first) {\n prev = c;\n first = false;\n o0 = orientation(p0, p1, p);\n if (o0 === Sign.NEGATIVE) {\n c = c.neighbours[2]!;\n continue;\n }\n o1 = orientation(p1, p2, p);\n if (o1 === Sign.NEGATIVE) {\n c = c.neighbours[0]!;\n continue;\n }\n o2 = orientation(p2, p0, p);\n if (o2 === Sign.NEGATIVE) {\n c = c.neighbours[1]!;\n continue;\n }\n } else if (leftFirst) {\n if (c.neighbours[0]! === prev) {\n prev = c;\n o0 = orientation(p0, p1, p);\n if (o0 === Sign.NEGATIVE) {\n c = c.neighbours[2]!;\n continue;\n }\n o2 = orientation(p2, p0, p);\n if (o2 === Sign.NEGATIVE) {\n c = c.neighbours[1]!;\n continue;\n }\n o1 = Sign.POSITIVE;\n } else if (c.neighbours[1]! === prev) {\n prev = c;\n o1 = orientation(p1, p2, p);\n if (o1 === Sign.NEGATIVE) {\n c = c.neighbours[0]!;\n continue;\n }\n o0 = orientation(p0, p1, p);\n if (o0 === Sign.NEGATIVE) {\n c = c.neighbours[2]!;\n continue;\n }\n o2 = Sign.POSITIVE;\n } else {\n prev = c;\n o2 = orientation(p2, p0, p);\n if (o2 === Sign.NEGATIVE) {\n c = c.neighbours[1]!;\n continue;\n }\n o1 = orientation(p1, p2, p);\n if (o1 === Sign.NEGATIVE) {\n c = c.neighbours[0]!;\n continue;\n }\n o0 = Sign.POSITIVE;\n }\n } else {\n if (c.neighbours[0] === prev) {\n prev = c;\n o2 = orientation(p2, p0, p);\n if (o2 === Sign.NEGATIVE) {\n c = c.neighbours[1]!;\n continue;\n }\n o0 = orientation(p0, p1, p);\n if (o0 === Sign.NEGATIVE) {\n c = c.neighbours[2]!;\n continue;\n }\n o1 = Sign.POSITIVE;\n } else if (c.neighbours[1] === prev) {\n prev = c;\n o0 = orientation(p0, p1, p);\n if (o0 === Sign.NEGATIVE) {\n c = c.neighbours[2]!;\n continue;\n }\n o1 = orientation(p1, p2, p);\n if (o1 === Sign.NEGATIVE) {\n c = c.neighbours[0]!;\n continue;\n }\n o2 = Sign.POSITIVE;\n } else {\n prev = c;\n o1 = orientation(p1, p2, p);\n if (o1 === Sign.NEGATIVE) {\n c = c.neighbours[0]!;\n continue;\n }\n o2 = orientation(p2, p0, p);\n if (o2 === Sign.NEGATIVE) {\n c = c.neighbours[1]!;\n continue;\n }\n o0 = Sign.POSITIVE;\n }\n }\n const sum =\n (o0 === Sign.COLLINEAR ? 1 : 0) + (o1 === Sign.COLLINEAR ? 1 : 0) + (o2 === Sign.COLLINEAR ? 1 : 0);\n switch (sum) {\n case 0: {\n lt = LocateType.FACE;\n li = 4;\n break;\n }\n case 1: {\n lt = LocateType.EDGE;\n li = o0 === Sign.COLLINEAR ? 2 : o1 === Sign.COLLINEAR ? 0 : 1;\n break;\n }\n case 2: {\n lt = LocateType.VERTEX;\n li = o0 !== Sign.COLLINEAR ? 2 : o1 !== Sign.COLLINEAR ? 0 : 1;\n break;\n }\n }\n if (lt === undefined || li === undefined) throw new Error(\"ert\");\n return { loc: c, lt, li };\n }\n }\n\n iLocate(p: Point, start: Triangle | null) {\n if (this.tds.dimension < 2) return start;\n if (start === null) {\n const t = this.tds._infinite.triangle!;\n start = t.neighbours[t.indexV(this.tds._infinite)];\n } else if (start.isInfinite()) {\n start = start.neighbours[start.indexV(this.tds._infinite)];\n }\n let prev = null;\n let c = start!;\n let first = true;\n let nTurns = 2500;\n while (true) {\n if (!nTurns--) return c;\n if (c.isInfinite()) return c;\n const p0 = c.vertices[0]!.point!;\n const p1 = c.vertices[1]!.point!;\n const p2 = c.vertices[2]!.point!;\n if (first) {\n prev = c;\n first = false;\n if (hasInexactNegativeOrientation(p0, p1, p)) {\n c = c.neighbours[2]!;\n continue;\n }\n if (hasInexactNegativeOrientation(p1, p2, p)) {\n c = c.neighbours[0]!;\n continue;\n }\n if (hasInexactNegativeOrientation(p2, p0, p)) {\n c = c.neighbours[1]!;\n continue;\n }\n } else {\n if (c.neighbours[0] === prev) {\n prev = c;\n if (hasInexactNegativeOrientation(p0, p1, p)) {\n c = c.neighbours[2]!;\n continue;\n }\n if (hasInexactNegativeOrientation(p2, p0, p)) {\n c = c.neighbours[1]!;\n continue;\n }\n } else if (c.neighbours[1] === prev) {\n prev = c;\n if (hasInexactNegativeOrientation(p0, p1, p)) {\n c = c.neighbours[2]!;\n continue;\n }\n if (hasInexactNegativeOrientation(p1, p2, p)) {\n c = c.neighbours[0]!;\n continue;\n }\n } else {\n prev = c;\n if (hasInexactNegativeOrientation(p2, p0, p)) {\n c = c.neighbours[1]!;\n continue;\n }\n if (hasInexactNegativeOrientation(p1, p2, p)) {\n c = c.neighbours[0]!;\n continue;\n }\n }\n }\n break;\n }\n return c;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"menuContainer\"}},[_c('div',{ref:\"rm\",style:({\n left: _vm.visible.settings ? '200px' : '0',\n top: _vm.visible.locations ? '100px' : '0'\n }),attrs:{\"id\":\"radialmenu\"}},[_c('div',{staticClass:\"rm-wrapper\"},[_c('div',{staticClass:\"rm-toggler\"},[_c('ul',{staticClass:\"rm-list\",class:{ 'rm-list-dm': _vm.IS_DM }},[(_vm.IS_DM)?_c('li',{staticClass:\"rm-item\",attrs:{\"id\":\"rm-locations\"},on:{\"click\":function($event){_vm.visible.locations = !_vm.visible.locations}}},[_vm._m(0)]):_vm._e(),_c('li',{staticClass:\"rm-item\",attrs:{\"id\":\"rm-settings\"},on:{\"click\":function($event){_vm.visible.settings = !_vm.visible.settings}}},[_vm._m(1)])])]),_vm._m(2)])]),_c('transition',{attrs:{\"name\":\"settings\"},on:{\"enter\":function($event){_vm.$refs.rm.style.transition = 'left 500ms'}}},[(_vm.visible.settings)?_c('div',{ref:\"settings\",attrs:{\"id\":\"menu\"},on:{\"click\":_vm.settingsClick}},[_c('div',{staticStyle:{\"width\":\"200px\",\"height\":\"90%\",\"overflow-y\":\"auto\",\"overflow-x\":\"hidden\"}},[(_vm.IS_DM)?[_c('button',{staticClass:\"accordion\"},[_vm._v(\"Assets\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('a',{staticClass:\"actionButton\",attrs:{\"href\":\"/assets\",\"target\":\"blank\",\"title\":\"Open asset manager\"}},[_c('i',{staticClass:\"fas fa-external-link-alt\"})]),_c('div',{staticClass:\"directory\",attrs:{\"id\":\"menu-tokens\"}},[_c('asset-node',{attrs:{\"asset\":_vm.assets}}),(!_vm.assets)?_c('div',[_vm._v(\"No assets\")]):_vm._e()],1)]),_c('button',{staticClass:\"accordion\"},[_vm._v(\"Notes\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('div',{staticClass:\"accordion-subpanel\",attrs:{\"id\":\"menu-notes\"}},[_c('a',{staticClass:\"actionButton\",on:{\"click\":_vm.createNote}},[_c('i',{staticClass:\"far fa-plus-square\"})]),_vm._l((_vm.notes),function(note){return _c('div',{key:note.uuid,staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":function($event){_vm.openNote(note)}}},[_vm._v(_vm._s(note.title || \"[?]\"))])}),(!_vm.notes.length)?_c('div',[_vm._v(\"No notes\")]):_vm._e()],2)]),_c('button',{staticClass:\"accordion\"},[_vm._v(\"DM Options\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('div',{staticClass:\"accordion-subpanel\"},[_c('label',{attrs:{\"for\":\"useGridInput\"}},[_vm._v(\"Use grid:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.useGrid),expression:\"useGrid\"}],attrs:{\"id\":\"useGridInput\",\"type\":\"checkbox\",\"checked\":\"checked\"},domProps:{\"checked\":Array.isArray(_vm.useGrid)?_vm._i(_vm.useGrid,null)>-1:(_vm.useGrid)},on:{\"change\":function($event){var $$a=_vm.useGrid,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.useGrid=$$a.concat([$$v]))}else{$$i>-1&&(_vm.useGrid=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.useGrid=$$c}}}}),_c('label',{attrs:{\"for\":\"useFOWInput\"}},[_vm._v(\"Fill entire canvas with FOW:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.fullFOW),expression:\"fullFOW\"}],attrs:{\"id\":\"useFOWInput\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.fullFOW)?_vm._i(_vm.fullFOW,null)>-1:(_vm.fullFOW)},on:{\"change\":function($event){var $$a=_vm.fullFOW,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.fullFOW=$$a.concat([$$v]))}else{$$i>-1&&(_vm.fullFOW=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.fullFOW=$$c}}}}),_c('label',{attrs:{\"for\":\"fowOpacity\"}},[_vm._v(\"FOW opacity:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.fowOpacity),expression:\"fowOpacity\",modifiers:{\"number\":true}}],attrs:{\"id\":\"fowOpacity\",\"type\":\"number\",\"min\":\"0\",\"max\":\"1\",\"step\":\"0.1\"},domProps:{\"value\":(_vm.fowOpacity)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.fowOpacity=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('label',{attrs:{\"for\":\"fowLOS\"}},[_vm._v(\"Only show lights in LoS:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.fowLOS),expression:\"fowLOS\"}],attrs:{\"id\":\"fowLOS\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.fowLOS)?_vm._i(_vm.fowLOS,null)>-1:(_vm.fowLOS)},on:{\"change\":function($event){var $$a=_vm.fowLOS,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.fowLOS=$$a.concat([$$v]))}else{$$i>-1&&(_vm.fowLOS=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.fowLOS=$$c}}}}),_c('label',{attrs:{\"for\":\"unitSizeInput\"}},[_vm._v(\"Unit Size (in ft.):\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.unitSize),expression:\"unitSize\",modifiers:{\"number\":true}}],attrs:{\"id\":\"unitSizeInput\",\"type\":\"number\"},domProps:{\"value\":(_vm.unitSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.unitSize=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('label',{attrs:{\"for\":\"gridSizeInput\"}},[_vm._v(\"Grid Size (in pixels):\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.gridSize),expression:\"gridSize\",modifiers:{\"number\":true}}],attrs:{\"id\":\"gridSizeInput\",\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.gridSize)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.gridSize=_vm._n($event.target.value)},\"blur\":function($event){_vm.$forceUpdate()}}}),_c('label',{attrs:{\"for\":\"invitation\"}},[_vm._v(\"Invitation Code:\")]),_c('input',{attrs:{\"id\":\"invitation\",\"type\":\"text\",\"readonly\":\"readonly\"},domProps:{\"value\":_vm.invitationCode}})])])]:_vm._e(),_c('button',{staticClass:\"accordion\"},[_vm._v(\"Client Options\")]),_c('div',{staticClass:\"accordion-panel\"},[_c('div',{staticClass:\"accordion-subpanel\"},[_c('label',{attrs:{\"for\":\"gridColour\"}},[_vm._v(\"Grid Colour:\")]),_c('color-picker',{attrs:{\"id\":\"gridColour\",\"color\":_vm.gridColour},on:{\"update:color\":function($event){_vm.gridColour=$event}}}),_c('label',{attrs:{\"for\":\"fowColour\"}},[_vm._v(\"FOW Colour:\")]),_c('color-picker',{attrs:{\"id\":\"fowColour\",\"color\":_vm.fowColour},on:{\"update:color\":function($event){_vm.fowColour=$event}}}),_c('label',{attrs:{\"for\":\"rulerColour\"}},[_vm._v(\"Ruler Colour:\")]),_c('color-picker',{attrs:{\"id\":\"rulerColour\",\"color\":_vm.rulerColour},on:{\"update:color\":function($event){_vm.rulerColour=$event}}}),_c('label',{attrs:{\"for\":\"visionMode\"}},[_vm._v(\"Vision Mode:\")]),_c('select',{attrs:{\"id\":\"visionMode\"},on:{\"change\":_vm.changeVisionMode}},[_c('option',[_vm._v(\"BVH\")]),_c('option',[_vm._v(\"Triangle\")])])],1)])],2),_c('router-link',{staticClass:\"accordion\",staticStyle:{\"text-decoration\":\"none\",\"display\":\"inline-block\",\"position\":\"absolute\",\"bottom\":\"0\"},attrs:{\"to\":\"/dashboard\"}},[_vm._v(\"Exit\")])],1):_vm._e()]),_c('transition',{attrs:{\"name\":\"locations\"},on:{\"enter\":function($event){_vm.$refs.rm.style.transition = 'top 500ms'}}},[(_vm.IS_DM && _vm.visible.locations)?_c('div',{attrs:{\"id\":\"locations-menu\"}},[_c('div',[_vm._l((_vm.locations),function(location){return _c('div',{key:location,on:{\"click\":function($event){_vm.changeLocation(location)}}},[_vm._v(_vm._s(location))])}),_c('div',{on:{\"click\":_vm.createLocation}},[_c('i',{staticClass:\"fas fa-plus\"})])],2)]):_vm._e()]),_c('img',{attrs:{\"id\":\"dragImage\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"#\"}},[_c('i',{staticClass:\"far fa-compass\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"#\"}},[_c('i',{staticClass:\"fas fa-cog\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"rm-topper\"},[_c('i',{staticClass:\"icon-share-alt\"})])}]\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=template&id=21f210ea&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=script&lang=ts&\"","import { GlobalPoint } from \"@/game/geom\";\nimport { GridLayer } from \"@/game/layers/grid\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { Asset } from \"@/game/shapes/asset\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { l2gx, l2gy, l2gz } from \"@/game/units\";\n\nclass LayerManager {\n layers: Layer[] = [];\n width = window.innerWidth;\n height = window.innerHeight;\n\n UUIDMap: Map = new Map();\n\n // Refresh interval and redraw setter.\n interval = 30;\n\n constructor() {\n requestAnimationFrame(this.drawLoop);\n }\n\n reset() {\n this.layers = [];\n this.UUIDMap = new Map();\n }\n\n drawLoop = () => {\n for (let i = this.layers.length - 1; i >= 0; i--) {\n this.layers[i].draw();\n }\n requestAnimationFrame(this.drawLoop);\n };\n\n setWidth(width: number): void {\n this.width = width;\n for (const layer of this.layers) {\n layer.canvas.width = width;\n layer.width = width;\n }\n }\n\n setHeight(height: number): void {\n this.height = height;\n for (const layer of this.layers) {\n layer.canvas.height = height;\n layer.height = height;\n }\n }\n\n addLayer(layer: Layer): void {\n this.layers.push(layer);\n if (!gameStore.IS_DM && !layer.playerEditable) return;\n if (layer.selectable) gameStore.addLayer(layer.name);\n }\n\n hasLayer(name: string): boolean {\n return this.layers.some(l => l.name === name);\n }\n\n getLayer(name?: string) {\n name = name === undefined ? gameStore.selectedLayer : name;\n for (const layer of this.layers) {\n if (layer.name === name) return layer;\n }\n }\n\n selectLayer(name: string, sync: boolean = true): void {\n let found = false;\n for (const layer of this.layers) {\n if (!layer.selectable) continue;\n if (found && layer.name !== \"fow\") layer.ctx.globalAlpha = 0.3;\n else layer.ctx.globalAlpha = 1.0;\n\n if (name === layer.name) {\n gameStore.selectLayer({ name, sync });\n found = true;\n }\n\n layer.clearSelection();\n layer.invalidate(true);\n }\n }\n\n getGridLayer(): GridLayer | undefined {\n return this.getLayer(\"grid\");\n }\n\n hasSelection() {\n const selection = this.getSelection();\n return selection !== undefined && selection.length > 0;\n }\n\n // THIS INCLUDES POTENTIALLY THE SelectTool.SelectionHelper !!!\n getSelection() {\n const layer = this.getLayer();\n if (layer === undefined) return undefined;\n return layer.selection;\n }\n\n invalidate(): void {\n for (let i = this.layers.length - 1; i >= 0; i--) {\n this.layers[i].invalidate(true);\n }\n }\n\n invalidateLight() {\n for (let i = this.layers.length - 1; i >= 0; i--)\n if (this.layers[i].isVisionLayer) this.layers[i].invalidate(true);\n }\n\n dropAsset(event: DragEvent) {\n const layer = this.getLayer();\n if (layer === undefined || event === null || event.dataTransfer === null) return;\n const image = document.createElement(\"img\");\n image.src = event.dataTransfer.getData(\"text/plain\");\n const asset = new Asset(\n image,\n new GlobalPoint(l2gx(event.clientX), l2gy(event.clientY)),\n l2gz(image.width),\n l2gz(image.height),\n );\n asset.src = new URL(image.src).pathname;\n\n if (gameStore.useGrid) {\n const gs = gameStore.gridSize;\n asset.refPoint.x = Math.round(asset.refPoint.x / gs) * gs;\n asset.refPoint.y = Math.round(asset.refPoint.y / gs) * gs;\n asset.w = Math.max(Math.round(asset.w / gs) * gs, gs);\n asset.h = Math.max(Math.round(asset.h / gs) * gs, gs);\n }\n\n layer.addShape(asset, true);\n }\n}\n\nexport const layerManager = new LayerManager();\n(window).lm = layerManager;\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./createtoken_modal.vue?vue&type=template&id=66ccc134&scoped=true&\"\nimport script from \"./createtoken_modal.vue?vue&type=script&lang=ts&\"\nexport * from \"./createtoken_modal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./createtoken_modal.vue?vue&type=style&index=0&id=66ccc134&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"66ccc134\",\n null\n \n)\n\ncomponent.options.__file = \"createtoken_modal.vue\"\nexport default component.exports","import { BoundingRect } from \"@/game/shapes/boundingrect\";\n\nexport class BoundingNode {\n bbox: BoundingRect;\n nPrimitives: number;\n children: BoundingNode[] = [];\n constructor(nPrimitives: number, bbox: BoundingRect) {\n this.nPrimitives = nPrimitives;\n this.bbox = bbox;\n }\n}\n\nexport class LeafNode extends BoundingNode {\n firstPrimOffset: number;\n constructor(first: number, n: number, bbox: BoundingRect) {\n super(n, bbox);\n this.firstPrimOffset = first;\n }\n}\n\nexport class InteriorNode extends BoundingNode {\n dimension: number;\n constructor(dimension: number, c1: BoundingNode, c2: BoundingNode) {\n super(0, c1.bbox.union(c2.bbox));\n this.dimension = dimension;\n this.children.push(c1);\n this.children.push(c2);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=script&lang=ts&\"","import Tools from \"../ui/tools/tools.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { Vector } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\n\nexport function onKeyUp(event: KeyboardEvent) {\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement) {\n } else {\n if (event.key === \"Delete\" || event.key === \"Del\" || event.key === \"Backspace\") {\n if (layerManager.getLayer === undefined) {\n console.log(\"No active layer selected for delete operation\");\n return;\n }\n const l = layerManager.getLayer()!;\n for (let i = l.selection.length - 1; i >= 0; i--) {\n const sel = l.selection[i];\n if ((getRef(\"tools\").$refs.selectTool).selectionHelper.uuid === sel.uuid) {\n l.selection.splice(i, 1);\n continue;\n }\n l.removeShape(sel, true, false);\n EventBus.$emit(\"SelectionInfo.Shape.Set\", null);\n EventBus.$emit(\"Initiative.Remove\", sel.uuid);\n }\n }\n }\n}\n\nexport function onKeyDown(event: KeyboardEvent) {\n if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement) {\n if (event.keyCode === 65 && event.ctrlKey) event.target!.select();\n } else {\n if (event.keyCode >= 37 && event.keyCode <= 40) {\n // todo: this should already be rounded\n const gridSize = Math.round(gameStore.gridSize);\n let offsetX = gridSize * (event.keyCode % 2);\n let offsetY = gridSize * (event.keyCode % 2 ? 0 : 1);\n if (layerManager.hasSelection()) {\n const selection = layerManager.getSelection()!;\n offsetX *= event.keyCode <= 38 ? -1 : 1;\n offsetY *= event.keyCode <= 38 ? -1 : 1;\n let delta = new Vector(offsetX, offsetY);\n if (!event.shiftKey || !gameStore.IS_DM) {\n // First check for collisions. Using the smooth wall slide collision check used on mouse move is overkill here.\n for (const sel of selection) delta = calculateDelta(delta, sel);\n }\n for (const sel of selection) {\n sel.refPoint.x += delta.x;\n sel.refPoint.y += delta.y;\n if (sel.refPoint.x % gridSize !== 0 || sel.refPoint.y % gridSize !== 0) sel.snapToGrid();\n socket.emit(\"Shape.Position.Update\", { shape: sel.asDict(), redraw: true, temporary: false });\n }\n layerManager.getLayer()!.invalidate(false);\n } else {\n // The pan offsets should be in the opposite direction to give the correct feel.\n gameStore.increasePanX(offsetX * (event.keyCode <= 38 ? 1 : -1));\n gameStore.increasePanY(offsetY * (event.keyCode <= 38 ? 1 : -1));\n layerManager.invalidate();\n sendClientOptions();\n }\n } else if (event.keyCode === 68) {\n const layer = layerManager.getLayer();\n if (layer) {\n layer.clearSelection();\n layer.invalidate(true);\n }\n }\n }\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=style&index=0&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\n\nimport ShapeContext from \"@/game/ui/selection/shapecontext.vue\";\nimport CreateTokenModal from \"@/game/ui/tools/createtoken_modal.vue\";\nimport DrawTool from \"@/game/ui/tools/draw.vue\";\nimport MapTool from \"@/game/ui/tools/map.vue\";\nimport PanTool from \"@/game/ui/tools/pan\";\nimport SelectTool from \"@/game/ui/tools/select.vue\";\n\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameManager } from \"@/game/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { RulerTool } from \"@/game/ui/tools/ruler\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\nimport Component from \"vue-class-component\";\n\n@Component({\n components: {\n \"select-tool\": SelectTool,\n \"pan-tool\": PanTool,\n \"draw-tool\": DrawTool,\n \"ruler-tool\": RulerTool,\n \"map-tool\": MapTool,\n \"shape-menu\": ShapeContext,\n \"createtoken-dialog\": CreateTokenModal,\n },\n watch: {\n currentTool(newValue, oldValue) {\n this.$emit(\"tools-select-change\", newValue, oldValue);\n },\n },\n})\nexport default class Tools extends Vue {\n $refs!: {\n selectTool: InstanceType;\n };\n\n currentTool = \"Select\";\n tools = [\"Select\", \"Pan\", \"Draw\", \"Ruler\", \"Map\"];\n dmTools = [\"Map\"];\n\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n\n get currentToolComponent(): string {\n return `${this.currentTool.toLowerCase()}-tool`;\n }\n\n mousedown(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n\n let targetTool = this.currentTool;\n if (event.button === 1) {\n targetTool = \"Pan\";\n } else if (event.button !== 0) {\n return;\n }\n\n this.$emit(\"mousedown\", event, targetTool);\n }\n mouseup(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n\n let targetTool = this.currentTool;\n if (event.button === 1) {\n targetTool = \"Pan\";\n } else if (event.button !== 0) {\n return;\n }\n\n this.$emit(\"mouseup\", event, targetTool);\n }\n mousemove(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n\n let targetTool = this.currentTool;\n if ((event.buttons & 4) !== 0) {\n targetTool = \"Pan\";\n } else if ((event.button & 1) > 1) {\n return;\n }\n\n this.$emit(\"mousemove\", event, targetTool);\n\n // Annotation hover\n let found = false;\n for (const uuid of gameStore.annotations) {\n if (layerManager.UUIDMap.has(uuid) && layerManager.hasLayer(\"draw\")) {\n const shape = layerManager.UUIDMap.get(uuid)!;\n if (shape.contains(l2g(getMouse(event)))) {\n found = true;\n gameManager.annotationManager.setActiveText(shape.annotation);\n }\n }\n }\n if (!found && gameManager.annotationManager.shown) {\n gameManager.annotationManager.setActiveText(\"\");\n }\n }\n mouseleave(event: MouseEvent) {\n // When leaving the window while a mouse is pressed down, act as if it was released\n if ((event.buttons & 1) !== 0) {\n this.$emit(\"mouseup\", event, this.currentTool);\n }\n }\n contextmenu(event: MouseEvent) {\n if ((event.target).tagName !== \"CANVAS\") return;\n if (event.button !== 2 || (event.target).tagName !== \"CANVAS\") return;\n this.$emit(\"contextmenu\", event, this.currentTool);\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextmenu.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=style&index=0&id=32cec914&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selection_info.vue?vue&type=style&index=0&id=32cec914&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport Modal from \"@/core/components/modals/modal.vue\";\n\n@Component({\n components: {\n Modal,\n },\n})\nexport default class Prompt extends Vue {\n $refs!: {\n answer: HTMLElement;\n };\n\n visible = false;\n question = \"\";\n answer = \"\";\n title = \"\";\n\n resolve = (value: string) => {};\n reject = () => {};\n\n submit() {\n this.resolve(this.answer);\n this.close();\n }\n close() {\n this.reject();\n this.visible = false;\n this.question = \"\";\n this.answer = \"\";\n this.title = \"\";\n }\n prompt(question: string, title: string): Promise {\n this.question = question;\n this.title = title;\n this.visible = true;\n this.$nextTick(() => {\n this.$refs.answer.focus();\n });\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_vm._l((_vm.folders),function(folder){return _c('li',{key:folder,staticClass:\"folder\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle($event)}}},[_vm._v(\"\\n \"+_vm._s(folder)+\"\\n \"),_c('asset-node',{attrs:{\"asset\":_vm.asset[folder]}})],1)}),_vm._l((_vm.files),function(file){return _c('li',{key:file.name,staticClass:\"file draggable token\",attrs:{\"draggable\":\"true\"},on:{\"mouseover\":function($event){_vm.showImage = file.hash},\"mouseout\":function($event){_vm.showImage = null},\"dragstart\":function($event){_vm.dragStart($event, '/static/assets/' + file.hash)}}},[_vm._v(\"\\n \"+_vm._s(file.name)+\"\\n \"),(_vm.showImage == file.hash)?_c('div',{staticClass:\"preview\"},[_c('img',{staticClass:\"asset-preview-image\",attrs:{\"src\":'/static/assets/' + file.hash}})]):_vm._e()])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=template&id=62c91cd3&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(_vm._s(_vm.message))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./load.vue?vue&type=template&id=ff095222&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{attrs:{\"id\":\"toolselect\"}},[_c('ul',_vm._l((_vm.tools),function(tool){return (!_vm.dmTools.includes(tool) || _vm.IS_DM)?_c('li',{key:tool,ref:tool + '-selector',refInFor:true,class:{'tool-selected': _vm.currentTool === tool},on:{\"click\":function($event){_vm.currentTool = tool}}},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(tool))])]):_vm._e()}))]),_c('div',[[_c('select-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Select'),expression:\"currentTool === 'Select'\"}],ref:\"selectTool\"}),_c('pan-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Pan'),expression:\"currentTool === 'Pan'\"}]}),_c('keep-alive',[_c('draw-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Draw'),expression:\"currentTool === 'Draw'\"}]})],1),_c('ruler-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Ruler'),expression:\"currentTool === 'Ruler'\"}]}),_c('map-tool',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.currentTool === 'Map'),expression:\"currentTool === 'Map'\"}]}),_c('shape-menu',{ref:\"shapecontext\"}),_c('createtoken-dialog',{ref:\"createtokendialog\"})]],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=template&id=1fee50f5&scoped=true&\"","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=script&lang=ts&\"","import { GlobalPoint, Point, Ray, Vector } from \"@/game/geom\";\n\nexport class BoundingRect {\n readonly w: number;\n readonly h: number;\n readonly topLeft: GlobalPoint;\n readonly topRight: GlobalPoint;\n readonly botRight: GlobalPoint;\n readonly botLeft: GlobalPoint;\n\n constructor(topleft: GlobalPoint, w: number, h: number) {\n this.w = w;\n this.h = h;\n this.topLeft = topleft;\n this.topRight = new GlobalPoint(topleft.x + w, topleft.y);\n this.botRight = new GlobalPoint(topleft.x + w, topleft.y + h);\n this.botLeft = new GlobalPoint(topleft.x, topleft.y + h);\n }\n\n contains(point: GlobalPoint): boolean {\n return (\n this.topLeft.x <= point.x &&\n this.topRight.x >= point.x &&\n this.topLeft.y <= point.y &&\n this.botLeft.y >= point.y\n );\n }\n\n get points() {\n if (this.w === 0 || this.h === 0) return [[this.topLeft.x, this.topLeft.y]];\n return [\n [this.topLeft.x, this.topLeft.y],\n [this.botLeft.x, this.botLeft.y],\n [this.botRight.x, this.botRight.y],\n [this.topRight.x, this.topRight.y],\n ];\n }\n\n offset(vector: Vector): BoundingRect {\n return new BoundingRect(this.topLeft.add(vector), this.w, this.h);\n }\n\n union(other: BoundingRect): BoundingRect {\n const xmin = Math.min(this.topLeft.x, other.topLeft.x);\n const xmax = Math.max(this.topRight.x, other.topRight.x);\n const ymin = Math.min(this.topLeft.y, other.topLeft.y);\n const ymax = Math.max(this.botLeft.y, other.botLeft.y);\n return new BoundingRect(new GlobalPoint(xmin, ymin), xmax - xmin, ymax - ymin);\n }\n\n getDiagCorner(botright: boolean) {\n return botright ? this.botRight : this.topLeft;\n }\n\n intersectsWith(other: BoundingRect): boolean {\n return !(\n other.topLeft.x > this.topRight.x ||\n other.topRight.x < this.topLeft.x ||\n other.topLeft.y > this.botLeft.y ||\n other.botLeft.y < this.topLeft.y\n );\n }\n\n intersectsWithInner(other: BoundingRect): boolean {\n return !(\n other.topLeft.x >= this.topRight.x ||\n other.topRight.x <= this.topLeft.x ||\n other.topLeft.y >= this.botLeft.y ||\n other.botLeft.y <= this.topLeft.y\n );\n }\n\n intersectP(ray: Ray, invDir: Vector, dirIsNeg: boolean[]) {\n let txmin = invDir.x * (this.getDiagCorner(dirIsNeg[0]).x - ray.origin!.x);\n let txmax = invDir.x * (this.getDiagCorner(!dirIsNeg[0]).x - ray.origin!.x);\n const tymin = invDir.y * (this.getDiagCorner(dirIsNeg[1]).y - ray.origin!.y);\n const tymax = invDir.y * (this.getDiagCorner(!dirIsNeg[1]).y - ray.origin!.y);\n if (txmin > tymax || tymin > txmax) return { hit: false, min: txmin, max: txmax };\n if (tymin > txmin) txmin = tymin;\n if (tymax < txmax) txmax = tymax;\n return { hit: txmin < ray.tMax! && txmax > 0, min: txmin, max: txmax };\n }\n\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {\n if (centerPoint === undefined) return this.topLeft.add(new Vector(this.w / 2, this.h / 2));\n this.topLeft.x = centerPoint.x - this.w / 2;\n this.topLeft.y = centerPoint.y - this.h / 2;\n }\n inCorner(point: GlobalPoint, corner: string) {\n const sw = Math.min(6, this.w / 2) / 2;\n switch (corner) {\n case \"ne\":\n return (\n this.topRight.x - sw <= point.x &&\n point.x <= this.topRight.x + sw &&\n this.topLeft.y - sw <= point.y &&\n point.y <= this.topLeft.y + sw\n );\n case \"nw\":\n return (\n this.topLeft.x - sw <= point.x &&\n point.x <= this.topLeft.x + sw &&\n this.topLeft.y - sw <= point.y &&\n point.y <= this.topLeft.y + sw\n );\n case \"sw\":\n return (\n this.topLeft.x - sw <= point.x &&\n point.x <= this.topLeft.x + sw &&\n this.botLeft.y - sw <= point.y &&\n point.y <= this.botLeft.y + sw\n );\n case \"se\":\n return (\n this.topRight.x - sw <= point.x &&\n point.x <= this.topRight.x + sw &&\n this.botLeft.y - sw <= point.y &&\n point.y <= this.botLeft.y + sw\n );\n default:\n return false;\n }\n }\n getCorner(point: GlobalPoint): string | undefined {\n if (this.inCorner(point, \"ne\")) return \"ne\";\n else if (this.inCorner(point, \"nw\")) return \"nw\";\n else if (this.inCorner(point, \"se\")) return \"se\";\n else if (this.inCorner(point, \"sw\")) return \"sw\";\n }\n\n getMaxExtent() {\n return this.w > this.h ? 0 : 1;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"formcontainer\"}},[(_vm.owned || _vm.joined)?_c('form',[_c('fieldset',[_c('legend',{staticClass:\"legend\"},[_vm._v(\"Your sessions\")]),_c('div',{staticClass:\"input\"},[_vm._l((_vm.owned),function(room,i){return _c('router-link',{key:'o-'+i,attrs:{\"to\":'/game/' + room[1] + '/' + room[0]}},[_vm._v(_vm._s(room[0]))])}),_vm._l((_vm.joined),function(room,i){return _c('router-link',{key:'j-'+i,attrs:{\"to\":'/game/' + room[1] + '/' + room[0]}},[_vm._v(_vm._s(room[1])+\"/\"+_vm._s(room[0]))])})],2),(_vm.owned.length === 0)?_c('div',{staticClass:\"input\"},[_vm._v(\"No active sessions\")]):_vm._e()])]):_vm._e(),_vm._m(0),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.createRoom($event)}}},[_c('fieldset',[(!_vm.owned && !_vm.joined)?_c('legend',{staticClass:\"legend\"},[_vm._v(\"Create a session\")]):_c('div',{staticClass:\"input\"},[_vm._v(\"Create a new session\")]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newSessionName),expression:\"newSessionName\"}],attrs:{\"type\":\"text\",\"name\":\"room_name\",\"placeholder\":\"Session Name\"},domProps:{\"value\":(_vm.newSessionName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newSessionName=$event.target.value}}}),_vm._m(1)]),_vm._m(2)])]),_c('div',{attrs:{\"id\":\"account-options\"}},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();}}},[_c('router-link',{staticClass:\"submit\",attrs:{\"tag\":\"button\",\"title\":\"Account Settings\",\"to\":\"/account\"}},[_c('i',{staticClass:\"fas fa-cog\"})])],1),_c('form',{on:{\"submit\":function($event){$event.preventDefault();}}},[_c('router-link',{staticClass:\"submit\",attrs:{\"tag\":\"button\",\"title\":\"Logout\",\"to\":\"/auth/logout\"}},[_c('i',{staticClass:\"fas fa-sign-out-alt\"})])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h4',[_c('span',[_vm._v(\"OR\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fab fa-d-and-d\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"submit\",attrs:{\"type\":\"submit\",\"title\":\"Create\"}},[_c('i',{staticClass:\"fas fa-arrow-right\"})])}]\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=template&id=61eb1455&scoped=true&\"","/*\nThis module defines some Point classes.\nA strong focus is made to ensure that at no time a global and a local point are mixed up with each other.\nAt first glance this adds weird looking hacks as ts does not support nominal typing.\n*/\n\nexport function getPointDistance(p1: Point, p2: Point) {\n const a = p1.x - p2.x;\n const b = p1.y - p2.y;\n return Math.sqrt(a * a + b * b);\n}\n\nexport class Point {\n x: number;\n y: number;\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n }\n add(vec: Vector) {\n return new Point(this.x + vec.x, this.y + vec.y);\n }\n subtract(other: Point) {\n return new Vector(this.x - other.x, this.y - other.y);\n }\n clone(): Point {\n return new Point(this.x, this.y);\n }\n get(dimension: 0 | 1) {\n if (dimension === 0) return this.x;\n return this.y;\n }\n}\nexport class GlobalPoint extends Point {\n // This is to differentiate with LocalPoint, is actually never used\n // We do ! to prevent errors that it never gets initialized\n // tslint:disable-next-line:variable-name\n _GlobalPoint!: string;\n add(vec: Vector): GlobalPoint {\n return super.add(vec);\n }\n subtract(other: GlobalPoint): Vector {\n return super.subtract(other);\n }\n clone(): GlobalPoint {\n return super.clone();\n }\n}\n\nexport class LocalPoint extends Point {\n // This is to differentiate with GlobalPoint, is actually never used\n // We do ! to prevent errors that it never gets initialized\n // tslint:disable-next-line:variable-name\n _LocalPoint!: string;\n add(vec: Vector): LocalPoint {\n return super.add(vec);\n }\n subtract(other: LocalPoint): Vector {\n return super.subtract(other);\n }\n clone(): LocalPoint {\n return super.clone();\n }\n}\n\nexport class Vector {\n readonly x: number;\n readonly y: number;\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n }\n dot(other: Vector) {\n return this.x * other.x + this.y * other.y;\n }\n inverse() {\n return new Vector(1 / this.x, 1 / this.y);\n }\n length() {\n return Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2));\n }\n normalize() {\n const l = this.length();\n return new Vector(this.x / l, this.y / l);\n }\n reverse() {\n return new Vector(-this.x, -this.y);\n }\n multiply(scale: number) {\n return new Vector(this.x * scale, this.y * scale);\n }\n}\n\nexport class Ray {\n readonly direction: Vector;\n readonly origin: T;\n tMax: number;\n constructor(origin: T, direction: Vector, tMax?: number) {\n this.direction = direction;\n this.origin = origin;\n if (tMax === undefined) tMax = Infinity;\n this.tMax = tMax;\n }\n static fromPoints(p1: T, p2: T): Ray {\n const vec = new Vector(p2.x - p1.x, p2.y - p1.y);\n let maxT;\n if (Math.abs(vec.x) > 0.01) maxT = (p2.x - p1.x) / vec.x;\n else maxT = (p2.y - p1.y) / vec.y;\n return new Ray(p1, vec, maxT);\n }\n get(t: number): T {\n return new Point(this.origin.x + t * this.direction.x, this.origin.y + t * this.direction.y);\n }\n getDistance(t1: number, t2: number) {\n return Math.sqrt(Math.pow(t2 - t1, 2) * (Math.pow(this.direction.x, 2) + Math.pow(this.direction.y, 2)));\n }\n getT(t1: number, distance: number) {\n return t1 + Math.sqrt(Math.pow(distance, 2) / (Math.pow(this.direction.x, 2) + Math.pow(this.direction.y, 2)));\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport vueSlider from \"vue-slider-component\";\n\nimport \"@/game/api/events\";\n\nimport { throttle } from \"lodash\";\nimport { mapGetters, mapState } from \"vuex\";\n\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\nimport Initiative from \"@/game/ui/initiative.vue\";\nimport MenuBar from \"@/game/ui/menu/menu.vue\";\nimport NoteDialog from \"@/game/ui/note.vue\";\nimport SelectionInfo from \"@/game/ui/selection/selection_info.vue\";\nimport Tools from \"@/game/ui/tools/tools.vue\";\n\nimport { createConnection, socket } from \"@/game/api/socket\";\nimport { onKeyDown, onKeyUp } from \"@/game/events/keyboard\";\nimport { scrollZoom } from \"@/game/events/mouse\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { LocalPoint } from \"./geom\";\n\n@Component({\n components: {\n \"tool-bar\": Tools,\n \"selection-info\": SelectionInfo,\n \"prompt-dialog\": Prompt,\n \"confirm-dialog\": ConfirmDialog,\n \"menu-bar\": MenuBar,\n \"initiative-dialog\": Initiative,\n \"zoom-slider\": vueSlider,\n \"note-dialog\": NoteDialog,\n },\n beforeRouteEnter(to, from, next) {\n createConnection(to);\n next();\n },\n beforeRouteLeave(to, from, next) {\n socket.disconnect();\n next();\n },\n})\nexport default class Game extends Vue {\n $refs!: {\n confirm: InstanceType;\n tools: InstanceType;\n };\n\n ready = {\n manager: false,\n tools: false,\n };\n\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n\n get layers(): string[] {\n return gameStore.layers;\n }\n\n get selectedLayer(): string {\n return gameStore.selectedLayer;\n }\n\n get zoomFactor(): number {\n return gameStore.zoomFactor;\n }\n\n set zoomFactor(value: number) {\n gameStore.updateZoom({\n newZoomValue: value,\n zoomLocation: l2g(new LocalPoint(window.innerWidth / 2, window.innerHeight / 2)),\n });\n }\n\n mounted() {\n window.addEventListener(\"resize\", () => {\n layerManager.setWidth(window.innerWidth);\n layerManager.setHeight(window.innerHeight);\n layerManager.invalidate();\n });\n window.addEventListener(\"wheel\", throttle(scrollZoom));\n window.addEventListener(\"keyup\", onKeyUp);\n window.addEventListener(\"keydown\", onKeyDown);\n // // prevent double clicking text selection\n window.addEventListener(\"selectstart\", e => {\n e.preventDefault();\n return false;\n });\n this.ready.manager = true;\n }\n\n mousedown(event: MouseEvent) {\n this.$refs.tools.mousedown(event);\n }\n mouseup(event: MouseEvent) {\n this.$refs.tools.mouseup(event);\n }\n mousemove(event: MouseEvent) {\n this.$refs.tools.mousemove(event);\n }\n mouseleave(event: MouseEvent) {\n this.$refs.tools.mouseleave(event);\n }\n contextmenu(event: MouseEvent) {\n this.$refs.tools.contextmenu(event);\n }\n selectLayer(layer: string) {\n layerManager.selectLayer(layer);\n }\n drop(event: DragEvent) {\n if (event === null || event.dataTransfer === null) return;\n if (event.dataTransfer.files.length > 0) {\n this.$refs.confirm\n .open(\"Uploading files should be done through the asset manager.\", \"Ok\", \"\")\n .then(() => {}, () => {});\n } else if (event.dataTransfer.getData(\"text/plain\") === \"\") {\n return;\n } else {\n layerManager.dropAsset(event);\n }\n }\n}\n","import { GlobalPoint, LocalPoint, Ray } from \"@/game/geom\";\nimport { gameStore } from \"@/game/store\";\n\nexport function g2l(obj: GlobalPoint): LocalPoint {\n const z = gameStore.zoomFactor;\n const panX = gameStore.panX;\n const panY = gameStore.panY;\n return new LocalPoint((obj.x + panX) * z, (obj.y + panY) * z);\n}\n\nexport function g2lx(x: number) {\n return g2l(new GlobalPoint(x, 0)).x;\n}\n\nexport function g2ly(y: number) {\n return g2l(new GlobalPoint(0, y)).y;\n}\n\nexport function g2lz(z: number) {\n return z * gameStore.zoomFactor;\n}\n\nexport function getUnitDistance(r: number) {\n return (r / gameStore.unitSize) * gameStore.gridSize;\n}\n\nexport function g2lr(r: number) {\n return g2lz(getUnitDistance(r));\n}\n\nexport function l2g(obj: LocalPoint): GlobalPoint;\nexport function l2g(obj: Ray): Ray;\nexport function l2g(obj: LocalPoint | Ray): GlobalPoint | Ray {\n const z = gameStore.zoomFactor;\n const panX = gameStore.panX;\n const panY = gameStore.panY;\n if (obj instanceof LocalPoint) {\n return new GlobalPoint(obj.x / z - panX, obj.y / z - panY);\n } else {\n return new Ray(l2g(obj.origin), obj.direction.multiply(1 / z), obj.tMax);\n }\n}\n\nexport function l2gx(x: number) {\n return l2g(new LocalPoint(x, 0)).x;\n}\n\nexport function l2gy(y: number) {\n return l2g(new LocalPoint(0, y)).y;\n}\n\nexport function l2gz(z: number) {\n return z / gameStore.zoomFactor;\n}\n\nexport function l2gr(r: number) {\n return l2gz(getUnitDistance(r));\n}\n\n(window).g2lx = g2lx;\n(window).g2ly = g2ly;\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { mapState } from \"vuex\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\nimport AssetNode from \"@/game/ui/menu/asset_node.vue\";\nimport NoteDialog from \"@/game/ui/note.vue\";\n\nimport { getRef, uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { Note } from \"@/game/comm/types/general\";\nimport { gameStore } from \"@/game/store\";\nimport { layerManager } from \"@/game/layers/manager\";\n\n@Component({\n components: {\n \"color-picker\": ColorPicker,\n \"asset-node\": AssetNode,\n },\n computed: {\n ...mapState(\"game\", [\"invitationCode\", \"IS_DM\", \"locations\", \"assets\", \"notes\"]),\n },\n})\nexport default class MenuBar extends Vue {\n visible = {\n settings: false,\n locations: false,\n };\n\n get useGrid(): boolean {\n return gameStore.useGrid;\n }\n set useGrid(value: boolean) {\n gameStore.setUseGrid({ useGrid: value, sync: true });\n }\n get fullFOW(): boolean {\n return gameStore.fullFOW;\n }\n set fullFOW(value: boolean) {\n gameStore.setFullFOW({ fullFOW: value, sync: true });\n }\n get fowOpacity(): number {\n return gameStore.fowOpacity;\n }\n set fowOpacity(value: number) {\n if (typeof value !== \"number\") return;\n gameStore.setFOWOpacity({ fowOpacity: value, sync: true });\n }\n get fowLOS(): boolean {\n return gameStore.fowLOS;\n }\n set fowLOS(value: boolean) {\n gameStore.setLineOfSight({ fowLOS: value, sync: true });\n }\n get unitSize(): number {\n return gameStore.unitSize;\n }\n set unitSize(value: number) {\n if (typeof value !== \"number\") return;\n gameStore.setUnitSize({ unitSize: value, sync: true });\n }\n get gridSize(): number {\n return gameStore.gridSize;\n }\n set gridSize(value: number) {\n if (typeof value !== \"number\") return;\n gameStore.setGridSize({ gridSize: value, sync: true });\n }\n get gridColour(): string {\n return gameStore.gridColour;\n }\n set gridColour(value: string) {\n gameStore.setGridColour({ colour: value, sync: true });\n }\n get fowColour(): string {\n return gameStore.fowColour;\n }\n set fowColour(value: string) {\n gameStore.setFOWColour({ colour: value, sync: true });\n }\n get rulerColour(): string {\n return gameStore.rulerColour;\n }\n set rulerColour(value: string) {\n gameStore.setRulerColour({ colour: value, sync: true });\n }\n settingsClick(event: { target: HTMLElement }) {\n if (event.target.classList.contains(\"accordion\")) {\n event.target.classList.toggle(\"accordion-active\");\n const next = event.target.nextElementSibling;\n if (next !== null) next.style.display = next.style.display === \"\" ? \"block\" : \"\";\n }\n }\n changeLocation(name: string) {\n socket.emit(\"Location.Change\", name);\n }\n createLocation() {\n getRef(\"prompt\")\n .prompt(`New location name:`, `Create new location`)\n .then(\n (value: string) => {\n socket.emit(\"Location.New\", value);\n },\n () => {},\n );\n }\n createNote() {\n const note = { title: \"New note\", text: \"\", uuid: uuidv4() };\n gameStore.newNote({ note, sync: true });\n this.openNote(note);\n }\n openNote(note: Note) {\n getRef(\"note\").open(note);\n }\n changeVisionMode(event: { target: HTMLSelectElement }) {\n const value = event.target.value.toLowerCase();\n if (value !== \"bvh\" && value !== \"triangle\") return;\n gameStore.setVisionMode(value);\n gameStore.recalculateBV();\n layerManager.invalidate();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./colorpicker.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ContextMenu',{attrs:{\"visible\":_vm.visible,\"left\":_vm.x + 'px',\"top\":_vm.y + 'px'},on:{\"close\":_vm.close}},[(_vm.IS_DM)?_c('li',{on:{\"click\":_vm.bringPlayers}},[_vm._v(\"Bring players\")]):_vm._e(),_c('li',{on:{\"click\":_vm.createToken}},[_vm._v(\"Create basic token\")]),_c('li',{on:{\"click\":_vm.showInitiative}},[_vm._v(\"Show initiative\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=template&id=44a31e42&scoped=true&\"","import { uuidv4 } from \"@/core/utils\";\nimport { CDT } from \"./cdt\";\nimport { ccw, cw, orientation } from \"./triag\";\n\nexport type Point = number[];\n\nexport const INFINITE = -7e310;\n\nlet _INFINITE_VERTEX: Vertex;\n\nexport enum Sign {\n NEGATIVE = -1,\n ZERO = 0,\n POSITIVE = 1,\n\n RIGHT_TURN = -1,\n LEFT_TURN = 1,\n\n SMALLER = -1,\n EQUAL = 0,\n LARGER = 1,\n\n CLOCKWISE = -1,\n COUNTERCLOCKWISE = 1,\n\n COLLINEAR = 0,\n COPLANAR = 0,\n DEGENERATE = 0,\n\n ON_NEGATIVE_SIDE = -1,\n ON_ORIENTED_BOUNDARY = 0,\n ON_POSITIVE_SIDE = 1,\n}\n\nenum LineFaceState {\n UNDEFINED = -1,\n VERTEX_VERTEX = 0,\n VERTEX_EDGE = 1,\n EDGE_VERTEX = 2,\n EDGE_EDGE = 3,\n}\n\nfunction newPoint(): Point {\n return [INFINITE, INFINITE];\n}\n\nexport class Triangle {\n vertices: (Vertex | null)[] = [];\n neighbours: (Triangle | null)[] = [null, null, null];\n constraints = [false, false, false];\n uuid = uuidv4();\n\n constructor(...vertices: (Vertex | null)[]) {\n this.vertices = vertices;\n }\n\n from(t: Triangle): this {\n this.vertices = t.vertices.slice(0, t.vertices.length);\n this.neighbours = t.neighbours.slice(0, t.neighbours.length);\n this.constraints = t.constraints.slice(0, t.constraints.length);\n return this;\n }\n\n get dimension() {\n return this.vertices.length - 1;\n }\n\n addVertex(vertex: Vertex) {\n if (vertex === undefined) {\n console.log(\"UNDEFINED HIERE\");\n }\n this.vertices.push(vertex);\n vertex.triangle = this;\n }\n\n isConstrained(index: number): boolean {\n return this.constraints[index];\n }\n\n reorient() {\n // If certain indices do not exist yet thay will append faulty undefined's, thus we slice them\n this.vertices = [this.vertices[1], this.vertices[0], this.vertices[2]].slice(0, this.vertices.length);\n this.neighbours = [this.neighbours[1], this.neighbours[0], this.neighbours[2]];\n this.constraints = [this.constraints[1], this.constraints[0], this.constraints[2]];\n }\n\n indexV(v: Vertex): number {\n return this.vertices.indexOf(v);\n }\n\n indexT(t: Triangle): number {\n return this.neighbours.indexOf(t);\n }\n\n isInfinite(index?: number): boolean {\n if (index === undefined) {\n return this.vertices.includes(_INFINITE_VERTEX);\n } else {\n return this.vertices[ccw(index)]!.infinite || this.vertices[cw(index)]!.infinite;\n }\n }\n}\n\nexport class Vertex {\n infinite = false;\n private _point: Point | undefined;\n triangle: Triangle | undefined;\n uuid = uuidv4();\n\n constructor(point?: Point) {\n this._point = point;\n }\n\n get point(): Point | undefined {\n return this._point;\n }\n\n set point(point: Point | undefined) {\n this._point = point;\n this.infinite = false;\n }\n}\n\nexport class EdgeCirculator {\n ri: number;\n v: Vertex | null;\n t: Triangle | null;\n _ri: number;\n _v: Vertex | null;\n _t: Triangle | null;\n\n constructor(v: Vertex | null, t: Triangle | null) {\n this.v = v;\n this.t = t;\n if (v === null) {\n this.t = null;\n } else if (t === null) {\n this.t = v.triangle!;\n }\n if (this.t == null || this.t.dimension < 1) {\n this.ri = 0;\n this.v = null;\n this.t = null;\n } else {\n const i = this.t.indexV(v!);\n if (this.t.dimension === 2) this.ri = ccw(i);\n else this.ri = 2;\n }\n this._ri = this.ri;\n this._v = this.v;\n this._t = this.t;\n }\n\n get valid() {\n return this.t !== null && this.v !== null;\n }\n\n next(): boolean {\n let i = this.t!.indexV(this.v!);\n if (this.t!.dimension === 1) {\n this.t = this.t!.neighbours[i === 0 ? 1 : 0];\n } else {\n this.t = this.t!.neighbours[ccw(i)];\n i = this.t!.indexV(this.v!);\n this.ri = ccw(i);\n }\n return this.ri !== this._ri || this.v !== this._v || this.t !== this._t;\n }\n}\n\nexport class EdgeIterator {\n private i = 0;\n pos: Triangle | null;\n edge: Edge = new Edge();\n tds: TDS;\n _es = 0;\n constructor(tds: TDS) {\n this.tds = tds;\n this.edge.second = 0;\n if (tds.dimension <= 0) {\n this.pos = null;\n return;\n }\n this.pos = tds.triangles[0];\n if (tds.dimension === 1) this.edge.second = 2;\n while (this.pos !== null && !this.associatedEdge()) {\n throw new Error(\"[poi\");\n }\n\n if (tds.dimension === 1) this._es = 2;\n }\n\n get valid(): boolean {\n return (this.pos !== null || this._es !== this.edge.second) && this.pos!.isInfinite(this.edge.second);\n }\n\n next() {\n do {\n this.increment();\n } while (this.pos !== null && !this.associatedEdge());\n }\n\n collect(): Edge {\n this.edge.first = this.pos;\n return this.edge;\n }\n\n associatedEdge(): boolean {\n if (this.tds.dimension === 1) return true;\n return (\n this.tds.triangles.indexOf(this.pos!) < this.tds.triangles.indexOf(this.pos!.neighbours[this.edge.second]!)\n );\n }\n\n increment() {\n if (this.tds.dimension === 1) {\n this.i++;\n if (this.tds.triangles.length <= this.i) this.pos = null;\n else this.pos = this.tds.triangles[this.i];\n } else if (this.edge.second === 2) {\n this.edge.second = 0;\n this.i++;\n if (this.tds.triangles.length <= this.i) this.pos = null;\n else this.pos = this.tds.triangles[this.i];\n } else {\n this.edge.second++;\n }\n }\n}\n\nexport class FaceCirculator {\n v: Vertex | null;\n t: Triangle | null;\n _v: Vertex | null;\n _t: Triangle | null;\n\n constructor(v: Vertex | null, t: Triangle | null) {\n this.v = v;\n this.t = t;\n if (v === null) {\n this.t = null;\n } else if (t === null) {\n this.t = v.triangle!;\n }\n if (this.t == null || this.t.dimension < 2) {\n this.v = null;\n this.t = null;\n }\n this._v = this.v;\n this._t = this.t;\n }\n\n get valid() {\n return this.t !== null && this.v !== null;\n }\n\n prev() {\n const i = this.t!.indexV(this.v!);\n this.t = this.t!.neighbours[cw(i)];\n }\n\n next(): boolean {\n const i = this.t!.indexV(this.v!);\n this.t = this.t!.neighbours[ccw(i)];\n return this.v !== this._v || this.t !== this._t;\n }\n}\n\nexport class LineFaceCirculator {\n private i = 0;\n pos: Triangle | null = null;\n _tr: CDT;\n s: LineFaceState = LineFaceState.UNDEFINED;\n p: Point;\n q: Point;\n\n constructor(v: Vertex, tr: CDT, dir: Point) {\n this._tr = tr;\n this.p = v.point!;\n this.q = dir;\n\n const fc = new FaceCirculator(v, null);\n let ic = fc.t!.indexV(v);\n let vt = fc.t!.vertices[cw(ic)]!;\n while (v === _INFINITE_VERTEX || orientation(this.p, this.q, vt.point!) !== Sign.LEFT_TURN) {\n fc.next();\n ic = fc.t!.indexV(v);\n vt = fc.t!.vertices[cw(ic)]!;\n if (!fc.valid) {\n return;\n }\n }\n\n let vr = fc.t!.vertices[ccw(ic)]!;\n let pqr: Sign = Sign.RIGHT_TURN;\n // tslint:disable:no-conditional-assignment\n while (vr !== _INFINITE_VERTEX && (pqr = orientation(this.p, this.q, vr.point!)) === Sign.LEFT_TURN) {\n fc.prev();\n ic = fc.t!.indexV(v);\n vr = fc.t!.vertices[ccw(ic)]!;\n }\n\n ic = fc.t!.indexV(v);\n vt = fc.t!.vertices[cw(ic)]!;\n\n if (vr === _INFINITE_VERTEX) {\n fc.prev();\n ic = fc.t!.indexV(v);\n vr = fc.t!.vertices[ccw(ic)]!;\n pqr = orientation(this.p, this.q, vr.point!);\n switch (pqr) {\n case Sign.RIGHT_TURN:\n case Sign.COLLINEAR: {\n fc.next();\n ic = fc.t!.indexV(_INFINITE_VERTEX);\n this.pos = fc.t!;\n this.s = LineFaceState.VERTEX_VERTEX;\n this.i = ic;\n break;\n }\n case Sign.LEFT_TURN: {\n break;\n }\n }\n } else if (pqr === Sign.COLLINEAR) {\n this.pos = fc.t!;\n this.s = LineFaceState.VERTEX_VERTEX;\n this.i = ccw(ic);\n } else {\n this.pos = fc.t!;\n this.s = LineFaceState.VERTEX_EDGE;\n this.i = ic;\n }\n }\n\n next() {\n this.increment();\n }\n\n increment() {\n let o: Sign;\n if (this.s === LineFaceState.VERTEX_VERTEX || this.s === LineFaceState.EDGE_VERTEX) {\n do {\n const n = this.pos!.neighbours[cw(this.i)]!;\n this.i = n.indexT(this.pos!);\n this.pos = n;\n if (this.pos!.vertices[this.i] === _INFINITE_VERTEX) {\n o = Sign.COLLINEAR;\n this.i = cw(this.i);\n break;\n }\n o = orientation(this.p, this.q, this.pos!.vertices[this.i]!.point!);\n this.i = cw(this.i);\n } while (o === Sign.LEFT_TURN);\n if (o === Sign.COLLINEAR) {\n this.s = LineFaceState.VERTEX_VERTEX;\n this.i = ccw(this.i);\n } else {\n this.s = LineFaceState.VERTEX_EDGE;\n }\n } else {\n const n = this.pos!.neighbours[this.i]!;\n const ni = n.indexT(this.pos!);\n this.pos = n;\n o =\n this.pos!.vertices[ni]! === _INFINITE_VERTEX\n ? Sign.COLLINEAR\n : orientation(this.p, this.q, this.pos!.vertices[ni]!.point!);\n switch (o) {\n case Sign.LEFT_TURN: {\n this.s = LineFaceState.EDGE_EDGE;\n this.i = ccw(ni);\n break;\n }\n case Sign.RIGHT_TURN: {\n this.s = LineFaceState.EDGE_EDGE;\n this.i = cw(ni);\n break;\n }\n default: {\n this.s = LineFaceState.EDGE_VERTEX;\n this.i = ni;\n }\n }\n }\n }\n}\n\nclass Edge {\n first: Triangle | null = null;\n second: number = 0;\n}\n\nexport enum LocateType {\n VERTEX,\n EDGE,\n FACE,\n OUTSIDE_CONVEX_HULL,\n OUTSIDE_AFFINE_HULL,\n}\n\nexport class TDS {\n dimension = -1;\n vertices: Vertex[] = [];\n triangles: Triangle[] = [];\n _infinite: Vertex;\n\n constructor() {\n this._infinite = this.createVertex();\n _INFINITE_VERTEX = this._infinite;\n const t = new Triangle();\n t.addVertex(this._infinite);\n this.triangles.push(t);\n }\n\n createVertex(): Vertex {\n const v = this.infiniteVertex;\n if (v === undefined) {\n console.log(\"UNDEFINED HIERE\");\n }\n this.vertices.push(v);\n return v;\n }\n\n createTriangle(\n v0: Vertex | null,\n v1: Vertex | null,\n v2: Vertex | null,\n n0: Triangle | null,\n n1: Triangle | null,\n n2: Triangle | null,\n ) {\n const t = new Triangle(v0, v1, v2);\n t.neighbours[0] = n0;\n t.neighbours[1] = n1;\n t.neighbours[2] = n2;\n this.triangles.push(t);\n return t;\n }\n\n deleteTriangle(trig: Triangle) {\n this.triangles = this.triangles.filter(t => t !== trig);\n }\n\n setAdjacency(t0: Triangle, i0: number, t1: Triangle, i1: number) {\n t0.neighbours[i0] = t1;\n t1.neighbours[i1] = t0;\n }\n\n get finiteVertex(): Vertex {\n return this.vertices[1];\n }\n\n get infiniteVertex(): Vertex {\n const v = new Vertex(newPoint());\n v.infinite = true;\n return v;\n }\n\n get finiteEdge(): Edge {\n if (this.dimension < 1) throw new Error(\"aspo\");\n const ei = new EdgeIterator(this);\n while (ei.valid) ei.next();\n return ei.collect();\n }\n\n insertDimUp(w: Vertex = new Vertex(), orient: boolean = true): Vertex {\n const v = this.createVertex();\n this.dimension++;\n let t1: Triangle;\n let t2: Triangle;\n switch (this.dimension) {\n case 0: {\n t1 = this.triangles[0];\n t2 = new Triangle(v);\n this.triangles.push(t2);\n this.setAdjacency(t1, 0, t2, 0);\n v.triangle = t2;\n break;\n }\n case 1:\n case 2: {\n const deleteList: Triangle[] = [];\n const triangles = this.triangles.slice(0, this.triangles.length);\n for (const trig of triangles) {\n const copy = new Triangle().from(trig);\n this.triangles.push(copy);\n trig.vertices[this.dimension] = v;\n copy.vertices[this.dimension] = w;\n this.setAdjacency(trig, this.dimension, copy, this.dimension);\n if (trig.vertices.includes(w)) deleteList.push(copy);\n }\n for (const trig of triangles) {\n const neighbour = trig.neighbours[this.dimension];\n for (let j = 0; j < this.dimension; ++j) {\n neighbour!.neighbours[j] = trig.neighbours[j]!.neighbours[this.dimension];\n }\n }\n\n let lfit = 0;\n if (this.dimension === 1) {\n if (orient) {\n triangles[lfit].reorient();\n lfit++;\n triangles[lfit].neighbours[1]!.reorient();\n } else {\n triangles[lfit].neighbours[1]!.reorient();\n lfit++;\n triangles[lfit].reorient();\n }\n } else {\n for (const trig of triangles) {\n if (orient) trig.neighbours[2]!.reorient();\n else trig.reorient();\n }\n }\n\n for (const trig of deleteList) {\n let j = 1;\n if (trig.vertices[0] === w) j = 0;\n t1 = trig.neighbours[this.dimension]!;\n const i1 = this.mirrorIndex(trig, this.dimension);\n t2 = trig.neighbours[j]!;\n const i2 = this.mirrorIndex(trig, j);\n this.setAdjacency(t1, i1, t2, i2);\n this.deleteTriangle(trig);\n }\n v.triangle = triangles[0];\n break;\n }\n default: {\n throw new Error(\"Dimension unknown\");\n }\n }\n return v;\n }\n\n mirrorIndex(t: Triangle, i: number): number {\n if (t.dimension === 1) {\n const j = t.neighbours[i]!.indexV(t.vertices[i === 0 ? 1 : 0]!);\n return j === 0 ? 1 : 0;\n }\n return ccw(t.neighbours[i]!.indexV(t.vertices[ccw(i)]!));\n }\n\n insertInFace(t: Triangle) {\n const v = this.createVertex();\n const v0 = t.vertices[0]!;\n const v1 = t.vertices[1]!;\n const v2 = t.vertices[2]!;\n const n1 = t.neighbours[1]!;\n const n2 = t.neighbours[2]!;\n const t1 = this.createTriangle(v0, v, v2, t, n1, null);\n const t2 = this.createTriangle(v0, v1, v, t, null, n2);\n this.setAdjacency(t1, 2, t2, 1);\n if (n1 !== null) {\n const i1 = this.mirrorIndex(t, 1);\n n1.neighbours[i1] = t1;\n }\n if (n2 !== null) {\n const i2 = this.mirrorIndex(t, 2);\n n2.neighbours[i2] = t2;\n }\n t.vertices[0] = v;\n t.neighbours[1] = t1;\n t.neighbours[2] = t2;\n if (v0.triangle === t) v0.triangle = t2;\n v.triangle = t;\n return v;\n }\n\n flip(t: Triangle, i: number) {\n const n = t.neighbours[i]!;\n const ni = this.mirrorIndex(t, i);\n const vCW = t.vertices[cw(i)]!;\n const vCCW = t.vertices[ccw(i)]!;\n const tr = t.neighbours[ccw(i)]!;\n const tri = this.mirrorIndex(t, ccw(i));\n const bl = n.neighbours[ccw(ni)]!;\n const bli = this.mirrorIndex(n, ccw(ni));\n\n t.vertices[cw(i)] = n.vertices[ni]!;\n n.vertices[cw(ni)] = t.vertices[i]!;\n\n this.setAdjacency(t, i, bl, bli);\n this.setAdjacency(t, ccw(i), n, ccw(ni));\n this.setAdjacency(n, ni, tr, tri);\n\n if (vCW.triangle! === t) vCW.triangle = n;\n if (vCCW.triangle! === n) vCCW.triangle = t;\n }\n\n insertInEdge(t: Triangle, i: number) {\n let v: Vertex;\n if (this.dimension === 1) {\n v = this.createVertex();\n const ff = t.neighbours[0]!;\n const vv = t.vertices[1]!;\n const g = this.createTriangle(v, vv, null, ff, t, null);\n t.vertices[1] = v;\n t.neighbours[0] = g;\n ff.neighbours[1] = g;\n v.triangle = g;\n vv.triangle = ff;\n } else {\n const n = t.neighbours[i]!;\n const ni = this.mirrorIndex(t, i);\n v = this.insertInFace(t);\n this.flip(n, ni);\n }\n return v;\n }\n}\n","import { partition } from \"@/core/utils\";\nimport { GlobalPoint, Ray } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2lx, g2ly, g2lz } from \"@/game/units\";\nimport { BoundingNode, InteriorNode, LeafNode } from \"@/game/visibility/bvh/node\";\n\ninterface BuildInfo {\n index: number;\n bbox: BoundingRect;\n center: BoundingRect;\n}\ninterface LinearBHVNode {\n bbox: BoundingRect;\n nPrimitives: number;\n}\ninterface LinearLeafNode extends LinearBHVNode {\n primitivesOffset: number;\n}\ninterface LinearInternalNode extends LinearBHVNode {\n secondChildOffset: number;\n dimension: number;\n}\n\nexport class BoundingVolume {\n totalNodes = 0;\n buildData: BuildInfo[] = [];\n shapes: string[];\n orderedPrims: string[] = [];\n root: BoundingNode | null;\n nodes: LinearBHVNode[] = [];\n\n offset = 0;\n\n constructor(shapes: string[]) {\n this.shapes = shapes;\n if (this.shapes.length === 0) {\n this.root = null;\n this.nodes = [];\n return;\n }\n for (let i = 0; i < shapes.length; i++) {\n const shape = layerManager.UUIDMap.get(shapes[i])!;\n try {\n this.buildData.push({\n index: i,\n bbox: shape.getBoundingBox(),\n center: new BoundingRect(shape.center(), 0, 0),\n });\n } catch {\n console.warn(`Shape ${shape.type} - ${shape.uuid} cannot be used for vision blocking !!!`);\n shape.visionObstruction = false;\n gameStore.visionBlockers.splice(i, 1);\n throw new Error();\n }\n }\n this.root = this.recursiveBuild(0, shapes.length);\n this.compact();\n }\n\n draw() {\n const ctx = layerManager.getLayer(\"draw\")!.ctx;\n for (const node of this.nodes) {\n const b = node.bbox;\n ctx.strokeRect(g2lx(b.topLeft.x), g2ly(b.topLeft.y), g2lz(b.w), g2lz(b.h));\n }\n }\n\n recursiveBuild(start: number, end: number): BoundingNode {\n this.totalNodes++;\n let bbox = this.buildData[start].bbox;\n for (let i = start + 1; i < end; i++) bbox = bbox.union(this.buildData[i].bbox);\n const nPrimitives = end - start;\n if (nPrimitives === 1) {\n return this.createLeaf(start, end, nPrimitives, bbox);\n } else {\n let centroidBbox = this.buildData[start].center;\n for (let i = start; i < end; i++) centroidBbox = centroidBbox.union(this.buildData[i].center);\n const dimension = centroidBbox.getMaxExtent();\n if (centroidBbox.botRight.get(dimension) === centroidBbox.topLeft.get(dimension)) {\n return this.createLeaf(start, end, nPrimitives, bbox);\n }\n // Use shitty Middle thingy until an introselect js algo is added\n const pMid = 0.5 * (centroidBbox.topLeft.get(dimension) + centroidBbox.botRight.get(dimension));\n const partitionedData = partition(\n this.buildData.slice(start, end),\n (n: BuildInfo) => n.center.center().get(dimension) < pMid,\n );\n const flattened = ([]).concat.apply([], partitionedData);\n if (partitionedData[0].length === 0 || partitionedData[1].length === 0) console.log(\"EMPTY\");\n this.buildData.splice(start, flattened.length, ...flattened);\n const mid = partitionedData[0].length + start;\n return new InteriorNode(dimension, this.recursiveBuild(start, mid), this.recursiveBuild(mid, end));\n }\n }\n\n intersect(ray: Ray, stopOnFirstHit?: boolean) {\n if (this.nodes.length === 0) return { hit: false, intersect: ray.get(0), tMin: 0, tMax: ray.tMax };\n if (stopOnFirstHit === undefined) stopOnFirstHit = false;\n // Initialize return values\n let hit = false;\n let tMin = 0;\n let tMax = ray.tMax;\n\n // Initialize work variables\n let todoOffset = 0;\n let nodeNum = 0;\n const todo: number[] = [];\n\n // Precalculate intersection vectors\n const invDir = ray.direction.inverse();\n const dirIsNegative = [invDir.x < 0, invDir.y < 0];\n\n while (true) {\n const node = this.nodes[nodeNum];\n\n const i = node.bbox.intersectP(ray, invDir, dirIsNegative);\n if (i.hit) {\n if (node.nPrimitives > 0) {\n // TODO: nPrimitives is currently always 1 , this could be generalised\n // for (let i=0; i < node.nPrimitives; i++) {\n // if (this.shapes[(node).primitivesOffset + i])\n // }\n hit = true;\n tMin = ray.tMax = i.min;\n tMax = i.max;\n if (todoOffset === 0 || stopOnFirstHit) break;\n nodeNum = todo[--todoOffset];\n } else {\n if (dirIsNegative[(node).dimension]) {\n todo[todoOffset++] = nodeNum + 1;\n nodeNum = (node).secondChildOffset;\n } else {\n todo[todoOffset++] = (node).secondChildOffset;\n nodeNum++;\n }\n }\n } else {\n if (todoOffset === 0) break;\n nodeNum = todo[--todoOffset];\n }\n }\n return { hit, intersect: ray.get(tMin), tMin, tMax };\n }\n\n private compact() {\n this.offset = 0;\n if (this.root !== null) this.flatten(this.root);\n }\n\n private flatten(node: BoundingNode) {\n const index = this.offset;\n const myOffset = this.offset++;\n if (node.nPrimitives === 0) {\n this.flatten(node.children[0]);\n const secondOffset = this.flatten(node.children[1]);\n this.nodes[index] = {\n bbox: node.bbox,\n dimension: (node).dimension,\n nPrimitives: 0,\n secondChildOffset: secondOffset,\n };\n } else {\n this.nodes[index] = {\n bbox: node.bbox,\n primitivesOffset: (node).firstPrimOffset,\n nPrimitives: node.nPrimitives,\n };\n }\n return myOffset;\n }\n\n private createLeaf(start: number, end: number, nPrimitives: number, bbox: BoundingRect) {\n const size = this.orderedPrims.length;\n for (let i = start; i < end; i++) this.orderedPrims.push(this.shapes[this.buildData[i].index]);\n return new LeafNode(size, nPrimitives, bbox);\n }\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=style&index=0&id=7111f3f6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=style&index=0&id=7111f3f6&scoped=true&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=style&index=0&id=21f210ea&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu.vue?vue&type=style&index=0&id=21f210ea&scoped=true&lang=css&\"","import Initiative from \"./ui/initiative.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { createShapeFromDict } from \"@/game/shapes/utils\";\nimport { gameStore } from \"@/game/store\";\nimport { AnnotationManager } from \"@/game/ui/annotation\";\nimport { g2l } from \"@/game/units\";\n\nexport class GameManager {\n selectedTool: number = 0;\n\n annotationManager = new AnnotationManager();\n\n addShape(shape: ServerShape): void {\n if (!layerManager.hasLayer(shape.layer)) {\n console.log(`Shape with unknown layer ${shape.layer} could not be added`);\n return;\n }\n const layer = layerManager.getLayer(shape.layer)!;\n const sh = createShapeFromDict(shape);\n if (sh === undefined) {\n console.log(`Shape with unknown type ${shape.type_} could not be added`);\n return;\n }\n layer.addShape(sh, false);\n layer.invalidate(false);\n }\n\n updateShape(data: { shape: ServerShape; redraw: boolean; move: boolean }): void {\n if (!layerManager.hasLayer(data.shape.layer)) {\n console.log(`Shape with unknown layer ${data.shape.layer} could not be added`);\n return;\n }\n const sh = createShapeFromDict(data.shape, true);\n if (sh === undefined) {\n console.log(`Shape with unknown type ${data.shape.type_} could not be added`);\n return;\n }\n const oldShape = layerManager.UUIDMap.get(data.shape.uuid);\n if (oldShape === undefined) {\n console.log(`Shape with unknown id could not be updated`);\n return;\n }\n const redrawInitiative = sh.owners !== oldShape.owners;\n const shape = Object.assign(oldShape, sh);\n shape.checkVisionSources();\n shape.setMovementBlock(shape.movementObstruction);\n shape.setIsToken(shape.isToken);\n if (data.move && shape.visionObstruction) gameStore.recalculateBV();\n if (data.redraw) layerManager.getLayer(data.shape.layer)!.invalidate(false);\n if (redrawInitiative) getRef(\"initiative\").$forceUpdate();\n }\n\n setCenterPosition(position: GlobalPoint) {\n const localPos = g2l(position);\n gameStore.increasePanX((window.innerWidth / 2 - localPos.x) / gameStore.zoomFactor);\n gameStore.increasePanY((window.innerHeight / 2 - localPos.y) / gameStore.zoomFactor);\n layerManager.invalidate();\n sendClientOptions();\n }\n}\n\nexport const gameManager = new GameManager();\n(window).gameManager = gameManager;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"visible\":_vm.visible,\"mask\":false},on:{\"close\":function($event){_vm.visible = false}},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_c('div',[_vm._v(\"Initiative\")]),_c('div',{staticClass:\"header-close\",on:{\"click\":function($event){_vm.visible = false}}},[_c('i',{staticClass:\"far fa-window-close\"})])])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('draggable',{attrs:{\"id\":\"initiative-list\",\"options\":{setData: _vm.fakeSetData, disabled: !_vm.$store.state.game.IS_DM}},on:{\"change\":_vm.updateOrder},model:{value:(_vm.data),callback:function ($$v) {_vm.data=$$v},expression:\"data\"}},[_vm._l((_vm.data),function(actor){return [_c('div',{key:actor.uuid,staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"align-items\":\"flex-end\"}},[_c('div',{staticClass:\"initiative-actor\",class:{'initiative-selected': _vm.currentActor === actor.uuid},style:({'cursor': _vm.$store.state.game.IS_DM && 'move'}),on:{\"mouseenter\":function($event){_vm.toggleHighlight(actor, true)},\"mouseleave\":function($event){_vm.toggleHighlight(actor, false)}}},[(actor.has_img)?[_c('img',{attrs:{\"src\":actor.source,\"width\":\"30px\",\"height\":\"30px\"}})]:[_c('span',{staticStyle:{\"width\":\"auto\"}},[_vm._v(_vm._s(actor.source))])],_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy.number\",value:(actor.initiative),expression:\"actor.initiative\",modifiers:{\"lazy\":true,\"number\":true}}],class:{'notAllowed': !_vm.owns(actor)},attrs:{\"type\":\"text\",\"placeholder\":\"value\",\"disabled\":!_vm.owns(actor)},domProps:{\"value\":(actor.initiative)},on:{\"change\":[function($event){_vm.$set(actor, \"initiative\", _vm._n($event.target.value))},function($event){_vm.syncInitiative(actor)}],\"blur\":function($event){_vm.$forceUpdate()}}}),_c('div',{staticClass:\"initiative-effects-icon\",class:{'notAllowed': !_vm.owns(actor)},staticStyle:{\"opacity\":\"0.6\"},on:{\"click\":function($event){_vm.createEffect(actor, _vm.getDefaultEffect(), true)}}},[_c('i',{staticClass:\"fas fa-stopwatch\"}),(actor.effects)?[_vm._v(_vm._s(actor.effects.length))]:[_vm._v(\"0\")]],2),_c('div',{class:{'notAllowed': !_vm.owns(actor)},style:({'opacity': actor.visible ? '1.0' : '0.3'}),on:{\"click\":function($event){_vm.toggleOption(actor, 'visible')}}},[_c('i',{staticClass:\"fas fa-eye\"})]),_c('div',{class:{'notAllowed': !_vm.owns(actor)},style:({'opacity': actor.group ? '1.0' : '0.3'}),on:{\"click\":function($event){_vm.toggleOption(actor, 'group')}}},[_c('i',{staticClass:\"fas fa-users\"})]),_c('div',{class:{'notAllowed': !_vm.owns(actor)},style:({'opacity': _vm.owns(actor) ? '1.0' : '0.3'}),on:{\"click\":function($event){_vm.removeInitiative(actor.uuid, true, true)}}},[_c('i',{staticClass:\"fas fa-trash-alt\"})])],2),(actor.effects)?_c('div',{staticClass:\"initiative-effect\"},_vm._l((actor.effects),function(effect){return _c('div',{key:effect.uuid},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(effect.name),expression:\"effect.name\"}],attrs:{\"type\":\"text\",\"size\":effect.name.length || 1},domProps:{\"value\":(effect.name)},on:{\"change\":function($event){_vm.updateEffect(actor.uuid, effect, true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(effect, \"name\", $event.target.value)}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(effect.turns),expression:\"effect.turns\"}],attrs:{\"type\":\"text\",\"size\":effect.turns.toString().length || 1},domProps:{\"value\":(effect.turns)},on:{\"change\":function($event){_vm.updateEffect(actor.uuid, effect, true)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(effect, \"turns\", $event.target.value)}}})])})):_vm._e()])]})],2),_c('div',{attrs:{\"id\":\"initiative-bar\"}},[_c('div',{attrs:{\"id\":\"initiative-round\"}},[_vm._v(\"Round \"+_vm._s(_vm.roundCounter))]),_c('div',{staticStyle:{\"display\":\"flex\"}}),_c('div',{staticClass:\"initiative-bar-button\",class:{'notAllowed': !_vm.$store.state.game.IS_DM},on:{\"click\":function($event){_vm.setRound(0, true); _vm.setTurn(_vm.data[0].uuid, true)}}},[_c('i',{staticClass:\"fas fa-sync-alt\"})]),_c('div',{staticClass:\"initiative-bar-button\",class:{'notAllowed': !_vm.$store.state.game.IS_DM},on:{\"click\":_vm.nextTurn}},[_c('i',{staticClass:\"fas fa-chevron-right\"})])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./initiative.vue?vue&type=template&id=ccaf03d6&scoped=true&\"","\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\n@Component\nexport default class LoadComponent extends Vue {\n message = \"Loading...\";\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=1&id=6d744362&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=style&index=1&id=6d744362&scoped=true&lang=css&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport axios, { AxiosError, AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Route } from \"vue-router\";\n\nimport { coreStore } from \"@/core/store\";\n\nComponent.registerHooks([\"beforeRouteEnter\"]);\n\n@Component\nexport default class Dashboard extends Vue {\n owned = [];\n joined = [];\n error = \"\";\n\n newSessionName = \"\";\n\n beforeRouteEnter(to: Route, from: Route, next: ({}) => {}) {\n axios\n .get(\"/api/rooms\")\n .then((response: AxiosResponse) => {\n next((vm: this) => {\n vm.owned = response.data.owned;\n vm.joined = response.data.joined;\n });\n })\n .catch((err: AxiosError) => {\n next((vm: this) => {\n vm.error = err.message;\n });\n });\n }\n\n createRoom(event: Event) {\n axios\n .post(\"/api/rooms\", {\n name: this.newSessionName,\n })\n .then((response: AxiosResponse) => {\n this.$router.push(`/game/${coreStore.username}/${this.newSessionName}`);\n })\n .catch((err: AxiosError) => {\n this.error = err.message;\n });\n }\n}\n","import { render, staticRenderFns } from \"./confirm.vue?vue&type=template&id=1883e207&scoped=true&\"\nimport script from \"./confirm.vue?vue&type=script&lang=ts&\"\nexport * from \"./confirm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./confirm.vue?vue&type=style&index=0&id=1883e207&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1883e207\",\n null\n \n)\n\ncomponent.options.__file = \"confirm.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shapecontext.vue?vue&type=script&lang=ts&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./manager.vue?vue&type=script&lang=ts&\"","import Vue from \"vue\";\nexport const EventBus = new Vue();\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=ts&\"","import { GlobalPoint } from \"@/game/geom\";\nimport { BaseRect } from \"@/game/shapes/baserect\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l } from \"@/game/units\";\nimport { getFogColour } from \"@/game/utils\";\n\nexport class Rect extends BaseRect {\n type = \"rect\";\n constructor(topleft: GlobalPoint, w: number, h: number, fillColour?: string, strokeColour?: string, uuid?: string) {\n super(topleft, w, h, fillColour, strokeColour, uuid);\n }\n asDict() {\n return super.getBaseDict();\n }\n draw(ctx: CanvasRenderingContext2D) {\n super.draw(ctx);\n if (this.fillColour === \"fog\") ctx.fillStyle = getFogColour();\n else ctx.fillStyle = this.fillColour;\n const z = gameStore.zoomFactor;\n const loc = g2l(this.refPoint);\n ctx.fillRect(loc.x, loc.y, this.w * z, this.h * z);\n if (this.strokeColour !== \"rgba(0, 0, 0, 0)\") {\n ctx.strokeStyle = this.strokeColour;\n ctx.lineWidth = 5;\n ctx.strokeRect(loc.x, loc.y, this.w * z, this.h * z);\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./selectcontext.vue?vue&type=script&lang=ts&\"","import { Ray, Vector } from \"@/game/geom\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Settings } from \"@/game/settings\";\nimport { gameStore } from \"@/game/store\";\nimport { g2l, g2lx, g2ly } from \"@/game/units\";\nimport { computeVisibility } from \"../visibility/te/te\";\n\nexport class FOWPlayersLayer extends Layer {\n isVisionLayer: boolean = true;\n\n draw(): void {\n if (!this.valid) {\n // console.time(\"VI\");\n const ctx = this.ctx;\n\n if (!gameStore.fowLOS || Settings.skipPlayerFOW) {\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n this.valid = true;\n return;\n }\n\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\n const drctx = layerManager.getLayer(\"draw\")!.ctx;\n drctx.clearRect(0, 0, window.innerWidth, window.innerHeight);\n\n const originalOperation = ctx.globalCompositeOperation;\n\n ctx.fillStyle = \"rgba(0, 0, 0, 1)\";\n\n // For the DM this is done at the end of this function. TODO: why the split up ???\n // This was done in commit be1e65cff1e7369375fe11cfa1643fab1d11beab.\n if (!gameStore.IS_DM) super.draw(!gameStore.fullFOW);\n\n // Then cut out all the player vision auras\n const maxLength = ctx.canvas.width + ctx.canvas.height;\n\n for (const tokenId of gameStore.ownedtokens) {\n const token = layerManager.UUIDMap.get(tokenId);\n if (token === undefined) continue;\n if (gameStore.visionMode === \"bvh\") {\n ctx.beginPath();\n let lastArcAngle = -1;\n const center = token.center();\n const lcenter = g2l(center);\n\n for (let angle = 0; angle < 2 * Math.PI; angle += (Settings.angleSteps / 2 / 180) * Math.PI) {\n const cos = Math.cos(angle);\n const sin = Math.sin(angle);\n // Check if there is a hit with one of the nearby light blockers.\n const lightRay = new Ray(center, new Vector(cos, sin));\n const hitResult = gameStore.BV.intersect(lightRay);\n\n // We can move on to the next angle if nothing was hit.\n if (!hitResult.hit) {\n // If an earlier hit caused the aura to leave the arc, we need to go back to the arc\n if (lastArcAngle === -1) {\n // Draw a line from the last non arc location back to the arc\n ctx.lineTo(lcenter.x + maxLength * cos, lcenter.y + maxLength * sin);\n // Set the start of a new arc beginning at the current angle\n lastArcAngle = angle;\n }\n continue;\n }\n // If hit , first finish any ongoing arc, then move to the intersection point\n if (lastArcAngle !== -1) {\n ctx.arc(lcenter.x, lcenter.y, maxLength, lastArcAngle, angle);\n lastArcAngle = -1;\n }\n ctx.lineTo(g2lx(hitResult.intersect.x), g2ly(hitResult.intersect.y));\n }\n\n // Finish the final arc.\n if (lastArcAngle !== -1) ctx.arc(lcenter.x, lcenter.y, maxLength, lastArcAngle, 2 * Math.PI);\n else ctx.closePath();\n ctx.fill();\n } else {\n try {\n const polygon = computeVisibility(token.center());\n ctx.beginPath();\n ctx.moveTo(g2lx(polygon[0][0]), g2ly(polygon[0][1]));\n for (const point of polygon) ctx.lineTo(g2lx(point[0]), g2ly(point[1]));\n ctx.closePath();\n ctx.fill();\n } catch {}\n }\n }\n\n // For the players this is done at the beginning of this function. TODO: why the split up ???\n // This was done in commit be1e65cff1e7369375fe11cfa1643fab1d11beab.\n if (gameStore.IS_DM) super.draw(!gameStore.fullFOW);\n\n ctx.globalCompositeOperation = originalOperation;\n // console.timeEnd(\"VI\");\n }\n }\n}\n","import { socket } from \"@/game/api/socket\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { createShapeFromDict } from \"@/game/shapes/utils\";\nimport { gameStore } from \"@/game/store\";\nimport { g2lx, g2ly } from \"@/game/units\";\n\nexport class Layer {\n name: string;\n width: number;\n height: number;\n canvas: HTMLCanvasElement;\n ctx: CanvasRenderingContext2D;\n\n selectable: boolean = false;\n playerEditable: boolean = false;\n isVisionLayer: boolean = false;\n\n // When set to false, the layer will be redrawn on the next tick\n valid: boolean = false;\n // The collection of shapes that this layer contains.\n // These are ordered on a depth basis.\n shapes: Shape[] = [];\n\n // Collection of shapes that are currently selected\n selection: Shape[] = [];\n\n // Extra selection highlighting settings\n selectionColor = \"#CC0000\";\n selectionWidth = 2;\n\n constructor(canvas: HTMLCanvasElement, name: string) {\n this.canvas = canvas;\n this.name = name;\n this.width = canvas.width;\n this.height = canvas.height;\n this.ctx = canvas.getContext(\"2d\")!;\n }\n\n invalidate(skipLightUpdate: boolean): void {\n this.valid = false;\n if (!skipLightUpdate) {\n layerManager.invalidateLight();\n }\n }\n\n addShape(shape: Shape, sync: boolean, temporary?: boolean): void {\n if (temporary === undefined) temporary = false;\n shape.layer = this.name;\n this.shapes.push(shape);\n layerManager.UUIDMap.set(shape.uuid, shape);\n shape.checkVisionSources();\n shape.setMovementBlock(shape.movementObstruction);\n if (shape.ownedBy(gameStore.username) && shape.isToken) gameStore.ownedtokens.push(shape.uuid);\n if (shape.annotation.length) gameStore.annotations.push(shape.uuid);\n if (sync) socket.emit(\"Shape.Add\", { shape: shape.asDict(), temporary });\n this.invalidate(!sync);\n }\n\n setShapes(shapes: ServerShape[]): void {\n for (const serverShape of shapes) {\n const shape = createShapeFromDict(serverShape);\n if (shape === undefined) {\n console.log(`Shape with unknown type ${serverShape.type_} could not be added`);\n return;\n }\n this.addShape(shape, false, false);\n }\n this.clearSelection(); // TODO: Fix keeping selection on those items that are not moved.\n this.invalidate(false);\n }\n\n removeShape(shape: Shape, sync: boolean, temporary?: boolean) {\n if (temporary === undefined) temporary = false;\n this.shapes.splice(this.shapes.indexOf(shape), 1);\n\n if (sync) socket.emit(\"Shape.Remove\", { shape, temporary });\n const lsI = gameStore.visionSources.findIndex(ls => ls.shape === shape.uuid);\n const lbI = gameStore.visionBlockers.findIndex(ls => ls === shape.uuid);\n\n const mbI = gameStore.movementblockers.findIndex(ls => ls === shape.uuid);\n const anI = gameStore.annotations.findIndex(ls => ls === shape.uuid);\n if (lsI >= 0) gameStore.visionSources.splice(lsI, 1);\n if (lbI >= 0) gameStore.visionBlockers.splice(lbI, 1);\n if (mbI >= 0) gameStore.movementblockers.splice(mbI, 1);\n if (anI >= 0) gameStore.annotations.splice(anI, 1);\n\n const annotationIndex = gameStore.annotations.indexOf(shape.uuid);\n if (annotationIndex >= 0) gameStore.annotations.splice(annotationIndex, 1);\n\n const ownedIndex = gameStore.ownedtokens.indexOf(shape.uuid);\n if (ownedIndex >= 0) gameStore.ownedtokens.splice(ownedIndex, 1);\n\n layerManager.UUIDMap.delete(shape.uuid);\n\n const index = this.selection.indexOf(shape);\n if (index >= 0) this.selection.splice(index, 1);\n if (lbI >= 0) gameStore.recalculateBV();\n this.invalidate(!sync);\n }\n\n clear(): void {\n this.ctx.clearRect(0, 0, this.width, this.height);\n }\n\n clearSelection(): void {\n this.selection = [];\n EventBus.$emit(\"SelectionInfo.Shape.Set\", null);\n }\n\n draw(doClear?: boolean): void {\n if (!this.valid) {\n const ctx = this.ctx;\n const ogOP = ctx.globalCompositeOperation;\n doClear = doClear === undefined ? true : doClear;\n\n if (doClear) this.clear();\n\n const state = this;\n\n // We iteratre twice over all shapes\n // First to draw the auras and a second time to draw the shapes themselves\n // Otherwise auras from one shape could be overlapping another shape itself.\n\n this.shapes.forEach(shape => {\n if (shape.options.has(\"skipDraw\") && shape.options.get(\"skipDraw\")) return;\n if (layerManager.getLayer() === undefined) return;\n if (!shape.visibleInCanvas(state.canvas)) return;\n if (state.name === \"fow\" && shape.visionObstruction && layerManager.getLayer()!.name !== state.name)\n return;\n shape.drawAuras(ctx);\n });\n this.shapes.forEach(shape => {\n if (shape.options.has(\"skipDraw\") && shape.options.get(\"skipDraw\")) return;\n if (layerManager.getLayer() === undefined) return;\n if (!shape.visibleInCanvas(state.canvas)) return;\n if (state.name === \"fow\" && shape.visionObstruction && layerManager.getLayer()!.name !== state.name)\n return;\n shape.draw(ctx);\n });\n\n if (this.selection != null) {\n ctx.fillStyle = this.selectionColor;\n ctx.strokeStyle = this.selectionColor;\n ctx.lineWidth = this.selectionWidth;\n const z = gameStore.zoomFactor;\n this.selection.forEach(sel => {\n ctx.globalCompositeOperation = sel.globalCompositeOperation;\n const bb = sel.getBoundingBox();\n // TODO: REFACTOR THIS TO Shape.drawSelection(ctx);\n ctx.strokeRect(g2lx(bb.topLeft.x), g2ly(bb.topLeft.y), bb.w * z, bb.h * z);\n\n const sw = Math.min(6, bb.w / 2);\n\n // topright\n ctx.fillRect(g2lx(bb.topRight.x - sw / 2), g2ly(bb.topLeft.y - sw / 2), sw * z, sw * z);\n // topleft\n ctx.fillRect(g2lx(bb.topLeft.x - sw / 2), g2ly(bb.topLeft.y - sw / 2), sw * z, sw * z);\n // botright\n ctx.fillRect(g2lx(bb.topRight.x - sw / 2), g2ly(bb.botLeft.y - sw / 2), sw * z, sw * z);\n // botleft\n ctx.fillRect(g2lx(bb.topLeft.x - sw / 2), g2ly(bb.botLeft.y - sw / 2), sw * z, sw * z);\n });\n }\n ctx.globalCompositeOperation = ogOP;\n this.valid = true;\n }\n }\n\n moveShapeOrder(shape: Shape, destinationIndex: number, sync: boolean): void {\n const oldIdx = this.shapes.indexOf(shape);\n if (oldIdx === destinationIndex) return;\n this.shapes.splice(oldIdx, 1);\n this.shapes.splice(destinationIndex, 0, shape);\n if (sync) socket.emit(\"Shape.Order.Set\", { shape: shape.asDict(), index: destinationIndex });\n this.invalidate(true);\n }\n\n onShapeMove(shape: Shape): void {\n shape.checkVisionSources();\n if (shape.visionObstruction) gameStore.recalculateBV();\n this.invalidate(false);\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SelectContext',{ref:\"selectcontext\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=template&id=0ed49b21&\"","import { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\n\nexport function scrollZoom(e: WheelEvent) {\n if (!e.target || !(e.target).tagName || (e.target).tagName !== \"CANVAS\") return;\n let delta: number;\n delta = Math.sign(e.deltaY) * -1;\n gameStore.updateZoom({ newZoomValue: gameStore.zoomFactor + 0.1 * delta, zoomLocation: l2g(getMouse(e)) });\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=style&index=0&id=62c91cd3&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./asset_node.vue?vue&type=style&index=0&id=62c91cd3&scoped=true&lang=css&\"","import { GlobalPoint, LocalPoint, Vector } from \"@/game/geom\";\nimport { BoundingRect } from \"@/game/shapes/boundingrect\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { calculateDelta } from \"@/game/ui/tools/utils\";\nimport { g2lx, g2ly, l2g, l2gx, l2gy } from \"@/game/units\";\n\nexport abstract class BaseRect extends Shape {\n w: number;\n h: number;\n constructor(topleft: GlobalPoint, w: number, h: number, fillColour?: string, strokeColour?: string, uuid?: string) {\n super(topleft, fillColour, strokeColour, uuid);\n this.w = w;\n this.h = h;\n }\n getBaseDict() {\n return Object.assign(super.getBaseDict(), {\n width: this.w,\n height: this.h,\n });\n }\n getBoundingBox() {\n return new BoundingRect(this.refPoint, this.w, this.h);\n }\n\n get points() {\n if (this.w === 0 || this.h === 0) return [[this.refPoint.x, this.refPoint.y]];\n // note to self: topright and botleft are swapped because I'm retarded.\n const topright = this.refPoint.add(new Vector(0, this.h));\n const botright = this.refPoint.add(new Vector(this.w, this.h));\n const botleft = this.refPoint.add(new Vector(this.w, 0));\n return [\n [this.refPoint.x, this.refPoint.y],\n [topright.x, topright.y],\n [botright.x, botright.y],\n [botleft.x, botleft.y],\n ];\n }\n\n contains(point: GlobalPoint): boolean {\n return (\n this.refPoint.x <= point.x &&\n this.refPoint.x + this.w >= point.x &&\n this.refPoint.y <= point.y &&\n this.refPoint.y + this.h >= point.y\n );\n }\n inCorner(point: GlobalPoint, corner: string) {\n switch (corner) {\n case \"ne\":\n return (\n this.refPoint.x + this.w - 3 <= point.x &&\n point.x <= this.refPoint.x + this.w + 3 &&\n this.refPoint.y - 3 <= point.y &&\n point.y <= this.refPoint.y + 3\n );\n case \"nw\":\n return (\n this.refPoint.x - 3 <= point.x &&\n point.x <= this.refPoint.x + 3 &&\n this.refPoint.y - 3 <= point.y &&\n point.y <= this.refPoint.y + 3\n );\n case \"sw\":\n return (\n this.refPoint.x - 3 <= point.x &&\n point.x <= this.refPoint.x + 3 &&\n this.refPoint.y + this.h - 3 <= point.y &&\n point.y <= this.refPoint.y + this.h + 3\n );\n case \"se\":\n return (\n this.refPoint.x + this.w - 3 <= point.x &&\n point.x <= this.refPoint.x + this.w + 3 &&\n this.refPoint.y + this.h - 3 <= point.y &&\n point.y <= this.refPoint.y + this.h + 3\n );\n default:\n return false;\n }\n }\n getCorner(point: GlobalPoint): string | undefined {\n if (this.inCorner(point, \"ne\")) return \"ne\";\n else if (this.inCorner(point, \"nw\")) return \"nw\";\n else if (this.inCorner(point, \"se\")) return \"se\";\n else if (this.inCorner(point, \"sw\")) return \"sw\";\n }\n center(): GlobalPoint;\n center(centerPoint: GlobalPoint): void;\n center(centerPoint?: GlobalPoint): GlobalPoint | void {\n if (centerPoint === undefined) return this.refPoint.add(new Vector(this.w / 2, this.h / 2));\n this.refPoint.x = centerPoint.x - this.w / 2;\n this.refPoint.y = centerPoint.y - this.h / 2;\n }\n\n visibleInCanvas(canvas: HTMLCanvasElement): boolean {\n if (super.visibleInCanvas(canvas)) return true;\n const coreVisible = !(\n g2lx(this.refPoint.x) > canvas.width ||\n g2ly(this.refPoint.y) > canvas.height ||\n g2lx(this.refPoint.x + this.w) < 0 ||\n g2ly(this.refPoint.y + this.h) < 0\n );\n if (coreVisible) return true;\n return false;\n }\n snapToGrid() {\n const gs = gameStore.gridSize;\n const center = this.center();\n const mx = center.x;\n const my = center.y;\n\n let targetX;\n let targetY;\n\n if ((this.w / gs) % 2 === 0) {\n targetX = Math.round(mx / gs) * gs - this.w / 2;\n } else {\n targetX = (Math.round((mx + gs / 2) / gs) - 1 / 2) * gs - this.w / 2;\n }\n if ((this.h / gs) % 2 === 0) {\n targetY = Math.round(my / gs) * gs - this.h / 2;\n } else {\n targetY = (Math.round((my + gs / 2) / gs) - 1 / 2) * gs - this.h / 2;\n }\n\n const delta = calculateDelta(new Vector(targetX - this.refPoint.x, targetY - this.refPoint.y), this);\n this.refPoint = this.refPoint.add(delta);\n\n this.invalidate(false);\n }\n resizeToGrid() {\n const gs = gameStore.gridSize;\n this.refPoint.x = Math.round(this.refPoint.x / gs) * gs;\n this.refPoint.y = Math.round(this.refPoint.y / gs) * gs;\n this.w = Math.max(Math.round(this.w / gs) * gs, gs);\n this.h = Math.max(Math.round(this.h / gs) * gs, gs);\n this.invalidate(false);\n }\n resize(resizedir: string, point: LocalPoint) {\n const z = gameStore.zoomFactor;\n if (resizedir === \"nw\") {\n this.w = g2lx(this.refPoint.x) + this.w * z - point.x;\n this.h = g2ly(this.refPoint.y) + this.h * z - point.y;\n this.refPoint = l2g(point);\n } else if (resizedir === \"ne\") {\n this.w = point.x - g2lx(this.refPoint.x);\n this.h = g2ly(this.refPoint.y) + this.h * z - point.y;\n this.refPoint.y = l2gy(point.y);\n } else if (resizedir === \"se\") {\n this.w = point.x - g2lx(this.refPoint.x);\n this.h = point.y - g2ly(this.refPoint.y);\n } else if (resizedir === \"sw\") {\n this.w = g2lx(this.refPoint.x) + this.w * z - point.x;\n this.h = point.y - g2ly(this.refPoint.y);\n this.refPoint.x = l2gx(point.x);\n }\n this.w /= z;\n this.h /= z;\n\n if (this.w < 0) {\n this.refPoint.x += this.w;\n this.w = Math.abs(this.w);\n }\n if (this.h < 0) {\n this.refPoint.y += this.h;\n this.h = Math.abs(this.h);\n }\n }\n}\n","import { render, staticRenderFns } from \"./select.vue?vue&type=template&id=0ed49b21&\"\nimport script from \"./select.vue?vue&type=script&lang=ts&\"\nexport * from \"./select.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"select.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=61eb1455&scoped=true&\"\nimport script from \"./main.vue?vue&type=script&lang=ts&\"\nexport * from \"./main.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./main.vue?vue&type=style&index=0&id=61eb1455&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61eb1455\",\n null\n \n)\n\ncomponent.options.__file = \"main.vue\"\nexport default component.exports","\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ContextMenu from \"@/core/components/contextmenu.vue\";\n\nimport { socket } from \"@/game/api/socket\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { gameStore } from \"@/game/store\";\nimport { l2gx, l2gy } from \"@/game/units\";\n\n@Component({\n components: {\n ContextMenu,\n },\n})\nexport default class SelectContext extends Vue {\n visible = false;\n x = 0;\n y = 0;\n\n get IS_DM(): boolean {\n return gameStore.IS_DM;\n }\n\n open(event: MouseEvent) {\n this.visible = true;\n this.x = event.pageX;\n this.y = event.pageY;\n this.$nextTick(() => this.$children[0].$el.focus());\n }\n close() {\n this.visible = false;\n }\n bringPlayers() {\n if (!gameStore.IS_DM) return;\n socket.emit(\"Players.Bring\", { x: l2gx(this.x), y: l2gy(this.y) });\n this.close();\n }\n createToken() {\n (this.$parent.$parent.$refs.createtokendialog).open(this.x, this.y);\n this.close();\n }\n showInitiative() {\n EventBus.$emit(\"Initiative.Show\");\n this.close();\n }\n}\n","import Axios from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Route } from \"vue-router\";\n\nimport { coreStore } from \"@/core/store\";\n\n@Component({ template: \"\" })\nexport default class Logout extends Vue {\n beforeRouteEnter(to: Route, from: Route, next: ({}) => {}) {\n Axios.post(\"/api/logout\").then(() => {\n coreStore.setAuthenticated(false);\n coreStore.setUsername(\"\");\n next({ path: \"/auth/login\" });\n });\n }\n}\n","import { getModule, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\n\nimport { rootStore } from \"@/store\";\n\nexport interface CoreState {\n authenticated: boolean;\n initialized: boolean;\n}\n\n@Module({ dynamic: true, store: rootStore, name: \"core\" })\nclass CoreStore extends VuexModule {\n authenticated = false;\n initialized = false;\n username = \"\";\n\n @Mutation\n setAuthenticated(auth: boolean) {\n this.authenticated = auth;\n }\n\n @Mutation\n setInitialized(init: boolean) {\n this.initialized = init;\n }\n\n @Mutation\n setUsername(username: string) {\n this.username = username;\n }\n}\n\nexport const coreStore = getModule(CoreStore);\n","import Vue from \"vue\";\n\nimport App from \"@/App.vue\";\nimport { router } from \"@/router\";\nimport { rootStore } from \"@/store\";\n\nVue.config.productionTip = false;\nVue.config.devtools = true;\nVue.config.performance = true;\n\nexport const app = new Vue({\n router,\n store: rootStore,\n render: h => h(App),\n}).$mount(\"#app\");\n\n(window).app = app;\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\n@Component({\n props: [\"visible\", \"left\", \"top\"],\n})\nexport default class ContextMenu extends Vue {}\n","import Axios, { AxiosError, AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport { Route } from \"vue-router\";\n\n@Component({ template: \"\" })\nexport default class Initiative extends Vue {\n beforeRouteEnter(to: Route, from: Route, next: ({}) => {}) {\n Axios.post(\"/api/invite\", {\n code: to.params.code,\n })\n .then((response: AxiosResponse) => {\n next({ path: response.data.sessionUrl });\n })\n .catch((error: AxiosError) => {\n console.error(\"Invitation code could not be redeemed\");\n next({ path: \"/dashboard\" });\n });\n }\n}\n","import { render, staticRenderFns } from \"./prompt.vue?vue&type=template&id=0602c2e6&scoped=true&\"\nimport script from \"./prompt.vue?vue&type=script&lang=ts&\"\nexport * from \"./prompt.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./prompt.vue?vue&type=style&index=0&id=0602c2e6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0602c2e6\",\n null\n \n)\n\ncomponent.options.__file = \"prompt.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=style&index=0&id=7abc7fe9&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./draw.vue?vue&type=style&index=0&id=7abc7fe9&scoped=true&lang=css&\"","import { GlobalPoint } from \"@/game/geom\";\n\nimport { Edge } from \"./cdt\";\nimport { drawPolygon } from \"./draw\";\nimport { PA_CDT } from \"./pa\";\nimport { Point, Sign, Triangle } from \"./tds\";\nimport { ccw, cw, orientation } from \"./triag\";\n\nexport function computeVisibility(q: GlobalPoint, it = 0, drawt = false): number[][] {\n // console.time(\"CV\");\n const Q: Point = [q.x, q.y];\n const rawOutput: number[][] = [];\n const triangle = PA_CDT.locate(Q, null).loc;\n if (triangle === null) {\n console.error(\"Triangle not found\");\n return [];\n }\n // triangle.fill();\n rawOutput.push(triangle.vertices[1]!.point!);\n if (!triangle.isConstrained(0))\n expandEdge(Q, triangle.vertices[2]!.point!, triangle.vertices[1]!.point!, triangle, 0, rawOutput);\n rawOutput.push(triangle.vertices[2]!.point!);\n if (!triangle.isConstrained(1))\n expandEdge(Q, triangle.vertices[0]!.point!, triangle.vertices[2]!.point!, triangle, 1, rawOutput);\n rawOutput.push(triangle.vertices[0]!.point!);\n if (!triangle.isConstrained(2))\n expandEdge(Q, triangle.vertices[1]!.point!, triangle.vertices[0]!.point!, triangle, 2, rawOutput);\n // console.timeEnd(\"CV\");\n\n if (drawt) drawPolygon(rawOutput, \"red\");\n\n return rawOutput;\n}\n\nfunction expandEdge(\n q: Point,\n left: number[],\n right: number[],\n fh: Triangle,\n index: number,\n rawOutput: number[][],\n): void {\n // fh.edge(index).draw();\n const nfh = fh.neighbours[index]!;\n // nfh.fill(\"rgba(255, 0, 0, 0.25)\");\n const nIndex = nfh.indexT(fh);\n const rIndex = ccw(nIndex);\n const lIndex = cw(nIndex);\n const nvh = nfh.vertices[nIndex]!;\n const rvh = nfh.vertices[lIndex]!;\n const lvh = nfh.vertices[rIndex]!;\n\n const re: Edge = [nfh, rIndex];\n const le: Edge = [nfh, lIndex];\n\n const ro = orientation(q, right, nvh.point!);\n const lo = orientation(q, left, nvh.point!);\n\n // const ctx = layerManager.getLayer(\"draw\")!.ctx;\n // ctx.beginPath();\n // ctx.strokeStyle = \"red\";\n // ctx.lineJoin = \"round\";\n // ctx.moveTo(g2lx(q.x), g2ly(q.y));\n // ctx.lineTo(g2lx(left[0]), g2ly(left[1]));\n // ctx.moveTo(g2lx(q.x), g2ly(q.y));\n // ctx.lineTo(g2lx(nvh[0]), g2ly(nvh[1]));\n // ctx.strokeStyle = \"blue\";\n // ctx.moveTo(g2lx(q.x), g2ly(q.y));\n // ctx.lineTo(g2lx(right[0]), g2ly(right[1]));\n // ctx.moveTo(g2lx(q.x), g2ly(q.y));\n // ctx.lineTo(g2lx(nvh[0]), g2ly(nvh[1]));\n // ctx.closePath();\n // ctx.stroke();\n\n // Right edge is seen if the new vertex is ccw of the right ray\n if (ro === Sign.COUNTERCLOCKWISE) {\n if (re[0].isConstrained(re[1])) {\n // See if current right ray is rvh\n if (right !== rvh.point!) rawOutput.push(raySegIntersection(q, right, nvh.point!, rvh.point!));\n if (lo === Sign.COUNTERCLOCKWISE) rawOutput.push(raySegIntersection(q, left, nvh.point!, rvh.point!));\n } else {\n if (lo === Sign.COUNTERCLOCKWISE) return expandEdge(q, left, right, nfh, rIndex, rawOutput);\n else expandEdge(q, nvh.point!, right, nfh, rIndex, rawOutput);\n }\n }\n\n if (ro !== Sign.CLOCKWISE && lo !== Sign.COUNTERCLOCKWISE) {\n rawOutput.push(nvh.point!);\n }\n\n if (lo === Sign.CLOCKWISE) {\n if (le[0].isConstrained(le[1])) {\n if (ro === Sign.CLOCKWISE) {\n rawOutput.push(raySegIntersection(q, right, nvh.point!, lvh.point!));\n }\n if (left !== lvh.point!) {\n rawOutput.push(raySegIntersection(q, left, nvh.point!, lvh.point!));\n }\n return;\n } else {\n if (ro === Sign.CLOCKWISE) {\n return expandEdge(q, left, right, nfh, lIndex, rawOutput);\n } else {\n return expandEdge(q, left, nvh.point!, nfh, lIndex, rawOutput);\n }\n }\n }\n}\n\nfunction raySegIntersection(q: Point, b: Point, s: Point, t: Point) {\n const denominator = (t[1] - s[1]) * (b[0] - q[0]) - (t[0] - s[0]) * (b[1] - q[1]);\n const ua = ((t[0] - s[0]) * (q[1] - s[1]) - (t[1] - s[1]) * (q[0] - s[0])) / denominator;\n // const ub = ((b[0] - q.x) * (q.y - s[1]) - (b[1] - q.y) * (q.x - s[0])) / denominator;\n const x = q[0] + ua * (b[0] - q[0]);\n const y = q[1] + ua * (b[1] - q[1]);\n\n return [x, y];\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=6bbf3b79&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=6bbf3b79&scoped=true&lang=css&\"","import { render, staticRenderFns } from \"./edit_dialog.vue?vue&type=template&id=078b3b76&scoped=true&\"\nimport script from \"./edit_dialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./edit_dialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./edit_dialog.vue?vue&type=style&index=0&id=078b3b76&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"078b3b76\",\n null\n \n)\n\ncomponent.options.__file = \"edit_dialog.vue\"\nexport default component.exports","export class Settings {\n static angleSteps = 4;\n static drawAngleLines = false;\n static drawFirstLightHit = false;\n static skipPlayerFOW = false;\n static skipLightFOW = false;\n\n static tempFill: string = \"fog\";\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport axios, { AxiosError, AxiosResponse } from \"axios\";\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport { coreStore } from \"@/core/store\";\n\n@Component\nexport default class Login extends Vue {\n username = \"\";\n password = \"\";\n error = \"\";\n\n login() {\n axios\n .post(\"/api/login\", {\n username: this.username,\n password: this.password,\n })\n .then((response: AxiosResponse) => {\n coreStore.setUsername(this.username);\n coreStore.setAuthenticated(true);\n this.$router.push(this.$route.query.redirect || \"/\");\n })\n .catch((error: AxiosError) => {\n if (error.response) this.error = error.response.statusText;\n else this.error = \"Unknown error occured\";\n });\n }\n\n register() {\n axios\n .post(\"/api/register\", {\n username: this.username,\n password: this.password,\n })\n .then((response: AxiosResponse) => {\n coreStore.setUsername(this.username);\n coreStore.setAuthenticated(true);\n this.$router.push(this.$route.query.redirect || \"/\");\n })\n .catch((error: AxiosError) => {\n if (error.response) this.error = error.response.statusText;\n else this.error = \"Unknown error occured\";\n });\n }\n\n focusin(event: { target?: { nextElementSibling?: HTMLElement } }) {\n if (event.target && event.target.nextElementSibling) {\n const span = event.target.nextElementSibling;\n span.style.opacity = \"0\";\n }\n }\n\n focusout(event: { target?: { nextElementSibling?: HTMLElement } }) {\n if (event.target && event.target.nextElementSibling) {\n const span = event.target.nextElementSibling;\n span.style.opacity = \"1\";\n }\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(\"div\")}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tool.vue?vue&type=template&id=1e034b42&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"modal\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"mask\",class:{'modal-mask': _vm.mask, 'dialog-mask': !_vm.mask},on:{\"click\":_vm.close,\"dragover\":function($event){$event.preventDefault();return _vm.dragOver($event)}}},[_c('div',{ref:\"container\",staticClass:\"modal-container\",on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._t(\"header\",null,{dragStart:_vm.dragStart,dragEnd:_vm.dragEnd}),_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal.vue?vue&type=template&id=12ed61ba&scoped=true&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=script&lang=ts&\"","import Component from \"vue-class-component\";\n\nimport Tool from \"@/game/ui/tools/tool.vue\";\n\nimport { socket } from \"@/game/api/socket\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Line } from \"@/game/shapes/line\";\nimport { Text } from \"@/game/shapes/text\";\nimport { gameStore } from \"@/game/store\";\nimport { l2g } from \"@/game/units\";\nimport { getMouse } from \"@/game/utils\";\n\n@Component\nexport class RulerTool extends Tool {\n name = \"Ruler\";\n active = false;\n startPoint: GlobalPoint | null = null;\n ruler: Line | null = null;\n text: Text | null = null;\n onMouseDown(event: MouseEvent) {\n const layer = layerManager.getLayer(\"draw\");\n if (layer === undefined) {\n console.log(\"No draw layer!\");\n return;\n }\n this.active = true;\n this.startPoint = l2g(getMouse(event));\n this.ruler = new Line(this.startPoint, this.startPoint, 3, gameStore.rulerColour);\n this.text = new Text(this.startPoint.clone(), \"\", \"bold 20px serif\");\n this.ruler.owners.push(gameStore.username);\n this.text.owners.push(gameStore.username);\n layer.addShape(this.ruler, true, true);\n layer.addShape(this.text, true, true);\n }\n onMouseMove(event: MouseEvent) {\n if (!this.active || this.ruler === null || this.startPoint === null || this.text === null) return;\n\n const layer = layerManager.getLayer(\"draw\");\n if (layer === undefined) {\n console.log(\"No draw layer!\");\n return;\n }\n const endPoint = l2g(getMouse(event));\n\n this.ruler.endPoint = endPoint;\n socket.emit(\"Shape.Update\", { shape: this.ruler!.asDict(), redraw: true, temporary: true });\n\n const diffsign = Math.sign(endPoint.x - this.startPoint.x) * Math.sign(endPoint.y - this.startPoint.y);\n const xdiff = Math.abs(endPoint.x - this.startPoint.x);\n const ydiff = Math.abs(endPoint.y - this.startPoint.y);\n const label =\n Math.round((Math.sqrt(xdiff ** 2 + ydiff ** 2) * gameStore.unitSize) / gameStore.gridSize) + \" ft\";\n const angle = Math.atan2(diffsign * ydiff, xdiff);\n const xmid = Math.min(this.startPoint.x, endPoint.x) + xdiff / 2;\n const ymid = Math.min(this.startPoint.y, endPoint.y) + ydiff / 2;\n this.text.refPoint.x = xmid;\n this.text.refPoint.y = ymid;\n this.text.text = label;\n this.text.angle = angle;\n socket.emit(\"Shape.Update\", { shape: this.text.asDict(), redraw: true, temporary: true });\n layer.invalidate(true);\n }\n onMouseUp(event: MouseEvent) {\n if (!this.active || this.ruler === null || this.startPoint === null || this.text === null) return;\n\n const layer = layerManager.getLayer(\"draw\");\n if (layer === undefined) {\n console.log(\"No active layer!\");\n return;\n }\n this.active = false;\n\n layer.removeShape(this.ruler, true, true);\n layer.removeShape(this.text, true, true);\n layer.invalidate(true);\n this.ruler = this.startPoint = this.text = null;\n }\n}\n","import { render, staticRenderFns } from \"./modal.vue?vue&type=template&id=12ed61ba&scoped=true&\"\nimport script from \"./modal.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./modal.vue?vue&type=style&index=0&id=12ed61ba&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"12ed61ba\",\n null\n \n)\n\ncomponent.options.__file = \"modal.vue\"\nexport default component.exports","import { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\n\nimport { CDT } from \"./cdt\";\n\nexport let PA_CDT = new CDT();\n\nexport function triangulate(partial: boolean = false) {\n const cdt = new CDT();\n for (const sh of gameStore.visionBlockers) {\n const shape = layerManager.UUIDMap.get(sh)!;\n if (partial && !shape.visibleInCanvas(layerManager.getLayer()!.canvas)) continue;\n for (let i = 0; i < shape.points.length; i++) {\n cdt.insertConstraint(shape.points[i], shape.points[(i + 1) % shape.points.length]);\n }\n }\n PA_CDT = cdt;\n (window).CDT = PA_CDT;\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=style&index=0&id=66ccc134&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createtoken_modal.vue?vue&type=style&index=0&id=66ccc134&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=style&index=0&id=61eb1455&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=style&index=0&id=61eb1455&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{on:{\"focusin\":_vm.focusin,\"focusout\":_vm.focusout,\"submit\":function($event){$event.preventDefault();return _vm.login($event)}}},[_c('fieldset',[_c('legend',{staticClass:\"legend\"},[_vm._v(\"PlanarAlly\")]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],attrs:{\"type\":\"text\",\"name\":\"username\",\"placeholder\":\"Username\",\"required\":\"\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value}}}),_vm._m(0)]),_c('div',{staticClass:\"input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],attrs:{\"type\":\"password\",\"name\":\"password\",\"placeholder\":\"Password\",\"required\":\"\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value}}}),_vm._m(1)]),_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('button',{staticStyle:{\"visibility\":\"hidden\",\"display\":\"none\"},attrs:{\"type\":\"submit\",\"name\":\"login\"}}),_c('button',{staticClass:\"submit\",attrs:{\"type\":\"button\",\"name\":\"register\",\"title\":\"Register\"},on:{\"click\":_vm.register}},[_c('i',{staticClass:\"fas fa-plus\"})]),_vm._m(2)])]),(_vm.error)?_c('div',{staticClass:\"feedback\"},[_c('p',{staticClass:\"error\"},[_c('strong',[_vm._v(\"Error:\")]),_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \")])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fas fa-user-circle\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('i',{staticClass:\"fas fa-lock\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"submit\",attrs:{\"type\":\"submit\",\"name\":\"login\",\"title\":\"Login\"}},[_c('i',{staticClass:\"fas fa-arrow-right\"})])}]\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=template&id=6bbf3b79&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport ColorPicker from \"@/core/components/colorpicker.vue\";\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\nimport { gameStore } from \"@/game/store\";\nimport { Prop } from \"vue-property-decorator\";\n\n@Component({\n components: {\n Modal,\n \"color-picker\": ColorPicker,\n },\n})\nexport default class EditDialog extends Vue {\n @Prop() shape!: Shape;\n\n visible = false;\n updated() {\n this.addEmpty();\n }\n addEmpty() {\n if (this.shape.owners[this.shape.owners.length - 1] !== \"\") this.shape.owners.push(\"\");\n if (\n !this.shape.trackers.length ||\n this.shape.trackers[this.shape.trackers.length - 1].name !== \"\" ||\n this.shape.trackers[this.shape.trackers.length - 1].value !== 0\n )\n this.shape.trackers.push({ uuid: uuidv4(), name: \"\", value: 0, maxvalue: 0, visible: false });\n if (\n !this.shape.auras.length ||\n this.shape.auras[this.shape.auras.length - 1].name !== \"\" ||\n this.shape.auras[this.shape.auras.length - 1].value !== 0\n )\n this.shape.auras.push({\n uuid: uuidv4(),\n name: \"\",\n value: 0,\n dim: 0,\n visionSource: false,\n colour: \"rgba(0,0,0,0)\",\n visible: false,\n });\n }\n updateShape(redraw: boolean) {\n socket.emit(\"Shape.Update\", { shape: this.shape.asDict(), redraw, temporary: false });\n if (redraw) layerManager.invalidate();\n this.addEmpty();\n }\n setToken(event: { target: HTMLInputElement }) {\n this.shape.setIsToken(event.target.checked);\n this.updateShape(true);\n }\n setVisionBlocker(event: { target: HTMLInputElement }) {\n this.shape.checkVisionSources();\n this.updateShape(true);\n }\n setMovementBlocker(event: { target: HTMLInputElement }) {\n this.shape.setMovementBlock(event.target.checked);\n this.updateShape(false);\n }\n updateAnnotation(event: { target: HTMLInputElement }) {\n const hadAnnotation = this.shape.annotation !== \"\";\n this.shape.annotation = event.target.value;\n if (this.shape.annotation !== \"\" && !hadAnnotation) {\n gameStore.annotations.push(this.shape.uuid);\n if (layerManager.hasLayer(\"draw\")) layerManager.getLayer(\"draw\")!.invalidate(true);\n } else if (this.shape.annotation === \"\" && hadAnnotation) {\n gameStore.annotations.splice(gameStore.annotations.findIndex(an => an === this.shape.uuid));\n if (layerManager.hasLayer(\"draw\")) layerManager.getLayer(\"draw\")!.invalidate(true);\n }\n this.updateShape(false);\n }\n updateOwner(event: { target: HTMLInputElement }, oldValue: string) {\n const ownerIndex = this.shape.owners.findIndex(o => o === oldValue);\n if (ownerIndex >= 0) this.shape.owners.splice(ownerIndex, 1, event.target.value);\n else this.shape.owners.push(event.target.value);\n this.updateShape(gameStore.fowLOS);\n }\n removeOwner(value: string) {\n const ownerIndex = this.shape.owners.findIndex(o => o === value);\n this.shape.owners.splice(ownerIndex, 1);\n this.updateShape(gameStore.fowLOS);\n }\n removeTracker(uuid: string) {\n this.shape.trackers = this.shape.trackers.filter(tr => tr.uuid !== uuid);\n this.updateShape(false);\n }\n removeAura(uuid: string) {\n this.shape.auras = this.shape.auras.filter(au => au.uuid !== uuid);\n this.shape.checkVisionSources();\n this.updateShape(true);\n }\n updateAuraVisionSource(aura: Aura) {\n aura.visionSource = !aura.visionSource;\n const i = gameStore.visionSources.findIndex(ls => ls.aura === aura.uuid);\n if (aura.visionSource && i === -1) gameStore.visionSources.push({ shape: this.shape.uuid, aura: aura.uuid });\n else if (!aura.visionSource && i >= 0) gameStore.visionSources.splice(i, 1);\n // aura.lastPath = undefined;\n layerManager.invalidateLight();\n this.updateShape(true);\n }\n updateAuraColour(aura: Aura, colour: string) {\n const layer = layerManager.getLayer(this.shape.layer);\n if (layer === undefined) return;\n layer.invalidate(!aura.visionSource);\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"main\"},on:{\"mouseleave\":_vm.mouseleave}},[_c('menu-bar'),_c('div',{attrs:{\"id\":\"board\"}},[(_vm.ready.manager)?[_c('tool-bar',{ref:\"tools\"})]:_vm._e(),_c('div',{attrs:{\"id\":\"layers\"},on:{\"mousedown\":_vm.mousedown,\"mouseup\":_vm.mouseup,\"mousemove\":_vm.mousemove,\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.contextmenu($event)},\"dragover\":function($event){$event.preventDefault();},\"drop\":_vm.drop}}),(_vm.layers.length > 1)?_c('div',{attrs:{\"id\":\"layerselect\"}},[_c('ul',_vm._l((_vm.layers),function(layer){return _c('li',{key:layer.name,class:{ 'layer-selected': layer === _vm.selectedLayer },on:{\"click\":function($event){_vm.selectLayer(layer)}}},[_c('a',{attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(layer))])])}))]):_vm._e()],2),_c('selection-info',{ref:\"selectionInfo\"}),_c('initiative-dialog',{ref:\"initiative\",attrs:{\"id\":\"initiativedialog\"}}),_c('note-dialog',{ref:\"note\"}),_c('zoom-slider',{attrs:{\"id\":\"zoomer\",\"height\":6,\"width\":200,\"min\":0.01,\"max\":5.0,\"interval\":0.1,\"dot-width\":8,\"dot-height\":20,\"tooltip-dir\":'bottom',\"tooltip\":'hover',\"formatter\":_vm.zoomFactor.toFixed(1),\"slider-style\":{'border-radius': '15%'},\"bg-style\":{'background-color': '#fff', 'box-shadow': '0.5px 0.5px 3px 1px rgba(0, 0, 0, .36)'},\"process-style\":{'background-color': '#fff'}},model:{value:(_vm.zoomFactor),callback:function ($$v) {_vm.zoomFactor=$$v},expression:\"zoomFactor\"}}),_c('prompt-dialog',{ref:\"prompt\"}),_c('confirm-dialog',{ref:\"confirm\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./game.vue?vue&type=template&id=6d744362&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport Modal from \"@/core/components/modals/modal.vue\";\n\n@Component({\n components: {\n Modal,\n },\n})\nexport default class ConfirmDialog extends Vue {\n $refs!: {\n confirm: HTMLButtonElement;\n };\n\n visible = false;\n yes = \"Yes\";\n no = \"No\";\n title = \"\";\n\n resolve = (ok: boolean) => {};\n reject = () => {};\n\n confirm() {\n this.resolve(true);\n this.close();\n }\n deny() {\n this.resolve(false);\n this.close();\n }\n close() {\n this.reject();\n this.visible = false;\n this.title = \"\";\n }\n open(title: string, yes = \"yes\", no = \"no\"): Promise {\n this.yes = yes;\n this.no = no;\n this.title = title;\n\n this.visible = true;\n this.$nextTick(() => {\n this.$refs.confirm.focus();\n });\n\n return new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n","import { render, staticRenderFns } from \"./map.vue?vue&type=template&id=f93438ce&\"\nimport script from \"./map.vue?vue&type=script&lang=ts&\"\nexport * from \"./map.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"map.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ContextMenu',{attrs:{\"visible\":_vm.visible,\"left\":_vm.left + 'px',\"top\":_vm.top + 'px'},on:{\"close\":_vm.close}},[_c('li',{on:{\"click\":_vm.rename}},[_vm._v(\"Rename\")]),_c('li',{on:{\"click\":_vm.remove}},[_vm._v(\"Remove\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=template&id=d4f084a4&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"visible\":_vm.visible},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_vm._v(_vm._s(_vm.title))])}}])},[_c('div',{staticClass:\"modal-body\"},[_c('button',{ref:\"confirm\",on:{\"click\":_vm.confirm}},[_vm._v(_vm._s(_vm.yes))]),(!!_vm.no)?_c('button',{on:{\"click\":_vm.deny}},[_vm._v(_vm._s(_vm.no))]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=template&id=1883e207&scoped=true&\"","\n\n\n\n\n\n\n\nimport Vue from \"vue\";\n\nimport Component from \"vue-class-component\";\n\nimport AssetManager from \"@/assetManager/manager.vue\";\nimport ContextMenu from \"@/core/components/contextmenu.vue\";\nimport ConfirmDialog from \"@/core/components/modals/confirm.vue\";\nimport Prompt from \"@/core/components/modals/prompt.vue\";\n\nimport { socket } from \"@/assetManager/socket\";\nimport { assetStore } from \"@/assetManager/store\";\nimport { getComponent, getRef } from \"@/core/utils\";\n\n@Component({\n components: {\n ContextMenu,\n },\n})\nexport default class AssetContextMenu extends Vue {\n visible = false;\n left = 0;\n top = 0;\n open(event: MouseEvent, inode: number) {\n if (!assetStore.selected.includes(inode)) getComponent().select(event, inode);\n\n this.visible = true;\n this.left = event.pageX;\n this.top = event.pageY;\n this.$nextTick(() => {\n this.$children[0].$el.focus();\n });\n }\n close() {\n this.visible = false;\n }\n rename() {\n if (assetStore.selected.length !== 1) return;\n const asset = assetStore.idMap.get(assetStore.selected[0])!;\n\n getRef(\"prompt\")\n .prompt(\"New name:\", `Renaming ${asset.name}`)\n .then(\n (name: string) => {\n socket.emit(\"Asset.Rename\", {\n asset: asset.id,\n name,\n });\n asset.name = name;\n getComponent().$forceUpdate();\n },\n () => {},\n );\n this.close();\n }\n remove() {\n if (assetStore.selected.length === 0) return;\n getRef(\"confirm\")\n .open(\"Are you sure you wish to remove this?\")\n .then(\n (result: boolean) => {\n if (result) {\n for (const sel of assetStore.selected) {\n socket.emit(\"Asset.Remove\", sel);\n if (assetStore.isFile(sel)) assetStore.files.splice(assetStore.files.indexOf(sel), 1);\n else assetStore.folders.splice(assetStore.folders.indexOf(sel), 1);\n }\n assetStore.selected = [];\n }\n },\n () => {},\n );\n this.close();\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./manager.vue?vue&type=template&id=d1ce9748&\"\nimport script from \"./manager.vue?vue&type=script&lang=ts&\"\nexport * from \"./manager.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./manager.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"manager.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tools.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./tool.vue?vue&type=template&id=1e034b42&\"\nimport script from \"./tool.vue?vue&type=script&lang=ts&\"\nexport * from \"./tool.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./tool.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\ncomponent.options.__file = \"tool.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Modal',{attrs:{\"visible\":_vm.visible},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"header\",fn:function(m){return _c('div',{staticClass:\"modal-header\",attrs:{\"draggable\":\"true\"},on:{\"dragstart\":m.dragStart,\"dragend\":m.dragEnd}},[_vm._v(_vm._s(_vm.title))])}}])},[_c('div',{staticClass:\"modal-body\"},[_vm._v(\"\\n \"+_vm._s(_vm.question)+\"\\n \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.answer),expression:\"answer\"}],ref:\"answer\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.answer)},on:{\"keyup\":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.submit($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.answer=$event.target.value}}})]),_c('div',{staticClass:\"modal-footer\"},[_c('button',{on:{\"click\":_vm.submit}},[_vm._v(\"Submit\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prompt.vue?vue&type=template&id=0602c2e6&scoped=true&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\nimport draggable from \"vuedraggable\";\nVue.component(\"draggable\", draggable);\n\nimport Modal from \"@/core/components/modals/modal.vue\";\n\nimport { uuidv4 } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { InitiativeData, InitiativeEffect } from \"@/game/comm/types/general\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\n\n@Component({\n components: {\n Modal,\n draggable,\n },\n})\nexport default class Initiative extends Vue {\n visible = false;\n data: InitiativeData[] = [];\n currentActor: string | null = null;\n roundCounter = 0;\n\n mounted() {\n EventBus.$on(\"Initiative.Clear\", this.clear);\n EventBus.$on(\"Initiative.Remove\", (data: string) => this.removeInitiative(data));\n EventBus.$on(\"Initiative.Show\", () => (this.visible = true));\n\n socket.on(\"Initiative.Set\", (data: InitiativeData[]) => {\n this.data = data;\n });\n socket.on(\"Initiative.Turn.Update\", (data: string) => this.setTurn(data, false));\n socket.on(\"Initiative.Round.Update\", (data: number) => this.setRound(data, false));\n socket.on(\"Initiative.Effect.New\", (data: { actor: string; effect: InitiativeEffect }) => {\n const actor = this.getActor(data.actor);\n if (actor === undefined) return;\n this.createEffect(actor, data.effect, false);\n });\n socket.on(\"Initiative.Effect.Update\", (data: { actor: string; effect: InitiativeEffect }) =>\n this.updateEffect(data.actor, data.effect, false),\n );\n }\n\n beforeDestroy() {\n EventBus.$off();\n }\n\n // Utilities\n clear() {\n this.data = [];\n this.currentActor = null;\n }\n getActor(actorId: string) {\n return this.data.find(a => a.uuid === actorId);\n }\n contains(uuid: string) {\n return this.data.some(d => d.uuid === uuid);\n }\n owns(actor: InitiativeData): boolean {\n if (gameStore.IS_DM) return true;\n const shape = layerManager.UUIDMap.get(actor.uuid);\n // Shapes that are unknown to this client are hidden from this client but owned by other clients\n if (shape === undefined) return false;\n return shape.owners.includes(gameStore.username);\n }\n getDefaultEffect() {\n return { uuid: uuidv4(), name: \"New Effect\", turns: 10 };\n }\n fakeSetData(dataTransfer: DataTransfer) {\n dataTransfer.setData(\"Hack\", \"\");\n }\n syncInitiative(data: InitiativeData | { uuid: string }) {\n socket.emit(\"Initiative.Update\", data);\n }\n // Events\n addInitiative(data: InitiativeData) {\n const d = this.data.findIndex(a => a.uuid === data.uuid);\n if (d >= 0) return;\n if (data.initiative === undefined) data.initiative = 0;\n this.syncInitiative(data);\n }\n removeInitiative(uuid: string) {\n const d = this.data.findIndex(a => a.uuid === uuid);\n if (d < 0 || this.data[d].group) return;\n this.syncInitiative({ uuid });\n // Remove highlight\n const shape = layerManager.UUIDMap.get(uuid);\n if (shape === undefined) return;\n if (shape.showHighlight) {\n shape.showHighlight = false;\n layerManager.getLayer(shape.layer)!.invalidate(true);\n }\n }\n updateOrder() {\n if (!gameStore.IS_DM) return;\n socket.emit(\"Initiative.Set\", this.data.map(d => d.uuid));\n }\n setTurn(actorId: string | null, sync: boolean) {\n if (!gameStore.IS_DM && sync) return;\n this.currentActor = actorId;\n const actor = this.data.find(a => a.uuid === actorId);\n if (actor === undefined) return;\n if (actor.effects) {\n for (let e = actor.effects.length - 1; e >= 0; e--) {\n if (actor.effects[e].turns <= 0) actor.effects.splice(e, 1);\n else actor.effects[e].turns--;\n }\n }\n if (sync) socket.emit(\"Initiative.Turn.Update\", actorId);\n }\n setRound(round: number, sync: boolean) {\n if (!gameStore.IS_DM && sync) return;\n this.roundCounter = round;\n if (sync) socket.emit(\"Initiative.Round.Update\", round);\n }\n nextTurn() {\n if (!gameStore.IS_DM) return;\n const order = this.data;\n const next = order[(order.findIndex(a => a.uuid === this.currentActor) + 1) % order.length];\n if (this.data[0].uuid === next.uuid) this.setRound(this.roundCounter + 1, true);\n this.setTurn(next.uuid, true);\n }\n toggleHighlight(actor: InitiativeData, show: boolean) {\n const shape = layerManager.UUIDMap.get(actor.uuid);\n if (shape === undefined) return;\n shape.showHighlight = show;\n layerManager.getLayer(shape.layer)!.invalidate(true);\n }\n toggleOption(actor: InitiativeData, option: \"visible\" | \"group\") {\n if (!this.owns(actor)) return;\n actor[option] = !actor[option];\n this.syncInitiative(actor);\n }\n createEffect(actor: InitiativeData, effect: InitiativeEffect, sync: boolean) {\n if (!this.owns(actor)) return;\n actor.effects.push(effect);\n if (sync) socket.emit(\"Initiative.Effect.New\", { actor: actor.uuid, effect });\n }\n syncEffect(actor: InitiativeData, effect: InitiativeEffect) {\n if (!this.owns(actor)) return;\n socket.emit(\"Initiative.Effect.Update\", { actor: actor.uuid, effect });\n }\n updateEffect(actorId: string, effect: InitiativeEffect, sync: boolean) {\n const actor = this.data.find(a => a.uuid === actorId);\n if (actor === undefined) return;\n const effectIndex = actor.effects.findIndex(e => e.uuid === effect.uuid);\n if (effectIndex === undefined) return;\n actor.effects[effectIndex] = effect;\n if (sync) this.syncEffect(actor, effect);\n else this.$forceUpdate();\n }\n}\n","import { render, staticRenderFns } from \"./selection_info.vue?vue&type=template&id=32cec914&scoped=true&\"\nimport script from \"./selection_info.vue?vue&type=script&lang=ts&\"\nexport * from \"./selection_info.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./selection_info.vue?vue&type=style&index=0&id=32cec914&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"32cec914\",\n null\n \n)\n\ncomponent.options.__file = \"selection_info.vue\"\nexport default component.exports","// import Vuex from \"vuex\";\nimport { Action, getModule, Module, Mutation, VuexModule } from \"vuex-module-decorators\";\n\nimport { AssetList } from \"@/core/comm/types\";\nimport { socket } from \"@/game/api/socket\";\nimport { sendClientOptions } from \"@/game/api/utils\";\nimport { Note } from \"@/game/comm/types/general\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { g2l, l2g } from \"@/game/units\";\nimport { BoundingVolume } from \"@/game/visibility/bvh/bvh\";\nimport { rootStore } from \"@/store\";\nimport { triangulate } from \"./visibility/te/pa\";\n\nexport interface GameState {\n boardInitialized: boolean;\n}\n\n@Module({ dynamic: true, store: rootStore, name: \"game\", namespaced: true })\nclass GameStore extends VuexModule {\n // This is a limited view of selectable layers that is used to generate the layer selection UI and ability to switch layers\n // See the layerManager for proper layer management tools\n layers: string[] = [];\n selectedLayerIndex = -1;\n boardInitialized = false;\n\n locations: string[] = [];\n\n assets: AssetList = {};\n\n notes: Note[] = [];\n\n IS_DM = false;\n gridSize = 50;\n username = \"\";\n roomName = \"\";\n roomCreator = \"\";\n invitationCode = \"\";\n\n gridColour = \"rgba(0, 0, 0, 1)\";\n fowColour = \"rgba(0, 0, 0, 1)\";\n rulerColour = \"rgba(255, 0, 0, 1)\";\n panX = 0;\n panY = 0;\n zoomFactor = 1;\n\n unitSize = 5;\n useGrid = true;\n fullFOW = false;\n fowOpacity = 0.3;\n fowLOS = false;\n locationName = \"\";\n\n visionSources: { shape: string; aura: string }[] = [];\n visionBlockers: string[] = [];\n annotations: string[] = [];\n movementblockers: string[] = [];\n ownedtokens: string[] = [];\n\n BV = Object.freeze(new BoundingVolume([]));\n\n visionMode: \"bvh\" | \"triangle\" = \"bvh\";\n\n get selectedLayer() {\n return this.layers[this.selectedLayerIndex];\n }\n\n @Mutation\n setVisionMode(visionMode: \"bvh\" | \"triangle\") {\n this.visionMode = visionMode;\n }\n\n @Mutation\n setBoardInitialized(boardInitialized: boolean) {\n this.boardInitialized = boardInitialized;\n }\n\n @Mutation\n setDM(isDM: boolean) {\n this.IS_DM = isDM;\n }\n\n @Mutation\n setUsername(username: string) {\n this.username = username;\n }\n\n @Mutation\n setRoomName(name: string) {\n this.roomName = name;\n }\n\n @Mutation\n setRoomCreator(name: string) {\n this.roomCreator = name;\n }\n\n @Mutation\n setInvitationCode(code: string) {\n this.invitationCode = code;\n }\n\n @Mutation\n addLayer(name: string) {\n this.layers.push(name);\n if (this.selectedLayerIndex === -1) this.selectedLayerIndex = this.layers.indexOf(name);\n }\n\n @Mutation\n selectLayer(data: { name: string; sync: boolean }) {\n const index = this.layers.indexOf(data.name);\n if (index >= 0) this.selectedLayerIndex = index;\n if (data.sync) socket.emit(\"Client.ActiveLayer.Set\", data.name);\n }\n\n @Mutation\n newNote(data: { note: Note; sync: boolean }) {\n this.notes.push(data.note);\n if (data.sync) socket.emit(\"Note.New\", data.note);\n }\n\n @Mutation\n setAssets(assets: AssetList) {\n this.assets = assets;\n }\n\n @Mutation\n setLocations(locations: string[]) {\n this.locations = locations;\n }\n\n @Mutation\n resetLayerInfo() {\n this.layers = [];\n this.selectedLayerIndex = -1;\n }\n\n @Mutation\n recalculateBV(partial = false) {\n // TODO: This needs to be cleaned up..\n if (this.boardInitialized) {\n if (this.visionMode === \"triangle\") triangulate(partial);\n else {\n let success = false;\n let tries = 0;\n while (!success) {\n success = true;\n try {\n this.BV = Object.freeze(new BoundingVolume(this.visionBlockers));\n } catch (error) {\n success = false;\n tries++;\n if (tries > 10) {\n console.error(error);\n return;\n }\n }\n }\n }\n }\n }\n\n @Mutation\n updateZoom(data: { newZoomValue: number; zoomLocation: GlobalPoint }) {\n if (data.newZoomValue === this.zoomFactor) return;\n if (data.newZoomValue < 0.1) data.newZoomValue = 0.01;\n if (data.newZoomValue > 5) data.newZoomValue = 5;\n\n const oldLoc = g2l(data.zoomLocation);\n\n this.zoomFactor = data.newZoomValue;\n\n const newLoc = l2g(oldLoc);\n\n // Change the pan settings to keep the zoomLocation in the same exact location before and after the zoom.\n const diff = newLoc.subtract(data.zoomLocation);\n this.panX += diff.x;\n this.panY += diff.y;\n\n layerManager.invalidate();\n sendClientOptions();\n }\n\n @Mutation\n setGridColour(data: { colour: string; sync: boolean }) {\n this.gridColour = data.colour;\n layerManager.getGridLayer()!.drawGrid();\n if (data.sync) socket.emit(\"Client.Options.Set\", { gridColour: data.colour });\n }\n\n @Mutation\n setFOWColour(data: { colour: string; sync: boolean }) {\n this.fowColour = data.colour;\n layerManager.invalidate();\n if (data.sync) socket.emit(\"Client.Options.Set\", { fowColour: data.colour });\n }\n\n @Mutation\n setRulerColour(data: { colour: string; sync: boolean }) {\n this.rulerColour = data.colour;\n if (data.sync) socket.emit(\"Client.Options.Set\", { rulerColour: data.colour });\n }\n\n @Mutation\n setPanX(x: number) {\n this.panX = x;\n }\n\n @Mutation\n setPanY(y: number) {\n this.panY = y;\n }\n\n @Mutation\n setZoomFactor(zoomFactor: number) {\n this.zoomFactor = zoomFactor;\n }\n\n @Mutation\n increasePanX(increase: number) {\n this.panX += increase;\n }\n\n @Mutation\n increasePanY(increase: number) {\n this.panY += increase;\n }\n\n @Mutation\n setUnitSize(data: { unitSize: number; sync: boolean }) {\n if (this.unitSize !== data.unitSize && data.unitSize > 0 && data.unitSize < Infinity) {\n this.unitSize = data.unitSize;\n layerManager.invalidate();\n if (data.sync) socket.emit(\"Location.Options.Set\", { unit_size: data.unitSize });\n }\n }\n\n @Mutation\n setUseGrid(data: { useGrid: boolean; sync: boolean }) {\n if (this.useGrid !== data.useGrid) {\n this.useGrid = data.useGrid;\n const gridLayer = layerManager.getGridLayer()!;\n if (data.useGrid) gridLayer.canvas.style.display = \"block\";\n else gridLayer.canvas.style.display = \"none\";\n if (data.sync) socket.emit(\"Location.Options.Set\", { use_grid: data.useGrid });\n }\n }\n\n @Mutation\n setGridSize(data: { gridSize: number; sync: boolean }): void {\n if (this.gridSize !== data.gridSize && data.gridSize > 0) {\n this.gridSize = data.gridSize;\n const gridLayer = layerManager.getGridLayer();\n if (gridLayer !== undefined) gridLayer.drawGrid();\n if (data.sync) socket.emit(\"Gridsize.Set\", data.gridSize);\n }\n }\n\n @Mutation\n setFullFOW(data: { fullFOW: boolean; sync: boolean }) {\n if (this.fullFOW !== data.fullFOW) {\n this.fullFOW = data.fullFOW;\n layerManager.invalidateLight();\n if (data.sync) socket.emit(\"Location.Options.Set\", { full_fow: data.fullFOW });\n }\n }\n\n @Mutation\n setFOWOpacity(data: { fowOpacity: number; sync: boolean }) {\n this.fowOpacity = data.fowOpacity;\n layerManager.invalidateLight();\n if (data.sync) socket.emit(\"Location.Options.Set\", { fow_opacity: data.fowOpacity });\n }\n\n @Mutation\n setLineOfSight(data: { fowLOS: boolean; sync: boolean }) {\n if (this.fowLOS !== data.fowLOS) {\n this.fowLOS = data.fowLOS;\n layerManager.invalidate();\n if (data.sync) socket.emit(\"Location.Options.Set\", { fow_los: data.fowLOS });\n }\n }\n\n @Mutation\n setLocationName(name: string) {\n this.locationName = name;\n }\n\n @Mutation\n updateNote(data: { note: Note; sync: boolean }) {\n const actualNote = this.notes.find(n => n.uuid === data.note.uuid);\n if (actualNote === undefined) return;\n actualNote.title = data.note.title;\n actualNote.text = data.note.text;\n if (data.sync) socket.emit(\"Note.Update\", actualNote);\n }\n\n @Mutation\n removeNote(data: { note: Note; sync: boolean }) {\n this.notes = this.notes.filter(n => n.uuid !== data.note.uuid);\n if (data.sync) socket.emit(\"Note.Remove\", data.note.uuid);\n }\n\n @Action\n clear() {\n (this.context.state).visionSources = [];\n (this.context.state).visionBlockers = [];\n (this.context.state).ownedtokens = [];\n (this.context.state).annotations = [];\n (this.context.state).movementblockers = [];\n this.context.commit(\"recalculateBV\");\n }\n}\n\nexport const gameStore = getModule(GameStore);\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./confirm.vue?vue&type=script&lang=ts&\"","import { ServerAura } from \"@/game/comm/types/shapes\";\n\nexport const aurasFromServer = (auras: ServerAura[]): Aura[] => {\n const result = [];\n for (const aura of auras) {\n result.push({\n uuid: aura.uuid,\n visionSource: aura.vision_source,\n visible: aura.visible,\n name: aura.name,\n value: aura.value,\n dim: aura.dim,\n colour: aura.colour,\n });\n }\n return result;\n};\n\nexport const aurasToServer = (auras: Aura[]): ServerAura[] => {\n const result = [];\n for (const aura of auras) {\n result.push({\n uuid: aura.uuid,\n vision_source: aura.visionSource,\n visible: aura.visible,\n name: aura.name,\n value: aura.value,\n dim: aura.dim,\n colour: aura.colour,\n });\n }\n return result;\n};\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/ts-loader/index.js??ref--12-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./contextMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./note.vue?vue&type=template&id=7a3669fd&scoped=true&\"\nimport script from \"./note.vue?vue&type=script&lang=ts&\"\nexport * from \"./note.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./note.vue?vue&type=style&index=0&id=7a3669fd&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7a3669fd\",\n null\n \n)\n\ncomponent.options.__file = \"note.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./initiative.vue?vue&type=template&id=ccaf03d6&scoped=true&\"\nimport script from \"./initiative.vue?vue&type=script&lang=ts&\"\nexport * from \"./initiative.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./initiative.vue?vue&type=style&index=0&id=ccaf03d6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ccaf03d6\",\n null\n \n)\n\ncomponent.options.__file = \"initiative.vue\"\nexport default component.exports","import { ServerLayer } from \"@/game/comm/types/general\";\nimport { FOWLayer } from \"@/game/layers/fow\";\nimport { FOWPlayersLayer } from \"@/game/layers/fowplayers\";\nimport { GridLayer } from \"@/game/layers/grid\";\nimport { Layer } from \"@/game/layers/layer\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { gameStore } from \"@/game/store\";\n\nexport function createLayer(layerInfo: ServerLayer) {\n // Create canvas element\n const canvas = document.createElement(\"canvas\");\n canvas.style.zIndex = layerManager.layers.length.toString();\n canvas.width = window.innerWidth;\n canvas.height = window.innerHeight;\n\n // Create the Layer instance\n let layer: Layer;\n if (layerInfo.type_ === \"grid\") layer = new GridLayer(canvas, layerInfo.name);\n else if (layerInfo.type_ === \"fow\") layer = new FOWLayer(canvas, layerInfo.name);\n else if (layerInfo.type_ === \"fow-players\") layer = new FOWPlayersLayer(canvas, layerInfo.name);\n else layer = new Layer(canvas, layerInfo.name);\n layer.selectable = layerInfo.selectable;\n layer.playerEditable = layerInfo.player_editable;\n layerManager.addLayer(layer);\n\n // Add the element to the DOM\n const layers = document.getElementById(\"layers\");\n if (layers === null) {\n console.warn(\"Layers div is missing, this will prevent the main game board from loading!\");\n return;\n }\n if (layerInfo.name !== \"fow-players\") layers.appendChild(canvas);\n\n if (layerInfo.type_ === \"grid\" && layerInfo.size) gameStore.setGridSize({ gridSize: layerInfo.size, sync: false });\n // Load layer shapes\n layer.setShapes(layerInfo.shapes);\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./edit_dialog.vue?vue&type=script&lang=ts&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.selected)?_c('div',{staticClass:\"tool-detail\",style:({'--detailRight': _vm.detailRight, '--detailArrow': _vm.detailArrow})},[_c('div',[_vm._v(\"#X\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.xCount),expression:\"xCount\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.xCount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.xCount=$event.target.value}}}),_c('div',[_vm._v(\"#Y\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.yCount),expression:\"yCount\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.yCount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.yCount=$event.target.value}}})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export * from \"-!cache-loader?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"74f43d04-vue-loader-template\\\"}!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./map.vue?vue&type=template&id=f93438ce&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport Component from \"vue-class-component\";\n\nimport Prompt from \"@/core/components/modals/prompt.vue\";\nimport EditDialog from \"@/game/ui/selection/edit_dialog.vue\";\n\nimport { getRef } from \"@/core/utils\";\nimport { socket } from \"@/game/api/socket\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { Shape } from \"@/game/shapes/shape\";\n\n@Component({\n components: {\n \"edit-dialog\": EditDialog,\n },\n})\nexport default class SelectionInfo extends Vue {\n shape: Shape | null = null;\n\n mounted() {\n EventBus.$on(\"SelectionInfo.Shape.Set\", (shape: Shape | null) => {\n this.shape = shape;\n });\n }\n\n beforeDestroy() {\n EventBus.$off();\n }\n\n openEditDialog() {\n (this.$refs.editDialog).visible = true;\n }\n changeValue(object: Tracker | Aura, redraw: boolean) {\n if (this.shape === null) return;\n getRef(\"prompt\")\n .prompt(`New ${object.name} value:`, `Updating ${object.name}`)\n .then(\n (value: string) => {\n if (this.shape === null) return;\n const ogValue = object.value;\n if (value[0] === \"+\" || value[0] === \"-\") object.value += parseInt(value, 10);\n else object.value = parseInt(value, 10);\n if (isNaN(object.value)) object.value = ogValue;\n socket.emit(\"Shape.Update\", { shape: this.shape.asDict(), redraw, temporary: false });\n if (redraw) layerManager.invalidate();\n },\n () => {},\n );\n }\n}\n","import { AssetList } from \"@/core/comm/types\";\nimport { socket } from \"@/game/api/socket\";\nimport { BoardInfo, Note, ServerClient, ServerLocation } from \"@/game/comm/types/general\";\nimport { ServerShape } from \"@/game/comm/types/shapes\";\nimport { EventBus } from \"@/game/event-bus\";\nimport { GlobalPoint } from \"@/game/geom\";\nimport { layerManager } from \"@/game/layers/manager\";\nimport { createLayer } from \"@/game/layers/utils\";\nimport { gameManager } from \"@/game/manager\";\nimport { gameStore } from \"@/game/store\";\nimport { router } from \"@/router\";\n\nsocket.on(\"connect\", () => {\n console.log(\"Connected\");\n});\nsocket.on(\"disconnect\", () => {\n console.log(\"Disconnected\");\n});\nsocket.on(\"connect_error\", (error: any) => {\n console.error(\"Could not connect to game session.\");\n router.push(\"/dashboard\");\n});\nsocket.on(\"error\", (error: any) => {\n console.error(\"Game session does not exist.\");\n router.push(\"/dashboard\");\n});\nsocket.on(\"redirect\", (destination: string) => {\n console.log(\"redirecting\");\n router.push(destination);\n});\nsocket.on(\"Room.Info.Set\", (data: { name: string; creator: string; invitationCode: string }) => {\n gameStore.setRoomName(data.name);\n gameStore.setRoomCreator(data.creator);\n gameStore.setInvitationCode(data.invitationCode);\n});\nsocket.on(\"Username.Set\", (username: string) => {\n gameStore.setUsername(username);\n gameStore.setDM(username === window.location.pathname.split(\"/\")[2]);\n});\nsocket.on(\"Client.Options.Set\", (options: ServerClient) => {\n gameStore.setGridColour({ colour: options.grid_colour, sync: false });\n gameStore.setFOWColour({ colour: options.fow_colour, sync: false });\n gameStore.setRulerColour({ colour: options.ruler_colour, sync: false });\n gameStore.setPanX(options.pan_x);\n gameStore.setPanY(options.pan_y);\n gameStore.setZoomFactor(options.zoom_factor);\n if (options.active_layer) layerManager.selectLayer(options.active_layer, false);\n if (layerManager.getGridLayer() !== undefined) layerManager.getGridLayer()!.invalidate();\n});\nsocket.on(\"Location.Set\", (data: Partial) => {\n if (data.name !== undefined) gameStore.setLocationName(data.name);\n if (data.unit_size !== undefined) gameStore.setUnitSize({ unitSize: data.unit_size, sync: false });\n if (data.use_grid !== undefined) gameStore.setUseGrid({ useGrid: data.use_grid, sync: false });\n if (data.full_fow !== undefined) gameStore.setFullFOW({ fullFOW: data.full_fow, sync: false });\n if (data.fow_opacity !== undefined) gameStore.setFOWOpacity({ fowOpacity: data.fow_opacity, sync: false });\n if (data.fow_los !== undefined) gameStore.setLineOfSight({ fowLOS: data.fow_los, sync: false });\n});\nsocket.on(\"Position.Set\", (data: { x: number; y: number }) => {\n gameManager.setCenterPosition(new GlobalPoint(data.x, data.y));\n});\nsocket.on(\"Notes.Set\", (notes: Note[]) => {\n for (const note of notes) gameStore.newNote({ note, sync: false });\n});\nsocket.on(\"Asset.List.Set\", (assets: AssetList) => {\n gameStore.setAssets(assets);\n});\nsocket.on(\"Board.Set\", (locationInfo: BoardInfo) => {\n gameStore.clear();\n gameStore.setLocations(locationInfo.locations);\n document.getElementById(\"layers\")!.innerHTML = \"\";\n gameStore.resetLayerInfo();\n layerManager.reset();\n for (const layer of locationInfo.layers) createLayer(layer);\n // Force the correct opacity render on other layers.\n layerManager.selectLayer(layerManager.getLayer()!.name, false);\n EventBus.$emit(\"Initiative.Clear\");\n gameStore.setBoardInitialized(true);\n gameStore.recalculateBV();\n});\nsocket.on(\"Gridsize.Set\", (gridSize: number) => {\n gameStore.setGridSize({ gridSize, sync: false });\n});\nsocket.on(\"Shape.Add\", (shape: ServerShape) => {\n gameManager.addShape(shape);\n});\nsocket.on(\"Shape.Remove\", (shape: ServerShape) => {\n if (!layerManager.UUIDMap.has(shape.uuid)) {\n console.log(`Attempted to remove an unknown shape`);\n return;\n }\n if (!layerManager.hasLayer(shape.layer)) {\n console.log(`Attempted to remove shape from an unknown layer ${shape.layer}`);\n return;\n }\n const layer = layerManager.getLayer(shape.layer)!;\n layer.removeShape(layerManager.UUIDMap.get(shape.uuid)!, false);\n layer.invalidate(false);\n});\nsocket.on(\"Shape.Order.Set\", (data: { shape: ServerShape; index: number }) => {\n if (!layerManager.UUIDMap.has(data.shape.uuid)) {\n console.log(`Attempted to move the shape order of an unknown shape`);\n return;\n }\n if (!layerManager.hasLayer(data.shape.layer)) {\n console.log(`Attempted to remove shape from an unknown layer ${data.shape.layer}`);\n return;\n }\n const shape = layerManager.UUIDMap.get(data.shape.uuid)!;\n const layer = layerManager.getLayer(shape.layer)!;\n layer.moveShapeOrder(shape, data.index, false);\n});\nsocket.on(\"Shape.Layer.Change\", (data: { uuid: string; layer: string }) => {\n const shape = layerManager.UUIDMap.get(data.uuid);\n if (shape === undefined) return;\n shape.moveLayer(data.layer, false);\n});\nsocket.on(\"Shape.Update\", (data: { shape: ServerShape; redraw: boolean; move: boolean }) => {\n gameManager.updateShape(data);\n});\nsocket.on(\"Temp.Clear\", (shapes: ServerShape[]) => {\n shapes.forEach(shape => {\n if (!layerManager.UUIDMap.has(shape.uuid)) {\n console.log(\"Attempted to remove an unknown temporary shape\");\n return;\n }\n if (!layerManager.hasLayer(shape.layer)) {\n console.log(`Attempted to remove shape from an unknown layer ${shape.layer}`);\n return;\n }\n const realShape = layerManager.UUIDMap.get(shape.uuid)!;\n layerManager.getLayer(shape.layer)!.removeShape(realShape, false);\n });\n});\n"],"sourceRoot":""} \ No newline at end of file diff --git a/server/static/js/chunk-vendors-legacy.883f7b7f.js b/server/static/js/chunk-vendors-legacy.026de90a.js similarity index 95% rename from server/static/js/chunk-vendors-legacy.883f7b7f.js rename to server/static/js/chunk-vendors-legacy.026de90a.js index 8c3bfb5bf..617e1b527 100644 --- a/server/static/js/chunk-vendors-legacy.883f7b7f.js +++ b/server/static/js/chunk-vendors-legacy.026de90a.js @@ -79,5 +79,5 @@ var n,r,i,o=String.fromCharCode;function a(t){var e,n,r=[],i=0,o=t.length;while( * @author Feross Aboukhadijeh * @license MIT */ -var r=n("1fb5"),i=n("9152"),o=n("e3db");function a(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"===typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(e){return!1}}function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function c(t,e){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function b(t){return+t!=t&&(t=0),u.alloc(+t)}function _(t,e){if(u.isBuffer(t))return t.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!==typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return J(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Q(t).length;default:if(r)return J(t).length;e=(""+e).toLowerCase(),r=!0}}function w(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,e>>>=0,n<=e)return"";t||(t="utf8");while(1)switch(t){case"hex":return M(this,e,n);case"utf8":case"utf-8":return j(this,e,n);case"ascii":return P(this,e,n);case"latin1":case"binary":return B(this,e,n);case"base64":return T(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function x(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function C(t,e,n,r,i){if(0===t.length)return-1;if("string"===typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"===typeof e&&(e=u.from(e,r)),u.isBuffer(e))return 0===e.length?-1:k(t,e,n,r,i);if("number"===typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):k(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function k(t,e,n,r,i){var o,a=1,s=t.length,c=e.length;if(void 0!==r&&(r=String(r).toLowerCase(),"ucs2"===r||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;a=2,s/=2,c/=2,n/=2}function u(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var l=-1;for(o=n;os&&(n=s-c),o=n;o>=0;o--){for(var f=!0,h=0;hi&&(r=i)):r=i;var o=e.length;if(o%2!==0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a239?4:u>223?3:u>191?2:1;if(i+f<=n)switch(f){case 1:u<128&&(l=u);break;case 2:o=t[i+1],128===(192&o)&&(c=(31&u)<<6|63&o,c>127&&(l=c));break;case 3:o=t[i+1],a=t[i+2],128===(192&o)&&128===(192&a)&&(c=(15&u)<<12|(63&o)<<6|63&a,c>2047&&(c<55296||c>57343)&&(l=c));break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128===(192&o)&&128===(192&a)&&128===(192&s)&&(c=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s,c>65535&&c<1114112&&(l=c))}null===l?(l=65533,f=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=f}return D(r)}e.Buffer=u,e.SlowBuffer=b,e.INSPECT_MAX_BYTES=50,u.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:a(),e.kMaxLength=s(),u.poolSize=8192,u._augment=function(t){return t.__proto__=u.prototype,t},u.from=function(t,e,n){return l(null,t,e,n)},u.TYPED_ARRAY_SUPPORT&&(u.prototype.__proto__=Uint8Array.prototype,u.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&u[Symbol.species]===u&&Object.defineProperty(u,Symbol.species,{value:null,configurable:!0})),u.alloc=function(t,e,n){return h(null,t,e,n)},u.allocUnsafe=function(t){return p(null,t)},u.allocUnsafeSlow=function(t){return p(null,t)},u.isBuffer=function(t){return!(null==t||!t._isBuffer)},u.compare=function(t,e){if(!u.isBuffer(t)||!u.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),""},u.prototype.compare=function(t,e,n,r,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,i>>>=0,this===t)return 0;for(var o=i-r,a=n-e,s=Math.min(o,a),c=this.slice(r,i),l=t.slice(e,n),f=0;fi)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return A(this,t,e,n);case"utf8":case"utf-8":return S(this,t,e,n);case"ascii":return E(this,t,e,n);case"latin1":case"binary":return O(this,t,e,n);case"base64":return R(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var $=4096;function D(t){var e=t.length;if(e<=$)return String.fromCharCode.apply(String,t);var n="",r=0;while(rr)&&(n=r);for(var i="",o=e;on)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,n,r,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function U(t,e,n,r){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-n,2);i>>8*(r?i:1-i)}function z(t,e,n,r){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-n,4);i>>8*(r?i:3-i)&255}function H(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function V(t,e,n,r,o){return o||H(t,e,n,4,3.4028234663852886e38,-3.4028234663852886e38),i.write(t,e,n,r,23,4),n+4}function q(t,e,n,r,o){return o||H(t,e,n,8,1.7976931348623157e308,-1.7976931348623157e308),i.write(t,e,n,r,52,8),n+8}u.prototype.slice=function(t,e){var n,r=this.length;if(t=~~t,e=void 0===e?r:~~e,t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),e0&&(i*=256))r+=this[t+--e]*i;return r},u.prototype.readUInt8=function(t,e){return e||I(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||I(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||I(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||I(t,e,this.length);var r=this[t],i=1,o=0;while(++o=i&&(r-=Math.pow(2,8*e)),r},u.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||I(t,e,this.length);var r=e,i=1,o=this[t+--r];while(r>0&&(i*=256))o+=this[t+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||I(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(t,e){e||I(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(t,e){return e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,n,r){if(t=+t,e|=0,n|=0,!r){var i=Math.pow(2,8*n)-1;N(this,t,e,n,i,0)}var o=1,a=0;this[e]=255&t;while(++a=0&&(a*=256))this[e+o]=t/a&255;return e+n},u.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):U(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):U(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):z(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):z(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);N(this,t,e,n,i-1,-i)}var o=0,a=1,s=0;this[e]=255&t;while(++o>0)-s&255;return e+n},u.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);N(this,t,e,n,i-1,-i)}var o=n-1,a=1,s=0;this[e+o]=255&t;while(--o>=0&&(a*=256))t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},u.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):U(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):U(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):z(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):z(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,n){return V(this,t,e,!0,n)},u.prototype.writeFloatBE=function(t,e,n){return V(this,t,e,!1,n)},u.prototype.writeDoubleLE=function(t,e,n){return q(this,t,e,!0,n)},u.prototype.writeDoubleBE=function(t,e,n){return q(this,t,e,!1,n)},u.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e=0;--i)t[i+e]=this[i+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"===typeof t)for(o=e;o55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function G(t){for(var e=[],n=0;n>8,i=n%256,o.push(i),o.push(r)}return o}function Q(t){return r.toByteArray(Y(t))}function tt(t,e,n,r){for(var i=0;i=e.length||i>=t.length)break;e[i+n]=t[i]}return i}function et(t){return t!==t}}).call(this,n("c8ba"))},bc3a:function(t,e,n){t.exports=n("cee4")},c345:function(t,e,n){"use strict";var r=n("c532"),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,n,o,a={};return t?(r.forEach(t.split("\n"),function(t){if(o=t.indexOf(":"),e=r.trim(t.substr(0,o)).toLowerCase(),n=r.trim(t.substr(o+1)),e){if(a[e]&&i.indexOf(e)>=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+", "+n:n}}),a):a}},c345a:function(t,e,n){!function(e,n){t.exports=n()}("undefined"!=typeof self&&self,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=22)}([function(t,e){function n(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"})).concat([o]).join("\n")}return[n].join("\n")}function r(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var r=n(e,t);return e[2]?"@media "+e[2]+"{"+r+"}":r}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i0?(0,o.default)(t.hex):(0,o.default)(t))||void 0!==n._a&&null!==n._a||n.setAlpha(r||1);var i=n.toHsl(),a=n.toHsv();return 0===i.s&&(a.h=i.h=t.h||t.hsl&&t.hsl.h||e||0),{hsl:i,hex:n.toHexString().toUpperCase(),hex8:n.toHex8String().toUpperCase(),rgba:n.toRgb(),hsv:a,oldHue:t.h||e||i.h,source:t.source,a:t.a||n.getAlpha()}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(27),o=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default={props:["value"],data:function(){return{val:r(this.value)}},computed:{colors:{get:function(){return this.val},set:function(t){this.val=t,this.$emit("input",t)}}},watch:{value:function(t){this.val=r(t)}},methods:{colorChange:function(t,e){this.oldHue=this.colors.hsl.h,this.colors=r(t,e||this.oldHue)},isValidHex:function(t){return(0,o.default)(t).isValid()},simpleCheckForValidColor:function(t){for(var e=["r","g","b","a","h","s","l","v"],n=0,r=0,i=0;ithis.max))return t;this.$refs.input.value=this.max}},labelId:function(){return"input__label__"+this.label+"__"+Math.random().toString().slice(2,5)},labelSpanText:function(){return this.labelText||this.label}},methods:{update:function(t){this.handleChange(t.target.value)},handleChange:function(t){var e={};e[this.label]=t,void 0===e.hex&&void 0===e["#"]?this.$emit("change",e):t.length>5&&this.$emit("change",e)},handleKeyDown:function(t){var e=this.val,n=Number(e);if(n){var r=this.arrowOffset||1;38===t.keyCode&&(e=n+r,this.handleChange(e),t.preventDefault()),40===t.keyCode&&(e=n-r,this.handleChange(e),t.preventDefault())}}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),i=function(t){return t&&t.__esModule?t:{default:t}}(r),o=["#FFFFFF","#F2F2F2","#E6E6E6","#D9D9D9","#CCCCCC","#BFBFBF","#B3B3B3","#A6A6A6","#999999","#8C8C8C","#808080","#737373","#666666","#595959","#4D4D4D","#404040","#333333","#262626","#0D0D0D","#000000"];e.default={name:"Grayscale",mixins:[i.default],props:{palette:{type:Array,default:function(){return o}}},components:{},computed:{pick:function(){return this.colors.hex.toUpperCase()}},methods:{handlerClick:function(t){this.colorChange({hex:t,source:"hex"})}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(4),o=r(i),a=n(3),s=r(a);e.default={name:"Material",mixins:[s.default],components:{"ed-in":o.default},methods:{onChange:function(t){t&&(t.hex?this.isValidHex(t.hex)&&this.colorChange({hex:t.hex,source:"hex"}):(t.r||t.g||t.b)&&this.colorChange({r:t.r||this.colors.rgba.r,g:t.g||this.colors.rgba.g,b:t.b||this.colors.rgba.b,a:t.a||this.colors.rgba.a,source:"rgba"}))}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),o=r(i),a=n(5),s=r(a);e.default={name:"Slider",mixins:[o.default],props:{swatches:{type:Array,default:function(){return[".80",".65",".50",".35",".20"]}}},components:{hue:s.default},computed:{activeOffset:function(){var t=this.swatches.includes("0"),e=this.swatches.includes("1"),n=this.colors.hsl;return Math.round(100*n.s)/100==.5?Math.round(100*n.l)/100:t&&0===n.l?0:e&&1===n.l?1:-1}},methods:{hueChange:function(t){this.colorChange(t)},handleSwClick:function(t,e){this.colorChange({h:this.colors.hsl.h,s:.5,l:e,source:"hsl"})}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"Hue",props:{value:Object,direction:{type:String,default:"horizontal"}},data:function(){return{oldHue:0,pullDirection:""}},computed:{colors:function(){var t=this.value.hsl.h;return 0!==t&&t-this.oldHue>0&&(this.pullDirection="right"),0!==t&&t-this.oldHue<0&&(this.pullDirection="left"),this.oldHue=t,this.value},directionClass:function(){return{"vc-hue--horizontal":"horizontal"===this.direction,"vc-hue--vertical":"vertical"===this.direction}},pointerTop:function(){return"vertical"===this.direction?0===this.colors.hsl.h&&"right"===this.pullDirection?0:-100*this.colors.hsl.h/360+100+"%":0},pointerLeft:function(){return"vertical"===this.direction?0:0===this.colors.hsl.h&&"right"===this.pullDirection?"100%":100*this.colors.hsl.h/360+"%"}},methods:{handleChange:function(t,e){!e&&t.preventDefault();var n,r,i=this.$refs.container,o=i.clientWidth,a=i.clientHeight,s=i.getBoundingClientRect().left+window.pageXOffset,c=i.getBoundingClientRect().top+window.pageYOffset,u=t.pageX||(t.touches?t.touches[0].pageX:0),l=t.pageY||(t.touches?t.touches[0].pageY:0),f=u-s,h=l-c;"vertical"===this.direction?(h<0?n=360:h>a?n=0:(r=-100*h/a+100,n=360*r/100),this.colors.hsl.h!==n&&this.$emit("change",{h:n,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:"hsl"})):(f<0?n=0:f>o?n=360:(r=100*f/o,n=360*r/100),this.colors.hsl.h!==n&&this.$emit("change",{h:n,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:"hsl"}))},handleMouseDown:function(t){this.handleChange(t,!0),window.addEventListener("mousemove",this.handleChange),window.addEventListener("mouseup",this.handleMouseUp)},handleMouseUp:function(t){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(50),o=r(i),a=n(3),s=r(a),c=["red","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","black"],u=["900","700","500","300","100"],l=function(){var t=[];return c.forEach(function(e){var n=[];"black"===e.toLowerCase()||"white"===e.toLowerCase()?n=n.concat(["#000000","#FFFFFF"]):u.forEach(function(t){var r=o.default[e][t];n.push(r.toUpperCase())}),t.push(n)}),t}();e.default={name:"Swatches",mixins:[s.default],props:{palette:{type:Array,default:function(){return l}}},computed:{pick:function(){return this.colors.hex}},methods:{equal:function(t){return t.toLowerCase()===this.colors.hex.toLowerCase()},handlerClick:function(t){this.colorChange({hex:t,source:"hex"})}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),o=r(i),a=n(4),s=r(a),c=n(6),u=r(c),l=n(5),f=r(l),h=n(7),p=r(h);e.default={name:"Photoshop",mixins:[o.default],props:{head:{type:String,default:"Color Picker"},disableFields:{type:Boolean,default:!1},hasResetButton:{type:Boolean,default:!1},acceptLabel:{type:String,default:"OK"},cancelLabel:{type:String,default:"Cancel"},resetLabel:{type:String,default:"Reset"},newLabel:{type:String,default:"new"},currentLabel:{type:String,default:"current"}},components:{saturation:u.default,hue:f.default,alpha:p.default,"ed-in":s.default},data:function(){return{currentColor:"#FFF"}},computed:{hsv:function(){var t=this.colors.hsv;return{h:t.h.toFixed(),s:(100*t.s).toFixed(),v:(100*t.v).toFixed()}},hex:function(){var t=this.colors.hex;return t&&t.replace("#","")}},created:function(){this.currentColor=this.colors.hex},methods:{childChange:function(t){this.colorChange(t)},inputChange:function(t){t&&(t["#"]?this.isValidHex(t["#"])&&this.colorChange({hex:t["#"],source:"hex"}):t.r||t.g||t.b||t.a?this.colorChange({r:t.r||this.colors.rgba.r,g:t.g||this.colors.rgba.g,b:t.b||this.colors.rgba.b,a:t.a||this.colors.rgba.a,source:"rgba"}):(t.h||t.s||t.v)&&this.colorChange({h:t.h||this.colors.hsv.h,s:t.s/100||this.colors.hsv.s,v:t.v/100||this.colors.hsv.v,source:"hsv"}))},clickCurrentColor:function(){this.colorChange({hex:this.currentColor,source:"hex"})},handleAccept:function(){this.$emit("ok")},handleCancel:function(){this.$emit("cancel")},handleReset:function(){this.$emit("reset")}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(57),o=r(i),a=n(58),s=r(a);e.default={name:"Saturation",props:{value:Object},computed:{colors:function(){return this.value},bgColor:function(){return"hsl("+this.colors.hsv.h+", 100%, 50%)"},pointerTop:function(){return-100*this.colors.hsv.v+1+100+"%"},pointerLeft:function(){return 100*this.colors.hsv.s+"%"}},methods:{throttle:(0,s.default)(function(t,e){t(e)},20,{leading:!0,trailing:!1}),handleChange:function(t,e){!e&&t.preventDefault();var n=this.$refs.container,r=n.clientWidth,i=n.clientHeight,a=n.getBoundingClientRect().left+window.pageXOffset,s=n.getBoundingClientRect().top+window.pageYOffset,c=t.pageX||(t.touches?t.touches[0].pageX:0),u=t.pageY||(t.touches?t.touches[0].pageY:0),l=(0,o.default)(c-a,0,r),f=(0,o.default)(u-s,0,i),h=l/r,p=(0,o.default)(-f/i+1,0,1);this.throttle(this.onChange,{h:this.colors.hsv.h,s:h,v:p,a:this.colors.hsv.a,source:"hsva"})},onChange:function(t){this.$emit("change",t)},handleMouseDown:function(t){window.addEventListener("mousemove",this.handleChange),window.addEventListener("mouseup",this.handleChange),window.addEventListener("mouseup",this.handleMouseUp)},handleMouseUp:function(t){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(8),i=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default={name:"Alpha",props:{value:Object,onChange:Function},components:{checkboard:i.default},computed:{colors:function(){return this.value},gradientColor:function(){var t=this.colors.rgba,e=[t.r,t.g,t.b].join(",");return"linear-gradient(to right, rgba("+e+", 0) 0%, rgba("+e+", 1) 100%)"}},methods:{handleChange:function(t,e){!e&&t.preventDefault();var n,r=this.$refs.container,i=r.clientWidth,o=r.getBoundingClientRect().left+window.pageXOffset,a=t.pageX||(t.touches?t.touches[0].pageX:0),s=a-o;n=s<0?0:s>i?1:Math.round(100*s/i)/100,this.colors.a!==n&&this.$emit("change",{h:this.colors.hsl.h,s:this.colors.hsl.s,l:this.colors.hsl.l,a:n,source:"rgba"})},handleMouseDown:function(t){this.handleChange(t,!0),window.addEventListener("mousemove",this.handleChange),window.addEventListener("mouseup",this.handleMouseUp)},handleMouseUp:function(){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}}}},function(t,e,n){"use strict";function r(t,e,n){if("undefined"==typeof document)return null;var r=document.createElement("canvas");r.width=r.height=2*n;var i=r.getContext("2d");return i?(i.fillStyle=t,i.fillRect(0,0,r.width,r.height),i.fillStyle=e,i.fillRect(0,0,n,n),i.translate(n,n),i.fillRect(0,0,n,n),r.toDataURL()):null}function i(t,e,n){var i=t+","+e+","+n;if(o[i])return o[i];var a=r(t,e,n);return o[i]=a,a}Object.defineProperty(e,"__esModule",{value:!0});var o={};e.default={name:"Checkboard",props:{size:{type:[Number,String],default:8},white:{type:String,default:"#fff"},grey:{type:String,default:"#e6e6e6"}},computed:{bgStyle:function(){return{"background-image":"url("+i(this.white,this.grey,this.size)+")"}}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),o=r(i),a=n(4),s=r(a),c=n(6),u=r(c),l=n(5),f=r(l),h=n(7),p=r(h),d=n(8),v=r(d),g=["#D0021B","#F5A623","#F8E71C","#8B572A","#7ED321","#417505","#BD10E0","#9013FE","#4A90E2","#50E3C2","#B8E986","#000000","#4A4A4A","#9B9B9B","#FFFFFF","rgba(0,0,0,0)"];e.default={name:"Sketch",mixins:[o.default],components:{saturation:u.default,hue:f.default,alpha:p.default,"ed-in":s.default,checkboard:v.default},props:{presetColors:{type:Array,default:function(){return g}},disableAlpha:{type:Boolean,default:!1},disableFields:{type:Boolean,default:!1}},computed:{hex:function(){var t=void 0;return t=this.colors.a<1?this.colors.hex8:this.colors.hex,t.replace("#","")},activeColor:function(){var t=this.colors.rgba;return"rgba("+[t.r,t.g,t.b,t.a].join(",")+")"}},methods:{handlePreset:function(t){this.colorChange({hex:t,source:"hex"})},childChange:function(t){this.colorChange(t)},inputChange:function(t){t&&(t.hex?this.isValidHex(t.hex)&&this.colorChange({hex:t.hex,source:"hex"}):(t.r||t.g||t.b||t.a)&&this.colorChange({r:t.r||this.colors.rgba.r,g:t.g||this.colors.rgba.g,b:t.b||this.colors.rgba.b,a:t.a||this.colors.rgba.a,source:"rgba"}))}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),o=r(i),a=n(4),s=r(a),c=n(6),u=r(c),l=n(5),f=r(l),h=n(7),p=r(h),d=n(8),v=r(d);e.default={name:"Chrome",mixins:[o.default],props:{disableAlpha:{type:Boolean,default:!1},disableFields:{type:Boolean,default:!1}},components:{saturation:u.default,hue:f.default,alpha:p.default,"ed-in":s.default,checkboard:v.default},data:function(){return{fieldsIndex:0,highlight:!1}},computed:{hsl:function(){var t=this.colors.hsl,e=t.h,n=t.s,r=t.l;return{h:e.toFixed(),s:(100*n).toFixed()+"%",l:(100*r).toFixed()+"%"}},activeColor:function(){var t=this.colors.rgba;return"rgba("+[t.r,t.g,t.b,t.a].join(",")+")"},hasAlpha:function(){return this.colors.a<1}},methods:{childChange:function(t){this.colorChange(t)},inputChange:function(t){if(t)if(t.hex)this.isValidHex(t.hex)&&this.colorChange({hex:t.hex,source:"hex"});else if(t.r||t.g||t.b||t.a)this.colorChange({r:t.r||this.colors.rgba.r,g:t.g||this.colors.rgba.g,b:t.b||this.colors.rgba.b,a:t.a||this.colors.rgba.a,source:"rgba"});else if(t.h||t.s||t.l){var e=t.s?t.s.replace("%","")/100:this.colors.hsl.s,n=t.l?t.l.replace("%","")/100:this.colors.hsl.l;this.colorChange({h:t.h||this.colors.hsl.h,s:e,l:n,source:"hsl"})}},toggleViews:function(){this.fieldsIndex>=2?this.fieldsIndex=0:this.fieldsIndex++},showHighlight:function(){this.highlight=!0},hideHighlight:function(){this.highlight=!1}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}var i=n(23),o=r(i),a=n(32),s=r(a),c=n(36),u=r(c),l=n(40),f=r(l),h=n(47),p=r(h),d=n(52),v=r(d),g=n(68),m=r(g),y=n(72),b=r(y),_=n(7),w=r(_),x=n(8),C=r(x),k=n(4),A=r(k),S=n(5),E=r(S),O=n(6),R=r(O),F=n(3),T=r(F),j={version:"2.7.0",Compact:o.default,Grayscale:s.default,Material:u.default,Slider:f.default,Swatches:p.default,Photoshop:v.default,Sketch:m.default,Chrome:b.default,Alpha:w.default,Checkboard:C.default,EditableInput:A.default,Hue:E.default,Saturation:R.default,ColorMixin:T.default};t.exports=j},function(t,e,n){"use strict";function r(t){c||n(24)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(9),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(31),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Compact.vue",e.default=f.exports},function(t,e,n){var r=n(25);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("6ce8a5a8",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-compact {\n padding-top: 5px;\n padding-left: 5px;\n width: 240px;\n border-radius: 2px;\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\n background-color: #fff;\n}\n.vc-compact-colors {\n overflow: hidden;\n padding: 0;\n margin: 0;\n}\n.vc-compact-color-item {\n list-style: none;\n width: 15px;\n height: 15px;\n float: left;\n margin-right: 5px;\n margin-bottom: 5px;\n position: relative;\n cursor: pointer;\n}\n.vc-compact-color-item--white {\n box-shadow: inset 0 0 0 1px #ddd;\n}\n.vc-compact-color-item--white .vc-compact-dot {\n background: #000;\n}\n.vc-compact-dot {\n position: absolute;\n top: 5px;\n right: 5px;\n bottom: 5px;\n left: 5px;\n border-radius: 50%;\n opacity: 1;\n background: #fff;\n}\n",""])},function(t,e){t.exports=function(t,e){for(var n=[],r={},i=0;i.5?c/(2-o-a):c/(o+a),o){case t:r=(e-n)/c+(e1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var i,o,a;if(t=R(t,360),e=R(e,100),n=R(n,100),0===e)i=o=a=n;else{var s=n<.5?n*(1+e):n+e-n*e,c=2*n-s;i=r(c,s,t+1/3),o=r(c,s,t),a=r(c,s,t-1/3)}return{r:255*i,g:255*o,b:255*a}}function l(t,e,n){t=R(t,255),e=R(e,255),n=R(n,255);var r,i,o=W(t,e,n),a=q(t,e,n),s=o,c=o-a;if(i=0===o?0:c/o,o==a)r=0;else{switch(o){case t:r=(e-n)/c+(e>1)+720)%360;--e;)r.h=(r.h+i)%360,a.push(o(r));return a}function E(t,e){e=e||6;for(var n=o(t).toHsv(),r=n.h,i=n.s,a=n.v,s=[],c=1/e;e--;)s.push(o({h:r,s:i,v:a})),a=(a+c)%1;return s}function O(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function R(t,e){j(t)&&(t="100%");var n=$(t);return t=q(e,W(0,parseFloat(t))),n&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function F(t){return q(1,W(0,t))}function T(t){return parseInt(t,16)}function j(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)}function $(t){return"string"==typeof t&&-1!=t.indexOf("%")}function D(t){return 1==t.length?"0"+t:""+t}function P(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function M(t){return T(t)/255}function L(t){return!!J.CSS_UNIT.exec(t)}function I(t){t=t.replace(U,"").replace(z,"").toLowerCase();var e,n=!1;if(X[t])t=X[t],n=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=J.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=J.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=J.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=J.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=J.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=J.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=J.hex8.exec(t))?{r:T(e[1]),g:T(e[2]),b:T(e[3]),a:M(e[4]),format:n?"name":"hex8"}:(e=J.hex6.exec(t))?{r:T(e[1]),g:T(e[2]),b:T(e[3]),format:n?"name":"hex"}:(e=J.hex4.exec(t))?{r:T(e[1]+""+e[1]),g:T(e[2]+""+e[2]),b:T(e[3]+""+e[3]),a:M(e[4]+""+e[4]),format:n?"name":"hex8"}:!!(e=J.hex3.exec(t))&&{r:T(e[1]+""+e[1]),g:T(e[2]+""+e[2]),b:T(e[3]+""+e[3]),format:n?"name":"hex"}}function N(t){var e,n;return t=t||{level:"AA",size:"small"},e=(t.level||"AA").toUpperCase(),n=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA"),"small"!==n&&"large"!==n&&(n="small"),{level:e,size:n}}var U=/^\s+/,z=/\s+$/,H=0,V=i.round,q=i.min,W=i.max,Y=i.random;o.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,n,r,o,a,s=this.toRgb();return t=s.r/255,e=s.g/255,n=s.b/255,r=t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4),o=e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4),a=n<=.03928?n/12.92:i.pow((n+.055)/1.055,2.4),.2126*r+.7152*o+.0722*a},setAlpha:function(t){return this._a=O(t),this._roundA=V(100*this._a)/100,this},toHsv:function(){var t=l(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=l(this._r,this._g,this._b),e=V(360*t.h),n=V(100*t.s),r=V(100*t.v);return 1==this._a?"hsv("+e+", "+n+"%, "+r+"%)":"hsva("+e+", "+n+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var t=c(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=c(this._r,this._g,this._b),e=V(360*t.h),n=V(100*t.s),r=V(100*t.l);return 1==this._a?"hsl("+e+", "+n+"%, "+r+"%)":"hsla("+e+", "+n+"%, "+r+"%, "+this._roundA+")"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return p(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:V(this._r),g:V(this._g),b:V(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+V(this._r)+", "+V(this._g)+", "+V(this._b)+")":"rgba("+V(this._r)+", "+V(this._g)+", "+V(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:V(100*R(this._r,255))+"%",g:V(100*R(this._g,255))+"%",b:V(100*R(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+V(100*R(this._r,255))+"%, "+V(100*R(this._g,255))+"%, "+V(100*R(this._b,255))+"%)":"rgba("+V(100*R(this._r,255))+"%, "+V(100*R(this._g,255))+"%, "+V(100*R(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(K[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+d(this._r,this._g,this._b,this._a),n=e,r=this._gradientType?"GradientType = 1, ":"";if(t){var i=o(t);n="#"+d(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+r+"startColorstr="+e+",endColorstr="+n+")"},toString:function(t){var e=!!t;t=t||this._format;var n=!1,r=this._a<1&&this._a>=0;return e||!r||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(n=this.toRgbString()),"prgb"===t&&(n=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(n=this.toHexString()),"hex3"===t&&(n=this.toHexString(!0)),"hex4"===t&&(n=this.toHex8String(!0)),"hex8"===t&&(n=this.toHex8String()),"name"===t&&(n=this.toName()),"hsl"===t&&(n=this.toHslString()),"hsv"===t&&(n=this.toHsvString()),n||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return o(this.toString())},_applyModification:function(t,e){var n=t.apply(null,[this].concat([].slice.call(e)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(y,arguments)},brighten:function(){return this._applyModification(b,arguments)},darken:function(){return this._applyModification(_,arguments)},desaturate:function(){return this._applyModification(v,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(w,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(S,arguments)},complement:function(){return this._applyCombination(x,arguments)},monochromatic:function(){return this._applyCombination(E,arguments)},splitcomplement:function(){return this._applyCombination(A,arguments)},triad:function(){return this._applyCombination(C,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},o.fromRatio=function(t,e){if("object"==typeof t){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]="a"===r?t[r]:P(t[r]));t=n}return o(t,e)},o.equals=function(t,e){return!(!t||!e)&&o(t).toRgbString()==o(e).toRgbString()},o.random=function(){return o.fromRatio({r:Y(),g:Y(),b:Y()})},o.mix=function(t,e,n){n=0===n?0:n||50;var r=o(t).toRgb(),i=o(e).toRgb(),a=n/100;return o({r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b,a:(i.a-r.a)*a+r.a})},o.readability=function(t,e){var n=o(t),r=o(e);return(i.max(n.getLuminance(),r.getLuminance())+.05)/(i.min(n.getLuminance(),r.getLuminance())+.05)},o.isReadable=function(t,e,n){var r,i,a=o.readability(t,e);switch(i=!1,r=N(n),r.level+r.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},o.mostReadable=function(t,e,n){var r,i,a,s,c=null,u=0;n=n||{},i=n.includeFallbackColors,a=n.level,s=n.size;for(var l=0;lu&&(u=r,c=o(e[l]));return o.isReadable(t,c,{level:a,size:s})||!i?c:(n.includeFallbackColors=!1,o.mostReadable(t,["#fff","#000"],n))};var X=o.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},K=o.hexNames=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[t[n]]=n);return e}(X),J=function(){var t="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",e="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?",n="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?";return{CSS_UNIT:new RegExp(t),rgb:new RegExp("rgb"+e),rgba:new RegExp("rgba"+n),hsl:new RegExp("hsl"+e),hsla:new RegExp("hsla"+n),hsv:new RegExp("hsv"+e),hsva:new RegExp("hsva"+n),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();void 0!==t&&t.exports?t.exports=o:void 0!==(r=function(){return o}.call(e,n,e,t))&&(t.exports=r)}(Math)},function(t,e,n){var r=n(29);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("0f73e73c",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-editable-input {\n position: relative;\n}\n.vc-input__input {\n padding: 0;\n border: 0;\n outline: none;\n}\n.vc-input__label {\n text-transform: capitalize;\n}\n",""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-editable-input"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.val,expression:"val"}],ref:"input",staticClass:"vc-input__input",attrs:{"aria-labelledby":t.labelId},domProps:{value:t.val},on:{keydown:t.handleKeyDown,input:[function(e){e.target.composing||(t.val=e.target.value)},t.update]}}),t._v(" "),n("span",{staticClass:"vc-input__label",attrs:{for:t.label,id:t.labelId}},[t._v(t._s(t.labelSpanText))]),t._v(" "),n("span",{staticClass:"vc-input__desc"},[t._v(t._s(t.desc))])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-compact",attrs:{role:"application","aria-label":"Compact color picker"}},[n("ul",{staticClass:"vc-compact-colors",attrs:{role:"listbox"}},t._l(t.paletteUpperCase(t.palette),function(e){return n("li",{key:e,staticClass:"vc-compact-color-item",class:{"vc-compact-color-item--white":"#FFFFFF"===e},style:{background:e},attrs:{role:"option","aria-label":"color:"+e,"aria-selected":e===t.pick},on:{click:function(n){t.handlerClick(e)}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e===t.pick,expression:"c === pick"}],staticClass:"vc-compact-dot"})])}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(33)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(11),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(35),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Grayscale.vue",e.default=f.exports},function(t,e,n){var r=n(34);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("21ddbb74",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-grayscale {\n width: 125px;\n border-radius: 2px;\n box-shadow: 0 2px 15px rgba(0,0,0,.12), 0 2px 10px rgba(0,0,0,.16);\n background-color: #fff;\n}\n.vc-grayscale-colors {\n border-radius: 2px;\n overflow: hidden;\n padding: 0;\n margin: 0;\n}\n.vc-grayscale-color-item {\n list-style: none;\n width: 25px;\n height: 25px;\n float: left;\n position: relative;\n cursor: pointer;\n}\n.vc-grayscale-color-item--white .vc-grayscale-dot {\n background: #000;\n}\n.vc-grayscale-dot {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 6px;\n height: 6px;\n margin: -3px 0 0 -2px;\n border-radius: 50%;\n opacity: 1;\n background: #fff;\n}\n",""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-grayscale",attrs:{role:"application","aria-label":"Grayscale color picker"}},[n("ul",{staticClass:"vc-grayscale-colors",attrs:{role:"listbox"}},t._l(t.paletteUpperCase(t.palette),function(e){return n("li",{key:e,staticClass:"vc-grayscale-color-item",class:{"vc-grayscale-color-item--white":"#FFFFFF"==e},style:{background:e},attrs:{role:"option","aria-label":"Color:"+e,"aria-selected":e===t.pick},on:{click:function(n){t.handlerClick(e)}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e===t.pick,expression:"c === pick"}],staticClass:"vc-grayscale-dot"})])}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(37)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(12),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(39),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Material.vue",e.default=f.exports},function(t,e,n){var r=n(38);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("1ff3af73",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,'\n.vc-material {\n width: 98px;\n height: 98px;\n padding: 16px;\n font-family: "Roboto";\n position: relative;\n border-radius: 2px;\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\n background-color: #fff;\n}\n.vc-material .vc-input__input {\n width: 100%;\n margin-top: 12px;\n font-size: 15px;\n color: #333;\n height: 30px;\n}\n.vc-material .vc-input__label {\n position: absolute;\n top: 0;\n left: 0;\n font-size: 11px;\n color: #999;\n text-transform: capitalize;\n}\n.vc-material-hex {\n border-bottom-width: 2px;\n border-bottom-style: solid;\n}\n.vc-material-split {\n display: flex;\n margin-right: -10px;\n padding-top: 11px;\n}\n.vc-material-third {\n flex: 1;\n padding-right: 10px;\n}\n',""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-material",attrs:{role:"application","aria-label":"Material color picker"}},[n("ed-in",{staticClass:"vc-material-hex",style:{borderColor:t.colors.hex},attrs:{label:"hex"},on:{change:t.onChange},model:{value:t.colors.hex,callback:function(e){t.$set(t.colors,"hex",e)},expression:"colors.hex"}}),t._v(" "),n("div",{staticClass:"vc-material-split"},[n("div",{staticClass:"vc-material-third"},[n("ed-in",{attrs:{label:"r"},on:{change:t.onChange},model:{value:t.colors.rgba.r,callback:function(e){t.$set(t.colors.rgba,"r",e)},expression:"colors.rgba.r"}})],1),t._v(" "),n("div",{staticClass:"vc-material-third"},[n("ed-in",{attrs:{label:"g"},on:{change:t.onChange},model:{value:t.colors.rgba.g,callback:function(e){t.$set(t.colors.rgba,"g",e)},expression:"colors.rgba.g"}})],1),t._v(" "),n("div",{staticClass:"vc-material-third"},[n("ed-in",{attrs:{label:"b"},on:{change:t.onChange},model:{value:t.colors.rgba.b,callback:function(e){t.$set(t.colors.rgba,"b",e)},expression:"colors.rgba.b"}})],1)])],1)},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(41)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(13),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(46),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Slider.vue",e.default=f.exports},function(t,e,n){var r=n(42);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("7982aa43",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-slider {\n position: relative;\n width: 410px;\n}\n.vc-slider-hue-warp {\n height: 12px;\n position: relative;\n}\n.vc-slider-hue-warp .vc-hue-picker {\n width: 14px;\n height: 14px;\n border-radius: 6px;\n transform: translate(-7px, -2px);\n background-color: rgb(248, 248, 248);\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\n}\n.vc-slider-swatches {\n display: flex;\n margin-top: 20px;\n}\n.vc-slider-swatch {\n margin-right: 1px;\n flex: 1;\n width: 20%;\n}\n.vc-slider-swatch:first-child {\n margin-right: 1px;\n}\n.vc-slider-swatch:first-child .vc-slider-swatch-picker {\n border-radius: 2px 0px 0px 2px;\n}\n.vc-slider-swatch:last-child {\n margin-right: 0;\n}\n.vc-slider-swatch:last-child .vc-slider-swatch-picker {\n border-radius: 0px 2px 2px 0px;\n}\n.vc-slider-swatch-picker {\n cursor: pointer;\n height: 12px;\n}\n.vc-slider-swatch-picker--active {\n transform: scaleY(1.8);\n border-radius: 3.6px/2px;\n}\n.vc-slider-swatch-picker--white {\n box-shadow: inset 0 0 0 1px #ddd;\n}\n.vc-slider-swatch-picker--active.vc-slider-swatch-picker--white {\n box-shadow: inset 0 0 0 0.6px #ddd;\n}\n",""])},function(t,e,n){var r=n(44);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("7c5f1a1c",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-hue {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n border-radius: 2px;\n}\n.vc-hue--horizontal {\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n}\n.vc-hue--vertical {\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n}\n.vc-hue-container {\n cursor: pointer;\n margin: 0 2px;\n position: relative;\n height: 100%;\n}\n.vc-hue-pointer {\n z-index: 2;\n position: absolute;\n}\n.vc-hue-picker {\n cursor: pointer;\n margin-top: 1px;\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n transform: translateX(-2px) ;\n}\n",""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:["vc-hue",t.directionClass]},[n("div",{ref:"container",staticClass:"vc-hue-container",attrs:{role:"slider","aria-valuenow":t.colors.hsl.h,"aria-valuemin":"0","aria-valuemax":"360"},on:{mousedown:t.handleMouseDown,touchmove:t.handleChange,touchstart:t.handleChange}},[n("div",{staticClass:"vc-hue-pointer",style:{top:t.pointerTop,left:t.pointerLeft},attrs:{role:"presentation"}},[n("div",{staticClass:"vc-hue-picker"})])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-slider",attrs:{role:"application","aria-label":"Slider color picker"}},[n("div",{staticClass:"vc-slider-hue-warp"},[n("hue",{on:{change:t.hueChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1),t._v(" "),n("div",{staticClass:"vc-slider-swatches",attrs:{role:"group"}},t._l(t.swatches,function(e,r){return n("div",{key:r,staticClass:"vc-slider-swatch",attrs:{"data-index":r,"aria-label":"color:"+t.colors.hex,role:"button"},on:{click:function(n){t.handleSwClick(r,e)}}},[n("div",{staticClass:"vc-slider-swatch-picker",class:{"vc-slider-swatch-picker--active":e==t.activeOffset,"vc-slider-swatch-picker--white":"1"===e},style:{background:"hsl("+t.colors.hsl.h+", 50%, "+100*e+"%)"}})])}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(48)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(15),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(51),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Swatches.vue",e.default=f.exports},function(t,e,n){var r=n(49);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("10f839a2",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-swatches {\n width: 320px;\n height: 240px;\n overflow-y: scroll;\n background-color: #fff;\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\n}\n.vc-swatches-box {\n padding: 16px 0 6px 16px;\n overflow: hidden;\n}\n.vc-swatches-color-group {\n padding-bottom: 10px;\n width: 40px;\n float: left;\n margin-right: 10px;\n}\n.vc-swatches-color-it {\n box-sizing: border-box;\n width: 40px;\n height: 24px;\n cursor: pointer;\n background: #880e4f;\n margin-bottom: 1px;\n overflow: hidden;\n -ms-border-radius: 2px 2px 0 0;\n -moz-border-radius: 2px 2px 0 0;\n -o-border-radius: 2px 2px 0 0;\n -webkit-border-radius: 2px 2px 0 0;\n border-radius: 2px 2px 0 0;\n}\n.vc-swatches-color--white {\n border: 1px solid #DDD;\n}\n.vc-swatches-pick {\n fill: rgb(255, 255, 255);\n margin-left: 8px;\n display: block;\n}\n.vc-swatches-color--white .vc-swatches-pick {\n fill: rgb(51, 51, 51);\n}\n",""])},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n.d(e,"red",function(){return r}),n.d(e,"pink",function(){return i}),n.d(e,"purple",function(){return o}),n.d(e,"deepPurple",function(){return a}),n.d(e,"indigo",function(){return s}),n.d(e,"blue",function(){return c}),n.d(e,"lightBlue",function(){return u}),n.d(e,"cyan",function(){return l}),n.d(e,"teal",function(){return f}),n.d(e,"green",function(){return h}),n.d(e,"lightGreen",function(){return p}),n.d(e,"lime",function(){return d}),n.d(e,"yellow",function(){return v}),n.d(e,"amber",function(){return g}),n.d(e,"orange",function(){return m}),n.d(e,"deepOrange",function(){return y}),n.d(e,"brown",function(){return b}),n.d(e,"grey",function(){return _}),n.d(e,"blueGrey",function(){return w}),n.d(e,"darkText",function(){return x}),n.d(e,"lightText",function(){return C}),n.d(e,"darkIcons",function(){return k}),n.d(e,"lightIcons",function(){return A}),n.d(e,"white",function(){return S}),n.d(e,"black",function(){return E});var r={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",a100:"#ff8a80",a200:"#ff5252",a400:"#ff1744",a700:"#d50000"},i={50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",a100:"#ff80ab",a200:"#ff4081",a400:"#f50057",a700:"#c51162"},o={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",a100:"#ea80fc",a200:"#e040fb",a400:"#d500f9",a700:"#aa00ff"},a={50:"#ede7f6",100:"#d1c4e9",200:"#b39ddb",300:"#9575cd",400:"#7e57c2",500:"#673ab7",600:"#5e35b1",700:"#512da8",800:"#4527a0",900:"#311b92",a100:"#b388ff",a200:"#7c4dff",a400:"#651fff",a700:"#6200ea"},s={50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",a100:"#8c9eff",a200:"#536dfe",a400:"#3d5afe",a700:"#304ffe"},c={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",a100:"#82b1ff",a200:"#448aff",a400:"#2979ff",a700:"#2962ff"},u={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",a100:"#80d8ff",a200:"#40c4ff",a400:"#00b0ff",a700:"#0091ea"},l={50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",a100:"#84ffff",a200:"#18ffff",a400:"#00e5ff",a700:"#00b8d4"},f={50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",a100:"#a7ffeb",a200:"#64ffda",a400:"#1de9b6",a700:"#00bfa5"},h={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",a100:"#b9f6ca",a200:"#69f0ae",a400:"#00e676",a700:"#00c853"},p={50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",a100:"#ccff90",a200:"#b2ff59",a400:"#76ff03",a700:"#64dd17"},d={50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",a100:"#f4ff81",a200:"#eeff41",a400:"#c6ff00",a700:"#aeea00"},v={50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",a100:"#ffff8d",a200:"#ffff00",a400:"#ffea00",a700:"#ffd600"},g={50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",a100:"#ffe57f",a200:"#ffd740",a400:"#ffc400",a700:"#ffab00"},m={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",a100:"#ffd180",a200:"#ffab40",a400:"#ff9100",a700:"#ff6d00"},y={50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",a100:"#ff9e80",a200:"#ff6e40",a400:"#ff3d00",a700:"#dd2c00"},b={50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723"},_={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121"},w={50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238"},x={primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.54)",disabled:"rgba(0, 0, 0, 0.38)",dividers:"rgba(0, 0, 0, 0.12)"},C={primary:"rgba(255, 255, 255, 1)",secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",dividers:"rgba(255, 255, 255, 0.12)"},k={active:"rgba(0, 0, 0, 0.54)",inactive:"rgba(0, 0, 0, 0.38)"},A={active:"rgba(255, 255, 255, 1)",inactive:"rgba(255, 255, 255, 0.5)"},S="#ffffff",E="#000000";e.default={red:r,pink:i,purple:o,deepPurple:a,indigo:s,blue:c,lightBlue:u,cyan:l,teal:f,green:h,lightGreen:p,lime:d,yellow:v,amber:g,orange:m,deepOrange:y,brown:b,grey:_,blueGrey:w,darkText:x,lightText:C,darkIcons:k,lightIcons:A,white:S,black:E}},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-swatches",attrs:{role:"application","aria-label":"Swatches color picker","data-pick":t.pick}},[n("div",{staticClass:"vc-swatches-box",attrs:{role:"listbox"}},t._l(t.palette,function(e,r){return n("div",{key:r,staticClass:"vc-swatches-color-group"},t._l(e,function(e){return n("div",{key:e,class:["vc-swatches-color-it",{"vc-swatches-color--white":"#FFFFFF"===e}],style:{background:e},attrs:{role:"option","aria-label":"Color:"+e,"aria-selected":t.equal(e),"data-color":e},on:{click:function(n){t.handlerClick(e)}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.equal(e),expression:"equal(c)"}],staticClass:"vc-swatches-pick"},[n("svg",{staticStyle:{width:"24px",height:"24px"},attrs:{viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}})])])])}))}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(53)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(16),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(67),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Photoshop.vue",e.default=f.exports},function(t,e,n){var r=n(54);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("080365d4",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,'\n.vc-photoshop {\n background: #DCDCDC;\n border-radius: 4px;\n box-shadow: 0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15);\n box-sizing: initial;\n width: 513px;\n font-family: Roboto;\n}\n.vc-photoshop__disable-fields {\n width: 390px;\n}\n.vc-ps-head {\n background-image: linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%);\n border-bottom: 1px solid #B1B1B1;\n box-shadow: inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02);\n height: 23px;\n line-height: 24px;\n border-radius: 4px 4px 0 0;\n font-size: 13px;\n color: #4D4D4D;\n text-align: center;\n}\n.vc-ps-body {\n padding: 15px;\n display: flex;\n}\n.vc-ps-saturation-wrap {\n width: 256px;\n height: 256px;\n position: relative;\n border: 2px solid #B3B3B3;\n border-bottom: 2px solid #F0F0F0;\n overflow: hidden;\n}\n.vc-ps-saturation-wrap .vc-saturation-circle {\n width: 12px;\n height: 12px;\n}\n.vc-ps-hue-wrap {\n position: relative;\n height: 256px;\n width: 19px;\n margin-left: 10px;\n border: 2px solid #B3B3B3;\n border-bottom: 2px solid #F0F0F0;\n}\n.vc-ps-hue-pointer {\n position: relative;\n}\n.vc-ps-hue-pointer--left,\n.vc-ps-hue-pointer--right {\n position: absolute;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 5px 0 5px 8px;\n border-color: transparent transparent transparent #555;\n}\n.vc-ps-hue-pointer--left:after,\n.vc-ps-hue-pointer--right:after {\n content: "";\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 4px 0 4px 6px;\n border-color: transparent transparent transparent #fff;\n position: absolute;\n top: 1px;\n left: 1px;\n transform: translate(-8px, -5px);\n}\n.vc-ps-hue-pointer--left {\n transform: translate(-13px, -4px);\n}\n.vc-ps-hue-pointer--right {\n transform: translate(20px, -4px) rotate(180deg);\n}\n.vc-ps-controls {\n width: 180px;\n margin-left: 10px;\n display: flex;\n}\n.vc-ps-controls__disable-fields {\n width: auto;\n}\n.vc-ps-actions {\n margin-left: 20px;\n flex: 1;\n}\n.vc-ps-ac-btn {\n cursor: pointer;\n background-image: linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%);\n border: 1px solid #878787;\n border-radius: 2px;\n height: 20px;\n box-shadow: 0 1px 0 0 #EAEAEA;\n font-size: 14px;\n color: #000;\n line-height: 20px;\n text-align: center;\n margin-bottom: 10px;\n}\n.vc-ps-previews {\n width: 60px;\n}\n.vc-ps-previews__swatches {\n border: 1px solid #B3B3B3;\n border-bottom: 1px solid #F0F0F0;\n margin-bottom: 2px;\n margin-top: 1px;\n}\n.vc-ps-previews__pr-color {\n height: 34px;\n box-shadow: inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000;\n}\n.vc-ps-previews__label {\n font-size: 14px;\n color: #000;\n text-align: center;\n}\n.vc-ps-fields {\n padding-top: 5px;\n padding-bottom: 9px;\n width: 80px;\n position: relative;\n}\n.vc-ps-fields .vc-input__input {\n margin-left: 40%;\n width: 40%;\n height: 18px;\n border: 1px solid #888888;\n box-shadow: inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC;\n margin-bottom: 5px;\n font-size: 13px;\n padding-left: 3px;\n margin-right: 10px;\n}\n.vc-ps-fields .vc-input__label, .vc-ps-fields .vc-input__desc {\n top: 0;\n text-transform: uppercase;\n font-size: 13px;\n height: 18px;\n line-height: 22px;\n position: absolute;\n}\n.vc-ps-fields .vc-input__label {\n left: 0;\n width: 34px;\n}\n.vc-ps-fields .vc-input__desc {\n right: 0;\n width: 0;\n}\n.vc-ps-fields__divider {\n height: 5px;\n}\n.vc-ps-fields__hex .vc-input__input {\n margin-left: 20%;\n width: 80%;\n height: 18px;\n border: 1px solid #888888;\n box-shadow: inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC;\n margin-bottom: 6px;\n font-size: 13px;\n padding-left: 3px;\n}\n.vc-ps-fields__hex .vc-input__label {\n position: absolute;\n top: 0;\n left: 0;\n width: 14px;\n text-transform: uppercase;\n font-size: 13px;\n height: 18px;\n line-height: 22px;\n}\n',""])},function(t,e,n){var r=n(56);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("b5380e52",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-saturation,\n.vc-saturation--white,\n.vc-saturation--black {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n.vc-saturation--white {\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\n}\n.vc-saturation--black {\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\n}\n.vc-saturation-pointer {\n cursor: pointer;\n position: absolute;\n}\n.vc-saturation-circle {\n cursor: head;\n width: 4px;\n height: 4px;\n box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3), 0 0 1px 2px rgba(0,0,0,.4);\n border-radius: 50%;\n transform: translate(-2px, -2px);\n}\n",""])},function(t,e){function n(t,e,n){return en?n:t:te?e:t}t.exports=n},function(t,e,n){(function(e){function n(t,e,n){function r(e){var n=v,r=g;return v=g=void 0,k=e,y=t.apply(r,n)}function o(t){return k=t,b=setTimeout(l,e),A?r(t):y}function a(t){var n=t-_,r=t-k,i=e-n;return S?x(i,m-r):i}function u(t){var n=t-_,r=t-k;return void 0===_||n>=e||n<0||S&&r>=m}function l(){var t=C();if(u(t))return f(t);b=setTimeout(l,a(t))}function f(t){return b=void 0,E&&v?r(t):(v=g=void 0,y)}function h(){void 0!==b&&clearTimeout(b),k=0,v=_=g=b=void 0}function p(){return void 0===b?y:f(C())}function d(){var t=C(),n=u(t);if(v=arguments,g=this,_=t,n){if(void 0===b)return o(_);if(S)return b=setTimeout(l,e),r(_)}return void 0===b&&(b=setTimeout(l,e)),y}var v,g,m,y,b,_,k=0,A=!1,S=!1,E=!0;if("function"!=typeof t)throw new TypeError(c);return e=s(e)||0,i(n)&&(A=!!n.leading,S="maxWait"in n,m=S?w(s(n.maxWait)||0,e):m,E="trailing"in n?!!n.trailing:E),d.cancel=h,d.flush=p,d}function r(t,e,r){var o=!0,a=!0;if("function"!=typeof t)throw new TypeError(c);return i(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),n(t,e,{leading:o,maxWait:e,trailing:a})}function i(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function o(t){return!!t&&"object"==typeof t}function a(t){return"symbol"==typeof t||o(t)&&_.call(t)==l}function s(t){if("number"==typeof t)return t;if(a(t))return u;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(f,"");var n=p.test(t);return n||d.test(t)?v(t.slice(2),n?2:8):h.test(t)?u:+t}var c="Expected a function",u=NaN,l="[object Symbol]",f=/^\s+|\s+$/g,h=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,d=/^0o[0-7]+$/i,v=parseInt,g="object"==typeof e&&e&&e.Object===Object&&e,m="object"==typeof self&&self&&self.Object===Object&&self,y=g||m||Function("return this")(),b=Object.prototype,_=b.toString,w=Math.max,x=Math.min,C=function(){return y.Date.now()};t.exports=r}).call(e,n(59))},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"container",staticClass:"vc-saturation",style:{background:t.bgColor},on:{mousedown:t.handleMouseDown,touchmove:t.handleChange,touchstart:t.handleChange}},[n("div",{staticClass:"vc-saturation--white"}),t._v(" "),n("div",{staticClass:"vc-saturation--black"}),t._v(" "),n("div",{staticClass:"vc-saturation-pointer",style:{top:t.pointerTop,left:t.pointerLeft}},[n("div",{staticClass:"vc-saturation-circle"})])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){var r=n(62);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("4dc1b086",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-alpha {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n.vc-alpha-checkboard-wrap {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n overflow: hidden;\n}\n.vc-alpha-gradient {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n.vc-alpha-container {\n cursor: pointer;\n position: relative;\n z-index: 2;\n height: 100%;\n margin: 0 3px;\n}\n.vc-alpha-pointer {\n z-index: 2;\n position: absolute;\n}\n.vc-alpha-picker {\n cursor: pointer;\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n margin-top: 1px;\n transform: translateX(-2px);\n}\n",""])},function(t,e,n){var r=n(64);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("7e15c05b",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-checkerboard {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n background-size: contain;\n}\n",""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement;return(t._self._c||e)("div",{staticClass:"vc-checkerboard",style:t.bgStyle})},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-alpha"},[n("div",{staticClass:"vc-alpha-checkboard-wrap"},[n("checkboard")],1),t._v(" "),n("div",{staticClass:"vc-alpha-gradient",style:{background:t.gradientColor}}),t._v(" "),n("div",{ref:"container",staticClass:"vc-alpha-container",on:{mousedown:t.handleMouseDown,touchmove:t.handleChange,touchstart:t.handleChange}},[n("div",{staticClass:"vc-alpha-pointer",style:{left:100*t.colors.a+"%"}},[n("div",{staticClass:"vc-alpha-picker"})])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:["vc-photoshop",t.disableFields?"vc-photoshop__disable-fields":""],attrs:{role:"application","aria-label":"PhotoShop color picker"}},[n("div",{staticClass:"vc-ps-head",attrs:{role:"heading"}},[t._v(t._s(t.head))]),t._v(" "),n("div",{staticClass:"vc-ps-body"},[n("div",{staticClass:"vc-ps-saturation-wrap"},[n("saturation",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1),t._v(" "),n("div",{staticClass:"vc-ps-hue-wrap"},[n("hue",{attrs:{direction:"vertical"},on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}},[n("div",{staticClass:"vc-ps-hue-pointer"},[n("i",{staticClass:"vc-ps-hue-pointer--left"}),n("i",{staticClass:"vc-ps-hue-pointer--right"})])])],1),t._v(" "),n("div",{class:["vc-ps-controls",t.disableFields?"vc-ps-controls__disable-fields":""]},[n("div",{staticClass:"vc-ps-previews"},[n("div",{staticClass:"vc-ps-previews__label"},[t._v(t._s(t.newLabel))]),t._v(" "),n("div",{staticClass:"vc-ps-previews__swatches"},[n("div",{staticClass:"vc-ps-previews__pr-color",style:{background:t.colors.hex},attrs:{"aria-label":"New color is "+t.colors.hex}}),t._v(" "),n("div",{staticClass:"vc-ps-previews__pr-color",style:{background:t.currentColor},attrs:{"aria-label":"Current color is "+t.currentColor},on:{click:t.clickCurrentColor}})]),t._v(" "),n("div",{staticClass:"vc-ps-previews__label"},[t._v(t._s(t.currentLabel))])]),t._v(" "),t.disableFields?t._e():n("div",{staticClass:"vc-ps-actions"},[n("div",{staticClass:"vc-ps-ac-btn",attrs:{role:"button","aria-label":t.acceptLabel},on:{click:t.handleAccept}},[t._v(t._s(t.acceptLabel))]),t._v(" "),n("div",{staticClass:"vc-ps-ac-btn",attrs:{role:"button","aria-label":t.cancelLabel},on:{click:t.handleCancel}},[t._v(t._s(t.cancelLabel))]),t._v(" "),n("div",{staticClass:"vc-ps-fields"},[n("ed-in",{attrs:{label:"h",desc:"°",value:t.hsv.h},on:{change:t.inputChange}}),t._v(" "),n("ed-in",{attrs:{label:"s",desc:"%",value:t.hsv.s,max:100},on:{change:t.inputChange}}),t._v(" "),n("ed-in",{attrs:{label:"v",desc:"%",value:t.hsv.v,max:100},on:{change:t.inputChange}}),t._v(" "),n("div",{staticClass:"vc-ps-fields__divider"}),t._v(" "),n("ed-in",{attrs:{label:"r",value:t.colors.rgba.r},on:{change:t.inputChange}}),t._v(" "),n("ed-in",{attrs:{label:"g",value:t.colors.rgba.g},on:{change:t.inputChange}}),t._v(" "),n("ed-in",{attrs:{label:"b",value:t.colors.rgba.b},on:{change:t.inputChange}}),t._v(" "),n("div",{staticClass:"vc-ps-fields__divider"}),t._v(" "),n("ed-in",{staticClass:"vc-ps-fields__hex",attrs:{label:"#",value:t.hex},on:{change:t.inputChange}})],1),t._v(" "),t.hasResetButton?n("div",{staticClass:"vc-ps-ac-btn",attrs:{"aria-label":"reset"},on:{click:t.handleReset}},[t._v(t._s(t.resetLabel))]):t._e()])])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(69)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(20),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(71),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Sketch.vue",e.default=f.exports},function(t,e,n){var r=n(70);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("612c6604",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-sketch {\n position: relative;\n width: 200px;\n padding: 10px 10px 0;\n box-sizing: initial;\n background: #fff;\n border-radius: 4px;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, .15), 0 8px 16px rgba(0, 0, 0, .15);\n}\n.vc-sketch-saturation-wrap {\n width: 100%;\n padding-bottom: 75%;\n position: relative;\n overflow: hidden;\n}\n.vc-sketch-controls {\n display: flex;\n}\n.vc-sketch-sliders {\n padding: 4px 0;\n flex: 1;\n}\n.vc-sketch-sliders .vc-hue,\n.vc-sketch-sliders .vc-alpha-gradient {\n border-radius: 2px;\n}\n.vc-sketch-hue-wrap {\n position: relative;\n height: 10px;\n}\n.vc-sketch-alpha-wrap {\n position: relative;\n height: 10px;\n margin-top: 4px;\n overflow: hidden;\n}\n.vc-sketch-color-wrap {\n width: 24px;\n height: 24px;\n position: relative;\n margin-top: 4px;\n margin-left: 4px;\n border-radius: 3px;\n}\n.vc-sketch-active-color {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 2px;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15), inset 0 0 4px rgba(0, 0, 0, .25);\n z-index: 2;\n}\n.vc-sketch-color-wrap .vc-checkerboard {\n background-size: auto;\n}\n.vc-sketch-field {\n display: flex;\n padding-top: 4px;\n}\n.vc-sketch-field .vc-input__input {\n width: 90%;\n padding: 4px 0 3px 10%;\n border: none;\n box-shadow: inset 0 0 0 1px #ccc;\n font-size: 10px;\n}\n.vc-sketch-field .vc-input__label {\n display: block;\n text-align: center;\n font-size: 11px;\n color: #222;\n padding-top: 3px;\n padding-bottom: 4px;\n text-transform: capitalize;\n}\n.vc-sketch-field--single {\n flex: 1;\n padding-left: 6px;\n}\n.vc-sketch-field--double {\n flex: 2;\n}\n.vc-sketch-presets {\n margin-right: -10px;\n margin-left: -10px;\n padding-left: 10px;\n padding-top: 10px;\n border-top: 1px solid #eee;\n}\n.vc-sketch-presets-color {\n border-radius: 3px;\n overflow: hidden;\n position: relative;\n display: inline-block;\n margin: 0 10px 10px 0;\n vertical-align: top;\n cursor: pointer;\n width: 16px;\n height: 16px;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15);\n}\n.vc-sketch-presets-color .vc-checkerboard {\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15);\n border-radius: 3px;\n}\n.vc-sketch__disable-alpha .vc-sketch-color-wrap {\n height: 10px;\n}\n",""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:["vc-sketch",t.disableAlpha?"vc-sketch__disable-alpha":""],attrs:{role:"application","aria-label":"Sketch color picker"}},[n("div",{staticClass:"vc-sketch-saturation-wrap"},[n("saturation",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1),t._v(" "),n("div",{staticClass:"vc-sketch-controls"},[n("div",{staticClass:"vc-sketch-sliders"},[n("div",{staticClass:"vc-sketch-hue-wrap"},[n("hue",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1),t._v(" "),t.disableAlpha?t._e():n("div",{staticClass:"vc-sketch-alpha-wrap"},[n("alpha",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1)]),t._v(" "),n("div",{staticClass:"vc-sketch-color-wrap"},[n("div",{staticClass:"vc-sketch-active-color",style:{background:t.activeColor},attrs:{"aria-label":"Current color is "+t.activeColor}}),t._v(" "),n("checkboard")],1)]),t._v(" "),t.disableFields?t._e():n("div",{staticClass:"vc-sketch-field"},[n("div",{staticClass:"vc-sketch-field--double"},[n("ed-in",{attrs:{label:"hex",value:t.hex},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-sketch-field--single"},[n("ed-in",{attrs:{label:"r",value:t.colors.rgba.r},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-sketch-field--single"},[n("ed-in",{attrs:{label:"g",value:t.colors.rgba.g},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-sketch-field--single"},[n("ed-in",{attrs:{label:"b",value:t.colors.rgba.b},on:{change:t.inputChange}})],1),t._v(" "),t.disableAlpha?t._e():n("div",{staticClass:"vc-sketch-field--single"},[n("ed-in",{attrs:{label:"a",value:t.colors.a,"arrow-offset":.01,max:1},on:{change:t.inputChange}})],1)]),t._v(" "),n("div",{staticClass:"vc-sketch-presets",attrs:{role:"group","aria-label":"A color preset, pick one to set as current color"}},[t._l(t.presetColors,function(e){return[t.isTransparent(e)?n("div",{key:e,staticClass:"vc-sketch-presets-color",attrs:{"aria-label":"Color:"+e},on:{click:function(n){t.handlePreset(e)}}},[n("checkboard")],1):n("div",{key:e,staticClass:"vc-sketch-presets-color",style:{background:e},attrs:{"aria-label":"Color:"+e},on:{click:function(n){t.handlePreset(e)}}})]})],2)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(73)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(21),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(75),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Chrome.vue",e.default=f.exports},function(t,e,n){var r=n(74);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("1cd16048",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-chrome {\n background: #fff;\n border-radius: 2px;\n box-shadow: 0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3);\n box-sizing: initial;\n width: 225px;\n font-family: Menlo;\n background-color: #fff;\n}\n.vc-chrome-controls {\n display: flex;\n}\n.vc-chrome-color-wrap {\n position: relative;\n width: 36px;\n}\n.vc-chrome-active-color {\n position: relative;\n width: 30px;\n height: 30px;\n border-radius: 15px;\n overflow: hidden;\n z-index: 1;\n}\n.vc-chrome-color-wrap .vc-checkerboard {\n width: 30px;\n height: 30px;\n border-radius: 15px;\n background-size: auto;\n}\n.vc-chrome-sliders {\n flex: 1;\n}\n.vc-chrome-fields-wrap {\n display: flex;\n padding-top: 16px;\n}\n.vc-chrome-fields {\n display: flex;\n margin-left: -6px;\n flex: 1;\n}\n.vc-chrome-field {\n padding-left: 6px;\n width: 100%;\n}\n.vc-chrome-toggle-btn {\n width: 32px;\n text-align: right;\n position: relative;\n}\n.vc-chrome-toggle-icon {\n margin-right: -4px;\n margin-top: 12px;\n cursor: pointer;\n position: relative;\n z-index: 2;\n}\n.vc-chrome-toggle-icon-highlight {\n position: absolute;\n width: 24px;\n height: 28px;\n background: #eee;\n border-radius: 4px;\n top: 10px;\n left: 12px;\n}\n.vc-chrome-hue-wrap {\n position: relative;\n height: 10px;\n margin-bottom: 8px;\n}\n.vc-chrome-alpha-wrap {\n position: relative;\n height: 10px;\n}\n.vc-chrome-hue-wrap .vc-hue {\n border-radius: 2px;\n}\n.vc-chrome-alpha-wrap .vc-alpha-gradient {\n border-radius: 2px;\n}\n.vc-chrome-hue-wrap .vc-hue-picker, .vc-chrome-alpha-wrap .vc-alpha-picker {\n width: 12px;\n height: 12px;\n border-radius: 6px;\n transform: translate(-6px, -2px);\n background-color: rgb(248, 248, 248);\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\n}\n.vc-chrome-body {\n padding: 16px 16px 12px;\n background-color: #fff;\n}\n.vc-chrome-saturation-wrap {\n width: 100%;\n padding-bottom: 55%;\n position: relative;\n border-radius: 2px 2px 0 0;\n overflow: hidden;\n}\n.vc-chrome-saturation-wrap .vc-saturation-circle {\n width: 12px;\n height: 12px;\n}\n.vc-chrome-fields .vc-input__input {\n font-size: 11px;\n color: #333;\n width: 100%;\n border-radius: 2px;\n border: none;\n box-shadow: inset 0 0 0 1px #dadada;\n height: 21px;\n text-align: center;\n}\n.vc-chrome-fields .vc-input__label {\n text-transform: uppercase;\n font-size: 11px;\n line-height: 11px;\n color: #969696;\n text-align: center;\n display: block;\n margin-top: 12px;\n}\n.vc-chrome__disable-alpha .vc-chrome-active-color {\n width: 18px;\n height: 18px;\n}\n.vc-chrome__disable-alpha .vc-chrome-color-wrap {\n width: 30px;\n}\n.vc-chrome__disable-alpha .vc-chrome-hue-wrap {\n margin-top: 4px;\n margin-bottom: 4px;\n}\n",""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:["vc-chrome",t.disableAlpha?"vc-chrome__disable-alpha":""],attrs:{role:"application","aria-label":"Chrome color picker"}},[n("div",{staticClass:"vc-chrome-saturation-wrap"},[n("saturation",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1),t._v(" "),n("div",{staticClass:"vc-chrome-body"},[n("div",{staticClass:"vc-chrome-controls"},[n("div",{staticClass:"vc-chrome-color-wrap"},[n("div",{staticClass:"vc-chrome-active-color",style:{background:t.activeColor},attrs:{"aria-label":"current color is "+t.colors.hex}}),t._v(" "),t.disableAlpha?t._e():n("checkboard")],1),t._v(" "),n("div",{staticClass:"vc-chrome-sliders"},[n("div",{staticClass:"vc-chrome-hue-wrap"},[n("hue",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1),t._v(" "),t.disableAlpha?t._e():n("div",{staticClass:"vc-chrome-alpha-wrap"},[n("alpha",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1)])]),t._v(" "),t.disableFields?t._e():n("div",{staticClass:"vc-chrome-fields-wrap"},[n("div",{directives:[{name:"show",rawName:"v-show",value:0===t.fieldsIndex,expression:"fieldsIndex === 0"}],staticClass:"vc-chrome-fields"},[n("div",{staticClass:"vc-chrome-field"},[t.hasAlpha?t._e():n("ed-in",{attrs:{label:"hex",value:t.colors.hex},on:{change:t.inputChange}}),t._v(" "),t.hasAlpha?n("ed-in",{attrs:{label:"hex",value:t.colors.hex8},on:{change:t.inputChange}}):t._e()],1)]),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:1===t.fieldsIndex,expression:"fieldsIndex === 1"}],staticClass:"vc-chrome-fields"},[n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"r",value:t.colors.rgba.r},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"g",value:t.colors.rgba.g},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"b",value:t.colors.rgba.b},on:{change:t.inputChange}})],1),t._v(" "),t.disableAlpha?t._e():n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"a",value:t.colors.a,"arrow-offset":.01,max:1},on:{change:t.inputChange}})],1)]),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:2===t.fieldsIndex,expression:"fieldsIndex === 2"}],staticClass:"vc-chrome-fields"},[n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"h",value:t.hsl.h},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"s",value:t.hsl.s},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"l",value:t.hsl.l},on:{change:t.inputChange}})],1),t._v(" "),t.disableAlpha?t._e():n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"a",value:t.colors.a,"arrow-offset":.01,max:1},on:{change:t.inputChange}})],1)]),t._v(" "),n("div",{staticClass:"vc-chrome-toggle-btn",attrs:{role:"button","aria-label":"Change another color definition"},on:{click:t.toggleViews}},[n("div",{staticClass:"vc-chrome-toggle-icon"},[n("svg",{staticStyle:{width:"24px",height:"24px"},attrs:{viewBox:"0 0 24 24"},on:{mouseover:t.showHighlight,mouseenter:t.showHighlight,mouseout:t.hideHighlight}},[n("path",{attrs:{fill:"#333",d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}})])]),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:t.highlight,expression:"highlight"}],staticClass:"vc-chrome-toggle-icon-highlight"})])])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o}])})},c401:function(t,e,n){"use strict";var r=n("c532");t.exports=function(t,e,n){return r.forEach(n,function(n){t=n(t,e)}),t}},c532:function(t,e,n){"use strict";var r=n("1d2b"),i=n("044b"),o=Object.prototype.toString;function a(t){return"[object Array]"===o.call(t)}function s(t){return"[object ArrayBuffer]"===o.call(t)}function c(t){return"undefined"!==typeof FormData&&t instanceof FormData}function u(t){var e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer,e}function l(t){return"string"===typeof t}function f(t){return"number"===typeof t}function h(t){return"undefined"===typeof t}function p(t){return null!==t&&"object"===typeof t}function d(t){return"[object Date]"===o.call(t)}function v(t){return"[object File]"===o.call(t)}function g(t){return"[object Blob]"===o.call(t)}function m(t){return"[object Function]"===o.call(t)}function y(t){return p(t)&&m(t.pipe)}function b(t){return"undefined"!==typeof URLSearchParams&&t instanceof URLSearchParams}function _(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}function w(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function x(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),a(t))for(var n=0,r=t.length;n=31||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function o(t){var n=this.useColors;if(t[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+t[0]+(n?"%c ":" ")+"+"+e.humanize(this.diff),n){var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var i=0,o=0;t[0].replace(/%[a-zA-Z%]/g,function(t){"%%"!==t&&(i++,"%c"===t&&(o=i))}),t.splice(o,0,r)}}function a(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function s(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(n){}}function c(){var t;try{t=e.storage.debug}catch(n){}return!t&&"undefined"!==typeof r&&"env"in r&&(t=Object({NODE_ENV:"production",BASE_URL:"/"}).DEBUG),t}function u(){try{return window.localStorage}catch(t){}}e=t.exports=n("43cd"),e.log=a,e.formatArgs=o,e.save=s,e.load=c,e.useColors=i,e.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:u(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},e.enable(c())}).call(this,n("4362"))},c8af:function(t,e,n){"use strict";var r=n("c532");t.exports=function(t,e){r.forEach(t,function(n,r){r!==e&&r.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[r])})}},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(r){"object"===typeof window&&(n=window)}t.exports=n},c9eb:function(t,e){try{t.exports="undefined"!==typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(n){t.exports=!1}},ca99:function(t,e){t.exports=function(t,e,n){var r=t.byteLength;if(e=e||0,n=n||r,t.slice)return t.slice(e,n);if(e<0&&(e+=r),n<0&&(n+=r),n>r&&(n=r),e>=r||e>=n||0===r)return new ArrayBuffer(0);for(var i=new Uint8Array(t),o=new Uint8Array(n-e),a=e,s=0;a0&&(this.extraHeaders=n.extraHeaders),n.localAddress&&(this.localAddress=n.localAddress)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,this.open()}function f(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}t.exports=l,l.priorWebsocketSuccess=!1,i(l.prototype),l.protocol=s.protocol,l.Socket=l,l.Transport=n("19b7"),l.transports=n("6a44"),l.parser=n("5a6e"),l.prototype.createTransport=function(t){o('creating transport "%s"',t);var e=f(this.query);e.EIO=s.protocol,e.transport=t;var n=this.transportOptions[t]||{};this.id&&(e.sid=this.id);var i=new r[t]({query:e,socket:this,agent:n.agent||this.agent,hostname:n.hostname||this.hostname,port:n.port||this.port,secure:n.secure||this.secure,path:n.path||this.path,forceJSONP:n.forceJSONP||this.forceJSONP,jsonp:n.jsonp||this.jsonp,forceBase64:n.forceBase64||this.forceBase64,enablesXDR:n.enablesXDR||this.enablesXDR,timestampRequests:n.timestampRequests||this.timestampRequests,timestampParam:n.timestampParam||this.timestampParam,policyPort:n.policyPort||this.policyPort,pfx:n.pfx||this.pfx,key:n.key||this.key,passphrase:n.passphrase||this.passphrase,cert:n.cert||this.cert,ca:n.ca||this.ca,ciphers:n.ciphers||this.ciphers,rejectUnauthorized:n.rejectUnauthorized||this.rejectUnauthorized,perMessageDeflate:n.perMessageDeflate||this.perMessageDeflate,extraHeaders:n.extraHeaders||this.extraHeaders,forceNode:n.forceNode||this.forceNode,localAddress:n.localAddress||this.localAddress,requestTimeout:n.requestTimeout||this.requestTimeout,protocols:n.protocols||void 0});return i},l.prototype.open=function(){var t;if(this.rememberUpgrade&&l.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length){var e=this;return void setTimeout(function(){e.emit("error","No transports available")},0)}t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(n){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)},l.prototype.setTransport=function(t){o("setting transport %s",t.name);var e=this;this.transport&&(o("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=t,t.on("drain",function(){e.onDrain()}).on("packet",function(t){e.onPacket(t)}).on("error",function(t){e.onError(t)}).on("close",function(){e.onClose("transport close")})},l.prototype.probe=function(t){o('probing transport "%s"',t);var e=this.createTransport(t,{probe:1}),n=!1,r=this;function i(){if(r.onlyBinaryUpgrades){var i=!this.supportsBinary&&r.transport.supportsBinary;n=n||i}n||(o('probe transport "%s" opened',t),e.send([{type:"ping",data:"probe"}]),e.once("packet",function(i){if(!n)if("pong"===i.type&&"probe"===i.data){if(o('probe transport "%s" pong',t),r.upgrading=!0,r.emit("upgrading",e),!e)return;l.priorWebsocketSuccess="websocket"===e.name,o('pausing current transport "%s"',r.transport.name),r.transport.pause(function(){n||"closed"!==r.readyState&&(o("changing transport and sending upgrade packet"),h(),r.setTransport(e),e.send([{type:"upgrade"}]),r.emit("upgrade",e),e=null,r.upgrading=!1,r.flush())})}else{o('probe transport "%s" failed',t);var a=new Error("probe error");a.transport=e.name,r.emit("upgradeError",a)}}))}function a(){n||(n=!0,h(),e.close(),e=null)}function s(n){var i=new Error("probe error: "+n);i.transport=e.name,a(),o('probe transport "%s" failed because of error: %s',t,n),r.emit("upgradeError",i)}function c(){s("transport closed")}function u(){s("socket closed")}function f(t){e&&t.name!==e.name&&(o('"%s" works - aborting "%s"',t.name,e.name),a())}function h(){e.removeListener("open",i),e.removeListener("error",s),e.removeListener("close",c),r.removeListener("close",u),r.removeListener("upgrading",f)}l.priorWebsocketSuccess=!1,e.once("open",i),e.once("error",s),e.once("close",c),this.once("close",u),this.once("upgrading",f),e.open()},l.prototype.onOpen=function(){if(o("socket open"),this.readyState="open",l.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.upgrade&&this.transport.pause){o("starting upgrade probes");for(var t=0,e=this.upgrades.length;t=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(t){return r.exec(t).slice(1)};function o(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r=-1&&!r;i--){var a=i>=0?arguments[i]:t.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(e=a+"/"+e,r="/"===a.charAt(0))}return e=n(o(e.split("/"),function(t){return!!t}),!r).join("/"),(r?"/":"")+e||"."},e.normalize=function(t){var r=e.isAbsolute(t),i="/"===a(t,-1);return t=n(o(t.split("/"),function(t){return!!t}),!r).join("/"),t||r||(t="."),t&&i&&(t+="/"),(r?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(o(t,function(t,e){if("string"!==typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},e.relative=function(t,n){function r(t){for(var e=0;e=0;n--)if(""!==t[n])break;return e>n?[]:t.slice(e,n-e+1)}t=e.resolve(t).substr(1),n=e.resolve(n).substr(1);for(var i=r(t.split("/")),o=r(n.split("/")),a=Math.min(i.length,o.length),s=a,c=0;c=31||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function o(t){var n=this.useColors;if(t[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+t[0]+(n?"%c ":" ")+"+"+e.humanize(this.diff),n){var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var i=0,o=0;t[0].replace(/%[a-zA-Z%]/g,function(t){"%%"!==t&&(i++,"%c"===t&&(o=i))}),t.splice(o,0,r)}}function a(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function s(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(n){}}function c(){var t;try{t=e.storage.debug}catch(n){}return!t&&"undefined"!==typeof r&&"env"in r&&(t=Object({NODE_ENV:"production",BASE_URL:"/"}).DEBUG),t}function u(){try{return window.localStorage}catch(t){}}e=t.exports=n("36ae"),e.log=a,e.formatArgs=o,e.save=s,e.load=c,e.useColors=i,e.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:u(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},e.enable(c())}).call(this,n("4362"))},e683:function(t,e,n){"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},e82e:function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},ee34:function(t,e){var n=[].indexOf;t.exports=function(t,e){if(n)return t.indexOf(e);for(var r=0;r=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function b(t){return+t!=t&&(t=0),u.alloc(+t)}function _(t,e){if(u.isBuffer(t))return t.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!==typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return J(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Q(t).length;default:if(r)return J(t).length;e=(""+e).toLowerCase(),r=!0}}function w(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,e>>>=0,n<=e)return"";t||(t="utf8");while(1)switch(t){case"hex":return M(this,e,n);case"utf8":case"utf-8":return j(this,e,n);case"ascii":return P(this,e,n);case"latin1":case"binary":return B(this,e,n);case"base64":return T(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function x(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function C(t,e,n,r,i){if(0===t.length)return-1;if("string"===typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"===typeof e&&(e=u.from(e,r)),u.isBuffer(e))return 0===e.length?-1:k(t,e,n,r,i);if("number"===typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):k(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function k(t,e,n,r,i){var o,a=1,s=t.length,c=e.length;if(void 0!==r&&(r=String(r).toLowerCase(),"ucs2"===r||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;a=2,s/=2,c/=2,n/=2}function u(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var l=-1;for(o=n;os&&(n=s-c),o=n;o>=0;o--){for(var f=!0,h=0;hi&&(r=i)):r=i;var o=e.length;if(o%2!==0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a239?4:u>223?3:u>191?2:1;if(i+f<=n)switch(f){case 1:u<128&&(l=u);break;case 2:o=t[i+1],128===(192&o)&&(c=(31&u)<<6|63&o,c>127&&(l=c));break;case 3:o=t[i+1],a=t[i+2],128===(192&o)&&128===(192&a)&&(c=(15&u)<<12|(63&o)<<6|63&a,c>2047&&(c<55296||c>57343)&&(l=c));break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128===(192&o)&&128===(192&a)&&128===(192&s)&&(c=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s,c>65535&&c<1114112&&(l=c))}null===l?(l=65533,f=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=f}return D(r)}e.Buffer=u,e.SlowBuffer=b,e.INSPECT_MAX_BYTES=50,u.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:a(),e.kMaxLength=s(),u.poolSize=8192,u._augment=function(t){return t.__proto__=u.prototype,t},u.from=function(t,e,n){return l(null,t,e,n)},u.TYPED_ARRAY_SUPPORT&&(u.prototype.__proto__=Uint8Array.prototype,u.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&u[Symbol.species]===u&&Object.defineProperty(u,Symbol.species,{value:null,configurable:!0})),u.alloc=function(t,e,n){return h(null,t,e,n)},u.allocUnsafe=function(t){return p(null,t)},u.allocUnsafeSlow=function(t){return p(null,t)},u.isBuffer=function(t){return!(null==t||!t._isBuffer)},u.compare=function(t,e){if(!u.isBuffer(t)||!u.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),""},u.prototype.compare=function(t,e,n,r,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,i>>>=0,this===t)return 0;for(var o=i-r,a=n-e,s=Math.min(o,a),c=this.slice(r,i),l=t.slice(e,n),f=0;fi)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return A(this,t,e,n);case"utf8":case"utf-8":return S(this,t,e,n);case"ascii":return E(this,t,e,n);case"latin1":case"binary":return O(this,t,e,n);case"base64":return R(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var $=4096;function D(t){var e=t.length;if(e<=$)return String.fromCharCode.apply(String,t);var n="",r=0;while(rr)&&(n=r);for(var i="",o=e;on)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,n,r,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function U(t,e,n,r){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-n,2);i>>8*(r?i:1-i)}function z(t,e,n,r){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-n,4);i>>8*(r?i:3-i)&255}function H(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function V(t,e,n,r,o){return o||H(t,e,n,4,3.4028234663852886e38,-3.4028234663852886e38),i.write(t,e,n,r,23,4),n+4}function q(t,e,n,r,o){return o||H(t,e,n,8,1.7976931348623157e308,-1.7976931348623157e308),i.write(t,e,n,r,52,8),n+8}u.prototype.slice=function(t,e){var n,r=this.length;if(t=~~t,e=void 0===e?r:~~e,t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),e0&&(i*=256))r+=this[t+--e]*i;return r},u.prototype.readUInt8=function(t,e){return e||I(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||I(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||I(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||I(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||I(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||I(t,e,this.length);var r=this[t],i=1,o=0;while(++o=i&&(r-=Math.pow(2,8*e)),r},u.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||I(t,e,this.length);var r=e,i=1,o=this[t+--r];while(r>0&&(i*=256))o+=this[t+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||I(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||I(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(t,e){e||I(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(t,e){return e||I(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||I(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||I(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||I(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,n,r){if(t=+t,e|=0,n|=0,!r){var i=Math.pow(2,8*n)-1;N(this,t,e,n,i,0)}var o=1,a=0;this[e]=255&t;while(++a=0&&(a*=256))this[e+o]=t/a&255;return e+n},u.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):U(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):U(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):z(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):z(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);N(this,t,e,n,i-1,-i)}var o=0,a=1,s=0;this[e]=255&t;while(++o>0)-s&255;return e+n},u.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);N(this,t,e,n,i-1,-i)}var o=n-1,a=1,s=0;this[e+o]=255&t;while(--o>=0&&(a*=256))t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},u.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):U(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):U(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):z(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):z(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,n){return V(this,t,e,!0,n)},u.prototype.writeFloatBE=function(t,e,n){return V(this,t,e,!1,n)},u.prototype.writeDoubleLE=function(t,e,n){return q(this,t,e,!0,n)},u.prototype.writeDoubleBE=function(t,e,n){return q(this,t,e,!1,n)},u.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e=0;--i)t[i+e]=this[i+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"===typeof t)for(o=e;o55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function G(t){for(var e=[],n=0;n>8,i=n%256,o.push(i),o.push(r)}return o}function Q(t){return r.toByteArray(Y(t))}function tt(t,e,n,r){for(var i=0;i=e.length||i>=t.length)break;e[i+n]=t[i]}return i}function et(t){return t!==t}}).call(this,n("c8ba"))},bc3a:function(t,e,n){t.exports=n("cee4")},c345:function(t,e,n){"use strict";var r=n("c532"),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,n,o,a={};return t?(r.forEach(t.split("\n"),function(t){if(o=t.indexOf(":"),e=r.trim(t.substr(0,o)).toLowerCase(),n=r.trim(t.substr(o+1)),e){if(a[e]&&i.indexOf(e)>=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+", "+n:n}}),a):a}},c345a:function(t,e,n){!function(e,n){t.exports=n()}("undefined"!=typeof self&&self,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=22)}([function(t,e){function n(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"})).concat([o]).join("\n")}return[n].join("\n")}function r(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var r=n(e,t);return e[2]?"@media "+e[2]+"{"+r+"}":r}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i0?(0,o.default)(t.hex):(0,o.default)(t))||void 0!==n._a&&null!==n._a||n.setAlpha(r||1);var i=n.toHsl(),a=n.toHsv();return 0===i.s&&(a.h=i.h=t.h||t.hsl&&t.hsl.h||e||0),{hsl:i,hex:n.toHexString().toUpperCase(),hex8:n.toHex8String().toUpperCase(),rgba:n.toRgb(),hsv:a,oldHue:t.h||e||i.h,source:t.source,a:t.a||n.getAlpha()}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(27),o=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default={props:["value"],data:function(){return{val:r(this.value)}},computed:{colors:{get:function(){return this.val},set:function(t){this.val=t,this.$emit("input",t)}}},watch:{value:function(t){this.val=r(t)}},methods:{colorChange:function(t,e){this.oldHue=this.colors.hsl.h,this.colors=r(t,e||this.oldHue)},isValidHex:function(t){return(0,o.default)(t).isValid()},simpleCheckForValidColor:function(t){for(var e=["r","g","b","a","h","s","l","v"],n=0,r=0,i=0;ithis.max))return t;this.$refs.input.value=this.max}},labelId:function(){return"input__label__"+this.label+"__"+Math.random().toString().slice(2,5)},labelSpanText:function(){return this.labelText||this.label}},methods:{update:function(t){this.handleChange(t.target.value)},handleChange:function(t){var e={};e[this.label]=t,void 0===e.hex&&void 0===e["#"]?this.$emit("change",e):t.length>5&&this.$emit("change",e)},handleKeyDown:function(t){var e=this.val,n=Number(e);if(n){var r=this.arrowOffset||1;38===t.keyCode&&(e=n+r,this.handleChange(e),t.preventDefault()),40===t.keyCode&&(e=n-r,this.handleChange(e),t.preventDefault())}}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),i=function(t){return t&&t.__esModule?t:{default:t}}(r),o=["#FFFFFF","#F2F2F2","#E6E6E6","#D9D9D9","#CCCCCC","#BFBFBF","#B3B3B3","#A6A6A6","#999999","#8C8C8C","#808080","#737373","#666666","#595959","#4D4D4D","#404040","#333333","#262626","#0D0D0D","#000000"];e.default={name:"Grayscale",mixins:[i.default],props:{palette:{type:Array,default:function(){return o}}},components:{},computed:{pick:function(){return this.colors.hex.toUpperCase()}},methods:{handlerClick:function(t){this.colorChange({hex:t,source:"hex"})}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(4),o=r(i),a=n(3),s=r(a);e.default={name:"Material",mixins:[s.default],components:{"ed-in":o.default},methods:{onChange:function(t){t&&(t.hex?this.isValidHex(t.hex)&&this.colorChange({hex:t.hex,source:"hex"}):(t.r||t.g||t.b)&&this.colorChange({r:t.r||this.colors.rgba.r,g:t.g||this.colors.rgba.g,b:t.b||this.colors.rgba.b,a:t.a||this.colors.rgba.a,source:"rgba"}))}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),o=r(i),a=n(5),s=r(a);e.default={name:"Slider",mixins:[o.default],props:{swatches:{type:Array,default:function(){return[".80",".65",".50",".35",".20"]}}},components:{hue:s.default},computed:{activeOffset:function(){var t=this.swatches.includes("0"),e=this.swatches.includes("1"),n=this.colors.hsl;return Math.round(100*n.s)/100==.5?Math.round(100*n.l)/100:t&&0===n.l?0:e&&1===n.l?1:-1}},methods:{hueChange:function(t){this.colorChange(t)},handleSwClick:function(t,e){this.colorChange({h:this.colors.hsl.h,s:.5,l:e,source:"hsl"})}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"Hue",props:{value:Object,direction:{type:String,default:"horizontal"}},data:function(){return{oldHue:0,pullDirection:""}},computed:{colors:function(){var t=this.value.hsl.h;return 0!==t&&t-this.oldHue>0&&(this.pullDirection="right"),0!==t&&t-this.oldHue<0&&(this.pullDirection="left"),this.oldHue=t,this.value},directionClass:function(){return{"vc-hue--horizontal":"horizontal"===this.direction,"vc-hue--vertical":"vertical"===this.direction}},pointerTop:function(){return"vertical"===this.direction?0===this.colors.hsl.h&&"right"===this.pullDirection?0:-100*this.colors.hsl.h/360+100+"%":0},pointerLeft:function(){return"vertical"===this.direction?0:0===this.colors.hsl.h&&"right"===this.pullDirection?"100%":100*this.colors.hsl.h/360+"%"}},methods:{handleChange:function(t,e){!e&&t.preventDefault();var n,r,i=this.$refs.container,o=i.clientWidth,a=i.clientHeight,s=i.getBoundingClientRect().left+window.pageXOffset,c=i.getBoundingClientRect().top+window.pageYOffset,u=t.pageX||(t.touches?t.touches[0].pageX:0),l=t.pageY||(t.touches?t.touches[0].pageY:0),f=u-s,h=l-c;"vertical"===this.direction?(h<0?n=360:h>a?n=0:(r=-100*h/a+100,n=360*r/100),this.colors.hsl.h!==n&&this.$emit("change",{h:n,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:"hsl"})):(f<0?n=0:f>o?n=360:(r=100*f/o,n=360*r/100),this.colors.hsl.h!==n&&this.$emit("change",{h:n,s:this.colors.hsl.s,l:this.colors.hsl.l,a:this.colors.hsl.a,source:"hsl"}))},handleMouseDown:function(t){this.handleChange(t,!0),window.addEventListener("mousemove",this.handleChange),window.addEventListener("mouseup",this.handleMouseUp)},handleMouseUp:function(t){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(50),o=r(i),a=n(3),s=r(a),c=["red","pink","purple","deepPurple","indigo","blue","lightBlue","cyan","teal","green","lightGreen","lime","yellow","amber","orange","deepOrange","brown","blueGrey","black"],u=["900","700","500","300","100"],l=function(){var t=[];return c.forEach(function(e){var n=[];"black"===e.toLowerCase()||"white"===e.toLowerCase()?n=n.concat(["#000000","#FFFFFF"]):u.forEach(function(t){var r=o.default[e][t];n.push(r.toUpperCase())}),t.push(n)}),t}();e.default={name:"Swatches",mixins:[s.default],props:{palette:{type:Array,default:function(){return l}}},computed:{pick:function(){return this.colors.hex}},methods:{equal:function(t){return t.toLowerCase()===this.colors.hex.toLowerCase()},handlerClick:function(t){this.colorChange({hex:t,source:"hex"})}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),o=r(i),a=n(4),s=r(a),c=n(6),u=r(c),l=n(5),f=r(l),h=n(7),p=r(h);e.default={name:"Photoshop",mixins:[o.default],props:{head:{type:String,default:"Color Picker"},disableFields:{type:Boolean,default:!1},hasResetButton:{type:Boolean,default:!1},acceptLabel:{type:String,default:"OK"},cancelLabel:{type:String,default:"Cancel"},resetLabel:{type:String,default:"Reset"},newLabel:{type:String,default:"new"},currentLabel:{type:String,default:"current"}},components:{saturation:u.default,hue:f.default,alpha:p.default,"ed-in":s.default},data:function(){return{currentColor:"#FFF"}},computed:{hsv:function(){var t=this.colors.hsv;return{h:t.h.toFixed(),s:(100*t.s).toFixed(),v:(100*t.v).toFixed()}},hex:function(){var t=this.colors.hex;return t&&t.replace("#","")}},created:function(){this.currentColor=this.colors.hex},methods:{childChange:function(t){this.colorChange(t)},inputChange:function(t){t&&(t["#"]?this.isValidHex(t["#"])&&this.colorChange({hex:t["#"],source:"hex"}):t.r||t.g||t.b||t.a?this.colorChange({r:t.r||this.colors.rgba.r,g:t.g||this.colors.rgba.g,b:t.b||this.colors.rgba.b,a:t.a||this.colors.rgba.a,source:"rgba"}):(t.h||t.s||t.v)&&this.colorChange({h:t.h||this.colors.hsv.h,s:t.s/100||this.colors.hsv.s,v:t.v/100||this.colors.hsv.v,source:"hsv"}))},clickCurrentColor:function(){this.colorChange({hex:this.currentColor,source:"hex"})},handleAccept:function(){this.$emit("ok")},handleCancel:function(){this.$emit("cancel")},handleReset:function(){this.$emit("reset")}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(57),o=r(i),a=n(58),s=r(a);e.default={name:"Saturation",props:{value:Object},computed:{colors:function(){return this.value},bgColor:function(){return"hsl("+this.colors.hsv.h+", 100%, 50%)"},pointerTop:function(){return-100*this.colors.hsv.v+1+100+"%"},pointerLeft:function(){return 100*this.colors.hsv.s+"%"}},methods:{throttle:(0,s.default)(function(t,e){t(e)},20,{leading:!0,trailing:!1}),handleChange:function(t,e){!e&&t.preventDefault();var n=this.$refs.container,r=n.clientWidth,i=n.clientHeight,a=n.getBoundingClientRect().left+window.pageXOffset,s=n.getBoundingClientRect().top+window.pageYOffset,c=t.pageX||(t.touches?t.touches[0].pageX:0),u=t.pageY||(t.touches?t.touches[0].pageY:0),l=(0,o.default)(c-a,0,r),f=(0,o.default)(u-s,0,i),h=l/r,p=(0,o.default)(-f/i+1,0,1);this.throttle(this.onChange,{h:this.colors.hsv.h,s:h,v:p,a:this.colors.hsv.a,source:"hsva"})},onChange:function(t){this.$emit("change",t)},handleMouseDown:function(t){window.addEventListener("mousemove",this.handleChange),window.addEventListener("mouseup",this.handleChange),window.addEventListener("mouseup",this.handleMouseUp)},handleMouseUp:function(t){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(8),i=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default={name:"Alpha",props:{value:Object,onChange:Function},components:{checkboard:i.default},computed:{colors:function(){return this.value},gradientColor:function(){var t=this.colors.rgba,e=[t.r,t.g,t.b].join(",");return"linear-gradient(to right, rgba("+e+", 0) 0%, rgba("+e+", 1) 100%)"}},methods:{handleChange:function(t,e){!e&&t.preventDefault();var n,r=this.$refs.container,i=r.clientWidth,o=r.getBoundingClientRect().left+window.pageXOffset,a=t.pageX||(t.touches?t.touches[0].pageX:0),s=a-o;n=s<0?0:s>i?1:Math.round(100*s/i)/100,this.colors.a!==n&&this.$emit("change",{h:this.colors.hsl.h,s:this.colors.hsl.s,l:this.colors.hsl.l,a:n,source:"rgba"})},handleMouseDown:function(t){this.handleChange(t,!0),window.addEventListener("mousemove",this.handleChange),window.addEventListener("mouseup",this.handleMouseUp)},handleMouseUp:function(){this.unbindEventListeners()},unbindEventListeners:function(){window.removeEventListener("mousemove",this.handleChange),window.removeEventListener("mouseup",this.handleMouseUp)}}}},function(t,e,n){"use strict";function r(t,e,n){if("undefined"==typeof document)return null;var r=document.createElement("canvas");r.width=r.height=2*n;var i=r.getContext("2d");return i?(i.fillStyle=t,i.fillRect(0,0,r.width,r.height),i.fillStyle=e,i.fillRect(0,0,n,n),i.translate(n,n),i.fillRect(0,0,n,n),r.toDataURL()):null}function i(t,e,n){var i=t+","+e+","+n;if(o[i])return o[i];var a=r(t,e,n);return o[i]=a,a}Object.defineProperty(e,"__esModule",{value:!0});var o={};e.default={name:"Checkboard",props:{size:{type:[Number,String],default:8},white:{type:String,default:"#fff"},grey:{type:String,default:"#e6e6e6"}},computed:{bgStyle:function(){return{"background-image":"url("+i(this.white,this.grey,this.size)+")"}}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),o=r(i),a=n(4),s=r(a),c=n(6),u=r(c),l=n(5),f=r(l),h=n(7),p=r(h),d=n(8),v=r(d),g=["#D0021B","#F5A623","#F8E71C","#8B572A","#7ED321","#417505","#BD10E0","#9013FE","#4A90E2","#50E3C2","#B8E986","#000000","#4A4A4A","#9B9B9B","#FFFFFF","rgba(0,0,0,0)"];e.default={name:"Sketch",mixins:[o.default],components:{saturation:u.default,hue:f.default,alpha:p.default,"ed-in":s.default,checkboard:v.default},props:{presetColors:{type:Array,default:function(){return g}},disableAlpha:{type:Boolean,default:!1},disableFields:{type:Boolean,default:!1}},computed:{hex:function(){var t=void 0;return t=this.colors.a<1?this.colors.hex8:this.colors.hex,t.replace("#","")},activeColor:function(){var t=this.colors.rgba;return"rgba("+[t.r,t.g,t.b,t.a].join(",")+")"}},methods:{handlePreset:function(t){this.colorChange({hex:t,source:"hex"})},childChange:function(t){this.colorChange(t)},inputChange:function(t){t&&(t.hex?this.isValidHex(t.hex)&&this.colorChange({hex:t.hex,source:"hex"}):(t.r||t.g||t.b||t.a)&&this.colorChange({r:t.r||this.colors.rgba.r,g:t.g||this.colors.rgba.g,b:t.b||this.colors.rgba.b,a:t.a||this.colors.rgba.a,source:"rgba"}))}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),o=r(i),a=n(4),s=r(a),c=n(6),u=r(c),l=n(5),f=r(l),h=n(7),p=r(h),d=n(8),v=r(d);e.default={name:"Chrome",mixins:[o.default],props:{disableAlpha:{type:Boolean,default:!1},disableFields:{type:Boolean,default:!1}},components:{saturation:u.default,hue:f.default,alpha:p.default,"ed-in":s.default,checkboard:v.default},data:function(){return{fieldsIndex:0,highlight:!1}},computed:{hsl:function(){var t=this.colors.hsl,e=t.h,n=t.s,r=t.l;return{h:e.toFixed(),s:(100*n).toFixed()+"%",l:(100*r).toFixed()+"%"}},activeColor:function(){var t=this.colors.rgba;return"rgba("+[t.r,t.g,t.b,t.a].join(",")+")"},hasAlpha:function(){return this.colors.a<1}},methods:{childChange:function(t){this.colorChange(t)},inputChange:function(t){if(t)if(t.hex)this.isValidHex(t.hex)&&this.colorChange({hex:t.hex,source:"hex"});else if(t.r||t.g||t.b||t.a)this.colorChange({r:t.r||this.colors.rgba.r,g:t.g||this.colors.rgba.g,b:t.b||this.colors.rgba.b,a:t.a||this.colors.rgba.a,source:"rgba"});else if(t.h||t.s||t.l){var e=t.s?t.s.replace("%","")/100:this.colors.hsl.s,n=t.l?t.l.replace("%","")/100:this.colors.hsl.l;this.colorChange({h:t.h||this.colors.hsl.h,s:e,l:n,source:"hsl"})}},toggleViews:function(){this.fieldsIndex>=2?this.fieldsIndex=0:this.fieldsIndex++},showHighlight:function(){this.highlight=!0},hideHighlight:function(){this.highlight=!1}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}var i=n(23),o=r(i),a=n(32),s=r(a),c=n(36),u=r(c),l=n(40),f=r(l),h=n(47),p=r(h),d=n(52),v=r(d),g=n(68),m=r(g),y=n(72),b=r(y),_=n(7),w=r(_),x=n(8),C=r(x),k=n(4),A=r(k),S=n(5),E=r(S),O=n(6),R=r(O),F=n(3),T=r(F),j={version:"2.7.0",Compact:o.default,Grayscale:s.default,Material:u.default,Slider:f.default,Swatches:p.default,Photoshop:v.default,Sketch:m.default,Chrome:b.default,Alpha:w.default,Checkboard:C.default,EditableInput:A.default,Hue:E.default,Saturation:R.default,ColorMixin:T.default};t.exports=j},function(t,e,n){"use strict";function r(t){c||n(24)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(9),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(31),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Compact.vue",e.default=f.exports},function(t,e,n){var r=n(25);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("6ce8a5a8",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-compact {\n padding-top: 5px;\n padding-left: 5px;\n width: 240px;\n border-radius: 2px;\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\n background-color: #fff;\n}\n.vc-compact-colors {\n overflow: hidden;\n padding: 0;\n margin: 0;\n}\n.vc-compact-color-item {\n list-style: none;\n width: 15px;\n height: 15px;\n float: left;\n margin-right: 5px;\n margin-bottom: 5px;\n position: relative;\n cursor: pointer;\n}\n.vc-compact-color-item--white {\n box-shadow: inset 0 0 0 1px #ddd;\n}\n.vc-compact-color-item--white .vc-compact-dot {\n background: #000;\n}\n.vc-compact-dot {\n position: absolute;\n top: 5px;\n right: 5px;\n bottom: 5px;\n left: 5px;\n border-radius: 50%;\n opacity: 1;\n background: #fff;\n}\n",""])},function(t,e){t.exports=function(t,e){for(var n=[],r={},i=0;i.5?c/(2-o-a):c/(o+a),o){case t:r=(e-n)/c+(e1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var i,o,a;if(t=R(t,360),e=R(e,100),n=R(n,100),0===e)i=o=a=n;else{var s=n<.5?n*(1+e):n+e-n*e,c=2*n-s;i=r(c,s,t+1/3),o=r(c,s,t),a=r(c,s,t-1/3)}return{r:255*i,g:255*o,b:255*a}}function l(t,e,n){t=R(t,255),e=R(e,255),n=R(n,255);var r,i,o=W(t,e,n),a=q(t,e,n),s=o,c=o-a;if(i=0===o?0:c/o,o==a)r=0;else{switch(o){case t:r=(e-n)/c+(e>1)+720)%360;--e;)r.h=(r.h+i)%360,a.push(o(r));return a}function E(t,e){e=e||6;for(var n=o(t).toHsv(),r=n.h,i=n.s,a=n.v,s=[],c=1/e;e--;)s.push(o({h:r,s:i,v:a})),a=(a+c)%1;return s}function O(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function R(t,e){j(t)&&(t="100%");var n=$(t);return t=q(e,W(0,parseFloat(t))),n&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function F(t){return q(1,W(0,t))}function T(t){return parseInt(t,16)}function j(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)}function $(t){return"string"==typeof t&&-1!=t.indexOf("%")}function D(t){return 1==t.length?"0"+t:""+t}function P(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function M(t){return T(t)/255}function L(t){return!!J.CSS_UNIT.exec(t)}function I(t){t=t.replace(U,"").replace(z,"").toLowerCase();var e,n=!1;if(X[t])t=X[t],n=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=J.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=J.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=J.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=J.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=J.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=J.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=J.hex8.exec(t))?{r:T(e[1]),g:T(e[2]),b:T(e[3]),a:M(e[4]),format:n?"name":"hex8"}:(e=J.hex6.exec(t))?{r:T(e[1]),g:T(e[2]),b:T(e[3]),format:n?"name":"hex"}:(e=J.hex4.exec(t))?{r:T(e[1]+""+e[1]),g:T(e[2]+""+e[2]),b:T(e[3]+""+e[3]),a:M(e[4]+""+e[4]),format:n?"name":"hex8"}:!!(e=J.hex3.exec(t))&&{r:T(e[1]+""+e[1]),g:T(e[2]+""+e[2]),b:T(e[3]+""+e[3]),format:n?"name":"hex"}}function N(t){var e,n;return t=t||{level:"AA",size:"small"},e=(t.level||"AA").toUpperCase(),n=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA"),"small"!==n&&"large"!==n&&(n="small"),{level:e,size:n}}var U=/^\s+/,z=/\s+$/,H=0,V=i.round,q=i.min,W=i.max,Y=i.random;o.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,n,r,o,a,s=this.toRgb();return t=s.r/255,e=s.g/255,n=s.b/255,r=t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4),o=e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4),a=n<=.03928?n/12.92:i.pow((n+.055)/1.055,2.4),.2126*r+.7152*o+.0722*a},setAlpha:function(t){return this._a=O(t),this._roundA=V(100*this._a)/100,this},toHsv:function(){var t=l(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=l(this._r,this._g,this._b),e=V(360*t.h),n=V(100*t.s),r=V(100*t.v);return 1==this._a?"hsv("+e+", "+n+"%, "+r+"%)":"hsva("+e+", "+n+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var t=c(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=c(this._r,this._g,this._b),e=V(360*t.h),n=V(100*t.s),r=V(100*t.l);return 1==this._a?"hsl("+e+", "+n+"%, "+r+"%)":"hsla("+e+", "+n+"%, "+r+"%, "+this._roundA+")"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return p(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:V(this._r),g:V(this._g),b:V(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+V(this._r)+", "+V(this._g)+", "+V(this._b)+")":"rgba("+V(this._r)+", "+V(this._g)+", "+V(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:V(100*R(this._r,255))+"%",g:V(100*R(this._g,255))+"%",b:V(100*R(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+V(100*R(this._r,255))+"%, "+V(100*R(this._g,255))+"%, "+V(100*R(this._b,255))+"%)":"rgba("+V(100*R(this._r,255))+"%, "+V(100*R(this._g,255))+"%, "+V(100*R(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(K[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+d(this._r,this._g,this._b,this._a),n=e,r=this._gradientType?"GradientType = 1, ":"";if(t){var i=o(t);n="#"+d(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+r+"startColorstr="+e+",endColorstr="+n+")"},toString:function(t){var e=!!t;t=t||this._format;var n=!1,r=this._a<1&&this._a>=0;return e||!r||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(n=this.toRgbString()),"prgb"===t&&(n=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(n=this.toHexString()),"hex3"===t&&(n=this.toHexString(!0)),"hex4"===t&&(n=this.toHex8String(!0)),"hex8"===t&&(n=this.toHex8String()),"name"===t&&(n=this.toName()),"hsl"===t&&(n=this.toHslString()),"hsv"===t&&(n=this.toHsvString()),n||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return o(this.toString())},_applyModification:function(t,e){var n=t.apply(null,[this].concat([].slice.call(e)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(y,arguments)},brighten:function(){return this._applyModification(b,arguments)},darken:function(){return this._applyModification(_,arguments)},desaturate:function(){return this._applyModification(v,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(w,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(S,arguments)},complement:function(){return this._applyCombination(x,arguments)},monochromatic:function(){return this._applyCombination(E,arguments)},splitcomplement:function(){return this._applyCombination(A,arguments)},triad:function(){return this._applyCombination(C,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},o.fromRatio=function(t,e){if("object"==typeof t){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]="a"===r?t[r]:P(t[r]));t=n}return o(t,e)},o.equals=function(t,e){return!(!t||!e)&&o(t).toRgbString()==o(e).toRgbString()},o.random=function(){return o.fromRatio({r:Y(),g:Y(),b:Y()})},o.mix=function(t,e,n){n=0===n?0:n||50;var r=o(t).toRgb(),i=o(e).toRgb(),a=n/100;return o({r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b,a:(i.a-r.a)*a+r.a})},o.readability=function(t,e){var n=o(t),r=o(e);return(i.max(n.getLuminance(),r.getLuminance())+.05)/(i.min(n.getLuminance(),r.getLuminance())+.05)},o.isReadable=function(t,e,n){var r,i,a=o.readability(t,e);switch(i=!1,r=N(n),r.level+r.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},o.mostReadable=function(t,e,n){var r,i,a,s,c=null,u=0;n=n||{},i=n.includeFallbackColors,a=n.level,s=n.size;for(var l=0;lu&&(u=r,c=o(e[l]));return o.isReadable(t,c,{level:a,size:s})||!i?c:(n.includeFallbackColors=!1,o.mostReadable(t,["#fff","#000"],n))};var X=o.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},K=o.hexNames=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[t[n]]=n);return e}(X),J=function(){var t="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)",e="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?",n="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?";return{CSS_UNIT:new RegExp(t),rgb:new RegExp("rgb"+e),rgba:new RegExp("rgba"+n),hsl:new RegExp("hsl"+e),hsla:new RegExp("hsla"+n),hsv:new RegExp("hsv"+e),hsva:new RegExp("hsva"+n),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();void 0!==t&&t.exports?t.exports=o:void 0!==(r=function(){return o}.call(e,n,e,t))&&(t.exports=r)}(Math)},function(t,e,n){var r=n(29);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("0f73e73c",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-editable-input {\n position: relative;\n}\n.vc-input__input {\n padding: 0;\n border: 0;\n outline: none;\n}\n.vc-input__label {\n text-transform: capitalize;\n}\n",""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-editable-input"},[n("input",{directives:[{name:"model",rawName:"v-model",value:t.val,expression:"val"}],ref:"input",staticClass:"vc-input__input",attrs:{"aria-labelledby":t.labelId},domProps:{value:t.val},on:{keydown:t.handleKeyDown,input:[function(e){e.target.composing||(t.val=e.target.value)},t.update]}}),t._v(" "),n("span",{staticClass:"vc-input__label",attrs:{for:t.label,id:t.labelId}},[t._v(t._s(t.labelSpanText))]),t._v(" "),n("span",{staticClass:"vc-input__desc"},[t._v(t._s(t.desc))])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-compact",attrs:{role:"application","aria-label":"Compact color picker"}},[n("ul",{staticClass:"vc-compact-colors",attrs:{role:"listbox"}},t._l(t.paletteUpperCase(t.palette),function(e){return n("li",{key:e,staticClass:"vc-compact-color-item",class:{"vc-compact-color-item--white":"#FFFFFF"===e},style:{background:e},attrs:{role:"option","aria-label":"color:"+e,"aria-selected":e===t.pick},on:{click:function(n){t.handlerClick(e)}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e===t.pick,expression:"c === pick"}],staticClass:"vc-compact-dot"})])}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(33)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(11),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(35),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Grayscale.vue",e.default=f.exports},function(t,e,n){var r=n(34);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("21ddbb74",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-grayscale {\n width: 125px;\n border-radius: 2px;\n box-shadow: 0 2px 15px rgba(0,0,0,.12), 0 2px 10px rgba(0,0,0,.16);\n background-color: #fff;\n}\n.vc-grayscale-colors {\n border-radius: 2px;\n overflow: hidden;\n padding: 0;\n margin: 0;\n}\n.vc-grayscale-color-item {\n list-style: none;\n width: 25px;\n height: 25px;\n float: left;\n position: relative;\n cursor: pointer;\n}\n.vc-grayscale-color-item--white .vc-grayscale-dot {\n background: #000;\n}\n.vc-grayscale-dot {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 6px;\n height: 6px;\n margin: -3px 0 0 -2px;\n border-radius: 50%;\n opacity: 1;\n background: #fff;\n}\n",""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-grayscale",attrs:{role:"application","aria-label":"Grayscale color picker"}},[n("ul",{staticClass:"vc-grayscale-colors",attrs:{role:"listbox"}},t._l(t.paletteUpperCase(t.palette),function(e){return n("li",{key:e,staticClass:"vc-grayscale-color-item",class:{"vc-grayscale-color-item--white":"#FFFFFF"==e},style:{background:e},attrs:{role:"option","aria-label":"Color:"+e,"aria-selected":e===t.pick},on:{click:function(n){t.handlerClick(e)}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e===t.pick,expression:"c === pick"}],staticClass:"vc-grayscale-dot"})])}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(37)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(12),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(39),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Material.vue",e.default=f.exports},function(t,e,n){var r=n(38);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("1ff3af73",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,'\n.vc-material {\n width: 98px;\n height: 98px;\n padding: 16px;\n font-family: "Roboto";\n position: relative;\n border-radius: 2px;\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\n background-color: #fff;\n}\n.vc-material .vc-input__input {\n width: 100%;\n margin-top: 12px;\n font-size: 15px;\n color: #333;\n height: 30px;\n}\n.vc-material .vc-input__label {\n position: absolute;\n top: 0;\n left: 0;\n font-size: 11px;\n color: #999;\n text-transform: capitalize;\n}\n.vc-material-hex {\n border-bottom-width: 2px;\n border-bottom-style: solid;\n}\n.vc-material-split {\n display: flex;\n margin-right: -10px;\n padding-top: 11px;\n}\n.vc-material-third {\n flex: 1;\n padding-right: 10px;\n}\n',""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-material",attrs:{role:"application","aria-label":"Material color picker"}},[n("ed-in",{staticClass:"vc-material-hex",style:{borderColor:t.colors.hex},attrs:{label:"hex"},on:{change:t.onChange},model:{value:t.colors.hex,callback:function(e){t.$set(t.colors,"hex",e)},expression:"colors.hex"}}),t._v(" "),n("div",{staticClass:"vc-material-split"},[n("div",{staticClass:"vc-material-third"},[n("ed-in",{attrs:{label:"r"},on:{change:t.onChange},model:{value:t.colors.rgba.r,callback:function(e){t.$set(t.colors.rgba,"r",e)},expression:"colors.rgba.r"}})],1),t._v(" "),n("div",{staticClass:"vc-material-third"},[n("ed-in",{attrs:{label:"g"},on:{change:t.onChange},model:{value:t.colors.rgba.g,callback:function(e){t.$set(t.colors.rgba,"g",e)},expression:"colors.rgba.g"}})],1),t._v(" "),n("div",{staticClass:"vc-material-third"},[n("ed-in",{attrs:{label:"b"},on:{change:t.onChange},model:{value:t.colors.rgba.b,callback:function(e){t.$set(t.colors.rgba,"b",e)},expression:"colors.rgba.b"}})],1)])],1)},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(41)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(13),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(46),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Slider.vue",e.default=f.exports},function(t,e,n){var r=n(42);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("7982aa43",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-slider {\n position: relative;\n width: 410px;\n}\n.vc-slider-hue-warp {\n height: 12px;\n position: relative;\n}\n.vc-slider-hue-warp .vc-hue-picker {\n width: 14px;\n height: 14px;\n border-radius: 6px;\n transform: translate(-7px, -2px);\n background-color: rgb(248, 248, 248);\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\n}\n.vc-slider-swatches {\n display: flex;\n margin-top: 20px;\n}\n.vc-slider-swatch {\n margin-right: 1px;\n flex: 1;\n width: 20%;\n}\n.vc-slider-swatch:first-child {\n margin-right: 1px;\n}\n.vc-slider-swatch:first-child .vc-slider-swatch-picker {\n border-radius: 2px 0px 0px 2px;\n}\n.vc-slider-swatch:last-child {\n margin-right: 0;\n}\n.vc-slider-swatch:last-child .vc-slider-swatch-picker {\n border-radius: 0px 2px 2px 0px;\n}\n.vc-slider-swatch-picker {\n cursor: pointer;\n height: 12px;\n}\n.vc-slider-swatch-picker--active {\n transform: scaleY(1.8);\n border-radius: 3.6px/2px;\n}\n.vc-slider-swatch-picker--white {\n box-shadow: inset 0 0 0 1px #ddd;\n}\n.vc-slider-swatch-picker--active.vc-slider-swatch-picker--white {\n box-shadow: inset 0 0 0 0.6px #ddd;\n}\n",""])},function(t,e,n){var r=n(44);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("7c5f1a1c",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-hue {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n border-radius: 2px;\n}\n.vc-hue--horizontal {\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n}\n.vc-hue--vertical {\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n}\n.vc-hue-container {\n cursor: pointer;\n margin: 0 2px;\n position: relative;\n height: 100%;\n}\n.vc-hue-pointer {\n z-index: 2;\n position: absolute;\n}\n.vc-hue-picker {\n cursor: pointer;\n margin-top: 1px;\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n transform: translateX(-2px) ;\n}\n",""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:["vc-hue",t.directionClass]},[n("div",{ref:"container",staticClass:"vc-hue-container",attrs:{role:"slider","aria-valuenow":t.colors.hsl.h,"aria-valuemin":"0","aria-valuemax":"360"},on:{mousedown:t.handleMouseDown,touchmove:t.handleChange,touchstart:t.handleChange}},[n("div",{staticClass:"vc-hue-pointer",style:{top:t.pointerTop,left:t.pointerLeft},attrs:{role:"presentation"}},[n("div",{staticClass:"vc-hue-picker"})])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-slider",attrs:{role:"application","aria-label":"Slider color picker"}},[n("div",{staticClass:"vc-slider-hue-warp"},[n("hue",{on:{change:t.hueChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1),t._v(" "),n("div",{staticClass:"vc-slider-swatches",attrs:{role:"group"}},t._l(t.swatches,function(e,r){return n("div",{key:r,staticClass:"vc-slider-swatch",attrs:{"data-index":r,"aria-label":"color:"+t.colors.hex,role:"button"},on:{click:function(n){t.handleSwClick(r,e)}}},[n("div",{staticClass:"vc-slider-swatch-picker",class:{"vc-slider-swatch-picker--active":e==t.activeOffset,"vc-slider-swatch-picker--white":"1"===e},style:{background:"hsl("+t.colors.hsl.h+", 50%, "+100*e+"%)"}})])}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(48)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(15),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(51),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Swatches.vue",e.default=f.exports},function(t,e,n){var r=n(49);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("10f839a2",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-swatches {\n width: 320px;\n height: 240px;\n overflow-y: scroll;\n background-color: #fff;\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\n}\n.vc-swatches-box {\n padding: 16px 0 6px 16px;\n overflow: hidden;\n}\n.vc-swatches-color-group {\n padding-bottom: 10px;\n width: 40px;\n float: left;\n margin-right: 10px;\n}\n.vc-swatches-color-it {\n box-sizing: border-box;\n width: 40px;\n height: 24px;\n cursor: pointer;\n background: #880e4f;\n margin-bottom: 1px;\n overflow: hidden;\n -ms-border-radius: 2px 2px 0 0;\n -moz-border-radius: 2px 2px 0 0;\n -o-border-radius: 2px 2px 0 0;\n -webkit-border-radius: 2px 2px 0 0;\n border-radius: 2px 2px 0 0;\n}\n.vc-swatches-color--white {\n border: 1px solid #DDD;\n}\n.vc-swatches-pick {\n fill: rgb(255, 255, 255);\n margin-left: 8px;\n display: block;\n}\n.vc-swatches-color--white .vc-swatches-pick {\n fill: rgb(51, 51, 51);\n}\n",""])},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n.d(e,"red",function(){return r}),n.d(e,"pink",function(){return i}),n.d(e,"purple",function(){return o}),n.d(e,"deepPurple",function(){return a}),n.d(e,"indigo",function(){return s}),n.d(e,"blue",function(){return c}),n.d(e,"lightBlue",function(){return u}),n.d(e,"cyan",function(){return l}),n.d(e,"teal",function(){return f}),n.d(e,"green",function(){return h}),n.d(e,"lightGreen",function(){return p}),n.d(e,"lime",function(){return d}),n.d(e,"yellow",function(){return v}),n.d(e,"amber",function(){return g}),n.d(e,"orange",function(){return m}),n.d(e,"deepOrange",function(){return y}),n.d(e,"brown",function(){return b}),n.d(e,"grey",function(){return _}),n.d(e,"blueGrey",function(){return w}),n.d(e,"darkText",function(){return x}),n.d(e,"lightText",function(){return C}),n.d(e,"darkIcons",function(){return k}),n.d(e,"lightIcons",function(){return A}),n.d(e,"white",function(){return S}),n.d(e,"black",function(){return E});var r={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",a100:"#ff8a80",a200:"#ff5252",a400:"#ff1744",a700:"#d50000"},i={50:"#fce4ec",100:"#f8bbd0",200:"#f48fb1",300:"#f06292",400:"#ec407a",500:"#e91e63",600:"#d81b60",700:"#c2185b",800:"#ad1457",900:"#880e4f",a100:"#ff80ab",a200:"#ff4081",a400:"#f50057",a700:"#c51162"},o={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",a100:"#ea80fc",a200:"#e040fb",a400:"#d500f9",a700:"#aa00ff"},a={50:"#ede7f6",100:"#d1c4e9",200:"#b39ddb",300:"#9575cd",400:"#7e57c2",500:"#673ab7",600:"#5e35b1",700:"#512da8",800:"#4527a0",900:"#311b92",a100:"#b388ff",a200:"#7c4dff",a400:"#651fff",a700:"#6200ea"},s={50:"#e8eaf6",100:"#c5cae9",200:"#9fa8da",300:"#7986cb",400:"#5c6bc0",500:"#3f51b5",600:"#3949ab",700:"#303f9f",800:"#283593",900:"#1a237e",a100:"#8c9eff",a200:"#536dfe",a400:"#3d5afe",a700:"#304ffe"},c={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",a100:"#82b1ff",a200:"#448aff",a400:"#2979ff",a700:"#2962ff"},u={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",a100:"#80d8ff",a200:"#40c4ff",a400:"#00b0ff",a700:"#0091ea"},l={50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",a100:"#84ffff",a200:"#18ffff",a400:"#00e5ff",a700:"#00b8d4"},f={50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",a100:"#a7ffeb",a200:"#64ffda",a400:"#1de9b6",a700:"#00bfa5"},h={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",a100:"#b9f6ca",a200:"#69f0ae",a400:"#00e676",a700:"#00c853"},p={50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",a100:"#ccff90",a200:"#b2ff59",a400:"#76ff03",a700:"#64dd17"},d={50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",a100:"#f4ff81",a200:"#eeff41",a400:"#c6ff00",a700:"#aeea00"},v={50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",a100:"#ffff8d",a200:"#ffff00",a400:"#ffea00",a700:"#ffd600"},g={50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",a100:"#ffe57f",a200:"#ffd740",a400:"#ffc400",a700:"#ffab00"},m={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",a100:"#ffd180",a200:"#ffab40",a400:"#ff9100",a700:"#ff6d00"},y={50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",a100:"#ff9e80",a200:"#ff6e40",a400:"#ff3d00",a700:"#dd2c00"},b={50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723"},_={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121"},w={50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238"},x={primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.54)",disabled:"rgba(0, 0, 0, 0.38)",dividers:"rgba(0, 0, 0, 0.12)"},C={primary:"rgba(255, 255, 255, 1)",secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",dividers:"rgba(255, 255, 255, 0.12)"},k={active:"rgba(0, 0, 0, 0.54)",inactive:"rgba(0, 0, 0, 0.38)"},A={active:"rgba(255, 255, 255, 1)",inactive:"rgba(255, 255, 255, 0.5)"},S="#ffffff",E="#000000";e.default={red:r,pink:i,purple:o,deepPurple:a,indigo:s,blue:c,lightBlue:u,cyan:l,teal:f,green:h,lightGreen:p,lime:d,yellow:v,amber:g,orange:m,deepOrange:y,brown:b,grey:_,blueGrey:w,darkText:x,lightText:C,darkIcons:k,lightIcons:A,white:S,black:E}},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-swatches",attrs:{role:"application","aria-label":"Swatches color picker","data-pick":t.pick}},[n("div",{staticClass:"vc-swatches-box",attrs:{role:"listbox"}},t._l(t.palette,function(e,r){return n("div",{key:r,staticClass:"vc-swatches-color-group"},t._l(e,function(e){return n("div",{key:e,class:["vc-swatches-color-it",{"vc-swatches-color--white":"#FFFFFF"===e}],style:{background:e},attrs:{role:"option","aria-label":"Color:"+e,"aria-selected":t.equal(e),"data-color":e},on:{click:function(n){t.handlerClick(e)}}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.equal(e),expression:"equal(c)"}],staticClass:"vc-swatches-pick"},[n("svg",{staticStyle:{width:"24px",height:"24px"},attrs:{viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}})])])])}))}))])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(53)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(16),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(67),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Photoshop.vue",e.default=f.exports},function(t,e,n){var r=n(54);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("080365d4",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,'\n.vc-photoshop {\n background: #DCDCDC;\n border-radius: 4px;\n box-shadow: 0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15);\n box-sizing: initial;\n width: 513px;\n font-family: Roboto;\n}\n.vc-photoshop__disable-fields {\n width: 390px;\n}\n.vc-ps-head {\n background-image: linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%);\n border-bottom: 1px solid #B1B1B1;\n box-shadow: inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02);\n height: 23px;\n line-height: 24px;\n border-radius: 4px 4px 0 0;\n font-size: 13px;\n color: #4D4D4D;\n text-align: center;\n}\n.vc-ps-body {\n padding: 15px;\n display: flex;\n}\n.vc-ps-saturation-wrap {\n width: 256px;\n height: 256px;\n position: relative;\n border: 2px solid #B3B3B3;\n border-bottom: 2px solid #F0F0F0;\n overflow: hidden;\n}\n.vc-ps-saturation-wrap .vc-saturation-circle {\n width: 12px;\n height: 12px;\n}\n.vc-ps-hue-wrap {\n position: relative;\n height: 256px;\n width: 19px;\n margin-left: 10px;\n border: 2px solid #B3B3B3;\n border-bottom: 2px solid #F0F0F0;\n}\n.vc-ps-hue-pointer {\n position: relative;\n}\n.vc-ps-hue-pointer--left,\n.vc-ps-hue-pointer--right {\n position: absolute;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 5px 0 5px 8px;\n border-color: transparent transparent transparent #555;\n}\n.vc-ps-hue-pointer--left:after,\n.vc-ps-hue-pointer--right:after {\n content: "";\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 4px 0 4px 6px;\n border-color: transparent transparent transparent #fff;\n position: absolute;\n top: 1px;\n left: 1px;\n transform: translate(-8px, -5px);\n}\n.vc-ps-hue-pointer--left {\n transform: translate(-13px, -4px);\n}\n.vc-ps-hue-pointer--right {\n transform: translate(20px, -4px) rotate(180deg);\n}\n.vc-ps-controls {\n width: 180px;\n margin-left: 10px;\n display: flex;\n}\n.vc-ps-controls__disable-fields {\n width: auto;\n}\n.vc-ps-actions {\n margin-left: 20px;\n flex: 1;\n}\n.vc-ps-ac-btn {\n cursor: pointer;\n background-image: linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%);\n border: 1px solid #878787;\n border-radius: 2px;\n height: 20px;\n box-shadow: 0 1px 0 0 #EAEAEA;\n font-size: 14px;\n color: #000;\n line-height: 20px;\n text-align: center;\n margin-bottom: 10px;\n}\n.vc-ps-previews {\n width: 60px;\n}\n.vc-ps-previews__swatches {\n border: 1px solid #B3B3B3;\n border-bottom: 1px solid #F0F0F0;\n margin-bottom: 2px;\n margin-top: 1px;\n}\n.vc-ps-previews__pr-color {\n height: 34px;\n box-shadow: inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000;\n}\n.vc-ps-previews__label {\n font-size: 14px;\n color: #000;\n text-align: center;\n}\n.vc-ps-fields {\n padding-top: 5px;\n padding-bottom: 9px;\n width: 80px;\n position: relative;\n}\n.vc-ps-fields .vc-input__input {\n margin-left: 40%;\n width: 40%;\n height: 18px;\n border: 1px solid #888888;\n box-shadow: inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC;\n margin-bottom: 5px;\n font-size: 13px;\n padding-left: 3px;\n margin-right: 10px;\n}\n.vc-ps-fields .vc-input__label, .vc-ps-fields .vc-input__desc {\n top: 0;\n text-transform: uppercase;\n font-size: 13px;\n height: 18px;\n line-height: 22px;\n position: absolute;\n}\n.vc-ps-fields .vc-input__label {\n left: 0;\n width: 34px;\n}\n.vc-ps-fields .vc-input__desc {\n right: 0;\n width: 0;\n}\n.vc-ps-fields__divider {\n height: 5px;\n}\n.vc-ps-fields__hex .vc-input__input {\n margin-left: 20%;\n width: 80%;\n height: 18px;\n border: 1px solid #888888;\n box-shadow: inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC;\n margin-bottom: 6px;\n font-size: 13px;\n padding-left: 3px;\n}\n.vc-ps-fields__hex .vc-input__label {\n position: absolute;\n top: 0;\n left: 0;\n width: 14px;\n text-transform: uppercase;\n font-size: 13px;\n height: 18px;\n line-height: 22px;\n}\n',""])},function(t,e,n){var r=n(56);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("b5380e52",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-saturation,\n.vc-saturation--white,\n.vc-saturation--black {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n.vc-saturation--white {\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\n}\n.vc-saturation--black {\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\n}\n.vc-saturation-pointer {\n cursor: pointer;\n position: absolute;\n}\n.vc-saturation-circle {\n cursor: head;\n width: 4px;\n height: 4px;\n box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3), 0 0 1px 2px rgba(0,0,0,.4);\n border-radius: 50%;\n transform: translate(-2px, -2px);\n}\n",""])},function(t,e){function n(t,e,n){return en?n:t:te?e:t}t.exports=n},function(t,e,n){(function(e){function n(t,e,n){function r(e){var n=v,r=g;return v=g=void 0,k=e,y=t.apply(r,n)}function o(t){return k=t,b=setTimeout(l,e),A?r(t):y}function a(t){var n=t-_,r=t-k,i=e-n;return S?x(i,m-r):i}function u(t){var n=t-_,r=t-k;return void 0===_||n>=e||n<0||S&&r>=m}function l(){var t=C();if(u(t))return f(t);b=setTimeout(l,a(t))}function f(t){return b=void 0,E&&v?r(t):(v=g=void 0,y)}function h(){void 0!==b&&clearTimeout(b),k=0,v=_=g=b=void 0}function p(){return void 0===b?y:f(C())}function d(){var t=C(),n=u(t);if(v=arguments,g=this,_=t,n){if(void 0===b)return o(_);if(S)return b=setTimeout(l,e),r(_)}return void 0===b&&(b=setTimeout(l,e)),y}var v,g,m,y,b,_,k=0,A=!1,S=!1,E=!0;if("function"!=typeof t)throw new TypeError(c);return e=s(e)||0,i(n)&&(A=!!n.leading,S="maxWait"in n,m=S?w(s(n.maxWait)||0,e):m,E="trailing"in n?!!n.trailing:E),d.cancel=h,d.flush=p,d}function r(t,e,r){var o=!0,a=!0;if("function"!=typeof t)throw new TypeError(c);return i(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),n(t,e,{leading:o,maxWait:e,trailing:a})}function i(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function o(t){return!!t&&"object"==typeof t}function a(t){return"symbol"==typeof t||o(t)&&_.call(t)==l}function s(t){if("number"==typeof t)return t;if(a(t))return u;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(f,"");var n=p.test(t);return n||d.test(t)?v(t.slice(2),n?2:8):h.test(t)?u:+t}var c="Expected a function",u=NaN,l="[object Symbol]",f=/^\s+|\s+$/g,h=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,d=/^0o[0-7]+$/i,v=parseInt,g="object"==typeof e&&e&&e.Object===Object&&e,m="object"==typeof self&&self&&self.Object===Object&&self,y=g||m||Function("return this")(),b=Object.prototype,_=b.toString,w=Math.max,x=Math.min,C=function(){return y.Date.now()};t.exports=r}).call(e,n(59))},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"container",staticClass:"vc-saturation",style:{background:t.bgColor},on:{mousedown:t.handleMouseDown,touchmove:t.handleChange,touchstart:t.handleChange}},[n("div",{staticClass:"vc-saturation--white"}),t._v(" "),n("div",{staticClass:"vc-saturation--black"}),t._v(" "),n("div",{staticClass:"vc-saturation-pointer",style:{top:t.pointerTop,left:t.pointerLeft}},[n("div",{staticClass:"vc-saturation-circle"})])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){var r=n(62);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("4dc1b086",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-alpha {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n.vc-alpha-checkboard-wrap {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n overflow: hidden;\n}\n.vc-alpha-gradient {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n.vc-alpha-container {\n cursor: pointer;\n position: relative;\n z-index: 2;\n height: 100%;\n margin: 0 3px;\n}\n.vc-alpha-pointer {\n z-index: 2;\n position: absolute;\n}\n.vc-alpha-picker {\n cursor: pointer;\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n margin-top: 1px;\n transform: translateX(-2px);\n}\n",""])},function(t,e,n){var r=n(64);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("7e15c05b",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-checkerboard {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n background-size: contain;\n}\n",""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement;return(t._self._c||e)("div",{staticClass:"vc-checkerboard",style:t.bgStyle})},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vc-alpha"},[n("div",{staticClass:"vc-alpha-checkboard-wrap"},[n("checkboard")],1),t._v(" "),n("div",{staticClass:"vc-alpha-gradient",style:{background:t.gradientColor}}),t._v(" "),n("div",{ref:"container",staticClass:"vc-alpha-container",on:{mousedown:t.handleMouseDown,touchmove:t.handleChange,touchstart:t.handleChange}},[n("div",{staticClass:"vc-alpha-pointer",style:{left:100*t.colors.a+"%"}},[n("div",{staticClass:"vc-alpha-picker"})])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:["vc-photoshop",t.disableFields?"vc-photoshop__disable-fields":""],attrs:{role:"application","aria-label":"PhotoShop color picker"}},[n("div",{staticClass:"vc-ps-head",attrs:{role:"heading"}},[t._v(t._s(t.head))]),t._v(" "),n("div",{staticClass:"vc-ps-body"},[n("div",{staticClass:"vc-ps-saturation-wrap"},[n("saturation",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1),t._v(" "),n("div",{staticClass:"vc-ps-hue-wrap"},[n("hue",{attrs:{direction:"vertical"},on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}},[n("div",{staticClass:"vc-ps-hue-pointer"},[n("i",{staticClass:"vc-ps-hue-pointer--left"}),n("i",{staticClass:"vc-ps-hue-pointer--right"})])])],1),t._v(" "),n("div",{class:["vc-ps-controls",t.disableFields?"vc-ps-controls__disable-fields":""]},[n("div",{staticClass:"vc-ps-previews"},[n("div",{staticClass:"vc-ps-previews__label"},[t._v(t._s(t.newLabel))]),t._v(" "),n("div",{staticClass:"vc-ps-previews__swatches"},[n("div",{staticClass:"vc-ps-previews__pr-color",style:{background:t.colors.hex},attrs:{"aria-label":"New color is "+t.colors.hex}}),t._v(" "),n("div",{staticClass:"vc-ps-previews__pr-color",style:{background:t.currentColor},attrs:{"aria-label":"Current color is "+t.currentColor},on:{click:t.clickCurrentColor}})]),t._v(" "),n("div",{staticClass:"vc-ps-previews__label"},[t._v(t._s(t.currentLabel))])]),t._v(" "),t.disableFields?t._e():n("div",{staticClass:"vc-ps-actions"},[n("div",{staticClass:"vc-ps-ac-btn",attrs:{role:"button","aria-label":t.acceptLabel},on:{click:t.handleAccept}},[t._v(t._s(t.acceptLabel))]),t._v(" "),n("div",{staticClass:"vc-ps-ac-btn",attrs:{role:"button","aria-label":t.cancelLabel},on:{click:t.handleCancel}},[t._v(t._s(t.cancelLabel))]),t._v(" "),n("div",{staticClass:"vc-ps-fields"},[n("ed-in",{attrs:{label:"h",desc:"°",value:t.hsv.h},on:{change:t.inputChange}}),t._v(" "),n("ed-in",{attrs:{label:"s",desc:"%",value:t.hsv.s,max:100},on:{change:t.inputChange}}),t._v(" "),n("ed-in",{attrs:{label:"v",desc:"%",value:t.hsv.v,max:100},on:{change:t.inputChange}}),t._v(" "),n("div",{staticClass:"vc-ps-fields__divider"}),t._v(" "),n("ed-in",{attrs:{label:"r",value:t.colors.rgba.r},on:{change:t.inputChange}}),t._v(" "),n("ed-in",{attrs:{label:"g",value:t.colors.rgba.g},on:{change:t.inputChange}}),t._v(" "),n("ed-in",{attrs:{label:"b",value:t.colors.rgba.b},on:{change:t.inputChange}}),t._v(" "),n("div",{staticClass:"vc-ps-fields__divider"}),t._v(" "),n("ed-in",{staticClass:"vc-ps-fields__hex",attrs:{label:"#",value:t.hex},on:{change:t.inputChange}})],1),t._v(" "),t.hasResetButton?n("div",{staticClass:"vc-ps-ac-btn",attrs:{"aria-label":"reset"},on:{click:t.handleReset}},[t._v(t._s(t.resetLabel))]):t._e()])])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(69)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(20),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(71),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Sketch.vue",e.default=f.exports},function(t,e,n){var r=n(70);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("612c6604",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-sketch {\n position: relative;\n width: 200px;\n padding: 10px 10px 0;\n box-sizing: initial;\n background: #fff;\n border-radius: 4px;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, .15), 0 8px 16px rgba(0, 0, 0, .15);\n}\n.vc-sketch-saturation-wrap {\n width: 100%;\n padding-bottom: 75%;\n position: relative;\n overflow: hidden;\n}\n.vc-sketch-controls {\n display: flex;\n}\n.vc-sketch-sliders {\n padding: 4px 0;\n flex: 1;\n}\n.vc-sketch-sliders .vc-hue,\n.vc-sketch-sliders .vc-alpha-gradient {\n border-radius: 2px;\n}\n.vc-sketch-hue-wrap {\n position: relative;\n height: 10px;\n}\n.vc-sketch-alpha-wrap {\n position: relative;\n height: 10px;\n margin-top: 4px;\n overflow: hidden;\n}\n.vc-sketch-color-wrap {\n width: 24px;\n height: 24px;\n position: relative;\n margin-top: 4px;\n margin-left: 4px;\n border-radius: 3px;\n}\n.vc-sketch-active-color {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 2px;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15), inset 0 0 4px rgba(0, 0, 0, .25);\n z-index: 2;\n}\n.vc-sketch-color-wrap .vc-checkerboard {\n background-size: auto;\n}\n.vc-sketch-field {\n display: flex;\n padding-top: 4px;\n}\n.vc-sketch-field .vc-input__input {\n width: 90%;\n padding: 4px 0 3px 10%;\n border: none;\n box-shadow: inset 0 0 0 1px #ccc;\n font-size: 10px;\n}\n.vc-sketch-field .vc-input__label {\n display: block;\n text-align: center;\n font-size: 11px;\n color: #222;\n padding-top: 3px;\n padding-bottom: 4px;\n text-transform: capitalize;\n}\n.vc-sketch-field--single {\n flex: 1;\n padding-left: 6px;\n}\n.vc-sketch-field--double {\n flex: 2;\n}\n.vc-sketch-presets {\n margin-right: -10px;\n margin-left: -10px;\n padding-left: 10px;\n padding-top: 10px;\n border-top: 1px solid #eee;\n}\n.vc-sketch-presets-color {\n border-radius: 3px;\n overflow: hidden;\n position: relative;\n display: inline-block;\n margin: 0 10px 10px 0;\n vertical-align: top;\n cursor: pointer;\n width: 16px;\n height: 16px;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15);\n}\n.vc-sketch-presets-color .vc-checkerboard {\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15);\n border-radius: 3px;\n}\n.vc-sketch__disable-alpha .vc-sketch-color-wrap {\n height: 10px;\n}\n",""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:["vc-sketch",t.disableAlpha?"vc-sketch__disable-alpha":""],attrs:{role:"application","aria-label":"Sketch color picker"}},[n("div",{staticClass:"vc-sketch-saturation-wrap"},[n("saturation",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1),t._v(" "),n("div",{staticClass:"vc-sketch-controls"},[n("div",{staticClass:"vc-sketch-sliders"},[n("div",{staticClass:"vc-sketch-hue-wrap"},[n("hue",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1),t._v(" "),t.disableAlpha?t._e():n("div",{staticClass:"vc-sketch-alpha-wrap"},[n("alpha",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1)]),t._v(" "),n("div",{staticClass:"vc-sketch-color-wrap"},[n("div",{staticClass:"vc-sketch-active-color",style:{background:t.activeColor},attrs:{"aria-label":"Current color is "+t.activeColor}}),t._v(" "),n("checkboard")],1)]),t._v(" "),t.disableFields?t._e():n("div",{staticClass:"vc-sketch-field"},[n("div",{staticClass:"vc-sketch-field--double"},[n("ed-in",{attrs:{label:"hex",value:t.hex},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-sketch-field--single"},[n("ed-in",{attrs:{label:"r",value:t.colors.rgba.r},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-sketch-field--single"},[n("ed-in",{attrs:{label:"g",value:t.colors.rgba.g},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-sketch-field--single"},[n("ed-in",{attrs:{label:"b",value:t.colors.rgba.b},on:{change:t.inputChange}})],1),t._v(" "),t.disableAlpha?t._e():n("div",{staticClass:"vc-sketch-field--single"},[n("ed-in",{attrs:{label:"a",value:t.colors.a,"arrow-offset":.01,max:1},on:{change:t.inputChange}})],1)]),t._v(" "),n("div",{staticClass:"vc-sketch-presets",attrs:{role:"group","aria-label":"A color preset, pick one to set as current color"}},[t._l(t.presetColors,function(e){return[t.isTransparent(e)?n("div",{key:e,staticClass:"vc-sketch-presets-color",attrs:{"aria-label":"Color:"+e},on:{click:function(n){t.handlePreset(e)}}},[n("checkboard")],1):n("div",{key:e,staticClass:"vc-sketch-presets-color",style:{background:e},attrs:{"aria-label":"Color:"+e},on:{click:function(n){t.handlePreset(e)}}})]})],2)])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o},function(t,e,n){"use strict";function r(t){c||n(73)}Object.defineProperty(e,"__esModule",{value:!0});var i=n(21),o=n.n(i);for(var a in i)"default"!==a&&function(t){n.d(e,t,function(){return i[t]})}(a);var s=n(75),c=!1,u=n(2),l=r,f=u(o.a,s.a,!1,l,null,null);f.options.__file="src/components/Chrome.vue",e.default=f.exports},function(t,e,n){var r=n(74);"string"==typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals),n(1)("1cd16048",r,!1,{})},function(t,e,n){e=t.exports=n(0)(!1),e.push([t.i,"\n.vc-chrome {\n background: #fff;\n border-radius: 2px;\n box-shadow: 0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3);\n box-sizing: initial;\n width: 225px;\n font-family: Menlo;\n background-color: #fff;\n}\n.vc-chrome-controls {\n display: flex;\n}\n.vc-chrome-color-wrap {\n position: relative;\n width: 36px;\n}\n.vc-chrome-active-color {\n position: relative;\n width: 30px;\n height: 30px;\n border-radius: 15px;\n overflow: hidden;\n z-index: 1;\n}\n.vc-chrome-color-wrap .vc-checkerboard {\n width: 30px;\n height: 30px;\n border-radius: 15px;\n background-size: auto;\n}\n.vc-chrome-sliders {\n flex: 1;\n}\n.vc-chrome-fields-wrap {\n display: flex;\n padding-top: 16px;\n}\n.vc-chrome-fields {\n display: flex;\n margin-left: -6px;\n flex: 1;\n}\n.vc-chrome-field {\n padding-left: 6px;\n width: 100%;\n}\n.vc-chrome-toggle-btn {\n width: 32px;\n text-align: right;\n position: relative;\n}\n.vc-chrome-toggle-icon {\n margin-right: -4px;\n margin-top: 12px;\n cursor: pointer;\n position: relative;\n z-index: 2;\n}\n.vc-chrome-toggle-icon-highlight {\n position: absolute;\n width: 24px;\n height: 28px;\n background: #eee;\n border-radius: 4px;\n top: 10px;\n left: 12px;\n}\n.vc-chrome-hue-wrap {\n position: relative;\n height: 10px;\n margin-bottom: 8px;\n}\n.vc-chrome-alpha-wrap {\n position: relative;\n height: 10px;\n}\n.vc-chrome-hue-wrap .vc-hue {\n border-radius: 2px;\n}\n.vc-chrome-alpha-wrap .vc-alpha-gradient {\n border-radius: 2px;\n}\n.vc-chrome-hue-wrap .vc-hue-picker, .vc-chrome-alpha-wrap .vc-alpha-picker {\n width: 12px;\n height: 12px;\n border-radius: 6px;\n transform: translate(-6px, -2px);\n background-color: rgb(248, 248, 248);\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);\n}\n.vc-chrome-body {\n padding: 16px 16px 12px;\n background-color: #fff;\n}\n.vc-chrome-saturation-wrap {\n width: 100%;\n padding-bottom: 55%;\n position: relative;\n border-radius: 2px 2px 0 0;\n overflow: hidden;\n}\n.vc-chrome-saturation-wrap .vc-saturation-circle {\n width: 12px;\n height: 12px;\n}\n.vc-chrome-fields .vc-input__input {\n font-size: 11px;\n color: #333;\n width: 100%;\n border-radius: 2px;\n border: none;\n box-shadow: inset 0 0 0 1px #dadada;\n height: 21px;\n text-align: center;\n}\n.vc-chrome-fields .vc-input__label {\n text-transform: uppercase;\n font-size: 11px;\n line-height: 11px;\n color: #969696;\n text-align: center;\n display: block;\n margin-top: 12px;\n}\n.vc-chrome__disable-alpha .vc-chrome-active-color {\n width: 18px;\n height: 18px;\n}\n.vc-chrome__disable-alpha .vc-chrome-color-wrap {\n width: 30px;\n}\n.vc-chrome__disable-alpha .vc-chrome-hue-wrap {\n margin-top: 4px;\n margin-bottom: 4px;\n}\n",""])},function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:["vc-chrome",t.disableAlpha?"vc-chrome__disable-alpha":""],attrs:{role:"application","aria-label":"Chrome color picker"}},[n("div",{staticClass:"vc-chrome-saturation-wrap"},[n("saturation",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1),t._v(" "),n("div",{staticClass:"vc-chrome-body"},[n("div",{staticClass:"vc-chrome-controls"},[n("div",{staticClass:"vc-chrome-color-wrap"},[n("div",{staticClass:"vc-chrome-active-color",style:{background:t.activeColor},attrs:{"aria-label":"current color is "+t.colors.hex}}),t._v(" "),t.disableAlpha?t._e():n("checkboard")],1),t._v(" "),n("div",{staticClass:"vc-chrome-sliders"},[n("div",{staticClass:"vc-chrome-hue-wrap"},[n("hue",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1),t._v(" "),t.disableAlpha?t._e():n("div",{staticClass:"vc-chrome-alpha-wrap"},[n("alpha",{on:{change:t.childChange},model:{value:t.colors,callback:function(e){t.colors=e},expression:"colors"}})],1)])]),t._v(" "),t.disableFields?t._e():n("div",{staticClass:"vc-chrome-fields-wrap"},[n("div",{directives:[{name:"show",rawName:"v-show",value:0===t.fieldsIndex,expression:"fieldsIndex === 0"}],staticClass:"vc-chrome-fields"},[n("div",{staticClass:"vc-chrome-field"},[t.hasAlpha?t._e():n("ed-in",{attrs:{label:"hex",value:t.colors.hex},on:{change:t.inputChange}}),t._v(" "),t.hasAlpha?n("ed-in",{attrs:{label:"hex",value:t.colors.hex8},on:{change:t.inputChange}}):t._e()],1)]),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:1===t.fieldsIndex,expression:"fieldsIndex === 1"}],staticClass:"vc-chrome-fields"},[n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"r",value:t.colors.rgba.r},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"g",value:t.colors.rgba.g},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"b",value:t.colors.rgba.b},on:{change:t.inputChange}})],1),t._v(" "),t.disableAlpha?t._e():n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"a",value:t.colors.a,"arrow-offset":.01,max:1},on:{change:t.inputChange}})],1)]),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:2===t.fieldsIndex,expression:"fieldsIndex === 2"}],staticClass:"vc-chrome-fields"},[n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"h",value:t.hsl.h},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"s",value:t.hsl.s},on:{change:t.inputChange}})],1),t._v(" "),n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"l",value:t.hsl.l},on:{change:t.inputChange}})],1),t._v(" "),t.disableAlpha?t._e():n("div",{staticClass:"vc-chrome-field"},[n("ed-in",{attrs:{label:"a",value:t.colors.a,"arrow-offset":.01,max:1},on:{change:t.inputChange}})],1)]),t._v(" "),n("div",{staticClass:"vc-chrome-toggle-btn",attrs:{role:"button","aria-label":"Change another color definition"},on:{click:t.toggleViews}},[n("div",{staticClass:"vc-chrome-toggle-icon"},[n("svg",{staticStyle:{width:"24px",height:"24px"},attrs:{viewBox:"0 0 24 24"},on:{mouseover:t.showHighlight,mouseenter:t.showHighlight,mouseout:t.hideHighlight}},[n("path",{attrs:{fill:"#333",d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}})])]),t._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:t.highlight,expression:"highlight"}],staticClass:"vc-chrome-toggle-icon-highlight"})])])])])},i=[];r._withStripped=!0;var o={render:r,staticRenderFns:i};e.a=o}])})},c401:function(t,e,n){"use strict";var r=n("c532");t.exports=function(t,e,n){return r.forEach(n,function(n){t=n(t,e)}),t}},c532:function(t,e,n){"use strict";var r=n("1d2b"),i=n("044b"),o=Object.prototype.toString;function a(t){return"[object Array]"===o.call(t)}function s(t){return"[object ArrayBuffer]"===o.call(t)}function c(t){return"undefined"!==typeof FormData&&t instanceof FormData}function u(t){var e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer,e}function l(t){return"string"===typeof t}function f(t){return"number"===typeof t}function h(t){return"undefined"===typeof t}function p(t){return null!==t&&"object"===typeof t}function d(t){return"[object Date]"===o.call(t)}function v(t){return"[object File]"===o.call(t)}function g(t){return"[object Blob]"===o.call(t)}function m(t){return"[object Function]"===o.call(t)}function y(t){return p(t)&&m(t.pipe)}function b(t){return"undefined"!==typeof URLSearchParams&&t instanceof URLSearchParams}function _(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}function w(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function x(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),a(t))for(var n=0,r=t.length;n=31||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function o(t){var n=this.useColors;if(t[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+t[0]+(n?"%c ":" ")+"+"+e.humanize(this.diff),n){var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var i=0,o=0;t[0].replace(/%[a-zA-Z%]/g,function(t){"%%"!==t&&(i++,"%c"===t&&(o=i))}),t.splice(o,0,r)}}function a(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function s(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(n){}}function c(){var t;try{t=e.storage.debug}catch(n){}return!t&&"undefined"!==typeof r&&"env"in r&&(t=Object({NODE_ENV:"production",BASE_URL:"/"}).DEBUG),t}function u(){try{return window.localStorage}catch(t){}}e=t.exports=n("43cd"),e.log=a,e.formatArgs=o,e.save=s,e.load=c,e.useColors=i,e.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:u(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},e.enable(c())}).call(this,n("4362"))},c8af:function(t,e,n){"use strict";var r=n("c532");t.exports=function(t,e){r.forEach(t,function(n,r){r!==e&&r.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[r])})}},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},c9eb:function(t,e){try{t.exports="undefined"!==typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(n){t.exports=!1}},ca99:function(t,e){t.exports=function(t,e,n){var r=t.byteLength;if(e=e||0,n=n||r,t.slice)return t.slice(e,n);if(e<0&&(e+=r),n<0&&(n+=r),n>r&&(n=r),e>=r||e>=n||0===r)return new ArrayBuffer(0);for(var i=new Uint8Array(t),o=new Uint8Array(n-e),a=e,s=0;a0&&(this.extraHeaders=n.extraHeaders),n.localAddress&&(this.localAddress=n.localAddress)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,this.open()}function f(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}t.exports=l,l.priorWebsocketSuccess=!1,i(l.prototype),l.protocol=s.protocol,l.Socket=l,l.Transport=n("19b7"),l.transports=n("6a44"),l.parser=n("5a6e"),l.prototype.createTransport=function(t){o('creating transport "%s"',t);var e=f(this.query);e.EIO=s.protocol,e.transport=t;var n=this.transportOptions[t]||{};this.id&&(e.sid=this.id);var i=new r[t]({query:e,socket:this,agent:n.agent||this.agent,hostname:n.hostname||this.hostname,port:n.port||this.port,secure:n.secure||this.secure,path:n.path||this.path,forceJSONP:n.forceJSONP||this.forceJSONP,jsonp:n.jsonp||this.jsonp,forceBase64:n.forceBase64||this.forceBase64,enablesXDR:n.enablesXDR||this.enablesXDR,timestampRequests:n.timestampRequests||this.timestampRequests,timestampParam:n.timestampParam||this.timestampParam,policyPort:n.policyPort||this.policyPort,pfx:n.pfx||this.pfx,key:n.key||this.key,passphrase:n.passphrase||this.passphrase,cert:n.cert||this.cert,ca:n.ca||this.ca,ciphers:n.ciphers||this.ciphers,rejectUnauthorized:n.rejectUnauthorized||this.rejectUnauthorized,perMessageDeflate:n.perMessageDeflate||this.perMessageDeflate,extraHeaders:n.extraHeaders||this.extraHeaders,forceNode:n.forceNode||this.forceNode,localAddress:n.localAddress||this.localAddress,requestTimeout:n.requestTimeout||this.requestTimeout,protocols:n.protocols||void 0});return i},l.prototype.open=function(){var t;if(this.rememberUpgrade&&l.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length){var e=this;return void setTimeout(function(){e.emit("error","No transports available")},0)}t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(n){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)},l.prototype.setTransport=function(t){o("setting transport %s",t.name);var e=this;this.transport&&(o("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=t,t.on("drain",function(){e.onDrain()}).on("packet",function(t){e.onPacket(t)}).on("error",function(t){e.onError(t)}).on("close",function(){e.onClose("transport close")})},l.prototype.probe=function(t){o('probing transport "%s"',t);var e=this.createTransport(t,{probe:1}),n=!1,r=this;function i(){if(r.onlyBinaryUpgrades){var i=!this.supportsBinary&&r.transport.supportsBinary;n=n||i}n||(o('probe transport "%s" opened',t),e.send([{type:"ping",data:"probe"}]),e.once("packet",function(i){if(!n)if("pong"===i.type&&"probe"===i.data){if(o('probe transport "%s" pong',t),r.upgrading=!0,r.emit("upgrading",e),!e)return;l.priorWebsocketSuccess="websocket"===e.name,o('pausing current transport "%s"',r.transport.name),r.transport.pause(function(){n||"closed"!==r.readyState&&(o("changing transport and sending upgrade packet"),h(),r.setTransport(e),e.send([{type:"upgrade"}]),r.emit("upgrade",e),e=null,r.upgrading=!1,r.flush())})}else{o('probe transport "%s" failed',t);var a=new Error("probe error");a.transport=e.name,r.emit("upgradeError",a)}}))}function a(){n||(n=!0,h(),e.close(),e=null)}function s(n){var i=new Error("probe error: "+n);i.transport=e.name,a(),o('probe transport "%s" failed because of error: %s',t,n),r.emit("upgradeError",i)}function c(){s("transport closed")}function u(){s("socket closed")}function f(t){e&&t.name!==e.name&&(o('"%s" works - aborting "%s"',t.name,e.name),a())}function h(){e.removeListener("open",i),e.removeListener("error",s),e.removeListener("close",c),r.removeListener("close",u),r.removeListener("upgrading",f)}l.priorWebsocketSuccess=!1,e.once("open",i),e.once("error",s),e.once("close",c),this.once("close",u),this.once("upgrading",f),e.open()},l.prototype.onOpen=function(){if(o("socket open"),this.readyState="open",l.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.upgrade&&this.transport.pause){o("starting upgrade probes");for(var t=0,e=this.upgrades.length;t=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(t){return r.exec(t).slice(1)};function o(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r=-1&&!r;i--){var a=i>=0?arguments[i]:t.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(e=a+"/"+e,r="/"===a.charAt(0))}return e=n(o(e.split("/"),function(t){return!!t}),!r).join("/"),(r?"/":"")+e||"."},e.normalize=function(t){var r=e.isAbsolute(t),i="/"===a(t,-1);return t=n(o(t.split("/"),function(t){return!!t}),!r).join("/"),t||r||(t="."),t&&i&&(t+="/"),(r?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(o(t,function(t,e){if("string"!==typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},e.relative=function(t,n){function r(t){for(var e=0;e=0;n--)if(""!==t[n])break;return e>n?[]:t.slice(e,n-e+1)}t=e.resolve(t).substr(1),n=e.resolve(n).substr(1);for(var i=r(t.split("/")),o=r(n.split("/")),a=Math.min(i.length,o.length),s=a,c=0;c=31||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function o(t){var n=this.useColors;if(t[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+t[0]+(n?"%c ":" ")+"+"+e.humanize(this.diff),n){var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var i=0,o=0;t[0].replace(/%[a-zA-Z%]/g,function(t){"%%"!==t&&(i++,"%c"===t&&(o=i))}),t.splice(o,0,r)}}function a(){return"object"===typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function s(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(n){}}function c(){var t;try{t=e.storage.debug}catch(n){}return!t&&"undefined"!==typeof r&&"env"in r&&(t=Object({NODE_ENV:"production",BASE_URL:"/"}).DEBUG),t}function u(){try{return window.localStorage}catch(t){}}e=t.exports=n("36ae"),e.log=a,e.formatArgs=o,e.save=s,e.load=c,e.useColors=i,e.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:u(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},e.enable(c())}).call(this,n("4362"))},e683:function(t,e,n){"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},e82e:function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},ee34:function(t,e){var n=[].indexOf;t.exports=function(t,e){if(n)return t.indexOf(e);for(var r=0;r","\"","'","htmlUnescapes","&","<",">",""","'","stringEscapes","\\","\n","\r","
","
","freeParseFloat","freeParseInt","freeGlobal","freeSelf","root","freeExports","nodeType","freeModule","moduleExports","freeProcess","nodeUtil","types","require","binding","nodeIsArrayBuffer","nodeIsDate","isDate","nodeIsMap","isMap","nodeIsRegExp","isRegExp","nodeIsSet","isSet","nodeIsTypedArray","isTypedArray","func","arrayAggregator","array","setter","iteratee","accumulator","arrayEach","arrayEachRight","arrayEvery","predicate","arrayFilter","resIndex","result","arrayIncludes","baseIndexOf","arrayIncludesWith","comparator","arrayMap","arrayPush","values","offset","arrayReduce","initAccum","arrayReduceRight","arraySome","asciiSize","baseProperty","asciiToArray","string","asciiWords","baseFindKey","collection","eachFunc","baseFindIndex","fromIndex","fromRight","strictIndexOf","baseIsNaN","baseIndexOfWith","baseMean","baseSum","basePropertyOf","baseReduce","baseSortBy","comparer","sort","current","baseTimes","baseToPairs","baseUnary","baseValues","cacheHas","cache","has","charsStartIndex","strSymbols","chrSymbols","charsEndIndex","countHolders","placeholder","deburrLetter","escapeHtmlChar","escapeStringChar","chr","getValue","hasUnicode","hasUnicodeWord","iteratorToArray","iterator","next","mapToArray","size","overArg","transform","arg","replaceHolders","setToArray","set","setToPairs","strictLastIndexOf","stringSize","unicodeSize","stringToArray","unicodeToArray","unescapeHtmlChar","lastIndex","unicodeWords","runInContext","_","pick","TypeError","arrayProto","funcProto","objectProto","coreJsData","funcToString","idCounter","maskSrcKey","uid","keys","IE_PROTO","nativeObjectToString","objectCtorString","oldDash","reIsNative","Symbol","allocUnsafe","getPrototype","getPrototypeOf","objectCreate","create","propertyIsEnumerable","spreadableSymbol","isConcatSpreadable","symIterator","symToStringTag","toStringTag","defineProperty","getNative","ctxClearTimeout","clearTimeout","ctxNow","ctxSetTimeout","nativeCeil","nativeFloor","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","nativeIsFinite","isFinite","nativeJoin","nativeKeys","nativeMax","nativeMin","nativeNow","nativeParseInt","nativeRandom","nativeReverse","reverse","DataView","Map","Set","WeakMap","nativeCreate","metaMap","realNames","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","valueOf","symbolToString","lodash","isObjectLike","LazyWrapper","LodashWrapper","wrapperClone","baseCreate","proto","baseLodash","chainAll","__wrapped__","__actions__","__chain__","__index__","__values__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","lazyClone","copyArray","lazyReverse","lazyValue","dir","isArr","isRight","arrLength","view","getView","iteratees","iterLength","takeCount","baseWrapperValue","outer","iterIndex","Hash","entries","clear","entry","hashClear","__data__","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","hash","mapCacheDelete","getMapData","mapCacheGet","get","mapCacheHas","mapCacheSet","SetCache","setCacheAdd","setCacheHas","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","arrayLikeKeys","inherited","isArg","isArguments","isBuff","isType","skipIndexes","isIndex","arraySample","baseRandom","arraySampleSize","shuffleSelf","baseClamp","arrayShuffle","assignMergeValue","eq","baseAssignValue","assignValue","objValue","baseAggregator","baseEach","baseAssign","copyObject","baseAssignIn","keysIn","configurable","enumerable","baseAt","paths","skip","number","lower","upper","baseClone","bitmask","customizer","stack","isDeep","isFlat","isFull","initCloneArray","getTag","isFunc","cloneBuffer","initCloneObject","copySymbolsIn","copySymbols","initCloneByTag","stacked","subValue","keysFunc","getAllKeysIn","getAllKeys","baseConforms","baseConformsTo","baseDelay","wait","baseDifference","includes","isCommon","valuesLength","valuesIndex","templateSettings","escape","evaluate","interpolate","variable","imports","createBaseEach","baseForOwn","baseEachRight","baseForOwnRight","baseEvery","baseExtremum","isSymbol","baseFill","toInteger","toLength","baseFilter","baseFlatten","depth","isStrict","isFlattenable","baseFor","createBaseFor","baseForRight","baseFunctions","isFunction","baseGet","castPath","toKey","baseGetAllKeys","symbolsFunc","baseGetTag","getRawTag","objectToString","baseGt","other","baseHas","baseHasIn","baseInRange","baseIntersection","arrays","othLength","othIndex","caches","maxLength","Infinity","seen","baseInverter","baseInvoke","last","baseIsArguments","baseIsArrayBuffer","baseIsDate","baseIsEqual","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsMap","baseIsMatch","matchData","noCustomizer","srcValue","baseIsNative","isMasked","pattern","baseIsRegExp","baseIsSet","baseIsTypedArray","isLength","baseIteratee","identity","baseMatchesProperty","baseMatches","baseKeys","isPrototype","baseKeysIn","nativeKeysIn","isProto","baseLt","baseMap","isArrayLike","getMatchData","matchesStrictComparable","isKey","isStrictComparable","hasIn","baseMerge","srcIndex","baseMergeDeep","newValue","safeGet","mergeFunc","isTyped","isArrayLikeObject","cloneTypedArray","isPlainObject","toPlainObject","baseNth","baseOrderBy","orders","getIteratee","criteria","compareMultiple","basePick","basePickBy","baseSet","basePropertyDeep","basePullAll","basePullAt","previous","baseUnset","baseRange","step","baseRepeat","baseRest","setToString","overRest","baseSample","baseSampleSize","nested","baseSetData","baseSetToString","constant","baseShuffle","baseSlice","baseSome","baseSortedIndex","retHighest","low","high","mid","baseSortedIndexBy","valIsNaN","valIsNull","valIsSymbol","valIsUndefined","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","setLow","baseSortedUniq","baseToNumber","baseToString","baseUniq","createSet","seenIndex","baseUpdate","updater","baseWhile","isDrop","actions","baseXor","baseZipObject","assignFunc","valsLength","castArrayLikeObject","castFunction","stringToPath","castRest","castSlice","copy","cloneArrayBuffer","arrayBuffer","cloneDataView","dataView","byteOffset","cloneRegExp","regexp","cloneSymbol","symbol","typedArray","compareAscending","valIsDefined","valIsReflexive","objCriteria","othCriteria","ordersLength","order","composeArgs","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftIndex","leftLength","rangeLength","isUncurried","composeArgsRight","holdersIndex","rightIndex","rightLength","isNew","getSymbols","getSymbolsIn","createAggregator","initializer","createAssigner","assigner","sources","guard","isIterateeCall","iterable","createBind","isBind","Ctor","createCtor","wrapper","createCaseFirst","methodName","trailing","createCompounder","words","deburr","thisBinding","createCurry","arity","getHolder","createRecurry","createHybrid","createFind","findIndexFunc","createFlow","flatRest","funcs","prereq","thru","getFuncName","funcName","getData","isLaziable","plant","partialsRight","holdersRight","argPos","ary","isAry","isBindKey","isFlip","holdersCount","newHolders","reorder","createInverter","toIteratee","createMathOperation","operator","defaultValue","createOver","arrayFunc","createPadding","chars","charsLength","createPartial","createRange","toFinite","createRelationalOperation","toNumber","wrapFunc","isCurry","newHoldersRight","newPartials","newPartialsRight","newData","setData","setWrapToString","createRound","precision","pair","noop","createToPairs","createWrap","mergeData","customDefaultsAssignIn","customDefaultsMerge","customOmitClone","isPartial","arrValue","othValue","compared","convert","objProps","objLength","othProps","skipCtor","objCtor","othCtor","flatten","otherFunc","isKeyable","isOwn","unmasked","stubArray","transforms","getWrapDetails","hasPath","hasFunc","input","insertWrapDetails","details","ArrayBuffer","ctorString","isMaskable","stubFalse","memoizeCapped","memoize","srcBitmask","newBitmask","isCombo","otherArgs","oldArray","shortOut","reference","updateWrapDetails","count","lastCalled","stamp","remaining","quote","subString","chunk","compact","difference","differenceBy","differenceWith","drop","dropRight","dropRightWhile","dropWhile","fill","findIndex","findLastIndex","flattenDeep","flattenDepth","fromPairs","initial","intersection","mapped","intersectionBy","intersectionWith","separator","lastIndexOf","nth","pullAll","pullAllBy","pullAllWith","pullAt","remove","sortedIndex","sortedIndexBy","sortedIndexOf","sortedLastIndex","sortedLastIndexBy","sortedLastIndexOf","sortedUniq","sortedUniqBy","tail","take","takeRight","takeRightWhile","takeWhile","union","unionBy","unionWith","uniq","uniqBy","uniqWith","unzip","unzipWith","without","xor","xorBy","xorWith","zip","zipObject","zipObjectDeep","zipWith","tap","wrapperAt","wrapperChain","wrapperCommit","wrapperNext","wrapperToIterator","wrapperPlant","wrapperReverse","wrapped","wrapperValue","countBy","every","find","findLast","flatMap","flatMapDeep","flatMapDepth","forEachRight","groupBy","isString","invokeMap","keyBy","orderBy","partition","reduce","reduceRight","reject","negate","sample","sampleSize","shuffle","some","sortBy","after","before","bindKey","curry","curryRight","debounce","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","invokeFunc","time","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","defer","delay","flip","resolver","memoized","Cache","overArgs","funcsLength","partial","partialRight","rearg","rest","spread","throttle","unary","wrap","castArray","cloneWith","cloneDeep","cloneDeepWith","conformsTo","gt","gte","isBoolean","isElement","isEmpty","isEqual","isEqualWith","isError","isInteger","isMatch","isMatchWith","isNumber","isNative","isNull","isNil","isSafeInteger","isWeakMap","isWeakSet","lt","lte","sign","remainder","isBinary","toSafeInteger","assignIn","assignInWith","assignWith","at","properties","propsIndex","propsLength","defaultsDeep","mergeWith","findKey","findLastKey","forIn","forInRight","forOwn","forOwnRight","functions","functionsIn","invert","invertBy","invoke","mapKeys","mapValues","omit","omitBy","pickBy","prop","setWith","toPairs","toPairsIn","isArrLike","unset","updateWith","valuesIn","clamp","inRange","floating","temp","camelCase","word","capitalize","upperFirst","endsWith","escapeRegExp","kebabCase","lowerCase","lowerFirst","pad","strLength","padEnd","padStart","radix","repeat","snakeCase","limit","startCase","startsWith","template","settings","isEscaping","isEvaluating","importsKeys","importsValues","reDelimiters","sourceURL","escapeValue","interpolateValue","esTemplateValue","evaluateValue","attempt","toLower","toUpper","toUpperCase","trim","trimEnd","trimStart","truncate","omission","search","substring","newEnd","unescape","upperCase","bindAll","methodNames","cond","conforms","defaultTo","flow","flowRight","matches","matchesProperty","methodOf","mixin","noConflict","nthArg","over","overEvery","overSome","propertyOf","range","rangeRight","stubObject","stubString","stubTrue","times","toPath","uniqueId","prefix","augend","addend","divide","dividend","divisor","maxBy","mean","meanBy","minBy","multiply","multiplier","multiplicand","subtract","minuend","subtrahend","sum","sumBy","entriesIn","extend","extendWith","each","eachRight","first","isFilter","takeName","dropName","checkIteratee","isTaker","lodashFunc","retUnwrapped","isLazy","useLazy","isHybrid","isUnwrapped","onlyLazy","chainName","names","commit","toJSON","Store","install","mapState","mapMutations","mapGetters","mapActions","createNamespacedHelpers","applyMixin","Vue","version","vuexInit","_init","store","$store","devtoolHook","__VUE_DEVTOOLS_GLOBAL_HOOK__","devtoolPlugin","_devtoolHook","targetState","replaceState","subscribe","mutation","state","forEachValue","isPromise","Module","rawModule","runtime","_children","_rawModule","rawState","prototypeAccessors$1","namespaced","addChild","getChild","mutations","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","defineProperties","ModuleCollection","rawRootModule","register","targetModule","newModule","modules","getNamespace","this$1","rawChildModule","unregister","plugins","strict","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","ref","dispatch","payload","installModule","resetStoreVM","plugin","devtools","prototypeAccessors","genericSubscribe","resetStore","hot","oldVm","_vm","wrappedGetters","silent","$$state","enableStrictMode","_withCommit","_data","nextTick","$destroy","rootState","isRoot","parentState","getNestedState","moduleName","makeLocalContext","namespacedType","registerMutation","registerAction","getter","registerGetter","noNamespace","_type","_payload","_options","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","cb","res","rootGetters","catch","rawGetter","$watch","sync","_Vue","sub","all","subscribeAction","registerModule","preserveState","unregisterModule","delete","hotUpdate","newOptions","committing","normalizeNamespace","states","normalizeMap","getModuleByNamespace","vuex","helper","index_esm","encodeURIComponent","params","paramsSerializer","serializedParams","toISOString","selectColor","abs","createDebug","prevTime","enabled","curr","coerce","format","formatter","logFn","instances","skips","substr","instance","disable","isStandardBrowserEnv","originURL","msie","urlParsingNode","resolveURL","href","protocol","host","pathname","location","requestURL","parsed","platform","arch","execPath","title","pid","browser","env","argv","cwd","chdir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","createError","qs","qry","decodeURIComponent","transformData","isCancel","isAbsoluteURL","combineURLs","throwIfCancellationRequested","cancelToken","throwIfRequested","baseURL","re","b","authority","ipv6uri","__WEBPACK_AMD_DEFINE_FACTORY__","factory","dragEl","parentEl","ghostEl","cloneEl","rootEl","nextEl","lastDownEl","scrollEl","scrollParentEl","scrollCustomFn","lastEl","lastCSS","lastParentCSS","activeGroup","putSortable","tapEvt","touchEvt","autoScroll","R_SPACE","R_FLOAT","expando","getTime","win","$","jQuery","Zepto","Polymer","captureMode","passiveMode","supportDraggable","supportCssPointerEvents","cssText","pointerEvents","_silent","savedInputChecked","touchDragOverListeners","_autoScroll","_throttle","scroll","rect","vx","vy","scrollOffsetX","scrollOffsetY","sens","scrollSensitivity","speed","scrollSpeed","x","clientX","clientY","winWidth","innerWidth","winHeight","innerHeight","scrollFn","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getBoundingClientRect","right","bottom","clearInterval","setInterval","scrollTo","pageXOffset","pageYOffset","scrollTop","scrollLeft","_prepareGroup","toFn","fromGroup","originalGroup","checkPull","checkPut","put","revertClone","capture","passive","_extend","disabled","handle","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","animation","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_on","_onTapStart","_onDragOver","_cloneHide","sortable","lastPullMode","_css","_animate","_closest","selector","ctx","_matches","_getParentOrHost","_globalDragOver","dropEffect","preventDefault","event","_off","removeEventListener","_toggleClass","classList","defaultView","getComputedStyle","currentStyle","_find","tagName","_dispatchEvent","targetEl","toEl","fromEl","startIndex","createEvent","onName","initEvent","dispatchEvent","_onMove","dragRect","targetRect","originalEvt","retVal","onMoveFn","dragged","draggedRect","relatedRect","_disableDraggable","_unsilent","_ghostIsLast","lastElementChild","height","width","_generateId","_index","previousElementSibling","dst","_clone","dom","cloneNode","_saveInputCheckedState","inputs","idx","checked","_nextTick","_cancelNextTick","touch","touches","originalTarget","button","isContentEditable","_prepareDragStart","dragStartFn","ownerDocument","_lastX","_lastY","_disableDelayedDrag","_triggerDragStart","_onDrop","_dragStartTimer","pointerType","_onDragStart","selection","getSelection","removeAllRanges","_dragStarted","active","_nulling","_emulateDragOver","elementFromPoint","_onTouchMove","dx","dy","translate3d","_appendGhost","ghostRect","css","marginTop","marginLeft","useFallback","_offUpEvents","_cloneId","_loopId","effectAllowed","_dragStartId","revert","activeSortable","isOwner","isMovingBetweenSortable","canSort","stopPropagation","animated","contains","cssFloat","display","isWide","isLong","halfway","nextElementSibling","elTop","offsetTop","tgTop","moveVector","prevRect","currentRect","handleEvent","getAttribute","items","closest","querySelectorAll","removeAttribute","off","is","toggleClass","cancelNextTick","isBuf","Encoder","Decoder","ERROR_PACKET","encodeAsString","attachments","tryStringify","encodeAsBinary","writeEncoding","bloblessData","deconstruction","deconstructPacket","pack","buffers","removeBlobs","reconstructor","decodeString","p","buf","tryParse","isPayloadValid","BinaryReconstructor","reconPack","encoding","base64","takeBinaryData","finishedReconstruction","binData","reconstructPacket","withNativeBlob","Blob","withNativeFile","File","hasBinary","base64encoder","sliceBuffer","utf8","isAndroid","isPhantomJS","dontSendBlobs","upgrade","packetslist","encodeBase64Object","encodeArrayBuffer","encodeBase64Packet","contentArray","resultBuffer","encodeBlobAsArrayBuffer","fr","FileReader","readAsArrayBuffer","encodeBlob","blob","tryDecode","eachWithIndex","utf8encode","b64data","readAsDataURL","fromCharCode","typed","basic","btoa","utf8decode","decodeBase64Packet","asArray","encodePayloadAsBlob","encodePayloadAsArrayBuffer","setLengthHeader","encodeOne","doneCallback","results","decodePayloadAsBinary","ret","encodedPackets","totalLength","acc","resultArray","bufferIndex","ab","lenStr","binaryIdentifier","lengthAry","bufferTail","tailArray","msgLength","Inject","Provide","Model","Prop","Watch","Emit","vue__WEBPACK_IMPORTED_MODULE_0__","vue_class_component__WEBPACK_IMPORTED_MODULE_1__","vue_class_component__WEBPACK_IMPORTED_MODULE_1___default","inject","k","provide","managed","original_1","rv","model","_a","_b","immediate","a","hyphenateRE","hyphenate","_target","descriptor","_i","returnValue","webpackPolyfill","deprecate","_interopDefault","ex","reflectionIsSupported","Reflect","defineMetadata","copyReflectionMetadata","forwardMetadata","getOwnPropertyNames","propertyKey","metaKeys","getOwnMetadataKeys","metaKey","metadata","getOwnMetadata","fakeArray","__proto__","hasProto","createDecorator","__decorators__","mixins","Ctors","isPrimitive","collectDataFromConstructor","vm","Component","originalInit","plainData","$internalHooks","componentFactory","getOwnPropertyDescriptor","decorators","superProto","Super","Extended","forwardStaticMembers","Original","extendedDescriptor","superDescriptor","registerHooks","trimLeft","trimRight","tinyCounter","mathRound","mathMin","mathMax","mathRandom","tinycolor","rgb","inputToRGB","_originalInput","_r","_g","g","_roundA","_format","_gradientType","gradientType","_ok","ok","_tc_id","stringInputToObject","isValidCSSUnit","rgbToRgb","convertToPercentage","hsvToRgb","hslToRgb","boundAlpha","bound01","rgbToHsl","hue2rgb","q","t","rgbToHsv","f","mod","rgbToHex","allow3Char","hex","pad2","rgbaToHex","allow4Char","convertDecimalToHex","rgbaToArgbHex","desaturate","amount","hsl","toHsl","clamp01","saturate","greyscale","lighten","brighten","toRgb","darken","spin","hue","complement","triad","tetrad","splitcomplement","analogous","slices","part","monochromatic","hsv","toHsv","modification","isDark","getBrightness","isLight","isValid","getOriginalInput","getFormat","getAlpha","getLuminance","RsRGB","GsRGB","BsRGB","R","G","B","setAlpha","toHsvString","toHslString","toHex","toHexString","toHex8","toHex8String","toRgbString","toPercentageRgb","toPercentageRgbString","toName","hexNames","toFilter","secondColor","hex8String","secondHex8String","formatSet","formattedString","hasAlpha","needsAlphaFormat","_applyModification","_applyCombination","fromRatio","newColor","equals","color1","color2","mix","rgb1","rgb2","rgba","readability","c1","c2","isReadable","wcag2","wcag2Parms","out","validateWCAG2Parms","level","mostReadable","baseColor","colorList","includeFallbackColors","bestColor","bestScore","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","o","flipped","isOnePointZero","processPercent","isPercentage","parseIntFromHex","convertHexToDecimal","matchers","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","hsla","hsva","hex3","hex6","hex4","hex8","named","parms","XHR","JSONP","websocket","xd","xs","jsonp","isSSL","forceJSONP","__esModule","devicePixelRatio","dotSize","dotWidth","dotHeight","interval","show","piecewise","tooltip","eventType","direction","lazy","clickable","realTime","piecewiseLabel","fixed","minRange","maxRange","processDragable","useKeyboard","actionsKeyboard","tooltipMerge","startAnimation","enableCross","sliderStyle","focusStyle","tooltipDir","mergeFormatter","piecewiseStyle","disabledStyle","piecewiseActiveStyle","processStyle","bgStyle","tooltipStyle","disabledDotStyle","labelStyle","labelActiveStyle","flag","dragFlag","crossFlag","keydownFlag","focusFlag","processFlag","processSign","fixedValue","focusSlider","currentValue","currentSlider","isComponentExists","isMounted","dotWidthVal","dotHeightVal","flowDirection","tooltipMergedPosition","tooltipDirection","$refs","dot0","isRange","tooltipStatus","tooltipClass","disabledArray","boolDisabled","isDisabled","disabledClass","stateClass","vue-slider-state-process-drag","vue-slider-state-drag","vue-slider-state-focus","slider","dot1","dot","minimum","getIndexByValue","indexRange","maximum","multiple","spacing","printError","gap","isFixed","valueLimit","idleSlider","wrapStyles","padding","sliderStyles","focusStyles","disabledDotStyles","backgroundColor","tooltipStyles","elemStyles","dotStyles","piecewiseDotStyle","piecewiseDotWrap","label","formatting","setValue","limitValue","refresh","computedFixedValue","bindEvents","moving","moveEnd","blurSlider","handleKeydown","handleKeyup","handleOverlapTooltip","unbindEvents","keyCode","changeFocusSlider","setIndex","mergeFormatting","getPos","getStaticData","pageY","processClick","wrapClick","setValueOnPos","moveStart","pos","targetTouches","isDiff","syncValue","setPosition","getValueByIndex","setTransform","setCurrentValue","isLessRange","setTransitionTime","WebkitTransform","msTransform","transitionDuration","WebkitTransitionDuration","getIndex","elem","tooltip1","tooltip0","u","handleDisplayMergedTooltip","getElementsByClassName","visibility","esModule","$createElement","_self","_c","directives","rawName","expression","class","vue-slider-has-label","click","staticClass","attrs","aria-hidden","vue-slider-dot-focus","vue-slider-dot-dragging","vue-slider-dot-disabled","mousedown","touchstart","_t","_v","_s","_l","_e","vue-slider-process-dragable","domProps","__r","locals","refs","querySelector","media","sourceMap","styleSheet","createTextNode","childNodes","firstChild","VuexModule","getModule","Action","Mutation","MutationAction","[object Object]","moduleClass","_statics","genStatic","_genStatic","reservedKeys","stateFactory","addPropertiesToObject","__awaiter","P","generator","staticStateGenerator","modOpt","statics","staticGetterGenerator","staticMutationGenerator","staticActionGenerators","moduleDecoratorFactory","moduleOptions","stateFactory$$1","thisObj","got","dynamic","modOrOpt","actionDecoratorFactory","rawError","actionFunction","actionPayload","moduleAccessor","targetOrParams","mutationFunction","mutactFunction","stateItem","mutate","_deconstructPacket","_placeholder","_reconstructPacket","packetData","_removeBlobs","curKey","containingObject","pendingBlobs","fileReader","_callbacks","removeListener","removeAllListeners","listeners","hasListeners","eio","Manager","nsps","reconnection","reconnectionAttempts","reconnectionDelay","reconnectionDelayMax","randomizationFactor","backoff","lastPing","packetBuffer","_parser","encoder","decoder","emitAll","updateSocketIds","generateId","engine","_reconnection","_reconnectionAttempts","_reconnectionDelay","_randomizationFactor","_reconnectionDelayMax","_timeout","maybeReconnectOnOpen","skipReconnect","openSub","errorSub","cleanup","timer","onping","onpong","ondata","ondecoded","onConnecting","processPacketQueue","subsLength","onreconnect","Cancel","expires","domain","cookie","toGMTString","read","managers","newConnection","forceNew","multiplex","arraybuffer","bytes","encoded1","encoded2","encoded3","encoded4","bufferLength","warn","condition","View","routerView","route","$route","_routerViewCache","inactive","_routerRoot","_inactive","routerViewDepth","matched","components","registerRouteInstance","prepatch","vnode","propsToPass","resolveProps","encodeReserveRE","encodeReserveReplacer","commaRE","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","param","stringifyQuery","val2","trailingSlashRE","createRoute","record","redirectedFrom","router","stringifyQuery$$1","meta","fullPath","getFullPath","formatMatch","freeze","START","_stringifyQuery","isSameRoute","isObjectEqual","aKeys","bKeys","aVal","bVal","isIncludedRoute","queryIncludes","toTypes","eventTypes","Link","exact","append","activeClass","exactActiveClass","$router","classes","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","guardEvent","findAnchor","isStatic","aData","aAttrs","altKey","ctrlKey","shiftKey","defaultPrevented","currentTarget","installed","isDef","registerInstance","callVal","_parentVnode","_router","util","defineReactive","history","destroyed","_route","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","created","inBrowser","resolvePath","relative","base","firstChar","segments","segment","parsePath","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","compile","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","delimiter","escaped","modifier","asterisk","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","encodeAsterisk","pretty","token","attachKeys","sensitive","regexpToRegexp","groups","arrayToRegexp","stringToRegexp","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","filler","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathList","pathMap","nameMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","beforeEnter","childMatchAs","alias","aliases","aliasRoute","normalizeLocation","raw","_normalized","rawPath","parsedPath","basePath","createMatcher","addRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","positionStore","setupScroll","getStateKey","origin","saveScrollPosition","setStateKey","handleScroll","isPop","app","behavior","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","getElementPosition","docEl","docRect","elRect","isValidPosition","normalizePosition","normalizeOffset","supportsPushState","ua","Time","performance","_key","genKey","toFixed","pushState","runQueue","queue","resolveAsyncComponents","hasAsync","pending","flatMapComponents","def","cid","resolvedDef","isESModule","resolved","comp","hasSymbol","called","History","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","updated","activated","deactivated","extractGuards","records","guards","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","cbs","bindEnterGuard","_isBeingDestroyed","listen","onReady","errorCb","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","abort","beforeHooks","postEnterCbs","enterGuards","resolveHooks","afterHooks","HTML5History","History$$1","expectScroll","supportsScroll","initLocation","getLocation","go","fromRoute","getCurrentLocation","decodeURI","HashHistory","fallback","checkFallback","ensureSlash","setupListeners","getHash","replaceHash","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","matcher","mode","registerHook","createHref","setupHashListener","beforeEach","beforeResolve","afterEach","back","forward","getMatchedComponents","normalizedTo","use","CancelToken","executor","resolvePromise","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","LN2","__extends","__assign","__rest","__decorate","__param","__metadata","__generator","__exportStar","__values","__read","__spread","__await","__asyncGenerator","__asyncDelegator","__asyncValues","__makeTemplateObject","__importStar","__importDefault","extendStatics","setPrototypeOf","__","decorate","paramIndex","decorator","metadataKey","metadataValue","trys","ops","verb","throw","return","op","ar","asyncIterator","resume","settle","fulfill","cooked","E","block","charCode","emptyObject","isUndef","isTrue","isFalse","_toString","isValidArrayIndex","makeMap","expectsLowerCase","isBuiltInTag","isReservedAttribute","hasOwn","cached","hit","camelizeRE","camelize","polyfillBind","boundFn","_length","nativeBind","_from","toObject","no","genStaticKeys","staticKeys","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","keysA","keysB","looseIndexOf","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","productionTip","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","isReserved","bailRE","_isServer","inWeex","WXEnvironment","weexPlatform","UA","isIE","isIE9","isEdge","isIOS","nativeWatch","supportsPassive","isServerRendering","VUE_ENV","_Set","ownKeys","Dep","addSub","removeSub","depend","addDep","notify","targetStack","pushTarget","popTarget","VNode","text","asyncFactory","ns","fnContext","fnOptions","fnScopeId","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","createEmptyVNode","createTextVNode","cloneVNode","cloned","arrayMethods","methodsToPatch","inserted","ob","__ob__","observeArray","dep","arrayKeys","shouldObserve","toggleObserving","Observer","vmCount","augment","protoAugment","copyAugment","walk","observe","asRootData","isExtensible","_isVue","customSetter","shallow","childOb","dependArray","newVal","del","toVal","fromVal","mergeDataOrFn","parentVal","childVal","instanceData","defaultData","mergeHook","mergeAssets","key$1","defaultStrat","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","mergeOptions","extendsFrom","extends","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","getType","isSameType","expectedTypes","handleError","info","cur","hooks","errorCaptured","globalHandleError","logError","microTimerFunc","macroTimerFunc","flushCallbacks","copies","useMacroTask","setImmediate","MessageChannel","channel","port2","port1","postMessage","withMacroTask","_withTask","_resolve","seenObjects","traverse","_traverse","isA","isFrozen","depId","normalizeEvent","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","oldOn","remove$$1","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","ensureCtor","createAsyncPlaceholder","resolveAsyncComponent","baseCtor","errorComp","loading","loadingComp","contexts","forceRender","$forceUpdate","getFirstComponentChild","initEvents","_events","_hasHookEvent","_parentListeners","updateComponentListeners","$once","$on","remove$1","$off","oldListeners","eventsMixin","hookRE","i$1","resolveSlots","slot","name$1","isWhitespace","resolveScopedSlots","activeInstance","initLifecycle","abstract","_watcher","_directInactive","_isMounted","_isDestroyed","lifecycleMixin","_update","hydrating","callHook","prevEl","prevVnode","_vnode","prevActiveInstance","__patch__","_parentElm","_refElm","teardown","_watchers","mountComponent","updateComponent","_render","Watcher","updateChildComponent","parentVnode","renderChildren","hasChildren","_renderChildren","scopedSlots","$scopedSlots","$listeners","propKeys","_propKeys","isInInactiveTree","activateChildComponent","direct","deactivateChildComponent","handlers","activatedChildren","waiting","flushing","resetSchedulerState","flushSchedulerQueue","watcher","run","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueActivatedComponent","queueWatcher","uid$1","expOrFn","isRenderWatcher","user","dirty","deps","newDeps","depIds","newDepIds","cleanupDeps","oldValue","sharedPropertyDefinition","proxy","sourceKey","initState","initProps","initMethods","initData","initComputed","initWatch","propsOptions","loop","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createWatcher","stateMixin","dataDef","propsDef","$set","$delete","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","renderList","renderSlot","bindObject","scopedSlotFn","slotNodes","_rendered","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","$event","renderStatic","isInFor","_staticTrees","tree","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","installRenderHelpers","_o","_n","_q","_m","_f","_k","_u","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","injections","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","componentVNodeHooks","parentElm","refElm","keepAlive","mountedNode","createComponentInstanceForVnode","$mount","oldVnode","insert","hooksToMerge","createComponent","_base","resolveConstructorOptions","transformModel","nativeOn","installComponentHooks","_isComponent","inlineTemplate","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","applyNS","registerDeepBindings","force","initRender","parentData","renderMixin","uid$3","initMixin","_uid","initInternalComponent","vnodeComponentOptions","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","modified","latest","extended","sealed","sealedOptions","dedupe","initUse","installedPlugins","_installedPlugins","initMixin$1","initExtend","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","patternTypes","KeepAlive","include","exclude","ref$1","builtInComponents","initGlobalAPI","configDef","acceptValue","attr","isEnumeratedAttr","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","childNode","mergeClassData","renderClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","isPreTag","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","selected","createElement$1","createElementNS","createComment","newNode","referenceNode","setTextContent","setStyleScope","nodeOps","registerRef","isRemoval","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","emptyNodeAt","createRmCb","childElm","createElm","insertedVnodeQueue","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","transition","activate","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","isRenderedModule","inVPre","pre","hasChildNodes","innerHTML","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","parentElm$1","_leaveCb","patchable","i$2","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","index$1","expressionPos","expressionEndPos","klass","validDivisionCharRE","parseFilters","exp","filters","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","pushFilter","wrapFilter","baseWarn","pluckModuleFunction","addProp","plain","addAttr","addRawAttr","attrsMap","attrsList","addDirective","addHandler","important","middle","native","nativeEvents","newHandler","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","genComponentModel","baseValueExpression","valueExpression","assignment","genAssignmentCode","parseModel","eof","isStringStart","parseString","parseBracket","inBracket","stringQuote","target$1","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","_warn","genSelect","genCheckboxModel","genRadioModel","genDefaultModel","valueBinding","trueValueBinding","falseValueBinding","selectedVal","needCompositionGuard","normalizeEvents","change","createOnceHandler","onceHandler","remove$2","add$1","updateDOMListeners","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","activeElement","_vModifiers","parseStyleText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","addClass","removeClass","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","trigger","directive","_vOptions","setSelected","onCompositionStart","onCompositionEnd","prevOptions","curOptions","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","selectedIndex","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","unbind","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","rawChild","hasParentTransition","isSameChild","oldChild","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","prevChildren","rawChildren","transitionData","c$1","beforeUpdate","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","_moveCb","propertyName","_hasMove","newPos","oldPos","platformComponents","defaultTagRE","regexEscapeRE","buildRegex","delimiters","parseText","tagRE","tokenValue","rawTokens","@binding","transformNode","classBinding","genData","klass$1","transformNode$1","styleBinding","genData$1","style$1","he","isUnaryTag","canBeLeftOpenTag","isNonPhrasingTag","attribute","ncname","qnameCapture","startTagOpen","startTagClose","endTag","doctype","comment","conditionalComment","IS_REGEX_CAPTURING_BROKEN","isPlainTextElement","reCache","decodingMap"," "," ","encodedAttr","encodedAttrWithNewLines","isIgnoreNewlineTag","shouldIgnoreFirstNewline","decodeAttr","shouldDecodeNewlines","parseHTML","lastTag","expectHTML","isUnaryTag$$1","canBeLeftOpenTag$$1","endTagLength","stackedTag","reStackedTag","rest$1","parseEndTag","textEnd","commentEnd","shouldKeepComment","advance","conditionalEnd","doctypeMatch","endTagMatch","curIndex","startTagMatch","parseStartTag","handleStartTag","unarySlash","shouldDecodeNewlinesForHref","lowerCasedTag","lowerCasedTagName","warn$2","preTransforms","postTransforms","platformIsPreTag","platformMustUseProp","platformGetTagNamespace","onRE","dirRE","forAliasRE","forIteratorRE","stripParensRE","argRE","bindRE","modifierRE","decodeHTMLCached","createASTElement","makeAttrsMap","currentParent","preserveWhitespace","inPre","closeElement","comments","guardIESVGBug","isForbiddenTag","forbidden","checkRootConstraints","processPre","processRawAttrs","processed","processFor","processIf","processOnce","processElement","if","elseif","else","addIfCondition","processIfConditions","slotScope","slotTarget","lastNode","isTextTag","processKey","processRef","processSlot","processComponent","processAttrs","checkInFor","parseFor","inMatch","for","iteratorMatch","iterator1","iterator2","findPrevElement","ifConditions","slotName","isProp","hasBindings","parseModifiers","camel","argMatch","ieNSBug","ieNSPrefix","preTransformNode","typeBinding","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","cloneASTElement","branch1","branch2","model$2","modules$1","isStaticKey","isPlatformReservedTag","directives$1","baseOptions","genStaticKeysCached","genStaticKeys$1","optimize","markStatic$1","markStaticRoots","static","l$1","staticInFor","staticRoot","isDirectChildOfTemplateFor","fnExpRE","simplePathRE","esc","tab","space","up","down","keyNames","genGuard","modifierCode","stop","prevent","ctrl","alt","genHandlers","genHandler","isMethodPath","isFunctionExpression","genModifierCode","keyModifier","genKeyFilter","handlerCode","genFilterCode","keyVal","keyName","wrapListeners","bind$1","wrapData","baseDirectives","cloak","CodegenState","dataGenFns","maybeComponent","onceId","generate","ast","genElement","staticProcessed","onceProcessed","genOnce","forProcessed","genFor","ifProcessed","genIf","genSlot","genComponent","genData$2","genChildren","altGen","altEmpty","genIfConditions","conditions","genTernaryExp","altHelper","genDirectives","genProps","genScopedSlots","genInlineTemplate","needRuntime","hasRuntime","gen","inlineRenderFns","genScopedSlot","genForScopedSlot","checkSkip","altGenElement","altGenNode","el$1","getNormalizationType","genNode","needsNormalization","genComment","genText","transformSpecialNewlines","bind$$1","componentName","createFunction","errors","createCompileToFunctionFn","compiled","fnGenErrors","createCompilerCreator","baseCompile","finalOptions","tips","tip","compileToFunctions","div","createCompiler","getShouldDecode","idToTemplate","mount","getOuterHTML","outerHTML","container","byteArray","byteCount","byteIndex","stringFromCharCode","ucs2decode","extra","counter","ucs2encode","checkScalarValue","codePoint","createByte","encodeCodePoint","codePoints","byteString","readContinuationByte","continuationByte","decodeSymbol","byte1","byte2","byte3","byte4","buildURL","parseHeaders","isURLSameOrigin","requestData","requestHeaders","loadEvent","xDomain","onprogress","ontimeout","auth","username","password","Authorization","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","cookies","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","ieee754","typedArraySupport","foo","subarray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","encodingOrOffset","fromArrayBuffer","fromString","fromObject","assertSize","alloc","isEncoding","fromArrayLike","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","indexSize","valLength","readUInt16BE","foundIndex","found","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","compare","swap16","swap32","swap64","inspect","thisStart","thisEnd","thisCopy","targetCopy","_arr","MAX_ARGUMENTS_LENGTH","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","hi","lo","ignoreDuplicateOf","line","sourceRoot","ssrId","oldHue","colorChange","isValidHex","simpleCheckForValidColor","paletteUpperCase","isTransparent","__file","palette","ed-in","handlerClick","labelText","arrowOffset","labelId","labelSpanText","handleChange","handleKeyDown","onChange","swatches","activeOffset","hueChange","handleSwClick","pullDirection","directionClass","vc-hue--horizontal","vc-hue--vertical","pointerTop","pointerLeft","clientWidth","clientHeight","pageX","handleMouseDown","handleMouseUp","unbindEventListeners","equal","disableFields","hasResetButton","acceptLabel","cancelLabel","resetLabel","newLabel","currentLabel","saturation","alpha","currentColor","childChange","inputChange","clickCurrentColor","handleAccept","handleCancel","handleReset","bgColor","checkboard","gradientColor","getContext","fillStyle","fillRect","translate","toDataURL","background-image","presetColors","disableAlpha","activeColor","handlePreset","fieldsIndex","highlight","toggleViews","showHighlight","hideHighlight","w","C","F","A","S","M","L","Compact","Grayscale","Material","Slider","Swatches","Photoshop","Sketch","Chrome","Alpha","Checkboard","EditableInput","Hue","Saturation","ColorMixin","U","z","D","V","X","H","O","K","T","I","W","N","Y","aria-labelledby","keydown","_withStripped","role","aria-label","vc-compact-color-item--white","background","aria-selected","vc-grayscale-color-item--white","borderColor","aria-valuenow","aria-valuemin","aria-valuemax","touchmove","data-index","vc-slider-swatch-picker--active","vc-slider-swatch-picker--white","50","100","200","300","400","500","600","700","800","900","a100","a200","a400","a700","primary","secondary","dividers","deepPurple","lightBlue","lightGreen","amber","deepOrange","blueGrey","darkText","lightText","darkIcons","lightIcons","data-pick","vc-swatches-color--white","data-color","viewBox","eval","arrow-offset","mouseover","mouseenter","mouseout","FormData","pipe","URLSearchParams","product","abv","ii","parseuri","loc","err_cb","bail","createInstance","defaultConfig","axios","promises","requestTimeout","Request","unloadHandler","requests","req","sendXhr","pollXhr","setDisableHeaderCheck","hasXDR","onLoad","contentType","getResponseHeader","requestsCount","onSuccess","fromError","BlobBuilder","WebKitBlobBuilder","MSBlobBuilder","MozBlobBuilder","blobSupported","blobSupportsArrayBufferView","blobBuilderSupported","getBlob","mapArrayBufferViews","BlobBuilderConstructor","bb","BlobConstructor","transports","transportOptions","writeBuffer","prevBufferLen","policyPort","rememberUpgrade","onlyBinaryUpgrades","upgrades","pingInterval","pingTimeout","pingIntervalTimer","pingTimeoutTimer","priorWebsocketSuccess","createTransport","EIO","transport","setTransport","onDrain","probe","failed","onTransportOpen","upgradeLosesBinary","upgrading","freezeTransport","onTransportClose","onupgrade","onHandshake","setPing","filterUpgrades","onHeartbeat","sendPacket","waitForUpgrade","cleanupAndClose","filteredUpgrades","normalizeArray","allowAboveRoot","splitPathRe","splitPath","filename","resolvedAbsolute","isAbsolute","trailingSlash","fromParts","toParts","samePartsLength","outputParts","sep","dirname","basename","extname","relativeURL","eject","withNativeBuffer","withNativeArrayBuffer"],"mappings":"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,IAAA,KAAAC,IAAA,KACAC,IAAA,KAAAC,IAAA,KACAC,IAAA,KAEAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IACAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,IAAA,IAAAC,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,GAAA+iB,WACA/iB,GAAAylB,aACAzlB,GAAAr9B,SACAq9B,GAAAmd,SACAnd,GAAAod,WACApd,GAAAzmC,UACAymC,GAAA0sB,QACA1sB,GAAA2sB,YACA3sB,GAAA4Q,YACA5Q,GAAAshB,WACAthB,GAAA9C,UACA8C,GAAAgjB,SACAhjB,GAAAijB,cACAjjB,GAAAkjB,YACAljB,GAAAp+B,YACAo+B,GAAA6nB,gBACA7nB,GAAAykB,SACAzkB,GAAA0kB,SACA1kB,GAAAqd,cACArd,GAAAsd,gBACAtd,GAAAud,kBACAvd,GAAAwd,QACAxd,GAAAyd,aACAzd,GAAA0d,kBACA1d,GAAA2d,aACA3d,GAAA4d,QACA5d,GAAA/0B,UACA+0B,GAAA0hB,WACA1hB,GAAA2hB,eACA3hB,GAAA4hB,gBACA5hB,GAAAkb,WACAlb,GAAA+d,eACA/d,GAAAge,gBACAhe,GAAA2kB,QACA3kB,GAAA6sB,QACA7sB,GAAA8sB,aACA9sB,GAAAie,aACAje,GAAAqoB,aACAroB,GAAAsoB,eACAtoB,GAAA8hB,WACA9hB,GAAAke,WACAle,GAAAme,gBACAne,GAAAqe,kBACAre,GAAAse,oBACAte,GAAAuoB,UACAvoB,GAAAwoB,YACAxoB,GAAAgiB,aACAhiB,GAAAxJ,YACAwJ,GAAAiiB,SACAjiB,GAAAzD,QACAyD,GAAA+F,UACA/F,GAAAnmC,OACAmmC,GAAA0oB,WACA1oB,GAAA2oB,aACA3oB,GAAA+sB,WACA/sB,GAAAgtB,mBACAhtB,GAAAoc,WACApc,GAAA19B,SACA09B,GAAA8nB,aACA9nB,GAAAv9B,UACAu9B,GAAAitB,YACAjtB,GAAAktB,SACAltB,GAAAuiB,UACAviB,GAAAotB,UACAptB,GAAA4oB,QACA5oB,GAAA6oB,UACA7oB,GAAAh/B,QACAg/B,GAAAkiB,WACAliB,GAAAqtB,QACArtB,GAAA+kB,YACA/kB,GAAAstB,aACAttB,GAAAutB,YACAvtB,GAAAilB,WACAjlB,GAAAklB,gBACAllB,GAAAmiB,aACAniB,GAAAnE,QACAmE,GAAA8oB,UACA9oB,GAAA/w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","file":"static/js/chunk-vendors-legacy.026de90a.js","sourcesContent":["// browser shim for xmlhttprequest module\n\nvar hasCORS = require('has-cors');\n\nmodule.exports = function (opts) {\n var xdomain = opts.xdomain;\n\n // scheme must be same when usign XDomainRequest\n // http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx\n var xscheme = opts.xscheme;\n\n // XDomainRequest has a flow of not sending cookie, therefore it should be disabled as a default.\n // https://github.com/Automattic/engine.io-client/pull/217\n var enablesXDR = opts.enablesXDR;\n\n // XMLHttpRequest can be disabled on IE\n try {\n if ('undefined' !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n } catch (e) { }\n\n // Use XDomainRequest for IE8 if enablesXDR is true\n // because loading bar keeps flashing when using jsonp-polling\n // https://github.com/yujiosaka/socke.io-ie8-loading-example\n try {\n if ('undefined' !== typeof XDomainRequest && !xscheme && enablesXDR) {\n return new XDomainRequest();\n }\n } catch (e) { }\n\n if (!xdomain) {\n try {\n return new global[['Active'].concat('Object').join('X')]('Microsoft.XMLHTTP');\n } catch (e) { }\n }\n};\n","'use strict';\n\nvar alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split('')\n , length = 64\n , map = {}\n , seed = 0\n , i = 0\n , prev;\n\n/**\n * Return a string representing the specified number.\n *\n * @param {Number} num The number to convert.\n * @returns {String} The string representation of the number.\n * @api public\n */\nfunction encode(num) {\n var encoded = '';\n\n do {\n encoded = alphabet[num % length] + encoded;\n num = Math.floor(num / length);\n } while (num > 0);\n\n return encoded;\n}\n\n/**\n * Return the integer value specified by the given string.\n *\n * @param {String} str The string to convert.\n * @returns {Number} The integer value represented by the string.\n * @api public\n */\nfunction decode(str) {\n var decoded = 0;\n\n for (i = 0; i < str.length; i++) {\n decoded = decoded * length + map[str.charAt(i)];\n }\n\n return decoded;\n}\n\n/**\n * Yeast: A tiny growing id generator.\n *\n * @returns {String} A unique id.\n * @api public\n */\nfunction yeast() {\n var now = encode(+new Date());\n\n if (now !== prev) return seed = 0, prev = now;\n return now +'.'+ encode(seed++);\n}\n\n//\n// Map each character to its index.\n//\nfor (; i < length; i++) map[alphabet[i]] = i;\n\n//\n// Expose the `yeast`, `encode` and `decode` functions.\n//\nyeast.encode = encode;\nyeast.decode = decode;\nmodule.exports = yeast;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","/**\n * Module dependencies.\n */\n\nvar Transport = require('../transport');\nvar parser = require('engine.io-parser');\nvar parseqs = require('parseqs');\nvar inherit = require('component-inherit');\nvar yeast = require('yeast');\nvar debug = require('debug')('engine.io-client:websocket');\nvar BrowserWebSocket = global.WebSocket || global.MozWebSocket;\nvar NodeWebSocket;\nif (typeof window === 'undefined') {\n try {\n NodeWebSocket = require('ws');\n } catch (e) { }\n}\n\n/**\n * Get either the `WebSocket` or `MozWebSocket` globals\n * in the browser or try to resolve WebSocket-compatible\n * interface exposed by `ws` for Node-like environment.\n */\n\nvar WebSocket = BrowserWebSocket;\nif (!WebSocket && typeof window === 'undefined') {\n WebSocket = NodeWebSocket;\n}\n\n/**\n * Module exports.\n */\n\nmodule.exports = WS;\n\n/**\n * WebSocket transport constructor.\n *\n * @api {Object} connection options\n * @api public\n */\n\nfunction WS (opts) {\n var forceBase64 = (opts && opts.forceBase64);\n if (forceBase64) {\n this.supportsBinary = false;\n }\n this.perMessageDeflate = opts.perMessageDeflate;\n this.usingBrowserWebSocket = BrowserWebSocket && !opts.forceNode;\n this.protocols = opts.protocols;\n if (!this.usingBrowserWebSocket) {\n WebSocket = NodeWebSocket;\n }\n Transport.call(this, opts);\n}\n\n/**\n * Inherits from Transport.\n */\n\ninherit(WS, Transport);\n\n/**\n * Transport name.\n *\n * @api public\n */\n\nWS.prototype.name = 'websocket';\n\n/*\n * WebSockets support binary\n */\n\nWS.prototype.supportsBinary = true;\n\n/**\n * Opens socket.\n *\n * @api private\n */\n\nWS.prototype.doOpen = function () {\n if (!this.check()) {\n // let probe timeout\n return;\n }\n\n var uri = this.uri();\n var protocols = this.protocols;\n var opts = {\n agent: this.agent,\n perMessageDeflate: this.perMessageDeflate\n };\n\n // SSL options for Node.js client\n opts.pfx = this.pfx;\n opts.key = this.key;\n opts.passphrase = this.passphrase;\n opts.cert = this.cert;\n opts.ca = this.ca;\n opts.ciphers = this.ciphers;\n opts.rejectUnauthorized = this.rejectUnauthorized;\n if (this.extraHeaders) {\n opts.headers = this.extraHeaders;\n }\n if (this.localAddress) {\n opts.localAddress = this.localAddress;\n }\n\n try {\n this.ws = this.usingBrowserWebSocket ? (protocols ? new WebSocket(uri, protocols) : new WebSocket(uri)) : new WebSocket(uri, protocols, opts);\n } catch (err) {\n return this.emit('error', err);\n }\n\n if (this.ws.binaryType === undefined) {\n this.supportsBinary = false;\n }\n\n if (this.ws.supports && this.ws.supports.binary) {\n this.supportsBinary = true;\n this.ws.binaryType = 'nodebuffer';\n } else {\n this.ws.binaryType = 'arraybuffer';\n }\n\n this.addEventListeners();\n};\n\n/**\n * Adds event listeners to the socket\n *\n * @api private\n */\n\nWS.prototype.addEventListeners = function () {\n var self = this;\n\n this.ws.onopen = function () {\n self.onOpen();\n };\n this.ws.onclose = function () {\n self.onClose();\n };\n this.ws.onmessage = function (ev) {\n self.onData(ev.data);\n };\n this.ws.onerror = function (e) {\n self.onError('websocket error', e);\n };\n};\n\n/**\n * Writes data to socket.\n *\n * @param {Array} array of packets.\n * @api private\n */\n\nWS.prototype.write = function (packets) {\n var self = this;\n this.writable = false;\n\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n var total = packets.length;\n for (var i = 0, l = total; i < l; i++) {\n (function (packet) {\n parser.encodePacket(packet, self.supportsBinary, function (data) {\n if (!self.usingBrowserWebSocket) {\n // always create a new object (GH-437)\n var opts = {};\n if (packet.options) {\n opts.compress = packet.options.compress;\n }\n\n if (self.perMessageDeflate) {\n var len = 'string' === typeof data ? global.Buffer.byteLength(data) : data.length;\n if (len < self.perMessageDeflate.threshold) {\n opts.compress = false;\n }\n }\n }\n\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n if (self.usingBrowserWebSocket) {\n // TypeError is thrown when passing the second argument on Safari\n self.ws.send(data);\n } else {\n self.ws.send(data, opts);\n }\n } catch (e) {\n debug('websocket closed before onclose event');\n }\n\n --total || done();\n });\n })(packets[i]);\n }\n\n function done () {\n self.emit('flush');\n\n // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n setTimeout(function () {\n self.writable = true;\n self.emit('drain');\n }, 0);\n }\n};\n\n/**\n * Called upon close\n *\n * @api private\n */\n\nWS.prototype.onClose = function () {\n Transport.prototype.onClose.call(this);\n};\n\n/**\n * Closes socket.\n *\n * @api private\n */\n\nWS.prototype.doClose = function () {\n if (typeof this.ws !== 'undefined') {\n this.ws.close();\n }\n};\n\n/**\n * Generates uri for connection.\n *\n * @api private\n */\n\nWS.prototype.uri = function () {\n var query = this.query || {};\n var schema = this.secure ? 'wss' : 'ws';\n var port = '';\n\n // avoid port if default for schema\n if (this.port && (('wss' === schema && Number(this.port) !== 443) ||\n ('ws' === schema && Number(this.port) !== 80))) {\n port = ':' + this.port;\n }\n\n // append timestamp to URI\n if (this.timestampRequests) {\n query[this.timestampParam] = yeast();\n }\n\n // communicate binary support capabilities\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n\n query = parseqs.encode(query);\n\n // prepend ? to query\n if (query.length) {\n query = '?' + query;\n }\n\n var ipv6 = this.hostname.indexOf(':') !== -1;\n return schema + '://' + (ipv6 ? '[' + this.hostname + ']' : this.hostname) + port + this.path + query;\n};\n\n/**\n * Feature detection for WebSocket.\n *\n * @return {Boolean} whether this transport is available.\n * @api public\n */\n\nWS.prototype.check = function () {\n return !!WebSocket && !('__initialize' in WebSocket && this.name === WS.prototype.name);\n};\n","/**\n * Module dependencies.\n */\n\nvar Transport = require('../transport');\nvar parseqs = require('parseqs');\nvar parser = require('engine.io-parser');\nvar inherit = require('component-inherit');\nvar yeast = require('yeast');\nvar debug = require('debug')('engine.io-client:polling');\n\n/**\n * Module exports.\n */\n\nmodule.exports = Polling;\n\n/**\n * Is XHR2 supported?\n */\n\nvar hasXHR2 = (function () {\n var XMLHttpRequest = require('xmlhttprequest-ssl');\n var xhr = new XMLHttpRequest({ xdomain: false });\n return null != xhr.responseType;\n})();\n\n/**\n * Polling interface.\n *\n * @param {Object} opts\n * @api private\n */\n\nfunction Polling (opts) {\n var forceBase64 = (opts && opts.forceBase64);\n if (!hasXHR2 || forceBase64) {\n this.supportsBinary = false;\n }\n Transport.call(this, opts);\n}\n\n/**\n * Inherits from Transport.\n */\n\ninherit(Polling, Transport);\n\n/**\n * Transport name.\n */\n\nPolling.prototype.name = 'polling';\n\n/**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @api private\n */\n\nPolling.prototype.doOpen = function () {\n this.poll();\n};\n\n/**\n * Pauses polling.\n *\n * @param {Function} callback upon buffers are flushed and transport is paused\n * @api private\n */\n\nPolling.prototype.pause = function (onPause) {\n var self = this;\n\n this.readyState = 'pausing';\n\n function pause () {\n debug('paused');\n self.readyState = 'paused';\n onPause();\n }\n\n if (this.polling || !this.writable) {\n var total = 0;\n\n if (this.polling) {\n debug('we are currently polling - waiting to pause');\n total++;\n this.once('pollComplete', function () {\n debug('pre-pause polling complete');\n --total || pause();\n });\n }\n\n if (!this.writable) {\n debug('we are currently writing - waiting to pause');\n total++;\n this.once('drain', function () {\n debug('pre-pause writing complete');\n --total || pause();\n });\n }\n } else {\n pause();\n }\n};\n\n/**\n * Starts polling cycle.\n *\n * @api public\n */\n\nPolling.prototype.poll = function () {\n debug('polling');\n this.polling = true;\n this.doPoll();\n this.emit('poll');\n};\n\n/**\n * Overloads onData to detect payloads.\n *\n * @api private\n */\n\nPolling.prototype.onData = function (data) {\n var self = this;\n debug('polling got data %s', data);\n var callback = function (packet, index, total) {\n // if its the first message we consider the transport open\n if ('opening' === self.readyState) {\n self.onOpen();\n }\n\n // if its a close packet, we close the ongoing requests\n if ('close' === packet.type) {\n self.onClose();\n return false;\n }\n\n // otherwise bypass onData and handle the message\n self.onPacket(packet);\n };\n\n // decode payload\n parser.decodePayload(data, this.socket.binaryType, callback);\n\n // if an event did not trigger closing\n if ('closed' !== this.readyState) {\n // if we got data we're not polling\n this.polling = false;\n this.emit('pollComplete');\n\n if ('open' === this.readyState) {\n this.poll();\n } else {\n debug('ignoring poll - transport state \"%s\"', this.readyState);\n }\n }\n};\n\n/**\n * For polling, send a close packet.\n *\n * @api private\n */\n\nPolling.prototype.doClose = function () {\n var self = this;\n\n function close () {\n debug('writing close packet');\n self.write([{ type: 'close' }]);\n }\n\n if ('open' === this.readyState) {\n debug('transport open - closing');\n close();\n } else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n debug('transport not open - deferring close');\n this.once('open', close);\n }\n};\n\n/**\n * Writes a packets payload.\n *\n * @param {Array} data packets\n * @param {Function} drain callback\n * @api private\n */\n\nPolling.prototype.write = function (packets) {\n var self = this;\n this.writable = false;\n var callbackfn = function () {\n self.writable = true;\n self.emit('drain');\n };\n\n parser.encodePayload(packets, this.supportsBinary, function (data) {\n self.doWrite(data, callbackfn);\n });\n};\n\n/**\n * Generates uri for connection.\n *\n * @api private\n */\n\nPolling.prototype.uri = function () {\n var query = this.query || {};\n var schema = this.secure ? 'https' : 'http';\n var port = '';\n\n // cache busting is forced\n if (false !== this.timestampRequests) {\n query[this.timestampParam] = yeast();\n }\n\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n\n query = parseqs.encode(query);\n\n // avoid port if default for schema\n if (this.port && (('https' === schema && Number(this.port) !== 443) ||\n ('http' === schema && Number(this.port) !== 80))) {\n port = ':' + this.port;\n }\n\n // prepend ? to query\n if (query.length) {\n query = '?' + query;\n }\n\n var ipv6 = this.hostname.indexOf(':') !== -1;\n return schema + '://' + (ipv6 ? '[' + this.hostname + ']' : this.hostname) + port + this.path + query;\n};\n","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","\n/**\n * Module requirements.\n */\n\nvar Polling = require('./polling');\nvar inherit = require('component-inherit');\n\n/**\n * Module exports.\n */\n\nmodule.exports = JSONPPolling;\n\n/**\n * Cached regular expressions.\n */\n\nvar rNewline = /\\n/g;\nvar rEscapedNewline = /\\\\n/g;\n\n/**\n * Global JSONP callbacks.\n */\n\nvar callbacks;\n\n/**\n * Noop.\n */\n\nfunction empty () { }\n\n/**\n * JSONP Polling constructor.\n *\n * @param {Object} opts.\n * @api public\n */\n\nfunction JSONPPolling (opts) {\n Polling.call(this, opts);\n\n this.query = this.query || {};\n\n // define global callbacks array if not present\n // we do this here (lazily) to avoid unneeded global pollution\n if (!callbacks) {\n // we need to consider multiple engines in the same page\n if (!global.___eio) global.___eio = [];\n callbacks = global.___eio;\n }\n\n // callback identifier\n this.index = callbacks.length;\n\n // add callback to jsonp global\n var self = this;\n callbacks.push(function (msg) {\n self.onData(msg);\n });\n\n // append to query string\n this.query.j = this.index;\n\n // prevent spurious errors from being emitted when the window is unloaded\n if (global.document && global.addEventListener) {\n global.addEventListener('beforeunload', function () {\n if (self.script) self.script.onerror = empty;\n }, false);\n }\n}\n\n/**\n * Inherits from Polling.\n */\n\ninherit(JSONPPolling, Polling);\n\n/*\n * JSONP only supports binary as base64 encoded strings\n */\n\nJSONPPolling.prototype.supportsBinary = false;\n\n/**\n * Closes the socket.\n *\n * @api private\n */\n\nJSONPPolling.prototype.doClose = function () {\n if (this.script) {\n this.script.parentNode.removeChild(this.script);\n this.script = null;\n }\n\n if (this.form) {\n this.form.parentNode.removeChild(this.form);\n this.form = null;\n this.iframe = null;\n }\n\n Polling.prototype.doClose.call(this);\n};\n\n/**\n * Starts a poll cycle.\n *\n * @api private\n */\n\nJSONPPolling.prototype.doPoll = function () {\n var self = this;\n var script = document.createElement('script');\n\n if (this.script) {\n this.script.parentNode.removeChild(this.script);\n this.script = null;\n }\n\n script.async = true;\n script.src = this.uri();\n script.onerror = function (e) {\n self.onError('jsonp poll error', e);\n };\n\n var insertAt = document.getElementsByTagName('script')[0];\n if (insertAt) {\n insertAt.parentNode.insertBefore(script, insertAt);\n } else {\n (document.head || document.body).appendChild(script);\n }\n this.script = script;\n\n var isUAgecko = 'undefined' !== typeof navigator && /gecko/i.test(navigator.userAgent);\n\n if (isUAgecko) {\n setTimeout(function () {\n var iframe = document.createElement('iframe');\n document.body.appendChild(iframe);\n document.body.removeChild(iframe);\n }, 100);\n }\n};\n\n/**\n * Writes with a hidden iframe.\n *\n * @param {String} data to send\n * @param {Function} called upon flush.\n * @api private\n */\n\nJSONPPolling.prototype.doWrite = function (data, fn) {\n var self = this;\n\n if (!this.form) {\n var form = document.createElement('form');\n var area = document.createElement('textarea');\n var id = this.iframeId = 'eio_iframe_' + this.index;\n var iframe;\n\n form.className = 'socketio';\n form.style.position = 'absolute';\n form.style.top = '-1000px';\n form.style.left = '-1000px';\n form.target = id;\n form.method = 'POST';\n form.setAttribute('accept-charset', 'utf-8');\n area.name = 'd';\n form.appendChild(area);\n document.body.appendChild(form);\n\n this.form = form;\n this.area = area;\n }\n\n this.form.action = this.uri();\n\n function complete () {\n initIframe();\n fn();\n }\n\n function initIframe () {\n if (self.iframe) {\n try {\n self.form.removeChild(self.iframe);\n } catch (e) {\n self.onError('jsonp polling iframe removal error', e);\n }\n }\n\n try {\n // ie6 dynamic iframes with target=\"\" support (thanks Chris Lambacher)\n var html = '