lecodes-viewer 0.19.1 → 0.20.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-embed/VERSION.json +3 -3
- package/dist-embed/assets/{createViewer2d-D12Wy3VF.js → createViewer2d-Dx-COLjO.js} +1 -1
- package/dist-embed/assets/createViewerLite-DkM-O9BQ.js +852 -0
- package/dist-embed/assets/host-Czj6Nu-U.js +168 -0
- package/dist-embed/assets/{index-CIK8PnUA.js → index-mhLEVWyK.js} +1 -1
- package/dist-embed/assets/{loadCreatorUiNode-UAdhjRTd.js → loadCreatorUiNode-D87bZHrH.js} +1 -1
- package/dist-embed/assets/mapViewImpl-B2JcES8l.js +810 -0
- package/dist-embed/assets/maplibre-gl-worker-CJfwIrte.js +8 -0
- package/dist-embed/embed.js +8 -8
- package/package.json +7 -3
- package/src/host.ts +3 -0
- package/src/ui/creator-ui.wasm +0 -0
- package/src/ui/nativeViewSystem.ts +2 -91
- package/src/ui/presentPlayer.ts +2 -156
- package/src/ui/vListSystem.ts +211 -211
- package/src/viewer/creator-gl.wasm +0 -0
- package/src/viewer2d/creator2d.wasm +0 -0
- package/dist-embed/assets/createViewerLite-CP-WHGLg.js +0 -707
- package/dist-embed/assets/host-CWKB1WDd.js +0 -162
- package/src/assets/banner.png +0 -0
- package/src/assets/image2.png +0 -0
- package/src/assets/landing.mp4 +0 -0
- package/src/assets/neutral_ibl256.ktx +0 -0
- package/src/assets/output.mp4 +0 -0
- package/src/assets/output2.mp4 +0 -0
- package/src/assets/texture.png +0 -0
- package/src/assets/vue.svg +0 -1
package/dist-embed/VERSION.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{y as Jt,A as Kt}from"../embed.js";var qt=(async function(E={}){var q,c=E,ee,X,$=new Promise((e,r)=>{ee=e,X=r}),l=import.meta.url,G="";function z(e){return c.locateFile?c.locateFile(e,G):G+e}var D;{try{G=new URL(".",l).href}catch{}D=async e=>{var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)}}console.log.bind(console);var k=console.error.bind(console),W,N,T=!1,R,w,j,Q,S,L,C,M,H;function Y(){var e=N.buffer;R=new Int8Array(e),j=new Int16Array(e),c.HEAPU8=w=new Uint8Array(e),c.HEAPU16=Q=new Uint16Array(e),S=new Int32Array(e),c.HEAPU32=L=new Uint32Array(e),c.HEAPF32=C=new Float32Array(e),H=new Float64Array(e),M=new BigInt64Array(e),new BigUint64Array(e)}function re(){if(c.preRun)for(typeof c.preRun=="function"&&(c.preRun=[c.preRun]);c.preRun.length;)he(c.preRun.shift());Z(de)}function te(){_.cb()}function ne(){if(c.postRun)for(typeof c.postRun=="function"&&(c.postRun=[c.postRun]);c.postRun.length;)ye(c.postRun.shift());Z(fe)}var I=0,O=null;function n(e){var r;I++,(r=c.monitorRunDependencies)==null||r.call(c,I)}function i(e){var t;if(I--,(t=c.monitorRunDependencies)==null||t.call(c,I),I==0&&O){var r=O;O=null,r()}}function d(e){var t;(t=c.onAbort)==null||t.call(c,e),e="Aborted("+e+")",k(e),T=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw X(r),r}var v;function p(){return c.locateFile?z("creator2d.wasm"):new URL(""+new URL("creator2d-BtQ-1_B0.wasm",import.meta.url).href,import.meta.url).href}function b(e){if(e==v&&W)return new Uint8Array(W);throw"both async and sync fetching of the wasm failed"}async function B(e){if(!W)try{var r=await D(e);return new Uint8Array(r)}catch{}return b(e)}async function x(e,r){try{var t=await B(e),a=await WebAssembly.instantiate(t,r);return a}catch(f){k(`failed to asynchronously prepare wasm: ${f}`),d(f)}}async function P(e,r,t){if(!e&&typeof WebAssembly.instantiateStreaming=="function")try{var a=fetch(r,{credentials:"same-origin"}),f=await WebAssembly.instantiateStreaming(a,t);return f}catch(u){k(`wasm streaming compile failed: ${u}`),k("falling back to ArrayBuffer instantiation")}return x(r,t)}function F(){return{a:Zt}}async function J(){function e(u,m){return _=u.exports,N=_.bb,Y(),i(),_}n();function r(u){return e(u.instance)}var t=F();if(c.instantiateWasm)return new Promise((u,m)=>{c.instantiateWasm(t,(g,y)=>{u(e(g))})});v??(v=p());try{var a=await P(W,v,t),f=r(a);return f}catch(u){return X(u),Promise.reject(u)}}var Z=e=>{for(;e.length>0;)e.shift()(c)},fe=[],ye=e=>fe.push(e),de=[],he=e=>de.push(e);class Se{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){L[this.ptr+4>>2]=r}get_type(){return L[this.ptr+4>>2]}set_destructor(r){L[this.ptr+8>>2]=r}get_destructor(){return L[this.ptr+8>>2]}set_caught(r){r=r?1:0,R[this.ptr+12]=r}get_caught(){return R[this.ptr+12]!=0}set_rethrown(r){r=r?1:0,R[this.ptr+13]=r}get_rethrown(){return R[this.ptr+13]!=0}init(r,t){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(t)}set_adjusted_ptr(r){L[this.ptr+16>>2]=r}get_adjusted_ptr(){return L[this.ptr+16>>2]}}var ue=0,be=(e,r,t)=>{var a=new Se(e);throw a.init(r,t),ue=e,ue},Be=()=>d("");function xe(e,r,t){c.onAnimEvent&&c.onAnimEvent(e,r,t)}function Pe(e){c.onEarlyUpdate&&c.onEarlyUpdate(e)}function Ae(e){c.onLateUpdate&&c.onLateUpdate(e)}function Ce(e,r,t){c.onPhysicsEvent&&c.onPhysicsEvent(e,r,t)}var _e=()=>performance.now(),Ee=()=>Date.now(),we=e=>e>=0&&e<=3;function Te(e,r,t){if(!we(e))return 28;var a;e===0?a=Ee():a=_e();var f=Math.round(a*1e3*1e3);return M[t>>3]=BigInt(f),0}var ce=[],Le=(e,r)=>{ce.length=0;for(var t;t=w[e++];){var a=t!=105;a&=t!=112,r+=a&&r%8?4:0,ce.push(t==112?L[r>>2]:t==106?M[r>>3]:t==105?S[r>>2]:H[r>>3]),r+=a?8:4}return ce},Fe=(e,r,t)=>{var a=Le(r,t);return Xt[e](...a)},Ge=(e,r,t)=>Fe(e,r,t),Re=()=>2147483648,Ue=(e,r)=>Math.ceil(e/r)*r,De=e=>{var r=N.buffer,t=(e-r.byteLength+65535)/65536|0;try{return N.grow(t),Y(),1}catch{}},ke=e=>{var r=w.length;e>>>=0;var t=Re();if(e>t)return!1;for(var a=1;a<=4;a*=2){var f=r*(1+.2/a);f=Math.min(f,e+100663296);var u=Math.min(t,Ue(Math.max(e,f),65536)),m=De(u);if(m)return!0}return!1},o,Ie=e=>!!(e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")),Ve=e=>!!(e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")),We=e=>!!(e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")),Me=e=>!!(e.extClipControl=e.getExtension("EXT_clip_control")),Oe=e=>!!(e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")),Ne=e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")),me=e=>{var r=["EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(e.getSupportedExtensions()||[]).filter(t=>r.includes(t))},je=e=>{typeof MainLoop<"u"&&MainLoop.preMainLoop.push(e)},ve=typeof TextDecoder<"u"?new TextDecoder:void 0,He=(e,r=0,t=NaN)=>{for(var a=r+t,f=r;e[f]&&!(f>=a);)++f;if(f-r>16&&e.buffer&&ve)return ve.decode(e.subarray(r,f));for(var u="";r<f;){var m=e[r++];if(!(m&128)){u+=String.fromCharCode(m);continue}var g=e[r++]&63;if((m&224)==192){u+=String.fromCharCode((m&31)<<6|g);continue}var y=e[r++]&63;if((m&240)==224?m=(m&15)<<12|g<<6|y:m=(m&7)<<18|g<<12|y<<6|e[r++]&63,m<65536)u+=String.fromCharCode(m);else{var h=m-65536;u+=String.fromCharCode(55296|h>>10,56320|h&1023)}}return u},K=(e,r)=>e?He(w,e,r):"",s={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{s.lastError||(s.lastError=e)},getNewId:e=>{for(var r=s.counter++,t=e.length;t<r;t++)e[t]=null;for(;e[r];)r=s.counter++;return r},genObject:(e,r,t,a)=>{for(var f=0;f<e;f++){var u=o[t](),m=u&&s.getNewId(a);u?(u.name=m,a[m]=u):s.recordError(1282),S[r+f*4>>2]=m}},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:e=>32-Math.clz32(e===0?0:e-1),generateTempBuffers:(e,r)=>{var t=s.log2ceilLookup(s.MAX_TEMP_BUFFER_SIZE);r.tempVertexBufferCounters1=[],r.tempVertexBufferCounters2=[],r.tempVertexBufferCounters1.length=r.tempVertexBufferCounters2.length=t+1,r.tempVertexBuffers1=[],r.tempVertexBuffers2=[],r.tempVertexBuffers1.length=r.tempVertexBuffers2.length=t+1,r.tempIndexBuffers=[],r.tempIndexBuffers.length=t+1;for(var a=0;a<=t;++a){r.tempIndexBuffers[a]=null,r.tempVertexBufferCounters1[a]=r.tempVertexBufferCounters2[a]=0;var f=s.numTempVertexBuffersPerSize;r.tempVertexBuffers1[a]=[],r.tempVertexBuffers2[a]=[];var u=r.tempVertexBuffers1[a],m=r.tempVertexBuffers2[a];u.length=m.length=f;for(var g=0;g<f;++g)u[g]=m[g]=null}if(e){r.tempQuadIndexBuffer=o.createBuffer(),r.GLctx.bindBuffer(34963,r.tempQuadIndexBuffer);for(var y=s.MAX_TEMP_BUFFER_SIZE>>1,h=new Uint16Array(y),a=0,A=0;h[a++]=A,!(a>=y||(h[a++]=A+1,a>=y)||(h[a++]=A+2,a>=y)||(h[a++]=A,a>=y)||(h[a++]=A+2,a>=y)||(h[a++]=A+3,a>=y));)A+=4;r.GLctx.bufferData(34963,h,35044),r.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:e=>{var r=s.log2ceilLookup(e),t=s.currentContext.tempVertexBuffers1[r],a=s.currentContext.tempVertexBufferCounters1[r];s.currentContext.tempVertexBufferCounters1[r]=s.currentContext.tempVertexBufferCounters1[r]+1&s.numTempVertexBuffersPerSize-1;var f=t[a];if(f)return f;var u=o.getParameter(34964);return t[a]=o.createBuffer(),o.bindBuffer(34962,t[a]),o.bufferData(34962,1<<r,35048),o.bindBuffer(34962,u),t[a]},getTempIndexBuffer:e=>{var r=s.log2ceilLookup(e),t=s.currentContext.tempIndexBuffers[r];if(t)return t;var a=o.getParameter(34965);return s.currentContext.tempIndexBuffers[r]=o.createBuffer(),o.bindBuffer(34963,s.currentContext.tempIndexBuffers[r]),o.bufferData(34963,1<<r,35048),o.bindBuffer(34963,a),s.currentContext.tempIndexBuffers[r]},newRenderingFrameStarted:()=>{if(s.currentContext){var e=s.currentContext.tempVertexBuffers1;s.currentContext.tempVertexBuffers1=s.currentContext.tempVertexBuffers2,s.currentContext.tempVertexBuffers2=e,e=s.currentContext.tempVertexBufferCounters1,s.currentContext.tempVertexBufferCounters1=s.currentContext.tempVertexBufferCounters2,s.currentContext.tempVertexBufferCounters2=e;for(var r=s.log2ceilLookup(s.MAX_TEMP_BUFFER_SIZE),t=0;t<=r;++t)s.currentContext.tempVertexBufferCounters1[t]=0}},getSource:(e,r,t,a)=>{for(var f="",u=0;u<r;++u){var m=a?L[a+u*4>>2]:void 0;f+=K(L[t+u*4>>2],m)}return f},calcBufLength:(e,r,t,a)=>{if(t>0)return a*t;var f=s.byteSizeByType[r-s.byteSizeByTypeRoot];return e*f*a},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:e=>{s.resetBufferBinding=!1;for(var r=0;r<s.currentContext.maxVertexAttribs;++r){var t=s.currentContext.clientBuffers[r];if(!(!t.clientside||!t.enabled)){s.resetBufferBinding=!0;var a=s.calcBufLength(t.size,t.type,t.stride,e),f=s.getTempVertexBuffer(a);o.bindBuffer(34962,f),o.bufferSubData(34962,0,w.subarray(t.ptr,t.ptr+a)),t.vertexAttribPointerAdaptor.call(o,r,t.size,t.type,t.normalized,t.stride,0)}}},postDrawHandleClientVertexAttribBindings:()=>{s.resetBufferBinding&&o.bindBuffer(34962,s.buffers[o.currentArrayBufferBinding])},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){let f=function(u,m){var g=e.getContextSafariWebGL2Fixed(u,m);return u=="webgl"==g instanceof WebGLRenderingContext?g:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=f}var t=e.getContext("webgl2",r);if(!t)return 0;var a=s.registerContext(t,r);return a},registerContext:(e,r)=>{var t=s.getNewId(s.contexts),a={handle:t,attributes:r,version:r.majorVersion,GLctx:e};e.canvas&&(e.canvas.GLctxObject=a),s.contexts[t]=a,(typeof r.enableExtensionsByDefault>"u"||r.enableExtensionsByDefault)&&s.initExtensions(a),a.maxVertexAttribs=a.GLctx.getParameter(34921),a.clientBuffers=[];for(var f=0;f<a.maxVertexAttribs;f++)a.clientBuffers[f]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return s.generateTempBuffers(!1,a),t},makeContextCurrent:e=>{var r;return s.currentContext=s.contexts[e],c.ctx=o=(r=s.currentContext)==null?void 0:r.GLctx,!(e&&!o)},getContext:e=>s.contexts[e],deleteContext:e=>{var r;s.currentContext===s.contexts[e]&&(s.currentContext=null),typeof JSEvents=="object"&&JSEvents.removeAllHandlersOnTarget(s.contexts[e].GLctx.canvas),(r=s.contexts[e])!=null&&r.GLctx.canvas&&(s.contexts[e].GLctx.canvas.GLctxObject=void 0),s.contexts[e]=null},initExtensions:e=>{if(e||(e=s.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;Ne(r),We(r),Me(r),Oe(r),Ie(r),Ve(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),me(r).forEach(t=>{!t.includes("lose_context")&&!t.includes("debug")&&r.getExtension(t)})}}},Xe=e=>o.activeTexture(e),ze=(e,r)=>{o.attachShader(s.programs[e],s.shaders[r])},Ze=(e,r)=>{if(r&&!s.buffers[r]){var t=o.createBuffer();t.name=r,s.buffers[r]=t}e==34962?o.currentArrayBufferBinding=r:e==34963&&(o.currentElementArrayBufferBinding=r),e==35051?o.currentPixelPackBufferBinding=r:e==35052&&(o.currentPixelUnpackBufferBinding=r),o.bindBuffer(e,s.buffers[r])},$e=(e,r,t)=>{o.bindBufferBase(e,r,s.buffers[t])},Qe=(e,r,t,a,f)=>{o.bindBufferRange(e,r,s.buffers[t],a,f)},Ye=(e,r)=>{o.bindFramebuffer(e,s.framebuffers[r])},Je=(e,r)=>{o.bindRenderbuffer(e,s.renderbuffers[r])},Ke=(e,r)=>{o.bindSampler(e,s.samplers[r])},qe=(e,r)=>{o.bindTexture(e,s.textures[r])},er=e=>{o.bindVertexArray(s.vaos[e]);var r=o.getParameter(34965);o.currentElementArrayBufferBinding=r?r.name|0:0},rr=(e,r,t,a)=>o.blendColor(e,r,t,a),tr=(e,r)=>o.blendEquationSeparate(e,r),nr=(e,r,t,a)=>o.blendFuncSeparate(e,r,t,a),ar=(e,r,t,a,f,u,m,g,y,h)=>o.blitFramebuffer(e,r,t,a,f,u,m,g,y,h),ir=(e,r,t,a)=>{{t&&r?o.bufferData(e,w,a,t,r):o.bufferData(e,r,a);return}},cr=(e,r,t,a)=>{{t&&o.bufferSubData(e,r,w,a,t);return}},sr=e=>o.checkFramebufferStatus(e),or=(e,r,t,a)=>o.clearBufferfi(e,r,t,a),lr=(e,r,t)=>{o.clearBufferfv(e,r,C,t>>2)},fr=(e,r,t)=>{o.clearBufferiv(e,r,S,t>>2)},dr=(e,r,t,a)=>{o.colorMask(!!e,!!r,!!t,!!a)},ur=e=>{o.compileShader(s.shaders[e])},_r=(e,r,t,a,f,u,m,g,y)=>{{if(o.currentPixelUnpackBufferBinding||!g){o.compressedTexSubImage2D(e,r,t,a,f,u,m,g,y);return}o.compressedTexSubImage2D(e,r,t,a,f,u,m,w,y,g);return}},mr=(e,r,t,a,f,u,m,g,y,h,A)=>{o.currentPixelUnpackBufferBinding?o.compressedTexSubImage3D(e,r,t,a,f,u,m,g,y,h,A):o.compressedTexSubImage3D(e,r,t,a,f,u,m,g,y,w,A,h)},vr=()=>{var e=s.getNewId(s.programs),r=o.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,s.programs[e]=r,e},gr=e=>{var r=s.getNewId(s.shaders);return s.shaders[r]=o.createShader(e),r},pr=e=>o.cullFace(e),yr=(e,r)=>{for(var t=0;t<e;t++){var a=S[r+t*4>>2],f=s.buffers[a];f&&(o.deleteBuffer(f),f.name=0,s.buffers[a]=null,a==o.currentArrayBufferBinding&&(o.currentArrayBufferBinding=0),a==o.currentElementArrayBufferBinding&&(o.currentElementArrayBufferBinding=0),a==o.currentPixelPackBufferBinding&&(o.currentPixelPackBufferBinding=0),a==o.currentPixelUnpackBufferBinding&&(o.currentPixelUnpackBufferBinding=0))}},hr=(e,r)=>{for(var t=0;t<e;++t){var a=S[r+t*4>>2],f=s.framebuffers[a];f&&(o.deleteFramebuffer(f),f.name=0,s.framebuffers[a]=null)}},Sr=e=>{if(e){var r=s.programs[e];if(!r){s.recordError(1281);return}o.deleteProgram(r),r.name=0,s.programs[e]=null}},br=(e,r)=>{for(var t=0;t<e;t++){var a=S[r+t*4>>2],f=s.renderbuffers[a];f&&(o.deleteRenderbuffer(f),f.name=0,s.renderbuffers[a]=null)}},Br=(e,r)=>{for(var t=0;t<e;t++){var a=S[r+t*4>>2],f=s.samplers[a];f&&(o.deleteSampler(f),f.name=0,s.samplers[a]=null)}},xr=e=>{if(e){var r=s.shaders[e];if(!r){s.recordError(1281);return}o.deleteShader(r),s.shaders[e]=null}},Pr=(e,r)=>{for(var t=0;t<e;t++){var a=S[r+t*4>>2],f=s.textures[a];f&&(o.deleteTexture(f),f.name=0,s.textures[a]=null)}},Ar=(e,r)=>{for(var t=0;t<e;t++){var a=S[r+t*4>>2];o.deleteVertexArray(s.vaos[a]),s.vaos[a]=null}},Cr=e=>o.depthFunc(e),Er=e=>{o.depthMask(!!e)},wr=e=>o.disable(e),Tr=e=>{var r=s.currentContext.clientBuffers[e];r.enabled=!1,o.disableVertexAttribArray(e)},Lr=(e,r,t)=>{s.preDrawHandleClientVertexAttribBindings(r+t),o.drawArrays(e,r,t),s.postDrawHandleClientVertexAttribBindings()},Fr=(e,r,t,a)=>{o.drawArraysInstanced(e,r,t,a)},se=[],Gr=(e,r)=>{for(var t=se[e],a=0;a<e;a++)t[a]=S[r+a*4>>2];o.drawBuffers(t)},Rr=(e,r,t,a)=>{var f,u=0;if(!o.currentElementArrayBufferBinding){var m=s.calcBufLength(1,t,0,r);if(f=s.getTempIndexBuffer(m),o.bindBuffer(34963,f),o.bufferSubData(34963,0,w.subarray(a,a+m)),r>0)for(var g=0;g<s.currentContext.maxVertexAttribs;++g){var y=s.currentContext.clientBuffers[g];if(y.clientside&&y.enabled){let h;switch(t){case 5121:h=Uint8Array;break;case 5123:h=Uint16Array;break;case 5125:h=Uint32Array;break;default:s.recordError(1282);return}u=new h(w.buffer,a,r).reduce((A,U)=>Math.max(A,U))+1;break}}a=0}s.preDrawHandleClientVertexAttribBindings(u),o.drawElements(e,r,t,a),s.postDrawHandleClientVertexAttribBindings(r),o.currentElementArrayBufferBinding||o.bindBuffer(34963,null)},Ur=(e,r,t,a,f)=>{o.drawElementsInstanced(e,r,t,a,f)},Dr=e=>o.enable(e),kr=e=>{var r=s.currentContext.clientBuffers[e];r.enabled=!0,o.enableVertexAttribArray(e)},Ir=(e,r,t,a)=>{o.framebufferRenderbuffer(e,r,t,s.renderbuffers[a])},Vr=(e,r,t,a,f)=>{o.framebufferTexture2D(e,r,t,s.textures[a],f)},Wr=(e,r,t,a,f)=>{o.framebufferTextureLayer(e,r,s.textures[t],a,f)},Mr=e=>o.frontFace(e),Or=(e,r)=>{s.genObject(e,r,"createBuffer",s.buffers)},Nr=(e,r)=>{s.genObject(e,r,"createFramebuffer",s.framebuffers)},jr=(e,r)=>{s.genObject(e,r,"createRenderbuffer",s.renderbuffers)},Hr=(e,r)=>{s.genObject(e,r,"createSampler",s.samplers)},Xr=(e,r)=>{s.genObject(e,r,"createTexture",s.textures)},zr=(e,r)=>{s.genObject(e,r,"createVertexArray",s.vaos)},Zr=(e,r)=>o.getAttribLocation(s.programs[e],K(r)),$r=(e,r)=>{L[e>>2]=r;var t=L[e>>2];L[e+4>>2]=(r-t)/4294967296},ge=()=>{var e=me(o);return e=e.concat(e.map(r=>"GL_"+r)),e},Qr=(e,r,t)=>{if(!r){s.recordError(1281);return}var a=void 0;switch(e){case 36346:a=1;break;case 36344:return;case 34814:case 36345:a=0;break;case 34466:var f=o.getParameter(34467);a=f?f.length:0;break;case 33309:if(s.currentContext.version<2){s.recordError(1282);return}a=ge().length;break;case 33307:case 33308:if(s.currentContext.version<2){s.recordError(1280);return}a=e==33307?3:0;break}if(a===void 0){var u=o.getParameter(e);switch(typeof u){case"number":a=u;break;case"boolean":a=u?1:0;break;case"string":s.recordError(1280);return;case"object":if(u===null)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{a=0;break}default:{s.recordError(1280);return}}else if(u instanceof Float32Array||u instanceof Uint32Array||u instanceof Int32Array||u instanceof Array){for(var m=0;m<u.length;++m)switch(t){case 0:S[r+m*4>>2]=u[m];break;case 2:C[r+m*4>>2]=u[m];break;case 4:R[r+m]=u[m]?1:0;break}return}else try{a=u.name|0}catch(g){s.recordError(1280),k(`GL_INVALID_ENUM in glGet${t}v: Unknown object returned from WebGL getParameter(${e})! (error: ${g})`);return}break;default:s.recordError(1280),k(`GL_INVALID_ENUM in glGet${t}v: Native code calling glGet${t}v(${e}) and it returns ${u} of type ${typeof u}!`);return}}switch(t){case 1:$r(r,a);break;case 0:S[r>>2]=a;break;case 2:C[r>>2]=a;break;case 4:R[r]=a?1:0;break}},Yr=(e,r)=>Qr(e,r,0),Jr=(e,r,t,a)=>{var f=o.getProgramInfoLog(s.programs[e]);f===null&&(f="(unknown error)");var u=r>0&&a?ae(f,a,r):0;t&&(S[t>>2]=u)},Kr=(e,r,t)=>{if(!t){s.recordError(1281);return}if(e>=s.counter){s.recordError(1281);return}if(e=s.programs[e],r==35716){var a=o.getProgramInfoLog(e);a===null&&(a="(unknown error)"),S[t>>2]=a.length+1}else if(r==35719){if(!e.maxUniformLength)for(var f=o.getProgramParameter(e,35718),u=0;u<f;++u)e.maxUniformLength=Math.max(e.maxUniformLength,o.getActiveUniform(e,u).name.length+1);S[t>>2]=e.maxUniformLength}else if(r==35722){if(!e.maxAttributeLength)for(var m=o.getProgramParameter(e,35721),u=0;u<m;++u)e.maxAttributeLength=Math.max(e.maxAttributeLength,o.getActiveAttrib(e,u).name.length+1);S[t>>2]=e.maxAttributeLength}else if(r==35381){if(!e.maxUniformBlockNameLength)for(var g=o.getProgramParameter(e,35382),u=0;u<g;++u)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,o.getActiveUniformBlockName(e,u).length+1);S[t>>2]=e.maxUniformBlockNameLength}else S[t>>2]=o.getProgramParameter(e,r)},qr=(e,r,t,a)=>{if(!(a>0))return 0;for(var f=t,u=t+a-1,m=0;m<e.length;++m){var g=e.charCodeAt(m);if(g>=55296&&g<=57343){var y=e.charCodeAt(++m);g=65536+((g&1023)<<10)|y&1023}if(g<=127){if(t>=u)break;r[t++]=g}else if(g<=2047){if(t+1>=u)break;r[t++]=192|g>>6,r[t++]=128|g&63}else if(g<=65535){if(t+2>=u)break;r[t++]=224|g>>12,r[t++]=128|g>>6&63,r[t++]=128|g&63}else{if(t+3>=u)break;r[t++]=240|g>>18,r[t++]=128|g>>12&63,r[t++]=128|g>>6&63,r[t++]=128|g&63}}return r[t]=0,t-f},ae=(e,r,t)=>qr(e,w,r,t),et=(e,r,t,a)=>{var f=o.getShaderInfoLog(s.shaders[e]);f===null&&(f="(unknown error)");var u=r>0&&a?ae(f,a,r):0;t&&(S[t>>2]=u)},rt=(e,r,t)=>{if(!t){s.recordError(1281);return}if(r==35716){var a=o.getShaderInfoLog(s.shaders[e]);a===null&&(a="(unknown error)");var f=a?a.length+1:0;S[t>>2]=f}else if(r==35720){var u=o.getShaderSource(s.shaders[e]),m=u?u.length+1:0;S[t>>2]=m}else S[t>>2]=o.getShaderParameter(s.shaders[e],r)},tt=e=>{for(var r=0,t=0;t<e.length;++t){var a=e.charCodeAt(t);a<=127?r++:a<=2047?r+=2:a>=55296&&a<=57343?(r+=4,++t):r+=3}return r},nt=e=>{var r=tt(e)+1,t=$t(r);return t&&ae(e,t,r),t},at=(e,r)=>{if(s.currentContext.version<2)return s.recordError(1282),0;var t=s.stringiCache[e];if(t)return r<0||r>=t.length?(s.recordError(1281),0):t[r];switch(e){case 7939:var a=ge().map(nt);return t=s.stringiCache[e]=a,r<0||r>=t.length?(s.recordError(1281),0):t[r];default:return s.recordError(1280),0}},it=e=>parseInt(e),pe=e=>e.slice(-1)=="]"&&e.lastIndexOf("["),ct=e=>{var r=e.uniformLocsById,t=e.uniformSizeAndIdsByName,a,f;if(!r){e.uniformLocsById=r={},e.uniformArrayNamesById={};var u=o.getProgramParameter(e,35718);for(a=0;a<u;++a){var m=o.getActiveUniform(e,a),g=m.name,y=m.size,h=pe(g),A=h>0?g.slice(0,h):g,U=e.uniformIdCounter;for(e.uniformIdCounter+=y,t[A]=[y,U],f=0;f<y;++f)r[U]=f,e.uniformArrayNamesById[U++]=A}}},st=(e,r)=>{if(r=K(r),e=s.programs[e]){ct(e);var t=e.uniformLocsById,a=0,f=r,u=pe(r);u>0&&(a=it(r.slice(u+1))>>>0,f=r.slice(0,u));var m=e.uniformSizeAndIdsByName[f];if(m&&a<m[0]&&(a+=m[1],t[a]=t[a]||o.getUniformLocation(e,r)))return a}else s.recordError(1281);return-1},ot=(e,r,t)=>{for(var a=se[r],f=0;f<r;f++)a[f]=S[t+f*4>>2];o.invalidateFramebuffer(e,a)},lt=e=>{e=s.programs[e],o.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},ft=(e,r)=>{e==3317?s.unpackAlignment=r:e==3314&&(s.unpackRowLength=r),o.pixelStorei(e,r)},dt=(e,r)=>o.polygonOffset(e,r),ut=e=>o.readBuffer(e),_t=(e,r,t,a,f)=>o.renderbufferStorageMultisample(e,r,t,a,f),mt=(e,r,t)=>{o.samplerParameterf(s.samplers[e],r,t)},vt=(e,r,t)=>{o.samplerParameteri(s.samplers[e],r,t)},gt=(e,r,t,a)=>o.scissor(e,r,t,a),pt=(e,r,t,a)=>{var f=s.getSource(e,r,t,a);o.shaderSource(s.shaders[e],f)},yt=(e,r,t)=>o.stencilFunc(e,r,t),ht=(e,r,t,a)=>o.stencilFuncSeparate(e,r,t,a),St=e=>o.stencilMask(e),bt=(e,r,t)=>o.stencilOp(e,r,t),Bt=(e,r,t,a)=>o.stencilOpSeparate(e,r,t,a),xt=(e,r,t,a,f)=>o.texStorage2D(e,r,t,a,f),Pt=(e,r,t,a,f,u)=>o.texStorage3D(e,r,t,a,f,u),At=(e,r,t)=>{function a(m,g){return m+g-1&-g}var f=(s.unpackRowLength||e)*t,u=a(f,s.unpackAlignment);return r*u},Ct=e=>{var r={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return r[e-6402]||1},oe=e=>(e-=5120,e==0?R:e==1?w:e==2?j:e==4?S:e==6?C:e==5||e==28922||e==28520||e==30779||e==30782?L:Q),ie=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),Et=(e,r,t,a,f,u)=>{var m=oe(e),g=Ct(r)*m.BYTES_PER_ELEMENT,y=At(t,a,g);return m.subarray(ie(f,m),ie(f+y,m))},wt=(e,r,t,a,f,u,m,g,y)=>{{if(o.currentPixelUnpackBufferBinding){o.texSubImage2D(e,r,t,a,f,u,m,g,y);return}if(y){var h=oe(g);o.texSubImage2D(e,r,t,a,f,u,m,g,h,ie(y,h));return}}var A=y?Et(g,m,f,u,y):null;o.texSubImage2D(e,r,t,a,f,u,m,g,A)},Tt=(e,r,t,a,f,u,m,g,y,h,A)=>{if(o.currentPixelUnpackBufferBinding)o.texSubImage3D(e,r,t,a,f,u,m,g,y,h,A);else if(A){var U=oe(h);o.texSubImage3D(e,r,t,a,f,u,m,g,y,h,U,ie(A,U))}else o.texSubImage3D(e,r,t,a,f,u,m,g,y,h,null)},V=e=>{var r=o.currentProgram;if(r){var t=r.uniformLocsById[e];return typeof t=="number"&&(r.uniformLocsById[e]=t=o.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?`[${t}]`:""))),t}else s.recordError(1282)},Lt=(e,r,t)=>{r&&o.uniform1fv(V(e),C,t>>2,r)},Ft=(e,r)=>{o.uniform1i(V(e),r)},Gt=(e,r,t)=>{r&&o.uniform1iv(V(e),S,t>>2,r)},Rt=(e,r,t)=>{r&&o.uniform2fv(V(e),C,t>>2,r*2)},Ut=(e,r,t)=>{r&&o.uniform2iv(V(e),S,t>>2,r*2)},Dt=(e,r,t)=>{r&&o.uniform3fv(V(e),C,t>>2,r*3)},kt=(e,r,t)=>{r&&o.uniform3iv(V(e),S,t>>2,r*3)},It=(e,r,t)=>{r&&o.uniform4fv(V(e),C,t>>2,r*4)},Vt=(e,r,t)=>{r&&o.uniform4iv(V(e),S,t>>2,r*4)},Wt=(e,r,t,a)=>{r&&o.uniformMatrix4fv(V(e),!!t,C,a>>2,r*16)},Mt=e=>{e=s.programs[e],o.useProgram(e),o.currentProgram=e},Ot=(e,r)=>{o.vertexAttribDivisor(e,r)},Nt=(e,r,t,a,f)=>{var u=s.currentContext.clientBuffers[e];if(!o.currentArrayBufferBinding){u.size=r,u.type=t,u.normalized=!1,u.stride=a,u.ptr=f,u.clientside=!0,u.vertexAttribPointerAdaptor=function(m,g,y,h,A,U){this.vertexAttribIPointer(m,g,y,A,U)};return}u.clientside=!1,o.vertexAttribIPointer(e,r,t,a,f)},jt=(e,r,t,a,f,u)=>{var m=s.currentContext.clientBuffers[e];if(!o.currentArrayBufferBinding){m.size=r,m.type=t,m.normalized=a,m.stride=f,m.ptr=u,m.clientside=!0,m.vertexAttribPointerAdaptor=function(g,y,h,A,U,Yt){this.vertexAttribPointer(g,y,h,A,U,Yt)};return}m.clientside=!1,o.vertexAttribPointer(e,r,t,!!a,f,u)},Ht=(e,r,t,a)=>o.viewport(e,r,t,a);je(()=>s.newRenderingFrameStarted());for(let e=0;e<32;++e)se.push(new Array(e));c.noExitRuntime&&c.noExitRuntime,c.print&&c.print,c.printErr&&(k=c.printErr),c.wasmBinary&&(W=c.wasmBinary),c.arguments&&c.arguments,c.thisProgram&&c.thisProgram,c.UTF8ToString=K,c.stringToUTF8=ae,c.GL=s;var Xt={10156:()=>{const e=c.creator2d_glContext||typeof window<"u"&&window.creator2d_glContext,r=c.creator2d_glOptions||typeof window<"u"&&window.creator2d_glOptions||{},t=s.registerContext(e,r);s.makeContextCurrent(t)}};function zt(e,r){const t=K(r);switch(e){case 0:console.error(t);break;case 1:console.error(t);break;case 2:console.warn(t);break;default:console.info(t);break}}var Zt={K:be,Xa:Be,Ea:xe,S:Pe,N:Ae,Ba:Ce,Wa:Te,ab:Ge,Va:_e,Ua:ke,q:Xe,t:ze,b:Ze,w:$e,wa:Qe,g:Ye,Ga:Je,p:Ke,f:qe,v:er,B:rr,C:tr,D:nr,ba:ar,Qa:ir,M:cr,Ya:sr,Aa:or,F:lr,za:fr,n:dr,$a:ur,Y:_r,W:mr,La:vr,U:gr,A:pr,Z:yr,u:hr,k:Sr,O:br,P:Br,j:xr,o:Pr,Sa:Ar,r:Cr,s:Er,c:wr,y:Tr,da:Lr,ea:Fr,G:Gr,fa:Rr,ha:Ur,e:Dr,sa:kr,i:Ir,h:Vr,Za:Wr,z:Mr,Ra:Or,R:Nr,Ha:jr,Ma:Hr,Pa:Xr,ga:zr,Ia:Zr,a:Yr,Ka:Jr,I:Kr,_a:et,Q:rt,ra:at,H:st,aa:ot,J:lt,Ta:ft,E:dt,ca:ut,Fa:_t,L:mt,d:vt,Ca:gt,T:pt,$:yt,ya:ht,m:St,_:bt,xa:Bt,Oa:xt,Na:Pt,X:wt,V:Tt,qa:Lt,Ja:Ft,ma:Gt,pa:Rt,la:Ut,oa:Dt,ka:kt,na:It,ja:Vt,ia:Wt,l:Mt,ta:Ot,ua:Nt,va:jt,Da:Ht,x:zt},_=await J();_.cb,c._creator2dVersion=_.db,c._c2dInit=_.eb,c._c2dInitMetal=_.fb,c._c2dInitHeadless=_.gb,c._c2dTickHeadless=_.hb,c._c2dReadDrawList=_.ib,c._c2dShutdown=_.jb,c._c2dSetViewport=_.kb,c._c2dSetDensity=_.lb,c._c2dSetClearColor=_.mb,c._c2dSetGLFramebuffer=_.nb,c._c2dResetStateCache=_.ob,c._c2dRender=_.pb,c._c2dRenderMetal=_.qb,c._c2dCreateScene=_.rb,c._c2dDestroyScene=_.sb,c._c2dOpenScene=_.tb,c._c2dCloseScene=_.ub,c._c2dSceneSetClearColor=_.vb,c._c2dAddEntityToScene=_.wb,c._c2dRemoveEntityFromScene=_.xb,c._c2dSetLayerYSort=_.yb,c._c2dCameraSetPosition=_.zb,c._c2dCameraSetZoom=_.Ab,c._c2dCameraSetRotation=_.Bb,c._c2dCameraScreenToWorld=_.Cb,c._c2dCameraWorldToScreen=_.Db,c._c2dCreateEntity=_.Eb,c._c2dDestroyEntity=_.Fb,c._c2dSetParent=_.Gb,c._c2dSetPosition=_.Hb,c._c2dSetRotation=_.Ib,c._c2dSetScale=_.Jb,c._c2dSetLayer=_.Kb,c._c2dSetZ=_.Lb,c._c2dSetVisible=_.Mb,c._c2dGetPosition=_.Nb,c._c2dGetParent=_.Ob,c._c2dGetChildCount=_.Pb,c._c2dGetChild=_.Qb,c._c2dGetWorldPosition=_.Rb,c._c2dGetWorldMatrix=_.Sb,c._c2dWorldToLocal=_.Tb,c._c2dLocalToWorld=_.Ub,c._c2dGetLocalTransform=_.Vb,c._c2dPickSprite=_.Wb,c._c2dSetSprite=_.Xb,c._c2dSetSpriteFrame=_.Yb,c._c2dSetSpriteFramePx=_.Zb,c._c2dSetSpriteSize=_._b,c._c2dSetSpriteAnchor=_.$b,c._c2dSetSpriteColor=_.ac,c._c2dSetSpriteOpacity=_.bc,c._c2dSetSpriteFlip=_.cc,c._c2dSetDefaultFilter=_.dc,c._c2dBulkSetPositions=_.ec,c._c2dCreateTexture=_.fc,c._c2dCreateTextureFromRGBA=_.gc,c._c2dUpdateTextureFromRGBA=_.hc,c._c2dGetTextureWidth=_.ic,c._c2dGetTextureHeight=_.jc,c._c2dDestroyTexture=_.kc,c._c2dDefineAnimation=_.lc,c._c2dPlayAnimation=_.mc,c._c2dStopAnimation=_.nc,c._c2dSetAnimationSpeed=_.oc,c._c2dGetAnimationFrame=_.pc,c._c2dCreateTilemap=_.qc,c._c2dSetTile=_.rc,c._free=_.sc;var $t=c._malloc=_.tc;c._c2dPhysicsHasSupport=_.uc,c._c2dSetInterpolation=_.vc,c._c2dPhysicsConfigure=_.wc,c._c2dPhysicsCreateBody=_.xc,c._c2dPhysicsRemoveBody=_.yc,c._c2dPhysicsAddBox=_.zc,c._c2dPhysicsAddCircle=_.Ac,c._c2dPhysicsAddCapsule=_.Bc,c._c2dPhysicsAddSegment=_.Cc,c._c2dPhysicsAddPolygon=_.Dc,c._c2dPhysicsSetLinearVelocity=_.Ec,c._c2dPhysicsGetLinearVelocity=_.Fc,c._c2dPhysicsSetAngularVelocity=_.Gc,c._c2dPhysicsApplyLinearImpulse=_.Hc,c._c2dPhysicsApplyForce=_.Ic,c._c2dPhysicsSetTransform=_.Jc,c._c2dPhysicsSetFixedRotation=_.Kc,c._c2dPhysicsSetGravityScale=_.Lc,c._c2dPhysicsSetLinearDamping=_.Mc,c._c2dPhysicsSetBullet=_.Nc,c._c2dPhysicsSetEnabled=_.Oc,c._c2dPhysicsRaycastClosest=_.Pc,c._c2dPhysicsOverlapPoint=_.Qc;function le(){if(I>0){O=le;return}if(re(),I>0){O=le;return}function e(){var r;c.calledRun=!0,!T&&(te(),ee(c),(r=c.onRuntimeInitialized)==null||r.call(c),ne())}c.setStatus?(c.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>c.setStatus(""),1),e()},1)):e()}function Qt(){if(c.preInit)for(typeof c.preInit=="function"&&(c.preInit=[c.preInit]);c.preInit.length>0;)c.preInit.shift()()}return Qt(),le(),q=$,q});const en=""+new URL("creator2d-BtQ-1_B0.wasm",import.meta.url).href,tn=async(E,q={},c)=>{const ee=await fetch(en).then(n=>n.arrayBuffer()),X={alpha:!1,depth:!0,stencil:!0,antialias:!1,premultipliedAlpha:!1,desynchronized:!1,powerPreference:"high-performance",failIfMajorPerformanceCaveat:!1,majorVersion:2,minorVersion:0},$=E.getContext("webgl2",X);window.creator2d_glContext=$,window.creator2d_glOptions=X;const l=await qt({wasmBinary:ee,canvas:E});l._c2dInit(),q.linearFilter&&l._c2dSetDefaultFilter(!0),l._c2dSetViewport(E.width,E.height);let G=1;const z=new Map,D=(n,i)=>{const d=l._malloc(n.length*4);l.HEAPF32.set(n,d/4);try{return i(d)}finally{l._free(d)}},k=192,W=l._malloc(k*4),N=new Float32Array(k),T=(n,i)=>{i(W);const d=W>>2,v=l.HEAPF32;for(let p=0;p<n;p++)N[p]=v[d+p];return N},R=new Set;let w=!1,j=0;const Q=n=>{if(!w)return;const i=j===0?0:Math.min(.05,(n-j)/1e3);j=n;for(const d of R)d(i);l._c2dRender(n),requestAnimationFrame(Q)},S=()=>{w||(w=!0,j=0,E.style.display="block",requestAnimationFrame(Q))},L=()=>{w=!1};let C=null;const M=new Set,H=n=>{const i=E.getBoundingClientRect(),d=Kt(E);return[(n.clientX-i.left)/d,(n.clientY-i.top)/d]},Y=n=>{if(!C)return;M.add(n.pointerId);try{E.setPointerCapture(n.pointerId)}catch{}const[i,d]=H(n);C(0,n.pointerId,i,d)},re=n=>{if(!C||!M.has(n.pointerId))return;const[i,d]=H(n);C(1,n.pointerId,i,d)},te=n=>{if(!C||!M.delete(n.pointerId))return;const[i,d]=H(n);C(2,n.pointerId,i,d)},ne=n=>{if(!C||!M.delete(n.pointerId))return;const[i,d]=H(n);C(3,n.pointerId,i,d)};let I=!1;const O=n=>{n!==I&&(I=n,n?(E.addEventListener("pointerdown",Y),window.addEventListener("pointermove",re),window.addEventListener("pointerup",te),window.addEventListener("pointercancel",ne)):(E.removeEventListener("pointerdown",Y),window.removeEventListener("pointermove",re),window.removeEventListener("pointerup",te),window.removeEventListener("pointercancel",ne)))};return{_renderNow:()=>w?(l._c2dRender(performance.now()),!0):!1,backend:"sokol",version:()=>l._creator2dVersion(),render:n=>l._c2dRender(n),onUpdate:n=>{R.add(n)},offUpdate:n=>{R.delete(n)},setOnAnimEvent:n=>{l.onAnimEvent=(i,d,v)=>n({entityId:i,clipId:d,type:v})},setEarlyUpdate:n=>{l.onEarlyUpdate=n},setLateUpdate:n=>{l.onLateUpdate=n},...l._c2dSetTimeScale?{setTimeScale:n=>l._c2dSetTimeScale(n)}:{},setOnPointer:n=>{C=n,O(!0)},setClearColor:(n,i,d,v)=>l._c2dSetClearColor(n,i,d,v),createScene:()=>{const n=l._c2dCreateScene();return z.set(n,1),l._c2dCameraSetZoom(n,G),n},destroyScene:n=>{z.delete(n),l._c2dDestroyScene(n)},openScene:n=>{l._c2dOpenScene(n),S()},closeScene:()=>{l._c2dCloseScene(),L(),E.style.display="none"},sceneSetClearColor:(n,i,d,v,p)=>l._c2dSceneSetClearColor(n,i,d,v,p),addEntityToScene:(n,i)=>l._c2dAddEntityToScene(n,i),removeEntityFromScene:(n,i)=>l._c2dRemoveEntityFromScene(n,i),setLayerYSort:(n,i,d)=>l._c2dSetLayerYSort(n,i,d),cameraSetPosition:(n,i,d)=>l._c2dCameraSetPosition(n,i,d),cameraSetZoom:(n,i)=>{z.set(n,i),l._c2dCameraSetZoom(n,i*G)},cameraSetRotation:(n,i)=>l._c2dCameraSetRotation(n,i),cameraScreenToWorld:(n,i,d)=>T(2,v=>l._c2dCameraScreenToWorld(n,i*G,d*G,v)),cameraWorldToScreen:(n,i,d)=>{const v=T(2,p=>l._c2dCameraWorldToScreen(n,i,d,p));return v[0]/=G,v[1]/=G,v},createEntity:()=>l._c2dCreateEntity(),destroyEntity:n=>l._c2dDestroyEntity(n),setPosition:(n,i,d)=>l._c2dSetPosition(n,i,d),setRotation:(n,i)=>l._c2dSetRotation(n,i),setScale:(n,i,d)=>l._c2dSetScale(n,i,d),setLayer:(n,i)=>l._c2dSetLayer(n,i),setZ:(n,i)=>l._c2dSetZ(n,i),setVisible:(n,i)=>l._c2dSetVisible(n,i),getPosition:n=>T(2,i=>l._c2dGetPosition(n,i)),setParent:(n,i,d)=>l._c2dSetParent(n,i,d),getParent:n=>l._c2dGetParent(n),getChildCount:n=>l._c2dGetChildCount(n),getChild:(n,i)=>l._c2dGetChild(n,i),getWorldPosition:n=>T(2,i=>l._c2dGetWorldPosition(n,i)),getWorldMatrix:n=>T(6,i=>l._c2dGetWorldMatrix(n,i)),worldToLocal:(n,i,d)=>T(2,v=>l._c2dWorldToLocal(n,i,d,v)),localToWorld:(n,i,d)=>T(2,v=>l._c2dLocalToWorld(n,i,d,v)),getLocalTransform:n=>T(5,i=>l._c2dGetLocalTransform(n,i)),setSprite:(n,i)=>l._c2dSetSprite(n,i),setSpriteFrame:(n,i,d,v,p)=>l._c2dSetSpriteFrame(n,i,d,v,p),setSpriteFramePx:(n,i,d,v,p)=>l._c2dSetSpriteFramePx(n,i,d,v,p),setSpriteSize:(n,i,d)=>l._c2dSetSpriteSize(n,i,d),setSpriteAnchor:(n,i,d)=>l._c2dSetSpriteAnchor(n,i,d),setSpriteColor:(n,i,d,v)=>l._c2dSetSpriteColor(n,i,d,v),setSpriteOpacity:(n,i)=>l._c2dSetSpriteOpacity(n,i),setSpriteFlip:(n,i,d)=>l._c2dSetSpriteFlip(n,i,d),createTexture:(n,i,d)=>{try{const v=Jt(n),p=new Uint8Array(v),b=l._malloc(p.length);l.HEAPU8.set(p,b);const B=l._c2dCreateTexture(b,p.length);if(l._free(b),B===0){d(new Error("creator-2d: texture decode failed"));return}i(B,l._c2dGetTextureWidth(B),l._c2dGetTextureHeight(B))}catch(v){d(v)}},getTextureWidth:n=>l._c2dGetTextureWidth(n),getTextureHeight:n=>l._c2dGetTextureHeight(n),destroyTexture:n=>l._c2dDestroyTexture(n),setDefaultFilter:n=>l._c2dSetDefaultFilter(n),createTextureFromCanvas:n=>{const i=c==null?void 0:c.readSurface(n);if(!i)return 0;const d=new Uint8Array(i.data.buffer,i.data.byteOffset,i.data.byteLength),v=l._malloc(d.length);l.HEAPU8.set(d,v);const p=l._c2dCreateTextureFromRGBA(v,i.width,i.height);return l._free(v),p},updateTextureFromCanvas:(n,i)=>{const d=c==null?void 0:c.readSurface(i);if(!d)return;const v=new Uint8Array(d.data.buffer,d.data.byteOffset,d.data.byteLength),p=l._malloc(v.length);l.HEAPU8.set(v,p),l._c2dUpdateTextureFromRGBA(n,p,d.width,d.height),l._free(p)},defineAnimation:(n,i,d,v)=>D(i,p=>l._c2dDefineAnimation(n,p,i.length/4,d,v)),playAnimation:(n,i)=>l._c2dPlayAnimation(n,i),stopAnimation:n=>l._c2dStopAnimation(n),setAnimationSpeed:(n,i)=>l._c2dSetAnimationSpeed(n,i),getAnimationFrame:n=>l._c2dGetAnimationFrame(n),createTilemap:(n,i,d,v,p,b,B,x)=>{const P=l._malloc(x.length*4);l.HEAPU32.set(new Uint32Array(x.buffer,x.byteOffset,x.length),P/4);const F=l._c2dCreateTilemap(n,i,d,v,p,b,B,P);return l._free(P),F},setTile:(n,i,d,v)=>l._c2dSetTile(n,i,d,v),bulkSetPositions:(n,i,d)=>{const v=l._malloc(n.length*4),p=l._malloc(i.length*4);l.HEAPU32.set(n,v/4),l.HEAPF32.set(i,p/4),l._c2dBulkSetPositions(v,p,d),l._free(v),l._free(p)},physicsHasSupport:()=>!!l._c2dPhysicsHasSupport&&!!l._c2dPhysicsHasSupport(),physicsConfigure:(n,i,d,v)=>l._c2dPhysicsConfigure(n,i,d,v),setInterpolation:n=>{var i;return(i=l._c2dSetInterpolation)==null?void 0:i.call(l,n)},setOnPhysicsEvent:n=>{l.onPhysicsEvent=n},physicsCreateBody:(n,i)=>l._c2dPhysicsCreateBody(n,i),physicsRemoveBody:n=>l._c2dPhysicsRemoveBody(n),physicsAddBox:(n,i,d,v,p,b,B,x,P,F)=>l._c2dPhysicsAddBox(n,i,d,v,p,b,B,x,P,F),physicsAddCircle:(n,i,d,v,p,b,B,x,P)=>l._c2dPhysicsAddCircle(n,i,d,v,p,b,B,x,P),physicsAddCapsule:(n,i,d,v,p,b,B,x,P,F,J)=>l._c2dPhysicsAddCapsule(n,i,d,v,p,b,B,x,P,F,J),physicsAddSegment:(n,i,d,v,p,b,B,x,P)=>l._c2dPhysicsAddSegment(n,i,d,v,p,b,B,x,P),physicsAddPolygon:(n,i,d,v,p,b,B,x)=>D(i,P=>l._c2dPhysicsAddPolygon(n,P,d,v,p,b,B,x)),physicsAddChain:(n,i,d,v,p,b,B,x)=>D(i,P=>l._c2dPhysicsAddChain(n,P,d,v,p,b,B,x)),physicsClearShapes:n=>l._c2dPhysicsClearShapes(n),physicsSetContactEvents:(n,i)=>l._c2dPhysicsSetContactEvents(n,i),physicsSetLinearVelocity:(n,i,d)=>l._c2dPhysicsSetLinearVelocity(n,i,d),physicsGetLinearVelocity:n=>T(2,i=>l._c2dPhysicsGetLinearVelocity(n,i)),physicsSetAngularVelocity:(n,i)=>l._c2dPhysicsSetAngularVelocity(n,i),physicsGetAngularVelocity:n=>l._c2dPhysicsGetAngularVelocity(n),physicsApplyLinearImpulse:(n,i,d)=>l._c2dPhysicsApplyLinearImpulse(n,i,d),physicsApplyImpulseAt:(n,i,d,v,p)=>l._c2dPhysicsApplyImpulseAt(n,i,d,v,p),physicsApplyForce:(n,i,d)=>l._c2dPhysicsApplyForce(n,i,d),physicsSetFromEntity:n=>l._c2dPhysicsSetFromEntity(n),physicsSetFixedRotation:(n,i)=>l._c2dPhysicsSetFixedRotation(n,i),physicsSetGravityScale:(n,i)=>l._c2dPhysicsSetGravityScale(n,i),physicsSetLinearDamping:(n,i)=>l._c2dPhysicsSetLinearDamping(n,i),physicsSetAngularDamping:(n,i)=>l._c2dPhysicsSetAngularDamping(n,i),physicsSetBullet:(n,i)=>l._c2dPhysicsSetBullet(n,i),physicsSetEnabled:(n,i)=>l._c2dPhysicsSetEnabled(n,i),physicsSetAwake:(n,i)=>l._c2dPhysicsSetAwake(n,i),physicsSetMass:(n,i)=>l._c2dPhysicsSetMass(n,i),physicsGetMass:n=>l._c2dPhysicsGetMass(n),physicsSetMotionType:(n,i)=>l._c2dPhysicsSetMotionType(n,i),physicsSetFriction:(n,i)=>l._c2dPhysicsSetFriction(n,i),physicsSetBounce:(n,i)=>l._c2dPhysicsSetBounce(n,i),physicsSetFilter:(n,i,d)=>l._c2dPhysicsSetFilter(n,i,d),physicsRaycastClosest:(n,i,d,v,p,b,B)=>D(b,x=>T(7,P=>l._c2dPhysicsRaycastClosest(n,i,d,v,p,x,B,P))),physicsRaycastAll:(n,i,d,v,p,b,B,x)=>D(b,P=>{let F=0;return T(x*6,Z=>{F=l._c2dPhysicsRaycastAll(n,i,d,v,p,P,B,Z,x)}).subarray(0,F*6)}),physicsOverlap:(n,i,d,v,p,b,B)=>D(n,x=>D(p,P=>{let F=0;return T(B,Z=>{F=l._c2dPhysicsOverlap(x,i,d,v,P,b,Z,B)}).subarray(0,F)})),characterCreate:(n,i,d,v,p,b,B,x,P)=>l._c2dCharacterCreate(n,i,d,v,p,b,B,x,P),characterDestroy:n=>l._c2dCharacterDestroy(n),characterMove:(n,i)=>l._c2dCharacterMove(n,i),characterMoveFree:(n,i,d)=>l._c2dCharacterMoveFree(n,i,d),characterSetVerticalVelocity:(n,i)=>l._c2dCharacterSetVerticalVelocity(n,i),characterSetVelocity:(n,i,d)=>l._c2dCharacterSetVelocity(n,i,d),characterSetGravityScale:(n,i)=>l._c2dCharacterSetGravityScale(n,i),characterSetMaxSlope:(n,i)=>l._c2dCharacterSetMaxSlope(n,i),characterSetFilter:(n,i,d)=>l._c2dCharacterSetFilter(n,i,d),characterSetDropThrough:(n,i)=>l._c2dCharacterSetDropThrough(n,i),characterSetCapsule:(n,i,d,v,p,b)=>!!l._c2dCharacterSetCapsule(n,i,d,v,p,b),characterSetFromEntity:n=>l._c2dCharacterSetFromEntity(n),characterGetState:(n,i)=>{i.set(T(8,d=>l._c2dCharacterGetState(n,d)).subarray(0,8))},characterGetCollisions:(n,i)=>{let d=0;return T(i*3,p=>{d=l._c2dCharacterGetCollisions(n,p,i)}).subarray(0,d*3)},physicsSetOneWay:(n,i,d,v,p)=>l._c2dPhysicsSetOneWay(n,i,d,v,p),physicsOverlapPoint:(n,i,d,v,p)=>D(v,b=>l._c2dPhysicsOverlapPoint(n,i,d,b,p)),pickSprite:(n,i,d)=>l._c2dPickSprite(n,i,d),_onResize(n,i,d=1){G=d,E.width=Math.max(1,Math.round(n*d)),E.height=Math.max(1,Math.round(i*d)),E.style.width=n+"px",E.style.height=i+"px",l._c2dSetViewport(E.width,E.height);for(const[v,p]of z)l._c2dCameraSetZoom(v,p*G)},_dispose(){var n;L(),O(!1),C=null,l._c2dCloseScene();try{l._c2dShutdown()}catch{}(n=$.getExtension("WEBGL_lose_context"))==null||n.loseContext(),window.creator2d_glContext===$&&(window.creator2d_glContext=null,window.creator2d_glOptions=null)}}};export{tn as createViewer2d};
|
|
1
|
+
import{B as Jt,E as Kt}from"../embed.js";var qt=(async function(E={}){var q,c=E,ee,X,$=new Promise((e,r)=>{ee=e,X=r}),l=import.meta.url,G="";function z(e){return c.locateFile?c.locateFile(e,G):G+e}var D;{try{G=new URL(".",l).href}catch{}D=async e=>{var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)}}console.log.bind(console);var k=console.error.bind(console),W,N,T=!1,R,w,j,Q,S,L,C,M,H;function Y(){var e=N.buffer;R=new Int8Array(e),j=new Int16Array(e),c.HEAPU8=w=new Uint8Array(e),c.HEAPU16=Q=new Uint16Array(e),S=new Int32Array(e),c.HEAPU32=L=new Uint32Array(e),c.HEAPF32=C=new Float32Array(e),H=new Float64Array(e),M=new BigInt64Array(e),new BigUint64Array(e)}function re(){if(c.preRun)for(typeof c.preRun=="function"&&(c.preRun=[c.preRun]);c.preRun.length;)he(c.preRun.shift());Z(de)}function te(){_.cb()}function ne(){if(c.postRun)for(typeof c.postRun=="function"&&(c.postRun=[c.postRun]);c.postRun.length;)ye(c.postRun.shift());Z(fe)}var I=0,O=null;function n(e){var r;I++,(r=c.monitorRunDependencies)==null||r.call(c,I)}function i(e){var t;if(I--,(t=c.monitorRunDependencies)==null||t.call(c,I),I==0&&O){var r=O;O=null,r()}}function d(e){var t;(t=c.onAbort)==null||t.call(c,e),e="Aborted("+e+")",k(e),T=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw X(r),r}var v;function p(){return c.locateFile?z("creator2d.wasm"):new URL(""+new URL("creator2d-BtQ-1_B0.wasm",import.meta.url).href,import.meta.url).href}function b(e){if(e==v&&W)return new Uint8Array(W);throw"both async and sync fetching of the wasm failed"}async function B(e){if(!W)try{var r=await D(e);return new Uint8Array(r)}catch{}return b(e)}async function x(e,r){try{var t=await B(e),a=await WebAssembly.instantiate(t,r);return a}catch(f){k(`failed to asynchronously prepare wasm: ${f}`),d(f)}}async function P(e,r,t){if(!e&&typeof WebAssembly.instantiateStreaming=="function")try{var a=fetch(r,{credentials:"same-origin"}),f=await WebAssembly.instantiateStreaming(a,t);return f}catch(u){k(`wasm streaming compile failed: ${u}`),k("falling back to ArrayBuffer instantiation")}return x(r,t)}function F(){return{a:Zt}}async function J(){function e(u,m){return _=u.exports,N=_.bb,Y(),i(),_}n();function r(u){return e(u.instance)}var t=F();if(c.instantiateWasm)return new Promise((u,m)=>{c.instantiateWasm(t,(g,y)=>{u(e(g))})});v??(v=p());try{var a=await P(W,v,t),f=r(a);return f}catch(u){return X(u),Promise.reject(u)}}var Z=e=>{for(;e.length>0;)e.shift()(c)},fe=[],ye=e=>fe.push(e),de=[],he=e=>de.push(e);class Se{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){L[this.ptr+4>>2]=r}get_type(){return L[this.ptr+4>>2]}set_destructor(r){L[this.ptr+8>>2]=r}get_destructor(){return L[this.ptr+8>>2]}set_caught(r){r=r?1:0,R[this.ptr+12]=r}get_caught(){return R[this.ptr+12]!=0}set_rethrown(r){r=r?1:0,R[this.ptr+13]=r}get_rethrown(){return R[this.ptr+13]!=0}init(r,t){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(t)}set_adjusted_ptr(r){L[this.ptr+16>>2]=r}get_adjusted_ptr(){return L[this.ptr+16>>2]}}var ue=0,be=(e,r,t)=>{var a=new Se(e);throw a.init(r,t),ue=e,ue},Be=()=>d("");function xe(e,r,t){c.onAnimEvent&&c.onAnimEvent(e,r,t)}function Pe(e){c.onEarlyUpdate&&c.onEarlyUpdate(e)}function Ae(e){c.onLateUpdate&&c.onLateUpdate(e)}function Ce(e,r,t){c.onPhysicsEvent&&c.onPhysicsEvent(e,r,t)}var _e=()=>performance.now(),Ee=()=>Date.now(),we=e=>e>=0&&e<=3;function Te(e,r,t){if(!we(e))return 28;var a;e===0?a=Ee():a=_e();var f=Math.round(a*1e3*1e3);return M[t>>3]=BigInt(f),0}var ce=[],Le=(e,r)=>{ce.length=0;for(var t;t=w[e++];){var a=t!=105;a&=t!=112,r+=a&&r%8?4:0,ce.push(t==112?L[r>>2]:t==106?M[r>>3]:t==105?S[r>>2]:H[r>>3]),r+=a?8:4}return ce},Fe=(e,r,t)=>{var a=Le(r,t);return Xt[e](...a)},Ge=(e,r,t)=>Fe(e,r,t),Re=()=>2147483648,Ue=(e,r)=>Math.ceil(e/r)*r,De=e=>{var r=N.buffer,t=(e-r.byteLength+65535)/65536|0;try{return N.grow(t),Y(),1}catch{}},ke=e=>{var r=w.length;e>>>=0;var t=Re();if(e>t)return!1;for(var a=1;a<=4;a*=2){var f=r*(1+.2/a);f=Math.min(f,e+100663296);var u=Math.min(t,Ue(Math.max(e,f),65536)),m=De(u);if(m)return!0}return!1},o,Ie=e=>!!(e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")),Ve=e=>!!(e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")),We=e=>!!(e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")),Me=e=>!!(e.extClipControl=e.getExtension("EXT_clip_control")),Oe=e=>!!(e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")),Ne=e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")),me=e=>{var r=["EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(e.getSupportedExtensions()||[]).filter(t=>r.includes(t))},je=e=>{typeof MainLoop<"u"&&MainLoop.preMainLoop.push(e)},ve=typeof TextDecoder<"u"?new TextDecoder:void 0,He=(e,r=0,t=NaN)=>{for(var a=r+t,f=r;e[f]&&!(f>=a);)++f;if(f-r>16&&e.buffer&&ve)return ve.decode(e.subarray(r,f));for(var u="";r<f;){var m=e[r++];if(!(m&128)){u+=String.fromCharCode(m);continue}var g=e[r++]&63;if((m&224)==192){u+=String.fromCharCode((m&31)<<6|g);continue}var y=e[r++]&63;if((m&240)==224?m=(m&15)<<12|g<<6|y:m=(m&7)<<18|g<<12|y<<6|e[r++]&63,m<65536)u+=String.fromCharCode(m);else{var h=m-65536;u+=String.fromCharCode(55296|h>>10,56320|h&1023)}}return u},K=(e,r)=>e?He(w,e,r):"",s={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{s.lastError||(s.lastError=e)},getNewId:e=>{for(var r=s.counter++,t=e.length;t<r;t++)e[t]=null;for(;e[r];)r=s.counter++;return r},genObject:(e,r,t,a)=>{for(var f=0;f<e;f++){var u=o[t](),m=u&&s.getNewId(a);u?(u.name=m,a[m]=u):s.recordError(1282),S[r+f*4>>2]=m}},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:e=>32-Math.clz32(e===0?0:e-1),generateTempBuffers:(e,r)=>{var t=s.log2ceilLookup(s.MAX_TEMP_BUFFER_SIZE);r.tempVertexBufferCounters1=[],r.tempVertexBufferCounters2=[],r.tempVertexBufferCounters1.length=r.tempVertexBufferCounters2.length=t+1,r.tempVertexBuffers1=[],r.tempVertexBuffers2=[],r.tempVertexBuffers1.length=r.tempVertexBuffers2.length=t+1,r.tempIndexBuffers=[],r.tempIndexBuffers.length=t+1;for(var a=0;a<=t;++a){r.tempIndexBuffers[a]=null,r.tempVertexBufferCounters1[a]=r.tempVertexBufferCounters2[a]=0;var f=s.numTempVertexBuffersPerSize;r.tempVertexBuffers1[a]=[],r.tempVertexBuffers2[a]=[];var u=r.tempVertexBuffers1[a],m=r.tempVertexBuffers2[a];u.length=m.length=f;for(var g=0;g<f;++g)u[g]=m[g]=null}if(e){r.tempQuadIndexBuffer=o.createBuffer(),r.GLctx.bindBuffer(34963,r.tempQuadIndexBuffer);for(var y=s.MAX_TEMP_BUFFER_SIZE>>1,h=new Uint16Array(y),a=0,A=0;h[a++]=A,!(a>=y||(h[a++]=A+1,a>=y)||(h[a++]=A+2,a>=y)||(h[a++]=A,a>=y)||(h[a++]=A+2,a>=y)||(h[a++]=A+3,a>=y));)A+=4;r.GLctx.bufferData(34963,h,35044),r.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:e=>{var r=s.log2ceilLookup(e),t=s.currentContext.tempVertexBuffers1[r],a=s.currentContext.tempVertexBufferCounters1[r];s.currentContext.tempVertexBufferCounters1[r]=s.currentContext.tempVertexBufferCounters1[r]+1&s.numTempVertexBuffersPerSize-1;var f=t[a];if(f)return f;var u=o.getParameter(34964);return t[a]=o.createBuffer(),o.bindBuffer(34962,t[a]),o.bufferData(34962,1<<r,35048),o.bindBuffer(34962,u),t[a]},getTempIndexBuffer:e=>{var r=s.log2ceilLookup(e),t=s.currentContext.tempIndexBuffers[r];if(t)return t;var a=o.getParameter(34965);return s.currentContext.tempIndexBuffers[r]=o.createBuffer(),o.bindBuffer(34963,s.currentContext.tempIndexBuffers[r]),o.bufferData(34963,1<<r,35048),o.bindBuffer(34963,a),s.currentContext.tempIndexBuffers[r]},newRenderingFrameStarted:()=>{if(s.currentContext){var e=s.currentContext.tempVertexBuffers1;s.currentContext.tempVertexBuffers1=s.currentContext.tempVertexBuffers2,s.currentContext.tempVertexBuffers2=e,e=s.currentContext.tempVertexBufferCounters1,s.currentContext.tempVertexBufferCounters1=s.currentContext.tempVertexBufferCounters2,s.currentContext.tempVertexBufferCounters2=e;for(var r=s.log2ceilLookup(s.MAX_TEMP_BUFFER_SIZE),t=0;t<=r;++t)s.currentContext.tempVertexBufferCounters1[t]=0}},getSource:(e,r,t,a)=>{for(var f="",u=0;u<r;++u){var m=a?L[a+u*4>>2]:void 0;f+=K(L[t+u*4>>2],m)}return f},calcBufLength:(e,r,t,a)=>{if(t>0)return a*t;var f=s.byteSizeByType[r-s.byteSizeByTypeRoot];return e*f*a},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:e=>{s.resetBufferBinding=!1;for(var r=0;r<s.currentContext.maxVertexAttribs;++r){var t=s.currentContext.clientBuffers[r];if(!(!t.clientside||!t.enabled)){s.resetBufferBinding=!0;var a=s.calcBufLength(t.size,t.type,t.stride,e),f=s.getTempVertexBuffer(a);o.bindBuffer(34962,f),o.bufferSubData(34962,0,w.subarray(t.ptr,t.ptr+a)),t.vertexAttribPointerAdaptor.call(o,r,t.size,t.type,t.normalized,t.stride,0)}}},postDrawHandleClientVertexAttribBindings:()=>{s.resetBufferBinding&&o.bindBuffer(34962,s.buffers[o.currentArrayBufferBinding])},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){let f=function(u,m){var g=e.getContextSafariWebGL2Fixed(u,m);return u=="webgl"==g instanceof WebGLRenderingContext?g:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=f}var t=e.getContext("webgl2",r);if(!t)return 0;var a=s.registerContext(t,r);return a},registerContext:(e,r)=>{var t=s.getNewId(s.contexts),a={handle:t,attributes:r,version:r.majorVersion,GLctx:e};e.canvas&&(e.canvas.GLctxObject=a),s.contexts[t]=a,(typeof r.enableExtensionsByDefault>"u"||r.enableExtensionsByDefault)&&s.initExtensions(a),a.maxVertexAttribs=a.GLctx.getParameter(34921),a.clientBuffers=[];for(var f=0;f<a.maxVertexAttribs;f++)a.clientBuffers[f]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return s.generateTempBuffers(!1,a),t},makeContextCurrent:e=>{var r;return s.currentContext=s.contexts[e],c.ctx=o=(r=s.currentContext)==null?void 0:r.GLctx,!(e&&!o)},getContext:e=>s.contexts[e],deleteContext:e=>{var r;s.currentContext===s.contexts[e]&&(s.currentContext=null),typeof JSEvents=="object"&&JSEvents.removeAllHandlersOnTarget(s.contexts[e].GLctx.canvas),(r=s.contexts[e])!=null&&r.GLctx.canvas&&(s.contexts[e].GLctx.canvas.GLctxObject=void 0),s.contexts[e]=null},initExtensions:e=>{if(e||(e=s.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;Ne(r),We(r),Me(r),Oe(r),Ie(r),Ve(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),me(r).forEach(t=>{!t.includes("lose_context")&&!t.includes("debug")&&r.getExtension(t)})}}},Xe=e=>o.activeTexture(e),ze=(e,r)=>{o.attachShader(s.programs[e],s.shaders[r])},Ze=(e,r)=>{if(r&&!s.buffers[r]){var t=o.createBuffer();t.name=r,s.buffers[r]=t}e==34962?o.currentArrayBufferBinding=r:e==34963&&(o.currentElementArrayBufferBinding=r),e==35051?o.currentPixelPackBufferBinding=r:e==35052&&(o.currentPixelUnpackBufferBinding=r),o.bindBuffer(e,s.buffers[r])},$e=(e,r,t)=>{o.bindBufferBase(e,r,s.buffers[t])},Qe=(e,r,t,a,f)=>{o.bindBufferRange(e,r,s.buffers[t],a,f)},Ye=(e,r)=>{o.bindFramebuffer(e,s.framebuffers[r])},Je=(e,r)=>{o.bindRenderbuffer(e,s.renderbuffers[r])},Ke=(e,r)=>{o.bindSampler(e,s.samplers[r])},qe=(e,r)=>{o.bindTexture(e,s.textures[r])},er=e=>{o.bindVertexArray(s.vaos[e]);var r=o.getParameter(34965);o.currentElementArrayBufferBinding=r?r.name|0:0},rr=(e,r,t,a)=>o.blendColor(e,r,t,a),tr=(e,r)=>o.blendEquationSeparate(e,r),nr=(e,r,t,a)=>o.blendFuncSeparate(e,r,t,a),ar=(e,r,t,a,f,u,m,g,y,h)=>o.blitFramebuffer(e,r,t,a,f,u,m,g,y,h),ir=(e,r,t,a)=>{{t&&r?o.bufferData(e,w,a,t,r):o.bufferData(e,r,a);return}},cr=(e,r,t,a)=>{{t&&o.bufferSubData(e,r,w,a,t);return}},sr=e=>o.checkFramebufferStatus(e),or=(e,r,t,a)=>o.clearBufferfi(e,r,t,a),lr=(e,r,t)=>{o.clearBufferfv(e,r,C,t>>2)},fr=(e,r,t)=>{o.clearBufferiv(e,r,S,t>>2)},dr=(e,r,t,a)=>{o.colorMask(!!e,!!r,!!t,!!a)},ur=e=>{o.compileShader(s.shaders[e])},_r=(e,r,t,a,f,u,m,g,y)=>{{if(o.currentPixelUnpackBufferBinding||!g){o.compressedTexSubImage2D(e,r,t,a,f,u,m,g,y);return}o.compressedTexSubImage2D(e,r,t,a,f,u,m,w,y,g);return}},mr=(e,r,t,a,f,u,m,g,y,h,A)=>{o.currentPixelUnpackBufferBinding?o.compressedTexSubImage3D(e,r,t,a,f,u,m,g,y,h,A):o.compressedTexSubImage3D(e,r,t,a,f,u,m,g,y,w,A,h)},vr=()=>{var e=s.getNewId(s.programs),r=o.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,s.programs[e]=r,e},gr=e=>{var r=s.getNewId(s.shaders);return s.shaders[r]=o.createShader(e),r},pr=e=>o.cullFace(e),yr=(e,r)=>{for(var t=0;t<e;t++){var a=S[r+t*4>>2],f=s.buffers[a];f&&(o.deleteBuffer(f),f.name=0,s.buffers[a]=null,a==o.currentArrayBufferBinding&&(o.currentArrayBufferBinding=0),a==o.currentElementArrayBufferBinding&&(o.currentElementArrayBufferBinding=0),a==o.currentPixelPackBufferBinding&&(o.currentPixelPackBufferBinding=0),a==o.currentPixelUnpackBufferBinding&&(o.currentPixelUnpackBufferBinding=0))}},hr=(e,r)=>{for(var t=0;t<e;++t){var a=S[r+t*4>>2],f=s.framebuffers[a];f&&(o.deleteFramebuffer(f),f.name=0,s.framebuffers[a]=null)}},Sr=e=>{if(e){var r=s.programs[e];if(!r){s.recordError(1281);return}o.deleteProgram(r),r.name=0,s.programs[e]=null}},br=(e,r)=>{for(var t=0;t<e;t++){var a=S[r+t*4>>2],f=s.renderbuffers[a];f&&(o.deleteRenderbuffer(f),f.name=0,s.renderbuffers[a]=null)}},Br=(e,r)=>{for(var t=0;t<e;t++){var a=S[r+t*4>>2],f=s.samplers[a];f&&(o.deleteSampler(f),f.name=0,s.samplers[a]=null)}},xr=e=>{if(e){var r=s.shaders[e];if(!r){s.recordError(1281);return}o.deleteShader(r),s.shaders[e]=null}},Pr=(e,r)=>{for(var t=0;t<e;t++){var a=S[r+t*4>>2],f=s.textures[a];f&&(o.deleteTexture(f),f.name=0,s.textures[a]=null)}},Ar=(e,r)=>{for(var t=0;t<e;t++){var a=S[r+t*4>>2];o.deleteVertexArray(s.vaos[a]),s.vaos[a]=null}},Cr=e=>o.depthFunc(e),Er=e=>{o.depthMask(!!e)},wr=e=>o.disable(e),Tr=e=>{var r=s.currentContext.clientBuffers[e];r.enabled=!1,o.disableVertexAttribArray(e)},Lr=(e,r,t)=>{s.preDrawHandleClientVertexAttribBindings(r+t),o.drawArrays(e,r,t),s.postDrawHandleClientVertexAttribBindings()},Fr=(e,r,t,a)=>{o.drawArraysInstanced(e,r,t,a)},se=[],Gr=(e,r)=>{for(var t=se[e],a=0;a<e;a++)t[a]=S[r+a*4>>2];o.drawBuffers(t)},Rr=(e,r,t,a)=>{var f,u=0;if(!o.currentElementArrayBufferBinding){var m=s.calcBufLength(1,t,0,r);if(f=s.getTempIndexBuffer(m),o.bindBuffer(34963,f),o.bufferSubData(34963,0,w.subarray(a,a+m)),r>0)for(var g=0;g<s.currentContext.maxVertexAttribs;++g){var y=s.currentContext.clientBuffers[g];if(y.clientside&&y.enabled){let h;switch(t){case 5121:h=Uint8Array;break;case 5123:h=Uint16Array;break;case 5125:h=Uint32Array;break;default:s.recordError(1282);return}u=new h(w.buffer,a,r).reduce((A,U)=>Math.max(A,U))+1;break}}a=0}s.preDrawHandleClientVertexAttribBindings(u),o.drawElements(e,r,t,a),s.postDrawHandleClientVertexAttribBindings(r),o.currentElementArrayBufferBinding||o.bindBuffer(34963,null)},Ur=(e,r,t,a,f)=>{o.drawElementsInstanced(e,r,t,a,f)},Dr=e=>o.enable(e),kr=e=>{var r=s.currentContext.clientBuffers[e];r.enabled=!0,o.enableVertexAttribArray(e)},Ir=(e,r,t,a)=>{o.framebufferRenderbuffer(e,r,t,s.renderbuffers[a])},Vr=(e,r,t,a,f)=>{o.framebufferTexture2D(e,r,t,s.textures[a],f)},Wr=(e,r,t,a,f)=>{o.framebufferTextureLayer(e,r,s.textures[t],a,f)},Mr=e=>o.frontFace(e),Or=(e,r)=>{s.genObject(e,r,"createBuffer",s.buffers)},Nr=(e,r)=>{s.genObject(e,r,"createFramebuffer",s.framebuffers)},jr=(e,r)=>{s.genObject(e,r,"createRenderbuffer",s.renderbuffers)},Hr=(e,r)=>{s.genObject(e,r,"createSampler",s.samplers)},Xr=(e,r)=>{s.genObject(e,r,"createTexture",s.textures)},zr=(e,r)=>{s.genObject(e,r,"createVertexArray",s.vaos)},Zr=(e,r)=>o.getAttribLocation(s.programs[e],K(r)),$r=(e,r)=>{L[e>>2]=r;var t=L[e>>2];L[e+4>>2]=(r-t)/4294967296},ge=()=>{var e=me(o);return e=e.concat(e.map(r=>"GL_"+r)),e},Qr=(e,r,t)=>{if(!r){s.recordError(1281);return}var a=void 0;switch(e){case 36346:a=1;break;case 36344:return;case 34814:case 36345:a=0;break;case 34466:var f=o.getParameter(34467);a=f?f.length:0;break;case 33309:if(s.currentContext.version<2){s.recordError(1282);return}a=ge().length;break;case 33307:case 33308:if(s.currentContext.version<2){s.recordError(1280);return}a=e==33307?3:0;break}if(a===void 0){var u=o.getParameter(e);switch(typeof u){case"number":a=u;break;case"boolean":a=u?1:0;break;case"string":s.recordError(1280);return;case"object":if(u===null)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{a=0;break}default:{s.recordError(1280);return}}else if(u instanceof Float32Array||u instanceof Uint32Array||u instanceof Int32Array||u instanceof Array){for(var m=0;m<u.length;++m)switch(t){case 0:S[r+m*4>>2]=u[m];break;case 2:C[r+m*4>>2]=u[m];break;case 4:R[r+m]=u[m]?1:0;break}return}else try{a=u.name|0}catch(g){s.recordError(1280),k(`GL_INVALID_ENUM in glGet${t}v: Unknown object returned from WebGL getParameter(${e})! (error: ${g})`);return}break;default:s.recordError(1280),k(`GL_INVALID_ENUM in glGet${t}v: Native code calling glGet${t}v(${e}) and it returns ${u} of type ${typeof u}!`);return}}switch(t){case 1:$r(r,a);break;case 0:S[r>>2]=a;break;case 2:C[r>>2]=a;break;case 4:R[r]=a?1:0;break}},Yr=(e,r)=>Qr(e,r,0),Jr=(e,r,t,a)=>{var f=o.getProgramInfoLog(s.programs[e]);f===null&&(f="(unknown error)");var u=r>0&&a?ae(f,a,r):0;t&&(S[t>>2]=u)},Kr=(e,r,t)=>{if(!t){s.recordError(1281);return}if(e>=s.counter){s.recordError(1281);return}if(e=s.programs[e],r==35716){var a=o.getProgramInfoLog(e);a===null&&(a="(unknown error)"),S[t>>2]=a.length+1}else if(r==35719){if(!e.maxUniformLength)for(var f=o.getProgramParameter(e,35718),u=0;u<f;++u)e.maxUniformLength=Math.max(e.maxUniformLength,o.getActiveUniform(e,u).name.length+1);S[t>>2]=e.maxUniformLength}else if(r==35722){if(!e.maxAttributeLength)for(var m=o.getProgramParameter(e,35721),u=0;u<m;++u)e.maxAttributeLength=Math.max(e.maxAttributeLength,o.getActiveAttrib(e,u).name.length+1);S[t>>2]=e.maxAttributeLength}else if(r==35381){if(!e.maxUniformBlockNameLength)for(var g=o.getProgramParameter(e,35382),u=0;u<g;++u)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,o.getActiveUniformBlockName(e,u).length+1);S[t>>2]=e.maxUniformBlockNameLength}else S[t>>2]=o.getProgramParameter(e,r)},qr=(e,r,t,a)=>{if(!(a>0))return 0;for(var f=t,u=t+a-1,m=0;m<e.length;++m){var g=e.charCodeAt(m);if(g>=55296&&g<=57343){var y=e.charCodeAt(++m);g=65536+((g&1023)<<10)|y&1023}if(g<=127){if(t>=u)break;r[t++]=g}else if(g<=2047){if(t+1>=u)break;r[t++]=192|g>>6,r[t++]=128|g&63}else if(g<=65535){if(t+2>=u)break;r[t++]=224|g>>12,r[t++]=128|g>>6&63,r[t++]=128|g&63}else{if(t+3>=u)break;r[t++]=240|g>>18,r[t++]=128|g>>12&63,r[t++]=128|g>>6&63,r[t++]=128|g&63}}return r[t]=0,t-f},ae=(e,r,t)=>qr(e,w,r,t),et=(e,r,t,a)=>{var f=o.getShaderInfoLog(s.shaders[e]);f===null&&(f="(unknown error)");var u=r>0&&a?ae(f,a,r):0;t&&(S[t>>2]=u)},rt=(e,r,t)=>{if(!t){s.recordError(1281);return}if(r==35716){var a=o.getShaderInfoLog(s.shaders[e]);a===null&&(a="(unknown error)");var f=a?a.length+1:0;S[t>>2]=f}else if(r==35720){var u=o.getShaderSource(s.shaders[e]),m=u?u.length+1:0;S[t>>2]=m}else S[t>>2]=o.getShaderParameter(s.shaders[e],r)},tt=e=>{for(var r=0,t=0;t<e.length;++t){var a=e.charCodeAt(t);a<=127?r++:a<=2047?r+=2:a>=55296&&a<=57343?(r+=4,++t):r+=3}return r},nt=e=>{var r=tt(e)+1,t=$t(r);return t&&ae(e,t,r),t},at=(e,r)=>{if(s.currentContext.version<2)return s.recordError(1282),0;var t=s.stringiCache[e];if(t)return r<0||r>=t.length?(s.recordError(1281),0):t[r];switch(e){case 7939:var a=ge().map(nt);return t=s.stringiCache[e]=a,r<0||r>=t.length?(s.recordError(1281),0):t[r];default:return s.recordError(1280),0}},it=e=>parseInt(e),pe=e=>e.slice(-1)=="]"&&e.lastIndexOf("["),ct=e=>{var r=e.uniformLocsById,t=e.uniformSizeAndIdsByName,a,f;if(!r){e.uniformLocsById=r={},e.uniformArrayNamesById={};var u=o.getProgramParameter(e,35718);for(a=0;a<u;++a){var m=o.getActiveUniform(e,a),g=m.name,y=m.size,h=pe(g),A=h>0?g.slice(0,h):g,U=e.uniformIdCounter;for(e.uniformIdCounter+=y,t[A]=[y,U],f=0;f<y;++f)r[U]=f,e.uniformArrayNamesById[U++]=A}}},st=(e,r)=>{if(r=K(r),e=s.programs[e]){ct(e);var t=e.uniformLocsById,a=0,f=r,u=pe(r);u>0&&(a=it(r.slice(u+1))>>>0,f=r.slice(0,u));var m=e.uniformSizeAndIdsByName[f];if(m&&a<m[0]&&(a+=m[1],t[a]=t[a]||o.getUniformLocation(e,r)))return a}else s.recordError(1281);return-1},ot=(e,r,t)=>{for(var a=se[r],f=0;f<r;f++)a[f]=S[t+f*4>>2];o.invalidateFramebuffer(e,a)},lt=e=>{e=s.programs[e],o.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},ft=(e,r)=>{e==3317?s.unpackAlignment=r:e==3314&&(s.unpackRowLength=r),o.pixelStorei(e,r)},dt=(e,r)=>o.polygonOffset(e,r),ut=e=>o.readBuffer(e),_t=(e,r,t,a,f)=>o.renderbufferStorageMultisample(e,r,t,a,f),mt=(e,r,t)=>{o.samplerParameterf(s.samplers[e],r,t)},vt=(e,r,t)=>{o.samplerParameteri(s.samplers[e],r,t)},gt=(e,r,t,a)=>o.scissor(e,r,t,a),pt=(e,r,t,a)=>{var f=s.getSource(e,r,t,a);o.shaderSource(s.shaders[e],f)},yt=(e,r,t)=>o.stencilFunc(e,r,t),ht=(e,r,t,a)=>o.stencilFuncSeparate(e,r,t,a),St=e=>o.stencilMask(e),bt=(e,r,t)=>o.stencilOp(e,r,t),Bt=(e,r,t,a)=>o.stencilOpSeparate(e,r,t,a),xt=(e,r,t,a,f)=>o.texStorage2D(e,r,t,a,f),Pt=(e,r,t,a,f,u)=>o.texStorage3D(e,r,t,a,f,u),At=(e,r,t)=>{function a(m,g){return m+g-1&-g}var f=(s.unpackRowLength||e)*t,u=a(f,s.unpackAlignment);return r*u},Ct=e=>{var r={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return r[e-6402]||1},oe=e=>(e-=5120,e==0?R:e==1?w:e==2?j:e==4?S:e==6?C:e==5||e==28922||e==28520||e==30779||e==30782?L:Q),ie=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),Et=(e,r,t,a,f,u)=>{var m=oe(e),g=Ct(r)*m.BYTES_PER_ELEMENT,y=At(t,a,g);return m.subarray(ie(f,m),ie(f+y,m))},wt=(e,r,t,a,f,u,m,g,y)=>{{if(o.currentPixelUnpackBufferBinding){o.texSubImage2D(e,r,t,a,f,u,m,g,y);return}if(y){var h=oe(g);o.texSubImage2D(e,r,t,a,f,u,m,g,h,ie(y,h));return}}var A=y?Et(g,m,f,u,y):null;o.texSubImage2D(e,r,t,a,f,u,m,g,A)},Tt=(e,r,t,a,f,u,m,g,y,h,A)=>{if(o.currentPixelUnpackBufferBinding)o.texSubImage3D(e,r,t,a,f,u,m,g,y,h,A);else if(A){var U=oe(h);o.texSubImage3D(e,r,t,a,f,u,m,g,y,h,U,ie(A,U))}else o.texSubImage3D(e,r,t,a,f,u,m,g,y,h,null)},V=e=>{var r=o.currentProgram;if(r){var t=r.uniformLocsById[e];return typeof t=="number"&&(r.uniformLocsById[e]=t=o.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?`[${t}]`:""))),t}else s.recordError(1282)},Lt=(e,r,t)=>{r&&o.uniform1fv(V(e),C,t>>2,r)},Ft=(e,r)=>{o.uniform1i(V(e),r)},Gt=(e,r,t)=>{r&&o.uniform1iv(V(e),S,t>>2,r)},Rt=(e,r,t)=>{r&&o.uniform2fv(V(e),C,t>>2,r*2)},Ut=(e,r,t)=>{r&&o.uniform2iv(V(e),S,t>>2,r*2)},Dt=(e,r,t)=>{r&&o.uniform3fv(V(e),C,t>>2,r*3)},kt=(e,r,t)=>{r&&o.uniform3iv(V(e),S,t>>2,r*3)},It=(e,r,t)=>{r&&o.uniform4fv(V(e),C,t>>2,r*4)},Vt=(e,r,t)=>{r&&o.uniform4iv(V(e),S,t>>2,r*4)},Wt=(e,r,t,a)=>{r&&o.uniformMatrix4fv(V(e),!!t,C,a>>2,r*16)},Mt=e=>{e=s.programs[e],o.useProgram(e),o.currentProgram=e},Ot=(e,r)=>{o.vertexAttribDivisor(e,r)},Nt=(e,r,t,a,f)=>{var u=s.currentContext.clientBuffers[e];if(!o.currentArrayBufferBinding){u.size=r,u.type=t,u.normalized=!1,u.stride=a,u.ptr=f,u.clientside=!0,u.vertexAttribPointerAdaptor=function(m,g,y,h,A,U){this.vertexAttribIPointer(m,g,y,A,U)};return}u.clientside=!1,o.vertexAttribIPointer(e,r,t,a,f)},jt=(e,r,t,a,f,u)=>{var m=s.currentContext.clientBuffers[e];if(!o.currentArrayBufferBinding){m.size=r,m.type=t,m.normalized=a,m.stride=f,m.ptr=u,m.clientside=!0,m.vertexAttribPointerAdaptor=function(g,y,h,A,U,Yt){this.vertexAttribPointer(g,y,h,A,U,Yt)};return}m.clientside=!1,o.vertexAttribPointer(e,r,t,!!a,f,u)},Ht=(e,r,t,a)=>o.viewport(e,r,t,a);je(()=>s.newRenderingFrameStarted());for(let e=0;e<32;++e)se.push(new Array(e));c.noExitRuntime&&c.noExitRuntime,c.print&&c.print,c.printErr&&(k=c.printErr),c.wasmBinary&&(W=c.wasmBinary),c.arguments&&c.arguments,c.thisProgram&&c.thisProgram,c.UTF8ToString=K,c.stringToUTF8=ae,c.GL=s;var Xt={10156:()=>{const e=c.creator2d_glContext||typeof window<"u"&&window.creator2d_glContext,r=c.creator2d_glOptions||typeof window<"u"&&window.creator2d_glOptions||{},t=s.registerContext(e,r);s.makeContextCurrent(t)}};function zt(e,r){const t=K(r);switch(e){case 0:console.error(t);break;case 1:console.error(t);break;case 2:console.warn(t);break;default:console.info(t);break}}var Zt={K:be,Xa:Be,Ea:xe,S:Pe,N:Ae,Ba:Ce,Wa:Te,ab:Ge,Va:_e,Ua:ke,q:Xe,t:ze,b:Ze,w:$e,wa:Qe,g:Ye,Ga:Je,p:Ke,f:qe,v:er,B:rr,C:tr,D:nr,ba:ar,Qa:ir,M:cr,Ya:sr,Aa:or,F:lr,za:fr,n:dr,$a:ur,Y:_r,W:mr,La:vr,U:gr,A:pr,Z:yr,u:hr,k:Sr,O:br,P:Br,j:xr,o:Pr,Sa:Ar,r:Cr,s:Er,c:wr,y:Tr,da:Lr,ea:Fr,G:Gr,fa:Rr,ha:Ur,e:Dr,sa:kr,i:Ir,h:Vr,Za:Wr,z:Mr,Ra:Or,R:Nr,Ha:jr,Ma:Hr,Pa:Xr,ga:zr,Ia:Zr,a:Yr,Ka:Jr,I:Kr,_a:et,Q:rt,ra:at,H:st,aa:ot,J:lt,Ta:ft,E:dt,ca:ut,Fa:_t,L:mt,d:vt,Ca:gt,T:pt,$:yt,ya:ht,m:St,_:bt,xa:Bt,Oa:xt,Na:Pt,X:wt,V:Tt,qa:Lt,Ja:Ft,ma:Gt,pa:Rt,la:Ut,oa:Dt,ka:kt,na:It,ja:Vt,ia:Wt,l:Mt,ta:Ot,ua:Nt,va:jt,Da:Ht,x:zt},_=await J();_.cb,c._creator2dVersion=_.db,c._c2dInit=_.eb,c._c2dInitMetal=_.fb,c._c2dInitHeadless=_.gb,c._c2dTickHeadless=_.hb,c._c2dReadDrawList=_.ib,c._c2dShutdown=_.jb,c._c2dSetViewport=_.kb,c._c2dSetDensity=_.lb,c._c2dSetClearColor=_.mb,c._c2dSetGLFramebuffer=_.nb,c._c2dResetStateCache=_.ob,c._c2dRender=_.pb,c._c2dRenderMetal=_.qb,c._c2dCreateScene=_.rb,c._c2dDestroyScene=_.sb,c._c2dOpenScene=_.tb,c._c2dCloseScene=_.ub,c._c2dSceneSetClearColor=_.vb,c._c2dAddEntityToScene=_.wb,c._c2dRemoveEntityFromScene=_.xb,c._c2dSetLayerYSort=_.yb,c._c2dCameraSetPosition=_.zb,c._c2dCameraSetZoom=_.Ab,c._c2dCameraSetRotation=_.Bb,c._c2dCameraScreenToWorld=_.Cb,c._c2dCameraWorldToScreen=_.Db,c._c2dCreateEntity=_.Eb,c._c2dDestroyEntity=_.Fb,c._c2dSetParent=_.Gb,c._c2dSetPosition=_.Hb,c._c2dSetRotation=_.Ib,c._c2dSetScale=_.Jb,c._c2dSetLayer=_.Kb,c._c2dSetZ=_.Lb,c._c2dSetVisible=_.Mb,c._c2dGetPosition=_.Nb,c._c2dGetParent=_.Ob,c._c2dGetChildCount=_.Pb,c._c2dGetChild=_.Qb,c._c2dGetWorldPosition=_.Rb,c._c2dGetWorldMatrix=_.Sb,c._c2dWorldToLocal=_.Tb,c._c2dLocalToWorld=_.Ub,c._c2dGetLocalTransform=_.Vb,c._c2dPickSprite=_.Wb,c._c2dSetSprite=_.Xb,c._c2dSetSpriteFrame=_.Yb,c._c2dSetSpriteFramePx=_.Zb,c._c2dSetSpriteSize=_._b,c._c2dSetSpriteAnchor=_.$b,c._c2dSetSpriteColor=_.ac,c._c2dSetSpriteOpacity=_.bc,c._c2dSetSpriteFlip=_.cc,c._c2dSetDefaultFilter=_.dc,c._c2dBulkSetPositions=_.ec,c._c2dCreateTexture=_.fc,c._c2dCreateTextureFromRGBA=_.gc,c._c2dUpdateTextureFromRGBA=_.hc,c._c2dGetTextureWidth=_.ic,c._c2dGetTextureHeight=_.jc,c._c2dDestroyTexture=_.kc,c._c2dDefineAnimation=_.lc,c._c2dPlayAnimation=_.mc,c._c2dStopAnimation=_.nc,c._c2dSetAnimationSpeed=_.oc,c._c2dGetAnimationFrame=_.pc,c._c2dCreateTilemap=_.qc,c._c2dSetTile=_.rc,c._free=_.sc;var $t=c._malloc=_.tc;c._c2dPhysicsHasSupport=_.uc,c._c2dSetInterpolation=_.vc,c._c2dPhysicsConfigure=_.wc,c._c2dPhysicsCreateBody=_.xc,c._c2dPhysicsRemoveBody=_.yc,c._c2dPhysicsAddBox=_.zc,c._c2dPhysicsAddCircle=_.Ac,c._c2dPhysicsAddCapsule=_.Bc,c._c2dPhysicsAddSegment=_.Cc,c._c2dPhysicsAddPolygon=_.Dc,c._c2dPhysicsSetLinearVelocity=_.Ec,c._c2dPhysicsGetLinearVelocity=_.Fc,c._c2dPhysicsSetAngularVelocity=_.Gc,c._c2dPhysicsApplyLinearImpulse=_.Hc,c._c2dPhysicsApplyForce=_.Ic,c._c2dPhysicsSetTransform=_.Jc,c._c2dPhysicsSetFixedRotation=_.Kc,c._c2dPhysicsSetGravityScale=_.Lc,c._c2dPhysicsSetLinearDamping=_.Mc,c._c2dPhysicsSetBullet=_.Nc,c._c2dPhysicsSetEnabled=_.Oc,c._c2dPhysicsRaycastClosest=_.Pc,c._c2dPhysicsOverlapPoint=_.Qc;function le(){if(I>0){O=le;return}if(re(),I>0){O=le;return}function e(){var r;c.calledRun=!0,!T&&(te(),ee(c),(r=c.onRuntimeInitialized)==null||r.call(c),ne())}c.setStatus?(c.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>c.setStatus(""),1),e()},1)):e()}function Qt(){if(c.preInit)for(typeof c.preInit=="function"&&(c.preInit=[c.preInit]);c.preInit.length>0;)c.preInit.shift()()}return Qt(),le(),q=$,q});const en=""+new URL("creator2d-BtQ-1_B0.wasm",import.meta.url).href,tn=async(E,q={},c)=>{const ee=await fetch(en).then(n=>n.arrayBuffer()),X={alpha:!1,depth:!0,stencil:!0,antialias:!1,premultipliedAlpha:!1,desynchronized:!1,powerPreference:"high-performance",failIfMajorPerformanceCaveat:!1,majorVersion:2,minorVersion:0},$=E.getContext("webgl2",X);window.creator2d_glContext=$,window.creator2d_glOptions=X;const l=await qt({wasmBinary:ee,canvas:E});l._c2dInit(),q.linearFilter&&l._c2dSetDefaultFilter(!0),l._c2dSetViewport(E.width,E.height);let G=1;const z=new Map,D=(n,i)=>{const d=l._malloc(n.length*4);l.HEAPF32.set(n,d/4);try{return i(d)}finally{l._free(d)}},k=192,W=l._malloc(k*4),N=new Float32Array(k),T=(n,i)=>{i(W);const d=W>>2,v=l.HEAPF32;for(let p=0;p<n;p++)N[p]=v[d+p];return N},R=new Set;let w=!1,j=0;const Q=n=>{if(!w)return;const i=j===0?0:Math.min(.05,(n-j)/1e3);j=n;for(const d of R)d(i);l._c2dRender(n),requestAnimationFrame(Q)},S=()=>{w||(w=!0,j=0,E.style.display="block",requestAnimationFrame(Q))},L=()=>{w=!1};let C=null;const M=new Set,H=n=>{const i=E.getBoundingClientRect(),d=Kt(E);return[(n.clientX-i.left)/d,(n.clientY-i.top)/d]},Y=n=>{if(!C)return;M.add(n.pointerId);try{E.setPointerCapture(n.pointerId)}catch{}const[i,d]=H(n);C(0,n.pointerId,i,d)},re=n=>{if(!C||!M.has(n.pointerId))return;const[i,d]=H(n);C(1,n.pointerId,i,d)},te=n=>{if(!C||!M.delete(n.pointerId))return;const[i,d]=H(n);C(2,n.pointerId,i,d)},ne=n=>{if(!C||!M.delete(n.pointerId))return;const[i,d]=H(n);C(3,n.pointerId,i,d)};let I=!1;const O=n=>{n!==I&&(I=n,n?(E.addEventListener("pointerdown",Y),window.addEventListener("pointermove",re),window.addEventListener("pointerup",te),window.addEventListener("pointercancel",ne)):(E.removeEventListener("pointerdown",Y),window.removeEventListener("pointermove",re),window.removeEventListener("pointerup",te),window.removeEventListener("pointercancel",ne)))};return{_renderNow:()=>w?(l._c2dRender(performance.now()),!0):!1,backend:"sokol",version:()=>l._creator2dVersion(),render:n=>l._c2dRender(n),onUpdate:n=>{R.add(n)},offUpdate:n=>{R.delete(n)},setOnAnimEvent:n=>{l.onAnimEvent=(i,d,v)=>n({entityId:i,clipId:d,type:v})},setEarlyUpdate:n=>{l.onEarlyUpdate=n},setLateUpdate:n=>{l.onLateUpdate=n},...l._c2dSetTimeScale?{setTimeScale:n=>l._c2dSetTimeScale(n)}:{},setOnPointer:n=>{C=n,O(!0)},setClearColor:(n,i,d,v)=>l._c2dSetClearColor(n,i,d,v),createScene:()=>{const n=l._c2dCreateScene();return z.set(n,1),l._c2dCameraSetZoom(n,G),n},destroyScene:n=>{z.delete(n),l._c2dDestroyScene(n)},openScene:n=>{l._c2dOpenScene(n),S()},closeScene:()=>{l._c2dCloseScene(),L(),E.style.display="none"},sceneSetClearColor:(n,i,d,v,p)=>l._c2dSceneSetClearColor(n,i,d,v,p),addEntityToScene:(n,i)=>l._c2dAddEntityToScene(n,i),removeEntityFromScene:(n,i)=>l._c2dRemoveEntityFromScene(n,i),setLayerYSort:(n,i,d)=>l._c2dSetLayerYSort(n,i,d),cameraSetPosition:(n,i,d)=>l._c2dCameraSetPosition(n,i,d),cameraSetZoom:(n,i)=>{z.set(n,i),l._c2dCameraSetZoom(n,i*G)},cameraSetRotation:(n,i)=>l._c2dCameraSetRotation(n,i),cameraScreenToWorld:(n,i,d)=>T(2,v=>l._c2dCameraScreenToWorld(n,i*G,d*G,v)),cameraWorldToScreen:(n,i,d)=>{const v=T(2,p=>l._c2dCameraWorldToScreen(n,i,d,p));return v[0]/=G,v[1]/=G,v},createEntity:()=>l._c2dCreateEntity(),destroyEntity:n=>l._c2dDestroyEntity(n),setPosition:(n,i,d)=>l._c2dSetPosition(n,i,d),setRotation:(n,i)=>l._c2dSetRotation(n,i),setScale:(n,i,d)=>l._c2dSetScale(n,i,d),setLayer:(n,i)=>l._c2dSetLayer(n,i),setZ:(n,i)=>l._c2dSetZ(n,i),setVisible:(n,i)=>l._c2dSetVisible(n,i),getPosition:n=>T(2,i=>l._c2dGetPosition(n,i)),setParent:(n,i,d)=>l._c2dSetParent(n,i,d),getParent:n=>l._c2dGetParent(n),getChildCount:n=>l._c2dGetChildCount(n),getChild:(n,i)=>l._c2dGetChild(n,i),getWorldPosition:n=>T(2,i=>l._c2dGetWorldPosition(n,i)),getWorldMatrix:n=>T(6,i=>l._c2dGetWorldMatrix(n,i)),worldToLocal:(n,i,d)=>T(2,v=>l._c2dWorldToLocal(n,i,d,v)),localToWorld:(n,i,d)=>T(2,v=>l._c2dLocalToWorld(n,i,d,v)),getLocalTransform:n=>T(5,i=>l._c2dGetLocalTransform(n,i)),setSprite:(n,i)=>l._c2dSetSprite(n,i),setSpriteFrame:(n,i,d,v,p)=>l._c2dSetSpriteFrame(n,i,d,v,p),setSpriteFramePx:(n,i,d,v,p)=>l._c2dSetSpriteFramePx(n,i,d,v,p),setSpriteSize:(n,i,d)=>l._c2dSetSpriteSize(n,i,d),setSpriteAnchor:(n,i,d)=>l._c2dSetSpriteAnchor(n,i,d),setSpriteColor:(n,i,d,v)=>l._c2dSetSpriteColor(n,i,d,v),setSpriteOpacity:(n,i)=>l._c2dSetSpriteOpacity(n,i),setSpriteFlip:(n,i,d)=>l._c2dSetSpriteFlip(n,i,d),createTexture:(n,i,d)=>{try{const v=Jt(n),p=new Uint8Array(v),b=l._malloc(p.length);l.HEAPU8.set(p,b);const B=l._c2dCreateTexture(b,p.length);if(l._free(b),B===0){d(new Error("creator-2d: texture decode failed"));return}i(B,l._c2dGetTextureWidth(B),l._c2dGetTextureHeight(B))}catch(v){d(v)}},getTextureWidth:n=>l._c2dGetTextureWidth(n),getTextureHeight:n=>l._c2dGetTextureHeight(n),destroyTexture:n=>l._c2dDestroyTexture(n),setDefaultFilter:n=>l._c2dSetDefaultFilter(n),createTextureFromCanvas:n=>{const i=c==null?void 0:c.readSurface(n);if(!i)return 0;const d=new Uint8Array(i.data.buffer,i.data.byteOffset,i.data.byteLength),v=l._malloc(d.length);l.HEAPU8.set(d,v);const p=l._c2dCreateTextureFromRGBA(v,i.width,i.height);return l._free(v),p},updateTextureFromCanvas:(n,i)=>{const d=c==null?void 0:c.readSurface(i);if(!d)return;const v=new Uint8Array(d.data.buffer,d.data.byteOffset,d.data.byteLength),p=l._malloc(v.length);l.HEAPU8.set(v,p),l._c2dUpdateTextureFromRGBA(n,p,d.width,d.height),l._free(p)},defineAnimation:(n,i,d,v)=>D(i,p=>l._c2dDefineAnimation(n,p,i.length/4,d,v)),playAnimation:(n,i)=>l._c2dPlayAnimation(n,i),stopAnimation:n=>l._c2dStopAnimation(n),setAnimationSpeed:(n,i)=>l._c2dSetAnimationSpeed(n,i),getAnimationFrame:n=>l._c2dGetAnimationFrame(n),createTilemap:(n,i,d,v,p,b,B,x)=>{const P=l._malloc(x.length*4);l.HEAPU32.set(new Uint32Array(x.buffer,x.byteOffset,x.length),P/4);const F=l._c2dCreateTilemap(n,i,d,v,p,b,B,P);return l._free(P),F},setTile:(n,i,d,v)=>l._c2dSetTile(n,i,d,v),bulkSetPositions:(n,i,d)=>{const v=l._malloc(n.length*4),p=l._malloc(i.length*4);l.HEAPU32.set(n,v/4),l.HEAPF32.set(i,p/4),l._c2dBulkSetPositions(v,p,d),l._free(v),l._free(p)},physicsHasSupport:()=>!!l._c2dPhysicsHasSupport&&!!l._c2dPhysicsHasSupport(),physicsConfigure:(n,i,d,v)=>l._c2dPhysicsConfigure(n,i,d,v),setInterpolation:n=>{var i;return(i=l._c2dSetInterpolation)==null?void 0:i.call(l,n)},setOnPhysicsEvent:n=>{l.onPhysicsEvent=n},physicsCreateBody:(n,i)=>l._c2dPhysicsCreateBody(n,i),physicsRemoveBody:n=>l._c2dPhysicsRemoveBody(n),physicsAddBox:(n,i,d,v,p,b,B,x,P,F)=>l._c2dPhysicsAddBox(n,i,d,v,p,b,B,x,P,F),physicsAddCircle:(n,i,d,v,p,b,B,x,P)=>l._c2dPhysicsAddCircle(n,i,d,v,p,b,B,x,P),physicsAddCapsule:(n,i,d,v,p,b,B,x,P,F,J)=>l._c2dPhysicsAddCapsule(n,i,d,v,p,b,B,x,P,F,J),physicsAddSegment:(n,i,d,v,p,b,B,x,P)=>l._c2dPhysicsAddSegment(n,i,d,v,p,b,B,x,P),physicsAddPolygon:(n,i,d,v,p,b,B,x)=>D(i,P=>l._c2dPhysicsAddPolygon(n,P,d,v,p,b,B,x)),physicsAddChain:(n,i,d,v,p,b,B,x)=>D(i,P=>l._c2dPhysicsAddChain(n,P,d,v,p,b,B,x)),physicsClearShapes:n=>l._c2dPhysicsClearShapes(n),physicsSetContactEvents:(n,i)=>l._c2dPhysicsSetContactEvents(n,i),physicsSetLinearVelocity:(n,i,d)=>l._c2dPhysicsSetLinearVelocity(n,i,d),physicsGetLinearVelocity:n=>T(2,i=>l._c2dPhysicsGetLinearVelocity(n,i)),physicsSetAngularVelocity:(n,i)=>l._c2dPhysicsSetAngularVelocity(n,i),physicsGetAngularVelocity:n=>l._c2dPhysicsGetAngularVelocity(n),physicsApplyLinearImpulse:(n,i,d)=>l._c2dPhysicsApplyLinearImpulse(n,i,d),physicsApplyImpulseAt:(n,i,d,v,p)=>l._c2dPhysicsApplyImpulseAt(n,i,d,v,p),physicsApplyForce:(n,i,d)=>l._c2dPhysicsApplyForce(n,i,d),physicsSetFromEntity:n=>l._c2dPhysicsSetFromEntity(n),physicsSetFixedRotation:(n,i)=>l._c2dPhysicsSetFixedRotation(n,i),physicsSetGravityScale:(n,i)=>l._c2dPhysicsSetGravityScale(n,i),physicsSetLinearDamping:(n,i)=>l._c2dPhysicsSetLinearDamping(n,i),physicsSetAngularDamping:(n,i)=>l._c2dPhysicsSetAngularDamping(n,i),physicsSetBullet:(n,i)=>l._c2dPhysicsSetBullet(n,i),physicsSetEnabled:(n,i)=>l._c2dPhysicsSetEnabled(n,i),physicsSetAwake:(n,i)=>l._c2dPhysicsSetAwake(n,i),physicsSetMass:(n,i)=>l._c2dPhysicsSetMass(n,i),physicsGetMass:n=>l._c2dPhysicsGetMass(n),physicsSetMotionType:(n,i)=>l._c2dPhysicsSetMotionType(n,i),physicsSetFriction:(n,i)=>l._c2dPhysicsSetFriction(n,i),physicsSetBounce:(n,i)=>l._c2dPhysicsSetBounce(n,i),physicsSetFilter:(n,i,d)=>l._c2dPhysicsSetFilter(n,i,d),physicsRaycastClosest:(n,i,d,v,p,b,B)=>D(b,x=>T(7,P=>l._c2dPhysicsRaycastClosest(n,i,d,v,p,x,B,P))),physicsRaycastAll:(n,i,d,v,p,b,B,x)=>D(b,P=>{let F=0;return T(x*6,Z=>{F=l._c2dPhysicsRaycastAll(n,i,d,v,p,P,B,Z,x)}).subarray(0,F*6)}),physicsOverlap:(n,i,d,v,p,b,B)=>D(n,x=>D(p,P=>{let F=0;return T(B,Z=>{F=l._c2dPhysicsOverlap(x,i,d,v,P,b,Z,B)}).subarray(0,F)})),characterCreate:(n,i,d,v,p,b,B,x,P)=>l._c2dCharacterCreate(n,i,d,v,p,b,B,x,P),characterDestroy:n=>l._c2dCharacterDestroy(n),characterMove:(n,i)=>l._c2dCharacterMove(n,i),characterMoveFree:(n,i,d)=>l._c2dCharacterMoveFree(n,i,d),characterSetVerticalVelocity:(n,i)=>l._c2dCharacterSetVerticalVelocity(n,i),characterSetVelocity:(n,i,d)=>l._c2dCharacterSetVelocity(n,i,d),characterSetGravityScale:(n,i)=>l._c2dCharacterSetGravityScale(n,i),characterSetMaxSlope:(n,i)=>l._c2dCharacterSetMaxSlope(n,i),characterSetFilter:(n,i,d)=>l._c2dCharacterSetFilter(n,i,d),characterSetDropThrough:(n,i)=>l._c2dCharacterSetDropThrough(n,i),characterSetCapsule:(n,i,d,v,p,b)=>!!l._c2dCharacterSetCapsule(n,i,d,v,p,b),characterSetFromEntity:n=>l._c2dCharacterSetFromEntity(n),characterGetState:(n,i)=>{i.set(T(8,d=>l._c2dCharacterGetState(n,d)).subarray(0,8))},characterGetCollisions:(n,i)=>{let d=0;return T(i*3,p=>{d=l._c2dCharacterGetCollisions(n,p,i)}).subarray(0,d*3)},physicsSetOneWay:(n,i,d,v,p)=>l._c2dPhysicsSetOneWay(n,i,d,v,p),physicsOverlapPoint:(n,i,d,v,p)=>D(v,b=>l._c2dPhysicsOverlapPoint(n,i,d,b,p)),pickSprite:(n,i,d)=>l._c2dPickSprite(n,i,d),_onResize(n,i,d=1){G=d,E.width=Math.max(1,Math.round(n*d)),E.height=Math.max(1,Math.round(i*d)),E.style.width=n+"px",E.style.height=i+"px",l._c2dSetViewport(E.width,E.height);for(const[v,p]of z)l._c2dCameraSetZoom(v,p*G)},_dispose(){var n;L(),O(!1),C=null,l._c2dCloseScene();try{l._c2dShutdown()}catch{}(n=$.getExtension("WEBGL_lose_context"))==null||n.loseContext(),window.creator2d_glContext===$&&(window.creator2d_glContext=null,window.creator2d_glOptions=null)}}};export{tn as createViewer2d};
|