screeps-client 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/embedded/_client/{CodePanel-y0GapZz1.js → CodePanel-Bd6QSYMn.js} +1 -1
- package/dist/{standalone/_client/MapViewer-CLPXCgLE.js → embedded/_client/MapViewer-Dfluj-CU.js} +1 -1
- package/dist/embedded/_client/index-RyMzFHC0.js +19 -0
- package/dist/{xxscreeps-mod/_client/vendor-codemirror-B_kaIH0M.js → embedded/_client/vendor-codemirror-_J5SxhJL.js} +1 -1
- package/dist/embedded/_client/{vendor-pixi-Df5Nob1b.js → vendor-pixi-D8ed7Ewt.js} +1 -1
- package/dist/embedded/index.html +3 -3
- package/dist/standalone/_client/{CodePanel-xr0YpZbf.js → CodePanel-DbJqelUg.js} +1 -1
- package/dist/{embedded/_client/MapViewer-BWm4-U-8.js → standalone/_client/MapViewer-prnyDfOQ.js} +1 -1
- package/dist/standalone/_client/index-yH_pBmNP.js +19 -0
- package/dist/standalone/_client/{vendor-codemirror-B_kaIH0M.js → vendor-codemirror-_J5SxhJL.js} +1 -1
- package/dist/standalone/_client/{vendor-pixi-NbxvK8iu.js → vendor-pixi-DSR77-W8.js} +1 -1
- package/dist/standalone/index.html +3 -3
- package/dist/xxscreeps-mod/_client/{CodePanel-Bu4s43Y2.js → CodePanel-DtNhdpy3.js} +1 -1
- package/dist/xxscreeps-mod/_client/{MapViewer-F52NQQmA.js → MapViewer-C2ReOrlB.js} +1 -1
- package/dist/xxscreeps-mod/_client/index-D--0q0A1.js +19 -0
- package/dist/{embedded/_client/vendor-codemirror-B_kaIH0M.js → xxscreeps-mod/_client/vendor-codemirror-_J5SxhJL.js} +1 -1
- package/dist/xxscreeps-mod/_client/{vendor-pixi-DCKL8Yf2.js → vendor-pixi-DpCtDB71.js} +1 -1
- package/dist/xxscreeps-mod/index.html +3 -3
- package/package.json +1 -1
- package/dist/embedded/_client/index-CIL3shc9.js +0 -19
- package/dist/standalone/_client/index-V8ZxVMK9.js +0 -19
- package/dist/xxscreeps-mod/_client/index-BbGdwuON.js +0 -19
|
@@ -31,4 +31,4 @@ var e={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){retu
|
|
|
31
31
|
\${}
|
|
32
32
|
}`,{label:`interface`,detail:`definition`,type:`keyword`}),nv("type ${name} = ${type}",{label:`type`,detail:`definition`,type:`keyword`}),nv(`enum \${name} {
|
|
33
33
|
\${}
|
|
34
|
-
}`,{label:`enum`,detail:`definition`,type:`keyword`})]),gb=new Hu,_b=new Set([`Script`,`Block`,`FunctionExpression`,`FunctionDeclaration`,`ArrowFunction`,`MethodDeclaration`,`ForStatement`]);function vb(e){return(t,n)=>{let r=t.node.getChild(`VariableDefinition`);return r&&n(r,e),!0}}var yb=[`FunctionDeclaration`],bb={FunctionDeclaration:vb(`function`),ClassDeclaration:vb(`class`),ClassExpression:()=>!0,EnumDeclaration:vb(`constant`),TypeAliasDeclaration:vb(`type`),NamespaceDeclaration:vb(`namespace`),VariableDefinition(e,t){e.matchContext(yb)||t(e,`variable`)},TypeDefinition(e,t){t(e,`type`)},__proto__:null};function xb(e,t){let n=gb.get(t);if(n)return n;let r=[],i=!0;function a(t,n){let i=e.sliceString(t.from,t.to);r.push({label:i,type:n})}return t.cursor(q.IncludeAnonymous).iterate(t=>{if(i)i=!1;else if(t.name){let e=bb[t.name];if(e&&e(t,a)||_b.has(t.name))return!1}else if(t.to-t.from>8192){for(let n of xb(e,t.node))r.push(n);return!1}}),gb.set(t,r),r}var Sb=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Cb=[`TemplateString`,`String`,`RegExp`,`LineComment`,`BlockComment`,`VariableDefinition`,`TypeDefinition`,`Label`,`PropertyDefinition`,`PropertyName`,`PrivatePropertyDefinition`,`PrivatePropertyName`,`JSXText`,`JSXAttributeValue`,`JSXOpenTag`,`JSXCloseTag`,`JSXSelfClosingTag`,`.`,`?.`];function wb(e){let t=Z(e.state).resolveInner(e.pos,-1);if(Cb.indexOf(t.name)>-1)return null;let n=t.name==`VariableName`||t.to-t.from<20&&Sb.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let n=t;n;n=n.parent)_b.has(n.name)&&(r=r.concat(xb(e.state.doc,n)));return{options:r,from:n?t.from:e.pos,validFor:Sb}}var Tb=Td.define({name:`javascript`,parser:pb.configure({props:[Hd.add({IfStatement:ef({except:/^\s*({|else\b)/}),TryStatement:ef({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:$d,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),r=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:r?1:2)*e.unit},Block:Zd({closing:`}`}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":ef({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),af.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":of,BlockComment(e){return{from:e.from+2,to:e.to-2}},JSXElement(e){let t=e.firstChild;if(!t||t.name==`JSXSelfClosingTag`)return null;let n=e.lastChild;return{from:t.to,to:n.type.isError?e.to:n.from}},"JSXSelfClosingTag JSXOpenTag"(e){let t=e.firstChild?.nextSibling,n=e.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?e.to:n.from}}})]}),languageData:{closeBrackets:{brackets:[`(`,`[`,`{`,`'`,`"`,"`"]},commentTokens:{line:`//`,block:{open:`/*`,close:`*/`}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:`$`}}),Eb={test:e=>/^JSX/.test(e.name),facet:xd({commentTokens:{block:{open:`{/*`,close:`*/}`}}})},Db=Tb.configure({dialect:`ts`},`typescript`),Ob=Tb.configure({dialect:`jsx`,props:[Sd.add(e=>e.isTop?[Eb]:void 0)]}),kb=Tb.configure({dialect:`jsx ts`,props:[Sd.add(e=>e.isTop?[Eb]:void 0)]},`typescript`),Ab=e=>({label:e,type:`keyword`}),jb=`break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield`.split(` `).map(Ab),Mb=jb.concat([`declare`,`implements`,`private`,`protected`,`public`].map(Ab));function Nb(e={}){let t=e.jsx?e.typescript?kb:Ob:e.typescript?Db:Tb,n=e.typescript?hb.concat(Mb):mb.concat(jb);return new Fd(t,[Tb.data.of({autocomplete:qg(Cb,Kg(n))}),Tb.data.of({autocomplete:wb}),e.jsx?Lb:[]])}function Pb(e){for(;;){if(e.name==`JSXOpenTag`||e.name==`JSXSelfClosingTag`||e.name==`JSXFragmentTag`)return e;if(e.name==`JSXEscape`||!e.parent)return null;e=e.parent}}function Fb(e,t,n=e.length){for(let r=t?.firstChild;r;r=r.nextSibling)if(r.name==`JSXIdentifier`||r.name==`JSXBuiltin`||r.name==`JSXNamespacedName`||r.name==`JSXMemberExpression`)return e.sliceString(r.from,Math.min(r.to,n));return``}var Ib=typeof navigator==`object`&&/Android\b/.test(navigator.userAgent),Lb=G.inputHandler.of((e,t,n,r,i)=>{if((Ib?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||r!=`>`&&r!=`/`||!Tb.isActiveAt(e.state,t,-1))return!1;let a=i(),{state:o}=a,s=o.changeByRange(e=>{let{head:t}=e,n=Z(o).resolveInner(t-1,-1),i;if(n.name==`JSXStartTag`&&(n=n.parent),!(o.doc.sliceString(t-1,t)!=r||n.name==`JSXAttributeValue`&&n.to>t)){if(r==`>`&&n.name==`JSXFragmentTag`)return{range:e,changes:{from:t,insert:`</>`}};if(r==`/`&&n.name==`JSXStartCloseTag`){let e=n.parent,r=e.parent;if(r&&e.from==t-2&&((i=Fb(o.doc,r.firstChild,t))||r.firstChild?.name==`JSXFragmentTag`)){let e=`${i}>`;return{range:k.cursor(t+e.length,-1),changes:{from:t,insert:e}}}}else if(r==`>`){let r=Pb(n);if(r&&r.name==`JSXOpenTag`&&!/^\/?>|^<\//.test(o.doc.sliceString(t,t+2))&&(i=Fb(o.doc,r,t)))return{range:e,changes:{from:t,insert:`</${i}>`}}}}return{range:e}});return s.changes.empty?!1:(e.dispatch([a,o.update(s,{userEvent:`input.complete`,scrollIntoView:!0})]),!0)}),Rb=`#e5c07b`,zb=`#e06c75`,Bb=`#56b6c2`,Vb=`#ffffff`,Hb=`#abb2bf`,Ub=`#7d8799`,Wb=`#61afef`,Gb=`#98c379`,Kb=`#d19a66`,qb=`#c678dd`,Jb=`#21252b`,Yb=`#2c313a`,Xb=`#282c34`,Zb=`#353a42`,Qb=`#3E4451`,$b=`#528bff`,ex=[G.theme({"&":{color:Hb,backgroundColor:Xb},".cm-content":{caretColor:$b},".cm-cursor, .cm-dropCursor":{borderLeftColor:$b},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Qb},".cm-panels":{backgroundColor:Jb,color:Hb},".cm-panels.cm-panels-top":{borderBottom:`2px solid black`},".cm-panels.cm-panels-bottom":{borderTop:`2px solid black`},".cm-searchMatch":{backgroundColor:`#72a1ff59`,outline:`1px solid #457dff`},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:`#6199ff2f`},".cm-activeLine":{backgroundColor:`#6699ff0b`},".cm-selectionMatch":{backgroundColor:`#aafe661a`},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:`#bad0f847`},".cm-gutters":{backgroundColor:Xb,color:Ub,border:`none`},".cm-activeLineGutter":{backgroundColor:Yb},".cm-foldPlaceholder":{backgroundColor:`transparent`,border:`none`,color:`#ddd`},".cm-tooltip":{border:`none`,backgroundColor:Zb},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:`transparent`,borderBottomColor:`transparent`},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Zb,borderBottomColor:Zb},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Yb,color:Hb}}},{dark:!0}),Lf(Nf.define([{tag:X.keyword,color:qb},{tag:[X.name,X.deleted,X.character,X.propertyName,X.macroName],color:zb},{tag:[X.function(X.variableName),X.labelName],color:Wb},{tag:[X.color,X.constant(X.name),X.standard(X.name)],color:Kb},{tag:[X.definition(X.name),X.separator],color:Hb},{tag:[X.typeName,X.className,X.number,X.changed,X.annotation,X.modifier,X.self,X.namespace],color:Rb},{tag:[X.operator,X.operatorKeyword,X.url,X.escape,X.regexp,X.link,X.special(X.string)],color:Bb},{tag:[X.meta,X.comment],color:Ub},{tag:X.strong,fontWeight:`bold`},{tag:X.emphasis,fontStyle:`italic`},{tag:X.strikethrough,textDecoration:`line-through`},{tag:X.link,color:Ub,textDecoration:`underline`},{tag:X.heading,fontWeight:`bold`,color:zb},{tag:[X.atom,X.bool,X.special(X.variableName)],color:Kb},{tag:[X.processingInstruction,X.string,X.inserted],color:Gb},{tag:X.invalid,color:Vb}]))];export{
|
|
34
|
+
}`,{label:`enum`,detail:`definition`,type:`keyword`})]),gb=new Hu,_b=new Set([`Script`,`Block`,`FunctionExpression`,`FunctionDeclaration`,`ArrowFunction`,`MethodDeclaration`,`ForStatement`]);function vb(e){return(t,n)=>{let r=t.node.getChild(`VariableDefinition`);return r&&n(r,e),!0}}var yb=[`FunctionDeclaration`],bb={FunctionDeclaration:vb(`function`),ClassDeclaration:vb(`class`),ClassExpression:()=>!0,EnumDeclaration:vb(`constant`),TypeAliasDeclaration:vb(`type`),NamespaceDeclaration:vb(`namespace`),VariableDefinition(e,t){e.matchContext(yb)||t(e,`variable`)},TypeDefinition(e,t){t(e,`type`)},__proto__:null};function xb(e,t){let n=gb.get(t);if(n)return n;let r=[],i=!0;function a(t,n){let i=e.sliceString(t.from,t.to);r.push({label:i,type:n})}return t.cursor(q.IncludeAnonymous).iterate(t=>{if(i)i=!1;else if(t.name){let e=bb[t.name];if(e&&e(t,a)||_b.has(t.name))return!1}else if(t.to-t.from>8192){for(let n of xb(e,t.node))r.push(n);return!1}}),gb.set(t,r),r}var Sb=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Cb=[`TemplateString`,`String`,`RegExp`,`LineComment`,`BlockComment`,`VariableDefinition`,`TypeDefinition`,`Label`,`PropertyDefinition`,`PropertyName`,`PrivatePropertyDefinition`,`PrivatePropertyName`,`JSXText`,`JSXAttributeValue`,`JSXOpenTag`,`JSXCloseTag`,`JSXSelfClosingTag`,`.`,`?.`];function wb(e){let t=Z(e.state).resolveInner(e.pos,-1);if(Cb.indexOf(t.name)>-1)return null;let n=t.name==`VariableName`||t.to-t.from<20&&Sb.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let n=t;n;n=n.parent)_b.has(n.name)&&(r=r.concat(xb(e.state.doc,n)));return{options:r,from:n?t.from:e.pos,validFor:Sb}}var Tb=Td.define({name:`javascript`,parser:pb.configure({props:[Hd.add({IfStatement:ef({except:/^\s*({|else\b)/}),TryStatement:ef({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:$d,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),r=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:r?1:2)*e.unit},Block:Zd({closing:`}`}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":ef({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),af.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":of,BlockComment(e){return{from:e.from+2,to:e.to-2}},JSXElement(e){let t=e.firstChild;if(!t||t.name==`JSXSelfClosingTag`)return null;let n=e.lastChild;return{from:t.to,to:n.type.isError?e.to:n.from}},"JSXSelfClosingTag JSXOpenTag"(e){let t=e.firstChild?.nextSibling,n=e.lastChild;return!t||t.type.isError?null:{from:t.to,to:n.type.isError?e.to:n.from}}})]}),languageData:{closeBrackets:{brackets:[`(`,`[`,`{`,`'`,`"`,"`"]},commentTokens:{line:`//`,block:{open:`/*`,close:`*/`}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:`$`}}),Eb={test:e=>/^JSX/.test(e.name),facet:xd({commentTokens:{block:{open:`{/*`,close:`*/}`}}})},Db=Tb.configure({dialect:`ts`},`typescript`),Ob=Tb.configure({dialect:`jsx`,props:[Sd.add(e=>e.isTop?[Eb]:void 0)]}),kb=Tb.configure({dialect:`jsx ts`,props:[Sd.add(e=>e.isTop?[Eb]:void 0)]},`typescript`),Ab=e=>({label:e,type:`keyword`}),jb=`break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield`.split(` `).map(Ab),Mb=jb.concat([`declare`,`implements`,`private`,`protected`,`public`].map(Ab));function Nb(e={}){let t=e.jsx?e.typescript?kb:Ob:e.typescript?Db:Tb,n=e.typescript?hb.concat(Mb):mb.concat(jb);return new Fd(t,[Tb.data.of({autocomplete:qg(Cb,Kg(n))}),Tb.data.of({autocomplete:wb}),e.jsx?Lb:[]])}function Pb(e){for(;;){if(e.name==`JSXOpenTag`||e.name==`JSXSelfClosingTag`||e.name==`JSXFragmentTag`)return e;if(e.name==`JSXEscape`||!e.parent)return null;e=e.parent}}function Fb(e,t,n=e.length){for(let r=t?.firstChild;r;r=r.nextSibling)if(r.name==`JSXIdentifier`||r.name==`JSXBuiltin`||r.name==`JSXNamespacedName`||r.name==`JSXMemberExpression`)return e.sliceString(r.from,Math.min(r.to,n));return``}var Ib=typeof navigator==`object`&&/Android\b/.test(navigator.userAgent),Lb=G.inputHandler.of((e,t,n,r,i)=>{if((Ib?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||r!=`>`&&r!=`/`||!Tb.isActiveAt(e.state,t,-1))return!1;let a=i(),{state:o}=a,s=o.changeByRange(e=>{let{head:t}=e,n=Z(o).resolveInner(t-1,-1),i;if(n.name==`JSXStartTag`&&(n=n.parent),!(o.doc.sliceString(t-1,t)!=r||n.name==`JSXAttributeValue`&&n.to>t)){if(r==`>`&&n.name==`JSXFragmentTag`)return{range:e,changes:{from:t,insert:`</>`}};if(r==`/`&&n.name==`JSXStartCloseTag`){let e=n.parent,r=e.parent;if(r&&e.from==t-2&&((i=Fb(o.doc,r.firstChild,t))||r.firstChild?.name==`JSXFragmentTag`)){let e=`${i}>`;return{range:k.cursor(t+e.length,-1),changes:{from:t,insert:e}}}}else if(r==`>`){let r=Pb(n);if(r&&r.name==`JSXOpenTag`&&!/^\/?>|^<\//.test(o.doc.sliceString(t,t+2))&&(i=Fb(o.doc,r,t)))return{range:e,changes:{from:t,insert:`</${i}>`}}}}return{range:e}});return s.changes.empty?!1:(e.dispatch([a,o.update(s,{userEvent:`input.complete`,scrollIntoView:!0})]),!0)}),Rb=`#e5c07b`,zb=`#e06c75`,Bb=`#56b6c2`,Vb=`#ffffff`,Hb=`#abb2bf`,Ub=`#7d8799`,Wb=`#61afef`,Gb=`#98c379`,Kb=`#d19a66`,qb=`#c678dd`,Jb=`#21252b`,Yb=`#2c313a`,Xb=`#282c34`,Zb=`#353a42`,Qb=`#3E4451`,$b=`#528bff`,ex=[G.theme({"&":{color:Hb,backgroundColor:Xb},".cm-content":{caretColor:$b},".cm-cursor, .cm-dropCursor":{borderLeftColor:$b},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Qb},".cm-panels":{backgroundColor:Jb,color:Hb},".cm-panels.cm-panels-top":{borderBottom:`2px solid black`},".cm-panels.cm-panels-bottom":{borderTop:`2px solid black`},".cm-searchMatch":{backgroundColor:`#72a1ff59`,outline:`1px solid #457dff`},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:`#6199ff2f`},".cm-activeLine":{backgroundColor:`#6699ff0b`},".cm-selectionMatch":{backgroundColor:`#aafe661a`},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:`#bad0f847`},".cm-gutters":{backgroundColor:Xb,color:Ub,border:`none`},".cm-activeLineGutter":{backgroundColor:Yb},".cm-foldPlaceholder":{backgroundColor:`transparent`,border:`none`,color:`#ddd`},".cm-tooltip":{border:`none`,backgroundColor:Zb},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:`transparent`,borderBottomColor:`transparent`},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Zb,borderBottomColor:Zb},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Yb,color:Hb}}},{dark:!0}),Lf(Nf.define([{tag:X.keyword,color:qb},{tag:[X.name,X.deleted,X.character,X.propertyName,X.macroName],color:zb},{tag:[X.function(X.variableName),X.labelName],color:Wb},{tag:[X.color,X.constant(X.name),X.standard(X.name)],color:Kb},{tag:[X.definition(X.name),X.separator],color:Hb},{tag:[X.typeName,X.className,X.number,X.changed,X.annotation,X.modifier,X.self,X.namespace],color:Rb},{tag:[X.operator,X.operatorKeyword,X.url,X.escape,X.regexp,X.link,X.special(X.string)],color:Bb},{tag:[X.meta,X.comment],color:Ub},{tag:X.strong,fontWeight:`bold`},{tag:X.emphasis,fontStyle:`italic`},{tag:X.strikethrough,textDecoration:`line-through`},{tag:X.link,color:Ub,textDecoration:`underline`},{tag:X.heading,fontWeight:`bold`,color:zb},{tag:[X.atom,X.bool,X.special(X.variableName)],color:Kb},{tag:[X.processingInstruction,X.string,X.inserted],color:Gb},{tag:X.invalid,color:Vb}]))];export{Ye as C,e as D,de as E,Xe as O,Ze as S,fe as T,ie as _,fu as a,ne as b,a as c,$e as d,et as f,ae as g,w as h,pu as i,le as k,s as l,We as m,Nb as n,G as o,ce as p,ry as r,c as s,ex as t,tt as u,se as v,ue as w,pe as x,te as y};
|
|
@@ -1271,4 +1271,4 @@ fn mainFragment(
|
|
|
1271
1271
|
fn fragmentMain(@location(0) texCoord : vec2<f32>) -> @location(0) vec4<f32> {
|
|
1272
1272
|
return textureSample(img, imgSampler, texCoord);
|
|
1273
1273
|
}
|
|
1274
|
-
`}),t=this.device.createRenderPipeline({layout:`auto`,vertex:{module:this.mipmapShaderModule,entryPoint:`vertexMain`},fragment:{module:this.mipmapShaderModule,entryPoint:`fragmentMain`,targets:[{format:e}]}}),this.pipelines[e]=t),t}generateMipmap(e){let t=this._getMipmapPipeline(e.format);if(e.dimension===`3d`||e.dimension===`1d`)throw Error(`Generating mipmaps for non-2d textures is currently unsupported!`);let n=e,r=e.depthOrArrayLayers||1,i=e.usage&GPUTextureUsage.RENDER_ATTACHMENT;if(!i){let t={size:{width:Math.ceil(e.width/2),height:Math.ceil(e.height/2),depthOrArrayLayers:r},format:e.format,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT,mipLevelCount:e.mipLevelCount-1};n=this.device.createTexture(t)}let a=this.device.createCommandEncoder({}),o=t.getBindGroupLayout(0);for(let s=0;s<r;++s){let r=e.createView({baseMipLevel:0,mipLevelCount:1,dimension:`2d`,baseArrayLayer:s,arrayLayerCount:1}),c=+!!i;for(let i=1;i<e.mipLevelCount;++i){let e=n.createView({baseMipLevel:c++,mipLevelCount:1,dimension:`2d`,baseArrayLayer:s,arrayLayerCount:1}),i=a.beginRenderPass({colorAttachments:[{view:e,storeOp:`store`,loadOp:`clear`,clearValue:{r:0,g:0,b:0,a:0}}]}),l=this.device.createBindGroup({layout:o,entries:[{binding:0,resource:this.sampler},{binding:1,resource:r}]});i.setPipeline(t),i.setBindGroup(0,l),i.draw(3,1,0,0),i.end(),r=e}}if(!i){let t={width:Math.ceil(e.width/2),height:Math.ceil(e.height/2),depthOrArrayLayers:r};for(let r=1;r<e.mipLevelCount;++r)a.copyTextureToTexture({texture:n,mipLevel:r-1},{texture:e,mipLevel:r},t),t.width=Math.ceil(t.width/2),t.height=Math.ceil(t.height/2)}return this.device.queue.submit([a.finish()]),i||n.destroy(),e}},qg=class{constructor(e){this.textureView=null,this.gpuTexture=e}destroy(){this.gpuTexture.destroy(),this.textureView=null,this.gpuTexture=null}},Jg=class{constructor(e){this._gpuSamplers=Object.create(null),this._bindGroupHash=Object.create(null),this._renderer=e,e.gc.addCollection(this,`_bindGroupHash`,`hash`),this._managedTextures=new hs({renderer:e,type:`resource`,onUnload:this.onSourceUnload.bind(this),name:`gpuTextureSource`});let t={image:Wg,buffer:Rg,video:Gg,compressed:Vg};this._uploads={...t,cube:Ug(t)}}get managedTextures(){return Object.values(this._managedTextures.items)}contextChange(e){this._gpu=e}initSource(e){return e._gpuData[this._renderer.uid]?.gpuTexture||this._initSource(e)}_initSource(e){if(e.autoGenerateMipmaps){let t=Math.max(e.pixelWidth,e.pixelHeight);e.mipLevelCount=Math.floor(Math.log2(t))+1}let t=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST;e.uploadMethodId!==`compressed`&&(t|=GPUTextureUsage.RENDER_ATTACHMENT,t|=GPUTextureUsage.COPY_SRC);let n=zg[e.format]||{blockBytes:4,blockWidth:1,blockHeight:1},r=Math.ceil(e.pixelWidth/n.blockWidth)*n.blockWidth,i=Math.ceil(e.pixelHeight/n.blockHeight)*n.blockHeight,a={label:e.label,size:{width:r,height:i,depthOrArrayLayers:e.arrayLayerCount},format:e.format,sampleCount:e.sampleCount,mipLevelCount:e.mipLevelCount,dimension:e.dimension,usage:t},o=this._gpu.device.createTexture(a);return e._gpuData[this._renderer.uid]=new qg(o),this._managedTextures.add(e)&&(e.on(`update`,this.onSourceUpdate,this),e.on(`resize`,this.onSourceResize,this),e.on(`updateMipmaps`,this.onUpdateMipmaps,this)),this.onSourceUpdate(e),o}onSourceUpdate(e){let t=this.getGpuSource(e);t&&(this._uploads[e.uploadMethodId]&&this._uploads[e.uploadMethodId].upload(e,t,this._gpu),e.autoGenerateMipmaps&&e.mipLevelCount>1&&this.onUpdateMipmaps(e))}onUpdateMipmaps(e){this._mipmapGenerator||=new Kg(this._gpu.device);let t=this.getGpuSource(e);this._mipmapGenerator.generateMipmap(t)}onSourceUnload(e){e.off(`update`,this.onSourceUpdate,this),e.off(`resize`,this.onSourceResize,this),e.off(`updateMipmaps`,this.onUpdateMipmaps,this)}onSourceResize(e){e._gcLastUsed=this._renderer.gc.now;let t=e._gpuData[this._renderer.uid],n=t?.gpuTexture;n?(n.width!==e.pixelWidth||n.height!==e.pixelHeight)&&(t.destroy(),this._bindGroupHash[e.uid]=null,e._gpuData[this._renderer.uid]=null,this.initSource(e)):this.initSource(e)}_initSampler(e){return this._gpuSamplers[e._resourceId]=this._gpu.device.createSampler(e),this._gpuSamplers[e._resourceId]}getGpuSampler(e){return this._gpuSamplers[e._resourceId]||this._initSampler(e)}getGpuSource(e){return e._gcLastUsed=this._renderer.gc.now,e._gpuData[this._renderer.uid]?.gpuTexture||this.initSource(e)}getTextureBindGroup(e){return this._bindGroupHash[e.uid]||this._createTextureBindGroup(e)}_createTextureBindGroup(e){let t=e.source;return this._bindGroupHash[e.uid]=new Ur({0:t,1:t.style,2:new Hr({uTextureMatrix:{type:`mat3x3<f32>`,value:e.textureMatrix.mapCoord}})}),this._bindGroupHash[e.uid]}getTextureView(e){let t=e.source;t._gcLastUsed=this._renderer.gc.now;let n=t._gpuData[this._renderer.uid];return n||=(this.initSource(t),t._gpuData[this._renderer.uid]),n.textureView||=n.gpuTexture.createView({dimension:t.viewDimension}),n.textureView}generateCanvas(e){let t=this._renderer,n=t.gpu.device.createCommandEncoder(),r=G.get().createCanvas();r.width=e.source.pixelWidth,r.height=e.source.pixelHeight;let i=r.getContext(`webgpu`);return i.configure({device:t.gpu.device,usage:GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,format:G.get().getNavigator().gpu.getPreferredCanvasFormat(),alphaMode:`premultiplied`}),n.copyTextureToTexture({texture:t.texture.getGpuSource(e.source),origin:{x:0,y:0}},{texture:i.getCurrentTexture()},{width:r.width,height:r.height}),t.gpu.device.queue.submit([n.finish()]),r}getPixels(e){let t=this.generateCanvas(e),n=tu.getOptimalCanvasAndContext(t.width,t.height),r=n.context;r.drawImage(t,0,0);let{width:i,height:a}=t,o=r.getImageData(0,0,i,a),s=new Uint8ClampedArray(o.data.buffer);return tu.returnCanvasAndContext(n),{pixels:s,width:i,height:a}}destroy(){this._managedTextures.destroy();for(let e of Object.keys(this._bindGroupHash)){let t=Number(e);this._bindGroupHash[t]?.destroy()}this._renderer=null,this._gpu=null,this._mipmapGenerator=null,this._gpuSamplers=null,this._bindGroupHash=null}};Jg.extension={type:[s.WebGPUSystem],name:`texture`};var Yg=class{constructor(){this._maxTextures=0}contextChange(e){let t=new Hr({uTransformMatrix:{value:new b,type:`mat3x3<f32>`},uColor:{value:new Float32Array([1,1,1,1]),type:`vec4<f32>`},uRound:{value:0,type:`f32`}});this._maxTextures=e.limits.maxBatchableTextures;let n=Xo({name:`graphics`,bits:[Qo,rs(this._maxTextures),ed,ss]});this.shader=new Gr({gpuProgram:n,resources:{localUniforms:t}})}execute(e,t){let n=t.context,r=n.customShader||this.shader,i=e.renderer,{batcher:a,instructions:o}=i.graphicsContext.getContextRenderData(n),s=i.encoder;s.setGeometry(a.geometry,r.gpuProgram);let c=i.globalUniforms.bindGroup;s.setBindGroup(0,c,r.gpuProgram);let l=i.renderPipes.uniformBatch.getUniformBindGroup(r.resources.localUniforms,!0);s.setBindGroup(2,l,r.gpuProgram);let u=o.instructions,d=null;for(let t=0;t<o.instructionSize;t++){let n=u[t];if(n.topology!==d&&(d=n.topology,s.setPipelineFromGeometryProgramAndState(a.geometry,r.gpuProgram,e.state,n.topology)),r.groups[1]=n.bindGroup,!n.gpuBindGroup){let e=n.textures;n.bindGroup=Za(e.textures,e.count,this._maxTextures),n.gpuBindGroup=i.bindGroup.getBindGroup(n.bindGroup,r.gpuProgram,1)}s.setBindGroup(1,n.bindGroup,r.gpuProgram),s.renderPassEncoder.drawIndexed(n.size,1,n.start)}}destroy(){this.shader.destroy(!0),this.shader=null}};Yg.extension={type:[s.WebGPUPipesAdaptor],name:`graphics`};var Xg=class{init(){let e=Xo({name:`mesh`,bits:[$u,Rf,ss]});this._shader=new Gr({gpuProgram:e,resources:{uTexture:R.EMPTY._source,uSampler:R.EMPTY._source.style,textureUniforms:{uTextureMatrix:{type:`mat3x3<f32>`,value:new b}}}})}execute(e,t){let n=e.renderer,r=t._shader;if(!r)r=this._shader,r.groups[2]=n.texture.getTextureBindGroup(t.texture);else if(!r.gpuProgram){H(`Mesh shader has no gpuProgram`,t.shader);return}let i=r.gpuProgram;if(i.autoAssignGlobalUniforms&&(r.groups[0]=n.globalUniforms.bindGroup),i.autoAssignLocalUniforms){let t=e.localUniforms;r.groups[1]=n.renderPipes.uniformBatch.getUniformBindGroup(t,!0)}n.encoder.draw({geometry:t._geometry,shader:r,state:t.state})}destroy(){this._shader.destroy(!0),this._shader=null}};Xg.extension={type:[s.WebGPUPipesAdaptor],name:`mesh`};var Zg=e({WebGPURenderer:()=>i_}),Qg=[...im,Tg,vg,_g,yg,mg,Jg,Pg,Fg,Lg,jg,gg,bg,fg],$g=[...am,Dg],e_=[Ff,Xg,Yg],t_=[],n_=[],r_=[];u.handleByNamedList(s.WebGPUSystem,t_),u.handleByNamedList(s.WebGPUPipes,n_),u.handleByNamedList(s.WebGPUPipesAdaptor,r_),u.add(...Qg,...$g,...e_);var i_=class extends Wi{constructor(){let e={name:`webgpu`,type:Wr.WEBGPU,systems:t_,renderPipes:n_,renderPipeAdaptors:r_};super(e)}},a_=e({BitmapFont:()=>o_}),o_=class extends bf{constructor(e,t){super();let{textures:n,data:r}=e;Object.keys(r.pages).forEach(e=>{let t=n[r.pages[parseInt(e,10)].id];this.pages.push({texture:t})}),Object.keys(r.chars).forEach(e=>{let t=r.chars[e],{frame:i,source:a,rotate:o}=n[t.page],s=new R({frame:j.transformRectCoords(t,i,o,new M),orig:new M(0,0,t.width,t.height),source:a,rotate:o});this.chars[e]={id:e.codePointAt(0),xOffset:t.xOffset,yOffset:t.yOffset,xAdvance:t.xAdvance,kerning:t.kerning??{},texture:s}}),this.baseRenderedFontSize=r.fontSize,this.baseMeasurementFontSize=r.fontSize,this.fontMetrics={ascent:0,descent:0,fontSize:r.fontSize},this.baseLineOffset=r.baseLineOffset,this.lineHeight=r.lineHeight,this.fontFamily=r.fontFamily,this.distanceField=r.distanceField??{type:`none`,range:0},this.url=t}destroy(){super.destroy();for(let e=0;e<this.pages.length;e++){let{texture:t}=this.pages[e];t.destroy(!0)}this.pages=null}static install(e){kf.install(e)}static uninstall(e){kf.uninstall(e)}};u.add(d,f),u.add(ir),u.mixin(It,ar),u.add(Rl),u.add(Xl),u.mixin(It,Zl),u.add(ju,cu),u.add(Ou);var s_=e({}),c_=e({});export{Wu as a,Il as c,
|
|
1274
|
+
`}),t=this.device.createRenderPipeline({layout:`auto`,vertex:{module:this.mipmapShaderModule,entryPoint:`vertexMain`},fragment:{module:this.mipmapShaderModule,entryPoint:`fragmentMain`,targets:[{format:e}]}}),this.pipelines[e]=t),t}generateMipmap(e){let t=this._getMipmapPipeline(e.format);if(e.dimension===`3d`||e.dimension===`1d`)throw Error(`Generating mipmaps for non-2d textures is currently unsupported!`);let n=e,r=e.depthOrArrayLayers||1,i=e.usage&GPUTextureUsage.RENDER_ATTACHMENT;if(!i){let t={size:{width:Math.ceil(e.width/2),height:Math.ceil(e.height/2),depthOrArrayLayers:r},format:e.format,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT,mipLevelCount:e.mipLevelCount-1};n=this.device.createTexture(t)}let a=this.device.createCommandEncoder({}),o=t.getBindGroupLayout(0);for(let s=0;s<r;++s){let r=e.createView({baseMipLevel:0,mipLevelCount:1,dimension:`2d`,baseArrayLayer:s,arrayLayerCount:1}),c=+!!i;for(let i=1;i<e.mipLevelCount;++i){let e=n.createView({baseMipLevel:c++,mipLevelCount:1,dimension:`2d`,baseArrayLayer:s,arrayLayerCount:1}),i=a.beginRenderPass({colorAttachments:[{view:e,storeOp:`store`,loadOp:`clear`,clearValue:{r:0,g:0,b:0,a:0}}]}),l=this.device.createBindGroup({layout:o,entries:[{binding:0,resource:this.sampler},{binding:1,resource:r}]});i.setPipeline(t),i.setBindGroup(0,l),i.draw(3,1,0,0),i.end(),r=e}}if(!i){let t={width:Math.ceil(e.width/2),height:Math.ceil(e.height/2),depthOrArrayLayers:r};for(let r=1;r<e.mipLevelCount;++r)a.copyTextureToTexture({texture:n,mipLevel:r-1},{texture:e,mipLevel:r},t),t.width=Math.ceil(t.width/2),t.height=Math.ceil(t.height/2)}return this.device.queue.submit([a.finish()]),i||n.destroy(),e}},qg=class{constructor(e){this.textureView=null,this.gpuTexture=e}destroy(){this.gpuTexture.destroy(),this.textureView=null,this.gpuTexture=null}},Jg=class{constructor(e){this._gpuSamplers=Object.create(null),this._bindGroupHash=Object.create(null),this._renderer=e,e.gc.addCollection(this,`_bindGroupHash`,`hash`),this._managedTextures=new hs({renderer:e,type:`resource`,onUnload:this.onSourceUnload.bind(this),name:`gpuTextureSource`});let t={image:Wg,buffer:Rg,video:Gg,compressed:Vg};this._uploads={...t,cube:Ug(t)}}get managedTextures(){return Object.values(this._managedTextures.items)}contextChange(e){this._gpu=e}initSource(e){return e._gpuData[this._renderer.uid]?.gpuTexture||this._initSource(e)}_initSource(e){if(e.autoGenerateMipmaps){let t=Math.max(e.pixelWidth,e.pixelHeight);e.mipLevelCount=Math.floor(Math.log2(t))+1}let t=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST;e.uploadMethodId!==`compressed`&&(t|=GPUTextureUsage.RENDER_ATTACHMENT,t|=GPUTextureUsage.COPY_SRC);let n=zg[e.format]||{blockBytes:4,blockWidth:1,blockHeight:1},r=Math.ceil(e.pixelWidth/n.blockWidth)*n.blockWidth,i=Math.ceil(e.pixelHeight/n.blockHeight)*n.blockHeight,a={label:e.label,size:{width:r,height:i,depthOrArrayLayers:e.arrayLayerCount},format:e.format,sampleCount:e.sampleCount,mipLevelCount:e.mipLevelCount,dimension:e.dimension,usage:t},o=this._gpu.device.createTexture(a);return e._gpuData[this._renderer.uid]=new qg(o),this._managedTextures.add(e)&&(e.on(`update`,this.onSourceUpdate,this),e.on(`resize`,this.onSourceResize,this),e.on(`updateMipmaps`,this.onUpdateMipmaps,this)),this.onSourceUpdate(e),o}onSourceUpdate(e){let t=this.getGpuSource(e);t&&(this._uploads[e.uploadMethodId]&&this._uploads[e.uploadMethodId].upload(e,t,this._gpu),e.autoGenerateMipmaps&&e.mipLevelCount>1&&this.onUpdateMipmaps(e))}onUpdateMipmaps(e){this._mipmapGenerator||=new Kg(this._gpu.device);let t=this.getGpuSource(e);this._mipmapGenerator.generateMipmap(t)}onSourceUnload(e){e.off(`update`,this.onSourceUpdate,this),e.off(`resize`,this.onSourceResize,this),e.off(`updateMipmaps`,this.onUpdateMipmaps,this)}onSourceResize(e){e._gcLastUsed=this._renderer.gc.now;let t=e._gpuData[this._renderer.uid],n=t?.gpuTexture;n?(n.width!==e.pixelWidth||n.height!==e.pixelHeight)&&(t.destroy(),this._bindGroupHash[e.uid]=null,e._gpuData[this._renderer.uid]=null,this.initSource(e)):this.initSource(e)}_initSampler(e){return this._gpuSamplers[e._resourceId]=this._gpu.device.createSampler(e),this._gpuSamplers[e._resourceId]}getGpuSampler(e){return this._gpuSamplers[e._resourceId]||this._initSampler(e)}getGpuSource(e){return e._gcLastUsed=this._renderer.gc.now,e._gpuData[this._renderer.uid]?.gpuTexture||this.initSource(e)}getTextureBindGroup(e){return this._bindGroupHash[e.uid]||this._createTextureBindGroup(e)}_createTextureBindGroup(e){let t=e.source;return this._bindGroupHash[e.uid]=new Ur({0:t,1:t.style,2:new Hr({uTextureMatrix:{type:`mat3x3<f32>`,value:e.textureMatrix.mapCoord}})}),this._bindGroupHash[e.uid]}getTextureView(e){let t=e.source;t._gcLastUsed=this._renderer.gc.now;let n=t._gpuData[this._renderer.uid];return n||=(this.initSource(t),t._gpuData[this._renderer.uid]),n.textureView||=n.gpuTexture.createView({dimension:t.viewDimension}),n.textureView}generateCanvas(e){let t=this._renderer,n=t.gpu.device.createCommandEncoder(),r=G.get().createCanvas();r.width=e.source.pixelWidth,r.height=e.source.pixelHeight;let i=r.getContext(`webgpu`);return i.configure({device:t.gpu.device,usage:GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,format:G.get().getNavigator().gpu.getPreferredCanvasFormat(),alphaMode:`premultiplied`}),n.copyTextureToTexture({texture:t.texture.getGpuSource(e.source),origin:{x:0,y:0}},{texture:i.getCurrentTexture()},{width:r.width,height:r.height}),t.gpu.device.queue.submit([n.finish()]),r}getPixels(e){let t=this.generateCanvas(e),n=tu.getOptimalCanvasAndContext(t.width,t.height),r=n.context;r.drawImage(t,0,0);let{width:i,height:a}=t,o=r.getImageData(0,0,i,a),s=new Uint8ClampedArray(o.data.buffer);return tu.returnCanvasAndContext(n),{pixels:s,width:i,height:a}}destroy(){this._managedTextures.destroy();for(let e of Object.keys(this._bindGroupHash)){let t=Number(e);this._bindGroupHash[t]?.destroy()}this._renderer=null,this._gpu=null,this._mipmapGenerator=null,this._gpuSamplers=null,this._bindGroupHash=null}};Jg.extension={type:[s.WebGPUSystem],name:`texture`};var Yg=class{constructor(){this._maxTextures=0}contextChange(e){let t=new Hr({uTransformMatrix:{value:new b,type:`mat3x3<f32>`},uColor:{value:new Float32Array([1,1,1,1]),type:`vec4<f32>`},uRound:{value:0,type:`f32`}});this._maxTextures=e.limits.maxBatchableTextures;let n=Xo({name:`graphics`,bits:[Qo,rs(this._maxTextures),ed,ss]});this.shader=new Gr({gpuProgram:n,resources:{localUniforms:t}})}execute(e,t){let n=t.context,r=n.customShader||this.shader,i=e.renderer,{batcher:a,instructions:o}=i.graphicsContext.getContextRenderData(n),s=i.encoder;s.setGeometry(a.geometry,r.gpuProgram);let c=i.globalUniforms.bindGroup;s.setBindGroup(0,c,r.gpuProgram);let l=i.renderPipes.uniformBatch.getUniformBindGroup(r.resources.localUniforms,!0);s.setBindGroup(2,l,r.gpuProgram);let u=o.instructions,d=null;for(let t=0;t<o.instructionSize;t++){let n=u[t];if(n.topology!==d&&(d=n.topology,s.setPipelineFromGeometryProgramAndState(a.geometry,r.gpuProgram,e.state,n.topology)),r.groups[1]=n.bindGroup,!n.gpuBindGroup){let e=n.textures;n.bindGroup=Za(e.textures,e.count,this._maxTextures),n.gpuBindGroup=i.bindGroup.getBindGroup(n.bindGroup,r.gpuProgram,1)}s.setBindGroup(1,n.bindGroup,r.gpuProgram),s.renderPassEncoder.drawIndexed(n.size,1,n.start)}}destroy(){this.shader.destroy(!0),this.shader=null}};Yg.extension={type:[s.WebGPUPipesAdaptor],name:`graphics`};var Xg=class{init(){let e=Xo({name:`mesh`,bits:[$u,Rf,ss]});this._shader=new Gr({gpuProgram:e,resources:{uTexture:R.EMPTY._source,uSampler:R.EMPTY._source.style,textureUniforms:{uTextureMatrix:{type:`mat3x3<f32>`,value:new b}}}})}execute(e,t){let n=e.renderer,r=t._shader;if(!r)r=this._shader,r.groups[2]=n.texture.getTextureBindGroup(t.texture);else if(!r.gpuProgram){H(`Mesh shader has no gpuProgram`,t.shader);return}let i=r.gpuProgram;if(i.autoAssignGlobalUniforms&&(r.groups[0]=n.globalUniforms.bindGroup),i.autoAssignLocalUniforms){let t=e.localUniforms;r.groups[1]=n.renderPipes.uniformBatch.getUniformBindGroup(t,!0)}n.encoder.draw({geometry:t._geometry,shader:r,state:t.state})}destroy(){this._shader.destroy(!0),this._shader=null}};Xg.extension={type:[s.WebGPUPipesAdaptor],name:`mesh`};var Zg=e({WebGPURenderer:()=>i_}),Qg=[...im,Tg,vg,_g,yg,mg,Jg,Pg,Fg,Lg,jg,gg,bg,fg],$g=[...am,Dg],e_=[Ff,Xg,Yg],t_=[],n_=[],r_=[];u.handleByNamedList(s.WebGPUSystem,t_),u.handleByNamedList(s.WebGPUPipes,n_),u.handleByNamedList(s.WebGPUPipesAdaptor,r_),u.add(...Qg,...$g,...e_);var i_=class extends Wi{constructor(){let e={name:`webgpu`,type:Wr.WEBGPU,systems:t_,renderPipes:n_,renderPipeAdaptors:r_};super(e)}},a_=e({BitmapFont:()=>o_}),o_=class extends bf{constructor(e,t){super();let{textures:n,data:r}=e;Object.keys(r.pages).forEach(e=>{let t=n[r.pages[parseInt(e,10)].id];this.pages.push({texture:t})}),Object.keys(r.chars).forEach(e=>{let t=r.chars[e],{frame:i,source:a,rotate:o}=n[t.page],s=new R({frame:j.transformRectCoords(t,i,o,new M),orig:new M(0,0,t.width,t.height),source:a,rotate:o});this.chars[e]={id:e.codePointAt(0),xOffset:t.xOffset,yOffset:t.yOffset,xAdvance:t.xAdvance,kerning:t.kerning??{},texture:s}}),this.baseRenderedFontSize=r.fontSize,this.baseMeasurementFontSize=r.fontSize,this.fontMetrics={ascent:0,descent:0,fontSize:r.fontSize},this.baseLineOffset=r.baseLineOffset,this.lineHeight=r.lineHeight,this.fontFamily=r.fontFamily,this.distanceField=r.distanceField??{type:`none`,range:0},this.url=t}destroy(){super.destroy();for(let e=0;e<this.pages.length;e++){let{texture:t}=this.pages[e];t.destroy(!0)}this.pages=null}static install(e){kf.install(e)}static uninstall(e){kf.uninstall(e)}};u.add(d,f),u.add(ir),u.mixin(It,ar),u.add(Rl),u.add(Xl),u.mixin(It,Zl),u.add(ju,cu),u.add(Ou);var s_=e({}),c_=e({});export{o as _,Wu as a,Il as c,ra as d,Rt as f,v as g,M as h,hd as i,al as l,R as m,yf as n,wu as o,It as p,uf as r,bu as s,Pp as t,Rs as u};
|
package/dist/embedded/index.html
CHANGED
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
to { opacity: 1; transform: translate(-50%, -50%); }
|
|
27
27
|
}
|
|
28
28
|
</style>
|
|
29
|
-
<script type="module" crossorigin src="/client/_client/index-
|
|
29
|
+
<script type="module" crossorigin src="/client/_client/index-RyMzFHC0.js"></script>
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/client/_client/rolldown-runtime-QTnfLwEv.js">
|
|
31
|
-
<link rel="modulepreload" crossorigin href="/client/_client/vendor-pixi-
|
|
32
|
-
<link rel="modulepreload" crossorigin href="/client/_client/vendor-codemirror-
|
|
31
|
+
<link rel="modulepreload" crossorigin href="/client/_client/vendor-pixi-D8ed7Ewt.js">
|
|
32
|
+
<link rel="modulepreload" crossorigin href="/client/_client/vendor-codemirror-_J5SxhJL.js">
|
|
33
33
|
<link rel="modulepreload" crossorigin href="/client/_client/decompress-DIM550rx.js">
|
|
34
34
|
</head>
|
|
35
35
|
<body>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,a as t,
|
|
1
|
+
import{_ as e,a as t,b as n,d as r,f as i,h as a,i as o,m as s,n as c,o as l,r as u,t as d}from"./vendor-codemirror-_J5SxhJL.js";import{S as f,_ as p,b as m,f as h,g,v as _,x as v,y}from"./index-yH_pBmNP.js";var b=v(`<span style=font-size:11px;color:#e3b341>Unsaved changes`),x=v(`<div style="padding:12px 10px;font-size:12px;color:#484f58;font-style:italic">Loading…`),S=v(`<div style=flex:1;display:flex;align-items:center;justify-content:center;color:#484f58;font-size:13px;font-style:italic>`),C=v(`<div style=position:absolute;inset:0px;background:#0d1117;z-index:100;display:flex;flex-direction:column;overflow:hidden><div style="display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #30363d;flex-shrink:0"><span style=font-size:15px;font-weight:600;color:#c9d1d9>Code</span><select style="background:#010409;color:#c9d1d9;border:1px solid #30363d;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer"></select><div style=flex:1></div><button style="padding:5px 14px;border-radius:4px;border:1px solid #238636;font-size:12px;font-weight:600"></button><button style="background:transparent;border:none;color:#8b949e;font-size:18px;cursor:pointer;line-height:1;padding:2px 6px">✕</button></div><div style=flex:1;display:flex;overflow:hidden><div style="width:180px;flex-shrink:0;border-right:1px solid #21262d;display:flex;flex-direction:column;overflow:hidden"><div style="padding:6px 10px;font-size:10px;font-weight:700;color:#8b949e;text-transform:uppercase;letter-spacing:0.06em;border-bottom:1px solid #21262d;flex-shrink:0">Modules</div><div style=flex:1;overflow:auto></div></div><div style=flex:1;display:flex;flex-direction:column;overflow:hidden><div style="padding:5px 14px;font-size:12px;color:#8b949e;border-bottom:1px solid #21262d;flex-shrink:0;font-family:monospace;background:#0d1117">.js</div><div style=flex:1;overflow:hidden;flex-direction:column>`),w=v(`<option>`),T=v(`<div style="padding:7px 12px;font-size:12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">`),{error:E}=g(`code`),D=l.theme({"&":{height:`100%`},".cm-scroller":{"font-family":`'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace`,"font-size":`13px`,"line-height":`1.6`,overflow:`auto`},".cm-gutters":{background:`#0d1117`,"border-right":`1px solid #21262d`},".cm-lineNumbers .cm-gutterElement":{color:`#484f58`,"min-width":`3em`},".cm-activeLineGutter":{background:`#161b22`},".cm-activeLine":{background:`#161b22`}}),O=[u,c(),d,D];function k(c){let[l,u]=n([]),[d,g]=n(``),[_,v]=n({}),[D,k]=n(``),[A,j]=n(!1),[M,N]=n(!1),[P,F]=n(!1),I=()=>Object.keys(_()),{editorView:L,ref:R,createExtension:z}=t({onValueChange:e=>{let t=D();!t||_()[t]===e||(v(n=>({...n,[t]:e})),F(!0))}});o(L,()=>_()[D()]??``),z(O),a(()=>{let e=h();e&&e.http.user.branches().then(e=>{u(e.list);let t=e.list.find(e=>e.activeWorld)??e.list[0];t&&g(t.branch)}).catch(e=>{E(`branches failed:`,e),p(`Failed to load branches`,`error`)})}),a(()=>{let e=d(),t=h();!e||!t||(j(!0),v({}),k(``),F(!1),t.http.user.code.get(e).then(e=>{let t=e.modules??{};v(t),k(Object.keys(t)[0]??``)}).catch(e=>{E(`get failed:`,e),p(`Failed to load code`,`error`)}).finally(()=>j(!1)))});let B=()=>{let e=h(),t=d();!e||!t||(N(!0),e.http.user.code.set(t,_()).then(()=>{p(`Code saved`,`success`),F(!1)}).catch(e=>{E(`set failed:`,e),p(`Failed to save code`,`error`)}).finally(()=>N(!1)))};return(()=>{var t=C(),n=t.firstChild,a=n.firstChild.nextSibling,o=a.nextSibling.nextSibling,u=o.nextSibling,p=n.nextSibling.firstChild,h=p.firstChild.nextSibling,_=p.nextSibling,v=_.firstChild,E=v.firstChild,O=v.nextSibling;return a.addEventListener(`change`,e=>g(e.currentTarget.value)),y(a,s(r,{get each(){return l()},children:t=>(()=>{var n=w();return y(n,()=>t.branch,null),y(n,()=>t.activeWorld?` ★`:``,null),e(()=>n.value=t.branch),n})()})),y(n,s(i,{get when(){return P()},get children(){return b()}}),o),o.$$click=B,y(o,()=>M()?`Saving…`:`Save`),u.$$click=()=>c.onClose(),y(h,s(i,{get when(){return A()},get children(){return x()}}),null),y(h,s(r,{get each(){return I()},children:t=>(()=>{var n=T();return n.$$click=()=>k(t),y(n,t),e(e=>{var r=D()===t?`#1f3158`:`transparent`,i=D()===t?`#58a6ff`:`#c9d1d9`,a=`2px solid ${D()===t?`#388bfd`:`transparent`}`;return r!==e.e&&m(n,`background`,e.e=r),i!==e.t&&m(n,`color`,e.t=i),a!==e.a&&m(n,`border-left`,e.a=a),e},{e:void 0,t:void 0,a:void 0}),n})()}),null),y(v,D,E),f(R,O),y(_,s(i,{get when(){return!D()},get children(){var e=S();return y(e,()=>A()?`Loading code…`:`Select a module`),e}}),null),e(e=>{var t=M()||A()||!P(),n=M()||!P()?`#161b22`:`#1a3a2a`,r=M()||!P()?`#484f58`:`#3fb950`,i=M()||!P()?`default`:`pointer`,a=D()?`block`:`none`,s=D()?`flex`:`none`;return t!==e.e&&(o.disabled=e.e=t),n!==e.t&&m(o,`background`,e.t=n),r!==e.a&&m(o,`color`,e.a=r),i!==e.o&&m(o,`cursor`,e.o=i),a!==e.i&&m(v,`display`,e.i=a),s!==e.n&&m(O,`display`,e.n=s),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),e(()=>a.value=d()),t})()}_([`click`]);export{k as CodePanel};
|
package/dist/{embedded/_client/MapViewer-BWm4-U-8.js → standalone/_client/MapViewer-prnyDfOQ.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{E as e,T as t,b as n,h as r}from"./vendor-codemirror-_J5SxhJL.js";import{S as i,a,c as o,d as s,f as c,g as l,h as u,i as d,l as f,m as p,n as m,o as h,p as g,r as _,s as v,t as y,u as b,x}from"./index-yH_pBmNP.js";var S=x(`<div style=width:100%;height:100%;position:relative><canvas style=display:block>`),{log:C,error:w}=l(`map`);function T(l){let x,T=null,[E,D]=n([]),[O,k]=n(1),[A,j]=n(l.originRoom??null),M=null,N=null,P=new Map,F=new Map,I=new Map,L=new Map,R=e=>{let t=u();if(!t)return!0;let n=o(e);return!!n&&v(n.x,n.y,t)},z=e=>{let t=F.get(e),n=t?.own,r=t?.username??(n?.user?`user:${n.user}`:null),i=!!n&&n.level>=1,a=!!n&&n.level===0,o=t?.sign;return{room:e,owner:i?r:null,reservation:a?r:null,level:i?n.level:null,mineral:t?.mineral??null,density:t?.density??null,badge:t?.badge??null,sign:o?{text:o.text,datetime:o.datetime,username:o.username??(o.user?`user:${o.user}`:null),badge:o.badge??null}:null}},B=[],V=null,H=new Set,U=()=>{V=null;let e=c();if(!e||!T)return;let t=new Set(E());if(B=B.filter(e=>t.has(e)&&!T.hasRoom(e)&&!H.has(e)),B.length===0)return;let n=B.splice(0,200);for(let e of n)H.add(e);e.stores.room.terrainBulk(n,l.shard).then(async e=>{let t=[];for(let[n,r]of e){let e=T?.setRoomTerrain(n,r);e&&t.push(e);let i=I.get(n);i!==void 0&&T?.setRoomOwned(n,i)}for(let t of n)e.has(t)||T?.markRoomFetched(t);await Promise.all(t)}).catch(e=>w(`terrain fetch failed:`,e)).finally(()=>{for(let e of n)H.delete(e);B.length>0&&(V=setTimeout(U,0))})};return r(()=>{c(),l.shard,F.clear(),I.clear()}),e(()=>{x&&(async()=>{if(T=new y({onRoomHover:e=>{l.onHoveredRoomChanged?.(e?z(e):null)},onRoomClick:e=>{A()===e?R(e)&&setTimeout(()=>l.onNavigateToRoom(e),0):(j(e),T?.setSelectedRoom(e),l.onSelectedRoomChanged?.(z(e)))},onVisibleRoomsChanged:e=>{let t=e.length===0;N!==t&&(N=t,C(t?`zoom out — too many rooms visible, terrain loading paused`:`zoom in — terrain loading active, ${e.length} rooms visible`)),D(e)},onZoomChanged:e=>{k(e),l.onZoomChanged?.(e)}}),await T.init(x),!T)return;l.initialZoom!==void 0&&l.initialZoom>0&&T.setZoom(l.initialZoom),l.onZoomChanged?.(T.zoom);let e=u();if(e&&T.setBounds(e.minX,e.maxX,e.minY,e.maxY),l.originRoom){let e=o(l.originRoom);e&&T.centerOn(e.x,e.y),T.setSelectedRoom(l.originRoom),l.onSelectedRoomChanged?.(z(l.originRoom))}else{let e=c();if(e)try{let t=await e.http.user.worldStartRoom(l.shard??`shard0`);if(!T)return;let n=Array.isArray(t?.room)?t.room[0]:t?.room;if(typeof n==`string`){let e=o(n);e&&T.centerOn(e.x,e.y)}}catch(e){w(`worldStartRoom failed:`,e)}}})()}),t(()=>{V!==null&&(clearTimeout(V),V=null),B=[],H.clear();for(let e of P.values())e.dispose();P.clear(),T?.destroy(),T=null}),r(()=>{_({currentRoom:A,worldBounds:u,onMove:(e,t)=>{let n=d(e,t);j(n),T?.setSelectedRoom(n),T?.centerOn(e,t,!0),l.onSelectedRoomChanged?.(z(n)),l.onHoveredRoomChanged?.(z(n))}});let e=e=>{let t=e.target?.tagName??``,n=e.target?.isContentEditable??!1;if(!(t===`INPUT`||t===`TEXTAREA`||n)&&e.key===`m`){let e=A();e&&R(e)&&l.onNavigateToRoom(e)}};window.addEventListener(`keydown`,e),t(()=>window.removeEventListener(`keydown`,e))}),r(()=>{let e=c(),t=E(),n=l.shard;if(!e||t.length===0)return;let r=new Set(t),i=t.filter(e=>!T?.hasRoom(e)&&!H.has(e));if(i.length>0){let e=t.reduce((e,t)=>e+(o(t)?.x??0),0)/t.length,n=t.reduce((e,t)=>e+(o(t)?.y??0),0)/t.length;B=i.slice().sort((t,r)=>{let i=o(t),a=o(r);return(i?Math.abs(i.x-e)+Math.abs(i.y-n):999)-(a?Math.abs(a.x-e)+Math.abs(a.y-n):999)}),V===null&&(V=setTimeout(U,0))}e.stores.mapStats.request(t,`owner0`,n??void 0);let a=O()>=.4;if(a!==M&&(M=a,l.onSubscriptionStateChanged?.(a),a||T?.clearAllMap2()),a){let r=new Set(t.map(e=>`${e}/${n}`));for(let[e,t]of P)r.has(e)||(t.dispose(),P.delete(e),T?.clearRoomMap2(e.split(`/`)[0]));for(let r of t){let t=`${r}/${n}`;P.has(t)||P.set(t,e.stores.map.subscribeMap2(r,n))}}else{for(let[,e]of P)e.dispose();P.clear()}T?.clearInvisibleRooms(r)}),r(()=>{T?.setShowRoomNames(f()),T&&(T.currentShard=l.shard??`shard0`)}),r(()=>{T?.setUnclaimableOverlayVisible(s())}),r(()=>{T?.setMapVisualVisible(b())}),r(()=>{T?.setOverlayMode(m())}),r(()=>{let e=c(),t=l.shard;e&&e.stores.server.worldInfo(t??void 0).then(e=>{C(`worldInfo(shard=${t??`none`}) — x: [${e.minX}, ${e.maxX}] y: [${e.minY}, ${e.maxY}]`),g(e)}).catch(e=>{C(`worldInfo(shard=${t??`none`}) failed:`,e)})}),r(()=>{T?.setCurrentUser(p()?._id??null)}),r(()=>{let e=u();e?(T?.setBounds(e.minX,e.maxX,e.minY,e.maxY),C(`worldBounds applied — shard: ${l.shard??`none`} x: [${e.minX}, ${e.maxX}] y: [${e.minY}, ${e.maxY}] (fetched for shard: ${e.shard??`none`})`)):(T?.clearBounds(),C(`worldBounds — none (shard: ${l.shard??`none`})`))}),r(()=>{let e=c();if(!e)return;let n=e.stores.user.subscribeMapVisual(l.shard),r=e.stores.user.on(`user:mapVisual`,({shard:e,data:t})=>{e===l.shard&&(t?T?.setMapVisual(t):T?.clearMapVisual())});t(()=>{n.dispose(),r.dispose()})}),r(()=>{let e=c();if(!e)return;let n=e.stores.map.on(`room:map2update`,({room:e,shard:t,data:n,source:r})=>{t===l.shard&&T?.setRoomMap2(e,n,r)});t(()=>n.dispose())}),r(()=>{let e=c();if(!e)return;let n=p()?._id,r=new Set(E()),i=e.stores.mapStats.on(`mapStats:room`,({room:e,stat:t})=>{F.set(e,t);let i=o(e),s=i?a(i.x,i.y)||h(i.x,i.y):!1,c=t.status===`out of borders`,u=!!(t.own&&t.own.user===n),d=!!(t.own&&t.own.user!==n),f=u?`own`:s||c||d?`other`:`none`;I.set(e,f),r.has(e)&&(T?.setRoomOwned(e,f),T?.setRoomSafeMode(e,!!t.safeMode)),T?.setRoomMineral(e,t.mineral,t.density);let p=t.badge?JSON.stringify(t.badge):``;L.get(e)!==p&&(L.set(e,p),T?.setRoomBadge(e,t.badge,t.own?.level)),A()===e&&l.onSelectedRoomChanged?.(z(e))});t(()=>i.dispose())}),(()=>{var e=S(),t=e.firstChild;return i(e=>x=e,t),e})()}export{T as MapViewer};
|