@grida/canvas-wasm 0.0.56 → 0.0.58

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/index.mjs CHANGED
@@ -112,7 +112,7 @@ var require_grida_canvas_wasm = __commonJS({
112
112
  runtimeInitialized = true;
113
113
  if (!Module["noFSInit"] && !FS.initialized) FS.init();
114
114
  TTY.init();
115
- wasmExports["jg"]();
115
+ wasmExports["lg"]();
116
116
  FS.ignorePermissions = false;
117
117
  }
118
118
  function preMain() {
@@ -211,9 +211,9 @@ var require_grida_canvas_wasm = __commonJS({
211
211
  async function createWasm() {
212
212
  function receiveInstance(instance, module2) {
213
213
  wasmExports = instance.exports;
214
- wasmMemory = wasmExports["ig"];
214
+ wasmMemory = wasmExports["kg"];
215
215
  updateMemoryViews();
216
- wasmTable = wasmExports["kg"];
216
+ wasmTable = wasmExports["mg"];
217
217
  removeRunDependency("wasm-instantiate");
218
218
  return wasmExports;
219
219
  }
@@ -4990,11 +4990,9 @@ var require_grida_canvas_wasm = __commonJS({
4990
4990
  Module["stringToUTF8"] = stringToUTF8;
4991
4991
  Module["lengthBytesUTF8"] = lengthBytesUTF8;
4992
4992
  Module["GL"] = GL;
4993
- var wasmImports = { v: ___cxa_begin_catch, y: ___cxa_end_catch, a: ___cxa_find_matching_catch_2, m: ___cxa_find_matching_catch_3, M: ___cxa_find_matching_catch_4, _: ___cxa_rethrow, w: ___cxa_throw, gb: ___cxa_uncaught_exceptions, d: ___resumeException, aa: ___syscall_fcntl64, ub: ___syscall_fstat64, qb: ___syscall_getcwd, wb: ___syscall_ioctl, rb: ___syscall_lstat64, sb: ___syscall_newfstatat, $: ___syscall_openat, tb: ___syscall_stat64, zb: __abort_js, ib: __emscripten_throw_longjmp, nb: __gmtime_js, lb: __mmap_js, mb: __munmap_js, Ab: __tzset_js, yb: _clock_time_get, xb: _emscripten_date_now, P: _emscripten_get_now, Gf: _emscripten_glActiveTexture, Hf: _emscripten_glAttachShader, ie: _emscripten_glBeginQuery, ce: _emscripten_glBeginQueryEXT, Gc: _emscripten_glBeginTransformFeedback, If: _emscripten_glBindAttribLocation, Jf: _emscripten_glBindBuffer, Dc: _emscripten_glBindBufferBase, Ec: _emscripten_glBindBufferRange, Ge: _emscripten_glBindFramebuffer, He: _emscripten_glBindRenderbuffer, oe: _emscripten_glBindSampler, Kf: _emscripten_glBindTexture, Tb: _emscripten_glBindTransformFeedback, bf: _emscripten_glBindVertexArray, ef: _emscripten_glBindVertexArrayOES, Lf: _emscripten_glBlendColor, Mf: _emscripten_glBlendEquation, Md: _emscripten_glBlendEquationSeparate, Nf: _emscripten_glBlendFunc, Ld: _emscripten_glBlendFuncSeparate, Ae: _emscripten_glBlitFramebuffer, Of: _emscripten_glBufferData, Pf: _emscripten_glBufferSubData, Ie: _emscripten_glCheckFramebufferStatus, Qf: _emscripten_glClear, gc: _emscripten_glClearBufferfi, hc: _emscripten_glClearBufferfv, jc: _emscripten_glClearBufferiv, ic: _emscripten_glClearBufferuiv, Rf: _emscripten_glClearColor, Kd: _emscripten_glClearDepthf, Sf: _emscripten_glClearStencil, xe: _emscripten_glClientWaitSync, $c: _emscripten_glClipControlEXT, Tf: _emscripten_glColorMask, Uf: _emscripten_glCompileShader, Vf: _emscripten_glCompressedTexImage2D, Sc: _emscripten_glCompressedTexImage3D, Wf: _emscripten_glCompressedTexSubImage2D, Rc: _emscripten_glCompressedTexSubImage3D, ze: _emscripten_glCopyBufferSubData, Jd: _emscripten_glCopyTexImage2D, Xf: _emscripten_glCopyTexSubImage2D, Tc: _emscripten_glCopyTexSubImage3D, Yf: _emscripten_glCreateProgram, Zf: _emscripten_glCreateShader, _f: _emscripten_glCullFace, $f: _emscripten_glDeleteBuffers, Je: _emscripten_glDeleteFramebuffers, ag: _emscripten_glDeleteProgram, je: _emscripten_glDeleteQueries, de: _emscripten_glDeleteQueriesEXT, Ke: _emscripten_glDeleteRenderbuffers, pe: _emscripten_glDeleteSamplers, bg: _emscripten_glDeleteShader, ye: _emscripten_glDeleteSync, cg: _emscripten_glDeleteTextures, Sb: _emscripten_glDeleteTransformFeedbacks, cf: _emscripten_glDeleteVertexArrays, ff: _emscripten_glDeleteVertexArraysOES, Id: _emscripten_glDepthFunc, dg: _emscripten_glDepthMask, Hd: _emscripten_glDepthRangef, Gd: _emscripten_glDetachShader, eg: _emscripten_glDisable, fg: _emscripten_glDisableVertexAttribArray, gg: _emscripten_glDrawArrays, $e: _emscripten_glDrawArraysInstanced, Pd: _emscripten_glDrawArraysInstancedANGLE, Fb: _emscripten_glDrawArraysInstancedARB, Ye: _emscripten_glDrawArraysInstancedBaseInstanceWEBGL, Yc: _emscripten_glDrawArraysInstancedEXT, Gb: _emscripten_glDrawArraysInstancedNV, We: _emscripten_glDrawBuffers, Wc: _emscripten_glDrawBuffersEXT, Qd: _emscripten_glDrawBuffersWEBGL, hg: _emscripten_glDrawElements, af: _emscripten_glDrawElementsInstanced, Od: _emscripten_glDrawElementsInstancedANGLE, Db: _emscripten_glDrawElementsInstancedARB, Ze: _emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL, Eb: _emscripten_glDrawElementsInstancedEXT, Xc: _emscripten_glDrawElementsInstancedNV, Pe: _emscripten_glDrawRangeElements, fa: _emscripten_glEnable, ga: _emscripten_glEnableVertexAttribArray, ke: _emscripten_glEndQuery, ee: _emscripten_glEndQueryEXT, Fc: _emscripten_glEndTransformFeedback, ue: _emscripten_glFenceSync, ha: _emscripten_glFinish, ia: _emscripten_glFlush, Le: _emscripten_glFramebufferRenderbuffer, Me: _emscripten_glFramebufferTexture2D, Jc: _emscripten_glFramebufferTextureLayer, ja: _emscripten_glFrontFace, ka: _emscripten_glGenBuffers, Ne: _emscripten_glGenFramebuffers, le: _emscripten_glGenQueries, fe: _emscripten_glGenQueriesEXT, Oe: _emscripten_glGenRenderbuffers, qe: _emscripten_glGenSamplers, la: _emscripten_glGenTextures, Rb: _emscripten_glGenTransformFeedbacks, _e: _emscripten_glGenVertexArrays, gf: _emscripten_glGenVertexArraysOES, Ce: _emscripten_glGenerateMipmap, Fd: _emscripten_glGetActiveAttrib, Ed: _emscripten_glGetActiveUniform, bc: _emscripten_glGetActiveUniformBlockName, cc: _emscripten_glGetActiveUniformBlockiv, ec: _emscripten_glGetActiveUniformsiv, Dd: _emscripten_glGetAttachedShaders, Cd: _emscripten_glGetAttribLocation, Bd: _emscripten_glGetBooleanv, Yb: _emscripten_glGetBufferParameteri64v, ma: _emscripten_glGetBufferParameteriv, na: _emscripten_glGetError, oa: _emscripten_glGetFloatv, sc: _emscripten_glGetFragDataLocation, De: _emscripten_glGetFramebufferAttachmentParameteriv, Zb: _emscripten_glGetInteger64i_v, $b: _emscripten_glGetInteger64v, Hc: _emscripten_glGetIntegeri_v, pa: _emscripten_glGetIntegerv, Jb: _emscripten_glGetInternalformativ, Nb: _emscripten_glGetProgramBinary, qa: _emscripten_glGetProgramInfoLog, ra: _emscripten_glGetProgramiv, $d: _emscripten_glGetQueryObjecti64vEXT, Sd: _emscripten_glGetQueryObjectivEXT, ae: _emscripten_glGetQueryObjectui64vEXT, me: _emscripten_glGetQueryObjectuiv, ge: _emscripten_glGetQueryObjectuivEXT, ne: _emscripten_glGetQueryiv, he: _emscripten_glGetQueryivEXT, Ee: _emscripten_glGetRenderbufferParameteriv, Ub: _emscripten_glGetSamplerParameterfv, Vb: _emscripten_glGetSamplerParameteriv, sa: _emscripten_glGetShaderInfoLog, Yd: _emscripten_glGetShaderPrecisionFormat, Ad: _emscripten_glGetShaderSource, ta: _emscripten_glGetShaderiv, ua: _emscripten_glGetString, df: _emscripten_glGetStringi, _b: _emscripten_glGetSynciv, zd: _emscripten_glGetTexParameterfv, yd: _emscripten_glGetTexParameteriv, Bc: _emscripten_glGetTransformFeedbackVarying, dc: _emscripten_glGetUniformBlockIndex, fc: _emscripten_glGetUniformIndices, va: _emscripten_glGetUniformLocation, xd: _emscripten_glGetUniformfv, wd: _emscripten_glGetUniformiv, tc: _emscripten_glGetUniformuiv, Ac: _emscripten_glGetVertexAttribIiv, zc: _emscripten_glGetVertexAttribIuiv, td: _emscripten_glGetVertexAttribPointerv, vd: _emscripten_glGetVertexAttribfv, ud: _emscripten_glGetVertexAttribiv, sd: _emscripten_glHint, Zd: _emscripten_glInvalidateFramebuffer, _d: _emscripten_glInvalidateSubFramebuffer, rd: _emscripten_glIsBuffer, qd: _emscripten_glIsEnabled, pd: _emscripten_glIsFramebuffer, od: _emscripten_glIsProgram, Qc: _emscripten_glIsQuery, Td: _emscripten_glIsQueryEXT, nd: _emscripten_glIsRenderbuffer, Xb: _emscripten_glIsSampler, md: _emscripten_glIsShader, ve: _emscripten_glIsSync, wa: _emscripten_glIsTexture, Qb: _emscripten_glIsTransformFeedback, Ic: _emscripten_glIsVertexArray, Rd: _emscripten_glIsVertexArrayOES, xa: _emscripten_glLineWidth, ya: _emscripten_glLinkProgram, Ue: _emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL, Ve: _emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL, Pb: _emscripten_glPauseTransformFeedback, za: _emscripten_glPixelStorei, _c: _emscripten_glPolygonModeWEBGL, kd: _emscripten_glPolygonOffset, bd: _emscripten_glPolygonOffsetClampEXT, Mb: _emscripten_glProgramBinary, Lb: _emscripten_glProgramParameteri, be: _emscripten_glQueryCounterEXT, Xe: _emscripten_glReadBuffer, Aa: _emscripten_glReadPixels, jd: _emscripten_glReleaseShaderCompiler, Fe: _emscripten_glRenderbufferStorage, Be: _emscripten_glRenderbufferStorageMultisample, Ob: _emscripten_glResumeTransformFeedback, id: _emscripten_glSampleCoverage, re: _emscripten_glSamplerParameterf, Wb: _emscripten_glSamplerParameterfv, se: _emscripten_glSamplerParameteri, te: _emscripten_glSamplerParameteriv, Ba: _emscripten_glScissor, hd: _emscripten_glShaderBinary, Ca: _emscripten_glShaderSource, Da: _emscripten_glStencilFunc, Ea: _emscripten_glStencilFuncSeparate, Fa: _emscripten_glStencilMask, Ga: _emscripten_glStencilMaskSeparate, Ha: _emscripten_glStencilOp, Ia: _emscripten_glStencilOpSeparate, Ja: _emscripten_glTexImage2D, Vc: _emscripten_glTexImage3D, Ka: _emscripten_glTexParameterf, La: _emscripten_glTexParameterfv, Ma: _emscripten_glTexParameteri, Na: _emscripten_glTexParameteriv, Qe: _emscripten_glTexStorage2D, Kb: _emscripten_glTexStorage3D, Oa: _emscripten_glTexSubImage2D, Uc: _emscripten_glTexSubImage3D, Cc: _emscripten_glTransformFeedbackVaryings, Pa: _emscripten_glUniform1f, Qa: _emscripten_glUniform1fv, Cf: _emscripten_glUniform1i, Df: _emscripten_glUniform1iv, rc: _emscripten_glUniform1ui, nc: _emscripten_glUniform1uiv, Ef: _emscripten_glUniform2f, Ff: _emscripten_glUniform2fv, Bf: _emscripten_glUniform2i, Af: _emscripten_glUniform2iv, qc: _emscripten_glUniform2ui, mc: _emscripten_glUniform2uiv, zf: _emscripten_glUniform3f, yf: _emscripten_glUniform3fv, xf: _emscripten_glUniform3i, wf: _emscripten_glUniform3iv, pc: _emscripten_glUniform3ui, lc: _emscripten_glUniform3uiv, vf: _emscripten_glUniform4f, uf: _emscripten_glUniform4fv, hf: _emscripten_glUniform4i, jf: _emscripten_glUniform4iv, oc: _emscripten_glUniform4ui, kc: _emscripten_glUniform4uiv, ac: _emscripten_glUniformBlockBinding, kf: _emscripten_glUniformMatrix2fv, Pc: _emscripten_glUniformMatrix2x3fv, Nc: _emscripten_glUniformMatrix2x4fv, lf: _emscripten_glUniformMatrix3fv, Oc: _emscripten_glUniformMatrix3x2fv, Lc: _emscripten_glUniformMatrix3x4fv, mf: _emscripten_glUniformMatrix4fv, Mc: _emscripten_glUniformMatrix4x2fv, Kc: _emscripten_glUniformMatrix4x3fv, nf: _emscripten_glUseProgram, gd: _emscripten_glValidateProgram, of: _emscripten_glVertexAttrib1f, fd: _emscripten_glVertexAttrib1fv, ed: _emscripten_glVertexAttrib2f, pf: _emscripten_glVertexAttrib2fv, dd: _emscripten_glVertexAttrib3f, qf: _emscripten_glVertexAttrib3fv, cd: _emscripten_glVertexAttrib4f, rf: _emscripten_glVertexAttrib4fv, Re: _emscripten_glVertexAttribDivisor, Nd: _emscripten_glVertexAttribDivisorANGLE, Hb: _emscripten_glVertexAttribDivisorARB, Zc: _emscripten_glVertexAttribDivisorEXT, Ib: _emscripten_glVertexAttribDivisorNV, yc: _emscripten_glVertexAttribI4i, vc: _emscripten_glVertexAttribI4iv, wc: _emscripten_glVertexAttribI4ui, uc: _emscripten_glVertexAttribI4uiv, Te: _emscripten_glVertexAttribIPointer, sf: _emscripten_glVertexAttribPointer, tf: _emscripten_glViewport, we: _emscripten_glWaitSync, Va: _emscripten_request_animation_frame_loop, jb: _emscripten_resize_heap, Bb: _environ_get, Cb: _environ_sizes_get, Ta: _exit, Q: _fd_close, kb: _fd_pread, vb: _fd_read, ob: _fd_seek, L: _fd_write, Ra: _glGetIntegerv, U: _glGetString, Sa: _glGetStringi, Wd: invoke_dd, Vd: invoke_ddd, Xd: invoke_dddd, X: invoke_diii, Ud: invoke_fff, Z: invoke_fi, _a: invoke_fif, Y: invoke_fiii, $a: invoke_fiiiif, p: invoke_i, eb: invoke_if, ab: invoke_iffiiiiiiii, f: invoke_ii, x: invoke_iif, T: invoke_iifffi, g: invoke_iii, db: invoke_iiif, h: invoke_iiii, k: invoke_iiiii, fb: invoke_iiiiid, H: invoke_iiiiii, s: invoke_iiiiiii, G: invoke_iiiiiiii, V: invoke_iiiiiiiiii, Se: invoke_iiiiiiiiiiifiii, J: invoke_iiiiiiiiiiii, hb: invoke_j, Ya: invoke_ji, o: invoke_jii, K: invoke_jiiii, n: invoke_v, b: invoke_vi, ea: invoke_vid, D: invoke_vif, C: invoke_viff, A: invoke_vifff, t: invoke_vifffff, Xa: invoke_viffi, da: invoke_vifi, c: invoke_vii, E: invoke_viif, W: invoke_viiff, O: invoke_viifff, ad: invoke_viiffiii, r: invoke_viifii, e: invoke_viii, B: invoke_viiif, ca: invoke_viiifi, u: invoke_viiifif, i: invoke_viiii, Za: invoke_viiiif, j: invoke_viiiii, bb: invoke_viiiiiffiifff, cb: invoke_viiiiiffiifi, l: invoke_viiiiii, ba: invoke_viiiiiiff, q: invoke_viiiiiii, F: invoke_viiiiiiii, Ua: invoke_viiiiiiiii, xc: invoke_viiiiiiiiifii, z: invoke_viiiiiiiiii, Wa: invoke_viiiiiiiiiii, I: invoke_viiiiiiiiiiiiiii, ld: invoke_viij, S: invoke_viiji, N: invoke_vijjjj, R: _llvm_eh_typeid_for, pb: _random_get };
4993
+ var wasmImports = { w: ___cxa_begin_catch, A: ___cxa_end_catch, a: ___cxa_find_matching_catch_2, n: ___cxa_find_matching_catch_3, H: ___cxa_find_matching_catch_4, aa: ___cxa_rethrow, x: ___cxa_throw, cb: ___cxa_uncaught_exceptions, d: ___resumeException, da: ___syscall_fcntl64, qb: ___syscall_fstat64, mb: ___syscall_getcwd, sb: ___syscall_ioctl, nb: ___syscall_lstat64, ob: ___syscall_newfstatat, ca: ___syscall_openat, pb: ___syscall_stat64, vb: __abort_js, eb: __emscripten_throw_longjmp, jb: __gmtime_js, hb: __mmap_js, ib: __munmap_js, wb: __tzset_js, ub: _clock_time_get, tb: _emscripten_date_now, R: _emscripten_get_now, Gf: _emscripten_glActiveTexture, Hf: _emscripten_glAttachShader, ie: _emscripten_glBeginQuery, ce: _emscripten_glBeginQueryEXT, Hc: _emscripten_glBeginTransformFeedback, If: _emscripten_glBindAttribLocation, Jf: _emscripten_glBindBuffer, Ec: _emscripten_glBindBufferBase, Fc: _emscripten_glBindBufferRange, He: _emscripten_glBindFramebuffer, Ie: _emscripten_glBindRenderbuffer, oe: _emscripten_glBindSampler, Kf: _emscripten_glBindTexture, Rb: _emscripten_glBindTransformFeedback, bf: _emscripten_glBindVertexArray, ef: _emscripten_glBindVertexArrayOES, Lf: _emscripten_glBlendColor, Mf: _emscripten_glBlendEquation, Md: _emscripten_glBlendEquationSeparate, Nf: _emscripten_glBlendFunc, Ld: _emscripten_glBlendFuncSeparate, Be: _emscripten_glBlitFramebuffer, Of: _emscripten_glBufferData, Pf: _emscripten_glBufferSubData, Je: _emscripten_glCheckFramebufferStatus, Qf: _emscripten_glClear, gc: _emscripten_glClearBufferfi, hc: _emscripten_glClearBufferfv, jc: _emscripten_glClearBufferiv, ic: _emscripten_glClearBufferuiv, Rf: _emscripten_glClearColor, Kd: _emscripten_glClearDepthf, Sf: _emscripten_glClearStencil, xe: _emscripten_glClientWaitSync, ad: _emscripten_glClipControlEXT, Tf: _emscripten_glColorMask, Uf: _emscripten_glCompileShader, Vf: _emscripten_glCompressedTexImage2D, Tc: _emscripten_glCompressedTexImage3D, Wf: _emscripten_glCompressedTexSubImage2D, Sc: _emscripten_glCompressedTexSubImage3D, ze: _emscripten_glCopyBufferSubData, Jd: _emscripten_glCopyTexImage2D, Xf: _emscripten_glCopyTexSubImage2D, Uc: _emscripten_glCopyTexSubImage3D, Yf: _emscripten_glCreateProgram, Zf: _emscripten_glCreateShader, _f: _emscripten_glCullFace, $f: _emscripten_glDeleteBuffers, Ke: _emscripten_glDeleteFramebuffers, ag: _emscripten_glDeleteProgram, je: _emscripten_glDeleteQueries, de: _emscripten_glDeleteQueriesEXT, Le: _emscripten_glDeleteRenderbuffers, pe: _emscripten_glDeleteSamplers, bg: _emscripten_glDeleteShader, ye: _emscripten_glDeleteSync, cg: _emscripten_glDeleteTextures, Qb: _emscripten_glDeleteTransformFeedbacks, cf: _emscripten_glDeleteVertexArrays, ff: _emscripten_glDeleteVertexArraysOES, Id: _emscripten_glDepthFunc, dg: _emscripten_glDepthMask, Hd: _emscripten_glDepthRangef, Gd: _emscripten_glDetachShader, eg: _emscripten_glDisable, fg: _emscripten_glDisableVertexAttribArray, gg: _emscripten_glDrawArrays, $e: _emscripten_glDrawArraysInstanced, Pd: _emscripten_glDrawArraysInstancedANGLE, Cb: _emscripten_glDrawArraysInstancedARB, Ye: _emscripten_glDrawArraysInstancedBaseInstanceWEBGL, Zc: _emscripten_glDrawArraysInstancedEXT, Db: _emscripten_glDrawArraysInstancedNV, We: _emscripten_glDrawBuffers, Xc: _emscripten_glDrawBuffersEXT, Qd: _emscripten_glDrawBuffersWEBGL, hg: _emscripten_glDrawElements, af: _emscripten_glDrawElementsInstanced, Od: _emscripten_glDrawElementsInstancedANGLE, Ab: _emscripten_glDrawElementsInstancedARB, Ze: _emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL, Bb: _emscripten_glDrawElementsInstancedEXT, Yc: _emscripten_glDrawElementsInstancedNV, Qe: _emscripten_glDrawRangeElements, ig: _emscripten_glEnable, jg: _emscripten_glEnableVertexAttribArray, ke: _emscripten_glEndQuery, ee: _emscripten_glEndQueryEXT, Gc: _emscripten_glEndTransformFeedback, ue: _emscripten_glFenceSync, ga: _emscripten_glFinish, ha: _emscripten_glFlush, Me: _emscripten_glFramebufferRenderbuffer, Ne: _emscripten_glFramebufferTexture2D, Kc: _emscripten_glFramebufferTextureLayer, ia: _emscripten_glFrontFace, ja: _emscripten_glGenBuffers, Oe: _emscripten_glGenFramebuffers, le: _emscripten_glGenQueries, fe: _emscripten_glGenQueriesEXT, Pe: _emscripten_glGenRenderbuffers, qe: _emscripten_glGenSamplers, ka: _emscripten_glGenTextures, Pb: _emscripten_glGenTransformFeedbacks, _e: _emscripten_glGenVertexArrays, gf: _emscripten_glGenVertexArraysOES, De: _emscripten_glGenerateMipmap, Fd: _emscripten_glGetActiveAttrib, Ed: _emscripten_glGetActiveUniform, ac: _emscripten_glGetActiveUniformBlockName, bc: _emscripten_glGetActiveUniformBlockiv, dc: _emscripten_glGetActiveUniformsiv, Dd: _emscripten_glGetAttachedShaders, Cd: _emscripten_glGetAttribLocation, Bd: _emscripten_glGetBooleanv, Xb: _emscripten_glGetBufferParameteri64v, la: _emscripten_glGetBufferParameteriv, ma: _emscripten_glGetError, na: _emscripten_glGetFloatv, tc: _emscripten_glGetFragDataLocation, Ee: _emscripten_glGetFramebufferAttachmentParameteriv, Yb: _emscripten_glGetInteger64i_v, _b: _emscripten_glGetInteger64v, Ic: _emscripten_glGetIntegeri_v, oa: _emscripten_glGetIntegerv, Gb: _emscripten_glGetInternalformativ, Lb: _emscripten_glGetProgramBinary, pa: _emscripten_glGetProgramInfoLog, qa: _emscripten_glGetProgramiv, $d: _emscripten_glGetQueryObjecti64vEXT, Sd: _emscripten_glGetQueryObjectivEXT, ae: _emscripten_glGetQueryObjectui64vEXT, me: _emscripten_glGetQueryObjectuiv, ge: _emscripten_glGetQueryObjectuivEXT, ne: _emscripten_glGetQueryiv, he: _emscripten_glGetQueryivEXT, Fe: _emscripten_glGetRenderbufferParameteriv, Sb: _emscripten_glGetSamplerParameterfv, Tb: _emscripten_glGetSamplerParameteriv, ra: _emscripten_glGetShaderInfoLog, Yd: _emscripten_glGetShaderPrecisionFormat, Ad: _emscripten_glGetShaderSource, sa: _emscripten_glGetShaderiv, ta: _emscripten_glGetString, df: _emscripten_glGetStringi, Zb: _emscripten_glGetSynciv, zd: _emscripten_glGetTexParameterfv, yd: _emscripten_glGetTexParameteriv, Cc: _emscripten_glGetTransformFeedbackVarying, cc: _emscripten_glGetUniformBlockIndex, fc: _emscripten_glGetUniformIndices, ua: _emscripten_glGetUniformLocation, xd: _emscripten_glGetUniformfv, wd: _emscripten_glGetUniformiv, uc: _emscripten_glGetUniformuiv, Bc: _emscripten_glGetVertexAttribIiv, zc: _emscripten_glGetVertexAttribIuiv, td: _emscripten_glGetVertexAttribPointerv, vd: _emscripten_glGetVertexAttribfv, ud: _emscripten_glGetVertexAttribiv, sd: _emscripten_glHint, Zd: _emscripten_glInvalidateFramebuffer, _d: _emscripten_glInvalidateSubFramebuffer, rd: _emscripten_glIsBuffer, qd: _emscripten_glIsEnabled, pd: _emscripten_glIsFramebuffer, od: _emscripten_glIsProgram, Rc: _emscripten_glIsQuery, Td: _emscripten_glIsQueryEXT, md: _emscripten_glIsRenderbuffer, Wb: _emscripten_glIsSampler, ld: _emscripten_glIsShader, ve: _emscripten_glIsSync, va: _emscripten_glIsTexture, Ob: _emscripten_glIsTransformFeedback, Jc: _emscripten_glIsVertexArray, Rd: _emscripten_glIsVertexArrayOES, wa: _emscripten_glLineWidth, xa: _emscripten_glLinkProgram, Ue: _emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL, Ve: _emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL, Nb: _emscripten_glPauseTransformFeedback, ya: _emscripten_glPixelStorei, $c: _emscripten_glPolygonModeWEBGL, kd: _emscripten_glPolygonOffset, bd: _emscripten_glPolygonOffsetClampEXT, Jb: _emscripten_glProgramBinary, Ib: _emscripten_glProgramParameteri, be: _emscripten_glQueryCounterEXT, Xe: _emscripten_glReadBuffer, za: _emscripten_glReadPixels, jd: _emscripten_glReleaseShaderCompiler, Ge: _emscripten_glRenderbufferStorage, Ce: _emscripten_glRenderbufferStorageMultisample, Mb: _emscripten_glResumeTransformFeedback, id: _emscripten_glSampleCoverage, re: _emscripten_glSamplerParameterf, Ub: _emscripten_glSamplerParameterfv, se: _emscripten_glSamplerParameteri, te: _emscripten_glSamplerParameteriv, Aa: _emscripten_glScissor, hd: _emscripten_glShaderBinary, Ba: _emscripten_glShaderSource, Ca: _emscripten_glStencilFunc, Da: _emscripten_glStencilFuncSeparate, Ea: _emscripten_glStencilMask, Fa: _emscripten_glStencilMaskSeparate, Ga: _emscripten_glStencilOp, Ha: _emscripten_glStencilOpSeparate, Ia: _emscripten_glTexImage2D, Wc: _emscripten_glTexImage3D, Ja: _emscripten_glTexParameterf, Ka: _emscripten_glTexParameterfv, La: _emscripten_glTexParameteri, Ma: _emscripten_glTexParameteriv, Re: _emscripten_glTexStorage2D, Hb: _emscripten_glTexStorage3D, Na: _emscripten_glTexSubImage2D, Vc: _emscripten_glTexSubImage3D, Dc: _emscripten_glTransformFeedbackVaryings, Oa: _emscripten_glUniform1f, Pa: _emscripten_glUniform1fv, Cf: _emscripten_glUniform1i, Df: _emscripten_glUniform1iv, sc: _emscripten_glUniform1ui, nc: _emscripten_glUniform1uiv, Ef: _emscripten_glUniform2f, Ff: _emscripten_glUniform2fv, Bf: _emscripten_glUniform2i, Af: _emscripten_glUniform2iv, rc: _emscripten_glUniform2ui, mc: _emscripten_glUniform2uiv, zf: _emscripten_glUniform3f, yf: _emscripten_glUniform3fv, xf: _emscripten_glUniform3i, wf: _emscripten_glUniform3iv, qc: _emscripten_glUniform3ui, lc: _emscripten_glUniform3uiv, vf: _emscripten_glUniform4f, uf: _emscripten_glUniform4fv, hf: _emscripten_glUniform4i, jf: _emscripten_glUniform4iv, oc: _emscripten_glUniform4ui, kc: _emscripten_glUniform4uiv, $b: _emscripten_glUniformBlockBinding, kf: _emscripten_glUniformMatrix2fv, Qc: _emscripten_glUniformMatrix2x3fv, Oc: _emscripten_glUniformMatrix2x4fv, lf: _emscripten_glUniformMatrix3fv, Pc: _emscripten_glUniformMatrix3x2fv, Mc: _emscripten_glUniformMatrix3x4fv, mf: _emscripten_glUniformMatrix4fv, Nc: _emscripten_glUniformMatrix4x2fv, Lc: _emscripten_glUniformMatrix4x3fv, nf: _emscripten_glUseProgram, gd: _emscripten_glValidateProgram, of: _emscripten_glVertexAttrib1f, fd: _emscripten_glVertexAttrib1fv, ed: _emscripten_glVertexAttrib2f, pf: _emscripten_glVertexAttrib2fv, dd: _emscripten_glVertexAttrib3f, qf: _emscripten_glVertexAttrib3fv, cd: _emscripten_glVertexAttrib4f, rf: _emscripten_glVertexAttrib4fv, Se: _emscripten_glVertexAttribDivisor, Nd: _emscripten_glVertexAttribDivisorANGLE, Eb: _emscripten_glVertexAttribDivisorARB, _c: _emscripten_glVertexAttribDivisorEXT, Fb: _emscripten_glVertexAttribDivisorNV, yc: _emscripten_glVertexAttribI4i, wc: _emscripten_glVertexAttribI4iv, xc: _emscripten_glVertexAttribI4ui, vc: _emscripten_glVertexAttribI4uiv, Te: _emscripten_glVertexAttribIPointer, sf: _emscripten_glVertexAttribPointer, tf: _emscripten_glViewport, we: _emscripten_glWaitSync, Ua: _emscripten_request_animation_frame_loop, fb: _emscripten_resize_heap, xb: _environ_get, yb: _environ_sizes_get, Sa: _exit, S: _fd_close, gb: _fd_pread, rb: _fd_read, kb: _fd_seek, N: _fd_write, Qa: _glGetIntegerv, U: _glGetString, Ra: _glGetStringi, Wd: invoke_dd, Vd: invoke_ddd, Xd: invoke_dddd, _: invoke_diii, Ud: invoke_fff, W: invoke_fi, pc: invoke_fif, $: invoke_fiii, Ac: invoke_fiiiif, p: invoke_i, Kb: invoke_if, bb: invoke_iffiiiiiiii, f: invoke_ii, y: invoke_iif, Q: invoke_iifffi, g: invoke_iii, Wa: invoke_iiif, h: invoke_iiii, k: invoke_iiiii, ab: invoke_iiiiid, J: invoke_iiiiii, s: invoke_iiiiiii, G: invoke_iiiiiiii, V: invoke_iiiiiiiiii, zb: invoke_iiiiiiiiiiifiii, L: invoke_iiiiiiiiiiii, db: invoke_j, _a: invoke_ji, l: invoke_jii, M: invoke_jiiii, o: invoke_v, b: invoke_vi, fa: invoke_vid, E: invoke_vif, D: invoke_viff, C: invoke_vifff, t: invoke_vifffff, $a: invoke_viffi, ba: invoke_vifi, c: invoke_vii, F: invoke_viif, Y: invoke_viiff, I: invoke_viifff, Xa: invoke_viiffiii, r: invoke_viifii, e: invoke_viii, u: invoke_viiif, ea: invoke_viiifi, v: invoke_viiifif, i: invoke_viiii, nd: invoke_viiiif, j: invoke_viiiii, Vb: invoke_viiiiiffiifff, ec: invoke_viiiiiffiifi, m: invoke_viiiiii, X: invoke_viiiiiiff, q: invoke_viiiiiii, z: invoke_viiiiiiii, Ta: invoke_viiiiiiiii, Ae: invoke_viiiiiiiiifii, B: invoke_viiiiiiiiii, Va: invoke_viiiiiiiiiii, K: invoke_viiiiiiiiiiiiiii, Z: invoke_viij, T: invoke_viiji, Za: invoke_viji, Ya: invoke_vijii, O: invoke_vijjjj, P: _llvm_eh_typeid_for, lb: _random_get };
4994
4994
  var wasmExports = await createWasm();
4995
- var ___wasm_call_ctors = wasmExports["jg"];
4996
- var _allocate = Module["_allocate"] = wasmExports["lg"];
4997
- var _deallocate = Module["_deallocate"] = wasmExports["mg"];
4995
+ var ___wasm_call_ctors = wasmExports["lg"];
4998
4996
  var _init = Module["_init"] = wasmExports["ng"];
4999
4997
  var _tick = Module["_tick"] = wasmExports["og"];
5000
4998
  var _resize_surface = Module["_resize_surface"] = wasmExports["pg"];
@@ -5028,18 +5026,24 @@ var require_grida_canvas_wasm = __commonJS({
5028
5026
  var _highlight_strokes = Module["_highlight_strokes"] = wasmExports["Rg"];
5029
5027
  var _load_dummy_scene = Module["_load_dummy_scene"] = wasmExports["Sg"];
5030
5028
  var _load_benchmark_scene = Module["_load_benchmark_scene"] = wasmExports["Tg"];
5031
- var _main = Module["_main"] = wasmExports["Ug"];
5032
- var _malloc = wasmExports["Vg"];
5033
- var _emscripten_builtin_memalign = wasmExports["Wg"];
5034
- var _setThrew = wasmExports["Xg"];
5035
- var __emscripten_tempret_set = wasmExports["Yg"];
5036
- var __emscripten_stack_restore = wasmExports["Zg"];
5037
- var __emscripten_stack_alloc = wasmExports["_g"];
5038
- var _emscripten_stack_get_current = wasmExports["$g"];
5039
- var ___cxa_decrement_exception_refcount = wasmExports["ah"];
5040
- var ___cxa_increment_exception_refcount = wasmExports["bh"];
5041
- var ___cxa_can_catch = wasmExports["ch"];
5042
- var ___cxa_get_exception_ptr = wasmExports["dh"];
5029
+ var _allocate = Module["_allocate"] = wasmExports["Ug"];
5030
+ var _deallocate = Module["_deallocate"] = wasmExports["Vg"];
5031
+ var _main = Module["_main"] = wasmExports["Wg"];
5032
+ var _grida_fonts_analyze_family = Module["_grida_fonts_analyze_family"] = wasmExports["Xg"];
5033
+ var _grida_fonts_parse_font = Module["_grida_fonts_parse_font"] = wasmExports["Yg"];
5034
+ var _grida_fonts_free = Module["_grida_fonts_free"] = wasmExports["Zg"];
5035
+ var _grida_fonts_version = Module["_grida_fonts_version"] = wasmExports["_g"];
5036
+ var _malloc = wasmExports["$g"];
5037
+ var _emscripten_builtin_memalign = wasmExports["ah"];
5038
+ var _setThrew = wasmExports["bh"];
5039
+ var __emscripten_tempret_set = wasmExports["ch"];
5040
+ var __emscripten_stack_restore = wasmExports["dh"];
5041
+ var __emscripten_stack_alloc = wasmExports["eh"];
5042
+ var _emscripten_stack_get_current = wasmExports["fh"];
5043
+ var ___cxa_decrement_exception_refcount = wasmExports["gh"];
5044
+ var ___cxa_increment_exception_refcount = wasmExports["hh"];
5045
+ var ___cxa_can_catch = wasmExports["ih"];
5046
+ var ___cxa_get_exception_ptr = wasmExports["jh"];
5043
5047
  function invoke_vii(index, a1, a2) {
5044
5048
  var sp = stackSave();
5045
5049
  try {
@@ -5160,10 +5164,21 @@ var require_grida_canvas_wasm = __commonJS({
5160
5164
  _setThrew(1, 0);
5161
5165
  }
5162
5166
  }
5163
- function invoke_viiif(index, a1, a2, a3, a4) {
5167
+ function invoke_jii(index, a1, a2) {
5164
5168
  var sp = stackSave();
5165
5169
  try {
5166
- getWasmTableEntry(index)(a1, a2, a3, a4);
5170
+ return getWasmTableEntry(index)(a1, a2);
5171
+ } catch (e) {
5172
+ stackRestore(sp);
5173
+ if (e !== e + 0) throw e;
5174
+ _setThrew(1, 0);
5175
+ return 0n;
5176
+ }
5177
+ }
5178
+ function invoke_iif(index, a1, a2) {
5179
+ var sp = stackSave();
5180
+ try {
5181
+ return getWasmTableEntry(index)(a1, a2);
5167
5182
  } catch (e) {
5168
5183
  stackRestore(sp);
5169
5184
  if (e !== e + 0) throw e;
@@ -5180,47 +5195,47 @@ var require_grida_canvas_wasm = __commonJS({
5180
5195
  _setThrew(1, 0);
5181
5196
  }
5182
5197
  }
5183
- function invoke_viifii(index, a1, a2, a3, a4, a5) {
5198
+ function invoke_viiif(index, a1, a2, a3, a4) {
5184
5199
  var sp = stackSave();
5185
5200
  try {
5186
- getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5201
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5187
5202
  } catch (e) {
5188
5203
  stackRestore(sp);
5189
5204
  if (e !== e + 0) throw e;
5190
5205
  _setThrew(1, 0);
5191
5206
  }
5192
5207
  }
5193
- function invoke_iiiiiiiiiiifiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {
5208
+ function invoke_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
5194
5209
  var sp = stackSave();
5195
5210
  try {
5196
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
5211
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8);
5197
5212
  } catch (e) {
5198
5213
  stackRestore(sp);
5199
5214
  if (e !== e + 0) throw e;
5200
5215
  _setThrew(1, 0);
5201
5216
  }
5202
5217
  }
5203
- function invoke_vifi(index, a1, a2, a3) {
5218
+ function invoke_viiiiiiiiifii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
5204
5219
  var sp = stackSave();
5205
5220
  try {
5206
- getWasmTableEntry(index)(a1, a2, a3);
5221
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
5207
5222
  } catch (e) {
5208
5223
  stackRestore(sp);
5209
5224
  if (e !== e + 0) throw e;
5210
5225
  _setThrew(1, 0);
5211
5226
  }
5212
5227
  }
5213
- function invoke_iifffi(index, a1, a2, a3, a4, a5) {
5228
+ function invoke_viif(index, a1, a2, a3) {
5214
5229
  var sp = stackSave();
5215
5230
  try {
5216
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5231
+ getWasmTableEntry(index)(a1, a2, a3);
5217
5232
  } catch (e) {
5218
5233
  stackRestore(sp);
5219
5234
  if (e !== e + 0) throw e;
5220
5235
  _setThrew(1, 0);
5221
5236
  }
5222
5237
  }
5223
- function invoke_viifff(index, a1, a2, a3, a4, a5) {
5238
+ function invoke_viiifi(index, a1, a2, a3, a4, a5) {
5224
5239
  var sp = stackSave();
5225
5240
  try {
5226
5241
  getWasmTableEntry(index)(a1, a2, a3, a4, a5);
@@ -5230,48 +5245,47 @@ var require_grida_canvas_wasm = __commonJS({
5230
5245
  _setThrew(1, 0);
5231
5246
  }
5232
5247
  }
5233
- function invoke_iif(index, a1, a2) {
5248
+ function invoke_viifii(index, a1, a2, a3, a4, a5) {
5234
5249
  var sp = stackSave();
5235
5250
  try {
5236
- return getWasmTableEntry(index)(a1, a2);
5251
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5237
5252
  } catch (e) {
5238
5253
  stackRestore(sp);
5239
5254
  if (e !== e + 0) throw e;
5240
5255
  _setThrew(1, 0);
5241
5256
  }
5242
5257
  }
5243
- function invoke_v(index) {
5258
+ function invoke_i(index) {
5244
5259
  var sp = stackSave();
5245
5260
  try {
5246
- getWasmTableEntry(index)();
5261
+ return getWasmTableEntry(index)();
5247
5262
  } catch (e) {
5248
5263
  stackRestore(sp);
5249
5264
  if (e !== e + 0) throw e;
5250
5265
  _setThrew(1, 0);
5251
5266
  }
5252
5267
  }
5253
- function invoke_jii(index, a1, a2) {
5268
+ function invoke_viiji(index, a1, a2, a3, a4) {
5254
5269
  var sp = stackSave();
5255
5270
  try {
5256
- return getWasmTableEntry(index)(a1, a2);
5271
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5257
5272
  } catch (e) {
5258
5273
  stackRestore(sp);
5259
5274
  if (e !== e + 0) throw e;
5260
5275
  _setThrew(1, 0);
5261
- return 0n;
5262
5276
  }
5263
5277
  }
5264
- function invoke_i(index) {
5278
+ function invoke_vif(index, a1, a2) {
5265
5279
  var sp = stackSave();
5266
5280
  try {
5267
- return getWasmTableEntry(index)();
5281
+ getWasmTableEntry(index)(a1, a2);
5268
5282
  } catch (e) {
5269
5283
  stackRestore(sp);
5270
5284
  if (e !== e + 0) throw e;
5271
5285
  _setThrew(1, 0);
5272
5286
  }
5273
5287
  }
5274
- function invoke_viiifi(index, a1, a2, a3, a4, a5) {
5288
+ function invoke_viiiif(index, a1, a2, a3, a4, a5) {
5275
5289
  var sp = stackSave();
5276
5290
  try {
5277
5291
  getWasmTableEntry(index)(a1, a2, a3, a4, a5);
@@ -5281,241 +5295,251 @@ var require_grida_canvas_wasm = __commonJS({
5281
5295
  _setThrew(1, 0);
5282
5296
  }
5283
5297
  }
5284
- function invoke_viij(index, a1, a2, a3) {
5298
+ function invoke_vifff(index, a1, a2, a3, a4) {
5285
5299
  var sp = stackSave();
5286
5300
  try {
5287
- getWasmTableEntry(index)(a1, a2, a3);
5301
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5288
5302
  } catch (e) {
5289
5303
  stackRestore(sp);
5290
5304
  if (e !== e + 0) throw e;
5291
5305
  _setThrew(1, 0);
5292
5306
  }
5293
5307
  }
5294
- function invoke_viiffiii(index, a1, a2, a3, a4, a5, a6, a7) {
5308
+ function invoke_vifffff(index, a1, a2, a3, a4, a5, a6) {
5295
5309
  var sp = stackSave();
5296
5310
  try {
5297
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7);
5311
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5298
5312
  } catch (e) {
5299
5313
  stackRestore(sp);
5300
5314
  if (e !== e + 0) throw e;
5301
5315
  _setThrew(1, 0);
5302
5316
  }
5303
5317
  }
5304
- function invoke_viiiiiiff(index, a1, a2, a3, a4, a5, a6, a7, a8) {
5318
+ function invoke_viiifif(index, a1, a2, a3, a4, a5, a6) {
5305
5319
  var sp = stackSave();
5306
5320
  try {
5307
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8);
5321
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5308
5322
  } catch (e) {
5309
5323
  stackRestore(sp);
5310
5324
  if (e !== e + 0) throw e;
5311
5325
  _setThrew(1, 0);
5312
5326
  }
5313
5327
  }
5314
- function invoke_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {
5328
+ function invoke_fiiiif(index, a1, a2, a3, a4, a5) {
5315
5329
  var sp = stackSave();
5316
5330
  try {
5317
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8);
5331
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5318
5332
  } catch (e) {
5319
5333
  stackRestore(sp);
5320
5334
  if (e !== e + 0) throw e;
5321
5335
  _setThrew(1, 0);
5322
5336
  }
5323
5337
  }
5324
- function invoke_viiiiiiiiifii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
5338
+ function invoke_fif(index, a1, a2) {
5325
5339
  var sp = stackSave();
5326
5340
  try {
5327
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
5341
+ return getWasmTableEntry(index)(a1, a2);
5328
5342
  } catch (e) {
5329
5343
  stackRestore(sp);
5330
5344
  if (e !== e + 0) throw e;
5331
5345
  _setThrew(1, 0);
5332
5346
  }
5333
5347
  }
5334
- function invoke_viif(index, a1, a2, a3) {
5348
+ function invoke_viiiiiffiifi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
5335
5349
  var sp = stackSave();
5336
5350
  try {
5337
- getWasmTableEntry(index)(a1, a2, a3);
5351
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
5338
5352
  } catch (e) {
5339
5353
  stackRestore(sp);
5340
5354
  if (e !== e + 0) throw e;
5341
5355
  _setThrew(1, 0);
5342
5356
  }
5343
5357
  }
5344
- function invoke_viiji(index, a1, a2, a3, a4) {
5358
+ function invoke_viiiiiffiifff(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
5345
5359
  var sp = stackSave();
5346
5360
  try {
5347
- getWasmTableEntry(index)(a1, a2, a3, a4);
5361
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
5348
5362
  } catch (e) {
5349
5363
  stackRestore(sp);
5350
5364
  if (e !== e + 0) throw e;
5351
5365
  _setThrew(1, 0);
5352
5366
  }
5353
5367
  }
5354
- function invoke_vifffff(index, a1, a2, a3, a4, a5, a6) {
5368
+ function invoke_if(index, a1) {
5355
5369
  var sp = stackSave();
5356
5370
  try {
5357
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5371
+ return getWasmTableEntry(index)(a1);
5358
5372
  } catch (e) {
5359
5373
  stackRestore(sp);
5360
5374
  if (e !== e + 0) throw e;
5361
5375
  _setThrew(1, 0);
5362
5376
  }
5363
5377
  }
5364
- function invoke_viiifif(index, a1, a2, a3, a4, a5, a6) {
5378
+ function invoke_iiiiiiiiiiifiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) {
5365
5379
  var sp = stackSave();
5366
5380
  try {
5367
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5381
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
5368
5382
  } catch (e) {
5369
5383
  stackRestore(sp);
5370
5384
  if (e !== e + 0) throw e;
5371
5385
  _setThrew(1, 0);
5372
5386
  }
5373
5387
  }
5374
- function invoke_vifff(index, a1, a2, a3, a4) {
5388
+ function invoke_vifi(index, a1, a2, a3) {
5375
5389
  var sp = stackSave();
5376
5390
  try {
5377
- getWasmTableEntry(index)(a1, a2, a3, a4);
5391
+ getWasmTableEntry(index)(a1, a2, a3);
5378
5392
  } catch (e) {
5379
5393
  stackRestore(sp);
5380
5394
  if (e !== e + 0) throw e;
5381
5395
  _setThrew(1, 0);
5382
5396
  }
5383
5397
  }
5384
- function invoke_fi(index, a1) {
5398
+ function invoke_iifffi(index, a1, a2, a3, a4, a5) {
5385
5399
  var sp = stackSave();
5386
5400
  try {
5387
- return getWasmTableEntry(index)(a1);
5401
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5388
5402
  } catch (e) {
5389
5403
  stackRestore(sp);
5390
5404
  if (e !== e + 0) throw e;
5391
5405
  _setThrew(1, 0);
5392
5406
  }
5393
5407
  }
5394
- function invoke_vif(index, a1, a2) {
5408
+ function invoke_iffiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
5395
5409
  var sp = stackSave();
5396
5410
  try {
5397
- getWasmTableEntry(index)(a1, a2);
5411
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
5398
5412
  } catch (e) {
5399
5413
  stackRestore(sp);
5400
5414
  if (e !== e + 0) throw e;
5401
5415
  _setThrew(1, 0);
5402
5416
  }
5403
5417
  }
5404
- function invoke_if(index, a1) {
5418
+ function invoke_iiiiii(index, a1, a2, a3, a4, a5) {
5405
5419
  var sp = stackSave();
5406
5420
  try {
5407
- return getWasmTableEntry(index)(a1);
5421
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5408
5422
  } catch (e) {
5409
5423
  stackRestore(sp);
5410
5424
  if (e !== e + 0) throw e;
5411
5425
  _setThrew(1, 0);
5412
5426
  }
5413
5427
  }
5414
- function invoke_iiif(index, a1, a2, a3) {
5428
+ function invoke_viifff(index, a1, a2, a3, a4, a5) {
5415
5429
  var sp = stackSave();
5416
5430
  try {
5417
- return getWasmTableEntry(index)(a1, a2, a3);
5431
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5418
5432
  } catch (e) {
5419
5433
  stackRestore(sp);
5420
5434
  if (e !== e + 0) throw e;
5421
5435
  _setThrew(1, 0);
5422
5436
  }
5423
5437
  }
5424
- function invoke_viiiiiffiifi(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {
5438
+ function invoke_viij(index, a1, a2, a3) {
5425
5439
  var sp = stackSave();
5426
5440
  try {
5427
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
5441
+ getWasmTableEntry(index)(a1, a2, a3);
5428
5442
  } catch (e) {
5429
5443
  stackRestore(sp);
5430
5444
  if (e !== e + 0) throw e;
5431
5445
  _setThrew(1, 0);
5432
5446
  }
5433
5447
  }
5434
- function invoke_viiiiiffiifff(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) {
5448
+ function invoke_viffi(index, a1, a2, a3, a4) {
5435
5449
  var sp = stackSave();
5436
5450
  try {
5437
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
5451
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5438
5452
  } catch (e) {
5439
5453
  stackRestore(sp);
5440
5454
  if (e !== e + 0) throw e;
5441
5455
  _setThrew(1, 0);
5442
5456
  }
5443
5457
  }
5444
- function invoke_iffiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {
5458
+ function invoke_v(index) {
5445
5459
  var sp = stackSave();
5446
5460
  try {
5447
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
5461
+ getWasmTableEntry(index)();
5448
5462
  } catch (e) {
5449
5463
  stackRestore(sp);
5450
5464
  if (e !== e + 0) throw e;
5451
5465
  _setThrew(1, 0);
5452
5466
  }
5453
5467
  }
5454
- function invoke_iiiiii(index, a1, a2, a3, a4, a5) {
5468
+ function invoke_viiff(index, a1, a2, a3, a4) {
5455
5469
  var sp = stackSave();
5456
5470
  try {
5457
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5471
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5458
5472
  } catch (e) {
5459
5473
  stackRestore(sp);
5460
5474
  if (e !== e + 0) throw e;
5461
5475
  _setThrew(1, 0);
5462
5476
  }
5463
5477
  }
5464
- function invoke_fiiiif(index, a1, a2, a3, a4, a5) {
5478
+ function invoke_ji(index, a1) {
5465
5479
  var sp = stackSave();
5466
5480
  try {
5467
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5481
+ return getWasmTableEntry(index)(a1);
5468
5482
  } catch (e) {
5469
5483
  stackRestore(sp);
5470
5484
  if (e !== e + 0) throw e;
5471
5485
  _setThrew(1, 0);
5486
+ return 0n;
5472
5487
  }
5473
5488
  }
5474
- function invoke_fif(index, a1, a2) {
5489
+ function invoke_viji(index, a1, a2, a3) {
5475
5490
  var sp = stackSave();
5476
5491
  try {
5477
- return getWasmTableEntry(index)(a1, a2);
5492
+ getWasmTableEntry(index)(a1, a2, a3);
5478
5493
  } catch (e) {
5479
5494
  stackRestore(sp);
5480
5495
  if (e !== e + 0) throw e;
5481
5496
  _setThrew(1, 0);
5482
5497
  }
5483
5498
  }
5484
- function invoke_viiiif(index, a1, a2, a3, a4, a5) {
5499
+ function invoke_vijii(index, a1, a2, a3, a4) {
5485
5500
  var sp = stackSave();
5486
5501
  try {
5487
- getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5502
+ getWasmTableEntry(index)(a1, a2, a3, a4);
5488
5503
  } catch (e) {
5489
5504
  stackRestore(sp);
5490
5505
  if (e !== e + 0) throw e;
5491
5506
  _setThrew(1, 0);
5492
5507
  }
5493
5508
  }
5494
- function invoke_ji(index, a1) {
5509
+ function invoke_viiffiii(index, a1, a2, a3, a4, a5, a6, a7) {
5495
5510
  var sp = stackSave();
5496
5511
  try {
5497
- return getWasmTableEntry(index)(a1);
5512
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7);
5498
5513
  } catch (e) {
5499
5514
  stackRestore(sp);
5500
5515
  if (e !== e + 0) throw e;
5501
5516
  _setThrew(1, 0);
5502
- return 0n;
5503
5517
  }
5504
5518
  }
5505
- function invoke_viiff(index, a1, a2, a3, a4) {
5519
+ function invoke_viiiiiiff(index, a1, a2, a3, a4, a5, a6, a7, a8) {
5506
5520
  var sp = stackSave();
5507
5521
  try {
5508
- getWasmTableEntry(index)(a1, a2, a3, a4);
5522
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8);
5509
5523
  } catch (e) {
5510
5524
  stackRestore(sp);
5511
5525
  if (e !== e + 0) throw e;
5512
5526
  _setThrew(1, 0);
5513
5527
  }
5514
5528
  }
5515
- function invoke_viffi(index, a1, a2, a3, a4) {
5529
+ function invoke_iiif(index, a1, a2, a3) {
5516
5530
  var sp = stackSave();
5517
5531
  try {
5518
- getWasmTableEntry(index)(a1, a2, a3, a4);
5532
+ return getWasmTableEntry(index)(a1, a2, a3);
5533
+ } catch (e) {
5534
+ stackRestore(sp);
5535
+ if (e !== e + 0) throw e;
5536
+ _setThrew(1, 0);
5537
+ }
5538
+ }
5539
+ function invoke_fi(index, a1) {
5540
+ var sp = stackSave();
5541
+ try {
5542
+ return getWasmTableEntry(index)(a1);
5519
5543
  } catch (e) {
5520
5544
  stackRestore(sp);
5521
5545
  if (e !== e + 0) throw e;
@@ -5781,61 +5805,180 @@ var require_grida_canvas_wasm = __commonJS({
5781
5805
  var import_grida_canvas_wasm = __toESM(require_grida_canvas_wasm());
5782
5806
 
5783
5807
  // package.json
5784
- var version = "0.0.56";
5808
+ var version = "0.0.58";
5785
5809
 
5786
- // lib/index.ts
5787
- async function init(opts) {
5788
- const bindings = await (0, import_grida_canvas_wasm.default)({
5789
- locateFile: (opts == null ? void 0 : opts.locateFile) ? (file, __scriptDirectory) => opts == null ? void 0 : opts.locateFile(file, version) : void 0
5790
- });
5791
- return new ApplicationFactory(
5792
- bindings
5793
- );
5794
- }
5795
- var ApplicationFactory = class {
5810
+ // lib/modules/fonts.ts
5811
+ var FontsAPI = class {
5796
5812
  module;
5797
5813
  constructor(module) {
5798
5814
  this.module = module;
5799
5815
  }
5800
- createWebGLCanvasSurface(canvas, options = { use_embedded_fonts: true }) {
5801
- const context = canvas.getContext("webgl2", {
5802
- antialias: true,
5803
- depth: true,
5804
- stencil: true,
5805
- alpha: true
5806
- });
5807
- if (!context) {
5808
- throw new Error("Failed to get WebGL2 context");
5816
+ /**
5817
+ * Allocates memory for a string and returns pointer and length.
5818
+ * @param txt - String to allocate
5819
+ * @returns [pointer, length] tuple
5820
+ */
5821
+ _alloc_string(txt) {
5822
+ const len = this.module.lengthBytesUTF8(txt) + 1;
5823
+ const ptr = this.module._allocate(len);
5824
+ this.module.stringToUTF8(txt, ptr, len);
5825
+ return [ptr, len];
5826
+ }
5827
+ /**
5828
+ * Frees memory allocated for a string.
5829
+ * @param ptr - Pointer to free
5830
+ * @param len - Length of allocated memory
5831
+ */
5832
+ _free_string(ptr, len) {
5833
+ this.module._deallocate(ptr, len);
5834
+ }
5835
+ /**
5836
+ * Allocates memory for binary data and returns pointer.
5837
+ * @param data - Binary data to allocate
5838
+ * @returns [pointer, length] tuple
5839
+ */
5840
+ _alloc_data(data) {
5841
+ const uint8Data = data instanceof ArrayBuffer ? new Uint8Array(data) : data;
5842
+ const len = uint8Data.length;
5843
+ const ptr = this.module._allocate(len);
5844
+ this.module.HEAPU8.set(uint8Data, ptr);
5845
+ return [ptr, len];
5846
+ }
5847
+ /**
5848
+ * Converts a WASM-allocated string to JavaScript string and frees the WASM memory.
5849
+ * @param ptr - Pointer to WASM string
5850
+ * @returns JavaScript string
5851
+ */
5852
+ _string_from_wasm(ptr) {
5853
+ const str = this.module.UTF8ToString(ptr);
5854
+ const len = this.module.lengthBytesUTF8(str) + 1;
5855
+ this._free_string(ptr, len);
5856
+ return str;
5857
+ }
5858
+ /**
5859
+ * Analyzes a font family with JavaScript-friendly interface.
5860
+ * This is the main API for working with multiple font files under the same family.
5861
+ *
5862
+ * @param fontFaces - Array of font face objects
5863
+ * @param familyName - Family name (optional)
5864
+ * @returns Promise resolving to FontAnalysisResult or FontError
5865
+ */
5866
+ async analyzeFamily(fontFaces, familyName) {
5867
+ try {
5868
+ const fontCount = fontFaces.length;
5869
+ const familyNamePtr = familyName ? this._alloc_string(familyName)[0] : 0;
5870
+ const faceIdsPtr = this.module._allocate(fontCount * 4);
5871
+ const fontDataPtrsPtr = this.module._allocate(fontCount * 4);
5872
+ const fontDataSizesPtr = this.module._allocate(fontCount * 4);
5873
+ const userItalicFlagsPtr = this.module._allocate(fontCount * 4);
5874
+ const faceIdPtrs = [];
5875
+ const fontDataPtrs = [];
5876
+ const fontDataSizes = [];
5877
+ const userItalicFlags = [];
5878
+ for (let i = 0; i < fontCount; i++) {
5879
+ const face = fontFaces[i];
5880
+ const [faceIdPtr, faceIdLen] = this._alloc_string(face.faceId);
5881
+ faceIdPtrs.push(faceIdPtr);
5882
+ const [fontDataPtr, fontDataSize] = this._alloc_data(face.data);
5883
+ fontDataPtrs.push(fontDataPtr);
5884
+ fontDataSizes.push(fontDataSize);
5885
+ const italicFlag = face.userFontStyleItalic === void 0 ? -1 : face.userFontStyleItalic ? 1 : 0;
5886
+ userItalicFlags.push(italicFlag);
5887
+ }
5888
+ for (let i = 0; i < fontCount; i++) {
5889
+ this.module.HEAPU32[faceIdsPtr / 4 + i] = faceIdPtrs[i];
5890
+ this.module.HEAPU32[fontDataPtrsPtr / 4 + i] = fontDataPtrs[i];
5891
+ this.module.HEAPU32[fontDataSizesPtr / 4 + i] = fontDataSizes[i];
5892
+ this.module.HEAP32[userItalicFlagsPtr / 4 + i] = userItalicFlags[i];
5893
+ }
5894
+ const resultPtr = this.module._grida_fonts_analyze_family(
5895
+ familyNamePtr,
5896
+ fontCount,
5897
+ faceIdsPtr,
5898
+ fontDataPtrsPtr,
5899
+ fontDataSizesPtr,
5900
+ userItalicFlagsPtr
5901
+ );
5902
+ const resultJson = this._string_from_wasm(resultPtr);
5903
+ const result = JSON.parse(resultJson);
5904
+ if (familyNamePtr !== 0) {
5905
+ this._free_string(
5906
+ familyNamePtr,
5907
+ this.module.lengthBytesUTF8(familyName || "") + 1
5908
+ );
5909
+ }
5910
+ this.module._deallocate(faceIdsPtr, fontCount * 4);
5911
+ this.module._deallocate(fontDataPtrsPtr, fontCount * 4);
5912
+ this.module._deallocate(fontDataSizesPtr, fontCount * 4);
5913
+ this.module._deallocate(userItalicFlagsPtr, fontCount * 4);
5914
+ for (let i = 0; i < fontCount; i++) {
5915
+ this._free_string(
5916
+ faceIdPtrs[i],
5917
+ this.module.lengthBytesUTF8(fontFaces[i].faceId) + 1
5918
+ );
5919
+ this.module._deallocate(fontDataPtrs[i], fontDataSizes[i]);
5920
+ }
5921
+ return result;
5922
+ } catch (error) {
5923
+ return {
5924
+ success: false,
5925
+ error: {
5926
+ message: error instanceof Error ? error.message : String(error)
5927
+ }
5928
+ };
5809
5929
  }
5810
- const handle = this.module.GL.registerContext(context, {
5811
- majorVersion: 2
5812
- });
5813
- this.module.GL.makeContextCurrent(handle);
5814
- const ptr = this.module._init(
5815
- canvas.width,
5816
- canvas.height,
5817
- options.use_embedded_fonts
5818
- );
5819
- const _ = new Grida2D(this.module, ptr);
5820
- _.resize(canvas.width, canvas.height);
5821
- return _;
5822
5930
  }
5823
- createWebGLCanvasSurfaceById(htmlcanvasid) {
5824
- const canvas = document.getElementById(htmlcanvasid);
5825
- if (!(canvas instanceof HTMLCanvasElement)) {
5826
- throw new Error(`Element with id ${htmlcanvasid} is not a <canvas>`);
5931
+ /**
5932
+ * Parses a single font file with JavaScript-friendly interface.
5933
+ * This is exposed for fast, single font analysis.
5934
+ *
5935
+ * @param fontData - Font data as ArrayBuffer or Uint8Array
5936
+ * @param faceId - Unique identifier for this font face
5937
+ * @param userFontStyleItalic - User-declared italic style (optional)
5938
+ * @returns Promise resolving to FaceRecord
5939
+ */
5940
+ async parseFont(fontData, faceId, userFontStyleItalic) {
5941
+ try {
5942
+ const [fontDataPtr, fontDataSize] = this._alloc_data(fontData);
5943
+ const [faceIdPtr, faceIdLen] = this._alloc_string(faceId);
5944
+ const userItalicPtr = userFontStyleItalic !== void 0 ? this._alloc_string(userFontStyleItalic.toString())[0] : 0;
5945
+ const resultPtr = this.module._grida_fonts_parse_font(
5946
+ fontDataPtr,
5947
+ fontDataSize,
5948
+ faceIdPtr,
5949
+ userItalicPtr
5950
+ );
5951
+ const resultJson = this._string_from_wasm(resultPtr);
5952
+ const result = JSON.parse(resultJson);
5953
+ this.module._deallocate(fontDataPtr, fontDataSize);
5954
+ this._free_string(faceIdPtr, faceIdLen);
5955
+ if (userItalicPtr !== 0) {
5956
+ this._free_string(userItalicPtr, 6);
5957
+ }
5958
+ return result;
5959
+ } catch (error) {
5960
+ throw new Error(error instanceof Error ? error.message : String(error));
5961
+ }
5962
+ }
5963
+ /**
5964
+ * Gets the version of the font parsing library.
5965
+ * This is a ping function to verify the WASM module is working.
5966
+ *
5967
+ * @returns Version string
5968
+ */
5969
+ getVersion() {
5970
+ try {
5971
+ const versionPtr = this.module._grida_fonts_version();
5972
+ return this._string_from_wasm(versionPtr);
5973
+ } catch (error) {
5974
+ return "unknown";
5827
5975
  }
5828
- return this.createWebGLCanvasSurface(canvas);
5829
5976
  }
5830
5977
  };
5831
- var ApplicationCommandID = {
5832
- ZoomIn: 1,
5833
- ZoomOut: 2,
5834
- ZoomDelta: 3,
5835
- Pan: 4
5836
- };
5837
- var utils;
5838
- ((utils2) => {
5978
+
5979
+ // lib/modules/memory.ts
5980
+ var memory;
5981
+ ((memory2) => {
5839
5982
  function rect_from_vec4(vec4) {
5840
5983
  return {
5841
5984
  x: vec4[0],
@@ -5844,21 +5987,41 @@ var utils;
5844
5987
  height: vec4[3]
5845
5988
  };
5846
5989
  }
5847
- utils2.rect_from_vec4 = rect_from_vec4;
5848
- })(utils || (utils = {}));
5849
- var Grida2D = class {
5990
+ memory2.rect_from_vec4 = rect_from_vec4;
5991
+ })(memory || (memory = {}));
5992
+
5993
+ // lib/modules/canvas.ts
5994
+ var ApplicationCommandID = {
5995
+ ZoomIn: 1,
5996
+ ZoomOut: 2,
5997
+ ZoomDelta: 3,
5998
+ Pan: 4
5999
+ };
6000
+ var Scene = class {
5850
6001
  appptr;
5851
6002
  module;
6003
+ fontskit;
5852
6004
  constructor(module, ptr) {
5853
6005
  this.module = module;
5854
6006
  this.appptr = ptr;
6007
+ this.fontskit = new FontsAPI(module);
5855
6008
  }
6009
+ /**
6010
+ * Allocates memory for a string and returns pointer and length.
6011
+ * @param txt - String to allocate
6012
+ * @returns [pointer, length] tuple
6013
+ */
5856
6014
  _alloc_string(txt) {
5857
6015
  const len = this.module.lengthBytesUTF8(txt) + 1;
5858
6016
  const ptr = this.module._allocate(len);
5859
6017
  this.module.stringToUTF8(txt, ptr, len);
5860
6018
  return [ptr, len];
5861
6019
  }
6020
+ /**
6021
+ * Frees memory allocated for a string.
6022
+ * @param ptr - Pointer to free
6023
+ * @param len - Length of allocated memory
6024
+ */
5862
6025
  _free_string(ptr, len) {
5863
6026
  this.module._deallocate(ptr, len);
5864
6027
  }
@@ -6031,7 +6194,7 @@ var Grida2D = class {
6031
6194
  }
6032
6195
  const rect = this.module.HEAPF32.slice(outptr >> 2, (outptr >> 2) + 4);
6033
6196
  this.module._deallocate(outptr, 4 * 4);
6034
- return utils.rect_from_vec4(rect);
6197
+ return memory.rect_from_vec4(rect);
6035
6198
  }
6036
6199
  /**
6037
6200
  * @deprecated not fully implemented yet
@@ -6147,7 +6310,54 @@ var Grida2D = class {
6147
6310
  this.module._devtools_rendering_set_show_ruler(this.appptr, show);
6148
6311
  }
6149
6312
  };
6313
+
6314
+ // lib/index.ts
6315
+ var version2 = version;
6316
+ async function init(opts) {
6317
+ const bindings = await (0, import_grida_canvas_wasm.default)({
6318
+ locateFile: (opts == null ? void 0 : opts.locateFile) ? (file, __scriptDirectory) => opts == null ? void 0 : opts.locateFile(file, version2) : void 0
6319
+ });
6320
+ return new ApplicationFactory(
6321
+ bindings
6322
+ );
6323
+ }
6324
+ var ApplicationFactory = class {
6325
+ module;
6326
+ constructor(module) {
6327
+ this.module = module;
6328
+ }
6329
+ createWebGLCanvasSurface(canvas, options = { use_embedded_fonts: true }) {
6330
+ const context = canvas.getContext("webgl2", {
6331
+ antialias: true,
6332
+ depth: true,
6333
+ stencil: true,
6334
+ alpha: true
6335
+ });
6336
+ if (!context) {
6337
+ throw new Error("Failed to get WebGL2 context");
6338
+ }
6339
+ const handle = this.module.GL.registerContext(context, {
6340
+ majorVersion: 2
6341
+ });
6342
+ this.module.GL.makeContextCurrent(handle);
6343
+ const ptr = this.module._init(
6344
+ canvas.width,
6345
+ canvas.height,
6346
+ options.use_embedded_fonts
6347
+ );
6348
+ const _ = new Scene(this.module, ptr);
6349
+ _.resize(canvas.width, canvas.height);
6350
+ return _;
6351
+ }
6352
+ createWebGLCanvasSurfaceById(htmlcanvasid) {
6353
+ const canvas = document.getElementById(htmlcanvasid);
6354
+ if (!(canvas instanceof HTMLCanvasElement)) {
6355
+ throw new Error(`Element with id ${htmlcanvasid} is not a <canvas>`);
6356
+ }
6357
+ return this.createWebGLCanvasSurface(canvas);
6358
+ }
6359
+ };
6150
6360
  export {
6151
- Grida2D,
6152
- init as default
6361
+ init as default,
6362
+ version2 as version
6153
6363
  };